Beitrag löschen/Weiterleitung

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt um einen neuen Mod zu entwicklen, geht's in phpBB 2.0: Mods in Entwicklung weiter.
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.
Antworten
musashi
Mitglied
Beiträge: 1585
Registriert: 04.12.2003 12:50
Wohnort: Wien
Kontaktdaten:

Beitrag löschen/Weiterleitung

Beitrag von musashi »

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!
musashi
Mitglied
Beiträge: 1585
Registriert: 04.12.2003 12:50
Wohnort: Wien
Kontaktdaten:

Beitrag von musashi »

Hat denn keiner ne Idee - oder besser gesagt bin ich der einzige Mensch den das stört? :)
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

$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>');
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).
musashi
Mitglied
Beiträge: 1585
Registriert: 04.12.2003 12:50
Wohnort: Wien
Kontaktdaten:

Beitrag von musashi »

Hmm, mal nachdenken, es gibt doch auch nen mod, der einen zum leztzten POsting eines jeweiligen Threads bringt, oder? (Standardmässig geht man auch bei einem Thread auf Seite 1, wenn man auf die Headline klickt.)
Acid
Ehrenadmin
Beiträge: 12195
Registriert: 26.04.2001 02:00
Wohnort: Berlin

Beitrag von Acid »

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. :oops:
Matlock
Mitglied
Beiträge: 288
Registriert: 01.07.2003 12:32
Wohnort: Südpfalz
Kontaktdaten:

Beitrag von Matlock »

Acid hat geschrieben:Mir fällt momentan keine Möglichkeit ein, das zu ermitteln. :oops:
Ja nun, der Link unter dem Kreuz-Symbol zum löschen eines einzelnen Beitrags in der Themenansicht sieht ja so aus:

Code: Alles auswählen

http://www.DOMAIN.de/phpBB2/posting.php?mode=delete&p=12345
12345 steht für das zu löschende Posting. Man müßte die viewtopic.php ändern, so daß sie auch das Posting davor ermittelt und dieses als Variable mitübergeben, so daß der Link unter dem Löschsymbol dann so aussehen müßte:

Code: Alles auswählen

http://www.DOMAIN.de/phpBB2/posting.php?mode=delete&p=12345&prepost=nummer-des-vorhergehenden-postings-im-thread
Die Variable prepost (die es hoffentlich mit diesem Namen noch nicht gibt), wird dann für den metatag refresh ausgewertet, der metatag muß dann auf die post_id (prepost) statt auf die topic_id verweisen und man landet beim letzten Posting vor dem gerade gelöschten.

Oder?
Elo
Mitglied
Beiträge: 318
Registriert: 04.11.2002 17:44

Beitrag von Elo »

Ermitteln der wievielte Beitrag der zu löschende in dem Thema ist, diese Zahl minus eins, geteilt durch die Variable $board_config['posts_per_page'] und das Ergebnis herunter gerundet sollte die Seite nach dem Löschvorgang ergeben.

Elo
Matlock
Mitglied
Beiträge: 288
Registriert: 01.07.2003 12:32
Wohnort: Südpfalz
Kontaktdaten:

Beitrag von Matlock »

Mit der nachfolgend ersichtlichen Änderung in der functions_post.php komm ich jetzt nach dem löschen automatisch zum letzten verbleibenden Beitrag des Threads:

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>');
	}

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.


Elo
Mitglied
Beiträge: 318
Registriert: 04.11.2002 17:44

Beitrag von Elo »

@Matlock
Deine Lösung trifft zwar nicht 100%ig deine Ausgansfrage nach der Weiterleitung, aber wenn es denn funktioniert ist es auch ok.

Elo
Antworten

Zurück zu „phpBB 2.0: Mod Suche/Anfragen“