Удаляем вызовы
session_unregisterкоторые устарели для работы ajax козины в php 5.4
1.в файле cart_functions.php
удаляем все вызовы
session_unregister
1.1 в файле functions.php
удаляем все вызовы
session_unregister
1.2 в файле order_functions.php
удаляем все вызовы
session_unregister
1.3 в файле registration_functions.php
удаляем все вызовы
session_unregister
1.4 в файле authorization.php
удаляем все вызовы
session_unregister
1.5 в файле last_items_view_new.php
строку
{ session_unregister("last_items_view"); }заменяем на
{ unset($_SESSION["last_items_view"]); }
1.5 в файле quick_order.php
удаляем все вызовы
session_unregister
1.6 в файле shopping_cart.php
удаляем все вызовы
session_unregister
1.7 в файле modules.export_products.php
удаляем все вызовы
session_unregister
1.8 в файле cart.php
удаляем все вызовы
session_unregister
Удаляем передачу по ссылке
&которая изменилась в php 5.4
2. в файле class.ajax.php
строку
$JsHttpRequest = & new JsHttpRequest(DEFAULT_CHARSET);заменяем на
//$JsHttpRequest = & new JsHttpRequest(DEFAULT_CHARSET); $JsHttpRequest = new JsHttpRequest(DEFAULT_CHARSET);
2.1 в файле compare.php
строку
$JsHttpRequest = & new JsHttpRequest(DEFAULT_CHARSET);заменяем на
//$JsHttpRequest = & new JsHttpRequest(DEFAULT_CHARSET); $JsHttpRequest = new JsHttpRequest(DEFAULT_CHARSET);
Заменяем функцию ereg которая устарела с php 5.4
3. в файле setting_functions.php в двух местах
строку
if ((!ereg("[.]",$file)))заменяем на
//if ((!ereg("[.]",$file))) if ((!preg_match("/[.]/",$file)))
3.1 в файле class.htmlparser.php
строку
return ereg ("^[A-Za-z0-9_\\-]+$", $name);заменяем на
//return ereg ("^[A-Za-z0-9_\\-]+$", $name); return preg_match ("/^[A-Za-z0-9_\\-]+$/", $name);
3.2 в файле class.phpmailer.php
строку
if(eregi('^(.+)<img src='http://vsupport.club/public/style_emoticons/<#EMO_DIR#>/sad.png' class='bbc_emoticon' alt=':(' />[0-9]+)$', $hosts[$index], $hostinfo))заменяем на
//if(eregi('^(.+)<img src='http://vsupport.club/public/style_emoticons/<#EMO_DIR#>/sad.png' class='bbc_emoticon' alt=':(' />[0-9]+)$', $hosts[$index], $hostinfo)) if(preg_match('/^([^:]+)<img src='http://vsupport.club/public/style_emoticons/<#EMO_DIR#>/sad.png' class='bbc_emoticon' alt=':(' />[0-9]+)$/', $hosts[$index], $hostinfo))
3.3 в файле catalog_excel_export.php
строку
if(ereg("[$d$q\n\r]", $field))заменяем на
//if(ereg("[$d$q\n\r]", $field)) (preg_match("/[$d$q\n\r\/]/", $field))
3.4 в файле conf_blocks_edit.php
строку
if ((ereg("[html]",$file)))на
//if ((ereg("[html]",$file))) if ((preg_match("/[html]/",$file)))
Модернизируем функцию htmlspecialchars и html_entity_decode которая в php 5.4 по умолчнию стала в кодировке UTF-8, добавляем
кодировку cp1251
4. в файле class.ajax.php
строку
return htmlspecialchars($s, 'ENT_COMPAT | ENT_HTML401');заменяе на
//return htmlspecialchars($s, 'ENT_COMPAT | ENT_HTML401'); return htmlspecialchars($s, 'ENT_COMPAT | ENT_HTML401', 'cp1251' );
4.1 в файле functions.php
два вхождения строки
return htmlspecialchars($_data, ENT_QUOTES);заменяем на
//return htmlspecialchars($_data, ENT_QUOTES); return htmlspecialchars($_data, ENT_QUOTES, 'cp1251');строку
$str = htmlspecialchars(trim($str), ENT_QUOTES);заменяем на
//$str = htmlspecialchars(trim($str), ENT_QUOTES); $str = htmlspecialchars(trim($str), ENT_QUOTES, 'cp1251');строку
return html_entity_decode($_Data, ENT_QUOTES);заменяем на
//return html_entity_decode($_Data, ENT_QUOTES); return html_entity_decode($_Data, ENT_QUOTES, 'cp1251');
5. Качаем и заменяем class asido в посте http://vsupport.club...dpost__p__34156
По установленным у меня модулям, у вас если их нет то править не нужно
1.Дополнение которое меняет шаблон при заходе с мобильного
в файле is_mobile.php
строку
if ((!ereg("[.]",$file)))меняем на
//if ((!ereg("[.]",$file))) if ((!preg_match("/[.]/",$file)))в файле admin.php
строку
if ($file != ".htaccess" && $file != "." && $file != "..") unlink($path."/".$file);меняем на
if ($file != ".htaccess" && $file != "." && $file != "..") @unlink($path."/".$file);
2. Дополнение Карта сайта доделаная для модуля Простенький модуль ЧПУ, версия 2
выдает ошибку при удалении заказа из корзины с включенными ошибками т.е. посылает тело страницы и поэтому не посылаются заголовки и не срабатывает location в functions.php on line 72
Warning: Cannot modify header information - headers already sent by (output started at modules_xml_sitemap.php:87.......... functions.php on line 72с этим дополнением надо разбираться или удалять карту сайту или включать буферизацию в php.ini или если позволяет хостер в
в файле .htaccess
php_value output_buffering 1но при включенной буферизации не будет работать Простенький модуль ЧПУ, версия 2.
По остальным модулям дальнейшей проверкой буду отписываться.
Дополнение:
в файле functions.php находим функцию:
function xSaveData($_ID, $_Data, $_TimeControl = 0)
в ней следующий код
if (!session_is_registered('_xSAVE_DATA'))
меняем на
//if (!session_is_registered('_xSAVE_DATA')) if (!isset($_SESSION['_xSAVE_DATA']))
комментируем строку
session_register('_xSAVE_DATA');
на
//session_register('_xSAVE_DATA');
Еще дополнение
1.в файле custord_subscribers.php в двух местах:
находим
if(!session_is_registered('SUBSCRIBE_MESSAGE')){ session_register('SUBSCRIBE_MESSAGE'); }меняем на
if(isset($_SESSION['SUBSCRIBE_MESSAGE'])){ $_SESSION['SUBSCRIBE_MESSAGE']; }
2. в файле affiliate_program.php
находим
session_register('s_RefererLogin');закоментируем
//session_register('s_RefererLogin');
3. в файле modules.export_products.php
находим
if(!session_is_registered('explortExpandedIDs')){ session_register('explortExpandedIDs'); $_SESSION['explortExpandedIDs'] = array(1=>1); }меняем на
if(isset($_SESSION['explortExpandedIDs'])){ //session_register('explortExpandedIDs'); $_SESSION['explortExpandedIDs'] = array(1=>1); }находим
if (!session_is_registered('checkedCategories')) { session_register('checkedCategories'); $_SESSION['checkedCategories'] = array(); }
меняем на
if(isset($_SESSION['checkedCategories'])){ //session_register('checkedCategories'); $_SESSION['checkedCategories'] = array(); }
находим
if (!session_is_registered('selectedProducts')) { session_register('selectedProducts'); $_SESSION['selectedProducts'] = array(); }меняем на
if(isset($_SESSION['selectedProducts'])){ //session_register('selectedProducts'); $_SESSION['selectedProducts'] = array(); }находим
if (!session_is_registered('selectedProductsIncSub')) { session_register('selectedProductsIncSub'); $_SESSION['selectedProductsIncSub'] = array(); }меняем на
if(isset($_SESSION['selectedProductsIncSub'])){ //session_register('selectedProductsIncSub'); $_SESSION['selectedProductsIncSub'] = array(); }находим
if (!session_is_registered('isExpanded')) { session_register('isExpanded'); $_SESSION['isExpanded'] = array(); }меняем на
if(isset($_SESSION['isExpanded'])){ //session_register('isExpanded'); $_SESSION['isExpanded'] = array(); }