Перейти к содержанию
Форум поддержки пользователей VamShop

Рекомендуемые сообщения

После установки магазина без добавления каких либо товаров и каких либо изменений обнаружил ошибку. Слева в строке поиска как начиню писать вылетает ошибка о том что preg_replace depriciated. И должен быть заменен на preg_replace_callback. Ошибка в строке 34 в фале protect.inc.php

 

Версия сборки где ошибка обнаружилась - 1.80. После разговра с Александром поставил 1.81 и ошибка повторилась.

 

После ковыряний в файле protect.inc.php удалил следующее:

// if (!function_exists('modx_sanitize_gpc')) {
    function modx_sanitize_gpc(& $target, $modxtags, $limit= 3) {
        foreach ($target as $key => $value) {
            if (is_array($value) && $limit > 0) {
                modx_sanitize_gpc($value, $modxtags, $limit - 1);
            } else {
                $target[$key] = preg_replace($modxtags,'', $value);
            }
        }
        return $target;
    
}
modx_sanitize_gpc($_GET, $modxtags);
if (!defined('IN_MANAGER_MODE') || (defined('IN_MANAGER_MODE') && (!IN_MANAGER_MODE || IN_MANAGER_MODE == 'false'))) {
    modx_sanitize_gpc($_POST, $modxtags);
}
modx_sanitize_gpc($_COOKIE, $modxtags);
modx_sanitize_gpc($_REQUEST, $modxtags);

foreach (array ('PHP_SELF', 'HTTP_USER_AGENT', 'HTTP_REFERER', 'QUERY_STRING') as $key) {
    $_SERVER[$key] = isset ($_SERVER[$key]) ? htmlspecialchars($_SERVER[$key], ENT_QUOTES) : null;
}

Теперь вроде все работает.

Я знаю это не верный вариант, но работает)

Буду признателен если кто-нибудь объяснит как грамотно заменить preg_replace на preg_replace_callback.

 

Ссылка на сообщение
Поделиться на другие сайты

А вообще этот файл рабочий, испльзуется, что-то я даже не помню.

Возможно, в нём и смысла нет.

Попробуйте вообще удалить его покдлючение в /index_ajax.php:

	require_once('protect.inc.php');

 

Ссылка на сообщение
Поделиться на другие сайты
  • 2 weeks later...
×
×
  • Создать...