New file |
0,0 → 1,64 |
<?php |
namespace 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 rempli |
if ((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; |
} |
} |