Example #1
0
 public static function setBlocks(&$content, $page)
 {
     $config = \Env::get('config');
     $objBlock = new self();
     if (!is_array($content)) {
         $arrTemplates = array(&$content);
     } else {
         $arrTemplates =& $content;
     }
     foreach ($arrTemplates as &$template) {
         // Set blocks [[BLOCK_<ID>]]
         if (preg_match_all('/{' . $objBlock->blockNamePrefix . '([0-9]+)}/', $template, $arrMatches)) {
             $objBlock->setBlock($arrMatches[1], $template, $page->getId());
         }
         // Set global block [[BLOCK_GLOBAL]]
         if (preg_match('/{' . $objBlock->blockNamePrefix . 'GLOBAL}/', $template)) {
             $objBlock->setBlockGlobal($template, $page->getId());
         }
         // Set category blocks [[BLOCK_CAT_<ID>]]
         if (preg_match_all('/{' . $objBlock->blockNamePrefix . 'CAT_([0-9]+)}/', $template, $arrMatches)) {
             $objBlock->setCategoryBlock($arrMatches[1], $template, $page->getId());
         }
         /* Set random blocks [[BLOCK_RANDOMIZER]], [[BLOCK_RANDOMIZER_2]],
            [[BLOCK_RANDOMIZER_3]], [[BLOCK_RANDOMIZER_4]] */
         if ($config['blockRandom'] == '1') {
             $placeholderSuffix = '';
             $randomBlockIdx = 1;
             while ($randomBlockIdx <= 4) {
                 if (preg_match('/{' . $objBlock->blockNamePrefix . 'RANDOMIZER' . $placeholderSuffix . '}/', $template)) {
                     $objBlock->setBlockRandom($template, $randomBlockIdx, $page->getId());
                 }
                 $randomBlockIdx++;
                 $placeholderSuffix = '_' . $randomBlockIdx;
             }
         }
     }
 }