]> git.mjollnir.org Git - s9y.git/commitdiff
Allow to auto-moderate/reject trackbacks based on time of the entry
authorgarvinhicking <garvinhicking>
Tue, 30 May 2006 08:19:27 +0000 (08:19 +0000)
committergarvinhicking <garvinhicking>
Tue, 30 May 2006 08:19:27 +0000 (08:19 +0000)
plugins/serendipity_event_spamblock/UTF-8/lang_de.inc.php
plugins/serendipity_event_spamblock/lang_de.inc.php
plugins/serendipity_event_spamblock/lang_en.inc.php
plugins/serendipity_event_spamblock/serendipity_event_spamblock.php

index eeabec95a5e72fd028cb8415cb4db9eac00f1589..b9d1d63462440c4dab74629c031e24e9b885f270 100644 (file)
@@ -95,3 +95,7 @@
 @define('PLUGIN_EVENT_SPAMBLOCK_TRACKBACKURL', 'Trackback-URLS prüfen');
 @define('PLUGIN_EVENT_SPAMBLOCK_TRACKBACKURL_DESC', 'Einen Trackback nur dann zulassen, wenn Ihre URL auch auf der Zielseite genannt wird.');
 @define('PLUGIN_EVENT_SPAMBLOCK_REASON_TRACKBACKURL', 'Trackback-URL ungültig.');
+@define('PLUGIN_EVENT_SPAMBLOCK_FORCEMODERATION_TREAT', 'Was soll mit auto-moderierten Kommentaren passieren?');
+@define('PLUGIN_EVENT_SPAMBLOCK_FORCEMODERATIONT_TREAT', 'Was soll mit auto-moderierten Trackbacks passieren?');
+@define('PLUGIN_EVENT_SPAMBLOCK_FORCEMODERATIONT', 'Trackbackmoderation nach wievielen Tagen erzwingen');
+@define('PLUGIN_EVENT_SPAMBLOCK_FORCEMODERATIONT_DESC', 'Alle Trackbacks zu einem Artikel können abhängig vom Alter des Artikels automatisch moderiert werden. Tragen Sie hier das Minimalalter eines Artikels in Tagen ein, ab dem jedes Trackback erst nach Ihrer Moderation dargestellt wird. 0 bedeutet, dass keine automatische Moderation erzeugt wird.');
index 9da1d08173582efc3f6602c8fffdb51d8c90358f..fdab9e7848be1eafce3d4a7db568148f3d385a6f 100644 (file)
@@ -95,3 +95,8 @@
 @define('PLUGIN_EVENT_SPAMBLOCK_TRACKBACKURL', 'Trackback-URLS prüfen');
 @define('PLUGIN_EVENT_SPAMBLOCK_TRACKBACKURL_DESC', 'Einen Trackback nur dann zulassen, wenn Ihre URL auch auf der Zielseite genannt wird.');
 @define('PLUGIN_EVENT_SPAMBLOCK_REASON_TRACKBACKURL', 'Trackback-URL ungültig.');
+
+@define('PLUGIN_EVENT_SPAMBLOCK_FORCEMODERATION_TREAT', 'Was soll mit auto-moderierten Kommentaren passieren?');
+@define('PLUGIN_EVENT_SPAMBLOCK_FORCEMODERATIONT_TREAT', 'Was soll mit auto-moderierten Trackbacks passieren?');
+@define('PLUGIN_EVENT_SPAMBLOCK_FORCEMODERATIONT', 'Trackbackmoderation nach wievielen Tagen erzwingen');
+@define('PLUGIN_EVENT_SPAMBLOCK_FORCEMODERATIONT_DESC', 'Alle Trackbacks zu einem Artikel können abhängig vom Alter des Artikels automatisch moderiert werden. Tragen Sie hier das Minimalalter eines Artikels in Tagen ein, ab dem jedes Trackback erst nach Ihrer Moderation dargestellt wird. 0 bedeutet, dass keine automatische Moderation erzeugt wird.');
index 3a3fce8402bf286b39c0cebce97b72b21dd63ae5..4d58f3c1e0d3e92a2cfadb393e3ce7177c049c02 100644 (file)
 @define('PLUGIN_EVENT_SPAMBLOCK_AKISMET_FILTER', 'How to treat Akismet-reported spam');
 @define('PLUGIN_EVENT_SPAMBLOCK_REASON_AKISMET_SPAMLIST', 'Filtered by Akismet.com Blacklist');
 
