Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 20 von 56

Thema: cronjob: inaktive Benutzer löschen

  1. #1

    cronjob: inaktive Benutzer löschen

    Hallo,

    hier ist ein cronjob für die Verwaltung von inaktiven Usern.
    Der cronjob arbeite folgendermaßen:

    Jeder Ausführung des cronjobs läuft in zwei Schritten ab.
    Als erstes erhalten alle Benutzer deren letzter Besuch vor 180 Tagen war eine Benachrichtigung per Mail, dass ihr Account in kürze gelöscht wird.
    In der zweiten Stufe werden alle Benutzer gelöscht deren letzter Besuch länger als 180 + 7 Tage her ist.

    Die Anzahl der Tage kann natürlich im Script geändert werden.

    Aufgrund der Berechnungen im Script ist es sehr wichtig, dass dieser cronjob täglich ausgeführt wird.

    Folgende Phrasen müssen eingefügt werden:

    Im Bereich "Email Subject Text"

    Variablenname: infouser
    Inhalt:
    Inaktiver Account
    Variablenname: killuser
    Inhalt:
    Account gelöscht
    Im Bereich "Email Body Text"

    Variablenname: infouser
    Inhalt:
    Hallo $username,

    wir haben bemerkt, dass Sie seit langer Zeit nicht mehr bei $vboptions[bbtitle] vorbeigeschaut haben.
    Sollten Sie auch innerhalb der nächsten Tage $vboptions[bbtitle] nicht besuchen, wird Ihr Account gelöscht.


    Vielen Dank,
    Ihr $vboptions[bbtitle] Team
    Variablenname: killuser
    Inhalt:
    Hallo $username,

    wir haben bemerkt, dass Sie seit langer Zeit nicht mehr bei $vboptions[bbtitle] vorbeigeschaut haben.
    Ihre Registrierung unter dem Benutzernamen "$username" ist nun gelöscht worden.

    Wenn Sie möchten können Sie sich gerne erneut registrieren.


    Vielen Dank,
    Ihr $vboptions[bbtitle] Team
    Die Texte können natürlich von euch angepasst werden.
    Bitte beachtet, dass beim ersten ausführen des cronjobs unter Umständen viele Benutzer gelöscht werden können, die vorher keine Benachrichtigung bekommen haben, weil sie schon viel länger inaktiv waren und von diesem Script nicht mehr erfass wurden.

    Fargen und Anregungen erwünscht.
    mfg Xothous

    (Stand 05.01.2005)

    Version für vBulletin 3.6.x:
    http://www.vbulletin-germany.com/for...0&postcount=46
    Angehängte Dateien Angehängte Dateien
    Geändert von Mystics (28.09.2006 um 22:43 Uhr)

  2. #2
    Benutzer
    Registriert seit
    23.12.2002
    Beiträge
    79

    Idee

    Also der User sollte schon über E-Mail benachrichtigt werden das er gelöscht worden ist oder noch besser wenn mann den Cron laufen läst schreibt er den Usern eine E-Mail das wenn sie weiterhin nicht aktiv sind das sie beim
    nächste Aktivitäts Test gelöscht werden und dann natürlich bei der Löschung auch noch mal.

    Einfach User Löschen ohne Benachrichtigung finde ich nicht gerade eine schöne Lösung ansonsten eine Gute Board erweiterung.

    Hat jemad eine Lösung mit E-Mail benachrichtigung am Start?
    Admin Scenefilter Forum www.scenefilter.com

  3. #3
    Sollte kein großes Problem sein da noch ne Mailbenachrichtigung einzubauen.
    Werde das die Tage mal machen, kann aber noch was dauern, da ich im Moment wenig Zeit hab.

    Xothous

  4. #4
    vB-Experte
    Registriert seit
    06.07.2003
    Alter
    27
    Beiträge
    680
    Wie schauts denn nun aus ?

  5. #5
    Zitat Zitat von Ne0
    Wie schauts denn nun aus ?
    Habs aktualisiert, schau mal in meinen ertsen Beitrag.

  6. #6
    Benutzer
    Registriert seit
    23.12.2002
    Beiträge
    79
    Hi ich wollte es gerade einbauen aber es Leuft nicht ich hab es Folgend eingebaut

    Phrasen angelegt
    und del_inaktiv.php in den Ordner /includes/cron hochgeladen.
    Danach habe ich einen Cron im Admincp erstellt.
    aber er schreibt keine Logs und mein Test User Hat auch keine E-Mail bekommen
    Admin Scenefilter Forum www.scenefilter.com

  7. #7
    Zitat Zitat von Florian
    Hi ich wollte es gerade einbauen aber es Leuft nicht ich hab es Folgend eingebaut

    Phrasen angelegt
    und del_inaktiv.php in den Ordner /includes/cron hochgeladen.
    Danach habe ich einen Cron im Admincp erstellt.
    aber er schreibt keine Logs und mein Test User Hat auch keine E-Mail bekommen
    Hat dein Testuser denn dass Board die eingestellten Tage das Board nicht mehr besucht?

  8. #8
    Benutzer
    Registriert seit
    23.12.2002
    Beiträge
    79
    Ich habe jetzt wrausgefunden das die User gelöscht werden also alles Richtig und bekommen auch eine E-Mail.
    aber die werden nicht 7 Tage zuvor benachrichtigt !
    Admin Scenefilter Forum www.scenefilter.com

  9. #9
    Zitat Zitat von Florian
    Ich habe jetzt wrausgefunden das die User gelöscht werden also alles Richtig und bekommen auch eine E-Mail.
    aber die werden nicht 7 Tage zuvor benachrichtigt !
    Tut mir Leid, aber ich kann keinen Fehler finden, zumal es bei mir alles funktioniert. Aber ich werde weitere Tests machen.
    Läßt du das Script auch täglich ausführen?

  10. #10
    Benutzer
    Registriert seit
    23.04.2004
    Alter
    33
    Beiträge
    77
    wie siehts aus funktioniert das jetzt alles ?

  11. #11
    vB-Guru Avatar von MrD
    Registriert seit
    21.08.2003
    Ort
    Localhost
    Alter
    41
    Beiträge
    2.739
    Hi,
    habe bei mir auch das Prob, das es nicht gestartet wird
    es soll jeden Tag um 00:04 laufen, aber nix.

    Ist auch bei dem Unbestätigte USer löschen Cron.
    Gruß
    Marcus

  12. #12
    Fortgeschrittener Benutzer
    Registriert seit
    09.04.2004
    Ort
    Unna
    Beiträge
    198

    Eine allgemeine Frage zu diesem Thema

    Was passiert mit den Beiträgen eines Users, wenn man ihn löscht? Werden seine Beiträge auch gelöscht? Falls ja, so kann der Sinn ganzer Threads verloren gehen.

    Was passiert mit Threads, die vom Mitglied gestartet wurden? Diese machen doch ohne das Eröffnungs-Posting keinen Sinn. Wird dann der gesamte Thread gelöscht? Falls ja, so wäre das sehr unschön, da dadurch ggf. sehr attraktive Threads komplett verloren gingen.

    Ergo: Wenn ich Mitglieder, die x Tage inaktiv waren samt Beiträge lösche, dann muss ich auch alle Beiträge, die älter als x Tage sind entfernen.

    Gut wäre, wenn man ein Mitglied löschen könnte, und seine Beiträge stehen bleiben würden. Als Autor könnte "ehemaliges Mitglied" o. ä. statt des Usernamens erscheinen. Dann würde der Sinn von Threads nicht gefährdet. Obwohl es dann zu Schwierigkeiten kommen könnte, wenn mehrere an einem Thread beteiligte User gelöscht werden.

    Oder wie seht Ihr das?

    Gruß,
    Chriss

  13. #13
    Afaik werden die Beiträge nicht gelöscht, der 'User' wird lediglich zu einem 'Gast'.

  14. #14
    Was passiert mit den Beiträgen eines Users, wenn man ihn löscht? Werden seine Beiträge auch gelöscht?
    Die Beiträge eines Users werden natürlich nicht gelöscht, sondern es erscheint anstelle des Benutzernamens einfach "Gast".
    wie siehts aus funktioniert das jetzt alles ?
    Ich hab das Ding bei mir im Einsatz und es funz alles. Kann im Moment keine Fehler finden, kann aber natürlich auch keine Garantie übernehmen.
    Hi,
    habe bei mir auch das Prob, das es nicht gestartet wird
    es soll jeden Tag um 00:04 laufen, aber nix.

    Ist auch bei dem Unbestätigte USer löschen Cron.
    Wenn ein cronjob, oder genauer eine "Zeitgesteuerte Aufgabe" nicht gestartet wird kann das durchaus daran liegen, dass es zum Zeitpunkt des gewünschten Starts keine Aktivität in deinem Forum gibt.
    Diese Zeitgesteuerten Aufgaben verlangen, dass zum Zeitpunkt der gewünschten Ausführung auch Aktivität im Forum herrscht, weil wenn vom Forum garkein Script ausgeführt wird, kann auch die Aufgabe nicht ausgeführt werden, weil ja nix vom Forum läuft. <- hoffe das war verständlich

    Ich würde empfehlen die Ausführung mal Tagsüber, wenn im Forum was los ist zu probieren.

    mfG Xothous

  15. #15
    Profi-Benutzer
    Registriert seit
    09.09.2001
    Ort
    irgendwo in Deutschland
    Beiträge
    495
    lässt sich das script auch für ein vb 2.3.0 einsetzen bzw. kann es so umgeschrieben werden das es auch für die älteren versionen genutzt werden kann?

  16. #16
    vBulletin-Germany Team Avatar von Mystics
    Registriert seit
    01.11.2001
    Alter
    30
    Beiträge
    27.236
    Zitat Zitat von Paridus
    lässt sich das script auch für ein vb 2.3.0 einsetzen bzw. kann es so umgeschrieben werden das es auch für die älteren versionen genutzt werden kann?
    Da vBulletin 2 überhaupt kein Cron-System besitzt: Nein.

  17. #17

    Daumen hoch

    danke, für deinen sehr nützlichen hack!

    gibt es einen möglichkeit, benützer mit einer bestimmten anzahl von beiträgen, von der löschung des accounts auszuschliessen?

    gruss
    dominik

    edit: sorry, ist ja bereits möglich
    Life is a lemon and I want my money back!

  18. #18
    vB-Guru Avatar von redlabour
    Registriert seit
    16.09.2003
    Ort
    Wuppertal, Germany
    Alter
    35
    Beiträge
    1.305
    Merci - funzt wunderbar !

  19. #19
    Das endgültige löschen der User scheint wohl nicht ganz zu funktionieren. Jedenfalls zeigte es bei mir keine Wirkung. Dann hab ich das Script folgendermaßen abgeändert:

    Code:
    #### Inaktive Benutzer löschen #####
    
    $users = $DB_site->query("
    	SELECT userid,username,languageid,email
    	FROM " . TABLE_PREFIX . "user
    	WHERE posts < ".$lessthan."
    	AND lastvisit <= ".(TIMENOW - ($olderthan * 86400 + $killafter * 86400))
    );
    
    vbmail_start();
    
    $del_useres = '';
    
    while ($user = $DB_site->fetch_array($users))
    {
    	$username = $user['username'];
    	$userid = $user['userid'];
    
    	// user löschen
    	delete_user($userid);
    
    	eval(fetch_email_phrases('killuser', $user['languageid']));
    
    	vbmail($user['email'], $subject, $message);
    	
    	$del_useres .= iif($del_useres, ', ');
    	$del_useres .= $user['username'];
    }
    
    // Logeinträge schrieben
    if ($del_useres)
    {
    	log_cron_action('Gelöschte Benutzer: ' . $del_useres, $nextitem);
    }
    vbmail_end();
    #### ENDE - Inaktive Benutzer löschen #####+#
    Danach klappte das Löschen bei mir komischerweise problemlos...

  20. #20
    Benutzer Avatar von red_head
    Registriert seit
    24.06.2004
    Ort
    W'dorf
    Alter
    29
    Beiträge
    58

    Ausrufezeichen Bug Report

    Servus,

    ich würde nicht den letzten Besuch nehmen!
    Da z.B. ein User hat sich vor über einem halben Jahr das letzte mal eingelogt.
    Und er logt sich jetzt auf die Aufoderung ein. Wird das Datum ja nicht auf das aktuelle Datum gesetzt sondern die letzte Aktivität wird zum letzten Besuch ... Bei mir hat es einen Moderator gelöscht .. der innerhalb von den letzten 10 Tagen auf jeden Fall online war ... Nur sein letzter Besuch lag über ein halbes Jahr zurück! Daher wurde er gelöscht
    Daher würde ich die lastactivity (Letzte Aktivität) nehmen
    Dann kann es nicht passieren das der User doch gelöscht wird.

    Gruß red_head

Seite 1 von 3 123 LetzteLetzte

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. cronjob: Unbestätigte Benutzer löschen
    Von Xothous im Forum vB3 Hack-Veröffentlichungen
    Antworten: 38
    Letzter Beitrag: 07.04.2009, 21:10
  2. Löschen über cronjob...?
    Von adusei im Forum vBulletin 3.0 Fragen und Probleme
    Antworten: 10
    Letzter Beitrag: 24.02.2004, 20:43
  3. Können benutzer sich selber löschen ?
    Von Demux im Forum vBulletin Vor dem Kauf
    Antworten: 36
    Letzter Beitrag: 29.09.2003, 18:56
  4. inaktive user löschen
    Von bigmo im Forum vB2 Code-Hacking Diskussionen
    Antworten: 1
    Letzter Beitrag: 14.03.2002, 14:27
  5. ausgewählte Benutzer lassen sich nicht löschen
    Von CFighter im Forum vBulletin 2 Fragen und Probleme
    Antworten: 2
    Letzter Beitrag: 25.11.2001, 13:09

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •