Utilisateurs
Le paquet LiveUser_Admin vous permet de gérer les utilisateurs répertoriés au sein de LiveUser. Il fournit une série de méthodes pour interagir avec les tables «liveuser_users» et «liveuser_perm_users».
L'exemple 1 fourni avec ce paquet PEAR devrait vous aider à commencer rapidement.
Quelques méthodes sont disponibles pour la gestion des utilisateurs:
- addUser: pour ajouter un utilisateur à la liste des utilisateurs
- updateUser: pour modifier un utilisateur dans la liste des utilisateurs
- removeUser: pour enlever un utilisateur de la liste des utilisateur
- getUsers: pour consulter la liste des utilisateurs
Nous commencerons par ajouter un utilisateur, puis nous le modifierons. Nous pouvons alors créer une liste de tous les utilisateurs dans la table avant d'en enlever un.
Voici l'exemple complet:
Télécharger «LUA_test_user.php»
Ajouter un utilisateur (addUser)
function addUser($data)
Paramètre(s)
Cette méthode nécessite 1 paramètre: un vecteur contenant une paire clé/valeur de tous les champs de «liveuser_users», en ce inclus un nombre entier représentant le type de l'utilisateur:
LIVEUSER_ANONYMOUS_TYPE_ID :niveau d'utilisateur le plus bas: anonymeLIVEUSER_USER_TYPE_ID :niveau d'utilisateur le plus hautLIVEUSER_ADMIN_TYPE_ID :niveau administrateur le plus basLIVEUSER_AREAADMIN_TYPE_ID :niveau d'administration des aires fonctionneles (vérification d'administration des aires fonctionneles)LIVEUSER_SUPERADMIN_TYPE_ID :tous les droits accordésLIVEUSER_MASTERADMIN_TYPE_ID :niveau d'administration le plus élevé
La manière la plus simple est de fournir les informations relatives à l'utilisateur sans identifiant. Dans ce cas, la méthode allouera automatiquement un identifiant pour l'utilisateur (en utilisant la table «liveuser_users_seq»).
Autrement, vous pouvez aussi fournir les informations de l'utilisateur et son identifiant.
Pour ajouter un utilisateur:
...
$handle = 'test user';
$password = 'test';
$email = 'test.user@mycompany.com';
$is_active = '1';
$user_type = LIVEUSER_USER_TYPE_ID; // highest user level
$data = array('handle' => $handle,
'passwd' => $password,
'email' => $email,
'is_active' => $is_active,
'perm_type' => $user_type
);
$userId = $LUA->addUser($data);
...
Ceci donne le résultat suivant:

Mettre à jour un utilisateur (updateUser)
function updateUser($data, $perm_user_id)
Paramètre(s)
Cette méthode nécessite 2 paramètres:
- un vecteur contenant une paire clé/valeur contenant les valeurs mises à jour, en ce inclus le type de permission si besoin est (voir ci-dessus)
- le perm_user_id de l'utilisateur qui doit être modifié
Valeur retournée
Cette méthode retourne:
- «false» en cas d'erreur
- «true» autrement
Exemple
...
$new_email = 'updated.name@mycompany.com';
// search for the user based on handle
$handle = 'test user';
$filter = array('container' => 'auth',
'filters' => array('handle' => $handle));
$user_id = $LUA->getUsers($filter);
echo 'Update user «' . $handle . '» with a new email « ' . $new_email . '»';
// update data
$data = array('email' => $new_email);
$updatedUser = ->updateUser($data, $user_id[0]['perm_user_id']);
...
Ceci donne le résultat suivant:

Enumérer les utilisateurs (getUsers)
function getUsers($filter = array())
Paramètre(s)
Cette méthode nécéssite 1 paramètre:
- avec au moins le conteneur d'authentification (= «auth») ou du conteneur de permission (= «perm») qui doit être inspecté
- et éventuellement les critères de recherche
Valeur retournée
Cette méthode retourne:
- «false» en cas d'erreur
- un vecteur avec les données correspondant à la sélection, autrement. Le vecteur peut être vide ou non.
Exemple
Obtenir la liste de tous les utilisateurs du conteneur d'authentification:
...
$users = $LUA->getUsers(array('container' => 'auth'));
...
Obtenir une liste filtrée des utilisateurs:
...
$filter = array('container' => 'auth',
'filters' => array('is_active' => 0));
$users = $LUA->getUsers($filter);
...
Ceci donne le résultat suivant:

Supprimer un utilisateur (removeUser)
function removeUser($perm_user_id)
Cette méthode supprimera un utilisateur des conteneurs d'authentification et de permission. Tous les droits qui ont été accordés à cet utilisateur seront aussi supprimés. Finallement, l'utilisateur sera supprimé des groupes auxquels il appartient.
Paramètre(s)
Cette méthode nécessite 1 paramètre:
- le perm_user_id de l'utilisateur à supprimer
Valeur retournée
Cette méthode retourne:
- «false» en cas d'erreur
- «true» autrement
Exemple
...
// find the perm_user_id based on the handle
$handle = 'test user';
$filter = array('container' => 'auth',
'filters' => array('handle' => $handle));
$users = $LUA->getUsers($filter);
// delete the user
$removedUser = $LUA->removeUser($users[0]['perm_user_id']);
...
Ceci donne le résultat suivant:

Obtenir de l'information sur la dernière erreur (getErrors)
function getErrors()
Dans le cas où une fonction retourne «false», celà signifie qu'il y a un problème. Vous pouvez obtenir l'information relative à l'erreur en appelant cette méthode.
Paramètre(s)
Cette méthode ne nécessite aucun paramètre.
Valeur retournée
Cette méthode retourne:
- l'information concernant l'erreur
Exemple
...
$data = array('handle' => $handle,
'passwd' => $password,
'email' => $email,
'is_active' => $is_active,
'perm_type' => $user_type
);
$userId = $LUA->addUser($data);
if ($userId === false)
{
echo 'Add_user: error on line: '.__LINE__;
print_r($LUA->getErrors());
}
else
{
echo 'User with perm_user_id ' . $userId . ' created';
}
...



