Ansatheus © 2003-2006
  
Vorwort
  AT Contenator kennt drei verschiedene Modularten. Es gibt Menü-Module, die sich in die Menüstruktur
  einklinken, dann gibt es Parser-Module, die an den Parser gebunden werden können und es gibt die
  Ordner-Module, die jeweils für einen Ordner (also Menüpunkt) gelten.
  
Installation
  Die Installation aller Modularten erfolgt ganz einfach:
  Parser- und Menü-Modul-Dateien in das Rootverzeichnis von AT Contenator kopieren. Dort liegen auch
  alle core-Dateien. Ordner-Modul-Dateien in das entsprechende Verzeichnis (oder Ordner) kopieren.
  Ordner-Module müssen dann noch per Include-Steuerzeichen (dem Sternchen gefolgt von dem Dateinamen
  des Moduls) in die content.txt eingebunden werden.
  
  
Programmierung von Zusatzmodulen
  
Menü-Module
  Das ist die einfachere Variante, die auch jeder Nutzen kann, der nicht PHP beherrscht, denn es sind nicht
  zwingend PHP-Dateien notwendig, sondern es können auch HTML-Dateien oder z.B. auch Perl-Dateien oder jede
  andere web- und browserfähige Dateiart wie z.B. TXT-Dateien, dafür genutzt werden.
  Die Schnittstelle ist im Prinzip ganz einfach und logisch aufgebaut. Alle wichtigen Informationen sind
  im Dateinamen enthalten:
  
    module.name.ziel.php
    modul.name.ziel.php
    
  module/modul
  Ist die Kennung für AT Contenator, daß diese Datei ein Modul ist. "module" ist dabei die Kennung für ein
  Hauptmodul und "modul" ist die Kennung für ein Untermodul eines Hauptmoduls, also eine Includedatei oder
  Zieldatei für einen Link. Dateien mit der Kennung "module" werden als Link generiert, Dateien mit "modul"
  dagegen nicht.
  
  name
  Das ist die Bezeichnung, die als Link erscheint.
  
  ziel
  Das Fenster oder der Frame, in dem die Seite aufgerufen werden soll.
  Im AT Contenator sind "rechter" für den rechten Anzeigebereich (Frame) und "_blank" für ein neues
  Browserfenster definiert.
  
  Beispiele
  module.Neues Modul.rechter.php -> Aufruf im rechten Anzeigebereich
  module.Neues Modul._blank.php -> Aufruf in einem neuen Browserfenster
  
  php
  Die Endung. Sie ist unerheblich für die Einbindung eines Menü-Moduls. Es kann hier jede andere, für den Browser
  lesbare Endung eingegeben werden.
  
  Zur Beachtung
  Alle Teile müssen mit einem Punkt getrennt werden. Der Aufbau muß ebenfalls beibehalten werden.
  Kleinschreibung ist wichtig außer beim Namen!
  
  Geltungsbereich
  Menü-Module gelten global. Das bedeutet, daß sie immer in der Menüstruktur auftauchen und nutzbar sind.
  
  
Parser-Module
  Das ist die Variante für den passionierten PHP-Programmierer, denn dieses Interface erwartet Dateien, die
  PHP-Code enthalten. Dabei ist es nicht wichtig, ob die Endung .php oder .inc ist. Wiederum werden alle
  wichtigen Informationen mit dem Dateinamen übergeben:
  
    modul.parser.name.php
    
  modul
  Das ist grundsätzlich erstmal die Kennung für ein nichtanzeigbares Modul für AT Contenator (siehe Menü-Module).
  Diese Kennung muß eingehalten werden.
  
  parser
  Diese Kennung sagt dem Contenator, daß dieses Modul ein Parser-Modul ist. Dieses liest er dann ein und führt
  die darin enthaltenen Aktionen aus.
  
  name
  Dies bezeichnet den Namen des Parser-Moduls. Er dient nur zur eindeutigen Kenntlichmachung der enthaltenen
  Funktionalität.
  
  php
  Es kann entweder .php oder .inc als Endung gelten. Das Wichtigste ist aber, daß Parser-Module ausführbaren
  PHP-Code enthalten müssen.
  
  Zur Beachtung
  Alle Teile müssen mit einem Punkt getrennt werden. Der Aufbau muß ebenfalls beibehalten werden.
  
  Geltungsbereich
  Parser-Module gelten global. Das bedeutet, daß sie, sobald die Option parsermodule=on in der core.config.dat
  gesetzt ist, jedesmal das Parser-Modul geladen wird. Dennoch können durch individuelle Einstellungen
  in der core.config.dat sowie eigene Optionen im Parser-Modul für bestimmte Seiten unterschiedliche Effekte
  erzielt werden.
  Alle Teile müssen mit einem Punkt getrennt werden. Der Aufbau muß ebenfalls beibehalten werden.
  Kleinschreibung ist wichtig!
  
  
