comentSpice: Asure required fields, if spam_block plugin is not
installed.
This commit is contained in:
parent
175b5183b5
commit
68d25cb052
4 changed files with 36 additions and 2 deletions
|
@ -43,6 +43,9 @@
|
|||
|
||||
@define('PLUGIN_EVENT_COMMENTSPICE_PATH', 'Plugin Pfad');
|
||||
@define('PLUGIN_EVENT_COMMENTSPICE_PATH_DESC', 'In normalen Installationen ist der Default die korrekte Einstellung.');
|
||||
@define('PLUGIN_EVENT_COMMENTSPICE_REQUIRED_FIELDS', 'Pflichtfelder');
|
||||
@define('PLUGIN_EVENT_COMMENTSPICE_REQUIRED_FIELDS_DESC', 'Geben Sie die Liste von Pflichtfeldern bei der Abgabe eines Kommentars ein. Mehrere Felder können mit "," getrennt werden. Verfügbare Felder sind: name, email, url, replyTo, comment');
|
||||
@define('PLUGIN_EVENT_COMMENTSPICE_REASON_REQUIRED_FIELD', 'Sie haben das Feld "%s" nicht ausgefüllt!');
|
||||
|
||||
@define('PLUGIN_EVENT_COMMENTSPICE_EXPERTSETTINGS', 'Erweiterte Einstellungen anzeigen');
|
||||
@define('PLUGIN_EVENT_COMMENTSPICE_STANDARDSETTINGS', 'Grundeinstellungen anzeigen');
|
||||
|
|
|
@ -43,6 +43,9 @@
|
|||
|
||||
@define('PLUGIN_EVENT_COMMENTSPICE_PATH', 'Plugin Pfad');
|
||||
@define('PLUGIN_EVENT_COMMENTSPICE_PATH_DESC', 'In normalen Installationen ist der Default die korrekte Einstellung.');
|
||||
@define('PLUGIN_EVENT_COMMENTSPICE_REQUIRED_FIELDS', 'Pflichtfelder');
|
||||
@define('PLUGIN_EVENT_COMMENTSPICE_REQUIRED_FIELDS_DESC', 'Geben Sie die Liste von Pflichtfeldern bei der Abgabe eines Kommentars ein. Mehrere Felder können mit "," getrennt werden. Verfügbare Felder sind: name, email, url, replyTo, comment');
|
||||
@define('PLUGIN_EVENT_COMMENTSPICE_REASON_REQUIRED_FIELD', 'Sie haben das Feld "%s" nicht ausgefüllt!');
|
||||
|
||||
@define('PLUGIN_EVENT_COMMENTSPICE_EXPERTSETTINGS', 'Erweiterte Einstellungen anzeigen');
|
||||
@define('PLUGIN_EVENT_COMMENTSPICE_STANDARDSETTINGS', 'Grundeinstellungen anzeigen');
|
||||
|
|
|
@ -44,6 +44,9 @@
|
|||
|
||||
@define('PLUGIN_EVENT_COMMENTSPICE_PATH', 'Plugins path');
|
||||
@define('PLUGIN_EVENT_COMMENTSPICE_PATH_DESC', 'In normal installations the default is correct.');
|
||||
@define('PLUGIN_EVENT_COMMENTSPICE_REQUIRED_FIELDS', 'Required comment fields');
|
||||
@define('PLUGIN_EVENT_COMMENTSPICE_REQUIRED_FIELDS_DESC', 'Enter a list of required fields that need to be filled when a user comments. Seperate multiple fields with a ",". Available keys are: name, email, url, replyTo, comment');
|
||||
@define('PLUGIN_EVENT_COMMENTSPICE_REASON_REQUIRED_FIELD', 'You did not specify the %s field!');
|
||||
|
||||
@define('PLUGIN_EVENT_COMMENTSPICE_EXPERTSETTINGS', 'Show advanced settings');
|
||||
@define('PLUGIN_EVENT_COMMENTSPICE_STANDARDSETTINGS', 'Show basic settings');
|
||||
|
|
|
@ -56,6 +56,9 @@ class serendipity_event_commentspice extends serendipity_event
|
|||
$config_announce_expert = array('announcersscachemin','announcerss_nofollow','smartifyannouncerss','inputpatched_rss');
|
||||
|
||||
$config_general = array('title_general');
|
||||
if (!class_exists('serendipity_event_spamblock')) { // Only do that, if spamblock is not installed.
|
||||
$config_general[] = 'required_fields';
|
||||
}
|
||||
if (function_exists('fetchPingbackData') && $this->isLocalConfigWritable()) {
|
||||
$config_general[] = 'fetchPingback';
|
||||
}
|
||||
|
@ -173,6 +176,12 @@ class serendipity_event_commentspice extends serendipity_event
|
|||
$propbag->add('description', PLUGIN_EVENT_COMMENTSPICE_PATCHEDINPUT_RSS_DESC);
|
||||
$propbag->add('default', false);
|
||||
break;
|
||||
case 'required_fields':
|
||||
$propbag->add('type', 'string');
|
||||
$propbag->add('name', PLUGIN_EVENT_COMMENTSPICE_REQUIRED_FIELDS);
|
||||
$propbag->add('description', PLUGIN_EVENT_COMMENTSPICE_REQUIRED_FIELDS_DESC);
|
||||
$propbag->add('default', '');
|
||||
break;
|
||||
case 'plugin_path':
|
||||
$propbag->add('type', 'string');
|
||||
$propbag->add('name', PLUGIN_EVENT_COMMENTSPICE_PATH);
|
||||
|
@ -365,8 +374,24 @@ class serendipity_event_commentspice extends serendipity_event
|
|||
if ("NORMAL" == $addData['type']) { // only supported for normal comments
|
||||
$this->rememberInputs();
|
||||
|
||||
$promo_name = null;
|
||||
$promo_url = null;
|
||||
// Check, if all required fields are set, but only if spamblock is not installed.
|
||||
if (!class_exists('serendipity_event_spamblock')) {
|
||||
$required_fields = $this->get_config('required_fields', '');
|
||||
if (!empty($required_fields)) {
|
||||
$required_field_list = explode(',', $required_fields);
|
||||
foreach($required_field_list as $required_field) {
|
||||
$required_field = trim($required_field);
|
||||
if (empty($addData[$required_field])) {
|
||||
$this->log($logfile, $eventData['id'], 'REJECTED', PLUGIN_EVENT_COMMENTSPICE_REASON_REQUIRED_FIELD, $addData);
|
||||
$eventData = array('allow_comments' => false);
|
||||
$serendipity['messagestack']['comments'][] = sprintf(PLUGIN_EVENT_COMMENTSPICE_REASON_REQUIRED_FIELD, $required_field);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Check, if promoted URL is still valid (unmodified)
|
||||
if (isset($serendipity['POST']['promorss']) && !empty($serendipity['POST']['promorss'])) {
|
||||
$promorss = $serendipity['POST']['promorss'];
|
||||
$parts = explode("\n", $promorss);
|
||||
|
|
Loading…
Reference in a new issue