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; |
} |
|