Edit (%)

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
Twins

Edit (%)

Beitrag von Twins »

Deine phpBB Version: 2.0.
Typ Deines phpBB Forums: Standard phpBB (auch Vanilla genannt)
MODs: Ja
Dein Wissensstand: Einsteiger
Link zu Deinem Forum: [url]http://[/url]

PHP Version:
MySQL Version:


Was hast Du gemacht, bevor das Problem aufgetreten ist?



Was hast Du bereits versucht um das Problem zu lösen?




Fehlerbeschreibung und Nachricht

Hallo!
Ich habe bei mir diesen Mod installiert: http://www.oxpus.de/downloads.php?view= ... d=89&cat=6
Es ging alles reibungslos und ohne Fehler.Nur das funktioniert trotzdem nicht.Ich kann einen Beitrag so oft editieren, wie ich möchte, aber der Prozentuale Anteil ist nicht da (wie vorher, es wird nichts angezeigt).
Warum?Wenn doch keine Fehlermeldung kam und alles gut klappt, wieso geht das dann nicht?Was kann ich machen?
Gruß Twins!
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

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!
Twins

Beitrag von Twins »

Stimmt, aber irgentwie startet bei mir der Download nicht, deswegen habe ich den weggelassen.Kann das an meinen Browser/PC liegen?
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Dann so:

Code: Alles auswählen

## EasyMod 0.0.7 compliant
################################################################# 
## MOD Title: 		Show edited By MOD
## MOD Author: 		Shannado <sven@shannado.nl> (Sven) http://www.shannado.nl/forumorg
## MOD Description: 	This MOD shows by whom the post is edited. Only when it is not the last post
##			In the HOW TO is descriped how to also show the edited by info even if it is the last post.
## MOD Version: 	1.0.4
##		
## Installation Level: 	Easy
## Installation Time: 	5 - 10 minutes
## Files To Edit: 	viewtopic.php, 
##			functions_post.php
## Included Files: 	N/A
############################################################## 
## For Security Purposes, Please Check: http://www.phpbb.com/mods/downloads/ for the 
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code 
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered 
## in our MOD-Database, located at: http://www.phpbb.com/mods/downloads/ 
############################################################## 
## 
## Author Note: 
##
## 	If you want that the always the edit info is displayed (even if it is the last post) then adjust the 
## 	'$edited_sql' codeline AFTER you done the entire HOWTO in the functions_post.php 
##      $edited_sql = ($mode == 'editpost') ? ", post_edit_user = $usr_id, post_edit_time = $current_time, post_edit_count = post_edit_count + 1 " : ""; 
##
############################################################## 
##
## History:
## ------------
## 0.9.0 beta 
##	- Beta
##
## 1.0.0 FINAL
##	- FINAL
##	- No changes
##
## 1.0.1 FINAL
##	- Made the HOW TO phpBB v2.0.1 compliant
##
## 1.0.2 FINAL
##	- At some users it occur that, when edited post 4 out of 10, 
##	   then post 4 till 10 showed the message. Fixed thanks to sj26
##
## 1.0.3 FINAL
##	- Made phpBB v2.0.2 complaint and EasyMod 0.0.7 complaint
##
## 1.0.4 FINAL
##	- Made phpBB v2.0.4 complaint
################################################################# 
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD 
################################################################# 
# 
#-----[ SQL ]------------------------------------------ 
#  
ALTER TABLE phpbb_posts ADD post_edit_user MEDIUMINT(8) DEFAULT NULL;

# 
#-----[ OPEN ]------------------------------------------ 
#  
viewtopic.php

# 
#-----[ FIND ]------------------------------------------ 
# 
	//
	// Editing information
	//
	if ( $postrow[$i]['post_edit_count'] )
	{
		$l_edit_time_total = ( $postrow[$i]['post_edit_count'] == 1 ) ? $lang['Edited_time_total'] : $lang['Edited_times_total'];
		
		$l_edited_by = '<br /><br />' . sprintf($l_edit_time_total, $poster, create_date($board_config['default_dateformat'], $postrow[$i]['post_edit_time'], $board_config['board_timezone']), $postrow[$i]['post_edit_count']);
	}

# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 
	//
	// Editing information
	//

	$l_edited_by = ''; 	

	if ( $postrow[$i]['post_edit_count'] )
	{
		$editer = '';
		if ( !$postrow[$i]['post_edit_user'] )
		{
			$editer = $poster;
		}
		else
		{
			$usr_id = $postrow[$i]['post_edit_user'];
			$sql = "SELECT username
		        FROM " . USERS_TABLE . " u
			WHERE user_id = " . $usr_id;
			if ( !($result = $db->sql_query($sql)) )
			{
				message_die(GENERAL_ERROR, 'Tried obtaining data for a non-existent user', '', __LINE__, __FILE__, $sql);
			}

			$row = $db->sql_fetchrow($result);
			$editer = $row['username'];
		}
		$l_edit_time_total = ( $postrow[$i]['post_edit_count'] == 1 ) ? $lang['Edited_time_total'] : $lang['Edited_times_total'];
		
		$l_edited_by = '<br /><br />' . sprintf($l_edit_time_total, $editer, create_date($board_config['default_dateformat'], $postrow[$i]['post_edit_time'], $board_config['board_timezone']), $postrow[$i]['post_edit_count']);
	}

# 
#-----[ OPEN ]------------------------------------------ 
#  
includes/functions_post.php

# 
#-----[ FIND ]------------------------------------------ 
# 
	$edited_sql = ($mode == 'editpost' && !$post_data['last_post'] && $post_data['poster_post']) ? ", post_edit_time = $current_time, post_edit_count = post_edit_count + 1 " : "";

# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 
	$usr_id = $userdata['user_id'];
	$edited_sql = ($mode == 'editpost') ? ", post_edit_user = $usr_id, post_edit_time = $current_time, post_edit_count = post_edit_count + 1 " : ""; 
# 
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------ 
# 
# EoM
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!
Twins

Beitrag von Twins »

Danke, ich habe das gemacht und es ging alles ohne Fehler und alles reibungslos.
Sorry, aber das geht nicht.Ich habe den Beitrag 3 mal editiert, aber es steht unten eine Editier-Anmerkung.
Hier mal der Link: http://web98.cws-server6.de/twinstantin ... 8385#38385 (letzes Posting).
Weiß da einer, was da falsch läuft?
Zuletzt geändert von Twins am Do 12.Mai, 2005 19:56, insgesamt 2-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Warning: sprintf(): Too few arguments in /srv/www/htdocs/web98/html/twinstantin/viewtopic.php on line 1401
Seit wann hast Du diese Fehlermeldung oberhalb der Beiträge???
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!
Twins

Beitrag von Twins »

Ich glaube seit Drei oder Vier Tagen.Ich weiß nicht warum und woran das liegt, aber diese Fehlermeldung gibt es schon lange.
Zuletzt geändert von Twins am Do 12.Mai, 2005 19:56, 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 »

Was steht denn in Zeile 1401 der viewtopic.php?
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!
Twins

Beitrag von Twins »

$l_edited_by = '<br /><br />' . sprintf($l_edit_time_total, $editer, create_date($board_config['default_dateformat'], $postrow[$i]['post_edit_time'], $board_config['board_timezone']), $postrow[$i]['post_edit_count']);
}
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Dann schau mal vor dieser Zeile nach, was in "$l_edit_time_total" steht. Ein Text aus $lang[...] oder so...
Es müsste hier

Code: Alles auswählen

$lang['Edited_time_total']
oder das zugewiesen werden (2 Zeilen vorher)

Code: Alles auswählen

$lang['Edited_times_total']
Und natürlich beides auch in der lang_main.php enthalten.
Daher wird bei Dir auch nichts angezeigt.
Ebenso muß in dem Text in der lang_main.php auch mit den Variablen hier übereinstimmen. Sonst kommt es auch zu der Fehlermeldung.

Hier mal die Einträge bei mir:

Code: Alles auswählen

$lang['Edited_time_total'] = 'Zuletzt bearbeitet von %s am %s, insgesamt ein Mal bearbeitet (%d Prozent)'; // Last edited by me on 12 Oct 2001, edited 1 time in total
$lang['Edited_times_total'] = 'Zuletzt bearbeitet von %s am %s, insgesamt %d Male bearbeitet (%d Prozent)'; // Last edited by me on 12 Oct 2001, edited 2 times in total
Müsste dann also bei Dir die Zeile so lauten:

