Fichier ecrire/inc/filtres_selecteur_generique.php

Filtres pour les sélecteurs d'objets

Source

Proposer une amélioration

Liste des fonctions

void picker_identifie_id_rapide( string $ref , mixed $rubriques_ou_objets = false , boolean $articles = false )

Paramètres

  1. string $ref

    Référence de l'objet à chercher, de la forme "type|id", par exemple "rubrique|123".

  2. mixed $rubriques_ou_objets = false

    Soit un booléen (pouvant être une chaîne vide aussi) indiquant que les rubriques sont sélectionnables soit un tableau complet des objets sélectionnables.

  3. boolean $articles = false

    Booléen indiquant si les articles sont sélectionnables

Package

Proposer une amélioration

..) ou une chaine bruterubrique|9,article|8,...`

Peut retourner un tableau de couples (objet => id_objet) ou la liste des identifiants d'un objet précis si $type est fourni.

array picker_selected( array | string $selected , string $type = '' )

Paramètres

  1. array | string $selected

    Liste des entrées : tableau ou chaine séparée par des virgules

  2. string $type = ''

    Type de valeur à recuperer tel que rubrique, article

Retour

  • array

    liste des couples (objets => id_objet) ou liste des identifiants d'un type d'objet.

Exemples

  • picker_selected(array('article|1', 'article|2', 'rubrique|5')) retourne array('article' => 1, 'article' => 2, 'rubrique' => 5)
  • picker_selected(array('article|1', 'article|2', 'rubrique|5'), 'article') retourne array(1, 2)

Package

Filtre

  • picker_selected
Proposer une amélioration

Concrètement, va chercher tous les formulaires/selecteur/hierarchie-{trucs}.html Ensuite on ajoute les parents obligatoires éventuels

array selecteur_lister_objets( array $whitelist = array() , array $blacklist = array() )

Paramètres

  1. array $whitelist = array()

    Liste blanche décrivant les objets à lister

  2. array $blacklist = array()

    Liste noire décrivant les objets à ne pas lister

Retour

  • array

    Retourne un tableau de deux entrées listant les objets à lister et les objets sélectionnables

    • selectionner : tableau des objets que l'on pourra sélectionner (avec un +)
    • afficher : tableau des objets à afficher (mais pas forcément sélectionnables)

Package

Proposer une amélioration

On test d'abord si la rubrique a des sous rubriques, et sinon on regarde les autres types sélectionnables, puis on regarde si la rubrique contient certains de ces objets

string test_enfants_rubrique( integer $id_rubrique , array $types = array() )

Paramètres

  1. integer $id_rubrique

    Identifiant de la rubrique

  2. array $types = array()

    Liste de type d'objets. Si l'un de ces objet est présent dans la rubrique, alors cette rubrique est à afficher

Retour

  • string

    Comme le filtre oui : espace ( ) si rubrique à afficher, chaîne vide sinon.

Package

Note

  • Pour optimiser, la fonction calcule sa valeur sur toute la fratrie d'un coup, puisqu'elle est appellée N fois pour toutes les rubriques d'un même niveau
Proposer une amélioration