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.820
	Themen: 271
	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.