Subversion Repositories Applications.annuaire

Compare Revisions

No changes between revisions

Ignore whitespace Rev 556 → Rev 557

/trunk/jrest/services/Auth.php
201,6 → 201,8
if (count($infos) == 0 || empty($infos[$login])) {
$this->erreur("could not get user info");
}
// nom Wiki
$infos[$login]['nomWiki'] = $util->formaterNomWiki($infos[$login], "UnknownWikiName");
// date de dernière modification du profil
$dateDerniereModif = $util->getDateDerniereModifProfil($infos[$login]['id'], true);
$infos[$login]['dateDerniereModif'] = $dateDerniereModif;
/trunk/jrest/services/Utilisateur.php
82,7 → 82,11
$this->envoyerTxt($info);
}
}
 
/**
* Méthode temporaire pour SmartForm
* @TODO virer cette méthode dès qu'on l'aura remplacée par le SSO
*/
public function getIdentiteConnectee() {
if (isset($_COOKIE[$this->config['database_ident']['nom_cookie_persistant']])) {
109,21 → 113,39
exit;
}
private function formaterNomWiki($infos) {
$prenom = ucfirst(strtolower($this->supprimerAccents($infos['prenom'])));
$nom = ucfirst(strtolower($this->supprimerAccents($infos['nom'])));
return $prenom.$nom;
 
/**
* Crée un nom Wiki (de la forme "JeanTalus") à partir des données de l'utilisateur;
* gère l'utilisation du pseudo mais pas la collision de noms Wiki @TODO s'en occuper
*
* @param array $infos des infos de profil utilisateur - on admet qu'elles contiennent "intitule"
* @return string un nom wiki correspondant à l' "intitulé" de l'utilisateur (prénom-nom ou pseudo)
* ou la valeur par défaut de $defaut si celui-ci est fourni et si le nom Wiki n'a pu être construit
*/
public function formaterNomWiki($infos, $defaut="ProblemeNomWiki") {
$nw = $defaut;
// calcul du nom d'après l'intitulé, qui gère déjà le pseudo
$intitule = $this->supprimerAccents($infos['intitule']);
$nwParts = explode(" ", $intitule);
foreach ($nwParts as &$part) {
$part = ucfirst(strtolower($part));
}
$nw = implode("", $nwParts);
// on sait jamais
if ($nw == "") {
$nw = $defaut;
}
 
return $nw;
}
function supprimerAccents($str, $charset='utf-8') {
 
protected 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;
}
 
/trunk/.
Property changes:
Modified: svn:mergeinfo
Merged /branches/v1.4-baleine:r556