13ec60a009a5b32e9f754210a00b098ed38cd266
4 if (!defined("_ECRIRE_INC_VERSION")) return;
7 * Action de création / Modification d'un formulaire
8 * @param unknown_type $arg
11 function action_editer_formulaire_dist($arg=null) {
13 $securiser_action = charger_fonction('securiser_action', 'inc');
14 $arg = $securiser_action();
17 // si id_formulaire n'est pas un nombre, c'est une creation
18 if (!$id_formulaire = intval($arg)) {
19 $id_formulaire = formulaire_inserer();
22 // Enregistre l'envoi dans la BD
23 if ($id_formulaire > 0) $err = formulaire_modifier($id_formulaire);
25 if (_request('redirect')) {
26 $redirect = parametre_url(urldecode(_request('redirect')),
27 'id_formulaire', $id_formulaire, '&') . $err;
29 include_spip('inc/headers');
30 redirige_par_entete($redirect);
33 return array($id_formulaire,$err);
37 * Crée un nouveau formulaire et retourne son ID
39 * @return int id_formulaire
41 function formulaire_inserer() {
44 'date_creation' => date('Y-m-d H:i:s'),
46 // Envoyer aux plugins
47 $champs = pipeline('pre_insertion',
50 'table' => 'spip_formulaires',
55 $id_formulaire = sql_insertq("spip_formulaires", $champs);
57 pipeline('post_insertion',
60 'table' => 'spip_formulaires',
61 'id_objet' => $id_formulaire
67 return $id_formulaire;
71 * Appelle la fonction de modification d'un formulaire
73 * @param int $id_formulaire
74 * @param array|null $set
77 function formulaire_modifier($id_formulaire, $set=null) {
78 include_spip('inc/modifier');
79 include_spip('inc/filtres');
82 $c = collecter_requests(
84 objet_info('formulaire','champs_editables'),
87 // donnees eventuellement fournies
92 $invalideur = "id='id_formulaire/$id_formulaire'";
93 if ($err = objet_modifier_champs('formulaire', $id_formulaire,
95 'nonvide' => array('titre' => _T('info_sans_titre')),
96 'invalideur' => $invalideur,
101 // Modification de statut, changement de rubrique ?
102 $c = collecter_requests(array('statut'),array(),$set);
103 include_spip("action/editer_objet");
104 $err = objet_instituer('formulaire',$id_formulaire, $c);
111 function revision_formulaire($id_formulaire, $c=false) { return formulaire_modifier($id_formulaire, $c);}
112 function insert_formulaire() { return formulaire_inserer();}
113 function formulaire_set($id_formulaire, $set=null) { return formulaire_modifier($id_formulaire, $set);}