А у нас новый сайт ----------------> www.ph-ph.ru!
Finar.ru
web.finar.ru
video.finar.ru
Темы для BootstrapNew!

Известные проблемы дистрибутивов, апргейдов и обновлений NetCat и их решения

Автор: Люди | 2012-06-22 | просмотров 2154
Тэги

В среднем раз в квартал наша студия обновляет десятки копий NetCat, находящиеся на самых разных площадках в самых разнообразных конфигурациях. По мере этого не всегда гладкого процесса периодически выявляются общие закономерности в возникновении проблем. Здесь собраны выявленные общие закономерности после обновления NetCat, а также ошибки в точно определенных версиях дистрибутивов.

Обратите внимание: мы не несем ответственности за применение данных рецептов. В наших случаях они закономерно работали, однако это не означает, что они сработают у вас. Применяйте инструкции на свой страх и риск. Сделайте бэкап изменяемых файлов и обеспечьте возможность отката.

Если вы не до конца понимаете эти инструкции и последствия их применения, обратитесь в техподдержку Netcat  или закажите услугу Техподдержка у нас, чтобы получить профессиональную помощь с гарантией результата.




Проблемы чистых дистрибутивов

4.7.2 все версии, знать обязательно!

Исчезновение файлов из поля Множественная Загрузка Файлов в Netcat 4

4.7.2 Extra

В файле netcat/modules/netshop/payment/assist.php в строчке 27 идет такой код: <input type=hidden name='URL_RETURN' value='".htmlspecialchars("http://shop.sitemanager.ru/")."'> Ожидается, что тут будет отражаться "URL страницы сайта при удачном платеже" из настроек интернет-магазина. сюда же вопрос: как используются "Секретное слово для Assist" и "URL страницы сайта при неуспешном платеже"? Я не вижу этого в коде файла вообще. Или не туда смотрю?

в данный момент не решено

Компонент "51. Магазин: Заказ" , альтернативная форма добавления товара, идет такой код: $ret .= "<input type='hidden' name='f_PaymentMethod' value='1011' />"; В чем ее задача? Ожидается, что дальше будет обработка методов платежа, но больше в коде ничего, относящегося к методам оплаты нет (дальше идет обработка способов доставки). В итоге в чистой установке фактически не работают способы оплаты.

в данный момент не решено

4.5.3 Business

По непонятной мне причине при заказе в Минимагазине в форму подтверждения заказа подставляются данные выключенного юзера admin.

Замените в компоненте "Минимагазин: Заказ" в альтернативной форме добавления строки:

$name = $nc_core->input->fetch_get_post('f_Name') ? $nc_core->input->fetch_get_post('f_Name') : ($info['Name'] ? $info['Name'] : ( ($a=$nc_core->user->get_by_id(1, $nc_core->AUTHORIZE_BY)) ? $a : ''));
$phone = $nc_core->input->fetch_get_post('f_Phone') ? $nc_core->input->fetch_get_post('f_Phone') : ($info['Phone'] ? $info['Phone'] : ( ($a=$nc_core->user->get_by_id(1, 'Phone')) ? $a : ''));
$email = $nc_core->input->fetch_get_post('f_Email') ? $nc_core->input->fetch_get_post('f_Email') : ($info['Email'] ? $info['Email'] : ( ($a=$nc_core->user->get_by_id(1, 'Email')) ? $a : ''));
$address = $nc_core->input->fetch_get_post('f_Address') ? $nc_core->input->fetch_get_post('f_Address') : ($info['Address'] ? $info['Address'] : ( ($a=$nc_core->user->get_by_id(1, 'Address')) ? $a : ''));

на

$name = $nc_core->input->fetch_get_post('f_Name') ? $nc_core->input->fetch_get_post('f_Name') : ($info['Name'] ? $info['Name'] : ( ($a=$nc_core->user->get_by_id($AUTH_USER_ID, $nc_core->AUTHORIZE_BY)) ? $a : ''));
$phone = $nc_core->input->fetch_get_post('f_Phone') ? $nc_core->input->fetch_get_post('f_Phone') : ($info['Phone'] ? $info['Phone'] : ( ($a=$nc_core->user->get_by_id($AUTH_USER_ID, 'Phone')) ? $a : ''));
$email = $nc_core->input->fetch_get_post('f_Email') ? $nc_core->input->fetch_get_post('f_Email') : ($info['Email'] ? $info['Email'] : ( ($a=$nc_core->user->get_by_id($AUTH_USER_ID, 'Email')) ? $a : ''));
$address = $nc_core->input->fetch_get_post('f_Address') ? $nc_core->input->fetch_get_post('f_Address') : ($info['Address'] ? $info['Address'] : ( ($a=$nc_core->user->get_by_id($AUTH_USER_ID, 'Address')) ? $a : ''));