Code: Alles auswählen

$l_edited_by = '<br /><br />' . sprintf($l_edit_time_total, $editer, create_date($board_config['default_dateformat'], $postrow[$i]['post_edit_time'], $board_config['board_timezone']), $postrow[$i]['post_edit_count']		$l_edited_by = '<div align="center"><hr width="95%" /></div>' . sprintf($l_edit_time_total, $editer, create_date_day($board_config['default_dateformat'], $postrow[$i]['post_edit_time'], $board_config['board_timezone']), $postrow[$i]['post_edit_count'], $posteditprocent);
); 
und diese Zeile vorher vorhanden sein (notfalls einfügen):

Code: Alles auswählen

		$posteditprocent = ( $postrow[$i]['post_edit_percent'] > 100 ) ? 100 : $postrow[$i]['post_edit_percent'];
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!
Twins

Beitrag von Twins »

Sorry, irgentwie kapier ich nichts mehr.Jetzt ist keine der Codes in der lang_main.php vorhanden (siehe Attachment).
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Dann füge diese ein :D
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!
Twins

Beitrag von Twins »

Ist das so richtig? ;)
// FI DivExpand - Daz - ForumImages.com - END

$lang['Edited_time_total'] = 'Last edited by %s on %s; edited %d time in total. (%d percent)'; // Last edited by me on 12 Oct 2001; edited 1 time in total. (12 percent).
$lang['Edited_times_total'] = 'Last edited by %s on %s; edited %d times in total. (%d percent)'; // Last edited by me on 12 Oct 2001; edited 2 times in total. (12 percent).


$lang['Lock_topic'] = 'Thema sperren';
Benutzeravatar
tom10
Beiträge: 1106
Registriert: Sa 29.Jan, 2005 14:58
Kontaktdaten:

Beitrag von tom10 »

Ja, wenn Du nur das english als boardsprache benutzt muss das in die lang_english.php

P.S. bei mir sieht die Zeile in der includes/functions_post.php

So aus:

Code: Alles auswählen

$edited_sql = ($mode == 'editpost' && !$post_data['last_post'] && $post_data['poster_post']  && !$mark_edit) ? ", post_edit_time = $current_time, post_edit_count = post_edit_count + 1 " : "";
Wie müste die korrekt geändert werden ?
Laut Anleitung ist ja dieser Code gesucht:

Code: Alles auswählen

$edited_sql = ($mode == 'editpost' && !$post_data['last_post'] && $post_data['poster_post']) ? ", post_edit_time = $current_time, post_edit_count = post_edit_count + 1 " : "";
Und der sollte eigentlich so überschrieben werden.

Code: Alles auswählen

$usr_id = $userdata['user_id'];
 125.    $edited_sql = ($mode == 'editpost') ? ", post_edit_user = $usr_id, post_edit_time = $current_time, post_edit_count = post_edit_count + 1 " : "";
Weiterhin erhalte ich wenn ich die Zeile einfach so einfüge einen Fehler:
Warning: sprintf() [function.sprintf]: Too few arguments in /www/htdocs/v132501/viewtopic.php on line 1873
Zuletzt geändert von tom10 am Sa 14.Mai, 2005 13:56, insgesamt 3-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

@tom10
Dieser Fehler kommt von der viewtopic.php und hat mit dem Speichern des Posts erstmal nichts zu tun.
Prüfe, wieviele "%s" in der Lang-Variable enthalten sind, und wieviele Argumente mit sprintf() hier übergeben werden.
Das muss passen, sonst kommt es zu o.g. Fehlermeldung.
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!
Twins

Beitrag von Twins »

Wenn das richtig ist, warum geht das nicht und es wird in der viewtopic.php folgende Fehlermeldung angezeigt?
Warning: sprintf(): Too few arguments in /srv/www/htdocs/web98/html/twinstantin/viewtopic.php on line 1401
Ich kapiere nicht, was diese Fehlermeldung dazu suchen hat, wenn doch alles richtig ist.
Benutzeravatar
tom10
Beiträge: 1106
Registriert: Sa 29.Jan, 2005 14:58
Kontaktdaten:

