Entwicklung - Grundlagen
Verzeichnisstruktur
Die Skripte, aus denen das System besteht, sind in zwei Verzeichnisse aufgeteilt. Das Hauptverzeichnis enthält alle Skripte, die direkt vom System aufgerufen werden. Skripte oder Skriptteile, die in ein oder mehrere Skripte eingebunden werden, sind im Unterverzeichnis includes/ abgelegt. Die Skripte, welche die Datenbank anlegen, sind im Unterverzeichnis sql/ enthalten, sie sind mit dem Programm mysqldump erstellt worden. Die Dokumentation finden Sie im Unterverzeichnis doc/, wo sich dieses Handbuch und die regelmäßig gestellten Fragen (FAQ) befinden.
Bei der Erstellung neuer Skripte sollten Sie von der Verwendung der folgenden Bausteine Gebrauch machen, die durch das gesamte System hindurch eingesetzt werden.
session.inc
Diese Seite muss auf jeder Seite eingebunden werden, nachdem die Variable $PageSecurity mit einem entsprechenden Wert versorgt wurde (siehe Abschnitt Sicherheitskonzept). Das Skript session.inc hat folgende Funktionen:
-
Es eröffnet eine Sitzung, wenn dies noch nicht geschehen ist und prüft, dass ein berechtigter Benutzer angemeldet ist. Wenn das der Fall ist, wird geprüft, ob der Benutzer die für die aufgerufene Seite die erforderliche Berechtigung besitzt, Grundlage ist der übergebene Wert in $PageSecurity.
-
Es bindet im Weiteren folgende Skripte ein:
-
config.php - Dieses Script beinhaltet alle Grundeinstellungen für das System. Zusammen mit der session.inc sorgt es dafür, dass zum Programmstart alle benötigten Systemvariablen belegt sind.
-
ConnectDB.inc - Dieses Skript stellt eine Datenbankverbindung her und enthält alle die Funktionen, die die Datenbank einbinden. Wenn mit der Datenbank kommuniziert wird, ruft das System nur die hier definierten Funktionen auf und keine MySQL-spezifischen Funktionen. Änderungen an der Datenbenk wären ansonsten sehr schwierig anzuwenden. Durch die Verwendung dieser Datei muss nur diese selbst angepasst werden, falls eine andere Datenbank verwendet werden soll.
header.inc
Diese Datei sollte eingebunden werden, nachdem die Variable $title mit dem Namen der Seite versorgt wurde. Sie setzt voraus, dass die config.php bereits geladen wurde ebenso muss die session.inc natürlich vor der header.inc eingebunden sein. Das Programm hat die folgenden Funktionen:
-
es gibt den Seitenkopf mit dem Menü (Hauptmenü, Kundensuche, Materialsuche, Lieferantensuche, Handbuch, Abmelden) aus.
-
es setzt das Cascaded-Style-Sheet, das das vom Benutzer ausgewählte Layout auf die folgenden Seiteninhalte anwendet.
footer.inc
Diese Datei enthält das Datum, ein kleines Logo, den Firmennamen, den Copyright-Hinweis und die abschließenden HTML-Tags