TITAN CMS 0.7.1A

Allgemein • News & Updates

🚀 TITAN CMS 0.7.1A

Entwicklungsroadmap

Version: 0.7.1A
Produkt: TITAN CMS
Status: Active Development
Release-Typ: Feature / Integration / Stabilisierung


🎯 Ziel von 0.7.1A

TITAN CMS 0.7.1A konzentriert sich auf die Vervollständigung bestehender Systeme, die zentrale Integration des Designs sowie die Vorbereitung des CMS auf die nächste Entwicklungsstufe.

Bereits fertiggestellte Systeme wie Update, Migration, Media Manager und CMS-Seitenverwaltung sind nicht Bestandteil der offenen Roadmap.


Phase 1 – 🎨 Design-Finalisierung

Ziel

Das zentrale TITAN-Theme soll im gesamten CMS konsistent verwendet werden.

Aufgaben

  •  Alle öffentlichen Seiten auf zentrale Theme-Variablen umstellen
  •  Farben vereinheitlichen
  •  Typografie vereinheitlichen
  •  Buttons vereinheitlichen
  •  Karten / Panels vereinheitlichen
  •  Hover- und Focus-Zustände vereinheitlichen
  •  Responsive Darstellung prüfen
  •  Favicon zentralisieren
  •  letzte Hardcodierungen entfernen

Status: 🟡 In Arbeit


Phase 2 – 💬 Discord Integration

Ziel

Discord vollständig als Community-Integration in TITAN CMS einbinden.

Aufgaben

  •  Discord-Bot-Verbindung
  •  Token-/Verbindungsprüfung
  •  Discord-Server-Konfiguration
  •  Bot-Status
  •  Systembenachrichtigungen
  •  Community-Events
  •  Discord-Webhooks
  •  Rollen-/Rechte-Synchronisierung vorbereiten
  •  Discord Login vorbereiten

Status: 🟡 Offen


Phase 3 – 💬 Shoutbox Finalisierung

Ziel

Die vorhandene Shoutbox zu einer vollständigen Community-Komponente ausbauen.

Aufgaben

  •  Logo-/Branding-Integration
  •  Moderationsfunktionen
  •  Nachrichten löschen
  •  Benutzer/IP-Bans
  •  Spam-Schutz
  •  Rate-Limiting
  •  Wiederholungsprüfung
  •  Moderationslogging
  •  Admin-Verwaltung
  •  finale Responsive-Prüfung

Status: 🟡 In Arbeit


Phase 4 – ⚡ Performance & Cache

Ziel

TITAN CMS soll auch bei steigender Community-Größe performant bleiben.

Aufgaben

  •  zentrale Cache-TTL
  •  Cache-Invalidierung
  •  unnötige DB-Abfragen reduzieren
  •  öffentliche Seiten optimieren
  •  Dashboard-Abfragen optimieren
  •  Mitglieder-/Forum-Abfragen prüfen
  •  Homepage-Ladezeit optimieren
  •  Cache-Verhalten testen

Status: 🟡 Offen


Phase 5 – 🛡️ Security Audit

Ziel

Bestehende Sicherheitsmechanismen vollständig prüfen.

Aufgaben

  •  Admin-Zugriff prüfen
  •  Rollen-/Rechteprüfung
  •  CSRF-Prüfung
  •  Session-Sicherheit
  •  XSS-Prüfung
  •  SQL-Injection-Prüfung
  •  Upload-Sicherheit
  •  Datei-/Pfadvalidierung
  •  Rate-Limits
  •  sicherheitsrelevantes Logging
  •  Fehlerausgaben in Produktion prüfen

Status: 🟡 Offen


Phase 6 – 🔗 Systemintegration

Ziel

Die einzelnen TITAN-CMS-Komponenten sollen sauber zusammenspielen.

Aufgaben

  •  Auth ↔ Benutzerbereiche
  •  Theme ↔ öffentliche Seiten
  •  Media Manager ↔ Branding
  •  CMS Pages ↔ Navigation
  •  Cache ↔ CMS Pages
  •  Cache ↔ Dashboard
  •  Discord ↔ Systemevents
  •  Logging ↔ Admin
  •  Lizenzsystem ↔ CMS
  •  Update-System ↔ Migration-System

Status: 🟡 Offen


Phase 7 – ⚙️ System & Administration

Ziel

Die Administration für den produktiven Betrieb vorbereiten.

Aufgaben

  •  Systemübersicht
  •  Systemstatus
  •  Fehlerlog
  •  Audit-Log
  •  Cache-Verwaltung
  •  Migration-Status
  •  Update-Status
  •  Lizenzstatus
  •  Systeminformationen
  •  PHP-/Serverinformationen

Status: 🟡 Offen


Phase 8 – 💾 Backup & Wiederherstellung

Ziel

Grundlegende Datensicherheit für Betreiber schaffen.

Aufgaben

  •  Datenbank-Backup
  •  Backup-Verwaltung
  •  Backup-Zeitpunkt anzeigen
  •  Backup löschen
  •  Wiederherstellung vorbereiten
  •  Backup-Logging
  •  Berechtigungen absichern

