4adc61c67f0191f3df4bca53e64162685be95155
[lhc/web/www.git] / www / plugins / formidable / genie / formidable_effacer_enregistrements.php
1 <?php
2
3
4 if (!defined('_ECRIRE_INC_VERSION')) {
5 return;
6 }
7
8 include_spip('inc/formidable_fichiers');
9 /**
10 * Effacer régulièrement les enregistrements obsolètes
11 **/
12 function genie_formidable_effacer_enregistrements($t) {
13 $res = sql_select('id_formulaire,traitements', 'spip_formulaires');
14 while ($result = sql_fetch($res)) {
15 $traitements = unserialize($result['traitements']);
16 $id_formulaire = $result['id_formulaire'];
17 if (isset($traitements['enregistrement']['effacement'])
18 and $traitements['enregistrement']['effacement'] == 'on'
19 and isset($traitements['enregistrement']['effacement_delai'])
20 ) {
21 $delai = intval($traitements['enregistrement']['effacement_delai']);
22 if ($delai > 0) {
23 // si on a bien configuré un délai
24 $asupprimer = sql_select(
25 'id_formulaires_reponse',
26 'spip_formulaires_reponses',
27 "DATE_SUB(CURDATE(), INTERVAL $delai DAY) > maj
28 AND id_formulaire = $id_formulaire"
29 ); // on utilise la date de maj, ce qui fait que lorsqu'une réponse est modifiée, l'échéance de la suppression est prorogée
30 while ($reponse = sql_fetch($asupprimer)) {
31 $id_formulaires_reponse = $reponse['id_formulaires_reponse'];
32
33 formidable_effacer_fichiers_reponse($id_formulaire, $id_formulaires_reponse); // effacer d'abord les fichiers
34 sql_delete('spip_formulaires_reponses', "id_formulaires_reponse=$id_formulaires_reponse");// les réponses
35 sql_delete('spip_formulaires_reponses_champs', "id_formulaires_reponse=$id_formulaires_reponse");//les champs correspondant
36 spip_log("Effacement de la réponse $$id_formulaires_reponse du form $id_formulaire car antérieur à $delai jours");
37 }
38 }
39 }
40 }
41 return 1;
42 }