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

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

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

Всего: 1091 Доступных коммитов | Отфильтровано: 1091 Коммиты | Страница: 8 / 110
10.07.2026
Refactor: Reuse lite link and list-item fragments in blocks
Автор: Eduard Laas | Дата: 11:49 10.07.2026

Replaces the block-list-item fragment with a composition of the existing link and list-item fragments and removes the unused lite searchbox partial.

BREAKING: templates/lite/partials/searchbox.html is removed. External modules that rendered this partial by name must ship their own template. Removal confirmed by the project owner.

Core changes:

  1. Block emitters (blocks/pages.php, news.php, faq.php, jokes.php, auto_links.php, files.php):

  2. Build the anchor via getHtmlFrag('link') with escaped href, title, and label

  3. Wrap it as trusted content_html in getHtmlFrag('list-item')
  4. auto_links uses the semantic is_blank flag instead of a raw target_attr string, which also adds rel="noopener noreferrer"

  5. Fragment removal (templates/lite/fragments/block-list-item.html):
  6. Deleted after zero-reference search across PHP and HTML

Benefits:

  • One fragment contract for links instead of a parallel copy
  • Stronger target security for external auto_links entries

Technical notes:

  • List markup of all six blocks verified; escaping boundaries unchanged

  • No admin files touched by this change
Fix: Pass active theme to lite main slider asset paths
Автор: Eduard Laas | Дата: 11:49 10.07.2026

Removes the hardcoded templates/lite image paths from the main slider so a replacement frontend theme resolves its own slide assets.

Core changes:

  1. Slider partial (templates/lite/partials/main-slider.html):
  2. Four slide image URLs now use templates/{{ theme }}/images/slide/
  3. Filenames, alt texts, and dimensions unchanged
  4. Emitter (modules/main/index.php):
  5. Pass 'theme' => getTheme() and is_home explicitly to the partial

    • getHtmlPart() only receives the passed data array and does not
inject page-level variables

Benefits:

  • Theme replacement no longer breaks slider image URLs
  • Runtime HTML no longer hardcodes its own theme directory

Technical notes:

  • All four slide URLs verified HTTP 200 on the live page
  • Guarded by the new hardcoded-theme-path test assertion
Style: Normalize and consolidate admin theme CSS
Автор: Eduard Laas | Дата: 11:49 10.07.2026

Reformats the admin theme stylesheets to the shared conventions and merges proven duplicate adjacent rules without changing any computed style.

Core changes:

  1. Formatting (templates/admin/assets/css/base.css, theme.css):
  2. 2-space indentation, one property per line, one blank line between blocks

  3. Section comments normalized to the / Name: scope / shape
  4. No rule reordering, no selector or value changes
  5. Consolidation:
  6. Adjacent rules with identical declaration sets merged within the same at-rule context only

  7. No moves between base.css and theme.css, no cross-media merges

Benefits:

  • Consistent, diff-friendly stylesheet layout
  • Fewer duplicate declarations with cascade behavior preserved

Technical notes:

  • Theme-aware usage audit reports 361 defined classes, 8 static-only unknowns kept as informational

  • No property values or selectors removed without emitter evidence
Refactor: Consolidate admin wrapper partials into div variants
Автор: Eduard Laas | Дата: 11:49 10.07.2026

Replaces the single-purpose menu-grid and searchbox partials with semantic variants of the existing admin div partial while keeping the rendered DOM and CSS classes identical.

Core changes:

  1. Variant branches (templates/admin/partials/div.html):
  2. Branch order: is_searchbox, is_menu_grid, generic content_html, generic rows

    • is_searchbox renders sl-searchbox only for non-empty trusted
content_html; empty input renders nothing
  • is_menu_grid always renders the sl-menu-grid wrapper, matching