Status: 🟡 Offen


Phase 9 – 🔧 Installer & Kompatibilität

Ziel

Eine saubere Installation und Aktualisierung gewährleisten.

Aufgaben

  •  Installer vollständig testen
  •  Systemanforderungen prüfen
  •  PHP 8.1+ prüfen
  •  Datenbankinstallation testen
  •  Lizenzinstallation testen
  •  Migration bei Update testen
  •  titan.lock prüfen
  •  Neuinstallation / Reinstallation testen

Status: 🟡 Offen


Phase 10 – 🧪 Stabilisierung

Ziel

Alle bestehenden Funktionen vor dem Release durchtesten.

Testbereiche

  •  Login
  •  Registrierung
  •  Remember-Me
  •  Benutzerverwaltung
  •  Mitglieder
  •  Dashboard
  •  CMS Pages
  •  Navigation
  •  Media Manager
  •  WYSIWYG
  •  Shoutbox
  •  Forum
  •  Design
  •  Cache
  •  Migration
  •  Lizenzsystem
  •  Update-System
  •  Discord
  •  Adminbereich

Status: 🔴 Ausstehend


Phase 11 – 📦 Release Preparation

Ziel

Vorbereitung des 0.7.1A Releases.

Aufgaben

  •  Changelog finalisieren
  •  Versionsnummer aktualisieren
  •  Datenbankmigrationen prüfen
  •  Release-Dateien prüfen
  •  Debug-Code entfernen
  •  Testdaten entfernen
  •  Produktionskonfiguration prüfen
  •  Security-Finalcheck
  •  Performance-Finalcheck

Status: 🔴 Ausstehend


📊 Prioritäten

PrioritätBereich
🔴 P1Design-Finalisierung
🔴 P1Discord Integration
🔴 P1Shoutbox Finalisierung
🟠 P2Security Audit
🟠 P2Performance & Cache
🟠 P2Systemintegration
🟡 P3Administration
🟡 P3Backup
🟢 P4Installer / Kompatibilität
🟢 P4Stabilisierung
🟢 P4Release Preparation

🏁 Zielzustand 0.7.1A

Mit Abschluss von TITAN CMS 0.7.1A soll das CMS:

  • einheitlich über das zentrale Design-System laufen
  • eine funktionierende Discord-Integration besitzen
  • eine vollständige Shoutbox bereitstellen
  • optimierte Cache- und Performance-Strukturen besitzen
  • sicherheitstechnisch geprüft sein
  • zentral integrierte Systeme besitzen
  • eine erweiterte Systemadministration bieten
  • Backup-Grundfunktionen besitzen
  • sauber installier- und aktualisierbar sein
  • für einen stabilen nächsten Entwicklungsschritt vorbereitet sein

🔄 Entwicklungsreihenfolge

Design
  ↓
Discord
  ↓
Shoutbox
  ↓
Performance / Cache
  ↓
Security
  ↓
Systemintegration
  ↓
Administration
  ↓
Backup
  ↓
Installer / Kompatibilität
  ↓
Stabilisierung
  ↓
Release

🎯 TITAN CMS 0.7.1A

Stabiler. Sicherer. Zentraler. Erweiterbarer.

TITAN CMS – Reaktionssystem

Added – Forum-Reaktionen

Das Forum des TITAN CMS wurde um ein integriertes Reaktionssystem erweitert.

Neue Reaktionen

Beiträge können nun mit folgenden Reaktionen bewertet werden:

  • 👍 Gefällt mir
  • ❤️ Liebe
  • 😂 Lustig
  • 😮 Wow
  • 😢 Traurig

Funktionen

  • Reaktionen werden direkt unter dem jeweiligen Beitrag angezeigt.
  • Die Anzahl der Reaktionen wird pro Reaktion angezeigt.
  • Benutzer können pro Beitrag nur eine Reaktion gleichzeitig vergeben.
  • Eine bestehende Reaktion kann jederzeit geändert werden.
  • Durch erneutes Anklicken der eigenen Reaktion kann diese wieder entfernt werden.
  • Die eigene aktive Reaktion wird optisch hervorgehoben.
  • Reaktionszahlen werden ohne Neuladen der Seite aktualisiert.
  • Die Verarbeitung erfolgt per AJAX/Fetch.
  • Das bestehende CSRF-Schutzsystem des TITAN CMS wird verwendet.
  • Nicht angemeldete Benutzer können keine Reaktionen vergeben.

Datenbank

Neue Tabelle:

forum_post_reactions

Gespeichert werden:

  • Beitrag
  • Benutzer
  • Reaktion
  • Erstellungszeitpunkt

Durch einen Unique-Key ist sichergestellt, dass ein Benutzer pro Beitrag nur eine aktive Reaktion besitzen kann.

Sicherheit

  • Authentifizierung wird vor jeder Reaktion geprüft.
  • CSRF-Token wird serverseitig validiert.
  • Nur definierte Reaktionstypen werden akzeptiert.
  • Der betreffende Forum-Beitrag wird vor dem Speichern geprüft.
  • Datenbankoperationen verwenden vorbereitete Statements.
  • Reaktionen werden beim Löschen eines Beitrags automatisch über den Foreign Key entfernt.

