Subversion Repositories Applications.annuaire

Compare Revisions

Ignore whitespace Rev 208 → Rev 209

/tags/v1.1-andromede/controleurs/IdentificationControleur.php
New file
0,0 → 1,105
<?php
/**
* PHP Version 5
*
* @category PHP
* @package annuaire
* @author aurelien <aurelien@tela-botanica.org>
* @copyright 2010 Tela-Botanica
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
* @version SVN: <svn_id>
* @link /doc/annuaire/
*/
 
Class IdentificationControleur extends AppControleur {
 
private $nom_cookie_persistant = '';
private $duree_identification = '0';
private $fonction_cryptage_mdp_cookie = 'md5';
private $objet_identification = null;
/*public function IdentificationControleur() {
 
Controleur::__construct();
$this->cookie_persistant_nom = session_name().'-memo';
$this->cookie_persistant_nom = 'pap-admin_papyrus_-memo';
$this->duree_identification = time()+Config::get('duree_session_identification');
$this->fonction_cryptage_mdp_cookie = Config::get('fonction_cryptage_mdp_cookie');
}*/
 
public function afficherFormulaireIdentification($id_annuaire, $donnees = array()) {
 
$this->chargerModele('AnnuaireModele');
$annuaire = $this->AnnuaireModele->chargerAnnuaire($id_annuaire);
 
if(!isset($donnees['informations'])) {
$donnees['informations'] = array();
}
 
$donnees['id_annuaire'] = $id_annuaire;
 
return $this->getVue(Config::get('dossier_squelettes_formulaires').'identification',$donnees);
}
 
public function loggerUtilisateur($utilisateur, $pass) {
$this->objet_identification = Config::get('objet_identification');
// on cree le cookie
$this->creerCookie($utilisateur, $pass);
// On loggue l'utilisateur
$this->objet_identification->username = $utilisateur;
$this->objet_identification->password = $pass;
$this->objet_identification->login();
 
return true;
}
public function deLoggerUtilisateur() {
$this->objet_identification = Config::get('objet_identification');
$this->objet_identification->logout();
return true;
}
public function setUtilisateur($nom_utilisateur) {
$this->objet_identification = Config::get('objet_identification');
$this->objet_identification->setAuth($nom_utilisateur);
$pass = $this->objet_identification->password;
$this->creerCookie($nom_utilisateur, $pass, true);
}
public function creerCookie($utilisateur, $pass, $pass_deja_crypte = false) {
$this->objet_identification = Config::get('objet_identification');
// Expiration si l'utilisateur ne referme pas son navigateur
$this->objet_identification->setExpire(0);
// Création d'un cookie pour rendre permanente l'identification de Papyrus
if(!$pass_deja_crypte) {
$pass_crypt = md5($pass);
} else {
$pass_crypt = $pass;
}
$cookie_val = $pass_crypt.$utilisateur;
setcookie(session_name().'-memo', $cookie_val, 0, '/');
}
public function obtenirLoginUtilisateurParCookie() {
 
$nom_session = Config::get('nom_session');
if(isset($_COOKIE[$nom_session])) {
$cookie_val = $_COOKIE[$nom_session];
$login_utilisateur = substr($cookie_val, '32', strlen($cookie_val));
return $login_utilisateur;
} else {
return false;
}
}
}
?>