Plugin calendar_xh und PHP 8 - fataler Fehler

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
Post Reply
hillschmidt
Posts: 29
Joined: Fri Nov 08, 2019 11:22 am

Plugin calendar_xh und PHP 8 - fataler Fehler

Post by hillschmidt » Tue Aug 09, 2022 2:46 pm

Nach "memberpages" und "newsletter" musste ich auch noch "calendar" als Plugin unter CMSimple_XH 1.7.5 Released: 2021-10-03 und PHP 8.0.20 deaktivieren - bei seinem Einsatz passiert folgendes:

Code: Select all

Ein fataler Fehler ist aufgetreten. Aktivieren Sie den Debug-Modus für weitere Hinweise.
Auch wenn der Modus aktiviert ist gibt es keine weiteren Hinweise...
Tipps, Ideen, Lösungen?
Es grüßt Andreas aus Rheinhessen
https://digibos.org

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

Re: Plugin calendar_xh und PHP 8 - fataler Fehler

Post by cmb » Tue Aug 09, 2022 3:52 pm

Siehe viewtopic.php?t=18611&p=84462#p84463; eventuell ist es nur das.
Christoph M. Becker – Plugins for CMSimple_XH

hillschmidt
Posts: 29
Joined: Fri Nov 08, 2019 11:22 am

Re: Plugin calendar_xh und PHP 8 - fataler Fehler

Post by hillschmidt » Wed Aug 10, 2022 12:09 pm

leider nicht ...
Es grüßt Andreas aus Rheinhessen
https://digibos.org

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

Re: Plugin calendar_xh und PHP 8 - fataler Fehler

Post by lck » Wed Aug 10, 2022 12:32 pm

cmb wrote:
Tue Aug 09, 2022 3:52 pm
Siehe viewtopic.php?t=18611&p=84462#p84463; eventuell ist es nur das.
Also bei mir läuft Calendar 1.4.8 mit diesen Änderungen lokal mit Xampp und PHP 8.1.6, habe aber auch die grünen Zeilen mit übernommen. Problem gibt es noch im Backend beim öffnen des Links "Eventliste".
Uncaught TypeError: Unsupported operand types: string * int in D:\xampp\htdocs\xh175\plugins\calendar\includes\eventlist.php:84
Stack trace:
#0 D:\xampp\htdocs\xh175\plugins\calendar\index.php(220): include()
#1 D:\xampp\htdocs\xh175\plugins\calendar\admin.php(195): events(6, '2022', '', '2', '', '', '')
#2 D:\xampp\htdocs\xh175\cmsimple\cms.php(1123): include('D:\\xampp\\htdocs...')
#3 D:\xampp\htdocs\xh175\index.php(6): include('D:\\xampp\\htdocs...')
#4 {main}
thrown in D:\xampp\htdocs\xh175\plugins\calendar\includes\eventlist.php on line 84
hillschmidt wrote:
Wed Aug 10, 2022 12:09 pm
leider nicht ...
Ist bei deinem Provider evtl. "magic_quotes_*" auf "On". Dürfte aber seit PHP 8.x nicht mehr der Fall sein.
Wenn ich in der php.ini z.B. "magic_quotes_gpc=" auf "On" stelle, so startet der Apache erst gar nicht.
„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 calendar_xh und PHP 8 - fataler Fehler

Post by cmb » Wed Aug 10, 2022 2:01 pm

lck wrote:
Wed Aug 10, 2022 12:32 pm
Problem gibt es noch im Backend beim öffnen des Links "Eventliste".
Uncaught TypeError: Unsupported operand types: string * int in D:\xampp\htdocs\xh175\plugins\calendar\includes\eventlist.php:84
Argh! In der Richtung könnte noch mehr im Argen liegen. Minimal invasiver Fix: diese Zeile ersetzen durch

Code: Select all

    $date_input   = (int) $year_input * 100 + (int) $month_input;
Aber eigentlich sollte man vermutlich die vier Zeilen vorher überarbeiten; $year and $month sollten wohl besser als Ganzzahlen (und nicht als Zeichenketten) definiert werden.

PS: und es macht ohnehin keinen Sinn, GET und POST Parameter aneinander zu hängen.
Christoph M. Becker – Plugins for CMSimple_XH

hillschmidt
Posts: 29
Joined: Fri Nov 08, 2019 11:22 am

Re: Plugin calendar_xh und PHP 8 - fataler Fehler

Post by hillschmidt » Thu Aug 11, 2022 9:39 am

Bei mir läuft der calendar_xh unter PHP 8 nun - siehe z.B. https://digibos.org/?Termine

Dabei ist mir noch aufgefallen, dass eine versteckte Seite

Code: Select all

?Veranstaltungsliste
(sic!) mit dem Inhalt

Code: Select all

{{{events();}}}
die Links aus dem Kalender (Datum-Link mit Ereignis) nicht mehr ins Leere laufen lässt - einen solchen Hinweis habe ich in der Doku nicht gefunden, aber schnell über den Seiten-Code ermittelt:

Code: Select all

 <tr>
    <td class="calendar_day">
        22    </td>
    <td class="calendar_day">
        23    </td>
    <td class="calendar_day">
        24    </td>
    <td class="calendar_eventday calendar_day">
      <a href="?Veranstaltungsliste&amp;month=8&amp;year=2022" title="16:00 Was blüht denn da?">
        25      </a>
    </td>
    <td class="calendar_day">
        26    </td>
    <td class="calendar_we">
        27    </td>
    <td class="calendar_we">
        28    </td>
  </tr>


