Последнии сообщения форума
Regenerate config/local.php base_fingerprint to reflect the coordinated admin CSS sizing pass (larger sidebar, 14px base font, 28px element height).
Core changes:
- config/local.php:
- _meta.base_fingerprint regenerated from 9bac3d77… to f005dfd5…
Technical notes: - No functional changes; fingerprint tracks template/asset state only
Koordinierte Größenanpassung der Admin-Oberfläche über drei CSS-Dateien: Sidebar und Wrapper werden breiter, Basisschrift von 13px auf 14px angehoben, Button- und Input-Höhen auf einheitliche 28px normalisiert.
Core changes:
- theme.css:
- body/select/input/textarea/button: Schriftgröße 13px → 14px
- input/textarea/select: min-height 18px → 28px
- .wrapper: max-width 1280px → 1440px
- .sl-admin-header, .sl-admin-main: Grid-Spalte 250px → 300px
- .container: padding-left 250px → 300px; .leftside margin -250px → -300px
- .leftside .block: width 225px → 275px
- .bchead + .bchead b: height/line-height 29px → 28px
- .toolbar li: line-height 29px → 28px
- system.css:
- .CodeMirror, .CodeMirror-hints: font 12px Verdana → 14px Verdana
- .sl-but und Varianten: min-height 29px → 28px, line-height 27px → 26px
- input.sl-but-*: height 29px → 28px
- new.css:
- .sl-sidebar-block: width 225px → 275px
- .sl-sidebar-block-content: margin 11px → 8px, padding 6px 0 4px → 8px 0
- .sl-sidebar-count-row: gap 8px → 4px
- .sl-sidebar-count-label/.sl-sidebar-count-value: padding 2px 4px → 4px
- .sl-dashboard-panel-head + b: height/line-height 29px → 28px
Benefits: - Breiterer Inhaltsbereich durch 300px Sidebar und 1440px Wrapper - Einheitliche 28px-Höhe für Buttons, Inputs und Panel-Header - Größere Lesbarkeit durch 14px Basisschrift (inkl. CodeMirror)
Technical notes: - Keine funktionalen Änderungen, reines Styling-Update - Rückwärtskompatibel: alle bestehenden Klassen bleiben erhalten
Die zwei Submit-Buttons im Datenbank-Modul nutzen jetzt getHtmlFrag('button') statt getHtmlFrag('input') und übergeben name_attr direkt — konsistent mit dem erweiterten button-Fragment-Vertrag.
Core changes:
- dump() — database.php:
getHtmlFrag('input', ['itype' => 'submit', 'name_attr' => ..., 'input_attr' => 'class="..."']) → getHtmlFrag('button', ['button_type' => 'submit', 'name_attr' => ..., 'class' => '...'])
- Betrifft _DB_PARSE (sl-but-green) und _EXECUTE (sl-but-blue)
Benefits: - Einheitlicher button-Fragment-Aufruf über alle Module - name_attr als expliziter Parameter statt über input_attr-String
Technical notes: - button.html rendert <input type="submit"> — kein Unterschied im HTML-Output
Überflüssige Wrapper-Divs (.sl-box-pad, .sl-box-content) aus box.html, table.html, module-head.html und preview.html entfernt; button.html um name_attr erweitert; session-summary auf sl-but umgestellt.
Core changes:
- box.html / table.html / module-head.html / preview.html:
- .sl-box-pad und .sl-box-content Wrapper-Divs entfernt
- .sl-box bleibt als äußerer Container erhalten
- Inhalt rückt eine Ebene nach oben
- button.html:
- name="{{ name_attr }}" Attribut ergänzt (für submit-Buttons mit name)
- is_chlog_primary/is_chlog_secondary: sl-changelog-button-* Klassen durch sl-but-blue / sl-but ersetzt
- session-summary.html:
- Update-Button-Link: sl-session-button → sl-but (einheitliche Button-Klasse)
Benefits: - Weniger DOM-Tiefe ohne CSS-Auswirkungen - button.html abdeckt jetzt auch submit-Buttons mit name-Attribut - Konsistente Verwendung von sl-but statt fragment-spezifischen Aliases
Technical notes: - sl-box-pad und sl-box-content hatten keine eigenen CSS-Regeln — rein strukturelles Markup - Bestehende Aufrufer von box.html / table.html nicht betroffen
Drei CSS-Dateien koordiniert überarbeitet: theme.css übernimmt das Seiten-Layout mit modernem Gradient und responsive Wrapper; system.css konsolidiert die Button-Stile auf inline-flex mit einheitlicher Höhe; new.css gibt die duplizierten Button-Regeln ab.
Core changes:
- theme.css:
- html: Gradient-Hintergrund (#8bc7dd → #c7e5f0 → #d9eef6) statt pagebg.jpg
- body: transparent, min-height 100vh; body:has(.slaenter) zentriert Login per CSS Grid
- .wrapper: responsive width: min(1280px, calc(100vw - 32px)), border + box-shadow statt PNG-Wraptop/Wrapfoot
- Neue sl-admin-* Layoutklassen: sl-admin-main (flex), sl-admin-sidebar, sl-admin-content, sl-admin-header, sl-admin-footer, sl-admin-brand, sl-admin-toolbar, sl-admin-language
- .slaenter-spezifisches Layout entfernt (Login läuft jetzt über body:has(.slaenter))
- system.css:
- .sl-but, .sl-but-blue, .sl-but-red, .sl-but-green, .sl-but-foot, .sl-but-back: inline-flex statt inline-block; min-height: 29px, padding: 0 12px statt feste height/line-height
- Legacy sl_but_* Alias-Klassen entfernt
- new.css:
- Duplizierte .sl-but / .sl-but-blue / .sl-but-red / .sl-but-green Regeln entfernt (jetzt nur in system.css)
- sl-div-item-full: CodeMirror/cm-editor/sl_code_editor ergänzt, min-width: 0 gesetzt
Benefits: - Login-Seite ohne PNG-Abhängigkeit, korrekt zentriert auf allen Viewports - Einheitliche Button-Höhe (29px) über alle Kontexte - Responsive Wrapper löst fixed 1094px ab
Technical notes: - body:has(.slaenter) setzt overflow: hidden — kein Scroll auf Login-Seite - sl-admin-main nutzt flex mit sl-admin-sidebar (flex: 0 0 auto) und sl-admin-content (flex: 1)
Admin- und Login-Layout auf semantische HTML5-Elemente umgestellt und einheitliche sl-admin-* CSS-Klassen als strukturelle Marker eingeführt, um das Layout von den alten float-basierten lcolomn/rcolomn-Klassen zu lösen.
Core changes:
- admin.html:
- <meta name="viewport"> ergänzt
- .wrapper erhält zusätzlich sl-admin-shell
- .header erhält sl-admin-header; lcolomn/rcolomn durch sl-admin-brand / sl-admin-toolbar ersetzt
- Doppeltes .vsep + .container + float-Struktur durch sl-admin-main / <aside class="sl-admin-sidebar"> / <main class="sl-admin-content"> ersetzt
- .footer erhält sl-admin-footer
- .language erhält sl-admin-language
- bare.html (Login-Layout):
- Gleiche sl-admin-* Klassenergänzungen
- .wrapper zusätzlich sl-admin-login-shell
- .header → sl-admin-login-header
Benefits: - Semantische aside/main-Elemente für Accessibility und Lesbarkeit - sl-admin-* Marker als stabile CSS-Anker unabhängig von Legacy-Klassen - Viewport-Meta ermöglicht responsives Verhalten
Technical notes: - Alte Klassen (lcolomn, rcolomn, vsep, container) bleiben im HTML erhalten für Rückwärtskompatibilität - sl-admin-shell / sl-admin-sidebar / sl-admin-content sind neue CSS-Klassen (theme.css)
Drei Dashboard-/Sidebar-Elemente erhalten CSS-Farbverläufe statt PNG-Sprites. Zusätzlich strukturelle CSS-Klassen für die neuen Grid-Komponenten eingeführt, die durch die Fragment-Migration benötigt werden.
Core changes:
- Gradient-Header (new.css):
- .sl-dashboard-panel-head: blauer Verlauf (ersetzt bchead.png)
- .sl-sidebar-block h3: grüner Verlauf (ersetzt leftblocktop.png + leftbdbtm.png)
- .sl-sidebar-block:has([data-sl-toggle-control="sl_block_3/4"]) h3: oranger Verlauf für "Новые" und "Ждут проверки"
- Strukturelle Grid-CSS (new.css):
- sl-sidebar-count-row / sl-sidebar-count-list / sl-sidebar-count-label / sl-sidebar-count-value
- sl-admin-block-links / sl-admin-block-link
- sl-session-line / sl-session-row / sl-session-name / sl-session-module / sl-session-* Hilfsklassen
- sl-tabs-content > .sl-tab-panel:first-child { display: block } — erster Tab sichtbar per Default
Benefits: - PNG-freie Darstellung für drei zentrale UI-Elemente - Orange-Kennzeichnung von Moderations-Blöcken per CSS :has() ohne HTML-Änderung - Strukturklassen ermöglichen konsistentes Grid-Layout in Sidebar-Blöcken
Technical notes: - border-radius + overflow:hidden auf .sl-sidebar-block ersetzt negative Margins auf h3 - Farbverlauf-Formel: hell oben → mittel → Knick bei 50% → leicht dunkler unten
Die "Новые"- und "Ждут проверки"-Sidebar-Blöcke wurden von der table-row/table-cells-Struktur auf das neue sidebar-count-row-Fragment umgestellt — konsistentes Rendering ohne Tabellen-Overhead.
Core changes:
- admininfo() — "Новые"-Block (core/admin.php):
- Alle Modul-Zähler (users, faq, files, links, news, pages, shop, whois usw.) von getHtmlFrag('table-row', [...table-cells...]) auf getHtmlFrag('sidebar-count-row', ['label_html', 'value_html']) umgestellt
- Wrapper von getHtmlFrag('table', [...]) auf getHtmlFrag('content-block', ['class' => 'sl-sidebar-count-list']) gewechselt
- admininfo() — "Ждут проверки"-Block (core/admin.php):
- Kommentare-Zeile analog migriert
Benefits: - Kein table-row/table-cells-Nesting mehr für einfache Label+Zahl-Paare - sidebar-count-row ist eigenständig styled und wiederverwendbar - PHP-Code klarer lesbar durch flache Fragment-Aufrufe
Technical notes: - sidebar-count-row erwartet label_html (HTML-String) und value_html (HTML-String) - sl-sidebar-count-list als Wrapper-Klasse für das Grid-Layout
Neue Fragment- und Partial-Dateien für den Admin-Bereich eingeführt, bestehende Fragmente von Tabellen-/Include-Struktur auf eigenständige Grid-Layouts und Inline-HTML migriert — für bessere Wartbarkeit und CSS-Grid-Kompatibilität.
Core changes:
- Neue atomare Head/Meta-Fragmente (head-link.html, head-script-inline.html, head-script-src.html, meta-refresh.html, span.html):
Kapseln HTML-Primitive als eigene Fragmente * Einheitlicher Einstiegspunkt für <link>, <script src>, <script inline>, <meta http-equiv="refresh">, <span>
- Neues Fragment sidebar-count-row.html / Partial session-summary.html:
- sidebar-count-row: Grid-Layout für Label+Zahl-Paare im Sidebar-Block
- session-summary: Eigenständiges Partial für die Sitzungsübersicht mit Toggle-Logik
- Migrierte Fragmente (admin-block-links, session-row, tabs-link):
- admin-block-links: Tabelle → sl-admin-block-links Grid
- session-row: <tr><td> → sl-session-row Grid
- tabs-link: {% include %} → Inline-HTML mit sl-tabs-link-Logik
Benefits: - Einheitliche Grid-Struktur ersetzt heterogene Tabellen-Hacks - Fragmente sind unabhängig renderbar ohne Eltern-Kontext - CSS-Klassen direkt im Fragment statt im PHP-Caller
Technical notes: - sidebar-count-row erwartet label_html und value_html - session-summary erwartet Admins/Members/Bots/Visitors-Daten inkl. Toggle-IDs
Updated required-file lists and CSS class assertions to match renamed templates, and added two new test methods to TemplateValidationTest for exhaustive reference checking and inline style detection.
Core changes:
- TemplateValidationTest (tests/TemplateValidationTest.php):
- Required frontend files: partials/liste.html → partials/content-list.html
New test testConcreteTemplateReferencesExist(): * Scans all PHP/HTML files in admin/, modules/, and template dirs * Resolves every getHtmlFrag/getHtmlPart call to its template file path * Resolves every {% include %} / {% extends %} reference * Fails if any referenced file does not exist on disk
New test testHtmlTemplatesDoNotContainInlineStyles(): * Scans all .html template files (including module templates) * Fails if any file contains <style>, </style>, or style= attributes
- AdminPreviewBridgeFlowTest (tests/Unit/AdminPreviewBridgeFlowTest.php):
- Updated assertions to reflect new admin preview partial contract
- ViewBridgeSmokeTest (tests/Unit/ViewBridgeSmokeTest.php):
- testHomeLayoutRendersCorrectly: sl_home → sl-home CSS class assertion
Benefits: - testConcreteTemplateReferencesExist provides an exhaustive linkage check; any missing template file is caught before runtime - testHtmlTemplatesDoNotContainInlineStyles enforces the CSS convention
Technical notes: - New tests scan the entire project tree at test time; no mocks required





