Ignore:
Timestamp:
Jan 11, 2018, 9:18:05 AM (3 years ago)
Author:
erational@…
Message:

Version SPIP 3.2: on met à jour les surcharges avec les évolutions du core
TODO: dans la fonction generer mot de passe il faudrait tenir compte des constraintes imposées par le plugin

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/motpassecomplexe/trunk/formulaires/mot_de_passe.php

    r96779 r108447  
    44 *  SPIP, Systeme de publication pour l'internet                           *
    55 *                                                                         *
    6  *  Copyright (c) 2001-2014                                                *
     6 *  Copyright (c) 2001-2016                                                *
    77 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
    88 *                                                                         *
     
    1111\***************************************************************************/
    1212
    13 if (!defined('_ECRIRE_INC_VERSION')) return;
     13if (!defined('_ECRIRE_INC_VERSION')) {
     14        return;
     15}
    1416
    1517include_spip('base/abstract_sql');
    16  
    17 function retrouve_auteur($id_auteur,$jeton=''){
    18         if ($id_auteur=intval($id_auteur)) {
    19                 return sql_fetsel('*','spip_auteurs',array('id_auteur='.intval($id_auteur),"statut<>'5poubelle'","pass<>''"));
    20         }
    21         elseif ($jeton) {
     18
     19function retrouve_auteur($id_auteur, $jeton = '') {
     20        if ($id_auteur = intval($id_auteur)) {
     21                return sql_fetsel(
     22                        '*',
     23                        'spip_auteurs',
     24                        array('id_auteur=' . intval($id_auteur), "statut<>'5poubelle'", "pass<>''")
     25                );
     26        } elseif ($jeton) {
    2227                include_spip('action/inscrire_auteur');
    2328                if ($auteur = auteur_verifier_jeton($jeton)
    24                   AND $auteur['statut']<>'5poubelle'
    25                   AND $auteur['pass']<>''){
     29                        and $auteur['statut'] <> '5poubelle'
     30                        and $auteur['pass'] <> ''
     31                ) {
    2632                        return $auteur;
    2733                }
    2834        }
     35
    2936        return false;
    3037}
    31  
     38
    3239// chargement des valeurs par defaut des champs du formulaire
    3340/**
     
    4047 * @return array
    4148 */
    42 function formulaires_mot_de_passe_charger_dist($id_auteur=null, $jeton=null){
     49function formulaires_mot_de_passe_charger_dist($id_auteur = null, $jeton = null) {
    4350
    4451        $valeurs = array();
    4552        // compatibilite anciens appels du formulaire
    46         if (is_null($jeton)) $jeton = _request('p');
    47         $auteur = retrouve_auteur($id_auteur,$jeton);
     53        if (is_null($jeton)) {
     54                $jeton = _request('p');
     55        }
     56        $auteur = retrouve_auteur($id_auteur, $jeton);
    4857
    49         if ($auteur){
     58        if ($auteur) {
    5059                $valeurs['id_auteur'] = $id_auteur; // a toutes fins utiles pour le formulaire
    51                 if ($jeton)
    52                         $valeurs['_hidden'] = '<input type="hidden" name="p" value="'.$jeton.'" />';
     60                if ($jeton) {
     61                        $valeurs['_hidden'] = '<input type="hidden" name="p" value="' . $jeton . '" />';
     62                }
     63        } else {
     64                $valeurs['_hidden'] = _T('pass_erreur_code_inconnu');
     65                $valeurs['editable'] = false; // pas de saisie
    5366        }
    54         else {
    55                 $valeurs['message_erreur'] = _T('pass_erreur_code_inconnu');
    56                 $valeurs['editable'] =  false; // pas de saisie
    57         }
    58         $valeurs['oubli']='';
    59         $valeurs['nobot']='';
     67        $valeurs['oubli'] = '';
     68        $valeurs['nobot'] = '';
     69
    6070        return $valeurs;
    6171}
     
    6373/**
    6474 * Verification de la saisie du mot de passe.
    65  * On verifie qu'un mot de passe est saisi, et que sa longueur est suffisante
     75 * On verifie qu'un mot de passe est saisi, et que sa longuer est suffisante
    6676 * Ce serait le lieu pour verifier sa qualite (caracteres speciaux ...)
    6777 *
     
    6979 */
    7080function formulaires_mot_de_passe_verifier_dist($id_auteur=null, $jeton=null){
    71         include_spip("motpassecomplexe_fonctions");   // PLUGIN MOTPASSECOMPLEXE
    72  
    73   $erreurs = array();
    74  
    75   if (!_request('oubli')) 
    76                 $erreurs['oubli'] = _T('info_obligatoire');   
    77   else if ( $erreur_motpasse = motpassecomplexe_verifier_pass($p = _request('oubli')) )      // PLUGIN MOTPASSECOMPLEXE
    78     $erreurs['oubli'] = $erreur_motpasse;  // PLUGIN MOTPASSECOMPLEXE
    79   else {               
    80     if (!is_null($c = _request('oubli_confirm'))){
    81                         if (!$c)
    82                                 $erreurs['oubli_confirm'] = _T('info_obligatoire');
    83                         elseif ($c!==$p)
    84                                 $erreurs['oubli'] = _T('info_passes_identiques');
     81        include_spip("motpassecomplexe_fonctions");             // PLUGIN MOTPASSECOMPLEXE
     82
     83        $erreurs = array();
     84
     85        if (!_request('oubli')) {
     86                $erreurs['oubli'] = _T('info_obligatoire');
     87        } else if ( $erreur_motpasse = motpassecomplexe_verifier_pass($p = _request('oubli')) ) { // PLUGIN MOTPASSECOMPLEXE
     88                $erreurs['oubli'] = $erreur_motpasse; // PLUGIN MOTPASSECOMPLEXE
     89        } else {
     90                if (strlen($p = _request('oubli')) < _PASS_LONGUEUR_MINI) {
     91                        $erreurs['oubli'] = _T('info_passe_trop_court_car_pluriel', array('nb' => _PASS_LONGUEUR_MINI));
     92                } else {
     93                        if (!is_null($c = _request('oubli_confirm'))) {
     94                                if (!$c) {
     95                                        $erreurs['oubli_confirm'] = _T('info_obligatoire');
     96                                } elseif ($c !== $p) {
     97                                        $erreurs['oubli'] = _T('info_passes_identiques');
     98                                }
     99                        }
    85100                }
    86101        }
     
    91106        }
    92107
    93         if (_request('nobot'))
     108        if (_request('nobot')) {
    94109                $erreurs['message_erreur'] = _T('pass_rien_a_faire_ici');
    95        
     110        }
     111
    96112        return $erreurs;
    97113}
     
    103119 * @param int $id_auteur
    104120 */
    105 function formulaires_mot_de_passe_traiter_dist($id_auteur=null, $jeton=null){
    106         $res = array('message_ok'=>'');
     121function formulaires_mot_de_passe_traiter_dist($id_auteur = null, $jeton = null) {
     122        $res = array('message_ok' => '');
    107123        refuser_traiter_formulaire_ajax(); // puisqu'on va loger l'auteur a la volee (c'est bonus)
    108124
    109125        // compatibilite anciens appels du formulaire
    110         if (is_null($jeton)) $jeton = _request('p');
    111         $row = retrouve_auteur($id_auteur,$jeton);
     126        if (is_null($jeton)) {
     127                $jeton = _request('p');
     128        }
     129        $row = retrouve_auteur($id_auteur, $jeton);
    112130
    113131        if ($row
    114          && ($id_auteur = $row['id_auteur'])
    115          && ($oubli = _request('oubli'))) {
     132                && ($id_auteur = $row['id_auteur'])
     133                && ($oubli = _request('oubli'))
     134        ) {
    116135                include_spip('action/editer_auteur');
    117136                include_spip('action/inscrire_auteur');
    118                 if ($err = auteur_modifier($id_auteur, array('pass'=>$oubli))){
    119                         $res = array('message_erreur'=>$err);
    120                 }
    121                 else {
     137                if ($err = auteur_modifier($id_auteur, array('pass' => $oubli))) {
     138                        $res = array('message_erreur' => $err);
     139                } else {
    122140                        auteur_effacer_jeton($id_auteur);
    123141                        $login = $row['login'];
    124                         $res['message_ok'] = "<b>" . _T('pass_nouveau_enregistre') . "</b>".
    125                         "<br />" . _T('pass_rappel_login', array('login' => $login));
     142                        $res['message_ok'] = '<b>' . _T('pass_nouveau_enregistre') . '</b>' .
     143                                '<br />' . _T('pass_rappel_login', array('login' => $login));
    126144
    127145                        include_spip('inc/auth');
    128                         $row = sql_fetsel("*","spip_auteurs","id_auteur=".intval($id_auteur));
     146                        $row = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . intval($id_auteur));
    129147                        auth_loger($row);
    130148                }
    131149        }
     150
    132151        return $res;
    133152}
    134 ?>
Note: See TracChangeset for help on using the changeset viewer.