Главная » Новости » Версия 0.7.39-40

Версия 0.7.39-40 

Лень создавать отдельные страницы, поэтому леплю обе версии в одну. Тем более, что они вышли одновременно.

0.7.39

Смарти

  • Добавлен смарти-тэг {core_version} выводящий номер текущей версии ядра
  • При генерации контента (метод fetch), теперь происходит проверка доступности шаблона и, если он оказывается недоступным, автоматически производится попытка найти его в папке общих модулей.

Ядро

  • исправлены имена системных функций (которые предназначены только для внутреннего использования, но должны иметь атрибут доступа public), теперь имена начинаются с символа подчеркивания.
  • Выкинут нафиг FirePHP, как глючный и не востребованный. Библиотека debug теперь умеет сама дампить переменные (метод dump(...)).
  • Изменен принцип генерации списка стилей страницы. Раньше стилевой файл styles.css автоматически вставлялся в каждую страницу (вносился в список стилей объекта page), что приводило к проблемам при использовании нескольких шаблонов в пределах одной темы. Теперь поведение изменено:
    • в объект page никакие стили автоматически не вносятся,
    • в страницу первым стилем автоматически вставляется стилевой файл, имя которого совпадает с именем шаблона (для шаблона test.tpl в страницу вставится test.css), но только в том случае когда такой стилевой файл существует в папке шаблона. Остальные стилевые файлы вставляются следом в том порядке, в котором они были добавлены в объект page.

Библиотека broadcast

  • добавлен новый метод, возвращающий данные всех каналов, созданных пользователем
  • добавлен метод delete_channels($module_name) удаляющий все каналы указанного модуля

Библиотека loader

  • при деинсталляции модуля теперь удаляются все созданные им каналы новостей
  • Откорректирована обработка новой структуры расположения модулей

Базовый класс модулей

  • добавлен метод admin_redirect для редиректов в пределах админки (аргументом является только требуемый экшенс с параметрами, строка адреса "_admin/module/<имя_модуля>/" добавляется автоматически.
  • добавлены методы для упращения работы с конфигом: get_option($name), set_option($name, $value), save_options($name=''). Имя секции подставляется автоматически (внутреннее имя модуля)
  • Откорректирована обработка новой структуры расположения модулей

Класс page

  • удален метод get_short_metas($tpl_uri), как не используемый
  • метод get_full_metas(...) переименован в _get_full_metas(...), поскольку он должен вызываться только ядром.

Добавлена библиотека requester, позволяющая отправлять запросы удаленным сайтам через POST

База данных

Sitemap

  • удалено поле styles, как неиспользуемое.

Структура

Изменена структура папок. Модули теперь могут находиться в двух "местах": в папке движка и в специальной папке сайта. Имя папки модулей как и раньше задается в конфиге и совпадает для обоих "мест", т.е. если в конфиге имя папки модулей задано как modules, то модули могут располагаться в движке (tanita/modules/) и в папке сайта (www/modules/). Приоритет отдается папкам сайта. Если ядро не находит нужного файла в папке сайта, оно производит поиск в папке движка. Если файл присутствует в обоих папках, то будет использовать только тот, который расположен в папке сайта.

Внутренняя структура папок модулей в обоих случаях должна совпадать. Следует учитывать, что только папка сайта доступна для запросов из броузера, следовательно все файлы, к которым броузер должен обращаться напрямую (css, javascript, картинки и т.д.), должны располагаться только в соответствующей папке сайта и для каждого сайта должна существовать своя копия данных файлов.

Еще одна особенность - нет возможности перехватить вызов команд include и require и скорректировать пути. Поэтому все файлы, которые внедряются методами модулей таким образом, должны располагаться в том же "месте", сто и файл содержащий команду include или require. Следовательно, если вы решили переписать локально (создать копию в папке сайта) какой-то из php-файлов модуля и этот файл использует включение других файлов через include или require, то включаемые файлы также должны располагаться в папке сайта.

0.7.40

Ядро

Базовый класс модулей 

  • добавлен виртуальный метод bool upgrade($from_version), который вызывается ядром при загрузке модуля, если требуется произвести обновление.
  • методы работы с конфигурацией теперь имеют необязательный третий параметр, который позволяет обратиться к любой секции.

Загрузчик (loader)

  • при загрузке модулей добавлена возможность автоматического обновления (вызов module::upgrade(), если необходимо).

broadcast

  • завершена работа над библиотекой

Блог

  • теперь при создании/изменении статьи автоматически создается канал новостей для комментариев данной статьи.
  • более-менее выровнены стили формы отправки комментариев.

Broadcast

  • теперь обрабатывает событие send_message и отправляет подписчикам е-мэйлы.

И да, теперь можно подписываться на доставку на мыло комментариев к интересующим статьям.

Теги: cms, изменения

Просто совет
Два месяца бесплатного использования VPS-сервера с 20Гб SSD на борту. Интересует?
Тогда жми сюда.
Твиттер-лента
Follow TanitaCMS in Twitter