KONFIGURATION
Die Gästebuch-Klasse XVW_Guestbook enthält
zu Beginn eine Default-Konfiguration aller möglichen Parameter:
class XVW_Guestbook {
/***
# Default-Konfiguration
#
# Mit "!" gekennzeichnete Werte müssen geprüft und gegebenenfalls mittels
# << p_config >> beim Konstruktoraufruf überschrieben werden
***/
var $config = array
( 'on' => true
, 'edit' => true
, 'mysql_host' => null
, 'mysql_port' => null
, 'mysql_user' => null
, 'mysql_pw' => null
, 'mysql_dbname' => null
, 'mysql_init' => null
, 'tablename' => null
, 'mail_sender' => null
, 'mail_to' => null
, 'mail_cc' => null
, 'mail_static_server' => null
, 'mail_static_link' => "/guestbook40.php"
, 'mail_info_admin' => false
, 'mail_info_user' => false
, 'mail_debug' => false
, 'mail_static_guestbook' => "Gästebuch"
, 'mail_static_webmaster' => null
, 'adm_name' => "test"
, 'adm_pw' => "test"
, 'images' => "/images/guestbook"
, 'external_params' => null
, 'headline' => "Gästebuch"
, 'headline_add' => "Herzlich willkommen"
, 'allowed_tags' => "<b><i><u><a><blockquote>"
, 'quote_start' => "<blockquote><b>Zitat:</b><hr><font color=blue><b>"
, 'quote_end' => "</b></font><hr></blockquote>"
, 'perpage' => 10
, 'navigation_range' => 2
, 'addpost_top_on' => true
, 'addpost_top_image' => "/images/guestbook/guestbook-arrow-down.bmp"
, 'addpost_top_linktext' => "Eintrag hinzufügen"
, 'addpost_bottom_on' => true
, 'addpost_bottom_image' => "/images/guestbook/guestbook-arrow-up.bmp"
, 'addpost_bottom_linktext' => "Eintrag hinzufügen"
, 'max_post_length' => 2048
, 'is_html' => true
, 'phpself' => null
, 'ip_delete_after' => 30
, 'css' => '/guestbook40.css'
);
... hier kommt der restlichen Code
} // -- end of class -- //
All diese Parameter werden innerhalb des Gästebuchs verwendet.
KONFIGURATION ANPASSEN ($gb_gv_configuration )
Die default -Konfiguration muss an die tatsächlichen
Gegebenheiten angepasst damit das Gästebuch ordnungsgemäß funktioniert. So
sind z.B. die MYSQL-Parameter dem Gästebuch natürlich nicht bekannt. Um
die Konfiguration anzupassen ist der Gästebuch Klasse XVW_Guestbook
bei Aufruf ein Array mit Parametern, die die default -Konfiguration
überschreibt, mitzugeben.
Dazu ist ausserhalb der Gästebuch-Klasse ein Array zu definieren
in dem die Parameter, die überschreiben werden sollen bzw. müsssen, angegeben sind.
In den Beispielen ist das der Parameter $gb_gv_configuration .
Der folgende Beispiel Array enthält die wichtigsten Parameter, die man für
eine sinnvolle Konfiguration angeben sollte:
/***
# Parameter, die die default-Konfiguration des Gästebuchs
# überschreiben.
# HINWEIS: die Variable ist ausserhalb der Gästebuch-Klasse zu definieren
***/
$gb_gv_configuration = array
( 'mysql_host' => "localhost"
, 'mysql_port' => 3306
, 'mysql_user' => "SCOTT"
, 'mysql_pw' => "TIGER"
, 'mysql_dbname' => "database123"
, 'mysql_init' => "SET NAMES UTF-8"
, 'tablename' => "table_guestbook"
, 'mail_address' => "ut.void@gmx.de"
, 'mail_cc' => ""
, 'mail_sender' => "guestbook@domain.tld"
, 'mail_static_server' => "http://www.domain.tld"
, 'mail_static_link' => "/guestbook40.php"
, 'mail_static_guestbook' => "Mein Gästebuch"
, 'mail_static_webmaster' => "webmaster@domain.tld"
, 'adm_name' => "test"
, 'adm_pw' => "test"
, 'headline' => "Mein Gästebuch"
, 'headline_add' => "Herzlich willkommen in meinem Gästebuch"
." <img src=\"#images#/smile.gif\" border=\"0\">"
, 'is_html' => true
);
/***
# Der Parameter-Array muss beim Anlegen des Gästebuchs mitübergeben
# werden.
***/
$gb_guestbook = new XVW_Guestbook( $gb_gv_configuration );
...
Das ist natürlich nur ein Beispiel. Man muss die eigenen MYSQL
-Daten und auch die eigene Domain und Mailadressen eintragen. Auch soll
euer Gästebucjh sicher nicht "VoiD's Gästebuch" heissen?
KONFIGURATION PARAMETER IM DETAIL
Konfigurations-Parameter des Gästebuchs |
Parameter |
Beispiel |
Erläuterung |
on |
true|false |
boolean der angibt, ob das Gästebuch überhaupt
aktiv ist. Bei false wird nur eine Fehlernachricht ausgegeben |
edit |
true|false |
boolean der angibt, ob Eintragungen im Gästebuch
vorgenommen werden können. Bei false können die
Eintragungen nur betrachtet werden, aber keine neuen Eintragungen erstellt
werden (read-only). |
mysql_host |
String |
die Adresse des Datenbank-Hosts. Meistens reicht hier loaclahost
als Angabe aus. |
mysql_port |
integer |
der Port auf des Datenbank Servers. Default ist 3306 . |
mysql_user |
String |
der Datenbank Benutzer |
mysql_pw |
String |
das Passwort des Datenbank Benutzers (s.o.) |
mysql_dbname |
String |
der Name der Datenbank in dem sich die Gästebuch Tabelle befindet |
mysql_init |
String|Array |
ein oder mehrere Befehle die bei der Verbindungsherstellung zur
Datenbank ausgeführt werden sollen |
tablename |
String|vw_guestbook |
der Name der Gästebuch Datenbank-Tabelle |
Bei einer MySQL-Datenbank die über localhost erreichbar ist
sehen die Eintragungen folgendermassen aus:
$config = array
(
..
, "mysql_host" => "localhost"
, "mysql_port" => 3306
, "mysql_user" => "SCOTT"
, "mysql_pw" => "TIGER"
, "mysql_dbname" => "prod"
, "mysql_init" => "SET NAMES UTF-8"
, "tablename" => "vw_guestbook"
...
);
Im Beispiel oben ist die Gästebuch-Tabelle vw_guestbook in der
Datenbank prod , welche über den MySQL-Server der über die
Adresse localhost:3306 erreichbar ist. Der Benutzer loggt sich
mit den Anmeldedaten SCOTT und TIGER an der
Datenbank an.
|
mail_sender |
String |
EMail-Adresse unter der die Benachrichtigungen des Gästebuchs versandt
werden ("Absender"). |
mail_to |
String |
E-Mailadresse für interne Benachrichtigung des Gästebuchs. Der
Administrator/Webmaster erhält an diese Adresse eine Benachrichtigung
über einen neuen Eintrag im Gästebuch.
Hinweis: nur bei mail_info_admin=true
|
mail_cc |
String |
Zusätzliche E-Mailadressee für interne Mitteilung. Die Adresse dient
- wie mail_to - dazu, dass der Administrator/Webmaster über neue
Einträge im Gästebuch informiert wird, indem er hier eine Alternative
E-Mailadresse angegeben kann. |
mail_static_server |
String |
Statischer Text, der als Platzhalter für die Serveradresse des Gästebuchs
verwendet werden kann. Der Text wird nur in den Mailnachrichten verwendet
und wird in den internen Gästebuch-Funktionalitäten nicht benutzt.
|
mail_static_link |
String|/guestbook40.php |
Statischer Text, der als Platzhalter für die URL des Gästebuchs
verwendet werden kann. Der Text wird nur in den Mailnachrichten verwendet
und wird in den internen Gästebuch-Funktionalitäten nicht benutzt.
|
mail_info_admin |
true|false |
Flag mit dem angegeben werden kann, ob der Administrator über eine neue
Eintragung im Gästebuch per EMail benachrichtigt werden soll.
|
mail_info_user |
true|false |
Flag mit dem angegeben werden kann, ob der Benutzer, der den
vorangegangenen Eintrag erstellt hat, über den neuen Eintrag
benachrichtigt werden soll.
|
mail_debug |
true|false |
Möglichkeit zum Debug der Mailnachrichten, die versendet werden. Bei
true wird die Nachricht auf der Seite ausgegeben und es wird
keine Mail versandt. Bei false werden die Mails
versandt, aber es erfolgt keine Ausgabe auf der Seite. Der Parameter
dient der Kontrolle der Mails.
Hinweis: Gästebuch Einträge werden trotzem im Gästebuch gespeichert, es
ist daher ggfs. ein manuelle Bereinigung der Einträge vorzunehmen.
|
mail_static_guestbook |
Guestbook |
Statischer Text für den Namen des Gästebuchs, der in den Informations-Mails
ausgegeben wird.
Hinweis: Unterschied zwischen mail_static_guestbook und
headline ist, dass in headline Formatierungsanweisungen
enthalten ein können. In mail_static_guestbook sollte der
reine Text enthalten sein.
|
mail_static_webmaster |
webmaster@domain.tld |
Statischer Text für den Webmasters, der in den Informations-Mails
ausgegeben wird.
|
adm_name |
test |
Name des Administrators |
adm_pw |
test |
..und zugehöriges Passwort |
test und test sollten natürlich NICHT als
Anmeldeinformationen verwendet werden.
Der Login als Admin kann über 2 Wege erfolgen:
- im Link sind die Parameter
admName=adminname und
admPW=passwort anzugeben
- im Gästebuch ist im Feld "Mailadresse" die Eingabe
adminname@@passwort anzugeben und "Vorschau" zu
wählen
|
images |
/guestbook/images |
Pfad in den Images Ordner |
external_params |
array(...) |
Externe Parameter die in die Links des Gästebuchs miteingebunden werden |
Soll z.B. in jeden Link die Paramter app , page
und action mit den jeweiligen Werten miteingebunden werden
ist folgender Array anzugeben:
array( "app" => "WORLD"
, "page" => "GUESTBOOK"
, "action" => "DO_SOMETHING"
);
|
headline |
Gästebuch |
Titel des Gästebuchs |
headline_add |
Willkommen im Gästebuch von ... |
Zusätzliche Zeile die unterhalb von headline ausgegeben wird |
allowed_tags |
<b><i><u><a><blockquote> |
Erlaubte HTML-Tags |
quote_start |
<blockquote><b>Zitat:</b><hr><font color=blue><b> |
HTML-Code der vor einem Zitat eingebunden wird. |
quote_end |
</b></font><hr></blockquote> |
HTML-Code der nac einem Zitat eingebunden wird |
perpage |
integer|10 |
Anzahl der Einträge je Seite |
navigation_range |
integer|2 |
Anzahl der Seiten vor/nach in der Navigationsleiste |
addpost_top_on |
true|false |
Link zum Eintragen neuer Posts oberhalb des Gästebuchs darstellen |
addpost_top_image |
#images#/guestbook-arrow-down.bmp |
Pfad zum Bild bei "Neuer Eintrag" oberhalb des Gästebuchs. Der Platzhalter
#image# wird durch die image -Eintragung
zur Laufzeit ersetzt
|
addpost_top_linktext |
String|Eintrag hinzufügen |
Bezeichnung des Links für neue Posts (oberhalb) |
addpost_bottom_on |
true|false |
Link zum Eintragen neuer Posts unterhalb des Gästebuchs darstellen |
addpost_bottom_image |
#images#/guestbook-arrow-up.bmp |
Pfad zum Bild bei "Neuer Eintrag" oberhalb des Gästebuchs. Der Platzhalter
#image# wird durch die image -Eintragung
zur Laufzeit ersetzt
|
addpost_bottom_linktext |
String|Eintrag hinzufügen |
Bezeichnung des Links für neue Posts (unterhalb) |
max_post_length |
integer|2048 |
Maximale Länge des Posts, der eingetragen werden kann |
is_html |
true|false |
Flag das angibt, ob das Gästebuch eine eigenständige HTML-Seite
(true oder in einer anderen HTML-Seite eingebunden ist (false )
|
phpself |
$_SERVER['PHP_SELF'] |
Adresse der eigenen Seite |
ip_delete_after |
integer|30 |
Vorhaltezeit der IP-Adresse in Tagen. Bei Einträgen die älter als
ip_delete_after sind, wird die IP-Adresse aus der Gästebuch
Tabelle entfernt.
Meine private Einschätzung: Die IP-Adresse wird als schützenswerte
Informaton gesehen. Eine dauerhafte Speicherung sollte daher nicht erfolgen.
Aus Gründen der eventuellen Nachverfolgung erscheit es sinnvoll die IP-Adresse
zumindest eine bestimmte Anzahl an Tagen vorzuhalten. Über den Parameter
kann diese Vorhaltezeit geregelt werden.
|
css |
String|/guestbook40.css |
Name der CSS-Datei in der die Style-Informationen für das Gästebuch
enthalten sind.
Hinweis: die CSS-Datei sollte im selben Ordner wie die Gästebuch PHP-Datei
abgelegt werden, dann reicht der Angabe des Dateinamens aus. Die Datei
wird mittels file_get_contents geladen. Bei abweichendem
Ablageort ist der Parameter entsprechend anzupassen.
|
STYLE (guestbook40.css )
Mit den style -Angaben kann das Gästebuch optisch angepasst
werden. Der Style wird durch eine externe CSS Datei definiert. Es können
beliebige Anpassungen gemacht werden. Für weitere Anpassungen muss eventuell
der Quellcode angepasst werden.
CSS Style Angaben für die HTML-Elemente |
CSS |
Erläuterung |
Allgemein:
#XVW {
...
}
|
DIV in dem das Gästebuch dargestellt wird. Bei allen folgenden
Style-Angaben ist #XVW vorangestellt, so dass sich die
Definition nur auf Elemente innerhalb des DIV-Bereichs beziehen.
|
#XVW a {
font-size: 16px;
text-decoration: none;
}
|
alle Links formatieren |
#XVW TABLE {
font-family: Arial;
font-size: 16px;
color: black;
background-color: darkgray;
width: 80%;
}
|
alle Tabellen formatieren |
#XVW TR.head {
color: white;
background-color: darkblue;
}
|
Reguläre HEAD -Zeile |
#XVW TR.subhead {
color: black;
background-color: #8E8EAE;
}
|
Unter HEAD -Zeile |
#XVW TR.base {
background-color: #EDEDED;
}
|
Basis-Zeile #1 |
#XVW TR.base-alt {
background-color: #DEDEDE;
}
|
Basis-Zeile #2 |
#XVW TD {
padding: 4px;
text-align: left;
vertical-align: top;
}
|
Formatierung alle Tabellen-Zellen |
#XVW HR {
color: darkgray;
}
|
xxxx |
#XVW TR.err-head {
color: white;
background-color: darkred;
}
|
HEAD -Zeile der Fehler-Tabelle |
#XVW TR.err-base {
background-color: white;
}
|
Text-Zeile der Fehler-Tabelle |
#XVW INPUT , #XVW TEXTAREA , #XVW SELECT {
color: darkblue;
font-family: "Courier New";
font-size: 0.9em;
}
|
Formatierung der Eingabefelder |
#XVW INPUT[type="submit"] {
font-family: Arial;
font-size: 12px;
color: black;
}
|
Buttons um-definieren. Ist notwendig, da diese auch vom Typ
INPUT sind
|
#XVW .headline ,
#XVW .headline-sub {
font-family: Arial;
font-size: 18px;
color: black;
width: 100%;
text-align: center;
}
|
Formatierung der beiden Überschrifts-Zeilen oberhalb des Gästebuchs |
#XVW .headline-sub {
font-size: 16px;
}
|
Spezialformatierung für die 2. Überschrifts-Zeile |
#XVW .xvw-navigation {
background-color: transparent;
}
|
Navigatons Tabelle ohne Hintergrundfarbe |
#XVW .xvw-navigation TD {
font-size: 18px;
padding: 0px;
}
|
das allgemeine Padding (s. #XVW TD ) bei den Navigationselementen aufheben |
#XVW .xvw-navigation A {
font-size: 12px;
text-decoration: none;
}
|
die allgemeine Linkformatierung ((s. #XVW A ) bei den
Navigationselementen aufheben
|
#XVW TABLE.footer {
background-color: transparent;
font-size: 14px;
font-family: Arial;
width: 40%;
white-space: nowrap;
}
|
FOOTER benötigt eine spezielle Formatierung |
#XVW .footer TD {
padding: 0px;
}
|
s. FOOTER |
#XVW .footer A {
font-size: 12px;
font-family: Arial;
}
|
s. FOOTER |
KONSTANTE
Ausserhalb der Gästebuch-Klasse werden 2 Konstante definiert.
Diese sind GB_MAIL_MESSAGE und GB_MAIL_INFO_MESSAGE
und stellen die Mailinhalte als Template dar. Das Gästebuch kann bei
entsprechender Konfiguration Mails an
- den Administrator senden um zu informieren, dass eine neuer Eintrag erfolgt
ist
- den vorangehenden Ersteller senden, um diesen auf den neuen Eintrag hinzuweisen
Die Konstanten (und damit der zu versendende Mailinhalt) können an die eigenen
Erfordernisse angepasst werden.
Verwendete Konstante |
Konstante |
Erläuterung |
GB_MAIL_MESSAGE |
In der Konstanten wird der Mailtext, der an den vorangehenden Ersteller
versandt wird definiert. In dem Template kann alle
Konfigurationsparameter mit der Syntax ##<PARAMETER>## verwendet
werden. Zusätzlich kann auf den aktuellen Eintrag (Post) mit:
##POST_ID## - Name des Erstellers
##POST_NAME## - Name des Erstellers
##POST_DATE## - Datum der Erstellung
##POST_MAIL## - E-Mailadresse des Erstellers
##POST_HOMEPAGE## - Homepage des Erstellers
##POST_IP## - IP-Adresse des Erstellers
##POST_MESSAGE## - Nachricht des Erstellers
zugegriffen werden.
Neben den statischen Werten mail_static_server und
mail_static_link kann auch
MAIL_DYN_SERVER
MAIL_DYN_LINK
verwendet werden.
Hinweis: der Mailversand erfolgt nur mail_info_user=true
|
Beispiel:
define("GB_MAIL_MESSAGE",
"Hallo,\n"
."auf Ihren Beitrag in ##MAIL_STATIC_GUESTBOOK## ist eine Antwort eingegangen.\n"
."\n"
."Sie erhalten diese eMail nur, weil Sie der unmittelbare Vorposter\n"
."sind. Sie erhalten aufgrund dieses Posts keine weiteren eMails.\n"
."\n"
."##POST_NAME## antwortete:\n"
."==================================================\n"
."##POST_MESSAGE##\n"
."==================================================\n"
."\n"
."Sie erreichen das Gästebuch mit diesem Link:\n"
."##MAIL_DYN_SERVER####MAIL_DYN_LINK##\n"
."\n"
."Mit freundlichem Gruß\n"
."##MAIL_STATIC_WEBMASTER##\n"
);
|
GB_MAIL_INFO_MESSAGE |
In der Konstanten wird der Mailtext, der an den Gästebuch-Administrator
zwecks Information über einen neuen Eintrag versandt wird, definiert. In
dem Template können alle Konfigurationsparameter mit der Syntax
##<PARAMETER>## verwendet werden. Zusätzlich kann auf den aktuellen
Eintrag (Post) mit:
##POST_ID## - Name des Erstellers
##POST_NAME## - Name des Erstellers
##POST_DATE## - Datum der Erstellung
##POST_MAIL## - E-Mailadresse des Erstellers
##POST_HOMEPAGE## - Homepage des Erstellers
##POST_IP## - IP-Adresse des Erstellers
##POST_MESSAGE## - Nachricht des Erstellers
zugegriffen werden.
Neben den statischen Werten mail_static_server und
mail_static_link kann auch
MAIL_DYN_SERVER
MAIL_DYN_LINK
verwendet werden.
Hinweis: der Mailversand erfolgt nur mail_admin_user=true
|
Beispiel:
define("GB_MAIL_INFO_MESSAGE",
"Neuer Eintrag in Ihrem Gästebuch:\n"
."\n"
."==================================================\n"
."\n"
."Name: ##POST_NAME##\n"
."Zeit: ##POST_DATE##\n"
."eMail: ##POST_MAIL##\n"
."Homepage: ##POST_HOMEPAGE##\n"
."IP: ##POST_IP##\n"
."--------------------------------------------------\n"
."##POST_MESSAGE##\n"
."==================================================\n"
."\n"
."\n"
."Sie erreichen Ihr Gästebuch unter:\n"
."##MAIL_DYN_SERVER####MAIL_DYN_LINK##\n"
."\n"
."\n"
."------\n"
."Dies ist eine automatisch erzeugte Mail, die bei jedem neuen Eintrag\n"
."in ihr Gästebuch versandt wurde. Möchten Sie keine weiteren\n"
."Benachrichtigungsmails erhalten, ändern die bitte den Konfigurations-\n"
."wert [mail_info_admin]\n"
);
|
|