public function register() { $this->app->singleton('editor', function ($app) { $config = $app->make('site')->getSite()->getConfigRepository(); $styles = $config->get('editor.ckeditor4.styles', array()); $pluginManager = new PluginManager(); $pluginManager->selectMultiple($config->get('editor.ckeditor4.plugins.selected', array())); $this->registerCkeditorPlugins($pluginManager); $this->registerCorePlugins($pluginManager); $editor = new CkeditorEditor($config, $pluginManager, $styles); $editor->setToken($app->make('token')->generate('editor')); $filePermission = FilePermissions::getGlobal(); $taskPermission = new TaskPermission(); $editor->setAllowFileManager($filePermission->canAccessFileManager() && $config->get('editor.concrete.enable_filemanager')); $editor->setAllowSitemap($taskPermission->canAccessSitemap() && $config->get('editor.concrete.enable_sitemap')); return $editor; }); }