Technische Umsetzung

Neue bzw. angepasste Komponenten:

  • /forum/reaction.php
  • forum_post_reactions
  • Integration der Reaktionsleiste in die bestehende Thread-Ansicht
  • AJAX-Verarbeitung innerhalb der bestehenden Thread-JavaScript-Logik

Bestehende Systeme

Das Reaktionssystem wurde in das vorhandene TITAN CMS Forum integriert, ohne bestehende Funktionen zu verändern.

Unverändert bleiben insbesondere:

  • Themenverwaltung
  • Antworten
  • WYSIWYG-Editor
  • Dateianhänge
  • Bearbeiten von Beiträgen
  • Moderation
  • Themen sperren
  • Themen anheften
  • CSRF-System
  • Benutzer-/Authentifizierungssystem

Status: ✅ Fertig

TITAN CMS – Changelog

Forum – Auszeichnungen / Achievements

Neu

  • Neues Auszeichnungssystem für das Forum hinzugefügt.
  • Benutzer können automatisch Auszeichnungen für bestimmte Aktivitäten erhalten.
  • Auszeichnungen werden dauerhaft dem jeweiligen Benutzer zugeordnet.
  • Auszeichnungen werden direkt bei den Beiträgen des Benutzers angezeigt.
  • Neue Anzeige „Auszeichnungen“ unterhalb des Registrierungs-/Beitragsdatums.
  • Auszeichnungen werden als kompakte Icons dargestellt.
  • Beim Überfahren eines Icons werden Name und Beschreibung der Auszeichnung als Tooltip angezeigt.

Automatische Auszeichnungen

Folgende Auszeichnungen wurden eingerichtet:

  • 📝 Erster Beitrag – erster erstellter Beitrag
  • ✍️ 10 Beiträge – 10 Beiträge erstellt
  • 🏆 50 Beiträge – 50 Beiträge erstellt
  • 👑 100 Beiträge – 100 Beiträge erstellt
  • 💡 Erstes Thema – erstes eigenes Thema erstellt
  • 📚 10 Themen – 10 Themen erstellt
  • ❤️ Erste Reaktion erhalten – erste Reaktion auf einen eigenen Beitrag
  • ❤️ 10 Reaktionen erhalten – 10 Reaktionen auf eigene Beiträge
  • ⭐ 50 Reaktionen erhalten – 50 Reaktionen auf eigene Beiträge
  • 🎂 1 Jahr dabei – mindestens 365 Tage Mitglied
  • 🎉 2 Jahre dabei – mindestens 730 Tage Mitglied
  • 🏅 5 Jahre dabei – mindestens 1825 Tage Mitglied

Technik

  • Neue Tabelle forum_achievements für die Definition der Auszeichnungen.
  • Neue Tabelle forum_user_achievements für bereits erhaltene Auszeichnungen.
  • Automatische Prüfung der Achievements nach:
    • Erstellung eines Themas
    • Erstellung eines Beitrags
    • Erhalt von Reaktionen
    • Erreichen bestimmter Mitgliedschaftsdauern
  • Neue zentrale Achievement-Funktionen in:
    • includes/forum_achievements.php
  • Achievement-Abfragen werden pro Benutzer gecacht, um unnötige Datenbankabfragen innerhalb eines Threads zu vermeiden.
  • Bereits vergebene Auszeichnungen werden nicht doppelt vergeben.

Forum-Integration

  • Integration in forum/new_thread.php.
  • Integration in forum/thread.php.
  • Nach erfolgreicher Erstellung eines Themas werden Achievements automatisch geprüft.
  • Nach erfolgreicher Antwort werden Achievements automatisch geprüft.
  • Auszeichnungen werden bei jedem Beitrag anhand des jeweiligen Beitragserstellers geladen.

Design

  • Neue kompakte Achievement-Darstellung im bestehenden dunklen TITAN-Design.
  • Purple-Akzent passend zum bestehenden Forum-Theme.
  • Hover-Effekt für Auszeichnungs-Icons.
  • Responsive Darstellung für mehrere Auszeichnungen.
  • Keine Änderung am bestehenden Forum-Layout außerhalb der neuen Achievement-Anzeige.

Fix

  • Variable $postAchievements innerhalb der Beitragsausgabe korrekt initialisieren, damit keine Undefined variable-Warnung entsteht.

Status: Implementiert
Bereich: TITAN CMS → Forum
Feature: Forum-Auszeichnungen / Achievements

✅ Erledigt

🏆 Forum-Archivments im Mitgliederprofil

Datum: 11.09.2026
Bereich: TITAN Board / Mitgliederprofile
Status: ✅ Fertig


📌 Was ist neu?

Die Mitgliederprofile wurden um eine kompakte Anzeige der Forum-Archivments erweitert.

Erhaltene Forum-Auszeichnungen werden jetzt direkt im Profil zwischen den normalen Achievements und dem Bereich Gaming angezeigt.


🏆 Kompakte Darstellung

Die Forum-Archivments werden bewusst platzsparend dargestellt.

