E-Mailadressen weg, wenn Admin Änderungen am Profil machte

Du hast Probleme beim Einbau oder bei der Benutzung eines Mods? In diesem Forum bist du richtig.
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Bill B.

E-Mailadressen weg, wenn Admin Änderungen am Profil machte

Beitrag von Bill B. »

Hallo,

auf der Suche nach einer Lösung für mein Problem, fand ich einen Thread vom Juni 2007, der exakt mein Problem beschrieb, leider aber im Oktober ohne Lösung endete: (immerhin 3 Leute hatten da auch dieses Problem)

http://www.phpbb.de/viewtopic.php?t=150 ... t&start=30

Das Problem:
Wenn ich über das Admin-Panel Änderungen an einem User-Profil vornehme (egal welche), ist hinterher die E-Mailadresse verschwunden! Sie lässt sich auch nicht mehr eintragen (sofern man sie denn wüsste). D.H. eintragen schon, aber sie wird nicht mehr gespeichert. Nur wenn sich der User selbst einloggt und über seinen User-Login die Mailadresse im Profil wieder ergänzt, bleibt sie gespeichert. (Habe ich mit einem Testuser-Account ausprobiert) Der User-Account funktioniert also einwandfrei. Das Problem liegt im Admin-Bereich. Sonst kann ich über den Admin-Bereich alles eintragen und speichern, Wohnort, Signatur, etc... alles o.k. nur die Mailadresse wird, nachdem sie verschwunden ist, nicht mehr gespeichert. Das Problem grenzt sich also auf den Admin-Bereich und dort auf das Feld für die Mailadresse ein.

