/** * Do something before content is loaded from DB * * @param \Cx\Core\ContentManager\Model\Entity\Page $page The resolved page */ public function preContentLoad(\Cx\Core\ContentManager\Model\Entity\Page $page) { global $arrMatches, $cl, $objDownloadLib, $downloadBlock, $matches, $objDownloadsModule; switch ($this->cx->getMode()) { case \Cx\Core\Core\Controller\Cx::MODE_FRONTEND: // Set download groups if (preg_match_all('/{DOWNLOADS_GROUP_([0-9]+)}/', \Env::get('cx')->getPage()->getContent(), $arrMatches)) { /** @ignore */ if ($cl->loadFile(ASCMS_MODULE_PATH . '/Downloads/Controller/DownloadsLibrary.class.php')) { $objDownloadLib = new DownloadsLibrary(); $objDownloadLib->setGroups($arrMatches[1], \Env::get('cx')->getPage()->getContent()); } } //-------------------------------------------------------- // Parse the download block 'downloads_category_#ID_list' //-------------------------------------------------------- $content = \Env::get('cx')->getPage()->getContent(); $downloadBlock = preg_replace_callback("/<!--\\s+BEGIN\\s+downloads_category_(\\d+)_list\\s+-->(.*)<!--\\s+END\\s+downloads_category_\\g1_list\\s+-->/s", function ($matches) { \Env::get('init')->loadLanguageData('Downloads'); if (isset($matches[2])) { $objDownloadsModule = new Downloads($matches[2], array('category' => $matches[1])); return $objDownloadsModule->getPage(); } }, $content); \Env::get('cx')->getPage()->setContent($downloadBlock); break; default: break; } }
/** * Do something before content is loaded from DB * * @param \Cx\Core\ContentManager\Model\Entity\Page $page The resolved page */ public function preContentLoad(\Cx\Core\ContentManager\Model\Entity\Page $page) { global $arrMatches, $cl, $objDownloadLib, $downloadBlock, $matches, $objDownloadsModule, $themesPages, $page_template; switch ($this->cx->getMode()) { case \Cx\Core\Core\Controller\Cx::MODE_FRONTEND: // Set download groups if (preg_match_all('/{DOWNLOADS_GROUP_([0-9]+)}/', \Env::get('cx')->getPage()->getContent(), $arrMatches)) { /** @ignore */ if ($cl->loadFile(ASCMS_MODULE_PATH . '/Downloads/Controller/DownloadsLibrary.class.php')) { $objDownloadLib = new DownloadsLibrary(); $objDownloadLib->setGroups($arrMatches[1], \Env::get('cx')->getPage()->getContent()); } } //-------------------------------------------------------- // Parse the download block 'downloads_category_#ID_list' //-------------------------------------------------------- $content = $this->cx->getPage()->getContent(); $this->cx->getPage()->setContent($this->parseDownloadsForTemplate($content)); $themesPages['index'] = $this->parseDownloadsForTemplate($themesPages['index']); $themesPages['sidebar'] = $this->parseDownloadsForTemplate($themesPages['sidebar']); $page_template = $this->parseDownloadsForTemplate($page_template); break; default: break; } }