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

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

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

Всего: 1347 Доступных коммитов | Отфильтровано: 1347 Коммиты | Страница: 68 из 135
22.04.2026
Refactor: admin login — unified auth-form partial, sl-admin-login-* styles
Автор: Eduard Laas | Дата: 22:21 22.04.2026

Login- und Registration-Partials wurden zu einem einzigen auth-form Partial mit row-basierter API zusammengeführt. Das Shell/Layout der Login-Seite wurde auf eigene sl-admin-login-* Klassen umgestellt und die dazugehörigen Styles in ihre eigene Sektion ausgelagert.

Core changes:

  1. Templates (auth-form.html, layouts/bare.html):
  • Neues partials/auth-form.html: rendert beliebige Formular-Zeilen über ein rows[]-Array (label, field_html, has_colon)
  • Alte partials/login.html und partials/registration.html entfernt
  • layouts/bare.html: Klassen wrapper/slaenter/wraptop/wrapmid/wrapfoot/ entercont/header/footer/sl-admin-header/sl-admin-toolbar durch neue sl-admin-login-*-Familie ersetzt; Toolbar-Block entfernt
  1. Admin-Entry (admin/index.php):
  • login()-Funktion: beide Zweige (Erst-Registrierung + Standard-Login) nutzen jetzt getHtmlPart('auth-form', ...) mit rows-Array
  • Feldaufbau inline via getHtmlFrag('input'|'radio', ...)
  • Captcha wird als zusätzliche Zeile ohne Label in rows angehängt
  1. Styles (new.css, theme.css):
  • new.css: eigener "Admin login"-Abschnitt mit .sl-admin-login-shell, -card, -header, -content, -list, -form-frame, -field, -submit, -footer, -copyright + Responsive-Regeln (700px/560px)
  • theme.css: Selektoren .slaenter / .wrapper:not(.slaenter) → .sl-admin-login-shell / .wrapper:not(.sl-admin-login-shell)
  • theme.css: doppelter body:has(.slaenter)-Block entfernt (jetzt ausschließlich in new.css)

Benefits:

  • Ein einziges Partial für beide Auth-Flows — keine Duplikation
  • Flexible Felder-Reihenfolge/-Anzahl über rows[] (z.B. Captcha-Row)
  • Trennung von Admin-Login-Layout (new.css) und Grundlayout (theme.css)
  • Konsistente sl-admin-*-Namenskonvention auch im Login-Flow

Technical notes:

  • Kein Funktionswechsel, reine Template/Style-Konsolidierung
  • sl-admin-login-top und -bottom bleiben als leere Slots im Markup (display:none), um zukünftige Layout-Akzente ohne HTML-Änderung zu erlauben
Style: admin CSS — Toolbar-Redesign, Button-Vereinheitlichung, Modul-Head-Grid
Автор: Eduard Laas | Дата: 15:35 22.04.2026

Toolbar komplett neu gebaut: Flexbox-Layout, dezenter Hintergrund-Verlauf, abgerundete Item-Hover-Effekte ohne Sprite-Images.

Buttons (sl-block-sidebar h3, sl-dashboard-panel-head) vereinheitlicht: einfacher 3-Stop-Verlauf, opacity:.8-Hover statt separater Hover-Verlauf.

Modul-Head-Body auf CSS Grid umgestellt (25/75 Split) für stabiles Title/Searchbox-Layout; Searchbox mit Inline-Flex und fester min-height.

Chore: config/local.php — base_fingerprint nach Block-System-Refactor aktualisiert
Автор: Eduard Laas | Дата: 14:16 22.04.2026

Fingerprint spiegelt den aktuellen Stand nach Logger-Integration, Template-Engine- Fixes, Block-Refactoring und neuen Fragment-Templates wider.

Feature: templates — neue Block-Fragments und Partials für Frontend-Themes
Автор: Eduard Laas | Дата: 14:13 22.04.2026

Erstellt fehlende Block-Templates für alle Frontend-Themes (default, lite, simple). Templates sind identisch über alle Themes und eliminieren die block-*-Warnungen im Log.

Core changes:

  1. Fragments (×3 Themes):
  • block-list-item.html: <li>-Wrapper für link.html (news, files, pages, faq, jokes)
  • block-center-link.html: zentrierter Link mit sl-center-Klasse (auto_links)
  • block-login-form.html: Login-Formular mit CAPTCHA + Netzwerk-Row (login, user_info)
  • block-network-row.html: Soziale-Login-Zeile (login, user_info)
  • block-search-form.html: Suchformular (search)
  • block-menu.html: <nav>-Wrapper für DB-Content (menu)
  • admin-block-links.html: Admin/Logout-Links + Block-HTML (adminblock)
  1. Partials (×3 Themes):
  • block-sidebar.html: Sidebar-Block-Wrapper mit Toggle-Control (adminblock)
  • block-user-info.html: Konsolidiertes User-Info-Partial (eingeloggt + Gast)

Benefits:

  • Alle block-*-Warnungen im error_php.log beseitigt
  • Einheitliche Template-Struktur über alle Frontend-Themes
  • block-user-info.html vereint 7 frühere Fragment-Aufrufe in einem Partial

Technical notes:

  • Templates identisch in default/lite/simple — Theme-spezifisches CSS via Klassen
  • block-user-info.html nutzt is_user-Flag für eingeloggt/Gast-Verzweigung im Template
  • Neue sl-*-Klassen (block-login, block-flags, block-menu) in new.css zu ergänzen
Refactor: blocks — atomare Fragment-Nutzung; block-spezifische Templates entfernt
Автор: Eduard Laas | Дата: 14:13 22.04.2026

Alle Block-PHP-Dateien wurden refaktoriert: statt fehlender block-*-Fragment-Templates nutzen sie jetzt vorhandene atomare Fragmente (link, image, table, table-row) oder übergeben strukturierte Datenobjekte an Partials.

Core changes:

  1. Einfache Blöcke → table.html + table-row.html (center, center_forum, center_media, center_plus, forum, links):
  • Spalten-Daten über cells[]-Array übergeben, HTML-Strings in PHP entfernt
  • head_html/body_html-Strings durch headers[]-Array + table.html ersetzt
  1. Banner-Blöcke (banner_random, stat):
  • banner_random: block-banner-random → link.html mit img_src
  • stat: block-stat-banners → image.html (Counter) + link.html ×2 (Banner)
  1. img.php:
  • $img_html HTML-Variable entfernt; img_src wird als leerer String übergeben wenn nicht das erste Bild — link.html rendert <img> nur bei gesetztem img_src
  1. menu.php:
  • DB-Inhalt ($content) wird jetzt als Variable an block-menu-Template übergeben
  1. user_info.php:
  • Alle separaten block-user-*-Fragment-Aufrufe durch $data-Array + getHtmlPart() für block-user-info Partial ersetzt

Benefits:

  • Keine fehlenden Template-Warnungen mehr für block-*-Fragmente
  • Kein HTML/CSS in PHP-Dateien — nur noch Daten-Arrays
  • Wiederverwendung vorhandener atomarer Fragmente statt Duplizierung

Technical notes:

  • table-row.html: Stat-Spalten nutzen cell.class='fl-col-stat' (kein is_forum_stat)
  • Forum-Sidebar: Poster als primary_text/secondary_text (Klartext), kein user_info() HTML
  • user_info.php: getHtmlPart('block-user-info') statt getHtmlFrag (Partial, nicht Fragment)
Fix: frontend templates — checkbox `not`-Syntax; table.html Body-Klassen-Logik
Автор: Eduard Laas | Дата: 14:12 22.04.2026

Zwei Bugfixes in den Frontend-Theme-Templates (default, lite, simple).

