Probleme mit dem absent user 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
Benutzeravatar
WileCoyote
Beiträge: 47
Registriert: Mi 26.Apr, 2006 04:42
Wohnort: Österreich
Kontaktdaten:

Probleme mit dem absent user MOD

Beitrag von WileCoyote »

Seit dem Einbau des absent user MOD, erhalte ich im ACP beim Editieren eines Users folgende Meldung: Der gewünschte Benutzername ist leider bereits belegt. Beim registrieren neuer Benutzer und im Userprofil gibts keine Meldung. Ich habe mir die admin_users.php nochmal durchgesehen. Fehler beim Einbau sind mir keine unterlaufen. Möglicherweise verträgt sich der mod mit einem anderen nicht. Ich hänge mal meine admin_users.php an.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Frage vorweg, bevor ich mir die Datei anschaue:
Welchen Browser verwendest Du?
Und wird auch der korrekte Username angezeigt und nicht der eigene?
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!
Benutzeravatar
WileCoyote
Beiträge: 47
Registriert: Mi 26.Apr, 2006 04:42
Wohnort: Österreich
Kontaktdaten:

Beitrag von WileCoyote »

Ich verwende den Avant Browser. Das ist ein Aufsatz für den IE und der bietet halt Erweiterungen wie z.B. "tabbed browsing". Angezeigt wird der Name des Users den ich bearbeiten will. Ich habe auch schon versucht, folgenden Teil rauszunehmen:

Code: Alles auswählen

# 
#-----[ FIND ]------------------------------------------
# 
			$sql = "UPDATE " . USERS_TABLE . "
				SET " . $username_sql . $passwd_sql . "user_email = '" . str_replace("\'", "''", $email) . "', user_icq = '" . str_replace("\'", "''", $icq) . "', user_website = '" . str_replace("\'", "''", $website) . "', user_occ = '" . str_replace("\'", "''", $occupation) . "', user_from = '" . str_replace("\'", "''", $location) . "', user_interests = '" . str_replace("\'", "''", $interests) . "', user_sig = '" . str_replace("\'", "''", $signature) . "', user_viewemail = $viewemail, user_aim = '" . str_replace("\'", "''", $aim) . "', user_yim = '" . str_replace("\'", "''", $yim) . "', user_msnm = '" . str_replace("\'", "''", $msn) . "', user_attachsig = $attachsig, user_sig_bbcode_uid = '$signature_bbcode_uid', user_allowsmile = $allowsmilies, user_allowhtml = $allowhtml, user_allowavatar = $user_allowavatar, user_allowbbcode = $allowbbcode, user_allow_viewonline = $allowviewonline, user_notify = $notifyreply, user_allow_pm = $user_allowpm, user_notify_pm = $notifypm, user_popup_pm = $popuppm, user_lang = '" . str_replace("\'", "''", $user_lang) . "', user_style = $user_style, user_timezone = $user_timezone, user_dateformat = '" . str_replace("\'", "''", $user_dateformat) . "', user_active = $user_status, user_rank = $user_rank" . $avatar_sql . "

# 
#-----[ IN-LINE FIND ]------------------------------------------
# 
$interests) . "'

# 
#-----[ IN-LINE AFTER, ADD ]------------------------------------------
# 
, user_absence_mode = $user_absence_mode, user_absence = $user_absence, user_absence_text = '" . str_replace("\'", "''", $user_absence_text) . "'

Das hat aber auch nichts gebracht. Die Meldung wird mir trotzdem angzeigt. Daher vermute ich, dass sich der absent user mod mit einem anderen mod nicht verträgt
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Also der Absent User MOD verändert nichts an der Prüfung des Usernamens, der kann also die Meldung nicht erzeugen.
Aber das hier macht mich stutzig:

