#############################################################################################################
#  GRUNDKONFIGURATION DER content.txt © Ansatheus 2003-2014 - Steuerzeichen siehe Hilfe                     #
#<< 1  Die Anzahl der Zeichen in einer Reihe sollte 120 bei 1024x768 nicht überschreiten              120 >>#
#############################################################################################################
#STATISTIK
~!Module
~Module
~©Ansatheus
#~~Dateien und Verzeichnisse         | Steuerzeichen wird nur untersucht
~?letzte Bearbeitung der content.txt| Steuerzeichen wird nur untersucht
#############################################################################################################
#INHALT

%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
*~config.help.txt


§Konfigurationseinstellung aus core.config.dat holen

*~config.help.php


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.
