Package Edition

Fichiers du package

FichierDescription
debloquer_edition.php

Gestion de l'action debloquer_edition

editer.php

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

editer_objet.php

Gestion générique de modification des objets éditoriaux

instituer_langue_objet.php

Action des changements de langue des objets éditoriaux

instituer_langue_rubrique.php

Action des changements de langue des rubriques

Proposer une amélioration

Liste des fonctions

APIs

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 incprecharger{type}_dist permettant par exemple de remplir le contenu avec du texte, notamment avec la traduction source.

array formulaires_editer_objet_charger( string $type , integer | string $id = 'new' , integer $id_parent , integer $lier_trad , string $retour = '' , string $config_fonc = 'articles_edit_config' , array $row = array() , string $hidden = '' )

Paramètres

  1. string $type

    Type d'objet

  2. integer | string $id = 'new'

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

  3. integer $id_parent

    Identifiant de l'objet parent

  4. integer $lier_trad

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

  5. string $retour = ''

    URL de redirection après les traitements

  6. string $config_fonc = 'articles_edit_config'

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

  7. array $row = array()

    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).

  8. string $hidden = ''

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

Retour

  • array

    Environnement du formulaire.

API

Package

Proposer une amélioration

Exécute une action d'édition spécifique au type d'objet s'il elle existe (fonction actionediter$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.

array formulaires_editer_objet_traiter( string $type , integer | string $id = 'new' , integer $id_parent , integer $lier_trad , string $retour = '' , string $config_fonc = 'articles_edit_config' , array $row = array() , string $hidden = '' )

Paramètres

  1. string $type

    Type d'objet

  2. integer | string $id = 'new'

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

  3. integer $id_parent

    Identifiant de l'objet parent

  4. integer $lier_trad

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

  5. string $retour = ''

    URL de redirection après les traitements

  6. string $config_fonc = 'articles_edit_config'

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

  7. array $row = array()

    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).

  8. string $hidden = ''

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

Retour

  • array

    Retour des traitements.

API

Voir également

Package

Proposer une amélioration

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.
array formulaires_editer_objet_verifier( string $type , integer | string $id = 'new' , array $oblis = array() )

Paramètres

  1. string $type

    Type d'objet

  2. integer | string $id = 'new'

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

  3. array $oblis = array()

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

Retour

  • array

    Tableau des erreurs

API

Package

Proposer une amélioration

Internes

void action_debloquer_edition_dist( )

Retour

  • void

Variables globales

  • array visiteur_session

Package

Proposer une amélioration

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"

array action_editer_objet_dist( integer $id = null , string $objet = null , array $set = null )

Paramètres

  1. integer $id = null
  2. string $objet = null
  3. array $set = null

Retour

  • array

Package

Proposer une amélioration
string action_instituer_langue_objet_dist( string $objet , integer $id , integer $id_rubrique , string $changer_lang , string $serveur = '' )

Paramètres

  1. string $objet
  2. integer $id
  3. integer $id_rubrique
  4. string $changer_lang
  5. string $serveur = ''

Retour

  • string

Package

Proposer une amélioration

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

boolean | null | array controler_contenu( string $type , integer $id , array $options = array() , array | boolean $c = false , string $serveur = '' )

Paramètres

  1. string $type

    Type d'objet

  2. integer $id

    Identifiant de l'objet

  3. array $options = array()

    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.
  4. array | boolean $c = false

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

  5. string $serveur = ''

    Nom du connecteur de base de données

Retour

  • boolean | null | array

    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é

Package

Proposer une amélioration
null | array controler_md5( array & $champs , array $ctr , string $type , integer $id , string $serveur , string $prefix = 'ctr_' )

Paramètres

  1. array & $champs

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

  2. array $ctr

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

  3. string $type

    Type d'objet

  4. integer $id

    Identifiant de l'objet

  5. string $serveur

    Nom du connecteur de base de données

  6. string $prefix = '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.

Retour

  • null | array

    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é

Package

Proposer une amélioration

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

boolean | string | array controles_md5( array $data , string $prefixe = 'ctr_' , string $format = 'html' )

Paramètres

  1. array $data

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

  2. string $prefixe = 'ctr_'

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

  3. string $format = 'html'
    • html : Retourne les contrôles sous forme de input hidden pour un formulaire
    • autre : Retourne le tableau ('$prefixe$colonne => md5)

Retour

  • boolean | string | array
    • false si pas $data n'est pas un tableau
    • string (avec format html) : contrôles dans des input hidden
    • array sinon couples ('$prefixe$colonne => md5)

Package

Proposer une amélioration
string display_conflit_champ( string $x )

Paramètres

  1. string $x

    texte à afficher

Retour

  • string

Package

Proposer une amélioration
array editer_texte_recolle( string $texte , string $att_text )

Paramètres

  1. string $texte
  2. string $att_text

Retour

  • array

Package

Proposer une amélioration

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é.

string inc_titrer_contenu_dist( array $champs_contenu , array | null $c = null , integer $longueur = 50 )

Paramètres

  1. array $champs_contenu

    Liste des champs contenu textuels

  2. array | null $c = null

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

  3. integer $longueur = 50

    Longueur de coupe du texte

Retour

  • string

Package

Proposer une amélioration
void objet_editer_heritage( string $objet , integer $id , integer $id_rubrique , string $statut , array $champs , boolean $cond = true )

Paramètres

  1. string $objet
  2. integer $id
  3. integer $id_rubrique
  4. string $statut
  5. array $champs
  6. boolean $cond = true

Retour

  • void

Package

Proposer une amélioration
boolean | integer objet_inserer( string $objet , integer $id_parent = null , array | null $set = null )

Paramètres

  1. string $objet
  2. integer $id_parent = null
  3. array | null $set = null

Retour

  • boolean | integer

Variables globales

  • array $GLOBALS ['visiteur_session']
  • array $GLOBALS ['meta']
  • string $GLOBALS ['spip_lang']

Package

Proposer une amélioration
string objet_instituer( string $objet , integer $id , array $c , boolean $calcul_rub = true )

Paramètres

  1. string $objet
  2. integer $id
  3. array $c

    $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

  4. boolean $calcul_rub = true

Retour

  • string

Package

Proposer une amélioration
mixed | string objet_modifier( string $objet , integer $id , array | null $set = null )

Paramètres

  1. string $objet
  2. integer $id
  3. array | null $set = null

Retour

  • mixed | string

Utilisé par

Package

Proposer une amélioration
string signaler_conflits_edition( array $conflits , string $redirect = '' )

Paramètres

  1. array $conflits

    Valeur des champs en conflit

  2. string $redirect = ''

Retour

  • string

Package

Proposer une amélioration
void titre_automatique( $champ_titre , $champs_contenu , integer $longueur = null )

Paramètres

  1. $champ_titre
  2. $champs_contenu
  3. integer $longueur = null

Package

Proposer une amélioration