Plugin-Kompatibilität zu CMSimple_XH 1.7

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
Post Reply
cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Plugin-Kompatibilität zu CMSimple_XH 1.7

Post by cmb » Sat Aug 19, 2017 10:50 pm

Hartmut wrote:Ich halte es aus meiner Sicht für besser, wenn eine PHP Version "≥ 5.3.0" für die Hauptversionsnr. (5.x) Gültigkeit hat und auf CMSimple_XH bezogen die Angabe "≥ 1.6.3" sich auf die Haupt- und Nebenversionsnr. "≥ 1.6.x" bezieht. Wenn der Entwickler auch höhere Haupt- und Nebenversionsnummern explizit erwähnt umso besser.
Interessant. So wird es im PHP-Handbuch auch gemacht. Als Grund könnte ich mir die mögliche parallele Weiterentwicklung zweier Hauptversionen (bzw. bei CMSimple_XH entsprechend zweier Nebenversionen) vorstellen. Das gab es aber zu "meiner Zeit" weder bei PHP noch CMSimple_XH, so dass ich einfach nur angegeben habe, welche Versionen mindestens benötigt werden, und bis zur neuesten möglichst aktuell zu halten. Wenn ich darüber nachdenke, dann ist so gesehen deine Sichtweise sinnvoller, und ich werde die Voraussetzungen in Zukunft entsprechend differenzierter angeben (falls ich dran denke – ansonsten bitte erinnern!)
Hartmut wrote:Diese Funktion [fixierter Table-Head] wäre bei langen Auflistungen eine recht praktische Funktion im Plugin Tablesorter_XH.
Vielleicht könnte dies Christoph in einer der folgenden Funktionen berücksichtigen?
Ich habe das vermerkt, kann aber nicht sagen, wann ich dazu komme. Schade, dass ein tbody {overflow:auto; height: …} nicht genügt.
kmsmei wrote:Aber die anderen Dinge... Da fehlt mir schlicht die Ahnung. Wäre schon super, wenn sich da ein Weg finden lassen würde.
Okay, der elFinder ist ja schon ein tolles Tool (erinnert mich ein bisschen an den Ajaxfilemanager :cry: ). Also schau mal in plugins/elfinder_xh/connectors/connector.minimal_xh.php. Dort wird ziemlich am Anfang die Session geöffnet:

Code: Select all

if (session_id() == '') {
    session_start();
} 
CMSimple_XH 1.7 braucht aber einen bestimmten Namen für die Session, der in cmsimple/.sessionname hinterlegt ist (nachdem man sich einmal in den Adminmodus eingeloggt hat). Nun muss eigentlich nur noch der Pfad zu dieser Datei konstruiert werden, und das geht ganz gut per __DIR__ (benötigt PHP 5.3 oder neuer), das das Verzeichnis der Datei, in der es, steht, angibt. Ändere daher den Code zu:

Code: Select all

if (session_id() == '') {
    session_name(file_get_contents(__DIR__ . '/../../../cmsimple/.sessionname'));
    session_start();
} 
Nun sollte der "CMS-Browser" (Dateien → Bilder/Downloads/Userfiles) funktionieren (ich habe nur ganz kurz getestet).

Analog müsste auch der jeweilige "Connector" für den verwendeten Editor angepasst werden. Für den TinyMCE 4 muss das in for_tinymce4_elfinder_html.php gemacht werden. Außerdem muss noch die eigentliche Login-Prüfung angepasst werden, weil seit CMSimple_XH 1.7 $_SESSION['xh_password'][$el_root] einfach nur noch $_SESSION['xh_password'] ist, also:

Code: Select all

    return isset($_SESSION['xh_password'])
        && isset($_SESSION['xh_password'])
        && $_SESSION['xh_password'] == $_SESSION['elfinder']['password']
        && isset($_SESSION['xh_user_agent'])
        && $_SESSION['xh_user_agent'] == md5($_SERVER['HTTP_USER_AGENT']); 
Aber Achtung: diese Änderungen funktionieren (wenn überhaupt) nur unter CMSimple_XH 1.7. Unter 1.6er Versionen aber nicht. Wollte man eine Variante zusammenhacken, die unter beiden XH Versionen läuft, dann könnte man auf das Vorhandensein von .sessionname testen, und entsprechend branchen. Aber da wird's schon arg hackig…
Michael_G wrote:folgende zwei Plug-ins funktionieren unter PHP 7.1.8 mit CMSimple_XH 1.7.0, man kommt aber nicht mehr ins Backend:

Quoteoftheday 1.1
Sitemapper 2.0.2
Bezüglich Quoteoftheday kannst du auf Version 1.1.1 updaten; dort sollte das Problem behoben sein. Bezüglich Sitemapper ist das Problem bekannt; ich weiß nicht wann ich eine neuer Version freigeben kann. Quick-Fix: ändere diese Zeile zu:

Code: Select all

        if (XH_ADM && XH_wantsPluginAdministration('sitemapper')) {
(benötigt CMSimple_XH ≥ 1.6.3 oder CMSimple_XH ≥ 1.7.0)
Christoph M. Becker – Plugins for CMSimple_XH

Michael_G
Posts: 185
Joined: Thu Feb 18, 2016 11:01 pm
Contact:

Re: Plugin-Kompatibilität zu CMSimple_XH 1.7

Post by Michael_G » Sun Aug 20, 2017 12:52 am

@Christoph:
Danke für die rasche Hilfe, Sitemapper funktioniert wieder prima, QuoteOfTheDay eigentlich auch, aber es wird noch angemeckert:

Code: Select all

NOTICE: Undefined index: legal
/homepages/nn/xxxxxxxxxx/htdocs/domainname.info/plugins/quoteoftheday/admin.php:248
NOTICE: Undefined index: legal
/homepages/38/xxxxxxxxxx/htdocs/domainname.info/plugins/quoteoftheday/admin.php:249
wie im anderen vorher gemeldeten Plug-in.
Bin nicht 100%ig sicher, wie der Code geändert werden muss, daher warte ich lieber auf Deine Korrektur. ;)

Einen schönen Sonntag!
Ciao
Michael

Let's Encrypt!

Hartmut
Posts: 553
Joined: Sat Nov 05, 2011 6:13 pm
Location: Butzbach, Deutschland
Contact:

Re: Plugin-Kompatibilität zu CMSimple_XH 1.7

Post by Hartmut » Sun Aug 20, 2017 10:04 am

Michael_G wrote: Zur Vollständigkeit hier meine Gesamtliste der bei mir zuverlässig laufenden Plug-ins (alles mit PHP 7.1.8 und CMSimple_XH 1.7.0):
Ckeditor 2.2.1 (mein Standard-Editor, auch weil nur er Bilder mit Mouse-over-Effekten unversehrt lässt!)
Downloadcontrol 1.7
danke für die ausführliche Auflistung deiner CMSimple_XH Installation, denn mit ihr konnten in der Plugin Kompabilitäts Liste wieder einige "??" durch fundierte Angaben ersetzt werden.

In diesem Zusammenhang wurde die Kompabilitätsliste auch in die beiden Teile "aktuelle Version" und "Historie" aufgesplittet.
cmb wrote:
Hartmut wrote: Ich halte es aus meiner Sicht für besser, wenn eine PHP Version "≥ 5.3.0" für die Hauptversionsnr. (5.x) Gültigkeit hat und auf CMSimple_XH bezogen die Angabe "≥ 1.6.3" sich auf die Haupt- und Nebenversionsnr. "≥ 1.6.x" bezieht. Wenn der Entwickler auch höhere Haupt- und Nebenversionsnummern explizit erwähnt umso besser.
Interessant. So wird es im PHP-Handbuch auch gemacht. Als Grund könnte ich mir die mögliche parallele Weiterentwicklung zweier Hauptversionen (bzw. bei CMSimple_XH entsprechend zweier Nebenversionen) vorstellen. Das gab es aber zu "meiner Zeit" weder bei PHP noch CMSimple_XH, so dass ich einfach nur angegeben habe, welche Versionen mindestens benötigt werden, und bis zur neuesten möglichst aktuell zu halten. Wenn ich darüber nachdenke, dann ist so gesehen deine Sichtweise sinnvoller, und ich werde die Voraussetzungen in Zukunft entsprechend differenzierter angeben (falls ich dran denke – ansonsten bitte erinnern!)
Bei der Angabe der Versionen bin ich eher vom "praktischen Betrieb" durch den Anwender und weniger von der PHP Philosophie ausgegangen.
Die Provider bieten derzeit (in der Regel) PHP 5.6, 7.0 und 7.1 an.
Da die Unterschiede zwischen den PHP Hauptversionen wesentlich mehr (negative) Auswirkungen auf eine "Anwendung" (sprich CMS mit seinen zusätzlichen Komponenten) haben (können) als die Unterversionen, aber mache Anwendungen eine gewisse PHP Haupt- und Unterversion voraussetzen, war dies mein Grundgedanke zu dieser Auflistung der einzelnen PHP und CMS Versionen.
Es gibt natürlich auch andere Meinungen zu diesem Thema, was von der jeweiligen Sicht auf das Thema für mich OK ist.
Wenn Du also für deine Plugins sagst das sie auch bis zur aktuellen PHP Version (7.1.x) funktionieren, werde ich dies in der Kompabilitätsliste so vermerken.
cmb wrote:
Hartmut wrote: Diese Funktion [fixierter Table-Head] wäre bei langen Auflistungen eine recht praktische Funktion im Plugin Tablesorter_XH.
Vielleicht könnte dies Christoph in einer der folgenden Funktionen berücksichtigen?
Ich habe das vermerkt, kann aber nicht sagen, wann ich dazu komme. Schade, dass ein tbody {overflow:auto; height: …} nicht genügt.
Bei meinen CMSimple_XH Installationen versuche ich möglichst nahe am "offiziellen CMSimple_XH Standard" zu bleiben und aus diesem Grund hatte ich damals den Tablesorter_XH verwendet.
Derzeit verwende ich noch eine Vorversion von 1.0 beta1, da bei der aktuellen Version die Tabellenformatierung bei mir nicht mehr passt bzw. nicht so schön aussieht (Überbreite der Tabelle, Spaltenüberschrift als Schaltflächen die kleiner als die Zelle sind, ...) und diese "Bastelei" in meiner ToDo-Liste keine hohe Priorität hat.

