public function SetBlockTypeProperties() { if (!ac_utils::is_frontend_request()) { $AC =& ac_utils::get_module('AdvancedContent'); $multi_input_ids = ac_utils::CleanArray(explode(',', $this->GetProperty('inputs'))); $blockType =& acContentBlockManager::GetBlockType('multi_input'); $multiInput_props = $blockType['props']; foreach ($multi_input_ids as $k1 => $multi_input_id) { if (!isset($multiInput_props[$multi_input_id])) { $multiInput_props = array_merge($multiInput_props, ac_admin_ops::GetMultiInputFull($multi_input_ids)); if (!isset($multiInput_props[$multi_input_id])) { continue; } $multiInput_props[$multi_input_id]['template'] = $AC->GetTemplate($multiInput_props[$multi_input_id]['tpl_name']); $matches = array(); $result = preg_match_all(AC_BLOCK_PATTERN, $multiInput_props[$multi_input_id]['input_fields'], $matches); if ($result && count($matches[1]) > 0) { foreach ($matches[1] as $k2 => $wholetag) { if (!($inputBlock = acContentBlockManager::CreateContentBlock($this->content_obj, acContentBlockManager::GetTagParams($wholetag)))) { continue; } if ($inputBlock->Type() == 'multi_input') { continue; } # ToDo: display message? $multiInput_props[$multi_input_id]['elements'][$k2] = $inputBlock; } } } } acContentBlockManager::SetBlockTypeProperties('multi_input', $multiInput_props); } }
public function smarty_compiler_contentblock($params, &$obj) { $this->_loaded = true; foreach ($params as $k => $v) { $params[$k] = trim($v, startswith($v, "'") ? "'" : '"'); } if (isset($params['active']) && ac_utils::IsFalse($params['active'])) { return; } # don't process inactive blocks if (!($contentBlock = acContentBlockManager::CreateContentBlock($this, $params))) { return; } acContentBlockManager::_register_content_block($this, $contentBlock); if (ac_utils::is_frontend_request()) { # check block access if ($feusers =& ac_utils::get_module('FrontEndUsers')) { if ($contentBlock->GetProperty('feu_access') && !ac_utils::FeuIsMemberOf($contentBlock->GetProperty('feu_access'))) { if ($contentBlock->GetProperty('feu_action') && !$this->_feuAction) { $this->_feuAction = true; $this->SetPropertyValueNoLoad($contentBlock->GetProperty('id'), $feusers->DoAction('default', 'cntnt01', array('form' => 'login'), $this->Id())); } else { $this->SetPropertyValueNoLoad($contentBlock->GetProperty('id'), ''); } } else { if ($contentBlock->GetProperty('feu_hide') && $feusers->LoggedInId()) { $this->SetPropertyValueNoLoad($contentBlock->GetProperty('id'), ''); } } } # set default value (if neccessary) if (!$contentBlock->GetProperty('allow_none') && $this->GetPropertyValue($contentBlock->GetProperty('id')) == '') { $this->SetPropertyValueNoLoad($contentBlock->GetProperty('id'), $contentBlock->GetProperty('default')); } return $contentBlock->GetCompiledContent($obj); } }