$schedule->command('cubist:magic:precache')->everyFiveMinutes();
$schedule->command('job:dispatch ProcessTotals')->everyTwoHours();
$schedule->command('fluidbook:farm:ping')->everyMinute();
- $schedule->command('fluidbook:player:updatesources')->everyMinute();
+ $schedule->command('fluidbook:player:updatesources')->everyTwoHours();
}
--- /dev/null
+<?php
+
+
+namespace App\Http\Controllers\Admin;
+
+
+use App\Http\Controllers\Admin\Operations\Tools\DockerWebContainer;
+use App\Http\Controllers\Admin\Operations\Tools\Excel2JSON;
+use App\Http\Controllers\Admin\Operations\Tools\FluidbookAssetsDownloader;
+use App\Http\Controllers\Admin\Operations\Tools\FluidbookBranchCreate;
+use App\Http\Controllers\Admin\Operations\Tools\FluidbookBranchRemove;
+use App\Http\Controllers\Admin\Operations\Tools\GitReposCreate;
+use App\Http\Controllers\Admin\Operations\Tools\JSON2Excel;
+use App\Http\Controllers\Admin\Operations\Tools\PDF2SVGOperation;
+use App\Http\Controllers\Admin\Operations\Tools\TextToSpeech;
+use App\Http\Controllers\Controller;
+
+class MaintenanceController extends Controller
+{
+ protected function index($function, $args = '')
+ {
+ if (!$args) {
+ $args = [];
+ } else {
+ $args = explode('/', $args);
+ }
+
+ if (!method_exists($this, $function)) {
+ return view('maintenance.' . $function, ['args' => $args]);
+ } else {
+ return $this->$function($args);
+ }
+ }
+}
--- /dev/null
+<?php
+
+
+namespace App\Http\Controllers\Admin;
+
+
+use App\Http\Controllers\Admin\Operations\Maintenance\UpdateSourcesOperation;
+use App\Http\Controllers\Controller;
+
+class OpenMaintenanceController extends Controller
+{
+ use UpdateSourcesOperation;
+
+ protected function index($function, $args = '')
+ {
+
+ if (!$args) {
+ $args = [];
+ } else {
+ $args = explode('/', $args);
+ }
+
+ if (!method_exists($this, $function)) {
+ return view('openmaintenance.' . $function, ['args' => $args]);
+ } else {
+ return $this->$function($args);
+ }
+
+ }
+
+
+}
--- /dev/null
+<?php
+
+namespace App\Http\Controllers\Admin\Operations\Maintenance;
+
+use Illuminate\Support\Facades\Artisan;
+
+trait UpdateSourcesOperation
+{
+ public function updatesources()
+ {
+ Artisan::call('fluidbook:player:updatesources');
+ }
+}
//Route::any('{page}/{subs?}', 'PageController@catchall')
// ->where(['page' => '^(((?=(?!admin))(?=(?!\/)).))*$', 'subs' => '.*']);
+use App\Http\Middleware\CheckIfAdmin;
+
Route::group([
'prefix' => config('backpack.base.route_prefix', 'admin'),
'middleware' => ['web', config('backpack.base.middleware_key', 'admin')],
'namespace' => '\App\Http\Controllers\Admin',
], function () { // custom admin routes
Route::any('tools/{tool}/{args?}', 'ToolsController@index')->where(['args' => '.*']);
+ Route::any('maintenance/{function}/{args?}', 'MaintenanceController@index')->where(['args' => '.*']);
+ Route::any('openmaintenance/{function}/{args?}', 'OpenMaintenanceController@index')->where(['args' => '.*'])->withoutMiddleware([CheckIfAdmin::class]);
Route::post('toolbox_setting', 'ToolboxSettingsController@set');
Route::get('fluidbookthemepreview/{id}-loader.jpg', 'FluidbookThemePreviewController@previewLoader');
Route::get('fluidbookthemepreview/{id}-burger.jpg', 'FluidbookThemePreviewController@previewBurger');