Rev 395 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?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 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');
$this->creerCookie($utilisateur, $pass);
// Loguer 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);
$this->objet_identification->setIdle(0);
// Création d'un cookie pour rendre permanente l'identification de Papyrus
$pass_crypt = (!$pass_deja_crypte) ? md5($pass) : $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;
}
}
}
?>