Benutzer kann nicht gelöscht werden |
Tutorial
gesperrt 01/05/2012
Dabei seit: 21.09.10
Beiträge: 243
|
|
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 |
Finden
Als Freund hinzufügen
|
|
TinaW5
Mitglied
Dabei seit: 30.06.05
Beiträge: 42
Themenstarter
|
|
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 |
E-Mail
Finden
Als Freund hinzufügen
|
|
TinaW5
Mitglied
Dabei seit: 30.06.05
Beiträge: 42
Themenstarter
|
|
Nein, Nr. 2 und so ist die Prüfung auf den Boardbesitzer im Users.php auch aufgebaut.
|
|
04.10.11 19:33 |
E-Mail
Finden
Als Freund hinzufügen
|
|
Tutorial
gesperrt 01/05/2012
Dabei seit: 21.09.10
Beiträge: 243
|
|
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
|
|
04.10.11 19:39 |
Finden
Als Freund hinzufügen
|
|
TinaW5
Mitglied
Dabei seit: 30.06.05
Beiträge: 42
Themenstarter
|
|
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 |
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
|
|
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
|
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 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
TinaW5
Mitglied
Dabei seit: 30.06.05
Beiträge: 42
Themenstarter
|
|
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 |
E-Mail
Finden
Als Freund hinzufügen
|
|
mipu
NullPlan
Dabei seit: 26.11.06
Beiträge: 136
Fähigkeiten: WBB3 Fortgeschritten; WBB2 Fortgeschritten Forenversion: 3.1; 2.3
|
|
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
__________________ gruß mipu
|
|
05.10.11 17:32 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
TinaW5
Mitglied
Dabei seit: 30.06.05
Beiträge: 42
Themenstarter
|
|
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.
|
|
05.10.11 17:57 |
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
|
|
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
|
|
05.10.11 18:14 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
TinaW5
Mitglied
Dabei seit: 30.06.05
Beiträge: 42
Themenstarter
|
|
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 |
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
|
|
Nicht umbedingt es wird damit eher verhindert das der Hack zum Einsatz kommt.
War es zufälligerweise der Hack ?
|
|
05.10.11 18:24 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
TinaW5
Mitglied
Dabei seit: 30.06.05
Beiträge: 42
Themenstarter
|
|
Ich fürchte nein, denn die Einstellmöglichkeit im ACP unter Einstellungen -> Sonstiges habe ich nicht.
|
|
05.10.11 18:29 |
E-Mail
Finden
Als Freund hinzufügen
|
|
Tutorial
gesperrt 01/05/2012
Dabei seit: 21.09.10
Beiträge: 243
|
|
Dann würd ich vorschlagen den aktuellen auszubauen und den von dem Link einzubauen ? Eventuell behebt das dein Problem ?
|
|
05.10.11 18:32 |
Finden
Als Freund hinzufügen
|
|
|