This commit is contained in:
2025-11-28 10:01:12 +05:00
parent 47d2b0d794
commit 38fe02c71a
5 changed files with 12 additions and 13 deletions

View File

@@ -70,7 +70,7 @@
if ($tpl_empty)
{
$field_value = $document['document_title'];
$field_value = isset($document['document_title']) ? $document['document_title'] : '';
$field_value = clean_php($field_value);
$field_value = stripcslashes($field_value);
$field_value = htmlspecialchars_decode($field_value);

View File

@@ -28,4 +28,4 @@ document_lang_group Языковая группа документа
<a href="{$ABS_PATH}{$document.document_alias}">{$document.document_title}</a> Просмотров: {$document.document_count_view}
*}
{$document.document_title|stripcslashes}
{$document.document_title|default:''|stripcslashes}

View File

@@ -81,9 +81,9 @@ case 'edit':
case 'doc':
$document = get_document($field_value);
if ($tpl_empty)
if ($tpl_empty)
{
$field_value = $document['document_title'];
$field_value = isset($document['document_title']) ? $document['document_title'] : '';
$field_value = clean_php($field_value);
$field_value = stripcslashes($field_value);
$field_value = htmlspecialchars_decode($field_value);

View File

@@ -28,4 +28,7 @@ document_lang_group Языковая группа документа
<a href="{$ABS_PATH}{$document.document_alias}">{$document.document_title}</a> Просмотров: {$document.document_count_view}
*}
{$document.document_title|stripcslashes}
{if isset($document.document_title)}
{$document.document_title|default:''|stripcslashes}
{/if}

View File

@@ -83,11 +83,10 @@ function rrmdir($dir, &$result = 0)
{
if (is_dir($dir))
{
// 1. ИСПОЛЬЗУЕМ @ ДЛЯ ПОДАВЛЕНИЯ ПРЕДУПРЕЖДЕНИЙ И
// 2. СРАЗУ ПРОВЕРЯЕМ, ЯВЛЯЕТСЯ ЛИ РЕЗУЛЬТАТ МАССИВОМ
$objects = @scandir($dir);
if (is_array($objects)) // <-- ДОБАВЛЕНА ПРОВЕРКА!
if (is_array($objects))
{
foreach ($objects as $object)
{
@@ -102,13 +101,10 @@ function rrmdir($dir, &$result = 0)
}
else
{
// Если scandir вернул false, мы не смогли прочитать директорию,
// поэтому считаем, что удаление невозможно.
$result++;
return false;
}
// 3. БЕЗОПАСНО ВЫЗЫВАЕМ reset(), так как $objects гарантированно массив
reset($objects);
$result = $result + (rmdir($dir) ? 0 : 1);
@@ -118,7 +114,7 @@ function rrmdir($dir, &$result = 0)
}
/**
/**
* Очистка текста от програмного кода
*
* @param string $text исходный текст
@@ -126,7 +122,7 @@ function rrmdir($dir, &$result = 0)
*/
function clean_php($text)
{
return str_replace(array('<?php', '<?', '?>', '<script'), '', $text);
return str_replace(array('<?php', '<?', '?>', '<script'), '', (string)$text);
}