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:

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::

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:

Le fichier résultat contient:
$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:

Le fichier résultat contient:
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';
}
...



