Package Formulaires

Sous packages

Fichiers du package

FichierDescription
configurer_preferences.php

Formulaire de configuration des préférences auteurs dans l'espace privé

configurer_preferences_menus.php

Formulaire de configuration des préférences auteurs dans l'espace privé

configurer_reducteur.php

Formulaire de configuration pour choisir la librairie graphique et les tailles de redimensionnement des vignettes

dater.php

Gestion du formulaire de date

editer_liens.php

Gestion du formulaire d'édition de liens

editer_logo.php

Gestion du formulaire d'édition de logo

formulaire_.php

Fonctions génériques pour les balises formulaires

formulaire_admin.php

Ce fichier gère la balise dynamique #FORMULAIRE_ADMIN

inc-instituer_auteur_fonctions.php

Fonction pour le squelette du même nom

instituer_objet.php

Gestion du formulaire d'institution (changement de statut) d'un objet

login.php

Gestion du formulaire d'identification / de connexion à SPIP

recherche_ecrire.php

Gestion du formulaire de recherche pour l'espace privé

traduire.php

Gestion du formulaire de traduction

Proposer une amélioration

Liste des fonctions

Permettra d'afficher le bouton 'Modifier ce...' s'il y a un $id_XXX défini dans le contexte de la page

array admin_objet( )

Retour

  • array

    Tableau de l'environnement calculé

Package

Note

  • Attention à l'ordre dans la boucle: on ne veut pas la rubrique si un autre bouton est possible
Proposer une amélioration
string | array admin_preview( string $type , integer $id , array | null $desc = null )

Paramètres

  1. string $type

    Type d'objet

  2. integer $id

    Identifinant de l'objet

  3. array | null $desc = null

    Description de la table

Retour

  • string | array
    • Chaine vide si on est déjà en prévisu ou si pas de previsualisation possible
    • Tableau d'un élément sinon.

Package

Proposer une amélioration
array balise_FORMULAIRE__contexte( string $form , array $args )

Paramètres

  1. string $form

    Nom du formulaire

  2. array $args

    Arguments envoyés à l'appel du formulaire

Retour

  • array

    Contexte d'environnement à envoyer au squelette

Package

Balise

  • FORMULAIRE__CONTEXTE
Proposer une amélioration

Compilé en un appel à une balise dynamique.

\Champ balise_FORMULAIRE__dist( \Champ $p )

Paramètres

  1. \Champ $p

    Description de la balise formulaire

Retour

  • \Champ

    Description complétée du code compilé appelant la balise dynamique

Package

Balise

  • FORMULAIRE_
Proposer une amélioration
string | array balise_FORMULAIRE__dyn( string $form )

Paramètres

  1. string $form

    Nom du formulaire

Retour

  • string | array
    • array : squelette à appeler, durée du cache, contexte
    • string : texte à afficher directement

Package

Proposer une amélioration

Cette balise permet de placer les boutons d'administrations dans un endroit spécifique du site. Si cette balise n'est pas présente, les boutons seront automatiquement ajoutés par SPIP si l'auteur a activé le cookie de correspondance.

\Champ balise_FORMULAIRE_ADMIN( \Champ $p )

Paramètres

  1. \Champ $p

    Pile au niveau de la balise

Retour

  • \Champ

    Pile complétée du code compilé

Exemples

  • #FORMULAIRE_ADMIN

Voir également

Package

Balise

  • FORMULAIRE_ADMIN
Proposer une amélioration
array | string balise_FORMULAIRE_ADMIN_dyn( string $float = '' , string | array $debug = '' )

Paramètres

  1. string $float = ''

    Classe CSS éventuelle

  2. string | array $debug = ''

    Informations sur la page contenant une erreur de compilation

Retour

  • array | string

    Liste : Chemin du squelette, durée du cache, contexte

Package

