Обновляем shopcms для перехода на версию php 5.4 +
Удаляем вызовы
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))
if(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.
По остальным модулям дальнейшей проверкой буду отписываться.