Смотрите видео ниже, чтобы узнать, как установить наш сайт в качестве веб-приложения на домашнем экране.
Примечание: Эта возможность может быть недоступна в некоторых браузерах.
- Проверка ключа лицензии: админка умеет спросить сервер, настоящий ли ключ, и получить ответ для окна платного плагина.
Добавлено
- Встроенный SDK для ядра DLE переехал в Admin:
devcraft/src/sdk/dle/(DcApi,DevCraft\Dle\Schema\*,DevCraft\Dle\Fluent\*,DevCraft\Dle\Xfield\*). Сателлитам больше не нужен установленный пакет DLE API — фасады доступны сразу послеdevcraft/init.php.- Мост равенств между
TableQueryиQueryBuilder:toQueryBuilder()/fromQueryBuilder()переносят колонки, равенства, сортировку и limit/offset; LIKE, отрицание, RelationMap и доп. поля не переносятся.PluginPresenter::export(?path, bool $archivate = false): снимок install.xml изplugins/plugins_files; при$archivate— ZIP DLE-совместимый (XML +filelist). Каталог по умолчанию: настройка Adminplugin_exports_path/Paths::pluginExports()(devcraft/cache/plugin_exports).- SDK Schema:
MailCampaignsSchema/MailCampaignUsersSchemaпо DDL DLE 21 (mail_campaigns,mail_campaign_users); константыSchemaTableNames, связи вRelationMap, refs вTableRowUnion.- Канон сателлитов: публичный слой
Controller/; патчи DLE через систему плагинов — маркеры// DevCraft {Name}: start/end.- Публичный
dle_template: у[if]— опциональный[else]; новый блок[has value="…" condition="!=" comparison=""]с[else]— только приcompile(..., true), патчengine/classes/templates.class.php(маркеры// DevCraft Admin) черезinstall.xml.- Публичные ресурсы оболочки: зависимости между записями, список разделов показа и список исключений, отдельные страницы правки, справочник режимов страницы DLE (
$do). Зависимости подтягиваются в оболочку даже если раздел не совпал; при удалении — отвязать ссылки или удалить зависимые ручные записи; при перетаскивании с нарушением порядка — предупреждение и исправленный порядок. ВsiteAssetsте же поля задаются вjs()/css()(dependsOn,available,notAvailable,active) и пишутся только если записи ещё нет в БД.Изменено
- Namespace SDK переименован из
DleApi\{Schema,Fluent,Xfield,Sdk}вDevCraft\Dle\.... Глобальный фасадDcApiи сигнатуры методов не изменились.- Поставка расширений условий шаблонов — в
install.xmlAdmin (plugins_files), без отдельного DLE-плагина.- Собранные публичные CSS/JS хранятся отдельно для каждого раздела сайта; в оболочке зависимости идут раньше зависимых записей.
Устарело
- Старые имена
DleApi\{Schema,Fluent,Xfield,Sdk}\*работают через автоматические алиасы классов; алиасы будут удалены в следующем мажоре — переводите код наDevCraft\Dle\*.Исправлено
- Синхронизация таблиц Cycle: индекс
kind+local_pathуdc_public_assetsна utf8mb4 превышал лимит ключа MySQL (3072 байта). Индекс по длинному пути убран.- Cycle ORM: при пересборке схемы (нет или устарел
cycle_orm_schema.ser) всегда включается GenerateMigrations — таблицы сателлитов (в т.ч.api_*) создаются после установки ядра Admin, а не только при первом bootstrap.- SDK:
create()любой Schema падал с «TablePREFIX_PREFIX_*doesn't exist» — INSERT шёл через builder Cycle, у которого префикс уже настроен. Теперь префикс не удваивается.- SDK: пользовательские таблицы DLE (
admin_logs,banned,twofactor,conversations*,social_login,ignore_list,downloads_log,lostdb,mail_log) читались и писались с PREFIX вместо USERPREFIX. На сайтах с разными префиксами это указывало на несуществующие таблицы.- SDK Schema типы по install/dump DLE 21:
category.schema_orgиstorage.name/vote.date— string;rss.category— int.- Генератор модулей: latin/
toTranslitсохраняет_и-; IdentityMODULE=%dir%,CODE=%latin%; каталог модуля — PascalCase от имени;engine/inc— slug без префиксаdle_.- Собранные публичные CSS/JS: в
cache/public_assets/пишется.htaccessс доступом — иначе родительскийdevcraft/.htaccessотдаёт 403 наbundle.css/bundle.js.- Подстановка файлов из
siteAssetsописания модуля: если файлов в описании больше нет (или список пуст), старые автозаписи модуля выключаются — на сайт не попадает лишний админский JS.- Подстановка из
siteAssetsбольше не включает снова автозаписи, которые выключили вручную в админке.DevCraft.copyTextв ядре (devcraft.js): копирование в буфер на всех страницах админки, в т.ч. по HTTP (запаснойexecCommand).- Публичные стили/скрипты/заголовки: переключатель «Активен» брал id с обёртки Metro Switch (класс уехал с checkbox, data-id остался на input) — «Запись не найдена» и два запроса/уведомления. Id берётся из строки таблицы; повторный сигнал change сливается в один запрос.
- Публичные списки: таблица Metro пересобирала строки (терялся
data-id, ломалось перетаскивание) и искала колонки не по тем именам (поиск ничего не находил). Теперь штатная полоса фильтра и обычная таблица; перетаскивание по живым строкам, при фильтре порядок не пишется.- Режим отладки: замер времени AJAX (
pipeline_ms) больше не попадает в таблицу журнала отдельной строкой из одних чисел. Для ответа-таблицы (список строк) замер пишется рядом сdata, не внутрь списка.- Общая форма настроек: после сохранения поля соседнего модуля (
{code}__поле) снова читаются из его файла. Раньше запись шла вdevcraft/config/{code}.json, а экран брал только файл основного модуля — переключатель вроде «Включить доставку» выглядел несохранённым.- Страница соседнего модуля (
action=pushи подобные) больше не показывает всю форму основного модуля. На экране только поля этого модуля; общая форма по-прежнему наaction=settings.
Основные изменения
- Ребрендинг: MHAdmin → DevCraft с новым разделом админки (?mod=devcraft)
- Добавлена поддержка DataLife Engine 20.0
- Миграция UI-фреймворка: Semantic UI / Fomantic UI заменен на Metro UI для форм, тогглов, календарей и таблиц
- Очистка зависимостей: Выпилены тяжелые UI-зависимости (Fomantic, jquery-confirm, bootstrap-suggest) в пользу унифицированной библиотеки Metro UI
- Файловая структура: Файлы плагина перенесены из директории engine/inc/maharder/ в devcraft/
- Улучшения дашборда: Расширен функционал сервиса пакетов — добавлены отдельные методы для недостающих пакетов и фильтрации по коду приложения/плагина
- Экспорт БД: Добавлен AJAX-хендлер для экспорта выбранных таблиц базы данных в SQL
- Теги шаблона новостей: Новый модуль для процессинга тегов в шаблоне новостей с саппортом метаданных
- Очистка манифеста: Из конфига удалена информация об авторе и неиспользуемые линки на лицензии
- Минорные фиксы: Добавлена условная логика Metro UI для textarea, обновлены шаблоны issue на GitHub, пофикшены опечатки
- [NEW] Добавлен метод сохранения конфигурации плагина, saveConfig в классе DataManager
- [FIX] Исправлена функция joinPaths для корректной обработки путей, особенно в средах Windows
- [FIX] Исправлены проблемы с переменными при генерации новых модулей.
- Обновлен номер версии
Обновлена версия модуля в manifest.json и maharder.php.- Переназначение старых стилей и скриптов
В Admin.php заменены устаревшие ссылки на стили и скрипты на tinymce.min.js и typograf.min.js.- Новые методы в TwigFilter.php
Добавлены методы создания фильтров диапазона (createRangeFilter()) и диапазона даты (createDateRangeFilter()) в TwigFilter.php.- Дополнения в BasisModel.php
В BasisModel.php добавлены поля creator и lastEditor и связанные с ними методы.- Новый метод createOrUpdate()
Добавлен новый метод createOrUpdate() в MhDB.php для обработки создания или обновления сущностей.- Изменение в AjaxAbstractResponse.php
В AjaxAbstractResponse.php изменена обработка ответа, позволяя устанавливать данные и метаданные как массив или строку.- Фиксация успешного флага
Исправлен флаг успеха в ErrorResponseAjax.php на false для указания на неудачу.- Новая функция getFullUserGroups()
В DleData.php добавлен новый метод getFullUserGroups() для получения пользовательских групп, отсортированных по имени.- Очистка кода и комментариев
Проведена работа над форматом кода и комментариев для лучшей читаемости и последовательности.- Добавлены новые методы в AdminUrlExtension.php
Включают методы получения информации о пользователе (getUserInfo, getUserGroupInfo, и getCurrentUser).- Документация для методов
Обновление существующих методов для включения комментариев к документации с подробным описанием их функциональности.- Упрощение формирования URL
Упрощен методы getAssetsUrl и getModulesUrl для формирования URL.- Метод getSiteUrl
Добавлен метод getSiteUrl для генерации URL.- Логирование для версии 173.3.4
Добавлено логирование для версии 173.3.4 в changelog.php.- Изменение обработки хлебных крошек
В logs.php изменена работа с хлебными крошками для более кратких заголовков страниц.- Рефакторинг index.php
index.php переработана путем устранения устаревших проверок, связанных с Composer и изменением флага отладки на true.- Расширение функциональности фильтра
Расширена функциональность фильтра в filter.twig.- Новые макросы в input.twig
Добавлены новые макросы в input.twig для улучшения обработки шаблоны.- Добавление meta.twig
Реализовано отображение метаданных пользователя для сущностей с помощью нового файла meta.twig.- Улучшение форматирования base.html
Форматирование и отступы в base.html улучшены для легкости чтения.- Добавлены переменные в base.html
Добавлены переменные lang_iso и cache_id для идентификации языка и кэша.- Модификация addInput.html
В addInput.html добавлено двоеточие к placeholder для более ясного приглашения к вводу.- Рефакторинг addTextarea.html
В addTextarea.html упрощена установка текстового редактора путем замены инициализации на вызов initTinyMce.
- [FIX] Исправлена работа с composer
- [FIX] Исправлена проблема цикличности в классе переводов
Обновление!ДАННАЯ ВЕРСИЯ НЕ СОВМЕСТИМА С ПРЕДЫДУЩИМИ! УДАЛИТЕ ПРЕДЫДУЩУЮ ВЕРСИЮ! (за исключением конфигураций)
- [NEW] Добавлена мультиязычная поддержка, перевод можно осуществить при помощи сервиса Crowdin. Ссылка в подвале каждого модуля.
- [NEW] Добавлена возможность выводов логов на отдельной странице.
- [NEW] Добавлено моделирование таблиц в базе данных при помощи Cycle ORM. Это поможет в дальнейшем создавать модули с более сложной структурой и работу с данными.
- [NEW] Все изменения в таблицах будут храниться в отдельной таблице "migrations" и в папке "_migrations". Это позволит легко сделать откат изменений.
- [NEW] Добавлена возможность сортировать и фильтровать данные таблиц на страницах административной панели (где такие есть, пример: Логи).
- [NEW] Добавлена возможность проверять на обновление плагина на сайте devcraft.club. Используется гостевой ключ.
- [UPDATE] Минимальная версия PHP 8.3
- [UPDATE] Функционал обновлён до версий DLE 17.3
- [UPDATE][BETA] Установщик упрощён. Теперь зависимости загружаются и устанавливаются при первом открытии [любого] модуля. Может занять несколько минут. Теперь установщик весит мало.
- [UPDATE] Откат функций, которые использовали класс DLEFiles. Он не работает со сторонними разработками как надо. Либо работает, но документации к нему то нет.
- [UPDATE] Изменена структура файлов админпанели. Теперь все файлы модуля находятся в папке "_modules", a шаблоны в папке "_templates".
- [DELETE] Удалены устаревшие и ненужные методы логирования.
- [DELETE] Удалена замена иконок в админпанели DLE.