YourWBB


yourWBB » WoltLab Burning Board Generation 2 * » Alles von und für das WBB 2.3.x » [WBB 2.3.x] Allg. Fragen und Probleme » Benutzer kann nicht gelöscht werden » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag 4.612 Views | | Thema zu Favoriten hinzufügen
Seiten (2): [1] 2 nächste »
Neues Thema erstellen Antwort erstellen

Dieses Thema wurde als unerledigt markiert. Thread unerledigt

Zum Ende der Seite springen Benutzer kann nicht gelöscht werden
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
TinaW5
Mitglied


Dabei seit: 30.06.05
Beiträge: 42

 Benutzer kann nicht gelöscht werden Antworten Zitieren Editieren Melden       UP

Dies ist eine vorgefertigte Schablone.
Bitte fülle soviel aus, wie dir nur Möglich ist, du kannst auch gerne noch mehr Angaben machen.


Problembeschreibung:
Ich habe seit einiger Zeit das Problem, dass User im ACP nicht gelöscht werden können. Ich versuche das bei ganz normalen Usern (Nullposter), die länger nicht online waren.
Zuerst kam der Fehler nur ab und an und ich habe die User dann über die Datenbank gelöscht. Aber inzwischen kriege ich gar keinen User mehr gelöscht.

Fehlermeldung:
Es kommt immer die Meldung, dass der BESITZER nicht gelöscht werden kann.
Verstehe ich nicht, da es sich um ganz normaler Benutzer und nicht um den Besitzer handelt.

Link zum Forum und Screenshot (KEINE Bilderhoster, per Dateianhang):


Was wurde zuletzt geändert oder eingebaut?
Ich habe seit Monaten nix mehr eingebaut.

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von TinaW5: 04.10.11 17:23.

04.10.11 17:23 TinaW5 ist offline E-Mail Finden Als Freund hinzufügen
Tutorial
gesperrt 01/05/2012


Dabei seit: 21.09.10
Beiträge: 243

Antworten Zitieren Editieren Melden       UP

Fragen an dich:

-Tritt der Fehler jetzt bei allen Usern auf oder nur bei bestimmten / Manchmal ?

-Kannst du einen Screenhot vom Fehler machen ?

-Bist du mit der Standart Administrator Gruppe eingeloggt oder ist die selbst angelegt und hat admin Rechte ?

-Sind die User die du löschen möchtest in der normalen Standart Benutzergruppe ?

-Tritt der Fehler schon immer auf ? Wenn nicht welche Änderungen hast du gemacht zuletzt bevor es auftrat ?

Bin aber grad selbst bisschen Ratlos sowas ist mir noch nie untergekommen seit ich WBB 2 / Lite 1 nutze...
04.10.11 19:16 Tutorial ist offline Finden Als Freund hinzufügen
TinaW5
Mitglied


Dabei seit: 30.06.05
Beiträge: 42

Themenstarter Thema begonnen von TinaW5
Antworten Zitieren Editieren Melden       UP

Inzwischen tritt der Fehler bei allen Usern auf, wobei ich jetzt nur lange abwensende Nullposter getestet habe.

Bei der Fehlermeldung handelt es sich um den ganz normalen Hinweis, dass der Besitzer nicht gelöscht werden kann. Normaler ACP-Text.

Ich bin in der Standard-Admi-Gruppe eingeloggt.
Die User sind in der Standardusergruppe.

Vor ein paar Monaten trat der Fehler nur ab und an auf, jetzt immer. Dabei habe ich nix angepasst in den letzten Monaten.

Momentan habe ich im users.php die Prüfung auf den Baordbesitzer auskommentiert, damit die nicht mehr stattfindet. Jetzt klappt das Löschen auch wieder.

Verstehe das nicht, da ich die Users.php seit 2007 nicht geändert habe.
Aus irgendeinem Grund scheint die UserID des Besitzers immer in der Gruppe der IDs zu sein, die gelöscht werden soll. Selbst wenn ich nur einen User löschen will.

