CMS EVOLUTION

CHANGELOG · SYSTEM UPDATES & IMPROVEMENTS

SPRACHE

German Racers CMS - Changelog

vrpa 0.4
2026-05-24

🎮 Portal-Toggle (Portale aktivieren/deaktivieren)

  • Admin-Einstellung: Zwei neue Toggles im Tab "Funktionen": Portal ACC aktiviert und Portal FH6 aktiviert.
  • Validierung: Mindestens ein Portal muss aktiv bleiben (serverseitige Prüfung).
  • Header-Switcher: Wird automatisch ausgeblendet wenn nur ein Portal aktiv ist.
  • Portal-Auswahlseite: Wird übersprungen wenn nur ein Portal aktiv — User wird direkt zum aktiven Portal geleitet.
  • Menü-Filterung: Menüeinträge eines deaktivierten Portals werden systemweit ausgeblendet.
  • Admin-Tabs: Leaderboard und Event-Admin zeigen keine Tabs für deaktivierte Portale.
  • Auto-Umschaltung: Wenn das aktive Portal eines Users deaktiviert wird, wird er automatisch zum verbleibenden Portal umgeleitet.
  • Zentrale Hilfsfunktionen: isPortalEnabled('acc') und getOnlyActivePortal() in core/helpers.php.

🎨 Theme-Verwaltung (Tab-System Redesign)

  • Tab-basierte Struktur: Die Theme-Verwaltung wurde komplett in ein übersichtliches 4-Tab-System umgebaut:
  • Tab 1 — Themes: Theme-Grid mit Live-Vorschau und Aktivierung (wie bisher).
  • Tab 2 — Header & Banner: Banner-Upload, URL, Höhe sowie Name/Subname/Tagline jeweils mit Schriftart und Größe nebeneinander gruppiert.
  • Tab 3 — Hero-Sektion: Sichtbarkeits-Toggles (Links, Rechts, Unten, Discord, Live) als übersichtliche Karten.
  • Tab 4 — Erweitert: Benutzerdefiniertes CSS und Footer-Text.
  • Custom CSS Feld: Neues Textfeld für globales benutzerdefiniertes CSS direkt im Admin-Panel.
  • Alle Inline-Styles entfernt: Sämtliche style="..." Attribute durch CSS-Klassen ersetzt.
  • Theme-Farben für alle 10 Themes: Neue CSS-Klassen (.tcf-section, .tcf-input, .hero-toggle-card, etc.) in allen Theme-Dateien mit individuellen Farben hinterlegt.

🔧 System-Einstellungen (Tab-System Redesign)

  • 5-Tab-Struktur: Die Einstellungen-Seite wurde in übersichtliche Tabs aufgeteilt:
  • Tab 1 — Webseite: Name, URL, Logo, Tagline, Footer, E-Mail.
  • Tab 2 — Schnittstellen: Discord (alle IDs/Tokens), Steam API, Xbox/Azure, MOTD.
  • Tab 3 — Funktionen: Wartungsmodus, Ergebnisse/Seite, Ranking, Downloads-Rolle, ACC-Pfad.
  • Tab 4 — Live-Timing: Inaktivitäts-Timeout, Stagnations-Timeout, Offline-Verhalten.
  • Tab 5 — Lizenz: CMS License Key.
  • Alle Inline-Styles entfernt: Komplett auf CSS-Klassen umgestellt.
  • Sticky Save-Button: Speichern-Button bleibt beim Scrollen sichtbar.
vrpa 0.3
2026-05-23

