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

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

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

Всего: 1347 Доступных коммитов | Отфильтровано: 1347 Коммиты | Страница: 71 из 135
21.04.2026
Refactor: core — migrate callers to promoted partials and new fragment contracts
Автор: Eduard Laas | Дата: 10:19 21.04.2026

Updated all callers in core/admin.php, core/helpers.php, core/system.php, and core/user.php to use getHtmlPart() for templates promoted from fragments/ to partials/, replaced removed fragment names with their surviving equivalents, and aligned login, navigation, and preview call sites to the new nested data contracts.

Core changes:

  1. core/admin.php:
  • getHtmlFrag('sidebar-block', ...) → getHtmlPart(...)
  • getHtmlFrag('form', ...) → getHtmlPart(...)
  1. core/helpers.php:
  • getTplPreviewContent: partial name 'preview-content' → 'preview'
  • getTplAdminTabs: 'module-head' → getHtmlPart(...)
  • setTplAdminInfoPage, getRatingAsync: form/div → getHtmlPart(...)
  • getModuleNavi: 'navi' → getHtmlPart(...); pre-computes link hrefs as named keys
  1. core/system.php:
  • setHead (logged branch): login-logged fragment → list + link composition
    • avatar link, username, logout built via getHtmlFrag('list', ...)
  • setHead (login form): submit_button contract updated; token variable renamed
  • setHead (no-login branch): login-without fragment → list + link composition
  • setCategories: 'categories' → getHtmlPart(...)
  • adminblock: 'sidebar-block' → getHtmlPart(...)
  • renderFootControls: 'foot-controls' → getHtmlPart(...)
  • encode_php: 'div' → getHtmlPart(...)
  • ashowcom: 'comment-signature' → post-div with is_signature flag
  1. core/user.php:
  • getUserNav: account-nav/account-nav-item → post-div + link composition
  • getPrivateMessageView: 'comment-signature' → post-div with is_signature

Benefits:

  • getHtmlFrag() reserved for true inline atoms; getHtmlPart() for block partials
  • Deleted fragment names no longer referenced in core

Technical notes:

  • Behavior unchanged; call-site alignment only
Refactor: templates/public — consolidate fragments into partials across all themes
Автор: Eduard Laas | Дата: 10:19 21.04.2026

Removed fragment files that represent independently renderable blocks and promoted them to partials, or merged their content into existing partials. Added label.html as a new shared inline atom for form labels. Templates that compose sub-fragments now use the new dot-path include syntax ({% include 'fragments/button.html' with back_button %}), which passes a nested data object directly without PHP preprocessing.

Core changes:

  1. Deleted fragments (templates/{default,lite,simple}/fragments/):
  • account-nav.html, account-nav-item.html, account-privat-tab-title.html, code-block.html, comment-signature.html, forum-all-open.html, forum-cat-info.html, forum-list-basic-wrap.html, forum-list-basic.html, forum-list-wrap.html, forum-view-change.html, login-logged.html, login-without.html, main-grid.html, navi.html, pager-dots.html, rating-wrap.html, voting-home-wrap.html, voting-home.html
  1. Promoted fragments → partials (all three themes):
  • categories.html, main-carousel.html, money-calc-scripts.html, related.html, voting-home.html
  1. New files (all three themes):
  • fragments/label.html — inline label atom for form field rendering
  • partials/navi.html — module navigation partial (previously a fragment)
  1. Deleted partials (all three themes):
  • login-logged.html, login.html, registration.html, preview-content.html
  1. Modified partials — aligned to nested data contracts:
  • navi-lower.html: {% include '...' with back_button/home_link/top_link %}
  • account-view.html: back button via {% include 'fragments/span.html' %}
  • preview.html, fieldset-block.html, view.html: extended contracts
  1. Modified fragments — extended for new sub-object and dot-path contracts:
  • button.html, link.html, span.html, date-badge.html, related-item.html, main-content-item.html, main-section.html, post-div.html, title.html, forum-cat-basic.html, forum-cat-wrap.html, forum-view-wrap.html, forum-list-info.html, card.html, edit-tip.html, field-value.html, form-field-row.html, list.html, session-row.html, table.html
  1. templates/lite/index.php:
  • submit_button: removed button_class in favour of is_login_submit flag

Benefits:

  • fragments/partials boundary enforced consistently across all three themes
  • Dot-path includes eliminate per-partial PHP translation layers
  • Deleted files reduce dead HTML no longer referenced by any caller

