Die Version 8 der PHP-Panoramagalerie 8 ist modular aus Einzelkomponenten aufgebaut. In der angebotenen Downloadversion sind Suchfunktion und aktive Thumbnaildarstellung eingebaut. Der Nutzer sollte sich aber z.B. für eine der beiden eingebauten Regionsdarstellungen entscheiden.

Die Textdatenbanken der vorherigen Versionen müßten ohne Veränderung funktionieren. Bei daten.txt ist ein Feld für einen Text zum Panorama dazugekommen.
Bei zukünftigen Updates werden lediglich Komponenten upgedatet, an der Grundstruktur der Seite index.php wird sich voraussichtlich nicht ändern. Die Basisseite index.php ist sehr simpel mit Tabellenlayout strulturiert, die PHP-Module lassen sich einfach irgendwohin auf der Seite verschieben.

Der Aufwand der Programmierung eines Webinterfaces für die Bearbeitung der Textdateien ist so groß, dass ich darauf erstmal verzichtet habe. Nur den Komfort eines normalen Texteditors bereitzustellen bedeutet ein paar Tage Arbeit. Das Hochladen von den Panoramen per Webinterface bzw. eine Bildbearbeitung per PHP ist stark von der Einrichtung des Servers beim Provider abhängig, ich empfehle also erstmal ein gutes FTP-Programm.

Test:

Hier das Beispiel zum Testen: index.php. Das gesamte Beispiel zum Herunterladen ist hier. Beim Hinzufügen weiterer Panoramen ist lediglich das neue Panorama in den verschiedene Versionen auf den Server zu laden und die Informationen über das Panorama in die Textdatei zu übertragen.

Funktionumfang:

Per Versionsumschaltung lassen sich Quicktime, Quicktime Fullscreen, Immervision-Player, PTViewer oder Equirectangular einstellen.
Die Anzeige der Anzahl der vorhandenen Panoramen, das Datum der letzten Änderung, eine Suchfunktion, Regionen mit beliebig vielen Unterregionen beliebig tief verschachtelt, aktive Thumbnaildarstellung und eine Quicktime Fullscreen-Seite sind weitere Features. Ein fundamentales CSS-Layout ist vorhanden.

Die Daten über Regionen, Subregionen und Panoramas mit allen Zusatzinformationen werden aus den beiden Textdateien daten.txt und region.txt
gewonnen. Außer der Bearbeitung dieser beiden Datein und dem Hochladen der Panoramen ist keine Konfiguration der Galerie nötig. Allerdings können bei Bedarf einige Anpassungen in der Datei 01-config.inc.php vogenommen werden, hier müssen auch ggf. die verwendeten Ordnernamen für die Panoramen angepaßt werden, besonders für Fullscreen.

Beim Anpassen der Seite an die eingenen Bedürfnisse müssen auch ggf. Module verändert werden, so z.B. 05-defaulttext.inc.php für den Text im Übersichtsmodus.

Die Galerie:

Die Galerie besteht aus:
 • Der Basisseite index.php,
 • Der Fullscreenseite fullscreen.php
 • Der CSS-Datei basic.css

 • Den beiden Datenbanken daten.txt und region.txt.
 • Der Datei "ptviewer.jar
 • Den Immervision-Dateien "PurePlayer.jar", pure.php und gui.xml 
 • Dem Ordner "img" mit einigen grafischen Elementen.
 • Dem Ordner "inc" mit den Modulen, unter anderem der config-Datei und dem Textmodul für den Übersicht-Modus.

Alle Versionen eines Panoramas müssen bis auf das Suffix den gleichen Namen haben.

Die Panoramas sind in folgende Ordner sortiert:
 • thumbs = Vorschaubilder, sie werden 160x80 groß gezeigt
 • java = Equirectangulare Panoramas für den PTViewer, hier aus Platzgründer auch für equirectangulare Darstellung
 • quicktime = .movs für die Quicktime-Wiedergabe, hier aus Platzgründer auch für Fullscreen-Darstellung


Die Ordner können per Schalter in der Datei 01-config.inc.php verändert werden.
Immervision-Player und PTViewer greifen auf das gleiche Panorama zu.

Die Seite index.php:

Die Seite hat die feste Breite von 1050 Pixel. Die Panoramen werden 800 Pixel breit dargestellt.
Da der Quelltext von index.php sehr umfangreich ist, erspare ich mir hier die Darstellung.
Beim Umbau der Seite müssen die kurzen PHP-Blöcke erhalten werden, die jeweils die Form haben:

<?php include('inc/21-regionstable-s.inc.php'); ?> bindet z.B. das Modul 21 ein.

Diese Module (bis auf 01 und 02) lassen sich überall auf der Seite einsetzen.
Die Seite index.php kann die Modi Übersicht, Suche oder Panoramadarstellung annehmen.

Die Seite fullscreen.php:

fullscreen.php wird immer Fullscreen in einem neuen Fenster geöffnet, index.php bleibt also im Hintergrund offen.
Die Seite enthält das Quicktime-Panorama und den Ergänzungstext darunter. Ein "Fenster schließen" Button ist eingebaut.

Der Ordner für die Fullscreen-Panoramen wird in 01-config.inc.php eigetragen

Die Textdatenbanken:

Die Textdateien müssen die Kodierung "Western (Iso Latin 9)“ haben, damit deutsche Umlaute richtig ausgegeben werden.
Das lässt sich bei etwas besseren Texteditoren beim Sichern einstellen.
Jede Zeile der beiden Textdateien repräsentiert einen Datensatz. Zeilenwechsel heißt, ein neuer Datensatz beginnt.
Felder innerhalb eines Datenssatzes werden durch " / " getrennt. Alle Felder sollten per " / " beendet werden.
Die Reihenfolge Panoramen indaten.txt und der Regionen inregion.txt bestimmt überall die Reihenfolge der Anzeige.

region.txt

Die verwendeten Regionen sind in der Datei region.txt erfasst, wenn gewünscht mit Zusatztext. Die Linkliste zur Anwahl
einer Region befindet sich auf index.php im Übersicht-Modus. Die Reihenfolge in der Regionsliste wird mit der Reihenfolge in der Textdatei festgelegt. Die Nummer im ersten Feld hat noch keine Funktion.

Im vierten Feld können Unterregionen eingetragen werden. Sie werden per Komma ohne Leerzeichen getrennt.
Auch leere Felder müssen per Slash " / " beendet werden, sonst entstehen leere Kästen in der Linkliste.

Regeln:

Vieleicht wird beim Vergleich der Beispielseite index.php und der dazugehörenden Textdatei region.txt einiges klarer. Unnötigerweise sind hier viele Unterregionen mit einem eigenen Eintrag aufgeführt, dadurch wird die Regionstabelle sehr lang.


region.txt:
-ungenutzt-/-Region-/-Text-/-Unterregionen, per Komma trennnen, mit Slash abschliessen-/
1/Deutschland/Alle meine Panoramen in Deutschland, vor allem Berlin/Berlin,Sächsische Schweiz,Bayern/
1/Berlin/Es gibt viele Panoramen aus Berlin/Berlin-Mitte,Berlin-Bezirke,Berlin bei Nacht,Moabit/
5/Berlin-Mitte/Alle Panoramen aus meiner Nachbarschaft//
6/Berlin-Bezirke//Wannsee,Tegel,Spandau/Bisher keine Panoramen//
7/Moabit/Bisher keine Panoramen//
11/Bayern/Bisher keine Panoramen//
2/Österreich/Schön hoch/Wien,Alpen/
4/Italien/Da muss ich erst noch hinfahren/Rom,Süd-Tirol/
12/Rom///
13/Süd-Tirol///
3/Tschechien/Noch keine Panoramen aus Tschechien//
5/Dänemark/Das flache Dänemark ist noch panoramafrei/Kopenhagen,Fyn/
4/Alpen/Alle mein Alpenpanoramen sind das nicht/Alpen-Pässe,Täler,Seen/
5/Fyn///
8/Hamburg///
9/München///
10/Köln///
2/Sächsische Schweiz/Bisher keine Panoramen//


daten.text

Alle Panoramen werden in daten.txt erfasst. Region (muss präzise einer Regon in der Regionsliste entsprechen), Name,
und Link müssen eingetragen werden, Datum und Text sind optional.

Wenn ein Panorama in eine Region eingetragen wird, die noch Unterregionen enthält, erscheint es unterhalb
der Regionen in der Linkliste von Modul 13.

