'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,
'captchas_ttl',
'captcha_color',
'forcemoderation',
+ 'forcemoderation_treat',
+ 'forcemoderationt',
+ 'forcemoderationt_treat',
'disable_api_comments',
'trackback_check_url',
'links_moderate',
$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);
$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);
// $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