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; } } } }