Klassen-Funktionen

WBCE stellt im Verzeichnis framework/ eine Reihe von Klassen und Funktionsbibliotheken bereit. Diese Dateien sind für das Funktionieren des CMS erforderlich und dürfen nicht gelöscht oder manuell verändert werden — sie werden bei jedem Update überschrieben.


Wichtige Framework-Dateien

Datei Inhalt
framework/config.php Grundkonfiguration, alle Basiskonstanten
framework/class.wb.php Basisklasse, Session, Sicherheit
framework/class.frontend.php Frontend-Klasse, Seitenvariablen
framework/class.admin.php Backend-Klasse, Admin-Objekt
framework/functions.php Hilfsfunktionen (Navigation, Dateisystem, Strings)
framework/class.database.php Datenbankklasse (PDO)
framework/I.php Insert-Klasse für CSS/JS-Einbindung

Das $admin-Objekt (Backend)

In Backend-Dateien wie modify.php, save.php oder tool.php steht das $admin-Objekt zur Verfügung:

// FTAN-Sicherheitscheck
if (!$admin->checkFTAN()) { $admin->print_error('Fehler.'); }

// Erfolgsmeldung + Weiterleitung
$admin->print_success('Gespeichert!', $url);
$admin->print_footer();
exit;

// FTAN als URL-Parameter
$url = 'save.php?' . $admin->getFTAN(false);

Wichtig: Der Konstruktor von $admin druckt den Header bereits — print_header() nicht nochmal aufrufen!


Das $database-Objekt

Steht in allen via CMS eingebundenen Dateien zur Verfügung:

// Lesen
$rows = $database->fetchAll("SELECT * FROM `{TP}mod_xyz` WHERE `active` = ?", [1]);

// Schreiben
$database->insertRow('{TP}mod_xyz', ['title' => $title, 'active' => 1]);

// Fehlerprüfung
if ($database->hasError()) { echo $database->getError(); }

Details zur PDO-Datenbankklasse: siehe SECURITY_GUIDE und wbce_reference.


Nützliche Hilfsfunktionen

Funktion Beschreibung
get_page_title($page_id) Seitentitel anhand ID
get_page_trail($page_id) Breadcrumb-Pfad als Array
get_subs($parent_id) Unterseiten einer Seite
page_link($link) Interne Link-URL
rm_full_dir($path) Verzeichnis rekursiv löschen
make_dir($path) Verzeichnis erstellen

Die vollständige Funktionsreferenz ist in wbce_reference.md dokumentiert.