Пример #1
0
         case 'CHK':
         case 'RAD':
         case 'CID':
             $arSelectField['default_value'] = json_decode($arSelectField['default_value'], true);
             break;
     }
 }
 if (!$isPost && $currentAction == 'edit') {
     $arField = $arSelectField;
 }
 if ($isPost && $currentAction == 'edit') {
     $arField['code'] = $arSelectField['code'];
     $arField['type'] = $arSelectField['type'];
 }
 // Получаем все типы полей, имеющиеся в БД.
 $arFieldsTypes = $main->getFieldsTypes();
 Arr::set($arResult, 'fieldsTypes', $arFieldsTypes);
 if (!isset($arFieldsTypes[$arField['type']])) {
     Arr::set($arResult, 'error', true);
     Arr::set($arResult, 'errors.fieldsTypes', 'Указан несуществующий тип поля');
 }
 // Фильтруем код поля для занесения в БД
 $arField['code'] = $main->leffersFilter($arField['code']);
 // Выведем ошибку, если код поля некорректен
 if ($arField['code'] == '' && isset($arField['complete'])) {
     Arr::set($arResult, 'error', true);
     Arr::set($arResult, 'errors.code', 'Код допполя не указан или содержит недопустимые символы');
 }
 $isFieldExists = $main->db->getOne('SELECT id FROM ?n WHERE component_id = ?i AND code = ?s', PREFIX . '_components_fields_list', $arComponent['id'], $arField['code']);
 if ($isFieldExists && $currentAction == 'add') {
     Arr::set($arResult, 'error', true);
Пример #2
0
            }
        }
        Arr::set($arResult, 'component', $arComponentPost);
        break;
    case 'editcomponentfields':
        $arComponent = $main->db->getRow('SELECT * FROM ?n WHERE id = ?i', PREFIX . '_components', $componentId);
        if (!$arComponent) {
            // Делаем редирект с сообщенем об ошибочной выборке
            $main->redirect(Arr::get($arResult, 'home') . '&action=componentslist', 'error', 'Компонент с кодом <b>' . $componentId . '</b> не найден');
        }
        // Массив с данными о компоненте
        Arr::set($arResult, 'component', $arComponent);
        // Получаем информацию о плях, используемых компонентом.
        Arr::set($arResult, 'fieldsList', $main->getComponentFieldsList($arComponent['id']));
        // Получаем все типы полей, имеющиеся в БД.
        Arr::set($arResult, 'fieldsTypes', $main->getFieldsTypes());
        break;
    case 'config':
        Arr::set($arResult, 'arConfig', Config::get('module'));
        break;
    default:
        // code...
        break;
}
/**
 * Добавляем все ключи массивов, возможных к выводу в шаблоне.
 */
$arTplVars = [];
foreach ($arResult as $key => $tplVar) {
    if (is_array($tplVar)) {
        foreach ($tplVar as $k => $v) {