Advanced noCaptcha & invisible Captcha - Version 5.1

Version Description

  • Now support reCaptcha v3 also
  • Fix: invisible captcha sometimes was not working
  • anr_verify_captcha filter added
Download this release

Release Info

Developer shamim51
Plugin Icon 128x128 Advanced noCaptcha & invisible Captcha
Version 5.1
Comparing to
See all releases

Code changes from version 4.4 to 5.1

admin/settings.php CHANGED
@@ -13,7 +13,9 @@ class ANR_Settings {
13
 
14
  function actions_filters() {
15
  add_action( 'admin_init', array( $this, 'admin_init' ) );
 
16
  add_filter( 'plugin_action_links_' . plugin_basename( ANR_PLUGIN_FILE ), array( $this, 'add_settings_link' ) );
 
17
 
18
  if ( is_multisite() ) {
19
  $same_settings = apply_filters( 'anr_same_settings_for_all_sites', false );
@@ -27,6 +29,10 @@ class ANR_Settings {
27
  }
28
 
29
  }
 
 
 
 
30
 
31
  function admin_init() {
32
  register_setting( 'anr_admin_options', 'anr_admin_options', array( $this, 'options_sanitize' ) );
@@ -55,7 +61,7 @@ class ANR_Settings {
55
  'google_keys' => array(
56
  'section_title' => __( 'Google Keys', 'advanced-nocaptcha-recaptcha' ),
57
  'section_callback' => function() {
58
- printf( __( 'Get reCaptcha v2 keys from <a href="%s">Google</a>. If you select Invisible captcha, make sure to get keys for Invisible captcha.', 'advanced-nocaptcha-recaptcha' ), 'https://www.google.com/recaptcha/admin' );
59
  },
60
  ),
61
  'forms' => array(
@@ -70,6 +76,19 @@ class ANR_Settings {
70
 
71
  function get_fields() {
72
  $fields = array(
 
 
 
 
 
 
 
 
 
 
 
 
 
73
  'site_key' => array(
74
  'label' => __( 'Site Key', 'advanced-nocaptcha-recaptcha' ),
75
  'section_id' => 'google_keys',
@@ -161,7 +180,7 @@ class ANR_Settings {
161
  'label' => __( 'Theme', 'advanced-nocaptcha-recaptcha' ),
162
  'section_id' => 'other',
163
  'type' => 'select',
164
- 'class' => 'regular',
165
  'std' => 'light',
166
  'options' => array(
167
  'light' => __( 'Light', 'advanced-nocaptcha-recaptcha' ),
@@ -172,20 +191,18 @@ class ANR_Settings {
172
  'label' => __( 'Size', 'advanced-nocaptcha-recaptcha' ),
173
  'section_id' => 'other',
174
  'type' => 'select',
175
- 'class' => 'regular',
176
  'std' => 'normal',
177
  'options' => array(
178
  'normal' => __( 'Normal', 'advanced-nocaptcha-recaptcha' ),
179
  'compact' => __( 'Compact', 'advanced-nocaptcha-recaptcha' ),
180
- 'invisible' => __( 'Invisible', 'advanced-nocaptcha-recaptcha' ),
181
  ),
182
- 'desc' => __( 'For invisible captcha set this as Invisible. Make sure to use site key and secret key for invisible captcha', 'advanced-nocaptcha-recaptcha' ),
183
  ),
184
  'badge' => array(
185
  'label' => __( 'Badge', 'advanced-nocaptcha-recaptcha' ),
186
  'section_id' => 'other',
187
  'type' => 'select',
188
- 'class' => 'regular',
189
  'std' => 'bottomright',
190
  'options' => array(
191
  'bottomright' => __( 'Bottom Right', 'advanced-nocaptcha-recaptcha' ),
@@ -203,6 +220,39 @@ class ANR_Settings {
203
  'sanitize_callback' => 'absint',
204
  'desc' => __( 'Show login Captcha after how many failed attempts? 0 = show always', 'advanced-nocaptcha-recaptcha' ),
205
  ),
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
206
  'loggedin_hide' => array(
207
  'label' => __( 'Logged in Hide', 'advanced-nocaptcha-recaptcha' ),
208
  'section_id' => 'other',
@@ -214,7 +264,7 @@ class ANR_Settings {
214
  'label' => __( 'Remove CSS', 'advanced-nocaptcha-recaptcha' ),
215
  'section_id' => 'other',
216
  'type' => 'checkbox',
217
- 'class' => 'checkbox',
218
  'cb_label' => __( "Remove this plugin's css from login page?", 'advanced-nocaptcha-recaptcha' ),
219
  'desc' => __( 'This css increase login page width to adjust with Captcha width.', 'advanced-nocaptcha-recaptcha' ),
220
  ),
@@ -222,7 +272,7 @@ class ANR_Settings {
222
  'label' => __( 'No JS Captcha', 'advanced-nocaptcha-recaptcha' ),
223
  'section_id' => 'other',
224
  'type' => 'checkbox',
225
- 'class' => 'checkbox',
226
  'cb_label' => __( 'Show captcha if javascript disabled?', 'advanced-nocaptcha-recaptcha' ),
227
  'desc' => __( 'If JavaScript is a requirement for your site, we advise that you do NOT check this.', 'advanced-nocaptcha-recaptcha' ),
228
  ),
@@ -268,7 +318,7 @@ class ANR_Settings {
268
  case 'hidden':
269
  case 'submit':
270
  printf(
271
- '<input type="%1$s" id="anr_admin_options[%2$s]" class="%3$s" name="anr_admin_options[%4$s]" placeholder="%5$s" value="%6$s"%7$s />',
272
  esc_attr( $field['type'] ),
273
  esc_attr( $field['id'] ),
274
  esc_attr( $field['class'] ),
@@ -279,7 +329,7 @@ class ANR_Settings {
279
  );
280
  break;
281
  case 'textarea':
282
- printf( '<textarea id="%1$s" class="%2$s" name="anr_admin_options[%3$s]" placeholder="%4$s" %5$s >%6$s</textarea>',
283
  esc_attr( $field['id'] ),
284
  esc_attr( $field['class'] ),
285
  esc_attr( $field['id'] ),
@@ -291,7 +341,7 @@ class ANR_Settings {
291
  case 'checkbox':
292
  printf( '<input type="hidden" name="anr_admin_options[%s]" value="" />', esc_attr( $field['id'] ) );
293
  printf(
294
- '<label><input type="%1$s" id="anr_admin_options[%2$s]" class="%3$s" name="anr_admin_options[%4$s]" value="%5$s"%6$s /> %7$s</label>',
295
  'checkbox',
296
  esc_attr( $field['id'] ),
297
  esc_attr( $field['class'] ),
@@ -305,7 +355,7 @@ class ANR_Settings {
305
  printf( '<input type="hidden" name="anr_admin_options[%s][]" value="" />', esc_attr( $field['id'] ) );
306
  foreach ( $field['options'] as $key => $label ) {
307
  printf(
308
- '<label><input type="%1$s" id="anr_admin_options[%2$s][%5$s]" class="%3$s" name="anr_admin_options[%4$s][]" value="%5$s"%6$s /> %7$s</label><br>',
309
  'checkbox',
310
  esc_attr( $field['id'] ),
311
  esc_attr( $field['class'] ),
@@ -318,7 +368,7 @@ class ANR_Settings {
318
  break;
319
  case 'select':
320
  printf(
321
- '<select id="anr_admin_options[%1$s]" class="%2$s" name="anr_admin_options[%1$s]">',
322
  esc_attr( $field['id'] ),
323
  esc_attr( $field['class'] ),
324
  esc_attr( $field['id'] )
@@ -365,9 +415,9 @@ class ANR_Settings {
365
  add_submenu_page( 'anr-non-exist-menu', 'Advanced noCaptcha reCaptcha - ' . __( 'Instruction', 'advanced-nocaptcha-recaptcha' ), __( 'Instruction', 'advanced-nocaptcha-recaptcha' ), 'manage_options', 'anr-instruction', array( $this, 'instruction_page' ) );
366
 
367
  }
368
-
369
- function admin_settings() {
370
- if ( isset( $_POST['anr_admin_options'] ) && isset( $_POST['action'] ) && 'update' === $_POST['action'] ) {
371
  check_admin_referer( 'anr_admin_options-options' );
372
 
373
  $value = wp_unslash( $_POST['anr_admin_options'] );
@@ -375,10 +425,14 @@ class ANR_Settings {
375
  $value = [];
376
  }
377
  anr_update_option( $value );
378
-
379
  wp_safe_redirect( admin_url( 'options-general.php?page=anr-admin-settings&updated=true' ) );
380
  exit;
381
  }
 
 
 
 
382
  ?>
383
  <div class="wrap">
384
  <div id="poststuff">
13
 
14
  function actions_filters() {
15
  add_action( 'admin_init', array( $this, 'admin_init' ) );
16
+ add_action( 'admin_init', array( $this, 'settings_save' ), 99 );
17
  add_filter( 'plugin_action_links_' . plugin_basename( ANR_PLUGIN_FILE ), array( $this, 'add_settings_link' ) );
18
+ add_action('admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
19
 
20
  if ( is_multisite() ) {
21
  $same_settings = apply_filters( 'anr_same_settings_for_all_sites', false );
29
  }
30
 
31
  }
32
+
33
+ function admin_enqueue_scripts() {
34
+ wp_register_script( 'anr-admin', ANR_PLUGIN_URL . 'assets/js/admin.js', array( 'jquery' ), ANR_PLUGIN_VERSION, true );
35
+ }
36
 
37
  function admin_init() {
38
  register_setting( 'anr_admin_options', 'anr_admin_options', array( $this, 'options_sanitize' ) );
61
  'google_keys' => array(
62
  'section_title' => __( 'Google Keys', 'advanced-nocaptcha-recaptcha' ),
63
  'section_callback' => function() {
64
+ printf( __( 'Get reCaptcha keys from <a href="%s">Google</a>. Make sure to get keys for your selected captcha version.', 'advanced-nocaptcha-recaptcha' ), 'https://www.google.com/recaptcha/admin' );
65
  },
66
  ),
67
  'forms' => array(
76
 
77
  function get_fields() {
78
  $fields = array(
79
+ 'captcha_version' => array(
80
+ 'label' => __( 'Version', 'advanced-nocaptcha-recaptcha' ),
81
+ 'section_id' => 'google_keys',
82
+ 'type' => 'select',
83
+ 'class' => 'regular',
84
+ 'std' => 'v2_checkbox',
85
+ 'options' => array(
86
+ 'v2_checkbox' => __( 'V2 "I\'m not a robot"', 'advanced-nocaptcha-recaptcha' ),
87
+ 'v2_invisible' => __( 'V2 Invisible', 'advanced-nocaptcha-recaptcha' ),
88
+ 'v3' => __( 'V3', 'advanced-nocaptcha-recaptcha' ),
89
+ ),
90
+ 'desc' => __( 'Select your reCaptcha version. Make sure to use site key and secret key for your selected version.', 'advanced-nocaptcha-recaptcha' ),
91
+ ),
92
  'site_key' => array(
93
  'label' => __( 'Site Key', 'advanced-nocaptcha-recaptcha' ),
94
  'section_id' => 'google_keys',
180
  'label' => __( 'Theme', 'advanced-nocaptcha-recaptcha' ),
181
  'section_id' => 'other',
182
  'type' => 'select',
183
+ 'class' => 'regular hidden anr-show-field-for-v2_checkbox anr-show-field-for-v2_invisible',
184
  'std' => 'light',
185
  'options' => array(
186
  'light' => __( 'Light', 'advanced-nocaptcha-recaptcha' ),
191
  'label' => __( 'Size', 'advanced-nocaptcha-recaptcha' ),
192
  'section_id' => 'other',
193
  'type' => 'select',
194
+ 'class' => 'regular hidden anr-show-field-for-v2_checkbox',
195
  'std' => 'normal',
196
  'options' => array(
197
  'normal' => __( 'Normal', 'advanced-nocaptcha-recaptcha' ),
198
  'compact' => __( 'Compact', 'advanced-nocaptcha-recaptcha' ),
 
199
  ),
 
200
  ),
201
  'badge' => array(
202
  'label' => __( 'Badge', 'advanced-nocaptcha-recaptcha' ),
203
  'section_id' => 'other',
204
  'type' => 'select',
205
+ 'class' => 'regular hidden anr-show-field-for-v2_invisible',
206
  'std' => 'bottomright',
207
  'options' => array(
208
  'bottomright' => __( 'Bottom Right', 'advanced-nocaptcha-recaptcha' ),
220
  'sanitize_callback' => 'absint',
221
  'desc' => __( 'Show login Captcha after how many failed attempts? 0 = show always', 'advanced-nocaptcha-recaptcha' ),
222
  ),
223
+ 'v3_script_load' => array(
224
+ 'label' => __( 'v3 Script Load', 'advanced-nocaptcha-recaptcha' ),
225
+ 'section_id' => 'other',
226
+ 'type' => 'select',
227
+ 'class' => 'regular hidden anr-show-field-for-v3',
228
+ 'std' => 'all_pages',
229
+ 'options' => array(
230
+ 'all_pages' => __( 'All Pages', 'advanced-nocaptcha-recaptcha' ),
231
+ 'form_pages' => __( 'Form Pages', 'advanced-nocaptcha-recaptcha' ),
232
+ ),
233
+ 'desc' => __( 'Loading in All Pages help google for analytics', 'advanced-nocaptcha-recaptcha' ),
234
+ ),
235
+ 'score' => array(
236
+ 'label' => __( 'Captcha Score', 'advanced-nocaptcha-recaptcha' ),
237
+ 'section_id' => 'other',
238
+ 'type' => 'select',
239
+ 'class' => 'regular hidden anr-show-field-for-v3',
240
+ 'std' => '0.5',
241
+ 'options' => array(
242
+ '0.0' => __( '0.0', 'advanced-nocaptcha-recaptcha' ),
243
+ '0.1' => __( '0.1', 'advanced-nocaptcha-recaptcha' ),
244
+ '0.2' => __( '0.2', 'advanced-nocaptcha-recaptcha' ),
245
+ '0.3' => __( '0.3', 'advanced-nocaptcha-recaptcha' ),
246
+ '0.4' => __( '0.4', 'advanced-nocaptcha-recaptcha' ),
247
+ '0.5' => __( '0.5', 'advanced-nocaptcha-recaptcha' ),
248
+ '0.6' => __( '0.6', 'advanced-nocaptcha-recaptcha' ),
249
+ '0.7' => __( '0.7', 'advanced-nocaptcha-recaptcha' ),
250
+ '0.8' => __( '0.8', 'advanced-nocaptcha-recaptcha' ),
251
+ '0.9' => __( '0.9', 'advanced-nocaptcha-recaptcha' ),
252
+ '1.0' => __( '1.0', 'advanced-nocaptcha-recaptcha' ),
253
+ ),
254
+ 'desc' => __( 'Higher means more sensitive', 'advanced-nocaptcha-recaptcha' ),
255
+ ),
256
  'loggedin_hide' => array(
257
  'label' => __( 'Logged in Hide', 'advanced-nocaptcha-recaptcha' ),
258
  'section_id' => 'other',
264
  'label' => __( 'Remove CSS', 'advanced-nocaptcha-recaptcha' ),
265
  'section_id' => 'other',
266
  'type' => 'checkbox',
267
+ 'class' => 'checkbox hidden anr-show-field-for-v2_checkbox',
268
  'cb_label' => __( "Remove this plugin's css from login page?", 'advanced-nocaptcha-recaptcha' ),
269
  'desc' => __( 'This css increase login page width to adjust with Captcha width.', 'advanced-nocaptcha-recaptcha' ),
270
  ),
272
  'label' => __( 'No JS Captcha', 'advanced-nocaptcha-recaptcha' ),
273
  'section_id' => 'other',
274
  'type' => 'checkbox',
275
+ 'class' => 'checkbox hidden anr-show-field-for-v2_checkbox',
276
  'cb_label' => __( 'Show captcha if javascript disabled?', 'advanced-nocaptcha-recaptcha' ),
277
  'desc' => __( 'If JavaScript is a requirement for your site, we advise that you do NOT check this.', 'advanced-nocaptcha-recaptcha' ),
278
  ),
318
  case 'hidden':
319
  case 'submit':
320
  printf(
321
+ '<input type="%1$s" id="anr_admin_options_%2$s" class="%3$s" name="anr_admin_options[%4$s]" placeholder="%5$s" value="%6$s"%7$s />',
322
  esc_attr( $field['type'] ),
323
  esc_attr( $field['id'] ),
324
  esc_attr( $field['class'] ),
329
  );
330
  break;
331
  case 'textarea':
332
+ printf( '<textarea id="anr_admin_options_%1$s" class="%2$s" name="anr_admin_options[%3$s]" placeholder="%4$s" %5$s >%6$s</textarea>',
333
  esc_attr( $field['id'] ),
334
  esc_attr( $field['class'] ),
335
  esc_attr( $field['id'] ),
341
  case 'checkbox':
342
  printf( '<input type="hidden" name="anr_admin_options[%s]" value="" />', esc_attr( $field['id'] ) );
343
  printf(
344
+ '<label><input type="%1$s" id="anr_admin_options_%2$s" class="%3$s" name="anr_admin_options[%4$s]" value="%5$s"%6$s /> %7$s</label>',
345
  'checkbox',
346
  esc_attr( $field['id'] ),
347
  esc_attr( $field['class'] ),
355
  printf( '<input type="hidden" name="anr_admin_options[%s][]" value="" />', esc_attr( $field['id'] ) );
356
  foreach ( $field['options'] as $key => $label ) {
357
  printf(
358
+ '<label><input type="%1$s" id="anr_admin_options_%2$s_%5$s" class="%3$s" name="anr_admin_options[%4$s][]" value="%5$s"%6$s /> %7$s</label><br>',
359
  'checkbox',
360
  esc_attr( $field['id'] ),
361
  esc_attr( $field['class'] ),
368
  break;
369
  case 'select':
370
  printf(
371
+ '<select id="anr_admin_options_%1$s" class="%2$s" name="anr_admin_options[%1$s]">',
372
  esc_attr( $field['id'] ),
373
  esc_attr( $field['class'] ),
374
  esc_attr( $field['id'] )
415
  add_submenu_page( 'anr-non-exist-menu', 'Advanced noCaptcha reCaptcha - ' . __( 'Instruction', 'advanced-nocaptcha-recaptcha' ), __( 'Instruction', 'advanced-nocaptcha-recaptcha' ), 'manage_options', 'anr-instruction', array( $this, 'instruction_page' ) );
416
 
417
  }
418
+
419
+ function settings_save() {
420
+ if ( current_user_can( 'manage_options' ) && isset( $_POST['anr_admin_options'] ) && isset( $_POST['action'] ) && 'update' === $_POST['action'] && isset( $_GET['page'] ) && 'anr-admin-settings' === $_GET['page'] ) {
421
  check_admin_referer( 'anr_admin_options-options' );
422
 
423
  $value = wp_unslash( $_POST['anr_admin_options'] );
425
  $value = [];
426
  }
427
  anr_update_option( $value );
428
+
429
  wp_safe_redirect( admin_url( 'options-general.php?page=anr-admin-settings&updated=true' ) );
430
  exit;
431
  }
432
+ }
433
+
434
+ function admin_settings() {
435
+ wp_enqueue_script( 'anr-admin' );
436
  ?>
437
  <div class="wrap">
438
  <div id="poststuff">
advanced-nocaptcha-recaptcha.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: Advanced noCaptcha & invisible Captcha
4
  Plugin URI: https://www.shamimsplugins.com/contact-us/
5
  Description: Show noCaptcha or invisible captcha in Comment Form, bbPress, BuddyPress, WooCommerce, CF7, Login, Register, Lost Password, Reset Password. Also can implement in any other form easily.
6
- Version: 4.4
7
  Author: Shamim Hasan
8
  Author URI: https://www.shamimsplugins.com/contact-us/
9
  Text Domain: advanced-nocaptcha-recaptcha
@@ -40,7 +40,7 @@ class ANR {
40
  }
41
 
42
  private function constants() {
43
- define( 'ANR_PLUGIN_VERSION', '4.4' );
44
  define( 'ANR_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
45
  define( 'ANR_PLUGIN_URL', plugins_url( '/', __FILE__ ) );
46
  define( 'ANR_PLUGIN_FILE', __FILE__ );
3
  Plugin Name: Advanced noCaptcha & invisible Captcha
4
  Plugin URI: https://www.shamimsplugins.com/contact-us/
5
  Description: Show noCaptcha or invisible captcha in Comment Form, bbPress, BuddyPress, WooCommerce, CF7, Login, Register, Lost Password, Reset Password. Also can implement in any other form easily.
6
+ Version: 5.1
7
  Author: Shamim Hasan
8
  Author URI: https://www.shamimsplugins.com/contact-us/
9
  Text Domain: advanced-nocaptcha-recaptcha
40
  }
41
 
42
  private function constants() {
43
+ define( 'ANR_PLUGIN_VERSION', '5.1' );
44
  define( 'ANR_PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
45
  define( 'ANR_PLUGIN_URL', plugins_url( '/', __FILE__ ) );
46
  define( 'ANR_PLUGIN_FILE', __FILE__ );
anr-captcha-class.php CHANGED
@@ -113,10 +113,15 @@ if ( ! class_exists( 'anr_captcha_class' ) ) {
113
  $no_js = anr_get_option( 'no_js' );
114
  $site_key = trim( anr_get_option( 'site_key' ) );
115
  $number = $this->total_captcha();
 
116
 
117
- $field = '<div class="anr_captcha_field"><div id="anr_captcha_field_' . $number . '"></div></div>';
 
 
 
 
118
 
119
- if ( 1 == $no_js ) {
120
  $field .= '<noscript>
121
  <div>
122
  <div style="width: 302px; height: 422px; position: relative;">
@@ -143,10 +148,12 @@ if ( ! class_exists( 'anr_captcha_class' ) ) {
143
  }
144
 
145
  function footer_script() {
146
- $number = $this->total_captcha();
147
  static $included = false;
 
 
 
148
 
149
- if ( ! $number ) {
150
  return;
151
  }
152
 
@@ -156,67 +163,164 @@ if ( ! class_exists( 'anr_captcha_class' ) ) {
156
 
157
  $included = true;
158
 
159
- $site_key = trim( anr_get_option( 'site_key' ) );
160
- $theme = anr_get_option( 'theme', 'light' );
161
- $size = anr_get_option( 'size', 'normal' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
162
  $language = trim( anr_get_option( 'language' ) );
163
 
164
- $lang = '';
165
  if ( $language ) {
166
- $lang = "&hl=$language";
167
  }
168
-
169
  ?>
170
- <script type="text/javascript">
171
- var anr_onloadCallback = function() {
172
- var anr_obj = {
173
- 'sitekey' : '<?php echo esc_js( $site_key ); ?>',
174
- 'size' : '<?php echo esc_js( $size ); ?>',
175
- };
176
  <?php
177
- if ( 'invisible' == $size ) {
178
- wp_enqueue_script( 'jquery' );
179
- ?>
180
- anr_obj.badge = '<?php echo esc_js( anr_get_option( 'badge', 'bottomright' ) ); ?>';
181
- <?php } else { ?>
182
- anr_obj.theme = '<?php echo esc_js( $theme ); ?>';
183
- <?php } ?>
184
-
185
- <?php for ( $num = 1; $num <= $number; $num++ ) { ?>
186
- var anr_captcha_<?php echo $num; ?>;
187
-
188
- <?php if ( 'invisible' == $size ) { ?>
189
- var anr_form<?php echo $num; ?> = jQuery('#anr_captcha_field_<?php echo $num; ?>').closest('form')[0];
190
- anr_obj.callback = function(){ anr_form<?php echo $num; ?>.submit(); };
191
- anr_obj["expired-callback"] = function(){ grecaptcha.reset(anr_captcha_<?php echo $num; ?>); };
192
-
193
- anr_form<?php echo $num; ?>.onsubmit = function(evt){
194
- evt.preventDefault();
195
- //grecaptcha.reset(anr_captcha_<?php echo $num; ?>);
196
- grecaptcha.execute(anr_captcha_<?php echo $num; ?>);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
197
  };
198
- <?php } ?>
199
-
200
- anr_captcha_<?php echo $num; ?> = grecaptcha.render('anr_captcha_field_<?php echo $num; ?>', anr_obj );
201
- if ( typeof wc_checkout_params !== 'undefined' ) {
202
- jQuery( document.body ).on( 'checkout_error', function(){
203
- grecaptcha.reset(anr_captcha_<?php echo $num; ?>);
204
- });
205
- }
206
- if ( typeof wpcf7 !== 'undefined' ) {
207
- document.addEventListener( 'wpcf7submit', function() {
208
- grecaptcha.reset(anr_captcha_<?php echo $num; ?>);
209
- }, false );
210
- }
211
- <?php } ?>
212
- };
213
- </script>
214
- <script src="https://www.google.com/recaptcha/api.js?onload=anr_onloadCallback&render=explicit<?php echo esc_js( $lang ); ?>"
215
- async defer>
216
- </script>
217
 
 
 
 
 
 
 
 
 
 
218
  <?php
 
 
 
 
 
 
 
 
219
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
220
  }
221
 
222
 
113
  $no_js = anr_get_option( 'no_js' );
114
  $site_key = trim( anr_get_option( 'site_key' ) );
115
  $number = $this->total_captcha();
116
+ $version = anr_get_option( 'captcha_version', 'v2_checkbox' );
117
 
118
+ $field = '<div class="anr_captcha_field"><div id="anr_captcha_field_' . $number . '" class="anr_captcha_field_div">';
119
+ if ( 'v3' === $version ) {
120
+ $field .= '<input type="hidden" name="g-recaptcha-response" value="" />';
121
+ }
122
+ $field .= '</div></div>';
123
 
124
+ if ( 1 == $no_js && 'v2_checkbox' === $version ) {
125
  $field .= '<noscript>
126
  <div>
127
  <div style="width: 302px; height: 422px; position: relative;">
148
  }
149
 
150
  function footer_script() {
 
151
  static $included = false;
152
+
153
+ $number = $this->total_captcha();
154
+ $version = anr_get_option( 'captcha_version', 'v2_checkbox' );
155
 
156
+ if ( ! $number && ( 'v3' !== $version || 'all_pages' !== anr_get_option( 'v3_script_load', 'all_pages' ) ) ) {
157
  return;
158
  }
159
 
163
 
164
  $included = true;
165
 
166
+ if ( 'v2_checkbox' === $version ) {
167
+ $this->v2_checkbox_script();
168
+ } elseif ( 'v2_invisible' === $version ) {
169
+ $this->v2_invisible_script();
170
+ } elseif ( 'v3' === $version ) {
171
+ $this->v3_script();
172
+ }
173
+ }
174
+
175
+ function v2_checkbox_script() {
176
+ $number = $this->total_captcha();
177
+ ?>
178
+ <script type="text/javascript">
179
+ var anr_onloadCallback = function() {
180
+ var anr_obj = {
181
+ 'sitekey' : '<?php echo esc_js( trim( anr_get_option( 'site_key' ) ) ); ?>',
182
+ 'size' : '<?php echo esc_js( anr_get_option( 'size', 'normal' ) ); ?>',
183
+ 'theme' : '<?php echo esc_js( anr_get_option( 'theme', 'light' ) ); ?>',
184
+ };
185
+ <?php
186
+ for ( $num = 1; $num <= $number; $num++ ) {
187
+ ?>
188
+ var anr_captcha_<?php echo $num; ?>;
189
+ anr_captcha_<?php echo $num; ?> = grecaptcha.render('anr_captcha_field_<?php echo $num; ?>', anr_obj );
190
+ if ( typeof wc_checkout_params !== 'undefined' ) {
191
+ jQuery( document.body ).on( 'checkout_error', function(){
192
+ grecaptcha.reset(anr_captcha_<?php echo $num; ?>);
193
+ });
194
+ }
195
+ if ( typeof wpcf7 !== 'undefined' ) {
196
+ document.addEventListener( 'wpcf7submit', function() {
197
+ grecaptcha.reset(anr_captcha_<?php echo $num; ?>);
198
+ }, false );
199
+ }
200
+ <?php } ?>
201
+ };
202
+ </script>
203
+ <?php
204
  $language = trim( anr_get_option( 'language' ) );
205
 
206
+ $lang = '';
207
  if ( $language ) {
208
+ $lang = '&hl=' . $language;
209
  }
210
+ $google_url = 'https://www.google.com/recaptcha/api.js?onload=anr_onloadCallback&render=explicit' . $lang;
211
  ?>
212
+ <script src="<?php echo esc_url( $google_url ); ?>"
213
+ async defer>
214
+ </script>
 
 
 
215
  <?php
216
+ }
217
+
218
+ function v2_invisible_script() {
219
+ ?>
220
+ <script type="text/javascript">
221
+ var anr_onloadCallback = function() {
222
+ for ( var i = 0; i < document.forms.length; i++ ) {
223
+ var form = document.forms[i];
224
+ var captcha_div = form.querySelector( '.anr_captcha_field_div' );
225
+
226
+ if ( null === captcha_div )
227
+ continue;
228
+ captcha_div.innerHTML = '';
229
+ ( function( form ) {
230
+ var anr_captcha = grecaptcha.render( captcha_div,{
231
+ 'sitekey' : '<?php echo esc_js( trim( anr_get_option( 'site_key' ) ) ); ?>',
232
+ 'size' : 'invisible',
233
+ 'theme' : '<?php echo esc_js( anr_get_option( 'theme', 'light' ) ); ?>',
234
+ 'badge' : '<?php echo esc_js( anr_get_option( 'badge', 'bottomright' ) ); ?>',
235
+ 'callback' : function ( token ) {
236
+ if( typeof jQuery != 'undefined' ){
237
+ jQuery(form).submit();
238
+ grecaptcha.reset( anr_captcha );
239
+ } else {
240
+ HTMLFormElement.prototype.submit.call( form );
241
+ }
242
+ },
243
+ 'expired-callback' : function(){
244
+ grecaptcha.reset( anr_captcha );
245
+ }
246
+ });
247
+ var cf7_submit = form.querySelector( '.wpcf7-submit' );
248
+
249
+ if( null !== cf7_submit && ( typeof jQuery !== 'undefined' ) ){
250
+ jQuery( cf7_submit ).off('click').on('click', function( e ){
251
+ e.preventDefault();
252
+ jQuery( '.ajax-loader', form ).addClass( 'is-active' );
253
+ grecaptcha.execute( anr_captcha );
254
+ });
255
+ } else {
256
+ form.onsubmit = function( e ){
257
+ e.preventDefault();
258
+ grecaptcha.execute( anr_captcha );
259
+ };
260
+ }
261
+ })(form);
262
+ }
263
  };
264
+ </script>
265
+ <?php
266
+ $language = trim( anr_get_option( 'language' ) );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
267
 
268
+ $lang = '';
269
+ if ( $language ) {
270
+ $lang = '&hl=' . $language;
271
+ }
272
+ $google_url = 'https://www.google.com/recaptcha/api.js?onload=anr_onloadCallback&render=explicit' . $lang;
273
+ ?>
274
+ <script src="<?php echo esc_url( $google_url ); ?>"
275
+ async defer>
276
+ </script>
277
  <?php
278
+ }
279
+
280
+ function v3_script() {
281
+ // v3 support v2 script. So use it
282
+ // $this->v2_invisible_script();
283
+
284
+ $language = trim( anr_get_option( 'language' ) );
285
+ $site_key = trim( anr_get_option( 'site_key' ) );
286
 
287
+ $lang = '';
288
+ if ( $language ) {
289
+ $lang = '&hl=' . $language;
290
+ }
291
+
292
+ $google_url = 'https://www.google.com/recaptcha/api.js?render=' . $site_key . $lang;
293
+ ?>
294
+ <script src="<?php echo esc_url( $google_url ); ?>"></script>
295
+ <script type="text/javascript">
296
+ ( function( grecaptcha ) {
297
+
298
+ var anr_onloadCallback = function() {
299
+ grecaptcha.execute(
300
+ '<?php echo esc_js( $site_key ); ?>',
301
+ { action: 'advanced_nocaptcha_recaptcha' }
302
+ ).then( function( token ) {
303
+ for ( var i = 0; i < document.forms.length; i++ ) {
304
+ var form = document.forms[i];
305
+ var captcha = form.querySelector( 'input[name="g-recaptcha-response"]' );
306
+ if ( null === captcha )
307
+ continue;
308
+
309
+ captcha.value = token;
310
+ }
311
+ });
312
+ };
313
+
314
+ grecaptcha.ready( anr_onloadCallback );
315
+
316
+ document.addEventListener( 'wpcf7submit', anr_onloadCallback, false );
317
+ if ( typeof wc_checkout_params !== 'undefined' ) {
318
+ jQuery( document.body ).on( 'checkout_error', anr_onloadCallback );
319
+ }
320
+
321
+ } )( grecaptcha );
322
+ </script>
323
+ <?php
324
  }
325
 
326
 
assets/css/style.css ADDED
@@ -0,0 +1,3 @@
 
 
 
1
+ #login {
2
+ width: 350px !important;
3
+ }
assets/js/admin.js ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ jQuery(document).ready(function( $ ){
2
+ function anr_admin_show_hide_fields(){
3
+ var selected_value = $('#anr_admin_options_captcha_version').val();
4
+ $( '.hidden' ).hide();
5
+ $( '.anr-show-field-for-'+ selected_value ).show('slow');
6
+ }
7
+ if( $('#anr_admin_options_captcha_version').length ){
8
+ anr_admin_show_hide_fields();
9
+ }
10
+
11
+ $('.form-table').on( "change", "#anr_admin_options_captcha_version", function(e) {
12
+ anr_admin_show_hide_fields();
13
+ });
14
+ });
functions.php CHANGED
@@ -66,6 +66,20 @@ function anr_plugin_update_32( $prev_version ) {
66
  }
67
  }
68
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
69
  function anr_get_option( $option, $default = '', $section = 'anr_admin_options' ) {
70
 
71
  if ( is_multisite() ) {
@@ -132,8 +146,8 @@ function anr_translation() {
132
 
133
  function anr_login_enqueue_scripts() {
134
 
135
- if ( ! anr_get_option( 'remove_css' ) && 'normal' === anr_get_option( 'size', 'normal' ) ) {
136
- wp_enqueue_style( 'anr-login-style', ANR_PLUGIN_URL . 'style/style.css' );
137
  }
138
  }
139
 
@@ -177,6 +191,7 @@ function anr_captcha_form_field( $echo = false ) {
177
  function anr_verify_captcha( $response = false ) {
178
  $secre_key = trim( anr_get_option( 'secret_key' ) );
179
  $remoteip = $_SERVER['REMOTE_ADDR'];
 
180
 
181
  if ( false === $response ) {
182
  $response = isset( $_POST['g-recaptcha-response'] ) ? $_POST['g-recaptcha-response'] : '';
@@ -193,7 +208,7 @@ function anr_verify_captcha( $response = false ) {
193
  }
194
 
195
  if ( ! $response || ! $remoteip ) {
196
- return false;
197
  }
198
 
199
  $url = 'https://www.google.com/recaptcha/api/siteverify';
@@ -210,22 +225,23 @@ function anr_verify_captcha( $response = false ) {
210
  )
211
  );
212
 
213
- if ( is_wp_error( $request ) ) {
214
- return false;
215
- }
216
-
217
  // get the request response body
218
  $request_body = wp_remote_retrieve_body( $request );
219
  if ( ! $request_body ) {
220
- return false;
221
  }
222
 
223
  $result = json_decode( $request_body, true );
224
  if ( isset( $result['success'] ) && true == $result['success'] ) {
225
- return true;
 
 
 
 
 
226
  }
227
 
228
- return false;
229
  }
230
 
231
  add_filter( 'shake_error_codes', 'anr_add_shake_error_codes' );
66
  }
67
  }
68
 
69
+ add_action( 'anr_plugin_update', 'anr_plugin_update_51' );
70
+
71
+ function anr_plugin_update_51( $prev_version ) {
72
+ if ( version_compare( $prev_version, '5.1', '<' ) ) {
73
+ $options = [];
74
+ if ( 'invisible' === anr_get_option( 'size' ) ) {
75
+ $options['size'] = 'normal';
76
+ $options['captcha_version'] = 'v2_invisible';
77
+ }
78
+
79
+ anr_update_option( $options );
80
+ }
81
+ }
82
+
83
  function anr_get_option( $option, $default = '', $section = 'anr_admin_options' ) {
84
 
85
  if ( is_multisite() ) {
146
 
147
  function anr_login_enqueue_scripts() {
148
 
149
+ if ( ! anr_get_option( 'remove_css' ) && 'normal' === anr_get_option( 'size', 'normal' ) && 'v2_checkbox' === anr_get_option( 'captcha_version', 'v2_checkbox' ) ) {
150
+ wp_enqueue_style( 'anr-login-style', ANR_PLUGIN_URL . 'assets/css/style.css' );
151
  }
152
  }
153
 
191
  function anr_verify_captcha( $response = false ) {
192
  $secre_key = trim( anr_get_option( 'secret_key' ) );
193
  $remoteip = $_SERVER['REMOTE_ADDR'];
194
+ $verify = false;
195
 
196
  if ( false === $response ) {
197
  $response = isset( $_POST['g-recaptcha-response'] ) ? $_POST['g-recaptcha-response'] : '';
208
  }
209
 
210
  if ( ! $response || ! $remoteip ) {
211
+ return $verify;
212
  }
213
 
214
  $url = 'https://www.google.com/recaptcha/api/siteverify';
225
  )
226
  );
227
 
 
 
 
 
228
  // get the request response body
229
  $request_body = wp_remote_retrieve_body( $request );
230
  if ( ! $request_body ) {
231
+ return $verify;
232
  }
233
 
234
  $result = json_decode( $request_body, true );
235
  if ( isset( $result['success'] ) && true == $result['success'] ) {
236
+ if ( 'v3' === anr_get_option( 'captcha_version' ) ) {
237
+ $score = isset( $result['score'] ) ? $result['score'] : 0;
238
+ $verify = anr_get_option( 'score', '0.5' ) <= $score;
239
+ } else {
240
+ $verify = true;
241
+ }
242
  }
243
 
244
+ return apply_filters( 'anr_verify_captcha', $verify, $result, $response );
245
  }
246
 
247
  add_filter( 'shake_error_codes', 'anr_add_shake_error_codes' );
languages/advanced-nocaptcha-recaptcha.pot CHANGED
@@ -1,8 +1,8 @@
1
  #, fuzzy
2
  msgid ""
3
  msgstr ""
4
- "Project-Id-Version: Advanced noCaptcha reCaptcha 4.2\n"
5
- "POT-Creation-Date: 2019-01-06 02:31+0600\n"
6
  "PO-Revision-Date: 2018-04-12 17:20+0600\n"
7
  "Last-Translator: \n"
8
  "Language-Team: Shamim\n"
@@ -16,468 +16,552 @@ msgstr ""
16
  "X-Poedit-KeywordsList: __;_e\n"
17
  "X-Poedit-SearchPath-0: .\n"
18
 
19
- #: admin/settings.php:56
20
  msgid "Google Keys"
21
  msgstr ""
22
 
23
- #: admin/settings.php:58
24
  #, php-format
25
  msgid ""
26
- "Get reCaptcha v2 keys from <a href=\"%s\">Google</a>. If you select "
27
- "Invisible captcha, make sure to get keys for Invisible captcha."
28
  msgstr ""
29
 
30
- #: admin/settings.php:62
31
  msgid "Forms"
32
  msgstr ""
33
 
34
- #: admin/settings.php:65
35
  msgid "Other Settings"
36
  msgstr ""
37
 
38
- #: admin/settings.php:74
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
39
  msgid "Site Key"
40
  msgstr ""
41
 
42
- #: admin/settings.php:78
43
  msgid "Secret Key"
44
  msgstr ""
45
 
46
- #: admin/settings.php:82
47
  msgid "Enabled Forms"
48
  msgstr ""
49
 
50
- #: admin/settings.php:87
51
  msgid "Login Form"
52
  msgstr ""
53
 
54
- #: admin/settings.php:88
55
  msgid "Registration Form"
56
  msgstr ""
57
 
58
- #: admin/settings.php:89
59
  msgid "Multisite User Signup Form"
60
  msgstr ""
61
 
62
- #: admin/settings.php:90
63
  msgid "Lost Password Form"
64
  msgstr ""
65
 
66
- #: admin/settings.php:91
67
  msgid "Reset Password Form"
68
  msgstr ""
69
 
70
- #: admin/settings.php:92
71
  msgid "Comment Form"
72
  msgstr ""
73
 
74
- #: admin/settings.php:93
75
  msgid "bbPress New topic"
76
  msgstr ""
77
 
78
- #: admin/settings.php:94
79
  msgid "bbPress reply to topic"
80
  msgstr ""
81
 
82
- #: admin/settings.php:95
83
  msgid "BuddyPress register"
84
  msgstr ""
85
 
86
- #: admin/settings.php:96
87
  msgid "WooCommerce Checkout"
88
  msgstr ""
89
 
90
- #: admin/settings.php:98
91
  #, php-format
92
  msgid "For other forms see <a href=\"%s\">Instruction</a>"
93
  msgstr ""
94
 
95
- #: admin/settings.php:101
96
  msgid "Error Message"
97
  msgstr ""
98
 
99
- #: admin/settings.php:103
100
  msgid "Please solve Captcha correctly"
101
  msgstr ""
102
 
103
- #: admin/settings.php:106
104
  msgid "Captcha Language"
105
  msgstr ""
106
 
107
- #: admin/settings.php:111
108
  msgid "Auto Detect"
109
  msgstr ""
110
 
111
- #: admin/settings.php:112
112
  msgid "Arabic"
113
  msgstr ""
114
 
115
- #: admin/settings.php:113
116
  msgid "Bulgarian"
117
  msgstr ""
118
 
119
- #: admin/settings.php:114
120
  msgid "Catalan"
121
  msgstr ""
122
 
123
- #: admin/settings.php:115
124
  msgid "Chinese (Simplified)"
125
  msgstr ""
126
 
127
- #: admin/settings.php:116
128
  msgid "Chinese (Traditional)"
129
  msgstr ""
130
 
131
- #: admin/settings.php:117
132
  msgid "Croatian"
133
  msgstr ""
134
 
135
- #: admin/settings.php:118
136
  msgid "Czech"
137
  msgstr ""
138
 
139
- #: admin/settings.php:119
140
  msgid "Danish"
141
  msgstr ""
142
 
143
- #: admin/settings.php:120
144
  msgid "Dutch"
145
  msgstr ""
146
 
147
- #: admin/settings.php:121
148
  msgid "English (UK)"
149
  msgstr ""
150
 
151
- #: admin/settings.php:122
152
  msgid "English (US)"
153
  msgstr ""
154
 
155
- #: admin/settings.php:123
156
  msgid "Filipino"
157
  msgstr ""
158
 
159
- #: admin/settings.php:124
160
  msgid "Finnish"
161
  msgstr ""
162
 
163
- #: admin/settings.php:125
164
  msgid "French"
165
  msgstr ""
166
 
167
- #: admin/settings.php:126
168
  msgid "French (Canadian)"
169
  msgstr ""
170
 
171
- #: admin/settings.php:127
172
  msgid "German"
173
  msgstr ""
174
 
175
- #: admin/settings.php:128
176
  msgid "German (Austria)"
177
  msgstr ""
178
 
179
- #: admin/settings.php:129
180
  msgid "German (Switzerland)"
181
  msgstr ""
182
 
183
- #: admin/settings.php:130
184
  msgid "Greek"
185
  msgstr ""
186
 
187
- #: admin/settings.php:131
188
  msgid "Hebrew"
189
  msgstr ""
190
 
191
- #: admin/settings.php:132
192
  msgid "Hindi"
193
  msgstr ""
194
 
195
- #: admin/settings.php:133
196
  msgid "Hungarain"
197
  msgstr ""
198
 
199
- #: admin/settings.php:134
200
  msgid "Indonesian"
201
  msgstr ""
202
 
203
- #: admin/settings.php:135
204
  msgid "Italian"
205
  msgstr ""
206
 
207
- #: admin/settings.php:136
208
  msgid "Japanese"
209
  msgstr ""
210
 
211
- #: admin/settings.php:137
212
  msgid "Korean"
213
  msgstr ""
214
 
215
- #: admin/settings.php:138
216
  msgid "Latvian"
217
  msgstr ""
218
 
219
- #: admin/settings.php:139
220
  msgid "Lithuanian"
221
  msgstr ""
222
 
223
- #: admin/settings.php:140
224
  msgid "Norwegian"
225
  msgstr ""
226
 
227
- #: admin/settings.php:141
228
  msgid "Persian"
229
  msgstr ""
230
 
231
- #: admin/settings.php:142
232
  msgid "Polish"
233
  msgstr ""
234
 
235
- #: admin/settings.php:143
236
  msgid "Portuguese"
237
  msgstr ""
238
 
239
- #: admin/settings.php:144
240
  msgid "Portuguese (Brazil)"
241
  msgstr ""
242
 
243
- #: admin/settings.php:145
244
  msgid "Portuguese (Portugal)"
245
  msgstr ""
246
 
247
- #: admin/settings.php:146
248
  msgid "Romanian"
249
  msgstr ""
250
 
251
- #: admin/settings.php:147
252
  msgid "Russian"
253
  msgstr ""
254
 
255
- #: admin/settings.php:148
256
  msgid "Serbian"
257
  msgstr ""
258
 
259
- #: admin/settings.php:149
260
  msgid "Slovak"
261
  msgstr ""
262
 
263
- #: admin/settings.php:150
264
  msgid "Slovenian"
265
  msgstr ""
266
 
267
- #: admin/settings.php:151
268
  msgid "Spanish"
269
  msgstr ""
270
 
271
- #: admin/settings.php:152
272
  msgid "Spanish (Latin America)"
273
  msgstr ""
274
 
275
- #: admin/settings.php:153
276
  msgid "Swedish"
277
  msgstr ""
278
 
279
- #: admin/settings.php:154
280
  msgid "Thai"
281
  msgstr ""
282
 
283
- #: admin/settings.php:155
284
  msgid "Turkish"
285
  msgstr ""
286
 
287
- #: admin/settings.php:156
288
  msgid "Ukrainian"
289
  msgstr ""
290
 
291
- #: admin/settings.php:157
292
  msgid "Vietnamese"
293
  msgstr ""
294
 
295
- #: admin/settings.php:161
296
  msgid "Theme"
297
  msgstr ""
298
 
299
- #: admin/settings.php:167
300
  msgid "Light"
301
  msgstr ""
302
 
303
- #: admin/settings.php:168
304
  msgid "Dark"
305
  msgstr ""
306
 
307
- #: admin/settings.php:172
308
  msgid "Size"
309
  msgstr ""
310
 
311
- #: admin/settings.php:178
312
  msgid "Normal"
313
  msgstr ""
314
 
315
- #: admin/settings.php:179
316
  msgid "Compact"
317
  msgstr ""
318
 
319
- #: admin/settings.php:180
320
- msgid "Invisible"
321
- msgstr ""
322
-
323
- #: admin/settings.php:182
324
- msgid ""
325
- "For invisible captcha set this as Invisible. Make sure to use site key and "
326
- "secret key for invisible captcha"
327
- msgstr ""
328
-
329
- #: admin/settings.php:185
330
  msgid "Badge"
331
  msgstr ""
332
 
333
- #: admin/settings.php:191
334
  msgid "Bottom Right"
335
  msgstr ""
336
 
337
- #: admin/settings.php:192
338
  msgid "Bottom Left"
339
  msgstr ""
340
 
341
- #: admin/settings.php:193
342
  msgid "Inline"
343
  msgstr ""
344
 
345
- #: admin/settings.php:195
346
  msgid "Badge shows for invisible captcha"
347
  msgstr ""
348
 
349
- #: admin/settings.php:198
350
  msgid "Failed login Captcha"
351
  msgstr ""
352
 
353
- #: admin/settings.php:204
354
  msgid "Show login Captcha after how many failed attempts? 0 = show always"
355
  msgstr ""
356
 
357
- #: admin/settings.php:207
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
358
  msgid "Logged in Hide"
359
  msgstr ""
360
 
361
- #: admin/settings.php:211
362
  msgid "Hide Captcha for logged in users?"
363
  msgstr ""
364
 
365
- #: admin/settings.php:214
366
  msgid "Remove CSS"
367
  msgstr ""
368
 
369
- #: admin/settings.php:218
370
  msgid "Remove this plugin's css from login page?"
371
  msgstr ""
372
 
373
- #: admin/settings.php:219
374
  msgid "This css increase login page width to adjust with Captcha width."
375
  msgstr ""
376
 
377
- #: admin/settings.php:222
378
  msgid "No JS Captcha"
379
  msgstr ""
380
 
381
- #: admin/settings.php:226
382
  msgid "Show captcha if javascript disabled?"
383
  msgstr ""
384
 
385
- #: admin/settings.php:227
386
  msgid ""
387
  "If JavaScript is a requirement for your site, we advise that you do NOT "
388
  "check this."
389
  msgstr ""
390
 
391
- #: admin/settings.php:318
392
  #, php-format
393
  msgid "No hook defined for %s"
394
  msgstr ""
395
 
396
- #: admin/settings.php:341 admin/settings.php:363
397
  msgid "Advanced noCaptcha & invisible captcha Settings"
398
  msgstr ""
399
 
400
- #: admin/settings.php:341
401
  msgid "Advanced noCaptcha & invisible captcha"
402
  msgstr ""
403
 
404
- #: admin/settings.php:342
405
  msgid "Instruction"
406
  msgstr ""
407
 
408
- #: admin/settings.php:357
409
- msgid "Settings saved."
410
  msgstr ""
411
 
412
- #: admin/settings.php:391
413
- msgid "Plugin Author"
414
  msgstr ""
415
 
416
- #: admin/settings.php:411
417
  msgid "Advanced noCaptcha reCaptcha Setup Instruction"
418
  msgstr ""
419
 
420
- #: admin/settings.php:416
421
  #, php-format
422
  msgid ""
423
  "Get your site key and secret key from <a href=\"%s\" target=\"_blank"
424
  "\">GOOGLE</a> if you do not have already."
425
  msgstr ""
426
 
427
- #: admin/settings.php:417
428
  #, php-format
429
  msgid "Goto %s page of this plugin and set up as you need. and ENJOY..."
430
  msgstr ""
431
 
432
- #: admin/settings.php:419
433
  msgid "Implement noCaptcha in Contact Form 7"
434
  msgstr ""
435
 
436
- #: admin/settings.php:420
437
  #, php-format
438
  msgid "To show noCaptcha use %s"
439
  msgstr ""
440
 
441
- #: admin/settings.php:422
442
  msgid "Implement noCaptcha in WooCommerce"
443
  msgstr ""
444
 
445
- #: admin/settings.php:423
446
  msgid ""
447
  "If Login Form, Registration Form, Lost Password Form, Reset Password Form is "
448
  "selected in SETTINGS page of this plugin they will show and verify Captcha "
449
  "in WooCommerce respective forms also."
450
  msgstr ""
451
 
452
- #: admin/settings.php:425
453
  msgid "If you want to implement noCaptcha in any other custom form"
454
  msgstr ""
455
 
456
- #: admin/settings.php:426
457
  #, php-format
458
  msgid "To show noCaptcha in a form use %1$s OR %2$s"
459
  msgstr ""
460
 
461
- #: admin/settings.php:427
462
  #, php-format
463
  msgid "To verify use %s. It will return true on success otherwise false."
464
  msgstr ""
465
 
466
- #: admin/settings.php:428
467
  #, php-format
468
  msgid ""
469
  "For paid support pleasse visit <a href=\"%s\" target=\"_blank\">Advanced "
470
  "noCaptcha reCaptcha</a>"
471
  msgstr ""
472
 
473
- #: admin/settings.php:448
474
  msgid "Settings"
475
  msgstr ""
476
 
477
- #: anr-captcha-class.php:100
478
  msgid "ERROR"
479
  msgstr ""
480
 
 
 
 
 
481
  #: functions.php:31
482
  msgid "<strong>ERROR</strong>: "
483
  msgstr ""
1
  #, fuzzy
2
  msgid ""
3
  msgstr ""
4
+ "Project-Id-Version: Advanced noCaptcha reCaptcha 5.1\n"
5
+ "POT-Creation-Date: 2019-04-25 13:06+0600\n"
6
  "PO-Revision-Date: 2018-04-12 17:20+0600\n"
7
  "Last-Translator: \n"
8
  "Language-Team: Shamim\n"
16
  "X-Poedit-KeywordsList: __;_e\n"
17
  "X-Poedit-SearchPath-0: .\n"
18
 
19
+ #: admin/settings.php:62
20
  msgid "Google Keys"
21
  msgstr ""
22
 
23
+ #: admin/settings.php:64
24
  #, php-format
25
  msgid ""
26
+ "Get reCaptcha keys from <a href=\"%s\">Google</a>. Make sure to get keys for "
27
+ "your selected captcha version."
28
  msgstr ""
29
 
30
+ #: admin/settings.php:68
31
  msgid "Forms"
32
  msgstr ""
33
 
34
+ #: admin/settings.php:71
35
  msgid "Other Settings"
36
  msgstr ""
37
 
38
+ #: admin/settings.php:80
39
+ msgid "Version"
40
+ msgstr ""
41
+
42
+ #: admin/settings.php:86
43
+ msgid "V2 \"I'm not a robot\""
44
+ msgstr ""
45
+
46
+ #: admin/settings.php:87
47
+ msgid "V2 Invisible"
48
+ msgstr ""
49
+
50
+ #: admin/settings.php:88
51
+ msgid "V3"
52
+ msgstr ""
53
+
54
+ #: admin/settings.php:90
55
+ msgid ""
56
+ "Select your reCaptcha version. Make sure to use site key and secret key for "
57
+ "your selected version."
58
+ msgstr ""
59
+
60
+ #: admin/settings.php:93
61
  msgid "Site Key"
62
  msgstr ""
63
 
64
+ #: admin/settings.php:97
65
  msgid "Secret Key"
66
  msgstr ""
67
 
68
+ #: admin/settings.php:101
69
  msgid "Enabled Forms"
70
  msgstr ""
71
 
72
+ #: admin/settings.php:106
73
  msgid "Login Form"
74
  msgstr ""
75
 
76
+ #: admin/settings.php:107
77
  msgid "Registration Form"
78
  msgstr ""
79
 
80
+ #: admin/settings.php:108
81
  msgid "Multisite User Signup Form"
82
  msgstr ""
83
 
84
+ #: admin/settings.php:109
85
  msgid "Lost Password Form"
86
  msgstr ""
87
 
88
+ #: admin/settings.php:110
89
  msgid "Reset Password Form"
90
  msgstr ""
91
 
92
+ #: admin/settings.php:111
93
  msgid "Comment Form"
94
  msgstr ""
95
 
96
+ #: admin/settings.php:112
97
  msgid "bbPress New topic"
98
  msgstr ""
99
 
100
+ #: admin/settings.php:113
101
  msgid "bbPress reply to topic"
102
  msgstr ""
103
 
104
+ #: admin/settings.php:114
105
  msgid "BuddyPress register"
106
  msgstr ""
107
 
108
+ #: admin/settings.php:115
109
  msgid "WooCommerce Checkout"
110
  msgstr ""
111
 
112
+ #: admin/settings.php:117
113
  #, php-format
114
  msgid "For other forms see <a href=\"%s\">Instruction</a>"
115
  msgstr ""
116
 
117
+ #: admin/settings.php:120
118
  msgid "Error Message"
119
  msgstr ""
120
 
121
+ #: admin/settings.php:122
122
  msgid "Please solve Captcha correctly"
123
  msgstr ""
124
 
125
+ #: admin/settings.php:125
126
  msgid "Captcha Language"
127
  msgstr ""
128
 
129
+ #: admin/settings.php:130
130
  msgid "Auto Detect"
131
  msgstr ""
132
 
133
+ #: admin/settings.php:131
134
  msgid "Arabic"
135
  msgstr ""
136
 
137
+ #: admin/settings.php:132
138
  msgid "Bulgarian"
139
  msgstr ""
140
 
141
+ #: admin/settings.php:133
142
  msgid "Catalan"
143
  msgstr ""
144
 
145
+ #: admin/settings.php:134
146
  msgid "Chinese (Simplified)"
147
  msgstr ""
148
 
149
+ #: admin/settings.php:135
150
  msgid "Chinese (Traditional)"
151
  msgstr ""
152
 
153
+ #: admin/settings.php:136
154
  msgid "Croatian"
155
  msgstr ""
156
 
157
+ #: admin/settings.php:137
158
  msgid "Czech"
159
  msgstr ""
160
 
161
+ #: admin/settings.php:138
162
  msgid "Danish"
163
  msgstr ""
164
 
165
+ #: admin/settings.php:139
166
  msgid "Dutch"
167
  msgstr ""
168
 
169
+ #: admin/settings.php:140
170
  msgid "English (UK)"
171
  msgstr ""
172
 
173
+ #: admin/settings.php:141
174
  msgid "English (US)"
175
  msgstr ""
176
 
177
+ #: admin/settings.php:142
178
  msgid "Filipino"
179
  msgstr ""
180
 
181
+ #: admin/settings.php:143
182
  msgid "Finnish"
183
  msgstr ""
184
 
185
+ #: admin/settings.php:144
186
  msgid "French"
187
  msgstr ""
188
 
189
+ #: admin/settings.php:145
190
  msgid "French (Canadian)"
191
  msgstr ""
192
 
193
+ #: admin/settings.php:146
194
  msgid "German"
195
  msgstr ""
196
 
197
+ #: admin/settings.php:147
198
  msgid "German (Austria)"
199
  msgstr ""
200
 
201
+ #: admin/settings.php:148
202
  msgid "German (Switzerland)"
203
  msgstr ""
204
 
205
+ #: admin/settings.php:149
206
  msgid "Greek"
207
  msgstr ""
208
 
209
+ #: admin/settings.php:150
210
  msgid "Hebrew"
211
  msgstr ""
212
 
213
+ #: admin/settings.php:151
214
  msgid "Hindi"
215
  msgstr ""
216
 
217
+ #: admin/settings.php:152
218
  msgid "Hungarain"
219
  msgstr ""
220
 
221
+ #: admin/settings.php:153
222
  msgid "Indonesian"
223
  msgstr ""
224
 
225
+ #: admin/settings.php:154
226
  msgid "Italian"
227
  msgstr ""
228
 
229
+ #: admin/settings.php:155
230
  msgid "Japanese"
231
  msgstr ""
232
 
233
+ #: admin/settings.php:156
234
  msgid "Korean"
235
  msgstr ""
236
 
237
+ #: admin/settings.php:157
238
  msgid "Latvian"
239
  msgstr ""
240
 
241
+ #: admin/settings.php:158
242
  msgid "Lithuanian"
243
  msgstr ""
244
 
245
+ #: admin/settings.php:159
246
  msgid "Norwegian"
247
  msgstr ""
248
 
249
+ #: admin/settings.php:160
250
  msgid "Persian"
251
  msgstr ""
252
 
253
+ #: admin/settings.php:161
254
  msgid "Polish"
255
  msgstr ""
256
 
257
+ #: admin/settings.php:162
258
  msgid "Portuguese"
259
  msgstr ""
260
 
261
+ #: admin/settings.php:163
262
  msgid "Portuguese (Brazil)"
263
  msgstr ""
264
 
265
+ #: admin/settings.php:164
266
  msgid "Portuguese (Portugal)"
267
  msgstr ""
268
 
269
+ #: admin/settings.php:165
270
  msgid "Romanian"
271
  msgstr ""
272
 
273
+ #: admin/settings.php:166
274
  msgid "Russian"
275
  msgstr ""
276
 
277
+ #: admin/settings.php:167
278
  msgid "Serbian"
279
  msgstr ""
280
 
281
+ #: admin/settings.php:168
282
  msgid "Slovak"
283
  msgstr ""
284
 
285
+ #: admin/settings.php:169
286
  msgid "Slovenian"
287
  msgstr ""
288
 
289
+ #: admin/settings.php:170
290
  msgid "Spanish"
291
  msgstr ""
292
 
293
+ #: admin/settings.php:171
294
  msgid "Spanish (Latin America)"
295
  msgstr ""
296
 
297
+ #: admin/settings.php:172
298
  msgid "Swedish"
299
  msgstr ""
300
 
301
+ #: admin/settings.php:173
302
  msgid "Thai"
303
  msgstr ""
304
 
305
+ #: admin/settings.php:174
306
  msgid "Turkish"
307
  msgstr ""
308
 
309
+ #: admin/settings.php:175
310
  msgid "Ukrainian"
311
  msgstr ""
312
 
313
+ #: admin/settings.php:176
314
  msgid "Vietnamese"
315
  msgstr ""
316
 
317
+ #: admin/settings.php:180
318
  msgid "Theme"
319
  msgstr ""
320
 
321
+ #: admin/settings.php:186
322
  msgid "Light"
323
  msgstr ""
324
 
325
+ #: admin/settings.php:187
326
  msgid "Dark"
327
  msgstr ""
328
 
329
+ #: admin/settings.php:191
330
  msgid "Size"
331
  msgstr ""
332
 
333
+ #: admin/settings.php:197
334
  msgid "Normal"
335
  msgstr ""
336
 
337
+ #: admin/settings.php:198
338
  msgid "Compact"
339
  msgstr ""
340
 
341
+ #: admin/settings.php:202
 
 
 
 
 
 
 
 
 
 
342
  msgid "Badge"
343
  msgstr ""
344
 
345
+ #: admin/settings.php:208
346
  msgid "Bottom Right"
347
  msgstr ""
348
 
349
+ #: admin/settings.php:209
350
  msgid "Bottom Left"
351
  msgstr ""
352
 
353
+ #: admin/settings.php:210
354
  msgid "Inline"
355
  msgstr ""
356
 
357
+ #: admin/settings.php:212
358
  msgid "Badge shows for invisible captcha"
359
  msgstr ""
360
 
361
+ #: admin/settings.php:215
362
  msgid "Failed login Captcha"
363
  msgstr ""
364
 
365
+ #: admin/settings.php:221
366
  msgid "Show login Captcha after how many failed attempts? 0 = show always"
367
  msgstr ""
368
 
369
+ #: admin/settings.php:224
370
+ msgid "v3 Script Load"
371
+ msgstr ""
372
+
373
+ #: admin/settings.php:230
374
+ msgid "All Pages"
375
+ msgstr ""
376
+
377
+ #: admin/settings.php:231
378
+ msgid "Form Pages"
379
+ msgstr ""
380
+
381
+ #: admin/settings.php:233
382
+ msgid "Loading in All Pages help google for analytics"
383
+ msgstr ""
384
+
385
+ #: admin/settings.php:236
386
+ msgid "Captcha Score"
387
+ msgstr ""
388
+
389
+ #: admin/settings.php:242
390
+ msgid "0.0"
391
+ msgstr ""
392
+
393
+ #: admin/settings.php:243
394
+ msgid "0.1"
395
+ msgstr ""
396
+
397
+ #: admin/settings.php:244
398
+ msgid "0.2"
399
+ msgstr ""
400
+
401
+ #: admin/settings.php:245
402
+ msgid "0.3"
403
+ msgstr ""
404
+
405
+ #: admin/settings.php:246
406
+ msgid "0.4"
407
+ msgstr ""
408
+
409
+ #: admin/settings.php:247
410
+ msgid "0.5"
411
+ msgstr ""
412
+
413
+ #: admin/settings.php:248
414
+ msgid "0.6"
415
+ msgstr ""
416
+
417
+ #: admin/settings.php:249
418
+ msgid "0.7"
419
+ msgstr ""
420
+
421
+ #: admin/settings.php:250
422
+ msgid "0.8"
423
+ msgstr ""
424
+
425
+ #: admin/settings.php:251
426
+ msgid "0.9"
427
+ msgstr ""
428
+
429
+ #: admin/settings.php:252
430
+ msgid "1.0"
431
+ msgstr ""
432
+
433
+ #: admin/settings.php:254
434
+ msgid "Higher means more sensitive"
435
+ msgstr ""
436
+
437
+ #: admin/settings.php:257
438
  msgid "Logged in Hide"
439
  msgstr ""
440
 
441
+ #: admin/settings.php:261
442
  msgid "Hide Captcha for logged in users?"
443
  msgstr ""
444
 
445
+ #: admin/settings.php:264
446
  msgid "Remove CSS"
447
  msgstr ""
448
 
449
+ #: admin/settings.php:268
450
  msgid "Remove this plugin's css from login page?"
451
  msgstr ""
452
 
453
+ #: admin/settings.php:269
454
  msgid "This css increase login page width to adjust with Captcha width."
455
  msgstr ""
456
 
457
+ #: admin/settings.php:272
458
  msgid "No JS Captcha"
459
  msgstr ""
460
 
461
+ #: admin/settings.php:276
462
  msgid "Show captcha if javascript disabled?"
463
  msgstr ""
464
 
465
+ #: admin/settings.php:277
466
  msgid ""
467
  "If JavaScript is a requirement for your site, we advise that you do NOT "
468
  "check this."
469
  msgstr ""
470
 
471
+ #: admin/settings.php:391
472
  #, php-format
473
  msgid "No hook defined for %s"
474
  msgstr ""
475
 
476
+ #: admin/settings.php:414 admin/settings.php:439
477
  msgid "Advanced noCaptcha & invisible captcha Settings"
478
  msgstr ""
479
 
480
+ #: admin/settings.php:414
481
  msgid "Advanced noCaptcha & invisible captcha"
482
  msgstr ""
483
 
484
+ #: admin/settings.php:415
485
  msgid "Instruction"
486
  msgstr ""
487
 
488
+ #: admin/settings.php:467
489
+ msgid "Plugin Author"
490
  msgstr ""
491
 
492
+ #: admin/settings.php:483
493
+ msgid "Support Development"
494
  msgstr ""
495
 
496
+ #: admin/settings.php:504
497
  msgid "Advanced noCaptcha reCaptcha Setup Instruction"
498
  msgstr ""
499
 
500
+ #: admin/settings.php:509
501
  #, php-format
502
  msgid ""
503
  "Get your site key and secret key from <a href=\"%s\" target=\"_blank"
504
  "\">GOOGLE</a> if you do not have already."
505
  msgstr ""
506
 
507
+ #: admin/settings.php:510
508
  #, php-format
509
  msgid "Goto %s page of this plugin and set up as you need. and ENJOY..."
510
  msgstr ""
511
 
512
+ #: admin/settings.php:512
513
  msgid "Implement noCaptcha in Contact Form 7"
514
  msgstr ""
515
 
516
+ #: admin/settings.php:513
517
  #, php-format
518
  msgid "To show noCaptcha use %s"
519
  msgstr ""
520
 
521
+ #: admin/settings.php:515
522
  msgid "Implement noCaptcha in WooCommerce"
523
  msgstr ""
524
 
525
+ #: admin/settings.php:516
526
  msgid ""
527
  "If Login Form, Registration Form, Lost Password Form, Reset Password Form is "
528
  "selected in SETTINGS page of this plugin they will show and verify Captcha "
529
  "in WooCommerce respective forms also."
530
  msgstr ""
531
 
532
+ #: admin/settings.php:518
533
  msgid "If you want to implement noCaptcha in any other custom form"
534
  msgstr ""
535
 
536
+ #: admin/settings.php:519
537
  #, php-format
538
  msgid "To show noCaptcha in a form use %1$s OR %2$s"
539
  msgstr ""
540
 
541
+ #: admin/settings.php:520
542
  #, php-format
543
  msgid "To verify use %s. It will return true on success otherwise false."
544
  msgstr ""
545
 
546
+ #: admin/settings.php:521
547
  #, php-format
548
  msgid ""
549
  "For paid support pleasse visit <a href=\"%s\" target=\"_blank\">Advanced "
550
  "noCaptcha reCaptcha</a>"
551
  msgstr ""
552
 
553
+ #: admin/settings.php:539
554
  msgid "Settings"
555
  msgstr ""
556
 
557
+ #: anr-captcha-class.php:104
558
  msgid "ERROR"
559
  msgstr ""
560
 
561
+ #: anr-captcha-class.php:560
562
+ msgid "Comment Submission Failure"
563
+ msgstr ""
564
+
565
  #: functions.php:31
566
  msgid "<strong>ERROR</strong>: "
567
  msgstr ""
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
- === Advanced noCaptcha & invisible Captcha ===
2
  Contributors: shamim51
3
- Tags: recaptcha,nocaptcha,invisible,no captcha,bot,spam,captcha,woocommerce captcha,woocommerce nocaptcha, woocommerce,widget,plugin,sidebar,shortcode,page,posts,comments,google,bbpress,multisite,multiple
4
  Donate link: https://www.paypal.me/hasanshamim
5
  Requires at least: 4.4
6
  Tested up to: 5.1.1
7
- Stable tag: 4.4
8
  Requires PHP: 5.4
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
@@ -64,12 +64,15 @@ Yes. this plugin is translate ready. But If your language is not available you c
64
  = Can i show multiple captcha in same page? =
65
  Yes. You can show unlimited number of captcha in same page.
66
 
67
- = How to set Invisible captcha? =
68
- Make sure to obtain key for invisible captcha from google. Go to Dashboard > Settings > Advanced noCaptcha & invisible captcha > Size ( Set as Invisible )
 
69
 
70
  = How to set captcha in contact form 7? =
71
  To show noCaptcha use [anr_nocaptcha g-recaptcha-response]
72
 
 
 
73
 
74
  == Screenshots ==
75
 
@@ -84,6 +87,12 @@ To show noCaptcha use [anr_nocaptcha g-recaptcha-response]
84
 
85
  == Changelog ==
86
 
 
 
 
 
 
 
87
  = 4.4 =
88
 
89
  * PRO version released
1
+ === Advanced noCaptcha & invisible Captcha (v2 & v3) ===
2
  Contributors: shamim51
3
+ Tags: recaptcha,nocaptcha,invisible,no captcha,bot,spam,captcha,woocommerce captcha,woocommerce nocaptcha, woocommerce,widget,plugin,sidebar,shortcode,page,posts,comments,google,bbpress,multisite,multiple,v2,v3
4
  Donate link: https://www.paypal.me/hasanshamim
5
  Requires at least: 4.4
6
  Tested up to: 5.1.1
7
+ Stable tag: 5.1
8
  Requires PHP: 5.4
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
64
  = Can i show multiple captcha in same page? =
65
  Yes. You can show unlimited number of captcha in same page.
66
 
67
+ = How to load reCaptcha v3 script only when there is form in that page? =
68
+ Loading v3 script in All Pages help google for analytics. If you want to load script only when there is form in that page please go to Dashboard > Settings > Advanced noCaptcha & invisible Captcha > v3 Script Load and set to "Form Pages".
69
+ If you are not using v3 then script will only load when there is form in that page. no settings required.
70
 
71
  = How to set captcha in contact form 7? =
72
  To show noCaptcha use [anr_nocaptcha g-recaptcha-response]
73
 
74
+ = How to login if i am locked out? =
75
+ You can access your file via FTP or file manager and rename "advanced-nocaptcha-recaptcha" folder to something else. Then login as normal. Then rename back this folder.
76
 
77
  == Screenshots ==
78
 
87
 
88
  == Changelog ==
89
 
90
+ = 5.1 =
91
+
92
+ * Now support reCaptcha v3 also
93
+ * Fix: invisible captcha sometimes was not working
94
+ * anr_verify_captcha filter added
95
+
96
  = 4.4 =
97
 
98
  * PRO version released