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

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

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

Всего: 1045 Доступных коммитов | Отфильтровано: 1045 Коммиты | Страница: 41 / 105
21.04.2026
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/):
  2. fragments/basic-monitor.html → partials/basic-monitor.html
  3. fragments/dashboard-panel.html → partials/dashboard-panel.html
  4. fragments/div.html → partials/div.html
  5. fragments/foot-controls.html → partials/foot-controls.html
  6. fragments/form.html → partials/form.html
  7. fragments/menu-grid.html → partials/menu-grid.html
  8. fragments/module-head.html → partials/module-head.html
  9. fragments/sidebar-block.html → partials/sidebar-block.html
  10. fragments/tabs.html → partials/tabs.html
  11. fragments/toggle-form-block.html → partials/toggle-form-block.html
  12. Preview pipeline (templates/admin/):
  13. Deleted: pages/preview-content.html, partials/preview-content.html
  14. partials/preview.html: expanded from a stub include to full inline implementation
  15. 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):
  2. filterEcho: regex extended to a.b.c paths; compiler walks path to nested array access

    • {{ field.iso }} compiles to <?= $this->getSafe($field['iso'] ?? null); ?>
  3. filterRaw: same extension for {{{ ... }}} raw output
  4. parseIfCondition: regex and compiler both updated to support dot-path in conditions

    • {% if date_badge.iso %} is now valid
  5. 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:
  2. getTplPager / getPageNumbers: pager-dots now emits inline-badge with is_pager_dots

  3. getTplRadioGroup: uses post-div with is_radio_group flag
  4. getTplTitleTip: builds an items array and hands it to title-tip directly (no per-item include)

  5. getRatingAsync: drops the deleted rating-wrap in favour of div
  6. core/admin.php:
  7. admininfo row actions switch from row-actions-item to link
  8. All ~20 admin info row constructions realigned to the new contract
  9. core/system.php:
  10. 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

  11. adminblock: add admin_link / logout_link objects
  12. renderFootControls: add top_link object for the upper anchor
  13. encode_php: use div with is_code flag instead of code-block
  14. getAsyncPager: pager-dots switches to inline-badge variant
  15. getCartSummary: rename $titleLink to $titlink to satisfy the variable-name rule (letters only, ≤8 chars)

  16. admin/index.php (admin dashboard):
  17. getAdminMenu: compose image_link, title_link, link (grid) objects consumed by the new menu-grid-item / menu-list-item contracts

  18. getAdminPanel: feed items_html directly to the flattened menu-grid (no per-row chunking; CSS now wraps)

  19. admin/modules/*.php:
  20. 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

  21. modules/*/admin/index.php:
  22. 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

  23. modules/money/index.php (send):
  24. Build message-block details as a structured list (label + value_html) instead of concatenating title-tip-item output into details_html

  25. modules/shop/index.php:
  26. 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):
  2. Replace the single-content emission with a multi-branch contract: content_html / content / items (with inline label+value+is_last loop) / label_text

  3. Remove the per-theme title-tip-item fragment; the item loop is inlined into title-tip to match the admin contract

  4. inline-badge fragment (default/lite/simple):
  5. Add is_pager_dots flag: renders the ellipsis pager placeholder (sl_num_exit span) directly from inline-badge

  6. Matches admin-side pager-dots consolidation
  7. post-div fragment (default/lite/simple):
  8. Add is_radio_group flag that appends the sl-radio-group class when the caller composes a radio group via post-div

  9. message-block partial (default/lite/simple):
  10. Accept a structured details list (label + value/value_html) in addition to the existing free-form details_html

  11. 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):
  2. Add .sl-save-action-select for save-action's composed select
  3. 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

  4. Add .sl-code-row-odd, .sl-code-row-even, .sl-code-row-num, .sl-code-row-cell to style the code-row fragment directly

  5. Flatten .sl-menu-grid: it is now a flex wrap container, with the former .sl-menu-grid-row wrapper removed from markup

  6. 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/):
  2. 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/):
  2. title-tip: inline items loop replaces the title-tip-item include
  3. table: single <table> emission with is_wrapless + disable_sort branches handled via boolean flags instead of 4-way duplication

  4. form: accept either raw actions_html + submit_label or a structured actions block that defers to save-action

  5. save-action: compose from hidden + select + button fragments
  6. inline-badge: add is_pager_dots flag (replaces pager-dots)
  7. 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

  8. Realigned partials (templates/admin/partials/):
  9. 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/):
  2. Empty de.html, en.html, fr.html, pl.html, uk.html
  3. 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):
  2. 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
