#############################################################################################################
#  GRUNDKONFIGURATION DER content.txt  Andreas Theusner 2003 - Steuerzeichen siehe Hilfe                   #
#<< 1  Die Anzahl der Zeichen in einer Reihe sollte 120 bei 1024x768 nicht berschreiten              120 >>#
#############################################################################################################
#STATISTIK
~!Module
~Module
~Andreas Theusner  2003
#~~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 Menstruktur
einklinken, dann gibt es Parser-Module, die an den Parser gebunden werden knnen und es gibt die
Ordner-Module, die jeweils fr einen Ordner (also Menpunkt) 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 mssen 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 knnen auch HTML-Dateien oder z.B. auch Perl-Dateien oder jede
andere web- und browserfhige Dateiart wie z.B. TXT-Dateien, dafr 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 fr AT Contenator, da diese Datei ein Modul ist. "module" ist dabei die Kennung fr ein
Hauptmodul und "modul" ist die Kennung fr ein Untermodul eines Hauptmoduls, also eine Includedatei oder
Zieldatei fr 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" fr den rechten Anzeigebereich (Frame) und "_blank" fr 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 fr die Einbindung eines Men-Moduls. Es kann hier jede andere, fr den Browser
lesbare Endung eingegeben werden.

Zur Beachtung
Alle Teile mssen mit einem Punkt getrennt werden. Der Aufbau mu ebenfalls beibehalten werden.
Kleinschreibung ist wichtig auer beim Namen!

Geltungsbereich
Men-Module gelten global. Das bedeutet, da sie immer in der Menstruktur auftauchen und nutzbar sind.


%Parser-Module
Das ist die Variante fr 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 grundstzlich erstmal die Kennung fr ein nichtanzeigbares Modul fr 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 fhrt
die darin enthaltenen Aktionen aus.

name
Dies bezeichnet den Namen des Parser-Moduls. Er dient nur zur eindeutigen Kenntlichmachung der enthaltenen
Funktionalitt.

php
Es kann entweder .php oder .inc als Endung gelten. Das Wichtigste ist aber, da Parser-Module ausfhrbaren
PHP-Code enthalten mssen.

Zur Beachtung
Alle Teile mssen 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 knnen durch individuelle Einstellungen
in der core.config.dat sowie eigene Optionen im Parser-Modul fr bestimmte Seiten unterschiedliche Effekte
erzielt werden.
Alle Teile mssen mit einem Punkt getrennt werden. Der Aufbau mu ebenfalls beibehalten werden.
Kleinschreibung ist wichtig!


%Ordner-Module
Ordner-Module knnen 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 Verfgung gestellt wedren. Auf diese Weise knnen HTML-Dateien,
die mit anderen Tools erzeugt wurden, problemlos genutzt werden. Aber auch komplette Anwendungen (z.B.
passwortgeschtzte Userbereiche, Gstebcher oder Shop-Systeme) knnen so verfgbar gemacht werden.
Alle wichtigen Informationen werden auch hier mit dem Dateinamen bergeben:

 modul.ordner.name.php
 modul.ordner.name.htm
 
modul
Das ist grundstzlich erstmal die Kennung fr ein nichtanzeigbares Modul fr 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 fr den Benutzer.

name
Dies bezeichnet den Namen des Ordner-Moduls. Er dient nur zur eindeutigen Kenntlichmachung der enthaltenen
Funktionalitt.

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 mssen.

Zur Beachtung
Alle Teile mssen mit einem Punkt getrennt werden. Der Aufbau mu ebenfalls beibehalten werden.

Geltungsbereich
Ordner-Module gelten lokal. Das bedeutet, da die Funktionalitt eines Ordner-Moduls nur in dem Ordner
oder Verzeichnis gegeben ist, in dem es sich befindet. Ordner-Module knnen aber mit globalen Konfigurationen
ergnzt 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 knnen
(siehe unten).


%core.config.dat
Es ist grundstzlich mglich, in der zentralen Konfigurationsdatei "core.config.dat" im Verzeichnis "_config"
eigene Konfigurationsoptionen fr ein eigenes Parser-Modul zu setzen, die dann im entsprechendem Parser-Modul
ausgewertet werden knnen.
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 zurckgegeben (sofern vorhanden). Im oberen Beispiel heit 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 mchte eine eigene Konfigurationsdatei
fr ein Modul nutzen. Die Variable $pfad enthlt 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 geschtzt durch eine .htaccess-Datei.

Im brigen knnen Men-Module ebenfalls diesen Mechanismus enthalten. Dort jedoch mu der zweite
Parameter nicht angegeben werden bzw. darf die Variable $pfad nicht bergeben werden.
