Subversion Repositories eFlore/Applications.del

Compare Revisions

Ignore whitespace Rev 1476 → Rev 1477

/trunk/services/modules/0.1/utilisateurs/Connecter.php
15,19 → 15,8
* @see http://www.tela-botanica.org/wikini/eflore/wakka.php?wiki=ApiIdentiplante01Observations
*/
 
class Connecter {
class Connecter extends gestionUtilisateur {
private $conteneur;
private $gestionBdd;
private $bdd;
public function __construct(Conteneur $conteneur = null) {
$this->conteneur = $conteneur == null ? new Conteneur() : $conteneur;
$this->conteneur->chargerConfiguration('config_utilisateurs.ini');
$this->gestionBdd = $conteneur->getGestionBdd();
$this->bdd = $this->gestionBdd->getBdd();
}
/**
* Méthode principale de la classe.
* Lance la récupération des images dans la base et les place dans un objet ResultatService
36,8 → 25,6
* @param array $parametres les paramètres situés après le ? dans l'url
* */
public function consulter($ressources, $parametres) {
session_start();
$login = $ressources[0];
$motDePasse = $ressources[1];
51,14 → 38,6
return $resultat;
}
private function identifierUtilisateur($login, $motDePasse) {
$requete = 'SELECT id_utilisateur, nom, prenom, courriel, mot_de_passe FROM '.$this->gestionBdd->formaterTable('del_utilisateur', 'du').
'WHERE courriel = '.$this->bdd->proteger($login).' '.
'AND mot_de_passe = MD5('.$this->bdd->proteger($motDePasse).')';
$utilisateur = $this->bdd->recupererTous($requete);
return $utilisateur;
}
private function verifierUtilisateur($utilisateur) {
if ($utilisateur == null || sizeof($utilisateur) == 0 || sizeof($utilisateur) > 1) {
$e = 'Accès non autorisé';
67,46 → 46,5
return $utilisateur[0];
}
}
function setUtilisateur($utilisateur, $remember=1) {
$utilisateur['session_id'] = session_id();
$utilisateur['connecte'] = true;
$_SESSION["del_utilisateur"] = $utilisateur;
return $utilisateur;
}
function setPersistentCookie($name, $value, $remember = 1) {
SetCookie($name, $value, time() + ($remember ? (60*60*24*100) : (60*60)),'/');
$_COOKIE[$name] = $value;
}
private function getUtilisateurAnonyme() {
return array('connecte' => false,
'id_utilisateur' => session_id(),
'courriel' => '',
'mot_de_passe' => '',
'nom' => '',
'prenom' => '',
'session_id' => session_id()
);
}
private function utilisateurEstIdentifie() {
$login_utilisateur = false;
if (!$login_utilisateur = $this->utilisateurEstIdentifieSession()) {
$login_utilisateur = $this->utilisateurEstIdentifieCookie();
}
return $login_utilisateur;
}
function utilisateurEstIdentifieSession() {
return (isset($_SESSION["del_utilisateur"]) && isset($_SESSION["del_utilisateur"])) ? $_SESSION["del_utilisateur"] : false;
}
function utilisateurEstIdentifieCookie() {
return isset($_COOKIE["del_courriel"]) && ($this->identifierUtilisateurSansEncryptionMotDePasse($_COOKIE["del_name"], $_COOKIE["del_password"])) ? $_COOKIE["del_name"] : false;
}
}
?>