Das Plugin elFinder_XH wurde vor einiger Zeit von utaka (https://cmsimpleforum.com/viewtopic.php ... t=elfinder) publiziert, aber es wird hier im Forum selten erwähnt. Ist es hilfreich es in die Plugin Dokumentation aufzunehmen?

Viele Grüße
Hartmut

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

Re: Plugin-Kompatibilität zu CMSimple_XH 1.7

Post by cmb » Sun Aug 20, 2017 12:02 pm

Michael_G wrote:Danke für die rasche Hilfe, Sitemapper funktioniert wieder prima, QuoteOfTheDay eigentlich auch, aber es wird noch angemeckert:

Code: Select all

NOTICE: Undefined index: legal
/homepages/nn/xxxxxxxxxx/htdocs/domainname.info/plugins/quoteoftheday/admin.php:248
NOTICE: Undefined index: legal
/homepages/38/xxxxxxxxxx/htdocs/domainname.info/plugins/quoteoftheday/admin.php:249
wie im anderen vorher gemeldeten Plug-in.
Bin nicht 100%ig sicher, wie der Code geändert werden muss, daher warte ich lieber auf Deine Korrektur. ;)
Danke für den Hinweis! Schau mal, ob du mit den Änderungen zurecht kommst. :)
Christoph M. Becker – Plugins for CMSimple_XH

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

Re: Plugin-Kompatibilität zu CMSimple_XH 1.7

Post by cmb » Sun Aug 20, 2017 12:35 pm

Hartmut wrote:Wenn Du also für deine Plugins sagst das sie auch bis zur aktuellen PHP Version (7.1.x) funktionieren, werde ich dies in der Kompabilitätsliste so vermerken.
Das wäre zu kühn; ich kann lediglich sagen, dass meine Plugin idealer Weise auch unter PHP 7.0 und 7.1 funktionieren sollten. Gerade bei Plugins, die schon lange kein Update mehr erfahren haben, ist das aber in keiner Weise getestet, und die PHPCompatInfo-Prüfung berücksichtigt nur PHP-Versionen, die zur Zeit der Prüfung auch schon veröffentlicht waren (und kann sowieso nicht alle Probleme erkennen).