📅 Event Manager (Server-Deployment & Discord-Sync)

  • Vollautomatisches Server-Deployment (event.json & eventRules.json): Der "JSON EINSPIELEN" Button überträgt nun nicht mehr nur die Entrylist, sondern konfiguriert den ACC-Server komplett! Alle Event-Einstellungen (Luft-/Streckentemperatur, Regen, Bewölkung, Zufallswetter) sowie die Sessions (Training, Quali, Rennen inkl. Ingame-Uhrzeit, Tag und Multiplikator) werden live in die event.json geschrieben. Zusätzlich werden alle Boxenstopp-Regeln in die eventRules.json exportiert.
  • Settings.json Integration: Die Felder für max_entries (Maximale Fahrer), password, spectator_password und die Fahrzeugklasse (carGroup) werden nun beim Deployment nahtlos in die settings.json des Servers übertragen.
  • Rundenspezifisches Deployment für Cup-Events: Bei Cup-Events mit mehreren Strecken/Runden erscheint nun ein Dropdown-Menü beim Deployment. Dadurch kann exakt ausgewählt werden, für welche Cup-Runde (inkl. der jeweiligen spezifischen Strecke und Sessions) der Server gerade konfiguriert werden soll.
  • Rich-Discord-Integration: Das Discord-Scheduled-Event wird nun vollautomatisch im Hintergrund mit wichtigen Meta-Daten angereichert. Die Beschreibung auf Discord enthält jetzt (unsichtbar für die Website) die gewählte Fahrzeugklasse, max. Fahreranzahl, Strecke, den Event-Typ und eine detaillierte Auflistung der Sessions (z.B. "Training: 30 Min | Qualifying: 15 Min | Rennen: 60 Min"). Zusätzlich wurden diese Infos in die hübsche Embed-Box (Kanal-Ankündigung) aufgenommen.
vrpa 0.2
2026-05-23

📅 Event Manager (Überarbeitung & Cup-System)

  • Saison-Rennen & Cup-Kalender: Implementierung eines vollwertigen Cup-Systems für ACC-Events. Im Backend können nun vordefinierte Rennkalender mit mehreren Runden und Strecken angelegt und verwaltet werden (Speicherung in event_races).
  • Team Balancing & Driver-Swaps: Neue Features zur Aktivierung von Team-Balancing hinzugefügt. Admins können im Backend gezielt Fahrer in generierten Teams auswählen und die Rollen (Startfahrer / Co-Fahrer) direkt per Swap-Button tauschen.
  • Entrylist Generierung: Vollständige Integration der Entrylist-Erstellung. Die JSON-Dateien für ACC Server können nun basierend auf den generierten Teams automatisch erstellt und auf konfigurierte Ziel-Server eingespielt werden.
  • Architektur-Splitting: Die monolithische Datei event_admin.php (1.200+ Zeilen) wurde in handhabbare, modulare Teilkomponenten zerlegt (tab_acc.php, tab_fh6.php und edit_event.php), um die Wartbarkeit und Skalierbarkeit für künftige Spiele zu maximieren.
  • UI/UX: Custom Multi-Select: Das alte, klobige Mehrfachauswahl-Feld (Dropdown) für die Fahrzeugauswahl (ACC) wurde durch ein modernes, platzsparendes Checkbox-Dropdown-UI ersetzt.
  • Premium DateTime-Picker: Die nativen Datums- und Uhrzeitfelder wurden durch einen interaktiven Kalender (Flatpickr) im Dark-Mode ersetzt, um die Eingabe von Event- und Saison-Terminen deutlich komfortabler zu machen.
  • Theme-Synchronisation & Hardcode-Cleanup:
  • Dynamisches Design: Alle hartkodierten Farbwerte (#333, #FF007F, rgba(...)) in den Event-Modulen wurden restlos entfernt und durch offizielle Theme-Variablen (var(--adm-bg), var(--adm-red), etc.) ersetzt.
  • Theme-Update: Den Konfigurationsdateien (admin.css) *aller 10 Themes* wurden die fehlenden Variablen (--adm-danger, --adm-fh6-primary, --adm-fh6-secondary, --adm-accent) hinzugefügt, sodass das Backend-Layout nun in jedem Theme fehlerfrei und konsistent gerendert wird.

👥 Mitglieder-Verwaltung (Merge-Fix)

  • Account-Merge Logik stabilisiert: Behebung eines kritischen Duplicate entry Datenbankfehlers bei der Zusammenführung von User-Accounts. Sekundäre Accounts (inkl. discord_id) werden nun sicher bereinigt und priorisiert verarbeitet, bevor sie auf den primären Account übertragen werden, um Integritätsverletzungen zu verhindern.
vrpa 0.1
2026-05-22

📝 WYSIWYG & BBCode-Editor (Echtzeit-Formatierung & Download-Integration)

  • Echtzeit-BBCode-Parser (Tippen & Einfügen):
  • Paste-Interceptor: Beim Einfügen von Texten mit rohem BBCode (z. B. [b]...[/b] oder [size=...]) wird dieser direkt im Zwischenspeicher abgefangen, in HTML umgewandelt und ohne Layout-Verschiebung formatiert eingefügt.
  • Cursor-erhaltendes Live-Parsing: Beim manuellen Tippen von BBCode-Tags (wie ] nach einem schließenden Tag, Enter oder Leerzeichen) wird der Text sofort formatiert. Eine temporäre Caret-Marker-Logik stellt sicher, dass der Cursor präzise an der aktuellen Position verbleibt.
  • Auto-Formatierung bei Fokusverlust: Beim Verlassen des Editors (blur) werden alle restlichen rohen BBCode-Elemente automatisch visualisiert.
  • WYSIWYG-Integration in Downloads:
  • Der neue, wiederverwendbare WYSIWYG-Editor wurde voll in die Download-Verwaltung (sowohl im Frontend unter pages/downloads.php als auch im Admin-Bereich unter admin/modules/downloads.php) integriert.
  • Veraltete, redundante Colorpicker-Ressourcen und Inline-Skripte wurden entfernt.
  • Dynamische Pfadauflösung:
  • Bilder-Uploads und Emoticon-Pfade im Editor (rich_editor.php) passen sich nun vollautomatisch an, je nachdem ob der Editor im /admin/-Bereich oder auf einer Frontend-Seite geladen wird (Verhinderung von 404-Fehlern).
  • Screenshot-Drag&Drop Kompatibilität:
  • Anpassung der insertAtCursor-Hilfsfunktion für Screenshots: Erkennt nun dynamisch, ob der WYSIWYG-Editor aktiv ist, und fügt Bilder inline als HTML anstelle von reinem Text-BBCode ein.
