Konstanten

Aus THM-Wiki
Wechseln zu: Navigation, Suche

Konstanten sind in allen Scripten, Klassen und Methoden verfügbar. In Klassen mit überwiegend statischen Methoden stellen sie oft eine Alternative zu Attributen dar. Einige Konstanten sind schon vordefiniert oder können für bestimmte Zwecke definiert werden.

Konstanten in Modulen sollten vor der Einbindung von common/init.inc.php festgelegt werden.

Vordefinierte Konstanten

  • SCRIPT_NAME: Die Konstante enthält den Pfad des aktuellen Moduls und wird in der Initialisierungs-Datei common/init.inc.php definiert. In Kombination mit der Konstanten PATH_TO_ROOT kann durch die Konkatenation PATH_TO_ROOT.SCRIPT_NAME z.B. auf das aktuelle Script verlinkt werden. Diese Variante ist der superglobalen Variablen $_SERVER["PHP_SELF"] vorzuziehen.
  • COMMON_MODULE: Wenn diese Konstante nicht selber im Modul definiert wird (siehe unten), passiert das in common/init.inc.php. Wenn das Script sich im Verzeichnis infos/ befindet, ist COMMON_MODULE = true, sonst false. Damit wird definiert, dass es sich um ein allgemein zugängliches Modul handelt, das kein Menü anzeigt und nicht authentifiziert wird.
  • ADMIN, STUDENT, DOZENT, SEKRETARIAT: Diese Konstanten repräsentieren die Werte 1 bis 4 für die entsprechenden Benutzergruppen.

Optionale Konstanten

Die folgenden Konstanten können bei Bedarf im Modul definiert werden:

  • PATH_TO_ROOT: Siehe Aufbau eines Moduls. Die Definition dieser Konstante ist zwingend.
  • USE_SSL: Für das Modul wird SSL-Verschlüsselung vereinbart. Das ist z.B. bei Modulen sinnvoll, die sensible Daten anzeigen und bearbeiten lassen. Ist diese Konstante mit true definiert, wird beim Aufruf auf das HTTPS-Protokoll umgeleitet. ACHTUNG: Wenn Sie auf einer nicht verschlüsselten Seite ein Formular mit der method post darstellen, dessen action auf eine verschlüsselte Seite führt, fordert der Browser vom Benutzer eine Bestätigung, dass die Daten nochmal an die Seite gesendet werden sollen, auf die weitergeleitet wurde. Umgehen können Sie das entweder durch verwenden der method get statt post oder durch Verschlüsseln der das Formular anzeigenden Seite, was zu bevorzugen ist, da so die Formulardaten gleich verschlüsselt übertragen werden.
  • COMMON_MODULE: Definieren Sie diese Konstante mit true, wenn es sich bei dem Modul um ein allgemein zugängliches Modul handelt. D.h. dieses Modul ist ohne Login aufrufbar (es wird nicht authentifiziert) und das Menü wird nicht angezeigt.
  • AUTHENTICATE: Wird diese Konstante mit false definiert, wird das Modul nicht authentifiziert, aber das Menü wird angezeigt. Das ist in der Regel nur bei direkt aufrufbaren Modulen im Root-Verzeichnis nötig, um die Fehlermeldung "Modul ist nicht in Datenbank eingetragen" zu vermeiden. ACHTUNG: Wenn Sie diese Konstante definieren, müssen Sie bei der Modulentwicklung selbst dafür Sorge tragen, dass die Inhalte nur Benutzern mit ausreichenden Rechten zugänglich sind.
  • DOCTYPE: Hier können Sie für ein Modul eine andere Doctype definieren. Möglich ist nur der Wert "Transitional". Verwenden Sie diese Möglichkeit nur in Ausnahmefällen, wenn Ihr Modul HTML-Elemente enthält, die mit der standardmäßig verwendeten XHTML 1.0 Strict-Doctype nicht valide sind (z.B. IFrames). Dies sollte aber wenn möglich vermieden werden.

Weblinks