Falls irgendjemand eine Idee hat, wäre ich für jeden Tipp dankbar.
04.10.11 19:24 TinaW5 ist offline E-Mail Finden Als Freund hinzufügen
Tutorial
gesperrt 01/05/2012


Dabei seit: 21.09.10
Beiträge: 243

Antworten Zitieren Editieren Melden       UP

Bist du UserID Nummer 1 in deinem Forum ?
04.10.11 19:30 Tutorial ist offline Finden Als Freund hinzufügen
TinaW5
Mitglied


Dabei seit: 30.06.05
Beiträge: 42

Themenstarter Thema begonnen von TinaW5
Antworten Zitieren Editieren Melden       UP

Nein, Nr. 2 und so ist die Prüfung auf den Boardbesitzer im Users.php auch aufgebaut.
04.10.11 19:33 TinaW5 ist offline E-Mail Finden Als Freund hinzufügen
Tutorial
gesperrt 01/05/2012


Dabei seit: 21.09.10
Beiträge: 243

Antworten Zitieren Editieren Melden       UP

Das sie nach Nr.1 oder 2 sucht ?
Ich kenn diese Funktion garnicht ist die Standartmäßig im Wbb2 drin ?

Da du aber sagst wenn du die ausklammerst gehts, wird der fehler wohl daran liegen, kannst sie ja mal posten eventuell wird ich oder jemand anderes daraus schlau Augenzwinkern
04.10.11 19:39 Tutorial ist offline Finden Als Freund hinzufügen
TinaW5
Mitglied


Dabei seit: 30.06.05
Beiträge: 42

Themenstarter Thema begonnen von TinaW5
Antworten Zitieren Editieren Melden       UP

