source: spip-zone/_plugins_/_dev_/akismet/inc/forum_insert.php @ 16375

Last change on this file since 16375 was 16375, checked in by fil@…, 13 years ago

passage en version 0.2 d'akismet, avec quelques corrections et ajouts

File size: 1.5 KB
Line 
1<?php
2
3// On deroute inc/forum_insert pour verifier d'abord chez akismet
4function inc_forum_insert() {
5        require_once _DIR_RESTREINT.'inc/forum_insert.php';
6        require_once _DIR_PLUGIN_AKISMET.'Akismet.class.php';
7
8        // Antispam : si 'nobot' a ete renseigne, ca ne peut etre qu'un bot
9        if (strlen(_request('nobot'))) {
10                tracer_erreur_forum('champ interdit (nobot) rempli');
11                return '!'; # echec silencieux du POST
12        }
13
14        // On ne passe pas dans akismet
15        // si le visiteur est connecte
16        // ou si akismet n'est pas configure
17        if (
18        !isset($GLOBALS['auteur_session']['statut'])
19        AND $cfg = @unserialize($GLOBALS['meta']['akismet'])
20        AND strlen($cfg['apiKey'])
21        ) {
22                $akismet = new Akismet($GLOBALS['meta']["adresse_site"], $cfg['apiKey']); 
23                // Utilisez votre propre cle de developpeur Wordress,
24                // disponible sur http://akismet.com/personal/ pour un usage personnel / non commercial
25                // ou http://akismet.com/commercial/ sinon
26                $akismet->setAuthor($_POST['auteur']);
27                $akismet->setAuthorEmail($_POST['email_auteur']);
28                $akismet->setAuthorURL($_POST['url_site']);
29                $akismet->setContent($_POST['texte']);
30                $akismet->setType('comment');
31                $akismet->setPermalink('http://' . $GLOBALS['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
32                if ($akismet->isSpam()) {
33                        // sauvegarde le commentaire mais le garde comme spam
34                        // (en cas de faux positif)
35                        tracer_erreur_forum('Akismet a d&#233;tect&#233; un SPAM');
36                        return inc_forum_insert_dist('spam');
37
38                        // Si on prefere ne pas enregistrer et mourrrrir :
39                        // return self('&');
40                }
41        }
42
43        return inc_forum_insert_dist();
44}
45
46?>
Note: See TracBrowser for help on using the repository browser.