Documentation du code de SPIP et de ses plugins

SPIP

editer.php

Fonctions d'aide à l'édition d'objets éditoriaux.

Table of Contents

Functions

formulaires_editer_objet_traiter()  : array<string|int, mixed>
Effectue les traitements d'un formulaire d'édition d'objet éditorial
formulaires_editer_objet_verifier()  : array<string|int, mixed>
Teste les erreurs de validation d'un formulaire d'édition d'objet éditorial
formulaires_editer_objet_charger()  : array<string|int, mixed>
Construit les valeurs de chargement d'un formulaire d'édition d'objet éditorial
coupe_trop_long()  : array<string|int, mixed>
Gestion des textes trop longs (limitation brouteurs) utile pour les textes > 32ko
titre_automatique()  : mixed
auto-renseigner le titre si il n'existe pas
inc_titrer_contenu_dist()  : string
Déterminer un titre automatique, à partir des champs textes de contenu
controles_md5()  : string|array<string|int, mixed>
Calcule des clés de contrôles md5 d'un tableau de données.
controler_contenu()  : bool|null|array<string|int, mixed>
Contrôle les contenus postés d'un objet en vérifiant qu'il n'y a pas de conflit d'édition
controler_md5()  : null|array<string|int, mixed>
Contrôle la liste des md5 envoyés, supprime les inchangés, signale les modifiés depuis telle date
display_conflit_champ()  : string
Afficher le contenu d'un champ selon sa longueur soit dans un `textarea`, soit dans un `input`

Functions

formulaires_editer_objet_traiter()

Effectue les traitements d'un formulaire d'édition d'objet éditorial

formulaires_editer_objet_traiter(string $type[, int|string $id = 'new' ][, int $id_parent = 0 ][, int $lier_trad = 0 ][, string $retour = '' ][, string $config_fonc = 'articles_edit_config' ][, array<string|int, mixed> $row = [] ][, string $hidden = '' ]) : array<string|int, mixed>

Exécute une action d'édition spécifique au type d'objet s'il elle existe (fonction action_editer_$type), sinon exécute l'action générique d'édition d'objet (action_editer_objet_dist())

Si une traduction était demandée, crée le lien avec l'objet qui est traduit.

Parameters
$type : string

Type d'objet

$id : int|string = 'new'

Identifiant de l'objet à éditer, 'new' pour un nouvel objet

$id_parent : int = 0

Identifiant de l'objet parent

$lier_trad : int = 0

Identifiant de l'objet servant de source à une nouvelle traduction

$retour : string = ''

URL de redirection après les traitements

$config_fonc : string = 'articles_edit_config'

Nom de fonction appelée au chargement permettant d'ajouter des valeurs de configurations dans l'environnement du formulaire

$row : array<string|int, mixed> = []

Ligne SQL de l'objet édité, si connu. En absence, les données sont chargées depuis l'objet en base s'il existe ou depuis l'objet source d'une traduction si c'est un nouvel objet (et une traduction).

$hidden : string = ''

Contenu HTML ajouté en même temps que les champs cachés (input hidden) du formulaire.

Tags
see
action_editer_objet_dist()
used-by
formulaires_editer_article_traiter_dist()
Return values
array<string|int, mixed>

Retour des traitements.

formulaires_editer_objet_verifier()

Teste les erreurs de validation d'un formulaire d'édition d'objet éditorial

formulaires_editer_objet_verifier(string $type[, int|string $id = 'new' ][, array<string|int, mixed> $oblis = [] ]) : array<string|int, mixed>

La fonction teste que :

  • il n'y a pas de conflit d'édition sur un ou plusieurs champs (c'est à dire que personne d'autre n'a modifié le champ entre le moment où on a saisi et le moment où on a validé le formulaire
  • tous les champs obligatoires (listés dans $oblis) sont remplis.
Parameters
$type : string

Type d'objet

$id : int|string = 'new'

Identifiant de l'objet à éditer, 'new' pour un nouvel objet

$oblis : array<string|int, mixed> = []

Liste de champs obligatoires : ils doivent avoir un contenu posté.

Return values
array<string|int, mixed>

Tableau des erreurs

formulaires_editer_objet_charger()

Construit les valeurs de chargement d'un formulaire d'édition d'objet éditorial

formulaires_editer_objet_charger(string $type[, int|string $id = 'new' ][, int|null $id_parent = 0 ][, int $lier_trad = 0 ][, string $retour = '' ][, string $config_fonc = 'articles_edit_config' ][, array<string|int, mixed> $row = [] ][, string $hidden = '' ]) : array<string|int, mixed>

La fonction calcule les valeurs qui seront transmises à l'environnement du formulaire pour son affichage. Ces valeurs sont les champs de l'objet éditorial d'une part, mais aussi d'autres calculant la clé d'action, les pipelines devant faire transiter le contenu HTML du formulaire, ainsi que différents champs cachés utilisés ensuite dans les traitements.

Lorsqu'une création d'objet est demandée, ou lorsqu'on demande une traduction d'un autre, la fonction tente de précharger le contenu de l'objet en utilisant une fonction inc_precharger_{type}_dist permettant par exemple de remplir le contenu avec du texte, notamment avec la traduction source.

Parameters
$type : string

Type d'objet

$id : int|string = 'new'

Identifiant de l'objet à éditer, 'new' pour un nouvel objet

$id_parent : int|null = 0

Identifiant de l'objet parent Si null, le calcule d’après le contexte.

$lier_trad : int = 0

Identifiant de l'objet servant de source à une nouvelle traduction

$retour : string = ''

URL de redirection après les traitements

$config_fonc : string = 'articles_edit_config'

Nom de fonction appelée au chargement permettant d'ajouter des valeurs de configurations dans l'environnement du formulaire

$row : array<string|int, mixed> = []

Ligne SQL de l'objet édité, si connu. En absence, les données sont chargées depuis l'objet en base s'il existe ou depuis l'objet source d'une traduction si c'est un nouvel objet (et une traduction).

$hidden : string = ''

Contenu HTML ajouté en même temps que les champs cachés (input hidden) du formulaire.

Return values
array<string|int, mixed>

Environnement du formulaire.

coupe_trop_long()

Gestion des textes trop longs (limitation brouteurs) utile pour les textes > 32ko

coupe_trop_long(string $texte) : array<string|int, mixed>
Parameters
$texte : string
Return values
array<string|int, mixed>

titre_automatique()

auto-renseigner le titre si il n'existe pas

titre_automatique(string $champ_titre, array<string|int, mixed> $champs_contenu[, int $longueur = null ]) : mixed
Parameters
$champ_titre : string
$champs_contenu : array<string|int, mixed>
$longueur : int = null

inc_titrer_contenu_dist()

Déterminer un titre automatique, à partir des champs textes de contenu

inc_titrer_contenu_dist(array<string|int, mixed> $champs_contenu[, array<string|int, mixed>|null $c = null ][, int $longueur = 50 ]) : string

Les textes et le titre sont pris dans les champs postés (via _request()) et le titre calculé est de même affecté en tant que champ posté.

Parameters
$champs_contenu : array<string|int, mixed>

Liste des champs contenu textuels

$c : array<string|int, mixed>|null = null

tableau qui contient les valeurs des champs de contenu si null on utilise les valeurs du POST

$longueur : int = 50

Longueur de coupe du texte

Return values
string

controles_md5()

Calcule des clés de contrôles md5 d'un tableau de données.

controles_md5(array<string|int, mixed> $data[, string $prefixe = 'ctr_' ][, string $format = 'html' ]) : string|array<string|int, mixed>

Produit la liste des md5 d'un tableau de données, normalement un tableau des colonnes/valeurs d'un objet éditorial.

Parameters
$data : array<string|int, mixed>

Couples (colonne => valeur). La valeur est un entier ou un texte.

$prefixe : string = 'ctr_'

Préfixe à appliquer sur les noms des clés de contrôles, devant le nom de la colonne

$format : string = 'html'
  • html : Retourne les contrôles sous forme de input hidden pour un formulaire
  • autre : Retourne le tableau ('$prefixe$colonne => md5)
Return values
string|array<string|int, mixed>
  • string (avec format html) : contrôles dans des input hidden
  • array sinon couples ('$prefixe$colonne => md5)

controler_contenu()

Contrôle les contenus postés d'un objet en vérifiant qu'il n'y a pas de conflit d'édition

controler_contenu(string $type, int $id[, array<string|int, mixed> $options = [] ][, array<string|int, mixed>|bool $c = false ][, string $serveur = '' ]) : bool|null|array<string|int, mixed>

Repère les conflits d'édition sur un ou plusieurs champs. C'est à dire lorsqu'une autre personne a modifié le champ entre le moment où on a édité notre formulaire et le moment où on a validé le formulaire

Parameters
$type : string

Type d'objet

$id : int

Identifiant de l'objet

$options : array<string|int, mixed> = []

Tableau d'options. Accèpte les index :

  • nonvide : Couples (colonne => valeur par défaut). Tous les champs postés qui sont vides, s'il y en a dans cette option, sont remplacés par la valeur indiquée
  • prefix : Préfixe des clés de contrôles ('ctr_' par défaut). Une clé de controle tel que 'ctr_titre' contient le md5 du titre au moment de l'édition.
$c : array<string|int, mixed>|bool = false

Tableau de couples (colonne=>valeur) à tester. Non renseigné, la fonction prend toutes les colonne de l'objet via _request()

$serveur : string = ''

Nom du connecteur de base de données

Return values
bool|null|array<string|int, mixed>

False si aucun champ posté. Null si aucune modification sur les champs. Tableau vide si aucun de conflit d'édition. Tableau (clé => tableau du conflit). L'index est la colonne en conflit, la valeur un tableau avec 2 index :

  • base : le contenu du champ en base
  • post : le contenu posté

controler_md5()

Contrôle la liste des md5 envoyés, supprime les inchangés, signale les modifiés depuis telle date

controler_md5(array<string|int, mixed> &$champs, array<string|int, mixed> $ctr, string $type, int $id, string $serveur[, string $prefix = 'ctr_' ]) : null|array<string|int, mixed>
Parameters
$champs : array<string|int, mixed>

Couples des champs saisis dans le formulaire (colonne => valeur postée)

$ctr : array<string|int, mixed>

Tableau contenant les clés de contrôles. Couples (clé => md5)

$type : string

Type d'objet

$id : int

Identifiant de l'objet

$serveur : string

Nom du connecteur de base de données

$prefix : string = 'ctr_'

Préfixe des clés de contrôles : le nom du champ est préfixé de cette valeur dans le tableau $ctr pour retrouver son md5.

Return values
null|array<string|int, mixed>

Null si aucun champ ou aucune modification sur les champs Tableau vide si aucune erreur de contrôle. Tableau (clé => tableau du conflit). L'index est la colonne en conflit, la valeur un tableau avec 2 index :

  • base : le contenu du champ en base
  • post : le contenu posté

display_conflit_champ()

Afficher le contenu d'un champ selon sa longueur soit dans un `textarea`, soit dans un `input`

display_conflit_champ(string $x) : string
Parameters
$x : string

texte à afficher

Return values
string

        
On this page

Search results