Обновление CNCat (переход на Open Source)
Наконец-то победил свою природную лень и решил обновить купленный CNCat с версии 4.3.3 (790) до версии 4.4.2 (850) Open Source. Как и предвиделось, возникли проблемы...
0. ДЕЛАЕМ BACKUP!!! ДЕЛАЕМ BACKUP!!! ДЕЛАЕМ BACKUP!!!
1. Для начала удалим ненужные файлы:
- cncat_add_article.php
- cncat_add.php
- cncat_bot_add.php
- cncat_config/banners.default.php
- cncat_config/config_ext.default.php
- cncat_engine/admin/license.php
- cncat_engine/idna_convert_class.php
- cncat_engine/urls.php cncat_ext.php
- cncat-license-en.txt
- cncat-license-ru.txt
- cncat-license-ru_utf8.txt
- cncat_map.php
- cncat_permalink.php
- cncat.php
- cncat_search.php
- page.php
rm cncat_add_article.php cncat_add.php cncat_bot_add.php cncat_config/banners.default.php cncat_config/config_ext.default.php cncat_engine/admin/license.php cncat_engine/idna_convert_class.php cncat_engine/urls.php cncat_ext.php cncat-license-en.txt cncat-license-ru.txt cncat-license-ru_utf8.txt cncat_map.php cncat_permalink.php cncat.php cncat_search.php page.php
Файлы стали не нужны, так как большая часть методов теперь вызывается не напрямую, а через actions, что в общем-то логично.
2. Скачиваем, распаковываем, копируем с заменой новую версию. Идем на сайт, устанавливаем методом "Далее->Далее->Готово". Удаляем каталог install. Идем на сайт и удивляемся: "Невозможно отобразить страницу". Здорово!!! Шаблоны то несовместимы. Если Вы использовали одну из стандартных тем оформления, то они заменились автоматически, и Ваш сайт отображается.
3. С шаблонами отдельная песня, они оказались практически несовместимыми, проще одеть шаблон заново, чем выискивать все различия в tpl-файлах. Хотя это очень сильно зависит от шаблона.
4. Осталось устранить мелкие недочеты Open Source версии.
- если Ваш каталог находится в 1PS нужно заменить в файле cncat_action/bot_add.php: <form action="?" method="post"> на <form action="?action=bot_add" method="post">
- для нормальной проверки обратных ссылок по расписанию нужно в файл cncat_cron.php после строки:
$CNCAT_ENGINE = cncatCreateObject ("engine", "CNCatEngine");
добавить строку: $CNCAT_ENGINE->misc =& cncatCreateObject ("misc", "CNCatMisc"); - чтобы убрать лишний копирайт на некоторых страницах нужно в файле cncat_engine/templates.php заменить return $CNCAT_COPYRIGHT; на return "";
- как я уже писал здесь добавляем в cncat_image.php строку: header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + 86400));
- чтобы не быть неблагодарными вернем копирайт на все страницы (но только один), для этого в файле index.php изменим строку:
echo $CNCAT["render_result"];// . (cn_copyright_free());
на echo $CNCAT["render_result"] . (cn_copyright_free());
5. Другие глюки:
- при добавлении ссылки или статьи не отображается дерево категорий. Для исправления этого глюка достаточно в администрировании открыть главную категорию и сохранить ее (можно без изменений). Индексы категорий пересчитаются и они снова появятся на страницах добавления.