/src/→ Backend (Einstieg: index.php, Includes + Module-Handling)./public/→ Frontend (jede Datei einzeln aufrufbar, benötigt Standard-Includes)./config/→ zentrale Konfigurationsdateien.framework.php→ zentrales Framework, definiert Standard-Variablen und lädt Datenbanksystem.
framework.phpist das zentrale Framework:- Lädt
config/conf.inc.php(Master-Konfiguration). - Lädt
src/core/DatabaseManager.php(Datenbanksystem). - Definiert Variablen und Standard-Aktionen, die in 90% aller Fälle benötigt werden.
- Lädt
- Einstieg über
src/index.php. - Module und weitere Komponenten werden über
includeeingebunden. - Stark von
framework.phpabhängig.
- Keine zentrale Steuerung über Includes.
- Jede Datei wird einzeln geladen.
- Globale Variablen stammen trotzdem aus
framework.php.
- Master-Konfiguration + Datenbanksystem immer über
framework.php. - Einheitliche Variablen sind projektweit verfügbar und dort definiert.
src/index.phpist der zentrale Einstieg.
| Datei | Zweck |
|---|---|
core/AdminCore.php |
AdminCore (Dashboard, zentrale Verwaltung) |
core/LanguageManager.php |
Sprachverwaltung (Singleton) |
module/ModuleBase.php |
Modul-Basis, Loader |
sys.conf.php |
Framework-Auswahl (framework.php oder core/DatabaseOnlyFramework.php) |
auth_handler.php |
Authentifizierung |
- Steuerung über
switch($option)inindex.php. - Feste Includes aus
inc/:inc/admin.phpinc/module.phpinc/settings.phpinc/profile.phpinc/logs.phpinc/resources.phpinc/users.phpinc/createuser.phpinc/domain-registrations.phpinc/domain-settings.phpinc/system.php
- Besonderheit
case 'users': zusätzlich POST-Aktions-Handling (z. B. Aktivieren, Zusammenführen, Berechtigungen ändern, Passwort-Update, Session verlängern).
Jede Frontend-Datei muss folgende Includes einbinden:
../src/sys.conf.php../framework.php../src/core/LanguageManager.php../src/core/ActivityLogger.php
- Sprachverwaltung über:
$lang = LanguageManager::getInstance(); $currentLang = $lang->getCurrentLanguage();
- Aktiv bei
case 'modules'. Module.phpprüft$_GET['mod'].- Schema:
/module/<mod_key>/templates/main.php. - Datei vorhanden → Modul wird geladen.
- Datei fehlt → Fehlermeldung "Module template not found".
- Ohne
$_GET['mod']→ Hinweis "Bitte wählen Sie ein Modul aus den Tabs oben aus".
To be extended: Neue Module, Includes oder Framework-Komponenten werden hier ergänzt.