#############################################################################################################
#  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
~!Fragen und Antworten
~Fragen und Antworten
~Ansatheus
#~~Dateien und Verzeichnisse         | Steuerzeichen wird nur untersucht
~?letzte Bearbeitung der content.txt| Steuerzeichen wird nur untersucht
#############################################################################################################
#INHALT

%Fragen und Antworten

Hier findet Ihr Antworten auf Fragen, die hufig gsetellt werden oder auf Sachverhalte, die fters
bei der Arbeit mit AT Contenator auftreten.
  <hr width="100%" size="1" noshade>
%Wie kann ich Menpunkte erzeugen?
AT Contenator generiert Menpunkte aus Verzeichnissen, die bestimmte Kriterien erfllen mssen.

- eine vorangestellte einstellige Zahl mit nachfolgendem Unterstrich -> 1_Home
- mit erstem Grobuchstaben -> Home

Wichtig ist, da jedes Verzeichnis eine index.php enthlt. Im Normalfall ist dies die index.php
und die dazugehrige content.txt fr den Verzeichnisaufruf, die im Verzeichnis "_verzeichnis_index_dateien"
liegen und nur in das entsprechende Verzeichnis hineinkopiert werden.
Es knnen bis zu 10 Unterverzeichnisse erzeugt und als Untermen angezeigt werden. Dieser Wert kann
im Code der core.menu.php noch vergrert werden.
  <hr width="100%" size="1" noshade>
%Wie kann ich Menpunkte ausblenden?
Verzeichnisse mit folgenden Kriterien werden nicht als Menpunkt angezeigt:

- home
- _home
  <hr width="100%" size="1" noshade>
%Was kann ich in die content.txt schreiben und was mu ich dabei beachten?
normaler Text
Im Prinzip kann sofort in einem Texteditor losgeschrieben werden, ohne irgendetwas beachten zu mssen.
Das ist Ideal fr die schnelle Ablage von Textinformationen jeglicher Art.

formatierter Text
Mittels speziellen Steuerzeichen knnen Texte zeilenweise formatiert und somit strukturiert werden.
AT Contenator untersucht immer die ersten beiden Zeichen ganz am Anfang jeder Zeile auf Steuerzeichen.
Dabei ist darauf zu achten, da auch keine fr die zuknftige Nutzung reservierten Steuerzeichen genommen
werden (siehe Hilfe|Steuerzeichen).

HTML-Code
HTML-Code wird ebenfalls verarbeitet. Dabei ist ebenfalls auf die reservierten Steuerzeichen zu achten.
Wenn der Code ab dem 3. Zeichen beginnt, ist man auf der sicheren Seite, obwohl die ersten beiden Zeichen
ebenfalls funktionieren.

PHP-Code
PHP-Code mu per Include eingebunden werden (siehe Hilfe|Steuerzeichen).
  <hr width="100%" size="1" noshade>
%Warum ldt die Seite nicht, wenn ein Menpunkt angeklickt wird?
Dieses Verhalten liegt nicht am AT Contenator, sondern an den Einstellungen der PHP.INI. Damit
der Contenator korrekt arbeitet, sollte folgender Eintrag in der PHP.INI gemacht werden:

&3register_globals=ON

Dieser Eintrag sorgt dafr, da PHP-Variablen zwischen den Seiten bergeben werden knnen.
Bei einigen PHP-Versionen ist dieser Eintrag entweder auf OFF, nicht vorhanden oder die PHP.INI
existiert gar nicht erst. Ist das der Fall, dann wird diese einfach angelegt - unter Windows im
Windows-Verzeichnis und unter UNIX/Linux im etc-Verzeichnis.
Ist dies unter UNIX/Linux nicht mglich, z.B. wegen fehlender Benutzerrechte oder wenn PHP im
^safe_mode^ luft (insbesondere auf Uni-Servern), dann kann dies elegant mit einer .htaccess-Datei
umgangen werden, die im Root des contenatorbasierenden Systems liegt, also im selben Verzeichnis,
in der auch die index.php liegt, die das contenatorbasierende System aufruft.
Die .htaccess hat folgenden Inhalt:

