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