Core changes:

  1. checkbox.html (alle 3 Themes):
  • {% if not is_plain %} war invalide Syntax der Template-Engine
  • Korrektur: not is_plain → !is_plain
  • Ursprung: Engine erkennt not erst seit diesem Release; ältere Templates nutzen !
  1. table.html (alle 3 Themes):
  • Body-Klassen-Logik vereinfacht: not is_voting_list durch expliziten {% if/else %} ersetzt
  • Vorher: {% if body_class or not is_voting_list %} (not-Operator noch nicht unterstützt)
  • Nachher: separate {% if body_class %}...{% else %}{% if is_voting_list %}...{% endif %}

Benefits:

  • Keine PHP-Syntaxfehler mehr durch unbekannte Template-Conditions
  • table.html rendert Body-Klasse korrekt für alle Tabellentypen

Technical notes:

  • Identische Änderung in allen 3 Frontend-Themes (default, lite, simple)
  • Kein Inhalt oder Ausgabe-Verhalten geändert, nur Template-Syntax korrigiert
Fix: admin/modules/database — dump/parse Aktionslogik und Formular-URL korrigiert
Автор: Eduard Laas | Дата: 14:12 22.04.2026

Korrektur der Aktionserkennung im SQL-Dump-Modul: Submit-Buttons übergeben jetzt explizite value_attr-Werte (parse/exec), statt Übersetzungs-Konstanten als Aktion zu nutzen. Dadurch ist die Serverlogik locale-unabhängig.

Core changes:

  1. Dump-Funktion (admin/modules/database.php):
  • Aktion 'dump'/'parse' vs. _EXECUTE/_DB_PARSE ersetzt durch 'exec'/'parse'
  • Submit-Buttons erhalten value_attr: 'parse' bzw. 'exec'
  • Formular-URL auf action_url mit Query-String umgestellt (name/op als URL-Parameter)
  • hidden-Inputs für name/op entfernt (jetzt URL-Parameter)
  • getSqlsum/getSqltable-Aufrufe in die jeweiligen if/else-Zweige verschoben
  1. Tabs-Anzeige (database()-Funktion):
  • Fehlender else-Zweig für getTplAdminTabs ergänzt (Tabs ohne Content-Block)

Benefits:

  • Locale-unabhängige Aktionserkennung (kein Vergleich mit übersetzten Labels)
  • Formular-URL sauberer (GET-Parameter statt POST für name/op)
  • Korrekte Tabs-Darstellung auch ohne Content-Block

Technical notes:

  • Bestehende _DB_PARSE/_EXECUTE Konstanten unverändert (nur als Label)
  • Kein Breaking Change für externe Aufrufer
Refactor: admin templates — sidebar-block → block-sidebar; Fragment-Umbenennungen
Автор: Eduard Laas | Дата: 14:12 22.04.2026

Umbenennung der Admin-Partial- und Fragment-Dateien zur Vereinheitlichung der Namenskonvention (block-* Präfix). Alle Aufrufer in admin/index.php und core/admin.php wurden entsprechend aktualisiert.

Core changes:

  1. Partial-Umbenennung (admin/partials/):
  • sidebar-block.html → block-sidebar.html
  • Aufrufer: admin/index.php, core/system.php (getHtmlPart)
  1. Fragment-Umbenennung (admin/fragments/):
  • sidebar-count-row.html → block-sidebar-count-row.html
  • Aufrufer: core/admin.php (getHtmlFrag, alle admininfo-Zeilen)
  1. Button-Fragment (admin/fragments/button.html):
  • value_attr-Unterstützung ergänzt für explizite Submit-Werte
  1. Admin-CSS (admin/assets/css/new.css + theme.css):
  • Anpassungen für block-sidebar Layout

Benefits:

  • Konsistente block-* Namenskonvention für alle Block-bezogenen Templates
  • Vorbereitung für Frontend-Themes, die dieselbe block-sidebar Partial nutzen

