]> git.mjollnir.org Git - s9y.git/commitdiff
* The spamblock plugin now continues to check any comment/trackback
authorgarvinhicking <garvinhicking>
Mon, 10 Apr 2006 13:45:19 +0000 (13:45 +0000)
committergarvinhicking <garvinhicking>
Mon, 10 Apr 2006 13:45:19 +0000 (13:45 +0000)
     set to MODERATE if maybe other rules override the status to
     REJECTED. This should reduce the amount of moderation mails that
     definitely are spam. (Bug #1467707) (garvinhicking)

docs/NEWS
plugins/serendipity_event_spamblock/serendipity_event_spamblock.php

index f06f5ab1e5cc7b79137355521061ec2383d0c5b0..a84f897bcc54da494c0a1623c0f2537e639ab670 100644 (file)
--- a/docs/NEWS
+++ b/docs/NEWS
@@ -70,6 +70,11 @@ Version 1.1-alpha1()
 Version 1.0 ()
 ------------------------------------------------------------------------
 
+   * The spamblock plugin now continues to check any comment/trackback
+     set to MODERATE if maybe other rules override the status to
+     REJECTED. This should reduce the amount of moderation mails that
+     definitely are spam. (Bug #1467707) (garvinhicking)
+                  
    * Fix UTF-8 encoding of $i18n_filename_* variables for building
      permalinks (Bug #1461754, Thanks to Kim Sullivan) (garvinhicking)
 
index 192f396afca35a95bdab5b8cebe567f58458f92a..ac8493c55b7640fc4fb426caff101df72860a139 100644 (file)
@@ -34,7 +34,7 @@ var $filter_defaults;
             'smarty'      => '2.6.7',
             'php'         => '4.1.0'
         ));
-        $propbag->add('version',       '1.33');
+        $propbag->add('version',       '1.40');
         $propbag->add('event_hooks',    array(
             'frontend_saveComment' => true,
             'external_plugin'      => true,
@@ -353,16 +353,16 @@ var $filter_defaults;
         global $serendipity;
 
         $checkgroups = explode('^', $this->get_config('hide_for_authors'));
-        
+
         if (!isset($serendipity['authorid']) || !is_array($checkgroups)) {
             return false;
         }
-        
+
         $mygroups =& serendipity_getGroups($serendipity['authorid'], true);
         if (!is_array($mygroups)) {
             return false;
         }
-        
+
         foreach($checkgroups AS $key => $groupid) {
             if ($groupid == 'all') {
                 return true;
@@ -370,7 +370,7 @@ var $filter_defaults;
                 return true;
             }
         }
-        
+
         return false;
     }
 
@@ -435,7 +435,7 @@ var $filter_defaults;
                                 }
                             }
                         }
-                        
+
                         // Check whether to allow comments from registered authors
                         if (serendipity_userLoggedIn() && $this->inGroup()) {
                             return true;
@@ -464,15 +464,15 @@ var $filter_defaults;
                                 $this->log($logfile, $eventData['id'], 'REJECTED', PLUGIN_EVENT_SPAMBLOCK_REASON_API, $addData);
                                 $eventData = array('allow_comments' => false);
                                 $serendipity['messagestack']['comments'][] = PLUGIN_EVENT_SPAMBLOCK_REASON_API;
+                                return false;
                             } elseif ($this->get_config('disable_api_comments') == 'moderate') {
                                 $this->log($logfile, $eventData['id'], 'MODERATE', PLUGIN_EVENT_SPAMBLOCK_REASON_API, $addData);
                                 $eventData['moderate_comments'] = true;
                                 $serendipity['csuccess']        = 'moderate';
                                 $serendipity['moderate_reason'] = PLUGIN_EVENT_SPAMBLOCK_REASON_API;
                             }
-                            return false;
                         }
