Changeset 101782 in spip-zone for _plugins_/motpasseexpirable/genie
- Timestamp:
- Jan 17, 2017, 9:51:32 AM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/motpasseexpirable/genie/motpasseexpirable.php
r99504 r101782 4 4 * 5 5 * @plugin Mots de passe expirables 6 * @copyright 201 66 * @copyright 2017 7 7 * @author erational 8 8 * @licence GNU/GPL … … 14 14 function genie_motpasseexpirable_dist($t){ 15 15 16 17 $date = date("Y-m-d H:i:s");18 16 // etape 1: mettre à jour la date expiration des comptes nouvellement crées 17 $date = date('Y-m-d H:i:s'); 18 sql_updateq('spip_auteurs', array('pass_maj' => $date), "pass_maj='0000-00-00 00:00:00'"); 19 19 20 // etape 2: recherche les comptes périmées 21 include_spip('inc/config'); 22 $delai_expiration = lire_config('motpasseexpirable/delai',30); 23 $delai_expiration = intval($delai_expiration); 24 if ($delai_expiration<1) 25 $delai_expiration = 1; 26 $date_expiration = date("Y-m-d H:i:s", time() - $delai_expiration * 24 * 3600); 27 28 $result = sql_select('id_auteur,email', "spip_auteurs", "pass_maj<'$date_expiration'"); 29 while ($row = sql_fetch($result)){ 30 $id_auteur = $row['id_auteur']; 31 $email = $row['email']; 32 sql_updateq('spip_auteurs', array('pass' => '*','pass_maj'=>$date), "id_auteur=$id_auteur"); 33 34 // notifications 35 // inspi: squelettes-idst/formulaires/oubli.php 36 include_spip('inc/filtres'); # pour email_valide() 37 if (email_valide($email)) { 38 include_spip('inc/texte'); # pour corriger_typo 39 40 include_spip('action/inscrire_auteur'); 41 $cookie = auteur_attribuer_jeton($id_auteur); 42 43 $msg = recuperer_fond( 44 "prive/modeles/mail_motpasseexpirable", 45 array( 46 'url_reset'=>generer_url_public('spip_pass',"p=$cookie", true, false) 47 ) 48 ); 49 include_spip("inc/notifications"); 50 notifications_envoyer_mails($email, $msg); 51 52 } 20 // etape 2: recherche les comptes périmés 21 include_spip('inc/config'); 22 $delai_expiration = lire_config('motpasseexpirable/delai', 30); 23 $delai_expiration = intval($delai_expiration); 24 if ($delai_expiration < 1) { 25 $delai_expiration = 1; 26 } 27 $date_expiration = date("Y-m-d H:i:s", time() - $delai_expiration * 24 * 3600); 53 28 54 } 55 return 1; 29 $statuts = lire_config('motpasseexpirable/statuts', array('0minirezo', '1comite')); 30 foreach ($statuts as $k=>$val) { 31 $statuts[$k] = "'$val'"; 32 } 33 $statuts = implode(',', $statuts); 34 $where_sql = array( 35 "pass_maj < '$date_expiration'", 36 "statut IN ($statuts)", 37 // "email != ''", 38 ); 39 $result = sql_select('id_auteur, email', 'spip_auteurs', $where_sql ); 40 41 while ($row = sql_fetch($result)){ 42 $id_auteur = $row['id_auteur']; 43 $email = $row['email']; 44 spip_log("reset auteur id: $id_auteur / $email ", "motpasseexpirable"); 45 sql_updateq('spip_auteurs', array('pass' => '*', 'pass_maj' => $date), 'id_auteur='.$id_auteur); 46 47 // notifications 48 // inspi: squelettes-dist/formulaires/oubli.php 49 include_spip('inc/filtres'); # pour email_valide() 50 if (email_valide($email)) { 51 include_spip('inc/texte'); # pour corriger_typo 52 53 include_spip('action/inscrire_auteur'); 54 $cookie = auteur_attribuer_jeton($id_auteur); 55 56 $msg = recuperer_fond( 57 'prive/modeles/mail_motpasseexpirable', 58 array( 59 'url_reset'=>generer_url_public('spip_pass', 'p='.$cookie, true, false) 60 ) 61 ); 62 include_spip('inc/notifications'); 63 notifications_envoyer_mails($email, $msg); 64 } 65 } 66 return 1; 56 67 } 57
Note: See TracChangeset
for help on using the changeset viewer.