Hallo, Gast! (Registrieren)

Wir wünschen allen Besuchern frohe Ostern!

Letzte Ankündigung: MyBB 1.8.37 veröffentlicht (04.11.23)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Account-Löscher
#11
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
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
#12
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
#13
In deinem Forum muss man sich also als abwesend bis unbekannt eintragen. Toungue
PS: Um die Schleife zu vermeiden (könnte viele Queries geben), kannst du auch die UIDs mit implode bündelt.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
#14
Ich habs so probiert, es klappt doch, alleridings hat es alle User gelöscht. Bad
Was ist den daran nun wieder falsch!!!
#15
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
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.