Refactor: core + modules — migrate callers to liste partial and slim form-add
Автор: Eduard Laas | Дата: 22:01 20.04.2026

Align call sites with two consolidated template contracts:

  • liste partial absorbs table-open/rows/table-close/empty-alert/pager, replacing the old table + table-row + alert branching in callers

  • form-add partial accepts a single fields string; callers now compose token, name, email, title, category, text, site fields from atomic fragments themselves

Core changes:

  1. core/user.php (getPrivateMessageView):
  2. Introduce local $messageList helper that emits liste partial
  3. Convert inbox/outbox/saved lists to build $rows arrays and hand them to the helper instead of manual table + alert branching

  4. Switch row loop to while ($row = ...) pattern used elsewhere
  5. Module callers (modules/*/index.php):
  6. form-add contract migration:

    • account, contact, recommend, shop.kasse: inject token via
getHtmlFrag('hidden') inside `fields` instead of `token` param
  • money, order: drop redundant empty token param
  • whois.add, help.add/addview, auto_links.add: replace lbl_*, emailval,
titleval, catselect, hometext, siteval, has_name/is_user with
composed `fields` built from form-field-row fragments
  • liste partial migration (table + alert + pager collapsed to one call):

    • auto_links.send, clients.*, content, faq, files, jokes, links,
media, news, pages, shop.kasse/clients/partners, users.*,
account.last/asetup
  • Consistently switch list loops to while ($row = $db->getSqlRow()) with array destructuring for readability and alignment with existing patterns

Benefits:

  • One template contract for listings; callers stop emitting scaffolding
  • Token injection is visible at the call site, matching how all other form fields are composed

  • Empty-result branches no longer duplicate alert scaffolding
  • Smaller modules files overall (-362 lines vs +405 lines removed)

Technical notes:

  • Pairs with the preceding templates/partials — slim form-add commit
  • No behavioural change in output structure; visible HTML matches the previous table/alert markup (liste is a wrapper around the same table/table-row/alert fragments)

  • getHtmlPart('liste', ...) accepts: rows, table_open, table_close, optional empty_alert, optional pager_html

Refactor: templates/partials — slim form-add to fields-only contract
Автор: Eduard Laas | Дата: 22:01 20.04.2026

Drop all inline field rendering from form-add partials. The partial now only renders the form shell, extrafields, fields and the submit row; per-field scaffolding (token, name, email, title, category, hometext, bodytext, fields_before/after_text, site) is no longer the partial's responsibility.

Core changes:

  1. Form shell partial (templates/default/partials/form-add.html):
  2. Remove inline {% if token %} hidden input
  3. Remove inline {% if has_name %}/{% if is_user %} username blocks
  4. Remove inline {% if emailval %}, {% if lbl_title %}, {% if lbl_cat %}
  5. Remove inline {% if hometext %}, {% if bodytext %}, {% if siteval %}
  6. Remove {% if fields_before_text %} / {% if fields_after_text %} hooks
  7. Keep: form tag, extrafields, fields, submit row
  8. Same change applied to templates/lite/partials/form-add.html
  9. Same change applied to templates/simple/partials/form-add.html

Benefits:

  • Single rendering contract across themes (no divergent inline markup)
  • Callers compose the body from atomic fragments they already own
  • No surprise required fields hidden in the partial; form semantics (required, placeholder, names) live where the data lives

Technical notes:

  • Breaking contract: callers must now inject token, name, email, title, category, text/body, site fields via fields (see accompanying modules refactor commit)

  • Unused params (token, has_name, lbl_*, emailval, hometext, bodytext, siteval, etc.) are simply ignored by the thinner partial

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

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

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