Gestion des aires fonctionnelles
Le paquet LiveUser_Admin vous permet de gérer les aires fonctionnelles utilisées au sein de LiveUser. Il fournit une série de méthodes pour interagir avec la table «liveuser_areas».
L'exemple 1 fourni avec ce paquet PEAR devrait vous aider à commencer rapidement.
Quelques méthodes sont disponibles pour la gestion des aires fonctionnelles:
- addArea: pour ajouter une aire fonctionnelle à la liste des aires fonctionnelles
- updateArea: pour modifier une aire fonctionnelle dans la liste des aires fonctionnelles
- removeArea: pour enlever une aire fonctionnelle de la liste des aires fonctionnelles
- getAreas: pour consulter la liste des aires fonctionnelles
Nous commencerons par ajouter une aire fonctionnelle, puis nous la modifierons. Nous pouvons alors créer une liste de toutes les aires fonctionnelles dans la table avant d'en enlever une.
Voici l'exemple complet:
Télécharger «LUA_test_area.php»
Ajouter une aire fonctionnelle (addArea)
function addArea($data)
Paramètre(s)
Cette méthode nécessite 1 paramètre:
- un vecteur avec une paire clé/valeur pour chaque champ de «liveuser_areas»
La manière la plus simple est de fournir le nom de l'aire fonctionnelle seulement. Dans ce cas, la méthode allouera automatiquement un identifiant pour l'aire fonctionnelle (en utilisant la table «liveuser_areas_seq»).
Autrement, vous pouvez aussi fournir le nom de l'aire fonctionnelle et son identifiant.
Valeur retounée
Cette méthode retourne:
- «false» en cas d'erreur
- le nouvel identifiant de l'aire fonctionnelle en cas de succès
Exemple
Pour ajouter un nom d'aire fonctionnelle:
...
$data = array('application_id' => $application_id,
'area_define_name' => $area_name);
$areaId = $LUA->perm->addArea($data);
...
Pour ajouter un nom et un identifiant d'aire fonctionnelle
...
$data = array('application_id' => $application_id,
'area_id' => $area_id,
'area_define_name' => $area_name);
$areaId = $LUA->perm->addArea($data);
...
Ceci donne le résultat suivant:

Modifier une aire fonctionnelle (updateArea)
function updateArea($data, $filter)
Paramètre(s)
Cette méthode nécessite 2 paramètres:
- un vecteur contenant une paire clé/valeur contenant les valeurs mises à jour
- un vecteur contenant une paire clé/valeur pour sélectionner l'enregistrement à mettre à jour
Attention: Si aucun paramètre n'est fourni, toutes les aires fonctionnelles seront modifiées.
Valeur retournée
Cette méthode retourne:
- «false» en cas d'erreur
- «true» autrement
Exemple
...
$new_area_name = 'Another area';
$area_id = 5;
$data = array('area_define_name' => $new_area_name);
$filter = array('area_id' => $area_id);
$updateArea = $LUA->perm->updateArea($data, $filter);
...
Ceci donne le résultat suivant:

Enumérer les aires fonctionnelles (getAreas)
function getAreas($params = array())
Paramètre(s)
Cette méthode nécessite 1 paramètre, c-à-d un vecteur contenant quelques paramètres pour la sélection:
- «filter»: un vecteur contenant une paire clé/valeur pour appliquer le critère de sélection
Valeur retournée
Cette méthode retourne:
- «false» en cas d'erreur
- «true» autrement
Exemple
Obtenir la liste de toutes les aires fonctionnelles:
...
$areas = $LUA->perm->getAreas();
...
Obtenir une liste filtrée de toutes les aires fonctionnelles:
...
$area_id = 5;
$filter = array('filters' => array('area_id' => $area_id));
$areas = $LUA->perm->getAreas($filter);
...
Ceci donne le résultat suivant:

Supprimer une aire fonctionnelle (removeArea)
function removeArea($filter)
Cette méthode supprime une aire fonctionnelle et tous les droits associés. Les administrateurs d'aires fonctionnelles y relatifs sont supprimés également.
Paramètre(s)
Cette méthode nécessite 1 paramètre:
- un vecteur avec une paire clé/valeur pour sélectionner l'enregistrement à enlever de «liveuser_areas»
Attention: Si aucun paramètre n'est fourni, toutes les applications seront enlevées.
Valeur retournée
Cette méthode retourne:
- «false» en cas d'erreur
- «true» autrement
Exemple
...
$area_id = 5;
$filter = array('area_id' => $area_id);
$removeArea = $LUA->perm->removeArea($filter);
...
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('application_id' => $application_id,
'area_id' => $area_id,
'area_define_name' => $area_name);
$areaId = $LUA->perm->addArea($data);
if ($areaId == false)
{
echo 'Add_area: error on line: '.__LINE__;
print_r($LUA->getErrors());
}
else
{
echo 'Area with id ' . $areaId . ' created';
}
...



