Заголовки
Новости еще не были созданы.
DevCraft Admin Panel

Модуль DevCraft Admin Panel 200.4.1

Добавлено

  • Публичные теги оболочки {devcraft} / {devcraft-header} / {devcraft-scripts}: подстановка после load_template('main.tpl') (патч engine/modules/main.php). Состав — три страницы Admin (стили / скрипты / заголовки) + автосинк siteAssets из манифестов; компрессия — настройка «Публичные ресурсы». Манифест: ModuleManifestBuilder::siteAssets() / ModuleSiteAssets. Гайд: Публичные ресурсы оболочки. Справочник: PublicAssetTagService, ModuleSiteAssets и связанные классы Admin.
  • Публичный шаблонизатор DLE (dle_template): у [if] — опциональный [else]; новый блок [has value="…" condition="!=" comparison=""] с [else]. Включается только при compile(..., true). Поставка — патч engine/classes/templates.class.php в install.xml Admin (маркеры // DevCraft Admin). Гайд: Условия в шаблонах DLE.
  • Опциональный блок статистики на pages/dashboard.twig: передайте dashboard.stats (список {key,label,value,icon,url}) и опционально stats_title — карточки рендерятся сразу под hero. Пример: Connections DashboardStatsService.
  • DLE SDK в ядре Admin — devcraft/src/sdk/dle/ (DcApi, DevCraft\Dle\Schema\, DevCraft\Dle\Fluent\, DevCraft\Dle\Xfield\*). Переехал из пакета DLE API: сателлитам больше не нужен установленный HTTP API, DcApi доступен сразу после devcraft/init.php. Выбор слоя — Слои данных.
  • Мост equality TableQuery ↔ QueryBuilder — TableQuery::toQueryBuilder() / TableQuery::fromQueryBuilder(): columns / равенства / order / limit / offset. LIKE, отрицание, RelationMap и whereXfield() не переносятся (SdkException с кодом query_bridge_unsupported).
  • Экспорт плагина из БД — PluginPresenter()->withName(...)->export(?$path, bool $archivate = false): install.xml как download в админке DLE; при $archivate — ZIP с XML в корне и файлами из plugins.filelist. Путь по умолчанию: настройка Admin Пути → plugin_exports_path / Paths::pluginExports().
  • SDK Schema mail-кампаний — MailCampaignsSchema / MailCampaignUsersSchema по DDL DLE 21 (mail_campaigns, mail_campaign_users); SchemaTableNames, RelationMap, TableRowUnion.

Изменено​

  • Namespace SDK — DleApi\{Schema,Fluent,Xfield,Sdk} → DevCraft\Dle\.... Фасад DcApi и сигнатуры методов не изменились.
  • Публичный include сателлитов: канон — devcraft/src/modules/{Name}/Controller/show_*.php (путь от корня сайта). Не engine/modules/devcraft/ для новых модулей; в engine/ только admin glue и патчи по необходимости. См. PHP DevCraft Standards.
  • Шлюз БД / схема: логика вынесена в SchemaSyncService. Debug Admin → SyncTables после наката ожидающих; без debug — файл только при реальном diff и сразу накат. Кэш схемы без лишней пересборки. Гайд: Схема шлюза БД и автор записи.
  • Автор записи (creator / lastEditor на AbstractEntity): только поведения Cycle; beforeSave больше не пишет автора. ID из $member_id['user_id'] или 0.

Устарело​

  • Имена классов DleApi\{Schema,Fluent,Xfield,Sdk}\* — работают через автоматические алиасы, будут удалены в следующем мажоре.

Исправлено​

  • Cycle ORM / DatabaseGateway: синхронизация схемы — SchemaSyncService, без безусловного GenerateMigrations на каждый промах кэша. Recovery: удалить devcraft/cache/cycle_orm_schema.ser и снова открыть админку / модуль.
  • SDK create() — INSERT шёл через builder Cycle, у которого префикс уже настроен, из-за чего таблица искалась как PREFIX_PREFIX_post. Префикс больше не удваивается.
  • SDK и USERPREFIX — admin_logs, banned, twofactor, conversations*, social_login, ignore_list, downloads_log, lostdb, mail_log использовали PREFIX. На установках с разными PREFIX / USERPREFIX запросы шли не в ту таблицу.
  • SDK Schema типы (install + dump DLE 21): category.schema_org, storage.name, vote.date — string; rss.category — int.
  • Канон сателлитов: публичный слой Controller/; патчи DLE — маркеры // DevCraft {Name}: start / end.
  • Генератор модулей: latin/toTranslit сохраняет _ и -; Identity MODULE=%dir%, CODE=%latin%; каталог — PascalCase от имени; engine/inc без префикса dle_.
  • Ассеты модуля: layout.twig подключает не только assets.js, но и assets.css из манифеста (module_css_urls / PluginContext::cssAssetFiles). Без этого CSS из Public/ сателлита не загружался.
  • Окна Metro (DevCraft.Metro.dialogCreate): кнопки из actions / caption (старый вызов) приводятся к Metro 5 customButtons / text. Иначе окно открывалось без кнопок (только крестик).

Основные изменения​

  • Ребрендинг: 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, пофикшены опечатки

Вложения

  • 2026-07-19 19.44.17 dle200.test e07d01abde65.webp
    2026-07-19 19.44.17 dle200.test e07d01abde65.webp
    50.8 KB · Просмотры: 0
  • 2026-07-19 19.44.10 dle200.test 70a94ba951c0.webp
    2026-07-19 19.44.10 dle200.test 70a94ba951c0.webp
    103.7 KB · Просмотры: 0
  • 2026-07-19 19.44.04 dle200.test 6e7e17531ecd.webp
    2026-07-19 19.44.04 dle200.test 6e7e17531ecd.webp
    73.9 KB · Просмотры: 0
  • 2026-07-19 19.43.44 dle200.test 162ca9c6007a.webp
    2026-07-19 19.43.44 dle200.test 162ca9c6007a.webp
    73.5 KB · Просмотры: 0
  • 2026-07-19 19.43.34 dle200.test 8b7890dad75f.webp
    2026-07-19 19.43.34 dle200.test 8b7890dad75f.webp
    85.6 KB · Просмотры: 0
  • 2026-07-19 19.43.27 dle200.test be6f4ea93e19.webp
    2026-07-19 19.43.27 dle200.test be6f4ea93e19.webp
    53.6 KB · Просмотры: 0
  • 2026-07-19 19.43.19 dle200.test e854644bdfc5.webp
    2026-07-19 19.43.19 dle200.test e854644bdfc5.webp
    52.2 KB · Просмотры: 0
Исправлена обработка композера на виндовс
  • [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] Исправлена проблема цикличности в классе переводов
[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.
Исправление совместимости со сторонними разработками
Назад
Сверху