[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / couteau_suisse / couteau_suisse / outils / spam_action_rapide.php
diff --git a/www/plugins/auto/couteau_suisse/couteau_suisse/outils/spam_action_rapide.php b/www/plugins/auto/couteau_suisse/couteau_suisse/outils/spam_action_rapide.php
new file mode 100644 (file)
index 0000000..d444188
--- /dev/null
@@ -0,0 +1,58 @@
+<?php\r
+\r
+// module inclu dans la description de l'outil en page de configuration\r
+\r
+include_spip('inc/actions');\r
+\r
+function spam_filtre_de_test($texte) {\r
+       if (!strlen($texte)) return '';\r
+       $spam = cs_lire_data_outil('spam');\r
+       $test = false;\r
+       return cs_test_spam($spam, $texte, $test)?'ko':'ok';\r
+}\r
+\r
+function spam_filtre_de_test_ip($texte, $liste=false) {\r
+       if (!strlen($texte)) return '';\r
+       if(!preg_match_all(',\d+\.\d+\.\d+\.\d+,', $texte, $regs, PREG_PATTERN_ORDER)) return '';\r
+       $res = array();\r
+       $spam = cs_lire_data_outil('spam');\r
+       foreach($regs[0] as $r) {\r
+               $test = $spam[3]?preg_match($spam[3], "$r"):false;\r
+               if(!$liste) { if($test) return 'ko'; }\r
+               else $res[] = _T('couteauprive:spam_ip', array('ip'=>$r)).' '.strtolower(_T($test?'item_oui':'item_non'));\r
+       }\r
+       return $liste?join('<br />', $res):'ok';\r
+}\r
+\r
+function spam_action_rapide() {\r
+       include_spip('public/assembler'); // pour recuperer_fond()\r
+       $fd = recuperer_fond('fonds/test_spam', array(\r
+               'ar_message' => _request('ar_message'),\r
+               'test_bd' => _request('test_bd'),\r
+               'statut' =>_request('statut'),\r
+               'debut_msg' => _request('debut_msg'),\r
+       ));\r
+       // au cas ou il y aurait plusieurs actions, on fabrique plusieurs <form>\r
+       $fd = explode('@@CS_FORM@@', $fd);\r
+       $res = "";\r
+       foreach($fd as $i=>$f) {\r
+               // syntaxe : ajax_action_auteur($action, $id, $script, $args='', $corps=false, $args_ajax='', $fct_ajax='')\r
+               $res .= ajax_action_auteur('action_rapide', 'test_'.$i, 'admin_couteau_suisse', "arg=spam|description_outil&modif=oui&cmd=descrip#cs_action_rapide", $f)."\n";\r
+       }\r
+       return $res;\r
+}\r
+\r
+// fonction {$outil}_{$arg}_action() appelee par action/action_rapide.php\r
+function spam_test_0_action() {\r
+       // lancer le test de l'anti-spam\r
+       // aucune action, le test est pris en charge par ?exec=action_rapide\r
+       redirige_vers_exec(array('ar_message' =>_request('ar_message')));\r
+}\r
+\r
+function spam_test_1_action() {\r
+       // lancer le test sur les messages de la base\r
+       redirige_vers_exec(array('test_bd'=>1, 'statut' =>_request('statut'), 'debut_msg' =>_request('debut_msg')));\r
+}\r
+\r
+\r
+?>
\ No newline at end of file