Roles
Table of Contents
Functions
- roles_presents() : bool|array<string|int, mixed>
- Vérifie qu'un objet dispose de rôles fonctionnels
- roles_colonne() : string
- Retrouve la colonne de liaison d'un rôle si définie entre 2 objets
- roles_trouver_dans_qualif() : array<string|int, mixed>
- Extrait le rôle et la colonne de role d'un tableau de qualification
- roles_creer_condition_role() : array<string|int, mixed>
- Gérer l'ajout dans la condition where du rôle
- roles_complets() : array<string|int, mixed>
- Liste des identifiants dont on ne peut ajouter de rôle
- roles_presents_sur_id() : array<string|int, mixed>
- Liste les roles attribués entre 2 objets/id_objet sur une table de liaison donnée
- roles_presents_liaisons() : array<string|int, mixed>|bool
- Lister des rôles présents sur une liaion, pour un objet sur un autre, classés par identifiant de l'objet
- roles_connus_en_base() : array<string|int, mixed>|bool
- Lister des rôles connus en base pour une liaion, pour un objet source
Functions
roles_presents()
Vérifie qu'un objet dispose de rôles fonctionnels
roles_presents(string $objet[, string $objet_destination = '' ]) : bool|array<string|int, mixed>
Retourne une description des rôles si c'est le cas
Parameters
- $objet : string
-
Objet source qui possède la table de liaison
- $objet_destination : string = ''
-
Objet sur quoi on veut lier Si défini, le retour ne contient que les roles possibles pour cet objet Sinon retourne tous les roles possibles quelque soit l'objet
Return values
bool|array<string|int, mixed> —false si rôles indisponibles on non déclarés array : description des roles applicables dans 3 index : colonne, titres, roles
roles_colonne()
Retrouve la colonne de liaison d'un rôle si définie entre 2 objets
roles_colonne(string $objet, string $objet_destination) : string
Parameters
- $objet : string
-
Objet source qui possède la table de liaison
- $objet_destination : string
-
Objet sur quoi on veut lier
Return values
string —Nom de la colonne, sinon vide
roles_trouver_dans_qualif()
Extrait le rôle et la colonne de role d'un tableau de qualification
roles_trouver_dans_qualif(string $objet, string $objet_destination[, array<string|int, mixed> $qualif = [] ]) : array<string|int, mixed>
Calcule également une condition where pour ce rôle.
Pour un objet pouvant recevoir des roles sur sa liaison avec un autre objet, on retrouve le rôle en question dans le tableau de qualification. Si le rôle n'est pas défini dedans, on prend le rôle par défaut déclaré.
Parameters
- $objet : string
-
Objet source de la liaison
- $objet_destination : string
-
Objet de destination de la liaison
- $qualif : array<string|int, mixed> = []
-
tableau de qualifications array(champ => valeur)
Return values
array<string|int, mixed> —Liste (role, colonne, (array)condition) si role possible Liste ('', '', array()) sinon.
roles_creer_condition_role()
Gérer l'ajout dans la condition where du rôle
roles_creer_condition_role(string $objet_source, string $objet, array<string|int, mixed> $cond[, bool $tous_si_absent = false ]) : array<string|int, mixed>
On ajoute la condition uniquement si la liaison entre les 2 objets a une colonne de rôle !
Parameters
- $objet_source : string
-
Objet source (qui possède la table de liens)
- $objet : string
-
Objet de destination
- $cond : array<string|int, mixed>
-
Tableau de conditions where qui peut avoir un index spécial 'role' définissant le role à appliquer ou valant '*' pour tous les roles.
- $tous_si_absent : bool = false
-
true pour ne pas appliquer une condition sur le rôle s'il n'est pas indiqué dans la liste des conditions entrantes. Autrement dit, on n'applique pas de rôle par défaut si aucun n'est défini.
Return values
array<string|int, mixed> —Liste (Tableau de conditions where complété du role, Colonne du role, role utilisé)
roles_complets()
Liste des identifiants dont on ne peut ajouter de rôle
roles_complets(string $objet_source, string $objet, int $id_objet, string $objet_lien) : array<string|int, mixed>
Lister les id objet_source associés à l'objet id_objet via la table de lien objet_lien, et détermine dans cette liste lesquels ont les rôles complets, c'est à dire qu'on ne peut leur affecteur d'autres rôles parmi ceux qui existe pour cette liaison.
Parameters
- $objet_source : string
-
Objet dont on veut récupérer la liste des identifiants
- $objet : string
-
Objet sur lequel est liée la source
- $id_objet : int
-
Identifiant d'objet sur lequel est liée la source
- $objet_lien : string
-
Objet dont on utilise la table de liaison (c'est forcément soit $objet_source, soit $objet)
Tags
Return values
array<string|int, mixed> —Liste des identifiants
roles_presents_sur_id()
Liste les roles attribués entre 2 objets/id_objet sur une table de liaison donnée
roles_presents_sur_id(string $id_objet_source, string $objet_source, string $objet, int $id_objet, string $objet_lien) : array<string|int, mixed>
Parameters
- $id_objet_source : string
-
Identifiant de l'objet qu'on lie
- $objet_source : string
-
Objet qu'on lie
- $objet : string
-
Objet sur lequel est liée la source
- $id_objet : int
-
Identifiant d'objet sur lequel est liée la source
- $objet_lien : string
-
Objet dont on utilise la table de liaison (c'est forcément soit $objet_source, soit $objet)
Return values
array<string|int, mixed> —Liste des roles
roles_presents_liaisons()
Lister des rôles présents sur une liaion, pour un objet sur un autre, classés par identifiant de l'objet
roles_presents_liaisons(string $objet_source, string $objet, int $id_objet, string $objet_lien) : array<string|int, mixed>|bool
Lister les id objet_source associés à l'objet id_objet via la table de lien objet_lien, et groupe cette liste par identifiant (la clé) et ses roles attribués (tableau de valeur)
On retourne cette liste dans l'index 'ids' et la description des roles pour la liaison dans l'index 'roles' pour éviter le le faire recalculer aux fonctions utilisant celle ci.
Parameters
- $objet_source : string
-
Objet dont on veut récupérer la liste des identifiants
- $objet : string
-
Objet sur lequel est liée la source
- $id_objet : int
-
Identifiant d'objet sur lequel est liée la source
- $objet_lien : string
-
Objet dont on utilise la table de liaison (c'est forcément soit $objet_source, soit $objet)
Return values
array<string|int, mixed>|bool —- Tableau d'index
- roles : tableau de description des roles,
- ids : tableau des identifiants / roles.
- False si pas de role déclarés
roles_connus_en_base()
Lister des rôles connus en base pour une liaion, pour un objet source
roles_connus_en_base(string $objet_source, string $objet, string $objet_lien) : array<string|int, mixed>|bool
On retourne cette liste dans le datalist de saisie libre role.
Parameters
- $objet_source : string
-
Objet dont on veut récupérer la liste des identifiants
- $objet : string
-
Objet sur lequel est liée la source
- $objet_lien : string
-
Objet dont on utilise la table de liaison (c'est forcément soit $objet_source, soit $objet)
Return values
array<string|int, mixed>|bool —- Tableau de roles : tableau de description des roles,
- false si pas de role déclarés