config_load($lang_file, 'lang'); $AVE_Template->assign('config_vars', $AVE_Template->get_config_vars()); $AVE_Template->config_load($lang_file, 'admin'); switch ($action) { case 'edit': $safe_values = ['', '']; if (! empty($field_value)) { $values = explode('|', $field_value); $safe_values = [ $values[0] ?? '', $values[1] ?? '' ]; } $AVE_Template->assign('field_dir', $fld_name); $AVE_Template->assign('field_id', $field_id); $AVE_Template->assign('field_value', $safe_values); $tpl_file = get_field_tpl($tpl_dir, $field_id, 'admin', $_tpl); return $AVE_Template->fetch($tpl_file); break; case 'doc': case 'req': // Если значение поля совсем пустое — ничего не выводим (защита от пустого шаблона) if (trim($field_value) === '') return ''; if ($tpl_empty) { $value = array(); if (! empty($field_value)) { // Для режима без шаблона отдаем массив очищенных значений $value = explode('|', $field_value); $value = array_map('clean_php', $value); } } else { $field_param = explode('|', $field_value); $field_value = preg_replace_callback( '/\[tag:parametr:(\d+)\]/i', function($data) use($field_param) { // ПРОВЕРКА: берем индекс из тега и проверяем, есть ли он в массиве данных $index = (int)$data[1]; return isset($field_param[$index]) ? $field_param[$index] : ''; }, $tpl ); } $tpl_file = get_field_tpl($tpl_dir, $field_id, $action, $_tpl); if ($tpl_empty && $tpl_file) { $AVE_Template->assign('field_id', $field_id); $AVE_Template->assign('field_value', $value); return $AVE_Template->fetch($tpl_file); } return $field_value; break; case 'save': $save = array(); if (is_array($field_value)) { $value_0 = preg_replace('/[^\d.]/','', $field_value[0] ?? ''); $value_1 = preg_replace('/[^\d.]/','', $field_value[1] ?? ''); $save = [$value_0, $value_1]; } elseif (!empty($field_value)) { $save[] = preg_replace('/[^\d.]/','', $field_value); } return empty($save) ? '' : implode('|', $save); break; case 'api': if (! empty($field_value)) $field_value = explode('|', $field_value); return $field_value; case 'name': return $AVE_Template->get_config_vars('name'); default: return $field_value; } } ?>