GVN Group

FR EN Print 

   


 

Gestion des droits

Le paquet LiveUser_Admin vous permet de gérer le droits utilisés au sein de LiveUser. Il fournit une série de méthodes pour interagir avec la table «liveuser_rights».

L'exemple 1 fourni avec ce paquet PEAR devrait vous aider à commencer rapidement.

Quelques méthodes sont disponibles pour la gestion des droits:

  • addRight: pour ajouter un droit à la liste des droits
  • updateRight: pour modifier un droit dans la liste des droits
  • removeRight: pour enlever un droit de la liste des droits
  • getRights: pour consulter la liste des droits

Nous commencerons par ajouter un droit, puis nous le modifierons. Nous pouvons alors créer une liste de tous les droits dans la table avant d'en enlever un.

Voici l'exemple complet:

Télécharger «LUA_test_right.php»

Ajouter un droit (addRight)

function addRight($data)

Paramètre(s)

Cette méthode nécessite 1 paramètre:

  • un vecteur avec une paire clé/valeur pour chaque champ de «liveuser_rights»

La manière la plus simple est de fournir le nom du droit seulement. Dans ce cas, la méthode allouera automatiquement un identifiant pour le droit (en utilisant la table «liveuser_rights_seq»).

Autrement, vous pouvez aussi fournir le nom du droit et son identifiant.

Valeur retounée

Cette méthode retourne:

  • «false» en cas d'erreur
  • le nouvel identifiant du droit en cas de succès

Exemple

Pour ajouter un nom d'un droit:

   ...
    $area_id = 5;
    $right_name = 'A right';
    $has_implied = 0;

    $data = array('area_id' => $area_id,
                  'right_define_name' => $right_name,
                  'has_implied' => $has_implied);
    $rightId = $LUA->perm->addRight($data);
   ...

Pour ajouter un nom et un identifiant de droit

   ...
    $area_id = 5;
    $right_id = 5;
    $right_name = 'A right';
    $has_implied = 0;

    $data = array('area_id' => $area_id,
                  'right_id' => $right_id,
                  'right_define_name' => $right_name,
                  'has_implied' => $has_implied);
    $rightId = $LUA->perm->addRight($data);
   ...

Ceci donne le résultat suivant:

Ajouter un droit

Mettre à jour un droit (updateRight)

function updateRight($data, $filter)

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, tous les droits seront modifiées.

Valeur retournée

Cette méthode retourne:

  • «false» en cas d'erreur
  • «true» autrement

Exemple

   ...
    $new_right_name = 'Another right';
    $right_id = 5;
    $data = array('right_define_name' => $new_right_name);
    $filter = array('right_id' => $right_id);
    $updateRight = $LUA->perm->updateRight($data, $filter);
   ...

Ceci donne le résultat suivant:

Mettre à jour un droit

Enumérer les droits (getRights)

function getRights($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 tous les droits:

   ...
    $rights = $LUA->perm->getRights();
   ...

Obtenir une liste filtrée des droits:

   ...
    $right_id = 5;
    $filter = array('filters' => array('right_id' => $right_id));
    $rights = $LUA->perm->getRights($filter);
   ...

Ceci donne le résultat suivant:

Obtenir un droit

Supprimer un droit (removeRight)

function removeRight($filter)

Cette méthode supprimera un droit et toutes les permissions associées et qui ont été accordées aux utilisateurs et aux groupes. Les droits implicites y associés seront 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_rights»

Attention: Si aucun paramètre n'est fourni, tous droits seront enlevées.

Valeur retournée

Cette méthode retourne:

  • «false» en cas d'erreur
  • «true» autrement

Exemple

   ...
    $right_id = 5;
    $filter = array('right_id' => $right_id);
    $removeRight = $LUA->perm->removeRight($filter);
   ...

Ceci donne le résultat suivant:

Enlever un droit

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('area_id' => $area_id,
                  'right_id' => $right_id,
                  'right_define_name' => $right_name,
                  'has_implied' => $has_implied);
    $rightId = $LUA->perm->addRight($data);

    if ($rightId == false)
      {
      echo 'Add_right: error on line: '.__LINE__;
      print_r($LUA->getErrors());
      }
    else
      {
      echo 'Right with id ' . $rightId . ' created';
      }
   ...