theme = $themeController; $this->member = $memberRepo; $this->settings = $settingsService; $this->sort = $sortingService; $this->assets = $assetsService; $this->render = $renderService; $this->maintenance = $maintenanceService; $this->reset = $resetService; } public function start() { return view('back.settings', [ 'settings' => $this->sort->settings(), 'nav' => $this->sort->navigation() ]); } public function tasks(Request $request) { $result = []; switch (explode("/", $request->getURI())[5]) { case 'publish': $this->assets->moveToTheme(true); $result = $this->render->publishAll(); break; case 'sync': $body = json_decode($request->getContent()); //update member if needed $this->member->update($body->member); //sync settings $result = $this->settings->sync($body); break; case 'nav-sync': $body = json_decode($request->getContent()); $result = $this->settings->navSync($body); break; } return response()->json($result)->header('Content-Type', 'application/json'); } public function createBackup(Request $request) { $body = json_decode($request->getContent()); if ($body->task == 'content_backup') { return response()->json( $this->maintenance->createContentBackUp() )->header('Content-Type', 'application/json'); } else { return response()->json( $this->maintenance->createFileBackUp() )->header('Content-Type', 'application/json'); } } public function downloadBackup($type) { if ($this->member::status()) { $latest = ''; $file = ''; if ($type == 'content-download') { $latest = $this->settings->getGlobal()['last_content_backup']; $file = 'backup-content-' . $latest . '.zip'; } else { $latest = $this->settings->getGlobal()['last_files_backup']; $file = 'backup-files-' . $latest . '.zip'; } return response()->download( '../content/backups/' . $file, $file, ['Content-Type: application/zip'] ); } } public function reset(Request $request) { $result = $this->reset->site($request); return response()->json($result)->header('Content-Type', 'application/json'); } }