Retorte PictureBrowser / Anwendung zum Anzeigen von Bildern ------------------------------------------------------------------------ *Quelle* http://www.retorte.ch/tools/picturebrowser *Autor* Nico Waldispuehl nw nw at retorte dot ch *Beschreibung* Einfach einzusetzende Bildgalerie Anwendung (Quick'n'dirty) mit automatischer Thumbnailgenerierung. Eignet sich primär für kleine bis mittlere Galerien (bis max. ein paar hundert Bilder). (-> Sind mehr Bilder vorhanden, sind diese in mehrere Verzeichnisse aufzuteilen.) *Systemanforderungen* PHP Version > 5, einkompilierte GD-Library (für Bilderstellung) sowie EXIF-Funktionalität (für EXIF-Datenverarbeitung) Apache Webserver mit mod_rewrite (für echte Dateinamen) *Mitgelieferte Dateien* install.php Installationsscript picture_browser.class.php Hauptprogrammdatei picture_browser_image.class.php Nebenprogrammdatei pb_img.php Hilfsdatei für Bildanzeige pb.conf.php Konfigurationsdatei zum selber Anpassen README Diese Datei, die Du gerade liest ;) LICENSE Datei, welche die Lizenzvereinbarung (GPL) beinhaltet pb.css Stylesheet für PictureBrowser template_thumb.inc.html Templatedatei für Thumbnailansicht template_pic.inc.html Templatedatei für Detailansicht __copyright.gif Bilddatei für das Template __header.gif " __mypic.gif " __points.gif " __spacer.gif " *Dateien, die vom PictureBrowser erzeugt werden* index.php Startdatei title.txt Datei, welche den Titel der Galerie beinhaltet author.txt Datei, welche den Autoren der Galerie beinhaltet desc.txt Datei, welche den Galeriekommentar beinhaltet comments.txt Datei, die Bildkommentare beinhaltet user_comments.txt Datei, die Benutzerkommentare beinhaltet chksm.pb Checksummendatei imgdata.pb Datei mit Bilderdaten *Installation / Inbetriebnahme (nach Entpacken)* 1. Je nach Bedarf Einstellungen ändern ("pb.conf.php"). 2. Je nach Bedarf Templates anpassen ("template_thumb.inc.html", "template_pic.inc.html" und "pb.css"). 3. PictureBrowser Dateien (siehe Abschnitt "Dateien") in Bilderverzeichnis auf Webserver kopieren. Will man mehr als ein Verzeichnis mit Bildern mit einer Galerie versehen, bietet es sich an, die Picturebrowserdateien an einem zentralen Ort zu speichern, z.B. "/pb_source_files/" wo dann keine Bilder zu liegen kommen. 4. Datei "install.php" aufrufen. 5. Es wird nun eine Datei "index.php" erzeugt. Diese kann nun in alle Galerien auf dem selben Server kopiert werden. Alle diese Galerien sind dann von den Dateien (Einstellungen und Template) der zentralen Kopie abhängig. *Verändern von Beschreibung, Kommentaren und sonstigen Daten* 1. Um in den Administrationsmodus zu wechseln, hängt man der URL noch "?admin" an. Man sollte sich dabei auf der ersten Übersichtsseite der Galerie befinden. In der Folge wird nach dem Passwort gefragt, das man in der Datei "pb.conf.php" definiert hat. Wird dieses korrekt eingegeben, wechselt man in den Administrationsmodus, wo man die Daten der Galerie verändern kann. Achtung: Der Administrationsmodus kann nicht betreten werden, wenn als Passwort noch das Standardpasswort "default" gesetzt ist. *Thumbnails speichern* Wird in der Konfigurationsdatei ("pb.conf.php") die Option "persistent_thumbnails=1" gewählt, werden die Thumbnails von Bildern dauerhaft gespeichert. Dies verschnellert den Zugriff auf die Photoseiten drastisch. Beim ersten Aufruf einer Seite werden die Thumbnails hergestellt und bleiben gepeichert, bis entweder der Bildbestand oder die Konfigurationsdatei verändert wird. In diesem Fall werden die Thumbnails einfach neu erstellt. Möchte man die Thumbnails manuell neu erstellen lassen, kann man auch einfach die Datei "chksm.pb" löschen. (Bemerkung: Bilder, die mit dem PictureBrowser Thumbnailprefix beginnen ("pbthumb_...") werden generell nicht angezeigt.) Wird nicht gewünscht, dass die Thumbnails gespeichert werden, setzt man in der Datei "pb.conf.php" die Option "persistent_thumbnails=0". Achtung: Das Speichern von Thumbnails benötigt zusätzlichen Speicherplatz auf dem Server! *Update von einer alten Version* Ältere Versionen vom Picturebrowser können leider nicht einfach so upgedatet werden. Folgende Schritte sind zu tun: 1. Templates updaten (mit neuen Feldern) sofern man die alten Templates weiterverwenden möchte. Dann die neuen Templates durch die eigenen ersetzen. 2. Die Konfigurationsdatei hat sich geändert. Verändere die neue Konfigurationsdatei "pb.conf.php" so, dass sie mit den Einstellungen der alten Konfigurationsdatei übereinstimmt, sofern gewünscht. 3. Platziere die neuen PB Dateien in einem eigenen Verzeichnis und rufe dort mit dem Browser "install.php" auf. Es wird nun eine Datei "index.php" erzeugt. 4. Kopiere die neu erzeugte Datei "index.php" in alle bisherigen Galerieverzeichnisse. Die Kommentardateien etc. werden übernommen. * Mögliche Probleme und deren Lösung* - Ist es nicht möglich, die Kommentardateien anzulegen, resp. erscheint ein derartiger Fehler ("permission denied"), scheint der Webserver falsch konfiguriert zu sein. Als Abhilfe kann man dem entsprechenden Verzeichnis für alle Benutzer Schreibrechte geben. - Änderungen (neue Kommentare etc.) sind nicht sichtbar. Meist ist dann einfach noch der alte Wert im Browsercache gespeichert. Die Seite aus dem Cache löschen und neu laden hilft dann meist. - Falls bei der Erstellung der Thumbnails die Anwendung einfach stoppt, sind es zu grosse Bilder, als dass der PictureBrowser alle in einem Durchgang als Thumbnails speichern kann. In diesen Fall kann man in der Konfigurationsdatei "pb.conf.php" den Wert der Variablen "thumbnails_per_cycle" reduzieren. Es werden dann weniger Bilder pro Durchlauf behandelt. - Treten bei der Erzeugung der Thumbnails Fehler auf und ist nur ein Teil der Thumbnails erzeugt worden (fehlende Bilder), kann die Datei "chksm.pb" - also die Checksummendatei - gelöscht werden. Der PictureBrowser erzeugt die Thumbnails dann noch einmal neu. *Versionen* 2008-01-06 nw V 3.5.1 Administrationsmodus hinzugefügt Neues Template eingeführt 2007-04-23 nw V 3.4.7 Bugfix: Thumbnail Cyclecounter Updatefehler korrigiert. Bugfix: Neu können auch Gleichheitszeichen als Parameter in der Konfigurationsdatei eingesetzt werden. Preloadmechanismus selektiv abschaltbar mit Configfile Einstellung. Das Hinzufügen neuer Kommentare kann deaktiviert werden. Neue Option: Bilder können kleiner angezeigt werden, wenn das Browserfenster zu klein ist. 2007-01-30 nw V 3.4.6 Bugfix: Unerwünschtes Verhalten beim Hinzukopieren einzelner Bilder behoben 2007-01-22 nw V 3.4.5 Korrektur eines Bugs: .htaccess wurde je nach Serverkonfiguration fehlerhaft erzeugt Preloadmechanismus auf Uebersicht erweitert Performance verbessert 2007-01-02 nw V 3.4.4 Sortierung nach Namen korrigiert: Unabhängig von Gross/Kleinschreibung 2006-12-02 nw V 3.4.3 Filter auf Wortlistenbasis bei den Kommentaren eingeführt Preloadmechanismus auf JavaScriptbasis eingefügt Reload-Fehler (unendliche Schlaufe bei fehlenden Schreibrechten im Verzeichnis) korrigiert 2006-09-11 nw V 3.4.2 Krumme EXIF Daten (Blende/Belichtungszeit) korrigiert, Iso hinzugefügt Einige Bugs entfernt 2006-06-27 nw V 3.4.1 Aufteilung der Thumbnailgenerierung auf mehrere Etappen: Umgehung des Server Timeouts 2006-06-26 nw V 3.4.0 Weiteres Kommentarflag hinzugefügt: Layer über Thumbnails Suchmaschinenoptimierungsmodus hinzugefügt StaticPage Funktion hinzugefügt Geschwindigkeit weiter gesteigert 2006-06-11 nw V 3.3.1 Sicherheitslücke geflickt Hilfsdatei für Bilder optimiert 2006-06-09 nw V 3.3.0 Thumbnails fest speicherbar Einige Detailverbesserungen Template und CSS optisch ein wenig aufgefrischt 2006-01-17 nw V 3.2.0 PB Remote Integration verbessert Thumbnails in der Höhe als auch in der Breite definierbar Sortierung verbessert Diverse Detailverbesserungen 2006-01-11 nw V 3.1.2 Inkompatibilität des Remote Teils mit PHP Version 4 beseitigt 2006-01-09 nw V 3.1.1 Fehler beim Speichern von Benutzerkommentaren korrigiert 2006-01-07 nw V 3.1.0 Funktion zum Löschen von Benutzerkommentaren eingebaut Funktion zur Mailbenachrichtigung bei Benutzerkommentaren Diverse Fehler korrigiert 2006-01-06 nw V 3.0.0 Benutzerkommentarfunktion eingebaut 2006-01-03 nw V 2.5.0 EXIF-Daten Verarbeitung verbessert Fehler in der Sortierung der Dateien im "Datumsmodus" entfernt Parameterverarbeitungsfehler entfernt (Nulldivision) Kompatibilität der Kommentarfunktion zu neuem Sicherheitsfeature sichergestellt Sämtliche Formatierungen nach CSS verschoben Beim Kommentarinterface Zwischenspeichern Funktion eingeführt Schnittstelle zum verteilten Ausführen eingebaut 2005-11-14 nw V 2.4.1 Seitenanzeige stabilisiert, Sortierung verbessert 2005-10-29 nw V 2.4.0 Übersicht auf mehrere Seiten aufteilen. Möglichkeit, Dateien nach Zeit (Exif Daten) zu sortieren. 2005-02-06 nw V 2.3.2 Robustheit erhöht durch Abfangen unparametrierter Aufrufe. 2004-10-07 nw V 2.3.1 Fehler der Kommentarroutine korrigiert. Verhalten der Seite bezüglich Browsercache modifiziert. 2004-09-05 nw V 2.3 Die Position der Elemente kann durch ein Template bestimmt werden. Es kann via Config-File ausgewählt werden, ob man Navigationslinks in der Thumbnailansicht angezeigt haben möchte. 2004-09-05 nw V 2.2 Auch Beschreibungen können nun neu in einem einfachen Interface bearbeitet werden, bestehende Kommentare ebenfalls. EXIF-Felder werden nicht angezeigt, wenn keine Informationen verfügbar sind. Neu wird die EXIF-Information "Flash" angezeigt. 2004-09-04 nw V 2.1 Bereits bestehende Kommentare können nun durch Umbenennen der Kommentardatei in neue Eingabevorgänge übernommen werden. 2004-08-25 nw V 2.0 Einstellungen in externe Datei ausgelagert. CSS in externe Datei ausgelagert Kommentierung einer kompletten Galerie via pb_desc.txt möglich Kommentierung einzelner Bilder via comments.txt möglich. 2004-04-12 nw V 1.5.2 Weitere Modularisierung, d.h. Vereinfachung der Anpassung an eigene Bedürfnisse 2004-01-18 nw V 1.5.1 EXIF Daten Auslesung stabilisiert 2003-11-14 nw V 1.5 Modularisierung der Navigation Gif-Bilder nun auch anzeigbar 2003-10-15 nw V 1.4.1 Fehlerbeseitigung hier und da (EXIF Kram, Dateiendungsinterpret.) 2003-07-28 nw V 1.4 Platzhaltervorschau bei Gif 2003-07-28 nw V 1.3 Thumbnails lassen sich grössenmässig variieren 2003-07-27 nw V 1.2 Umstellung auf dateiloses System 2003-07-27 nw V 1.0 Erstellung eines funktionierenden Prototypen 2003-07-25 nw V 0.5 Aufbau der Kernroutine, Funktionierende Bild- /Galerieanzeige *Dank an* Für Anregungen, Meldungen von Fehlern und Tipps: Jamie Aspinall, Roman Ettlin, Tristan van Essen, Jo Hiltbrunner, René Hermann, Tamer Denizli