Обновление 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. Другие глюки:

  • при добавлении ссылки или статьи не отображается дерево категорий. Для исправления этого глюка достаточно в администрировании открыть главную категорию и сохранить ее (можно без изменений). Индексы категорий пересчитаются и они снова появятся на страницах добавления.

 


Uptime. Мониторинг сайтов и серверов.