Skip to content
Extraits de code Groupes Projets
Valider b95123dd rédigé par cerdic's avatar cerdic
Parcourir les fichiers

report de [15108]

parent e8df36da
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -10,6 +10,7 @@ ecrire/action/charger_plugin.php -text ...@@ -10,6 +10,7 @@ ecrire/action/charger_plugin.php -text
ecrire/action/configurer.php -text ecrire/action/configurer.php -text
ecrire/action/configurer_previsualiseur.php -text ecrire/action/configurer_previsualiseur.php -text
ecrire/action/configurer_relayeur.php -text ecrire/action/configurer_relayeur.php -text
ecrire/action/confirmer_email.php -text
ecrire/action/converser.php -text ecrire/action/converser.php -text
ecrire/action/copier_local.php -text ecrire/action/copier_local.php -text
ecrire/action/dater.php -text ecrire/action/dater.php -text
......
<?php
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2010 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *
* Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
if (!defined("_ECRIRE_INC_VERSION")) return;
// Cette action permet de confirmer un changement d'email
function action_confirmer_email_dist()
{
$securiser_action = charger_fonction('securiser_action', 'inc');
$arg = $securiser_action();
include_spip('inc/filtres');
if ($GLOBALS['visiteur_session']['id_auteur'] AND email_valide($arg)){
$editer_auteur = charger_fonction('editer_auteur','action');
auteurs_set($GLOBALS['visiteur_session']['id_auteur'],array('email'=>$arg));
}
// verifier avant de rediriger pour invalider le message de confirmation
// si ca n'a pas marche
if ($redirect = _request('redirect') AND !$arg == sql_getfetsel('email', 'spip_auteurs', 'id_auteur='.intval($GLOBALS['visiteur_session'])))
$GLOBALS['redirect'] = parametre_url($redirect, 'email_modif','');
}
?>
\ No newline at end of file
...@@ -90,7 +90,7 @@ function insert_auteur($source='spip') { ...@@ -90,7 +90,7 @@ function insert_auteur($source='spip') {
// Appelle toutes les fonctions de modification d'un auteur // Appelle toutes les fonctions de modification d'un auteur
function auteurs_set($id_auteur) { function auteurs_set($id_auteur, $set = null) {
$err = ''; $err = '';
$c = array(); $c = array();
...@@ -99,7 +99,7 @@ function auteurs_set($id_auteur) { ...@@ -99,7 +99,7 @@ function auteurs_set($id_auteur) {
'nom_site','url_site', 'nom_site','url_site',
'imessage','pgp', 'imessage','pgp',
) as $champ) ) as $champ)
$c[$champ] = _request($champ); $c[$champ] = _request($champ,$set);
include_spip('inc/modifier'); include_spip('inc/modifier');
revision_auteur($id_auteur, $c); revision_auteur($id_auteur, $c);
......
...@@ -185,6 +185,14 @@ function legender_auteur_voir($auteur) { ...@@ -185,6 +185,14 @@ function legender_auteur_voir($auteur) {
$contenu_auteur .= "<div>"._T('email_2') $contenu_auteur .= "<div>"._T('email_2')
." <b><a href='mailto:".htmlspecialchars($auteur['email'])."'>" ." <b><a href='mailto:".htmlspecialchars($auteur['email'])."'>"
.$auteur['email']."</a></b></div>"; .$auteur['email']."</a></b></div>";
// message d'information d'envoi d'email pour modif et de confirmation
// on ne fait ici qu'informer, sans aucune action
if ($email = _request('email_confirm')){
$contenu_auteur .= "<p><strong>"._T('form_auteur_envoi_mail_confirmation',array('email'=>$email))."</strong></p>";
}
elseif (_request('email_modif')==='ok'){
$contenu_auteur .= "<p><strong>"._T('form_auteur_email_modifie')."</strong></p>";
}
if ($auteur['url_site']) { if ($auteur['url_site']) {
if (!$auteur['nom_site']) if (!$auteur['nom_site'])
......
...@@ -220,6 +220,18 @@ $GLOBALS[$GLOBALS['idx_lang']] = array( ...@@ -220,6 +220,18 @@ $GLOBALS[$GLOBALS['idx_lang']] = array(
// F // F
'fichier_introuvable' => 'Fichier @fichier@ introuvable', 'fichier_introuvable' => 'Fichier @fichier@ introuvable',
'form_auteur_envoi_mail_confirmation' => 'Un courrier &eacute;lectronique de confirmation vient d\'&ecirc;tre envoy&eacute; &agrave; @email@. Vous devrez visiter l\'adresse Web mentionn&eacute;e dans ce courrier pour valider votre adresse mail.',
'form_auteur_email_modifie' => 'Votre adresse email a &eacute;t&eacute; modifi&eacute;e.',
'form_auteur_confirmation' => 'Confirmez votre adresse email',
'form_auteur_mail_confirmation' => 'Bonjour,
Vous avez demand&eacute; &agrave; changer votre adresse email.
Pour confirmer votre nouvelle adresse, il suffit de vous connecter &agrave;
l\'adresse ci-dessous (dans le cas contraire, votre demande
sera ignor&eacute;e) :
@url@
',
'form_deja_inscrit' => 'Vous &ecirc;tes d&eacute;j&agrave; inscrit.', 'form_deja_inscrit' => 'Vous &ecirc;tes d&eacute;j&agrave; inscrit.',
'form_email_non_valide' => 'Votre adresse email n\'est pas valide.', 'form_email_non_valide' => 'Votre adresse email n\'est pas valide.',
'form_forum_access_refuse' => 'Vous n\'avez plus acc&egrave;s &agrave; ce site.', 'form_forum_access_refuse' => 'Vous n\'avez plus acc&egrave;s &agrave; ce site.',
......
...@@ -22,14 +22,9 @@ ...@@ -22,14 +22,9 @@
Modification de l'email Modification de l'email
ou message disant que seuls les admins peuvent le modifier ou message disant que seuls les admins peuvent le modifier
] ]
#SET{disable,''}
[(#AUTORISER{modifier,auteur,#ENV{id_auteur},#NULL,#ARRAY{email,?}}|non)
#SET{disable,disabled='disabled'}
]
<li class="editer_email[ (#ENV**{erreurs}|table_valeur{email}|oui)erreur]"> <li class="editer_email[ (#ENV**{erreurs}|table_valeur{email}|oui)erreur]">
<label for="email"><:entree_adresse_email:></label>[ <label for="email"><:entree_adresse_email:></label>[
<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{email})</span> <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{email})</span>
][(#GET{disable}|oui)<p class='explication'><:info_reserve_admin:></p>
]<input type='text' class='text[ (#GET{disable}|oui)disabled]' name='email' id='email' value="[(#ENV**{email})]" #GET{disable}/> ]<input type='text' class='text[ (#GET{disable}|oui)disabled]' name='email' id='email' value="[(#ENV**{email})]" #GET{disable}/>
</li> </li>
<li class="editer_bio[ (#ENV**{erreurs}|table_valeur{bio}|oui)erreur]"> <li class="editer_bio[ (#ENV**{erreurs}|table_valeur{bio}|oui)erreur]">
......
...@@ -53,6 +53,13 @@ function formulaires_editer_auteur_verifier_dist($id_auteur='new', $retour='', $ ...@@ -53,6 +53,13 @@ function formulaires_editer_auteur_verifier_dist($id_auteur='new', $retour='', $
$auth_methode = ($auth_methode ? $auth_methode : 'spip'); $auth_methode = ($auth_methode ? $auth_methode : 'spip');
include_spip('inc/auth'); include_spip('inc/auth');
if ($email = _request('email')){
include_spip('inc/filtres');
if (!email_valide($email)){
$erreurs['email'] = _T('form_email_non_valide');
}
}
if ($err = auth_verifier_login($auth_methode, _request('new_login'), $id_auteur)){ if ($err = auth_verifier_login($auth_methode, _request('new_login'), $id_auteur)){
$erreurs['new_login'] = $err; $erreurs['new_login'] = $err;
$erreurs['message_erreur'] .= $err; $erreurs['message_erreur'] .= $err;
...@@ -77,9 +84,31 @@ function formulaires_editer_auteur_verifier_dist($id_auteur='new', $retour='', $ ...@@ -77,9 +84,31 @@ function formulaires_editer_auteur_verifier_dist($id_auteur='new', $retour='', $
function formulaires_editer_auteur_traiter_dist($id_auteur='new', $retour='', $lier_article=0, $config_fonc='auteurs_edit_config', $row=array(), $hidden=''){ function formulaires_editer_auteur_traiter_dist($id_auteur='new', $retour='', $lier_article=0, $config_fonc='auteurs_edit_config', $row=array(), $hidden=''){
if (_request('saisie_webmestre') OR _request('webmestre')) if (_request('saisie_webmestre') OR _request('webmestre'))
set_request('webmestre',_request('webmestre')?_request('webmestre'):'non'); set_request('webmestre',_request('webmestre')?_request('webmestre'):'non');
$retour = parametre_url($retour, 'email_confirm','');
if (!autoriser('modifier','auteur',$id_auteur,null,array('statut'=>'?'))){
$email_nouveau = _request('email');
set_request('email'); // vider la saisie car l'auteur n'a pas le droit de modifier cet email
// mais si c'est son propre profil on lui envoie un email à l'adresse qu'il a indique
// pour qu'il confirme qu'il possede bien cette adresse
// son clic sur l'url du message permettre de confirmer le changement
// et de revenir sur son profil
if ($GLOBALS['visiteur_session']['id_auteur']==$id_auteur
AND $email_nouveau!=sql_getfetsel('email', 'spip_auteurs', 'id_auteur='.intval($id_auteur))){
$envoyer_mail = charger_fonction('envoyer_mail','inc');
$envoyer_mail(
$email_nouveau,
_T('form_auteur_confirmation'),
_T('form_auteur_mail_confirmation',
array('url'=>generer_action_auteur('confirmer_email', $email_nouveau,parametre_url($retour, 'email_modif','ok'))))
);
set_request('email_confirm',$email_nouveau);
$retour = parametre_url($retour, 'email_confirm',$email_nouveau);
}
}
return formulaires_editer_objet_traiter('auteur',$id_auteur,0,0,$retour,$config_fonc,$row,$hidden); $res = formulaires_editer_objet_traiter('auteur',$id_auteur,0,0,$retour,$config_fonc,$row,$hidden);
//return $message; return $res;
} }
?> ?>
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter