Author Topic: delete registered users automatically after x days  (Read 26018 times)

0 Members and 1 Guest are viewing this topic.

Offline stephanesantodom

  • Pre-Newbie
  • Posts: 3
    • View Profile
delete registered users automatically after x days
« on: October 17, 2005, 09:03:08 PM »
Hello

excuse my very bad english...(i'm french.... :wink:)
I would like delete automatically registered users after 1 month. It's posible ?
You can answer me in spanish, french, or.....english  :roll:
Tanks a lot !!

Stephane from reunion island

Offline Acidgod

  • 4images Moderator
  • 4images Guru
  • *****
  • Posts: 2.421
  • It's me?
    • View Profile
    • Flash-Webdesign
Re: delete registered users automatically after x days
« Reply #1 on: October 18, 2005, 12:31:23 PM »
with a cron job!?! (o:

Offline JensF

  • Addicted member
  • ******
  • Posts: 1.028
    • View Profile
    • http://www.terraristik-galerie.de
Re: delete registered users automatically after x days
« Reply #2 on: October 18, 2005, 02:48:19 PM »
with a cron job!?! (o:

Hi Acidgod,

ich möchte mich nicht beschweren aber ich finde du gibts oft antworten mit denen keiner was anfangen kann. Ist ja schön das du weißt was du meinst aber veile andere wissen das halt nicht. Wenn sie wissen würden wie irgendwas funktioniert dann bräuchten sie nicht fragen. Genauso wie zu meinem Thema wo du einen Lösungsansatz gegeben hast. Schön, und weiter??? Ich kenne mich mit PHP leider nicht so gut aus und wenn ich es könnte dann bräuchte ich hier nicht fragen.

Das wollte ich nur mal loswerden und werde das auch nicht weiter kommentieren....
Mit freundlichem Gruß
Jens Funk



-> Sorry for my bad English <-

Offline Vincent

  • 4images Moderator
  • Addicted member
  • *****
  • Posts: 1.195
    • View Profile
    • www.foto-kocher.com
Re: delete registered users automatically after x days
« Reply #3 on: October 18, 2005, 04:04:50 PM »
@stephanesantodom
willst du die aktiven user löschen oder nur die die über einem Monat sich nicht mehr angemeldet haben?

gruss
vincent
Beati pauperi spiritus

4images 1.7 // My Installed Mods


Offline mawenzi

  • Moderator
  • 4images Guru
  • *****
  • Posts: 4.500
    • View Profile
Re: delete registered users automatically after x days
« Reply #4 on: October 18, 2005, 04:39:52 PM »
hi all,

try this ... delete users not automatically but with a PlugIn :

PlugIn : Delete all registered users with no action on website during the last xx days

Here is the del_users.php ... copies this file into the folder :  /admin/plugins .

Code: [Select]
<?php // PLUGIN_TITLE: Delete Users

$nozip 1;
define('IN_CP'1);

$root_path "./../../";
define('ROOT_PATH'$root_path);
require(
ROOT_PATH.'admin/admin_global.php');

define('DELETE_USERS_TITEL'"Delete Users ( Caution ! )");
define('DELETE_USERS_DAY'"Delete all registered users with no action on website during the last xx days <small><span style=\"FONT-WEIGHT: normal\">[ Here register the days ]</span></small> :");
define('DELETE_USERS_BUTTON_DEL'"Delete Users");

show_admin_header();

show_form_header("del_users.php""del_users");
show_table_header(DELETE_USERS_TITEL2);
show_input_row(DELETE_USERS_DAY"no_action""90"25);
show_form_footer(DELETE_USERS_BUTTON_DEL""2);

$no_action $HTTP_POST_VARS['no_action'];

if (
$no_action!= ""){
        $sql_del_users "DELETE FROM ".USERS_TABLE."
                          WHERE user_level = 2 
                          AND user_lastaction < "
.(time()-$no_action*24*3600);
                          $result $site_db->query($sql_del_users);
                          echo "Users deleted !";
}

show_admin_footer();
?>

Now you can go to ACP -> PlugIns -> Delete Users and delete all registered users with no action on website during the last xx days with one klick.

mawenzi
Your first three "must do" before you ask a question ! ( © by V@no )
- please read the Forum Rules ...
- please study the FAQ ...
- please try to Search for your answer ...

You are on search for top 4images MOD's ?
- then please search here ... Mawenzi's Top 100+ MOD List (unsorted sorted) ...

Offline Acidgod

  • 4images Moderator
  • 4images Guru
  • *****
  • Posts: 2.421
  • It's me?
    • View Profile
    • Flash-Webdesign
Re: delete registered users automatically after x days
« Reply #5 on: October 18, 2005, 05:44:15 PM »
with a cron job!?! (o:

Hi Acidgod,

ich möchte mich nicht beschweren aber ich finde du gibts oft antworten mit denen keiner was anfangen kann. Ist ja schön das du weißt was du meinst aber veile andere wissen das halt nicht. Wenn sie wissen würden wie irgendwas funktioniert dann bräuchten sie nicht fragen. Genauso wie zu meinem Thema wo du einen Lösungsansatz gegeben hast. Schön, und weiter??? Ich kenne mich mit PHP leider nicht so gut aus und wenn ich es könnte dann bräuchte ich hier nicht fragen.

Das wollte ich nur mal loswerden und werde das auch nicht weiter kommentieren....

Nunja man kann bei google ja mal cron job eingeben und wenn man damit nichts anfangen kann kann man ja gerne nochmal anfragen und genau so sehe ich das auch bei dem Problem. Ich wollte Dir nur eine Richtung vorgeben und den Weg solltest Du alleine gehen, wenn Du es nicht kannst sage es doch einfach vielleicht nehme ich dich dann ja an die Hand und laufe mit Dir zusammen meinen vorgeschlagenen Weg... (o:

Nichts für ungut aber man kann nicht immer komplette Lösungen erwarten.

Des weiteren gibt es für automatische geschichten nichts besseres als Cronjobs...

Offline JensF

  • Addicted member
  • ******
  • Posts: 1.028
    • View Profile
    • http://www.terraristik-galerie.de
Re: delete registered users automatically after x days
« Reply #6 on: October 21, 2005, 09:48:19 AM »
Hi,

which Users where deleted?? Now the Users there are not Online since xx days or the Users they have absolutly no activation (no pics uploades, no cemments etc.)

I want to delete now Users there have absolutly no activation....
Mit freundlichem Gruß
Jens Funk



-> Sorry for my bad English <-

Offline mawenzi

  • Moderator
  • 4images Guru
  • *****
  • Posts: 4.500
    • View Profile
Re: delete registered users automatically after x days
« Reply #7 on: October 21, 2005, 10:32:57 AM »
hi Jens,

mit diesem Plugin werden User gelöscht, die absolut keinerlei Aktionen seit xxTagen auf der Website hatten ... d.h.
- kein Loggin
- und damit auch kein Hit, kein Kommentar, kein Upload, kein Download, keine Wertung ... als eingeloggter User
- wenn der User auf der Website in dem vorgegebenen Zeitraum war, aber sich nicht eingeloggt hat ... dann hat er Pech gehabt
- ein Loggin als User in dem vorgegeben Zeitraum reicht aus, um nicht gelöscht zu werden
- gelöscht werden nicht aus der User-Tabelle : alle Admins (user_id:9) und der Gast (user_id:-1) ... unabhängig von den xxTagen

Das Datum der letzten Aktion der User entspricht dem aus der APC-Userliste.

mawenzi
Your first three "must do" before you ask a question ! ( © by V@no )
- please read the Forum Rules ...
- please study the FAQ ...
- please try to Search for your answer ...

You are on search for top 4images MOD's ?
- then please search here ... Mawenzi's Top 100+ MOD List (unsorted sorted) ...

Offline JensF

  • Addicted member
  • ******
  • Posts: 1.028
    • View Profile
    • http://www.terraristik-galerie.de
Re: delete registered users automatically after x days
« Reply #8 on: October 21, 2005, 11:10:56 AM »
Danke für die Antwort.

hhmm, leider ist es dann doch nicht das richtige für mich.

Es gibt bei mir User die irgendwann mal Bilder hochgeladen haben. Diese User haben sich aber leider seit 200 Tagen nicht mehr blicken lassen. Diese möchte ich nicht löschen da sie ja mal Bilder hochgeladen haben und ich diese Bilder nicht löschen möchte bzw. als Gastbild anzeigen lassen möchte.

Es gibt bei mir aber auch User die haben sie angemeldet aber haben nie ein Bild angeklickt, eine Bewertung abgegeben etc. (ich weiß zwar nicht wie das geht denn wenn ich mich anmelde klicke ich wenigstens 1 Bild an) und diese User möchte ich halt löschen.

Noch ne andere Frage. Gibt es die Möglichkeit User die seit xx Tagen nicht mehr eingeloggt waren eine Mail zu schreiben mit dem Text "Schade das du lange nicht mehr da warst bla bla.....es hat sich viel geändert bla bla....schau doch mal wieder rein bla bla"

Mit freundlichem Gruß
Jens Funk



-> Sorry for my bad English <-

Offline Acidgod

  • 4images Moderator
  • 4images Guru
  • *****
  • Posts: 2.421
  • It's me?
    • View Profile
    • Flash-Webdesign
Re: delete registered users automatically after x days
« Reply #9 on: October 24, 2005, 10:13:39 AM »
Jens Du musst nur die Zeile "WHERE user_level = 2" erweitern das ist recht simpel zB nutzt Du "AND user_comments = 0" um nur User zu löschen die 0 Kommentare abgegeben haben.

Des weiteren löscht das Plugin nicht die Bilder und Kommentare, es entfernt nur den User aus der Datenbank...

Offline JensF

  • Addicted member
  • ******
  • Posts: 1.028
    • View Profile
    • http://www.terraristik-galerie.de
Re: delete registered users automatically after x days
« Reply #10 on: October 28, 2005, 08:04:16 AM »
Hallo,

da ich da doch recht unsicher bin möchte ich einfach nochmal genau fragen wie die entsprechende Zeile dann aussehen muss?

Hier -> http://www.terraristik-galerie.de/memberlist.php?ltr=num findet man z.b. schon 3 User die zwar registriert sind aber nie eine Aktivität gezeigt haben. Die haben nicht einmal ein Bild angeklickt. Und diese User möchte ich löschen.

Mit freundlichem Gruß
Jens Funk



-> Sorry for my bad English <-

Offline Acidgod

  • 4images Moderator
  • 4images Guru
  • *****
  • Posts: 2.421
  • It's me?
    • View Profile
    • Flash-Webdesign
Re: delete registered users automatically after x days
« Reply #11 on: October 28, 2005, 10:11:42 AM »
Quote
        $sql_del_users = "DELETE FROM ".USERS_TABLE."
                          WHERE user_level = 2 AND user_comments = 0 AND user_blabla = 0 AND user_imagehits = 0 AND user_comments
                          AND user_lastaction < ".(time()-$no_action*24*3600);
                          $result = $site_db->query($sql_del_users);
                          echo "Users deleted !";

An der roten Stelle kannst Du alle Felder aufführen die sich in deiner users Tabelle befindet.
In meinen Fall wäre das " user_id        user_level        user_name        user_password        user_email        user_showemail        user_allowemails        user_invisible        user_joindate        user_activationkey        user_lastaction        user_location        user_lastvisit        user_comments        user_homepage        user_icq        user_cat        user_cat_active        user_cat_active_admin        user_cat_terms        user_pm_inbox        user_pm_sentbox        user_pm_email        user_pm_popup        downloaded_image_ids        download_lastaction" ...
So könntest Du zB AND downloaded_image_ids = 0 verwenden um nur die zu löschen die noch kein Bilddownload haben.
Oder user_icq = 0 um nur die User zu löschen die kein ICQ angegeben haben.

Ich hoffe ich konnte dir damit helfen... (o:

Offline JensF

  • Addicted member
  • ******
  • Posts: 1.028
    • View Profile
    • http://www.terraristik-galerie.de
Re: delete registered users automatically after x days
« Reply #12 on: October 29, 2005, 01:14:13 AM »
Hallo,

vielen Dank für die Antwort. Das hilft mir schon weiter. Habe allerdings eben mal geschaut und in der users Tabelle steht gar nicht wieviel Bilder der User hochgeladen hat. Wo wird denn das gespeichert???

Ich wollte die Zeile so erweitern:

Quote
WHERE user_level = 2 AND user_h_images = 0 AND user_bilder = 0

user_h_images sagt wieviel Bilder der User angeklickt hat und user_bilder soll anzeigen wieviel Bilder der User hochgeladen. Allerdings ist user_bilder (Name ausgedacht) nicht in der users Tabelle zu finden :(
Mit freundlichem Gruß
Jens Funk



-> Sorry for my bad English <-

Offline Acidgod

  • 4images Moderator
  • 4images Guru
  • *****
  • Posts: 2.421
  • It's me?
    • View Profile
    • Flash-Webdesign
Re: delete registered users automatically after x days
« Reply #13 on: October 29, 2005, 09:08:03 AM »
dafür brauchst Du eine weitere DB Abfrage...
poste mal deinen aktuellen Code ich schaue mal ob ich den fix erweitern kann. (o:

Offline JensF

  • Addicted member
  • ******
  • Posts: 1.028
    • View Profile
    • http://www.terraristik-galerie.de
Re: delete registered users automatically after x days
« Reply #14 on: October 29, 2005, 10:48:29 AM »
Mein Code sieht folgendermaßen aus:

Code: [Select]
<?php // PLUGIN_TITLE: Delete Users

$nozip 1;
define('IN_CP'1);

$root_path "./../../";
define('ROOT_PATH'$root_path);
require(
ROOT_PATH.'admin/admin_global.php');

define('DELETE_USERS_TITEL'"Delete Users ( Caution ! )");
define('DELETE_USERS_DAY'"Delete all registered users with no action on website during the last xx days <small><span style=\"FONT-WEIGHT: normal\">[ Here register the days ]</span></small> :");
define('DELETE_USERS_BUTTON_DEL'"Delete Users");

show_admin_header();

show_form_header("del_users.php""del_users");
show_table_header(DELETE_USERS_TITEL2);
show_input_row(DELETE_USERS_DAY"no_action""90"25);
show_form_footer(DELETE_USERS_BUTTON_DEL""2);

$no_action $HTTP_POST_VARS['no_action'];

if (
$no_action!= ""){
        
$sql_del_users "DELETE FROM ".USERS_TABLE."
                          WHERE user_level = 2 AND user_h_images = 0
                          AND user_lastaction < "
.(time()-$no_action*24*3600);
                          
$result $site_db->query($sql_del_users);
                          echo 
"Users deleted !";
}

show_admin_footer();
?>

Ist eigentlich der Original Code nur mit der user_h_images....
Mit freundlichem Gruß
Jens Funk



-> Sorry for my bad English <-