Suche Double Posts Merge Mod

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Suche Double Posts Merge Mod

Beitrag von Holger »

hi,

ich habe bis jetzt nur die Version 1.0.2 auftreiben können.
Angeblich soll es schon 1.0.5 geben.
Wo finde ich die neuste Version. Weiss das jemand?

Gruss
Holger
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Keine Ahnung.
Ist denn im MOD keine Webseite enthalten?
Auch schon mal auf phpbbhacks oder phpbb.de, bzw. phpbb.com gesucht?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Überall gesucht, finde nur eine Version in der Anleitung:
Mod version: 1.0.1
Aber im gleichen dokument sind fixes auch für 1.0.2 genannt.
Ziemliches durcheinander.

Bei bigrib wird von einer 1.0.3 gesprochen und im Netz von einer Version 1.0.5 (ohne Download).

Edit:
Habe nun 1.0.2 (glaube ich) eingebaut.
Bekomme MANCHMAL folgenden Fehler.
Die nn's kommen aus der posting.php:

Code: Alles auswählen

	// double_post eliminate start
	if ( $mode == 'reply' && $userdata['user_id'] != ANONYMOUS )
	{
		$poster_id = $userdata['user_id'];
		$sql = "SELECT post_id, poster_id, post_time, MAX(post_time) FROM " . POSTS_TABLE . " WHERE topic_id = $topic_id GROUP BY post_time ORDER BY post_time DESC LIMIT 1";
	
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not obtain forums information', '', __LINE__, __FILE__, $sql);
		}
		$post_id_last_row = $db->sql_fetchrow($result);
		$post_id = $post_id_last_row['post_id'];
		$current_time = time(); 
		$difference_time = $current_time - $post_id_last_row['post_time'];
		$hours = floor($difference_time/60/60); 
		$minutes = floor($difference_time/60%60);
		$seconds = $difference_time%60;
		$separator = ' \n\n[size=9][color=#999999]Added after';
		if ( $hours != 0 )			$separator .= ' ' . $hours . ' hours';
		if ( $minutes != 0 )			$separator .= ' ' . $minutes . ' minutes';
		if ( $hours == 0 && $minutes == 0 )	$separator .= ' ' . $seconds . ' seconds';
							$separator .= ':[/color][/size]\n\n ';
		
		if ( $post_id_last_row['poster_id'] == $poster_id && ( $difference_time < ( $board_config['join_interval'] * 3600 ) ) )
		{			
			$mode = 'editpost';
			$sql = "SELECT post_text, bbcode_uid FROM " . POSTS_TEXT_TABLE . " WHERE post_id = $post_id";
			if ( !($result = $db->sql_query($sql)) )
				{
					message_die(GENERAL_ERROR, 'Could not obtain forums information', '', __LINE__, __FILE__, $sql);
				}
			$last_message_row = $db->sql_fetchrow($result);
			$bb_uid = ':' . $last_message_row['bbcode_uid'];
			
			// i don't know much about parsing the message, so it may well be that,
			// there are some wrongs, anyway all seems to work fine
			$last_message = str_replace($bb_uid, '', $last_message_row['post_text']);
			$last_message = preg_replace('/\:[0-9a-z\:]+\]/si', ']', $last_message);
			$last_message = undo_htmlspecialchars(addslashes($last_message));
			
		}	
	}
	// double_post eliminate end
Aber warum werden die Umbrüche "verschluckt"?

/Holger
Zuletzt geändert von Holger am Mo 21.Apr, 2008 14:54, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Die Umbrüche, also \n, müssen in doppelten Hochkommas stehen, damit sie korrekt erkannt werden.
Also z. B. Zeile 22 in Deinem code-Block muss lauten:

Code: Alles auswählen

$separator .= ":[/color][/size]\n\n ";
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Ich habe überall die ' gegen " ausgetauscht:

Code: Alles auswählen

		$separator = " \n\n[size=9][color=#FF0000]Tillägg efter";
		if ( $hours != 0 )			$separator .= " " . $hours . " timme(ar)";
		if ( $minutes != 0 )			$separator .= " " . $minutes . " minut(er)";
		if ( $hours == 0 && $minutes == 0 )	$separator .= " " . $seconds . " sekund(er)";
							$separator .= ":[/color][/size]\n\n ";
Sollte so also klappen?
Es HAT ja teilweise funktioniert!
Aber manchmal halt nicht ...

Warum der Unterschied?

/Holger
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Dann nimm doch anstelle \n den HTML-Tag <br />...
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
drkmnn666
Beiträge: 388
Registriert: Mi 23.Jan, 2008 17:29

Beitrag von drkmnn666 »

Code: Alles auswählen

// double_post eliminate start
	$no_double_post = ( !empty($HTTP_POST_VARS['no_double_post']) ) ? $HTTP_POST_VARS['no_double_post'] : '';
	if ( $mode == 'reply' && $userdata['user_id'] != ANONYMOUS && !$no_double_post )
	{
		$poster_id = $userdata['user_id'];
		$sql = "SELECT post_id, poster_id, post_time, MAX(post_time) FROM " . POSTS_TABLE . " WHERE topic_id = $topic_id GROUP BY post_time ORDER BY post_time DESC LIMIT 1";
	
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not obtain forums information', '', __LINE__, __FILE__, $sql);
		}
		$post_id_last_row = $db->sql_fetchrow($result);
		$post_id = $post_id_last_row['post_id'];
		$current_time = time(); 
		$difference_time = $current_time - $post_id_last_row['post_time'];
		$hours = floor($difference_time/60/60); 
		$minutes = floor($difference_time/60%60);
		$seconds = $difference_time%60;
		$separator = " \n\n[size=1][color=#996633]Hinzugefügt nach";
		if ( $hours != 0 )			$separator .= ' ' . $hours . ' Stunde(n)';
		if ( $minutes != 0 )			$separator .= ' ' . $minutes . ' Minute(n)';
		if ( $hours == 0 && $minutes == 0 )	$separator .= ' ' . $seconds . ' Sekunden';
							$separator .= ":[/color][/size]\n\n ";
		
		if ( $post_id_last_row['poster_id'] == $poster_id && ( $difference_time < ( $board_config['join_interval'] * 3600 ) ) )
		{			
			$mode = 'editpost';
			$sql = "SELECT post_text, bbcode_uid FROM " . POSTS_TEXT_TABLE . " WHERE post_id = $post_id";
			if ( !($result = $db->sql_query($sql)) )
				{
					message_die(GENERAL_ERROR, 'Could not obtain forums information', '', __LINE__, __FILE__, $sql);
				}
			$last_message_row = $db->sql_fetchrow($result);
			$bb_uid = ':' . $last_message_row['bbcode_uid'];
			
			// i don't know much about parsing the message, so it may well be that,
			// there are some wrongs, anyway all seems to work fine
			$last_message = str_replace($bb_uid, '', $last_message_row['post_text']);
			$last_message = preg_replace('/\:[0-9a-z\:]+\]/si', ']', $last_message);
			$last_message = undo_htmlspecialchars(addslashes($last_message));
			
		}	
	}
	// double_post eliminate end
so läuft er bei mri bestens...
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Beitrag von Holger »

Danke! :-)
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Antworten