PHP-Shoutbox ============ 1. Anforderungen ---------------- Die Shoutbox läuft unter PHP5 (getestet wurde mit v5.2.x, v5.3.1 und v5.4.7). 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/shoutbox/). 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/shoutbox/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/shoutbox/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 Shoutbox fortfahren können. Die Shoutbox ist jetzt einsatzbereit. Rufen Sie sie z.B. über "http://www.meinedomain.de/shoutbox/" auf. Zum Administrieren hängen Sie an die Adresse der Shoutbox "/admin/" an, also z.B. "http://www.meinedomain.de/shoutbox/admin/". 3. Update --------- 3.1. Update von Version 2.xx Gehen Sie zum Update von einer früheren Version 2.xx auf die aktuelle Version wie folgt vor: - WICHTIG: Wenn Sie von einer früheren Version auf Version 2.07 aktualisieren, müssen Sie der Datenbanktabelle der Shoutbox (z.B. via phpMyAdmin oder MySqlDumper) eine neue Spalte hinzufügen: ip TEXT NULL "ip" ist der Name der neuen Spalte und "TEXT" der Typ. "NULL" gibt an, dass diese Spalte auch NULL-Werte aufnehmen kann. - Kopieren Sie alle Dateien außer den .conf-Dateien der neuen Version in das Shoutbox-Verzeichnis. - Wenn Sie eigene Style-Sheets erstellt haben, sollten Sie in diesen die Definition für "p.ack" sowie ggf. "a.m" nachpflegen. Diese Definitionen sind neu in Version 2.01. - 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 2.03. Darüber hinaus wurden für die Version 2.03 folgende Style-Definitionen für das neue Layout des ACPs angepasst: "h2" und "a.navm". - Fertig. 3.2. Update von Version 1.xx Gehen Sie zum Update von v1.xx auf Version 2 der Shoutbox wie folgt vor: - WICHTIG: Wenn Sie von einer früheren Version auf Version 2.07 aktualisieren, müssen Sie der Datenbanktabelle der Shoutbox (z.B. via phpMyAdmin oder MySqlDumper) eine neue Spalte hinzufügen: ip TEXT NULL "ip" ist der Name der neuen Spalte und "TEXT" der Typ. "NULL" gibt an, dass diese Spalte auch NULL-Werte aufnehmen kann. - Löschen Sie die Datei "admin.php" im Basis-Verzeichnis der Shoutbox. - Löschen Sie die Datei "_adm.css" im "styles"-Verzeichnis. - Löschen Sie die Datei ".htusers" aus dem cfg-Verzeichnis. - Löschen Sie die Datei "create_table.sql" aus dem cfg-Verzeichnis. - Stellen Sie sicher, dass in der Datei "cfg/smileys.conf" das Smiley- Verzeichnis als absoluter Pfad eingetragen ist, also z.B. "/shoutbox/smileys/" (der Schrägstrich am Ende ist wichtig!). - Tragen Sie in der Datei adm.conf "21232f297a57a5a743894a0e4a801fc3" als Administrator-Passwort ein (="admin"). - Ändern Sie in adm.conf den Namen "max_entries" in "adm_max_entries". - Ändern Sie in adm.conf den Namen "css_file" in "adm_css_file". - Löschen Sie in adm.conf den Parameter "css_dir". - Tragen Sie in adm.conf beim Parameter "adm_css_file" den Wert "standard.css" ein. - Kopieren Sie nun alle Dateien außer den .conf-Dateien der neuen Version in das Shoutbox-Verzeichnis. - Stellen Sie sicher, dass die .conf-Dateien beschreibbar sind (Maske 666). - Fertig. 4. Einbinden in die Homepage ---------------------------- Verwenden Sie den Code-Generator im Administrations-Bereich, um sich ein HTML-Code-Snippet zum Einbinden der Shoutbox erzeugen zu lassen. 5. Konfiguration ---------------- Die Shoutbox ist in weiten Teilen konfigurierbar. Normalerweise erfolgt seit Version 2 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 Shoutbox 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 Shoutbox-Einträge, die pro Seite im Ad- ministrationsbereich 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 Shoutbox angelegt wurde. $db_table - Der Name der Tabelle, in der die Shoutbox ihre Daten spei- chert. Muss mit dem Tabellen-Namen, der in "create_table.sql" eingetragen wurde, überein stimmen. 5.4. sb.conf Dies ist die Haupt-Konfigurations-Datei für das Aussehen der Shoutbox. $max_entries - Anzahl der Einträge, die in der Shoutbox angezeigt werden. Gibt gleichzeitig an, wieviele Einträge auf einer Seite des Archivs dargestellt werden. $css_file - Das Style-Sheet für die Shoutbox (z.B. "standard.css"). Wenn Sie sich mit CSS auskennen, können Sie eines der mitge- lieferten Style-Sheets kopieren und dann gemäß Ihren Vorstel- lungen anpassen. Die entsprechende Konfigurationsseite im Administrationsbereich findet das neue Style-Sheet automa- tisch und bietet es zur Auswahl an. $max_nick - Gibt an, wie lang ein Nick-Name maximal sein darf. $max_msg - Gibt an, wieviel Zeichen maximal in das Nachrichtenfeld ein- gegeben werden dürfen. $max_inick - Breite des Eingabefelds für den Nick-Namen. $max_imsg - Breite des Eingabefelds für die Nachricht. 5.5. smiley.conf In dieser Datei werden die Smileys für die Shoutbox definiert. $smiley_dir - Das Verzeichnis, in dem die Smileys abgelegt sind. Normaler- weise ist das z.B. "/shoutbox/smileys/" und wird bei der In- stallation automatisch auf den korrekten Wert gesetzt. $smileys - Enthält die Einträge aller Smileys, die in der Shoutbox ver- wendet werden können sollen. Jeder Eintrag besteht aus 2 An- gaben: Die Text-Folge im Einagbefeld, die in den zugehörigen Smiley umgewandetl werden soll und den Namen der Smiley-Datei im Smiley-Verzeichnis, zu dem diese Text-Folge gehört. Beach- ten Sie dabei bitte folgendes: o Vor der ERSTEN Zeile steht KEIN Komma! o Die ersten 10 Smileys in der Liste werden direkt in der Shoutbox angezeigt. Platzieren Sie also Ihre Lieblings- Smileys unter den "Top 10". o Beim Umwandeln der Smiley-Codes in der eingegebenen Nach- richt wird von oben nach unten gesucht. Wenn Sie also z.B. die Smiley-Codes ":-)" und ":-))" für verschiedene Smileys verwenden wollen, achten Sie darauf, dass ":-))" ZUERST in dieser Liste steht, sonst wird er nie gefunden! 6. Kontakt ---------- Sie haben noch Fragen oder finden die Shoutbox so toll, dass sie unbedingt ein Lob loswerden müssen? Dann erreichen Sie mich unter info@schulz-koengen.de Die aktuelle Version dieser Shoutbox kann unter http://www.schulz-koengen.de/projects/shoutbox/ gefunden werden. 7. Versionshistorie ------------------- v2.08 - 2017-08-31 wrs - Der Code der Shoutbox wurde komplett auf UTF-8 umgestellt, da sich das der- zeit als Standard im Web-Bereich durchsetzt. - Die Style-Sheets wurden ein wenig gestrafft, wodurch sie etwas schneller ge- laden werden. - Bugfix: Wurde in das Feld "Name" ein Text mit Umlauten eingegeben, konnte es vorkommen, dass die gepostete Nachricht anschließend ohne Namen angezeigt wurde. Das ist nun behoben. v2.07 - 2017-06-12 wrs - Die Shoutbox speichert jetzt auch die IP-Adresse, von der aus ein Eintrag gesendet wurde. Die IP-Adresse wird im Admin-Bereich hinter dem Datum des jeweiligen Eintrags angezeigt, wenn man dort mit der Maus über einen Eintrag fährt und einen Moment wartet. Steht für einen Eintrag keine IP-Adress zur Verfügung, wird "<no ip>" angezeigt. v2.06 - 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. v2.05 - 2015-03-04 wrs - Im Adminbereich gibt es beim Verwalten der Nachrichten jetzt die Möglich- keit, alle Nachrichten mit einem Klick zu markieren bzw. die Markierungen aufzuheben. - Die JavScript-Funktionen für den Admin-Bereich wurden in eine eigene Datei ausgelagert, sodass die Funktionen jetzt vom Browser gecachet werden kön- nen, was die Ladezeit der einzelnen Seiten etwas verkürzt. - Bugfix: In bestimmten Situationen konnte es vorkommen, dass Nachrichten, die Umlaute enthalten, von der Shoutbox nicht akzeptiert wurden. Das ist jetzt behoben. v2.04 - 2013-10-31 wrs - Der Code der Shoutbox wurde an einigen Stellen überarbeitet, damit beim Einsatz eines HTML-Validators keine Fehler mehr angezeigt werden. Auf die Funktion der Shoutbox hat das keine Auswirkungen. v2.03 - 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. v2.02 - 2011-05-17 wrs - Der Nick-Name wird jetzt nicht mehr in einem separaten Cookie gespeichert, sondern in den Session-Daten. Auf diese Weise können in verschiedenen Shoutboxen, die auf der selben Domain laufen, unterschiedliche Nicks gleichzeitig verwendet werden, weil diese jetzt an die Session der je- weiligen Shoutbox gekoppelt sind. v2.01 - 2010-10-04 wrs - Der Schreiber einer Nachricht kann diese jetzt löschen, so lange die Session besteht, in der sie geschrieben wurde. - Bugfix: Beim Aufruf der Hilfe-, Archiv- oder Smiley-Seite aus der Style- Vorschau heraus (Admin-Bereich), wurde der css-Parameter nicht weitergege- ben. Dies ist nun behoben. - Bugfix: In den mitgelieferten Style-Sheets fehlte die Angabe der Standard- schriftfarbe (Style "color" für den "body"-Tag). Dies ist nun behoben. - Verbesserung: In den mitgelieferten Style-Sheets wurde die Style-Defini- tion für den "a"-Tag vereinfacht. - Verbesserung: Links in Message-Texten haben jetzt die Style-Klasse "m". Somit kann deren Farbe jetzt besser dem Message-Hintergrund angepasst wer- den. v2.00 - 2010-05-08 wrs - Deutlich einfachere Installation durch ein eigenes Installations-Script (admin/install.php). - Der Administrations-Bereich wurde in ein eigenes Verzeichnis verlegt (admin/) und deutlich erweitert. Nahezu alle Einstellungen können jetzt komfortabel über die Web-Oberfläche vorgenommen werden. - Im Admin-Bereich findet sich jetzt auch ein Code-Generator, mit dem man sich ein HTML-Code-Snippet zum Einbinden der Shoutbox in eine Homepage erzeugen lassen kann. - Das Administrator-Passwort wird jetzt verschlüsselt gespeichert. - Die Shoutbox verwendet beim Einloggen in den Administrationsbereich jetzt einen für den jeweiligen Server eindeutigen Session-Namen. Auf diese Weise können auf einem Server nun mehrere Shoutboxen installiert werden, ohne dass der Administrator einer Shoutbox die anderen versehentlich mitadmini- strieren kann. - Neues Style-Sheet "rose". - Das Style-Sheet für den Administrationsbereich befindet sich jetzt in einem eigenen Verzeichnis (admin/styles/), so dass es nicht mehr zu Ver- wechslungen mit den normalen Style-Sheets der Shoutbox kommen kann. - Die Zugriffsbeschränkung auf das cfg-Verzeichnis wurde so geändert, dass die Datei ".htusers" nicht mehr benötigt wird. - Im Smiley-Fenster der Shoutbox fehlte bei der Anzeige der Smiley-Codes das Umwandeln HTML-relevanter Zeichen. Das konnte bei Smiley-Codes wie z.B. :-> zu unerwünschten Effekten führen und ist nun behoben. v1.00 - 2010-04-09 wrs - Erstmals für die Öffentlichkeit freigegeben. <eof>