92,14 → 92,7 |
* 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); |
$nw = $this->convertirEnCamelCase($infos['intitule']); |
// on sait jamais |
if ($nw == "") { |
$nw = $defaut; |
108,6 → 101,14 |
return $nw; |
} |
|
protected function convertirEnCamelCase($str) { |
// Suppression des accents |
$str = $this->supprimerAccents($str); |
// Suppression des caractères non alphanumériques |
$str = preg_replace('/[^\da-z]/i', '', ucwords(strtolower($str))); |
return $str; |
} |
|
protected function supprimerAccents($str, $charset='utf-8') { |
$str = htmlentities($str, ENT_NOQUOTES, $charset); |
|
197,6 → 198,7 |
$utilisateur['pseudo'] = $this->obtenirPseudo($id); |
$utilisateur['pseudoUtilise'] = $this->obtenirPseudoUtilise($id); |
$utilisateur['intitule'] = $this->formaterIntitule($utilisateur); |
$utilisateur['nomWiki'] = $this->formaterNomWiki($utilisateur); |
$courriel = strtolower($courriel); |
$infos_utilisateurs[$courriel] = $utilisateur; |
} |