Technical notes:

  • Alte Dateien gelöscht; getHtmlPart/getHtmlFrag suchen nach neuem Namen
  • Kein Inhalt der Templates geändert, nur Dateiname und Aufrufer
Refactor: core — Logger-Integration + Template-Engine-Verbesserungen
Автор: Eduard Laas | Дата: 14:12 22.04.2026

Ersetzt verteilte error_log()-Aufrufe in Template, System und Security durch Logger::addX()-Methoden. Erweitert gleichzeitig die Template-Engine um Dot-Notation in for-Schleifen und not-Syntax in if-Bedingungen.

Core changes:

  1. Template-Engine (core/classes/template.php):
  • Logger-Integration: warnTemplate() nutzt Logger::addPhp() statt direktem JSON-Write
  • filterFor: Iterable-Regex erweitert auf Dot-Pfade ({% for item in section.items %})
  • parseIfCondition: not var als Alias für !var ({% if not is_plain %})
  1. System-Core (core/system.php):
  • Logger via require_once eingebunden
  • Backup-Fehler (MySQL-Version, Verzeichnis, Datei) → Logger::addSql/addFile
  • adminblock() nutzt block-sidebar statt sidebar-block (Partial-Umbenennung)
  • addErrorFile() vereinfacht auf Logger::addFile()
  1. Security (core/security.php):
  • Inline-Logging-Closures ($ls, $lbound, $lctx, $lreq, $lmem) entfernt
  • HTTP-Error-Handler für direkten GET-Parameter ?error=NNN ergänzt
  • Logging-Aufrufe nutzen Logger-Klasse
  1. Monitor-Modul (admin/modules/monitor.php):
  • DB-Health-Fehler → Logger::addSql() statt error_log()

Benefits:

  • Konsistentes Logging-Format über alle Core-Subsysteme
  • Template-Engine unterstützt verschachtelte Datenstrukturen in Schleifen
  • not-Syntax löst bestehende checkbox.html-Fehler bei älteren Templates

Technical notes:

  • Dot-Notation im for-Iterable erfordert PHP-Array-Zugriff via explode('.')/shift
  • Backward-compatible: class_exists('Logger')-Checks in allen Aufrufern
Feature: core/classes/logger.php — zentrale Logger-Klasse
Автор: Eduard Laas | Дата: 14:11 22.04.2026

Einführung einer zentralen Logger-Klasse, die strukturiertes JSON-Logging für PHP-, SQL- und Datei-Ereignisse bereitstellt. Löst das bisher verteilte error_log()-Muster durch einen einheitlichen, konfigurierbaren Mechanismus ab.

Core changes:

  1. Logger-Klasse (core/classes/logger.php):
  • Statische Methoden addPhp(), addSql(), addFile() für Kategorie-spezifisches Logging
  • JSON-Zeilenformat mit Fingerprint (SHA-1), Timestamp, Level, Request-Kontext
  • Log-Rotation via Komprimierung bei Überschreiten des konfigurierten Grenzwerts
  • Rekursionsschutz (static $running) verhindert Endlosschleifen
  • Sicherer Fallback auf error_log() bei fehlgeschlagenem Schreibzugriff

Benefits:

  • Konsistente, maschinenlesbare Log-Ausgabe über alle Core-Subsysteme
  • Zentrale Verwaltung: Format, Rotation und Pfade an einem Ort
  • Kategorisierung ermöglicht gezielte Log-Auswertung (php / sql / file)

Technical notes:

  • Log-Datei: LOGS_DIR/error_php.log (php), error_sql.log (sql), error_file.log (file)
  • Fingerprint-Deduplication via SHA-1(Kategorie+Typ+normalisierte Nachricht)
  • Backward-compatible: alle Aufrufer prüfen class_exists('Logger') vor Nutzung
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

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

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