2.2. Individuelle Modifizierungen

2.2.1. Captchas modifizieren

Ein Captcha ist (meist) eine Grafik, deren Inhalt der Benutzer in ein Formularfeld eingetragen muss. Damit soll nur Menschen die Weiterbenutzung der Webseite ermöglicht (und Spam von Maschinen verhindert) werden. Weitere Informationen bei Wikipedia.

In der Datei "mod_guestbook/_include/captcha/captcha.inc.php(.dist)" können Anpassung bezüglich der "Farben", "Schriftarten" und "Schriftgrößen" vorgenommen werden. Weitere Informationen dazu befinden sich in Form von PHP-Kommentaren in dieser Datei.

Auch das Bild "mod_guestbook/_include/captcha/captcha.png(.dist)" sollte gegen ein anderes der gleichen Größe und des gleichen Dateityps ohne die Endung ".dist" ersetzt werden, damit nicht jedes Gästebuch gleich aussieht oder damit Ihre Grafik farblich zur restlichen Webseite passt. In diesem Verzeichnis befinden sich auch noch Beispieldateien, die umbenannt werden können.

Die beiden verschiedenen Captchas, das Bild-Captcha und das Rechen-Captcha, können im Browser über "www.domain.ltd/conpresso/mod_guestbook/_include/captcha/captcha.php" bzw. "www.domain.ltd/conpresso/mod_guestbook/_include/captcha/rechen-captcha.php" aufgerufen und überprüft werden.

2.2.2. AdvancedBBCode modifizieren

BB-Code besteht aus Tags mit eckigen Klammern, ähnlich den HMTL-Tags.
Durch diesen Code können einzelne Wörter oder z.B. Zitate innerhalb eines Gästebuch-Artikels auf einfache Art und Weise hervorgehoben werden.

Im Gästebuch-Modul wird der BB-Code als "abbc"-Code ("AdvancedBBCode") gekennzeichnet, da die Umwandlungsfunktionen dieses Codes von Yves Goergen unter diesem Namen veröffentlicht wurden. Eine Vorschau der Möglichkeiten dieses "abbc"-Codes finden Sie auf der AdvancedBBCode-Demoseite.

Es lässt sich einstellen, welche Ersetzungen beim "AdvancedBBCode" vorgenommen werden, nähere Informationen dazu lesen Sie bitte auf der AdvancedBBCode-Demoseite nach. Diese Modifizierungen müssen in der Datei "mod_guestbook/_include/abbc/abbc.cfg.php" vorgenommen werden.
Am Ende dieser Datei lassen sich auch die eingebundenen Smilies durch Auskommentieren (Bsp: /* dieser Text ist auskommentiert bzw. deaktiviert. */) auswählen und es lassen sich eigene Smilies hinzufügen. Neue Smilies müssen an dieser Stelle eingetragen werden und im Verzeichnis "mod_guestbook/_include/abbc/smile/" abgelegt werden.
Öffnen Sie einfach diese Datei und schauen Sie sich diese ab Zeile 500 an, dort finden Sie alle nötigen Informationen. Weiter unten befinden sich auch schon weitere Smilies, die zur Zeit auskommentiert sind.

[Achtung] Achtung

Diese Modifizierungen sollten nur von erfahrenen Administratoren ausgeführt werden.
Es wird außerdem empfohlen, einen Editor zu verwenden, der PHP-Code farblich hervorheben kann (z.B. Notepad++).

Alle Modifizierungen am "AdvancedBBCode" müssen nach einem Update des Gästebuchs erneut durchgeführt werden, daher sollte Sie Ihre Änderungen rechtzeitig sichern.

2.2.3. Lokalen Header und Footer bearbeiten

In den Dateien "mod_guestbook/_local_header.php(.dist)" und "mod_guestbook/_local_footer.php(.dist)" befinden sich einige Code-Zeilen, die für das Gästebuch wichtig sind. Diese können zum Teil aber auch über Template-Platzhalter abgebildet werden, in dem Fall habe sie ähnliche Namen.
So kann der Link zum Eintragen ins Gästebuch im Template z.B. auch über den Platzhalter "<!-- guestbook: link2enter; -->" ausgegeben werden.

Einige dieser dieser Code-Zeilen sind standardmäßig auskommentiert, weil im Template, das bei der Installation des Gästebuchs erzeugt wurde, diese Code-Zeilen als Platzhalter enthalten sind.

[Tipp] Tipp

