Beitrag löschen/Weiterleitung
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Beitrag löschen/Weiterleitung
Guten morgen.
Wenn man einen Beitrag aus einem längeren thread löscht, wird man danach ja grundsätzlich auf Seite 1 weitergeleitet.
Was müsste ich tun, wenn ich will, dass man aber nach dem löschen auf die Seite geleitet wird, aus der man den Beitrag gelöscht hat (weil alles andere ja eigentlich schwachsinn ist)
Gruss und danke schonmal!
Wenn man einen Beitrag aus einem längeren thread löscht, wird man danach ja grundsätzlich auf Seite 1 weitergeleitet.
Was müsste ich tun, wenn ich will, dass man aber nach dem löschen auf die Seite geleitet wird, aus der man den Beitrag gelöscht hat (weil alles andere ja eigentlich schwachsinn ist)
Gruss und danke schonmal!
Diese Zeilen in der functions_post.php sind für die Weiterleitung verantwortlich. Das Problem dabei ist, das beim Löschen die Variabel zur Seitenzahl nicht mit übergeben wird und man sie daher auch nicht an die Weiterleitung weitergeben kann (wenn ich jetzt nicht was übersehe).$meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . '=' . $topic_id) . '">';
$message = (($mode == 'poll_delete') ? $lang['Poll_delete'] : $lang['Deleted']) . '<br /><br />' . sprintf($lang['Click_return_topic'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id") . '">', '</a>');
Das ist ja eigentlich kein MOD, sondern Standard beim phpBB.
Dort wird halt die aktuelle ID ausgelesen, mit post_id#post_id übergeben, wodurch man dann zum letzten Beitrag gelangt.
Nur kann man das auch nicht anwenden, da a) diese post_id nicht mehr gültig wäre, da dies ja der Beitrag ist, der gelöscht wurde und b) man ja nicht unbedingt immer zum letzten Beitrag will, wenn man z.B. auf Seite 4 von 23 einen Beitrag gelöscht hat.
Mir fällt momentan keine Möglichkeit ein, das zu ermitteln.
Dort wird halt die aktuelle ID ausgelesen, mit post_id#post_id übergeben, wodurch man dann zum letzten Beitrag gelangt.
Nur kann man das auch nicht anwenden, da a) diese post_id nicht mehr gültig wäre, da dies ja der Beitrag ist, der gelöscht wurde und b) man ja nicht unbedingt immer zum letzten Beitrag will, wenn man z.B. auf Seite 4 von 23 einen Beitrag gelöscht hat.
Mir fällt momentan keine Möglichkeit ein, das zu ermitteln.

Ja nun, der Link unter dem Kreuz-Symbol zum löschen eines einzelnen Beitrags in der Themenansicht sieht ja so aus:Acid hat geschrieben:Mir fällt momentan keine Möglichkeit ein, das zu ermitteln.
Code: Alles auswählen
http://www.DOMAIN.de/phpBB2/posting.php?mode=delete&p=12345
Code: Alles auswählen
http://www.DOMAIN.de/phpBB2/posting.php?mode=delete&p=12345&prepost=nummer-des-vorhergehenden-postings-im-thread
Oder?
Mit der nachfolgend ersichtlichen Änderung in der functions_post.php komm ich jetzt nach dem löschen automatisch zum letzten verbleibenden Beitrag des Threads:
Wenn man
post_id != " . $post_id
ersetzt durch
post_id < " . $post_id
müßte man beim Löschen eines mitten im Threads (z. B. auf Seite 5 von 8 Seiten) befindlichen Postings nachher zu dem Posting kommen, das direkt vor dem gelöschten steht. Habs aber nicht ausprobiert.
Code: Alles auswählen
if ($mode == 'delete' && $post_data['first_post'] && $post_data['last_post'])
{
$meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . '=' . $forum_id) . '">';
$message = $lang['Deleted'];
}
else
{
// $meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . '=' . $topic_id) . '">';
// neu statt der zeile obendran
$metasql = "SELECT post_id, topic_id FROM phpbb_posts WHERE topic_id = " . $topic_id . " AND post_id != " . $post_id . " ORDER BY post_id DESC LIMIT 1";
$metaresult = mysql_query($metasql);
while ($metaline = mysql_fetch_array($metaresult)) {
$prepost = $metaline[post_id];
}
mysql_free_result($metaresult);
$meta = '<meta http-equiv="refresh" content="3;url=' . append_sid("viewtopic.$phpEx?" . POST_POST_URL . "=" . $prepost) . '#' . $prepost . '">';
// neu ende
$message = (($mode == 'poll_delete') ? $lang['Poll_delete'] : $lang['Deleted']) . '<br /><br />' . sprintf($lang['Click_return_topic'], '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id") . '">', '</a>');
}
post_id != " . $post_id
ersetzt durch
post_id < " . $post_id
müßte man beim Löschen eines mitten im Threads (z. B. auf Seite 5 von 8 Seiten) befindlichen Postings nachher zu dem Posting kommen, das direkt vor dem gelöschten steht. Habs aber nicht ausprobiert.