diff --git a/fields/doc_from_rub_check/tpl/field.tpl b/fields/doc_from_rub_check/tpl/field.tpl index a10b489..0e1605a 100644 --- a/fields/doc_from_rub_check/tpl/field.tpl +++ b/fields/doc_from_rub_check/tpl/field.tpl @@ -35,4 +35,5 @@
+ {/if} diff --git a/fields/doc_from_rub_list/tpl/field.tpl b/fields/doc_from_rub_list/tpl/field.tpl index c127347..a171f64 100644 --- a/fields/doc_from_rub_list/tpl/field.tpl +++ b/fields/doc_from_rub_list/tpl/field.tpl @@ -11,5 +11,5 @@ - + {/if} diff --git a/fields/doc_from_rub_tree/tpl/field.tpl b/fields/doc_from_rub_tree/tpl/field.tpl index 453d8f5..62403a5 100644 --- a/fields/doc_from_rub_tree/tpl/field.tpl +++ b/fields/doc_from_rub_tree/tpl/field.tpl @@ -13,5 +13,5 @@ - + {/if} diff --git a/fields/drop_down/tpl/field.tpl b/fields/drop_down/tpl/field.tpl index 05e0b5c..31902ee 100644 --- a/fields/drop_down/tpl/field.tpl +++ b/fields/drop_down/tpl/field.tpl @@ -8,4 +8,5 @@ + {/if} \ No newline at end of file diff --git a/fields/drop_down_key/tpl/field.tpl b/fields/drop_down_key/tpl/field.tpl index 5a0b6a9..9e7908c 100644 --- a/fields/drop_down_key/tpl/field.tpl +++ b/fields/drop_down_key/tpl/field.tpl @@ -9,4 +9,5 @@ + {/if} \ No newline at end of file diff --git a/fields/image_cascade/field.php b/fields/image_cascade/field.php index 15a9295..2a6d575 100644 --- a/fields/image_cascade/field.php +++ b/fields/image_cascade/field.php @@ -274,36 +274,41 @@ break; - case 'save': - // Инициализируем $field_value_new как пустой массив. - $field_value_new = []; - - // Гарантируем, что $field_value является массивом перед foreach - $field_value = is_array($field_value) ? $field_value : []; - - foreach ($field_value as $v) - { - if (! empty($v['url'])) - { - // Убедимся, что данные очищены перед сериализацией - $description = $v['descr'] ? stripslashes(htmlspecialchars($v['descr'], ENT_QUOTES)) : ''; - - // Собираем элемент в строку: URL|DESCR - $field_value_new[] = $v['url'] . ($description ? '|' . $description : ''); - } - } +case 'save': + // Инициализируем $field_value_new как пустой массив. + $field_value_new = []; + + // Гарантируем, что $field_value является массивом перед foreach + $field_value = is_array($field_value) ? $field_value : []; + + foreach ($field_value as $k => $v) // Добавлен $k для проверки заглушки + { + // Игнорируем элемент-заглушку + if ($k === '__empty__') { + continue; + } - // Если массив картинок пуст (все удалено), возвращаем пустую строку для сохранения в БД - if (empty($field_value_new)) - { - return ''; - } - else - { - // Если картинки есть, сериализуем массив строк и сохраняем - return @serialize($field_value_new); - } - break; + if (! empty($v['url'])) + { + // Убедимся, что данные очищены перед сериализацией + $description = $v['descr'] ? stripslashes(htmlspecialchars($v['descr'], ENT_QUOTES)) : ''; + + // Собираем элемент в строку: URL|DESCR + $field_value_new[] = $v['url'] . ($description ? '|' . $description : ''); + } + } + + // Если массив картинок пуст (все удалено), возвращаем пустую строку для сохранения в БД + if (empty($field_value_new)) + { + return ''; + } + else + { + // Если картинки есть, сериализуем массив строк и сохраняем + return @serialize($field_value_new); + } + break; case 'api': if (empty($field_value)) diff --git a/fields/image_cascade/tpl/field.tpl b/fields/image_cascade/tpl/field.tpl index 29dd400..957fb17 100644 --- a/fields/image_cascade/tpl/field.tpl +++ b/fields/image_cascade/tpl/field.tpl @@ -23,6 +23,7 @@