Jetzt suche ich noch einer Lösung für den Newsletter ... denn auch Register_XH läuft nun problemlos zu meiner vollsten Zufriedenheit!
Es grüßt Andreas aus Rheinhessen
https://digibos.org

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

Re: Plugin calendar_xh und PHP 8 - fataler Fehler

Post by lck » Thu Aug 11, 2022 10:21 am

cmb wrote:
Wed Aug 10, 2022 2:01 pm
lck wrote:
Wed Aug 10, 2022 12:32 pm
Problem gibt es noch im Backend beim öffnen des Links "Eventliste".
Uncaught TypeError: Unsupported operand types: string * int in D:\xampp\htdocs\xh175\plugins\calendar\includes\eventlist.php:84
Argh! In der Richtung könnte noch mehr im Argen liegen. Minimal invasiver Fix: diese Zeile ersetzen durch

Code: Select all

    $date_input   = (int) $year_input * 100 + (int) $month_input;
Sehr schön, damit geht's.
„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 calendar_xh und PHP 8 - fataler Fehler

Post by cmb » Thu Aug 11, 2022 10:54 am

hillschmidt wrote:
Thu Aug 11, 2022 9:39 am
Jetzt suche ich noch einer Lösung für den Newsletter
Du meinst vermutlich https://simplesolutions.dk/?Newsletter. Da gibt es in admin.php wieder zwei get_magic_quotes_gpc() Aufrufe, die du jeweils inklusive der nächsten Zeile löschen kannst (falls du nicht ohnehin die Fallback-Definition in userfuncs.php nutzt). Dann gibt es in index.php Zeile 474 einen Funktionsaufruf (newsletter_confirmation()), dem ein Argument fehlt (das müsste aber bereits seit PHP 7.1.0 einen fatalen Fehler erzeugen; ist also wohl erst mal nicht relevant). Ich vermute, das eigentliche Problem ist die uralte PHPMailer-Version (von 2012); die müsste aktualisiert werden. Vermutlich nicht ganz ohne. :(
Christoph M. Becker – Plugins for CMSimple_XH

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

Re: Plugin calendar_xh und PHP 8 - fataler Fehler

Post by lck » Thu Aug 11, 2022 11:04 am

hillschmidt wrote:
Thu Aug 11, 2022 9:39 am
Jetzt suche ich noch einer Lösung für den Newsletter ... denn auch Register_XH läuft nun problemlos zu meiner vollsten Zufriedenheit!
Du meinst Newsletter 2.4.2 von Jerry.

Bei mir liefert der PHP error_log folgendes:
php_error_log wrote:PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in D:\...\xh175\plugins\newsletter\index.php on line 581
In der Zeile steht

Code: Select all

$k[$i]=ord($ky{$i})&0x1F;
ersetze alle Vorkommen von

Code: Select all

{$i}
durch

Code: Select all

[$i]
, es sind insgesamt 3, in den Zeilen 581, 585 und 586. Dann sollte Newsletter zumindest laufen.

Im Backend des Plugins tauchen dann noch ein paar Warnings auf. Christoph, was wäre da zu ändern?
Debug Mode wrote:WARNING: Undefined array key 0
D:\xampp\htdocs\Portable_XH-3.1\www\xh175_test_calendar148\plugins\newsletter\admin.php:335
WARNING: Undefined array key 0
D:\xampp\htdocs\Portable_XH-3.1\www\xh175_test_calendar148\plugins\newsletter\admin.php:336
WARNING: Undefined array key 0
D:\xampp\htdocs\Portable_XH-3.1\www\xh175_test_calendar148\plugins\newsletter\admin.php:338
WARNING: Undefined array key 0
D:\xampp\htdocs\Portable_XH-3.1\www\xh175_test_calendar148\plugins\newsletter\admin.php:355
WARNING: Undefined array key 0
D:\xampp\htdocs\Portable_XH-3.1\www\xh175_test_calendar148\plugins\newsletter\admin.php:356
WARNING: Undefined array key 0
D:\xampp\htdocs\Portable_XH-3.1\www\xh175_test_calendar148\plugins\newsletter\admin.php:379
Zeile 335 bis 338

Code: Select all

		preg_match('/newsletter\(["|\'].*["|\']\)/',$mres[0],$mres);
		if (trim($mres[0]=="")) { /// try {{{PLUGIN:....}}} notification
			preg_match('/{{{[PLUGIN:]*newsletter\(["|\'].*["|\']\).*}}}/i',$i,$mres);
			preg_match('/newsletter\(["|\'].*["|\']\)/',$mres[0],$mres);
„Bevor du den Pfeil der Wahrheit abschießt, tauche die Spitze in Honig!“   👉 Ludwig's XH-Templates for MultiPage & OnePage

hillschmidt
Posts: 29
Joined: Fri Nov 08, 2019 11:22 am

Re: Plugin calendar_xh und PHP 8 - fataler Fehler

Post by hillschmidt » Thu Aug 11, 2022 12:13 pm

SUPER & DANKE, lck,
Nach Deinen Änderungen im Newsletter 2.4.2 habe ich gerade erfolgreich wieder einen Newsletter über eine meiner beiden CMSimple_XH Seiten verschicken können - völlig problemlos.

Das magic_quotes habe ich über die userfuncs gelöst. Auch Danke dafür.
Es grüßt Andreas aus Rheinhessen
https://digibos.org

Post Reply