Rev 1823 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<?phpnamespace TelaBotanica\Del\Commun;class Utilisateurs {/*** Récupère toutes les informations (incluant le pseudo) sur une liste d'utilisateurs,* à partir de leurs courriels* Retourne un tableau dont les clefs sont les courriels et les valeurs sont un* tableau d'attributs** @param array $courriels la liste des courriels pour lesquels récupérer l'identité* @param string $baseUrlServiceAnnuaire le squelette d'URL du service d'annuaire à appeler*/static function identiteUtilisateurs(array $courriels, $baseUrlServiceAnnuaire) {// Récupération des données au format Json @TODO POST plutôt que GET car limite de taille !$service = "identite-par-courriel/".implode(',', $courriels);$url = sprintf($baseUrlServiceAnnuaire, $service);$json = file_get_contents($url);$utilisateurs = json_decode($json, true);return $utilisateurs;}/*** D'après l'identité complète d'un utilisateur, retourne l'identité à afficher, càd par ordre de préférence décroissant:* - son pseudo s'il en a un* - ses prénom et nom s'ils au moins un des deux est renseigné* - son adresse courriel tronquée** Si $identité est "vide" (empty()), retourne NULL* Si $identité n'est pas un tableau, on considère que c'est une adresse courriel et on la retourne tronquée** @param mixed $identite*/static function identiteAAfficher($identite) {$retour = null;if (! empty($identite)) {if (is_array($identite)) { // cas général// y a-t-il un pseudo ?if (isset($identite['pseudo']) && $identite['pseudo'] != '') {$retour = $identite['pseudo'];} else {// prénom et nom, si la personne est inscrite (on sait jamais)// et si au moins un des deux est rempliif ((isset($identite['prenom']) && $identite['prenom'] != '') || (isset($identite['nom']) && $identite['nom'] != '')) {$retour = $identite['prenom'];if ($retour != '') {$retour .= ' ';}$retour .= $identite['nom'];}}} else {$posArobase = strpos($identite, "@");if ($posArobase > 0) { // courriel$retour = substr($identite, 0, $posArobase + 1) . "...";}}}return $retour;}}