Содержание: (спрятать)
В среднем раз в квартал наша студия обновляет десятки копий 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 | По умолчанию |
---|---|---|---|---|
10 | Download | int(11) | Да | 0 |
11 | Deleted | int(1) | Нет | 0 |
Однако в целом поведение Netcat в создавшейся ситуации неадекватно:
- во-первых, код в "списке объектов message.php" и в "полном выводе full.php" должен быть идентичным для одинакового функционала;
- во-вторых, код должен содержать проверку на результат sql-запроса.
Нууу, мы так думаем... :)
до NetCat 4.6.2 (все версии)
При обновлении до 4.6.2 возникла проблема: в "Разработке сайта" при редактировании компонентов или макетов при переключенном редакторе слетела кодировка.
При обновлении до 4.6.2 возникла проблема: в "Разработке сайта" при редактировании компонентов или макетов при переключенном редакторе не дает сохранить при нажатии "ктрл+шифт+s" под Firefox 8.x-x.x
При копировании раздела в результате вместо "Название раздела" пишется %NAME%
.
Сломался визуальный редактор после обновления. Не работает функция "просмотреть на сервере" при добавлении картинки. После замены commands.php, если в компоненте в "Пользовательских настройках" создать "текстовый блок" с возможностью редактирования в визуальном редакторе, то он открывается не корректно.
- в /netcat/editors/FCKeditor/editor/filemanager/connectors/php/ файл commands.php.zip (скачиваний: 778)
- в /netcat/admin/subdivision/ файл subclass.inc.php.zip (скачиваний: 692)
- в /netcat/system/a2f/ файл nc_a2f_field_textarea.class.php.zip (скачиваний: 673)
до 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Такая же ошибка возникает и при изменении пароля и при восстановлении.
Оставить комментарий