コード例 #1
0
 /**
  * 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 $modulespath, $eventsPlaceholder, $_CONFIG, $themesPages, $page_template, $calHeadlinesObj, $calHeadlines, $_ARRAYLANG;
     switch ($this->cx->getMode()) {
         case \Cx\Core\Core\Controller\Cx::MODE_FRONTEND:
             // Get Calendar Events
             $modulespath = ASCMS_MODULE_PATH . '/Calendar/Controller/CalendarHeadlines.class.php';
             $eventsPlaceholder = '{EVENTS_FILE}';
             if (MODULE_INDEX < 2 && $_CONFIG['calendarheadlines'] && (strpos(\Env::get('cx')->getPage()->getContent(), $eventsPlaceholder) !== false || strpos($themesPages['index'], $eventsPlaceholder) !== false || strpos($themesPages['sidebar'], $eventsPlaceholder) !== false || strpos($page_template, $eventsPlaceholder) !== false) && file_exists($modulespath)) {
                 $_ARRAYLANG = array_merge($_ARRAYLANG, \Env::get('init')->loadLanguageData('Calendar'));
                 $calHeadlinesObj = new \Cx\Modules\Calendar\Controller\CalendarHeadlines($themesPages['calendar_headlines']);
                 $calHeadlines = $calHeadlinesObj->getHeadlines();
                 \Env::get('cx')->getPage()->setContent(str_replace($eventsPlaceholder, $calHeadlines, \Env::get('cx')->getPage()->getContent()));
                 $themesPages['index'] = str_replace($eventsPlaceholder, $calHeadlines, $themesPages['index']);
                 $themesPages['sidebar'] = str_replace($eventsPlaceholder, $calHeadlines, $themesPages['sidebar']);
                 $page_template = str_replace($eventsPlaceholder, $calHeadlines, $page_template);
             }
             break;
         default:
             break;
     }
 }
コード例 #2
0
 /**
  * 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 $modulespath, $eventsPlaceholder, $_CONFIG, $themesPages, $page_template, $calHeadlinesObj, $calHeadlines, $_ARRAYLANG;
     switch ($this->cx->getMode()) {
         case \Cx\Core\Core\Controller\Cx::MODE_FRONTEND:
             // Get Calendar Events
             $modulespath = ASCMS_MODULE_PATH . '/Calendar/Controller/CalendarHeadlines.class.php';
             if (MODULE_INDEX < 2 && $_CONFIG['calendarheadlines'] && file_exists($modulespath)) {
                 $_ARRAYLANG = array_merge($_ARRAYLANG, \Env::get('init')->loadLanguageData('Calendar'));
                 for ($i = 0; $i <= 10; $i++) {
                     $visibleI = '';
                     if ($i > 0) {
                         $visibleI = (string) $i;
                     }
                     $eventsPlaceholder = '{EVENTS' . $visibleI . '_FILE}';
                     if (strpos(\Env::get('cx')->getPage()->getContent(), $eventsPlaceholder) !== false || strpos($themesPages['index'], $eventsPlaceholder) !== false || strpos($themesPages['sidebar'], $eventsPlaceholder) !== false || strpos($page_template, $eventsPlaceholder) !== false) {
                         $category = null;
                         $matches = array();
                         if (preg_match('/\\{CALENDAR_CATEGORY_([0-9]+)\\}/', $themesPages['calendar_headlines' . $visibleI], $matches)) {
                             $category = $matches[1];
                         }
                         $calHeadlinesObj = new \Cx\Modules\Calendar\Controller\CalendarHeadlines($themesPages['calendar_headlines' . $visibleI]);
                         $calHeadlines = $calHeadlinesObj->getHeadlines($category);
                         \Env::get('cx')->getPage()->setContent(str_replace($eventsPlaceholder, $calHeadlines, \Env::get('cx')->getPage()->getContent()));
                         $themesPages['index'] = str_replace($eventsPlaceholder, $calHeadlines, $themesPages['index']);
                         $themesPages['sidebar'] = str_replace($eventsPlaceholder, $calHeadlines, $themesPages['sidebar']);
                         $page_template = str_replace($eventsPlaceholder, $calHeadlines, $page_template);
                     }
                 }
             }
             break;
         default:
             break;
     }
 }