Журнал изменений

Журнал изменений

Фильтр и поиск

Всего: 1045 Доступных коммитов | Отфильтровано: 1045 Коммиты | Страница: 45 / 105
16.04.2026
Refactor: modules — мигрировать все frontend-модули на Etalon-стандарт
Автор: Eduard Laas | Дата: 18:24 16.04.2026

Все 24 frontend-модуля переведены на единый Etalon-стандарт рендеринга: замена HTML-строк в PHP на getHtmlFrag-вызовы с корневыми фрагментами, удаление inline-HTML из PHP, использование общих контрактов (view, table, card, form-add, grid, alert, pager).

Core changes:

  1. Content modules (auto_links, changelog, contact, content, faq, files, help, jokes, links, main, media, money, recommend, rss, search, sitemap):
  2. Replace inline HTML with getHtmlFrag calls (view, table, card, alert, pager)
  3. Remove raw string concatenation for list rows
  4. Use table-row-liste, table-row-content contracts
  5. Complex modules (account, forum, shop):
  6. account: migrate to account-* fragment contracts; remove inline tab HTML
  7. forum: replace open form/table HTML with fragment contracts
  8. shop: migrate cart, product, order views to shop-basic, shop-cart-* fragments
  9. Utility modules (clients, news, order, pages, users, voting, whois):
  10. news: align with table/pager/view contract
  11. voting: migrate vote form to fragment-based render
  12. whois: replace inline HTML output with view/card fragments

Benefits:

  • Zero inline HTML remaining in frontend module render paths
  • All modules share the same fragment contract surface (view, table, card, alert)
  • Simplified future migration: contract changes propagate to all modules at once

Technical notes:

  • modules/news/index.php and modules/pages/index.php share identical Etalon pattern
  • shop cart/order fragments (shop-basic, shop-cart-*) are theme-independent
  • No DB schema or URL changes
Refactor: plugins — убрать new/ префикс в фрагментах; переименовать toggle-функцию
Автор: Eduard Laas | Дата: 18:23 16.04.2026

Все плагины редакторов обновлены: getHtmlFrag('new/hidden', ...), getHtmlFrag('new/textarea', ...) заменены на корневые имена без префикса. В slaed.js функция initCloseOpenBlocks переименована в initToggleBlocks для ясности назначения.

