WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 07.06.2021 19:17:21

giz
Mitglied

exception bei beitragsImport v. topics

Hallo!
Bin auch gerade dabei von topics auf NwI umzusteigen und bekomme beim Import folgende Exception

 2021-06-07T17:11:09+00:00 [Exception] There was an unknown exception: 3 arguments are required, 2 given in line (795) of /modules/news_img/import.php 

der Import startet und hört nach sieben von 16 Beiträgen auf und zeigt eine weiße Seite; der SessionTimeOut-Counter von Fraggy steht auf 0:00:00 (falls das von Belang ist) und läuft nicht. Nach Neuladen der Seite sind nur 7 Beiträge importiert worden.
Die zu importierenden Topicsbeiträge befinden sich auf der selben Seite wie das neu erstellte NwI.

WBCE 1.5.0, NwI 5.0.7, php 8.0.1, Kaffee 2.0


WBCE 1.6.1 - Fraggy 2.7.1 - PHP 8.2.13- All-inkl
Ein Leben ohne Hund ist möglich, aber sinnlos

Offline

#2 08.06.2021 06:48:35

florian
Administrator

Re: exception bei beitragsImport v. topics

Kannst Du bitte
1.) Bei den Grundeinstellungen > erweiterte Optionen anzeigen > "Anzeigedauer für Hinweise:" auf -1 setzen
2.) In der /modules/news_img/import.php Zeile 779ff

$database->query(sprintf(
                "UPDATE `%smod_news_img_posts` SET "
                . "`section_id` = '$section_id', "
                 . "`group_id` = '$group_id', "
                 . "`title` = '".mod_nwi_escapeString($title)."', "
                 . "`link` = '".mod_nwi_escapeString($post_link)."', "
                 . "`content_short` = '".mod_nwi_escapeString($short)."', "
                 . "`content_long` = '".mod_nwi_escapeString($long)."', "
                 . "`content_block2` = '".mod_nwi_escapeString($block2)."', "
                 . "`image` = '".mod_nwi_escapeString($image)."', "
                 . "`active` = '$active', "
                 . "`published_when` = '$publishedwhen', "
                 . "`published_until` = '$publisheduntil', "
                 . "`posted_when` = '".time()."', "
                 . "`posted_by` = '".$posted_by."' "
                 . "WHERE `post_id` = '$post_id'",
                 TABLE_PREFIX
            ));

ändern zu

$q = sprintf(
                "UPDATE `%smod_news_img_posts` SET "
                . "`section_id` = '$section_id', "
                 . "`group_id` = '$group_id', "
                 . "`title` = '".mod_nwi_escapeString($title)."', "
                 . "`link` = '".mod_nwi_escapeString($post_link)."', "
                 . "`content_short` = '".mod_nwi_escapeString($short)."', "
                 . "`content_long` = '".mod_nwi_escapeString($long)."', "
                 . "`content_block2` = '".mod_nwi_escapeString($block2)."', "
                 . "`image` = '".mod_nwi_escapeString($image)."', "
                 . "`active` = '$active', "
                 . "`published_when` = '$publishedwhen', "
                 . "`published_until` = '$publisheduntil', "
                 . "`posted_when` = '".time()."', "
                 . "`posted_by` = '".$posted_by."' "
                 . "WHERE `post_id` = '$post_id'",
                 TABLE_PREFIX);
				 
            $database->query($q);
			debug_dump($q);

3.) dann noch einmal den Import anstoßen und schauen,  was als letztes im Backend ausgegeben wird?
Ich hoffe, die Seite bricht erst dann ab, wenn es zum problematischen Beitrag kommt, so dass man anhand des letzten Imports schauen kann, wo es hakt. Der problematische Beitrag ist dann entweder der zuletzt angezeigte oder der darauf folgende.

Es kann aber leider auch sein, dass die Seite im BE weiterhin leer bleibt, dann kann man höchstens noch versuchen, anhand eines Datenbankdumps zu eruieren, ob irgendwo ein Zeichen ist, was nicht richtig escapet wird.


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#3 08.06.2021 07:58:00