Damit die Datumserfassung funktioniert, muss das Datum in der Form TT.MM.JJJJ eingegeben werden

Die Spezial-Liste
Das erste Feld "spezial" in daten.txt kann z.B. zur Erfassung von neuen Panoramen genutzt werden. Dazu wird ein "x "
eingetragen. Die mit " x " gekennzeichneten Panoramen erscheinen in der Linkliste im Übersichtmodus, da dann ja keine
Region ausgewählt ist. Die Überschrift über die x-Liste (in meinem Beispiel "Neue Panoramen" ) kann im Quelltext geändert
werden.

-Spezial-/-Region-/-Name-/-Datum-/-Link-/-ungenutzt-/-Text-/
x/Berlin-Mitte/Philharmonie/17.01.2006/philharmonie//Mit Sir Simon Rattle/
/Berlin-Bezirke/Artemis/11.11.2005/artemis-treppenhaus//Der Puff am ICC/
/Berlin bei Nacht/Brandenburger Tor/21.10.2005/brandenburger-tor2//Beim Festival Of Lights 2005/
x/Alpen/Fuscher Tˆrl/15.08.2005/grossglockner-fuscher-toerl//Mit dem Fahrrad ¸ber die Alpen/
x/Berlin-Mitte/Philharmonie/05.03.2006/akademie_der_kuenste//Pariser Platz/
x/Berlin-Mitte/Tempodrom auflen/05.05.2006/tempodrom-aussen//Am Anhalter Bahnhof/

Die Module:

Basismodule:
01-config.inc.php Notwendig, hier werden einige Grundeinstellungen wie Panoramaordner eingestellt.
02-basis.inc.php Notwenig
03-active-thumb-script.inc.php Javascript, muss für aktive Thumbdarstellung im <head>-Bereich liegen.
05-defaulttext.inc.php Hier steht der Basistext "Salut!" Vielleicht sollte man ihn ändern. Er erscheint im Modus Übersicht.
Panoramamodule
10-showpano.inc.php Die Panoramadarstellung im Modus Panorama
11-panoinfo.inc.php Regionsname, Panoramaname, Datum, gezeigte Version im Modus Panorama
12-panotext.inc.php Text zum Panorama im Modus Panorama
13-panolist.inc.php Die vertikale Liste der Panoramen mit statischen Thumbnail, für Galerien mit wenigen Panoramen sinnvoll
Regionsmodule
20-regionstable.inc.php Große Regionsliste mit den direkt untergeordeten Subregionen, im Contentbereich einzusetzen
21-regionstable-s.inc.php Kleine Regionsliste in Tabellenform, im Kopfbereich einzusetzen
22-regionsname.inc.php Der aktuelle Regionsname
23-subregionlist-vertical.inc.php Die aktuelle Subregionsliste vertikal, im Navigationsbereich einzusetzen.
Versionsmodule
30-versionchange.inc.php Linkliste horizontal zur Auswahl der Version
31-versioninfo-long.inc.php Information zur gewählten Version, erscheint nur direkt nach Versionsumschaltung, für den Contentbereich
32-versioninfo-short.inc.php Name der gewählten Version
Aktive Thumbnail-Module
41-active-thumb-image.inc.php Der aktive Thumbnail 160x80 Pixel, gehört zu Modul 42
42-act-thumb-panolist1.inc.php Die vertikale Liste der Panoramen nur Text, mit Thumbaktivierung zusammen mit Modul 41
43-act-thumb-panolist2.inc.php Die vertikale Liste der Panoramen mit aktivem Thumbnail oben, ersetzt Modul 41 und 42
Sondermodule
50-search.inc.php Suchfunktion, bei Klicken auf "Suchen" wird in Suchmodus umgeschaltet
51-back-overview.inc.php Links Zurück | Übersicht
52-all-pano-sum.inc.php Anzahl aller in die Datenbank eingetragenen Panoramen
53-lastchange.inc.php Datum des letzten eingetragenen Panoramas, wenn die Daten in der Form TT.MM.JJJJ vorliegen
js.php Wird ggf. zusammen mit Modul 03 geladen


Das ist natürlich eine primitive PHP-Datenbank-Anwendung, aber auch für Nichtprogrammierer zu handeln.
Man muss den Seiten durch HTML und CSS natürlich noch das gewünschte Gesicht geben.
Noch Fragen?