Ура, первая новость спустя долгий промежуток времени! Разработка ведётся, движок потихоньку развивается. Если новостей нет, то это вовсе не значит, что все причастные к разработке движка уже давно умерли :)
Что сделано:
[движок]: привёл в порядок core.php: выкинул всё лишнее, раскидал функции по отдельным файлам, добавил кучу нового. Из важного:
- внедрены опционально включаемые подготавливаемые запросы к БД во всех модулях;
- добавлены мультиязычные формы для названия сайта, описания внизу страницы, режима обслуживания и т.д.;
- главная страница теперь умеет отображать не только новости, но и любую другую выбранную в настройках страницу;
- обработчик изображений выведен в отдельную универсальную функцию;
- оптимизированы все файлы движка;
+ многое другое, о чём я сейчас просто не в состоянии вспомнить :)
[модуль новостей]: добавлено поле описания новости. Гугл (да и вообще все) требует, чтобы у каждой страницы было своё описание - сделано!
[модуль страниц]: добавлено поле описания страницы (всё по той же причине) + теперь можно стыковать страницы друг к другу, образовывая дерево страниц. Для пояснения, раньше было так:
Страница 1
Страница 2
Страница 3
Страница 4
Страница 5
Страница 6
А теперь можно делать вот так:
Страница 4
└ Страница 1
└ Страница 3
└ Страница 2
└ Страница 5
Страница 6
[модуль ссылок]: начато внедрение дерева ссылок (стыковка ссылок друг к другу). Раз страницы умеют друг к другу стыковаться, то и ссылки должны уметь тоже!
[модуль пользователей]: внедрены карточки пользователей с выводом информации.
В планах много всего, но т.к. разработку веду я один - новости будут выходить не часто :)
Модуль журналирования: теперь записывает события бэкапера БД.
Модуль бэкапа БД: начал работу над модулем бэкапа БД. На данный момент, модуль умеет создавать бэкапы таблиц (всех или только тех, что были выбраны) и умеет сжимать бэкапы в gzip. Модуль предлагает сохранить файл бэкапа на ПК пользователя, а так же делает скрытую копию файла в специальной директории на сервере. В процессе разработке - функция восстановления таблиц из файла бэкапа.
Движок: переработана функция "правильного склонения существительных с числительными" (пример её работы: 0 лет, 1 год, 2 года, 3 года, 4 года, 5 лет, ..., 11 лет, 12 лет, ..., 21 год.) - теперь она поддерживает не только русский язык, а 114 (!) языков.
+ исправлены мелкие косяки в работе движка ("умная" функция даты оказалась не слишком умной :) ).
Движок: добавил "умную" функцию даты, которая показывает - сколько секунд/минут/часов назад было совершено то или иное действие :)
Обновлены все модули для поддержки записи ошибок в модуль журналирования.
Модуль журналирования: теперь фиксирует и ошибки. Добавлен фильтр сообщений, который отображает выбранный тип сообщений: ошибки, информационные сообщения, системные события.
Добавлен модуль редактирования файла robots.txt. Этот файл нужен для поисковых движков. Чтобы увидеть этот модуль, супер админам нужно обновить свои права в модуле администраторов :)
Движок: добавлена опция чередования цветов в таблице - ее в любой момент можно отключить в "основных установках" сайта.
Дизайн: слегка поменял базовую тему сайта :)
Движок: добавлена функция обрезки длинных текстов/названий/заголовков. Работу этой функции можно наблюдать практически во всех модулях в панели управления. Если создать, к примеру, новость с длинным заголовком - в модуле новостей, в таблице, этот заголовок будет обрезан.
Модуль пользователей: завершил работу над редактором пользовательских групп :)
Модуль администраторов: полностью переписан код. Теперь добавлять админов, на мой взгляд, стало намного удобнее :) появилась функция обновления прав для супер-админов - на тот случай, если в систему добавился новый модуль или в БД поменялись права. Раньше права обновлялись вручную - путем внесения изменений в БД каждому пользователю.
Панель администратора: модуль журнала перенещен в раздел пользователей.
Панель администратора: модуль панелей перенещен в раздел контента.
Модуль пользователей: теперь, при добавлении/редактировании пользователей, в случае возникновения ошибки (например - пустой пароль или неправильный e-mail адрес), модуль показывает все ошибки и подсвечивает поля, в которых они возникли. Добавлен редактор пользовательских групп, но, пока что - без возможности добавления пользователей в группы (в процессе разработки). Причину бана теперь можно указывать на нескольких языках - это чтобы забаненный пользователь знал - куда и за что его послали, на всех языках :) сам редактор банов пока-что тоже в процессе доработки.
Панель администратора: в некоторые модули (новости, страницы, администраторы, пользователи, журнал) добавлена функция, позволяющая разбивать большое количество записей на страницы. Т.е. теперь, если количество записей (например - новостей) превысит заданное число (по умолчанию - 10, выставляется в "основных установках" сайта), движок будет выводить только заданное число записей, остальные записи можно просматривать, щелкая на номера страниц.
Местами проведена оптимизация кода некоторых модулей + исправление мелких ошибок в работе движка.
Вот такое вот обновление :)
Дизайн: сменил дизайн кнопки "наверх" - теперь она не мешает просмотру сайта, особенно на смартфоне :)
Модуль панелей: раньше, при добавлении новых панелей, отображался список всех панелей - которые были подключены к движку и которые не были. Теперь модуль проверяет - все ли панели подключены к движку, если нет - выводит список тех панелей, что не подключены к движку, а если таких панелей нет - пишет, что новых панелей нет.
Модуль страниц: теперь, при создании страниц, в модуле ссылок автоматически создаются ссылки на новые страницы; при редактировании страницы - редактируется ссылка на эту страницу; при удалении страницы - удаляется ссылка на эту страницу; при включении/выключении страницы - включается/выключается ссылка на эту страницу.
Движок: добавлены кнопки "редактировать" к каждой новости и к каждой странице на сайте (при условии, что пользователь - админ, и у него есть права на редактирование новостей или страниц; если пользователь не админ, либо у него нет прав - кнопка не показывается).
Движок: текущие страницы теперь подсвечиваются в подзаголовке и в навигационной панели (меню сайта).
Движок: время генерации страницы и время обработки данных теперь рассчитываются по-новому (современными функциями).
Движок: теперь в БД посылается один запрос вместо двух для вывода левых и правых панелей сайта. Чем меньше запросов - тем меньше нагрузка на сервер и выше производительность :)
Панель администратора: модуль ссылок перемещен в раздел контента.
Панель администратора: ссылки боковой панели (меню администрирования) теперь имеют свой собственный стиль в admin.css - раньше их стиль был таким же, как у боковых панелей на сайте. Т.е. теперь можно менять внешний вид ссылок боковой панели администратора, не затрагивая внешний вид ссылок в боковых панелях на сайте.
Модуль пользователей: полностью переписан код, но внешне практически ничего не изменилось :) исправлены многочисленные ошибки (в т.ч. "самобан", бан главного супер-админа(!) и т.д.), оптимизированы запросы в БД, добавлена функция журналирования. В планах - переработать внешний вид модуля.
+ исправлены мелкие ошибки в работе движка и в некоторых модулях.