Note

  • Les boutons admin sont mis d'autorité si absents donc une variable statique contrôle si FORMULAIRE_ADMIN a été vu.
    Toutefois, si c'est le debuger qui appelle, il peut avoir recopié le code dans ses données et il faut le lui refournir. Pas question de recompiler: ca fait boucler ! Le debuger transmet donc ses données, et cette balise y retrouve son petit.
Proposer une amélioration

On ne peut rien dire au moment de l'execution du squelette

array | string balise_FORMULAIRE_ADMIN_stat( array $args , array $context_compil )

Paramètres

  1. array $args
    • Classe CSS éventuelle
  2. array $context_compil

    Tableau d'informations sur la compilation

Retour

  • array | string
    • Liste (statut, id) si un mode d'inscription est possible
    • chaîne vide sinon.

Package

Proposer une amélioration
string choisir_rubriques_admin_restreint( integer $id_auteur , string $label = '' , string $sel_css = '#liste_rubriques_restreintes' , string $img_remove = '' )

Paramètres

  1. integer $id_auteur
  2. string $label = ''
  3. string $sel_css = '#liste_rubriques_restreintes'

    Sélecteur CSS déterminant le conteneur de l'input reçevant les rubriques sélectionnées

  4. string $img_remove = ''

    Balise <img...> pour enlever des rubriques

Retour

  • string

    Code HTML et javascript

Package

Proposer une amélioration
string dater_formater_saisie_jour( string | integer $jour , string | integer $mois , string | integer $annee , string $sep = '/' )

Paramètres

  1. string | integer $jour

    Numéro du jour

  2. string | integer $mois

    Numéro du mois

  3. string | integer $annee

    Année

  4. string $sep = '/'

    Séparateur

Retour

  • string

    Date formatée tel que 02/10/2012

Package

Proposer une amélioration
array | string dater_recuperer_date_saisie( string $post , string $quoi = 'date' )

Paramètres

  1. string $post
  2. string $quoi = 'date'

Retour

  • array | string

    Chaîne vide si date invalide, tableau (année, mois, jour) sinon.

Package

Proposer une amélioration
array dater_recuperer_heure_saisie( string $post )

Paramètres

  1. string $post

Retour

  • array

Package

Proposer une amélioration

À partir des 3 premiers paramètres transmis au formulaire, la fonction retrouve :

  • l'objet dont on utilise sa table de liaison (table_source)
  • l'objet et id_objet sur qui on lie des éléments (objet, id_objet)
  • l'objet que l'on veut lier dessus (objet_lien)
array determine_source_lien_objet( string $a , string | integer $b , integer | string $c )

Paramètres

  1. string $a
  2. string | integer $b
  3. integer | string $c

Retour

  • array

    ($table_source,$objet,$id_objet,$objet_lien)

Package

Proposer une amélioration
string | boolean existe_formulaire( string $form )

Paramètres

  1. string $form

    Nom du formulaire

Retour

  • string | boolean
    • string : chemin du squelette
    • false : pas de squelette trouvé

Voir également

Package

Proposer une amélioration
array formulaire__charger( string $form , array $args , boolean $poste )

Paramètres

  1. string $form
  2. array $args
  3. boolean $poste

Retour

  • array

Package

Proposer une amélioration

On se base sur la fonction identifier (si elle existe) qui fournit une signature identifiant le formulaire a partir de ses arguments significatifs

En l'absence de fonction identifier, on se base sur l'egalite des arguments, ce qui fonctionne dans les cas simples

boolean formulaire__identifier( string $form , array $args , array $p )

Paramètres

  1. string $form
  2. array $args
  3. array $p

Retour

  • boolean

Package

Proposer une amélioration
array formulaires_configurer_reducteur_charger_dist( )

Retour

  • array

    Environnement du formulaire

Package

Proposer une amélioration
array formulaires_dater_charger_dist( string $objet , integer $id_objet , string $retour = '' , array | string $options = array() )

