GVN Group

FR EN Print 

   


 

Exportation des droits

Le paquet LiveUser_Admin vous permet d'extraire une liste de droits dans différent formats. La méthode interagit avec la table «liveuser_rights».

Voici la methode pour extraire les droits:

Nous utiliserons cette méthode avec différents paramètres pour obtenir la liste dans des formats différents.

Voici l'exemple complet :

Télécharger «LUA_test_outputrights.php»

Extraire les droits (outputRightsConstants)

function outputRightsConstants($type, $options = array(), $mode = null)

Paramètre(s)

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

  • le type peut être: «array», «php» ou rester vide
  • un vecteur contenant une paire clé/valeur avec tous les paramètres optionnels
  • le mode peut être «file» ou rester vide

Valeur retounée

Cette méthode retourne:

  • «false» en cas d'erreur
  • «true» ou un tableau autrement

Exemple 1

Pour définir les constantes dans un tableau:

   ...
    $type = 'array';
    $options = array();
    $output = $LUA->perm->outputRightsConstants($type, $options);
   ...

Cet exemple generera un tableau avec tous les droits de la table «liveuser_rights». Dans ce tableau, la clé sera le nom du droit et la valeur l'identifiant du droit.

Le tableau contiendra par exemple: array['EVE_CREATE' => 2]

Pour limiter l'extraction à un seul droit, spécifiez les critères du filtre dans le vecteur «$options»:

   ...
    $type = 'array';
    $options = array('area' => 1);
    $output = $LUA->perm->outputRightsConstants($type, $options);
   ...

Dans ce cas, les droits relatifs à l'aire fonctionnelle 1 (Events) seront récupérés.

Pour que le nom de l'aire fonctionnelle serve de préfixe aux droits, ajoutez un nouveau paramètre au tableau «$options»:

   ...
    $type = 'array';
    $options = array('area' => 1,
                     'naming' => LIVEUSER_SECTION_AREA
                    );
    $output = $LUA->perm->outputRightsConstants($type, $options);
   ...

Le tableau contiendra alors array['EVENT_EVE_CREATE' => 2]

Pour que le nom de l'application serve de préfixe aux droits, modifiez le paramètre du tableau «$options»:

   ...
    $type = 'array';
    $options = array('area' => 1,
                     'naming' => LIVEUSER_SECTION_APPLICATION
                    );
    $output = $LUA->perm->outputRightsConstants($type, $options);
   ...

Le tableau contiendra alors array['TEST_EVENT_EVE_CREATE' => 2]

Pour ajouter un préfixe additionnel aux droits, ajoutez un nouveau paramètre au tableau «$options»:

   ...
    $type = 'array';
    $options = array('area' => 1,
                     'prefix' => 'prefix',
                     'naming' => LIVEUSER_SECTION_APPLICATION
                    );
    $output = $LUA->perm->outputRightsConstants($type, $options);
   ...

Le tableau contiendra alors array['prefix_TEST_EVENT_EVE_CREATE' => 2]

Le paramètre «prefix» peut être utilisé avec ou sans le paramètre «naming».

Ceci donne le résultat suivant:

Extraction des droits

Exemple 2

Pour définir les constantes en php:

   ...
    $type = 'php';
    $options = array();
    $output = $LUA->perm->outputRightsConstants($type, $options);
   ...

Cet exemple définit les constantes php correspondantes. Reportez-vous à l'exemple 1 pour l'usage des paramètres.

Après l'appel, la constante «EVE_VIEW» sera définie et disponible.

Ceci donne le résultat suivant::

Extraction des droits

Exemple 3

Pour générer un fichier contenant les droits dans un tableau:

   ...
    $type = 'array';
    $options = array('area' => 1,
                     'filename' => 'list_rights1.php',
                     'varname' => 'the_list');
    $mode = 'file';
    $output = $LUA->perm->outputRightsConstants($type, $options, );
   ...

Note: lorsque $type prend la valeur «array» et $mode prend la valeur «file», le nom de la variable (clé 'varname') devient obligatoire.

Ceci donne le résultat suivant:

Extraction des droits

Le fichier résultat contient:

<?php
$the_list = array (
  'EVE_CREATE' => 2,
  'EVE_DELETE' => 4,
  'EVE_EDIT' => 3,
  'EVE_VIEW' => 1,
);
?>

Exemple 5

Pour générer un fichier contenant les droits sous forme de définition de constantes:

   ...
    $type = '';
    $options = array('area' => 1,
                     'filename' => 'list_rights2.php',
                     'varname' => 'the_list');
    $mode = 'file';
    $output = $LUA->perm->outputRightsConstants($type, $options, );
   ...

Ceci donne le résultat suivant:

Extraction des droits

Le fichier résultat contient:

<?php
define('EVE_CREATE', 2);
define('EVE_DELETE', 4);
define('EVE_EDIT', 3);
define('EVE_VIEW', 1);
?>

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

   ...
    $output = $LUA->perm->outputRightsConstants($type, $options);

    if ($output === false)
      {
      echo 'List_php: error on line: '.__LINE__;
      print_r($LUA->getErrors());
      }
    else
      {
      echo 'List_array: OK';
      }
   ...