Im o.a. Thread wurde Kanzler89 zuletzt nochmal aufgefordert seine templates/xxx/admin/user_edit_body.tpl zu verlinken, leider hat dann darauf niemand mehr geantwortet. :(

Ich habe folgende MODs:
- Anti-Bot-Question Mod
- Simple Admin Userlist
- Signatur Control

Daneben habe ich den Style geändert, also nicht mehr subsilver.

Ich würde mich sehr freuen, wenn Ihr mir bei der Suche nach der Ursache für dieses Problem helfen würdet, denn so ist es ziemlich blöde. Ich kann über den Admin-Bereich NICHTS ändern, Rangname, Account sperren, Signatur erlauben, was auch immer, alles führt zum Verlust der Mailadresse. Nicht günstig für die Administration eines Forums. Und da ohne Mailadresse die User auch keine Nachricht bekommen, wenn z.B. Antworten auf Beiträge da sind o.ä., ist das Problem schon gravierend.

Danke schon mal ganz herzlich jedem, der mir helfen mag!!
Gruß, Bill
4seven
Mitglied
Beiträge: 5869
Registriert: 21.04.2007 06:18

Beitrag von 4seven »

Hallo Bill B.

- Check erstmal in der templates/xxxxx/adminuser_edit_body.tpl, ob diese Zeilen 1zu1 identisch sind:

Code: Alles auswählen

	<tr>
	  <td class="row1"><span class="gen">{L_EMAIL_ADDRESS}: *</span></td>
	  <td class="row2">
		<input class="post" type="text" name="email" size="35" maxlength="255" value="{EMAIL}" />
	  </td>
	</tr>
- Wenn ja, dann..

..Öffne..

admin/admin_users.php

..und check mal ob folgende Codezeilen 1zu1 vorhanden sind:

Code: Alles auswählen

$username = ( !empty($HTTP_POST_VARS['username']) ) ? phpbb_clean_username($HTTP_POST_VARS['username']) : '';
		$email = ( !empty($HTTP_POST_VARS['email']) ) ? trim(strip_tags(htmlspecialchars( $HTTP_POST_VARS['email'] ) )) : '';

Code: Alles auswählen

	if( isset( $HTTP_POST_VARS['submit'] ) )
	{
		include($phpbb_root_path . 'includes/usercp_avatar.'.$phpEx);

		$error = FALSE;

		if (stripslashes($username) != $this_userdata['username'])
		{
			unset($rename_user);

			if ( stripslashes(strtolower($username)) != strtolower($this_userdata['username']) )
			{
				$result = validate_username($username);
				if ( $result['error'] )
				{
					$error = TRUE;
					$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $result['error_msg'];
				}
				else if ( strtolower(str_replace("\\'", "''", $username)) == strtolower($userdata['username']) )
				{
					$error = TRUE;
					$error_msg .= ( ( isset($error_msg) ) ? '<br />' : '' ) . $lang['Username_taken'];
				}
			}

			if (!$error)
			{
				$username_sql = "username = '" . str_replace("\\'", "''", $username) . "', ";
				$rename_user = $username; // Used for renaming usergroup
			}
		}

Code: Alles auswählen

		$viewemail = ( isset( $HTTP_POST_VARS['viewemail']) ) ? ( ( $HTTP_POST_VARS['viewemail'] ) ? TRUE : 0 ) : 0;




if( !$error )
		{
			$sql = "UPDATE " . USERS_TABLE . "
				SET " . $username_sql . $passwd_sql . "user_email = '" . str_replace("\'", "''", $email) .

Code: Alles auswählen

	if( !$error )
		{
			$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) .
Falls nicht, dann mal nach vorheriger Sicherung der (evtl. schon gemoddeten) admin_users.php, eine Originalversion der Datei hochladen oder nur betreffende Zeilen ersetzen > Testen

lg
4seven
Bill B.

Beitrag von Bill B. »

Hallo 4seven,

erst mal vielen Dank, dass Du Dich gemeldet hast!!
Ich bin nun anhand Deines Beitrages alles genau durchgegangen. Folgendes Ergebnis:
4seven hat geschrieben:- Check erstmal in der templates/xxxxx/adminuser_edit_body.tpl, ob diese Zeilen 1zu1 identisch sind:

Code: Alles auswählen

	<tr>
	  <td class="row1"><span class="gen">{L_EMAIL_ADDRESS}: *</span></td>
	  <td class="row2">
		<input class="post" type="text" name="email" size="35" maxlength="255" value="{EMAIL}" />
	  </td>
	</tr>
Nein, ist nicht 1zu1 identisch, da der Anti-Bot-Question-Mod drin ist.
Bei mir lautet die Passage:

Code: Alles auswählen

	<tr>
	  <td class="row1"><span class="gen">{L_EMAIL_ADDRESS}: *</span></td>
	  <td class="row2">
		<input class="post" type="text" name="{S_ABQ_EMAIL}" size="35" maxlength="255" value="{EMAIL}" />
	  </td>
	</tr>
4seven hat geschrieben:admin/admin_users.php

..und check mal ob folgende Codezeilen 1zu1 vorhanden sind:
In der admin_users.php konnte ich da keine Abweichungen feststellen.
4seven hat geschrieben:Falls nicht, dann mal nach vorheriger Sicherung der (evtl. schon gemoddeten) admin_users.php, eine Originalversion der Datei hochladen oder nur betreffende Zeilen ersetzen > Testen
Habe die Originalversion der admin_users.php getestet: der Fehler tritt unverändert auf!

Ich habe den Verdacht, dass es irgendwie mit dem ABQ-Mod zusammenhängt.
Was könnte ich nun noch tun???

Danke für Deine Hilfe.
Gruß, Bill
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Dann fehlt entweder ein Bearbeitungsschritt des ABQ oder du solltest diese Änderung an der Templatedatei einfach rückgängig machen, ansonsten kann die Adminseite die Email Adresse nämlich nicht finden (weil das zugehörige Feld keinen Namen bekommt). Nicht finden = leer, also wird die Mailadresse gelöscht.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Bill B.

Beitrag von Bill B. »

Hallo gn#36,

ich verstehe, was Du da schreibst
gn#36 hat geschrieben:Dann fehlt entweder ein Bearbeitungsschritt des ABQ...
aber, wäre es nicht besser, diesen fehlenden Bearbeitungsschritt im ABQ-Mod zu ergänzen?
gn#36 hat geschrieben:.....oder du solltest diese Änderung an der Templatedatei einfach rückgängig machen
Diese Änderung gehörte aber zum ABQ-Mod-Einbau und wahrscheinlich arbeitet der dann nicht mehr korrekt, oder?
gn#36 hat geschrieben:.......kann die Adminseite die Email Adresse nämlich nicht finden (weil das zugehörige Feld keinen Namen bekommt). Nicht finden = leer, also wird die Mailadresse gelöscht.
Das müssten dann doch eigentlich alle haben, die den ABQ-Mod eingebaut haben.
Also dann doch ein Bug in dem Mod?

Danke Dir für Deine Ideen dazu!
Gruß, Bill
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Ich kenne den Mod nicht. Aber ich bin mir relativ sicher, dass der nichts an der Speicherung der Mailadressen ändert. Außerdem gehe ich nicht davon aus, dass der Admin ein Bot ist (im Allgemeinen jedenfalls ;) ), daher ist die Änderung die der Mod an dieser Stelle im Adminbereich macht völlig überflüssig und ich würde daher die Änderung rückgängig machen. Aber du solltest vielleicht trotzdem schauen, ob du den Mod korrekt installiert hast, manchmal übersieht man da ein paar Dinge.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Bill B.

Beitrag von Bill B. »

Hallo gn#36,

es ist ja auch nur eine Vermutung von mir (bin aber blutiger Laie), dass es mit dem ABQ-Mod zu tun haben k ö n n t e . Ich habe sonst nur noch den Signatur Control und den Simple Admin userlist-Mod eingebaut.
gn#36 hat geschrieben:Aber du solltest vielleicht trotzdem schauen, ob du den Mod korrekt installiert hast, manchmal übersieht man da ein paar Dinge.
Das war meine 1. Aktion. Bin alles noch einmal Schritt für Schritt durchgegangen. Das scheint alles korrekt zu sein.

Woran könnte es denn noch liegen, dass die E-Mailadresse immer gelöscht wird? Immerhin haben sich jetzt schon 4 Leute hier gemeldet, die genau dieses Problem haben. Was würdet Ihr an meiner Stelle noch tun, um den Fehler zu finden?

Ich bin ziemlich ratlos, da ich wie gesagt Anfänger bin und bitte Euch, mich mit dem Problem nicht alleine zu lassen! :(

Danke!
Gruß, Bill
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Es liegt genau hieran:

Code: Alles auswählen

name="{S_ABQ_EMAIL}"
S_ABQ_EMAIL wird - sofern du keine Änderungen an der admin_users.php durchgeführt hast - nirgendwo mit Inhalt gefüllt. Daraus folgt automatisch, dass daraus

Code: Alles auswählen

name=""
wird, wenn es im Browser landet. die admin_users.php erwartet aber, dass dort

Code: Alles auswählen

name="email"
steht. Also findet die admin_users.php den Inhalt nicht und setzt ihn daher auf leer.

Wenn du das da unbedingt stehen lassen willst (was m.E. Blödsinn ist), dann kannst du stattdessen auch irgendwo recht weit oben in der admin_users.php (aber nach den Zeilen die mit include beginnen) folgende Zeile einfügen:

Code: Alles auswählen

$template->assign_vars(array('S_ABQ_EMAIL' => 'email'));
Das dürfte das Problem vermutlich auch beheben.
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Bill B.

Beitrag von Bill B. »

Hallo gn#36,

ich mache mich gleich mal an die Umsetzung! Danke für den Vorschlag!!
gn#36 hat geschrieben:Wenn du das da unbedingt stehen lassen willst (was m.E. Blödsinn ist)...
Ich will es ja nicht unbedingt stehen lassen, ich dachte mir nur, der Autor des Mod hatte bestimmt einen (guten) Grund, diese Änderung da einzufügen. Er ist Fachmann, ich alles andere :wink: und da bin ich "folgsam".
Warum er das da so gemacht hat.....?.....kann man ihn fragen?
Kennst Du MagMo?

Vielleicht klappt es aber auch mit Deiner Ergänzung.
Einstweilen
Gruß, Bill

Nachtrag:
Nur noch mal zur Sicherheit:
gn#36 hat geschrieben:Es liegt genau hieran:

Code: Alles auswählen

name="{S_ABQ_EMAIL}"
Dies steht bei mir in der templates/xxxxx/adminuser_edit_body.tpl !
gn#36 hat geschrieben:...in der admin_users.php (aber nach den Zeilen die mit include beginnen) folgende Zeile einfügen:

Code: Alles auswählen

$template->assign_vars(array('S_ABQ_EMAIL' => 'email'));
Deine Ergänzung kommt aber in die admin_users.php! Richtig?
Danke!
Bill
Benutzeravatar
gn#36
Ehrenadmin
Beiträge: 9313
Registriert: 01.10.2006 16:20
Wohnort: Ganz in der Nähe...
Kontaktdaten:

Beitrag von gn#36 »

Außer dass du einen Slash bei templates/xxxxx/admin/user_edit_body.tpl vergessen hast stimmt das so.

Einfügen am besten nach

Code: Alles auswählen

//
// Begin program
//
Begegnungen mit dem Chaos sind fast unvermeidlich, Aber nicht katastrophal, solange man den Durchblick behält.
Übertreiben sollte man's im Forum aber nicht mit dem Chaos, denn da sollen ja andere durchblicken und nicht nur man selbst.
Antworten

Zurück zu „phpBB 2.0: Mod Support“