/** * @return bool|string * @throws \SystemException */ public function getContent() { switch ($this->popup->content_type) { case 'imageUrl': return "<img src='{$this->popup->content_image_url}'>"; break; case 'imageUpload': return '<img src="' . MediaLibrary::instance()->getPathUrl($this->popup->content_image_upload) . '">'; break; case 'page': /** @var Page $page */ $page = Page::load(Theme::getActiveTheme(), $this->popup->content_page); $cms = new CmsController(); return $cms->run($page->url)->getContent(); break; case 'markdown': return \Markdown::parse($this->popup->content_markdown); break; } }
public function register() { if ($this->app->runningInConsole()) { return; } /** * @var \Illuminate\Http\Request $request */ $request = $this->app->make('request'); /** * @var \Illuminate\Contracts\Config\Repository $config */ $config = $this->app->make('config'); /** * @var \Illuminate\Contracts\Events\Dispatcher $eventDispatcher */ $eventDispatcher = $this->app->make('events'); $backendUri = $config->get('cms.backendUri'); if ($request && $request->is($backendUri . '*')) { $eventDispatcher->listen('backend.form.extendFields', function ($widget) { if (!$widget->getController() instanceof \Cms\Controllers\Index) { return; } if (!$widget->model instanceof \Cms\Classes\Page) { return; } $widget->addFields(['settings[is_public]' => ['label' => 'This page is public and can be cached', 'tab' => 'Caching', 'type' => 'checkbox']], 'primary'); }); $eventDispatcher->listen('cms.template.save', function ($controller, $template, $type) { if ($type === 'page') { } if ($type === 'asset') { } }); return; } $this->app->singleton('Keios\\HttpCacheSupport\\Classes\\HttpCacheSupportMiddleware', function () { return new HttpCacheSupportMiddleware(); }); CmsController::extend(function (CmsController $controller) { $controller->middleware('Keios\\HttpCacheSupport\\Classes\\HttpCacheSupportMiddleware'); }); $eventDispatcher->listen('cms.page.display', function ($controller, $url, Page $page, $response) { $page->addVisible('is_public'); if ($page->is_public) { $this->app->make('Keios\\HttpCacheSupport\\Classes\\HttpCacheSupportMiddleware')->addCachingHeader(); } }); }