1823 |
mathias |
1 |
<?php
|
|
|
2 |
namespace TelaBotanica\Del\Commun;
|
|
|
3 |
|
|
|
4 |
class Utilisateurs {
|
|
|
5 |
|
|
|
6 |
/**
|
|
|
7 |
* Récupère toutes les informations (incluant le pseudo) sur une liste d'utilisateurs,
|
|
|
8 |
* à partir de leurs courriels
|
|
|
9 |
* Retourne un tableau dont les clefs sont les courriels et les valeurs sont un
|
|
|
10 |
* tableau d'attributs
|
|
|
11 |
*
|
|
|
12 |
* @param array $courriels la liste des courriels pour lesquels récupérer l'identité
|
|
|
13 |
* @param string $baseUrlServiceAnnuaire le squelette d'URL du service d'annuaire à appeler
|
|
|
14 |
*/
|
|
|
15 |
static function identiteUtilisateurs(array $courriels, $baseUrlServiceAnnuaire) {
|
|
|
16 |
// Récupération des données au format Json @TODO POST plutôt que GET car limite de taille !
|
|
|
17 |
$service = "identite-par-courriel/".implode(',', $courriels);
|
|
|
18 |
$url = sprintf($baseUrlServiceAnnuaire, $service);
|
|
|
19 |
|
|
|
20 |
$json = file_get_contents($url);
|
|
|
21 |
$utilisateurs = json_decode($json, true);
|
|
|
22 |
|
|
|
23 |
return $utilisateurs;
|
|
|
24 |
}
|
|
|
25 |
|
|
|
26 |
/**
|
|
|
27 |
* D'après l'identité complète d'un utilisateur, retourne l'identité à afficher, càd par ordre de préférence décroissant:
|
|
|
28 |
* - son pseudo s'il en a un
|
|
|
29 |
* - ses prénom et nom s'ils au moins un des deux est renseigné
|
|
|
30 |
* - son adresse courriel tronquée
|
|
|
31 |
*
|
|
|
32 |
* Si $identité est "vide" (empty()), retourne NULL
|
|
|
33 |
* Si $identité n'est pas un tableau, on considère que c'est une adresse courriel et on la retourne tronquée
|
|
|
34 |
*
|
|
|
35 |
* @param mixed $identite
|
|
|
36 |
*/
|
|
|
37 |
static function identiteAAfficher($identite) {
|
|
|
38 |
$retour = null;
|
|
|
39 |
if (! empty($identite)) {
|
|
|
40 |
if (is_array($identite)) { // cas général
|
|
|
41 |
// y a-t-il un pseudo ?
|
|
|
42 |
if (isset($identite['pseudo']) && $identite['pseudo'] != '') {
|
|
|
43 |
$retour = $identite['pseudo'];
|
|
|
44 |
} else {
|
|
|
45 |
// prénom et nom, si la personne est inscrite (on sait jamais)
|
|
|
46 |
// et si au moins un des deux est rempli
|
|
|
47 |
if ((isset($identite['prenom']) && $identite['prenom'] != '') || (isset($identite['nom']) && $identite['nom'] != '')) {
|
|
|
48 |
$retour = $identite['prenom'];
|
|
|
49 |
if ($retour != '') {
|
|
|
50 |
$retour .= ' ';
|
|
|
51 |
}
|
|
|
52 |
$retour .= $identite['nom'];
|
|
|
53 |
}
|
|
|
54 |
}
|
|
|
55 |
} else {
|
|
|
56 |
$posArobase = strpos($identite, "@");
|
|
|
57 |
if ($posArobase > 0) { // courriel
|
|
|
58 |
$retour = substr($identite, 0, $posArobase + 1) . "...";
|
|
|
59 |
}
|
|
|
60 |
}
|
|
|
61 |
}
|
|
|
62 |
return $retour;
|
|
|
63 |
}
|
|
|
64 |
}
|