и замените файл по пути /netcat/system/essences на nc_component.class.php.zip (скачиваний: 728)

Проблемы при обновленях

с NetCat 4.5 до версии, имеющей возможность считать количество скачиваний файлов

Возможна такая ситуация, что после обновления Netcat в базе не появляются столбцы Download и Deleted в таблице Filetable, которые необходимы для нового функционала (счетчик числа закачек). Почему это происходит, неизвестно, но и не так важно, а важно (и весьма любопытно) то, как эта ситуация весьма причудливо обрабатывается ядром Netcat: в полном выводе объекта значение переменной $f_ИмяПоля вместо ожидаемого пути к файлу равно сырому нераспарсенному значению поля. При этом в "объекте в списке" все нормально.

Почему это происходит? Потому что в netcat/message.php и в netcat/full.php разный код для обработки полей типа файл. В файле full.php на 285 строке запрос к базе выглядит так:

$res = $db->get_results("SELECT fd.`Field_ID` AS field_id, fd.`Field_Name` AS field, ft.`File_Path` AS path, ft.`Virt_Name` AS name, ft.`Download` AS download
  FROM `Field` AS fd
  LEFT JOIN `Filetable` AS ft
  ON (fd.`Field_ID` = ft.`Field_ID` AND ft.`Message_ID` = '".(int) $message."')
  WHERE ".($user_table_mode ? "fd.`Class_ID` = 0 AND `System_Table_ID` = 3" : "fd.`Class_ID` = '".(int) $classID."'")."
  AND fd.`TypeOfData_ID` = 6", ARRAY_A);

А в message.php все то же самое, только без ft.`Download` AS download .

Для решения проблемы в данном случае достаточно в Базе Данных в таблицу filetable добавить потерянные при обновлении столбцы Download и Deleted, со следующими параметрами:

#ПолеТипNullПо умолчанию
10Downloadint(11)Да0
11Deletedint(1)Нет0

Однако в целом поведение Netcat в создавшейся ситуации неадекватно:

  • во-первых, код в "списке объектов message.php" и в "полном выводе full.php" должен быть идентичным для одинакового функционала;
  • во-вторых, код должен содержать проверку на результат sql-запроса.

Нууу, мы так думаем... :)

до NetCat 4.6.2 (все версии)

При обновлении до 4.6.2 возникла проблема: в "Разработке сайта" при редактировании компонентов или макетов при переключенном редакторе слетела кодировка.

По пути netcat\admin\js\edit_area нужно заменить файл edit_area_full.js.zip (скачиваний: 674)

При обновлении до 4.6.2 возникла проблема: в "Разработке сайта" при редактировании компонентов или макетов при переключенном редакторе не дает сохранить при нажатии "ктрл+шифт+s" под Firefox 8.x-x.x

Проблема в данный момент не решена.

При копировании раздела в результате вместо "Название раздела" пишется %NAME%.

Замените файл /netcat/admin/subdivision/copy.php на этот copy.php.zip (скачиваний: 748)

Сломался визуальный редактор после обновления. Не работает функция "просмотреть на сервере" при добавлении картинки. После замены commands.php, если в компоненте в "Пользовательских настройках" создать "текстовый блок" с возможностью редактирования в визуальном редакторе, то он открывается не корректно.

Заменить три файла:

до 4.7.2, знать обязательно!

Исчезновение файлов из поля Множественная Загрузка Файлов в Netcat 4

Проблемы при переходе на старшую редакцию

со Standard 4.7.2 (проверено на Business)

Модуль "Личный кабинет" начинает выдавать следующие ошибки при подтверждения регистрации:

 
Fatal error: Cannot redeclare nc_array_json() (previously declared in /home/***/***/***/netcat/admin/admin.inc.php:15) in /home/***/***/***/netcat/admin/admin.inc.php on line 46 
Такая же ошибка возникает и при изменении пароля и при восстановлении.
Замените файлы в /netcat/modules/auth/ вот на эти: netcat_user_error.zip (скачиваний: 790)

Оставить комментарий 


Ваше имя:
->