Author Topic: Swift-Gallery  (Read 2825 times)

Offline bbs2

  • Posts: 59
Swift-Gallery
« on: February 22, 2019, 09:11:03 AM »
Hallo,

ich benutze weiterhin unter WB 2.12.x die swift gallery. Immer nachts gegen 0 Uhr treten lt. error-log folgende Fehler auf

Thu, 21 Feb 2019 13:28:34 +0000 [E_NOTICE] /modules/swift/view.php:[83]  from /framework/frontend.functions.php:[225] require "A non well formed numeric value encountered"

Code: [Select]
$i = 0;
if( is_dir( $gallery_path ) ) {
if( $handle = opendir( $gallery_path ) ) {
$all_images = array();
while( ( $file = readdir( $handle ) ) !== false ) {
if( is_file($gallery_path.$file) && $file!='index.php') {
$image = WB_URL.$gallery.$file;
$all_images[$i] = $image;
$i++;
}
}
closedir( $handle );
}
}
if( isset( $_REQUEST['start'] ) ) {
$start = $_REQUEST['start'];
}
else {
$start = 0;
}
$images = array();
$a=intval($i);                     
if ($a>0) {
$images = array_slice( $all_images, $start, $settings['thumbs_per_page']);   ///Dies ist die Fehlerzeile 83
}

Für den user tritt kein Fehler auf. Alle galeries werden fehlerfrei angezeigt.
Kann es sein, dass der Fehler nur bei scans einer Suchmaschine auftritt?

Viele Grüße

Heinz
« Last Edit: February 22, 2019, 09:46:06 AM by dbs »

Offline dbs

  • Betatester
  • **
  • Posts: 8036
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: Swift-Gallery
« Reply #1 on: February 22, 2019, 09:47:50 AM »
Hallo, da es keine Swift Gallery im Add-ons Repo gibt und du keine Modulversion nennst, könntest du das Modul hier mal als Anhang reinsetzen.

Offline bbs2

  • Posts: 59
Re: Swift-Gallery
« Reply #2 on: February 22, 2019, 11:40:30 AM »
hallo,

es ist ein sehr schönes, jedoch altes Modul aus der Zeit WB 2.8. Es läuft für den Normaluser
jedoch gut unter WB 2.12.x und PHP 7.2
Swift Version 0.6

Siehe Anlage

Offline hgs

  • Betatester
  • **
  • Posts: 1119
    • EFG MG
Re: Swift-Gallery
« Reply #3 on: February 22, 2019, 12:02:29 PM »
Das Modul, so wie du es hier anbietest, kann icht installiert werden.
Wo ist das Modul her?
LG Harald

"Fange nie an, aufzuhören - höre nie auf, anzufangen." Marcus Tullius Cicero (106-43 v.Chr.)

Offline hgs

  • Betatester
  • **
  • Posts: 1119
    • EFG MG
Re: Swift-Gallery
« Reply #4 on: February 22, 2019, 12:10:28 PM »
Ok, scheint von Github zu sein
Konnte es nach "umformatieren" installieren.
Schmeißt ne Menge Fehler in php 7.3
Code: [Select]
Fri, 22 Feb 2019 11:04:11 +0000 [E_NOTICE] /modules/swift/save.php:[45] from /modules/swift/save.php:[45] bin\Exceptions\ErrorHandler::handler "Undefined index: default"
Fri, 22 Feb 2019 11:04:55 +0000 [E_NOTICE] /modules/swift/save.php:[45] from /modules/swift/save.php:[45] bin\Exceptions\ErrorHandler::handler "Undefined index: default"
Fri, 22 Feb 2019 11:06:38 +0000 [E_WARNING] /modules/swift/view.php:[80] from /templates/DefaultTemplate/index.php:[34] page_content "count(): Parameter must be an array or an object that implements Countable"
Fri, 22 Feb 2019 11:07:09 +0000 [E_NOTICE] /modules/swift/save.php:[45] from /modules/swift/save.php:[45] bin\Exceptions\ErrorHandler::handler "Undefined index: default"
Fri, 22 Feb 2019 11:07:12 +0000 [E_WARNING] /modules/swift/view.php:[80] from /templates/DefaultTemplate/index.php:[34] page_content "count(): Parameter must be an array or an object that implements Countable"
Fri, 22 Feb 2019 11:07:31 +0000 [E_WARNING] /modules/swift/view.php:[80] from /templates/DefaultTemplate/index.php:[34] page_content "count(): Parameter must be an array or an object that implements Countable"
Fri, 22 Feb 2019 11:07:33 +0000 [E_WARNING] /modules/swift/view.php:[80] from /templates/DefaultTemplate/index.php:[34] page_content "count(): Parameter must be an array or an object that implements Countable"
Fri, 22 Feb 2019 11:07:38 +0000 [E_WARNING] /modules/swift/view
LG Harald

