Klassen und Funktionen

Klassen und Funktionsbibliotheken sind im Ordner framework/ abgelegt. Eingerückte Klassen sind von der übergeordenten Elternklasse abgeleitet (extended). Sie erben die Funktionen der Elternklasse und erweitern diese um eigene.

  • class.wb.php
    • class.frontend.php
    • class.admin.php
      • class.login.php
  • class.database.php
  • class.wbmailer.php
  • class.order.php
  • frontend.functions.php
  • functions.php

Die wichtigsten Klassen und Funktionen sind nachfolgend erklärt.

class.wb.php

Diese Klasse beinhaltet die Kernfunktionen von WBCE und wird vor dem Anzeigen von Seiten des Front- und Backends geladen. Die Klasse stellt Funktionen bereit, um per GET, POST oder SESSIONS übertragene Daten zu filtern und auszulesen. Hier werden auch die beschriebenen $_SESSION-Variablen initialisiert. Weiterhin enthält die Klasse Funktionen, um die Zugangsberechtigung des aktuellen Benutzer zu überprüfen.

class.frontend.php

Diese Klasse ist von class.wb.php abgeleitet. Hier sind alle Funktionen versammelt, die notwendig sind, um eine Seite im Frontend aufzurufen. Nach Eingabe von http://ihredomain.tld oder http://ihredomain.tld/pages/foo.php wird die Datei http://ihredomain.tld/index.php aufgerufen. Diese Datei ruft die Klasse class.frontend.php auf und führt die darin enthaltenen Funktionen aus. Die Reihenfolge der Funktionsaufrufe kann nachfolgendem Flussdiagramm entnommen werden.

class.admin.php

Diese Klasse ist von class.wb.php abgeleitet. Sie wird immer dann aufgerufen, wenn eine Seite im WBCE-Backend angezeigt wird. Diese Klasse prüft, ob der Benutzer bereits angemeldet ist. Sollte dies noch nicht geschehen sein, wird er zur Loginseite umgeleitet. Ist der Benutzer bereits angemeldet, werden die für ihn zugänglichen Bereiche ermittelt und angezeigt.

class.login.php

Diese Klasse ist von class.admin.php abgeleitet. Der Aufruf erfolgt entweder über http://ihredomain.tld/login/index.php oder über class.admin.php (wenn der Benutzer noch nicht angemeldet ist).

Diese Klasse enthält alle Funktionen, die für den Anmeldeprozess benötigt werden (Abgleich der Benutzereingaben mit in Datenbank hinterlegten Informationen, Zählung der Loginversuche, Anmeldung, Auslesen der Benutzerinformationen ...).

class.database.php

In dieser Datei sind die beiden Klassen: database und mysql definiert. Die Klasse database enthält alle Funktionen, um eine Verbindung mit der Datenbank herzustellen, Abfragen durchzuführen und die Verbindung zur Datenbank zu schließen. Die Klasse mysql enthält nützliche Funktionen zum Zugriff auf die Datenbank - die wichtigsten sind nachfolgend aufgelistet:

  • query(): führt eine Datenbankabfrage aus
  • numRows(): gibt die Anzahl der Treffer (Reihen) zurück
  • fetchRow: liefert alle Datensätze (Spalten) eines Treffers (Reihe)
  • get_one(): gibt den Inhalt des ersten Datensatzes (Spalte) des ersten Treffers (Reihe) zurück
class.wbmailer.php

Diese Klasse wurde ist von der Klasse PHPMailer abgeleitet. PHPMailer ist ein externes Open-Source- Projekt, das Funktionen zum Versenden von E-Mails bereitstellt. 

Die Klasse class.wbmailer.php liest die Konfigurationseinstellungen von WBCE aus und setzt Standardwerte für Sprache, Zeichensatz (z.B. utf8), Absendernamen, E-Mailadresse des Absenders (FROM:) und Zeilenumbruch (nach 80 Zeichen).

class.order.php

Diese Klasse ist ausschließlich für die Sortierung der erstellten Seiten zuständig. Verschiebt man eine erstellte Seite im Backend an eine andere Stelle, wird diese Klasse aufgerufen. Die Klasse übernimmt die Aktualisierung der Datenbank, wenn Seiten im Backend verschoben werden. Die darin enthaltenen Funktionen sind für Modulentwickler im Normalfall also nicht sonderlich interessant.

frontend.functions.php

Diese Funktionsbibliothek hält nützliche Funktionen für das Frontend bereit. Die wichtigsten Funktionen sind:

  • show_menu2(): generiert Navigationselemente (Menüs)
  • page_content(): zeigt den Inhalt des übergebenen Blocks an (Default:= 1)
  • show_breadcrumbs(): zeigt den Pfad zur aktuellen Seite an
  • page_title(): zeigt den Titel der Webseite an
  • page_description(): zeigt die Beschreibung der Seite an (Meta-Tags)
  • page_keywords(): zeigt die Schlüsselwörter an (Meta-Tags)
  • page_header(): gibt die Kopfzeile aus
  • page_footer(): gibt die Fußzeile aus
  • register_frontend_modfiles(): lädt die optionalen Moduldateien frontend.css und frontend.js und ggf. jQuery in den <head> der Seite
functions.php

Diese Funktionsbibliothek enthält Funktionen für das Dateihandling, unter anderem:

  • rm_full_dir(): löscht das angegebene Verzeichnis samt Dateien und Unterordner
  • directory_list(): gibt ein Array mit allen Unterverzeichnissen ausgehend von einem bestehenden Verzeichnis aus
  • chmod_directory_contents: rekursive Änderung der Berechtigungen für alle Dateien und Verzeichnise
  • file_list(): gibt ein Array mit allen Dateien eines Verzeichnises zurück (Dateien können ausgeschlossen werden)
  • get_home_folders(): gibt ein Array mit allen verfügbaren Homeverzeichnissen an
  • make_dir(): erstellt eine neues Verzeichnis
  • change_mode(): ändert Berechtigungen für Dateien und Verzeichnisse
  • is_parent(): prüft ob die angegebene Seite ein übergeordnetes Menü (parent) besitzt
  • level_count(): gibt Menütiefe (level) der angegebenen Seite aus
  • root_parent(): gibt die PAGE_ID der übergeordneten Seite (parent) aus
  • get_page_title(): gibt Seitentitel der Seite aus
  • get_menu_title(): gibt Menütitel der Seite aus
  • get_parent_titles(): gibt Seitentitel aller übergeordenten Seiten aus
  • get_parent_ids(): gibt PAGE_IDs aller übergeordenten Seiten aus
  • get_page_trail(): gibt den page trail aus