Documentation du code de SPIP et de ses plugins

Champs Extras

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
example
cextras_api_upgrade(motus_declarer_champs_extras(), $maj['create']);
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
example
cextras_api_vider_tables(motus_declarer_champs_extras());
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
note

Aucune garantie que $connect autre que la connexion principale fasse quelque chose

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


        
On this page

Search results