Перейти к содержимому


ShopCMS 3.1.3 Доводим до "ума"

ShopCMS

  • Вы не можете ответить в тему
Сообщений в теме: 32

Опрос: Дороботка ShopCMS - голосование (10 пользователей проголосовало)

Хотите ли вы принять участие в доработке ShopCMS?

  1. Да (7 голосов [70.00%] - Просмотр)

    Процент голосов: 70.00%

  2. Нет (3 голосов [30.00%] - Просмотр)

    Процент голосов: 30.00%

Голосовать Гости не могут голосовать

#21 Robby

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 162 сообщений
Репутация: 75
Продвинутый

Отправлено 14 January 2016 - 12:06 AM

Нашлось одно неудобство. Если в магазине есть несколько шаблонов, и в пользовательской части позволить их изменять, то будут всякие неожиданности из-за существующего кэша. По хорошему при смене шаблона нужно очистить кэш.
Чтобы это сделать нужно в index.php найти код
    if (isset($_POST["change_design"]))
        $_SESSION['CUSTOM_DESIGN'] = $_POST["change_design"];
и изменить его так:

    if (isset($_POST["change_design"])){
        $_SESSION['CUSTOM_DESIGN'] = $_POST["change_design"];
       // очищаем все файлы кэша
      $smarty->clear_all_cache();
}

  • 0

#22 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 14 January 2016 - 12:35 PM

и изменить его так:

Это не поможет. Кэш один, а клиентов несколько с разным шаблоном, будут глюки.
лучше так:
В файле index.php после

$smarty_mail->template_dir = "core/tpl/email";

вставляем

$smarty->compile_id = TPL;

тогда у кэш-файлов разных шаблонов будут разные имена (префиксы).
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#23 Robby

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 162 сообщений
Репутация: 75
Продвинутый

Отправлено 14 January 2016 - 01:24 PM

Это не поможет. Кэш один, а клиентов несколько с разным шаблоном, будут глюки.

Похоже что именно так и будет...
Тестовый сайт test.needful.co.ua
На косяки с кодировками в некоторых местах и в шаблонах пока внимание не обращаем.
Используется обновленная капча, кнопки плюс-минус в добавление товара, аякс оценка товара. Кому интересно может посмотреть.
Демо базу позже сделаю, сейчас не успеваю.
Доступа к админке нет! Работает сайт на PHP 5.6
  • 1

#24 kery

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 134 сообщений
Репутация: 17
Начинающий

Отправлено 19 January 2016 - 08:23 AM

Обновляем 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.

По остальным модулям дальнейшей проверкой буду отписываться.
  • 1

#25 Robby

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 162 сообщений
Репутация: 75
Продвинутый

Отправлено 20 January 2016 - 10:44 AM

В шаблоне скрипта файл links_exchange.tpl.html содержит включения файла header.tpl который удален в версии 3.1.3 поэтому удаляем в этом файле строку:
{include file="header.tpl.html" header=$postheader}
Сейчас немного обновлю тестовый сайт. Подправлены темы оформления, исправлено голосование в карточке детального описания товара в IE (это своеобразный браузер :) ) когда после отправки запроса не удалялась подсказка.
  • 0

#26 Salp

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 218 сообщений
Репутация: 54
Продвинутый

Отправлено 27 October 2016 - 03:16 PM

Тестовый сайт test.needful.co.ua

Техническое обслуживание
Приносим свои извинения за временные неудобства
  • 0

#27 veresk

    Новичок

  • Download User
  • Pip
  • 3 сообщений
Репутация: 0
Начинающий

Отправлено 27 April 2018 - 11:47 AM

Насколько актуальная информация?
Перевел магазин на PHP5.4. С виду все работает. А потом оказалось, что в админке не добавляются наименования товаров, у которых кириллица есть - вместо наименования пустое поле. Не знаю, может и еще что-то вылезет.
  • 0

#28 veresk

    Новичок

  • Download User
  • Pip
  • 3 сообщений
Репутация: 0
Начинающий

Отправлено 27 April 2018 - 01:00 PM

ага, нашел более актуальную тему http://vsupport.club...-версии-php-54/
  • 0

#29 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 27 April 2018 - 01:09 PM

Насколько актуальная информация?

Последнее сообщение - октябрь 2016. Сами-то как думаете?

С виду все работает. А потом оказалось, что в админке не добавляются наименования товаров, у которых кириллица есть - вместо наименования пустое поле.

Дефолтовая кодировка для функций htmlspecialchars и html_entity_decode стала двухбайтовой (UTF-8). В ShopCMS используется кодировка cp1251, она однобайтовая. Соответственно, при использовании этих функций в том виде, как есть (без указания кодировки) они все русские символы из строки удаляют.
Для PHP5.4 надо во всех применениях этих функций принудительно прописать нужную кодировку, но какой смысл возиться с PHP5.4, если давно уже есть PHP5.6, где вместо правки кода в десяти местах можно задать дефолтовую кодировку в файле .htaccess.
php_value default_charset cp1251

Не знаю, может и еще что-то вылезет.

Еще как вылезет :).
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)

#30 revit

    Пользователь

  • Пользователи
  • PipPip
  • 10 сообщений
Репутация: 0
Начинающий

Отправлено 01 July 2018 - 02:47 PM

Господа. Может кто-нибудь поделится архивом asido.zip 16,13К ?
Спасибо. Не хватает статуса
  • 0

#31 Dbus

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 1116 сообщений
Репутация: 174
Мастер
  • ГородОдесса

Отправлено 01 July 2018 - 03:24 PM

Господа. Может кто-нибудь поделится архивом asido.zip 16,13К ?
Спасибо. Не хватает статуса

это не секретная разработка )
https://sourceforge....projects/asido/
  • 0
502 Bad Gateway

#32 revit

    Пользователь

  • Пользователи
  • PipPip
  • 10 сообщений
Репутация: 0
Начинающий

Отправлено 02 July 2018 - 08:20 AM

Господа. Может кто-нибудь поделится архивом asido.zip 16,13К ?
Спасибо. Не хватает статуса

это не секретная разработка )
https://sourceforge....projects/asido/

Спасибо ! Но я имел в виду тот архив, который надо поменять вместо дефолтного при переводе на php 5.4+ Он выложен в теме, но скачать я .......
  • 0

#33 badisoft

    Продвинутый пользователь

  • Assistent vsupport.club
  • PipPipPip
  • 5075 сообщений
Репутация: 786
Мастер

Отправлено 02 July 2018 - 10:04 AM

Но я имел в виду тот архив, который надо поменять вместо дефолтного при переводе на php 5.4+

Этот архив и выложен.
  • 0
http://cpu.badisoft.ru (тестовый сайт), http://badisoft.ru (модули)