/** * @param Router $router */ protected function loadSystemRoutes(Router $router) { Event::listen('routes.loading', function () { Route::group(['namespace' => $this->getControllerNamespace(), 'prefix' => backend_url_segment()], function () { Route::get('cms/{file}.{ext}', 'System\\VirtualMediaLinksController@find')->where('file', '.*')->where('ext', '(css|js|png|jpg|gif|otf|eot|svg|ttf|woff)'); }); }); }
/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * * @param string|null $context * * @return mixed */ public function handle($request, Closure $next, $context = null) { if (is_null($context)) { $context = ($request->is(backend_url_segment()) or $request->is(backend_url_segment() . '/*')) ? \KodiCMS\CMS\CMS::CONTEXT_BACKEND : \KodiCMS\CMS\CMS::CONTEXT_FRONTEND; } $contexts = explode('|', $context); foreach ($contexts as $context) { CMS::setContext($context); } return $next($request); }
<?php Route::group(['prefix' => backend_url_segment(), 'as' => 'backend.datasource.', 'middleware' => ['backend']], function () { Route::get('datasource/{id?}', ['as' => 'list', 'uses' => 'DatasourceController@getIndex'])->where('id', '[0-9]+'); Route::controller('datasource/field', 'FieldController', ['getCreate' => 'field.create', 'postCreate' => 'field.create.post', 'getEdit' => 'field.edit', 'postEdit' => 'field.edit.post', 'getLocation' => 'field.location']); Route::controller('datasource/document', 'DocumentController', ['getCreate' => 'document.create', 'postCreate' => 'document.create.post', 'getEdit' => 'document.edit', 'postEdit' => 'document.edit.post', 'getRemove' => 'document.remove']); Route::controller('datasource', 'DatasourceController', ['getCreate' => 'create', 'postCreate' => 'create.post', 'getEdit' => 'edit', 'postEdit' => 'edit.post', 'getRemove' => 'remove']); }); Route::group(['as' => 'api.datasource.', 'middleware' => ['api', 'backend']], function () { RouteAPI::get('datasource.headline', ['as' => 'headline', 'uses' => 'API\\SectionController@getHeadline']); RouteAPI::post('datasource.field.visible', ['as' => 'field.visible.set', 'uses' => 'API\\FieldController@setVisible']); RouteAPI::delete('datasource.field.visible', ['as' => 'field.visible.delete', 'uses' => 'API\\FieldController@setInvisible']); RouteAPI::delete('datasource.field', ['as' => 'field.delete', 'uses' => 'API\\FieldController@deleteField']); RouteAPI::post('datasource.document.remove', ['as' => 'document.remove', 'uses' => 'API\\DocumentController@deleteDelete']); RouteAPI::get('datasource.document.find', ['as' => 'document.find', 'uses' => 'API\\DocumentController@getFind']); RouteAPI::post('datasource.document.related', ['as' => 'document.related', 'uses' => 'API\\DocumentController@addRelated']); RouteAPI::delete('datasource.document.related', ['as' => 'document.related', 'uses' => 'API\\DocumentController@deleteRelated']); RouteAPI::get('datasource.menu.get', ['as' => 'menu.get', 'uses' => 'API\\MenuController@getMenu']); RouteAPI::get('datasource.folder.get', ['as' => 'folder.get', 'uses' => 'API\\MenuController@getFolderById']); RouteAPI::put('datasource.folder.create', ['as' => 'folder.create', 'uses' => 'API\\MenuController@createFolder']); RouteAPI::post('datasource.folder.section', ['as' => 'folder.create', 'uses' => 'API\\MenuController@addSectionToFolder']); RouteAPI::delete('datasource.folder.delete', ['as' => 'folder.delete', 'uses' => 'API\\MenuController@deleteFolder']); });
/** * @param string|null $url * * @return bool */ public static function isBackend($url = null) { return static::startWith(backend_url_segment(), $url); }
<?php Route::group(['prefix' => backend_url_segment(), 'as' => 'backend.', 'middleware' => ['web']], function () { Route::get('/cron', ['as' => 'cron.list', 'uses' => 'CronController@getIndex']); Route::get('/cron/create', ['as' => 'cron.create', 'uses' => 'CronController@getCreate']); Route::post('/cron/create', ['as' => 'cron.create.post', 'uses' => 'CronController@postCreate']); Route::get('/cron/{id}/edit', ['as' => 'cron.edit', 'uses' => 'CronController@getEdit']); Route::post('/cron/{id}/edit', ['as' => 'cron.edit.post', 'uses' => 'CronController@postEdit']); Route::post('/cron/{id}/delete', ['as' => 'cron.delete', 'uses' => 'CronController@postDelete']); Route::get('/cron/{id}/run', ['as' => 'cron.run', 'uses' => 'CronController@getRun']); });
<?php Route::group(['middleware' => ['web'], 'prefix' => backend_url_segment() . '/sleepingowl', 'as' => 'admin.'], function () { Route::get('{adminModel}', ['as' => 'model', 'uses' => 'AdminController@getDisplay']); Route::get('{adminModel}/create', ['as' => 'model.create', 'uses' => 'AdminController@getCreate']); Route::post('{adminModel}/create', ['as' => 'model.store', 'uses' => 'AdminController@postStore']); Route::get('{adminModel}/{adminModelId}/edit', ['as' => 'model.edit', 'uses' => 'AdminController@getEdit']); Route::post('{adminModel}/{adminModelId}/edit', ['as' => 'model.update', 'uses' => 'AdminController@postUpdate']); Route::delete('{adminModel}/{adminModelId}/delete', ['as' => 'model.destroy', 'uses' => 'AdminController@postDestroy']); Route::post('{adminModel}/{adminModelId}/restore', ['as' => 'model.restore', 'uses' => 'AdminController@postRestore']); Route::get('{adminWildcard}', ['as' => 'wildcard', 'uses' => 'AdminController@getWildcard']); });
public function registerMedia() { $errors = view()->shared('errors'); $this->templateScripts = ['CURRENT_URL' => $this->request->url(), 'SITE_URL' => url()->current(), 'BASE_URL' => backend_url(), 'BACKEND_PATH' => backend_url_segment(), 'BACKEND_RESOURCES' => resources_url(), 'PUBLIC_URL' => url()->current(), 'LOCALE' => Lang::getLocale(), 'ROUTE' => !is_null($this->getRouter()) ? $this->getRouter()->currentRouteAction() : null, 'ROUTE_PATH' => $this->getRouterPath(), 'REQUEST_TYPE' => $this->requestType, 'USER_ID' => backend_auth()->id(), 'MESSAGE_ERRORS' => !is_null($errors) ? $errors->getBag('default') : [], 'MESSAGE_SUCCESS' => (array) $this->session->get('success', [])]; }
<?php return ['title' => 'Sleeping Owl administrator', 'prefix' => backend_url_segment(), 'middleware' => ['web'], 'imagesUploadDirectory' => 'images/uploads', 'template' => 'KodiCMS\\SleepingOwlAdmin\\Templates\\TemplateDefault', 'datetimeFormat' => 'd.m.Y H:i', 'dateFormat' => 'd.m.Y', 'timeFormat' => 'H:i'];
/** * Get the post register / login redirect path. * * @return string */ public function redirectPath() { return backend_url_segment(); }