+@define('PLUGIN_EVENT_SPAMBLOCK_FORCEMODERATION_TREAT', 'What to do with comments when being auto-moderated?');
+@define('PLUGIN_EVENT_SPAMBLOCK_FORCEMODERATIONT_TREAT', 'What to do with trackbacks when being auto-moderated?');
+@define('PLUGIN_EVENT_SPAMBLOCK_FORCEMODERATIONT', 'Force trackback moderation after how many days');
+@define('PLUGIN_EVENT_SPAMBLOCK_FORCEMODERATIONT_DESC', 'You can automatically set all trackbacks for entries to be moderated. Enter the age of an entry in days, after which it should be auto-moderated. 0 means no auto-moderation.');
index 2e00cac952aa21b9753e6139e6434efa7e3b6b18..f352d8d9527760ff70a233254f5975e794561f48 100644 (file)
@@ -34,7 +34,7 @@ var $filter_defaults;
             'smarty'      => '2.6.7',
             'php'         => '4.1.0'
         ));
-        $propbag->add('version',       '1.51');
+        $propbag->add('version',       '1.52');
         $propbag->add('event_hooks',    array(
             'frontend_saveComment' => true,
             'external_plugin'      => true,
@@ -53,6 +53,9 @@ var $filter_defaults;
             'captchas_ttl',
             'captcha_color',
             'forcemoderation',
+            'forcemoderation_treat',
+            'forcemoderationt',
+            'forcemoderationt_treat',
             'disable_api_comments',
             'trackback_check_url',
             'links_moderate',
@@ -297,6 +300,37 @@ var $filter_defaults;
                 $propbag->add('default', '30');
                 break;
 
+            case 'forcemoderation_treat':
+                $propbag->add('type', 'radio');
+                $propbag->add('name', PLUGIN_EVENT_SPAMBLOCK_FORCEMODERATION_TREAT);
+                $propbag->add('description', '');
+                $propbag->add('default', 'moderate');
+                $propbag->add('radio', array(
+                    'value' => array('moderate', 'reject'),
+                    'desc'  => array(PLUGIN_EVENT_SPAMBLOCK_API_MODERATE, PLUGIN_EVENT_SPAMBLOCK_API_REJECT)
+                ));
+                $propbag->add('radio_per_row', '1');
+                break;
+
+            case 'forcemoderationt':
+                $propbag->add('type', 'string');
+                $propbag->add('name', PLUGIN_EVENT_SPAMBLOCK_FORCEMODERATIONT);
+                $propbag->add('description', PLUGIN_EVENT_SPAMBLOCK_FORCEMODERATIONT_DESC);
+                $propbag->add('default', '30');
+                break;
+
+            case 'forcemoderationt_treat':
+                $propbag->add('type', 'radio');
+                $propbag->add('name', PLUGIN_EVENT_SPAMBLOCK_FORCEMODERATIONT_TREAT);
+                $propbag->add('description', '');
+                $propbag->add('default', 'moderate');
+                $propbag->add('radio', array(
+                    'value' => array('moderate', 'reject'),
+                    'desc'  => array(PLUGIN_EVENT_SPAMBLOCK_API_MODERATE, PLUGIN_EVENT_SPAMBLOCK_API_REJECT)
+                ));
+                $propbag->add('radio_per_row', '1');
+                break;
+
             case 'links_moderate':
                 $propbag->add('type', 'string');
                 $propbag->add('name', PLUGIN_EVENT_SPAMBLOCK_LINKS_MODERATE);
@@ -525,6 +559,10 @@ var $filter_defaults;
             $show_captcha = ($captchas && isset($eventData['timestamp']) && ($captchas_ttl < 1 || ($eventData['timestamp'] < (time() - ($captchas_ttl*60*60*24)))) ? true : false);
 
             $forcemoderation = $this->get_config('forcemoderation', 60);
+            $forcemoderation_treat = $this->get_config('forcemoderation_treat', 'moderate');
+            $forcemoderationt = $this->get_config('forcemoderationt', 60);
+            $forcemoderationt_treat = $this->get_config('forcemoderationt_treat', 'moderate');
+
             $links_moderate  = $this->get_config('links_moderate', 10);
             $links_reject    = $this->get_config('links_reject', 20);
 
@@ -784,12 +822,32 @@ var $filter_defaults;
 //                            $this->log($logfile, $eventData['id'], 'REJECTED', 'Captcha not needed: ' . $serendipity['POST']['captcha'] . ' / ' . $_SESSION['spamblock']['captcha'] . ' // Source: ' . $_SERVER['REQUEST_URI'], $addData);
                         }
 
-                        // Check for forced moderation
-                        if ($forcemoderation > 0 && $eventData['timestamp'] < (time() - ($forcemoderation * 60 * 60 * 24))) {
-                            $this->log($logfile, $eventData['id'], 'MODERATE', PLUGIN_EVENT_SPAMBLOCK_REASON_FORCEMODERATION, $addData);
-                            $eventData['moderate_comments'] = true;
-                            $serendipity['csuccess']        = 'moderate';
-                            $serendipity['moderate_reason'] = PLUGIN_EVENT_SPAMBLOCK_REASON_FORCEMODERATION;
+                        // Check for forced comment moderation
+                        if ($addData['type'] == 'NORMAL' && $forcemoderation > 0 && $eventData['timestamp'] < (time() - ($forcemoderation * 60 * 60 * 24))) {
+                            $this->log($logfile, $eventData['id'], $forcemoderation_treat, PLUGIN_EVENT_SPAMBLOCK_REASON_FORCEMODERATION, $addData);
+                            if ($forcemoderation_treat == 'reject') {
+                                $eventData = array('allow_comments' => false);
+                                $serendipity['messagestack']['comments'][] = PLUGIN_EVENT_SPAMBLOCK_REASON_FORCEMODERATION;
+                                return false;
+                            } else {
+                                $eventData['moderate_comments'] = true;
+                                $serendipity['csuccess']        = 'moderate';
+                                $serendipity['moderate_reason'] = PLUGIN_EVENT_SPAMBLOCK_REASON_FORCEMODERATION;
+                            }
+                        }
+
+                        // Check for forced trackback moderation
+                        if ($addData['type'] != 'NORMAL' && $forcemoderationt > 0 && $eventData['timestamp'] < (time() - ($forcemoderationt * 60 * 60 * 24))) {
+                            $this->log($logfile, $eventData['id'], $forcemoderationt_treat, PLUGIN_EVENT_SPAMBLOCK_REASON_FORCEMODERATION, $addData);
+                            if ($forcemoderationt_treat == 'reject') {
+                                $eventData = array('allow_comments' => false);
+                                $serendipity['messagestack']['comments'][] = PLUGIN_EVENT_SPAMBLOCK_REASON_FORCEMODERATION;
+                                return false;
+                            } else {
+                                $eventData['moderate_comments'] = true;
+                                $serendipity['csuccess']        = 'moderate';
+                                $serendipity['moderate_reason'] = PLUGIN_EVENT_SPAMBLOCK_REASON_FORCEMODERATION;
+                            }
                         }
 
                         // Check for maximum number of links before forcing moderation