en | fr  | Contact  | Print  | Share

FrameBeurk File

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

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

if (! isset($_REQUEST["titre$IdMaj"]) || $_REQUEST["titre$IdMaj"] == '')
  
Beurk_messageEtape('Code utilisateur obligatoire'true"titre$IdMaj");
else if (
preg_match ('#^[a-zA-Z0-9_-]+$#'$_REQUEST["titre$IdMaj"]) != true)
  
Beurk_messageEtape('Code utilisateur invalide'true"titre$IdMaj");
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['MotDePasse']) || $_REQUEST['MotDePasse'] == '')
  
Beurk_messageEtape('Mot de passe obligatoire'true'MotDePasse');
else if (
preg_match ('#^[a-zA-Z0-9_-]+$#'$_REQUEST['MotDePasse']) != true)
  
Beurk_messageEtape('Mot de passe invalide'true'MotDePasse');
else if (
$_REQUEST['MotDePasse'] != $_REQUEST['ConfirmMotDePasse'])
  
Beurk_messageEtape('Mot de passe de confirmation différent'true'ConfirmMotDePasse');
  
else {
  
$User Beurk_Request2DB($_REQUEST["titre$IdMaj"]);
  
$MotDePasse Beurk_Request2DB(md5($_REQUEST['MotDePasse']));
  
$adresseEmail Beurk_Request2DB($_REQUEST['adresseEmail']);
  
$result db_QUERY("SELECT IdUser FROM Uzers_User WHERE User = '$User'");
  if (list(
$IdUser) = db_FETCH_ROW($result))
    
Beurk_messageEtape('Code utilisateur déjà attribué'true"titre$IdMaj");
  else {         
    if (
Uzers_estAdmin())    //si création par Admin, c'est lui le créateur jusqu'à activation du User.
        
$IdCreateur $DIALOG['IdUser'];
    else
        
$IdCreateur '';

    
//création du User à l'état 'T' : attente de validation
    
$requete = array('INSERT' => 'Uzers_User',
                    
'VALUES' => array('User' => $User,
                                    
'MotDePasse' => $MotDePasse,
                                    
'IdStyle' => Beurk_id($DIALOG['Style']),
                                    
'adresseEmail' => $adresseEmail,
                                    
'Donnees' => Beurk_Request2DB($_REQUEST["donnees$IdMaj"])));

    
// éxécute l'insert, positionne le message OK ou KO, mets à jour le User qui a réalisé l'action (éventuellement l'admin), et renvoie l'insert Id
    
if ($IdUser Beurk_creeEntite($requete'Utilisateur à activer créé''T'$CONFIG['Entite']['Site']['Id'])) {

        
//création et stockage de la clef d'activation
        
$TRANSAC['ClefACreer'] = array('adresseEmail' => Beurk_Request2DB($adresseEmail),
                                    
'ActMaj' => 'active',
                                    
'IdMaj' => $IdUser,
                                    
'Donnees' => '');
        include(
INSTALL_PATH '/Module/' $CONFIG['Entite']['Clef']['Module'] . '/Clef/Maj/creeClef.php');

        if (! 
$TRANSAC['Maj']['Erreur']) {
            
            
//envoi mail d'activation
            
$mail Beurk_Request2DB($_REQUEST["titre$IdMaj"]);
            
$donneesmail Beurk_traduit('Félicitation pour avoir créé votre compte "%s" sur le site''Uzers'$User)
                . 
' <a href="' Beurk_cheminURL() . '" target="_blank">' Beurk_cheminURL() . '</a><br />'
                
Beurk_traduit("Pour l'activer, merci de suivre le lien suivant :")
                . 
' <a href="' Beurk_URL(array('ActVue' =>'detail''IdVue' => $IdUser'JetonMaj' => $TRANSAC['ClefACreer']['Clef'])) . '" target="_blank">' 
                
Beurk_traduit('Activer le compte "%s"''Uzers'$User) . '</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);
        }
    }
  }
  
db_FREE($result);
}


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