Чтение RSS каналов

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

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

Всего: 500 Доступных коммитов | Отфильтровано: 500 Коммиты | Страница: 1 / 50
Сегодня (21.04.2026)
Chore: update base_fingerprint after template consolidation and engine refactor
Автор: Eduard Laas | Дата: 10:20 21.04.2026

Regenerated the base_fingerprint in config/local.php to reflect the current template file set following the consolidation of fragments into partials and the dot-path engine upgrade.

Core changes:

  1. Config (config/local.php):
  2. base_fingerprint: f005dfd5acda9f455681e75d1976bf6c15b89e63 → 9bac3d7739a31f67a5d1f459dec1ae23f316a997

Benefits: - Fingerprint matches actual project state; stale cache warnings suppressed

Technical notes: - Value is auto-generated from current file set hash

Test: update validation tests for new template structure and partial contracts
Автор: Eduard Laas | Дата: 10:20 21.04.2026

Aligned block naming validation with the runtime convention (snake_case.php), updated required frontend file list, relaxed the cross-theme fragment sync threshold, and adapted unit tests for admin login/registration and the view bridge smoke tests to match the new partial contracts and admin template context.

Core changes:

  1. BlockValidationTest (tests/BlockValidationTest.php):
  2. Block file naming rule changed: block-*.php → snake_case.php * Matches how the runtime loads the bfile value from blocks/

  3. fileBlocks extraction: block- prefix stripping removed
  4. TemplateValidationTest (tests/TemplateValidationTest.php):
  5. Required frontend files updated: fragments/basic.html removed; partials/liste.html, partials/view.html, pages/module.html, layouts/app.html added

  6. Shared fragment sync allowlist cleared (no hard-coded fragment names)
  7. Cross-theme common fragment threshold lowered: 100 → 60 * Reflects reduced shared fragment count after consolidation

  8. AdminLoginBridgeFlowTest (tests/Unit/AdminLoginBridgeFlowTest.php):
  9. Login test: template switched 'default' → 'admin'; flat keys replaced by name_field/pwd_field/hidden/submit sub-object contract

  10. Registration test: template switched 'default' → 'admin'; flat keys replaced by field sub-objects (aname_field, aemail_field, apwd_field, etc.)

  11. ViewBridgeSmokeTest (tests/Unit/ViewBridgeSmokeTest.php):
  12. viewRendersLoginWithoutPartial → viewRendersLoginNavPartial * Tests login-nav partial with full nested field contract

  13. viewRendersLoginLoggedPartial → viewRendersMessageBlockPartial * Tests message-block partial (login-logged partial removed)

Benefits: - Tests reflect actual runtime conventions; no stale fragment name allowlists - Unit tests exercise the real admin template context

Technical notes: - No test infrastructure changes; only contract and assertion updates

Refactor: public modules — migrate callers to new partial contracts and fragment names
Автор: Eduard Laas | Дата: 10:19 21.04.2026

Updated all public module handlers to use restructured template API: navi-lower now expects nested sub-objects; related blocks use getHtmlPart() with extended nested image_link/title_link/date_badge contracts; removed fragment names that no longer exist and replaced them with surviving equivalents.

Core changes:

  1. navi-lower callers (modules/files, links, search, users, news, pages, media, faq, shop, sitemap, voting, money, main, account, forum):

  2. Flat keys back_title/back_label/home_href removed
  3. Replaced with nested sub-objects: * back_button: {button_type, title, label, is_back, is_navi_lower} * home_link: {href, title, label, is_navi_lower} * top_link: {href, title, label, is_navi_lower}

  4. Related section callers (modules/files, links, media, faq, news, pages, shop):
  5. getHtmlFrag('related', ...) → getHtmlPart('related', ...)
  6. related-item extended: added image_link, title_link, date_badge sub-objects * href extracted to $href variable to avoid repeated getSeoUrl() calls

  7. Forum module fragment renames (modules/forum/index.php):
  8. forum-list-wrap → forum-view-wrap
  9. forum-list-basic-wrap → forum-cat-wrap (with is_topic_list flag)
  10. forum-list-basic → forum-cat-basic (with is_topic_list flag)
  11. forum-cat-info → forum-list-info (with is_category_info flag)
  12. forum-all-open → title (with is_forum_heading flag)
  13. forum-view-change → getHtmlPart('fieldset-block', ...) / form-wrap
  14. Other promotions and renames:
  15. main-carousel: getHtmlFrag → getHtmlPart
  16. money-calc-scripts: getHtmlFrag → getHtmlPart
  17. main-grid fragment → post-div with is_main_grid flag
  18. main-section/main-content-item: extended with more_link/image_link/etc.
  19. account-privat-tab-title → span with is_htmx flag
  20. comment-signature → post-div with is_signature flag