Statt großer Karten werden nur die jeweiligen Icons angezeigt:

📝 💡 🚀 👋 🌱 ❤️

Dadurch bleibt das Profil übersichtlich und die Auszeichnungen nehmen nur sehr wenig Platz ein.


ℹ️ Informationen per Hover

Trotz der kompakten Darstellung gehen keine Informationen verloren.

Beim Überfahren eines Icons werden folgende Informationen angezeigt:

  • 🏆 Name des Archivments
  • 📝 Beschreibung
  • 📅 Verleihdatum

🎖️ Aktuelle Forum-Archivments

Beispielsweise können folgende Auszeichnungen angezeigt werden:

  • 📝 Erster Beitrag
  • 💡 Erstes Thema
  • 🚀 Themenstarter
  • 👋 Willkommen
  • 🌱 Eingelebt
  • ❤️ Erste Reaktion

Weitere Forum-Archivments können später problemlos ergänzt werden.


⚙️ Technische Umsetzung

Die Anzeige verwendet die bestehenden Forum-Achievement-Daten:

forum_user_achievements

und

forum_achievements

Die Zuordnung erfolgt über die jeweilige achievement_id.

Es werden ausschließlich aktive Forum-Archivments berücksichtigt.


🎨 UI / Design

Die Darstellung wurde an das bestehende TITAN-Board-Design angepasst:

  • kompakte Icon-Darstellung
  • dezenter Hover-Effekt
  • keine zusätzlichen großen Boxen
  • keine Änderung am bestehenden Profil-Layout
  • keine Änderung an den normalen CMS-Achievements

✅ Ergebnis

Die Mitgliederprofile zeigen jetzt neben den allgemeinen TITAN-Achievements auch die Forum-Archivments des jeweiligen Benutzers.

Damit sind besondere Aktivitäten im Forum direkt im Profil sichtbar, ohne das Profil unnötig zu vergrößern.

TITAN Board – Gemeinsam stärker.

TITAN CMS Forum – Changelog

Benutzer-Verifizierung & Moderationsinformationen

Neu

  • Verifizierungsstatus für Forum-Benutzer hinzugefügt.
  • Neue Datenbankspalte users.verified eingeführt.
  • Normale Benutzer können zukünftig über die Datenbank als verifiziert markiert werden.
  • Administratoren und Superadministratoren werden automatisch als verifiziert behandelt.
  • Moderatoren werden ebenfalls automatisch als verifiziert behandelt.
  • Verifizierte Benutzer erhalten im Benutzerbereich eines Forumbeitrags die Kennzeichnung:
    ✓ Verifiziert

Moderationsbereich

  • Moderationsinformationen im Benutzerbereich eines Forumbeitrags ergänzt.
  • Administratoren und berechtigte Moderatoren können zusätzliche Informationen sehen:
    • 🔒 Benutzer-ID
    • 🔒 Warnungen
  • Die Moderationsinformationen werden nur Benutzern mit entsprechenden Moderationsrechten angezeigt.
  • Die Warnungsanzeige wurde vorbereitet und verwendet aktuell den Wert 0, da noch kein separates Verwarnungssystem im Forum vorhanden ist.

Technische Änderungen

  • forum/thread.php erweitert.
  • Benutzerabfrage um u.verified ergänzt.
  • Verifizierungsstatus wird anhand von Benutzerrolle und Datenbankwert ermittelt.
  • Rollen superadmin, admin und moderator gelten automatisch als verifiziert.
  • Alle anderen Benutzer werden über users.verified geprüft.
  • Bestehende Benutzer erhalten standardmäßig verified = 0.
  • Die bestehende Benutzer-, Beitrags-, Reaktions- und Auszeichnungsdarstellung bleibt unverändert.

Datenbank

Neue Spalte in users:

verified TINYINT(1) NOT NULL DEFAULT 0

Damit ist das Forum für einen späteren Ausbau zu einem vollständigen Benutzer-Verifizierungs- und Moderationssystem vorbereitet.

✅ Erledigt

TITAN CMS – Changelog

[Unreleased]

Community / Profile

Mehrfache Teamzuordnung im Benutzerprofil

Die Community-Anzeige im öffentlichen Benutzerprofil wurde konzeptionell auf die vorhandene Teamstruktur des TITAN CMS angepasst.

Änderungen:

  • Teamzuordnungen werden nicht mehr ausschließlich aus der Tabelle users erwartet.
  • Die Teammitgliedschaft wird über clan_team_members ermittelt.
  • Verknüpfung zwischen Benutzer und Team über:
    • clan_team_members.user_id
    • clan_team_members.team_id
  • Teaminformationen werden aus clan_teams geladen.
  • Die Teamrolle wird aus clan_team_members.team_role übernommen.
  • Das Beitrittsdatum wird aus clan_team_members.joined_at übernommen.
  • Teamdaten wie Name, Kürzel, Spiel, Logo und Farbe stehen für die Profilanzeige zur Verfügung.
  • Die bisherige Einzel-Team-Abfrage mit LIMIT 1 soll für die finale Umsetzung entfallen.
  • Benutzer können dadurch mehreren Teams zugeordnet werden.
  • Die Community-Sektion soll mehrere Teams als separate Teamkarten darstellen.