Paramètres

  1. string $objet

    Type d'objet

  2. integer $id_objet

    Identifiant de l'objet

  3. string $retour = ''

    URL de redirection après le traitement

  4. array | string $options = array()

    Options. Si string, unserialize pour obtenir un tableau.

    - date_redac : Permet de modifier en plus la date de rédaction antérieure
    - champ_date : permet de preciser le champ date qu'on utilise
    - label_date : label optionnel pour la saisie du champ date
    - champ_date_redac : permet de preciser le champ date_redac qu'on utilise
    - label_date_redac : label optionnel pour la saisie du champ date_redac
    - texte_sans_date_redac : texte optionnel affiche pour vider la date_redac
    - class : une classe ajoutable au formulaire pour le distinguer si on a plusieurs occurences

Retour

  • array

    Environnement du formulaire

Package

Proposer une amélioration
string formulaires_dater_identifier_dist( string $objet , integer $id_objet , string $retour = '' , array | string $options = array() )

Paramètres

  1. string $objet

    Type d'objet

  2. integer $id_objet

    Identifiant de l'objet

  3. string $retour = ''

    URL de redirection après le traitement

  4. array | string $options = array()

    Options.

Retour

  • string

    Hash du formulaire

Package

Proposer une amélioration
Array formulaires_dater_traiter_dist( string $objet , integer $id_objet , string $retour = '' , array | string $options = array() )

Paramètres

  1. string $objet

    Type d'objet

  2. integer $id_objet

    Identifiant de l'objet

  3. string $retour = ''

    URL de redirection après le traitement

  4. array | string $options = array()

    Options.

Retour

  • Array

    Retours des traitements

Package

Proposer une amélioration
Array formulaires_dater_verifier_dist( string $objet , integer $id_objet , string $retour = '' , array | string $options = array() )

Paramètres

  1. string $objet

    Type d'objet

  2. integer $id_objet

    Identifiant de l'objet

  3. string $retour = ''

    URL de redirection après le traitement

  4. array | string $options = array()

    Options.

Retour

  • Array

    Tableau des erreurs

Package

Proposer une amélioration

FORMULAIRE_EDITER_LIENS{auteurs,article,23}

pour associer des auteurs à l'article 23, sur la table pivot spip_auteurs_liens

FORMULAIRE_EDITER_LIENS{article,23,auteurs}

pour associer des auteurs à l'article 23, sur la table pivot spip_articles_liens

FORMULAIRE_EDITER_LIENS{articles,auteur,12}

pour associer des articles à l'auteur 12, sur la table pivot spip_articles_liens

FORMULAIRE_EDITER_LIENS{auteur,12,articles}

pour associer des articles à l'auteur 12, sur la table pivot spip_auteurs_liens

array formulaires_editer_liens_charger_dist( string $a , string | integer $b , integer | string $c , array | boolean $options = array() )

Paramètres

  1. string $a
  2. string | integer $b
  3. integer | string $c
  4. array | boolean $options = array()
    • Si array, tableau d'options
    • Si bool : valeur de l'option 'editable' uniquement

Retour

  • array

Package

Proposer une amélioration

Les formulaires peuvent poster dans quatre variables

  • ajouter_lien et supprimer_lien
  • remplacer_lien
  • qualifier_lien
  • ordonner_lien
  • desordonner_liens

