WBCE CMS – Way Better Content Editing.
You are not logged in.
Hallo zusammen,
ich stelle gerade die News-Beiträge einer Webseite um von Topics auf NWI (btw: klasse Modul!). Ich habe alle Beträge importiert. Das komische ist, dass bei einigen Beiträgen das Bild angezeigt wird, bei anderen nicht.
So wird z.B. das Bild von Beitrag 4711 angezeigt (.news_img/4711/test.jpg), das Bild von Beitrag 4712 aber nicht (.news_img/4712/test.jpg liegt aber vor (die Leserechte bei beiden sind auch gleich - 644).
Wenn ich das Bild aus dem Beitrag 4712 lösche und neu hochlade, wird es korrekt angezeigt.
Kann da jemand helfen?
Vielen Dank dafür!
Günter
Offline
Kann es möglicherweise an den Dateinamen liegen, also nicht den Verzeichnisnamen (die sich der Beitrags-ID entsprechen)? D.h. dass die Beitragsbilder in Topics z.B. Leerzeichen oder Sonderzeichen im Dateinamen haben oder der Dateiname Großbuchstaben aufweist?
Last edited by florian (07.06.2021 11:32:33)
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Hallo Florian, ne, das ist es wohl nicht, die meisten Dateien haben "saubere" Namen, bei den anderen muss möglicherweise nachgebessert werden (weiß ich aber noch nicht bei allen).
Danke dir erstmal. Na, dann muss der Anwender eben die Bilder neu hochladen (ist ja schnell gemacht).
Offline
Danke dir erstmal. Na, dann muss der Anwender eben die Bilder neu hochladen (ist ja schnell gemacht).
Oh, das ist für mich als Workaround gedacht, ich will natürlich nicht drängeln. Wäre nur interessant zu wissen für evtl. spätere Fälle. Also: cool shoes.
Günter
Offline
Es scheint da einen Bug in NWI zu geben. Das Import-Script legt die Bilder in .news_img/{Beitrags-ID}/dateiname.jpg ab, die modify_item.php und view.php erwarten das Bild aber direkt in .news_img, also ./news_img/dateiname.jpg und legen es bei neuen Beiträgen auch dort ab.
Da war mal was geplant, um das Bilder-Handling zu zentralisieren und Bilder beitragsübergreifend verwenden zu können, das ist aber offensichtlich nicht durchgezogen worden.
Weshalb es jetzt bei Dir bei manchen Beiträgen funktioniert hat und bei anderen nicht, ist allerdings rätselhaft...
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Hi Florian,
ah Jetzt seh´ ich das: im Verzeichnis .news_img sind ja auch die neu hochgeladenen Bilder. Wahrscheinlich sollten die unter der Beitragsnummer abgespeichert werden, damit die verschwinden, wenn der Beitrag z.B. gelöscht wird - würde Sinn ergeben.
Kann ich die Module durchforsten und den Speicher- / Ablageort ändern? Oder mache ich da mehr kaputt als heile?
Offline
Weshalb es jetzt bei Dir bei manchen Beiträgen funktioniert hat und bei anderen nicht, ist allerdings rätselhaft...
Oh, das stammt dann wohl von meinen früheren Versuchen. Beim Löschen aller Beiträge und Neu-Importieren wurden die Bilder direkt im Verzeichnis .news_img natürlich nicht gelöscht, werden daher auch angezeigt - Wer gucken kann, ist klar im Vorteil ...
Last edited by musikfan59 (07.06.2021 15:01:38)
Offline
Kann ich die Module durchforsten und den Speicher- / Ablageort ändern? Oder mache ich da mehr kaputt als heile?
Hm, von der unwesentlichen Tatsache abgesehen, dass eigentlich wir diesen Bug fixen sollten - man müsste da sozusagen die "alte" Systematik (mit Verzeichnissen pro Beitrag) als Fallback hinterlegen. d.h. in Pseudocode:
if (file_exists(WB_URL.MEDIA_DIR.$image) == false) $image = WB_URL.MEDIA_DIR.$item_directory.$image ... so in der Richtung.
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Na ok. Da müsste ich mich ein bisschen (mehr) in PHP einarbeiten .... Am schönsten wäre natürlich eine durchgängige Lösung in der Form, das ALLE relevanten Module auf das Verzeichnis .news_img/$Post_ID/bild.jpg zurückgreifen. Dann wäre doch auch das Löschen sauber und man hätte keine Bilder-Leichen ....
Ich habe jetzt erstmal alle Bilder in .news_img kopiert und das funktioniert erstmal.
Vielen Dank für die schnellen Reaktionen. Wenn´s da von eurer Seite einen Bugfix gäbe, wäre das natürlich super!
Günter
Offline
So, anbei die 5.0.8 zum Testen (!) - entweder updaten oder die folgenden Änderungen von Hand einfügen
in der /modules/news_img/functions.inc.php nach Zeile 1168
if ( (strlen($post['content_long']) < 9) && ($anz_post_img < 1)) {
$post['post_link'] = '#" onclick="javascript:void(0);return false;" style="cursor:no-drop;';
}
einfügen:
if ($post['post_img']!='') {
$postImageInPath = WB_PATH.MEDIA_DIRECTORY.'/.news_img/'.$post['image'];
if (file_exists($postImageInPath)==false) {
$ImageInOldPath = WB_PATH.MEDIA_DIRECTORY.'/.news_img/'.$post['post_id'].'/'.$post['image'];
if (file_exists($ImageInOldPath)==true) {
$ImageInOldUrl = str_replace(WB_PATH,WB_URL,$ImageInOldPath);
$post['post_img'] = '<img src="'.$ImageInOldUrl.'" alt="'.$post['title'].'" />';
} else {
$post['post_img'] ='';
}
}
}
und in der /modules/news_img/view.php nach Zeile 98
$post = mod_nwi_post_show(intval(POST_ID));
einfügen:
if ($post['image']!='') {
$postImageInPath = WB_PATH.MEDIA_DIRECTORY.'/.news_img/'.$post['image'];
if (file_exists($postImageInPath)==false) {
$ImageInOldPath = WB_PATH.MEDIA_DIRECTORY.'/.news_img/'.$post['post_id'].'/'.$post['image'];
if (file_exists($ImageInOldPath)==true) {
$ImageInOldUrl = str_replace(WB_PATH,WB_URL,$ImageInOldPath);
$post['post_img'] = '<img src="'.$ImageInOldUrl.'" alt="'.$post['title'].'" />';
} else {
$post['post_img'] ='';
}
}
}
in der /modules/news_img/templates/modify_post.phtml Zeile 32
<?php if ($post_data['image'] != ""):
ändern zu:
<?php if ($post_data['image'] != ""):
if (file_exists(WB_PATH.MEDIA_DIRECTORY."/.news_img/".$post_data['image'])):
$output_image = WB_URL.MEDIA_DIRECTORY."/.news_img/".$post_data['image'];
else:
$output_image = WB_URL.MEDIA_DIRECTORY."/.news_img/".$post_data['post_id'].'/'.$post_data['image'];
endif;
?>
und - vergessen, sorry - die Zeile
<img class="img_list" style="float:left;margin-right:15px" src="<?php echo WB_URL.MEDIA_DIRECTORY."/.news_img/".$post_data['image'] ?>" /> <?php echo $post_data['image'] ?><br />
ändern zu
<img class="img_list" style="float:left;margin-right:15px" src="<?php echo $output_image ?>" /> <?php echo $post_data['image'] ?><br />
(ulkig, die modify_post.html scheint wer anders programmiert zu haben, da war wohl die {-Taste auf der Tastatur kaputt... )
Last edited by florian (07.06.2021 17:54:12)
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
giz
So, anbei die 5.0.8 zum Testen (!) -
Doofe Frage: wo finde ich die? Ansonsten baue ich die Änderungen morgen ein und gebe Rückmeldung.
Ansonsten bin ich begeistert, wie schnell und kompetent man hier im Forum Antworten erhält. Danke dafür
Offline
Änderungen funktionieren gut...danke
WBCE 1.6.1 - Fraggy 2.7.1 - PHP 8.2.20- All-inkl
Ein Leben ohne Hund ist möglich, aber sinnlos
Offline
Doofe Frage: wo finde ich die?
Als Anhang zum Forenbeitrag.
Last edited by florian (08.06.2021 06:13:27)
Sorgen sind wie Nudeln: man macht sich meist zu viele.
Offline
Danke! Das funktioniert soweit alles wunderbar.
Kleiner Punkt am Rande: Das Beitragsbild bleibt nach Löschen des Posts (z.B. durch X im .new_img - Verzeichnis stehen. Und müsste dann - falls aufgeräumt werden soll / muss wg. der Übersicht - manuell gelöscht werden (ftp).
Wenn man das Bild im Unterordner .news_img/$post_id speichern würde und dann bei Löschen des Posts dieser komplette Ordner gelöscht würde, könnte man sich das Aufräumen sparen.
Vielleicht könnte das ja in einer zukünftigen Version einfließen (falls ich nicht der Einzige bin, der das gut fände ....)
Last edited by musikfan59 (08.06.2021 10:17:38)
Offline