Version Description
Fix: Potential vulnerability bug
Tweak: Contact Form 7 compatibility
Download this release
Release Info
Developer | dfactory |
Plugin | Math Captcha |
Version | 1.2.8 |
Comparing to | |
See all releases |
Code changes from version 1.2.7 to 1.2.8
- includes/class-cookie-session.php +1 -1
- includes/class-core.php +27 -27
- includes/class-settings.php +13 -13
- includes/class-update.php +1 -1
- includes/integrations/contact-form-7.php +38 -41
- languages/math-captcha-pl_PL.mo +0 -0
- languages/math-captcha-pl_PL.po +0 -666
- readme.txt +14 -6
- wp-math-captcha.php +12 -12
includes/class-cookie-session.php
CHANGED
@@ -14,7 +14,7 @@ class Math_Captcha_Cookie_Session {
|
|
14 |
Math_Captcha()->cookie_session = $this;
|
15 |
|
16 |
// actions
|
17 |
-
add_action( 'plugins_loaded', array(
|
18 |
}
|
19 |
|
20 |
/**
|
14 |
Math_Captcha()->cookie_session = $this;
|
15 |
|
16 |
// actions
|
17 |
+
add_action( 'plugins_loaded', array( $this, 'init_session' ), 1 );
|
18 |
}
|
19 |
|
20 |
/**
|
includes/class-core.php
CHANGED
@@ -20,13 +20,13 @@ class Math_Captcha_Core {
|
|
20 |
Math_Captcha()->core = $this;
|
21 |
|
22 |
// actions
|
23 |
-
add_action( 'init', array(
|
24 |
-
add_action( 'plugins_loaded', array(
|
25 |
-
add_action( 'admin_init', array(
|
26 |
|
27 |
// filters
|
28 |
-
add_filter( 'shake_error_codes', array(
|
29 |
-
add_filter( 'mod_rewrite_rules', array(
|
30 |
}
|
31 |
|
32 |
/**
|
@@ -56,40 +56,40 @@ class Math_Captcha_Core {
|
|
56 |
// comments
|
57 |
if ( Math_Captcha()->options['general']['enable_for']['comment_form'] ) {
|
58 |
if ( ! is_user_logged_in() )
|
59 |
-
add_action( 'comment_form_after_fields', array(
|
60 |
elseif ( ! Math_Captcha()->options['general']['hide_for_logged_users'] )
|
61 |
-
add_action( 'comment_form_logged_in_after', array(
|
62 |
|
63 |
-
add_filter( 'preprocess_comment', array(
|
64 |
}
|
65 |
|
66 |
// registration
|
67 |
if ( Math_Captcha()->options['general']['enable_for']['registration_form'] && ( ! is_user_logged_in() || (is_user_logged_in() && ! Math_Captcha()->options['general']['hide_for_logged_users'])) && $action === 'register' ) {
|
68 |
-
add_action( 'register_form', array(
|
69 |
-
add_action( 'register_post', array(
|
70 |
-
add_action( 'signup_extra_fields', array(
|
71 |
-
add_filter( 'wpmu_validate_user_signup', array(
|
72 |
}
|
73 |
|
74 |
// lost password
|
75 |
if ( Math_Captcha()->options['general']['enable_for']['reset_password_form'] && ( ! is_user_logged_in() || (is_user_logged_in() && ! Math_Captcha()->options['general']['hide_for_logged_users'])) && $action === 'lostpassword' ) {
|
76 |
-
add_action( 'lostpassword_form', array(
|
77 |
-
add_action( 'lostpassword_post', array(
|
78 |
}
|
79 |
|
80 |
// login
|
81 |
if ( Math_Captcha()->options['general']['enable_for']['login_form'] && ( ! is_user_logged_in() || (is_user_logged_in() && ! Math_Captcha()->options['general']['hide_for_logged_users'])) && $action === null ) {
|
82 |
-
add_action( 'login_form', array(
|
83 |
-
add_filter( 'login_redirect', array(
|
84 |
-
add_filter( 'authenticate', array(
|
85 |
}
|
86 |
|
87 |
// bbPress
|
88 |
if ( Math_Captcha()->options['general']['enable_for']['bbpress'] && class_exists( 'bbPress' ) && ( ! is_user_logged_in() || (is_user_logged_in() && ! Math_Captcha()->options['general']['hide_for_logged_users'])) ) {
|
89 |
-
add_action( 'bbp_theme_after_reply_form_content', array(
|
90 |
-
add_action( 'bbp_theme_after_topic_form_content', array(
|
91 |
-
add_action( 'bbp_new_reply_pre_extras', array(
|
92 |
-
add_action( 'bbp_new_topic_pre_extras', array(
|
93 |
}
|
94 |
}
|
95 |
|
@@ -148,9 +148,9 @@ class Math_Captcha_Core {
|
|
148 |
if ( ! empty( $this->errors->errors ) ) {
|
149 |
// nasty hack (captcha is invalid but user_login is fine)
|
150 |
if ( $user_error === false )
|
151 |
-
add_filter( 'allow_password_reset', array(
|
152 |
else
|
153 |
-
add_filter( 'login_errors', array(
|
154 |
}
|
155 |
}
|
156 |
|
@@ -228,7 +228,7 @@ class Math_Captcha_Core {
|
|
228 |
* @param WP_Error $user
|
229 |
* @param string $username
|
230 |
* @param string $password
|
231 |
-
* @return
|
232 |
*/
|
233 |
public function authenticate_user( $user, $username, $password ) {
|
234 |
// user gave us valid login and password
|
@@ -278,8 +278,8 @@ class Math_Captcha_Core {
|
|
278 |
* @return array
|
279 |
*/
|
280 |
public function add_comment_with_captcha( $comment ) {
|
281 |
-
if ( isset( $_POST['mc-value'] ) &&
|
282 |
-
if ( $
|
283 |
if ( Math_Captcha()->cookie_session->session_ids['default'] !== '' && get_transient( 'mc_' . Math_Captcha()->cookie_session->session_ids['default'] ) !== false ) {
|
284 |
if ( strcmp( get_transient( 'mc_' . Math_Captcha()->cookie_session->session_ids['default'] ), sha1( AUTH_KEY . $_POST['mc-value'] . Math_Captcha()->cookie_session->session_ids['default'], false ) ) === 0 )
|
285 |
return $comment;
|
@@ -290,7 +290,7 @@ class Math_Captcha_Core {
|
|
290 |
} else
|
291 |
wp_die( $this->error_messages['fill'] );
|
292 |
} else
|
293 |
-
|
294 |
}
|
295 |
|
296 |
/**
|
20 |
Math_Captcha()->core = $this;
|
21 |
|
22 |
// actions
|
23 |
+
add_action( 'init', array( $this, 'load_actions_filters' ), 1 );
|
24 |
+
add_action( 'plugins_loaded', array( $this, 'load_defaults' ) );
|
25 |
+
add_action( 'admin_init', array( $this, 'flush_rewrites' ) );
|
26 |
|
27 |
// filters
|
28 |
+
add_filter( 'shake_error_codes', array( $this, 'add_shake_error_codes' ), 1 );
|
29 |
+
add_filter( 'mod_rewrite_rules', array( $this, 'block_direct_comments' ) );
|
30 |
}
|
31 |
|
32 |
/**
|
56 |
// comments
|
57 |
if ( Math_Captcha()->options['general']['enable_for']['comment_form'] ) {
|
58 |
if ( ! is_user_logged_in() )
|
59 |
+
add_action( 'comment_form_after_fields', array( $this, 'add_captcha_form' ) );
|
60 |
elseif ( ! Math_Captcha()->options['general']['hide_for_logged_users'] )
|
61 |
+
add_action( 'comment_form_logged_in_after', array( $this, 'add_captcha_form' ) );
|
62 |
|
63 |
+
add_filter( 'preprocess_comment', array( $this, 'add_comment_with_captcha' ) );
|
64 |
}
|
65 |
|
66 |
// registration
|
67 |
if ( Math_Captcha()->options['general']['enable_for']['registration_form'] && ( ! is_user_logged_in() || (is_user_logged_in() && ! Math_Captcha()->options['general']['hide_for_logged_users'])) && $action === 'register' ) {
|
68 |
+
add_action( 'register_form', array( $this, 'add_captcha_form' ) );
|
69 |
+
add_action( 'register_post', array( $this, 'add_user_with_captcha' ), 10, 3 );
|
70 |
+
add_action( 'signup_extra_fields', array( $this, 'add_captcha_form' ) );
|
71 |
+
add_filter( 'wpmu_validate_user_signup', array( $this, 'validate_user_with_captcha' ) );
|
72 |
}
|
73 |
|
74 |
// lost password
|
75 |
if ( Math_Captcha()->options['general']['enable_for']['reset_password_form'] && ( ! is_user_logged_in() || (is_user_logged_in() && ! Math_Captcha()->options['general']['hide_for_logged_users'])) && $action === 'lostpassword' ) {
|
76 |
+
add_action( 'lostpassword_form', array( $this, 'add_captcha_form' ) );
|
77 |
+
add_action( 'lostpassword_post', array( $this, 'check_lost_password_with_captcha' ) );
|
78 |
}
|
79 |
|
80 |
// login
|
81 |
if ( Math_Captcha()->options['general']['enable_for']['login_form'] && ( ! is_user_logged_in() || (is_user_logged_in() && ! Math_Captcha()->options['general']['hide_for_logged_users'])) && $action === null ) {
|
82 |
+
add_action( 'login_form', array( $this, 'add_captcha_form' ) );
|
83 |
+
add_filter( 'login_redirect', array( $this, 'redirect_login_with_captcha' ), 10, 3 );
|
84 |
+
add_filter( 'authenticate', array( $this, 'authenticate_user' ), 1000, 3 );
|
85 |
}
|
86 |
|
87 |
// bbPress
|
88 |
if ( Math_Captcha()->options['general']['enable_for']['bbpress'] && class_exists( 'bbPress' ) && ( ! is_user_logged_in() || (is_user_logged_in() && ! Math_Captcha()->options['general']['hide_for_logged_users'])) ) {
|
89 |
+
add_action( 'bbp_theme_after_reply_form_content', array( $this, 'add_bbp_captcha_form' ) );
|
90 |
+
add_action( 'bbp_theme_after_topic_form_content', array( $this, 'add_bbp_captcha_form' ) );
|
91 |
+
add_action( 'bbp_new_reply_pre_extras', array( $this, 'check_bbpress_captcha' ) );
|
92 |
+
add_action( 'bbp_new_topic_pre_extras', array( $this, 'check_bbpress_captcha' ) );
|
93 |
}
|
94 |
}
|
95 |
|
148 |
if ( ! empty( $this->errors->errors ) ) {
|
149 |
// nasty hack (captcha is invalid but user_login is fine)
|
150 |
if ( $user_error === false )
|
151 |
+
add_filter( 'allow_password_reset', array( $this, 'add_lostpassword_wp_message' ) );
|
152 |
else
|
153 |
+
add_filter( 'login_errors', array( $this, 'add_lostpassword_captcha_message' ) );
|
154 |
}
|
155 |
}
|
156 |
|
228 |
* @param WP_Error $user
|
229 |
* @param string $username
|
230 |
* @param string $password
|
231 |
+
* @return object WP_Error
|
232 |
*/
|
233 |
public function authenticate_user( $user, $username, $password ) {
|
234 |
// user gave us valid login and password
|
278 |
* @return array
|
279 |
*/
|
280 |
public function add_comment_with_captcha( $comment ) {
|
281 |
+
if ( isset( $_POST['mc-value'] ) && $_POST['mc-value'] !== '' ) {
|
282 |
+
if ( ( ! is_admin() || ( defined( 'DOING_AJAX' ) && DOING_AJAX ) ) && ( $comment['comment_type'] === '' || $comment['comment_type'] === 'comment' ) ) {
|
283 |
if ( Math_Captcha()->cookie_session->session_ids['default'] !== '' && get_transient( 'mc_' . Math_Captcha()->cookie_session->session_ids['default'] ) !== false ) {
|
284 |
if ( strcmp( get_transient( 'mc_' . Math_Captcha()->cookie_session->session_ids['default'] ), sha1( AUTH_KEY . $_POST['mc-value'] . Math_Captcha()->cookie_session->session_ids['default'], false ) ) === 0 )
|
285 |
return $comment;
|
290 |
} else
|
291 |
wp_die( $this->error_messages['fill'] );
|
292 |
} else
|
293 |
+
wp_die( $this->error_messages['fill'] );
|
294 |
}
|
295 |
|
296 |
/**
|
includes/class-settings.php
CHANGED
@@ -13,9 +13,9 @@ class Math_Captcha_Settings {
|
|
13 |
|
14 |
public function __construct() {
|
15 |
// actions
|
16 |
-
add_action( 'init', array(
|
17 |
-
add_action( 'admin_init', array(
|
18 |
-
add_action( 'admin_menu', array(
|
19 |
}
|
20 |
|
21 |
/**
|
@@ -52,7 +52,7 @@ class Math_Captcha_Settings {
|
|
52 |
*/
|
53 |
public function admin_menu_options() {
|
54 |
add_options_page(
|
55 |
-
__( 'Math Captcha', 'math-captcha' ), __( 'Math Captcha', 'math-captcha' ), 'manage_options', 'math-captcha', array(
|
56 |
);
|
57 |
}
|
58 |
|
@@ -109,16 +109,16 @@ class Math_Captcha_Settings {
|
|
109 |
*/
|
110 |
public function register_settings() {
|
111 |
// general settings
|
112 |
-
register_setting( 'math_captcha_options', 'math_captcha_options', array(
|
113 |
add_settings_section( 'math_captcha_settings', __( 'Math Captcha settings', 'math-captcha' ), '', 'math_captcha_options' );
|
114 |
-
add_settings_field( 'mc_general_enable_captcha_for', __( 'Enable Math Captcha for', 'math-captcha' ), array(
|
115 |
-
add_settings_field( 'mc_general_hide_for_logged_users', __( 'Hide for logged in users', 'math-captcha' ), array(
|
116 |
-
add_settings_field( 'mc_general_mathematical_operations', __( 'Mathematical operations', 'math-captcha' ), array(
|
117 |
-
add_settings_field( 'mc_general_groups', __( 'Display captcha as', 'math-captcha' ), array(
|
118 |
-
add_settings_field( 'mc_general_title', __( 'Captcha field title', 'math-captcha' ), array(
|
119 |
-
add_settings_field( 'mc_general_time', __( 'Captcha time', 'math-captcha' ), array(
|
120 |
-
add_settings_field( 'mc_general_block_direct_comments', __( 'Block Direct Comments', 'math-captcha' ), array(
|
121 |
-
add_settings_field( 'mc_general_deactivation_delete', __( 'Deactivation', 'math-captcha' ), array(
|
122 |
}
|
123 |
|
124 |
public function mc_general_enable_captcha_for() {
|
13 |
|
14 |
public function __construct() {
|
15 |
// actions
|
16 |
+
add_action( 'init', array( $this, 'load_defaults' ) );
|
17 |
+
add_action( 'admin_init', array( $this, 'register_settings' ) );
|
18 |
+
add_action( 'admin_menu', array( $this, 'admin_menu_options' ) );
|
19 |
}
|
20 |
|
21 |
/**
|
52 |
*/
|
53 |
public function admin_menu_options() {
|
54 |
add_options_page(
|
55 |
+
__( 'Math Captcha', 'math-captcha' ), __( 'Math Captcha', 'math-captcha' ), 'manage_options', 'math-captcha', array( $this, 'options_page' )
|
56 |
);
|
57 |
}
|
58 |
|
109 |
*/
|
110 |
public function register_settings() {
|
111 |
// general settings
|
112 |
+
register_setting( 'math_captcha_options', 'math_captcha_options', array( $this, 'validate_settings' ) );
|
113 |
add_settings_section( 'math_captcha_settings', __( 'Math Captcha settings', 'math-captcha' ), '', 'math_captcha_options' );
|
114 |
+
add_settings_field( 'mc_general_enable_captcha_for', __( 'Enable Math Captcha for', 'math-captcha' ), array( $this, 'mc_general_enable_captcha_for' ), 'math_captcha_options', 'math_captcha_settings' );
|
115 |
+
add_settings_field( 'mc_general_hide_for_logged_users', __( 'Hide for logged in users', 'math-captcha' ), array( $this, 'mc_general_hide_for_logged_users' ), 'math_captcha_options', 'math_captcha_settings' );
|
116 |
+
add_settings_field( 'mc_general_mathematical_operations', __( 'Mathematical operations', 'math-captcha' ), array( $this, 'mc_general_mathematical_operations' ), 'math_captcha_options', 'math_captcha_settings' );
|
117 |
+
add_settings_field( 'mc_general_groups', __( 'Display captcha as', 'math-captcha' ), array( $this, 'mc_general_groups' ), 'math_captcha_options', 'math_captcha_settings' );
|
118 |
+
add_settings_field( 'mc_general_title', __( 'Captcha field title', 'math-captcha' ), array( $this, 'mc_general_title' ), 'math_captcha_options', 'math_captcha_settings' );
|
119 |
+
add_settings_field( 'mc_general_time', __( 'Captcha time', 'math-captcha' ), array( $this, 'mc_general_time' ), 'math_captcha_options', 'math_captcha_settings' );
|
120 |
+
add_settings_field( 'mc_general_block_direct_comments', __( 'Block Direct Comments', 'math-captcha' ), array( $this, 'mc_general_block_direct_comments' ), 'math_captcha_options', 'math_captcha_settings' );
|
121 |
+
add_settings_field( 'mc_general_deactivation_delete', __( 'Deactivation', 'math-captcha' ), array( $this, 'mc_general_deactivation_delete' ), 'math_captcha_options', 'math_captcha_settings' );
|
122 |
}
|
123 |
|
124 |
public function mc_general_enable_captcha_for() {
|
includes/class-update.php
CHANGED
@@ -9,7 +9,7 @@ class Math_Captcha_Update {
|
|
9 |
|
10 |
public function __construct() {
|
11 |
// actions
|
12 |
-
add_action( 'init', array(
|
13 |
}
|
14 |
|
15 |
/**
|
9 |
|
10 |
public function __construct() {
|
11 |
// actions
|
12 |
+
add_action( 'init', array( $this, 'check_update' ) );
|
13 |
}
|
14 |
|
15 |
/**
|
includes/integrations/contact-form-7.php
CHANGED
@@ -11,7 +11,7 @@ function wpcf7_add_shortcode_mathcaptcha() {
|
|
11 |
}
|
12 |
|
13 |
function wpcf7_mathcaptcha_shortcode_handler( $tag ) {
|
14 |
-
if ( ! is_user_logged_in() || (is_user_logged_in() && ! Math_Captcha()->options['general']['hide_for_logged_users']) ) {
|
15 |
$tag = new WPCF7_FormTag( $tag );
|
16 |
|
17 |
if ( empty( $tag->name ) )
|
@@ -40,7 +40,7 @@ function wpcf7_mathcaptcha_shortcode_handler( $tag ) {
|
|
40 |
|
41 |
$math_captcha_title = apply_filters( 'math_captcha_title', Math_Captcha()->options['general']['title'] );
|
42 |
|
43 |
-
return sprintf( ((empty( $math_captcha_title )) ? '' : $math_captcha_title) . '<span class="wpcf7-form-control-wrap %1$s">' . $mc_form[1] . $mc_form[2] . $mc_form[3] . '%3$s</span><input type="hidden" value="' . (Math_Captcha()->core->session_number - 1) . '" name="' . $tag->name . '-sn" />', $tag->name, $atts, $validation_error );
|
44 |
}
|
45 |
}
|
46 |
|
@@ -51,40 +51,33 @@ function wpcf7_mathcaptcha_validation_filter( $result, $tag ) {
|
|
51 |
$tag = new WPCF7_FormTag( $tag );
|
52 |
$name = $tag->name;
|
53 |
|
54 |
-
if (
|
55 |
-
$
|
56 |
|
57 |
-
if (
|
58 |
-
$
|
59 |
-
|
60 |
-
|
61 |
-
$session_id = (isset( $_POST[$name . '-sn'] ) && $_POST[$name . '-sn'] !== '' ? Math_Captcha()->cookie_session->session_ids['multi'][$_POST[$name . '-sn']] : '');
|
62 |
-
|
63 |
-
if ( $session_id !== '' && get_transient( 'cf7_' . $session_id ) !== false ) {
|
64 |
-
if ( strcmp( get_transient( 'cf7_' . $session_id ), sha1( AUTH_KEY . $_POST[$name] . $session_id, false ) ) !== 0 ) {
|
65 |
-
if ( version_compare( $cf7_version, '4.1.0', '>=' ) )
|
66 |
-
$result->invalidate( $tag, wpcf7_get_message( 'wrong_mathcaptcha' ) );
|
67 |
-
else {
|
68 |
-
$result['valid'] = false;
|
69 |
-
$result['reason'][$name] = wpcf7_get_message( 'wrong_mathcaptcha' );
|
70 |
-
}
|
71 |
-
}
|
72 |
-
} else {
|
73 |
-
if ( version_compare( $cf7_version, '4.1.0', '>=' ) )
|
74 |
-
$result->invalidate( $tag, wpcf7_get_message( 'time_mathcaptcha' ) );
|
75 |
else {
|
76 |
$result['valid'] = false;
|
77 |
-
$result['reason'][$name] = wpcf7_get_message( '
|
78 |
}
|
79 |
}
|
80 |
} else {
|
81 |
-
if ( version_compare(
|
82 |
-
$result->invalidate( $tag, wpcf7_get_message( '
|
83 |
else {
|
84 |
$result['valid'] = false;
|
85 |
-
$result['reason'][$name] = wpcf7_get_message( '
|
86 |
}
|
87 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
88 |
}
|
89 |
|
90 |
return $result;
|
@@ -95,19 +88,20 @@ add_filter( 'wpcf7_messages', 'wpcf7_mathcaptcha_messages' );
|
|
95 |
|
96 |
function wpcf7_mathcaptcha_messages( $messages ) {
|
97 |
return array_merge(
|
98 |
-
$messages,
|
99 |
-
|
100 |
-
'
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
'
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
'
|
109 |
-
|
110 |
-
|
|
|
111 |
)
|
112 |
);
|
113 |
}
|
@@ -116,10 +110,13 @@ function wpcf7_mathcaptcha_messages( $messages ) {
|
|
116 |
add_action( 'wpcf7_admin_notices', 'wpcf7_mathcaptcha_display_warning_message' );
|
117 |
|
118 |
function wpcf7_mathcaptcha_display_warning_message() {
|
119 |
-
if ( empty( $_GET['post'] ) || ! ($contact_form = wpcf7_contact_form( $_GET['post'] )) )
|
120 |
return;
|
121 |
|
122 |
-
|
|
|
|
|
|
|
123 |
|
124 |
if ( ! $has_tags )
|
125 |
return;
|
11 |
}
|
12 |
|
13 |
function wpcf7_mathcaptcha_shortcode_handler( $tag ) {
|
14 |
+
if ( ! is_user_logged_in() || ( is_user_logged_in() && ! Math_Captcha()->options['general']['hide_for_logged_users'] ) ) {
|
15 |
$tag = new WPCF7_FormTag( $tag );
|
16 |
|
17 |
if ( empty( $tag->name ) )
|
40 |
|
41 |
$math_captcha_title = apply_filters( 'math_captcha_title', Math_Captcha()->options['general']['title'] );
|
42 |
|
43 |
+
return sprintf( ( ( empty( $math_captcha_title ) ) ? '' : $math_captcha_title ) . ' <span class="wpcf7-form-control-wrap %1$s">' . $mc_form[1] . $mc_form[2] . $mc_form[3] . '%3$s</span><input type="hidden" value="' . ( Math_Captcha()->core->session_number - 1 ) . '" name="' . $tag->name . '-sn" />', $tag->name, $atts, $validation_error );
|
44 |
}
|
45 |
}
|
46 |
|
51 |
$tag = new WPCF7_FormTag( $tag );
|
52 |
$name = $tag->name;
|
53 |
|
54 |
+
if ( isset( $_POST[$name] ) && $_POST[$name] !== '' && ! is_admin() ) {
|
55 |
+
$session_id = isset( $_POST[$name . '-sn'] ) && $_POST[$name . '-sn'] !== '' ? Math_Captcha()->cookie_session->session_ids['multi'][$_POST[$name . '-sn']] : '';
|
56 |
|
57 |
+
if ( $session_id !== '' && get_transient( 'cf7_' . $session_id ) !== false ) {
|
58 |
+
if ( strcmp( get_transient( 'cf7_' . $session_id ), sha1( AUTH_KEY . $_POST[$name] . $session_id, false ) ) !== 0 ) {
|
59 |
+
if ( version_compare( WPCF7_VERSION, '4.1.0', '>=' ) )
|
60 |
+
$result->invalidate( $tag, wpcf7_get_message( 'wrong_mathcaptcha' ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
61 |
else {
|
62 |
$result['valid'] = false;
|
63 |
+
$result['reason'][$name] = wpcf7_get_message( 'wrong_mathcaptcha' );
|
64 |
}
|
65 |
}
|
66 |
} else {
|
67 |
+
if ( version_compare( WPCF7_VERSION, '4.1.0', '>=' ) )
|
68 |
+
$result->invalidate( $tag, wpcf7_get_message( 'time_mathcaptcha' ) );
|
69 |
else {
|
70 |
$result['valid'] = false;
|
71 |
+
$result['reason'][$name] = wpcf7_get_message( 'time_mathcaptcha' );
|
72 |
}
|
73 |
}
|
74 |
+
} else {
|
75 |
+
if ( version_compare( WPCF7_VERSION, '4.1.0', '>=' ) )
|
76 |
+
$result->invalidate( $tag, wpcf7_get_message( 'fill_mathcaptcha' ) );
|
77 |
+
else {
|
78 |
+
$result['valid'] = false;
|
79 |
+
$result['reason'][$name] = wpcf7_get_message( 'fill_mathcaptcha' );
|
80 |
+
}
|
81 |
}
|
82 |
|
83 |
return $result;
|
88 |
|
89 |
function wpcf7_mathcaptcha_messages( $messages ) {
|
90 |
return array_merge(
|
91 |
+
$messages,
|
92 |
+
array(
|
93 |
+
'wrong_mathcaptcha' => array(
|
94 |
+
'description' => __( 'Invalid captcha value.', 'math-captcha' ),
|
95 |
+
'default' => wp_strip_all_tags( Math_Captcha()->core->error_messages['wrong'], true )
|
96 |
+
),
|
97 |
+
'fill_mathcaptcha' => array(
|
98 |
+
'description' => __( 'Please enter captcha value.', 'math-captcha' ),
|
99 |
+
'default' => wp_strip_all_tags( Math_Captcha()->core->error_messages['fill'], true )
|
100 |
+
),
|
101 |
+
'time_mathcaptcha' => array(
|
102 |
+
'description' => __( 'Captcha time expired.', 'math-captcha' ),
|
103 |
+
'default' => wp_strip_all_tags( Math_Captcha()->core->error_messages['time'], true )
|
104 |
+
)
|
105 |
)
|
106 |
);
|
107 |
}
|
110 |
add_action( 'wpcf7_admin_notices', 'wpcf7_mathcaptcha_display_warning_message' );
|
111 |
|
112 |
function wpcf7_mathcaptcha_display_warning_message() {
|
113 |
+
if ( empty( $_GET['post'] ) || ! ( $contact_form = wpcf7_contact_form( $_GET['post'] ) ) )
|
114 |
return;
|
115 |
|
116 |
+
if ( version_compare( WPCF7_VERSION, '4.6.0', '>=' ) )
|
117 |
+
$has_tags = (bool) $contact_form->scan_form_tags( array( 'type' => array( 'mathcaptcha' ) ) );
|
118 |
+
else
|
119 |
+
$has_tags = (bool) $contact_form->form_scan_shortcode( array( 'type' => array( 'mathcaptcha' ) ) );
|
120 |
|
121 |
if ( ! $has_tags )
|
122 |
return;
|
languages/math-captcha-pl_PL.mo
DELETED
Binary file
|
languages/math-captcha-pl_PL.po
DELETED
@@ -1,666 +0,0 @@
|
|
1 |
-
msgid ""
|
2 |
-
msgstr ""
|
3 |
-
"Project-Id-Version: Math Captcha\n"
|
4 |
-
"POT-Creation-Date: 2013-06-13 20:00+0100\n"
|
5 |
-
"PO-Revision-Date: 2013-06-13 20:09+0100\n"
|
6 |
-
"Last-Translator: Bartosz Arendt <info@digitalfactory.pl>\n"
|
7 |
-
"Language-Team: dFactory <info@dfactory.eu>\n"
|
8 |
-
"Language: English\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"X-Generator: Poedit 1.5.5\n"
|
13 |
-
"X-Poedit-KeywordsList: gettext;gettext_noop;__;_e\n"
|
14 |
-
"X-Poedit-Basepath: .\n"
|
15 |
-
"X-Poedit-SourceCharset: UTF-8\n"
|
16 |
-
"X-Poedit-SearchPath-0: ..\n"
|
17 |
-
|
18 |
-
#: ../math-captcha.php:70 ../math-captcha.php:71 ../math-captcha.php:72
|
19 |
-
msgid "ERROR"
|
20 |
-
msgstr "BŁĄD"
|
21 |
-
|
22 |
-
#: ../math-captcha.php:70 ../includes/math-captcha-cf7.php:104
|
23 |
-
msgid "Please enter captcha value."
|
24 |
-
msgstr "Proszę wpisać wartość."
|
25 |
-
|
26 |
-
#: ../math-captcha.php:71 ../includes/math-captcha-cf7.php:100
|
27 |
-
msgid "Invalid captcha value."
|
28 |
-
msgstr "Nieprawidłowa wartość."
|
29 |
-
|
30 |
-
#: ../math-captcha.php:72 ../includes/math-captcha-cf7.php:108
|
31 |
-
msgid "Captcha time expired."
|
32 |
-
msgstr "Upłynął czas."
|
33 |
-
|
34 |
-
#: ../math-captcha.php:503
|
35 |
-
msgid "one"
|
36 |
-
msgstr "jeden"
|
37 |
-
|
38 |
-
#: ../math-captcha.php:504
|
39 |
-
msgid "two"
|
40 |
-
msgstr "dwa"
|
41 |
-
|
42 |
-
#: ../math-captcha.php:505
|
43 |
-
msgid "three"
|
44 |
-
msgstr "trzy"
|
45 |
-
|
46 |
-
#: ../math-captcha.php:506
|
47 |
-
msgid "four"
|
48 |
-
msgstr "cztery"
|
49 |
-
|
50 |
-
#: ../math-captcha.php:507
|
51 |
-
msgid "five"
|
52 |
-
msgstr "pięć"
|
53 |
-
|
54 |
-
#: ../math-captcha.php:508
|
55 |
-
msgid "six"
|
56 |
-
msgstr "sześć"
|
57 |
-
|
58 |
-
#: ../math-captcha.php:509
|
59 |
-
msgid "seven"
|
60 |
-
msgstr "siedem"
|
61 |
-
|
62 |
-
#: ../math-captcha.php:510
|
63 |
-
msgid "eight"
|
64 |
-
msgstr "osiem"
|
65 |
-
|
66 |
-
#: ../math-captcha.php:511
|
67 |
-
msgid "nine"
|
68 |
-
msgstr "dziewięć"
|
69 |
-
|
70 |
-
#: ../math-captcha.php:512
|
71 |
-
msgid "ten"
|
72 |
-
msgstr "dziesięć"
|
73 |
-
|
74 |
-
#: ../math-captcha.php:513
|
75 |
-
msgid "eleven"
|
76 |
-
msgstr "jedenaście"
|
77 |
-
|
78 |
-
#: ../math-captcha.php:514
|
79 |
-
msgid "twelve"
|
80 |
-
msgstr "dwanaście"
|
81 |
-
|
82 |
-
#: ../math-captcha.php:515
|
83 |
-
msgid "thirteen"
|
84 |
-
msgstr "trzynaście"
|
85 |
-
|
86 |
-
#: ../math-captcha.php:516
|
87 |
-
msgid "fourteen"
|
88 |
-
msgstr "czternaście"
|
89 |
-
|
90 |
-
#: ../math-captcha.php:517
|
91 |
-
msgid "fifteen"
|
92 |
-
msgstr "piętnaście"
|
93 |
-
|
94 |
-
#: ../math-captcha.php:518
|
95 |
-
msgid "sixteen"
|
96 |
-
msgstr "szesnaście"
|
97 |
-
|
98 |
-
#: ../math-captcha.php:519
|
99 |
-
msgid "seventeen"
|
100 |
-
msgstr "siedemnaście"
|
101 |
-
|
102 |
-
#: ../math-captcha.php:520
|
103 |
-
msgid "eighteen"
|
104 |
-
msgstr "osiemnaście"
|
105 |
-
|
106 |
-
#: ../math-captcha.php:521
|
107 |
-
msgid "nineteen"
|
108 |
-
msgstr "dziewiętnaście"
|
109 |
-
|
110 |
-
#: ../math-captcha.php:522
|
111 |
-
msgid "twenty"
|
112 |
-
msgstr "dwadzieścia"
|
113 |
-
|
114 |
-
#: ../math-captcha.php:523
|
115 |
-
msgid "thirty"
|
116 |
-
msgstr "trzydzieści"
|
117 |
-
|
118 |
-
#: ../math-captcha.php:524
|
119 |
-
msgid "forty"
|
120 |
-
msgstr "czterdzieści"
|
121 |
-
|
122 |
-
#: ../math-captcha.php:525
|
123 |
-
msgid "fifty"
|
124 |
-
msgstr "pięćdziesiąt"
|
125 |
-
|
126 |
-
#: ../math-captcha.php:526
|
127 |
-
msgid "sixty"
|
128 |
-
msgstr "sześćdziesiąt"
|
129 |
-
|
130 |
-
#: ../math-captcha.php:527
|
131 |
-
msgid "seventy"
|
132 |
-
msgstr "siedemdziesiąt"
|
133 |
-
|
134 |
-
#: ../math-captcha.php:528
|
135 |
-
msgid "eighty"
|
136 |
-
msgstr "osiemdziesiąt"
|
137 |
-
|
138 |
-
#: ../math-captcha.php:529
|
139 |
-
msgid "ninety"
|
140 |
-
msgstr "dziewięćdziesiąt"
|
141 |
-
|
142 |
-
#: ../math-captcha.php:824
|
143 |
-
msgid "login form"
|
144 |
-
msgstr "formularz logowania"
|
145 |
-
|
146 |
-
#: ../math-captcha.php:825
|
147 |
-
msgid "registration form"
|
148 |
-
msgstr "formularz rejestracji"
|
149 |
-
|
150 |
-
#: ../math-captcha.php:826
|
151 |
-
msgid "reset password form"
|
152 |
-
msgstr "resetowanie hasła"
|
153 |
-
|
154 |
-
#: ../math-captcha.php:827
|
155 |
-
msgid "comment form"
|
156 |
-
msgstr "komentarze"
|
157 |
-
|
158 |
-
#: ../math-captcha.php:828
|
159 |
-
msgid "bbpress"
|
160 |
-
msgstr "bbpress"
|
161 |
-
|
162 |
-
#: ../math-captcha.php:829
|
163 |
-
msgid "contact form 7"
|
164 |
-
msgstr "contact form 7"
|
165 |
-
|
166 |
-
#: ../math-captcha.php:832
|
167 |
-
msgid "yes"
|
168 |
-
msgstr "tak"
|
169 |
-
|
170 |
-
#: ../math-captcha.php:833
|
171 |
-
msgid "no"
|
172 |
-
msgstr "nie"
|
173 |
-
|
174 |
-
#: ../math-captcha.php:836
|
175 |
-
msgid "addition (+)"
|
176 |
-
msgstr "dodawanie (+)"
|
177 |
-
|
178 |
-
#: ../math-captcha.php:837
|
179 |
-
msgid "subtraction (-)"
|
180 |
-
msgstr "odejmowanie (-)"
|
181 |
-
|
182 |
-
#: ../math-captcha.php:838
|
183 |
-
msgid "multiplication (×)"
|
184 |
-
msgstr "mnożenie (×)"
|
185 |
-
|
186 |
-
#: ../math-captcha.php:839
|
187 |
-
msgid "division (÷)"
|
188 |
-
msgstr "dzielenie (÷)"
|
189 |
-
|
190 |
-
#: ../math-captcha.php:842
|
191 |
-
msgid "numbers"
|
192 |
-
msgstr "liczby"
|
193 |
-
|
194 |
-
#: ../math-captcha.php:843
|
195 |
-
msgid "words"
|
196 |
-
msgstr "słowa"
|
197 |
-
|
198 |
-
#: ../math-captcha.php:852
|
199 |
-
msgid "Math Captcha settings"
|
200 |
-
msgstr "Ustawienia Math Captcha"
|
201 |
-
|
202 |
-
#: ../math-captcha.php:853
|
203 |
-
msgid "Enable Math Captcha for"
|
204 |
-
msgstr "Włącz captcha dla"
|
205 |
-
|
206 |
-
#: ../math-captcha.php:854
|
207 |
-
msgid "Hide for logged in users"
|
208 |
-
msgstr "Ukryj dla zalogowanych"
|
209 |
-
|
210 |
-
#: ../math-captcha.php:855
|
211 |
-
msgid "Mathematical operations"
|
212 |
-
msgstr "Operacje matematyczne"
|
213 |
-
|
214 |
-
#: ../math-captcha.php:856
|
215 |
-
msgid "Display captcha as"
|
216 |
-
msgstr "Wyśiwtlaj captcha jako"
|
217 |
-
|
218 |
-
#: ../math-captcha.php:857
|
219 |
-
msgid "Captcha field title"
|
220 |
-
msgstr "Tytuł pola captcha"
|
221 |
-
|
222 |
-
#: ../math-captcha.php:858
|
223 |
-
msgid "Captcha time"
|
224 |
-
msgstr "Czas captcha"
|
225 |
-
|
226 |
-
#: ../math-captcha.php:875
|
227 |
-
msgid "Select were would you like to use Math Captcha."
|
228 |
-
msgstr "Wybierz w których miejscach chcesz używać Math Captcha"
|
229 |
-
|
230 |
-
#: ../math-captcha.php:893
|
231 |
-
msgid "Would you like to hide captcha for logged in users?"
|
232 |
-
msgstr "Czy chcesz ukryć captcha dla zalogowanych użytkowników?"
|
233 |
-
|
234 |
-
#: ../math-captcha.php:903
|
235 |
-
msgid ""
|
236 |
-
"Select what kind of mathematical operation will be used to generate captcha."
|
237 |
-
msgstr ""
|
238 |
-
"Wybierz jakie rodzaje operacji matematycznych będą stosowane w captcha."
|
239 |
-
|
240 |
-
#: ../math-captcha.php:913
|
241 |
-
msgid "Enter the time (in seconds) a user has to enter captcha value."
|
242 |
-
msgstr "Podaj czas (w sekundach) w jakim należy uzupełnić pole captcha."
|
243 |
-
|
244 |
-
#: ../math-captcha.php:931 ../math-captcha.php:949
|
245 |
-
msgid "Opis"
|
246 |
-
msgstr ""
|
247 |
-
|
248 |
-
#: ../math-captcha.php:991
|
249 |
-
msgid ""
|
250 |
-
"You need to check at least one mathematical operation. Defaults settings of "
|
251 |
-
"this option restored."
|
252 |
-
msgstr ""
|
253 |
-
"Musisz wybrać przynajmniej jedną operację. Przywrócono domyślne ustawienie "
|
254 |
-
"tej opcji."
|
255 |
-
|
256 |
-
#: ../math-captcha.php:1007
|
257 |
-
msgid ""
|
258 |
-
"You need to check at least one group. Defaults settings of this option "
|
259 |
-
"restored."
|
260 |
-
msgstr ""
|
261 |
-
"Musisz wybrać przynajmniej jedną grupę. Przywrócono domyślne ustawienie tej "
|
262 |
-
"opcji."
|
263 |
-
|
264 |
-
#: ../math-captcha.php:1034 ../math-captcha.php:1035 ../math-captcha.php:1047
|
265 |
-
#: ../math-captcha.php:1060 ../includes/math-captcha-cf7.php:139
|
266 |
-
msgid "Math Captcha"
|
267 |
-
msgstr "Math Captcha"
|
268 |
-
|
269 |
-
#: ../math-captcha.php:1062
|
270 |
-
msgid "Need support?"
|
271 |
-
msgstr "Potrzebujesz pomocy?"
|
272 |
-
|
273 |
-
#: ../math-captcha.php:1063
|
274 |
-
msgid ""
|
275 |
-
"If you are having problems with this plugin, please talk about them in the"
|
276 |
-
msgstr "Jeśli masz jakiekolwiek problemy z tą wtyczką, powiedz o tym na"
|
277 |
-
|
278 |
-
#: ../math-captcha.php:1063
|
279 |
-
msgid "Support forum"
|
280 |
-
msgstr "Forum pomocy"
|
281 |
-
|
282 |
-
#: ../math-captcha.php:1065
|
283 |
-
msgid "Do you like this plugin?"
|
284 |
-
msgstr "Lubisz tę wtyczkę?"
|
285 |
-
|
286 |
-
#: ../math-captcha.php:1066
|
287 |
-
msgid "Rate it 5"
|
288 |
-
msgstr "Oceń ją na 5"
|
289 |
-
|
290 |
-
#: ../math-captcha.php:1066
|
291 |
-
msgid "on WordPress.org"
|
292 |
-
msgstr "na WordPress.org"
|
293 |
-
|
294 |
-
#: ../math-captcha.php:1067
|
295 |
-
msgid "Blog about it & link to the"
|
296 |
-
msgstr "Napisz o niej i dodaj link do"
|
297 |
-
|
298 |
-
#: ../math-captcha.php:1067
|
299 |
-
msgid "plugin page"
|
300 |
-
msgstr "strony wtyczki"
|
301 |
-
|
302 |
-
#: ../math-captcha.php:1068
|
303 |
-
msgid "Check out our other"
|
304 |
-
msgstr "Sprawdź nasze inne"
|
305 |
-
|
306 |
-
#: ../math-captcha.php:1068
|
307 |
-
msgid "WordPress plugins"
|
308 |
-
msgstr "wtyczki do WordPressa"
|
309 |
-
|
310 |
-
#: ../math-captcha.php:1071
|
311 |
-
msgid "Created by"
|
312 |
-
msgstr "Stworzone przez"
|
313 |
-
|
314 |
-
#: ../math-captcha.php:1132
|
315 |
-
msgid "Support"
|
316 |
-
msgstr "Forum pomocy"
|
317 |
-
|
318 |
-
#: ../math-captcha.php:1154
|
319 |
-
msgid "Settings"
|
320 |
-
msgstr "Ustawienia"
|
321 |
-
|
322 |
-
#: ../includes/math-captcha-cf7.php:151
|
323 |
-
msgid "Name"
|
324 |
-
msgstr "Nazwa"
|
325 |
-
|
326 |
-
#: ../includes/math-captcha-cf7.php:157
|
327 |
-
msgid "Input field settings"
|
328 |
-
msgstr "Ustawienia pola"
|
329 |
-
|
330 |
-
#: ../includes/math-captcha-cf7.php:160 ../includes/math-captcha-cf7.php:164
|
331 |
-
msgid "optional"
|
332 |
-
msgstr "opcjonalne"
|
333 |
-
|
334 |
-
#: ../includes/math-captcha-cf7.php:170
|
335 |
-
msgid "Copy this code and paste it into the form left."
|
336 |
-
msgstr "Skopij i wkej ten kod do formularza po lewej."
|
337 |
-
|
338 |
-
#~ msgid "form top"
|
339 |
-
#~ msgstr "na górze formularza"
|
340 |
-
|
341 |
-
#~ msgid "before form fields"
|
342 |
-
#~ msgstr "przed polami formularza"
|
343 |
-
|
344 |
-
#~ msgid "form bottom"
|
345 |
-
#~ msgstr "na dole formularza"
|
346 |
-
|
347 |
-
#~ msgid "after form"
|
348 |
-
#~ msgstr "po formularzu"
|
349 |
-
|
350 |
-
#~ msgid "WordPress default"
|
351 |
-
#~ msgstr "Domyślny WordPressa"
|
352 |
-
|
353 |
-
#~ msgid "Bootstrap"
|
354 |
-
#~ msgstr "Bootstrap"
|
355 |
-
|
356 |
-
#~ msgid "do not hide"
|
357 |
-
#~ msgstr "nie ukrywaj"
|
358 |
-
|
359 |
-
#~ msgid "1 second"
|
360 |
-
#~ msgstr "1 sekunda"
|
361 |
-
|
362 |
-
#~ msgid "2 seconds"
|
363 |
-
#~ msgstr "2 sekundy"
|
364 |
-
|
365 |
-
#~ msgid "3 seconds"
|
366 |
-
#~ msgstr "3 sekundy"
|
367 |
-
|
368 |
-
#~ msgid "5 seconds"
|
369 |
-
#~ msgstr "5 sekund"
|
370 |
-
|
371 |
-
#~ msgid "10 seconds"
|
372 |
-
#~ msgstr "10 sekund"
|
373 |
-
|
374 |
-
#~ msgid "fade"
|
375 |
-
#~ msgstr "zanikanie"
|
376 |
-
|
377 |
-
#~ msgid "slide"
|
378 |
-
#~ msgstr "zjeżdżanie"
|
379 |
-
|
380 |
-
#~ msgid "approved"
|
381 |
-
#~ msgstr "zatwierdzone"
|
382 |
-
|
383 |
-
#~ msgid "unapproved"
|
384 |
-
#~ msgstr "niezatwierdzone"
|
385 |
-
|
386 |
-
#~ msgid "trash"
|
387 |
-
#~ msgstr "w koszu"
|
388 |
-
|
389 |
-
#~ msgid "spam"
|
390 |
-
#~ msgstr "spam"
|
391 |
-
|
392 |
-
#~ msgid "Inline Edit"
|
393 |
-
#~ msgstr "Edycja"
|
394 |
-
|
395 |
-
#~ msgid "Messages"
|
396 |
-
#~ msgstr "Komunikaty"
|
397 |
-
|
398 |
-
#~ msgid "Edit"
|
399 |
-
#~ msgstr "Edytuj"
|
400 |
-
|
401 |
-
#~ msgid "Save"
|
402 |
-
#~ msgstr "Zapisz"
|
403 |
-
|
404 |
-
#~ msgid "Cancel"
|
405 |
-
#~ msgstr "Anuluj"
|
406 |
-
|
407 |
-
#~ msgid "Time remaining"
|
408 |
-
#~ msgstr "Pozostały czas"
|
409 |
-
|
410 |
-
#~ msgid "Delete"
|
411 |
-
#~ msgstr "Usuń"
|
412 |
-
|
413 |
-
#~ msgid "Unapprove"
|
414 |
-
#~ msgstr "Odrzuć"
|
415 |
-
|
416 |
-
#~ msgid "Spam"
|
417 |
-
#~ msgstr "Oznacz jako spam"
|
418 |
-
|
419 |
-
#~ msgid "Trash"
|
420 |
-
#~ msgstr "Kosz"
|
421 |
-
|
422 |
-
#~ msgid "Approve"
|
423 |
-
#~ msgstr "Zatwierdź"
|
424 |
-
|
425 |
-
#~ msgid "Restore"
|
426 |
-
#~ msgstr "Przywróć"
|
427 |
-
|
428 |
-
#~ msgid "Unspam"
|
429 |
-
#~ msgstr "Odznacz spam"
|
430 |
-
|
431 |
-
#~ msgid "Comments statuses"
|
432 |
-
#~ msgstr "Statusy komentarzy"
|
433 |
-
|
434 |
-
#~ msgid "Comment Edit Timer"
|
435 |
-
#~ msgstr "Edycja komentarza"
|
436 |
-
|
437 |
-
#~ msgid "Editing time"
|
438 |
-
#~ msgstr "Czas edycji"
|
439 |
-
|
440 |
-
#~ msgid "Delete permanently button"
|
441 |
-
#~ msgstr "Przycisk Usuń"
|
442 |
-
|
443 |
-
#~ msgid "Edit comment effect"
|
444 |
-
#~ msgstr "Efekt przy edycji komentarza"
|
445 |
-
|
446 |
-
#~ msgid "CSS style"
|
447 |
-
#~ msgstr "Styl CSS"
|
448 |
-
|
449 |
-
#~ msgid "Show on hover"
|
450 |
-
#~ msgstr "Pokaż po najechaniu"
|
451 |
-
|
452 |
-
#~ msgid "Highlight comments"
|
453 |
-
#~ msgstr "Podświetlanie komentarzy"
|
454 |
-
|
455 |
-
#~ msgid "Highlight colors"
|
456 |
-
#~ msgstr "Kolory podświetlenia"
|
457 |
-
|
458 |
-
#~ msgid "Messages Settings"
|
459 |
-
#~ msgstr "Ustawienia komunikatów"
|
460 |
-
|
461 |
-
#~ msgid "Message box position for logged in users"
|
462 |
-
#~ msgstr "Pozycja pola z komunikatami dla zalogowanych użytkowników"
|
463 |
-
|
464 |
-
#~ msgid "Message box position for logged out users"
|
465 |
-
#~ msgstr "Pozycja pola z komunikatami dla niezalogowanych użytkowników"
|
466 |
-
|
467 |
-
#~ msgid "Show message effect"
|
468 |
-
#~ msgstr "Efekt wyświetlania komunikatów"
|
469 |
-
|
470 |
-
#~ msgid "Hide message effect"
|
471 |
-
#~ msgstr "Efekt ukrywania komunikatów"
|
472 |
-
|
473 |
-
#~ msgid "Hide message after"
|
474 |
-
#~ msgstr "Ukrywanie komunikatów po"
|
475 |
-
|
476 |
-
#~ msgid ""
|
477 |
-
#~ "Comment timer allows users to edit their comments for specified time."
|
478 |
-
#~ msgstr ""
|
479 |
-
#~ "Stoper komentarza pozwala użytkownikom na edycję ich komentarzy przez "
|
480 |
-
#~ "określony czas."
|
481 |
-
|
482 |
-
#~ msgid "How much time (in minutes) a user has to edit a published comment"
|
483 |
-
#~ msgstr ""
|
484 |
-
#~ "Jak długo (w minutach) użtkownik może edytować opublikowany komentarz"
|
485 |
-
|
486 |
-
#~ msgid "Pick highlight colors for specific comment statuses"
|
487 |
-
#~ msgstr "Wybierz kolory podświetlenia określonych statusów komentarzy"
|
488 |
-
|
489 |
-
#~ msgid "Highlight comments with specific colors"
|
490 |
-
#~ msgstr "Podświetl komentarze określonym kolorem"
|
491 |
-
|
492 |
-
#~ msgid "Show inline edit actions only on hovering over a comment"
|
493 |
-
#~ msgstr "Wyświetl przyciski tylko po najechaniu myszką na komentarz"
|
494 |
-
|
495 |
-
#~ msgid ""
|
496 |
-
#~ "Select comments of which statuses will be available for moderation on the "
|
497 |
-
#~ "front-end of your site"
|
498 |
-
#~ msgstr ""
|
499 |
-
#~ "Wybierz statusy komentarzy, które będą dostępne do moderacji na stronie"
|
500 |
-
|
501 |
-
#~ msgid ""
|
502 |
-
#~ "This will add Delete to edit buttons that allows you to permanently "
|
503 |
-
#~ "delete comments"
|
504 |
-
#~ msgstr ""
|
505 |
-
#~ "Zostanie dodany przycisk Usuń do przycików edycji, który umożliwia trwałe "
|
506 |
-
#~ "usunięcie komentarzy"
|
507 |
-
|
508 |
-
#~ msgid "Select animation for showing messages"
|
509 |
-
#~ msgstr "Wybierz animację przy wyświetlaniu komunikatów"
|
510 |
-
|
511 |
-
#~ msgid "Select animation for hiding messages"
|
512 |
-
#~ msgstr "Wybierz animację przy ukrywaniu komunikatów"
|
513 |
-
|
514 |
-
#~ msgid "Select animation effect for edit comment"
|
515 |
-
#~ msgstr "Wybierz animację przy edycji komentarza"
|
516 |
-
|
517 |
-
#~ msgid "Choose your message box style"
|
518 |
-
#~ msgstr "Wybierz styl dla pola z komunikatami"
|
519 |
-
|
520 |
-
#~ msgid "Select style for Inline Edit buttons"
|
521 |
-
#~ msgstr "Wybierz styl dla przycisków edycji"
|
522 |
-
|
523 |
-
#~ msgid "Select for how long message box should be displayed"
|
524 |
-
#~ msgstr "Wybierz przez jaki czas ma być wyświetlany komunikat"
|
525 |
-
|
526 |
-
#~ msgid "Select message box position for logged in users"
|
527 |
-
#~ msgstr "Wybierz pozycję pola z komunikatami dla zalogowanych użytkowników"
|
528 |
-
|
529 |
-
#~ msgid "Select message box position for logged out users"
|
530 |
-
#~ msgstr ""
|
531 |
-
#~ "Wybierz pozycję pola z komunikatami dla niezalogowanych użytkowników"
|
532 |
-
|
533 |
-
#~ msgid "Ajaxed Comments"
|
534 |
-
#~ msgstr "Komentarze Ajax"
|
535 |
-
|
536 |
-
#~ msgid "Ajaxed Comments Settings"
|
537 |
-
#~ msgstr "Ustawienia komentarzy Ajax"
|
538 |
-
|
539 |
-
#~ msgid "Error has occurred. Please try again later or reload a page."
|
540 |
-
#~ msgstr ""
|
541 |
-
#~ "Wystąpił nieznany błąd. Proszę spróbować później lub odświeżyć stronę."
|
542 |
-
|
543 |
-
#~ msgid "Comment is empty."
|
544 |
-
#~ msgstr "Komentarz jest pusty."
|
545 |
-
|
546 |
-
#~ msgid "Are you sure you want to delete this comment?"
|
547 |
-
#~ msgstr "Jesteś pewny, że chcesz usunąć ten komentarz."
|
548 |
-
|
549 |
-
#~ msgid "Unknown error has occurred."
|
550 |
-
#~ msgstr "Wystąpił nieznany błąd."
|
551 |
-
|
552 |
-
#~ msgid "Widgets"
|
553 |
-
#~ msgstr "Widgety"
|
554 |
-
|
555 |
-
#~ msgid "Custom Post Types"
|
556 |
-
#~ msgstr "Własne typy wpisów"
|
557 |
-
|
558 |
-
#~ msgid "Custom Post Type Archives"
|
559 |
-
#~ msgstr "Archiwa własnych typów wpisów"
|
560 |
-
|
561 |
-
#~ msgid "Categories"
|
562 |
-
#~ msgstr "Kategorie"
|
563 |
-
|
564 |
-
#~ msgid "Taxonomies"
|
565 |
-
#~ msgstr "Taksonomie"
|
566 |
-
|
567 |
-
#~ msgid "Others"
|
568 |
-
#~ msgstr "Inne"
|
569 |
-
|
570 |
-
#~ msgid "Users"
|
571 |
-
#~ msgstr "Użytkownicy"
|
572 |
-
|
573 |
-
#~ msgid "Languages"
|
574 |
-
#~ msgstr "Języki"
|
575 |
-
|
576 |
-
#~ msgid "Front Page"
|
577 |
-
#~ msgstr "Strona główna"
|
578 |
-
|
579 |
-
#~ msgid "Blog Page"
|
580 |
-
#~ msgstr "Strona z wpisami"
|
581 |
-
|
582 |
-
#~ msgid "Single Posts"
|
583 |
-
#~ msgstr "Pojedyncze wpisy"
|
584 |
-
|
585 |
-
#~ msgid "Sticky Posts"
|
586 |
-
#~ msgstr "Wpisy przyklejone"
|
587 |
-
|
588 |
-
#~ msgid "Author Archive"
|
589 |
-
#~ msgstr "Archiwum autora"
|
590 |
-
|
591 |
-
#~ msgid "Date Archive"
|
592 |
-
#~ msgstr "Archiwum daty"
|
593 |
-
|
594 |
-
#~ msgid "404 Page"
|
595 |
-
#~ msgstr "Strona błędów 404"
|
596 |
-
|
597 |
-
#~ msgid "Search Page"
|
598 |
-
#~ msgstr "Strona wyszukiwania"
|
599 |
-
|
600 |
-
#~ msgid "Logged out users"
|
601 |
-
#~ msgstr "Wylogowani użytkownicy"
|
602 |
-
|
603 |
-
#~ msgid "Restrict widgets"
|
604 |
-
#~ msgstr "Ograniczenia widgetów"
|
605 |
-
|
606 |
-
#~ msgid ""
|
607 |
-
#~ "Use this settings to manage access to widgets page and to restrict "
|
608 |
-
#~ "availability of certain widgets, sidebars and widgets options to site "
|
609 |
-
#~ "administrators only."
|
610 |
-
#~ msgstr ""
|
611 |
-
#~ "Użyj tych ustawień aby określić kto może mieć dostęp do widgetów, jakie "
|
612 |
-
#~ "widgety, panele boczne i ustawienia widgetów są dostępne dla użytkowników "
|
613 |
-
#~ "a jakie tylko dla administratorów."
|
614 |
-
|
615 |
-
#~ msgid "Restrict Users"
|
616 |
-
#~ msgstr "Ograniczenia użytkowników"
|
617 |
-
|
618 |
-
#~ msgid "Select user roles restricted to manage widgets."
|
619 |
-
#~ msgstr "Wybierz role użytkowników, którzy mogą zarządzać widgetami."
|
620 |
-
|
621 |
-
#~ msgid "Restrict Sidebars"
|
622 |
-
#~ msgstr "Ograniczenia paneli bocznych"
|
623 |
-
|
624 |
-
#~ msgid "Select which sidebars will be restricted to admins only."
|
625 |
-
#~ msgstr ""
|
626 |
-
#~ "Wybierz panele boczne, które będą dostępne tylko dla administratorów."
|
627 |
-
|
628 |
-
#~ msgid "Restrict Widgets"
|
629 |
-
#~ msgstr "Ograniczenia widgetów"
|
630 |
-
|
631 |
-
#~ msgid "Select which widgets will be restricted to admins only."
|
632 |
-
#~ msgstr "Wybierz widgety, któe będą dostępne tylko dla administratorów."
|
633 |
-
|
634 |
-
#~ msgid "Restrict Widget Options"
|
635 |
-
#~ msgstr "Ograniczenia opcji widgetów"
|
636 |
-
|
637 |
-
#~ msgid "Select which widget options will be restricted to admins only."
|
638 |
-
#~ msgstr ""
|
639 |
-
#~ "Wybierz które opcje widgetów, będą dostępne tylko dla administratorów."
|
640 |
-
|
641 |
-
#~ msgid "Restrict Option Groups"
|
642 |
-
#~ msgstr "Ograniczenia grup opcji"
|
643 |
-
|
644 |
-
#~ msgid "Display widget options in groups"
|
645 |
-
#~ msgstr "Wyświetl opcje widgetów w grupach"
|
646 |
-
|
647 |
-
#~ msgid "Plugin Deactivation"
|
648 |
-
#~ msgstr "Deaktywacja wtyczki"
|
649 |
-
|
650 |
-
#~ msgid "Remove all plugin data on deactivation"
|
651 |
-
#~ msgstr "Usuń wszystkie dane wtyczki podczas deaktywacji"
|
652 |
-
|
653 |
-
#~ msgid "Single %s"
|
654 |
-
#~ msgstr "Pojedyncze %s"
|
655 |
-
|
656 |
-
#~ msgid "%s Archive"
|
657 |
-
#~ msgstr "Archiwum %s"
|
658 |
-
|
659 |
-
#~ msgid "Display / Hide Widget"
|
660 |
-
#~ msgstr "Wyświetl / Ukryj widget"
|
661 |
-
|
662 |
-
#~ msgid "Display widget on selected"
|
663 |
-
#~ msgstr "Wyświetl widget na wybranych stronach"
|
664 |
-
|
665 |
-
#~ msgid "Hide widget on selected"
|
666 |
-
#~ msgstr "Ukryj widget na wybranych stronach"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
readme.txt
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
=== Math Captcha ===
|
2 |
Contributors: dfactory
|
3 |
Donate link: http://www.dfactory.eu/
|
4 |
-
Tags: antispam, capcha, captcha,
|
5 |
Requires at least: 4.0
|
6 |
-
Tested up to: 4.7
|
7 |
-
Stable tag: 1.2.
|
8 |
License: MIT License
|
9 |
License URI: http://opensource.org/licenses/MIT
|
10 |
|
@@ -44,7 +44,14 @@ A. Chances are, someone else has asked it. Check out the support forum at: http:
|
|
44 |
|
45 |
1. screenshot-1.png
|
46 |
|
47 |
-
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
48 |
|
49 |
= 1.2.7 =
|
50 |
* Fix: Contact form 7 compatibility fix
|
@@ -125,5 +132,6 @@ A. Chances are, someone else has asked it. Check out the support forum at: http:
|
|
125 |
|
126 |
== Upgrade Notice ==
|
127 |
|
128 |
-
= 1.2.
|
129 |
-
* Fix:
|
|
1 |
=== Math Captcha ===
|
2 |
Contributors: dfactory
|
3 |
Donate link: http://www.dfactory.eu/
|
4 |
+
Tags: antispam, capcha, captcha, spam, security, cf7, contact form 7
|
5 |
Requires at least: 4.0
|
6 |
+
Tested up to: 4.9.7
|
7 |
+
Stable tag: 1.2.8
|
8 |
License: MIT License
|
9 |
License URI: http://opensource.org/licenses/MIT
|
10 |
|
44 |
|
45 |
1. screenshot-1.png
|
46 |
|
47 |
+
== Changelog ==
|
48 |
+
|
49 |
+
|
50 |
+
|
51 |
+
= 1.2.8 =
|
52 |
+
* Fix: Potential vulnerability bug
|
53 |
+
|
54 |
+
* Tweak: Contact Form 7 compatibility
|
55 |
|
56 |
= 1.2.7 =
|
57 |
* Fix: Contact form 7 compatibility fix
|
132 |
|
133 |
== Upgrade Notice ==
|
134 |
|
135 |
+
= 1.2.8 =
|
136 |
+
* Fix: Potential vulnerability bug
|
137 |
+
* Tweak: Contact Form 7 compatibility
|
wp-math-captcha.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*
|
3 |
Plugin Name: Math Captcha
|
4 |
Description: Math Captcha is a <strong>100% effective CAPTCHA for WordPress</strong> that integrates into login, registration, comments, Contact Form 7 and bbPress.
|
5 |
-
Version: 1.2.
|
6 |
Author: dFactory
|
7 |
Author URI: http://www.dfactory.eu/
|
8 |
Plugin URI: http://www.dfactory.eu/plugins/math-captcha/
|
@@ -12,7 +12,7 @@ Text Domain: math-captcha
|
|
12 |
Domain Path: /languages
|
13 |
|
14 |
Math Captcha
|
15 |
-
Copyright (C) 2013-
|
16 |
|
17 |
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
18 |
|
@@ -38,7 +38,7 @@ include_once(MATH_CAPTCHA_PATH . 'includes/class-settings.php');
|
|
38 |
* Math Captcha class.
|
39 |
*
|
40 |
* @class Math_Captcha
|
41 |
-
* @version 1.2.
|
42 |
*/
|
43 |
class Math_Captcha {
|
44 |
|
@@ -73,7 +73,7 @@ class Math_Captcha {
|
|
73 |
'deactivation_delete' => false,
|
74 |
'flush_rules' => false
|
75 |
),
|
76 |
-
'version' => '1.2.
|
77 |
);
|
78 |
|
79 |
public static function instance() {
|
@@ -90,8 +90,8 @@ class Math_Captcha {
|
|
90 |
* Class constructor.
|
91 |
*/
|
92 |
public function __construct() {
|
93 |
-
register_activation_hook( __FILE__, array(
|
94 |
-
register_deactivation_hook( __FILE__, array(
|
95 |
|
96 |
// settings
|
97 |
$this->options = array(
|
@@ -99,14 +99,14 @@ class Math_Captcha {
|
|
99 |
);
|
100 |
|
101 |
// actions
|
102 |
-
add_action( 'plugins_loaded', array(
|
103 |
-
add_action( 'admin_enqueue_scripts', array(
|
104 |
-
add_action( 'wp_enqueue_scripts', array(
|
105 |
-
add_action( 'login_enqueue_scripts', array(
|
106 |
|
107 |
// filters
|
108 |
-
add_filter( 'plugin_action_links', array(
|
109 |
-
add_filter( 'plugin_row_meta', array(
|
110 |
}
|
111 |
|
112 |
/**
|
2 |
/*
|
3 |
Plugin Name: Math Captcha
|
4 |
Description: Math Captcha is a <strong>100% effective CAPTCHA for WordPress</strong> that integrates into login, registration, comments, Contact Form 7 and bbPress.
|
5 |
+
Version: 1.2.8
|
6 |
Author: dFactory
|
7 |
Author URI: http://www.dfactory.eu/
|
8 |
Plugin URI: http://www.dfactory.eu/plugins/math-captcha/
|
12 |
Domain Path: /languages
|
13 |
|
14 |
Math Captcha
|
15 |
+
Copyright (C) 2013-2018, Digital Factory - info@digitalfactory.pl
|
16 |
|
17 |
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
18 |
|
38 |
* Math Captcha class.
|
39 |
*
|
40 |
* @class Math_Captcha
|
41 |
+
* @version 1.2.8
|
42 |
*/
|
43 |
class Math_Captcha {
|
44 |
|
73 |
'deactivation_delete' => false,
|
74 |
'flush_rules' => false
|
75 |
),
|
76 |
+
'version' => '1.2.8'
|
77 |
);
|
78 |
|
79 |
public static function instance() {
|
90 |
* Class constructor.
|
91 |
*/
|
92 |
public function __construct() {
|
93 |
+
register_activation_hook( __FILE__, array( $this, 'activation' ) );
|
94 |
+
register_deactivation_hook( __FILE__, array( $this, 'deactivation' ) );
|
95 |
|
96 |
// settings
|
97 |
$this->options = array(
|
99 |
);
|
100 |
|
101 |
// actions
|
102 |
+
add_action( 'plugins_loaded', array( $this, 'load_textdomain' ) );
|
103 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'admin_comments_scripts_styles' ) );
|
104 |
+
add_action( 'wp_enqueue_scripts', array( $this, 'frontend_comments_scripts_styles' ) );
|
105 |
+
add_action( 'login_enqueue_scripts', array( $this, 'frontend_comments_scripts_styles' ) );
|
106 |
|
107 |
// filters
|
108 |
+
add_filter( 'plugin_action_links', array( $this, 'plugin_settings_link' ), 10, 2 );
|
109 |
+
add_filter( 'plugin_row_meta', array( $this, 'plugin_extend_links' ), 10, 2 );
|
110 |
}
|
111 |
|
112 |
/**
|