Datenstruktur

Die Teambeziehung verwendet folgende Struktur:

users
  │
  │ user_id
  ▼
clan_team_members
  │
  │ team_id
  ▼
clan_teams

Teamkarte

Eine Teamkarte soll perspektivisch folgende Informationen darstellen:

  • Teamname
  • Team-Kürzel
  • Spiel
  • Teamrolle
  • Teambeitritt
  • optional Teamlogo
  • optional Teamfarbe

Ziel

Die Community-Sektion des Benutzerprofils soll die tatsächliche Clan-/Teammitgliedschaft aus dem TITAN CMS abbilden und auch mehrere aktive Teamzugehörigkeiten korrekt darstellen.


Technischer Hinweis

Die persönlichen Profildaten bleiben weiterhin Bestandteil von users.

Die Clan-/Teamdaten werden getrennt über:

clan_team_members
clan_teams

verwaltet.

Dadurch bleibt die Datenstruktur modular und eine Mehrfachzuordnung eines Benutzers zu unterschiedlichen Teams ist möglich.

✅ Erledigt

🔗 Changelog – Partnerseite überarbeitet

Version: TITAN CMS
Bereich: Partner / Links
Status: ✅ Abgeschlossen

🚀 Was wurde geändert?

Die öffentliche Partnerseite wurde vollständig überarbeitet und an die zentrale Links-Verwaltung des TITAN CMS angebunden.

Partner werden jetzt nicht mehr über eine separate Partnerstruktur geladen, sondern direkt aus der zentralen links-Verwaltung.

✨ Neue Funktionen

  • 🏢 Partner können zentral im Adminbereich verwaltet werden
  • 🖼️ Unterstützung für Partner-Banner
  • 🔹 Unterstützung für Partner-Icons
  • 📝 Partnerbeschreibung wird angezeigt
  • 🏷️ Kategorien werden übernommen
  • 🔗 Partner-URLs werden automatisch ausgegeben
  • ↗️ Unterstützung für verschiedene Link-Ziele
  • 🔢 Individuelle Sortierreihenfolge
  • 🟢 Nur aktive Partner werden öffentlich angezeigt
  • 🖼️ Fallback-Darstellung, falls kein Banner hinterlegt ist

🔧 Technische Verbesserungen

Die bisherige Anbindung der Partnerseite wurde entfernt und durch die zentrale links-Struktur ersetzt.

Zusätzlich wurde die Verarbeitung der Medienpfade verbessert, sodass auch bereits vorhandene Uploads korrekt auf der HTTPS-Seite verwendet werden können.

Die Partnerseite berücksichtigt dabei automatisch:

  • lokale Medien
  • relative Upload-Pfade
  • absolute Medien-URLs
  • ältere gespeicherte HTTP-Pfade

🎯 Ergebnis

Die Partnerverwaltung ist damit vollständig in das bestehende TITAN CMS integriert.

Ein Partner muss künftig nur noch einmal im Adminbereich angelegt bzw. bearbeitet werden und wird anschließend automatisch auf der öffentlichen Partnerseite dargestellt.


📌 Status

Partnerseite: ✅ Fertig
Zentrale Links-Verwaltung: ✅ Integriert
Banner-Unterstützung: ✅ Fertig
Icon-Unterstützung: ✅ Fertig
Sortierung: ✅ Fertig
Aktiv/Inaktiv: ✅ Fertig

🔧 Changelog – Footer auf zentrale Seiteneinstellungen umgestellt

Bereich: TITAN CMS / Footer
Status: ✅ Abgeschlossen

Der Footer wurde überarbeitet und verwendet jetzt die zentralen Einstellungen aus der Datenbank.

🗄️ Datenbank

Die Footer-Informationen werden aus der Tabelle

settings

geladen.

Verwendet werden dabei:

setting_key = site_name
setting_value = CLANNAME

sowie:

setting_key = version
setting_value = ...

Dadurch wird der auf der Website angezeigte Seitenname automatisch aus der Datenbank übernommen.

Beispiel:

<strong>CLANNAME</strong>

Der Seitenname muss dadurch nicht mehr direkt im Footer-Code hinterlegt werden.


📌 Footer-Anzeige

Auch die untere Footer-Zeile verwendet jetzt automatisch den Namen aus der Datenbank.

Beispiel:

2026 · CLANNAME · © TITAN CMS 0.x.x © · Hosting4Power

Damit bleibt der Footer automatisch aktuell, wenn der Website-Name oder die CMS-Version im Adminbereich geändert wird.


🧹 Fest eingetragener Seitenname entfernt

Die bisherige feste Ausgabe über:

<?= e(SITE_NAME) ?>

wurde vollständig aus dem Footer entfernt.

Der Footer greift stattdessen direkt auf die zentrale settings-Tabelle zurück.


🛡️ Fallback-System

Damit der Footer auch bei fehlenden oder ungültigen Einstellungen weiterhin funktioniert, wurde ein Fallback integriert.

Wenn:

  • site_name nicht vorhanden ist
  • site_name deaktiviert ist
  • site_name leer zurückkommt
  • die Datenbankabfrage fehlschlägt

