Seite 1 von 2

Beiträge SOFORT löschen

Verfasst: 08.05.2006 17:49
von austrian-i
Hi,

Finde es ur lästig, dass man jedes Mal bestätigen muss, wenn man einen Beitrag löschen möchte:

Code: Alles auswählen

"Sicher, dass dieser Beitrag gelöscht werden soll?
Ja - Nein"
JA, ich bin sicher! Mann! Muss das sein? So viel wie ich in meinem Forum löschen muss, vergeude ich sicherlich pro Jahr 3 Tage damit zu bestätigen, dass ich löschen will.

Wär cool, wenn jemand mir einen "Sofort-Löschen-Aber-Dalli"-Mod verraten könnte!

Verfasst: 08.05.2006 17:51
von Slytherin
Für ein schnelleres Löschen eignen sich auch einige MODs, einfach mal auf >> phpbbhacks << suchen :wink:

Slytherin

Verfasst: 08.05.2006 18:35
von austrian-i
Danke Dir Slytherin!

Gibts nicht einen einfacheren Mod? Ich will einfach nur löschen ohne Umweg, löschen, ohne zu denken, löschen ohne zu bestätigen! Dieser Mod hat ja so viele Funktionen, die ich nicht brauch. Ich will nur löschen! Versteh auch nicht, wer sich das eigentlich ausgedacht hat. Bitte, wenn ich mit dem Bleistift was geschrieben hab, fragt mich doch mein Radiergummi auch nicht: "Bis Du sicher?"

Oder??

Vielleicht kann man diese sinnlose Funktion in phpbBB 3.x.x weggeben.

Verfasst: 08.05.2006 20:02
von Slytherin
Diese Funktion ist durchaus nicht sehr sinnlos - es kann nämlich durchaus sein, dass man versehentlich einen Beitrag löschen würde, wenn nicht diese zweite Abfrage kommen würde.
Aber auch diese müsste zu entfernen sein.
Werde mich noch selbst daran setzen und dir Bescheid geben, wenn ich näheres weiss.

Verfasst: 08.05.2006 20:19
von austrian-i
Hey danke, das würde mich freuen! :)

Verfasst: 08.05.2006 20:20
von Slytherin
Soviel sei gesagt, die Funktion ist wohl in diesen Zeilen in der includes/functions_post.php lahmzulegen.

Code: Alles auswählen

	if ($mode == 'delete')
	{
		if ($post_data['last_post'])
		{
			if ($post_data['first_post'])
			{
				$forum_update_sql .= ', forum_topics = forum_topics - 1';
			}
			else
			{

				$topic_update_sql .= 'topic_replies = topic_replies - 1';

				$sql = "SELECT MAX(post_id) AS last_post_id
					FROM " . POSTS_TABLE . " 
					WHERE topic_id = $topic_id";
				if (!($result = $db->sql_query($sql)))
				{
					message_die(GENERAL_ERROR, 'Error in deleting post', '', __LINE__, __FILE__, $sql);
				}

				if ($row = $db->sql_fetchrow($result))
				{
					$topic_update_sql .= ', topic_last_post_id = ' . $row['last_post_id'];
				}
			}
oder auch im Block

Code: Alles auswählen

// Delete a post/poll
Auch schon mal diesen Block genauer angesehen?

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

	$message .=  '<br /><br />' . sprintf($lang['Click_return_forum'], '<a href="' . append_sid("viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id") . '">', '</a>');

	return;
}
Slytherin

Verfasst: 09.05.2006 18:54
von S2B
@Slytherin: :o
Sorry, aber diese Zeilen haben damit absolut gar nicht zu tun... :-?

Quick'n'Dirty, ungetestet:
Öffne posting.php und finde:

Code: Alles auswählen

if ( ( $delete || $poll_delete || $mode == 'delete' ) && !$confirm )
ersetze durch:

Code: Alles auswählen

if ($poll_delete && !$confirm)

Verfasst: 09.05.2006 23:18
von austrian-i
danke S2B, aber es funktioniert nicht, ich komme da ganz woanders hin: der beitrag wird nicht gelöscht und ich lande auf ein mal in einem neuen thread.

?

Verfasst: 10.05.2006 14:23
von S2B
austrian-i hat geschrieben:danke S2B, aber es funktioniert nicht, ich komme da ganz woanders hin: der beitrag wird nicht gelöscht und ich lande auf ein mal in einem neuen thread.
Ich sagte ja, es ist ungetestet. :D

Zusätzlich:

Code: Alles auswählen

else if ( $submit || $confirm )
ersetze durch:

Code: Alles auswählen

else if ($submit || $confirm || $delete || $mode == 'delete')
so müsste es eigentlich laufen...

Verfasst: 10.05.2006 17:16
von austrian-i
Perfekt!!

Danke Dir :D
Du hast mir viel wertvolle Zeit geschenkt!