Core changes:

  1. Editor plugins (plugins/editors/*/driver.php):
  2. ckeditor: new/hidden → hidden
  3. codemirror: new/textarea → textarea
  4. plain: new/textarea → textarea
  5. tinymce: new/textarea → textarea
  6. toastui: new/textarea → textarea (see driver.php)
  7. System JS (plugins/system/slaed.js):
  8. Rename initCloseOpenBlocks() to initToggleBlocks() for clarity

Benefits:

  • Fragment calls consistent with root-level architecture across all plugin drivers
  • Function name reflects actual toggle behaviour, not directional close/open

Technical notes:

  • No functional change to JS toggle logic; rename only
Refactor: admin — перенести фрагменты с new/ в корень; метка sl-action-label
Автор: Eduard Laas | Дата: 18:23 16.04.2026

Все admin-фрагменты, ранее лежавшие в templates/admin/fragments/new/, перенесены в корень templates/admin/fragments/. PHP-вызовы в admin-модулях обновлены: new/hidden → hidden, new/textarea → textarea и т.д. Метка _CHECKOP в bulk-action формах оформлена через span.sl-action-label.

Core changes:

  1. Admin templates (templates/admin/fragments/):
  2. Move new/{hidden,input,textarea,select,select-option,file-input} to root
  3. Move new/{code-block,code-hljs,code-row,code-table,graphic,msg-center} to root
  4. Move new/{ajax-textarea-form,view-field} to root
  5. Add link.html and list-bottom.html fragments
  6. Delete link-btn.html and link-btn-blank.html (replaced by link.html)
  7. Delete residual new/button.html (already exists at root)
  8. Admin CSS (templates/admin/assets/css/new.css, system.css):
  9. Add .sl-action-label styles for bulk-action form labels
  10. Admin modules (admin/modules/comments.php, modules/news/admin/index.php, modules/shop/admin/index.php):
  11. Wrap _CHECKOP with span.sl-action-label instead of bare string + colon
  12. news/admin: extract pager into variable; use list-bottom fragment for footer
  13. news/admin: add sl-th-center class to checkbox column header

Benefits:

  • Admin fragment namespace consistent with frontend (no new/ prefix)
  • Bulk-action label has semantic markup for CSS styling

Technical notes:

  • templates/admin/fragments/new/ directory fully removed
  • link-btn/link-btn-blank replaced by generic link.html fragment
Fix: core/classes — точный тип/имя в ошибках фрагментов; убрать new/ префикс
Автор: Eduard Laas | Дата: 18:23 16.04.2026

template.php передаёт sourceType/sourceName в getView, чтобы сообщения об ошибке показывали реальный тип («fragment») и имя файла, а не «view». editor.php переключён с new/select, new/select-option на корневые фрагменты.

Core changes:

  1. Template engine (core/classes/template.php):
  2. Pass sourceType and sourceName through getView for accurate error context

    • reportTemplateError and getTemplateDebugComment now receive fragment type/name
    • sanitizeData unsets the two new local vars to prevent template leakage
  3. Improve getTemplateErrorMessage for render-failed vs not-found distinction
  4. Editor class (core/classes/editor.php):
  5. Replace getHtmlFrag('new/select-option', ...) with getHtmlFrag('select-option', ...)
  6. Replace getHtmlFrag('new/select', ...) with getHtmlFrag('select', ...)

Benefits:

  • Clearer error diagnostics when a fragment render fails
  • Editor fragment calls aligned with root-level fragment architecture

Technical notes:

  • No interface changes; getView signature extended with optional params (default '')
  • editor.php: fragments select and select-option exist at root level in all themes
Chore: lang — сократить текст константы _CHECKOP
Автор: Eduard Laas | Дата: 18:22 16.04.2026

Константа _CHECKOP использовалась как метка перед select-элементом в bulk-action формах. Длинная формулировка «The action marked with» заменена на «Action» во всех 6 языковых файлах. Теперь метка выводится через span.sl-action-label и не нуждается в хвостовом двоеточии.

Core changes:

  1. Language constants (lang/{de,en,fr,pl,ru,uk}.php):
  2. Replace verbose _CHECKOP definition with short «Action» equivalent

Benefits:

  • Removes redundant colon-suffix logic from PHP callers
  • Consistent short label across all locales

Technical notes:

  • Change is backward-compatible: same constant key _CHECKOP, new value
Feature: admin — добавить link-btn и basic-monitor фрагменты
Автор: Eduard Laas | Дата: 13:01 16.04.2026

Два новых фрагмента для admin-шаблонов: универсальная кнопка-ссылка и полноценный шаблон монитора системы.

Core changes:

  1. link-btn.html:
  2. Ссылка с href, title, class и label — без target="_blank" (в отличие от link-btn-blank.html)

  3. basic-monitor.html:
  4. Полный HTML/CSS/JS шаблон для страницы системного монитора
  5. Карточки: CPU, память, диск, uptime, сервер, PHP, MySQL
  6. CSS-переменные (--bg-card, --primary, --accent и др.)
  7. SVG-knobs для метрик нагрузки; таблицы процессов и расширений

Benefits:

  • link-btn покрывает внутренние ссылки (дополняет link-btn-blank)
  • basic-monitor централизует разметку монитора в шаблоне

Technical notes:

  • basic-monitor содержит встроенные <style> и <script>
  • Рендерится через {% if show_layout %} условный блок
Feature: admin — добавить foot-controls/link-btn-blank фрагменты; monitor $tpl
Автор: Eduard Laas | Дата: 12:54 16.04.2026

Добавить два новых фрагмента для admin-шаблонов и объявить global $tpl в двух функциях monitor.php.

Core changes:

  1. foot-controls.html:
  2. Условный рендер: top_label (ссылка-якорь наверх), time_html, license_html, debug_html в футере admin-страницы

  3. link-btn-blank.html:
  4. Ссылка с target="_blank", классом и title-атрибутом
  5. admin/modules/monitor.php:
  6. global $tpl добавлен в getMonitorServerStats() и getMonitorRuntimeStats()

Benefits:

  • Фрагменты foot-controls и link-btn-blank повторно используемы
  • monitor-функции получают доступ к $tpl для рендера

Technical notes:

  • foot-controls использует OnClick="Upper(...)" (legacy scroll-хелпер)
Refactor: modules/pages — мигрировать на Etalon-стандарт (news)
Автор: Eduard Laas | Дата: 12:54 16.04.2026

Переписать modules/pages/index.php по образцу modules/news/index.php: new/ фрагменты, getTplPager с url_extra, устранить SQL-инъекции, привести код к конвенциям SLAED.

Core changes:

  1. pages() — список страниц:
  2. getTplContentCard → new/card (width: 100) + new/grid
  3. setArticleNumbers → getTplPager с url_extra
  4. $cat/$ncat → прямой $ncat; $field/$orderby inline → if/elseif/else
  5. SQL: "cid = '".$ncat."'" → 'cid = '.(int)$ncat; array_map('intval')
  6. $ismoder/$token перед loop; edit_href/delete_href с name=pages + token
  7. $offset = (int)(($num - 1) * $unum) — убрано двойное присваивание
  8. view() — просмотр страницы:
  9. getTplContentView → new/view (единый шаблон)
  10. fields через getTplFieldsOut; pagebreak-поддержка сохранена
  11. Связанные записи: assoc-логика → new/related + new/related-item
  12. liste() — табличный список:
  13. liste-wrap/liste-basic → new/table + new/table-row-liste
  14. add() / send():
  15. hometext/bodytext/field type 'raw'; getTplPreviewContent
  16. INSERT многострочный; (int)$user[0]; $db убран из add()
  17. new/alert + getStopText

Benefits:

  • Устранены SQL-инъекции; единообразие с Etalon
  • Консистентные edit_href/delete_href (name=pages)

Technical notes:

  • 4-space indentation; switch ($op) с пробелом
  • $user убран из globals pages()
Refactor: modules/faq — мигрировать на Etalon-стандарт (news)
Автор: Eduard Laas | Дата: 12:54 16.04.2026

Переписать modules/faq/index.php по образцу modules/news/index.php: new/ фрагменты, getTplPager с url_extra, устранить SQL-инъекции, сохранить уникальную quicklinks-логику FAQ.

Core changes:

  1. faq() — список FAQ:
  2. getTplContentCard → new/card (width: 100) + new/grid
  3. setArticleNumbers → getTplPager с url_extra
  4. $field/$arrayelement убраны; $pagei = (int)$pag - 1
  5. SQL-инъекции устранены; $ismoder/$token перед loop
  6. edit_href/delete_href с name=faq + token
  7. $limit = (!$ncat) ? 'LIMIT ...' : '' — без LIMIT при $ncat
  8. Pager рендерится только при !$ncat (show-all режим при категории)
  9. Quicklinks (сохранены):
  10. faq-quicklinks-open/row/close фрагменты
  11. $orderbyf вычисляется только в elseif ($ncat)
  12. filterTextHighlight($ftitle, $word) в quicklinks-row
  13. view() — просмотр FAQ:
  14. getTplContentView → new/view; поля без extra-блоков (FAQ прост)
  15. $pagei = (int)$pag - 1; $iso для date('c', ...)
  16. liste() / add() / send():
  17. new/table + new/table-row-liste; getTplPreviewContent
  18. $db убран из add(); INSERT многострочный; (int)$user[0]

Benefits:

  • Устранены SQL-инъекции; единообразие с Etalon
  • Quicklinks-паттерн FAQ сохранён полностью

Technical notes:

  • 4-space indentation; switch ($op) с пробелом
  • $user убран из globals faq()
Refactor: modules/media — мигрировать на Etalon-стандарт (news)
Автор: Eduard Laas | Дата: 12:54 16.04.2026

Переписать modules/media/index.php по образцу modules/news/index.php: new/ фрагменты, getTplPager с url_extra, устранить SQL-инъекции, исправить баг с $size, привести код к конвенциям SLAED.

Core changes:

  1. media() — список медиа:
  2. getTplContentCard → new/card (width: 100) + new/grid
  3. setArticleNumbers → getTplPager с url_extra
  4. $cat/$ncat → прямой $ncat; $field убран
  5. SQL: инъекции устранены; array_map('intval', $cids)
  6. $ismoder/$token перед loop; edit_href/delete_href с name=media + token
  7. $ptitle = title + subtitle для SEO/заголовка
  8. view() — просмотр медиа:
  9. getTplContentView → new/view
  10. extra-поля: year, director, roles, createdby, duration, lang, format, quality, size, released, note, mlinks, links_label

  11. mlinks построен из поля links (ed2k/magnet/http ссылки)
  12. Исправлен баг: $einfo вместо $size в ed2k-loop (outer $size больше не затирается в цикле ссылок)

  13. $broc → 'broken'; 'download' не передаётся (нет стрима)
  14. liste() / assoc / add() / send():
  15. Те же паттерны что в files/links

Benefits:

  • Устранены SQL-инъекции; единообразие с Etalon
  • Исправлен баг переменной $size в ed2k-loop

Technical notes:

  • new/view покрывает все media-поля через условные блоки
  • 4-space indentation; switch ($op) с пробелом

Всего: 1045 на 105 страницах по 10 на каждой странице

1 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 105
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

Поделиться
QR-код