Benefits: - navi-lower callers consistent with the composed fragment include contract - related-item sub-objects enable template-level link and badge rendering - Forum template rename disambiguates category list from topic list views

Technical notes: - Legacy flat keys removed from navi-lower callers; templates require nested form - date_badge sub-object uses ISO 8601 datetime for <time> element

Refactor: admin modules — migrate getHtmlFrag to getHtmlPart for promoted partials
Автор: Eduard Laas | Дата: 10:19 21.04.2026

Replaced all occurrences of getHtmlFrag('form', ...) and getHtmlFrag('div', ...) with getHtmlPart() across every admin module handler, following the promotion of those templates from templates/admin/fragments/ to templates/admin/partials/.

Core changes:

  1. Admin module handlers (modules/*/admin/index.php — 23 files):
  2. getHtmlFrag('form', [...]) → getHtmlPart('form', [...]) * Covers all form wrappers used in list, add, edit, config, and search views

  3. getHtmlFrag('div', [...]) → getHtmlPart('div', [...]) * Covers collapsible div containers (e.g. mail template block in account)

  4. Files: account, auto_links, changelog, clients, contact, content, faq, files, forum, help, jokes, links, media, money, news, order, pages, rss, search, shop, sitemap, voting, whois

Benefits: - Admin module callers consistent with promoted partial paths - getHtmlFrag() reserved for true inline atoms across the entire admin layer

Technical notes: - No logic changes; substitution is structural only

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:
  2. getHtmlFrag('sidebar-block', ...) → getHtmlPart(...)
  3. getHtmlFrag('form', ...) → getHtmlPart(...)
  4. core/helpers.php:
  5. getTplPreviewContent: partial name 'preview-content' → 'preview'
  6. getTplAdminTabs: 'module-head' → getHtmlPart(...)
  7. setTplAdminInfoPage, getRatingAsync: form/div → getHtmlPart(...)
  8. getModuleNavi: 'navi' → getHtmlPart(...); pre-computes link hrefs as named keys
  9. core/system.php:
  10. setHead (logged branch): login-logged fragment → list + link composition * avatar link, username, logout built via getHtmlFrag('list', ...)

  11. setHead (login form): submit_button contract updated; token variable renamed
  12. setHead (no-login branch): login-without fragment → list + link composition
  13. setCategories: 'categories' → getHtmlPart(...)
  14. adminblock: 'sidebar-block' → getHtmlPart(...)
  15. renderFootControls: 'foot-controls' → getHtmlPart(...)
  16. encode_php: 'div' → getHtmlPart(...)
  17. ashowcom: 'comment-signature' → post-div with is_signature flag
  18. core/user.php:
  19. getUserNav: account-nav/account-nav-item → post-div + link composition
  20. 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/):
  2. 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

  3. Promoted fragments → partials (all three themes):
  4. categories.html, main-carousel.html, money-calc-scripts.html, related.html, voting-home.html

  5. New files (all three themes):
  6. fragments/label.html — inline label atom for form field rendering
  7. partials/navi.html — module navigation partial (previously a fragment)
  8. Deleted partials (all three themes):
  9. login-logged.html, login.html, registration.html, preview-content.html
  10. Modified partials — aligned to nested data contracts:
  11. navi-lower.html: {% include '...' with back_button/home_link/top_link %}
  12. account-view.html: back button via {% include 'fragments/span.html' %}
  13. preview.html, fieldset-block.html, view.html: extended contracts
  14. Modified fragments — extended for new sub-object and dot-path contracts:
  15. 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

  16. templates/lite/index.php:
  17. 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/):
  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

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

Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь