[PLUGIN] Fotorama_XH

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
Tata
Posts: 3588
Joined: Tue May 20, 2008 5:34 am
Location: Slovakia
Contact:

Re: [PLUGIN] Fotorama_XH

Post by Tata » Sat Jun 18, 2016 5:36 am

Danke, Chris.
Soweit es läuft ohne neuen Probleme (wenigstens am MAC unter MAMP 3.5). Leider habe ich mein Notebook nicht mitgebracht, so versuche ich es unter Windows wieder testen am Montag.
Mit der Warnung
DEPRECATED: Methods with the same name as their class will not be constructors in a future version of PHP.....
ist es OK. Es wurde hier im Forum schon mehrmal erwähnt. Ich habe es hier gegeben nur, um nicht vergessen, dass so was ist unter PHP geplannt.
Schöne Wochenende noch.
CMSimple.sk
It's no shame to ask for an answer if all efforts failed.
But it's awful to ask without any effort to find the answer yourself.

beate_r
Posts: 174
Joined: Thu May 22, 2008 11:44 pm
Location: Hessen / Germany

Re: [PLUGIN] Fotorama_XH

Post by beate_r » Sat Nov 26, 2016 4:41 pm

Hallo, ich mal wieder mit einem meiner üblichen Spezialfälle:

Nutzung des Fotorama-Plugins mit Bildern, die nicht auf dem Server liegen.

In meinem Beispiel produziert das Plugin dann z.B. sowas, aber es erscheinen keine Bilder. Klar, denn es wird immer der relative Pfad des Verzeichnisses vorangestellt, auch wenn es sich um eine absolute URL handelt.

<p>
<div class="fotorama"><img src="./userfiles/images/Miezenabend_2016/http://melodita.de/wordpress/wp-content ... Gal_15.jpg" data-caption="" alt=""><img src="./userfiles/images/Miezenabend_2016/http://melodita.de/wordpress/wp-content ... Gal_16.jpg" data-caption="" alt=""><img src="./userfiles/images/Miezenabend_2016/http://melodita.de/wordpress/wp-content ... Gal_17.jpg" data-caption="" alt=""></div>
<br>
</p>

Der Workaround, einfach die korrigierte Ausgabe des Plugins in die Seite einzufügen, liegt natürlich auf der Hand...

Ähnliche Probleme erwarte ich natürlich auch, wenn ich z.B. Youtube-Videos in Galerien einbetten will, was ja von Fotorama grundsätzlich unterstützt wird.

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: [PLUGIN] Fotorama_XH

Post by cmb » Sat Nov 26, 2016 6:42 pm

beate_r wrote:Nutzung des Fotorama-Plugins mit Bildern, die nicht auf dem Server liegen.
Daran hatte ich zumindest bisher gar nicht gedacht. Ist halt auch immer so eine Sache – ist der andere Server immer verfügbar, bleiben die Bilder auch dort, wo sie erwartet werden, ist allow_url_fopen aktiviert (wird zumindest für die Thumbnails benötigt), und dann natürlich rechtliche und eventuell auch Sicherheits-Aspekte. Im Zweifel kann man die Bilder ja auch auf dem eigenen Server ablegen (wobei der dann natürlich wieder mehr zu tun hat).

Aber okay, warum eigentlich nicht. Probier doch mal diese beiden Zeilen zu ersetzen durch:

Code: Select all

            $filename = $pic['path']; 
Das tut's eventuell schon.
beate_r wrote:Ähnliche Probleme erwarte ich natürlich auch, wenn ich z.B. Youtube-Videos in Galerien einbetten will, was ja von Fotorama grundsätzlich unterstützt wird.
An Videos hatte ich auf jeden Fall nicht gedacht. Sollte aber mit der obigen Änderung (falls diese für Bilder genügt) ebenfalls funktionieren – allerdings darf dann auf keinen Fall die Thumbnailvorschau (nav=thumbs) aktiviert werden, da GD keine Thumbnails aus Videos generieren kann.
Christoph M. Becker – Plugins for CMSimple_XH

beate_r
Posts: 174
Joined: Thu May 22, 2008 11:44 pm
Location: Hessen / Germany

Re: [PLUGIN] Fotorama_XH

Post by beate_r » Sat Nov 26, 2016 9:10 pm

cmb wrote:... und dann natürlich rechtliche ... -Aspekte. ...
Genau darum gehts ja: Verlinken ist ja nahezu immer möglich, besonders, wenn es sich wie hier um Aufnahmen Dritter von Dir selbst handelt. Die vollen Rechte an den Bildern hat man dann allerdings noch lange nicht.

Ich probier das nachher mal aus.

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: [PLUGIN] Fotorama_XH

Post by cmb » Sat Nov 26, 2016 10:54 pm

beate_r wrote:
cmb wrote:... und dann natürlich rechtliche ... -Aspekte. ...
Genau darum gehts ja: Verlinken ist ja nahezu immer möglich, besonders, wenn es sich wie hier um Aufnahmen Dritter von Dir selbst handelt. Die vollen Rechte an den Bildern hat man dann allerdings noch lange nicht.
Mir gehts hier v.a. um die Thumbnailnavigation; die Thumbnails werden nämlich auf dem eigenen Server gecachet.
Christoph M. Becker – Plugins for CMSimple_XH

beate_r
Posts: 174
Joined: Thu May 22, 2008 11:44 pm
Location: Hessen / Germany

Re: [PLUGIN] Fotorama_XH

Post by beate_r » Sat Nov 26, 2016 11:07 pm

Danke schonmal.

Mit der Änderung funktioniert das Plugin natürlich nicht mehr, wenn es lokale Galerien darstellen soll. M.E. muss bei jedem einzelnen Eintrag untersucht werden, ob $pic('path') mit "http://" oder "https://" beginnt. Wenn nicht, muss wie gehabt der Pfad ins lokale Verzeichnis vorangestellt werden. Ganz faule suchen nur nach "://" ...

Wäre noch zu klären, inwieweit man sich da Sicherheitslücken einbaut.

Morgen. Zum Codieren bin ich zu müde.

LG

Beate

PS: und klar: Thumbnail-Navigation muss entweder komplett unterdrückt werden, oder es muss ein Dummy verwendet werden, der die externe Quelle als solche kennzeichnet.

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: [PLUGIN] Fotorama_XH

Post by cmb » Sat Nov 26, 2016 11:49 pm

beate_r wrote:Mit der Änderung funktioniert das Plugin natürlich nicht mehr, wenn es lokale Galerien darstellen soll. M.E. muss bei jedem einzelnen Eintrag untersucht werden, ob $pic('path') mit "http://" oder "https://" beginnt. Wenn nicht, muss wie gehabt der Pfad ins lokale Verzeichnis vorangestellt werden. Ganz faule suchen nur nach "://" ...
Ja, da hast Du natürlich recht. Letzteres finde ich auf jeden Fall besser, weil ja nicht nur HTTP(S) relevant sein könnte. Vielleicht sollte man das aber auch parse_url überlassen.
beate_r wrote:und klar: Thumbnail-Navigation muss entweder komplett unterdrückt werden, oder es muss ein Dummy verwendet werden, der die externe Quelle als solche kennzeichnet.
Letzteres ist natürlich sehr elegant – danke!
beate_r wrote:Wäre noch zu klären, inwieweit man sich da Sicherheitslücken einbaut.
Ja! :)
Christoph M. Becker – Plugins for CMSimple_XH

beate_r
Posts: 174
Joined: Thu May 22, 2008 11:44 pm
Location: Hessen / Germany

Re: [PLUGIN] Fotorama_XH

Post by beate_r » Mon Nov 28, 2016 11:29 am

parse_url wäre in meinen Augen die berühmte Spatzenkanone, solange es nur darum geht, externe und interne Links zu unterscheiden. Die simple Textsuche, vielleicht sogar begrenzt auf den Anfang des Strings, dürfte da performanter sein.

Sobald wir aber mehr machen wollen - z.B. unterscheiden, ob es um Bilder geht oder um Videos geht, den Hoster zu identifizieren, um passende Dummy-Thumbnails auswählen zu können, youtube durch youtube-nocookie zu ersetzen - ist natürlich parse_url der richtige Ansatz. Und da kommt natürlich schnell die Frage hoch, ob diese ganze Maschinerie wirklich bei jedem Seitenaufruf ablaufen soll....

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: [PLUGIN] Fotorama_XH

Post by cmb » Mon Nov 28, 2016 11:44 am

beate_r wrote:parse_url wäre in meinen Augen die berühmte Spatzenkanone, solange es nur darum geht, externe und interne Links zu unterscheiden. Die simple Textsuche, vielleicht sogar begrenzt auf den Anfang des Strings, dürfte da performanter sein.
Der Overhead von parse_url() sollte verkraftbar sein; ich kann mir sogar gut vorstellen, dass es u.U. schneller ist als eine PCRE. Bezüglich parse_url() hätte ich eher bedenken, weil die Funktion bei unvollständigen (i.e. relativen) URLs nicht unbedingt die erwarteten Ergebnisse liefert, und sich das Verhalten im Lauf der Zeit durch Bugfixes geändert hat (besonders dieser letzte Punkt bereitet mir etwas Kopfschmerzen).

Aber das ist sowieso ein Implementierungsdetail; im Zweifel sollte gelten: Make it work, make it right, make it fast.
Christoph M. Becker – Plugins for CMSimple_XH

beate_r
Posts: 174
Joined: Thu May 22, 2008 11:44 pm
Location: Hessen / Germany

Re: [PLUGIN] Fotorama_XH

Post by beate_r » Mon Nov 28, 2016 1:03 pm

Ok, für die "quick'n dirty"-Version wäre ja auch strstr() das Mittel der Wahl.
Wird m.W. unmittelbar auf die entsprechende C-Funktion abgebildet. (Wenn ich sowas codieren würde, würde ich sogar den Code aus der C-Bibliotheksfunktion 1:1 einsetzen).
Das läuft dann auf irgendwas der Art hinaus:

Code: Select all

 if ( strstr( $pic['path'], '://' ) { 
     $filename = $pic['path']; }
 else {
     $filename = $pth['folder']['images'] . $gallery['path'] . '/' . $pic['path'];
 }
Zur Frage der Sicherheit: der String wird ja aus einer XML-Datei ausgelesen, in die er auf die eine oder andere Weise manuell eingetragen werden muss. Solange sichergestellt ist, dass diese Datei nicht anderweitig manipuliert worden ist, oder sonstwie Unsinn drinsteht -> Code Injection, wäre der primitive Ansatz m.E. sicher.

Code Injection ist mir tatsächlich mal untergekommen: eine Anwenderin hatte einen Google-manipulierten Browser, der beim Editieren der Seiten über den Editor allen möglichen Google-Schrott in die Seiten einbaute. Den durfte ich dann einzeln mit dem Emacs wieder rauspuhlen... das muss zu CMSimple-2.9-oedit-Zeiten gewesen sein.
Spannend wird es also, sobald es ein irgendwie geartetes UI gibt, mit dem man die externen Links über das CMS einbindet.

Post Reply