-                        
+
                         // Check Trackback URLs?
                         if ($addData['type'] == 'TRACKBACK' && serendipity_db_bool($this->get_config('trackback_check_url'))) {
                             require_once S9Y_PEAR_PATH . 'HTTP/Request.php';
@@ -518,7 +518,6 @@ var $filter_defaults;
                                             $eventData['moderate_comments'] = true;
                                             $serendipity['csuccess']        = 'moderate';
                                             $serendipity['moderate_reason'] = PLUGIN_EVENT_SPAMBLOCK_ERROR_BODY;
-                                            return false;
                                         } else {
                                             $this->log($logfile, $eventData['id'], 'REJECTED', PLUGIN_EVENT_SPAMBLOCK_FILTER_AUTHORS, $addData);
                                             $eventData = array('allow_comments' => false);
@@ -542,7 +541,6 @@ var $filter_defaults;
                                             $eventData['moderate_comments'] = true;
                                             $serendipity['csuccess']        = 'moderate';
                                             $serendipity['moderate_reason'] = PLUGIN_EVENT_SPAMBLOCK_ERROR_BODY;
-                                            return false;
                                         } else {
                                             $this->log($logfile, $eventData['id'], 'REJECTED', PLUGIN_EVENT_SPAMBLOCK_FILTER_URLS, $addData);
                                             $eventData = array('allow_comments' => false);
@@ -565,7 +563,6 @@ var $filter_defaults;
                                                 $eventData['moderate_comments'] = true;
                                                 $serendipity['csuccess']        = 'moderate';
                                                 $serendipity['moderate_reason'] = PLUGIN_EVENT_SPAMBLOCK_ERROR_BODY;
-                                                return false;
                                             } else {
                                                 $this->log($logfile, $eventData['id'], 'REJECTED', PLUGIN_EVENT_SPAMBLOCK_FILTER_WORDS, $addData);
                                                 $eventData = array('allow_comments' => false);
@@ -594,7 +591,6 @@ var $filter_defaults;
                                                 $eventData['moderate_comments'] = true;
                                                 $serendipity['csuccess']        = 'moderate';
                                                 $serendipity['moderate_reason'] = PLUGIN_EVENT_SPAMBLOCK_ERROR_BODY;
-                                                return false;
                                             } else {
                                                 $this->log($logfile, $eventData['id'], 'REJECTED', PLUGIN_EVENT_SPAMBLOCK_REASON_BLOGG_SPAMLIST . ': ' . $domain, $addData);
                                                 $eventData = array('allow_comments' => false);
@@ -638,7 +634,6 @@ var $filter_defaults;
                             $eventData['moderate_comments'] = true;
                             $serendipity['csuccess']        = 'moderate';
                             $serendipity['moderate_reason'] = PLUGIN_EVENT_SPAMBLOCK_REASON_FORCEMODERATION;
-                            return false;
                         }
 
                         // Check for maximum number of links before forcing moderation
@@ -647,7 +642,6 @@ var $filter_defaults;
                             $eventData['moderate_comments'] = true;
                             $serendipity['csuccess']        = 'moderate';
                             $serendipity['moderate_reason'] = PLUGIN_EVENT_SPAMBLOCK_REASON_LINKS_MODERATE;
-                            return false;
                         }
 
                         // Check for identical comments. We allow to bypass trackbacks from our server to our own blog.
@@ -680,8 +674,13 @@ var $filter_defaults;
                                 $this->log($logfile, $eventData['id'], 'REJECTED', PLUGIN_EVENT_SPAMBLOCK_REASON_CHECKMAIL, $addData);
                                 $eventData = array('allow_comments' => false);
                                 $serendipity['messagestack']['comments'][] = PLUGIN_EVENT_SPAMBLOCK_REASON_CHECKMAIL;
+                                return false;
                             }
                         }
+
+                        if ($eventData['moderate_comments'] == true) {
+                            return false;
+                        }
                     }
 
                     return true;
@@ -795,7 +794,7 @@ var $filter_defaults;
                             $pos_x = $pos_x + $size + 2;
 
                         }
-                        
+
                         if ($_captchas === 'scramble') {
                             $line_diff = mt_rand(5, 15);
                             $pixel_col = imagecolorallocate($image, trim($bgcolors[0])-mt_rand(10,50), trim($bgcolors[1])-mt_rand(10,50), trim($bgcolors[2])-mt_rand(10,50));