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 />';