API Documentation
Table of Contents
Functions
- cextras_declarer_tables_objets_sql() : array<string|int, mixed>
- Déclarer les nouveaux champs et les nouvelles infos des objets éditoriaux
- cextras_declarer_tables_interfaces() : array<string|int, mixed>
- Déclarer les nouvelles infos sur les champs extras ajoutés en ce qui concerne les traitements automatiques sur les balises.
- balise_CHAMP_EXTRA_dist() : Champ
- Retourne la description de la saisie du champ demandé permettant ainsi d'exploiter ses données.
- calculer_balise_CHAMP_EXTRA() : mixed
- Retourne la description d'un champ extra indiqué
- balise_LISTER_CHOIX_dist() : Champ
- Retourne les choix possibles d'un champ extra donné
- calculer_balise_LISTER_CHOIX() : string|array<string|int, mixed>
- Retourne les choix possibles d'un champ extra indiqué
- balise_LISTER_VALEURS_dist() : Champ
- Liste les valeurs des champs de type liste (enum, radio, case)
- calculer_balise_LISTER_VALEURS() : string|array<string|int, mixed>
- Retourne liste des valeurs choisies pour un champ extra indiqué
- balise_VOIR_CHAMPS_EXTRAS_dist() : Champ
- Retourne le HTML de la vue des champs extras de la table
- champs_extras_voir_saisies() : string
- Retourne le HTML des vues des champs extras d'un objet
- cextras_declarer_champs_apres_les_autres() : array<string|int, mixed>
- Ajouter les déclaration dechamps extras sur les objets éditoriaux
- cextras_declarer_champs_interfaces_apres_les_autres() : array<string|int, mixed>
- Ajouter les déclaration d'interface des champs extras pour le compilateur
- champs_extras_objet() : array<string|int, mixed>
- Retourne la liste des saisies de champs extras concernant un objet donné
- champs_extras_autorisation() : array<string|int, mixed>
- Filtrer par autorisation les saisies transmises
- champs_extras_ajouter_drapeau_edition() : array<string|int, mixed>
- Ajoute pour chaque saisie de type SQL un drapeau (input hidden) permettant de retrouver les saisies editées.
- cextras_editer_contenu_objet() : array<string|int, mixed>
- Ajouter les champs extras sur les formulaires CVT editer_xx
- cextras_pre_edition() : array<string|int, mixed>
- Ajouter les champs extras soumis par les formulaire CVT editer_xx
- cextras_afficher_contenu_objet() : array<string|int, mixed>
- Ajouter les champs extras sur la visualisation de l'objet
- cextras_appliquer_traitements_saisies() : array<string|int, mixed>
- Pour les saisies transmises, appliquer les traitements sur leurs contenus
- cextras_formulaire_verifier() : array<string|int, mixed>
- Vérification de la validité des champs extras
- cextras_revisions_chercher_label() : array<string|int, mixed>
- Insertion dans le pipeline revisions_chercher_label (Plugin révisions) Trouver le bon label à afficher sur les champs dans les listes de révisions
- cextras_formulaire_fond() : array<string|int, mixed>
- Ajouter les saisies de champs extras sur des formulaires spécifiques
- cextras_crayons_controleur() : array<string|int, mixed>
- Définir une fonction de contrôleur pour Crayons si on tente d'éditer un champs extras.
- cextras_crayons_verifier() : array<string|int, mixed>
- Vérifier une saisie envoyée depuis un formulaire de Crayons.
- cextras_verifier_saisie() : false|string
- Vérifie qu'une valeur est acceptée par la déclaration de saisie transmise.
- controleurs_champs_extras_dist() : array<string|int, mixed>
- Controleur de Crayons pour les champs extras déclarés.
- cextra_preparer_contexte_crayons() : array<string|int, mixed>
- Prépare le tableau de saisies pour générer le formulaire spécifique à Crayons
- controleurs_champs_extras_fieldset_dist() : array<string|int, mixed>
- Controleur de Crayons pour les fieldset de champs extras déclarés.
- extras_log() : mixed
- Log une information
- cextras_objets_valides() : array<string|int, mixed>
- Retourne la liste des objets valides utilisables
- champs_extras_saisies_lister_avec_sql() : array<string|int, mixed>
- Liste les saisies ayant une definition SQL
- saisies_lister_avec_traitements() : array<string|int, mixed>
- Liste les saisies ayant des traitements
- champs_extras_saisies_inserer_classe_crayons() : mixed
- Déclarer la classe spécifique à crayons, permettant l'édition d'un champ
- champs_extras_creer() : bool|void
- Créer les champs extras (colonnes en base de données) definies par le lot de saisies donné
- champs_extras_supprimer() : bool
- Supprimer les champs extras (colonne dans la base de données) definies par le lot de saisies donné
- champs_extras_modifier() : bool
- Modifier les champs extras (colonne dans la base de données) definies par le lot de saisies donné
- cextras_api_upgrade() : bool
- Complète un tableau de mise à jour de plugin afin d'installer les champs extras.
- cextras_api_vider_tables() : bool
- Supprime les champs extras declarés
- extras_champs_utilisables() : array<string|int, mixed>
- Liste les tables et les champs que le plugin et spip savent gérer mais qui ne sont pas déclarés à SPIP
- extras_champs_anormaux() : array<string|int, mixed>
- Liste les champs anormaux par rapport aux définitions de SPIP
- extras_base() : array<string|int, mixed>
- Établit la liste de tous les champs de toutes les tables de la connexion sql donnée
- extras_tables() : array<string|int, mixed>
- Liste les tables SQL disponibles de la connexion sql donnée
- extras_champs() : array<string|int, mixed>
- Liste les champs dispos dans la table SQL de la connexion sql donnée
- cextras_obtenir_saisies_champs_extras() : array<string|int, mixed>
- Retourne les saisies de champs extras d'un objet éditorial indiqué
- champs_extras_serialiser() : string
- Serialiser un request d'un champ extra Par défaut, c'est un simple join, mais on peut proposer une fonction `champs_extras_serialiser_<type_de_saisie>` pour surcharg
- cextras_autoriser() : mixed
- Fonction d'appel pour le pipeline autoriser
- champs_extras_restrictions() : bool
- Retourne si une saisie peut s'afficher ou non
- autoriser_voirextra_dist() : bool
- Autorisation de voir un champ extra
- autoriser_modifierextra_dist() : bool
- Autorisation de modifier un champ extra
- restreindre_extras() : bool
- Fonction d'aide pour créer des autorisations de champs spécifiques
- _restreindre_extras_objet() : bool
- Fonction d'autorisation interne à la fonction restreindre_extras()
- _restreindre_extras_objet_sur_cible() : bool|int
- Fonction d'autorisation interne à la fonction restreindre_extras()
- inc_restreindre_extras_objet_sur_branche_dist() : bool
- Fonction d'autorisation interne à la fonction restreindre_extras() spécifique au test d'appartenance à une branche de rubrique
- inc_restreindre_extras_objet_sur_rubrique_dist() : bool
- Fonction d'autorisation interne à la fonction restreindre_extras() spécifique au test d'appartenance à une rubrique
- inc_restreindre_extras_objet_sur_secteur_dist() : bool
- Fonction d'autorisation interne à la fonction restreindre_extras() spécifique au test d'appartenance à un secteur
- inc_restreindre_extras_objet_sur_groupe_dist() : bool
- Fonction d'autorisation interne à la fonction restreindre_extras() spécifique au test d'appartenance à un groupe de mot
- inc_restreindre_extras_objet_sur_groupemot_dist() : bool
- Fonction d'autorisation interne à la fonction restreindre_extras() spécifique au test d'appartenance à un groupe de mot
- inc_restreindre_extras_objet_sur_mot_dist() : bool
- Fonction d'autorisation interne à la fonction restreindre_extras() spécifique au test de la présence d'un mot lié
- inc_restreindre_extras_objet_sur_composition_dist() : bool
- Fonction d'autorisation interne à la fonction restreindre_extras() spécifique au test de la présence d'une composition
- vues_champs_extras_dist() : mixed
- Retourner le code HTML de la vue d'un champ (ou plusieurs) champs extras pour Crayons
- cextras_preparer_vue() : array<string|int, mixed>
- Préparer le tableau de saisie pour l'affichage
- vues_champs_extras_fieldset_dist() : mixed
- Retourner le code HTML de la vue d'un fieldset de champs extras pour Crayons
- cextras_saisies_retrouver_fieldset() : array<string|int, mixed>
- Retrouver la saisie fieldset qui contient les champs indiqués.
- cextras_saisies_indiquer_parents() : array<string|int, mixed>
- Enregistrer le nom de la saisie parente pour les enfants des fieldset dans chaque enfant, dans la clé `_parent`
Functions
cextras_declarer_tables_objets_sql()
Déclarer les nouveaux champs et les nouvelles infos des objets éditoriaux
cextras_declarer_tables_objets_sql(array<string|int, mixed> $tables) : array<string|int, mixed>
La fonction déclare tous les champs extras (saisies de type sql).
Elle déclare aussi, en fonction des options choisies pour les champs
- la recherche dans le champs, avec une certaine pondération,
- le versionnage de champ,
- l'utilisation par le ctière {vu} du plugin-dist/medias
Parameters
- $tables : array<string|int, mixed>
-
Description des tables
Tags
Return values
array<string|int, mixed> —Description complétée des tables
cextras_declarer_tables_interfaces()
Déclarer les nouvelles infos sur les champs extras ajoutés en ce qui concerne les traitements automatiques sur les balises.
cextras_declarer_tables_interfaces(array<string|int, mixed> $interfaces) : array<string|int, mixed>
Parameters
- $interfaces : array<string|int, mixed>
-
Déclarations d'interface pour le compilateur
Tags
Return values
array<string|int, mixed> —Déclarations d'interface pour le compilateur
balise_CHAMP_EXTRA_dist()
Retourne la description de la saisie du champ demandé permettant ainsi d'exploiter ses données.
balise_CHAMP_EXTRA_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
AST au niveau de la balise
Tags
Return values
Champ —AST complété par le code PHP de la balise
calculer_balise_CHAMP_EXTRA()
Retourne la description d'un champ extra indiqué
calculer_balise_CHAMP_EXTRA(string $objet, string $colonne[, string $demande = '' ]) : mixed
Retourne le tableau de description des options de saisies ou un des attributs de ce tableau
Parameters
- $objet : string
-
Type d'objet
- $colonne : string
-
Nom de la colonne SQL
- $demande : string = ''
-
Nom du paramètre demandé. On cherche un nom de clé dans la description :
- dans le tableau 'options';
- sinon à la racine (ie. si 'saisie', retourne le type de saisie). Non renseigné, tout le tableau de description est retourné
Return values
mixed —- Tableau si toute la description est demandée
- Indéfini si un élément spécifique de la description est demandé.
- Chaine vide si le champs extra n'est pas trouvé
balise_LISTER_CHOIX_dist()
Retourne les choix possibles d'un champ extra donné
balise_LISTER_CHOIX_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
AST au niveau de la balise
Tags
Return values
Champ —AST complété par le code PHP de la balise
calculer_balise_LISTER_CHOIX()
Retourne les choix possibles d'un champ extra indiqué
calculer_balise_LISTER_CHOIX(string $objet, string $colonne[, bool $applatir = true ]) : string|array<string|int, mixed>
Parameters
- $objet : string
-
Type d'objet
- $colonne : string
-
Nom de la colonne SQL
- $applatir : bool = true
-
true pour applatir les choix possibles au premier niveau même si on a affaire à une liste de choix triée par groupe
Tags
Return values
string|array<string|int, mixed> —- Tableau des couples (clé => valeur) des choix
- Chaîne vide si le champs extra n'est pas trouvé
balise_LISTER_VALEURS_dist()
Liste les valeurs des champs de type liste (enum, radio, case)
balise_LISTER_VALEURS_dist(Champ $p) : Champ
Ces champs enregistrent en base la valeur de la clé Il faut donc transcrire clé -> valeur
Parameters
- $p : Champ
-
AST au niveau de la balise
Tags
Return values
Champ —AST complété par le code PHP de la balise
calculer_balise_LISTER_VALEURS()
Retourne liste des valeurs choisies pour un champ extra indiqué
calculer_balise_LISTER_VALEURS(string $objet, string $colonne, string $cles) : string|array<string|int, mixed>
Parameters
- $objet : string
-
Type d'objet
- $colonne : string
-
Nom de la colonne SQL
- $cles : string
-
Valeurs enregistrées pour ce champ dans la bdd pour l'objet en cours
Return values
string|array<string|int, mixed> —- Tableau des couples (clé => valeur) des choix
- Chaîne vide si le champs extra n'est pas trouvé
balise_VOIR_CHAMPS_EXTRAS_dist()
Retourne le HTML de la vue des champs extras de la table
balise_VOIR_CHAMPS_EXTRAS_dist(Champ $p) : Champ
Parameters
- $p : Champ
-
AST au niveau de la balise
Tags
Return values
Champ —AST complété par le code PHP de la balise
champs_extras_voir_saisies()
Retourne le HTML des vues des champs extras d'un objet
champs_extras_voir_saisies(string $objet, int $id_objet[, array<string|int, mixed> $contexte = array() ]) : string
Parameters
- $objet : string
-
Type d'objet
- $id_objet : int
-
Identifiant de l'objet
- $contexte : array<string|int, mixed> = array()
-
Contexte éventuel
Return values
string —Code HTML
cextras_declarer_champs_apres_les_autres()
Ajouter les déclaration dechamps extras sur les objets éditoriaux
cextras_declarer_champs_apres_les_autres(array<string|int, mixed> $tables) : array<string|int, mixed>
Parameters
- $tables : array<string|int, mixed>
-
Description des objets éditoriaux
Tags
Return values
array<string|int, mixed> —Description des objets éditoriaux
cextras_declarer_champs_interfaces_apres_les_autres()
Ajouter les déclaration d'interface des champs extras pour le compilateur
cextras_declarer_champs_interfaces_apres_les_autres(array<string|int, mixed> $interface) : array<string|int, mixed>
Parameters
- $interface : array<string|int, mixed>
-
Description des interfaces pour le compilateur
Tags
Return values
array<string|int, mixed> —Description des interfaces pour le compilateur
champs_extras_objet()
Retourne la liste des saisies de champs extras concernant un objet donné
champs_extras_objet(string $table) : array<string|int, mixed>
Parameters
- $table : string
-
Nom d'une table SQL éditoriale
Tags
Return values
array<string|int, mixed> —Liste des saisies de champs extras de l'objet
champs_extras_autorisation()
Filtrer par autorisation les saisies transmises
champs_extras_autorisation(string $faire[, string $quoi = '' ][, array<string|int, mixed> $saisies = array() ][, array<string|int, mixed> $args = array() ]) : array<string|int, mixed>
Chacune des saisies est parcourue et si le visiteur n'a pas l'autorisation de la voir, elle est enlevée de la liste. La fonction ne retourne donc que la liste des saisies que peut voir la personne.
Parameters
- $faire : string
-
Type d'autorisation testée : 'voir', 'modifier'
- $quoi : string = ''
-
Type d'objet tel que 'article'
- $saisies : array<string|int, mixed> = array()
-
Liste des saisies à filtrer
- $args : array<string|int, mixed> = array()
-
Arguments pouvant être utiles à l'autorisation
Return values
array<string|int, mixed> —Liste des saisies filtrées
champs_extras_ajouter_drapeau_edition()
Ajoute pour chaque saisie de type SQL un drapeau (input hidden) permettant de retrouver les saisies editées.
champs_extras_ajouter_drapeau_edition(array<string|int, mixed> $saisies) : array<string|int, mixed>
Particulièrement utile pour les checkbox qui ne renvoient rien si on les décoche.
Parameters
- $saisies : array<string|int, mixed>
-
Liste de saisies
Return values
array<string|int, mixed> —$saisies Saisies complétées des drapeaux d'édition
cextras_editer_contenu_objet()
Ajouter les champs extras sur les formulaires CVT editer_xx
cextras_editer_contenu_objet(array<string|int, mixed> $flux) : array<string|int, mixed>
Liste les champs extras de l'objet, et s'il y en a les ajoute sur le formulaire d'édition en ayant filtré uniquement les saisies que peut voir le visiteur et en ayant ajouté des champs hidden servant à champs extras.
Parameters
- $flux : array<string|int, mixed>
-
Données du pipeline
Tags
Return values
array<string|int, mixed> —Données du pipeline
cextras_pre_edition()
Ajouter les champs extras soumis par les formulaire CVT editer_xx
cextras_pre_edition(array<string|int, mixed> $flux) : array<string|int, mixed>
Pour chaque champs extras envoyé par le formulaire d'édition, ajoute les valeurs dans l'enregistrement à effectuer.
Parameters
- $flux : array<string|int, mixed>
-
Données du pipeline
Tags
Return values
array<string|int, mixed> —Données du pipeline
cextras_afficher_contenu_objet()
Ajouter les champs extras sur la visualisation de l'objet
cextras_afficher_contenu_objet(array<string|int, mixed> $flux) : array<string|int, mixed>
S'il y a des champs extras sur l'objet, la fonction les ajoute à la vue de l'objet, en enlevant les saisies que la personne n'a pas l'autorisation de voir.
Parameters
- $flux : array<string|int, mixed>
-
Données du pipeline
Tags
Return values
array<string|int, mixed> —Données du pipeline
cextras_appliquer_traitements_saisies()
Pour les saisies transmises, appliquer les traitements sur leurs contenus
cextras_appliquer_traitements_saisies(array<string|int, mixed> $saisies, array<string|int, mixed> $valeurs) : array<string|int, mixed>
On applique les eventuels traitements definis pour chaque saisie,
dans l'option 'traitements'. Si la valeur de l'option correspond
à une constante connue (tel que _TRAITEMENTS_RACCOURCIS
), ce
sera la valeur de la constante qui sera utilisée, sinon
directement le texte écrit. Il faut absolument %s
pour que cela fonctionne.
Parameters
- $saisies : array<string|int, mixed>
-
Liste décrivant les saisies
- $valeurs : array<string|int, mixed>
-
Couples (champ => valeur)
Tags
Return values
array<string|int, mixed> —Couples (champ => valeur traitée, le cas échéant)
cextras_formulaire_verifier()
Vérification de la validité des champs extras
cextras_formulaire_verifier(array<string|int, mixed> $flux) : array<string|int, mixed>
Lorsqu'un formulaire 'editer_xx' se présente, la fonction effectue, pour chaque champs extra les vérifications prévues dans la définition de la saisie, et retourne les éventuelles erreurs rencontrées.
Parameters
- $flux : array<string|int, mixed>
-
Données du pipeline
Tags
Return values
array<string|int, mixed> —Données du pipeline
cextras_revisions_chercher_label()
Insertion dans le pipeline revisions_chercher_label (Plugin révisions) Trouver le bon label à afficher sur les champs dans les listes de révisions
cextras_revisions_chercher_label(array<string|int, mixed> $flux) : array<string|int, mixed>
Si un champ est un champ extra, son label correspond au label défini du champs extra
Parameters
- $flux : array<string|int, mixed>
-
Données du pipeline
Tags
Return values
array<string|int, mixed> —Données du pipeline
cextras_formulaire_fond()
Ajouter les saisies de champs extras sur des formulaires spécifiques
cextras_formulaire_fond(array<string|int, mixed> $flux) : array<string|int, mixed>
Les champs extras s'ajoutent déjà automatiquement sur les formulaires d'édition
des objets éditoriaux. Pour d'autres formulaires plus spécifiques, tel
que des formulaires d'inscriptions, il est possible d'envoyer,
dans la partie 'charger' du formulaire en question la clé
_champs_extras_saisies
, listant les saisies à afficher dedans.
Elles seront ajoutées automatiquement à l'endroit où le code
html <!--extra-->
est présent dans le formulaire.
Parameters
- $flux : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>cextras_crayons_controleur()
Définir une fonction de contrôleur pour Crayons si on tente d'éditer un champs extras.
cextras_crayons_controleur(array<string|int, mixed> $flux) : array<string|int, mixed>
Si on édite un champs extras avec Crayons, sans avoir créé manuellement de contrôleur spécifique pour le champ en question, Crayons propose soit un textarea, soit un input.
Vu que l'on connaît les déclarations de nos champs extras, on va les utiliser pour créer un formulaire d'édition plus adapté à notre champ.
Parameters
- $flux : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>cextras_crayons_verifier()
Vérifier une saisie envoyée depuis un formulaire de Crayons.
cextras_crayons_verifier(array<string|int, mixed> $flux) : array<string|int, mixed>
Parameters
- $flux : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>cextras_verifier_saisie()
Vérifie qu'une valeur est acceptée par la déclaration de saisie transmise.
cextras_verifier_saisie(array<string|int, mixed> $saisie, mixed $valeur[, mixed &$normaliser = null ][, bool $depuis_crayons = false ]) : false|string
Obsolète, ne plus utiliser. Cextras passe désormais par l'api de verification de saisies, et les plugins qui appellent cette fonction devraient faire de même.
Parameters
- $saisie : array<string|int, mixed>
- $valeur : mixed
- $normaliser : mixed = null
-
Valeur normalisée, le cas échéant
- $depuis_crayons : bool = false
-
true si en provenance d'une vérification par Crayons.
Return values
false|string —Message d'erreur, le cas echéant.
controleurs_champs_extras_dist()
Controleur de Crayons pour les champs extras déclarés.
controleurs_champs_extras_dist(array<string|int, mixed> $regs[, array<string|int, mixed>|null $c = null ]) : array<string|int, mixed>
Parameters
- $regs : array<string|int, mixed>
- $c : array<string|int, mixed>|null = null
Return values
array<string|int, mixed> —Liste html, erreur
cextra_preparer_contexte_crayons()
Prépare le tableau de saisies pour générer le formulaire spécifique à Crayons
cextra_preparer_contexte_crayons(array<string|int, mixed> $saisies, array<string|int, mixed> $valeurs, mixed $key[, mixed $profondeur = 0 ]) : array<string|int, mixed>
Enlève certaines informations de la saisie pour simplifier l'édition rapide avec crayons (pas de label, explication, ...).
On prend en compte les champs de type fieldset.
Parameters
- $saisies : array<string|int, mixed>
- $valeurs : array<string|int, mixed>
- $key : mixed
- $profondeur : mixed = 0
Return values
array<string|int, mixed> —Contexte pour le controleur champs extras du formulaire de crayons
controleurs_champs_extras_fieldset_dist()
Controleur de Crayons pour les fieldset de champs extras déclarés.
controleurs_champs_extras_fieldset_dist(array<string|int, mixed> $regs[, array<string|int, mixed>|null $c = null ]) : array<string|int, mixed>
Parameters
- $regs : array<string|int, mixed>
- $c : array<string|int, mixed>|null = null
Return values
array<string|int, mixed> —Liste html, erreur
extras_log()
Log une information
extras_log(mixed $contenu[, bool $important = false ]) : mixed
Parameters
- $contenu : mixed
-
Contenu à loger
- $important : bool = false
-
Est-ce une info importante à loger ?
cextras_objets_valides()
Retourne la liste des objets valides utilisables
cextras_objets_valides() : array<string|int, mixed>
C'est à dire les objets dont on peut afficher les champs dans les formulaires, ce qui correspond aux objets éditoriaux déclarés comme avec l'option principale.
Return values
array<string|int, mixed> —Couples (table sql => description de l'objet éditorial)
champs_extras_saisies_lister_avec_sql()
Liste les saisies ayant une definition SQL
champs_extras_saisies_lister_avec_sql(array<string|int, mixed> $saisies) : array<string|int, mixed>
S'assurer de l'absence de clé, qui fait croire à saisies que le tableau est déjà à plat alors que ce n'est pas forcément encore le cas (ie: il peut y avoir des fieldset à prendre en compte).
Parameters
- $saisies : array<string|int, mixed>
-
liste de saisies
Return values
array<string|int, mixed> —Liste de ces saisies triees par nom ayant une option sql définie
saisies_lister_avec_traitements()
Liste les saisies ayant des traitements
saisies_lister_avec_traitements(array<string|int, mixed> $saisies[, string $tri = 'nom' ]) : array<string|int, mixed>
Retourne uniquement les saisies ayant traitements à appliquer sur les champs tel que des traitements typo ou traitements raccourcis.
Parameters
- $saisies : array<string|int, mixed>
-
Liste de saisies
- $tri : string = 'nom'
-
Tri par défaut des résultats (s'ils ne sont pas deja triés) ('nom', 'identifiant')
Return values
array<string|int, mixed> —Liste de ces saisies triées par nom ayant des traitements définis
champs_extras_saisies_inserer_classe_crayons()
Déclarer la classe spécifique à crayons, permettant l'édition d'un champ
champs_extras_saisies_inserer_classe_crayons(array<string|int, mixed> $saisies, string $type, int $id) : mixed
On complète (ou crée) l'option 'vue_class' avec la classe pour crayonner. On utilise 'conteneur_class' pour les fieldset.
Parameters
- $saisies : array<string|int, mixed>
- $type : string
- $id : int
champs_extras_creer()
Créer les champs extras (colonnes en base de données) definies par le lot de saisies donné
champs_extras_creer(string $table, array<string|int, mixed> $saisies) : bool|void
Parameters
- $table : string
-
Nom de la table SQL
- $saisies : array<string|int, mixed>
-
Description des saisies
Return values
bool|void —False si pas de table ou aucune saisie de type SQL
champs_extras_supprimer()
Supprimer les champs extras (colonne dans la base de données) definies par le lot de saisies donné
champs_extras_supprimer(string $table, array<string|int, mixed> $saisies) : bool
Parameters
- $table : string
-
Nom de la table SQL
- $saisies : array<string|int, mixed>
-
Description des saisies
Return values
bool —False si pas de table, aucune saisie de type SQL, ou une suppression en erreur True si toutes les suppressions sont OK
champs_extras_modifier()
Modifier les champs extras (colonne dans la base de données) definies par le lot de saisies donné
champs_extras_modifier(string $table, array<string|int, mixed> $saisies_nouvelles, array<string|int, mixed> $saisies_anciennes) : bool
Permet de changer la structure SQL ou le nom de la colonne des saisies
Parameters
- $table : string
-
Nom de la table SQL
- $saisies_nouvelles : array<string|int, mixed>
-
Description des saisies nouvelles
- $saisies_anciennes : array<string|int, mixed>
-
Description des saisies anciennes
Return values
bool —True si les changement SQL sont correctement effectués
cextras_api_upgrade()
Complète un tableau de mise à jour de plugin afin d'installer les champs extras.
cextras_api_upgrade(array<string|int, mixed> $declaration_champs_extras, array<string|int, mixed> &$maj_item) : bool
Parameters
- $declaration_champs_extras : array<string|int, mixed>
-
Liste de champs extras à installer, c'est à dire la liste de saisies présentes dans le pipeline declarer_champs_extras() du plugin qui demande l'installation
- $maj_item : array<string|int, mixed>
-
Un des éléments du tableau d'upgrade $maj, il sera complété des actions d'installation des champs extras demandés
Tags
Return values
bool —false si les déclarations sont mal formées true sinon
cextras_api_vider_tables()
Supprime les champs extras declarés
cextras_api_vider_tables(array<string|int, mixed> $declaration_champs_extras) : bool
Parameters
- $declaration_champs_extras : array<string|int, mixed>
-
Liste de champs extras à désinstaller, c'est à dire la liste de saisies présentes dans le pipeline declarer_champs_extras() du plugin qui demande la désinstallation
Tags
Return values
bool —false si déclaration mal formée true sinon
extras_champs_utilisables()
Liste les tables et les champs que le plugin et spip savent gérer mais qui ne sont pas déclarés à SPIP
extras_champs_utilisables([string $connect = '' ]) : array<string|int, mixed>
Parameters
- $connect : string = ''
-
Nom du connecteur de base de données
Return values
array<string|int, mixed> —Tableau (table => couples(colonne => description SQL))
extras_champs_anormaux()
Liste les champs anormaux par rapport aux définitions de SPIP
extras_champs_anormaux([string $connect = '' ]) : array<string|int, mixed>
Parameters
- $connect : string = ''
-
Nom du connecteur de base de données
Tags
Return values
array<string|int, mixed> —Tableau (table => couples(colonne => description SQL))
extras_base()
Établit la liste de tous les champs de toutes les tables de la connexion sql donnée
extras_base([string $connect = '' ]) : array<string|int, mixed>
Ignore la table 'spip_test'
Parameters
- $connect : string = ''
-
Nom du connecteur de base de données
Return values
array<string|int, mixed> —Tableau (table => couples(colonne => description SQL))
extras_tables()
Liste les tables SQL disponibles de la connexion sql donnée
extras_tables([string $connect = '' ]) : array<string|int, mixed>
Parameters
- $connect : string = ''
-
Nom du connecteur de base de données
Return values
array<string|int, mixed> —Liste de tables SQL
extras_champs()
Liste les champs dispos dans la table SQL de la connexion sql donnée
extras_champs(string $table, string $connect) : array<string|int, mixed>
Parameters
- $table : string
-
Nom de la table SQL
- $connect : string
-
Nom du connecteur de base de données
Return values
array<string|int, mixed> —Couples (colonne => description SQL)
cextras_obtenir_saisies_champs_extras()
Retourne les saisies de champs extras d'un objet éditorial indiqué
cextras_obtenir_saisies_champs_extras(string $objet[, int|null $id_objet = null ][, array<string|int, mixed> $options = array() ]) : array<string|int, mixed>
Les saisies sont filtrées, par défaut par l'autorisation de modifier chaque champs extras. Des options peuvent modifier le comportement.
Parameters
- $objet : string
-
Type de l'objet éditorial
- $id_objet : int|null = null
-
Identifiant de l'objet (si connu) peut servir aux autorisations.
- $options : array<string|int, mixed> = array()
-
{ @var string $autoriser 'voir' ou 'modifier' (par défaut) : type d'autorisation testé, appellera voirextra ou modifierextra… @var string[] $whitelist Liste blanche de noms de champs : ces champs seront à afficher, et uniquement eux (modulo l'autorisation sur chaque champ) @var string[] $blacklist Liste noire de noms de champs : ces champs ne seront pas affichés (quelque soit l'autorisation sur chaque champ) }
Return values
array<string|int, mixed> —Liste de saisies, les champs extras sur l'objet indiqué
champs_extras_serialiser()
Serialiser un request d'un champ extra Par défaut, c'est un simple join, mais on peut proposer une fonction `champs_extras_serialiser_<type_de_saisie>` pour surcharg
champs_extras_serialiser(string $extra, array<string|int, mixed> $saisie) : string
Parameters
- $extra : string
-
la valeur du champ extra
- $saisie : array<string|int, mixed>
-
la saisie décrivant le champ extra
Return values
string —la valeur sérialisée
cextras_autoriser()
Fonction d'appel pour le pipeline autoriser
cextras_autoriser() : mixed
Tags
champs_extras_restrictions()
Retourne si une saisie peut s'afficher ou non
champs_extras_restrictions(array<string|int, mixed> $saisie, string $action, string $table, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool
Teste les options de restrictions de la saisie si il y en a et calcule en fonction l'autorisation
Parameters
- $saisie : array<string|int, mixed>
-
Saisie que l'on traite.
- $action : string
-
Le type d'action : voir | modifier
- $table : string
-
La table d'application : spip_articles
- $id : int
-
Identifiant de la table : 3
- $qui : array<string|int, mixed>
-
Description de l'auteur en cours
- $opt : array<string|int, mixed>
-
Options de l'autorisation
Return values
bool —La saisie peut elle s'afficher ?
autoriser_voirextra_dist()
Autorisation de voir un champ extra
autoriser_voirextra_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool
Cherche une autorisation spécifique pour le champ si elle existe (autoriser_{objet}voirextra{colonne}_dist), sinon applique l'autorisation prévue par la description de la saisie
Parameters
- $faire : string
-
Action demandée
- $type : string
-
Type d'objet sur lequel appliquer l'action
- $id : int
-
Identifiant de l'objet
- $qui : array<string|int, mixed>
-
Description de l'auteur demandant l'autorisation
- $opt : array<string|int, mixed>
-
Options de cette autorisation
Tags
Return values
bool —true s'il a le droit, false sinon
autoriser_modifierextra_dist()
Autorisation de modifier un champ extra
autoriser_modifierextra_dist(string $faire, string $type, int $id, array<string|int, mixed> $qui, array<string|int, mixed> $opt) : bool
Cherche une autorisation spécifique pour le champ si elle existe (autoriser_{objet}modifierextra{colonne}_dist), sinon applique l'autorisation prévue par la description de la saisie
Parameters
- $faire : string
-
Action demandée
- $type : string
-
Type d'objet sur lequel appliquer l'action
- $id : int
-
Identifiant de l'objet
- $qui : array<string|int, mixed>
-
Description de l'auteur demandant l'autorisation
- $opt : array<string|int, mixed>
-
Options de cette autorisation
Tags
Return values
bool —true s'il a le droit, false sinon
restreindre_extras()
Fonction d'aide pour créer des autorisations de champs spécifiques
restreindre_extras(string $objet[, mixed $noms = array() ][, mixed $ids = array() ][, string $cible = 'rubrique' ][, bool $recursif = false ]) : bool
Permet d'indiquer que tels champs extras se limitent à telle ou telle rubrique et cela en créant à la volée les fonctions d'autorisations adéquates.
Parameters
- $objet : string
-
Objet possédant les extras
- $noms : mixed = array()
-
Nom des extras a restreindre
- $ids : mixed = array()
-
Identifiant (des rubriques par defaut) sur lesquelles s'appliquent les champs
- $cible : string = 'rubrique'
-
Type de la fonction de test qui sera appelee, par defaut "rubrique". Peut aussi etre "secteur", "groupe" ou des fonctions definies
- $recursif : bool = false
-
Application recursive sur les sous rubriques ? ATTENTION, c'est gourmand en requetes SQL :)
Tags
Return values
bool —true si on a fait quelque chose
_restreindre_extras_objet()
Fonction d'autorisation interne à la fonction restreindre_extras()
_restreindre_extras_objet(string $objet, int $id_objet, array<string|int, mixed> $opt, mixed $ids[, string $cible = 'rubrique' ][, bool $recursif = false ]) : bool
Teste si un objet à le droit d'afficher des champs extras en fonction de la rubrique (ou autre defini dans la cible) dans laquelle il se trouve et des rubriques autorisées
On met en cache pour éviter de plomber le serveur SQL, vu que la plupart du temps un hit demandera systématiquement le même objet/id_objet lorsqu'il affiche un formulaire.
Parameters
- $objet : string
-
Objet possédant les extras
- $id_objet : int
-
Identifiant de l'objet possédant les extras
- $opt : array<string|int, mixed>
-
Options des autorisations
- $ids : mixed
-
Identifiant(s) (en rapport avec la cible) sur lesquelles s'appliquent les champs
- $cible : string = 'rubrique'
-
Type de la fonction de test qui sera appelee, par defaut "rubrique". Peut aussi etre "secteur", "groupe" ou des fonctions definies
- $recursif : bool = false
-
Application recursive sur les sous rubriques ? ATTENTION, c'est gourmand en requetes SQL :)
Return values
bool —Autorisé ou non
_restreindre_extras_objet_sur_cible()
Fonction d'autorisation interne à la fonction restreindre_extras()
_restreindre_extras_objet_sur_cible(string $objet, int $id_objet, array<string|int, mixed> $opt, mixed $ids, bool $_id_cible) : bool|int
Teste si un objet à le droit d'afficher des champs extras en fonction de la rubrique (ou autre defini dans la cible) dans laquelle il se trouve et des rubriques autorisées
Le dernier argument donne la colonne à chercher dans l'objet correspondant
Parameters
- $objet : string
-
Objet possédant les extras
- $id_objet : int
-
Identifiant de l'objet possédant les extras
- $opt : array<string|int, mixed>
-
Options des autorisations
- $ids : mixed
-
Identifiant(s) (en rapport avec la cible) sur lesquelles s'appliquent les champs
- $_id_cible : bool
-
Nom de la colonne SQL cible (id_rubrique, id_secteur, id_groupe...)
Return values
bool|int —- true : autorisé,
- false : non autorisé,
- 0 : incertain.
inc_restreindre_extras_objet_sur_branche_dist()
Fonction d'autorisation interne à la fonction restreindre_extras() spécifique au test d'appartenance à une branche de rubrique
inc_restreindre_extras_objet_sur_branche_dist(string $objet, int $id_objet, array<string|int, mixed> $opt, mixed $ids, bool $recursif) : bool
Parameters
- $objet : string
-
Objet possédant les extras
- $id_objet : int
-
Identifiant de l'objet possédant les extras
- $opt : array<string|int, mixed>
-
Options des autorisations
- $ids : mixed
-
Identifiant(s) des branches de rubrique sur lesquelles s'appliquent les champs
- $recursif : bool
-
Non utilisé
Tags
Return values
bool —Autorisé ou non
inc_restreindre_extras_objet_sur_rubrique_dist()
Fonction d'autorisation interne à la fonction restreindre_extras() spécifique au test d'appartenance à une rubrique
inc_restreindre_extras_objet_sur_rubrique_dist(string $objet, int $id_objet, array<string|int, mixed> $opt, mixed $ids, bool $recursif) : bool
Parameters
- $objet : string
-
Objet possédant les extras
- $id_objet : int
-
Identifiant de l'objet possédant les extras
- $opt : array<string|int, mixed>
-
Options des autorisations
- $ids : mixed
-
Identifiant(s) des rubriques sur lesquelles s'appliquent les champs
- $recursif : bool
-
Application récursive sur les sous rubriques ? ATTENTION, c'est gourmand en requetes SQL :)
Return values
bool —Autorisé ou non
inc_restreindre_extras_objet_sur_secteur_dist()
Fonction d'autorisation interne à la fonction restreindre_extras() spécifique au test d'appartenance à un secteur
inc_restreindre_extras_objet_sur_secteur_dist(string $objet, int $id_objet, array<string|int, mixed> $opt, mixed $ids[, bool $recursif = false ]) : bool
Parameters
- $objet : string
-
Objet possédant les extras
- $id_objet : int
-
Identifiant de l'objet possédant les extras
- $opt : array<string|int, mixed>
-
Options des autorisations
- $ids : mixed
-
Identifiant(s) des secteurs sur lesquelles s'appliquent les champs
- $recursif : bool = false
-
Non utilisé
Return values
bool —Autorisé ou non
inc_restreindre_extras_objet_sur_groupe_dist()
Fonction d'autorisation interne à la fonction restreindre_extras() spécifique au test d'appartenance à un groupe de mot
inc_restreindre_extras_objet_sur_groupe_dist(string $objet, int $id_objet, array<string|int, mixed> $opt, mixed $ids, bool $recursif) : bool
Alias de groupemot
Parameters
- $objet : string
-
Objet possédant les extras
- $id_objet : int
-
Identifiant de l'objet possédant les extras
- $opt : array<string|int, mixed>
-
Options des autorisations
- $ids : mixed
-
Identifiant(s) des groupes de mots sur lesquelles s'appliquent les champs
- $recursif : bool
-
True pour appliquer aux branches d'un groupe de mot (avec plugin spécifique groupe de mots arborescents)
Tags
Return values
bool —Autorisé ou non
inc_restreindre_extras_objet_sur_groupemot_dist()
Fonction d'autorisation interne à la fonction restreindre_extras() spécifique au test d'appartenance à un groupe de mot
inc_restreindre_extras_objet_sur_groupemot_dist(string $objet, int $id_objet, array<string|int, mixed> $opt, mixed $ids, bool $recursif) : bool
Parameters
- $objet : string
-
Objet possédant les extras
- $id_objet : int
-
Identifiant de l'objet possédant les extras
- $opt : array<string|int, mixed>
-
Options des autorisations
- $ids : mixed
-
Identifiant(s) des groupes de mots sur lesquelles s'appliquent les champs
- $recursif : bool
-
True pour appliquer aux branches d'un groupe de mot (avec plugin spécifique groupe de mots arborescents)
Return values
bool —Autorisé ou non
inc_restreindre_extras_objet_sur_mot_dist()
Fonction d'autorisation interne à la fonction restreindre_extras() spécifique au test de la présence d'un mot lié
inc_restreindre_extras_objet_sur_mot_dist(string $objet, int $id_objet, array<string|int, mixed> $opt, mixed $ids, bool $recursif) : bool
Parameters
- $objet : string
-
Objet possédant les extras
- $id_objet : int
-
Identifiant de l'objet possédant les extras
- $opt : array<string|int, mixed>
-
Options des autorisations
- $ids : mixed
-
Identifiant(s) des mots sur lesquels s'appliquent les champs
- $recursif : bool
-
Inutile, la récursivité est prise en charge par compositions_determiner()
Return values
bool —Autorisé ou non
inc_restreindre_extras_objet_sur_composition_dist()
Fonction d'autorisation interne à la fonction restreindre_extras() spécifique au test de la présence d'une composition
inc_restreindre_extras_objet_sur_composition_dist(string $objet, int $id_objet, array<string|int, mixed> $opt, mixed $ids, bool $recursif) : bool
Parameters
- $objet : string
-
Objet possédant les extras
- $id_objet : int
-
Identifiant de l'objet possédant les extras
- $opt : array<string|int, mixed>
-
Options des autorisations
- $ids : mixed
-
Identifiant(s) des compositions sur lesquelles s'appliquent les champs
- $recursif : bool
-
Inutile, la récursivité est prise en charge par compositions_determiner()
Return values
bool —Autorisé ou non
vues_champs_extras_dist()
Retourner le code HTML de la vue d'un champ (ou plusieurs) champs extras pour Crayons
vues_champs_extras_dist(string $type, string $modele, int $id, array<string|int, mixed> $content, mixed $wid) : mixed
Parameters
- $type : string
-
Type d'objet
- $modele : string
-
Nom du modèle donné par le contrôleur
- $id : int
-
Identifiant de l'objet
- $content : array<string|int, mixed>
-
Couples champs / valeurs postés.
- $wid : mixed
-
Identifiant du formulaire
Tags
cextras_preparer_vue()
Préparer le tableau de saisie pour l'affichage
cextras_preparer_vue(array<string|int, mixed> $saisies[, bool $affichage_reduit = false ]) : array<string|int, mixed>
Parameters
- $saisies : array<string|int, mixed>
- $affichage_reduit : bool = false
Tags
Return values
array<string|int, mixed>vues_champs_extras_fieldset_dist()
Retourner le code HTML de la vue d'un fieldset de champs extras pour Crayons
vues_champs_extras_fieldset_dist(string $type, string $modele, int $id, array<string|int, mixed> $content, mixed $wid) : mixed
Parameters
- $type : string
-
Type d'objet
- $modele : string
-
Nom du modèle donné par le contrôleur
- $id : int
-
Identifiant de l'objet
- $content : array<string|int, mixed>
-
Couples champs / valeurs postés.
- $wid : mixed
-
Identifiant du formulaire
Tags
cextras_saisies_retrouver_fieldset()
Retrouver la saisie fieldset qui contient les champs indiqués.
cextras_saisies_retrouver_fieldset(array<string|int, mixed> $saisies, array<string|int, mixed> $noms) : array<string|int, mixed>
Parameters
- $saisies : array<string|int, mixed>
- $noms : array<string|int, mixed>
Return values
array<string|int, mixed>cextras_saisies_indiquer_parents()
Enregistrer le nom de la saisie parente pour les enfants des fieldset dans chaque enfant, dans la clé `_parent`
cextras_saisies_indiquer_parents(array<string|int, mixed> $saisies) : array<string|int, mixed>
Parameters
- $saisies : array<string|int, mixed>