"Fange nie an, aufzuhören - höre nie auf, anzufangen." Marcus Tullius Cicero (106-43 v.Chr.)

Offline jacobi22

  • Posts: 5879
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Swift-Gallery
« Reply #5 on: February 22, 2019, 12:13:16 PM »
es ist ein sehr schönes, jedoch altes Modul aus der Zeit WB 2.8. Es läuft für den Normaluser
jedoch gut unter WB 2.12.x und PHP 7.2

jau, mag sein, aber mehr darfst du dem Modul auch nicht mehr zumuten, PHP 7.3.x ist nicht drin und ein NeuInstall unter Normalbedingungen auch nicht mehr
vom Code her gibt es keine Zeile 83 im Zip und der Code stimmt dann auch nicht mit obigem Code überein, von daher schlecht zu sagen, was da passiert

Allerdings.... frontend.functions. php ~ Zeile 225 (wenn sie denn noch original ist) betrifft die Suche über das Frontend, hier speziell das Highlighting der Suchbegriffe. Die Kombination wäre im Normalfall mein Ansatzpunkt. Ich denke, da würde ich mir mal gezielt ein paar Messages in die error.log schreiben lassen, was denn von dieser Zeile 83 im Script auch ankommt

Code: [Select]
$images = array_slice( $all_images, $start, $settings['thumbs_per_page']);$all_images ist der Array mit den Bildern
$start eine numerische Zahl (bzw soll eine numerische Zahl sein),
$settings['thumbs_per_page'] ebenfalls eine numerische Zahl

lt der Fehlermeldung ist eine der beiden wohl keine Zahl
Gehe ich davon aus, das die Einstellung der settings auf jeden Fall richtig ist, bleibt mir dieses Stück Code als Fehlerquelle

Quote
if( isset( $_REQUEST['start'] ) ) {
        $start = $_REQUEST['start'];
}
else {
        $start = 0;
}

Hier fehlt jegliche Absicherung in Bezug auf numerische Werte. $_REQUEST['start'] kann alles mögliche sein, von einer echten Zahl bis hin zu Parametern, die du nie im Leben erwartest, um jetzt mal nix von möglichen Anweisungen per SQL- oder Code-Injections zu sagen. Du glaubst garnicht, was da alles möglich ist
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline evaki

  • Posts: 2754
Re: Swift-Gallery
« Reply #6 on: February 22, 2019, 02:02:16 PM »
Anhang:
swift_gallery_v0.6_ origin.zip
swift_gallery_v0.6_ BBS2.zip

Offline bbs2

  • Posts: 59
Re: Swift-Gallery
« Reply #7 on: February 22, 2019, 04:49:38 PM »
Hallo,

ich hatte das Modul vor ca. 10 Jahren installiert und von der damals offiziellen
WB_Seite geladen. Leider habe ich die damalige zip-Datei nicht mehr.

Die von mir im vorigen post gelieferte zip-Datei war lediglich der komprimierte Swift-Ordner
aus der Installation.