Code: Alles auswählen

		if ($mem_num != $this_userdata['user_id']) {
			$sql = "SELECT username FROM " . USERS_TABLE .
					" WHERE user_id = '" . $mem_num . "'";
			$result = $db->sql_query($sql);
			$rows = $db->sql_numrows($result);
			if ($rows) {
				message_die(GENERAL_ERROR, $lang['Member_number_exists'], "", __LINE__, __FILE__);
			} else {
				$new_user_id = $mem_num;
				$old_user_id = $this_userdata['user_id'];
				// The new userid is not occupied, so can continue

				$sql = "UPDATE " . BANLIST_TABLE . " SET ban_userid = $new_user_id WHERE ban_userid = $old_user_id";
				if( !$result = $db->sql_query($sql) ) {
					message_die(GENERAL_ERROR, $lang['Failed2changememno'], "", __LINE__, __FILE__);
				}
				$sql = "UPDATE " . POSTS_TABLE . " SET poster_id = $new_user_id WHERE poster_id = $old_user_id";
				if( !$result = $db->sql_query($sql) ) {
					message_die(GENERAL_ERROR, $lang['Failed2changememno'], "", __LINE__, __FILE__);
				}
				$sql = "UPDATE " . PRIVMSGS_TABLE . " SET privmsgs_from_userid = $new_user_id WHERE privmsgs_from_userid = $old_user_id";
				if( !$result = $db->sql_query($sql) ) {
					message_die(GENERAL_ERROR, $lang['Failed2changememno'], "", __LINE__, __FILE__);
				}
				$sql = "UPDATE " . PRIVMSGS_TABLE . " SET privmsgs_to_userid = $new_user_id WHERE privmsgs_to_userid = $old_user_id";
				if( !$result = $db->sql_query($sql) ) {
					message_die(GENERAL_ERROR, $lang['Failed2changememno'], "", __LINE__, __FILE__);
				}
				$sql = "UPDATE " . SESSIONS_TABLE . " SET session_user_id = $new_user_id WHERE session_user_id = $old_user_id";
				if( !$result = $db->sql_query($sql) ) {
					message_die(GENERAL_ERROR, $lang['Failed2changememno'], "", __LINE__, __FILE__);
				}
				$sql = "UPDATE " . SESSIONS_KEYS_TABLE . " SET user_id = $new_user_id WHERE user_id = $old_user_id";
				if( !$result = $db->sql_query($sql) ) {
					message_die(GENERAL_ERROR, $lang['Failed2changememno'], "", __LINE__, __FILE__);
				}
				$sql = "UPDATE " . TOPICS_TABLE . " SET topic_poster = $new_user_id WHERE topic_poster = $old_user_id";
				if( !$result = $db->sql_query($sql) ) {
					message_die(GENERAL_ERROR, $lang['Failed2changememno'], "", __LINE__, __FILE__);
				}
				$sql = "UPDATE " . TOPICS_WATCH_TABLE . " SET user_id = $new_user_id WHERE user_id = $old_user_id";
				if( !$result = $db->sql_query($sql) ) {
					message_die(GENERAL_ERROR, $lang['Failed2changememno'], "", __LINE__, __FILE__);
				}
				$sql = "UPDATE " . USER_GROUP_TABLE . " SET user_id = $new_user_id WHERE user_id = $old_user_id";
				if( !$result = $db->sql_query($sql) ) {
					message_die(GENERAL_ERROR, $lang['Failed2changememno'], "", __LINE__, __FILE__);
				}
				$sql = "UPDATE " . USERS_TABLE . " SET user_id = $new_user_id WHERE user_id = $old_user_id";
				if( !$result = $db->sql_query($sql) ) {
					message_die(GENERAL_ERROR, $lang['Failed2changememno'], "", __LINE__, __FILE__);
				}
				$sql = "UPDATE " . VOTE_USERS_TABLE . " SET vote_user_id = $new_user_id WHERE vote_user_id = $old_user_id";
				if( !$result = $db->sql_query($sql) ) {
					message_die(GENERAL_ERROR, $lang['Failed2changememno'], "", __LINE__, __FILE__);
				}
			}
		}
Daraus resultiert ggf. ein neuer Username und das kann auch zu der Fehlermeldung führen.
Was ist das für ein MOD?
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!
Benutzeravatar
WileCoyote
Beiträge: 47
Registriert: Mi 26.Apr, 2006 04:42
Wohnort: Österreich
Kontaktdaten:

Beitrag von WileCoyote »

Das ist der Change User ID MOD. Als der allein drinnen war, hat das editieren der User aber einwandfrei funktioniert. Wäre es möglich, dass der Fehler auch nur in der user_edit_body.tpl ist ?

[edit] Du hast recht, ich sehe gerade im phpbb.com Forum, da hat jemand genau das selbe Problem mit dem MOD wie ich. Ich habe ihn jetzt wieder rausgenommen, da ich mir sicher bin, dass die user id auch noch in anderen Tabellen vorkommt, die vom MOD nicht berücksichtigt werden. ...Und Jetzt klappts auch mit dem absent user MOD :) [/edit]
Zuletzt geändert von WileCoyote am Sa 29.Jul, 2006 16:03, insgesamt 2-mal geändert.
Antworten