API des ACL (Access Control List) : Différence entre versions
| Ligne 1 : | Ligne 1 : | ||
| − | |||
Pour afficher un formulaire de droits ACL il faut inclure un fichier php : | Pour afficher un formulaire de droits ACL il faut inclure un fichier php : | ||
| Ligne 10 : | Ligne 9 : | ||
| − | + | == Fonction pour enregistrer les droits == | |
<pre> | <pre> | ||
| Ligne 41 : | Ligne 40 : | ||
la méthode "filter" permet de désactiver certaines possibilités du formulaire de droit | la méthode "filter" permet de désactiver certaines possibilités du formulaire de droit | ||
| + | voici la liste des paramètres possible, tout les paramètres sont optionnels, il faut mettre 1 pour désactiver l'élément souhaité ou 0 pour ne rien faire | ||
| − | + | # permet de désactiver la liste des groupes | |
| + | # fonctionnalité dépréciée (sans effet) | ||
| + | # permet de désactiver le groupe "Utilisateurs d'Ovidentia" | ||
| + | # permet de désactiver le groupe "Utilisateurs enregistrés" | ||
| + | # permet de désactiver le groupe "Utilisateurs anonymes" | ||
| + | # permet de désactiver un ou plusieurs groupes spécifiés par leur ID (le paramètre est un tableau) | ||
| + | |||
| + | |||
| + | la méthode "babecho()" permet d'afficher le formulaire. | ||
| + | |||
| + | la méthode "getHtml()" permet de récupérer le html du formulaire. | ||
| + | |||
| + | la méthode "set_hidden_field($sName, $sValue)" permet de définir des champs cachés supplémentaires. | ||
| + | |||
| + | |||
| + | == Fonctions pour tester les droits == | ||
| + | |||
| + | ===bab_isAccessValid($table_name, $id_object);=== | ||
| + | |||
| + | la fonction renvoi true ou false si l'utilisateur à accès à l'objet testé | ||
| + | |||
| + | ===bab_getUserIdObject($table_name);=== | ||
| + | |||
| + | la fonction renvoie la liste des objets auquel l'utilisateur à accès sur cette table de droit sous forme d'un tableau | ||
Version du 27 septembre 2007 à 15:45
Pour afficher un formulaire de droits ACL il faut inclure un fichier php :
include_once $GLOBALS['babInstallPath']."admin/acl.php";
Par contre pour tester les droits d'accès il n'est pas nécessaire d'inclure le fichier
Sommaire
Fonction pour enregistrer les droits
$macl = new macl('tg_value', 'idx_value', $id_object, 'returnvar');
$macl->addtable( 'bab_table_name',bab_translate("Who can manage this environement?"));
$macl->filter(0,0,1,1,1);
$macl->babecho();
l'object "macl" permet la création d'un fomulaire acl pour un seul object.
la méthode addtable() permet d'ajouter une ou plusieurs tables de droits, la méthode doit être appelée une ou plusieurs fois, le premier paramètre est le nom de la table, le deuxième paramètre est le libellé qui sera affiché sur le formulaire.
voici un exemple de structure pour la table de droits :
CREATE TABLE `bdic_env_groups` ( `id` int(11) unsigned NOT NULL auto_increment, `id_object` int(11) unsigned NOT NULL default '0', `id_group` int(11) unsigned NOT NULL default '0', PRIMARY KEY (`id`), KEY `id_object` (`id_object`), KEY `id_group` (`id_group`) );
la méthode "filter" permet de désactiver certaines possibilités du formulaire de droit
voici la liste des paramètres possible, tout les paramètres sont optionnels, il faut mettre 1 pour désactiver l'élément souhaité ou 0 pour ne rien faire
- permet de désactiver la liste des groupes
- fonctionnalité dépréciée (sans effet)
- permet de désactiver le groupe "Utilisateurs d'Ovidentia"
- permet de désactiver le groupe "Utilisateurs enregistrés"
- permet de désactiver le groupe "Utilisateurs anonymes"
- permet de désactiver un ou plusieurs groupes spécifiés par leur ID (le paramètre est un tableau)
la méthode "babecho()" permet d'afficher le formulaire.
la méthode "getHtml()" permet de récupérer le html du formulaire.
la méthode "set_hidden_field($sName, $sValue)" permet de définir des champs cachés supplémentaires.
Fonctions pour tester les droits
bab_isAccessValid($table_name, $id_object);
la fonction renvoi true ou false si l'utilisateur à accès à l'objet testé
bab_getUserIdObject($table_name);
la fonction renvoie la liste des objets auquel l'utilisateur à accès sur cette table de droit sous forme d'un tableau