X-Git-Url: http://git.cyclocoop.org/?p=lhc%2Fweb%2Fwww.git;a=blobdiff_plain;f=www%2Fprive%2Fformulaires%2Fediter_auteur.php;h=0e1b3fe685ef70e7e6186c8cc758916f5d6b1923;hp=4076758f5322df37b78b26caa03d713ec2a86cc2;hb=122c920eb07e3f665789f8734965b576e6c25515;hpb=226942065cd4f604eb464addf45a065c9e5bc916 diff --git a/www/prive/formulaires/editer_auteur.php b/www/prive/formulaires/editer_auteur.php index 4076758f..0e1b3fe6 100644 --- a/www/prive/formulaires/editer_auteur.php +++ b/www/prive/formulaires/editer_auteur.php @@ -61,9 +61,13 @@ function formulaires_editer_auteur_verifier_dist($id_auteur='new', $retour='', $ $auth_methode = sql_getfetsel('source','spip_auteurs','id_auteur='.intval($id_auteur)); $auth_methode = ($auth_methode ? $auth_methode : 'spip'); include_spip('inc/auth'); + include_spip('inc/filtres'); + + if (!nom_acceptable(_request('nom'))) { + $erreurs['nom'] = _T("info_nom_pas_conforme"); + } if ($email = _request('email')){ - include_spip('inc/filtres'); include_spip('inc/autoriser'); // un redacteur qui modifie son email n'a pas le droit de le vider si il y en avait un if (!autoriser('modifier','auteur',$id_auteur,null,array('email'=>'?')) @@ -76,6 +80,26 @@ function formulaires_editer_auteur_verifier_dist($id_auteur='new', $retour='', $ else if (!email_valide($email)){ $erreurs['email'] = (($id_auteur==$GLOBALS['visiteur_session']['id_auteur'])?_T('form_email_non_valide'):_T('form_prop_indiquer_email')); } + + # Ne pas autoriser d'avoir deux auteurs avec le même email + # cette fonctionalité nécessite que la base soit clean à l'activation : pas de + # doublon sur la requête select email,count(*) from spip_auteurs group by email ; + if (defined('_INTERDIRE_AUTEUR_MEME_EMAIL')) { + #Nouvel auteur + if (intval($id_auteur)==0) { + #Un auteur existe deja avec cette adresse ? + if (sql_countsel("spip_auteurs", "email=".sql_quote($email)) > 0) + $erreurs['email'] = _T('erreur_email_deja_existant'); + } else { + #Un auteur existe deja avec cette adresse ? et n'est pas le user courant. + if ((sql_countsel("spip_auteurs", "email=".sql_quote($email)) > 0) AND ($id_auteur!=($id_auteur_ancien=sql_getfetsel('id_auteur', 'spip_auteurs', "email=".sql_quote($email))))) + $erreurs['email'] = _T('erreur_email_deja_existant'); + } + } + } + + if (preg_match(",^\s*javascript,i", _request('url_site'))) { + $erreurs['url_site'] = _T('info_url_site_pas_conforme'); } if ($err = auth_verifier_login($auth_methode, _request('new_login'), $id_auteur)){