Ich habe jedoch nun noch folgenden Link gefunden:

http://www.websitebakers.com/pages/modules/image-galleries/swift-gallery.php

Viele Grüße

Heinz

Offline dbs

  • Betatester
  • **
  • Posts: 8036
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: Swift-Gallery
« Reply #8 on: February 22, 2019, 06:22:21 PM »
Es ist schon erstaunlich, dass das alte Teil noch läuft und sich sogar installieren lässt (nicht strict).
Habe in der Adresszeile mal eine gallery_id eingegeben, die es nicht gibt. Da zeigt er statt einer Galerie die URL zum WB upgrade-script.

In der view.php Zeile 83 hab ich leider eine Leerzeile. Das scheint nicht die gleiche Version zu sein, die du benutzt, oder?

Offline evaki

  • Posts: 2754
Re: Swift-Gallery
« Reply #9 on: February 24, 2019, 07:27:36 PM »
@bbs2
Der Link zeigt auf v0.6.6.0,
$module_name "Swift Gallery 2"
$module_directory   = "swift2";
Ist also eine andere Baustelle.

Betreff v0.6
Mit ein paar Korrekturen sind Fehlermeldungen wie "Parameter must be an array or an object that implements Countable" unter php7.2 nicht mehr zu sehen.

Ob unter v7.3 Lauffähig wurde noch nicht getestet.
Es gäbe auch noch Änderungen Funktionen betreffend zu tätigen. (Z.B. sectionID wegen mehreren Modulen auf einer Seite)
Da das Teil bis dato bei "uns" funktioniert, kommt der nächste Aufschrei evtl. mit dem Wechsel zur nächsten PHP-Version.
« Last Edit: February 24, 2019, 07:35:44 PM by evaki »

Offline bbs2

  • Posts: 59
Re: Swift-Gallery
« Reply #10 on: February 25, 2019, 09:05:48 AM »
Danke für die viele Hinweise.

Ich habe mal die Variabel $start generell auf 0 gesetzt.
$start=0;
Ob dies in allen Nutzungsumgebungen funktioniert kann ich leider nicht beurteilen.
Bisher läuft es bei mir fehlerfrei.

Gruß
Heinz


Offline evaki

  • Posts: 2754
Re: Swift-Gallery
« Reply #11 on: February 25, 2019, 09:11:48 AM »
Was ist denn nun installiert, v0.6 oder v0.6.6.0?
Und "PHP Fehlerberichte: Development" unter Optionen eingestellt?
MfG. Evaki
« Last Edit: February 25, 2019, 09:24:36 AM by evaki »

Offline bbs2

  • Posts: 59
Re: Swift-Gallery
« Reply #12 on: February 25, 2019, 12:52:29 PM »
Es ist 0.6 installiert.

Offline evaki

  • Posts: 2754
Re: Swift-Gallery
« Reply #13 on: February 25, 2019, 01:01:17 PM »
Und "PHP Fehlerberichte: Development" unter Optionen eingestellt?
Falls ja, mal die Galerie im Frontend aufrufen, und dann im error-log reinschauen.


ps.Ich muß jetzt erstmal an den Backofen: Käse mit Preiselbeeren in Blätterteig. Sind schön anzusehen und schmecken!

Sehe gerade, daß jacobi22 online ist. Der kann Dir dazu viel mehr sagen als ich.
MfG. Evaki

Offline bbs2

  • Posts: 59
Re: Swift-Gallery
« Reply #14 on: February 26, 2019, 05:57:23 PM »
Hallo,

der Hinweis im Forum auf den möglichen Fehler mit der Variable $start war wohl richtig.
Mit der festen Belegung $start=0 scheint es zu funktionieren.
Ich habe alle swift-Galleries im frontend aufgerufen. Die error-log bleibt bis jetzt leer.

