Version Description
- berarbeitetes Layout der Einstellungen
- Streichung von Project Honey Pot
- TornevallNET als neuer DNSBL-Dienst
- WordPress 3.4 als Mindestvoraussetzung
- WordPress 3.5 Untersttzung
- Online-Handbuch in Neufassung
Download this release
Release Info
Developer | sergej.mueller |
Plugin | Antispam Bee |
Version | 2.4.5 |
Comparing to | |
See all releases |
Code changes from version 2.4.4 to 2.4.5
- antispam_bee.php +109 -109
- css/styles.css +260 -110
- css/styles.min.css +1 -1
- font/fontello.woff +0 -0
- inc/gui.class.php +250 -295
- js/scripts.js +12 -44
- js/scripts.min.js +1 -2
- lang/antispam_bee-de_DE.mo +0 -0
- lang/antispam_bee-de_DE.po +112 -72
- lang/antispam_bee-nl_NL.mo +0 -0
- lang/antispam_bee-nl_NL.po +0 -190
- lang/antispam_bee-ru_RU.mo +0 -0
- lang/antispam_bee-ru_RU.po +189 -121
- readme.txt +66 -41
- screenshot-1.png +0 -0
antispam_bee.php
CHANGED
@@ -7,7 +7,7 @@ Description: Easy and extremely productive spam-fighting plugin with many sophis
|
|
7 |
Author: Sergej Müller
|
8 |
Author URI: http://wpcoder.de
|
9 |
Plugin URI: http://antispambee.com
|
10 |
-
Version: 2.4.
|
11 |
*/
|
12 |
|
13 |
|
@@ -28,11 +28,10 @@ class Antispam_Bee {
|
|
28 |
|
29 |
|
30 |
/* Init */
|
31 |
-
public static $
|
32 |
-
|
33 |
-
private static $
|
34 |
-
private static $
|
35 |
-
private static $reason;
|
36 |
|
37 |
|
38 |
/**
|
@@ -48,10 +47,10 @@ class Antispam_Bee {
|
|
48 |
if ( (defined('DOING_AJAX') && DOING_AJAX) or (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) ) {
|
49 |
return;
|
50 |
}
|
51 |
-
|
52 |
/* Initialisierung */
|
53 |
self::_init_internal_vars();
|
54 |
-
|
55 |
/* Cronjob */
|
56 |
if ( defined('DOING_CRON') ) {
|
57 |
add_action(
|
@@ -123,7 +122,7 @@ class Antispam_Bee {
|
|
123 |
2
|
124 |
);
|
125 |
add_filter(
|
126 |
-
'plugin_action_links_' .self::$
|
127 |
array(
|
128 |
__CLASS__,
|
129 |
'init_action_links'
|
@@ -212,7 +211,7 @@ class Antispam_Bee {
|
|
212 |
{
|
213 |
/* Option anlegen */
|
214 |
add_option(
|
215 |
-
|
216 |
array(),
|
217 |
'',
|
218 |
'no'
|
@@ -269,16 +268,15 @@ class Antispam_Bee {
|
|
269 |
* Initialisierung der internen Variablen
|
270 |
*
|
271 |
* @since 2.4
|
272 |
-
* @change 2.4
|
273 |
*/
|
274 |
|
275 |
private static function _init_internal_vars()
|
276 |
{
|
277 |
-
self::$
|
278 |
-
self::$
|
279 |
-
self::$secret = substr(md5(get_bloginfo('url')), 0, 5). '-comment';
|
280 |
|
281 |
-
self::$
|
282 |
'options' => array(
|
283 |
/* Allgemein */
|
284 |
'advanced_check' => 1,
|
@@ -298,8 +296,7 @@ class Antispam_Bee {
|
|
298 |
'translate_api' => 0,
|
299 |
'translate_lang' => '',
|
300 |
|
301 |
-
'
|
302 |
-
'honey_key' => '',
|
303 |
|
304 |
/* Erweitert */
|
305 |
'flag_spam' => 1,
|
@@ -310,10 +307,9 @@ class Antispam_Bee {
|
|
310 |
|
311 |
'ignore_filter' => 0,
|
312 |
'ignore_type' => 0,
|
313 |
-
'ignore_reasons' => array(),
|
314 |
|
315 |
-
|
316 |
-
'
|
317 |
),
|
318 |
'reasons' => array(
|
319 |
'css' => 'CSS Hack',
|
@@ -321,7 +317,7 @@ class Antispam_Bee {
|
|
321 |
'server' => 'Server IP',
|
322 |
'spamip' => 'Spam IP',
|
323 |
'country' => 'Country Check',
|
324 |
-
'
|
325 |
'lang' => 'Comment Language'
|
326 |
)
|
327 |
);
|
@@ -366,7 +362,7 @@ class Antispam_Bee {
|
|
366 |
return ( empty($GLOBALS['pagenow']) or ( !empty($GLOBALS['pagenow']) && $GLOBALS['pagenow'] == 'index.php' ) );
|
367 |
|
368 |
case 'options':
|
369 |
-
return ( !empty($_REQUEST['page']) && $_REQUEST['page'] ==
|
370 |
|
371 |
case 'plugins':
|
372 |
return ( !empty($GLOBALS['pagenow']) && $GLOBALS['pagenow'] == 'plugins.php' );
|
@@ -390,7 +386,7 @@ class Antispam_Bee {
|
|
390 |
public static function load_plugin_lang()
|
391 |
{
|
392 |
load_plugin_textdomain(
|
393 |
-
|
394 |
false,
|
395 |
'antispam-bee/lang'
|
396 |
);
|
@@ -418,7 +414,7 @@ class Antispam_Bee {
|
|
418 |
'<a href="%s">%s</a>',
|
419 |
add_query_arg(
|
420 |
array(
|
421 |
-
'page' =>
|
422 |
),
|
423 |
admin_url('options-general.php')
|
424 |
),
|
@@ -443,7 +439,7 @@ class Antispam_Bee {
|
|
443 |
public static function init_row_meta($input, $file)
|
444 |
{
|
445 |
/* Rechte */
|
446 |
-
if ( $file != self::$
|
447 |
return $input;
|
448 |
}
|
449 |
|
@@ -466,14 +462,14 @@ class Antispam_Bee {
|
|
466 |
|
467 |
public static function init_admin_notice() {
|
468 |
/* Alles klar? */
|
469 |
-
if ( self::_is_version($GLOBALS['wp_version'], '3.
|
470 |
return;
|
471 |
}
|
472 |
|
473 |
/* Warnung */
|
474 |
echo sprintf(
|
475 |
'<div class="error"><p>%s</p></div>',
|
476 |
-
esc_html__('Antispam Bee requires WordPress 3.
|
477 |
);
|
478 |
}
|
479 |
|
@@ -509,7 +505,7 @@ class Antispam_Bee {
|
|
509 |
* Registrierung von Ressourcen (CSS & JS)
|
510 |
*
|
511 |
* @since 1.6
|
512 |
-
* @change 2.4.
|
513 |
*/
|
514 |
|
515 |
public static function init_plugin_sources()
|
@@ -521,7 +517,7 @@ class Antispam_Bee {
|
|
521 |
wp_register_script(
|
522 |
'ab_script',
|
523 |
plugins_url('js/scripts.min.js', __FILE__),
|
524 |
-
array('jquery'
|
525 |
$plugin['Version']
|
526 |
);
|
527 |
|
@@ -549,7 +545,7 @@ class Antispam_Bee {
|
|
549 |
'Antispam Bee',
|
550 |
'Antispam Bee',
|
551 |
'manage_options',
|
552 |
-
|
553 |
array(
|
554 |
'Antispam_Bee_GUI',
|
555 |
'options_page'
|
@@ -652,7 +648,7 @@ class Antispam_Bee {
|
|
652 |
<td class="last t">%s</td>
|
653 |
</tr>',
|
654 |
esc_html( self::_get_spam_count() ),
|
655 |
-
esc_html__('Blocked',
|
656 |
);
|
657 |
}
|
658 |
|
@@ -759,7 +755,7 @@ class Antispam_Bee {
|
|
759 |
foreach($items as $timestamp => $count) {
|
760 |
array_push(
|
761 |
$output['created'],
|
762 |
-
( $timestamp == strtotime('today', current_time('timestamp')) ? __('Today',
|
763 |
);
|
764 |
array_push(
|
765 |
$output['count'],
|
@@ -817,7 +813,7 @@ class Antispam_Bee {
|
|
817 |
/* Ausgabe */
|
818 |
echo sprintf(
|
819 |
'<div id="ab_chart">%s</div>',
|
820 |
-
( empty($items) ? esc_html__('No data available.',
|
821 |
);
|
822 |
}
|
823 |
|
@@ -840,14 +836,14 @@ class Antispam_Bee {
|
|
840 |
|
841 |
public static function get_options()
|
842 |
{
|
843 |
-
if ( !$options = wp_cache_get(
|
844 |
$options = wp_parse_args(
|
845 |
-
get_option(
|
846 |
-
self::$
|
847 |
);
|
848 |
|
849 |
wp_cache_set(
|
850 |
-
|
851 |
$options
|
852 |
);
|
853 |
}
|
@@ -907,19 +903,19 @@ class Antispam_Bee {
|
|
907 |
{
|
908 |
/* Option zuweisen */
|
909 |
$options = array_merge(
|
910 |
-
(array)get_option(
|
911 |
$data
|
912 |
);
|
913 |
|
914 |
/* DB updaten */
|
915 |
update_option(
|
916 |
-
|
917 |
$options
|
918 |
);
|
919 |
|
920 |
/* Cache updaten */
|
921 |
wp_cache_set(
|
922 |
-
|
923 |
$options
|
924 |
);
|
925 |
}
|
@@ -1048,7 +1044,7 @@ class Antispam_Bee {
|
|
1048 |
/* Allgemeine Werte */
|
1049 |
$request_url = self::get_key($_SERVER, 'REQUEST_URI');
|
1050 |
$hidden_field = self::get_key($_POST, 'comment');
|
1051 |
-
$plugin_field = self::get_key($_POST, self::$
|
1052 |
|
1053 |
/* Falsch verbunden */
|
1054 |
if ( empty($_POST) or empty($request_url) or strpos($request_url, 'wp-comments-post.php') === false ) {
|
@@ -1058,7 +1054,7 @@ class Antispam_Bee {
|
|
1058 |
/* Felder prüfen */
|
1059 |
if ( empty($hidden_field) && !empty($plugin_field) ) {
|
1060 |
$_POST['comment'] = $plugin_field;
|
1061 |
-
unset($_POST[self::$
|
1062 |
} else {
|
1063 |
$_POST['bee_spam'] = 1;
|
1064 |
}
|
@@ -1175,7 +1171,7 @@ class Antispam_Bee {
|
|
1175 |
/* Convert */
|
1176 |
return preg_replace(
|
1177 |
'#<textarea(.+?)name=["\']comment["\'](.+?)</textarea>#s',
|
1178 |
-
'<textarea$1name="' .self::$
|
1179 |
(string) $data,
|
1180 |
1
|
1181 |
);
|
@@ -1205,6 +1201,30 @@ class Antispam_Bee {
|
|
1205 |
}
|
1206 |
|
1207 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1208 |
/**
|
1209 |
* Prüfung auf Mobile
|
1210 |
*
|
@@ -1237,7 +1257,7 @@ class Antispam_Bee {
|
|
1237 |
|
1238 |
|
1239 |
/**
|
1240 |
-
* Prüfung einer IP auf ihre Existenz im Spam
|
1241 |
*
|
1242 |
* @since 2.0
|
1243 |
* @change 2.4
|
@@ -1277,7 +1297,7 @@ class Antispam_Bee {
|
|
1277 |
* Prüfung auf erlaubten Ländercodes
|
1278 |
*
|
1279 |
* @since 0.1
|
1280 |
-
* @change 2.4.
|
1281 |
*
|
1282 |
* @param string $ip IP-Adresse
|
1283 |
* @return boolean TRUE bei unerwünschten Ländercodes
|
@@ -1316,10 +1336,11 @@ class Antispam_Bee {
|
|
1316 |
$response = wp_remote_get(
|
1317 |
esc_url_raw(
|
1318 |
sprintf(
|
1319 |
-
'
|
|
|
1320 |
$ip
|
1321 |
),
|
1322 |
-
'
|
1323 |
)
|
1324 |
);
|
1325 |
|
@@ -1347,52 +1368,31 @@ class Antispam_Bee {
|
|
1347 |
|
1348 |
|
1349 |
/**
|
1350 |
-
* Prüfung auf
|
1351 |
*
|
1352 |
-
* @since
|
1353 |
-
* @change 2.4
|
1354 |
*
|
1355 |
* @param string $ip IP-Adresse
|
1356 |
* @return boolean TRUE bei gemeldeter IP
|
1357 |
*/
|
1358 |
|
1359 |
-
private static function
|
1360 |
{
|
1361 |
/* Keine IP? */
|
1362 |
if ( empty($ip) ) {
|
1363 |
return true;
|
1364 |
}
|
1365 |
|
1366 |
-
/*
|
1367 |
-
|
1368 |
-
|
1369 |
-
/* Kein Key? */
|
1370 |
-
if ( empty($options['honey_key']) ) {
|
1371 |
return false;
|
1372 |
}
|
1373 |
-
|
1374 |
-
|
1375 |
-
|
1376 |
-
'
|
1377 |
-
$options['honey_key'],
|
1378 |
-
implode(
|
1379 |
-
'.',
|
1380 |
-
array_reverse(
|
1381 |
-
explode(
|
1382 |
-
'.',
|
1383 |
-
$ip
|
1384 |
-
)
|
1385 |
-
)
|
1386 |
-
)
|
1387 |
-
);
|
1388 |
-
|
1389 |
-
/* Response */
|
1390 |
-
$bits = explode(
|
1391 |
-
'.',
|
1392 |
-
gethostbyname($host)
|
1393 |
);
|
1394 |
-
|
1395 |
-
return ( $bits[0] == 127 && $bits[3] & 4 );
|
1396 |
}
|
1397 |
|
1398 |
|
@@ -1400,7 +1400,7 @@ class Antispam_Bee {
|
|
1400 |
* Prüfung der Trackbacks
|
1401 |
*
|
1402 |
* @since 2.4
|
1403 |
-
* @change 2.4.
|
1404 |
*
|
1405 |
* @param array $comment Daten des Trackbacks
|
1406 |
* @return array Array mit dem Verdachtsgrund [optional]
|
@@ -1425,6 +1425,13 @@ class Antispam_Bee {
|
|
1425 |
/* Optionen */
|
1426 |
$options = self::get_options();
|
1427 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1428 |
/* IP != Server */
|
1429 |
if ( $options['advanced_check'] && self::_is_fake_ip($ip, parse_url($url, PHP_URL_HOST)) ) {
|
1430 |
return array(
|
@@ -1439,13 +1446,6 @@ class Antispam_Bee {
|
|
1439 |
);
|
1440 |
}
|
1441 |
|
1442 |
-
/* Honey Pot */
|
1443 |
-
if ( $options['honey_pot'] && self::_is_honey_spam($ip) ) {
|
1444 |
-
return array(
|
1445 |
-
'reason' => 'honey'
|
1446 |
-
);
|
1447 |
-
}
|
1448 |
-
|
1449 |
/* Country Code prüfen */
|
1450 |
if ( $options['country_code'] && self::_is_spam_country($ip) ) {
|
1451 |
return array(
|
@@ -1611,7 +1611,7 @@ class Antispam_Bee {
|
|
1611 |
* Prüfung den Kommentar
|
1612 |
*
|
1613 |
* @since 2.4
|
1614 |
-
* @change 2.4.
|
1615 |
*
|
1616 |
* @param array $comment Daten des Kommentars
|
1617 |
* @return array Array mit dem Verdachtsgrund [optional]
|
@@ -1655,6 +1655,13 @@ class Antispam_Bee {
|
|
1655 |
);
|
1656 |
}
|
1657 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1658 |
/* Erweiterter Schutz */
|
1659 |
if ( $options['advanced_check'] && self::_is_fake_ip($ip) ) {
|
1660 |
return array(
|
@@ -1669,13 +1676,6 @@ class Antispam_Bee {
|
|
1669 |
);
|
1670 |
}
|
1671 |
|
1672 |
-
/* Honey Pot */
|
1673 |
-
if ( $options['honey_pot'] && self::_is_honey_spam($ip) ) {
|
1674 |
-
return array(
|
1675 |
-
'reason' => 'honey'
|
1676 |
-
);
|
1677 |
-
}
|
1678 |
-
|
1679 |
/* Country Code prüfen */
|
1680 |
if ( $options['country_code'] && self::_is_spam_country($ip) ) {
|
1681 |
return array(
|
@@ -1738,7 +1738,7 @@ class Antispam_Bee {
|
|
1738 |
}
|
1739 |
|
1740 |
/* Spam-Grund */
|
1741 |
-
self::$
|
1742 |
|
1743 |
/* Spam markieren */
|
1744 |
add_filter(
|
@@ -1770,7 +1770,7 @@ class Antispam_Bee {
|
|
1770 |
if ( $spam_notice ) {
|
1771 |
$comment['comment_content'] = sprintf(
|
1772 |
'[MARKED AS SPAM BY ANTISPAM BEE | %s]%s%s',
|
1773 |
-
self::$
|
1774 |
"\n",
|
1775 |
$comment['comment_content']
|
1776 |
);
|
@@ -1820,21 +1820,21 @@ class Antispam_Bee {
|
|
1820 |
$subject = sprintf(
|
1821 |
'[%s] %s',
|
1822 |
get_bloginfo('name'),
|
1823 |
-
__('Comment marked as spam',
|
1824 |
);
|
1825 |
|
1826 |
/* Content */
|
1827 |
if ( !$content = strip_tags(stripslashes($comment['comment_content'])) ) {
|
1828 |
$content = sprintf(
|
1829 |
'-- %s --',
|
1830 |
-
__('Content removed by Antispam Bee',
|
1831 |
);
|
1832 |
}
|
1833 |
|
1834 |
/* Body */
|
1835 |
$body = sprintf(
|
1836 |
"%s \"%s\"\r\n\r\n",
|
1837 |
-
__('New spam comment on your post',
|
1838 |
strip_tags($post->post_title)
|
1839 |
).sprintf(
|
1840 |
"%s: %s\r\n",
|
@@ -1845,15 +1845,15 @@ class Antispam_Bee {
|
|
1845 |
esc_url($comment['comment_author_url']) /* empty check exists */
|
1846 |
).sprintf(
|
1847 |
"%s: %s\r\n",
|
1848 |
-
__('Type',
|
1849 |
-
__( ( empty($comment['comment_type']) ? 'Comment' : 'Trackback' ),
|
1850 |
).sprintf(
|
1851 |
"Whois: http://whois.arin.net/rest/ip/%s\r\n",
|
1852 |
$comment['comment_author_IP']
|
1853 |
).sprintf(
|
1854 |
"%s: %s\r\n\r\n",
|
1855 |
-
__('Spam Reason',
|
1856 |
-
__(self::$
|
1857 |
).sprintf(
|
1858 |
"%s\r\n\r\n\r\n",
|
1859 |
$content
|
@@ -1861,28 +1861,28 @@ class Antispam_Bee {
|
|
1861 |
EMPTY_TRASH_DAYS ? (
|
1862 |
sprintf(
|
1863 |
"%s: %s\r\n",
|
1864 |
-
__('Trash it',
|
1865 |
admin_url('comment.php?action=trash&c=' .$id)
|
1866 |
)
|
1867 |
) : (
|
1868 |
sprintf(
|
1869 |
"%s: %s\r\n",
|
1870 |
-
__('Delete it',
|
1871 |
admin_url('comment.php?action=delete&c=' .$id)
|
1872 |
)
|
1873 |
)
|
1874 |
).sprintf(
|
1875 |
"%s: %s\r\n",
|
1876 |
-
__('Approve it',
|
1877 |
admin_url('comment.php?action=approve&c=' .$id)
|
1878 |
).sprintf(
|
1879 |
"%s: %s\r\n\r\n",
|
1880 |
-
__('Spam list',
|
1881 |
admin_url('edit-comments.php?comment_status=spam')
|
1882 |
).sprintf(
|
1883 |
"%s\r\n%s\r\n",
|
1884 |
-
__('Notify message by Antispam Bee',
|
1885 |
-
__('http://antispambee.com',
|
1886 |
);
|
1887 |
|
1888 |
/* Send */
|
7 |
Author: Sergej Müller
|
8 |
Author URI: http://wpcoder.de
|
9 |
Plugin URI: http://antispambee.com
|
10 |
+
Version: 2.4.5
|
11 |
*/
|
12 |
|
13 |
|
28 |
|
29 |
|
30 |
/* Init */
|
31 |
+
public static $defaults;
|
32 |
+
private static $_base;
|
33 |
+
private static $_secret;
|
34 |
+
private static $_reason;
|
|
|
35 |
|
36 |
|
37 |
/**
|
47 |
if ( (defined('DOING_AJAX') && DOING_AJAX) or (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) ) {
|
48 |
return;
|
49 |
}
|
50 |
+
|
51 |
/* Initialisierung */
|
52 |
self::_init_internal_vars();
|
53 |
+
|
54 |
/* Cronjob */
|
55 |
if ( defined('DOING_CRON') ) {
|
56 |
add_action(
|
122 |
2
|
123 |
);
|
124 |
add_filter(
|
125 |
+
'plugin_action_links_' .self::$_base,
|
126 |
array(
|
127 |
__CLASS__,
|
128 |
'init_action_links'
|
211 |
{
|
212 |
/* Option anlegen */
|
213 |
add_option(
|
214 |
+
'antispam_bee',
|
215 |
array(),
|
216 |
'',
|
217 |
'no'
|
268 |
* Initialisierung der internen Variablen
|
269 |
*
|
270 |
* @since 2.4
|
271 |
+
* @change 2.4.5
|
272 |
*/
|
273 |
|
274 |
private static function _init_internal_vars()
|
275 |
{
|
276 |
+
self::$_base = plugin_basename(__FILE__);
|
277 |
+
self::$_secret = substr(md5(get_bloginfo('url')), 0, 5). '-comment';
|
|
|
278 |
|
279 |
+
self::$defaults = array(
|
280 |
'options' => array(
|
281 |
/* Allgemein */
|
282 |
'advanced_check' => 1,
|
296 |
'translate_api' => 0,
|
297 |
'translate_lang' => '',
|
298 |
|
299 |
+
'dnsbl_check' => 1,
|
|
|
300 |
|
301 |
/* Erweitert */
|
302 |
'flag_spam' => 1,
|
307 |
|
308 |
'ignore_filter' => 0,
|
309 |
'ignore_type' => 0,
|
|
|
310 |
|
311 |
+
'reasons_enable' => 0,
|
312 |
+
'ignore_reasons' => array()
|
313 |
),
|
314 |
'reasons' => array(
|
315 |
'css' => 'CSS Hack',
|
317 |
'server' => 'Server IP',
|
318 |
'spamip' => 'Spam IP',
|
319 |
'country' => 'Country Check',
|
320 |
+
'dnsbl' => 'DNSBL Spam',
|
321 |
'lang' => 'Comment Language'
|
322 |
)
|
323 |
);
|
362 |
return ( empty($GLOBALS['pagenow']) or ( !empty($GLOBALS['pagenow']) && $GLOBALS['pagenow'] == 'index.php' ) );
|
363 |
|
364 |
case 'options':
|
365 |
+
return ( !empty($_REQUEST['page']) && $_REQUEST['page'] == 'antispam_bee' );
|
366 |
|
367 |
case 'plugins':
|
368 |
return ( !empty($GLOBALS['pagenow']) && $GLOBALS['pagenow'] == 'plugins.php' );
|
386 |
public static function load_plugin_lang()
|
387 |
{
|
388 |
load_plugin_textdomain(
|
389 |
+
'antispam_bee',
|
390 |
false,
|
391 |
'antispam-bee/lang'
|
392 |
);
|
414 |
'<a href="%s">%s</a>',
|
415 |
add_query_arg(
|
416 |
array(
|
417 |
+
'page' => 'antispam_bee'
|
418 |
),
|
419 |
admin_url('options-general.php')
|
420 |
),
|
439 |
public static function init_row_meta($input, $file)
|
440 |
{
|
441 |
/* Rechte */
|
442 |
+
if ( $file != self::$_base ) {
|
443 |
return $input;
|
444 |
}
|
445 |
|
462 |
|
463 |
public static function init_admin_notice() {
|
464 |
/* Alles klar? */
|
465 |
+
if ( self::_is_version($GLOBALS['wp_version'], '3.4') && self::_is_version(phpversion(), '5.1.2') ) {
|
466 |
return;
|
467 |
}
|
468 |
|
469 |
/* Warnung */
|
470 |
echo sprintf(
|
471 |
'<div class="error"><p>%s</p></div>',
|
472 |
+
esc_html__('Antispam Bee requires WordPress 3.4 and PHP 5.1.2', 'antispam_bee')
|
473 |
);
|
474 |
}
|
475 |
|
505 |
* Registrierung von Ressourcen (CSS & JS)
|
506 |
*
|
507 |
* @since 1.6
|
508 |
+
* @change 2.4.5
|
509 |
*/
|
510 |
|
511 |
public static function init_plugin_sources()
|
517 |
wp_register_script(
|
518 |
'ab_script',
|
519 |
plugins_url('js/scripts.min.js', __FILE__),
|
520 |
+
array('jquery'),
|
521 |
$plugin['Version']
|
522 |
);
|
523 |
|
545 |
'Antispam Bee',
|
546 |
'Antispam Bee',
|
547 |
'manage_options',
|
548 |
+
'antispam_bee',
|
549 |
array(
|
550 |
'Antispam_Bee_GUI',
|
551 |
'options_page'
|
648 |
<td class="last t">%s</td>
|
649 |
</tr>',
|
650 |
esc_html( self::_get_spam_count() ),
|
651 |
+
esc_html__('Blocked', 'antispam_bee')
|
652 |
);
|
653 |
}
|
654 |
|
755 |
foreach($items as $timestamp => $count) {
|
756 |
array_push(
|
757 |
$output['created'],
|
758 |
+
( $timestamp == strtotime('today', current_time('timestamp')) ? __('Today', 'antispam_bee') : date('d.m', $timestamp) )
|
759 |
);
|
760 |
array_push(
|
761 |
$output['count'],
|
813 |
/* Ausgabe */
|
814 |
echo sprintf(
|
815 |
'<div id="ab_chart">%s</div>',
|
816 |
+
( empty($items) ? esc_html__('No data available.', 'antispam_bee') : '' )
|
817 |
);
|
818 |
}
|
819 |
|
836 |
|
837 |
public static function get_options()
|
838 |
{
|
839 |
+
if ( !$options = wp_cache_get('antispam_bee') ) {
|
840 |
$options = wp_parse_args(
|
841 |
+
get_option('antispam_bee'),
|
842 |
+
self::$defaults['options']
|
843 |
);
|
844 |
|
845 |
wp_cache_set(
|
846 |
+
'antispam_bee',
|
847 |
$options
|
848 |
);
|
849 |
}
|
903 |
{
|
904 |
/* Option zuweisen */
|
905 |
$options = array_merge(
|
906 |
+
(array)get_option('antispam_bee'),
|
907 |
$data
|
908 |
);
|
909 |
|
910 |
/* DB updaten */
|
911 |
update_option(
|
912 |
+
'antispam_bee',
|
913 |
$options
|
914 |
);
|
915 |
|
916 |
/* Cache updaten */
|
917 |
wp_cache_set(
|
918 |
+
'antispam_bee',
|
919 |
$options
|
920 |
);
|
921 |
}
|
1044 |
/* Allgemeine Werte */
|
1045 |
$request_url = self::get_key($_SERVER, 'REQUEST_URI');
|
1046 |
$hidden_field = self::get_key($_POST, 'comment');
|
1047 |
+
$plugin_field = self::get_key($_POST, self::$_secret);
|
1048 |
|
1049 |
/* Falsch verbunden */
|
1050 |
if ( empty($_POST) or empty($request_url) or strpos($request_url, 'wp-comments-post.php') === false ) {
|
1054 |
/* Felder prüfen */
|
1055 |
if ( empty($hidden_field) && !empty($plugin_field) ) {
|
1056 |
$_POST['comment'] = $plugin_field;
|
1057 |
+
unset($_POST[self::$_secret]);
|
1058 |
} else {
|
1059 |
$_POST['bee_spam'] = 1;
|
1060 |
}
|
1171 |
/* Convert */
|
1172 |
return preg_replace(
|
1173 |
'#<textarea(.+?)name=["\']comment["\'](.+?)</textarea>#s',
|
1174 |
+
'<textarea$1name="' .self::$_secret. '"$2</textarea><textarea name="comment" style="display:none" rows="1" cols="1"></textarea>',
|
1175 |
(string) $data,
|
1176 |
1
|
1177 |
);
|
1201 |
}
|
1202 |
|
1203 |
|
1204 |
+
/**
|
1205 |
+
* Dreht die IP-Adresse
|
1206 |
+
*
|
1207 |
+
* @since 2.4.5
|
1208 |
+
* @change 2.4.5
|
1209 |
+
*
|
1210 |
+
* @param string $ip IP-Adresse
|
1211 |
+
* @return string Gedrehte IP-Adresse
|
1212 |
+
*/
|
1213 |
+
|
1214 |
+
private static function _reverse_ip($ip)
|
1215 |
+
{
|
1216 |
+
return implode(
|
1217 |
+
'.',
|
1218 |
+
array_reverse(
|
1219 |
+
explode(
|
1220 |
+
'.',
|
1221 |
+
$ip
|
1222 |
+
)
|
1223 |
+
)
|
1224 |
+
);
|
1225 |
+
}
|
1226 |
+
|
1227 |
+
|
1228 |
/**
|
1229 |
* Prüfung auf Mobile
|
1230 |
*
|
1257 |
|
1258 |
|
1259 |
/**
|
1260 |
+
* Prüfung einer IP auf ihre Existenz im lokalen Spam
|
1261 |
*
|
1262 |
* @since 2.0
|
1263 |
* @change 2.4
|
1297 |
* Prüfung auf erlaubten Ländercodes
|
1298 |
*
|
1299 |
* @since 0.1
|
1300 |
+
* @change 2.4.5
|
1301 |
*
|
1302 |
* @param string $ip IP-Adresse
|
1303 |
* @return boolean TRUE bei unerwünschten Ländercodes
|
1336 |
$response = wp_remote_get(
|
1337 |
esc_url_raw(
|
1338 |
sprintf(
|
1339 |
+
'https://geoip.maxmind.com/a?l=%s&i=%s',
|
1340 |
+
strrev('1Lbn0ZsL08e1'),
|
1341 |
$ip
|
1342 |
),
|
1343 |
+
'https'
|
1344 |
)
|
1345 |
);
|
1346 |
|
1368 |
|
1369 |
|
1370 |
/**
|
1371 |
+
* Prüfung auf DNSBL Spam
|
1372 |
*
|
1373 |
+
* @since 2.4.5
|
1374 |
+
* @change 2.4.5
|
1375 |
*
|
1376 |
* @param string $ip IP-Adresse
|
1377 |
* @return boolean TRUE bei gemeldeter IP
|
1378 |
*/
|
1379 |
|
1380 |
+
private static function _is_dnsbl_spam($ip)
|
1381 |
{
|
1382 |
/* Keine IP? */
|
1383 |
if ( empty($ip) ) {
|
1384 |
return true;
|
1385 |
}
|
1386 |
|
1387 |
+
/* Funktionscheck */
|
1388 |
+
if ( ! function_exists('checkdnsrr') ) {
|
|
|
|
|
|
|
1389 |
return false;
|
1390 |
}
|
1391 |
+
|
1392 |
+
return (bool) checkdnsrr(
|
1393 |
+
self::_reverse_ip($ip). '.opm.tornevall.org.',
|
1394 |
+
'A'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1395 |
);
|
|
|
|
|
1396 |
}
|
1397 |
|
1398 |
|
1400 |
* Prüfung der Trackbacks
|
1401 |
*
|
1402 |
* @since 2.4
|
1403 |
+
* @change 2.4.5
|
1404 |
*
|
1405 |
* @param array $comment Daten des Trackbacks
|
1406 |
* @return array Array mit dem Verdachtsgrund [optional]
|
1425 |
/* Optionen */
|
1426 |
$options = self::get_options();
|
1427 |
|
1428 |
+
/* DNSBL Spam */
|
1429 |
+
if ( $options['dnsbl_check'] && self::_is_dnsbl_spam($ip) ) {
|
1430 |
+
return array(
|
1431 |
+
'reason' => 'dnsbl'
|
1432 |
+
);
|
1433 |
+
}
|
1434 |
+
|
1435 |
/* IP != Server */
|
1436 |
if ( $options['advanced_check'] && self::_is_fake_ip($ip, parse_url($url, PHP_URL_HOST)) ) {
|
1437 |
return array(
|
1446 |
);
|
1447 |
}
|
1448 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1449 |
/* Country Code prüfen */
|
1450 |
if ( $options['country_code'] && self::_is_spam_country($ip) ) {
|
1451 |
return array(
|
1611 |
* Prüfung den Kommentar
|
1612 |
*
|
1613 |
* @since 2.4
|
1614 |
+
* @change 2.4.5
|
1615 |
*
|
1616 |
* @param array $comment Daten des Kommentars
|
1617 |
* @return array Array mit dem Verdachtsgrund [optional]
|
1655 |
);
|
1656 |
}
|
1657 |
|
1658 |
+
/* DNSBL Spam */
|
1659 |
+
if ( $options['dnsbl_check'] && self::_is_dnsbl_spam($ip) ) {
|
1660 |
+
return array(
|
1661 |
+
'reason' => 'dnsbl'
|
1662 |
+
);
|
1663 |
+
}
|
1664 |
+
|
1665 |
/* Erweiterter Schutz */
|
1666 |
if ( $options['advanced_check'] && self::_is_fake_ip($ip) ) {
|
1667 |
return array(
|
1676 |
);
|
1677 |
}
|
1678 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1679 |
/* Country Code prüfen */
|
1680 |
if ( $options['country_code'] && self::_is_spam_country($ip) ) {
|
1681 |
return array(
|
1738 |
}
|
1739 |
|
1740 |
/* Spam-Grund */
|
1741 |
+
self::$_reason = $reason;
|
1742 |
|
1743 |
/* Spam markieren */
|
1744 |
add_filter(
|
1770 |
if ( $spam_notice ) {
|
1771 |
$comment['comment_content'] = sprintf(
|
1772 |
'[MARKED AS SPAM BY ANTISPAM BEE | %s]%s%s',
|
1773 |
+
self::$defaults['reasons'][self::$_reason],
|
1774 |
"\n",
|
1775 |
$comment['comment_content']
|
1776 |
);
|
1820 |
$subject = sprintf(
|
1821 |
'[%s] %s',
|
1822 |
get_bloginfo('name'),
|
1823 |
+
__('Comment marked as spam', 'antispam_bee')
|
1824 |
);
|
1825 |
|
1826 |
/* Content */
|
1827 |
if ( !$content = strip_tags(stripslashes($comment['comment_content'])) ) {
|
1828 |
$content = sprintf(
|
1829 |
'-- %s --',
|
1830 |
+
__('Content removed by Antispam Bee', 'antispam_bee')
|
1831 |
);
|
1832 |
}
|
1833 |
|
1834 |
/* Body */
|
1835 |
$body = sprintf(
|
1836 |
"%s \"%s\"\r\n\r\n",
|
1837 |
+
__('New spam comment on your post', 'antispam_bee'),
|
1838 |
strip_tags($post->post_title)
|
1839 |
).sprintf(
|
1840 |
"%s: %s\r\n",
|
1845 |
esc_url($comment['comment_author_url']) /* empty check exists */
|
1846 |
).sprintf(
|
1847 |
"%s: %s\r\n",
|
1848 |
+
__('Type', 'antispam_bee'),
|
1849 |
+
__( ( empty($comment['comment_type']) ? 'Comment' : 'Trackback' ), 'antispam_bee' )
|
1850 |
).sprintf(
|
1851 |
"Whois: http://whois.arin.net/rest/ip/%s\r\n",
|
1852 |
$comment['comment_author_IP']
|
1853 |
).sprintf(
|
1854 |
"%s: %s\r\n\r\n",
|
1855 |
+
__('Spam Reason', 'antispam_bee'),
|
1856 |
+
__(self::$defaults['reasons'][self::$_reason], 'antispam_bee')
|
1857 |
).sprintf(
|
1858 |
"%s\r\n\r\n\r\n",
|
1859 |
$content
|
1861 |
EMPTY_TRASH_DAYS ? (
|
1862 |
sprintf(
|
1863 |
"%s: %s\r\n",
|
1864 |
+
__('Trash it', 'antispam_bee'),
|
1865 |
admin_url('comment.php?action=trash&c=' .$id)
|
1866 |
)
|
1867 |
) : (
|
1868 |
sprintf(
|
1869 |
"%s: %s\r\n",
|
1870 |
+
__('Delete it', 'antispam_bee'),
|
1871 |
admin_url('comment.php?action=delete&c=' .$id)
|
1872 |
)
|
1873 |
)
|
1874 |
).sprintf(
|
1875 |
"%s: %s\r\n",
|
1876 |
+
__('Approve it', 'antispam_bee'),
|
1877 |
admin_url('comment.php?action=approve&c=' .$id)
|
1878 |
).sprintf(
|
1879 |
"%s: %s\r\n\r\n",
|
1880 |
+
__('Spam list', 'antispam_bee'),
|
1881 |
admin_url('edit-comments.php?comment_status=spam')
|
1882 |
).sprintf(
|
1883 |
"%s\r\n%s\r\n",
|
1884 |
+
__('Notify message by Antispam Bee', 'antispam_bee'),
|
1885 |
+
__('http://antispambee.com', 'antispam_bee')
|
1886 |
);
|
1887 |
|
1888 |
/* Send */
|
css/styles.css
CHANGED
@@ -1,11 +1,8 @@
|
|
1 |
/* @group Icon */
|
2 |
|
3 |
#icon-ab {
|
4 |
-
top: -8px;
|
5 |
-
left: 0;
|
6 |
width: 32px;
|
7 |
height: 32px;
|
8 |
-
position: absolute;
|
9 |
background: url('../img/icon@2x.png');
|
10 |
background-size: 100%;
|
11 |
}
|
@@ -13,165 +10,318 @@
|
|
13 |
/* @end group */
|
14 |
|
15 |
|
16 |
-
/* @group
|
17 |
|
18 |
-
|
19 |
-
|
|
|
|
|
|
|
20 |
}
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
|
|
|
|
|
|
|
|
31 |
}
|
32 |
|
33 |
-
|
34 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
}
|
36 |
-
|
37 |
-
|
|
|
|
|
38 |
}
|
39 |
|
40 |
-
|
|
|
|
|
|
|
|
|
|
|
41 |
margin: 0;
|
|
|
|
|
|
|
|
|
42 |
}
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
|
|
|
|
50 |
}
|
51 |
-
|
52 |
-
|
53 |
}
|
54 |
-
|
55 |
-
|
56 |
-
width: 160px;
|
57 |
}
|
58 |
-
|
59 |
-
|
60 |
}
|
61 |
|
62 |
-
|
63 |
-
|
|
|
|
|
|
|
|
|
|
|
64 |
}
|
65 |
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
73 |
}
|
74 |
-
|
75 |
-
|
76 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
}
|
78 |
-
|
79 |
-
|
|
|
|
|
|
|
|
|
|
|
80 |
display: inline-block;
|
81 |
font-size: 11px;
|
82 |
-
|
83 |
}
|
84 |
-
|
85 |
-
|
86 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
display: inline-block;
|
|
|
|
|
|
|
88 |
}
|
89 |
-
|
90 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
content: '';
|
|
|
92 |
}
|
93 |
-
|
94 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
}
|
96 |
|
97 |
/* @end group */
|
98 |
|
99 |
|
100 |
-
/* @group
|
101 |
|
102 |
-
|
103 |
-
|
104 |
-
margin:
|
105 |
-
padding:
|
106 |
-
border-
|
107 |
}
|
108 |
-
|
109 |
-
float:
|
110 |
margin: 0;
|
111 |
-
padding: 0;
|
112 |
-
}
|
113 |
-
#ab_main .nav-tab-wrapper h2 {
|
114 |
-
padding: 0;
|
115 |
-
}
|
116 |
-
#ab_main .nav-tab-wrapper a {
|
117 |
-
color: #AAA;
|
118 |
height: 24px;
|
119 |
}
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
border-color: #ccc;
|
124 |
-
border-bottom: 1px solid #fff;
|
125 |
}
|
126 |
-
.
|
127 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
128 |
}
|
129 |
|
130 |
/* @end group */
|
131 |
|
132 |
|
133 |
-
/* @group
|
134 |
|
135 |
-
|
|
|
136 |
display: none;
|
137 |
}
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
position: absolute;
|
144 |
-
|
145 |
-
animation: blink 1s cubic-bezier(1, 0, 0, 1) 2;
|
146 |
-
-moz-animation: blink 1s cubic-bezier(1, 0, 0, 1) 2;
|
147 |
-
-webkit-animation: blink 1s cubic-bezier(1, 0, 0, 1) 2;
|
148 |
}
|
149 |
-
|
150 |
-
padding: 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
151 |
}
|
152 |
|
153 |
-
@
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
}
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
|
|
|
|
|
|
167 |
}
|
168 |
}
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
}
|
173 |
-
to {
|
174 |
-
opacity: 0;
|
175 |
}
|
176 |
}
|
177 |
|
1 |
/* @group Icon */
|
2 |
|
3 |
#icon-ab {
|
|
|
|
|
4 |
width: 32px;
|
5 |
height: 32px;
|
|
|
6 |
background: url('../img/icon@2x.png');
|
7 |
background-size: 100%;
|
8 |
}
|
10 |
/* @end group */
|
11 |
|
12 |
|
13 |
+
/* @group Webfont */
|
14 |
|
15 |
+
@font-face {
|
16 |
+
font-family: 'fontello';
|
17 |
+
src: url('../font/fontello.woff') format('woff');
|
18 |
+
font-weight: normal;
|
19 |
+
font-style: normal;
|
20 |
}
|
21 |
+
|
22 |
+
/* @end group */
|
23 |
+
|
24 |
+
|
25 |
+
/* @group Allgemein */
|
26 |
+
|
27 |
+
.ab-main *,
|
28 |
+
.ab-main *:after,
|
29 |
+
.ab-main *:before {
|
30 |
+
border: 0;
|
31 |
+
margin: 0;
|
32 |
+
padding: 0;
|
33 |
+
outline: 0;
|
34 |
+
|
35 |
+
-webkit-box-sizing: border-box;
|
36 |
+
-moz-box-sizing: border-box;
|
37 |
+
box-sizing: border-box;
|
38 |
}
|
39 |
+
.ab-main,
|
40 |
+
.ab-main input,
|
41 |
+
.ab-main select {
|
42 |
+
font-family: sans-serif;
|
43 |
+
font-size: 12px;
|
44 |
+
line-height: 16px;
|
45 |
+
}
|
46 |
+
|
47 |
+
/* @end group */
|
48 |
|
49 |
+
|
50 |
+
/* @group Browse Happy */
|
51 |
+
|
52 |
+
.browsehappy {
|
53 |
+
margin: 0 0 20px;
|
54 |
+
padding: 10px;
|
55 |
+
border: 1px solid #e66f00;
|
56 |
+
text-align: center;
|
57 |
}
|
58 |
|
59 |
+
/* @end group */
|
60 |
+
|
61 |
+
|
62 |
+
/* @group Spalten */
|
63 |
+
|
64 |
+
.ab-wrap {
|
65 |
+
color: #2f353e;
|
66 |
+
height: 1%;
|
67 |
+
overflow: hidden;
|
68 |
+
padding: 20px 0 0 6px;
|
69 |
+
text-rendering: optimizeLegibility;
|
70 |
}
|
71 |
+
.ab-column {
|
72 |
+
float: left;
|
73 |
+
margin: 0 20px 0 0;
|
74 |
+
position: relative;
|
75 |
}
|
76 |
|
77 |
+
/* @end group */
|
78 |
+
|
79 |
+
|
80 |
+
/* @group Überschriften + Icons */
|
81 |
+
|
82 |
+
.ab-column h3 {
|
83 |
margin: 0;
|
84 |
+
font-size: 14px;
|
85 |
+
font-weight: normal;
|
86 |
+
line-height: 20px;
|
87 |
+
text-transform: uppercase;
|
88 |
}
|
89 |
+
.ab-column h3.icon:before {
|
90 |
+
font: normal 30px/30px fontello;
|
91 |
+
top: 4px;
|
92 |
+
right: 20px;
|
93 |
+
speak: none;
|
94 |
+
width: 1em;
|
95 |
+
color: #8e959c;
|
96 |
+
position: absolute;
|
97 |
+
text-align: center;
|
98 |
}
|
99 |
+
.ab-column.ab-arrow h3.icon:before {
|
100 |
+
content: '\2387';
|
101 |
}
|
102 |
+
.ab-column.ab-join h3.icon:before {
|
103 |
+
content: '\e795';
|
|
|
104 |
}
|
105 |
+
.ab-column.ab-diff h3.icon:before {
|
106 |
+
content: '\e73c';
|
107 |
}
|
108 |
|
109 |
+
.ab-column h6 {
|
110 |
+
clear: both;
|
111 |
+
color: #8e959c;
|
112 |
+
margin: 0 0 20px;
|
113 |
+
font-size: 10px;
|
114 |
+
font-weight: normal;
|
115 |
+
text-transform: uppercase;
|
116 |
}
|
117 |
|
118 |
+
/* @end group */
|
119 |
+
|
120 |
+
|
121 |
+
/* @group Formular */
|
122 |
+
|
123 |
+
.ab-column input[type="text"],
|
124 |
+
.ab-column select {
|
125 |
+
text-align: center;
|
126 |
+
font-size: 11px;
|
127 |
+
height: 15px;
|
128 |
+
margin: 0 2px;
|
129 |
+
border: 0;
|
130 |
+
border-bottom: 1px solid;
|
131 |
+
background: #f8f8f9;
|
132 |
}
|
133 |
+
.ab-column select {
|
134 |
+
height: 18px;
|
135 |
+
}
|
136 |
+
.ab-column select[multiple] {
|
137 |
+
width: 120px;
|
138 |
+
height: 45px;
|
139 |
+
}
|
140 |
+
.ab-column input.ab-mini-field {
|
141 |
+
width: 30px;
|
142 |
}
|
143 |
+
.ab-column input.ab-medium-field {
|
144 |
+
width: 120px;
|
145 |
+
}
|
146 |
+
.ab-column input[type="text"] + label,
|
147 |
+
.ab-column select + label {
|
148 |
+
color: #8e959c;
|
149 |
+
margin: 0 0 0 7px;
|
150 |
display: inline-block;
|
151 |
font-size: 11px;
|
152 |
+
text-transform: uppercase;
|
153 |
}
|
154 |
+
|
155 |
+
/* @end group */
|
156 |
+
|
157 |
+
|
158 |
+
/* @group Spalteninhalte */
|
159 |
+
|
160 |
+
.ab-column > ul {
|
161 |
+
padding: 0 20px 0 0;
|
162 |
+
border-right: 1px solid #f8f8f9;
|
163 |
+
}
|
164 |
+
.ab-column:last-of-type > ul {
|
165 |
+
border: 0;
|
166 |
+
}
|
167 |
+
.ab-column > ul > li {
|
168 |
+
width: 330px;
|
169 |
+
margin: 0 0 36px;
|
170 |
+
border: 1px solid #e0e5e9;
|
171 |
+
padding: 10px 0 12px 20px;
|
172 |
+
position: relative;
|
173 |
+
background: #fff;
|
174 |
+
list-style: none;
|
175 |
+
box-shadow: 0 0 0 0 #fff, 0 0 0 3px #f8f8f9;
|
176 |
+
|
177 |
+
-webkit-border-radius: 3px;
|
178 |
+
-moz-border-radius: 3px;
|
179 |
+
border-radius: 3px;
|
180 |
+
}
|
181 |
+
|
182 |
+
.ab-column > ul > li a {
|
183 |
+
color: inherit;
|
184 |
+
text-decoration: none;
|
185 |
+
border-bottom: 1px dotted #e0e5e9;
|
186 |
+
}
|
187 |
+
.ab-column > ul > li a:hover {
|
188 |
+
border-color: inherit;
|
189 |
+
}
|
190 |
+
|
191 |
+
.ab-column > ul > li input[type="checkbox"] {
|
192 |
+
float: left;
|
193 |
+
margin: 10px 10px 0 0;
|
194 |
+
}
|
195 |
+
.ab-column > ul > li label {
|
196 |
+
cursor: default;
|
197 |
display: inline-block;
|
198 |
+
padding: 0 0 0 10px;
|
199 |
+
overflow: hidden;
|
200 |
+
border-left: 1px solid #f8f8f9;
|
201 |
}
|
202 |
+
.ab-column > ul > li label span {
|
203 |
+
color: #8e959c;
|
204 |
+
display: block;
|
205 |
+
}
|
206 |
+
|
207 |
+
/* @end group */
|
208 |
+
|
209 |
+
|
210 |
+
/* @group Trenner */
|
211 |
+
|
212 |
+
.ab-column > ul > li:after,
|
213 |
+
.ab-column > ul > li:before {
|
214 |
+
width: 0;
|
215 |
content: '';
|
216 |
+
position: absolute;
|
217 |
}
|
218 |
+
.ab-column.ab-arrow > ul > li:before {
|
219 |
+
left: 165px;
|
220 |
+
bottom: -24px;
|
221 |
+
border-width: 10px 10px 0;
|
222 |
+
border-color: #e0e5e9 transparent;
|
223 |
+
border-style: solid;
|
224 |
+
}
|
225 |
+
.ab-column.ab-arrow > ul > li:after {
|
226 |
+
left: 166px;
|
227 |
+
bottom: -22px;
|
228 |
+
border-width: 9px 9px 0;
|
229 |
+
border-color: #fff transparent;
|
230 |
+
border-style: solid;
|
231 |
+
}
|
232 |
+
|
233 |
+
.ab-column.ab-join > ul > li:before {
|
234 |
+
left: 175px;
|
235 |
+
bottom: -29px;
|
236 |
+
height: 20px;
|
237 |
+
border-right: 1px solid #e0e5e9;
|
238 |
+
}
|
239 |
+
|
240 |
+
.ab-column.ab-diff > ul > li:before {
|
241 |
+
left: 165px;
|
242 |
+
bottom: -20px;
|
243 |
+
width: 20px;
|
244 |
+
height: 0;
|
245 |
+
border-bottom: 1px solid #e0e5e9;
|
246 |
}
|
247 |
|
248 |
/* @end group */
|
249 |
|
250 |
|
251 |
+
/* @group Submit-Zeile */
|
252 |
|
253 |
+
.ab-column.ab-submit {
|
254 |
+
width: 352px;
|
255 |
+
margin: 56px 41px 0 0;
|
256 |
+
padding: 30px 0;
|
257 |
+
border-top: 1px solid #e0e5e9;;
|
258 |
}
|
259 |
+
.ab-column.ab-submit > p {
|
260 |
+
float: right;
|
261 |
margin: 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
262 |
height: 24px;
|
263 |
}
|
264 |
+
.ab-column.ab-submit > p > a {
|
265 |
+
float: left;
|
266 |
+
line-height: 24px;
|
|
|
|
|
267 |
}
|
268 |
+
.ab-column.ab-submit > p > a:before {
|
269 |
+
margin: 0 4px;
|
270 |
+
content: '|';
|
271 |
+
display: inline-block;
|
272 |
+
}
|
273 |
+
.ab-column.ab-submit > p > a:first-child:before {
|
274 |
+
margin: 0;
|
275 |
+
content: '';
|
276 |
}
|
277 |
|
278 |
/* @end group */
|
279 |
|
280 |
|
281 |
+
/* @group 2. Ebene */
|
282 |
|
283 |
+
.ab-column > ul > li:last-of-type:after,
|
284 |
+
.ab-column > ul > li:last-of-type:before {
|
285 |
display: none;
|
286 |
}
|
287 |
+
|
288 |
+
.ab-column > ul > li > ul {
|
289 |
+
margin: 10px 10px 0 33px;
|
290 |
+
display: none;
|
291 |
+
list-style: none;
|
|
|
|
|
|
|
|
|
|
|
292 |
}
|
293 |
+
.ab-column > ul > li > ul li {
|
294 |
+
padding: 2px 0;
|
295 |
+
}
|
296 |
+
.ab-column > ul > li > ul label {
|
297 |
+
margin: 0 0 0 7px;
|
298 |
+
}
|
299 |
+
.ab-column > ul > li > input[type="checkbox"]:checked + ul {
|
300 |
+
display: block;
|
301 |
}
|
302 |
|
303 |
+
/* @end group */
|
304 |
+
|
305 |
+
|
306 |
+
/* @group Updated-Fix */
|
307 |
+
|
308 |
+
.settings_page_antispam_bee #setting-error-settings_updated + form {
|
309 |
+
margin: -20px 0 0;
|
310 |
}
|
311 |
+
|
312 |
+
/* @end group */
|
313 |
+
|
314 |
+
|
315 |
+
/* @group Media Queries */
|
316 |
+
|
317 |
+
@media (min-width: 1252px) {
|
318 |
+
.ab-diff > ul {
|
319 |
+
border: 0;
|
320 |
}
|
321 |
}
|
322 |
+
@media (-webkit-min-device-pixel-ratio: 2) {
|
323 |
+
.ab-column select {
|
324 |
+
height: 15px;
|
|
|
|
|
|
|
325 |
}
|
326 |
}
|
327 |
|
css/styles.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
#icon-ab{
|
1 |
+
#icon-ab{width:32px;height:32px;background:url('../img/icon@2x.png');background-size:100%}@font-face{font-family:'fontello';src:url('../font/fontello.woff') format('woff');font-weight:normal;font-style:normal}.ab-main *,.ab-main *:after,.ab-main *:before{border:0;margin:0;padding:0;outline:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ab-main,.ab-main input,.ab-main select{font-family:sans-serif;font-size:12px;line-height:16px}.browsehappy{margin:0 0 20px;padding:10px;border:1px solid #e66f00;text-align:center}.ab-wrap{color:#2f353e;height:1%;overflow:hidden;padding:20px 0 0 6px;text-rendering:optimizeLegibility}.ab-column{float:left;margin:0 20px 0 0;position:relative}.ab-column h3{margin:0;font-size:14px;font-weight:normal;line-height:20px;text-transform:uppercase}.ab-column h3.icon:before{font:normal 30px/30px fontello;top:4px;right:20px;speak:none;width:1em;color:#8e959c;position:absolute;text-align:center}.ab-column.ab-arrow h3.icon:before{content:'\2387'}.ab-column.ab-join h3.icon:before{content:'\e795'}.ab-column.ab-diff h3.icon:before{content:'\e73c'}.ab-column h6{clear:both;color:#8e959c;margin:0 0 20px;font-size:10px;font-weight:normal;text-transform:uppercase}.ab-column input[type="text"],.ab-column select{text-align:center;font-size:11px;height:15px;margin:0 2px;border:0;border-bottom:1px solid;background:#f8f8f9}.ab-column select{height:18px}.ab-column select[multiple]{width:120px;height:45px}.ab-column input.ab-mini-field{width:30px}.ab-column input.ab-medium-field{width:120px}.ab-column input[type="text"]+label,.ab-column select+label{color:#8e959c;margin:0 0 0 7px;display:inline-block;font-size:11px;text-transform:uppercase}.ab-column>ul{padding:0 20px 0 0;border-right:1px solid #f8f8f9}.ab-column:last-of-type>ul{border:0}.ab-column>ul>li{width:330px;margin:0 0 36px;border:1px solid #e0e5e9;padding:10px 0 12px 20px;position:relative;background:#fff;list-style:none;box-shadow:0 0 0 0 #fff,0 0 0 3px #f8f8f9;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.ab-column>ul>li a{color:inherit;text-decoration:none;border-bottom:1px dotted #e0e5e9}.ab-column>ul>li a:hover{border-color:inherit}.ab-column>ul>li input[type="checkbox"]{float:left;margin:10px 10px 0 0}.ab-column>ul>li label{cursor:default;display:inline-block;padding:0 0 0 10px;overflow:hidden;border-left:1px solid #f8f8f9}.ab-column>ul>li label span{color:#8e959c;display:block}.ab-column>ul>li:after,.ab-column>ul>li:before{width:0;content:'';position:absolute}.ab-column.ab-arrow>ul>li:before{left:165px;bottom:-24px;border-width:10px 10px 0;border-color:#e0e5e9 transparent;border-style:solid}.ab-column.ab-arrow>ul>li:after{left:166px;bottom:-22px;border-width:9px 9px 0;border-color:#fff transparent;border-style:solid}.ab-column.ab-join>ul>li:before{left:175px;bottom:-29px;height:20px;border-right:1px solid #e0e5e9}.ab-column.ab-diff>ul>li:before{left:165px;bottom:-20px;width:20px;height:0;border-bottom:1px solid #e0e5e9}.ab-column.ab-submit{width:352px;margin:56px 41px 0 0;padding:30px 0;border-top:1px solid #e0e5e9}.ab-column.ab-submit>p{float:right;margin:0;height:24px}.ab-column.ab-submit>p>a{float:left;line-height:24px}.ab-column.ab-submit>p>a:before{margin:0 4px;content:'|';display:inline-block}.ab-column.ab-submit>p>a:first-child:before{margin:0;content:''}.ab-column>ul>li:last-of-type:after,.ab-column>ul>li:last-of-type:before{display:none}.ab-column>ul>li>ul{margin:10px 10px 0 33px;display:none;list-style:none}.ab-column>ul>li>ul li{padding:2px 0}.ab-column>ul>li>ul label{margin:0 0 0 7px}.ab-column>ul>li>input[type="checkbox"]:checked+ul{display:block}.settings_page_antispam_bee #setting-error-settings_updated+form{margin:-20px 0 0}@media(min-width:1252px){.ab-diff>ul{border:0}}@media(-webkit-min-device-pixel-ratio:2){.ab-column select{height:15px}}
|
font/fontello.woff
ADDED
Binary file
|
inc/gui.class.php
CHANGED
@@ -20,7 +20,7 @@ class Antispam_Bee_GUI extends Antispam_Bee {
|
|
20 |
* Speicherung der GUI
|
21 |
*
|
22 |
* @since 0.1
|
23 |
-
* @change 2.4.
|
24 |
*/
|
25 |
|
26 |
public static function save_changes()
|
@@ -31,7 +31,7 @@ class Antispam_Bee_GUI extends Antispam_Bee {
|
|
31 |
}
|
32 |
|
33 |
/* Referer prüfen */
|
34 |
-
check_admin_referer(
|
35 |
|
36 |
/* Optionen ermitteln */
|
37 |
$options = array(
|
@@ -52,37 +52,25 @@ class Antispam_Bee_GUI extends Antispam_Bee {
|
|
52 |
'ignore_pings' => (int)(!empty($_POST['ab_ignore_pings'])),
|
53 |
'ignore_filter' => (int)(!empty($_POST['ab_ignore_filter'])),
|
54 |
'ignore_type' => (int)self::get_key($_POST, 'ab_ignore_type'),
|
|
|
|
|
55 |
'ignore_reasons' => (array)self::get_key($_POST, 'ab_ignore_reasons'),
|
56 |
|
57 |
-
'
|
58 |
-
|
59 |
-
|
60 |
'country_code' => (int)(!empty($_POST['ab_country_code'])),
|
61 |
'country_black' => sanitize_text_field(self::get_key($_POST, 'ab_country_black')),
|
62 |
'country_white' => sanitize_text_field(self::get_key($_POST, 'ab_country_white')),
|
63 |
|
64 |
'translate_api' => (int)(!empty($_POST['ab_translate_api'])),
|
65 |
-
'translate_lang' => sanitize_text_field(self::get_key($_POST, 'ab_translate_lang'))
|
66 |
-
|
67 |
-
'tab_index' => (int)self::get_key($_POST, 'ab_tab_index')
|
68 |
);
|
69 |
|
70 |
-
/*
|
71 |
if ( empty($options['cronjob_interval']) ) {
|
72 |
$options['cronjob_enable'] = 0;
|
73 |
}
|
74 |
-
|
75 |
-
/* Honey Key reinigen */
|
76 |
-
if ( !empty($options['honey_key']) ) {
|
77 |
-
$options['honey_key'] = preg_replace(
|
78 |
-
'/[^a-z]/',
|
79 |
-
'',
|
80 |
-
strtolower($options['honey_key'])
|
81 |
-
);
|
82 |
-
}
|
83 |
-
if ( empty($options['honey_key']) ) {
|
84 |
-
$options['honey_pot'] = 0;
|
85 |
-
}
|
86 |
|
87 |
/* Translate API */
|
88 |
if ( !empty($options['translate_lang']) ) {
|
@@ -93,7 +81,11 @@ class Antispam_Bee_GUI extends Antispam_Bee {
|
|
93 |
if ( empty($options['translate_lang']) ) {
|
94 |
$options['translate_api'] = 0;
|
95 |
}
|
96 |
-
|
|
|
|
|
|
|
|
|
97 |
|
98 |
/* Blacklist reinigen */
|
99 |
if ( !empty($options['country_black']) ) {
|
@@ -144,15 +136,31 @@ class Antispam_Bee_GUI extends Antispam_Bee {
|
|
144 |
|
145 |
|
146 |
/**
|
147 |
-
*
|
|
|
|
|
|
|
148 |
*
|
149 |
-
* @
|
150 |
-
* @
|
|
|
|
|
151 |
*/
|
152 |
|
153 |
-
private static function
|
154 |
{
|
155 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
}
|
157 |
|
158 |
|
@@ -165,307 +173,254 @@ class Antispam_Bee_GUI extends Antispam_Bee {
|
|
165 |
|
166 |
function options_page() { ?>
|
167 |
<div class="wrap" id="ab_main">
|
|
|
|
|
|
|
|
|
|
|
|
|
168 |
<form action="<?php echo admin_url('admin-post.php') ?>" method="post">
|
169 |
-
<?php $options = self::get_options() ?>
|
170 |
-
|
171 |
-
<?php wp_nonce_field(self::$short) ?>
|
172 |
-
|
173 |
<input type="hidden" name="action" value="ab_save_changes" />
|
174 |
-
<input type="hidden" name="ab_tab_index" id="ab_tab_index" value="<?php self::_tab_index() ?>" />
|
175 |
|
176 |
-
<?php
|
177 |
-
|
178 |
-
|
179 |
-
<li>
|
180 |
-
<h2><a href="#ab-tab-general" class="nav-tab"><?php esc_html_e('General', self::$short) ?></a></h2>
|
181 |
-
</li>
|
182 |
-
<li>
|
183 |
-
<h2><a href="#ab-tab-filter" class="nav-tab"><?php esc_html_e('Filter', self::$short) ?></a></h2>
|
184 |
-
</li>
|
185 |
-
<li>
|
186 |
-
<h2><a href="#ab-tab-advanced" class="nav-tab"><?php esc_html_e('Advanced', self::$short) ?></a></h2>
|
187 |
-
</li>
|
188 |
-
</ul>
|
189 |
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
|
196 |
-
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
-
|
202 |
-
|
203 |
-
|
204 |
-
<tr>
|
205 |
-
<th>
|
206 |
-
<label for="ab_spam_ip">
|
207 |
-
<?php esc_html_e('Consider comments which are already marked as spam', self::$short) ?>
|
208 |
-
</label>
|
209 |
-
</th>
|
210 |
-
<td>
|
211 |
-
<input type="checkbox" name="ab_spam_ip" id="ab_spam_ip" value="1" <?php checked($options['spam_ip'], 1) ?> />
|
212 |
-
</td>
|
213 |
-
</tr>
|
214 |
|
215 |
-
<
|
216 |
-
<
|
217 |
<label for="ab_already_commented">
|
218 |
-
<?php esc_html_e('
|
|
|
219 |
</label>
|
220 |
-
</th>
|
221 |
-
<td>
|
222 |
<input type="checkbox" name="ab_already_commented" id="ab_already_commented" value="1" <?php checked($options['already_commented'], 1) ?> />
|
223 |
-
</
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
<?php esc_html_e('Do not check trackbacks / pingbacks', self::$short) ?>
|
230 |
-
</label>
|
231 |
-
</th>
|
232 |
-
<td>
|
233 |
-
<input type="checkbox" name="ab_ignore_pings" id="ab_ignore_pings" value="1" <?php checked($options['ignore_pings'], 1) ?> />
|
234 |
-
</td>
|
235 |
-
</tr>
|
236 |
-
|
237 |
-
<tr>
|
238 |
-
<th>
|
239 |
-
<label for="ab_always_allowed">
|
240 |
-
<?php esc_html_e('Comment form used outside of posts', self::$short) ?>
|
241 |
</label>
|
242 |
-
|
243 |
-
|
244 |
-
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
|
249 |
-
<p class="hr"></p>
|
250 |
-
|
251 |
-
<table class="form-table">
|
252 |
-
<tr>
|
253 |
-
<th>
|
254 |
-
<label for="ab_dashboard_chart">
|
255 |
-
<?php esc_html_e('Statistics on the dashboard', self::$short) ?>
|
256 |
</label>
|
257 |
-
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
-
|
264 |
-
<th>
|
265 |
-
<label for="ab_dashboard_count">
|
266 |
-
<?php esc_html_e('Spam counter on the dashboard', self::$short) ?>
|
267 |
</label>
|
268 |
-
|
269 |
-
|
270 |
-
|
271 |
-
|
272 |
-
</tr>
|
273 |
-
</table>
|
274 |
-
</div>
|
275 |
-
|
276 |
-
|
277 |
-
<!-- Filter -->
|
278 |
-
<div class="table ui-tabs-hide" id="ab-tab-filter">
|
279 |
-
<!-- IP info DB -->
|
280 |
-
<table class="form-table related">
|
281 |
-
<tr>
|
282 |
-
<th>
|
283 |
<label for="ab_country_code">
|
284 |
-
<?php esc_html_e('Block comments
|
|
|
285 |
</label>
|
286 |
-
</th>
|
287 |
-
<td>
|
288 |
<input type="checkbox" name="ab_country_code" id="ab_country_code" value="1" <?php checked($options['country_code'], 1) ?> />
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
-
|
307 |
-
</label>
|
308 |
-
</th>
|
309 |
-
<td>
|
310 |
-
<input type="text" name="ab_country_white" id="ab_country_white" value="<?php echo esc_attr($options['country_white']); ?>" class="maxi-text code" />
|
311 |
-
</td>
|
312 |
-
</tr>
|
313 |
-
</table>
|
314 |
-
|
315 |
-
<p class="hr"></p>
|
316 |
-
|
317 |
-
<!-- Translate API -->
|
318 |
-
<table class="form-table related">
|
319 |
-
<tr>
|
320 |
-
<th>
|
321 |
<label for="ab_translate_api">
|
322 |
-
<?php esc_html_e('Allow comments only in certain language',
|
|
|
323 |
</label>
|
324 |
-
</th>
|
325 |
-
<td>
|
326 |
<input type="checkbox" name="ab_translate_api" id="ab_translate_api" value="1" <?php checked($options['translate_api'], 1) ?> />
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
</tr>
|
344 |
-
</table>
|
345 |
|
346 |
-
<p class="hr"></p>
|
347 |
|
348 |
-
|
349 |
-
|
350 |
-
|
351 |
-
|
352 |
-
|
353 |
-
|
354 |
-
|
355 |
-
</th>
|
356 |
-
<td>
|
357 |
-
<input type="checkbox" name="ab_honey_pot" id="ab_honey_pot" value="1" <?php checked($options['honey_pot'], 1) ?> />
|
358 |
-
</td>
|
359 |
-
</tr>
|
360 |
|
361 |
-
<
|
362 |
-
<
|
363 |
-
<label for="ab_honey_key">
|
364 |
-
Project Honey Pot <a href="http://www.projecthoneypot.org/httpbl_configure.php" target="_blank">API Key</a>
|
365 |
-
</label>
|
366 |
-
</th>
|
367 |
-
<td>
|
368 |
-
<input type="text" name="ab_honey_key" id="ab_honey_key" value="<?php echo esc_attr($options['honey_key']); ?>" class="maxi-text code" />
|
369 |
-
</td>
|
370 |
-
</tr>
|
371 |
-
</table>
|
372 |
-
</div>
|
373 |
-
|
374 |
-
|
375 |
-
<!-- Erweitert -->
|
376 |
-
<div class="table ui-tabs-hide" id="ab-tab-advanced">
|
377 |
-
<table class="form-table related">
|
378 |
-
<tr>
|
379 |
-
<th>
|
380 |
<label for="ab_flag_spam">
|
381 |
-
<?php esc_html_e('Mark as
|
|
|
382 |
</label>
|
383 |
-
</th>
|
384 |
-
<td>
|
385 |
<input type="checkbox" name="ab_flag_spam" id="ab_flag_spam" value="1" <?php checked($options['flag_spam'], 1) ?> />
|
386 |
-
</
|
387 |
-
|
388 |
-
|
389 |
-
<tr>
|
390 |
-
<th>
|
391 |
<label for="ab_email_notify">
|
392 |
-
<?php esc_html_e('Notification by email',
|
|
|
393 |
</label>
|
394 |
-
</th>
|
395 |
-
<td>
|
396 |
<input type="checkbox" name="ab_email_notify" id="ab_email_notify" value="1" <?php checked($options['email_notify'], 1) ?> />
|
397 |
-
</
|
398 |
-
|
399 |
-
|
400 |
-
<tr>
|
401 |
-
<th>
|
402 |
-
<?php echo sprintf(esc_html__('Spam will be automatically deleted after %s days', self::$short), '<input type="text" name="ab_cronjob_interval" value="' .esc_attr($options['cronjob_interval']). '" class="small-text" />') ?>
|
403 |
-
<?php if ( $options['cronjob_enable'] && $options['cronjob_timestamp'] ) {
|
404 |
-
echo sprintf(
|
405 |
-
'<br /><small>%s @ %s</small>',
|
406 |
-
esc_html__('Last check', self::$short),
|
407 |
-
date_i18n('d.m.Y H:i:s', ($options['cronjob_timestamp'] + get_option('gmt_offset') * 3600))
|
408 |
-
);
|
409 |
-
} ?>
|
410 |
-
</th>
|
411 |
-
<td>
|
412 |
-
<input type="checkbox" name="ab_cronjob_enable" id="ab_cronjob_enable" value="1" <?php checked($options['cronjob_enable'], 1) ?> />
|
413 |
-
</td>
|
414 |
-
</tr>
|
415 |
-
|
416 |
-
<tr>
|
417 |
-
<th>
|
418 |
<label for="ab_no_notice">
|
419 |
-
<?php esc_html_e('
|
|
|
420 |
</label>
|
421 |
-
</th>
|
422 |
-
<td>
|
423 |
<input type="checkbox" name="ab_no_notice" id="ab_no_notice" value="1" <?php checked($options['no_notice'], 1) ?> />
|
424 |
-
</
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
</
|
436 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
437 |
<input type="checkbox" name="ab_ignore_filter" id="ab_ignore_filter" value="1" <?php checked($options['ignore_filter'], 1) ?> />
|
438 |
-
</
|
439 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
440 |
|
441 |
-
<
|
442 |
-
<
|
443 |
-
<label for="
|
444 |
-
<?php esc_html_e('
|
445 |
-
<
|
446 |
</label>
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
<?php
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
467 |
|
468 |
-
<
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
469 |
</div>
|
470 |
</form>
|
471 |
</div>
|
20 |
* Speicherung der GUI
|
21 |
*
|
22 |
* @since 0.1
|
23 |
+
* @change 2.4.5
|
24 |
*/
|
25 |
|
26 |
public static function save_changes()
|
31 |
}
|
32 |
|
33 |
/* Referer prüfen */
|
34 |
+
check_admin_referer('antispam_bee');
|
35 |
|
36 |
/* Optionen ermitteln */
|
37 |
$options = array(
|
52 |
'ignore_pings' => (int)(!empty($_POST['ab_ignore_pings'])),
|
53 |
'ignore_filter' => (int)(!empty($_POST['ab_ignore_filter'])),
|
54 |
'ignore_type' => (int)self::get_key($_POST, 'ab_ignore_type'),
|
55 |
+
|
56 |
+
'reasons_enable' => (int)(!empty($_POST['ab_reasons_enable'])),
|
57 |
'ignore_reasons' => (array)self::get_key($_POST, 'ab_ignore_reasons'),
|
58 |
|
59 |
+
'dnsbl_check' => (int)(!empty($_POST['ab_dnsbl_check'])),
|
60 |
+
|
|
|
61 |
'country_code' => (int)(!empty($_POST['ab_country_code'])),
|
62 |
'country_black' => sanitize_text_field(self::get_key($_POST, 'ab_country_black')),
|
63 |
'country_white' => sanitize_text_field(self::get_key($_POST, 'ab_country_white')),
|
64 |
|
65 |
'translate_api' => (int)(!empty($_POST['ab_translate_api'])),
|
66 |
+
'translate_lang' => sanitize_text_field(self::get_key($_POST, 'ab_translate_lang'))
|
|
|
|
|
67 |
);
|
68 |
|
69 |
+
/* Keine Tagmenge eingetragen? */
|
70 |
if ( empty($options['cronjob_interval']) ) {
|
71 |
$options['cronjob_enable'] = 0;
|
72 |
}
|
73 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
74 |
|
75 |
/* Translate API */
|
76 |
if ( !empty($options['translate_lang']) ) {
|
81 |
if ( empty($options['translate_lang']) ) {
|
82 |
$options['translate_api'] = 0;
|
83 |
}
|
84 |
+
|
85 |
+
/* Liste der Spamgründe */
|
86 |
+
if ( empty($options['reasons_enable']) ) {
|
87 |
+
$options['ignore_reasons'] = array();
|
88 |
+
}
|
89 |
|
90 |
/* Blacklist reinigen */
|
91 |
if ( !empty($options['country_black']) ) {
|
136 |
|
137 |
|
138 |
/**
|
139 |
+
* Generierung eine Selectbox
|
140 |
+
*
|
141 |
+
* @since 2.4.5
|
142 |
+
* @change 2.4.5
|
143 |
*
|
144 |
+
* @param string $name Name der Selectbox
|
145 |
+
* @param array $data Array mit Werten
|
146 |
+
* @param string $selected Selektierter Wert
|
147 |
+
* @return string $html Erzeugtes HTML
|
148 |
*/
|
149 |
|
150 |
+
private static function _build_select($name, $data, $selected)
|
151 |
{
|
152 |
+
/* Start HTML */
|
153 |
+
$html = '<select name="' .$name. '">';
|
154 |
+
|
155 |
+
/* Loop options */
|
156 |
+
foreach( $data as $k => $v) {
|
157 |
+
$html .= '<option value="' .esc_attr($k). '" ' .selected($selected, $k, false). '>' .esc_html__($v, 'antispam_bee'). '</option>';
|
158 |
+
}
|
159 |
+
|
160 |
+
/* Close HTML */
|
161 |
+
$html .= '</select>';
|
162 |
+
|
163 |
+
return $html;
|
164 |
}
|
165 |
|
166 |
|
173 |
|
174 |
function options_page() { ?>
|
175 |
<div class="wrap" id="ab_main">
|
176 |
+
<?php screen_icon('ab') ?>
|
177 |
+
|
178 |
+
<h2>
|
179 |
+
Antispam Bee
|
180 |
+
</h2>
|
181 |
+
|
182 |
<form action="<?php echo admin_url('admin-post.php') ?>" method="post">
|
|
|
|
|
|
|
|
|
183 |
<input type="hidden" name="action" value="ab_save_changes" />
|
|
|
184 |
|
185 |
+
<?php wp_nonce_field('antispam_bee') ?>
|
186 |
+
|
187 |
+
<?php $options = self::get_options() ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
188 |
|
189 |
+
<div class="ab-wrap">
|
190 |
+
<!--[if lt IE 9]>
|
191 |
+
<p class="browsehappy">
|
192 |
+
<a href="http://browsehappy.com">Browse Happy</a>
|
193 |
+
</p>
|
194 |
+
<![endif]-->
|
195 |
+
|
196 |
+
<div class="ab-column ab-arrow">
|
197 |
+
<h3 class="icon">
|
198 |
+
<?php esc_html_e('Antispam filter', 'antispam_bee') ?>
|
199 |
+
</h3>
|
200 |
+
<h6>
|
201 |
+
<?php esc_html_e('Filter in the execution order', 'antispam_bee') ?>
|
202 |
+
</h6>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
203 |
|
204 |
+
<ul>
|
205 |
+
<li>
|
206 |
<label for="ab_already_commented">
|
207 |
+
<?php esc_html_e('Trust approved commentators', 'antispam_bee') ?>
|
208 |
+
<span><?php esc_html_e('No check for already commenting users', 'antispam_bee') ?></span>
|
209 |
</label>
|
|
|
|
|
210 |
<input type="checkbox" name="ab_already_commented" id="ab_already_commented" value="1" <?php checked($options['already_commented'], 1) ?> />
|
211 |
+
</li>
|
212 |
+
|
213 |
+
<li>
|
214 |
+
<label for="ab_dnsbl_check">
|
215 |
+
<?php esc_html_e('Use a public antispam database', 'antispam_bee') ?>
|
216 |
+
<span><?php esc_html_e('Matching the ip address with', 'antispam_bee') ?> <a href="http://opm.tornevall.org" target="_blank">Tornevall</a></span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
217 |
</label>
|
218 |
+
<input type="checkbox" name="ab_dnsbl_check" id="ab_dnsbl_check" value="1" <?php checked($options['dnsbl_check'], 1) ?> />
|
219 |
+
</li>
|
220 |
+
|
221 |
+
<li>
|
222 |
+
<label for="ab_advanced_check">
|
223 |
+
<?php esc_html_e('Validate the ip address of commentators', 'antispam_bee') ?>
|
224 |
+
<span><?php esc_html_e('Validity check for used ip address', 'antispam_bee') ?></span>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
225 |
</label>
|
226 |
+
<input type="checkbox" name="ab_advanced_check" id="ab_advanced_check" value="1" <?php checked($options['advanced_check'], 1) ?> />
|
227 |
+
</li>
|
228 |
+
|
229 |
+
<li>
|
230 |
+
<label for="ab_spam_ip">
|
231 |
+
<?php esc_html_e('Look in the local spam database', 'antispam_bee') ?>
|
232 |
+
<span><?php esc_html_e('Already marked as spam? Yes? No?', 'antispam_bee') ?></span>
|
|
|
|
|
|
|
233 |
</label>
|
234 |
+
<input type="checkbox" name="ab_spam_ip" id="ab_spam_ip" value="1" <?php checked($options['spam_ip'], 1) ?> />
|
235 |
+
</li>
|
236 |
+
|
237 |
+
<li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
238 |
<label for="ab_country_code">
|
239 |
+
<?php esc_html_e('Block comments from specific countries', 'antispam_bee') ?>
|
240 |
+
<span><?php esc_html_e('Filtering the requests depending on country', 'antispam_bee') ?></span>
|
241 |
</label>
|
|
|
|
|
242 |
<input type="checkbox" name="ab_country_code" id="ab_country_code" value="1" <?php checked($options['country_code'], 1) ?> />
|
243 |
+
|
244 |
+
<ul>
|
245 |
+
<li>
|
246 |
+
<input type="text" name="ab_country_black" id="ab_country_black" value="<?php echo esc_attr($options['country_black']); ?>" class="ab-medium-field code" />
|
247 |
+
<label for="ab_country_black">
|
248 |
+
Blacklist <a href="http://www.iso.org/iso/country_names_and_code_elements" target="_blank">ISO Codes</a>
|
249 |
+
</label>
|
250 |
+
</li>
|
251 |
+
<li>
|
252 |
+
<input type="text" name="ab_country_white" id="ab_country_white" value="<?php echo esc_attr($options['country_white']); ?>" class="ab-medium-field code" />
|
253 |
+
<label for="ab_country_white">
|
254 |
+
Whitelist <a href="http://www.iso.org/iso/country_names_and_code_elements" target="_blank">ISO Codes</a>
|
255 |
+
</label>
|
256 |
+
</li>
|
257 |
+
</ul>
|
258 |
+
</li>
|
259 |
+
|
260 |
+
<li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
261 |
<label for="ab_translate_api">
|
262 |
+
<?php esc_html_e('Allow comments only in certain language', 'antispam_bee') ?>
|
263 |
+
<span><?php esc_html_e('Detection and approval in specified language', 'antispam_bee') ?></span>
|
264 |
</label>
|
|
|
|
|
265 |
<input type="checkbox" name="ab_translate_api" id="ab_translate_api" value="1" <?php checked($options['translate_api'], 1) ?> />
|
266 |
+
|
267 |
+
<ul>
|
268 |
+
<li>
|
269 |
+
<select name="ab_translate_lang">
|
270 |
+
<?php foreach( array('de' => 'German', 'en' => 'English', 'fr' => 'French', 'it' => 'Italian', 'es' => 'Spanish') as $k => $v ) { ?>
|
271 |
+
<option <?php selected($options['translate_lang'], $k); ?> value="<?php echo esc_attr($k) ?>"><?php esc_html_e($v, 'antispam_bee') ?></option>
|
272 |
+
<?php } ?>
|
273 |
+
</select>
|
274 |
+
<label for="ab_translate_lang">
|
275 |
+
<?php esc_html_e('Language', 'antispam_bee') ?>
|
276 |
+
</label>
|
277 |
+
</li>
|
278 |
+
</ul>
|
279 |
+
</li>
|
280 |
+
</ul>
|
281 |
+
</div>
|
|
|
|
|
282 |
|
|
|
283 |
|
284 |
+
<div class="ab-column ab-join">
|
285 |
+
<h3 class="icon advanced">
|
286 |
+
<?php esc_html_e('Advanced', 'antispam_bee') ?>
|
287 |
+
</h3>
|
288 |
+
<h6>
|
289 |
+
<?php esc_html_e('Other antispam tools', 'antispam_bee') ?>
|
290 |
+
</h6>
|
|
|
|
|
|
|
|
|
|
|
291 |
|
292 |
+
<ul>
|
293 |
+
<li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
294 |
<label for="ab_flag_spam">
|
295 |
+
<?php esc_html_e('Mark as spam, do not delete', 'antispam_bee') ?>
|
296 |
+
<span><?php esc_html_e('Keep the spam in my blog.', 'antispam_bee') ?></span>
|
297 |
</label>
|
|
|
|
|
298 |
<input type="checkbox" name="ab_flag_spam" id="ab_flag_spam" value="1" <?php checked($options['flag_spam'], 1) ?> />
|
299 |
+
</li>
|
300 |
+
|
301 |
+
<li>
|
|
|
|
|
302 |
<label for="ab_email_notify">
|
303 |
+
<?php esc_html_e('Notification by email', 'antispam_bee') ?>
|
304 |
+
<span><?php esc_html_e('Sending an alert to the admin', 'antispam_bee') ?></span>
|
305 |
</label>
|
|
|
|
|
306 |
<input type="checkbox" name="ab_email_notify" id="ab_email_notify" value="1" <?php checked($options['email_notify'], 1) ?> />
|
307 |
+
</li>
|
308 |
+
|
309 |
+
<li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
310 |
<label for="ab_no_notice">
|
311 |
+
<?php esc_html_e('Not store the reason in the comment body', 'antispam_bee') ?>
|
312 |
+
<span><?php esc_html_e('Filter name as reason for current suspicion', 'antispam_bee') ?></span>
|
313 |
</label>
|
|
|
|
|
314 |
<input type="checkbox" name="ab_no_notice" id="ab_no_notice" value="1" <?php checked($options['no_notice'], 1) ?> />
|
315 |
+
</li>
|
316 |
+
|
317 |
+
<li>
|
318 |
+
<label>
|
319 |
+
<?php echo sprintf(
|
320 |
+
esc_html__('Delete existing spam after %s days', 'antispam_bee'),
|
321 |
+
'<input type="text" name="ab_cronjob_interval" value="' .esc_attr($options['cronjob_interval']). '" class="ab-mini-field" />'
|
322 |
+
) ?>
|
323 |
+
<span><?php esc_html_e('Cleaning up the database from old entries', 'antispam_bee') ?></span>
|
324 |
+
</label>
|
325 |
+
<input type="checkbox" name="ab_cronjob_enable" id="ab_cronjob_enable" value="1" <?php checked($options['cronjob_enable'], 1) ?> />
|
326 |
+
</li>
|
327 |
+
|
328 |
+
<li>
|
329 |
+
<label>
|
330 |
+
<?php echo sprintf(
|
331 |
+
esc_html__('Limit on %s', 'antispam_bee'),
|
332 |
+
self::_build_select(
|
333 |
+
'ab_ignore_type',
|
334 |
+
array(
|
335 |
+
1 => 'Comments',
|
336 |
+
2 => 'Pings'
|
337 |
+
),
|
338 |
+
$options['ignore_type']
|
339 |
+
)
|
340 |
+
); ?>
|
341 |
+
<span><?php esc_html_e('Another type of spam will be deleted immediately', 'antispam_bee') ?></span>
|
342 |
+
</label>
|
343 |
<input type="checkbox" name="ab_ignore_filter" id="ab_ignore_filter" value="1" <?php checked($options['ignore_filter'], 1) ?> />
|
344 |
+
</li>
|
345 |
+
|
346 |
+
<li>
|
347 |
+
<label for="ab_reasons_enable">
|
348 |
+
<?php esc_html_e('Delete comments by spam reasons', 'antispam_bee') ?>
|
349 |
+
<span><?php esc_html_e('Multiple choice by pressing Ctrl/CMD', 'antispam_bee') ?></span>
|
350 |
+
</label>
|
351 |
+
<input type="checkbox" name="ab_reasons_enable" id="ab_reasons_enable" value="1" <?php checked($options['reasons_enable'], 1) ?> />
|
352 |
+
|
353 |
+
<ul>
|
354 |
+
<li>
|
355 |
+
<select name="ab_ignore_reasons[]" id="ab_ignore_reasons" size="2" multiple>
|
356 |
+
<?php foreach ( self::$defaults['reasons'] as $k => $v ) { ?>
|
357 |
+
<option <?php selected(in_array($k, $options['ignore_reasons']), true); ?> value="<?php echo $k ?>"><?php esc_html_e($v, 'antispam_bee') ?></option>
|
358 |
+
<?php } ?>
|
359 |
+
</select>
|
360 |
+
<label for="ab_ignore_reasons">
|
361 |
+
<?php esc_html_e('Spam Reason', 'antispam_bee') ?>
|
362 |
+
</label>
|
363 |
+
</li>
|
364 |
+
</ul>
|
365 |
+
</li>
|
366 |
+
</ul>
|
367 |
+
</div>
|
368 |
+
|
369 |
+
|
370 |
+
<div class="ab-column ab-diff">
|
371 |
+
<h3 class="icon more">
|
372 |
+
<?php esc_html_e('More', 'antispam_bee') ?>
|
373 |
+
</h3>
|
374 |
+
<h6>
|
375 |
+
<?php esc_html_e('A few little things', 'antispam_bee') ?>
|
376 |
+
</h6>
|
377 |
|
378 |
+
<ul>
|
379 |
+
<li>
|
380 |
+
<label for="ab_dashboard_chart">
|
381 |
+
<?php esc_html_e('Statistics on the dashboard', 'antispam_bee') ?>
|
382 |
+
<span><?php esc_html_e('Spam detection rate with daily values', 'antispam_bee') ?></span>
|
383 |
</label>
|
384 |
+
<input type="checkbox" name="ab_dashboard_chart" id="ab_dashboard_chart" value="1" <?php checked($options['dashboard_chart'], 1) ?> />
|
385 |
+
</li>
|
386 |
+
|
387 |
+
<li>
|
388 |
+
<label for="ab_dashboard_count">
|
389 |
+
<?php esc_html_e('Spam counter on the dashboard', 'antispam_bee') ?>
|
390 |
+
<span><?php esc_html_e('Amount of identified spam comments', 'antispam_bee') ?></span>
|
391 |
+
</label>
|
392 |
+
<input type="checkbox" name="ab_dashboard_count" id="ab_dashboard_count" value="1" <?php checked($options['dashboard_count'], 1) ?> />
|
393 |
+
</li>
|
394 |
+
|
395 |
+
<li>
|
396 |
+
<label for="ab_ignore_pings">
|
397 |
+
<?php esc_html_e('Do not check trackbacks / pingbacks', 'antispam_bee') ?>
|
398 |
+
<span><?php esc_html_e('No spam check for trackback notifications', 'antispam_bee') ?></span>
|
399 |
+
</label>
|
400 |
+
<input type="checkbox" name="ab_ignore_pings" id="ab_ignore_pings" value="1" <?php checked($options['ignore_pings'], 1) ?> />
|
401 |
+
</li>
|
402 |
+
|
403 |
+
<li>
|
404 |
+
<label for="ab_always_allowed">
|
405 |
+
<?php esc_html_e('Comment form used outside of posts', 'antispam_bee') ?>
|
406 |
+
<span><?php esc_html_e('Check for comment forms on archive pages', 'antispam_bee') ?></span>
|
407 |
+
</label>
|
408 |
+
<input type="checkbox" name="ab_always_allowed" id="ab_always_allowed" value="1" <?php checked($options['always_allowed'], 1) ?> />
|
409 |
+
</li>
|
410 |
+
</ul>
|
411 |
+
</div>
|
412 |
+
|
413 |
|
414 |
+
<div class="ab-column ab-submit">
|
415 |
+
<p>
|
416 |
+
<?php if ( get_locale() == 'de_DE' ) { ?>
|
417 |
+
<a href="http://playground.ebiene.de/antispam-bee-wordpress-plugin/" target="_blank">Dokumentation</a>
|
418 |
+
<?php } ?>
|
419 |
+
<a href="https://flattr.com/donation/give/to/sergej.mueller" target="_blank">Flattr</a><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5RDDW9FEHGLG6" target="_blank">PayPal</a>
|
420 |
+
</p>
|
421 |
+
|
422 |
+
<input type="submit" class="button-primary" value="<?php _e('Save Changes') ?>" />
|
423 |
+
</div>
|
424 |
</div>
|
425 |
</form>
|
426 |
</div>
|
js/scripts.js
CHANGED
@@ -1,54 +1,22 @@
|
|
1 |
jQuery(document).ready(
|
2 |
function($) {
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
function() {
|
11 |
-
obj.children().find(':input').attr('disabled', !$$.attr('checked'));
|
12 |
-
}
|
13 |
);
|
14 |
}
|
15 |
|
16 |
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
'select': function(event, ui) {
|
22 |
-
$('#ab_tab_index').val(ui.index);
|
23 |
-
},
|
24 |
-
'selected': $('#ab_tab_index').val()
|
25 |
-
}
|
26 |
-
);
|
27 |
-
}
|
28 |
-
|
29 |
|
30 |
-
/* Event abwickeln */
|
31 |
-
$('#ab_main .related tr:first-child :checkbox').click(
|
32 |
-
function() {
|
33 |
-
$(this).abManageOptions();
|
34 |
-
}
|
35 |
-
).filter(':checked').abManageOptions();
|
36 |
|
37 |
-
|
38 |
-
/* jQuery UI geladen? */
|
39 |
-
if ( jQuery.ui === undefined || jQuery.ui.tabs === undefined ) {
|
40 |
-
$.getScript(
|
41 |
-
'http://code.jquery.com/ui/1.9.1/jquery-ui.min.js',
|
42 |
-
abInitTabs
|
43 |
-
);
|
44 |
-
} else {
|
45 |
-
abInitTabs();
|
46 |
-
}
|
47 |
-
|
48 |
-
|
49 |
-
/* Alert ausblenden */
|
50 |
-
if ( typeof $.fn.delay === 'function' ) {
|
51 |
-
$('#setting-error-settings_updated').delay(5000).fadeOut();
|
52 |
-
}
|
53 |
}
|
54 |
);
|
1 |
jQuery(document).ready(
|
2 |
function($) {
|
3 |
+
function ab_flag_spam() {
|
4 |
+
var $$ = $('#ab_flag_spam'),
|
5 |
+
nextAll = $$.parent('li').nextAll();
|
6 |
+
|
7 |
+
nextAll.css(
|
8 |
+
'visibility',
|
9 |
+
( $$.is(':checked') ? 'visible' : 'hidden' )
|
|
|
|
|
|
|
10 |
);
|
11 |
}
|
12 |
|
13 |
|
14 |
+
$('#ab_flag_spam').on(
|
15 |
+
'change',
|
16 |
+
ab_flag_spam
|
17 |
+
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
18 |
|
|
|
|
|
|
|
|
|
|
|
|
|
19 |
|
20 |
+
ab_flag_spam();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
}
|
22 |
);
|
js/scripts.min.js
CHANGED
@@ -1,2 +1 @@
|
|
1 |
-
jQuery(document).ready(function(
|
2 |
-
c):c();"function"===typeof a.fn.delay&&a("#setting-error-settings_updated").delay(5E3).fadeOut()});
|
1 |
+
jQuery(document).ready(function(b){function a(){var a=b("#ab_flag_spam");a.parent("li").nextAll().css("visibility",a.is(":checked")?"visible":"hidden")}b("#ab_flag_spam").on("change",a);a()});
|
|
lang/antispam_bee-de_DE.mo
CHANGED
Binary file
|
lang/antispam_bee-de_DE.po
CHANGED
@@ -21,15 +21,6 @@ msgstr "Noch keine Daten vorhanden."
|
|
21 |
msgid "New spam comment on your post"
|
22 |
msgstr "Neuer Spam zum Artikel"
|
23 |
|
24 |
-
msgid "Advanced"
|
25 |
-
msgstr "Erweitert"
|
26 |
-
|
27 |
-
msgid "Filter"
|
28 |
-
msgstr "Filter"
|
29 |
-
|
30 |
-
msgid "General"
|
31 |
-
msgstr "Allgemein"
|
32 |
-
|
33 |
msgid "Comment"
|
34 |
msgstr "Kommentar"
|
35 |
|
@@ -52,19 +43,13 @@ msgid "Spam IP"
|
|
52 |
msgstr "Spam IP"
|
53 |
|
54 |
msgid "Comment Language"
|
55 |
-
msgstr "
|
56 |
|
57 |
msgid "Country Check"
|
58 |
msgstr "Ländercode"
|
59 |
|
60 |
-
msgid "
|
61 |
-
msgstr "
|
62 |
-
|
63 |
-
msgid "as"
|
64 |
-
msgstr "als"
|
65 |
-
|
66 |
-
msgid "iso codes"
|
67 |
-
msgstr "ISO Codes"
|
68 |
|
69 |
msgid "Approve it"
|
70 |
msgstr "Freigeben"
|
@@ -99,44 +84,18 @@ msgstr "Simples, äußerst effektives Plugin zur Bekämpfung von Spam-Kommentare
|
|
99 |
msgid "http://antispambee.com"
|
100 |
msgstr "http://antispambee.de"
|
101 |
|
102 |
-
|
103 |
-
|
104 |
-
msgstr "Spam markieren, nicht löschen"
|
105 |
-
|
106 |
-
msgid "Limit on"
|
107 |
-
msgstr "Beschränken auf"
|
108 |
|
109 |
-
msgid "
|
110 |
-
msgstr "
|
111 |
-
|
112 |
-
msgid "Notification by email"
|
113 |
-
msgstr "Benachrichtigung via E-Mail"
|
114 |
-
|
115 |
-
msgid "Delete comments by spam reasons"
|
116 |
-
msgstr "Bei gewählten Spamgründen sofort löschen"
|
117 |
-
|
118 |
-
msgid "Multiple choice or deselection by pressing Ctrl/CMD"
|
119 |
-
msgstr "Mehrfachauswahl bzw. Abwahl mit Strg/CMD"
|
120 |
-
|
121 |
-
msgid "Hide the "MARKED AS SPAM" note"
|
122 |
-
msgstr ""MARKED AS SPAM" unterdrücken"
|
123 |
|
124 |
msgid "Comment marked as spam"
|
125 |
msgstr "Spam-Benachrichtigung"
|
126 |
|
127 |
-
#
|
128 |
-
msgid "
|
129 |
-
msgstr "
|
130 |
-
|
131 |
-
msgid "Blacklist"
|
132 |
-
msgstr "Blacklist"
|
133 |
-
|
134 |
-
msgid "Whitelist"
|
135 |
-
msgstr "Whitelist"
|
136 |
-
|
137 |
-
# Project Honey Pot
|
138 |
-
msgid "Search comment spammers in the Project Honey Pot"
|
139 |
-
msgstr "Project Honey Pot als Quelle für Spam"
|
140 |
|
141 |
msgid "English"
|
142 |
msgstr "Englisch"
|
@@ -153,39 +112,120 @@ msgstr "Italienisch"
|
|
153 |
msgid "Spanish"
|
154 |
msgstr "Spanisch"
|
155 |
|
156 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
157 |
msgid "Allow comments only in certain language"
|
158 |
-
msgstr "
|
159 |
|
160 |
-
msgid "
|
161 |
-
msgstr "Sprache"
|
162 |
|
163 |
-
#
|
164 |
-
msgid "
|
165 |
-
msgstr "
|
166 |
|
167 |
-
msgid "
|
168 |
-
msgstr "
|
169 |
|
170 |
-
msgid "
|
171 |
-
msgstr "
|
172 |
|
173 |
-
|
174 |
-
|
175 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
176 |
|
177 |
msgid "Statistics on the dashboard"
|
178 |
-
msgstr "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
|
180 |
msgid "Do not check trackbacks / pingbacks"
|
181 |
-
msgstr "
|
|
|
|
|
|
|
182 |
|
183 |
msgid "Comment form used outside of posts"
|
184 |
msgstr "Kommentarformular auf Archivseiten"
|
185 |
|
186 |
-
msgid "
|
187 |
-
msgstr "
|
188 |
-
|
189 |
-
msgid "Comments"
|
190 |
-
msgstr "Kommentare"
|
191 |
|
21 |
msgid "New spam comment on your post"
|
22 |
msgstr "Neuer Spam zum Artikel"
|
23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
msgid "Comment"
|
25 |
msgstr "Kommentar"
|
26 |
|
43 |
msgstr "Spam IP"
|
44 |
|
45 |
msgid "Comment Language"
|
46 |
+
msgstr "Sprache"
|
47 |
|
48 |
msgid "Country Check"
|
49 |
msgstr "Ländercode"
|
50 |
|
51 |
+
msgid "DNSBL Spam"
|
52 |
+
msgstr "DNSBL Spam"
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
|
54 |
msgid "Approve it"
|
55 |
msgstr "Freigeben"
|
84 |
msgid "http://antispambee.com"
|
85 |
msgstr "http://antispambee.de"
|
86 |
|
87 |
+
msgid "Antispam Bee requires WordPress 3.4 and PHP 5.1.2"
|
88 |
+
msgstr "Antispam Bee setzt WordPress 3.4 und PHP 5.1.2 voraus"
|
|
|
|
|
|
|
|
|
89 |
|
90 |
+
msgid "Comments"
|
91 |
+
msgstr "Kommentare"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
92 |
|
93 |
msgid "Comment marked as spam"
|
94 |
msgstr "Spam-Benachrichtigung"
|
95 |
|
96 |
+
# Sprachen
|
97 |
+
msgid "Language"
|
98 |
+
msgstr "Sprache"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
|
100 |
msgid "English"
|
101 |
msgstr "Englisch"
|
112 |
msgid "Spanish"
|
113 |
msgstr "Spanisch"
|
114 |
|
115 |
+
# Antispam-Filter
|
116 |
+
msgid "Antispam filter"
|
117 |
+
msgstr "Antispam-Regeln"
|
118 |
+
|
119 |
+
msgid "Filter in the execution order"
|
120 |
+
msgstr "Filter in Reihenfolge der Ausführung"
|
121 |
+
|
122 |
+
msgid "Trust approved commentators"
|
123 |
+
msgstr "Genehmigten Kommentatoren vertrauen"
|
124 |
+
|
125 |
+
msgid "No check for already commenting users"
|
126 |
+
msgstr "Keine Prüfung bereits kommentierender Nutzer"
|
127 |
+
|
128 |
+
msgid "Use a public antispam database"
|
129 |
+
msgstr "Öffentliche Spamdatenbank berücksichtigen"
|
130 |
+
|
131 |
+
msgid "Matching the ip address with"
|
132 |
+
msgstr "Abgleich der IP-Adresse mit"
|
133 |
+
|
134 |
+
msgid "Validate the ip address of commentators"
|
135 |
+
msgstr "IP-Adresse des Kommentators validieren"
|
136 |
+
|
137 |
+
msgid "Validity check for used ip address"
|
138 |
+
msgstr "Kontrolle auf Gültigkeit verwendeter Kennung"
|
139 |
+
|
140 |
+
msgid "Look in the local spam database"
|
141 |
+
msgstr "Lokale Spamdatenbank einbeziehen"
|
142 |
+
|
143 |
+
msgid "Already marked as spam? Yes? No?"
|
144 |
+
msgstr "Suche im Spambestand des eigenen Blogs"
|
145 |
+
|
146 |
+
msgid "Block comments from specific countries"
|
147 |
+
msgstr "Bestimmte Länder blockieren bzw. erlauben"
|
148 |
+
|
149 |
+
msgid "Filtering the requests depending on country"
|
150 |
+
msgstr "Filterung der Anfragen je nach Herkunftsland"
|
151 |
+
|
152 |
msgid "Allow comments only in certain language"
|
153 |
+
msgstr "Kommentare nur in einer Sprache zulassen"
|
154 |
|
155 |
+
msgid "Detection and approval in specified language"
|
156 |
+
msgstr "Erkennung und Freigabe festgelegter Sprache"
|
157 |
|
158 |
+
# Erweitert
|
159 |
+
msgid "Advanced"
|
160 |
+
msgstr "Erweitert"
|
161 |
|
162 |
+
msgid "Other antispam tools"
|
163 |
+
msgstr "Weitere Steuerungselemente"
|
164 |
|
165 |
+
msgid "Mark as spam, do not delete"
|
166 |
+
msgstr "Erkannten Spam kennzeichnen, nicht löschen"
|
167 |
|
168 |
+
msgid "Keep the spam in my blog."
|
169 |
+
msgstr "Markierung als Spam / Aufbewahrung im Blog"
|
170 |
+
|
171 |
+
msgid "Notification by email"
|
172 |
+
msgstr "Bei Spam via E-Mail informieren"
|
173 |
+
|
174 |
+
msgid "Sending an alert to the admin"
|
175 |
+
msgstr "Versand der Benachrichtigung an den Admin"
|
176 |
+
|
177 |
+
msgid "Not store the reason in the comment body"
|
178 |
+
msgstr "Spamgrund im Kommentar nicht speichern"
|
179 |
+
|
180 |
+
msgid "Filter name as reason for current suspicion"
|
181 |
+
msgstr "Zugeschlagener Filter als Verdachtsgrund"
|
182 |
+
|
183 |
+
msgid "Delete existing spam after %s days"
|
184 |
+
msgstr "Vorhandenen Spam nach %s Tagen löschen"
|
185 |
+
|
186 |
+
msgid "Cleaning up the database from old entries"
|
187 |
+
msgstr "Säuberung der Datenbank von alten Einträgen"
|
188 |
+
|
189 |
+
msgid "Limit on %s"
|
190 |
+
msgstr "Aufbewahrung gilt nur für %s"
|
191 |
+
|
192 |
+
msgid "Another type of spam will be deleted immediately"
|
193 |
+
msgstr "Spam anderes Typs unterliegt sofortiger Löschung"
|
194 |
+
|
195 |
+
msgid "Delete comments by spam reasons"
|
196 |
+
msgstr "Bei definierten Spamgründen sofort löschen"
|
197 |
+
|
198 |
+
msgid "Multiple choice by pressing Ctrl/CMD"
|
199 |
+
msgstr "Mehrfachauswahl bzw. Abwahl mit Strg/CMD"
|
200 |
+
|
201 |
+
# Sonstiges
|
202 |
+
msgid "More"
|
203 |
+
msgstr "Sonstiges"
|
204 |
+
|
205 |
+
msgid "A few little things"
|
206 |
+
msgstr "Weniger relevante Optionen"
|
207 |
|
208 |
msgid "Statistics on the dashboard"
|
209 |
+
msgstr "Statistiken als Dashboard-Widget generieren"
|
210 |
+
|
211 |
+
msgid "Spam detection rate with daily values"
|
212 |
+
msgstr "Verlauf der Erkennungsrate mit täglichen Werten"
|
213 |
+
|
214 |
+
msgid "Spam counter on the dashboard"
|
215 |
+
msgstr "Spam-Anzahl auf dem Dashboard anzeigen"
|
216 |
+
|
217 |
+
msgid "Amount of identified spam comments"
|
218 |
+
msgstr "Menge an identifizierten Spam-Kommentaren"
|
219 |
|
220 |
msgid "Do not check trackbacks / pingbacks"
|
221 |
+
msgstr "Eingehende Ping- und Trackbacks ignorieren"
|
222 |
+
|
223 |
+
msgid "No spam check for trackback notifications"
|
224 |
+
msgstr "Kein Spam-Check für Link-Benachrichtigungen"
|
225 |
|
226 |
msgid "Comment form used outside of posts"
|
227 |
msgstr "Kommentarformular auf Archivseiten"
|
228 |
|
229 |
+
msgid "Check for comment forms on archive pages"
|
230 |
+
msgstr "Überwachung des Formulars auf Archivseiten"
|
|
|
|
|
|
|
231 |
|
lang/antispam_bee-nl_NL.mo
DELETED
Binary file
|
lang/antispam_bee-nl_NL.po
DELETED
@@ -1,190 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: Antispam Bee\n"
|
4 |
-
"POT-Creation-Date: \n"
|
5 |
-
"PO-Revision-Date: \n"
|
6 |
-
"Last-Translator: Presis <contact@presis.nl>\n"
|
7 |
-
"Language-Team: Sergej Müller\n"
|
8 |
-
"MIME-Version: 1.0\n"
|
9 |
-
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
-
"Content-Transfer-Encoding: 8bit\n"
|
11 |
-
"X-Poedit-SourceCharset: utf-8\n"
|
12 |
-
"X-Poedit-KeywordsList: __;_e\n"
|
13 |
-
"X-Poedit-Basepath: .\n"
|
14 |
-
"Language: de_DE\n"
|
15 |
-
"X-Generator: Poedit 1.5.4\n"
|
16 |
-
"X-Poedit-SearchPath-0: .\n"
|
17 |
-
|
18 |
-
msgid "No data available."
|
19 |
-
msgstr "Geen gegevens beschikbaar."
|
20 |
-
|
21 |
-
msgid "New spam comment on your post"
|
22 |
-
msgstr "Nieuwe spamreactie op jouw bericht"
|
23 |
-
|
24 |
-
msgid "Advanced"
|
25 |
-
msgstr "Geavanceerd"
|
26 |
-
|
27 |
-
msgid "Filter"
|
28 |
-
msgstr "Filter"
|
29 |
-
|
30 |
-
msgid "General"
|
31 |
-
msgstr "Algemeen"
|
32 |
-
|
33 |
-
msgid "Comment"
|
34 |
-
msgstr "Reactie"
|
35 |
-
|
36 |
-
msgid "Type"
|
37 |
-
msgstr "Soort"
|
38 |
-
|
39 |
-
msgid "Spam Reason"
|
40 |
-
msgstr "Spam reden"
|
41 |
-
|
42 |
-
msgid "Empty Data"
|
43 |
-
msgstr "Lege data"
|
44 |
-
|
45 |
-
msgid "CSS Hack"
|
46 |
-
msgstr "CSS Hack"
|
47 |
-
|
48 |
-
msgid "Server IP"
|
49 |
-
msgstr "Server IP"
|
50 |
-
|
51 |
-
msgid "Spam IP"
|
52 |
-
msgstr "Spam IP"
|
53 |
-
|
54 |
-
msgid "Comment Language"
|
55 |
-
msgstr "Reactie taal"
|
56 |
-
|
57 |
-
msgid "Country Check"
|
58 |
-
msgstr "Land Controle"
|
59 |
-
|
60 |
-
msgid "Honey Pot"
|
61 |
-
msgstr "Honey Pot"
|
62 |
-
|
63 |
-
msgid "as"
|
64 |
-
msgstr "als"
|
65 |
-
|
66 |
-
msgid "iso codes"
|
67 |
-
msgstr "ISO Codes"
|
68 |
-
|
69 |
-
msgid "Approve it"
|
70 |
-
msgstr "Toestaan"
|
71 |
-
|
72 |
-
msgid "Delete it"
|
73 |
-
msgstr "Verwijderen"
|
74 |
-
|
75 |
-
msgid "Trash it"
|
76 |
-
msgstr "Naar prullenbak"
|
77 |
-
|
78 |
-
msgid "Spam list"
|
79 |
-
msgstr "Spamlijst"
|
80 |
-
|
81 |
-
msgid "Notify message by Antispam Bee"
|
82 |
-
msgstr "Notificatie van Antispam Bee"
|
83 |
-
|
84 |
-
msgid "Content removed by Antispam Bee"
|
85 |
-
msgstr "Inhoud verwijderd door Antispam Bee"
|
86 |
-
|
87 |
-
msgid "Last check"
|
88 |
-
msgstr "Laatste controle"
|
89 |
-
|
90 |
-
msgid "Blocked"
|
91 |
-
msgstr "Geblokkeerd"
|
92 |
-
|
93 |
-
msgid "Today"
|
94 |
-
msgstr "Vandaag"
|
95 |
-
|
96 |
-
msgid ""
|
97 |
-
"Easy and extremely productive spam-fighting plugin with many sophisticated "
|
98 |
-
"solutions. Includes protection again trackback spam."
|
99 |
-
msgstr ""
|
100 |
-
"Eenvoudig en extreme effectieve anti-spam plugin met vele geavanceerde "
|
101 |
-
"oplossingen. Inclusief bescherming tegen trackback spam."
|
102 |
-
|
103 |
-
msgid "http://antispambee.com"
|
104 |
-
msgstr "http://antispambee.de"
|
105 |
-
|
106 |
-
# Spam detection
|
107 |
-
msgid "Mark as Spam, do not delete"
|
108 |
-
msgstr "Markeer als spam, verwijder niet"
|
109 |
-
|
110 |
-
msgid "Limit on"
|
111 |
-
msgstr "Limiet op"
|
112 |
-
|
113 |
-
msgid "Spam will be automatically deleted after %s days"
|
114 |
-
msgstr "Spam wordt automatisch verwijderd na %s dagen"
|
115 |
-
|
116 |
-
msgid "Notification by email"
|
117 |
-
msgstr "Bericht via e-mail"
|
118 |
-
|
119 |
-
msgid "Delete comments by spam reasons"
|
120 |
-
msgstr "Verwijder reactie aan de hand van spam reden"
|
121 |
-
|
122 |
-
msgid "Multiple choice or deselection by pressing Ctrl/CMD"
|
123 |
-
msgstr "Selecteer / deselecteer meerdere opties door Ctrl/CMD in te drukken"
|
124 |
-
|
125 |
-
msgid "Hide the "MARKED AS SPAM" note"
|
126 |
-
msgstr "Verberg de "GEMARKEERD ALS SPAM" opmerking"
|
127 |
-
|
128 |
-
msgid "Comment marked as spam"
|
129 |
-
msgstr "Reactie aangemerkt als spam"
|
130 |
-
|
131 |
-
# Block countries
|
132 |
-
msgid "Block comments and pings from specific countries"
|
133 |
-
msgstr "Blokkeer reacties en pings vanuit specifieke landen"
|
134 |
-
|
135 |
-
msgid "Blacklist"
|
136 |
-
msgstr "Zwartelijst"
|
137 |
-
|
138 |
-
msgid "Whitelist"
|
139 |
-
msgstr "Wittelijst"
|
140 |
-
|
141 |
-
msgid "Search comment spammers in the Project Honey Pot"
|
142 |
-
msgstr "Zoek reactie spammers in Project Honey Pot"
|
143 |
-
|
144 |
-
msgid "English"
|
145 |
-
msgstr "Engels"
|
146 |
-
|
147 |
-
msgid "German"
|
148 |
-
msgstr "Duits"
|
149 |
-
|
150 |
-
msgid "French"
|
151 |
-
msgstr "Frans"
|
152 |
-
|
153 |
-
msgid "Italian"
|
154 |
-
msgstr "Italiaans"
|
155 |
-
|
156 |
-
msgid "Spanish"
|
157 |
-
msgstr "Spaans"
|
158 |
-
|
159 |
-
# Translate API
|
160 |
-
msgid "Allow comments only in certain language"
|
161 |
-
msgstr "Sta alleen reacties toe in een bepaalde taal"
|
162 |
-
|
163 |
-
msgid "Language"
|
164 |
-
msgstr "Taal"
|
165 |
-
|
166 |
-
# Extended
|
167 |
-
msgid "Stricter inspection for comments and pings"
|
168 |
-
msgstr "Strikte inspectie voor reacties en pings"
|
169 |
-
|
170 |
-
msgid "Consider comments which are already marked as spam"
|
171 |
-
msgstr "Overweeg opmerkingen die reeds zijn gemarkeerd als spam"
|
172 |
-
|
173 |
-
msgid "Do not check if the comment author has already approved"
|
174 |
-
msgstr "Niet controleren als de auteur van de reactie reeds is toegestaan"
|
175 |
-
|
176 |
-
# Misc
|
177 |
-
msgid "Spam counter on the dashboard"
|
178 |
-
msgstr "Spam teller op het dashboard"
|
179 |
-
|
180 |
-
msgid "Statistics on the dashboard"
|
181 |
-
msgstr "Statistieken op het dashboard"
|
182 |
-
|
183 |
-
msgid "Do not check trackbacks / pingbacks"
|
184 |
-
msgstr "Trackbacks / pingbacks niet controleren"
|
185 |
-
|
186 |
-
msgid "Comment form used outside of posts"
|
187 |
-
msgstr "Reactieformulier wordt gebruikt buiten berichten"
|
188 |
-
|
189 |
-
msgid "Antispam Bee requires WordPress 3.3 and PHP 5.1.2"
|
190 |
-
msgstr "Antispam Bee vereist WordPress 3.3 en PHP 5.1.2"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lang/antispam_bee-ru_RU.mo
CHANGED
Binary file
|
lang/antispam_bee-ru_RU.po
CHANGED
@@ -1,188 +1,256 @@
|
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Antispam Bee\n"
|
4 |
-
"
|
5 |
-
"
|
6 |
-
"
|
7 |
-
"
|
|
|
|
|
8 |
"MIME-Version: 1.0\n"
|
9 |
-
"Content-Type: text/plain; charset=
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
11 |
-
"X-Poedit-
|
12 |
-
"X-Poedit-Country: GERMANY\n"
|
13 |
-
"X-Poedit-SourceCharset: utf-8\n"
|
14 |
-
"X-Poedit-KeywordsList: __;_e\n"
|
15 |
"X-Poedit-Basepath: .\n"
|
|
|
|
|
|
|
|
|
16 |
"X-Poedit-SearchPath-0: .\n"
|
|
|
17 |
|
18 |
-
|
19 |
-
|
|
|
20 |
|
21 |
-
|
22 |
-
|
|
|
23 |
|
24 |
-
|
25 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
|
27 |
-
|
28 |
-
|
|
|
29 |
|
30 |
-
|
31 |
-
|
|
|
32 |
|
33 |
-
|
34 |
-
|
|
|
35 |
|
|
|
36 |
msgid "Type"
|
37 |
-
msgstr "
|
38 |
|
|
|
|
|
39 |
msgid "Spam Reason"
|
40 |
msgstr "Причина спама"
|
41 |
|
42 |
-
|
43 |
-
|
|
|
44 |
|
45 |
-
|
46 |
-
|
|
|
47 |
|
48 |
-
|
49 |
-
|
|
|
50 |
|
51 |
-
|
52 |
-
|
|
|
53 |
|
54 |
-
|
55 |
-
|
|
|
56 |
|
57 |
-
|
58 |
-
|
|
|
59 |
|
60 |
-
|
61 |
-
|
|
|
62 |
|
63 |
-
|
64 |
-
|
|
|
65 |
|
66 |
-
|
67 |
-
|
|
|
68 |
|
69 |
-
|
70 |
-
|
|
|
71 |
|
72 |
-
|
73 |
-
|
|
|
74 |
|
75 |
-
|
76 |
-
|
|
|
77 |
|
78 |
-
|
79 |
-
|
|
|
80 |
|
81 |
-
|
82 |
-
|
|
|
83 |
|
84 |
-
|
85 |
-
|
|
|
86 |
|
87 |
-
|
88 |
-
|
|
|
89 |
|
90 |
-
|
91 |
-
|
|
|
92 |
|
93 |
-
|
94 |
-
|
|
|
95 |
|
96 |
-
|
97 |
-
|
|
|
98 |
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
# Spam detection
|
103 |
-
msgid "Mark as Spam, do not delete"
|
104 |
-
msgstr "Отметить как спам, не удалять"
|
105 |
-
|
106 |
-
msgid "Limit on"
|
107 |
-
msgstr "Ограничить на"
|
108 |
|
109 |
-
|
110 |
-
|
|
|
111 |
|
112 |
-
|
113 |
-
|
|
|
114 |
|
115 |
-
|
116 |
-
|
|
|
117 |
|
118 |
-
|
119 |
-
|
|
|
120 |
|
121 |
-
|
122 |
-
|
|
|
123 |
|
124 |
-
|
125 |
-
|
|
|
126 |
|
127 |
-
|
128 |
-
msgid "
|
129 |
-
msgstr "
|
130 |
|
131 |
-
|
132 |
-
|
|
|
133 |
|
134 |
-
|
135 |
-
|
|
|
136 |
|
137 |
-
|
138 |
-
msgid "
|
139 |
-
msgstr "
|
140 |
|
141 |
-
|
142 |
-
|
|
|
|
|
143 |
|
144 |
-
|
145 |
-
|
|
|
146 |
|
147 |
-
|
148 |
-
|
|
|
|
|
149 |
|
150 |
-
|
151 |
-
|
|
|
152 |
|
153 |
-
|
154 |
-
|
|
|
155 |
|
156 |
-
|
157 |
-
msgid "
|
158 |
-
msgstr "
|
159 |
|
160 |
-
|
161 |
-
|
|
|
162 |
|
163 |
-
|
164 |
-
msgid "
|
165 |
-
msgstr "
|
166 |
|
167 |
-
|
168 |
-
|
|
|
169 |
|
170 |
-
|
171 |
-
|
|
|
172 |
|
173 |
-
|
174 |
msgid "Spam counter on the dashboard"
|
175 |
-
msgstr "
|
176 |
|
177 |
-
|
178 |
-
|
|
|
179 |
|
|
|
180 |
msgid "Do not check trackbacks / pingbacks"
|
181 |
-
msgstr "Не проверять
|
|
|
|
|
|
|
|
|
182 |
|
|
|
183 |
msgid "Comment form used outside of posts"
|
184 |
-
msgstr "Комментарии
|
|
|
|
|
|
|
|
|
185 |
|
186 |
-
|
187 |
-
|
|
|
188 |
|
1 |
msgid ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Antispam Bee\n"
|
4 |
+
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2012-11-21 22:20+0300\n"
|
6 |
+
"PO-Revision-Date: 2012-11-21 23:27+0300\n"
|
7 |
+
"Last-Translator: Andrey Ananin\n"
|
8 |
+
"Language-Team: Andrey Ananin\n"
|
9 |
+
"Language: \n"
|
10 |
"MIME-Version: 1.0\n"
|
11 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
12 |
"Content-Transfer-Encoding: 8bit\n"
|
13 |
+
"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_n:1,2;__ngettext_noop:1,2;_n_noop:1,2;_c;_nc:4c,1,2;_x:1,2c;_nx:4c,1,2;_nx_noop:4c,1,2;_ex:1,2c;esc_attr__;esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c\n"
|
|
|
|
|
|
|
14 |
"X-Poedit-Basepath: .\n"
|
15 |
+
"X-Poedit-Language: Russian\n"
|
16 |
+
"X-Poedit-Country: RUSSIAN FEDERATION\n"
|
17 |
+
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
|
18 |
+
"X-Poedit-SourceCharset: utf-8\n"
|
19 |
"X-Poedit-SearchPath-0: .\n"
|
20 |
+
"X-Poedit-SearchPath-1: ..\n"
|
21 |
|
22 |
+
#: ../antispam_bee.php:421
|
23 |
+
msgid "Settings"
|
24 |
+
msgstr "Настройки"
|
25 |
|
26 |
+
#: ../antispam_bee.php:472
|
27 |
+
msgid "Antispam Bee requires WordPress 3.4 and PHP 5.1.2"
|
28 |
+
msgstr "Для работы Antispam Bee требуются WordPress 3.4 и PHP 5.1.2"
|
29 |
|
30 |
+
#: ../antispam_bee.php:651
|
31 |
+
msgid "Blocked"
|
32 |
+
msgstr "заблокировано"
|
33 |
+
|
34 |
+
#: ../antispam_bee.php:758
|
35 |
+
msgid "Today"
|
36 |
+
msgstr "Сегодня"
|
37 |
+
|
38 |
+
#: ../antispam_bee.php:816
|
39 |
+
msgid "No data available."
|
40 |
+
msgstr "Нет данных"
|
41 |
+
|
42 |
+
#: ../antispam_bee.php:1823
|
43 |
+
msgid "Comment marked as spam"
|
44 |
+
msgstr "Комментарий отмечен как спам"
|
45 |
|
46 |
+
#: ../antispam_bee.php:1830
|
47 |
+
msgid "Content removed by Antispam Bee"
|
48 |
+
msgstr "Содержимое удалено Antispam Bee"
|
49 |
|
50 |
+
#: ../antispam_bee.php:1837
|
51 |
+
msgid "New spam comment on your post"
|
52 |
+
msgstr "Новый спам-комментарий на запись"
|
53 |
|
54 |
+
#: ../antispam_bee.php:1841
|
55 |
+
msgid "Author"
|
56 |
+
msgstr "Автор"
|
57 |
|
58 |
+
#: ../antispam_bee.php:1848
|
59 |
msgid "Type"
|
60 |
+
msgstr "Тип"
|
61 |
|
62 |
+
#: ../antispam_bee.php:1855
|
63 |
+
#: ../inc/gui.class.php:361
|
64 |
msgid "Spam Reason"
|
65 |
msgstr "Причина спама"
|
66 |
|
67 |
+
#: ../antispam_bee.php:1864
|
68 |
+
msgid "Trash it"
|
69 |
+
msgstr "В корзину"
|
70 |
|
71 |
+
#: ../antispam_bee.php:1870
|
72 |
+
msgid "Delete it"
|
73 |
+
msgstr "Удалить"
|
74 |
|
75 |
+
#: ../antispam_bee.php:1876
|
76 |
+
msgid "Approve it"
|
77 |
+
msgstr "Одобрить"
|
78 |
|
79 |
+
#: ../antispam_bee.php:1880
|
80 |
+
msgid "Spam list"
|
81 |
+
msgstr "Список спам-сообщений"
|
82 |
|
83 |
+
#: ../antispam_bee.php:1884
|
84 |
+
msgid "Notify message by Antispam Bee"
|
85 |
+
msgstr "Уведомление от Antispam Bee"
|
86 |
|
87 |
+
#: ../antispam_bee.php:1885
|
88 |
+
msgid "http://antispambee.com"
|
89 |
+
msgstr "http://antispambee.com"
|
90 |
|
91 |
+
#: ../inc/gui.class.php:30
|
92 |
+
msgid "Cheatin’ uh?"
|
93 |
+
msgstr "Жульничаете?"
|
94 |
|
95 |
+
#: ../inc/gui.class.php:198
|
96 |
+
msgid "Antispam filter"
|
97 |
+
msgstr "Антиспам-фильтр"
|
98 |
|
99 |
+
#: ../inc/gui.class.php:201
|
100 |
+
msgid "Filter in the execution order"
|
101 |
+
msgstr "Фильтрация в порядке выполнения"
|
102 |
|
103 |
+
#: ../inc/gui.class.php:207
|
104 |
+
msgid "Trust approved commentators"
|
105 |
+
msgstr "Доверять одобренным комментаторам"
|
106 |
|
107 |
+
#: ../inc/gui.class.php:208
|
108 |
+
msgid "No check for already commenting users"
|
109 |
+
msgstr "Не проверять для пользов. с коммент."
|
110 |
|
111 |
+
#: ../inc/gui.class.php:215
|
112 |
+
msgid "Use a public antispam database"
|
113 |
+
msgstr "Использовать общую БД антиспама"
|
114 |
|
115 |
+
#: ../inc/gui.class.php:216
|
116 |
+
msgid "Matching the ip address with"
|
117 |
+
msgstr "Проверять IP-адрес в"
|
118 |
|
119 |
+
#: ../inc/gui.class.php:223
|
120 |
+
msgid "Validate the ip address of commentators"
|
121 |
+
msgstr "Проверять IP-адреса пользователей"
|
122 |
|
123 |
+
#: ../inc/gui.class.php:224
|
124 |
+
msgid "Validity check for used ip address"
|
125 |
+
msgstr "Проверка используемого IP-адреса"
|
126 |
|
127 |
+
#: ../inc/gui.class.php:231
|
128 |
+
msgid "Look in the local spam database"
|
129 |
+
msgstr "Поиск в локальной БД спама"
|
130 |
|
131 |
+
#: ../inc/gui.class.php:232
|
132 |
+
msgid "Already marked as spam? Yes? No?"
|
133 |
+
msgstr "Уже помечен как спам? Да? Нет?"
|
134 |
|
135 |
+
#: ../inc/gui.class.php:239
|
136 |
+
msgid "Block comments from specific countries"
|
137 |
+
msgstr "Блокировать комментарии по странам"
|
138 |
|
139 |
+
#: ../inc/gui.class.php:240
|
140 |
+
msgid "Filtering the requests depending on country"
|
141 |
+
msgstr "Фильтр коммент. в зависимости от страны"
|
142 |
|
143 |
+
#: ../inc/gui.class.php:262
|
144 |
+
msgid "Allow comments only in certain language"
|
145 |
+
msgstr "Разрешить коммент. только на опред. языке"
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
|
147 |
+
#: ../inc/gui.class.php:263
|
148 |
+
msgid "Detection and approval in specified language"
|
149 |
+
msgstr "Определ. и одобр. на указанном языке"
|
150 |
|
151 |
+
#: ../inc/gui.class.php:275
|
152 |
+
msgid "Language"
|
153 |
+
msgstr "Язык"
|
154 |
|
155 |
+
#: ../inc/gui.class.php:286
|
156 |
+
msgid "Advanced"
|
157 |
+
msgstr "Расширенные настройки"
|
158 |
|
159 |
+
#: ../inc/gui.class.php:289
|
160 |
+
msgid "Other antispam tools"
|
161 |
+
msgstr "Дополнительные средства против спама"
|
162 |
|
163 |
+
#: ../inc/gui.class.php:295
|
164 |
+
msgid "Mark as spam, do not delete"
|
165 |
+
msgstr "Помечать как спам, не удалять"
|
166 |
|
167 |
+
#: ../inc/gui.class.php:296
|
168 |
+
msgid "Keep the spam in my blog."
|
169 |
+
msgstr "Оставить спам в блоге."
|
170 |
|
171 |
+
#: ../inc/gui.class.php:303
|
172 |
+
msgid "Notification by email"
|
173 |
+
msgstr "Уведомление по email"
|
174 |
|
175 |
+
#: ../inc/gui.class.php:304
|
176 |
+
msgid "Sending an alert to the admin"
|
177 |
+
msgstr "Послать предупреждение администратору"
|
178 |
|
179 |
+
#: ../inc/gui.class.php:311
|
180 |
+
msgid "Not store the reason in the comment body"
|
181 |
+
msgstr "Не сохр. причину в теле комментария"
|
182 |
|
183 |
+
#: ../inc/gui.class.php:312
|
184 |
+
msgid "Filter name as reason for current suspicion"
|
185 |
+
msgstr "Фильтр имени как признака спама"
|
186 |
|
187 |
+
#: ../inc/gui.class.php:320
|
188 |
+
#, php-format
|
189 |
+
msgid "Delete existing spam after %s days"
|
190 |
+
msgstr "Удалять спам через %s дней"
|
191 |
|
192 |
+
#: ../inc/gui.class.php:323
|
193 |
+
msgid "Cleaning up the database from old entries"
|
194 |
+
msgstr "Очистить БД от старых записей"
|
195 |
|
196 |
+
#: ../inc/gui.class.php:331
|
197 |
+
#, php-format
|
198 |
+
msgid "Limit on %s"
|
199 |
+
msgstr "Ограничить на %s"
|
200 |
|
201 |
+
#: ../inc/gui.class.php:341
|
202 |
+
msgid "Another type of spam will be deleted immediately"
|
203 |
+
msgstr "Другой тип спама будет сразу удален"
|
204 |
|
205 |
+
#: ../inc/gui.class.php:348
|
206 |
+
msgid "Delete comments by spam reasons"
|
207 |
+
msgstr "Удалять комментарии по причине спама"
|
208 |
|
209 |
+
#: ../inc/gui.class.php:349
|
210 |
+
msgid "Multiple choice by pressing Ctrl/CMD"
|
211 |
+
msgstr "Множеств. выбор нажатием Ctrl/CMD"
|
212 |
|
213 |
+
#: ../inc/gui.class.php:372
|
214 |
+
msgid "More"
|
215 |
+
msgstr "Дополнительно"
|
216 |
|
217 |
+
#: ../inc/gui.class.php:375
|
218 |
+
msgid "A few little things"
|
219 |
+
msgstr "Несколько мелочей"
|
220 |
|
221 |
+
#: ../inc/gui.class.php:381
|
222 |
+
msgid "Statistics on the dashboard"
|
223 |
+
msgstr "Статистика в консоли"
|
224 |
|
225 |
+
#: ../inc/gui.class.php:382
|
226 |
+
msgid "Spam detection rate with daily values"
|
227 |
+
msgstr "Частота выявления спама по дням"
|
228 |
|
229 |
+
#: ../inc/gui.class.php:389
|
230 |
msgid "Spam counter on the dashboard"
|
231 |
+
msgstr "Счетчик спама в консоли"
|
232 |
|
233 |
+
#: ../inc/gui.class.php:390
|
234 |
+
msgid "Amount of identified spam comments"
|
235 |
+
msgstr "Кол-во обнаруженных спам-комментариев"
|
236 |
|
237 |
+
#: ../inc/gui.class.php:397
|
238 |
msgid "Do not check trackbacks / pingbacks"
|
239 |
+
msgstr "Не проверять обратные ссылки/уведомления"
|
240 |
+
|
241 |
+
#: ../inc/gui.class.php:398
|
242 |
+
msgid "No spam check for trackback notifications"
|
243 |
+
msgstr "Отключить для уведомл. по обр. ссылкам"
|
244 |
|
245 |
+
#: ../inc/gui.class.php:405
|
246 |
msgid "Comment form used outside of posts"
|
247 |
+
msgstr "Комментарии вне записей блога"
|
248 |
+
|
249 |
+
#: ../inc/gui.class.php:406
|
250 |
+
msgid "Check for comment forms on archive pages"
|
251 |
+
msgstr "Проверять коммент. на страницах архива"
|
252 |
|
253 |
+
#: ../inc/gui.class.php:422
|
254 |
+
msgid "Save Changes"
|
255 |
+
msgstr "Сохранить изменения"
|
256 |
|
readme.txt
CHANGED
@@ -2,66 +2,91 @@
|
|
2 |
Contributors: sergej.mueller
|
3 |
Tags: antispam, spam, comments, trackback
|
4 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5RDDW9FEHGLG6
|
5 |
-
Requires at least: 3.
|
6 |
Tested up to: 3.5
|
7 |
Stable tag: trunk
|
|
|
|
|
8 |
|
9 |
|
10 |
|
11 |
-
|
12 |
|
13 |
|
14 |
|
15 |
== Description ==
|
16 |
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
*
|
22 |
-
|
23 |
-
|
24 |
-
*
|
25 |
-
*
|
26 |
-
*
|
27 |
-
*
|
28 |
-
*
|
29 |
-
*
|
30 |
-
*
|
31 |
-
*
|
32 |
-
*
|
33 |
-
|
34 |
-
|
35 |
-
*
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
*
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
* PHP 5.1.2
|
47 |
-
* WordPress 3.
|
48 |
-
|
49 |
-
= Not compatible with =
|
50 |
-
* Disqus
|
51 |
-
* Jetpack Comments
|
52 |
-
* All-in-One Event Calendar
|
53 |
|
54 |
-
=
|
55 |
-
* [Antispam Bee: Antispam für WordPress](http://playground.ebiene.de/antispam-bee-wordpress-plugin/
|
56 |
|
57 |
-
=
|
58 |
* [Google+](https://plus.google.com/110569673423509816572 "Google+")
|
59 |
* [Plugins](http://wpcoder.de "Plugins")
|
60 |
|
|
|
|
|
|
|
61 |
|
62 |
|
63 |
== Changelog ==
|
64 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
65 |
= 2.4.4 =
|
66 |
* Technical and visual support for WordPress 3.5
|
67 |
* Modification of the file structure: from `xyz.dev.css` to `xyz.min.css`
|
@@ -179,4 +204,4 @@ Antispam Bee is simple to use, has many options and filters. Does not store data
|
|
179 |
|
180 |
== Screenshots ==
|
181 |
|
182 |
-
1. Antispam Bee
|
2 |
Contributors: sergej.mueller
|
3 |
Tags: antispam, spam, comments, trackback
|
4 |
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5RDDW9FEHGLG6
|
5 |
+
Requires at least: 3.4
|
6 |
Tested up to: 3.5
|
7 |
Stable tag: trunk
|
8 |
+
License: GPLv2 or later
|
9 |
+
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
11 |
|
12 |
|
13 |
+
Say Goodbye zu Spam in deinem Blog. Kostenlos, werbefrei und datenschutzkonform. Für Kommentare und Trackbacks.
|
14 |
|
15 |
|
16 |
|
17 |
== Description ==
|
18 |
|
19 |
+
Blog-Spam bekämpfen ist die Stärke von *Antispam Bee*. Seit Jahren wird das Plugin darauf trainiert, Spam-Kommentare zuverlässig zu erkennen (auf Wunsch auch sofort zu beseitigen). Dabei greift *Antispam Bee* auf unterschiedliche Techniken zu, die sich zur Identifizierung von Spam-Nachrichten bewährt haben.
|
20 |
+
|
21 |
+
Im Vergleich zum - für die meisten Blogger kostenpflichtigen - Plugin Akismet, überträgt *Antispam Bee* keine Blog- und Kommentardaten an einen entfernten Server. Ob ein Kommentar böswillig ist, entscheidet das kostenlose Plugin vor Ort im heimischen Blog. Hierfür stehen dem Nutzer zahlreiche Funktionen zur Verfügung, die per Mausklick ein- und abgeschaltet werden können.
|
22 |
+
|
23 |
+
Als Unterstützung der Erkennung greift *Antispam Bee* auf eine öffentlich zugängliche und seit mehreren Jahren gepflegte [Datenbank](http://opm.tornevall.org) mit aktuellen Spammer-Referenzen zu. Anhand der IP-Adresse des Kommentators kann schnell und unbürokratisch entschieden werden, ob der Kommentar-Absender ein in der Welt bekannter Spam-Vertreiber ist. Aber auch dieser Filter kann im Antispam-Plugin jedezeit deaktiviert werden.
|
24 |
+
|
25 |
+
= Pluspunkte =
|
26 |
+
* Aktive Weiterentwicklung seit 2009
|
27 |
+
* Über 20 untereinander kombinierbare Funktionen
|
28 |
+
* Keine Speicherung von personenbezogenen Daten
|
29 |
+
* Volle Transparenz bei der Prüfung der Kommentare
|
30 |
+
* Keine Registrierung notwendig
|
31 |
+
* Kostenlos auch für kommerzielle Projekte
|
32 |
+
* Keine Anpassung von Theme-Templates vonnöten
|
33 |
+
* Alle Funktionen vom Nutzer steuerbar
|
34 |
+
* Statistik der letzten 30 Tage als Dashboard-Widget
|
35 |
+
|
36 |
+
= Einstellungen =
|
37 |
+
Nach der Aktivierung nimmt *Antispam Bee* den regulären Betrieb auf, indem vordefinierte Schutzmechanismen scharf geschaltet werden. Es empfiehlt sich jedoch, die Seite mit Plugin-Einstellungen aufzurufen und sich mit wirkungsvollen Optionen auseinander zu setzen. Alle Optionsschalter sind in der [Online-Dokumentation](http://playground.ebiene.de/antispam-bee-wordpress-plugin/) detailliert vorgestellt.
|
38 |
+
|
39 |
+
Die meisten Auswahlmöglichkeiten innerhalb der Optionsseite sind konfigurierbare Antispam-Filter, die der Blog-Administrator nach Bedarf aktiviert. Zahlreiche Wahlmöglichkeiten steuern hingegen die Benachrichtigungs- und die automatische Löschfunktion des Plugins. Die *Antispam Bee* Optionen in der Kurzfassung:
|
40 |
+
|
41 |
+
* Genehmigten Kommentatoren vertrauen
|
42 |
+
* Öffentliche Spamdatenbank berücksichtigen
|
43 |
+
* IP-Adresse des Kommentators validieren
|
44 |
+
* Lokale Spamdatenbank einbeziehen
|
45 |
+
* Bestimmte Länder blockieren bzw. erlauben
|
46 |
+
* Kommentare nur in einer Sprache zulassen
|
47 |
+
* Erkannten Spam kennzeichnen, nicht löschen
|
48 |
+
* Bei Spam via E-Mail informieren
|
49 |
+
* Spamgrund im Kommentar nicht speichern
|
50 |
+
* Vorhandenen Spam nach X Tagen löschen
|
51 |
+
* Aufbewahrung der Spam-Kommentare für einen Typ
|
52 |
+
* Bei definierten Spamgründen sofort löschen
|
53 |
+
* Statistiken als Dashboard-Widget generieren
|
54 |
+
* Spam-Anzahl auf dem Dashboard anzeigen
|
55 |
+
* Eingehende Ping- und Trackbacks ignorieren
|
56 |
+
* Kommentarformular befindet sich auf Archivseiten
|
57 |
+
|
58 |
+
Installiert, probiert die bewährte Antispam-Lösung für WordPress aus. Anmeldefrei und ohne lästige Captchas.
|
59 |
+
|
60 |
+
= Unterstützung =
|
61 |
+
* Per [Flattr](https://flattr.com/donation/give/to/sergej.mueller)
|
62 |
+
* Per [PayPal](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5RDDW9FEHGLG6)
|
63 |
+
|
64 |
+
= Systemanforderungen =
|
65 |
* PHP 5.1.2
|
66 |
+
* WordPress 3.4
|
|
|
|
|
|
|
|
|
|
|
67 |
|
68 |
+
= Dokumentation =
|
69 |
+
* [Antispam Bee: Antispam für WordPress](http://playground.ebiene.de/antispam-bee-wordpress-plugin/)
|
70 |
|
71 |
+
= Autor =
|
72 |
* [Google+](https://plus.google.com/110569673423509816572 "Google+")
|
73 |
* [Plugins](http://wpcoder.de "Plugins")
|
74 |
|
75 |
+
= Inkompatibilität =
|
76 |
+
* Disqus
|
77 |
+
* Jetpack Comments
|
78 |
|
79 |
|
80 |
== Changelog ==
|
81 |
|
82 |
+
= 2.4.5 =
|
83 |
+
* Überarbeitetes Layout der Einstellungen
|
84 |
+
* Streichung von Project Honey Pot
|
85 |
+
* TornevallNET als neuer DNSBL-Dienst
|
86 |
+
* WordPress 3.4 als Mindestvoraussetzung
|
87 |
+
* WordPress 3.5 Unterstützung
|
88 |
+
* Online-Handbuch in Neufassung
|
89 |
+
|
90 |
= 2.4.4 =
|
91 |
* Technical and visual support for WordPress 3.5
|
92 |
* Modification of the file structure: from `xyz.dev.css` to `xyz.min.css`
|
204 |
|
205 |
== Screenshots ==
|
206 |
|
207 |
+
1. Antispam Bee Optionen
|
screenshot-1.png
CHANGED
Binary file
|