&3#(entspricht off)
&3php_value register_globals 0

&3#(entspricht on)
&3php_value register_globals 1

Die nicht gewnschte Option mu mit einen # am Zeilenanfang auskommentiert werden.
Den AT-Contenator-Sourcen und dem Beispielprojekt liegt diese Datei bei. Es mu nur die entsprechende
Option aktiviert werden (# vor der Option entfernen). Dies darf aber nur gemacht werden, wenn die
Variablenbergabe nicht funktioniert, sonst gibt es einen internen Serverfehler.

Dank an Martin Lehmann, TU Berlin

Anmerkung
Obige Einstellungen sind nur fr ltere Versionen von AT Contentaor ntig.
Aktuelle Versionen (ab 2014), bentigen dies nicht mehr. Hier werden auch Variablen bergeben
bei ^&3register_globals=OFF^.

  <hr width="100%" size="1" noshade>
%Kann ich fr die Online-Bearbeitung der Inhalte mittels dem Modul OnlineEdit nur bestimmte
%Benutzer zulassen?
AT Contenator hat bisher keine eigene Benutzerverwaltung. Dennoch kann die .htaccess-Funktionalitt
des Apache Webservers dafr genutzt werden (serverseitiger Zugriffsschutz).

1. Es wird ein Verzeichnis im Projektpfad angelegt.
(hier /beispielprojekt/pwpw ) kleingeschrieben damit es nicht im Men angezeigt wird.

In dieses Verzeichnis kommen die .htpasswd und die .htgroup Datei. Zur Sicherheit kann das Verzeichnis auch
noch mit einer .htaccess geschtzt werden.

Das mit dem zustzlichen Unterverzeichnis muss nicht sein, aber so sind immer alle Passwortdateien
zusammen. Wenn dann mal alles gesperrt werden muss, einfach dieses Verzeichnis umbennen.

2. Die unten Beipielhaft aufgefhrte ".htaccess" Datei kommt ins Projektverzeichnis
( /beispielprojekt )

3. Sollten fr einige Seiten spezielle Zugangsregeln zu Anwendung kommen, dann wird zustzlich
zur "modul.ordner.onlineedit.php" Datei die ".htaccess" Datei in das Verzeichnis kopiert
in der die zu editierende "content.txt" steht.

Das war es auch schon. Jetzt hat man, je nach Inhalt der ".htaccess" Datei, eine Editiermglichkeit
auf User oderGruppenbasis.

&4Beispielvorlage fr die .htaccess Datei

AuthUserFile /var/www/htdocs/Beispielprojekt/pwpw/.htpasswd (Absoluter Pfad zur Datei, dieser muss angepasst werden)
AuthGroupFile /var/www/htdocs/Beispielprojekt/pwpw/.htgroup (Absoluter Pfad zur Datei, dieser muss angepasst werden)

AuthType Basic
AuthName "Seitenlogin"

require user Demo

  &lt;Files ./modul.ordner.onlineedit.php&gt;
  &nbsp;&nbsp;&nbsp;&nbsp;require user Demo
  &lt;/Files&gt;

&4Beispielvorlage fr die .htpasswd Datei
\&nbsp;#Der Username ist "Demo" das Passwort lautet "passwort"

Demo:$apr1$RP4.....$a425xHbGfI/On1R6upGLx/:Demouser:

&4Hier eine Beispielvorlage fr die .htgroup Datei
\&nbsp;#Der Username ist "Demo" das Passwort lautet "passwort"
Gruppe ist all (alle Gruppen)

all: Demo

Update
Da AT Contenator mittlerweile einen Online-Editor hat, der den Zugang mittels Passwort-Abfrage regelt,
kann alternativ auch dieses Modul eingesetzt werden (bei Standardinstallation mit dabei). Mchte man
zudem die o.g. serversetige Abfrage nutzen, sollte die .htaccess-Datei im Root einfach wie folgt
erweitert werden:

  &lt;Files module.ContenatorEdit.php&gt;
  &nbsp;&nbsp;&nbsp;&nbsp;require user Demo
  &lt;/Files&gt;

Zustzlich mu dann die Passwort-Abfrage in der Datei "module.ContenatorEdit.php" deaktiviert oder
entfernt werden. Diese Lsung erlaubt es, gruppenweise Berechtigungen zu vergeben. Dazu mu nur
jedes Unterverzeichnis dann eine entsprechende .htaccess erhalten.

Dank an Kay Dittmann
   <hr width="100%" size="1" noshade>
%Beim Laden der Seite wird ein "permission denied" bei Zeile 110 der core.parser.php angezeigt - warum?
Da ist eine Sache des Providers, die aber mit wenige Handgriffen umgangen werden kann. Grund ist, da
manche Provider automatisch in einem Zeitraum (z.B. alle 24 Stunden) Verzeichnisse anlegen, die
Zugriffsstatistiken etc. enthalten. Diese Verzeichnisse sind geschtzt, der User darf nicht darauf
zugreifen -> permission denied. In Zeile 110 der core.parser.php wird die Funktion count_files_dir
fr Statistikangaben rekursiv aufgerufen, die in der Fuzeile erscheinen.

Jetzt gibt es 4 Lsungsvarianten:

1) dem Provider bescheid sagen, er solle doch die Berechtigungen entsprechend setzen
2) in der content.txt im Statistik-Bereich Dateien und Verzeichnisse deaktivieren
3) in Zeile 512 (ca.) in der core.parser.php den Aufruf der Funktion auskommentieren
4) in der Funktion die 7. Zeile ersetzen oder erweitern

Wird z.B. das Verzeichnis "usage" angelegt, dann mu die Zeile so erweitert werden:
   <code>
if (is_dir("$dir/$datei") && $datei!="." && $datei!=".." && $datei!="usage" && (substr($datei,0,1) != "_"))
  </code>
Das Verzeichnis "usage" wird somit ausgeschlossen und die Statistik funktioniert weiterhin.

Dank an Tobias Tabler
  <hr width="100%" size="1" noshade>
%Kann ich meiner Homepage einen Titel fr die Titelzeile des Browsers geben?
Ja! Datei "core.config.dat" Option "websitetitel".
  <hr width="100%" size="1" noshade>
%Wie knnen bestimmte Dateien von der Generierung im Linkindex ausgeschlossen werden?
Es gibt verschiedene Mglichkeiten, dies zu tun:

1. Wie kann ich bestimmte Dateiarten fr den Linkindex zulassen?
In der Datei "core.config.dat" im Verzeichnis "_config" gibt es die Option "dateiarten". Wird dort eine
Dateiart nach folgendem Muster: .txt; eingetragen, dann wird jede Datei mit dieser Endung im Linkindex
generiert. Den gleichen Effekt hat, wenn .txt keine Dateiendung ist sondern mitten im Dateiname auftaucht.

2. Dateien ignorieren
Will man aber eine bestimmte Dateiart unter einem Menpunkt fr den Linkindex zulassen aber diese unter
einem anderen Menpunkt nicht im Linkindex anzeigen, dann knnen sie auch explizit ausgeschlossen werden.
Dazu gibt es in der "core.config.dat" die Option "dateiignore". Erhalten die auszuschlieenden Dateien
in ihrem Namen eine bestimmte Zeichenfolge (z.B. gesperrt oder _nichtanzeigen) und wird diese Zeichenfolge
in dieser Option nach folgendem Muster: gesperrt; oder _nichtanzeigen; eingetragen, werden alle Dateien
mit dieser Zeichenfolge ausgeschlossen.

3. Linkindex ausschalten
Die Option "linkindex=off" in der "core.config.dat" schaltet den Generator fr den Linkindex ab. Jetzt
wird zwar grundstzlich kein Linkindex mehr generiert, aber es kann mittels eines eigenen Parser-Moduls
ein eigene Funktionalitt fr einen Linkindex integriert werden.
  <hr width="100%" size="1" noshade>
%Was sind Men-Module?
Ein Men-Modul klinkt sich in das Men der vom AT Contenator erzeugten Website ein. Dafr steht unter
dem automatisch generierten Modul ein eigener Bereich zur Verfgung. In der Option "moduletitel" in
der "core.config.dat" kann diesem Bereich eine berschrift gegeben oder auch komplett weggelassen werden.
Alle Men-Module mssen nach einem genau vorgegebenen Muster im Dateinamen benannt werden:
module.Menuepunkt.Anzeigeziel.php -> module.Gaestebuch.rechter.php.
Es kann jede im Browser anzeigbare Dateiart als Men-Modul integriert werden - z.B. module.Info._blank.txt.
Auch direkte Links per META-Refresh (HTML) oder header-location (PHP) sind mglich.
Werden keine anzeigbaren Verzeichnisse angelegt aber dafr Men-Module, wird ebenfalls ein Men erzeugt,
allerdings ohne Untermens.
Ein Beispiel ist das mitgelieferte Men-Modul "Gaestebuch"

Weitere Einzelheiten in der Hilfe zu "Module".
   <hr width="100%" size="1" noshade>
%Was sind Parser-Module?
Im Gegensatz zu Men-Module werden Parser-Module in den Parser von AT Contenator eingebunden. Dadurch
kann die Funktionalitt individuell angepat und beliebig erweitert werden. Die Funktionalitt steht dann
zentral fr die ganze Website zur Verfgung. Soll dagegen eine erweiterte Funktionalitt nur fr bestimmte
Menpunkte zur Verfgung stehen (z.B. passwortgeschtzter Bereich), kann dies ber Includes geschehen.
Die Include-Datei mu dabei in dem entsprechenden Verzeichnis liegen und per Steuerzeichen in die
dortige content.txt eingebunden werden (siehe Hilfe|Steuerzeichen).
Auch Parser-Module mssen nach einem vorgegebenen Muster benannt werden: module.parser.Name.php.
Ein Beispiel dafr ist das mitgelieferte Parser-Modul "Thumbnails".

   <hr width="100%" size="1" noshade>
%Was sind Ordner-Module?
Ordner-Module knnen von einfach bis komplex reichen. Sie ergnzen die Funktionalitt immer lokal
in einem Menpunkt, der ja gleichzeitig auch einen Ordner darstellt. Ordner-Module knnen einfache
Impressumseiten sein aber auch ein datenbankgesttztes Gstebuch oder Shop-System.

Weitere Einzelheiten in der Hilfe zu "Module".
   <hr width="100%" size="1" noshade>
%Warum arbeitet mein Schnufflodondron nicht richtig?
Das Schnufflodondron bentigt den Verzeichnisnamen, in dem es liegt. Wenn AT Contenator im Verzeichnis
"at_contenator" liegt, dann lautet der Eintrag fr die Otion "unterverzeichnispfad=/at_contenator" in
der "core.config.dat".
   <hr width="100%" size="1" noshade>
%Warum funktioniert das Parser-Modul "Thumbnails" nicht?
Es funktioniert schon, doch man mu es mit den richtigen Dateinamen "fttern". In Zeile 85 wird das
Module angewiesen, nur Datei anzuzeigen, die im Dateinamen die Zeichenfolge "thumb" oder "voll"
enthalten, z.B. bild_thumb.gif oder bild_voll.gif. Das ist deshalb notwendig, weil Parser-Module
global wirken und bei Nichtunterscheidung alle Bilder in allen Verzeichnissen als Thumbnails
generiert werden wrden. Natrlich kann diese Zeile beliebig angepat und erweitert werden.
Es sollte aber darauf geachtet werden, das der Eintrag "parsermodule=on" in der "core.config.dat"
im Verzeichnis "_config" gesetzt ist. Die Anzahl der Thumbnails, die in einer Reihe angezeigt
werden sollen, kann mit dem Eintrag "thumbnails=Anzahl" ebenfalls in dieser Datei verndert werden.

