Subversion Repositories eFlore/Applications.eflore-consultation

Compare Revisions

Ignore whitespace Rev 519 → Rev 520

/trunk/bibliotheque/Utilisateur.php
6,12 → 6,31
const NIVEAU_EXPERT = 3;
 
private $dureeSauvegarde = null;
private $nomCookieUtilisateur = '';
private $nomCookieUtilisateurPersistant = '';
private $nomCookieNiveau = '';
private $niveauDefaut = '';
private $urlWsAnnuaire = '';
private $restClient = null;
 
private $niveau = null;
private $identifie = false;
private $courriel = null;
private $md5Mdp = null;
 
public function __construct(Conteneur $conteneur) {
$this->dureeSauvegarde = $conteneur->getParametre('cookies.duree');
$this->nomCookieUtilisateur = $conteneur->getParametre('cookies.utilisateur');
$this->nomCookieUtilisateurPersistant = $conteneur->getParametre('cookies.utilisateurPersistant');
$this->nomCookieNiveau = $conteneur->getParametre('cookies.niveau');
$this->niveauDefaut = $conteneur->getParametre('utilisateur.niveau.defaut');
$this->urlWsAnnuaire = $conteneur->getParametre('baseUrlServicesAnnuaireTpl');
$this->restClient = $conteneur->getRestClient();
$this->analyserCookies();
}
 
public function __construct($niveauDefaut) {
$this->niveau = isset($_COOKIE['eflore.niveau']) ? $_COOKIE['eflore.niveau'] : $niveauDefaut;
$this->dureeSauvegarde = 3600*24*365;
public function getCourriel() {
return $this->courriel;
}
 
public function getNiveau() {
19,8 → 38,52
}
 
public function sauver() {
setcookie('eflore.niveau', time()+$this->dureeSauvegarde, '/', 'www.tela-botanica.org');
setcookie($this->nomCookieNiveau, time()+$this->dureeSauvegarde, '/');
}
 
public function etreIdentifie() {
$this->analyserCookies();
return $this->identifie;
}
 
}
public function connecter($courriel, $mdp, $persistance = false) {
$url = sprintf($this->urlWsAnnuaire, 'Utilisateur');
$donnees['methode'] = 'connexion';
$donnees['courriel'] = $courriel;
$donnees['mdp'] = $mdp;
$donnees['persistance'] = $persistance;
 
$json = $this->restClient->ajouter($url, $donnees);
$forceTableauAssociatif = true;
$resultat = json_decode($json, $forceTableauAssociatif);
Debug::printr($resultat);
return $resultat['identifie'];
}
 
private function analyserCookies() {
$this->analyserCookiesIdentite();
$this->analyserCookiesNiveau();
}
 
private function analyserCookiesIdentite() {
if ($this->identifie == false) {
if (isset($_COOKIE[$this->nomCookieUtilisateurPersistant])) {
$idTela = $_COOKIE[$this->nomCookieUtilisateurPersistant];
$this->md5Mdp = substr($idTela, 0, 32);
$this->courriel = substr($idTela, 32);
$this->identifie = true;
} else if (isset($_COOKIE[$this->nomCookieUtilisateur])) {
$this->courriel = $_COOKIE[$this->nomCookieUtilisateur];
$this->identifie = true;
}
}
}
 
private function analyserCookiesNiveau() {
$this->niveau = $this->niveauDefaut;
if (isset($_COOKIE[$this->nomCookieNiveau])) {
$this->niveau = $_COOKIE[$this->nomCookieNiveau];
}
}
}
?>