Vielleicht hat jemand im Forum Interesse, das Modul, evtl. die Version Swift2, 0.66, auf den heutigen Stand zu ertüchtigen.
Meine php-Kenntnisse reichen dazu leider nicht aus. Das Modul wäre es wert.

Viele Grüße
Heinz

Offline jacobi22

  • Posts: 5879
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Swift-Gallery - recoded
« Reply #15 on: March 11, 2019, 03:59:14 PM »
Ich stell das hier mal rein...

Auf Basis der letzt bekannten Module-Version SwiftGallery v0.6 hab ich das Modul mal neu aufgesetzt. Minimum WB-Version ist WB 2.12.0, eine zweite Version, die ebenfalls fertig ist, setzt auf die demnächst erscheinende WB 2.12.2 auf. Diese bietet u.a. andere Möglichkeiten im Dateihandling innerhalb der neuen Module.
Da diese WB-Version aber noch nicht offiziell ist, mußte ich hier noch einmal rückbauen. Die Nachfolgeversionen werden aber als Minimum WB 2.12.2 haben.
Bei den PHP-Versionen habe ich bis PHP 5.6.1 getestet, aufwärts bis PHP 7.3.1

Idee des Moduls
Mit diesem Modul können Verzeichnisse unter /media ausgelesen werden. Die ermittelten Grafiken werden in einer Galerie dargestellt, das jeweils erste Bild als großes Bild, alle weiteren als Thumbnails je nach CSS daneben oder darunter. Die Bildgrößen vom Hauptbild und den Thumbnails ist definierbar, ebenso die Anzahl der Bilder pro Seite. Möglich ist ein Galerie-Name und eine Galeriebeschreibung . Beides kann über die Moduleinstellungen ein- und ausgeschaltet werden.
Das Modul benutzt keine Third-Party-Scripte wie z.b. JQuery-Effekte

Unterschiede zur Vorgänger-Version 0.6:
 - Positionen der Galerien in der Reihenfolge veränderbar - damit wäre die Menü-Darstellung weiterer Galerien in dieser Sektion veränderbar
 - Möglichkeit zum Anlegen einer Bildtitelliste (kann auch als kurze Bildbeschreibung verwendet werden). Die Beschreibung erscheint im title-Attribute des großen Bildes
 - Galerien können aktiv/inaktiv geschaltet werden
 - das Modul legt beim Install einen Ordner "swift" unter media an, in dem neue Bilder abgelegt werden können, einen Zwang zur Nutzung gibt es aber nicht
 - bei der Galeriebeschreibung wird ein Wysiwyg-Editor eingesetzt
 - die Standard-Galerie kann in der Übersicht und auch in den Moduleinstellungen geändert werden

Die neue Moduleversion ist kompatibel zur Ausgangs-Version 0.6. Die vorhandenen Einstellungen werden übernommen

Zum Bild-Titel noch:
in den Gallery-Einstellungen gibt es ein Textfeld - pro Zeile ein Eintrag. Das Textfeld bezieht sich auf alle Bilder im gewählten Verzeichnis, also 100 Bilder = 100 mögliche Zeilen. Eine Leerzeile macht den Titel für dieses Bild leer - Ist dieser Bildtitel leer oder wurde überhaupt keiner angegeben, erscheint der Dateiname

Ein paar Bilder
Modulübersicht - Backend -> https://i.gyazo.com/511e2040a37e6f116e313ebd853eface.png
Galerie bearbeiten -> https://i.gyazo.com/baee10304b5d080e9dfa3f0b034dbc00.png
Galerie Einstellungen -> https://i.gyazo.com/cd5c6fef52ce1a7c2ca7ca9278b82dae.png
Frontend-Ausgabe -> https://i.gyazo.com/3408b8f31edf45f3e22d76aa0e881b9e.png

Wie gehts weiter?
Das Modul läuft z.Z. noch in ein paar privaten Test's auf verschiedenen Servern. Vergessen hab ich wohl die Absicherung auf Grafiken, war im alten Modul auch nicht drin, ist aber schnell gemacht. Nach Abschluß meiner Testerei geht es noch an ein paar andere Tester und je nach Rückmeldungen werde ich es dann zeitnah hier veröffentlichen. Wer Interesse hat, kann sich ja per PN melden. Ich bin mir zwar sicher, das alles so läuft, wie erwartet und habe mittlerweile auch schon diverse und auch komplexe Uprades gefahren, empfehle aber dennoch für den Test eine nicht öffentliche Version und keine Produktiv-Seite

Wie auch das Vorgänger-Modul, verwendet die neue Version keinerlei Fremdscripte, z.b. für JQuery-Effekte. Es kann aber, das nötige Wissen vorausgesetzt, mit wenig Aufwand und auch überschreibungssich er bei Upgrades mit wenig Aufwand erweitert werden, z.b. mit einer Colorbox.

Für Anregungen, Erweiterungsvorschl äge etc ruhig auch eine PN nutzen
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline bbs2

  • Posts: 59
Re: Swift-Gallery
« Reply #16 on: March 11, 2019, 05:32:32 PM »
Hallo,

ich haben heute eine neue Swift-Gallery eingestellt. Diese läuft testweise mit der neuesten view_09dev und der
save-Version vom 9.3.2019 (1a)
Im frontend und backend zeigt sich bis jetzt kein Fehler. Siehe:

https://bbsiikl.de/pages/schulleben/unterrichtsprojekt-gemeinsam-lernen/bildergalerie-gemeinsam-lernen.php?gallery_id=91&start=10

Schön wäre es, wenn die Pfadangabe je nach Wunsch deaktiviert werden könnte.

Viele Grüße

Heinz Werner

Offline evaki

  • Posts: 2754
Re: Swift-Gallery
« Reply #17 on: March 11, 2019, 05:50:06 PM »
gehst du in view.php
zeile: echo $SWIFTTEXT['PATH'].': ',$gallery_url;
echo "<br>";
machst du
//echo $SWIFTTEXT['PATH'].': ',$gallery_url;
//echo "<br>";

färtisch

MfG. Evaki

Offline evaki

  • Posts: 2754
Re: Swift-Gallery
« Reply #18 on: March 11, 2019, 09:08:33 PM »
Anbei für'n Test das komplette Modul: swift_gallery_v0.7. 1-dev

Wäre nicht schlecht, wenn ich damit dann "durch wäre".
Unter sql strict wurde das Modul  von mir übrigens nicht getestet.
MfG. Evaki

Offline evaki

  • Posts: 2754
Re: Swift-Gallery
« Reply #19 on: March 12, 2019, 07:34:40 AM »
Die  swift_gallery_v0.7. 1-dev hat gegenüber den bisherigen Fixes noch einen korrigierten Tabelleneintrag, der den fehlerhaften Zustand nach Installation/Unnamed Gallery betrifft.
(Das betraf das an anderer Stelle erwähnte Verhalten bei Ersterstellung einer Galerie, was mich irritierte.)
Sieht so aus, als wenn der Fehler schon länger durchgeschleppt wurde, was ja nicht so selten vorkommt.

Man könnte das default Verzeichnis /media auch auf /media/swift ändern. Wäre "eleganter", weil leer. Kann ja ein Nachfolger machen, falls gewünscht...
MfG. Evaki
« Last Edit: March 12, 2019, 07:47:51 AM by evaki »

Offline dbs

  • Betatester
  • **
  • Posts: 8036
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: Swift-Gallery
« Reply #20 on: March 12, 2019, 08:58:28 AM »
Moin, hab 2 Galerien erstellt. Fehlermeldungen vorn oder hinten nicht zu sehen. Galerien funktionieren.
Aber der Pfad bleibt nicht erhalten, nach Speichern ist er leer. Nochmaliges Speichern würde also das vorher gewählte Verzeichnis entfernen.

