Subversion Repositories Applications.annuaire

Compare Revisions

Ignore whitespace Rev 531 → Rev 532

/trunk/jrest/services/Utilisateur.php
78,6 → 78,48
$this->envoyerTxt($info);
}
}
public function getIdentiteConnectee() {
if (isset($_COOKIE[$this->config['database_ident']['nom_cookie_persistant']])) {
$cookie = $_COOKIE[$this->config['database_ident']['nom_cookie_persistant']];
// le cookie de papyrus contient un md5 concaténé à l'email utilisateur
$courriel = substr($cookie , 32, strlen($cookie));
 
$id_utilisateur = $this->getAnnuaire()->obtenirIdParMail($this->idAnnuaire, $courriel);
$infos = $this->getAnnuaire()->obtenirInfosUtilisateurParId($this->idAnnuaire, $id_utilisateur);
$infos['pseudoUtilise'] = $this->obtenirPseudoUtilise($id_utilisateur);
$infos['pseudo'] = $this->obtenirPseudo($id_utilisateur);
$infos['intitule'] = $this->formaterIntitule($infos);
$infos['nomWiki'] = $this->formaterNomWiki($infos);
header("content-type: application/json");
echo json_encode($infos);
} else {
echo json_encode(array());
}
exit;
}
private function formaterNomWiki($infos) {
$prenom = ucfirst(strtolower($this->supprimerAccents($infos['prenom'])));
$nom = ucfirst(strtolower($this->supprimerAccents($infos['nom'])));
return $prenom.$nom;
}
function supprimerAccents($str, $charset='utf-8') {
$str = htmlentities($str, ENT_NOQUOTES, $charset);
$str = preg_replace('#&([A-za-z])(?:acute|cedil|caron|circ|grave|orn|ring|slash|th|tilde|uml);#', '\1', $str);
$str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str); // pour les ligatures e.g. 'œ'
$str = preg_replace('#&[^;]+;#', '', $str); // supprime les autres caractères
return $str;
}
 
/**
* Permet d'obtenir des infos pour un ou plusieurs ids utilisateurs indiqué(s) dans la ressource.
361,6 → 403,7
// PUT : ajout
 
public function createElement($donnees) {
$this->donnees = $donnees;
$this->idAnnuaire = Config::get('annuaire_defaut');
 
420,5 → 463,19
}
return $infos;
}
/*+----------------------------------------------------------------------------------------------------+*/
// DELETE : suppression
/**
* Permet de déconnecter un utilisateur
* RESSOURCE : /utilisateur
* DELETE
*/
public function deleteElement($uid) {
if($uid[0] == 'deconnexion') {
$this->supprimerCookieUtilisateur();
}
}
}
?>
/trunk/jrest/bibliotheque/JRestService.php
374,6 → 374,7
'FROM '.$this->config['database_ident']['database'].'.'.$this->config['database_ident']['annuaire'].' '.
'WHERE '.$this->config['database_ident']['ann_id'].' = '.$this->bdd->quote($id).' '.
' AND '.$this->config['database_ident']['ann_pwd'].' = '.$this->config['database_ident']['pass_crypt_funct'].'('.$this->bdd->quote($mdp).')' ;
$resultat = $this->bdd->query($requete)->fetch();
 
$identifie = false;
426,6 → 427,12
 
setcookie($nomCookie, $valeurCookie, $duree, '/');
}
protected function supprimerCookieUtilisateur() {
session_destroy();
setcookie($this->config['database_ident']['nom_cookie_utilisateur'], "", time()-7200, "/");
setcookie($this->config['database_ident']['nom_cookie_persistant'], "", time()-7200, "/");
}
 
protected function estAutoriseMessagerie($adresse) {
$utilisateurs_messagerie = explode(',', $this->config['messagerie']['utilisateurs_autorises']);