4 if (!defined('_ECRIRE_INC_VERSION')) {
9 * Action de création / Modification d'un formulaire
10 * @param unknown_type $arg
11 * @return unknown_type
13 function action_editer_formulaire_dist($arg = null) {
15 $securiser_action = charger_fonction('securiser_action', 'inc');
16 $arg = $securiser_action();
19 // si id_formulaire n'est pas un nombre, c'est une creation
20 if (!$id_formulaire = intval($arg)) {
21 $id_formulaire = formulaire_inserer();
24 // Enregistre l'envoi dans la BD
25 if ($id_formulaire > 0) {
26 $err = formulaire_modifier($id_formulaire);
29 if (_request('redirect')) {
30 $redirect = parametre_url(
31 urldecode(_request('redirect')),
37 include_spip('inc/headers');
38 redirige_par_entete($redirect);
40 return array($id_formulaire,$err);
45 * Crée un nouveau formulaire et retourne son ID
47 * @return int id_formulaire
49 function formulaire_inserer() {
52 'date_creation' => date('Y-m-d H:i:s'),
54 // Envoyer aux plugins
59 'table' => 'spip_formulaires',
64 $id_formulaire = sql_insertq('spip_formulaires', $champs);
70 'table' => 'spip_formulaires',
71 'id_objet' => $id_formulaire
77 return $id_formulaire;
81 * Appelle la fonction de modification d'un formulaire
83 * @param int $id_formulaire
84 * @param array|null $set
87 function formulaire_modifier($id_formulaire, $set = null) {
88 include_spip('inc/modifier');
89 include_spip('inc/filtres');
92 $c = collecter_requests(
94 objet_info('formulaire', 'champs_editables'),
97 // donnees eventuellement fournies
102 $invalideur = "id='id_formulaire/$id_formulaire'";
103 if ($err = objet_modifier_champs(
108 'nonvide' => array('titre' => _T('info_sans_titre')),
109 'invalideur' => $invalideur,
116 // Modification de statut, changement de rubrique ?
117 $c = collecter_requests(array('statut'), array(), $set);
118 include_spip('action/editer_objet');
119 $err = objet_instituer('formulaire', $id_formulaire, $c);
124 function revision_formulaire($id_formulaire, $c = false) {
125 return formulaire_modifier($id_formulaire, $c);
127 function insert_formulaire() {
128 return formulaire_inserer();
130 function formulaire_set($id_formulaire, $set = null) {
131 return formulaire_modifier($id_formulaire, $set);