giz
Mitglied

Re: exception bei beitragsImport v. topics

Also....
Erstmal Danke für die Hilfe.
So richtig bin ich da nicht durchgestiegen, aber nach vielem Probieren und Vergleichen, fand ich die problematische Stelle:
In einem (und nur in einem!) Original-Beitrag ist im Langtext ein Bild eingebunden. Das habe ich dann mal probehalber (nach etlichen Löschversuchen von ?, ' ") gelöscht und siehe da: es wird alles, soweit ich es sehe, geladen.
Jetzt habe ich aber folgende Warning im Errorlog:

2021-06-08T06:48:12+00:00 [Warning] /modules/news_img/functions.inc.php:[1435] from /modules/news_img/view.php:[187] mod_nwi_posts_render "Trying to access array offset on value of type null" 

WBCE 1.6.1 - Fraggy 2.7.1 - PHP 8.2.13- All-inkl
Ein Leben ohne Hund ist möglich, aber sinnlos

Offline

#4 08.06.2021 08:35:28

florian
Administrator

Re: exception bei beitragsImport v. topics

Die Exception tritt dann auf, wenn das Bild im Original-Beitrag Leerzeichen oder Sonderzeichen im Dateinamen hat.
D.h. "rheinbruecke.jpg" würde keine Probleme machen, "rheinbrücke.jpg" oder auch "rhein bruecke.jpg" schon.

Die Warning sagt mir nichts. Was steht denn in den betreffenden Zeilen, also der 1435 in functions.inc.php und 187 in view.php?

Irgendwie funktioniert das Importscript leider unter bestimmten Bedingungen nur bedingt zuverlässig.

Bildergalerien in Topics-Beiträgen machen auch Probleme. Keine Ahnung, wie das zu beheben ist,ich dachte erst, es wäre nur ein Copy&Paste-Issue ($fetch_settings['picture_dir'].'/topic'.$fetch_content['topic_id']; vs. $settings_fetch['picture_dir'].'/topic'.TOPIC_ID) , aber mit dieser Korrektur kommt nur eine nicht besonders hilfreiche MySQL-Error-Meldung:

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1

Ich geb's auf, vielleicht können sich das gelegentlich mrbaseman oder webbird nochmal anschauen, ich stochere da sozusagen sowieso nur im Nebel.

Ergänzend sein angemerkt, dass keine Notwendigkeit besteht, von Topics auf NWI umzusteigen. Mit einer winzig kleinen Korrektur an der /modules/topics/search.php (MYSQL_ASSOC => MYSQLI_ASSOC) funktioniert das Modul Topics auch mit WBCE 1.5.0 und PHP 8 problemlos.

Beitrag geändert von florian (08.06.2021 08:42:27)


Code allein macht nicht glücklich. Jetzt spenden!

Offline

#5 08.06.2021 13:22:56

giz
Mitglied

Re: exception bei beitragsImport v. topics

Grundsätzlich sind meine Dateinamen ohne Leerzeichen, Umlaute, etc. Hab's nochmal kontrolliert, war auch hier der Fall....
vlt stand im Alt-Tag was damit drin, das weiß ich aber nicht, weil gelöscht lol
hat ja jetzt funktioniert.

in der functions:inc.php Zeile 1435 steht

 
	$thumbsizeraw = explode('x',$settings['imgthumbsize']);

in der view.php Zeile 187:

 $tpl_data = mod_nwi_posts_render($section_id,$posts,$settings['posts_per_page']);

Und danke nochmal (hatte ich schon woanders gelesen und die entsprechende Korrektur vorgenommen) für den Topics-Hinweis und dessen Kompatibilität; da das aber nicht weiter entwickelt wird, bzw. hier raus ist, ist das für mich auf längere Sicht dann keine Option mehr.


WBCE 1.6.1 - Fraggy 2.7.1 - PHP 8.2.13- All-inkl
Ein Leben ohne Hund ist möglich, aber sinnlos

Offline

Fußzeile des Forums

up