diff --git a/forms/class/forms.php b/forms/class/forms.php index 737aded..3b2e8c6 100644 --- a/forms/class/forms.php +++ b/forms/class/forms.php @@ -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); }