the removed menu-grid partial
  • Existing generic content and rows/sl-div-grid contracts are untouched

  • Call-site migration:
  • 2 menu-grid calls in admin/index.php
  • 17 searchbox calls across 11 admin PHP files migrated to div + is_searchbox with renderer-produced content_html

  • menu-grid.html and searchbox.html removed after zero-reference search; the dead rows_html slot of menu-grid was not carried over

  • Bridge tests (tests/Unit/AdminSearchboxBridgeFlowTest.php):
  • Cover happy path, missing theme, raw trusted markup, empty content, empty and filled menu grid, and regression of both generic div modes

Benefits:

  • Two fewer single-purpose partials without any DOM change
  • PHP keeps passing semantic flags instead of CSS class strings

Technical notes:

  • No visual or route changes; dashboard and module list DOM verified
  • Backward compatible: same classes and wrappers are emitted
Test: Lock independent theme contracts in validation suite
Автор: Eduard Laas | Дата: 11:49 10.07.2026

Fixes the Windows path defect that silently turned the template reference scan into a no-op and replaces cross-theme byte-equality checks with per-theme runtime contracts.

Core changes:

  1. Reference validator hardening (tests/TemplateValidationTest.php):
  2. Normalize base path and file paths to forward slashes before computing repository-relative paths

    • Mixed Windows/POSIX separators previously left absolute paths,
so anchored patterns matched nothing and zero references were
checked while the test stayed green
  • Require non-zero counters for found, classified, and include/extends/component references

  • Discover installed frontend themes dynamically instead of the hardcoded default/simple/lite list

  • Forbid cross-theme includes, cross-theme asset references, hardcoded own-theme directory paths, and symbolic links

  • Drop testSharedFrontendFragmentsStayInSyncAcrossThemes in favor of testThemeRuntimeContractsAreIndependent

  • Theme-aware CSS usage audit (tests/Unit/AdminCssClassUsageTest.php):
  • Report admin and lite independently
  • Scan theme HTML, theme hooks, PHP emitters, and shared JS state classes so chart, sort, and seasonal classes are no longer false positives

  • Keep the unused list informational; removal still requires a full emitter audit

Benefits:

  • The reference scan now actually validates template targets on Windows and POSIX alike

  • Themes can evolve independently without byte-equality coupling

Technical notes:

  • Regression cases cover mixed-separator paths and emitter classification

  • No runtime code changed in this commit
Feature: danger submit variant for destructive admin forms
Автор: Eduard Laas | Дата: 06:54 10.07.2026

The reserved .sl-but-red button variant gets its first consumer: form submits that destroy data render red, while inline delete links keep their DelCheck-confirmed link styling as agreed.

Core changes:

  1. Button fragment (templates/admin/fragments/button.html):
  2. New is_danger semantic flag maps to sl-but-red in both the button and input variants

  3. Search admin (modules/search/admin/index.php):
  4. The search-index clear form (the only destructive form submit in the admin, verified by scanning hidden op values and form action URLs) passes is_danger

Benefits:

  • Destructive submits are visually distinct from save/confirm actions
  • The variant contract is a semantic flag; PHP passes no CSS classes

Technical notes:

  • Intended visible change confined to the search index clear form
  • Verified live: the submit renders the danger gradient; php -l clean
Refactor: merge split selector blocks in lite theme
Автор: Eduard Laas | Дата: 06:50 10.07.2026

Four selectors opened two separate blocks each with complementary declarations, hiding half of a component's styling from the reader: the header login dropdown form (base block + arrow variable) and three mobile rules split across the max-width 900px section.

Core changes:

  1. Login dropdown (templates/lite/assets/css/theme.css):
  2. Arrow colour variable folded into the main dropdown-form block
  3. Mobile section (templates/lite/assets/css/theme.css):
  4. #hmenu overflow and padding blocks merged
  5. .sl-top-right flex and margin blocks merged
  6. #demo-line .sl-d-pane layout and margin blocks merged

Benefits:

  • One block per selector; all declarations visible in one place

Technical notes:

  • Declaration relocation only, nothing dropped; verified by rendering the affected components under the pre-merge and merged CSS at 1280px and 800px viewports - computed styles identical