Diese Auflistung können Sie als Erklärung zu den lokalen Headern und Footern ansehen, sie ist aber auch dazu da, um diese Code-Zeilen zu archivieren, falls Sie diese nach vorherigem Löschen wieder einfügen möchten.

Es folgt nun eine Auflistung dieser Code-Zeilen mit kurzer Erklärung:

link2enter

Dies gibt einen Link zum Eintragen in das Gästebuch aus. Werden diese Code-Zeilen so verwendet wie nachfolgend, wird dieser Link nur dann angezeigt, wenn er wirklich Sinn macht, d.h. nur wenn alle Gästebuch-Artikel angezeigt werden und nicht gerade das Formular zum Eintragen ins Gästebuch.

Wie dieser Link über das Template ausgegeben werden kann, können Sie im Abschnitt 3.1.3, "Guestbook-Platzhalter" nachlesen.

Beispiel 2.2. Code für die Ausgabe des "link2enter"

<?php
if ($gb_link2enter==true) {
    echo '<div><a href="detail.php?rubric='.$cpoRubric['name'].'&action=enter">Neuen Eintrag hinzufügen</a></div><br />';
}
?>

mod_guestbook.css(.dist)

Dies bindet eine CSS-Datei ein, die den zu HTML-Code umgewandelten BB-Code ("AdvancedBBCode") entsprechend hervorhebt. Die entsprechende Datei befindet sich im Modulverzeichnis unter dem Namen "mod_guestbook.css(.dist)". Der folgende Aufruf dieser Datei sollte gegebenenfalls in den "global_header.php(.dist)" geschrieben werden, damit er im "HTML-<head>" steht.

Beispiel 2.3. Code für die Einbindung der mod_guestbook.css(.dist)

<link rel="stylesheet" type="text/css" href="mod_guestbook.css.dist" />

link2gb

Dies gibt einen Link aus, der zu den Artikeln des Gästebuches führt. Werden diese Code-Zeilen so verwendet wie hier folgend, wird dieser Link nur dann angezeigt, wenn er wirklich Sinn macht. D.h. nur wenn gerade das Formular zum Eintragen ins Gästebuch angezeigt wird.

Wie dieser Link über das Template ausgegeben werden kann, können Sie im Abschnitt 3.2.3, "Guestbook-Platzhalter" nachlesen.

Beispiel 2.4. Code für die Ausgabe des "link2gb"

<?php 
if ($gb_link2gb==true) {
    echo '<br /><a href="index.php?rubric='.$cpoRubric['name'].'">Zurück zu den Einträgen des Gästebuchs</a>';
}
?>

2.2.4. Hervorhebung von Gästebuch-Platzhaltern

Die nachfolgende Code-Änderung hebt alle Platzhalter im Template-Editor hervor, die nun zusätzlich zu den ursprünglichen ConPresso-Platzhaltern im Gästebuch verfügbar sind. Diese Code-Änderung ist zwar nicht zwingend erforderlich, erhöht aber den Komfort im Templateeditor.

Dies betrifft die Platzhalter vom Typ "gb_text", "gb_url" und "guestbook", die nun blau gekennzeichnet werden. Die entsprechenden "ifSet"- und "ifNotSet"-Platzhalter werden weiterhin rot markiert.

Sollen die speziellen Gästebuch-Platzhalter wie alle anderen Platzhalter rot dargestellt werden, dann muss der folgende Teil im Quelltext: "#00f" durch: "#f00" ersetzt werden.

Datei _admin/templates.php öffnen

suche (etwa in Zeile 416):

$text_value = preg_replace(
    array('/&lt;!--\s*(file|html|image|text|url|value|ifset|ifnotset)\s*:.*?--&gt;/si', '/&lt;!--\s*\/(ifSet|ifNotSet)\s*--&gt;/si'),
    '<span style="color: #f00;">\0</span>',
    $text_value
);

danach einfügen:

//Highlight Placeholders of mod_guestbook
$text_value = preg_replace(
    array('/&lt;!--\s*(gb_text|gb_url|guestbook)\s*:.*?--&gt;/si'),
    '<span style="color: #00f;">\0</span>',
    $text_value
    );
//End mod_guestbook

[Anmerkung] Anmerkung

Bei einem Update von ConPresso kann es passieren, dass diese bereits durchgeführte Code-Änderungen erneut durchgeführt werden muss, weil das Update die bearbeitete Datei überschreibt.