[PLUGINS] +set de base
[lhc/web/www.git] / www / plugins / formidable_1_0 / action / supprimer_formulaire.php
1 <?php
2
3 // Sécurité
4 if (!defined("_ECRIRE_INC_VERSION")) return;
5
6 /**
7 * Action de suppression d'un formulaire
8 * @param int $arg
9 * @return unknown_type
10 */
11 function action_supprimer_formulaire_dist($arg=null) {
12 if (is_null($arg)){
13 $securiser_action = charger_fonction('securiser_action', 'inc');
14 $arg = $securiser_action();
15 }
16
17 // si id_formulaire n'est pas un nombre, on ne fait rien
18 if ($id_formulaire = intval($arg)) {
19 // On supprime le formulaire lui-même
20 $ok = sql_delete(
21 'spip_formulaires',
22 'id_formulaire = '.$id_formulaire
23 );
24
25 if ($ok){
26 // Si c'est bon, on récupère les réponses pour les supprimer
27 $reponses = sql_allfetsel(
28 'id_formulaires_reponse',
29 'spip_formulaires_reponses',
30 'id_formulaire = '.$id_formulaire
31 );
32 $reponses = $reponses ? array_map('reset', $reponses) : false;
33
34 // On supprime les réponses s'il y en a
35 if ($reponses){
36 $ok = sql_delete(
37 'spip_formulaires_reponses',
38 sql_in('id_formulaires_reponse', $reponses)
39 );
40
41 // Si c'est bon, on supprime les champs des réponses
42 if ($ok){
43 $ok = sql_delete(
44 'spip_formulaires_reponses_champs',
45 sql_in('id_formulaires_reponse', $reponses)
46 );
47 }
48 }
49 }
50 }
51
52 if ($ok){
53 if (!$redirect = _request('redirect'))
54 $redirect = generer_url_ecrire('formulaires');
55
56 include_spip('inc/headers');
57 redirige_par_entete(str_replace("&amp;","&",urldecode($redirect)));
58 }
59 }
60
61 ?>