Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
Im Moment ist das Löschen beschränkt auf die Benutzergruppe mit der ID 5, in welcher nicht aktivierte Accounts sind. Wenn du das Ändern willst passe entweder die ID im Query an oder nimm sie ganz raus, dann werden alle Accounts unabhängig von der Benutzergruppe entfernt. Die Beitragsanzahl wird im Moment noch gar nicht beachtet, die müsste auch noch ergänzt werden:
PHP-Code:
$query = $db->simple_select("users", "uid", "postnum = '0' AND lastactive < '{$cut2}' AND away != '1'");
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Beiträge: 68
Themen: 15
Registriert seit: 26.05.2009
08.07.2009, 16:47
(Dieser Beitrag wurde zuletzt bearbeitet: 08.07.2009, 16:54 von Ryuuzaki.)
Ah, da lag das Problem. Also lautet der fertig Code:
PHP-Code:
<?php
function task_inactivemembers($task)
{
global $db;
// Nicht aktivierte Accounts löschen
$cut = TIME_NOW-60*60*24*7;
$cut2 = TIME_NOW-60*60*24*31;
$query = $db->simple_select("users", "uid", "postnum = '0' usergroup = '2' AND regdate < '{$cut}'" OR "lastactive < '{$cut2}'" AND "away != '1'");
while($users = $db->fetch_array($query)) {
$db->update_query("posts", array('uid' => 0), "uid='{$users['uid']}'");
$db->delete_query("userfields", "ufid='{$users['uid']}'");
$db->delete_query("privatemessages", "uid='{$users['uid']}'");
$db->delete_query("events", "uid='{$users['uid']}'");
$db->delete_query("moderators", "uid='{$users['uid']}'");
$db->delete_query("forumsubscriptions", "uid='{$users['uid']}'");
$db->delete_query("threadsubscriptions", "uid='{$users['uid']}'");
$db->delete_query("sessions", "uid='{$users['uid']}'");
$db->delete_query("banned", "uid='{$users['uid']}'");
$db->delete_query("threadratings", "uid='{$users['uid']}'");
$db->delete_query("users", "uid='{$users['uid']}'");
update_stats(array('numusers' => '-1'));
}
add_task_log($task, "Nicht aktivierte Accounts gelöscht.");
}
?>
Oder?
EDIT: Habs grad so probiert, klappt och net
Beiträge: 25.766
Themen: 269
Registriert seit: 20.09.2005
In deinem Forum muss man sich also als abwesend bis unbekannt eintragen.
PS: Um die Schleife zu vermeiden (könnte viele Queries geben), kannst du auch die UIDs mit implode bündelt.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 68
Themen: 15
Registriert seit: 26.05.2009
Ich habs so probiert, es klappt doch, alleridings hat es alle User gelöscht.
Was ist den daran nun wieder falsch!!!
Beiträge: 18.383
Themen: 257
Registriert seit: 09.02.2005
Ich hoffe, du hast vor dem Test ein Backup angelegt. Du musst deinen Query nochmal überdenken. Im ersten Teil vor dem "OR" fehlt ein AND und der Teil nach dem "OR" macht den Teil davor überflüssig, da er alle Bnutzer betrifft.
Gruß,
Michael
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.