wird automatisch:

TITAN CMS

verwendet.

Auch bei Problemen mit der Datenbank soll der Footer keinen Fatal Error verursachen.


✨ Ergebnis

Der Footer ist jetzt vollständig an die zentrale TITAN-CMS-Konfiguration angebunden.

Änderungen an:

Website-Name → settings → site_name

und

CMS-Version → settings → version

werden automatisch im Footer übernommen.

Status

  • ✅ Zentraler Website-Name
  • ✅ Zentrale CMS-Version
  • ✅ Kein fest codierter SITE_NAME mehr
  • ✅ Fallback TITAN CMS
  • ✅ Fehlerbehandlung
  • ✅ Footer-Ausgabe nebeneinander
  • ✅ Hosting4Power weiterhin verlinkt

TITAN CMS  – Changelog

Header & Favicon

Favicon integriert

  • Favicon-Unterstützung im zentralen TITAN CMS Header ergänzt.
  • Das Favicon wird jetzt zentral über includes/header.php eingebunden.
  • Die vorhandene Einstellung design_settings.favicon wird aus der Datenbank ausgelesen.
  • Das Favicon kann dadurch zentral für die komplette Website verwendet werden.
  • Relative Pfade werden über base_path() automatisch an die aktuelle CMS-Installation angepasst.
  • Externe Favicon-URLs werden ebenfalls unterstützt.
  • Die bestehende design_settings-Struktur wurde erweitert, ohne eine separate Favicon-Tabelle anzulegen.

Design Settings erweitert

Die zentrale Design-Konfiguration unterstützt jetzt zusätzlich:

logo_text
favicon

Das Favicon gehört damit wie das Logo zum Bereich:

design_settings
└── branding
    ├── logo_text
    └── favicon

Header überarbeitet

Mobile Navigation

  • Mobile Menü-Schaltfläche im zentralen Header integriert.
  • Hamburger-Menü mit drei Linien hinzugefügt.
  • Beim Öffnen wird das Hamburger-Symbol animiert zu einem X.
  • Navigation kann auf mobilen Geräten ein- und ausgeblendet werden.
  • Die bestehende dynamische Navigation aus der navigation-Tabelle bleibt erhalten.
  • Alle aktiven Navigationseinträge werden auch im mobilen Menü dargestellt.
  • Admin-Link wird weiterhin nur berechtigten Administratoren angezeigt.
  • Login bzw. Logout bleibt abhängig vom aktuellen Benutzerstatus verfügbar.

Mobile Menü verbessert

  • Mobile Navigation erhält eine eigene Darstellung unterhalb des Headers.
  • Menüeinträge werden untereinander dargestellt.
  • Navigation ist auf kleinen Displays scrollbar.
  • Lange Navigationen werden nicht mehr durch die Bildschirmhöhe abgeschnitten.
  • Icons und Texte der Navigation bleiben auf mobilen Geräten sauber ausgerichtet.
  • Das Menü verwendet weiterhin die bestehenden TITAN-CMS-Designvariablen.

Betroffene Dateien

/includes/header.php
/assets/css/style.css

Ergebnis

Der zentrale TITAN CMS Header übernimmt jetzt sowohl die globale Favicon-Ausgabe als auch eine responsive mobile Navigation.

Damit werden Branding und Navigation zentral an einer Stelle verwaltet und automatisch auf den Seiten verwendet, die den TITAN CMS Header einbinden.

 

Status

  • ✅ Erledigt

     

🔌 TITAN CMS – Plugin-System

📅 Aktueller Entwicklungsstand

Das TITAN CMS wurde um die grundlegende Struktur für ein zukünftiges, dynamisches Plugin-System erweitert.

Ziel ist es, Erweiterungen wie Wiki, FAQ, Spenden, Kalender, Tickets oder weitere Funktionen zukünftig als eigenständige Plugins installieren und verwalten zu können, ohne dafür den zentralen Adminbereich jedes Mal manuell erweitern zu müssen.


🧩 Adminbereich – Plugin-Verwaltung

Im Bereich SYSTEM wurde ein eigener Menüpunkt Plugins vorgesehen.

Plugin-Verwaltung

Die Karte führt zukünftig zur zentralen Plugin-Verwaltung:

SYSTEM
 └── 🔌 Plugins

Dort sollen Plugins zukünftig:

  • installiert
  • aktiviert
  • deaktiviert
  • aktualisiert
  • deinstalliert
  • verwaltet

werden können.

✅ Erledigt


🔌 Eigener PLUGINS-Bereich

Unterhalb des SYSTEM-Bereichs wurde ein separater Bereich PLUGINS eingerichtet.

Aktuelle Struktur:

🔌 PLUGINS
Plugin Verwaltung
Installierte Plugins und Erweiterungen des TITAN CMS.

Der Bereich ist bewusst vom festen SYSTEM-Menü getrennt.

Zweck

Der Bereich PLUGINS dient ausschließlich dazu, die aktuell installierten und aktivierten Plugins als Admin-Karten darzustellen.

✅ Erledigt