Beitrag von tom10 »

Es werden in der funktions_post.php diese Sachen übergeben:
$l_edited_by = '<br /><br />' . sprintf($l_edit_time_total, $editer, create_date($board_config['default_dateformat'], $postrow[$i]['post_edit_time'], $board_config['board_timezone']), $postrow[$i]['post_edit_count']);
und in der lang_german.php diese Sachen:
$lang['Edited_time_total'] = 'Zuletzt bearbeitet von %s am %s, insgesamt ein Mal bearbeitet (%d Prozent)'; // Last edited by me on 12 Oct 2001, edited 1 time in total
$lang['Edited_times_total'] = 'Zuletzt bearbeitet von %s am %s, insgesamt %d Male bearbeitet (%d Prozent)'; // Last edited by me on 12 Oct 2001, edited 2 times in total
Nur was jetzt zusammen gehört oder verknüpft ist ?!?!? ^1

Edit: Mist, ich fummle da schon über eine Stunde rum und ich komm und komm nicht weiter... :confused:
Zuletzt geändert von tom10 am Sa 14.Mai, 2005 16:18, insgesamt 1-mal geändert.
Twins

Beitrag von Twins »

Also muss ich die Codes von der lang_main.php in die functions_post.php eintragen? Ich habe das mal gemacht, aber das geht nicht.
Benutzeravatar
tom10
Beiträge: 1106
Registriert: Sa 29.Jan, 2005 14:58
Kontaktdaten:

Beitrag von tom10 »

So, ich noch mal.... Ich hab prinzipiell den einbau nun geschafft. Ein Fehler wurden von der lang_main.php produziert, weil dort schon ein paar Einträge vorhanden waren. Nun klappts erstmal soweit, bis darauf das mir nicht die %tuelle Anzeige angezeigt wird. Da fehlen also noch variablen irgend wo. Was müßte ich da nun noch genau wo verbauen damit das funtioniert?
Anbei ein Bild wie es momentan aussieht.

@twin

Nein , Du solltest den von dir oben geposteten Code

Code: Alles auswählen

$lang['Edited_time_total'] = 'Last edited by %s on %s; edited %d time in total. (%d percent)'; // Last edited by me on 12 Oct 2001; edited 1 time in total. (12 percent).
$lang['Edited_times_total'] = 'Last edited by %s on %s; edited %d times in total. (%d percent)'; // Last edited by me on 12 Oct 2001; edited 2 times in total. (12 percent). 
In deine lang_main.php einfügen.
Du solltest aber vorher schauen ob eventuell wie bei mir schon eine Sache drin steht die mit $lang['Edited_times_total'] oder $lang['Edited_time_total'] beginnen.
Denn das war bei mir ein Fehler ! Ich hab das einfach am ende hinzugefügt und übersehen das die beiden Einträge schon dar waren.
^6

Edit:

So, wieder ein Stück weiter... , die % Anzeige ist erstmal drin und wierd auch angezeigt, nur bleibt die auf 0 % stehen. Ich hab auch den Code:

Code: Alles auswählen

$posteditprocent = ( $postrow[$i]['post_edit_percent'] > 100 ) ? 100 : $postrow[$i]['post_edit_percent'];
noch zu der viewtopic.php oben drüber mit hinzugefügt.
Das sieht dann jetzt so aus:
$row = $db->sql_fetchrow($result);
$editer = $row['username'];
}
$posteditprocent = ( $postrow[$i]['post_edit_percent'] > 100 ) ? 100 : $postrow[$i]['post_edit_percent'];
$l_edit_time_total = ( $postrow[$i]['post_edit_count'] == 1 ) ? $lang['Edited_time_total'] : $lang['Edited_times_total'];

$l_edited_by = '<br /><br />' . sprintf($l_edit_time_total, $editer, create_date($board_config['default_dateformat'], $postrow[$i]['post_edit_time'], $board_config['board_timezone']), $postrow[$i]['post_edit_count'], $posteditprocent);
}

else
Zuletzt geändert von tom10 am Sa 14.Mai, 2005 17:58, insgesamt 4-mal geändert.
Antworten