diff --git a/modules/cms/classes/Controller.php b/modules/cms/classes/Controller.php index 414fa6fae..58a77e9e2 100644 --- a/modules/cms/classes/Controller.php +++ b/modules/cms/classes/Controller.php @@ -129,10 +129,10 @@ class Controller extends BaseController /* * Extensibility */ - if ($event = Event::fire('cms.page.beforeDisplay', [$this, $url, $page], true)) + if ($event = $this->fireEvent('page.beforeDisplay', [$url, $page], true)) return $event; - if ($event = $this->fireEvent('page.beforeDisplay', [$url, $page], true)) + if ($event = Event::fire('cms.page.beforeDisplay', [$this, $url, $page], true)) return $event; /* @@ -229,10 +229,10 @@ class Controller extends BaseController /* * Extensibility */ - if ($event = Event::fire('cms.page.display', [$this, $url, $page], true)) + if ($event = $this->fireEvent('page.display', [$url, $page], true)) return $event; - if ($event = $this->fireEvent('page.display', [$url, $page], true)) + if ($event = Event::fire('cms.page.display', [$this, $url, $page], true)) return $event; if (!is_string($result)) @@ -472,10 +472,10 @@ class Controller extends BaseController /* * Extensibility */ - if ($event = Event::fire('cms.page.start', [$this], true)) + if ($event = $this->fireEvent('page.start', [], true)) return $event; - if ($event = $this->fireEvent('page.start', [], true)) + if ($event = Event::fire('cms.page.start', [$this], true)) return $event; /* @@ -514,10 +514,10 @@ class Controller extends BaseController /* * Extensibility */ - if ($event = Event::fire('cms.page.end', [$this], true)) + if ($event = $this->fireEvent('page.end', [], true)) return $event; - if ($event = $this->fireEvent('page.end', [], true)) + if ($event = Event::fire('cms.page.end', [$this], true)) return $event; return $response; @@ -619,7 +619,19 @@ class Controller extends BaseController */ public function renderContent($name) { - if (($content = Content::loadCached($this->theme, $name)) === null) + /* + * Extensibility + */ + if ($event = $this->fireEvent('page.beforeRenderContent', [$name], true)) + $content = $event; + + elseif ($event = Event::fire('cms.page.beforeRenderContent', [$this, $name], true)) + $content = $event; + + /* + * Load content from theme + */ + elseif (($content = Content::loadCached($this->theme, $name)) === null) throw new CmsException(Lang::get('cms::lang.content.not_found', ['name'=>$name])); $filePath = $content->getFullPath(); @@ -628,6 +640,15 @@ class Controller extends BaseController if (strtolower(File::extension($filePath)) == 'md') $fileContent = Markdown::parse($fileContent); + /* + * Extensibility + */ + if ($event = $this->fireEvent('page.renderContent', [$name, $fileContent], true)) + return $event; + + if ($event = Event::fire('cms.page.renderContent', [$this, $name, $fileContent], true)) + return $event; + return $fileContent; }