🗂️ Dynamische Plugin-Karten

Die Karten werden nicht für einzelne Plugins fest im Admin-Dashboard hinterlegt.

Stattdessen verwendet der Bereich bereits eine dynamische Struktur:

foreach ($installedPlugins as $plugin)

Jedes Plugin kann später eigene Informationen liefern:

$plugin['icon']
$plugin['title']
$plugin['description']
$plugin['url']

Dadurch kann das Dashboard automatisch entsprechende Karten erzeugen.

Beispiel:

┌─────────────────┐  ┌─────────────────┐  ┌─────────────────┐
│ 📚              │  │ ❓              │  │ 💜              │
│ Wiki            │  │ FAQ             │  │ Spenden         │
│ Wissensdatenbank│  │ Fragen &        │  │ Unterstützer    │
│ verwalten      →│  │ Antworten      →│  │ verwalten      →│
└─────────────────┘  └─────────────────┘  └─────────────────┘

✅ Erledigt


📚 Geplante Plugins

Als mögliche zukünftige Plugins sind unter anderem vorgesehen:

  • 📚 Wiki ✅
  • ❓ FAQ ✅ 
  • 💜 Spenden
  • 📅 Kalender
  • 🎫 Tickets
  • 💡 Vorschläge
  • 📣 Newsletter
  • weitere Community- und CMS-Erweiterungen

Diese Funktionen sollen nicht fest im Core des TITAN CMS verankert werden, sondern als eigenständige Plugins bereitgestellt werden.


🧱 Bestehendes Karten-Design bleibt erhalten

Die Plugin-Karten verwenden weiterhin das bestehende TITAN Admin-Design:

.titan-admin-grid
.titan-admin-card
.titan-admin-card-icon
.titan-admin-card-content
.titan-admin-card-arrow

Damit fügen sich zukünftige Plugins automatisch in das vorhandene Admin-Design ein.

✅ Erledigt


🚫 Keine fest codierten Plugin-Karten

Wiki, FAQ, Spenden und zukünftige Erweiterungen werden nicht direkt in admin/index.php als einzelne Karten hinterlegt.

Stattdessen soll zukünftig das Plugin-System die installierten und aktivierten Plugins bereitstellen.

Dadurch kann das Admin-Dashboard erweitert werden, ohne den zentralen Dashboard-Code für jedes neue Plugin ändern zu müssen.

✅ Erledigt


🕳️ Empty-State

Solange keine Plugins installiert bzw. aktiviert sind, wird automatisch ein Empty-State angezeigt:

🔌 Keine Plugins installiert

Installierte Plugins werden hier automatisch angezeigt.

Der Pfeil führt zur zentralen Plugin-Verwaltung.

✅ Erledigt


🏗️ Aktuelle technische Grundlage

Der aktuelle Dashboard-Code ist bereits auf eine spätere dynamische Plugin-Verwaltung vorbereitet.

Die Variable:

$installedPlugins

dient als zentrale Datenquelle für die Darstellung der Plugin-Karten.

Aktuell ist damit zunächst die Darstellungs- und Integrationsstruktur vorbereitet.

Die eigentliche Plugin-Registry bzw. der zentrale Plugin-Loader wird im nächsten Entwicklungsschritt implementiert.

✅ Erledigt


🎯 Ziel der Plugin-Architektur

Das langfristige Ziel ist ein modulares TITAN CMS:

TITAN CMS CORE
│
├── SYSTEM
│   └── 🔌 Plugin-Verwaltung
│
└── PLUGINS
    ├── 📚 Wiki
    ├── ❓ FAQ
    ├── 💜 Spenden
    ├── 📅 Kalender
    ├── 🎫 Tickets
    └── weitere Plugins

Plugins sollen dabei möglichst unabhängig vom CMS-Core funktionieren und ihre eigenen Funktionen, Einstellungen und benötigten Komponenten bereitstellen können.

✅ Erledigt


🚀 Nächster Entwicklungsschritt

Als nächstes wird der eigentliche TITAN CMS Plugin-Loader / Plugin-Manager aufgebaut.

Dieser soll:

  • installierte Plugins erkennen ✅
  • Plugin-Metadaten laden ✅
  • aktive Plugins unterscheiden 
  • Plugin-Status verwalten
  • Admin-Menükarten registrieren
  • Plugin-URLs bereitstellen
  • Plugin-Icons und Beschreibungen bereitstellen
  • die spätere Installation und Deinstallation ermöglichen

Damit wird aus der aktuell vorbereiteten Plugin-Oberfläche ein vollständiges, dynamisches Plugin-System.

 

TITAN CMS – Forum Prefix-System

Version: 0.7.1

✨ Neues Feature: Thread-Prefix-System

Das TITAN CMS Forum wurde um ein vollständiges Prefix-System für Themen erweitert.

Mit Prefixen können Themen bereits in der Themenübersicht eindeutig kategorisiert und visuell hervorgehoben werden.


🏷️ Prefix-Verwaltung

Administratoren können Forum-Prefixe zentral verwalten.

Ein Prefix kann unter anderem folgende Informationen enthalten:

  • Prefix-Name
  • Prefix-Farbe
  • Prefix-Icon
  • Status / Aktivierung
  • Zuordnung zum Forum
  • Sortierreihenfolge

Dadurch können beispielsweise Prefixe wie folgende angelegt werden:

  • 🆕 Neu
  • ❓ Frage
  • 💡 Tutorial
  • 📢 Ankündigung
  • 🔧 Problem
  • ✅ Gelöst
  • 🎮 Gaming
  • 📰 News

🎨 Individuelle Prefix-Farben

Jedes Prefix kann eine eigene Farbe erhalten.

Die Farbe wird dynamisch über die CSS-Variable

--prefix-color

an das Frontend übergeben.

Dadurch kann das bestehende TITAN-Purple-Design beibehalten werden, während einzelne Prefixe trotzdem individuell hervorgehoben werden können.

Standardfarbe:

#a855f7

🖼️ Prefix-Icons

Prefixe können zusätzlich mit einem eigenen Icon versehen werden.

Wird kein Icon hinterlegt, verwendet das System automatisch:

🏷️

Dadurch bleiben Prefixe auch dann visuell vollständig, wenn kein individuelles Icon definiert wurde.


🧵 Integration in Themen

Prefixe werden direkt beim jeweiligen Thema angezeigt.

Die Darstellung erfolgt vor dem eigentlichen Thementitel.

Beispiel:

[ 🔧 Problem ] Counter-Strike 2 startet nicht

Der eigentliche Threadtitel bleibt dabei unverändert.


🔐 Sichere Ausgabe

Prefix-Daten werden vor der Ausgabe entsprechend escaped.

Betroffen sind insbesondere:

  • Prefix-Name
  • Prefix-Farbe
  • Prefix-Icon

Dadurch werden gespeicherte Werte nicht ungefiltert als HTML ausgegeben.


⚙️ Dynamische Fallbacks

Das System verfügt über Fallback-Werte.

Fehlt beispielsweise eine Prefix-Farbe, wird automatisch:

#a855f7

verwendet.

Fehlt ein Prefix-Icon, wird automatisch:

🏷️

verwendet.

Ein Prefix kann außerdem nur angezeigt werden, wenn sowohl eine gültige Prefix-ID als auch ein Prefix-Name vorhanden sind.


🗄️ Datenbankintegration

Die Prefix-Informationen werden direkt aus den Thread-/Prefix-Daten verarbeitet.

Verwendete Prefix-Werte sind unter anderem:

prefix_id
prefix_name
prefix_color
prefix_icon

Dadurch kann die Darstellung vollständig dynamisch erfolgen, ohne Prefixe fest im Template hinterlegen zu müssen.


🖥️ Darstellung im Forum

Die Frontend-Darstellung verwendet eigene CSS-Klassen:

.titan-thread-prefix
.titan-thread-prefix-icon

Damit kann das Prefix unabhängig vom restlichen Threadtitel gestaltet werden.

Die Farbe wird über:

--prefix-color

bereitgestellt.


🔗 Zusammenspiel mit dem Thread-Status

Das Prefix-System funktioniert unabhängig von den bereits vorhandenen Thread-Statusanzeigen.

Ein Thema kann daher gleichzeitig beispielsweise:

📌 Angeheftet
🔒 Geschlossen
[ ❓ Frage ]
Wie funktioniert das neue System?

anzeigen.

Prefixe ersetzen somit weder den Sticky-Status noch den Lock-Status.


🛡️ Kompatibilität mit bestehenden Threads

Bestehende Themen ohne Prefix bleiben vollständig funktionsfähig.

Wenn kein Prefix vorhanden ist, wird im Thread-Listing kein leerer Prefix-Container erzeugt.

Damit bleibt die bisherige Darstellung für ältere Themen erhalten.


📱 Responsive Design

Die Prefix-Darstellung ist Bestandteil des bestehenden TITAN CMS Forum-Layouts und kann über die vorhandenen Forum-CSS-Regeln für Desktop und mobile Darstellung angepasst werden.


Technische Zusammenfassung

Neue Prefix-Daten

prefix_id
prefix_name
prefix_color
prefix_icon

Frontend-Klassen

.titan-thread-prefix
.titan-thread-prefix-icon

CSS-Variable

--prefix-color

Standardwerte

Farbe: #a855f7
Icon: 🏷️

Sicherheitsmaßnahmen

  • HTML-Escaping der Prefix-Werte
  • Keine ungefilterte Ausgabe von Prefix-Daten
  • Prüfung auf vorhandene Prefix-ID
  • Prüfung auf vorhandenen Prefix-Namen
  • Fallback für fehlende Farbe
  • Fallback für fehlendes Icon

Status

Prefix-System: ✅ Implementiert

Das TITAN CMS Forum verfügt damit über eine dynamische Grundlage für farbliche und iconbasierte Themen-Prefixe, die zentral verwaltet und direkt in der Themenübersicht dargestellt werden können.

 

Vorbereitung

Vorbereitung auf Version 🎯 TITAN CMS 0.8.1A

🔒 Thema geschlossen Dieses Thema ist geschlossen. Neue Antworten sind nicht möglich.