en | fr  | Contact  | Print  | Share

FrameBeurk File

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

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

if (Uzers_estLogue())
    
Beurk_messageEtape('Session en cours'true);    //se déloguer avant de se reloguer !
elseif (! isset($_POST['MotDePasse']))
    
Beurk_messageEtape('Mot de passe obligatoire'true);
elseif (! isset(
$_POST['User']))
    
Beurk_messageEtape('Code utilisateur obligatoire'true);
elseif (! 
preg_match ('#^[a-zA-Z0-9_-]+$#'$_POST['User']))
    
$TRANSAC['StatutLogin'] = 6;        // user invalide
else {
    
$User $_POST['User'];
    
$result db_QUERY("SELECT IdUser, MotDePasse, IdEtat, IdStyle FROM Uzers_User WHERE User = '" Beurk_Request2DB($User) . "'");
    if (list(
$IdUser$VraiMotDePasse$IdEtatUser$IdStyle) = db_FETCH_ROW($result)) {

      if (
md5($_POST['MotDePasse']) != $VraiMotDePasse)
        
$TRANSAC['StatutLogin'] = 5;        // mot de passe faux
      
elseif ($IdEtatUser != Beurk_id('V'))
        
$TRANSAC['StatutLogin'] = 7;        // User inactive

      // User et mot de passe OK 
      
else {
        
//Si le User a une feuille de style valide, on l'applique
        
if (Beurk_estDeType($IdMaj) == 'Style')             // il faudrait aussi vérifier que le style est bien proposé par le site !
            
$DIALOG['Style'] = Beurk_terminal($IdStyle);
        
        
//chargement des groupes du User
        
$Groupes $CONFIG['Controle']['Groupes']['ALL'];     // groupe par défaut pour tout le monde
        
$result2 db_QUERY("SELECT IdGroupe FROM Uzers_UserGroupe WHERE IdUser = '$IdUser' AND IdEtat = '" Beurk_id('V') . "'");
        while (list(
$IdGroupe) = db_FETCH_ROW($result2))
          
$Groupes .= ',' $IdGroupe;
        
db_FREE($result2);
        
        
//insertion de la session en base
        
db_QUERY('INSERT INTO Uzers_UserSession (IdUser, TsDeb, TsFin, IdEtat, NbTransac, IdStyle, AdresseIP, Groupes) '
            
"VALUES ('$IdUser', '" $TRANSAC['Stat']['TsBeurkIni'] . "', '" $TRANSAC['Stat']['TsBeurkIni'] ."', '" Beurk_id('V') . "', 1, '$IdStyle', '"
            
$_SERVER['REMOTE_ADDR'] . "', '$Groupes')");
        
        
//stockage dans le dialogue
        
$DIALOG['IdUser'] = $IdUser;
        
$DIALOG['User'] = $User;
        
$DIALOG['Groupes'] = explode(','$Groupes);
        
$DIALOG['TempsDebSession'] = $TRANSAC['Stat']['TsBeurkIni'];
        
$TRANSAC['StatutLogin'] = -1;
        
$DIALOG['IdEtatsAutorises'] = Uzers_listeEtats();

        
$DIALOG['Permissions'] = array();    //réinit des permissions stockées en session
      
}
      
    } else    
// user non trouvé en table
      
$TRANSAC['StatutLogin'] = 6;    // user invalide

    
db_FREE($result);
}


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