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

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

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

Всего: 1347 Доступных коммитов | Отфильтровано: 1347 Коммиты | Страница: 74 из 135
20.04.2026
Refactor: templates/fragments — extend atomic contracts with new flags
Автор: Eduard Laas | Дата: 01:01 20.04.2026

Generalize reusable atomic fragments so callers can cover more form and rendering scenarios through parameters rather than per-module copies. This is a backward-compatible extension that prepares the ground for consolidating account, forum and comment view paths.

Core changes:

  1. Input and textarea (input.html, textarea.html):
  • Add is_checked, is_readonly, is_disabled booleans
  • Support autocomplete_attr passthrough
  • Default itype to text; make name_attr optional for textarea
  • Switch textarea value to triple-brace for embedded HTML
  1. Anchor link (link.html):
  • Add rel_attr passthrough, mutually exclusive with is_blank
  1. Table primitives (table.html, table-row.html):
  • Expand header class/is_num handling and cell class overrides
  • Support link_class and colspan on cells
  1. Ajax action link (comment-action-ajax.html):
  • Minor refinements aligned with caller needs
  1. Post content wrapper (post-div.html):
  • Normalize id/class/content contract

Benefits:

  • Fewer per-module variants needed for forms and tables
  • Consistent attribute surface across themes (default/simple/lite)
  • Backward-compatible: existing callers work unchanged

Technical notes:

  • No PHP changes in this commit
  • All three theme copies (default, simple, lite) kept in sync
17.04.2026
Style: templates/css — extend sl-* rules for consolidated fragments
Автор: Eduard Laas | Дата: 11:52 17.04.2026

Add CSS rules for all new sl-* class names introduced by the fragment consolidation. All new rules follow the sl-* (dash) naming convention. Applied identically to all three themes (default, lite, simple).

Core changes:

  1. Navigation (new.css):
  • sl-navi-lower, sl-navi-lower-action: bottom-of-page action bar
  1. Utility classes (new.css):
  • sl-highlight: search term highlight (red text, yellow bg)
  • sl-geo-flag: geo-IP flag image alignment
  • sl-calculator-field: narrow number input for calculator form
  1. Table enhancements (new.css):
  • sl-table-num-link: pill-style anchor for numeric ID cells
  • sl-table-date: inherit color for date cells
  1. Related items (new.css):
  • sl-related-img-inner: object-fit cover for related item thumbnail
  • sl-related-date: inherit color for related item date
  1. Card grid (new.css):
  • sl-card-col-1 through sl-card-col-6: responsive column widths
  • sl-grid: flex layout baseline corrections
  • sl-card-aside: floating sidebar list within card
  • sl-card-comment/reads/post/date/category/id/image/read/admin/menu: named element selectors
  • Sprite-based icon rules for card meta elements
  1. Shop cart (new.css):
  • sl-cart-table, sl-cart-head, sl-cart-row, sl-cart-foot
  • sl-cart-col-num, sl-cart-col-content, sl-cart-col-stat
  • sl-cart-id, sl-cart-plus, sl-cart-minus, sl-cart-checkout, sl-cart-total

Benefits:

  • All sl-* class names now have corresponding CSS rules
  • Zero unnamed or orphaned classes remaining in consolidated fragments

Technical notes:

  • Legacy sl_* classes in new.css are intentionally preserved for existing HTML
  • Sprite coordinates for card meta icons match existing sprite.png layout
Refactor: templates/partials — add navi-lower and calculator-form partials
Автор: Eduard Laas | Дата: 11:51 17.04.2026

Add two new page-section partials used via getHtmlPart() across all three themes (default, lite, simple). Partials differ from fragments in that they represent larger self-contained UI sections, not inline elements.

Core changes:

  1. navi-lower.html (templates/*/partials/):
  • Navigation bar with back/home/top actions
  • Replaces the former navi-lower fragment (getHtmlFrag → getHtmlPart)
  • Uses sl-navi-lower / sl-navi-lower-action CSS classes
  1. calculator-form.html (templates/*/partials/):
  • Currency calculator form with from/to fields and convert button
  • Uses sl-calculator-form / sl-calculator-field CSS classes
  • Callback function name passed via fn_name variable

Benefits:

  • Partials directory clearly separates section-level HTML from inline fragments
  • Self-contained layout sections no longer pollute the fragments namespace

Technical notes:

  • getHtmlPart() loads from templates/*/partials/ directory
  • Both partials are theme-duplicated (default/lite/simple share identical content)
Refactor: templates/fragments — remove obsolete; enhance consolidated; add new
Автор: Eduard Laas | Дата: 11:51 17.04.2026

Remove ~50 per-purpose fragment files replaced by consolidated generic fragments. Update remaining fragments with boolean-flag variant support. Add two new fragments (break, meta-value). Apply changes consistently across all three themes (default, lite, simple) and admin template.

Core changes:

  1. Removed fragments (per-purpose → consolidated):
  • account-favorites-row/table, account-pm-list-row/table (→ table-row/table)
  • account-mail-link, account-user-button, action-link, comment-num-link (→ link)
  • comment-meta-color, comment-text, navi-tab-content, forum-post-div (→ post-div/meta-value)
  • hit-badge, reads-badge (→ inline-badge), back-button, category-image (→ span/link)
  • form-option, form-select, radio-option (→ select-option/select)
  • grid-table/row/cell, clients-list-, users-top/stats/rules- (→ table/table-row)
  • shop-order/partner/client rows/tables, shop-basic (→ table/table-row/card)
  • assoc-item/wrap, auto-links-code-table, media-link-item (→ table/link)
  • forum-delete-link, forum-group-span, forum-post-anchor, forum-rank-img (→ link/span)
  • forum-sig, forum-status-icon (→ comment-signature/inline-badge)
  • files-external-link, table-row-content (→ link/table-row)
  1. Updated consolidated fragments (card, inline-badge, input, link, related-item, select, span, table-row, table, shop-cart-*):
  • Boolean flags replace hardcoded CSS class names (sl_* → sl-* naming)
  • card.html: columns grid support, aside_items, footer_items, title_html override
  • inline-badge.html: is_hits, is_download, is_forum_closed, is_forum_last, is_topic_admin flags
  • input.html: is_user_search, input_id, list_id, tip_html support
  • link.html: is_shop_checkout, is_comment, is_read, is_card_image, is_media_*, is_account_button, is_num_anchor, is_button_blue flags
  • select.html: is_multiple, is_name_array flags
  • span.html: is_shop_price, is_card_reads, is_back, is_highlight, is_geo_flag flags; img_src support
  • table-row.html: cells array iteration replaces per-column flat keys
  • table.html: headers array replaces col_* flat keys (backward-compatible)
  1. New fragments:
  • break.html: standalone <br> separator
  • meta-value.html: label/value span pair (replaces comment-meta-color)
  1. Admin template:
  • input.html: aligned with frontend (tip_html, input_id, is_user_search, list_id)

Benefits:

  • Fragment count reduced from ~80 to ~30 per theme
  • All CSS class variants controlled by flags, no per-purpose HTML files
  • Consistent naming: sl-* (dash) for new rules, sl_* preserved for legacy

Technical notes:

  • Backward-compatible: old flat keys (col_id etc.) still work in table.html
  • sl_* legacy class references preserved in fragment HTML where used by existing CSS
Refactor: modules — migrate fragment API calls to consolidated fragments
Автор: Eduard Laas | Дата: 11:50 17.04.2026

Replace per-purpose fragment names with generic consolidated fragments across all 21 modules, consistent with the new flat fragment API introduced in the core layer.

Core changes:

  1. hit-badge → inline-badge (modules/auto_links, files, links, media, news, recommend, rss, search, shop, users, whois):
  • Added is_hits, is_download flags for CSS class variants
  • Renamed title → title_text, text → label
  1. form-option → select-option (modules/account, contact, faq, files, help, jokes, links, money, news, pages, rss, search, shop, users):
  • Renamed value → value_attr, label → label_text, selected → is_selected (bool)
  1. action-link → link (modules/clients, content, files, forum, links, media, money, pages, search, shop, users):
  • Added is_button_blue, is_comment, is_read flags for CSS class variants
  1. Misc fragment renames per module:
  • clients-list-basic/open → table open/close with cells array
  • users-stats/top/rules basic/open → table open/close with cells array
  • shop-order/partner/client rows/tables → table open/close with cells array
  • navi-lower fragment → navi-lower partial (getHtmlPart)
  • auto-links-code-table → code-table
  • reads-badge → inline-badge with is_download flag
  • media-link-item → link with is_media_ed2k/is_media_http flags
  • back-button → span with is_back flag
  • category-image → link with is_card_image flag

Benefits:

  • Completes fragment consolidation across all PHP layers
  • Single source of truth per HTML pattern (link, span, table, etc.)
  • Boolean flags replace per-purpose fragment files

Technical notes:

  • No behavior change; output HTML is functionally identical
  • navi-lower moved from getHtmlFrag to getHtmlPart (partials directory)
Refactor: core — migrate fragment API calls to consolidated fragments
Автор: Eduard Laas | Дата: 11:50 17.04.2026

Replace per-purpose fragment names with generic consolidated fragments (select, input, link, span, table-row, table, post-div, meta-value) to match the new flat fragment API where each fragment handles multiple variants via boolean flags.

Core changes:

  1. Fragment renames (core/helpers.php):
  • refresh-select-time → select (name_attr, options_html)
  • multi-select → select (added is_multiple, is_name_array flags)
  • user-search → input (added is_user_search, endpoint_attr flags)
  1. Fragment renames (core/system.php):
  • span with class → span (is_highlight, is_geo_flag flags)
  • navi-tab-content → post-div
  • geo-ip-flag → span (is_geo_flag flag)
  • comment-num-link → link (is_num_anchor flag)
  • comment-meta-color → meta-value
  • comment-text → post-div
  • shop-cart-table open/close pattern consolidated into single call
  1. Fragment renames (core/user.php):
  • account-mail-link → link (label_html, is_blank flags)
  • account-user-button → link (is_account_button, is_blank flags)
  • account-pm-list-row → table-row (cells array)
  • account-pm-list-table → table open/close pattern
  • account-favorites-row → table-row (cells array)
  • account-favorites-table → table open/close pattern
  • comment-meta-color → meta-value
  • form-option → select-option (value_attr, label_text, is_selected)

Benefits:

  • Reduces fragment count from ~80 to ~30 consolidated fragments
  • All rendering variants controlled by boolean flags in PHP
  • Consistent API across all call sites

Technical notes:

  • No behavior change; output HTML is functionally identical
  • table open/close pattern: getHtmlFrag('table', ['open'=>true,...]) ... getHtmlFrag('table', [])
Refactor: templates — перенести page-level фрагменты в partials; добавить новые фрагменты
Автор: Eduard Laas | Дата: 00:21 17.04.2026

Реструктуризация шаблонов: крупные фрагменты (form-add, view, liste) вынесены из fragments/ в partials/. Добавлены новые фрагменты для head-ссылок, скриптов, сессий и превью изображений.

Core changes:

  1. Удалены fragments (default, lite, simple):
  • form-add.html, media-form-add.html → partials/form-add.html
  • view.html → partials/view.html
  • table-row-liste.html → inline в table-row.html (единый фрагмент)
  • whois-add-form.html, whois-status.html → инлайн в модуле
  • account-privat-tab-pane.html → заменён post-div фрагментом
  1. Новые fragments (default, lite, simple):
  • head-link.html, head-script-src.html, head-script-inline.html
  • image-preview.html, session-row.html, session-summary.html
  • action-delete.html, action-menu-item.html
  • editor-action-insert.html, editor-action-menu.html
  • forum-reply-form.html, forum-topic-icon.html
  1. Новые fragments (admin):
  • img-preview.html, editor-action-insert.html, span-raw.html
  1. Обновлённые fragments:
  • table-row.html: объединяет старый table-row-liste в единый условный шаблон
  • alert.html: поддержка messages-массива вместо text-строки
  • media-link-row.html: переход с table-разметки на div.sl-form-row
  • textarea.html: добавлен placeholder_text
  • partials/preview-content.html: title_html → title_text (безопасный вывод)
  • category-row.html: обновлены переменные разметки
  1. CSS (new.css, все темы):
  • Добавлены стили для session-table, image-preview-toggle, image-preview-mini

Benefits:

  • Чёткое разграничение: fragments — атомарные UI-элементы, partials — страничные блоки
  • Новые фрагменты устраняют inline-HTML в PHP-коде
  • preview-content.html не допускает XSS через title ({{ вместо {{{)

Technical notes:

  • Новые partials/view.html, form-add.html, liste.html добавлены во все темы
  • table-row.html обратно совместим через условие cells_html
Refactor: admin, blocks, plugins — мигрировать HTML-рендер на $tpl->getHtmlFrag()
Автор: Eduard Laas | Дата: 00:20 17.04.2026

Компоненты вне core/ и modules/ переведены с устаревших хелперов на прямые вызовы $tpl->getHtmlFrag(). Устранены зависимости от удалённых функций getTplImageSelect, getTplCategoryPreview, getMailLink и др.

Core changes:

  1. admin/modules/categories.php:
  • Локальная функция getAdminCategoryImageSelect() заменяет getTplImageSelect()
  • getTplCategoryPreview() → getHtmlFrag('img-preview', ...)
  1. admin/modules/admins.php:
  • getMailLink() → getHtmlFrag('link', ['href' => 'mailto:...'])
  • alert messages передаётся как массив через 'messages'
  1. admin/modules/config.php, monitor.php, referers.php:
  • getTplExternalAction() → getHtmlFrag('comment-action-link', ...)
  • getTplSpan() → getHtmlFrag('span-raw', ...)
  • setPageNumbers() → getPageNumbers()
  1. blocks/block-login.php, block-user_info.php:
  • getTplTextInput / getTplHiddenInput → прямые getHtmlFrag-вызовы
  1. plugins/editors/*:
  • getHtmlScriptSrc / getHtmlCssLink → head-script-src / head-link фрагменты
  1. config/local.php:
  • Обновлён base_fingerprint

Benefits:

  • Все PHP-компоненты проекта унифицированы на одном механизме рендера
  • Удалены последние явные зависимости от helpers-old.php

Technical notes:

  • getAdminCategoryImageSelect() определена локально в categories.php
  • fingerprint обновлён после реструктуризации шаблонов
Refactor: modules — мигрировать вызовы хелперов на $tpl->getHtmlFrag()
Автор: Eduard Laas | Дата: 00:20 17.04.2026

Все фронтенд-модули переведены с устаревших обёрток (getTplMetaRefresh, getTplGenderSelect, getTplSelectOption, getTplRadioForm, getTplFieldsOut и др.) на прямые вызовы $tpl->getHtmlFrag() с явными именами фрагментов.

Core changes:

  1. account (modules/account/index.php, admin/index.php):
  • getTplMetaRefresh() → getHtmlFrag('meta-refresh', ...)
  • getTplGenderSelect() → getHtmlFrag('select', ...) с inline-опциями
  • getTplRadioForm() → getTplRadioGroup() с явными опциями
  • account-privat-tab-pane → post-div
  • alert 'text' → 'messages' для массивов ошибок
  1. forum (modules/forum/index.php):
  • getTplForumIcon / getTplForumReplyForm → прямые getHtmlFrag-вызовы
  • Пагинация и фрагменты обновлены
  1. media, links, files, help, faq, pages (modules/*/index.php):
  • Замена getTplSearchResultTitle, getTplMoneyCalcForm, getTplViewFieldRows
  • Миграция form/view/liste на новые partials
  1. news, search, shop, whois, users, voting и другие модули:
  • getStopText() заменён передачей массива messages напрямую
  • Все getHtmlFrag-вызовы унифицированы

Benefits:

  • Устранены десятки тонких обёрток, код модулей стал однообразным
  • alert-фрагмент получает messages-массив вместо pre-joined строки
  • Удалены зависимости от helpers-old.php во всех модулях

Technical notes:

  • getTplFieldsOut() переименован в getTplViewFieldRows() (уже в предыдущем commit)
  • setPageNumbers() вызывается как getPageNumbers() там где применимо
Refactor: core — удалить helpers-old.php; мигрировать HTML-рендер на $tpl->getHtmlFrag()
Автор: Eduard Laas | Дата: 00:20 17.04.2026

Удалён устаревший helpers-old.php со старыми обёртками. Все вызовы getHtmlScriptSrc(), getHtmlHeadLink(), getTplHiddenInput() и прочих функций-обёрток заменены на прямые вызовы $tpl->getHtmlFrag().

Core changes:

  1. helpers-old.php (core/helpers-old.php):
  • Файл удалён полностью
    • Все функции перенесены или заменены inline-вызовами $tpl->getHtmlFrag()
  1. helpers.php (core/helpers.php):
  • Удалены мёртвые обёртки: getTplRefreshTimeSelect(), getTplMoneyCalcForm(), getTplSearchResultTitle()
  • getTplAddDateTime() и getTplBbEditor() мигрированы на getHtmlFrag('hidden', ...)
  • getTplPreviewContent() передаёт title_text вместо title_html
  • getTplFieldsIn() инлайнит input-рендер напрямую
  1. system.php (core/system.php):
  • getHtmlScriptSrc/Inline/CssLink заменены на head-script-src/head-script-inline/head-link фрагменты
  • filterTextHighlight() использует span/span-raw фрагменты через preg_replace_callback
  • getNaviTabs() инлайнит рендер через navi-tab-link/content/wrap фрагменты
  1. access.php / security.php (core/):
  • getTplFragmentName('head-link-css') заменён на прямой вызов head-link фрагмента
  • favicon и CSS-ссылки рендерятся через head-link фрагмент
  1. user.php (core/user.php):
  • getTplHiddenInput / getTplTextInput заменены на getHtmlFrag('hidden'/'input')
  • getPrivateMessageView() принимает string|array $stop

Benefits:

  • Устранён слой обёрток-посредников, снижена цикломатическая сложность
  • Рендер HTML унифицирован через единственный механизм $tpl->getHtmlFrag()
  • Удалён мёртвый файл helpers-old.php

Technical notes:

  • getTplFragmentName() больше не нужна, вызовы заменены литеральными именами
  • preg_replace заменён на preg_replace_callback для доступа к $tpl в замыкании
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

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

Предварительный просмотр