code:
1:
/* delete user */ elseif ($action == "delete") { 	checkAdminPermissions("a_can_users_delete", 1);  	if (isset($_REQUEST['userids'])) $userids = $_REQUEST['userids']; 	else { 		if (isset($_GET['userid'])) $userid = intval_array($_GET['userid']); 		elseif (isset($_POST['userid'])) $userid = intval_array($_POST['userid']); 		else $userid = array(); 		$userids = implode(",", $userid); 	}  	if (!$userids) acp_error($lang->get("LANG_ACP_USERS_ERROR_SELECTNOUSER"));  	// form has been sent, delete 	if (isset($_POST['send'])) {     //owner check //Prüfung herausgenommen, da kein Löschen mehr möglich war 04.10.2011 //if($userids == 2) //	acp_error($lang->get("LANG_ACP_USERS_ERROR_OWNERCANNOTDELETE")); // //for($i=0;$i<count($userids);$i++) { //	if($userids[$i] == 2) //		acp_error($lang->get("LANG_ACP_USERS_ERROR_OWNERCANNOTDELETE")); //} //  		if ($userids) { 			// check securitylevel 			if ($wbbuserdata['a_override_max_securitylevel'] != -1) { 				$result = $db->query("SELECT u.userid,MAX(g.securitylevel) as securitylevel FROM bb".$n."_users u LEFT JOIN bb".$n."_user2groups u2g ON u.userid=u2g.userid LEFT JOIN bb".$n."_groups g ON u2g.groupid=g.groupid WHERE u.userid IN($userids) GROUP BY u.userid"); 				$userids = ",".$userids; 				while ($row = $db->fetch_array($result)) if (!checkSecurityLevel($row['securitylevel'])) $userids = str_replace(",".$row['userid'], "", $userids); 				if ($userids) $userids = wbb_substr($userids, 1); 			} 		}  		if ($userids) { 			$db->unbuffered_query("DELETE FROM bb".$n."_access WHERE userid IN ($userids)", 1);  			$result = $db->query("SELECT avatarid, avatarextension FROM bb".$n."_avatars WHERE userid IN ($userids)"); 			while ($row = $db->fetch_array($result)) @unlink("./../images/avatars/avatar-$row[avatarid].$row[avatarextension]"); 			$db->unbuffered_query("DELETE FROM bb".$n."_avatars WHERE userid IN ($userids)", 1);  			// delete pms sent by these users 			$pmids = ''; 			$result = $db->query("SELECT privatemessageid FROM bb".$n."_privatemessage WHERE senderid IN ($userids)"); 			while ($row = $db->fetch_array($result)) $pmids .= (($pmids != '') ? (',') : ('')) . $row['privatemessageid']; 			if ($pmids != '') { 				$result = $db->query("SELECT attachmentid, attachmentextension, thumbnailextension FROM bb".$n."_attachments WHERE privatemessageid IN ($pmids) AND postid = 0"); 				while ($row = $db->fetch_array($result)) { 					@unlink("./../attachments/attachment-".$row['attachmentid'].".".$row['attachmentextension']); 					@unlink("./../attachments/thumbnail-".$row['attachmentid'].".".$row['thumbnailextension']); 				} 				$db->unbuffered_query("DELETE FROM bb".$n."_attachments WHERE privatemessageid IN ($pmids)", 1); 				$db->unbuffered_query("DELETE FROM bb".$n."_privatemessage WHERE privatemessageid IN ($pmids)", 1); 				$db->unbuffered_query("DELETE FROM bb".$n."_privatemessagereceipts WHERE privatemessageid IN ($pmids)", 1); 			} 			 			// delete pms sent to these users 			$db->unbuffered_query("UPDATE bb".$n."_privatemessagereceipts SET deletepm=0 WHERE recipientid IN ($userids)", 1); 			$pmids = ''; 			$result = $db->query("SELECT privatemessageid FROM bb".$n."_privatemessagereceipts WHERE recipientid IN ($userids)"); 			while ($row = $db->fetch_array($result)) $pmids .= ",$row[privatemessageid]"; 			$deletepmids = ''; 			$result = $db->query("SELECT ". 			"p.privatemessageid, p.inoutbox, COUNT(pmr.privatemessageid) as receipts ". 			"FROM bb".$n."_privatemessage p ". 			"LEFT OUTER JOIN bb".$n."_privatemessagereceipts pmr ON (pmr.privatemessageid=p.privatemessageid AND pmr.deletepm=0) ". 			"WHERE p.privatemessageid IN (0$pmids) ". 			"GROUP BY p.privatemessageid"); 			while ($row = $db->fetch_array($result)) { 				if ($row['receipts'] == 0 && $row['inoutbox'] == 0) $deletepmids .= ",$row[privatemessageid]"; 			} 			if ($deletepmids != '') { 				$deletepmids = wbb_substr($deletepmids, 1); 				$db->unbuffered_query("DELETE FROM bb".$n."_privatemessage WHERE privatemessageid IN (".$deletepmids.")", 1); 				$db->unbuffered_query("DELETE FROM bb".$n."_privatemessagereceipts WHERE privatemessageid IN (".$deletepmids.")", 1); 				// delete attachments as well 				$result = $db->query("SELECT attachmentid, attachmentextension, thumbnailextension FROM bb".$n."_attachments WHERE privatemessageid IN (".$deletepmids.") AND postid = 0"); 				while ($row = $db->fetch_array($result)) { 					@unlink("./../attachments/attachment-".$row['attachmentid'].".".$row['attachmentextension']); 					@unlink("./../attachments/thumbnail-".$row['attachmentid'].".".$row['thumbnailextension']); 				} 				$db->unbuffered_query("DELETE FROM bb".$n."_attachments WHERE privatemessageid IN (".$deletepmids.")", 1); 			}   			$db->unbuffered_query("DELETE FROM bb".$n."_events WHERE userid IN ($userids)", 1); 			$db->unbuffered_query("DELETE FROM bb".$n."_folders WHERE userid IN ($userids)", 1); 			$db->unbuffered_query("DELETE FROM bb".$n."_moderators WHERE userid IN ($userids)", 1); 			$db->unbuffered_query("UPDATE bb".$n."_posts SET userid=0 WHERE userid IN ($userids)", 1); 			$db->unbuffered_query("DELETE FROM bb".$n."_searchs WHERE userid IN ($userids)", 1); 			$db->unbuffered_query("DELETE FROM bb".$n."_subscribeboards WHERE userid IN ($userids)", 1); 			$db->unbuffered_query("DELETE FROM bb".$n."_subscribethreads WHERE userid IN ($userids)", 1); 			$db->unbuffered_query("UPDATE bb".$n."_threads SET starterid=0 WHERE starterid IN ($userids)", 1); 			$db->unbuffered_query("UPDATE bb".$n."_threads SET lastposterid=0 WHERE lastposterid IN ($userids)", 1); 			$db->unbuffered_query("DELETE FROM bb".$n."_userfields WHERE userid IN ($userids)", 1); 			$db->unbuffered_query("DELETE FROM bb".$n."_users WHERE userid IN ($userids)", 1); 			$db->unbuffered_query("DELETE FROM bb".$n."_votes WHERE userid IN ($userids)", 1); 			$db->unbuffered_query("DELETE FROM bb".$n."_user2groups WHERE userid IN ($userids)", 1); 			$db->unbuffered_query("DELETE FROM bb".$n."_votes WHERE id IN ($userids) AND votemode=3", 1);    			$db->unbuffered_query("DELETE FROM bb".$n."_sessions WHERE userid IN ($userids)", 1); 			$db->unbuffered_query("DELETE FROM bb".$n."_acpmenuitemgroupscount WHERE userid IN ($userids)", 1); 			$db->unbuffered_query("DELETE FROM bb".$n."_acpmenuitemscount WHERE userid IN ($userids)", 1); 			$db->unbuffered_query("DELETE FROM bb".$n."_applications WHERE userid IN ($userids)", 1); 			$db->unbuffered_query("DELETE FROM bb".$n."_threadvisit WHERE userid IN ($userids)", 1); 			$db->unbuffered_query("DELETE FROM bb".$n."_boardvisit WHERE userid IN ($userids)", 1);   			$statupdate = $db->query_first("SELECT COUNT(*) AS usercount, MAX(userid) AS userid FROM bb".$n."_users"); 			$db->unbuffered_query("UPDATE bb".$n."_stats SET usercount='".$statupdate['usercount']."', lastuserid='".$statupdate['userid']."'", 1); 		} 		header("Location: users.php?action=find&sid=$session[hash]"); 		exit(); 	}


Habe mal den ganzen Delete-Bereich kopiert.


Momentan ist die Prüfung auf den Besitzer auskommentiert. Das wäre dann dieser Teil:
code:
1:
//owner check //Prüfung herausgenommen, da kein Löschen mehr möglich war 04.10.2011 //if($userids == 2) //	acp_error($lang->get("LANG_ACP_USERS_ERROR_OWNERCANNOTDELETE")); // //for($i=0;$i<count($userids);$i++) { //	if($userids[$i] == 2) //		acp_error($lang->get("LANG_ACP_USERS_ERROR_OWNERCANNOTDELETE")); //} //

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von TinaW5: 04.10.11 19:45.

04.10.11 19:44 TinaW5 ist offline E-Mail Finden Als Freund hinzufügen
dedie
Mitglied


Dabei seit: 06.03.05
Beiträge: 124
Fähigkeiten: WBB3 Fortgeschritten; WBB2 Profi
Herkunft: Stuttgart
Forenversion: 3.1; 2.3

Antworten Zitieren Editieren Melden       UP

Zitat:
Original von Tutorial
Das sie nach Nr.1 oder 2 sucht ?
Ich kenn diese Funktion garnicht ist die Standartmäßig im Wbb2 drin ?

Da du aber sagst wenn du die ausklammerst gehts, wird der fehler wohl daran liegen, kannst sie ja mal posten eventuell wird ich oder jemand anderes daraus schlau Augenzwinkern


Diese Funktion ist nicht standardgemäss im wbb2.3x drin, es gab bzw. gibt einen Hack der den Admin unlöschbar macht eventuell wurde der eingebaut.
04.10.11 19:46 dedie ist offline E-Mail WWW Finden Als Freund hinzufügen
TinaW5
Mitglied


Dabei seit: 30.06.05
Beiträge: 42

Themenstarter Thema begonnen von TinaW5
Antworten Zitieren Editieren Melden       UP

Ja, den habe Hack habe ich 2007 eingebaut und seitdem auch dutzende von Usern gelöscht. Aber mit einem Mal gibts Probleme, obwohl ich nix geändert habe.
04.10.11 19:50 TinaW5 ist offline E-Mail Finden Als Freund hinzufügen
Tutorial
gesperrt 01/05/2012


Dabei seit: 21.09.10
Beiträge: 243

Antworten Zitieren Editieren Melden       UP

Mhh wird dann aber logischer weise wohl irgendwie damit
zusammenhängen, wenn du ihn nicht unbedingt brauchst, würd ich
raten ihn auszubauen, Support bekommst du ja warscheinlich eh keinen
mehr oder ? Wird von Mywbb gewesen sein oder ?

Edit: Habe aber die vermutung das es irgendwie damit zusammenhängt
das die Userid 1 durch 2 ersetzt wurde, ist aber nur eine Ahnung /
Vermutung eventuell kann da ja noch einer was bestätigen.

Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von Tutorial: 05.10.11 13:00.

05.10.11 12:58 Tutorial ist offline Finden Als Freund hinzufügen
TinaW5
Mitglied


Dabei seit: 30.06.05
Beiträge: 42

Themenstarter Thema begonnen von TinaW5
Antworten Zitieren Editieren Melden       UP

Mir ist da gestern noch was eingefallen.
Bisher trat der Fehler ja nur ab und an auf. Und seit wenigen Wochen immer. Das passt so ungefähr mit dem Zeitpunkt zusammen, wo die User-ID für neue Anmeldungen die 2000er-Marke erreicht hat.

Ich könnte mir daher vorstellen, dass irgendwass beim Prüfen der ID schief geht und jetzt alle abgelehnt werden, weil die User-ID mit 2xxx anfängt. Wobei mir das Statement eigentlich logisch erscheint, kenne mich allerdings in PHP so gut wie gar nicht aus - rein aus meiner SQL-Sicht sieht es logisch aus. Augenzwinkern

Vielleicht könnte man damit auch erklären, dass vor der 2000er-Marke nur ab und an der Fehler auftrat (vielleicht wenn eine 2 in der ID war)????

Nur mal so gesponnen - bitte nicht "hauen" fröhlich großes Grinsen

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von TinaW5: 05.10.11 14:02.

05.10.11 14:01 TinaW5 ist offline E-Mail Finden Als Freund hinzufügen
Tutorial
gesperrt 01/05/2012


Dabei seit: 21.09.10
Beiträge: 243

Antworten Zitieren Editieren Melden       UP

Ja mit irgendsowas wirds schon zusammenhängen Augenzwinkern
05.10.11 14:09 Tutorial ist offline Finden Als Freund hinzufügen
TinaW5
Mitglied


Dabei seit: 30.06.05
Beiträge: 42

Themenstarter Thema begonnen von TinaW5
Antworten Zitieren Editieren Melden       UP

Jetzt bräuchte ich nur noch jemand, der den PHP-Code versteht und überprüft. großes Grinsen
05.10.11 14:44 TinaW5 ist offline E-Mail Finden Als Freund hinzufügen
mipu mipu ist männlich
NullPlan


images/avatars/avatar-5408.gif

Dabei seit: 26.11.06
Beiträge: 136
Fähigkeiten: WBB3 Fortgeschritten; WBB2 Fortgeschritten
Forenversion: 3.1; 2.3

Antworten Zitieren Editieren Melden       UP

kann es sein das der User in 2 Gruppen drin ist, weil dann kann man
ihn nicht löschen , ist er nur in einer Gruppe drin, kein Problem.

Und was heist hier lösch den Hack, weil es keinen Support mehr gibt,
es gibt doch auch für das wbb2.3.x, keinen Support mehr Zunge raus

__________________
gruß mipu


05.10.11 17:32 mipu ist offline E-Mail WWW Finden Als Freund hinzufügen Füge mipu in deine Kontaktliste ein
TinaW5
Mitglied


Dabei seit: 30.06.05
Beiträge: 42

Themenstarter Thema begonnen von TinaW5
Antworten Zitieren Editieren Melden       UP

Die User sind alle nur in einer Gruppe.
Nachdem ich den Owner-Check jetzt auskommentiert habe, funktioniert das Löschen ja auch. Ich müsste halt "nur" noch wissen, wo der Fehler in dem Statement ist. Irre
05.10.11 17:57 TinaW5 ist offline E-Mail Finden Als Freund hinzufügen
dedie
Mitglied


Dabei seit: 06.03.05
Beiträge: 124
Fähigkeiten: WBB3 Fortgeschritten; WBB2 Profi
Herkunft: Stuttgart
Forenversion: 3.1; 2.3

Antworten Zitieren Editieren Melden       UP

Zitat:
Ich müsste halt "nur" noch wissen, wo der Fehler in dem Statement ist.


Um eventuell den Bug zu finden müßte man schon den ganzem Hack kennen Augen rollen
05.10.11 18:14 dedie ist offline E-Mail WWW Finden Als Freund hinzufügen
TinaW5
Mitglied


Dabei seit: 30.06.05
Beiträge: 42

Themenstarter Thema begonnen von TinaW5
Antworten Zitieren Editieren Melden       UP

Damit kann ich leider nicht mehr dienen. Ich habe keinen Plan, wo sonst noch was eingebaut ist für diesen Hack.

Aber wenn das Auskommentieren des Teils, den ich oben gepostet habe, ausreicht, damit der Fehler nicht auftritt, müsste da ja auch der Fehler drinstecken, oder?
05.10.11 18:18 TinaW5 ist offline E-Mail Finden Als Freund hinzufügen
dedie
Mitglied


Dabei seit: 06.03.05
Beiträge: 124
Fähigkeiten: WBB3 Fortgeschritten; WBB2 Profi
Herkunft: Stuttgart
Forenversion: 3.1; 2.3

Antworten Zitieren Editieren Melden       UP

Nicht umbedingt es wird damit eher verhindert das der Hack zum Einsatz kommt.

War es zufälligerweise der Hack ?
05.10.11 18:24 dedie ist offline E-Mail WWW Finden Als Freund hinzufügen
TinaW5
Mitglied


Dabei seit: 30.06.05
Beiträge: 42

Themenstarter Thema begonnen von TinaW5
Antworten Zitieren Editieren Melden       UP

Ich fürchte nein, denn die Einstellmöglichkeit im ACP unter Einstellungen -> Sonstiges habe ich nicht.
05.10.11 18:29 TinaW5 ist offline E-Mail Finden Als Freund hinzufügen
Tutorial
gesperrt 01/05/2012


Dabei seit: 21.09.10
Beiträge: 243

Antworten Zitieren Editieren Melden       UP

Dann würd ich vorschlagen den aktuellen auszubauen und den von dem Link einzubauen ? Eventuell behebt das dein Problem ?
05.10.11 18:32 Tutorial ist offline Finden Als Freund hinzufügen
Seiten (2): [1] 2 nächste » Baumstruktur | Brettstruktur
Gehe zu:

Neues Thema erstellen Antwort erstellen

yourWBB » WoltLab Burning Board Generation 2 * » Alles von und für das WBB 2.3.x » [WBB 2.3.x] Allg. Fragen und Probleme » Benutzer kann nicht gelöscht werden