v2.3.6
2026-05-17

🌐 Unified Portal Integration (FH6 & ACC - Phase 1 & 2)

  • Portal-Auswahlseite (Landingpage): Vollständig neue Landingpage zur interaktiven und optisch ansprechenden Auswahl zwischen Assetto Corsa Competizione (ACC) und Forza Horizon 6 (FH6).
  • Zentraler & persistenter Portal-Zustand:
  • Wenn der User eingeloggt ist, wird seine Portal-Auswahl persistent in der SQL-Datenbank in der Spalte users.active_portal gespeichert und sitzungsübergreifend wiederhergestellt.
  • Wenn der User ein Gast ist, wird die Auswahl sicher in der PHP-Session ($_SESSION['active_portal']) vorgehalten.
  • Premium Header-Switcher (Optimiert): Ein edler, leuchtender Umschalter wurde im linken Header-Bereich (horizontal direkt rechts neben der Versionsnummer 2.3.6) integriert:
  • Tachometer-Icon: Repräsentiert das ACC-Portal (leuchtet bei Aktivierung in kräftigem Renn-Rot, --acc-primary).
  • Straße-Icon: Repräsentiert das FH6-Portal (leuchtet bei Aktivierung in energetischem Neon-Cyan, --fh6-cyan).
  • Kachel-Icon: Ermöglicht das sofortige Zurückkehren zur Portal-Auswahlseite.
  • Auto-Datenbankmigration: Vollautomatische Injektion der neuen Spalten active_portal und user_theme_fh6 in die users-Tabelle beim ersten Laden der Webseite, ohne dass manuelle SQL-Einträge vorgenommen werden müssen.
  • OPcache-Clear-Helper: Bereitstellung einer sicheren Hilfsdatei gr_clear.php (inklusive exklusiver RewriteRule in der .htaccess), um den PHP-OPcache des Webservers ohne Verzögerung im laufenden Betrieb zu leeren.

🎨 Theme-System (Komplette Überarbeitung)

  • Admin-CSS vollständig ausgelagert: Alle inline
BESTÄTIGUNG ERFORDERLICH
Möchtest du diese Aktion wirklich ausführen?
Wird verarbeitet...