cextras.php
Déclaration d'autorisations pour les champs extras
Table of Contents
Functions
- 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
Functions
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