function acces_statut($id_auteur, $statut, $bio) { if ($statut != 'nouveau') return $statut; include_spip('inc/filtres'); include_spip('inc/autoriser'); if (!autoriser('inscrireauteur', $bio)) return $statut; //i.e. "nouveau" include_spip('action/editer_auteur'); instituer_auteur($id_auteur,array('statut'=> $bio)); include_spip('inc/modifier'); revision_auteur($id_auteur, array('bio'=>'')); include_spip('inc/session'); session_set('statut',$bio); return $bio; }
function auteurs_set($id_auteur, $set = null) { $err = ''; if (is_null($set)) { $c = array(); foreach (array('nom', 'prenom', 'activite', 'email', 'bio', 'nom_site', 'url_site', 'imessage', 'pgp') as $champ) { $c[$champ] = _request($champ, $set); } } else { $c = $set; unset($c['webmestre']); unset($c['pass']); unset($c['login']); } spip_log('champs ' . $c['nom'], 'journal'); include_spip('inc/modifier'); revision_auteur($id_auteur, $c); // Modification de statut, changement de rubrique ? $c = array(); foreach (array('statut', 'new_login', 'new_pass', 'login', 'pass', 'webmestre', 'restreintes', 'id_parent') as $champ) { if (_request($champ, $set)) { $c[preg_replace(',^new_,', '', $champ)] = _request($champ, $set); } } $err .= instituer_auteur($id_auteur, $c); // Un lien auteur a prendre en compte ? $err .= auteur_referent($id_auteur, array('article' => _request('lier_id_article', $set))); return $err; }
function auth_spip_modifier_pass($login, $new_pass, $id_auteur, $serveur=''){ if (is_null($new_pass) OR auth_spip_verifier_pass($login, $new_pass,$id_auteur,$serveur)!='') return false; if (!$id_auteur = intval($id_auteur) OR !$auteur = sql_fetsel('login','spip_auteurs','id_auteur='.intval($id_auteur),'','','','',$serveur)) return false; $c = array(); include_spip('inc/acces'); include_spip('auth/sha256.inc'); $htpass = generer_htpass($new_pass); $alea_actuel = creer_uniqid(); $alea_futur = creer_uniqid(); $pass = _nano_sha256($alea_actuel.$new_pass); $c['pass'] = $pass; $c['htpass'] = $htpass; $c['alea_actuel'] = $alea_actuel; $c['alea_futur'] = $alea_futur; $c['low_sec'] = ''; include_spip('inc/modifier'); revision_auteur($id_auteur, $c); // manque la gestion de $serveur }