Seite 2 von 2

Re: Migration schreiben von "

Verfasst: 21.09.2021 17:36
von IMC
Vielen Dank für die Hinweise und Tipps. Hier ist meine Lösung.

Code: Alles auswählen

$imcger_.... = $this->config['imcger_...'] ? '"'.$this->config['imcger_...'].'",' : '';

Re: Migration schreiben von "

Verfasst: 21.09.2021 20:44
von Dr.Death
Wenn Du nur PHP 7.x als minimum zulässt, geht es noch kürzer:

Code: Alles auswählen

$imcger_.... = $this->config['imcger_...'] ?? '';
Erklärung:
https://riptutorial.com/php/example/716 ... g-operator

Wenn also $this->config['imcger_...'] ungleich NULL ist, verwende es, ansonsten setze es auf ''

Edit: Vergiss meinen Hinweis, ich habe nicht gesehen, das du da noch ein , an den Wert gesetzt hattest....

Vielleicht magst Du uns Deinen kompletten Code via Github oder ähnliches mal zeigen ?

Re: Migration schreiben von "

Verfasst: 22.09.2021 17:41
von IMC
Dr.Death hat geschrieben: 21.09.2021 20:44Vielleicht magst Du uns Deinen kompletten Code via Github oder ähnliches mal zeigen ?
Mache ich gern. Kann aber noch etwas dauern da ich immer den drang habe den Code zu optimieren. Und neuerdings auch zu Kommentieren.

Danke auch für den Hinweis auf den "Null Coalescing Operator". Kannte ich noch nicht. Tatsächlich Programmiere ich in php und javascript noch nicht so lange. Früher habe in unter OS/2 viel in C gemacht (Hobby). Nachdem mein Warp4 Rechner gestorben war (ca. 2003), gab es eine längere Programmierpause. Im Moment bereue ich es ein bisschen das ich mich der OOP in der Vergangenheit immer verweigert habe.

Re: Migration schreiben von "

Verfasst: 23.09.2021 14:21
von LukeWCS
IMC hat geschrieben: 22.09.2021 17:41 Mache ich gern. Kann aber noch etwas dauern da ich immer den drang habe den Code zu optimieren. Und neuerdings auch zu Kommentieren.
Den Optimier-Drang haben die meisten von uns, das ist für einen Coder etwas ganz natürliches. ^^

Das zeigen des "Ganzen" hat den Hintergrund, dass man bei Fragen deinerseits nicht jedes Detail extra und mühselig rückfragen muss, wenn zum Verständnis eines Details mehr Code-Kontext benötigt wird.
IMC hat geschrieben: 21.09.2021 17:36

Code: Alles auswählen

$imcger_.... = $this->config['imcger_...'] ? '"'.$this->config['imcger_...'].'",' : '';
Kleine Info am Rande: Verkettungen möglichst mit Leerzeichen notieren, das macht den Code einfacher/schneller zu lesen.

Code: Alles auswählen

$imcger_.... = $this->config['imcger_...'] ? '"' . $this->config['imcger_...'] . '",' : '';
Sieht man auch überall an den Beispielen in den offziellen coding guidelines. Das ist so nebenbei auch eine Info-Quelle, wie bestimmte Dinge gemacht werden können/sollten (oder sogar müssen). Insbesondere wenn ein Code auch von anderen gesichtet werden soll (bei Rückfragen oder bei Veröffentlichung) oder muss (bei Einreichung zur Validierung).

Re: Migration schreiben von "

Verfasst: 12.10.2021 23:30
von IMC
Dr.Death hat geschrieben: 21.09.2021 20:44 Vielleicht magst Du uns Deinen kompletten Code via Github oder ähnliches mal zeigen ?
Jetzt ist der Code auf Github verfügbar.
https://github.com/IMC-GER/phpBB-fancyb ... r/fancybox

Ist eine von zwei Extension die ich geschrieben habe um nicht bei jeden Update die Template Dateien anzupassen zu müssen.

Re: Migration schreiben von "

Verfasst: 14.10.2021 03:31
von 3Di
IMC hat geschrieben: 12.10.2021 23:30 Jetzt ist der Code auf Github verfügbar.
Ich musste mehrere Dateien ändern, damit es funktionierte, zumindest in den Grundeinstellungen, der ACP funktionierte zum Beispiel nicht und beeinträchtigte den gesamten Vorgang. Nachdem das behoben war, habe ich mich den Vorlagen zugewandt und sie ebenfalls korrigiert. Außerdem fehlten mehrere Dateien und ich musste sie aus dem Internet herunterladen (http://fancyapps.com/fancybox/) und hinzufügen (CSS und JS). Jetzt kann ich wenigstens sehen, worum es geht. Aber es gibt wirklich noch viel zu tun, bevor es ein Code werden kann, wie er sein sollte.

[ externes Bild ] Topic

[ externes Bild ] ACP

Aber das reicht nicht, man muss die Verzeichnisse verschieben und den richtigen Code für die Einbindung verwenden, ich habe praktisch den halben Code umgeschrieben, damit es funktioniert.

Und es ist immer noch alles sehr rau.

Re: Migration schreiben von "

Verfasst: 14.10.2021 03:56
von 3Di
Hier sind die grundlegenden Korrekturen, die Ihre Erweiterung funktionieren lassen, folgen Sie meinen Hinweisen:

https://github.com/IMC-GER/phpBB-Fancybox/pull/1

Re: Migration schreiben von "

Verfasst: 14.10.2021 20:11
von IMC
3Di hat geschrieben: 14.10.2021 03:56 Hier sind die grundlegenden Korrekturen, die Ihre Erweiterung funktionieren lassen, folgen Sie meinen Hinweisen:
Danke für die Hinweise.

Tatsächlich arbeitet mein Code in dem von mir betreuten Foren ohne Probleme.
Getestet mit phpBB 3.2.5 php 7.3
und phpBB 3.3.5 php 7.4

Ich werde die vorgeschlagenen Änderungen am Wochenende in meinen Umgebungen testen und dann übernehmen da mein Code anscheinend nicht überall einwandfrei arbeitet.
Die Zeile 68 in der main_listener.php muß bleiben da die Fancybox v3 eine andere Ausgabe erwartet als die Version 4.

Die Dateien der Fancybox v3 & v4 habe ich bewusst nicht mit auf meinen Github Repositorie gespeichert um mit den Lizenzrecht auf der sicheren Seite zu stehen. Das diese gesondert heruntergeladen müssen habe ich in der README.md geschrieben.

Nochmals vielen Dank für diese Hinweise. Leider lesen sich die Dev Docs mit meinen Englisch Kenntnissen nicht so einfach. Deshalb bin ich für jeden Tipp dankbar.
Auch habe ich gelernt das ich mich auf meine alten Tage doch etwas mehr mit der OO Programmierung auseinander setzen sollte. Mit dem verstehen der API Documentation tue ich mich noch etwas schwer. Ich arbeite dran.

Re: Migration schreiben von "

Verfasst: 15.10.2021 00:41
von 3Di
IMC hat geschrieben: 14.10.2021 20:11 Die Zeile 68 in der main_listener.php muß bleiben da die Fancybox v3 eine andere Ausgabe erwartet als die Version 4.
Ich habe dies bereits berechnet, und mit meinen Änderungen funktioniert es tatsächlich so, wie es sollte.
Wie man so schön sagt, ins Auto steigen und fahren. :)

Aber es funktioniert nicht mit phpBB 3.2.x, weil ich Funktionen verwende, die nur in 3.3.x existieren
wie z.B.: https://github.com/phpbb/phpbb/blob/3.3 ... config.php