/** * @Request({"redirect": "string"}, csrf=true) */ public function migrateAction($redirect = null) { if ($updates = $this->scripts->hasUpdates()) { $this->scripts->update(); $message = __('Your Pagekit database has been updated successfully.'); } else { $message = __('Your database is up to date.'); } App::config('system')->set('version', App::version()); if ($redirect) { App::message()->success($message); return App::redirect($redirect); } return App::response()->json(compact('status', 'message')); }
/** * {@inheritdoc} */ protected function execute(InputInterface $input, OutputInterface $output) { $config = $this->container->config('system'); $scripts = new PackageScripts($this->container->path() . '/app/system/scripts.php', $config->get('version')); if ($scripts->hasUpdates()) { $scripts->update(); } $config->set('version', $this->container->version()); $this->line(sprintf('<info>%s</info>', __('Your Pagekit database has been updated successfully.'))); }
} }, 'request' => [[function ($event, $request) use($app) { if (!$event->isMasterRequest()) { return; } $app['isAdmin'] = $admin = (bool) preg_match('#^/admin(/?$|/.+)#', $request->getPathInfo()); $app->module('system/intl')->setLocale($this->config($admin ? 'admin.locale' : 'site.locale')); }, 150], [function ($event) use($app) { if (!$event->isMasterRequest()) { return; } $app->trigger($app->isAdmin() ? 'admin' : 'site', [$app]); }]], 'auth.login' => [function ($event) use($app) { if ($event->getUser()->hasAccess('system: software updates') && version_compare($this->config('version'), $app->version(), '<')) { $scripts = new PackageScripts($this->path . '/scripts.php', $this->config('version')); if ($scripts->hasUpdates()) { $event->setResponse($app['response']->redirect('@system/migration', ['redirect' => $app['url']->getRoute('@system')])); } else { $app->config('system')->set('version', $app->version()); } } }, 8], 'view.messages' => function ($event) use($app) { $result = ''; if ($app['message']->peekAll()) { foreach ($app['message']->levels() as $level) { if ($messages = $app['message']->get($level)) { foreach ($messages as $message) { $result .= sprintf('<div class="uk-alert uk-alert-%1$s" data-status="%1$s">%2$s</div>', $level == 'error' ? 'danger' : $level, $message); } } }