Subversion Repositories Applications.annuaire

Rev

Rev 561 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 561 Rev 562
Line 90... Line 90...
90
	 * @param array $infos des infos de profil utilisateur - on admet qu'elles contiennent "intitule"
90
	 * @param array $infos des infos de profil utilisateur - on admet qu'elles contiennent "intitule"
91
	 * @return string un nom wiki correspondant à l' "intitulé" de l'utilisateur (prénom-nom ou pseudo)
91
	 * @return string un nom wiki correspondant à l' "intitulé" de l'utilisateur (prénom-nom ou pseudo)
92
	 * 		ou la valeur par défaut de $defaut si celui-ci est fourni et si le nom Wiki n'a pu être construit
92
	 * 		ou la valeur par défaut de $defaut si celui-ci est fourni et si le nom Wiki n'a pu être construit
93
	 */
93
	 */
94
	public function formaterNomWiki($infos, $defaut="ProblemeNomWiki") {
94
	public function formaterNomWiki($infos, $defaut="ProblemeNomWiki") {
95
		$nw = $defaut;
-
 
96
		// calcul du nom d'après l'intitulé, qui gère déjà le pseudo
-
 
97
		$intitule = $this->supprimerAccents($infos['intitule']);
95
		$nw = $this->convertirEnCamelCase($infos['intitule']);
98
		$nwParts = explode(" ", $intitule);
-
 
99
		foreach ($nwParts as &$part) {
-
 
100
			$part = ucfirst(strtolower($part));
-
 
101
		}
-
 
102
		$nw = implode("", $nwParts);
-
 
103
		// on sait jamais
96
		// on sait jamais
104
		if ($nw == "") {
97
		if ($nw == "") {
105
			$nw = $defaut;
98
			$nw = $defaut;
106
		}
99
		}
Line 107... Line 100...
107
 
100
 
108
		return $nw;
101
		return $nw;
-
 
102
	}
-
 
103
	
-
 
104
	protected function convertirEnCamelCase($str) {
-
 
105
		// Suppression des accents
-
 
106
		$str = $this->supprimerAccents($str);
-
 
107
		// Suppression des caractères non alphanumériques
-
 
108
		$str = preg_replace('/[^\da-z]/i', '', ucwords(strtolower($str)));
-
 
109
		return $str;
Line 109... Line 110...
109
	}
110
	}
110
 
111
 
Line 111... Line 112...
111
	protected function supprimerAccents($str, $charset='utf-8') {
112
	protected function supprimerAccents($str, $charset='utf-8') {
Line 195... Line 196...
195
		foreach ($utilisateurs as $courriel => $utilisateur) {
196
		foreach ($utilisateurs as $courriel => $utilisateur) {
196
			$id = $utilisateur['id'];
197
			$id = $utilisateur['id'];
197
			$utilisateur['pseudo'] = $this->obtenirPseudo($id);
198
			$utilisateur['pseudo'] = $this->obtenirPseudo($id);
198
			$utilisateur['pseudoUtilise'] = $this->obtenirPseudoUtilise($id);
199
			$utilisateur['pseudoUtilise'] = $this->obtenirPseudoUtilise($id);
199
			$utilisateur['intitule'] = $this->formaterIntitule($utilisateur);
200
			$utilisateur['intitule'] = $this->formaterIntitule($utilisateur);
-
 
201
			$utilisateur['nomWiki'] = $this->formaterNomWiki($utilisateur);
200
			$courriel = strtolower($courriel);
202
			$courriel = strtolower($courriel);
201
			$infos_utilisateurs[$courriel] = $utilisateur;
203
			$infos_utilisateurs[$courriel] = $utilisateur;
202
		}
204
		}
203
		return $infos_utilisateurs;
205
		return $infos_utilisateurs;
204
	}
206
	}