Ordner-Module
  Ordner-Module können von einfach bis komplex reichen. Z.B. kann eine einzelne HTML-Datei mit dem Inhalt
  eines Impressums mittels Steuerzeichen (*modul.ordner.impressum.html) ganz einfach in die content.txt
  eingebunden und somit dem Contenator zur Verfügung gestellt werden. Auf diese Weise können HTML-Dateien,
  die mit anderen Tools erzeugt wurden, problemlos genutzt werden. Aber auch komplette Anwendungen (z.B.
  passwortgeschützte Userbereiche, Gästebücher oder Shop-Systeme) können so verfügbar gemacht werden.
  Alle wichtigen Informationen werden auch hier mit dem Dateinamen übergeben:
  
    modul.ordner.name.php
    modul.ordner.name.htm
    
  modul
  Das ist grundsätzlich erstmal die Kennung für ein nichtanzeigbares Modul für AT Contenator (siehe Menü-Module).
  Diese Kennung muß eingehalten werden.
  
  ordner
  Diese Kennung sagt dem Contenator, daß dieses Modul ein Ordner-Modul ist. Diese Information dient lediglich
  der Orientierung für den Benutzer.
  
  name
  Dies bezeichnet den Namen des Ordner-Moduls. Er dient nur zur eindeutigen Kenntlichmachung der enthaltenen
  Funktionalität.
  
  php
  Es kann entweder .php, .htm oder ein anderes anzeigbares Format als Endung gelten. Das Wichtigste ist aber,
  daß Ordner-Module anzeigbaren Text, HTML- oder PHP-Code enthalten müssen.
  
  Zur Beachtung
  Alle Teile müssen mit einem Punkt getrennt werden. Der Aufbau muß ebenfalls beibehalten werden.
  
  Geltungsbereich
  Ordner-Module gelten lokal. Das bedeutet, daß die Funktionalität eines Ordner-Moduls nur in dem Ordner
  oder Verzeichnis gegeben ist, in dem es sich befindet. Ordner-Module können aber mit globalen Konfigurationen
  ergänzt werden, sofern sie auf eine globale Konfigurationsdatei wie die "core.config.dat" im Verzeichnis
  "_config" oder einer eigenen sich darin befindlichen Konfigurationsdatei zugreifen. Ist das der Fall, muß
  das Ordner-Modul einen entsprechenden Mechanismus enthalten, um Konfigurationen auslesen zu können
  (siehe unten).
  
  
core.config.dat
  Es ist grundsätzlich möglich, in der zentralen Konfigurationsdatei "core.config.dat" im Verzeichnis "_config"
  eigene Konfigurationsoptionen für ein eigenes Parser-Modul zu setzen, die dann im entsprechendem Parser-Modul
  ausgewertet werden können.
  Wie das geschieht, wird nachfolgend beschrieben.
  
  Konfigurationsoption in core.config.dat
#------------------------------------------------------------------------------
#FÜR PARSER-MODUL modul.parser.thumbnails.php
#------------------------------------------------------------------------------

#WERT, WIEVIELE THUMBNAILS IN EINER REIHE ANGEZEIGT WERDEN SOLLEN
thumbnails=4
  
  
  Konfigurationseinstellung aus core.config.dat holen
  
<?php
//BEI ABGESCHALTETEM register_globals
import_request_variables("CPG","");
  
//core.config.php INCLUDEN - OPTIONAL, DA PARSER DIES SCHON MACHT
  
include_once("core.config.php");
  
  
//ANZAHL DER THUMBNAILS IN EINER REIHE AUS core.config.dat HOLEN
  
$thumbnails config_read("thumbnails",$pfad."/_config");
  
  if(
chop($thumbnails) > "")  //ABFRAGEN, OB WERT VORHANDEN
  
{
    
$anzahl chop($thumbnails);    //WERT SETZEN
  
}

  
//WERT WEITERVERARBEITEN
  
echo "Die Anzahl der Thumbnails, die in einer Reihe dargestellt werden, beträgt: $anzahl<br>";
?>
  
  
  Mit der Funktion config_read() wird eine Konfigurationsoption direkt angesprochen und der zugewiesene
  Wert zurückgegeben (sofern vorhanden). Im oberen Beispiel heißt die Option "thumbnails". Der erste
  Parameter von config_read() erwartet diese Option. Die Schreibweise muß mit der in der "core.config.dat"
  exakt übereinstimmen. Der zweite Parameter ist optional, sollte aber trotzdem dann mit angegeben werden,
  wenn das Modul als Parser-Modul in den Parser eingebunden wird. Der dritte Parameter ist ebenfalls
  optional und muß nicht mit angegeben werden es sei denn, man möchte eine eigene Konfigurationsdatei
  für ein Modul nutzen. Die Variable $pfad enthält dann den dynamisch generierten Pfad zum Root des
  AT Contenators und "_config" ist dann das Verzeichnis, in dem sich die Datei "core.config.dat" befindet.
  Dieses Verzeichnis ist geschützt durch eine .htaccess-Datei.
  
  Im übrigen können Menü-Module ebenfalls diesen Mechanismus enthalten. Dort jedoch muß der zweite
  Parameter nicht angegeben werden bzw. darf die Variable $pfad nicht übergeben werden.

    Letzte Bearbeitung: 26.05.2006