Package Roles

Fichiers du package

FichierDescription
roles.php

Gestion des rôles

Proposer une amélioration

Liste des fonctions

string roles_colonne( string $objet , string $objet_destination )

Paramètres

  1. string $objet

    Objet source qui possède la table de liaison

  2. string $objet_destination

    Objet sur quoi on veut lier

Retour

  • string

    Nom de la colonne, sinon vide

Package

Proposer une amélioration

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.

array roles_complets( string $objet_source , string $objet , integer $id_objet , string $objet_lien )

Paramètres

  1. string $objet_source

    Objet dont on veut récupérer la liste des identifiants

  2. string $objet

    Objet sur lequel est liée la source

  3. integer $id_objet

    Identifiant d'objet sur lequel est liée la source

  4. string $objet_lien

    Objet dont on utilise la table de liaison (c'est forcément soit $objet_source, soit $objet)

Retour

  • array

    Liste des identifiants

Voir également

Package

Proposer une amélioration

On retourne cette liste dans le datalist de saisie libre role.

array | boolean roles_connus_en_base( string $objet_source , string $objet , string $objet_lien )

Paramètres

  1. string $objet_source

    Objet dont on veut récupérer la liste des identifiants

  2. string $objet

    Objet sur lequel est liée la source

  3. string $objet_lien

    Objet dont on utilise la table de liaison (c'est forcément soit $objet_source, soit $objet)

Retour

  • array | boolean
    • Tableau de roles : tableau de description des roles,
    • false si pas de role déclarés

Package

Proposer une amélioration

On ajoute la condition uniquement si la liaison entre les 2 objets a une colonne de rôle !

array roles_creer_condition_role( string $objet_source , string $objet , array $cond , boolean $tous_si_absent = false )

Paramètres

  1. string $objet_source

    Objet source (qui possède la table de liens)

  2. string $objet

    Objet de destination

  3. array $cond

    Tableau de conditions where qui peut avoir un index spécial 'role' définissant le role à appliquer ou valant '*' pour tous les roles.

  4. boolean $tous_si_absent = 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.

Retour

  • array

    Liste (Tableau de conditions where complété du role, Colonne du role, role utilisé)

Package

Proposer une amélioration

Retourne une description des rôles si c'est le cas

boolean | array roles_presents( string $objet , string $objet_destination = '' )

Paramètres

  1. string $objet

    Objet source qui possède la table de liaison

  2. string $objet_destination = ''

    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

Retour

  • boolean | array

    false si rôles indisponibles on non déclarés array : description des roles applicables dans 3 index : colonne, titres, roles

Package

Proposer une amélioration

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.

array | boolean roles_presents_liaisons( string $objet_source , string $objet , integer $id_objet , string $objet_lien )

Paramètres

  1. string $objet_source

    Objet dont on veut récupérer la liste des identifiants

  2. string $objet

    Objet sur lequel est liée la source

  3. integer $id_objet

    Identifiant d'objet sur lequel est liée la source

  4. string $objet_lien

    Objet dont on utilise la table de liaison (c'est forcément soit $objet_source, soit $objet)

Retour

  • array | boolean
    • Tableau d'index
      • roles : tableau de description des roles,
      • ids : tableau des identifiants / roles.
    • False si pas de role déclarés

Package

Proposer une amélioration
array roles_presents_sur_id( string $id_objet_source , string $objet_source , string $objet , integer $id_objet , string $objet_lien )

Paramètres

  1. string $id_objet_source

    Identifiant de l'objet qu'on lie

  2. string $objet_source

    Objet qu'on lie

  3. string $objet

    Objet sur lequel est liée la source

  4. integer $id_objet

    Identifiant d'objet sur lequel est liée la source

  5. string $objet_lien

    Objet dont on utilise la table de liaison (c'est forcément soit $objet_source, soit $objet)

Retour

  • array

    Liste des roles

Package

Proposer une amélioration

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é.

array roles_trouver_dans_qualif( string $objet , string $objet_destination , array $qualif = array() )

Paramètres

  1. string $objet

    Objet source de la liaison

  2. string $objet_destination

    Objet de destination de la liaison

  3. array $qualif = array()

    tableau de qualifications array(champ => valeur)

Retour

  • array

    Liste (role, colonne, (array)condition) si role possible Liste ('', '', array()) sinon.

Package

Proposer une amélioration