config_load($lang_file, 'lang'); $AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); $AVE_Template->config_load($lang_file, 'admin'); $res = ''; switch ($action) { case 'edit': $field_value = clean_php($field_value); $field_param = explode('|', $field_value); $clean_field_value = $field_param[0]; if (isset($field_param[1])) { $clean_field_value .= '|' . $field_param[1]; } $AVE_Template->assign('field_id', $field_id); $AVE_Template->assign('field_value', $clean_field_value); $tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin', $_tpl); return $AVE_Template->fetch($tpl_file); break; case 'doc': case 'req': $field_value = clean_php($field_value); $field_param = explode('|', $field_value); $doc_id = 0; if (preg_match('/id=([0-9]+)/i', $field_param[0], $matches)) { $doc_id = (int)$matches[1]; } $url_href = ''; $anchor = ''; $title = ''; $alias = ''; $user_anchor = isset($field_param[1]) ? $field_param[1] : ''; if ($doc_id > 0) { $document_data = get_document($doc_id); if ($document_data) { $alias = isset($document_data['document_alias']) ? $document_data['document_alias'] : ''; $title = isset($document_data['document_title']) ? $document_data['document_title'] : ''; if ($alias === '/') { $url_href = '/'; } else { $url_href = '/' . trim($alias, '/'); if (defined('URL_SUFF') && URL_SUFF) { $url_href .= URL_SUFF; } } if (!empty($user_anchor) && $user_anchor !== $field_param[0]) { $anchor = $user_anchor; } elseif (!empty($title)) { $anchor = $title; } elseif ($alias === '/') { $anchor = 'Главная'; } else { $anchor = ''; } } } if ($doc_id === 0) { $url_href = $field_param[0]; $anchor = isset($field_param[1]) ? $field_param[1] : $field_param[0]; $url_href = str_replace('//', '/', $url_href); $url_href = str_replace('https:/', 'https://', $url_href); $url_href = str_replace('http:/', 'http://', $url_href); } $action_is_req = ($action === 'req'); $use_inline_tpl = ($action_is_req && isset($document_fields[$rubric_id]['tpl_req_empty'])) || (!$action_is_req && $tpl_empty); if ($use_inline_tpl) { $field_value = ' ' . $anchor . ''; } else { $field_value = preg_replace_callback( '/\[tag:parametr:(\d+)\]/i', function($data) use($anchor, $url_href) { return $anchor; }, $tpl ); } $maxlength = null; $res = $field_value; return $res; break; case 'api' : return clean_php($field_value); break; case 'name' : return $AVE_Template->get_config_vars('name'); break; } return ($res ? $res : $field_value); } ?>