Seite 1 von 2

eigene Beiträge nicht antworten

Verfasst: 19.12.2003 13:22
von Dunkles-Wesen
Hallo

gibt es einen Mod, der folgendes ermöglicht ?


User können nicht auf Ihre eigenen Beiträge Antworten ...

Also User A schreibt was ----> User A will wieder was schreiben geht nicht

User A schreibt was ---> User B antwortet ----> User A kann darauf wieder eine Antwort geben


es soll einfach das puschen von Beiträgen etc. vermieten werden

Verfasst: 19.12.2003 13:55
von Matlock
Wer unbedingt pushen will, der wird das trotzdem tun, notfalls mit Fakeaccounts. So ein Mod bringt daher - IMHO - nicht das von Dir gewünschte Endergebnis.

Verfasst: 19.12.2003 14:17
von musashi

Verfasst: 19.12.2003 15:47
von Dunkles-Wesen
Flood-Intervall
Anzahl der Sekunden, die ein Benutzer warten muss, bevor er einen neuen Beitrag schreiben kann
Da kann man leider nur die Zeitspanne bis zum nächsten Posting einstellen ... ich möchte aber das erst ein anderer user etwas schreiben muss ....

Verfasst: 19.12.2003 15:49
von musashi
Die Zeit ist in Minuten, nicht in Sekunden, wenn Du den Wert dementsprechend hoch einstellst ist das quasi der gewünschte Effekt.

Verfasst: 19.12.2003 17:59
von Dunkles-Wesen
nein eben NICHT


Das ganze soll ja immer für ein Thema gelten und nicht allgemein für das ganze Forum (alla ein Beitrag schreiben, 20 Min im ganzen Forum nichts mehr schreiben, so soll es nicht sein, es soll nur verhindern, das wenn ein User ein Thema schreibt und keiner Antwortet, er nicht auf sein eigenes Thema antworten kann um so seinen Posting zähler hochzupuschen, oder sein Thema wieder hoch zu spammen

Verfasst: 19.12.2003 19:14
von Matlock
Versuch mal folgendes:

In der functions_post.php vor der Flood Control einbauen (habs aber nicht ausprobiert!):

Code: Alles auswählen

$query = "SELECT poster_id, post_id FROM phpbb_posts WHERE topic_id = '$topic_id' ORDER BY post_id DESC LIMIT 1";
$result = mysql_query($query);
while ($line = mysql_fetch_array($result)) {
	$last_poster_id = $line[poster_id];
}
mysql_free_result($result);
if ( $last_poster_id == $userdata['user_id'] ) {
	message_die(GENERAL_MESSAGE, 'Och meno, nicht schon wieder Du');
	exit;
}
Den "och meno" Text kannst natürlich ändern ;)


Verfasst: 22.12.2003 09:11
von musashi
*kopfaufschreibtischhau*

rtfm.
Dunkles-Wesen hat geschrieben:nein eben NICHT


Das ganze soll ja immer für ein Thema gelten und nicht allgemein für das ganze Forum (alla ein Beitrag schreiben, 20 Min im ganzen Forum nichts mehr schreiben, so soll es nicht sein, es soll nur verhindern, das wenn ein User ein Thema schreibt und keiner Antwortet, er nicht auf sein eigenes Thema antworten kann um so seinen Posting zähler hochzupuschen, oder sein Thema wieder hoch zu spammen

Verfasst: 22.12.2003 14:29
von Matlock
@musashi

Ich verstehe Deinen Einwand leider nicht.

Verfasst: 26.12.2003 12:27
von Acid
Versucht´s ma damit..
functions_post.php
++FINDE (nur ein Auszug)++

Code: Alles auswählen

function prepare_post(
{
	global $board_config
++FINDE in der 2. Zeile++

Code: Alles auswählen

$forum_id
++DANACH EINFÜGEN (vor ;)++

Code: Alles auswählen

, $db
++FINDE++

Code: Alles auswählen

	// Check message
++DARÜBER EINFÜGEN++

Code: Alles auswählen

	// Check poster
	if( $mode == 'reply' )
	{
		$sql = "SELECT p.post_id, p.poster_id, p.post_time, t.topic_id, t.topic_last_post_id FROM ". POSTS_TABLE ." p, ". TOPICS_TABLE ." t
			WHERE p. post_id = t.topic_last_post_id AND p.topic_id = t.topic_id
			ORDER BY p.post_time DESC LIMIT 1";
		if(!($result = $db->sql_query($sql)))
		{
			message_die(GENERAL_ERROR, 'Could not get last poster.', '', __LINE__, __FILE__, $sql);
		}
		if( $row = $db->sql_fetchrow($result) )
		{
			$poster_id = $row['poster_id'];
		}

		if( $userdata['user_id'] == $poster_id && $userdata['user_id'] != ANONYMOUS )
		{
			$error_msg = ( !empty($error_msg) ) ? '<br />'. $lang['Poster_self'] : $lang['Poster_self'];
		}
	}
..und in der lang_main.php müsste der Hinweistext ($lang['Poster_self']) definiert werden.
Das funktioniert aber nicht mit Gästen, weil ich nicht wüsste, wie man diese definieren sollte.