fix for Smarty 5 and PHP-8.4

This commit is contained in:
2025-11-09 16:28:56 +05:00
parent b7b0573e61
commit 88f07ff990

View File

@@ -366,7 +366,7 @@ function _cleanvar($var)
}
/**
/**
* Парсинг главных тегов
*/
function _parse_tags ($str)
@@ -382,6 +382,10 @@ function _cleanvar($var)
$str = parse_hide($str);
// Получаем запись пользователя ОДИН раз
// Если get_user_rec_by_id(UID) вернет null, мы можем безопасно использовать ее дальше.
$user_rec = get_user_rec_by_id(UID);
return str_replace(array(
'[tag:docid]',
'[tag:formtitle]',
@@ -399,6 +403,7 @@ function _cleanvar($var)
'[tag:uemail]',
'[tag:sitename]',
'[tag:sitehost]',
),array(
$AVE_Core->curentdoc->Id,
$this->form['title'],
@@ -409,12 +414,16 @@ function _cleanvar($var)
ABS_PATH . 'templates/' . ((defined('THEME_FOLDER') === false) ? DEFAULT_THEME_FOLDER : THEME_FOLDER) . '/',
'inc/captcha.php',
$_SESSION['user_name'],
get_user_rec_by_id(UID)->firstname,
get_user_rec_by_id(UID)->lastname,
$_SESSION['user_login'],
$_SESSION['user_email'],
// ИСПРАВЛЕНИЕ: Безопасное получение firstname и lastname
$user_rec->firstname ?? '', // Используем $user_rec и ?? ''
$user_rec->lastname ?? '', // Используем $user_rec и ?? ''
$_SESSION['user_login'] ?? '',
$_SESSION['user_email'] ?? '',
htmlspecialchars(get_settings('site_name'), ENT_QUOTES),
$_SERVER['HTTP_HOST'],
), $str);
}