Termine-Liste
=============

1. Anforderungen
----------------

Die Termine-Liste läuft unter PHP5 (getestet wurde mit v5.2.x). Folgende PHP-
Einstellungen MÜSSEN gegeben sein:

  magic_quotes      Off
  short_open_tag    On

Diese Einstellungen SOLLTEN gesetzt sein:

  register_globals  Off

Die MySQL-Extension für PHP muss installiert sein. Eine MySQL-Datenbank zum
Speichern der Einträge muss zur Verfügung stehen.

Der Web-Server muss so eingestellt sein, dass er "index.php" ausführt, wenn
nur das Verzeichnis aufgerufen wird.


2. Installation
---------------

Nach dem Entpacken kopieren Sie alle Dateien und Verzeichnisse an die gewün-
schte Stelle im Verzeichnis des Web-Servers (z.B. /srv/www/htdocs/termine/).

WICHTIG: Das Verzeichnis "cfg" darf NICHT über den Web-Server (also "von
außen") lesbar sein! Beim Apache-Web-Server wird dies durch die mitinstal-
lierte Datei ".htaccess" erreicht. Bei anderen Web-Servern konsultieren Sie
bitte das Handbuch bzw. bitten den System-Administrator um Hilfe.

Sichern Sie zuerst das cfg-Verzeichnis gegen unbefugten Zugriff ab! Überprü-
fen Sie, ob die Absicherung erfolgreich war, indem Sie versuchen, eine Datei
aus dem cfg-Verzeichnis (z.B. "HISTORY") im Web-Browser anzeigen zu lassen.
WICHTIG: Es genügt NICHT, wenn nur der Zugriff auf das Verzeichnis selbst mit
einer Fehlermeldung quittiert wird! Prüfen Sie, was passiert, wenn Sie im
Browser hinter dem Verzeichnisnamen einen Dateinamen angeben (also z.B.
"http://www.meinedomain.de/termine/cfg/HISTORY").

Stellen Sie sicher, dass alle .conf-Dateien im cfg-Verzeichnis beschreibbar
sind. Unter Unix/Linux erreichen Sie das, indem Sie "chmod a+w *.conf" im
cfg-Verzeichnis ausführen. Wenn Sie keinen Shell-Zugang haben, verwenden Sie
Ihr FTP-Programm, um die Rechte der Konfigurations-Dateien entsprechend zu
setzen.

Führen Sie jetzt das Installations-Script aus. Sie erreichen es z.B. unter
"http://www.meinedomain.de/termine/admin/"). Füllen Sie die Felder aus und
klicken Sie auf "Speichern". Wenn Sie alles korrekt eingegeben haben, er-
halten Sie die Meldung, dass die Installation abgeschlossen wurde und Sie
mit der Administration der Termine-Liste fortfahren können.

Die Termine-Liste ist jetzt einsatzbereit. Rufen Sie sie z.B. über
"http://www.meinedomain.de/termine/" auf. Zum Administrieren hängen Sie an
die Adresse der Termine-Liste "admin/" an, also z.B.
"http://www.meinedomain.de/termine/admin/".


3. Update
---------

Gehen Sie zum Update von einer früheren Version auf die aktuelle Version wie
folgt vor:

- Kopieren Sie alle Dateien außer den .conf-Dateien der neuen Version in das
  Termine-Verzeichnis.
- Wenn Sie eigene Style-Sheets für den Admin-Bereich erstellt haben, sollten
  Sie in diesen folgende Definitionen nachpflegen: "h3", "p.navm", "p.navmhi",
  "table.navm", "td.navm1" und "td.navm2". Diese sind neu in der Version 1.01.
  Darüber hinaus wurden für die Version 1.01 folgende Style-Definitionen für
  das neue Layout des ACPs angepasst: "h2" und "a.navm".
- Fertig.


4. Einbinden in die Homepage
----------------------------

Verwenden Sie den Code-Generator im Administrations-Bereich, um sich ein
HTML-Code-Snippet zum Einbinden der Termine-Liste erzeugen zu lassen.


5. Konfiguration
----------------

Die Termine-Liste ist in weiten Teilen konfigurierbar. Normalerweise erfolgt
die komplette Konfiguration über den Administrations-Bereich. Sollte bei der
Installation mal etwas schief gehen, kann es auch notwendig sein, die eine oder
andere Konfigurationsdatei "von Hand" anzupassen. Aus diesem Grund sind hier
alle Einstellungen aus dem cfg-Verzeichnis detailliert erklärt.

Allen Einstellungen in den .conf-Dateien ist gemeinsam, dass sie gültige PHP-
Zuweisungen sein müssen. Die $-Zeichen vor den Namen der Einstellungen, das
Gleichheitszeichen sowie ggf. die Anführungszeichen um die Werte sind also
zwingend erforderlich!


5.1. .htaccess

Diese Datei dient dazu, den Zugriff auf das Konfigurationsverzeichnis über
den Web-Server zu verhindern. Dies gilt für den Apache-Web-Server. Bei ande-
ren Web-Servern müssen ggf. andere Maßnahmen ergriffen werden.


5.2. adm.cfg

In dieser Datei erfolgen die Einstellungen für den Administrations-Bereich.

  $adm_nick        - Der Benutzername, der bei der Anmeldungen zum Admini-
                     strieren der Termine benötigt wird. Darf nicht leer
                     sein!
  $adm_pw          - Das Passwort zum Anmelden im Administrationsbereich.
                     Wählen Sie nach Möglichkeit immer ein sicheres Passwort,
                     das aus Großbuchstaben, Kleinbuchstaben und Ziffern be-
                     steht. Haben Sie das Passwort vergessen, können Sie hier
                     "21232f297a57a5a743894a0e4a801fc3" eintragen, um das
                     Passwort auf "admin" zu setzen.
  $adm_max_entries - Die Anzahl der Termine, die pro Seite im Administra-
                     tionsbereich angezeigt werden.
  $adm_css_file    - Das Style-Sheet für den Administrationsbereich. Wenn Sie
                     sich mit CSS auskennen, können Sie eine Kopie des mitge-
                     lieferten Style-Sheets anfertigen und diese gemäß Ihren
                     Vorstellungen anpassen.

5.3. db.conf

Die Einstellungen für die Datenbank werden i.d.R. nur bei der Installation
angepasst. Trotzdem sind sie hier der Vollständigkeit halber nochmal im De-
tail aufgehführt.

  $db_host    - Der Name (die Adresse) des DB-Servers. Normalerweise ist das
                "localhost".
  $db_user    - Der Name des DB-Benutzers für den Zugriff auf die Datenbank.
  $db_pass    - Das Passwort des DB-Benutzers für den Zugriff auf die Daten-
                bank.
  $db_catalog - Der Name der Datenbank, in der die Tabelle für die Termine
                angelegt wurde.
  $db_table   - Der Name der Tabelle, in der die Termine gespeichert werden.


5.4. termine.conf

Dies ist die Haupt-Konfigurations-Datei für das Aussehen der Termine-Liste

  $days        - Anzahl der kommenden Tage (einschl. heute), für die die Ter-
                 mine in der Liste angezeigt werden.
  $date_format - Das Format für die Datumsanzeige in der Termine-Liste. Der
                 Aufbau entspricht dem des Format-Patameters des PHP-Befehls
                 "date" (vgl. "http://www.php.net/date").
  $css_file    - Das Style-Sheet für die Termine-Liste (z.B. "standard.css").
                 Wenn Sie sich mit CSS auskennen, können Sie eines der mitge-
                 lieferten Style-Sheets kopieren und dann gemäß Ihren Vor-
                 stellungen anpassen. Die entsprechende Konfigurationsseite
                 im Administrationsbereich findet das neue Style-Sheet auto-
                 matisch und bietet es zur Auswahl an.


6. Kontakt
----------

Sie haben noch Fragen oder finden die Termine-Liste so toll, dass sie unbe-
dingt ein Lob loswerden müssen? Dann erreichen Sie mich unter

  info@schulz-koengen.de

Die aktuelle Version dieses Programms kann unter

  http://www.schulz-koengen.de/projects/termine/

gefunden werden.


7. Versions-Historie
--------------------

v1.02 - 2015-06-23 wrs
 - Die Datenbank-Zugriffe wurden von mysql-Funktionen auf mysqli-Funktionen
   umgestellt, da die Verwendung der mysql-Funktionen seit PHP 5.5.0 als
   veraltet angesehen und ggf. entsprechend gemeldet wird.

v1.01 - 2011-12-15 wrs
 - Der Administrationsbereich (ACP - Admin-Control-Panel) wurde komplett
   überarbeitet, die Navigation innerhalb des ACPs deutlich verbessert.
 - Neues Styleshet "Citric".
 - Neues ACP-Stylesheet "Deep Blue".
 - Bugfix: Die Design-Preview im ACP war fehlerhaft. Dies ist nun behoben.
 - Bugfix: Auf der Startseite des Admin-Bereichs gab es einen kleinen Logik-
   fehler, der dazu führen konnte, dass ungültiger HTML-Code erzeugt wurde
   (keine Beeinträchtigung der Anzeige). Dies ist nun behoben.

v1.00 - 2010-06-17 wrs
 - Erstmals für die Öffentlichkeit freigegeben.

<eof>