Offline evaki

  • Posts: 2754
Re: Swift-Gallery
« Reply #21 on: March 12, 2019, 09:08:48 AM »
Quote
Aber der Pfad bleibt nicht erhalten
Du meinst im BE? Falls ja, hätte es m.E. sich schon in der 0.6 so verhalten. Das wäre dann etwas für die Coder, zu schauen ob das so überhaupt programmiert wurde. Hatte ich schon unter anderen Topic mal erwähnt - glaub ich wenigstens...
Aber ansonsten funktionieren die Galerien? (Bei mir zumindest schon  :-D )

Quote
Nochmaliges Speichern würde also das vorher gewählte Verzeichnis entfernen.

Hat mich auch irritiert wg. Reihenfolge. Wenn, dann immer neue Galerie und dann Vergabe. Mußte mal durchprobieren. So ganz konsequent in der Handhabung scheint das nicht an jeder Stelle durchdacht zu sein, oder es ist noch'n Fehler offen  - neu oder durchgeschleppt -   :evil:

MfG. Evaki
« Last Edit: March 12, 2019, 09:16:24 AM by evaki »

Offline dbs

  • Betatester
  • **
  • Posts: 8036
  • Gender: Male
  • tioz4ever
    • WebsiteBaker - jQuery-Plugins - Module - Droplets - Tests
Re: Swift-Gallery
« Reply #22 on: March 12, 2019, 09:18:42 AM »
Quote
Du meinst im BE? Falls ja, hätte es m.E. sich schon in der 0.6 so verhalten.
In einer Vorversion fiel mir das nicht auf. Aber ich würde da nicht drauf wetten.

Quote
Aber ansonsten funktionieren die Galerien? (Bei mir zumindest schon  :-D )
Quote from: dbs
Moin, hab 2 Galerien erstellt. Fehlermeldungen vorn oder hinten nicht zu sehen. Galerien funktionieren.
;)

Nochmaliges Speichern meint zB wenn der Galerie Titel geändert wird.

Offline evaki

  • Posts: 2754
Re: Swift-Gallery
« Reply #23 on: March 12, 2019, 09:23:48 AM »
Quote
Nochmaliges Speichern meint zB wenn der Galerie Titel geändert wird.
Das habe ich aktuell zumindest nicht mehr gemacht, ::hu::
Meine mich aber zu erinnern, daß auch schon vorher.....
Da es nicht wirklich etwas kaputt macht, könnte man es so lassen - wenn schon auch vorher...
Manche Sachen entdeckt man erst, wenn man dran rumfummelt -ähm...
Die "eigentlichen" Funktionen - bis auf count() und ein zusätzlicher Tabelleneintrag - wurden nicht angetastet! Alles andere über "feindliche Übernahme" geregelt, also bestehende Variable in eine neue kopiert/übernommen, und damit eigenständig weitergearbeitet/ergänzt.

Hoffentlich wird jetzt kein Rattenschwanz draus.

Vielleicht kann BBS2 mal den Vergleich OLD/NEU starten.
MfG. Evaki
« Last Edit: March 12, 2019, 09:30:13 AM by evaki »

Offline evaki

  • Posts: 2754
Re: Swift-Gallery
« Reply #24 on: March 12, 2019, 10:06:03 AM »
Falls nix besonderes mehr kommen sollte - hab' ich selbst noch 'ne Überraschung.
Anscheinend ist das Teil noch nie auf Sicherheit getestet worden, nun schon.
Mal schauen, ob ich dafür 'nen Fix hinbekomme. Falls nicht, werde ich 'nen DEV drum bitten.
Was nun konkret vorliegt, wird natürlich erst nach 'nem Fix bekannt gegeben.

Aber keine Panik bitte, wenn von 2006 bis heute nichts Aufregendes passiert ist...
MfG. Evaki

 

postern-length