Les deux premières peuvent être de trois formes différentes : ajouter_lien[]="objet1-id1-objet2-id2" ajouter_lien[objet1-id1-objet2-id2]="nimportequoi" ajouter_lien['clenonnumerique']="objet1-id1-objet2-id2" Dans ce dernier cas, la valeur ne sera prise en compte que si _request('clenonnumerique') est vrai (submit associé a l'input)

remplacer_lien doit être de la forme remplacer_lien[objet1-id1-objet2-id2]="objet3-id3-objet2-id2" ou objet1-id1 est celui qu'on enleve et objet3-id3 celui qu'on ajoute

qualifier_lien doit être de la forme, et sert en complément de ajouter_lien qualifier_lien[objet1-id1-objet2-id2][role] = array("role1", "autre_role") qualifier_lien[objet1-id1-objet2-id2][valeur] = array("truc", "chose") produira 2 liens chacun avec array("role"=>"role1","valeur"=>"truc") et array("role"=>"autre_role","valeur"=>"chose")

ordonner_lien doit être de la forme, et sert pour trier les liens ordonner_lien[objet1-id1-objet2-id2] = nouveau_rang

desordonner_liens n'a pas de forme précise, il doit simplement être non nul/non vide

array formulaires_editer_liens_traiter_dist( string $a , string | integer $b , integer | string $c , array | boolean $options = array() )

Paramètres

  1. string $a
  2. string | integer $b
  3. integer | string $c
  4. array | boolean $options = array()
    • Si array, tableau d'options
    • Si bool : valeur de l'option 'editable' uniquement

Retour

  • array

Package

Proposer une amélioration
array formulaires_editer_logo_charger_dist( string $objet , integer $id_objet , string $retour = '' , array $options = array() )

Paramètres

  1. string $objet

    Objet SPIP auquel sera lie le document (ex. article)

  2. integer $id_objet

    Identifiant de l'objet

  3. string $retour = ''

    Url de redirection apres traitement

  4. array $options = array()

    Tableau d'option (exemple : image_reduire => 50)

Retour

  • array

    Variables d'environnement pour le fond

Package

Proposer une amélioration
string formulaires_editer_logo_identifier_dist( string $objet , integer $id_objet , string $retour = '' , array $options = array() )

Paramètres

  1. string $objet

    Objet SPIP auquel sera lie le document (ex. article)

  2. integer $id_objet

    Identifiant de l'objet

  3. string $retour = ''

    Url de redirection apres traitement

  4. array $options = array()

    Tableau d'option (exemple : image_reduire => 50)

Retour

  • string

    Hash du formulaire

Package

Proposer une amélioration

Il est affecte au site si la balise n'est pas dans une boucle, sinon a l'objet concerne par la boucle ou indiquee par les parametres d'appel

array formulaires_editer_logo_traiter_dist( string $objet , integer $id_objet , string $retour = '' , array $options = array() )

Paramètres

  1. string $objet

    Objet SPIP auquel sera lie le document (ex. article)

  2. integer $id_objet

    Identifiant de l'objet

  3. string $retour = ''

    Url de redirection apres traitement

  4. array $options = array()

    Tableau d'option (exemple : image_reduire => 50)

Retour

  • array

    Retour des traitements

Package

Proposer une amélioration

On verifie que l'upload s'est bien passe et que le document recu est une image (d'apres son extension)

array formulaires_editer_logo_verifier_dist( string $objet , integer $id_objet , string $retour = '' , array $options = array() )

Paramètres

  1. string $objet

    Objet SPIP auquel sera lie le document (ex. article)

  2. integer $id_objet

    Identifiant de l'objet

  3. string $retour = ''

    Url de redirection apres traitement

  4. array $options = array()

    Tableau d'option (exemple : image_reduire => 50)

Retour

  • array

    Erreurs du formulaire

Package

Proposer une amélioration
array | boolean formulaires_instituer_objet_charger_dist( string $objet , integer $id_objet , string $retour = '' , boolean $editable = true )

Paramètres

  1. string $objet

    Type d'objet

  2. integer $id_objet

    Identifiant de l'objet

  3. string $retour = ''

    URL de redirection après le traitement

  4. boolean $editable = true

    Indique si le statut est éditable ou non. Dans tous les cas, si l'on n'a pas la permission de modifier l'objet, cette option sera mise à false.

Retour

  • array | boolean

    Environnement du formulaire ou false si aucun affichage à faire.

Package

Proposer une amélioration
array formulaires_instituer_objet_traiter_dist( string $objet , integer $id_objet , string $retour = '' , boolean $editable = true )

Paramètres

  1. string $objet

    Type d'objet

  2. integer $id_objet

    Identifiant de l'objet

  3. string $retour = ''

    URL de redirection après le traitement

  4. boolean $editable = true

    Indique si le statut est éditable ou non.

Retour

  • array

    Retour des traitements

Package

Proposer une amélioration
array formulaires_instituer_objet_verifier_dist( string $objet , integer $id_objet , string $retour = '' , boolean $editable = true )

Paramètres

  1. string $objet

    Type d'objet

  2. integer $id_objet

    Identifiant de l'objet

  3. string $retour = ''

    URL de redirection après le traitement

  4. boolean $editable = true

    Indique si le statut est éditable ou non.

Retour

  • array

    Tableau des erreurs

Package

Proposer une amélioration

Si on est déjà connecté, on redirige directement sur l'URL cible !

array formulaires_login_charger_dist( string $cible = '' , string $login = '' , null | boolean $prive = null )

Paramètres

  1. string $cible = ''

    URL de destination après identification. Cas spécifique : la valeur @page_auteur permet d'être redirigé après connexion sur le squelette public de l'auteur qui se connecte.

  2. string $login = ''

    Login de la personne à identifier (si connu)

  3. null | boolean $prive = null

    Identifier pour l'espace privé (true), public (false) ou automatiquement (null) en fonction de la destination de l'URL cible.

Retour

  • array

    Environnement du formulaire

Package

Proposer une amélioration

On arrive ici une fois connecté. On redirige simplement sur l'URL cible désignée.

array formulaires_login_traiter_dist( string $cible = '' , string $login = '' , null | boolean $prive = null )

Paramètres

  1. string $cible = ''

    URL de destination après identification. Cas spécifique : la valeur @page_auteur permet d'être redirigé après connexion sur le squelette public de l'auteur qui se connecte.

  2. string $login = ''

    Login de la personne à identifier (si connu)

  3. null | boolean $prive = null

    Identifier pour l'espace privé (true), public (false) ou automatiquement (null) en fonction de la destination de l'URL cible.

Retour

  • array

    Retours du traitement

Package

Proposer une amélioration

Connecte la personne si l'identification réussie.

array formulaires_login_verifier_dist( string $cible = '' , string $login = '' , null | boolean $prive = null )

Paramètres

  1. string $cible = ''

    URL de destination après identification. Cas spécifique : la valeur @page_auteur permet d'être redirigé après connexion sur le squelette public de l'auteur qui se connecte.

  2. string $login = ''

    Login de la personne à identifier (si connu)

  3. null | boolean $prive = null

    Identifier pour l'espace privé (true), public (false) ou automatiquement (null) en fonction de la destination de l'URL cible.

Retour

  • array

    Erreurs du formulaire

Package

Proposer une amélioration

Le formulaire dirige son action directement sur la page de l'action demandée. Il n'y a pas de vérification ni de traitement dans ce formulaire.

array formulaires_recherche_ecrire_charger_dist( string $action = '' , string $class = '' )

Paramètres

  1. string $action = ''

    URL de la page exec qui reçoit la recherche. Par défaut l'URL de l'exec 'recherche'.

  2. string $class = ''

    Classe CSS supplémentaire appliquée sur le formulaire

Retour

  • array

    Environnement du formulaire

Package

Proposer une amélioration
array | boolean formulaires_traduire_charger_dist( string $objet , integer $id_objet , string $retour = '' , boolean $traduire = true )

Paramètres

  1. string $objet

    Type d'objet

  2. integer $id_objet

    Identifiant de l'objet

  3. string $retour = ''

    URL de retour

  4. boolean $traduire = true

    Permet de désactiver la gestion de traduction sur un objet ayant id_trad

Retour

  • array | boolean

    False si l'identifiant n'est pas numérique ou si l'objet n'a pas de langue Contexte à transmettre au squelette du formulaire sinon

Package

Proposer une amélioration
array formulaires_traduire_traiter_dist( string $objet , integer $id_objet , string $retour = '' , boolean $traduire = true )

Paramètres

  1. string $objet

    Type d'objet

  2. integer $id_objet

    Identifiant de l'objet

  3. string $retour = ''

    URL de retour

  4. boolean $traduire = true

    Permet de désactiver la gestion de traduction sur un objet ayant id_trad

Retour

  • array

    Retour des traitements

Package

Proposer une amélioration
array formulaires_traduire_verifier_dist( string $objet , integer $id_objet , string $retour = '' , boolean $traduire = true )

Paramètres

  1. string $objet

    Type d'objet

  2. integer $id_objet

    Identifiant de l'objet

  3. string $retour = ''

    URL de retour

  4. boolean $traduire = true

    Permet de désactiver la gestion de traduction sur un objet ayant id_trad

Retour

  • array

    Erreurs des saisies

Package

Proposer une amélioration
boolean is_url_prive( string $cible )

Paramètres

  1. string $cible

    URL

Retour

  • boolean

    true si espace privé, false sinon.

Package

Proposer une amélioration

Appelle la fonction objet_associer. L'appelle autant de fois qu'il y a de rôles demandés pour cette liaison.

void lien_ajouter_liaisons( string $objet_source , array | string $ids , string $objet_lien , array | string $idl , array $qualifs )

Paramètres

  1. string $objet_source

    Objet source de la liaison (qui a la table de liaison)

  2. array | string $ids

    Identifiants pour l'objet source

  3. string $objet_lien

    Objet à lier

  4. array | string $idl

    Identifiants pour l'objet lié

  5. array $qualifs

Retour

  • void

Package

Internal

Proposer une amélioration
array lien_retrouver_qualif( string $objet_lien , string $lien )

Paramètres

  1. string $objet_lien

    objet qui porte le lien

  2. string $lien

    Action du lien

Retour

  • array

    Liste des qualifs pour chaque lien. Tableau vide s'il n'y en a pas.

Package

Internal

Proposer une amélioration

Les formulaires envoient une action dans un tableau ajouter_lien ou supprimer_lien

L'action est de la forme : objet1-id1-objet2-id2 ou de la forme : objet1-id1-objet2-id2-role

L'action peut-être indiquée dans la clé ou dans la valeur. Si elle est indiquee dans la valeur et que la clé est non numérique, on ne la prend en compte que si un submit avec la clé a été envoyé

string lien_verifier_action( string $k , string $v )

Paramètres

  1. string $k

    Clé du tableau

  2. string $v

    Valeur du tableau

Retour

  • string

    Action demandée si trouvée, sinon ''

Package

Internal

Proposer une amélioration
array lister_statuts_proposes( array $desc , boolean $publiable = true )

Paramètres

  1. array $desc
  2. boolean $publiable = true

Retour

  • array

Package

Proposer une amélioration

Gére le cas où un utilisateur ne souhaite pas de cookie : on propose alors un formulaire pour s'authentifier via http

string login_auth_http( )

Retour

  • string
    • Si connection possible en HTTP : URL pour réaliser cette identification,
    • chaîne vide sinon.

Package

Proposer une amélioration

Dans le cas contraire, un message d'erreur est retourné avec un lien pour se déconnecter.

array login_autoriser( )

Retour

  • array
    • Erreur si un connecté n'a pas le droit d'acceder à l'espace privé
    • tableau vide sinon.

Package

Proposer une amélioration

Proteger les ' et les " dans les champs que l'on va injecter, sans toucher aux valeurs sérialisées

string | array protege_champ( string | array $texte )

Paramètres

  1. string | array $texte

    Saisie à protéger

Retour

  • string | array

    Saisie protégée

Voir également

Package

Proposer une amélioration
string url_vignette_choix( string $process )

Paramètres

  1. string $process

    Code de la libriairie, parmi gd2, gd1, netpbm, imagick ou convert

Retour

  • string

    URL d'action pour tester la librairie graphique en créant une vignette

Package

Proposer une amélioration