Lass im Zweifel die Fragezeichen stehen. :)
Hartmut wrote:Derzeit verwende ich noch eine Vorversion von 1.0 beta1, da bei der aktuellen Version die Tabellenformatierung bei mir nicht mehr passt bzw. nicht so schön aussieht (Überbreite der Tabelle, Spaltenüberschrift als Schaltflächen die kleiner als die Zelle sind, ...) und diese "Bastelei" in meiner ToDo-Liste keine hohe Priorität hat.
Ah, ich sehe. Da wäre wohl tablecolumns angebracht; ich weiß aber nicht, wie ich das zeitlich unterbringen kann.
Hartmut wrote:Das Plugin elFinder_XH wurde vor einiger Zeit von utaka (https://cmsimpleforum.com/viewtopic.php ... t=elfinder) publiziert, aber es wird hier im Forum selten erwähnt. Ist es hilfreich es in die Plugin Dokumentation aufzunehmen?
Ja, auf jeden Fall! Es ist wohl der Dateimanager mit den meisten Features (Kopieren und Verschieben von Dateien, zumindest eine einfache Bildbearbeitung, optionale Verwendung von pixlr.com (was aber Flash voraussetzt), Suchfunktion); funktioniert aber leider ohne Patches noch nicht unter CMSimple_XH 1.7.
Christoph M. Becker – Plugins for CMSimple_XH

lck
Posts: 2963
Joined: Wed Mar 23, 2011 11:43 am
Contact:

Re: Plugin-Kompatibilität zu CMSimple_XH 1.7

Post by lck » Sun Aug 20, 2017 2:19 pm

cmb wrote:
Hartmut wrote:Diese Funktion [fixierter Table-Head] wäre bei langen Auflistungen eine recht praktische Funktion im Plugin Tablesorter_XH.
Vielleicht könnte dies Christoph in einer der folgenden Funktionen berücksichtigen?
Ich habe das vermerkt, kann aber nicht sagen, wann ich dazu komme. Schade, dass ein tbody {overflow:auto; height: …} nicht genügt.
Einfache Lösung per CSS3:

Code: Select all

.tablesorter thead th {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
}
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

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

Re: Plugin-Kompatibilität zu CMSimple_XH 1.7

Post by cmb » Sun Aug 20, 2017 2:53 pm

lck wrote:Einfache Lösung per CSS3:

Code: Select all

.tablesorter thead th {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
}
Cool, danke! Der Support dafür ist zwar noch mäßig, aber mir soll's genügen. :)
Christoph M. Becker – Plugins for CMSimple_XH

Hartmut
Posts: 553
Joined: Sat Nov 05, 2011 6:13 pm
Location: Butzbach, Deutschland
Contact:

Re: Plugin-Kompatibilität zu CMSimple_XH 1.7

Post by Hartmut » Sun Aug 20, 2017 7:13 pm

cmb wrote:
Hartmut wrote:Das Plugin elFinder_XH wurde vor einiger Zeit von utaka (https://cmsimpleforum.com/viewtopic.php ... t=elfinder) publiziert, aber es wird hier im Forum selten erwähnt. Ist es hilfreich es in die Plugin Dokumentation aufzunehmen?
Ja, auf jeden Fall! Es ist wohl der Dateimanager mit den meisten Features (Kopieren und Verschieben von Dateien, zumindest eine einfache Bildbearbeitung, optionale Verwendung von pixlr.com (was aber Flash voraussetzt), Suchfunktion); funktioniert aber leider ohne Patches noch nicht unter CMSimple_XH 1.7.
Das Plugin elFinder_XH ist in die Plugin Dokumentation und Kompabilitätsliste aufgenommen worden.

Viele Grüße
Hartmut

Michael_G
Posts: 185
Joined: Thu Feb 18, 2016 11:01 pm
Contact:

Re: Plugin-Kompatibilität zu CMSimple_XH 1.7

Post by Michael_G » Sun Aug 20, 2017 7:18 pm

cmb wrote:
Michael_G wrote:Danke für die rasche Hilfe, Sitemapper funktioniert wieder prima, QuoteOfTheDay eigentlich auch, aber es wird noch angemeckert:
[... gekürzt, siehe oben ...]
wie im anderen vorher gemeldeten Plug-in.
Bin nicht 100%ig sicher, wie der Code geändert werden muss, daher warte ich lieber auf Deine Korrektur. ;)
Danke für den Hinweis! Schau mal, ob du mit den Änderungen zurecht kommst. :)
8-) Klar komme ich mit sowas zurecht. ;) Danke, hat geholfen!
Ciao
Michael

Let's Encrypt!

kmsmei
Posts: 93
Joined: Tue Nov 03, 2009 9:03 am

Re: Plugin-Kompatibilität zu CMSimple_XH 1.7

Post by kmsmei » Mon Aug 21, 2017 6:24 pm

Hallo Christoph,

habe mich nunmehr an den ELFinder gesetzt. Das läuft alles gut (Adminbereich, Anzeige in Dateien/Bilder/Downloads) bis zu dieser Stelle:
Analog müsste auch der jeweilige "Connector" für den verwendeten Editor angepasst werden. Für den TinyMCE 4 muss das in for_tinymce4_elfinder_html.php gemacht werden. Außerdem muss noch die eigentliche Login-Prüfung angepasst werden, weil seit CMSimple_XH 1.7 $_SESSION['xh_password'][$el_root] einfach nur noch $_SESSION['xh_password'] ist, also:
CODE: SELECT ALL
return isset($_SESSION['xh_password'])
&& isset($_SESSION['xh_password'])
&& $_SESSION['xh_password'] == $_SESSION['elfinder']['password']
&& isset($_SESSION['xh_user_agent'])
&& $_SESSION['xh_user_agent'] == md5($_SERVER['HTTP_USER_AGENT']);
Die Datei habe ich entsprechend angepasst. Nur dann passiert Seltsames. Im Editor Bild einfügen, Quelle --> Dateimanager-Button. Es öffnet sich ein Overlay mit Ausgabe der ELFinder-Version in der Kopfzeile, im Fenster selbst eine komplette leere Seite inkl Menü, Kopf und Fußzeile und Ausgabe der Meldung "Keine Seite ausgewählt". Im Debug-Mode lediglich zwei Ausgaben von XH-DEPRECATED, die mit dem Plugin nichts zu tun haben.

Wäre nett, wenn Du noch einmal drauf schauen könntest.

Danke Frank

Post Reply