logo

NPDS : Gestion de contenu et de communauté


Content & Community Management System (CCMS) robuste, sécurisé, complet, performant, parlant vraiment français, libre (Open-Source) et gratuit.
28 visiteur(s) et 0 membre(s) en ligne.
Activité du Site

Pages vues depuis 25/05/2001 : 109 368 264

  • Nb. de membres 8 695
  • Nb. d'articles 1 695
  • Nb. de forums 26
  • Nb. de sujets 8
  • Nb. de critiques 92

Top 10  Statistiques

Index du forum »»  Bugs, Probs ... »» Date de connexion et suppression de compte

Modérateur(s)developpeurjpbJireck

Poster une réponse dans le sujet

A propos des messages publiés :
Les utilisateurs anonymes peuvent poster de nouveaux sujets et des réponses dans ce forum.

 

Aperçu des sujets :

Jireck Jireck
Posté : 7 déc. 2015 à 09:37
il y a plusieurs facons d'implementer ce code ...

Ensuite la variable $mai permet d'envoyer un mmail apres X jours sans connection au utilisateur
et la variable nb_del (j'ai oublier le $ ) va supprimer le compte apres le nombre de jour sans connection

il peux etre copier coller dans modules/!include! fichier header_before.inc
Anonyme Anonyme
Posté : 25 août 2015 à 16:16
Bonjour,

SVP.... Serait il possible d'avoir des explications sur comment utiliser le code ci-dessus ?

Merci
Anonyme Anonyme
Posté : 18 août 2015 à 18:54
Citation : Jireck 

Quelque chose comme ca




    $mai = "60";  // Jour Mail
    nb_del = "70" // Jour supp 

    $datei = "d-m-Y";
    $now = date($datei,time() + ($gmt*3600));

    ///////////////////
    //debut delestage//
    ///////////////////

        /*Requete liste membre*/
        $sql = sql_query("SELECT 
                u.uid, u.uname, u.email, u.user_lastvisit 
            FROM  
                ".$NPDS_Prefix."users u, 
                ".$NPDS_Prefix."users_status us 
            WHERE 
                us.uid = u.uid 
                AND u.uid != '1' 
                AND us.open = '1'");
        while (list($uid, $uname, $email, $user_lastvisit) = sql_fetch_row($sql))
        {

        $difference = time() - $user_lastvisit - ($gmt*3600);

        $jour = floor($difference/86400);

        /*Envoie mail d avertissement*/
        if ($mai == $jour - 1)
            {

                global $sitename;

                $reg = array("%pseudo%", "%site%");
                $bonne   = array("$uname", "$sitename");
                 $message = str_replace($reg, $bonne, $msg);

                $titre = aff_langue(stripslashes($titre));
                $message = aff_langue(stripslashes(utf8_decode($message)));

                $subject = "$titre $uname";
                send_email($email, $subject, $message, "", true, "html");

            }
            else if ($nb_del < $jour)
            {

                /*DEL table users++ REQUETE A FAIRE*/
                $query1 = "DELETE FROM ".$NPDS_Prefix."users  WHERE uid = $uid";
                

        }

    }



A verifier ....

Il y a surement des erreurs mais c'est un peu le chemin...
il faut arpenter maintenant
 


Bonjour,

Merci Jireck mais il faut faire quoi de ce code ?
:#

Jireck Jireck
Posté : 3 juil. 2015 à 10:40
Quelque chose comme ca




    $mai = "60";  // Jour Mail
    nb_del = "70" // Jour supp 

    $datei = "d-m-Y";
    $now = date($datei,time() + ($gmt*3600));

    ///////////////////
    //debut delestage//
    ///////////////////

        /*Requete liste membre*/
        $sql = sql_query("SELECT 
                u.uid, u.uname, u.email, u.user_lastvisit 
            FROM  
                ".$NPDS_Prefix."users u, 
                ".$NPDS_Prefix."users_status us 
            WHERE 
                us.uid = u.uid 
                AND u.uid != '1' 
                AND us.open = '1'");
        while (list($uid, $uname, $email, $user_lastvisit) = sql_fetch_row($sql))
        {

        $difference = time() - $user_lastvisit - ($gmt*3600);

        $jour = floor($difference/86400);

        /*Envoie mail d avertissement*/
        if ($mai == $jour - 1)
            {

                global $sitename;

                $reg = array("%pseudo%", "%site%");
                $bonne   = array("$uname", "$sitename");
                 $message = str_replace($reg, $bonne, $msg);

                $titre = aff_langue(stripslashes($titre));
                $message = aff_langue(stripslashes(utf8_decode($message)));

                $subject = "$titre $uname";
                send_email($email, $subject, $message, "", true, "html");

            }
            else if ($nb_del < $jour)
            {

                /*DEL table users++ REQUETE A FAIRE*/
                $query1 = "DELETE FROM ".$NPDS_Prefix."users  WHERE uid = $uid";
                

        }

    }



A verifier ....

Il y a surement des erreurs mais c'est un peu le chemin...
il faut arpenter maintenant
Danyx Danyx
Posté : 10 juin 2015 à 13:14
jpb, je n'ai pas compris ce que je fais de ta requete.... :#
jpb jpb
Posté : 9 juin 2015 à 23:02
en francais et juste pour la logique...

if(date courante -last visit)>(60*60*24*180) requete de suppression;
bartok bartok
Posté : 9 juin 2015 à 21:58
ce n'est pas de la date de création de votre site qu'il s'agit mais du 1er janvier 1970, soit effectivement 45 ans, 5 mois, 9 jours, 21 heures et 59 minutes (heure locale). je vous fais grâce des secondes: ça change tout le temps...
Danyx Danyx
Posté : 9 juin 2015 à 20:26
Heu non cela ne vas pas, dans ce champs je suis indiqué avec un chiffre de 1433827066, si je divise avec le tiens 31.536.000 cela voudrait dire que mon site existe depuis 45ans! hors il à 1ans1/2 d'existance!
bartok bartok
Posté : 9 juin 2015 à 13:44
pour la première partie de la question, "Pouvez pas faire plus simple?" ; "a l'époque de l'informatique il y a mieux..." je ne suis pas habilité à répondre car je ne suis qu'un humble utilisateur du CCMS, tout comme vous.

pour la seconde, le test d'infériorité sur le contenu de user_lastvisit est tout à fait possible et simple puisqu'il s'agit d'une valeur numérique entière. Pour mémoire, une année non bissextiile compte tout juste 31.536.000 secondes!

l'équipe de développement qui vient de s'étoffer devrait pouvoir vous en dire plus même si elle semble accaparée en ce moment par la continuité du développement, en particularité par l'adaptation aux nouvelles contraintes d'ergonomie.

A nouveau, bon courage.

Message édité par : bartok / 09-06-2015 13:48

Danyx Danyx
Posté : 9 juin 2015 à 10:08

calcule une date exprimée en secondes depuis le "big bang" d'Unix


Pouvez pas faire plus simple? :paf :paf :paf
Donc en résumé il y a deux solutions, soit ajouter une colonne date de visite, la je ne sais pas encore faire. Je vais me pencher sur ce problème mais si quelqu'un sait ce serait sympa.
Soit de noter le chiffre tout les début de mois ce qui donne un point de repaire.
Mais à l'époque de l'informatique il y a mieux!
Ainsi par exemple si 1333827066 représente le 31 Décembre 2015, on sait que tout les membres ayant un chiffre user_lastvisit plus petit ne sont pas venue aprés le 31 Décembre 2015.
Je me trompe ou pas?

Message édité par : Danyx / 09-06-2015 20:15