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); } }
if (!is_object(cmsms())) { exit; } if (!$this->CheckPermission('Manage AdvancedContent MultiInputs')) { return $this->DisplayErrorPage($id, $returnid, $this->Lang('error_permissions')); } if (isset($params['cancel'])) { $this->Redirect($id, 'defaultadmin', $returnid, array('active_tab' => 'multi_input')); } $error = false; $errormessage = ''; $input_id = ''; if (isset($params['input_id']) && !empty($params['input_id'])) { $input_id = preg_replace('/-+/', '_', munge_string_to_url(trim($params['input_id']))); } $multi_input = ac_admin_ops::GetMultiInputFull($input_id); if (isset($params['input_fields'])) { $multi_input[$input_id]['input_fields'] = trim($params['input_fields']); } if (isset($params['input_tpl'])) { $multi_input[$input_id]['tpl_name'] = $params['input_tpl']; } ### do action ################################################################## if (isset($params['submit'])) { if ($input_id == '') { $error = true; $errormessage .= $this->lang('error_input_id') . '<br />'; } if ($multi_input[$input_id]['input_fields'] == '') { $error = true; $errormessage .= $this->lang('error_input_fields') . '<br />';