/**
  * @return void
  */
 public function boot()
 {
     $this->getEvents()->listen('router.before', function () {
         $pages = PageModel::whereEnabled(true)->get();
         foreach ($pages as $value) {
             if ($this->getSetting()->get('site.home') !== 'page_' . $value->id) {
                 if ($value->alias) {
                     $page = new Page($value->id);
                     $this->getRouter()->get($page->getRouting(), function () use($page) {
                         return $this->app->call('Notadd\\Page\\Controllers\\PageController@show', ['id' => $page->getPageId()]);
                     });
                 }
             }
         }
     });
     $this->getRouter()->group(['namespace' => 'Notadd\\Page\\Controllers'], function () {
         $this->getRouter()->group(['middleware' => 'auth.admin', 'namespace' => 'Admin', 'prefix' => 'admin'], function () {
             $this->getRouter()->resource('page', 'PageController');
             $this->getRouter()->post('page/{id}/delete', 'PageController@delete');
             $this->getRouter()->get('page/{id}/move', 'PageController@move');
             $this->getRouter()->post('page/{id}/moving', 'PageController@moving');
             $this->getRouter()->post('page/{id}/restore', 'PageController@restore');
             $this->getRouter()->get('page/{id}/sort', 'PageController@sort');
             $this->getRouter()->post('page/{id}/sorting', 'PageController@sorting');
         });
         $this->getRouter()->resource('page', 'PageController');
     });
     $this->loadViewsFrom($this->app->basePath() . '/resources/views/pages/', 'page');
 }
Ejemplo n.º 2
0
 /**
  * @param $id
  * @return \Illuminate\Contracts\View\View
  */
 public function show($id)
 {
     $page = new Page($id);
     $this->events->fire(new OnPageShow($this->app, $this->view, $page));
     $template = $page->getTemplate();
     $template || ($template = 'default::page.default');
     $this->view->exists($template) || ($template = 'default::page.default');
     if ($this->setting->get('site.home') !== 'page_' . $id) {
         $this->seo->setTitleMeta($page->getTitle() . ' - {sitename}');
     }
     $this->seo->setDescriptionMeta($page->getDescription());
     $this->seo->setKeywordsMeta($page->getKeywords());
     $this->share('content', $page->getContent());
     $this->share('logo', file_get_contents(realpath($this->app->frameworkPath() . '/views/install') . DIRECTORY_SEPARATOR . 'logo.svg'));
     $this->share('page', $page);
     $this->share('title', $page->getTitle());
     $this->share('subPages', $page->getSubPages());
     return $this->view($template);
 }
Ejemplo n.º 3
0
 /**
  * @return mixed
  */
 public function getPage()
 {
     return $this->page->getModel();
 }