Refactor: honest section layout for admin theme CSS
Автор: Eduard Laas | Дата: 06:43 10.07.2026

Two mega-sections carried misleading headers: "Chips" (~970 lines) held the speed dial, icon picker, monitor cards and more, while "Tabs" (~760 lines) started with the module frame and hid the changelog cards, sessions and form rows. Components are now grouped under headers that match their content, moving only the genuinely misplaced blocks.

Core changes:

  1. Relocations (templates/admin/assets/css/theme.css):
  2. Rich-editor integration rules (Toast UI, CKEditor, CodeMirror inside .sl-div-form) moved from the tabs region into the forms section

  3. .sl-chip block extracted from the middle of the sidebar-block family and placed ahead of it as its own section

  4. Section headers (comments only, no rule changes):
  5. Sidebar blocks, list footer, admin home menu grid/cards, speed dial, icon picker, panel toggles, language editor rows, form actions

  6. Module frame, tabs (now above the actual tab strip), classic form rows, search admin filter widths, sidebar links block, sessions, changelog

Benefits:

  • Sections describe what they contain; new rules have an obvious home

Technical notes:

  • Verified stepwise with computed-style probes after each relocation and after the header pass (55 components, all identical) plus live monitor and category-form screenshots

  • Two pre-existing over-length editor selectors moved as-is (unsplittable single selectors)

09.07.2026
Refactor: consolidate meta glyph definitions in admin theme
Автор: Eduard Laas | Дата: 23:51 09.07.2026

The plus toggle and list meta glyphs (post, date, category, views) were defined in three passes spread over 3100 lines: font boilerplate in the status-icons area, the plus content next to the debug styles, and the sizing plus icon codes inside the tabs section.

Core changes:

  1. Meta glyphs (templates/admin/assets/css/theme.css):
  2. One grouped definition right after the shared ::before font boilerplate: sizing/colour block, plus toggle content with its sl-is-open state, and the four meta icon codes

  3. Duplicate vertical-align declaration collapsed into the boilerplate
  4. Contextual .sl-toggle-form-block-toggle.sl-plus::before override kept untouched in the forms section (higher specificity, order-independent)

Benefits:

  • The glyph vocabulary reads as one component instead of three fragments

Technical notes:

  • Pure relocation; computed-style probes (55 components incl. ::before content, colour, sizing and both plus states) are identical

Refactor: prune dead lite-era branches from admin emitters
Автор: Eduard Laas | Дата: 23:50 09.07.2026

The admin span and link fragments carried branch lists copied from the lite theme. Per-flag tracing across the whole PHP tree showed most of them are never invoked while the admin theme is active, and their classes have no rules in the admin CSS.

Core changes:

  1. Span emitter (templates/admin/fragments/span.html):
  2. Remove dead branches: shop price, card reads/post/admin, private message folders, favourite toggles, votes and cart total; outer condition pruned

  3. Kept alive branches verified by tracing: back button, highlight, geo flag, alphabet letter (admin newsletter via letter()), text tones, hidden, bold

  4. Link emitter (templates/admin/fragments/link.html):
  5. Remove dead branches: category, module, comment, read, card image, shop and cart checkout, last; outer condition pruned

    • is_votes / is_comments stay: getVotingView() renders voting previews
inside news, shop and voting admin pages (hook classes by design)
  • is_category stays available via inline-badge.html (help admin list)
  1. Bold utility fix (templates/admin/assets/css/theme.css):
  2. Add .sl-text-bold { font-weight: bold; } to the text helpers

    • database.php and statistic.php emit is_bold for count values which
silently rendered normal-weight; verified live (font-weight 700)

Benefits:

  • Admin emitters describe only what admin pages can actually produce
  • One real rendering bug fixed along the way

Technical notes:

  • Verified: 55 computed-style probes identical; full-page pixel diffs on monitor, category form, comments and changelog confined to dynamic debug-panel/clock zones (matched against a same-state double capture)

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 110
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

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