Technical notes:

  • All three themes kept in sync; no theme-specific divergence introduced
  • templates/lite/images/ placeholder index.html files added for VCS tracking
Refactor: templates/admin — promote admin-only fragments to partials
Автор: Eduard Laas | Дата: 10:18 21.04.2026

Relocated ten admin-specific templates from fragments/ to partials/ to enforce the project convention that partials/ holds independently renderable blocks while fragments/ holds inline atoms. Simplified the preview pipeline by inlining the full preview layout into partials/preview.html and removing the now-redundant preview-content intermediaries.

Core changes:

  1. Renamed fragments → partials (templates/admin/):
  • fragments/basic-monitor.html → partials/basic-monitor.html
  • fragments/dashboard-panel.html → partials/dashboard-panel.html
  • fragments/div.html → partials/div.html
  • fragments/foot-controls.html → partials/foot-controls.html
  • fragments/form.html → partials/form.html
  • fragments/menu-grid.html → partials/menu-grid.html
  • fragments/module-head.html → partials/module-head.html
  • fragments/sidebar-block.html → partials/sidebar-block.html
  • fragments/tabs.html → partials/tabs.html
  • fragments/toggle-form-block.html → partials/toggle-form-block.html
  1. Preview pipeline (templates/admin/):
  • Deleted: pages/preview-content.html, partials/preview-content.html
  • partials/preview.html: expanded from a stub include to full inline implementation
  • pages/preview.html: updated include path from preview-content to partials/preview.html

Benefits:

  • Clear fragments/partials boundary maintained across the admin theme
  • Preview render path reduced from three files to one partial

Technical notes:

  • All callers must now use getHtmlPart() instead of getHtmlFrag() for these ten templates
  • No behavior change; structural reorganization only
Refactor: template engine — dot-path variables and cache self-invalidation
Автор: Eduard Laas | Дата: 10:18 21.04.2026

Extended the template compiler to resolve dot-path notation such as {{ user.name }} into PHP array access ($user['name']), enabling partials to consume nested data contracts directly. Added filemtime(FILE) to the cache check so changing template.php itself invalidates all compiled caches.

Core changes:

  1. Template compiler (core/classes/template.php):
  • filterEcho: regex extended to a.b.c paths; compiler walks path to nested array access
    • {{ field.iso }} compiles to <?= $this->getSafe($field['iso'] ?? null); ?>
  • filterRaw: same extension for {{{ ... }}} raw output
  • parseIfCondition: regex and compiler both updated to support dot-path in conditions
    • {% if date_badge.iso %} is now valid
  • writeCache: filemtime(FILE) added so engine upgrades auto-invalidate all caches

Benefits:

  • Partials receive nested data objects and dereference them without PHP preprocessing
  • Cache rebuilt automatically after engine upgrades
  • Backward compatible: single-word variables work unchanged

Technical notes:

  • Dot-path: first segment is a PHP variable, remaining segments are string array keys
  • Only lowercase snake_case identifiers allowed in each path segment
20.04.2026
Refactor: core + admin + modules — migrate callers to consolidated contracts
Автор: Eduard Laas | Дата: 23:24 20.04.2026

Migrate every call site away from the removed admin fragments and onto the consolidated atomic contracts (link, div, hidden, button, select, inline-badge, save-action, title-tip, message-block with details, flat menu-grid items). Also switch two public theme helpers (pager-dots, radio-group) to the flag-based variants and make small variable-name cleanups along the way.

Core changes:

  1. core/helpers.php:
  • getTplPager / getPageNumbers: pager-dots now emits inline-badge with is_pager_dots
  • getTplRadioGroup: uses post-div with is_radio_group flag
  • getTplTitleTip: builds an items array and hands it to title-tip directly (no per-item include)
  • getRatingAsync: drops the deleted rating-wrap in favour of div
  1. core/admin.php:
  • admininfo row actions switch from row-actions-item to link
  • All ~20 admin info row constructions realigned to the new contract
  1. core/system.php:
  • getUserSessionInfo / getUserSessionAdminInfo: supply name_link and module_link structured objects alongside the legacy fields so session-row can render links via the consolidated link fragment
  • adminblock: add admin_link / logout_link objects
  • renderFootControls: add top_link object for the upper anchor
  • encode_php: use div with is_code flag instead of code-block
  • getAsyncPager: pager-dots switches to inline-badge variant
  • getCartSummary: rename $titleLink to $titlink to satisfy the variable-name rule (letters only, ≤8 chars)
  1. admin/index.php (admin dashboard):
  • getAdminMenu: compose image_link, title_link, link (grid) objects consumed by the new menu-grid-item / menu-list-item contracts
  • getAdminPanel: feed items_html directly to the flattened menu-grid (no per-row chunking; CSS now wraps)
  1. admin/modules/*.php:
  • admins, blocks, categories, editor, groups, monitor, scheduler, security: migrate emissions from removed fragments (row-actions-item, user-search, multi-select, etc.) to the consolidated fragments and pass link objects where needed
  1. modules/*/admin/index.php:
  • account, auto_links, changelog, content, news, search: migrate admin-side emissions the same way; notably content/admin and news/admin switch comment/action groupings to the new contracts
  1. modules/money/index.php (send):
  • Build message-block details as a structured list (label + value_html) instead of concatenating title-tip-item output into details_html
  1. modules/shop/index.php:
  • edit-tip callers pass edit_link / delete_link objects with confirm_text flag instead of the old flat edit_*/delete_* scalar fields

Benefits:

  • Every admin emission now goes through the same atomic fragment set; no hidden fragment-specific logic
  • Dashboard menu-grid is a single flat list; layout is CSS-driven
  • Session and footer rendering work off structured link objects, matching how the rest of the codebase composes links
  • Pager-dots and radio-group callers stop depending on deleted per-purpose fragments

Technical notes:

  • Closes the multi-commit refactor series: admin fragment consolidation + public fragment contract extension + admin CSS update + caller migration
  • link/div-based recomposition matches the HTML emitted previously; no visible output change expected
  • A CRLF warning is emitted on core/admin.php during staging; Git normalizes the file to LF on commit as per .gitattributes
Refactor: templates/public — extend shared fragment contracts
Автор: Eduard Laas | Дата: 23:23 20.04.2026

Align the three public themes (default, lite, simple) with the same fragment contracts used on the admin side: inline items loop inside title-tip, pager-dots variant on inline-badge, radio-group flag on post-div, and optional structured details list on message-block.

Core changes:

  1. title-tip fragment (default/lite/simple):
  • Replace the single-content emission with a multi-branch contract: content_html / content / items (with inline label+value+is_last loop) / label_text
  • Remove the per-theme title-tip-item fragment; the item loop is inlined into title-tip to match the admin contract
  1. inline-badge fragment (default/lite/simple):
  • Add is_pager_dots flag: renders the ellipsis pager placeholder (sl_num_exit span) directly from inline-badge
  • Matches admin-side pager-dots consolidation
  1. post-div fragment (default/lite/simple):
  • Add is_radio_group flag that appends the sl-radio-group class when the caller composes a radio group via post-div
  1. message-block partial (default/lite/simple):
  • Accept a structured details list (label + value/value_html) in addition to the existing free-form details_html
  • Callers building a key/value detail table can now skip manual <br> composition

Benefits:

  • Single contract for title-tip across admin and public themes, eliminating the per-item include round-trip
  • Shared pager-dots visual uses one fragment definition across stacks
  • Message-block rendering works from structured data instead of pre-concatenated strings

Technical notes:

  • Pairs with the core/helpers getTplTitleTip switch to items and the modules/money/send switch to details (see caller migration commit)
  • No visible HTML change when callers supply the same data in the new format; the rendered markup matches prior output
Style: templates/admin/css — support consolidated admin fragments
Автор: Eduard Laas | Дата: 23:23 20.04.2026

Rework the admin stylesheet to match the consolidated fragment contracts: drop rules that belonged to removed fragments, add rules for the atomic variants now emitted by select, div, save-action, and flatten menu-grid to remove the row wrapper.

Core changes:

  1. Admin stylesheet (templates/admin/assets/css/new.css):
  • Add .sl-save-action-select for save-action's composed select
  • Add .sl-debug-section, .sl-debug-section-success, .sl-debug-section-warn, .sl-debug-section-danger to drive the debug-section fragment's tone variants
  • Add .sl-code-row-odd, .sl-code-row-even, .sl-code-row-num, .sl-code-row-cell to style the code-row fragment directly
  • Flatten .sl-menu-grid: it is now a flex wrap container, with the former .sl-menu-grid-row wrapper removed from markup
  • Remove .sl-menu-grid-row, .sl-user-search* rules tied to the deleted menu-grid-row and user-search fragments

Benefits:

  • Stylesheet stays aligned with the current admin fragment set
  • Menu-grid renders from a single flat items_html without per-row wrappers, matching the admin/index.php caller change

Technical notes:

  • Pure CSS change; no JS or template contract implications beyond what the admin fragment refactor already introduced
Refactor: templates/admin — consolidate fragments and partials
Автор: Eduard Laas | Дата: 23:22 20.04.2026

Collapse ~35 single-purpose admin fragments into shared atomic ones (link, div, hidden, button, select, inline-badge, etc.) and extend the surviving fragments with the flags their consolidated callers need. Three admin partials are realigned to the new contracts.

Core changes:

  1. Removed obsolete fragments (templates/admin/fragments/):
  • Wrappers collapsed into link/div:
    • alpha-nav-link, alpha-nav-text, category-sub-item, comment--link, comment-avatar, comment-num-link, comment-text, comment-list-form, geo-ip-flag, label-item, row-actions-item, view-field, title-tip-item, table-cell, table-row-content, span-raw, navi-tab-link, navi-tab-content, tabs- helpers
  • Form/list wrappers collapsed into shared form/select/hidden:
    • ajax-textarea-form, comment-list-form, edit-list-select, forum-reply-form, money-calculator-form, multi-select, radio-group, radio-option, user-search
  • Display wrappers collapsed into inline-badge/div:
    • graphic, img-preview, pdo-error-badge, rating-wrap, code-block, code-table, div-collapse, session-admin-summary, list-bottom, menu-grid-row, msg-center, warning-list, checkbox-input, pager-dots (now an inline-badge flag)
  1. Extended surviving fragment contracts (templates/admin/fragments/):
  • title-tip: inline items loop replaces the title-tip-item include
  • table: single <table> emission with is_wrapless + disable_sort branches handled via boolean flags instead of 4-way duplication
  • form: accept either raw actions_html + submit_label or a structured actions block that defers to save-action
  • save-action: compose from hidden + select + button fragments
  • inline-badge: add is_pager_dots flag (replaces pager-dots)
  • post-div, div, link, span, button, hidden, input, checkbox, radio, select, textarea, file-input, foot-controls, module-foot, admin-block-links, menu-grid, menu-grid-item, menu-list-item, debug-section, code-row, edit-tip, session-row, tabs-link, toggle-form-block, table-cells: tighten markup, add boolean flags required by migrated call sites
  1. Realigned partials (templates/admin/partials/):
  • changelog.html, login.html, registration.html: update to match new contract of underlying fragments (link/hidden/button composition)

Benefits:

  • One atomic fragment per concept; admins stop carrying 3-4 near duplicates for the same tag
  • Flag-driven variants keep markup consistent across callers
  • Contracts converge between admin and public themes (title-tip, inline-badge, save-action etc.)

Technical notes:

  • Pairs with the core + admin + modules caller migration commit below; intermediate checkouts are not expected to render cleanly
  • No behavioural change in the final output; the emitted HTML matches the previous markup once callers pass the new flag/link arrays
Docs: admin/info — drop legacy blocks help content
Автор: Eduard Laas | Дата: 23:22 20.04.2026

Empty the per-language blocks help pages. Their contents described the previous block-<name>.php naming convention and the old fly/standard block mechanics, none of which match the current implementation after the recent block filename normalization and block-rendering refactor.

Core changes:

  1. Legacy help pages (admin/info/blocks/):
  • Empty de.html, en.html, fr.html, pl.html, uk.html
  • Files are kept in place (they are loaded by the admin help viewer) but carry no body until rewritten against the current architecture

Benefits:

  • Stops shipping documentation that contradicts the current code
  • Clears the slate for a rewrite aligned with the new naming and APIs

Technical notes:

  • No code changes and no path changes; the admin help viewer simply renders an empty help body for this section
  • New documentation for blocks will land separately once the stack settles
Chore: config — update base fingerprint
Автор: Eduard Laas | Дата: 22:02 20.04.2026

Refresh _meta.base_fingerprint in local config to reflect the new baseline after the block-filename normalization, slim form-add partial and liste/form-add caller migration.

Core changes:

  1. Local config snapshot (config/local.php):
  • Update _meta.base_fingerprint from 9bac3d77… to f005dfd5…

Benefits:

  • Keeps the deploy fingerprint consistent with the current tree state
  • Prevents the integrity check from flagging the refactor as drift

Technical notes:

  • Value-only change; no structural or behavioural impact
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

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

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