en | fr  | Contact  | Print  | Share

FrameBeurk File

Fmbk/Module/Uzers/User/Maj/modifieUser.php

<?php //FrameBeurk V0.65 Copyright ToolOscope 2016. Licence CeCILL-C.

if (! Uzers_estLogue())
    
Beurk_messageEtape("Vous n'êtes pas habilités"true);
else if (! isset(
$_REQUEST['adresseEmail']) || $_REQUEST['adresseEmail'] == '')
    
Beurk_messageEtape('Adresse E-mail obligatoire'true'adresseEmail');
else if (
preg_match ("/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/"$_REQUEST['adresseEmail']) != true)
    
Beurk_messageEtape('Adresse E-mail invalide'true'adresseEmail');
else if (isset(
$_REQUEST['NouveauMotDePasse']) && $_REQUEST['NouveauMotDePasse'] != '' && preg_match ('#^[a-zA-Z0-9_-]+$#'$_REQUEST['NouveauMotDePasse']) != true)
    
Beurk_messageEtape('Mot de passe invalide'true'NouveauMotDePasse');
else if (
$_REQUEST['NouveauMotDePasse'] != $_REQUEST['ConfirmMotDePasse'])
    
Beurk_messageEtape('Mot de passe de confirmation différent'true'NouveauMotDePasse');
else if (! 
Uzers_estUserLogue($IdMaj) && ! Uzers_estAdmin())
    
Beurk_messageEtape("Vous n'êtes pas habilités"true);
else if (! 
Uzers_estAdmin() && Uzers_verifiePassword($IdMaj$_POST['MotDePasseActuel']) != 0)
    
Beurk_messageEtape("Mot de passe actuel erroné"true'MotDePasseActuel');
else {
    
    
$adresseEmail $_REQUEST['adresseEmail'];
    
// adresse e-mail modifiée ?
    
$result db_QUERY("SELECT User, adresseEmail, IdEtat, NoVersion FROM Uzers_User WHERE IdUser = '" Beurk_Request2DB($IdMaj) . "'");
    if (list(
$User$adresseEmailActuelle$IdEtatUser$NoVersionCourante) = db_FETCH_ROW($result)) {
        if (
$adresseEmailActuelle != $adresseEmail) {
        
            
// le changement d'adresse e-mail se fait via une clef d'activation envoyée par mail
            //création et stockage de la clef d'activation
            
$TRANSAC['ClefACreer'] = array('adresseEmail' => Beurk_Request2DB($adresseEmail),
                                        
'ActMaj' => 'active',
                                        
'IdMaj' => $IdMaj,
                                        
'Donnees' => '');
            include(
INSTALL_PATH '/Module/' $CONFIG['Entite']['Clef']['Module'] . '/Clef/Maj/creeClef.php');

            if (! 
$TRANSAC['Maj']['Erreur']) {
                
                
//envoi mail d'activation
                
$mail $User;
                
$donneesmail Beurk_traduit("Vous voulez modifier l'adresse e-mail de votre compte sur le site")
                    . 
' <a href="' Beurk_cheminURL() . '" target="_blank">' Beurk_cheminURL() . '</a><br />'
                    
Beurk_traduit('Pour ce faire, merci de suivre le lien suivant :')
                    . 
' <a href="' Beurk_URL(array('ActVue' =>'detail''IdVue' => $IdMaj'JetonMaj' => $TRANSAC['ClefACreer']['Clef'])) . '" target="_blank">'
                    
Beurk_traduit('Activer cette nouvelle adresse e-mail') . '</a><br />';
                
$donneesmail wordwrap($donneesmail70"\r\n");

                
$headersmail "MIME-Version: 1.0\r\n"
                 
"Content-Type: text/html; charset=utf-8\r\n"
                 
'From: noreply@' $CONFIG['Param']['DomaineMail'] . "\r\n";

                if (! 
mail($adresseEmail$mail$donneesmail$headersmail))
                    
Beurk_messageEtape("Erreur envoi message d'activation"true);

            }
        }
        
        
//modification du User
        
$requete = array('UPDATE' => 'Uzers_User',
                        
'SET' => array('Donnees' => Beurk_Request2DB($_REQUEST["donnees$IdMaj"])),
                        
'WHERE' => "IdUser = '$IdMaj'");

        if (
$_REQUEST['NouveauMotDePasse'] != '')             // si changement de mot de passe
            
$requete['SET']['MotDePasse'] = Beurk_Request2DB(md5($_REQUEST['NouveauMotDePasse']));

        
Beurk_modifieEntite($requete'Utilisateur modifié'$IdEtatUser$NoVersionCourante$IdMaj);

    } else 
Beurk_messageEtape('Utilisateur inconnu'true);
    
db_FREE($result);
}


© 2010-2015 by ToolOscope SASU. © 2016-2018 by Arnaud De Rette. All rights reserved