diff --git a/fields/doc_from_rub/field.php b/fields/doc_from_rub/field.php index 0f17a42..8239e53 100644 --- a/fields/doc_from_rub/field.php +++ b/fields/doc_from_rub/field.php @@ -29,9 +29,11 @@ switch ($action) { - case 'edit': - if (isset($default)) +case 'edit': + // !!! ИСПРАВЛЕНИЕ: Проверяем, что $default НЕ ПУСТ (isset и !empty) + if (!empty($default)) { + // SQL-запрос 1: Получение минимального родителя $parent = $AVE_DB->Query(" SELECT MIN(document_parent) AS min @@ -41,6 +43,7 @@ rubric_id IN (" . $default . ") ")->GetCell(); + // SQL-запрос 2: Получение списка документов $sql = $AVE_DB->Query(" SELECT Id, document_parent, document_title @@ -66,6 +69,7 @@ } else { + // Если $default пуст, мы выводим ошибку, как и в оригинальном коде $AVE_Template->assign('error', $AVE_Template->get_config_vars('error')); } diff --git a/fields/image_multi/field.php b/fields/image_multi/field.php index 888da31..b799d16 100644 --- a/fields/image_multi/field.php +++ b/fields/image_multi/field.php @@ -73,9 +73,14 @@ $show_upload = true; + // Строка 76: разделяем строку на массив $default = explode('|', $default); - list($path, $watermark, $position, $transparency) = $default; + // Строка 78: используем оператор объединения с null (??) для безопасного извлечения значений + $path = $default[0] ?? ''; + $watermark = $default[1] ?? ''; + $position = $default[2] ?? ''; + $transparency = $default[3] ?? ''; if(preg_match("/%id/i", $path)) { diff --git a/fields/image_multi/tpl/field.tpl b/fields/image_multi/tpl/field.tpl index 1fb91d6..894bce6 100644 --- a/fields/image_multi/tpl/field.tpl +++ b/fields/image_multi/tpl/field.tpl @@ -1,6 +1,6 @@ {if $cascad_new != 'load'} {assign var=cascad_new value='' scope="global"} - {if $smarty.request.outside} + {if isset($smarty.request.outside) && $smarty.request.outside} {else}