Edition
Table of Contents
Functions
- action_debloquer_edition_dist() : void
- Lever les blocages d'édition pour l'utilisateur courant
- action_editer_objet_dist() : array<string|int, mixed>
- Point d'entrée d'édition d'un objet
- objet_modifier() : mixed|string
- Appelle toutes les fonctions de modification d'un objet
- objet_inserer() : bool|int
- Insère en base un objet générique
- objet_instituer() : string
- Modifie le statut et/ou la date d'un objet
- objet_editer_heritage() : void
- Fabrique la requete d'institution de l'objet, avec champs herites
- objet_lire() : array<string|int, mixed>|string|int|bool
- Lit un objet donné connu par son id ou par un identifiant textuel unique et renvoie tout ou partie de sa description.
- action_instituer_langue_objet_dist() : string
- Modifier la langue d'un objet
- action_instituer_langue_rubrique_dist() : mixed
- Modifie la langue d'une rubrique
- 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
action_debloquer_edition_dist()
Lever les blocages d'édition pour l'utilisateur courant
action_debloquer_edition_dist() : void
Tags
action_editer_objet_dist()
Point d'entrée d'édition d'un objet
action_editer_objet_dist([int $id = null ][, string $objet = null ][, array<string|int, mixed> $set = null ]) : array<string|int, mixed>
On ne peut entrer que par un appel en fournissant $id et $objet ou avec un argument d'action sécurisée de type "objet/id"
Parameters
- $id : int = null
- $objet : string = null
- $set : array<string|int, mixed> = null
Return values
array<string|int, mixed>objet_modifier()
Appelle toutes les fonctions de modification d'un objet
objet_modifier(string $objet, int $id[, array<string|int, mixed>|null $set = null ]) : mixed|string
Il peut y avoir une fonction propre au type d'objet :
Retourne une chaîne vide en cas de succès,
et déclenche des notifications selon ce qu'on modifie :
Parameters
- $objet : string
- $id : int
- $set : array<string|int, mixed>|null = null
Tags
Return values
mixed|string —- En cas de succès : (string) chaîne vide
- En cas d'erreur : (string) message d'erreur
objet_inserer()
Insère en base un objet générique
objet_inserer(string $objet[, int $id_parent = null ][, array<string|int, mixed>|null $set = null ]) : bool|int
Il peut y avoir une fonction propre au type d'objet :
Retourne le numéro de l'objet en cas de succès,
et déclenche 2 notifications :
Parameters
- $objet : string
- $id_parent : int = null
- $set : array<string|int, mixed>|null = null
Tags
Return values
bool|int —- Succès : (int) numéro de l'objet crée
- Erreur :
- (bool) false si sql_insertq() a échoué
- (int) 0 si le type d'objet n'existe pas ou que la table est mal déclarée
objet_instituer()
Modifie le statut et/ou la date d'un objet
objet_instituer(string $objet, int $id, array<string|int, mixed> $c[, bool $calcul_rub = true ]) : string
Parameters
- $objet : string
- $id : int
- $c : array<string|int, mixed>
-
$c est un array ('statut', 'id_parent' = changement de rubrique) statut et rubrique sont lies, car un admin restreint peut deplacer un objet publie vers une rubrique qu'il n'administre pas
- $calcul_rub : bool = true
Tags
Return values
stringobjet_editer_heritage()
Fabrique la requete d'institution de l'objet, avec champs herites
objet_editer_heritage(string $objet, int $id, int $id_rubrique, string $statut, array<string|int, mixed> $champs[, bool $cond = true ]) : void
Parameters
- $objet : string
- $id : int
- $id_rubrique : int
- $statut : string
- $champs : array<string|int, mixed>
- $cond : bool = true
objet_lire()
Lit un objet donné connu par son id ou par un identifiant textuel unique et renvoie tout ou partie de sa description.
objet_lire(string $objet, int|string $valeur_id[, array<string|int, mixed> $options = [] ]) : array<string|int, mixed>|string|int|bool
Il est possible pour un objet donné de fournir la fonction <objet>_lire_champs
qui renvoie simplement tous les
champs de l'objet concerné sans aucun autre traitement. Sinon, l'appel SQL est réalisé par l'API.
Parameters
- $objet : string
-
Type d'objet (comme article ou rubrique)
- $valeur_id : int|string
-
Valeur du champ identifiant
- $options : array<string|int, mixed> = []
-
Tableau d'options dont les index possibles sont:
- champs : liste des champs à renvoyer. Si absent ou vide la fonction renvoie tous les champs.
- champ_id : nom du champ utilisé comme identifiant de l'objet. Si absent ou vide on utilise l'id défini dans la déclaration de l'objet.
- force : true pour reforcer une lecture en base meme si un cache existe
Return values
array<string|int, mixed>|string|int|bool —si champs est non fourni ou au format array false : l'objet demande n'existe pas array vide : l'objet existe, mais aucun champ demande n'existe array non vide : objet avec le ou les champs demandes existants (les champs demandes non existant sont absent) si champs est fourni au format string false : l'objet demande n'existe pas OU le champs demande n'existe pas string|int : valeur du champ demande pour l'objet demande
action_instituer_langue_objet_dist()
Modifier la langue d'un objet
action_instituer_langue_objet_dist(string $objet, int $id, int $id_rubrique, string $changer_lang[, string $serveur = '' ]) : string
Parameters
- $objet : string
- $id : int
- $id_rubrique : int
- $changer_lang : string
- $serveur : string = ''
Return values
stringaction_instituer_langue_rubrique_dist()
Modifie la langue d'une rubrique
action_instituer_langue_rubrique_dist() : mixed
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
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
stringcontroles_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