Contact Form 7 – reCaptcha v2 - Version 1.2.4

Version Description

(2019-12-23) = * Added extra failsafe should CF7 reCaptcha not be removed. * Added PHP constant checks against the Contact Form 7 consts. Future proofing.

Download this release

Release Info

Developer IQComputing
Plugin Icon 128x128 Contact Form 7 – reCaptcha v2
Version 1.2.4
Comparing to
See all releases

Code changes from version 1.2.3 to 1.2.4

Files changed (4) hide show
  1. changelog.txt +8 -0
  2. readme.txt +6 -5
  3. recaptcha-v2.php +4 -4
  4. wpcf7-recaptcha.php +20 -10
changelog.txt CHANGED
@@ -2,6 +2,14 @@
2
3
This is to keep track of all changes the plugin undertakes. The readme.txt should only contain the most recent 3.
4
5
= 1.2.3 =
6
7
Release Date: November 13, 2019
2
3
This is to keep track of all changes the plugin undertakes. The readme.txt should only contain the most recent 3.
4
5
+ = 1.2.4 =
6
+
7
+ Release Date: December 23, 2019
8
+
9
+ * Overview
10
+ * Added lower priority to the reCaptcha enqueue hook so we can reserve the `google-recaptcha` handle before Contact Form 7 can. This shouldn't be needed but is an additional failsafe should the Conact Form 7 enqueue hook not be removed properly.
11
+ * Added constant checks against the Contact Form 7 constants. This will ensure the plugin does not break should those change or be removed in future versions of Contact Form 7. Future-proofing.
12
+
13
= 1.2.3 =
14
15
Release Date: November 13, 2019
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: iqcomputing
3
Tags: contact-form-7, contact-form-7-recaptcha, recaptcha, spam
4
Requires at least: 4.9
5
Tested up to: 5.3
6
- Stable tag: 1.2.3
7
License: GPLv2 or later
8
License URI: https://www.gnu.org/licenses/gpl-2.0.html
9
@@ -60,13 +60,14 @@ Should the above be correct, at this point it's time to open a support thread fo
60
61
== Changelog ==
62
63
= 1.2.3 (2019-10-13) =
64
* Added support for wp-config Contact Form 7 key constants.
65
* Added support for reCaptcha alignment.
66
* Fixed an issue with google response logging should the api return an error.
67
68
= 1.2.2 (2019-09-17) =
69
- * Fixed translation function to include plugin slug. Thanks @alexclassroom !
70
-
71
- = 1.2.1 (2019-09-09) =
72
- * Updated the plugin name to fix Trademark infringement.
3
Tags: contact-form-7, contact-form-7-recaptcha, recaptcha, spam
4
Requires at least: 4.9
5
Tested up to: 5.3
6
+ Stable tag: 1.2.4
7
License: GPLv2 or later
8
License URI: https://www.gnu.org/licenses/gpl-2.0.html
9
60
61
== Changelog ==
62
63
+ = 1.2.4 (2019-12-23) =
64
+ * Added extra failsafe should CF7 reCaptcha not be removed.
65
+ * Added PHP constant checks against the Contact Form 7 consts. Future proofing.
66
+
67
= 1.2.3 (2019-10-13) =
68
* Added support for wp-config Contact Form 7 key constants.
69
* Added support for reCaptcha alignment.
70
* Fixed an issue with google response logging should the api return an error.
71
72
= 1.2.2 (2019-09-17) =
73
+ * Fixed translation function to include plugin slug. Thanks @alexclassroom !
recaptcha-v2.php CHANGED
@@ -21,7 +21,7 @@ function iqfix_wpcf7_manage_hooks() {
21
22
// reCaptcha Enqueues
23
remove_action( 'wp_enqueue_scripts', 'wpcf7_recaptcha_enqueue_scripts', 10 );
24
- add_action( 'wp_enqueue_scripts', 'iqfix_wpcf7_recaptcha_enqueue_scripts', 10 );
25
26
// reCaptcha Footer Javascript
27
remove_action( 'wp_footer', 'wpcf7_recaptcha_onload_script', 40 );
@@ -72,8 +72,8 @@ function iqfix_wpcf7_recaptcha_enqueue_scripts() {
72
73
wp_register_script( 'google-recaptcha', $url, array(), '2.0', true );
74
wp_localize_script( 'google-recaptcha', 'wpcf7iqfix', array(
75
- 'recaptcha_empty' => esc_html__( 'Please verify that you are not a robot.', 'wpcf7-recaptcha' ),
76
- ) );
77
78
}
79
// See `iqfix_wpcf7_manage_hooks` callback above
@@ -176,7 +176,7 @@ document.addEventListener( 'wpcf7spam', function( event ) {
176
*/
177
function iqfix_wpcf7_recaptcha_form_tag_handler( $tag ) {
178
179
- if ( ! wp_script_is( 'google-recaptcha', 'registered' ) ) {
180
wpcf7_recaptcha_enqueue_scripts();
181
}
182
21
22
// reCaptcha Enqueues
23
remove_action( 'wp_enqueue_scripts', 'wpcf7_recaptcha_enqueue_scripts', 10 );
24
+ add_action( 'wp_enqueue_scripts', 'iqfix_wpcf7_recaptcha_enqueue_scripts', 9 );
25
26
// reCaptcha Footer Javascript
27
remove_action( 'wp_footer', 'wpcf7_recaptcha_onload_script', 40 );
72
73
wp_register_script( 'google-recaptcha', $url, array(), '2.0', true );
74
wp_localize_script( 'google-recaptcha', 'wpcf7iqfix', array(
75
+ 'recaptcha_empty' => esc_html__( 'Please verify that you are not a robot.', 'wpcf7-recaptcha' ),
76
+ ) );
77
78
}
79
// See `iqfix_wpcf7_manage_hooks` callback above
176
*/
177
function iqfix_wpcf7_recaptcha_form_tag_handler( $tag ) {
178
179
+ if ( ! wp_script_is( 'google-recaptcha', 'registered' ) && function_exists( 'wpcf7_recaptcha_enqueue_scripts' ) ) {
180
wpcf7_recaptcha_enqueue_scripts();
181
}
182
wpcf7-recaptcha.php CHANGED
@@ -2,7 +2,7 @@
2
/**
3
* Plugin Name: ReCaptcha v2 for Contact Form 7
4
* Description: ReCaptcha v2 Fix for Contact Form 7 5.1 and later.
5
- * Version: 1.2.3
6
* Author: IQComputing
7
* Author URI: http://www.iqcomputing.com/
8
* License: GPL2
@@ -18,7 +18,13 @@ defined( 'ABSPATH' ) or die( 'You cannot be here.' );
18
*/
19
Class IQFix_WPCF7_Deity {
20
21
- public static $version = '1.2.3';
22
23
24
/**
@@ -61,13 +67,14 @@ Class IQFix_WPCF7_Deity {
61
* @return void
62
*/
63
private function include_files() {
64
-
65
- $selection = WPCF7::get_option( 'iqfix_recaptcha' );
66
67
// Prevent update from v2 to v3 notice.
68
WPCF7::update_option( 'recaptcha_v2_v3_warning', false );
69
70
- if( empty( $selection ) || version_compare( WPCF7_VERSION, '5.1', '<' ) ) {
71
return;
72
}
73
@@ -159,12 +166,14 @@ Class IQFix_WPCF7_Deity {
159
* @return void
160
*/
161
public function register_submenus() {
162
-
163
add_submenu_page(
164
'wpcf7',
165
esc_html__( 'reCaptcha Version', 'wpcf7-recaptcha' ),
166
esc_html__( 'reCaptcha Version', 'wpcf7-recaptcha' ),
167
- WPCF7_ADMIN_READ_WRITE_CAPABILITY,
168
'recaptcha-version',
169
array( $this, 'display_recaptcha_version_subpage' )
170
);
@@ -197,8 +206,9 @@ Class IQFix_WPCF7_Deity {
197
* @return void
198
*/
199
public function display_recaptcha_version_subpage() {
200
-
201
- $updated = $this->save_recaptcha_settings();
202
203
// Grab Network Settings
204
if( is_network_admin() ) {
@@ -218,7 +228,7 @@ Class IQFix_WPCF7_Deity {
218
}
219
220
// Show simple message
221
- if( version_compare( WPCF7_VERSION, '5.1', '<' ) ) {
222
printf(
223
'<div class="wrap"><h1>%1$s</h1><p>%2$s</p></div>',
224
esc_html__( 'ReCaptcha v2 for Contact Form 7', 'wpcf7-recaptcha' ),
2
/**
3
* Plugin Name: ReCaptcha v2 for Contact Form 7
4
* Description: ReCaptcha v2 Fix for Contact Form 7 5.1 and later.
5
+ * Version: 1.2.4
6
* Author: IQComputing
7
* Author URI: http://www.iqcomputing.com/
8
* License: GPL2
18
*/
19
Class IQFix_WPCF7_Deity {
20
21
+
22
+ /**
23
+ * WPCF7 ReCaptcha Plugin Version
24
+ *
25
+ * @var String
26
+ */
27
+ public static $version = '1.2.4';
28
29
30
/**
67
* @return void
68
*/
69
private function include_files() {
70
+
71
+ $selection = WPCF7::get_option( 'iqfix_recaptcha' );
72
+ $cf7_version = ( defined( 'WPCF7_VERSION' ) ) ? WPCF7_VERSION : WPCF7::get_option( 'version', '0' );
73
74
// Prevent update from v2 to v3 notice.
75
WPCF7::update_option( 'recaptcha_v2_v3_warning', false );
76
77
+ if( empty( $selection ) || version_compare( $cf7_version, '5.1', '<' ) ) {
78
return;
79
}
80
166
* @return void
167
*/
168
public function register_submenus() {
169
+
170
+ $cf7_admin_cap = ( defined( 'WPCF7_ADMIN_READ_WRITE_CAPABILITY' ) ) ? WPCF7_ADMIN_READ_WRITE_CAPABILITY : 'publish_pages';
171
+
172
add_submenu_page(
173
'wpcf7',
174
esc_html__( 'reCaptcha Version', 'wpcf7-recaptcha' ),
175
esc_html__( 'reCaptcha Version', 'wpcf7-recaptcha' ),
176
+ $cf7_admin_cap,
177
'recaptcha-version',
178
array( $this, 'display_recaptcha_version_subpage' )
179
);
206
* @return void
207
*/
208
public function display_recaptcha_version_subpage() {
209
+
210
+ $updated = $this->save_recaptcha_settings();
211
+ $cf7_version = ( defined( 'WPCF7_VERSION' ) ) ? WPCF7_VERSION : WPCF7::get_option( 'version', '0' );
212
213
// Grab Network Settings
214
if( is_network_admin() ) {
228
}
229
230
// Show simple message
231
+ if( version_compare( $cf7_version, '5.1', '<' ) ) {
232
printf(
233
'<div class="wrap"><h1>%1$s</h1><p>%2$s</p></div>',
234
esc_html__( 'ReCaptcha v2 for Contact Form 7', 'wpcf7-recaptcha' ),