[PLUGINS] ~formidable 1.3.6 --> 1.9.1
[lhc/web/www.git] / www / plugins / formidable_1_0 / formidable_pipelines.php
1 <?php
2
3 /**
4 * Utilisation de pipelines
5 *
6 * @package SPIP\Formidable\Pipelines
7 **/
8
9 // Sécurité
10 if (!defined("_ECRIRE_INC_VERSION")) return;
11
12
13 /**
14 * Optimiser la base de donnée en enlevant les liens de formulaires supprimés
15 *
16 * @pipeline optimiser_base_disparus
17 * @param array $flux
18 * Données du pipeline
19 * @return array
20 * Données du pipeline
21 */
22 function formidable_optimiser_base_disparus($flux){
23 // Les réponses qui sont à la poubelle
24 $res = sql_select(
25 'id_formulaires_reponse AS id',
26 'spip_formulaires_reponses',
27 'statut = '.sql_quote('poubelle')
28 );
29
30 // On génère la suppression
31 $flux['data'] += optimiser_sansref('spip_formulaires_reponses', 'id_formulaires_reponse', $res);
32
33 //
34 // CNIL -- Informatique et libertes
35 //
36 // masquer le numero IP des vieilles réponses
37 //
38 ## date de reference = 4 mois
39 ## definir a 0 pour desactiver
40 ## même constante que pour les forums
41 if (!defined('_CNIL_PERIODE')) {
42 define('_CNIL_PERIODE', 3600*24*31*4);
43 }
44
45 if (_CNIL_PERIODE) {
46 $critere_cnil = 'date<"'.date('Y-m-d', time()-_CNIL_PERIODE).'"'
47 . ' AND statut != "spam"'
48 . ' AND (ip LIKE "%.%" OR ip LIKE "%:%")'; # ipv4 ou ipv6
49 $c = sql_countsel('spip_formulaires_reponses', $critere_cnil);
50 if ($c>0) {
51 spip_log("CNIL: masquer IP de $c réponses anciennes à formidable");
52 sql_update('spip_formulaires_reponses', array('ip' => 'MD5(ip)'), $critere_cnil);
53 }
54 }
55
56 return $flux;
57 }
58
59 ?>