'5poubelle'","pass<>''")); } elseif ($jeton) { include_spip('action/inscrire_auteur'); if ($auteur = auteur_verifier_jeton($jeton) AND $auteur['statut']<>'5poubelle' AND $auteur['pass']<>''){ return $auteur; } } return false; } // chargement des valeurs par defaut des champs du formulaire /** * Chargement de l'auteur qui peut changer son mot de passe. * Soit un cookie d'oubli fourni par #FORMULAIRE_OUBLI est passe dans l'url par &p= * Soit un id_auteur est passe en parametre #FORMULAIRE_MOT_DE_PASSE{#ID_AUTEUR} * Dans les deux cas on verifie que l'auteur est autorise * * @param int $id_auteur * @return array */ function formulaires_mot_de_passe_charger_dist($id_auteur=null, $jeton=null){ $valeurs = array(); // compatibilite anciens appels du formulaire if (is_null($jeton)) $jeton = _request('p'); $auteur = retrouve_auteur($id_auteur,$jeton); if ($auteur){ $valeurs['id_auteur'] = $id_auteur; // a toutes fins utiles pour le formulaire if ($jeton) $valeurs['_hidden'] = ''; } else { $valeurs['_hidden'] = _T('pass_erreur_code_inconnu'); $valeurs['editable'] = false; // pas de saisie } $valeurs['oubli']=''; $valeurs['nobot']=''; return $valeurs; } /** * Verification de la saisie du mot de passe. * On verifie qu'un mot de passe est saisi, et que sa longuer est suffisante * Ce serait le lieu pour verifier sa qualite (caracteres speciaux ...) * * @param int $id_auteur */ function formulaires_mot_de_passe_verifier_dist($id_auteur=null, $jeton=null){ $erreurs = array(); if (!_request('oubli')) $erreurs['oubli'] = _T('info_obligatoire'); else if (strlen($p=_request('oubli')) < _PASS_LONGUEUR_MINI) $erreurs['oubli'] = _T('info_passe_trop_court_car_pluriel',array('nb'=>_PASS_LONGUEUR_MINI)); else { if (!is_null($c = _request('oubli_confirm'))){ if (!$c) $erreurs['oubli_confirm'] = _T('info_obligatoire'); elseif ($c!==$p) $erreurs['oubli'] = _T('info_passes_identiques'); } } if (isset($erreurs['oubli'])){ set_request('oubli'); set_request('oubli_confirm'); } if (_request('nobot')) $erreurs['message_erreur'] = _T('pass_rien_a_faire_ici'); return $erreurs; } /** * Modification du mot de passe d'un auteur. * Utilise le cookie d'oubli fourni en url ou l'argument du formulaire pour identifier l'auteur * * @param int $id_auteur */ function formulaires_mot_de_passe_traiter_dist($id_auteur=null, $jeton=null){ $message = ''; // compatibilite anciens appels du formulaire if (is_null($jeton)) $jeton = _request('p'); $row = retrouve_auteur($id_auteur,$jeton); if ($row && ($id_auteur = $row['id_auteur']) && ($oubli = _request('oubli'))) { include_spip('action/editer_auteur'); include_spip('action/inscrire_auteur'); auteurs_set($id_auteur, array('pass'=>$oubli)); auteur_effacer_jeton($id_auteur); $login = $row['login']; $message = "" . _T('pass_nouveau_enregistre') . "". "
" . _T('pass_rappel_login', array('login' => $login)); } return array('message_ok'=>$message); } ?>