На протяжении многих месяцев мы упорно работали над новой версией системы и над вспомогательными нашими сервисами.
Теперь пользователи могут собрать самостоятельно любую версию непосредственно с репозитория и не ждать пока это сделает администрация проекта.
Все эти сервисы можно найти на оффициальном сайте.
Кроме запуска сервисов мы много переработали, исправили и добавили в системе. Мы с гордости можем сообщить что на момент выхода системы мы закрыли все заявки связанные с ошибками и неточностями работы, так же мы можем сказать что закрыли около 90% всех заявок – "предложений пользователей" и воплотили их в жизнь в новой версии системы. С момента выхода предыдущей версии выполнено более 120 изменений с которыми вы сможете более детально ознакомится на diff.kasseler-cms.net. А так же не мало важная новость - это то что мы решили пересмотреть политику версионности системы, убрать ненужные цифры и внести ясность в понимание новой версии. Мы отказались от версионности вида 2.х.х, отныне все версии будут обозначатся [версия ядра] r[номер ревизии в журнале репозитория] к примеру: Kasseler CMS 2 r808.
Кратко о нововведениях: 1. Добавлено ajax удаление сообщений форума. 2. Добавлены атрибуты rel="next” и rel="prev” для поисковых машин. 3. Разработан механизм обновления системы. 4. Изменено разграничение прав доступа на форуме. 5. Добавлено автоматическое определение часового пояса при регистрации пользователя. 6. Выполнена коррекция часовый поясов в соответствии с новым законодательством РФ. 7. Добавлена возможность закрепить новость. 8. Добавлена возможность указания шаблона для модуля сообщений. 9. Реализованы пинги при генерации sitemap. 10. В модулях добавлен фильтр по категориям. 11. Реализована система хуков. 12. Добавлена возможность закрепления первого сообщения темы форума. 13. Изменен шаблонизатор, отныне практически все шаблоны поддерживают вставки PHP. 14. Добавлена возможность создания подфорумов.
Хочу отдельно отметить пункт 11. "Реализована система хуков" – это нововведение в системе и первый шаг в сторону создания плагинной структуры системы. Все мы знаем, как часто бывает необходимо что-то изменить в работе системы, потому что под наши нужды функционала или недостаточно или же функция должна работать по-другому, в результате мы получаем сайт который практически невозможно обновить после выхода новой версии системы. Приведу пример как можно решить данную проблему. Рассмотрим на примере модуля новостей.
Предположим Вас не устраивает вывод новостей который реализован в стандартном модуле новостей. Раньше: вам приходилось открывать модуль новостей, к примеру, функцию main_news, полностью ее переписав вы получите нужный результат, но после обновления все или перезапишется или же перестанет работать. Теперь: на не нужно править сам модуль или другую иную функцию мы можем написать hook для заранее известной функции. Для примера возьмем функцию main_news модуля новостей и напишем для нее hook.
function myhook(){ global $main; $result = $main->db->sql_query("SELECT * FROM ".NEWS." ORDER BY id"); if($main->db->sql_numrows($result)>0){ while(($row = $main->db->sql_fetchrow($result))){ open(); echo $row['title']; close(); } } else info($main->lang['noinfo']); }
Даная функция выведет все заголовки новостей обрамленных в шаблон open_table. Но для того чтобы наш хук заработал вместо стандартной функции main_news, нам необходимо зарегистрировать хук функцией
hook_register('функция которую хукаем', 'функция которой хукаем', [флаг вызова родительской функции]);
Для нашого примера это будет выглядеть так:
hook_register('main_news', 'myhook');
Внимание спойлеры! ;) Что нас ждет в новой версии системы которая уже не за горами. - Реализация полностью плагиной структуры. - Модуль управления плагинами. - Модуль управления органайзером. - Модуль оптимизации БД. - Хуки не только функций но и хуки подключаемых файлов.
Скачать:Внимание! У вас нет прав для просмотра скрытого текста.
Оффициальный сайт: Посетить сайт Форум поддержки: Посетить форум
|