[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / couteau_suisse / couteau_suisse / outils / spam_action_rapide.php
1 <?php
2
3 // module inclu dans la description de l'outil en page de configuration
4
5 include_spip('inc/actions');
6
7 function spam_filtre_de_test($texte) {
8 if (!strlen($texte)) return '';
9 $spam = cs_lire_data_outil('spam');
10 $test = false;
11 return cs_test_spam($spam, $texte, $test)?'ko':'ok';
12 }
13
14 function spam_filtre_de_test_ip($texte, $liste=false) {
15 if (!strlen($texte)) return '';
16 if(!preg_match_all(',\d+\.\d+\.\d+\.\d+,', $texte, $regs, PREG_PATTERN_ORDER)) return '';
17 $res = array();
18 $spam = cs_lire_data_outil('spam');
19 foreach($regs[0] as $r) {
20 $test = $spam[3]?preg_match($spam[3], "$r"):false;
21 if(!$liste) { if($test) return 'ko'; }
22 else $res[] = _T('couteauprive:spam_ip', array('ip'=>$r)).' '.strtolower(_T($test?'item_oui':'item_non'));
23 }
24 return $liste?join('<br />', $res):'ok';
25 }
26
27 function spam_action_rapide() {
28 include_spip('public/assembler'); // pour recuperer_fond()
29 $fd = recuperer_fond('fonds/test_spam', array(
30 'ar_message' => _request('ar_message'),
31 'test_bd' => _request('test_bd'),
32 'statut' =>_request('statut'),
33 'debut_msg' => _request('debut_msg'),
34 ));
35 // au cas ou il y aurait plusieurs actions, on fabrique plusieurs <form>
36 $fd = explode('@@CS_FORM@@', $fd);
37 $res = "";
38 foreach($fd as $i=>$f) {
39 // syntaxe : ajax_action_auteur($action, $id, $script, $args='', $corps=false, $args_ajax='', $fct_ajax='')
40 $res .= ajax_action_auteur('action_rapide', 'test_'.$i, 'admin_couteau_suisse', "arg=spam|description_outil&modif=oui&cmd=descrip#cs_action_rapide", $f)."\n";
41 }
42 return $res;
43 }
44
45 // fonction {$outil}_{$arg}_action() appelee par action/action_rapide.php
46 function spam_test_0_action() {
47 // lancer le test de l'anti-spam
48 // aucune action, le test est pris en charge par ?exec=action_rapide
49 redirige_vers_exec(array('ar_message' =>_request('ar_message')));
50 }
51
52 function spam_test_1_action() {
53 // lancer le test sur les messages de la base
54 redirige_vers_exec(array('test_bd'=>1, 'statut' =>_request('statut'), 'debut_msg' =>_request('debut_msg')));
55 }
56
57
58 ?>