Quick_buttons: PHP-Warning

Hier bitte Probleme zu ConPressoPlus melden. Hier werden Ursachen und Lösungsvorschläge diskutiert.
Bugs in Modulen in den entsprechenden Foren melden und diskutieren!
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 841
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 226 Mal
Danksagung erhalten: 32 Mal

Quick_buttons: PHP-Warning

Beitrag von hscha »

Lieber Markus,
meine "Daisy World" läuft seit Beginn des Neuen Jahres auch unter php Version 8.5.1-nmm1 (all-inkl).

Bislang ohne Probleme. Nun dies im Fehler-Log (ich kann nicht nachvollziehen, welche Situation dazu geführt hat...

Code: Alles auswählen

[20-Jan-2026 19:45:35] PHP Warning:  Array to string conversion in /www/htdocs/.../gesangskreis-nordspandau.de/cms/_include/quick_buttons.inc.php on line 264
[20-Jan-2026 19:45:35] PHP Warning:  Array to string conversion in /www/htdocs/.../gesangskreis-nordspandau.de/cms/_include/quick_buttons.inc.php on line 258
[20-Jan-2026 19:45:35] PHP Warning:  Array to string conversion in /www/htdocs/.../gesangskreis-nordspandau.de/cms/_include/quick_buttons.inc.php on line 216
[20-Jan-2026 19:45:35] PHP Warning:  Array to string conversion in /www/htdocs/.../gesangskreis-nordspandau.de/cms/_include/quick_buttons.inc.php on line 210
Hast du eine Idee dazu?
Grüße von Horst
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7532
Registriert: 01.01.1970 02:00
Hat sich bedankt: 117 Mal
Danksagung erhalten: 943 Mal

Re: Quick_buttons: PHP-Warning

Beitrag von MarkusR »

Spannende Beobachtung!
Alle genannten Zeilen enden auf ='.get_id(), und erhalten dadurch eine in der URL, Formulardaten oder in der Session enthaltene ID. Das ist eigentlich IMMER ein eindeutiger Wert und kein Array, daher ist die Warnung sehr verwunderlich. Ist bei mir noch nie aufgetreten.

Warum auch immer bei Dir aus eindeutigen IDs plötzlich ein mehrdeutiges Array wird.

Möglich wäre folgendes Workaround:

Ändere die Funktion (ab Zeile 19)

Code: Alles auswählen

if (!function_exists('get_id'))  {
    function get_id()  {  // needed cause of different id-names for template and rubric ids
        global $placeholder, $template_id;
        $id='';
        if (isset($_SESSION['SID_rubric_id']))    $id = $_SESSION['SID_rubric_id'];
        if (isset($_REQUEST['id']))               $id = $_REQUEST['id'];
        if (isset($_REQUEST['template']))         $id = $_REQUEST['template'];
        if (isset($_REQUEST['templates_id']))     $id = $_REQUEST['templates_id'];
        if (isset($_REQUEST['rubric_id']))        $id = $_REQUEST['rubric_id'];
        if (isset($template_id))                  $id = $template_id;
        if (isset($placeholder['templates_id']))  $id = $placeholder['templates_id'];
        return $id;
    }
}
zu

Code: Alles auswählen

if (!function_exists('get_id'))  {
    function get_id()  {  // needed cause of different id-names for template and rubric ids
        global $placeholder, $template_id;
        $id='';
        if (isset($_SESSION['SID_rubric_id']))    $id = $_SESSION['SID_rubric_id'];
        if (isset($_REQUEST['id']))               $id = $_REQUEST['id'];
        if (isset($_REQUEST['template']))         $id = $_REQUEST['template'];
        if (isset($_REQUEST['templates_id']))     $id = $_REQUEST['templates_id'];
        if (isset($_REQUEST['rubric_id']))        $id = $_REQUEST['rubric_id'];
        if (isset($template_id))                  $id = $template_id;
        if (isset($placeholder['templates_id']))  $id = $placeholder['templates_id'];
        if (!is_array($id)) return $id;
    }
}
also wird aus
return $id;
nun
if (!is_array($id)) return $id;
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7532
Registriert: 01.01.1970 02:00
Hat sich bedankt: 117 Mal
Danksagung erhalten: 943 Mal

Re: Quick_buttons: PHP-Warning

Beitrag von MarkusR »

Zur Erläuterung:

Code: Alles auswählen

$a = array(1,2,3);
$s = 'text'.$a;
wirft die Warnung:
Warning: Array to string conversion in /var/www/vhosts/example.de/httpdocs/test.php on line 2
Irgendwas füllt bei Dir eine der eigentlich zwingend eindeutigen Variablen mit einem Array...

$_SESSION['SID_rubric_id'];
$_REQUEST['id'];
$_REQUEST['template'];
$_REQUEST['templates_id'];
$_REQUEST['rubric_id'];
$template_id;
$placeholder['templates_id'];
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7532
Registriert: 01.01.1970 02:00
Hat sich bedankt: 117 Mal
Danksagung erhalten: 943 Mal

Re: Quick_buttons: PHP-Warning

Beitrag von MarkusR »

Ok, Verursacher gefunden!
Es ist mod_enhanced_delete, das bei der Lösch-Bestätigung ein Array mittels name="id[]" aufbaut und dann zu dem Fehler führt.

Das Workaround sollte den Fehler unterdrücken, ich werde aber in mod_enhanced_delete die Variablen umbenenen...

Das ist übrigens ein allgegenwärtiges Problem in ConPresso, dass sowohl Artikel, Templates, User als auch Dateien mit id= in URLs adressiert werden, so dass übergreifende Funktionen schnell durch die ID in Probleme geraten...
Wollte ich sowieso ändern, ist aber ein massiver Eingriff in die bisherige Logik.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 841
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 226 Mal
Danksagung erhalten: 32 Mal

Re: Quick_buttons: PHP-Warning

Beitrag von hscha »

Das Problem ist auch nur einmal aufgetreten, ich hatte aber tatsächlich Dateien gelöscht...
Ich baue das Workaround gerne ein!
Danke!
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7532
Registriert: 01.01.1970 02:00
Hat sich bedankt: 117 Mal
Danksagung erhalten: 943 Mal

Re: Quick_buttons: PHP-Warning

Beitrag von MarkusR »

Statt die Symptome zu bekämpfen, geht es besser an die Ursachen.

Daher hier mod_enhanced_delete in angepasster Form mit delID[] statt id[].

Betroffen sind nur 2 Dateien in mod_enhanced_delete/includes, nämlich

inc_manage_files_1.inc.php
und
inc_manage_files_2.inc.php
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 841
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 226 Mal
Danksagung erhalten: 32 Mal

Re: Quick_buttons: PHP-Warning

Beitrag von hscha »

Viel besser ;-)
Danke, Markus!!!

P.S: Kann die Änderung in "quick_buttons.inc.php" trotzdem so bleiben wie du das oben beschrieben hast?
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7532
Registriert: 01.01.1970 02:00
Hat sich bedankt: 117 Mal
Danksagung erhalten: 943 Mal

Re: Quick_buttons: PHP-Warning

Beitrag von MarkusR »

Ja, die kann und wird drin bleiben :gruebel: :wink:
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle