Version Description
- 09-01-2018 =
- Fix - Google reCAPTCHA conflict with others plugins.
Download this release
Release Info
Developer | wpeverest |
Plugin | Everest Forms – Easy Contact Form and Form Builder |
Version | 1.4.4 |
Comparing to | |
See all releases |
Code changes from version 1.4.3 to 1.4.4
- everest-forms.php +1 -1
- includes/admin/class-evf-admin-assets.php +1 -1
- includes/admin/settings/class-evf-settings-validation.php +0 -9
- includes/admin/views/html-admin-page-addons.php +13 -11
- includes/class-everest-forms.php +1 -1
- includes/class-evf-form-task.php +1 -1
- includes/class-evf-frontend-scripts.php +30 -39
- includes/class-evf-install.php +21 -13
- includes/evf-update-functions.php +27 -13
- includes/shortcodes/class-evf-shortcode-form.php +147 -116
- languages/everest-forms.pot +22 -31
- readme.txt +8 -1
everest-forms.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: Everest Forms
|
4 |
* Plugin URI: https://wpeverest.com/wordpress-plugins/everest-forms/
|
5 |
* Description: Drag and Drop contact form builder to easily create simple to complex forms for any purpose. Lightweight, Beautiful design, responsive and more.
|
6 |
-
* Version: 1.4.
|
7 |
* Author: WPEverest
|
8 |
* Author URI: https://wpeverest.com
|
9 |
* Text Domain: everest-forms
|
3 |
* Plugin Name: Everest Forms
|
4 |
* Plugin URI: https://wpeverest.com/wordpress-plugins/everest-forms/
|
5 |
* Description: Drag and Drop contact form builder to easily create simple to complex forms for any purpose. Lightweight, Beautiful design, responsive and more.
|
6 |
+
* Version: 1.4.4
|
7 |
* Author: WPEverest
|
8 |
* Author URI: https://wpeverest.com
|
9 |
* Text Domain: everest-forms
|
includes/admin/class-evf-admin-assets.php
CHANGED
@@ -136,7 +136,7 @@ class EVF_Admin_Assets {
|
|
136 |
'upgrade_title' => esc_html__( 'is a PRO Feature', 'everest-forms' ),
|
137 |
'upgrade_message' => esc_html__( 'We\'re sorry, %name% is not available on your plan.<br>Please upgrade to the PRO plan to unlock all these awesome features.', 'everest-forms' ),
|
138 |
'upgrade_button' => esc_html__( 'Upgrade to PRO', 'everest-forms' ),
|
139 |
-
'upgrade_url' => apply_filters( 'everest_forms_upgrade_url', 'https://wpeverest.com/wordpress-plugins/everest-forms
|
140 |
)
|
141 |
);
|
142 |
|
136 |
'upgrade_title' => esc_html__( 'is a PRO Feature', 'everest-forms' ),
|
137 |
'upgrade_message' => esc_html__( 'We\'re sorry, %name% is not available on your plan.<br>Please upgrade to the PRO plan to unlock all these awesome features.', 'everest-forms' ),
|
138 |
'upgrade_button' => esc_html__( 'Upgrade to PRO', 'everest-forms' ),
|
139 |
+
'upgrade_url' => apply_filters( 'everest_forms_upgrade_url', 'https://wpeverest.com/wordpress-plugins/everest-forms/?utm_source=user-dashboard&utm_medium=modal-button&utm_campaign=free-version' ),
|
140 |
)
|
141 |
);
|
142 |
|
includes/admin/settings/class-evf-settings-validation.php
CHANGED
@@ -77,15 +77,6 @@ class EVF_Settings_Validation extends EVF_Settings_Page {
|
|
77 |
'css' => 'min-width: 350px;',
|
78 |
'default' => __( 'Please enter a valid number.', 'everest-forms' ),
|
79 |
),
|
80 |
-
array(
|
81 |
-
'title' => __( 'reCAPTCHA', 'everest-forms' ),
|
82 |
-
'desc' => __( 'Enter the message for the valid recaptcha', 'everest-forms' ),
|
83 |
-
'id' => 'everest_forms_recaptcha_validation',
|
84 |
-
'type' => 'text',
|
85 |
-
'desc_tip' => true,
|
86 |
-
'css' => 'min-width: 350px;',
|
87 |
-
'default' => __( 'Invalid reCaptcha Code.', 'everest-forms' ),
|
88 |
-
),
|
89 |
array(
|
90 |
'type' => 'sectionend',
|
91 |
'id' => 'validation_options',
|
77 |
'css' => 'min-width: 350px;',
|
78 |
'default' => __( 'Please enter a valid number.', 'everest-forms' ),
|
79 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
80 |
array(
|
81 |
'type' => 'sectionend',
|
82 |
'id' => 'validation_options',
|
includes/admin/views/html-admin-page-addons.php
CHANGED
@@ -55,17 +55,19 @@ defined( 'ABSPATH' ) || exit;
|
|
55 |
<div class="the-list">
|
56 |
<?php foreach ( $addons as $addon ) : ?>
|
57 |
<div class="plugin-card plugin-card-<?php echo esc_attr( $addon->slug ); ?>">
|
58 |
-
<
|
59 |
-
<div class="
|
60 |
-
<
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
<
|
|
|
|
|
67 |
</div>
|
68 |
-
</
|
69 |
<div class="plugin-card-bottom">
|
70 |
<?php if ( in_array( $license_plan, $addon->plan, true ) ) : ?>
|
71 |
<div class="status column-status">
|
@@ -105,7 +107,7 @@ defined( 'ABSPATH' ) || exit;
|
|
105 |
</div>
|
106 |
<?php else: ?>
|
107 |
<div class="action-buttons upgrade-plan">
|
108 |
-
<a class="button upgrade-now" href="https://wpeverest.com/wordpress-plugins/everest-forms/pricing
|
109 |
</div>
|
110 |
<?php endif; ?>
|
111 |
</div>
|
55 |
<div class="the-list">
|
56 |
<?php foreach ( $addons as $addon ) : ?>
|
57 |
<div class="plugin-card plugin-card-<?php echo esc_attr( $addon->slug ); ?>">
|
58 |
+
<a href="<?php echo esc_url( $addon->link ); ?>">
|
59 |
+
<div class="plugin-card-top">
|
60 |
+
<div class="name column-name">
|
61 |
+
<h3 class="plugin-name">
|
62 |
+
<?php echo esc_html( $addon->title ); ?>
|
63 |
+
<img src="<?php echo esc_url( $addon->image ); ?>" class="plugin-icon" alt="" />
|
64 |
+
</h3>
|
65 |
+
</div>
|
66 |
+
<div class="desc column-description">
|
67 |
+
<p class="plugin-desc"><?php echo esc_html( $addon->excerpt ); ?></p>
|
68 |
+
</div>
|
69 |
</div>
|
70 |
+
</a>
|
71 |
<div class="plugin-card-bottom">
|
72 |
<?php if ( in_array( $license_plan, $addon->plan, true ) ) : ?>
|
73 |
<div class="status column-status">
|
107 |
</div>
|
108 |
<?php else: ?>
|
109 |
<div class="action-buttons upgrade-plan">
|
110 |
+
<a class="button upgrade-now" href="https://wpeverest.com/wordpress-plugins/everest-forms/pricing/?utm_source=user-dashboard&utm_medium=addons-upgrade-button&utm_campaign=free-version" target="_blank"><?php esc_html_e( 'Upgrade Plan', 'everest-forms' ); ?></a>
|
111 |
</div>
|
112 |
<?php endif; ?>
|
113 |
</div>
|
includes/class-everest-forms.php
CHANGED
@@ -21,7 +21,7 @@ final class EverestForms {
|
|
21 |
*
|
22 |
* @var string
|
23 |
*/
|
24 |
-
public $version = '1.4.
|
25 |
|
26 |
/**
|
27 |
* The single instance of the class.
|
21 |
*
|
22 |
* @var string
|
23 |
*/
|
24 |
+
public $version = '1.4.4';
|
25 |
|
26 |
/**
|
27 |
* The single instance of the class.
|
includes/class-evf-form-task.php
CHANGED
@@ -115,7 +115,7 @@ class EVF_Form_Task {
|
|
115 |
$data = wp_remote_get( 'https://www.google.com/recaptcha/api/siteverify?secret=' . $secret_key . '&response=' . $_POST['g-recaptcha-response'] );
|
116 |
$data = json_decode( wp_remote_retrieve_body( $data ) );
|
117 |
if ( empty( $data->success ) ) {
|
118 |
-
evf_add_notice(
|
119 |
return;
|
120 |
}
|
121 |
} else {
|
115 |
$data = wp_remote_get( 'https://www.google.com/recaptcha/api/siteverify?secret=' . $secret_key . '&response=' . $_POST['g-recaptcha-response'] );
|
116 |
$data = json_decode( wp_remote_retrieve_body( $data ) );
|
117 |
if ( empty( $data->success ) ) {
|
118 |
+
evf_add_notice( __( 'Incorrect reCAPTCHA, please try again.', 'everest-forms' ), 'error' );
|
119 |
return;
|
120 |
}
|
121 |
} else {
|
includes/class-evf-frontend-scripts.php
CHANGED
@@ -2,16 +2,12 @@
|
|
2 |
/**
|
3 |
* Handle frontend scripts
|
4 |
*
|
5 |
-
* @class
|
6 |
-
* @version
|
7 |
-
* @package
|
8 |
-
* @category Class
|
9 |
-
* @author WPEverest
|
10 |
*/
|
11 |
|
12 |
-
|
13 |
-
exit;
|
14 |
-
}
|
15 |
|
16 |
/**
|
17 |
* EVF_Frontend_Scripts Class.
|
@@ -20,18 +16,21 @@ class EVF_Frontend_Scripts {
|
|
20 |
|
21 |
/**
|
22 |
* Contains an array of script handles registered by EVF.
|
|
|
23 |
* @var array
|
24 |
*/
|
25 |
private static $scripts = array();
|
26 |
|
27 |
/**
|
28 |
* Contains an array of script handles registered by EVF.
|
|
|
29 |
* @var array
|
30 |
*/
|
31 |
private static $styles = array();
|
32 |
|
33 |
/**
|
34 |
* Contains an array of script handles localized by EVF.
|
|
|
35 |
* @var array
|
36 |
*/
|
37 |
private static $wp_localize_scripts = array();
|
@@ -51,15 +50,18 @@ class EVF_Frontend_Scripts {
|
|
51 |
* @return array
|
52 |
*/
|
53 |
public static function get_styles() {
|
54 |
-
return apply_filters(
|
55 |
-
'
|
56 |
-
|
57 |
-
'
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
|
|
|
|
|
|
63 |
}
|
64 |
|
65 |
/**
|
@@ -162,7 +164,7 @@ class EVF_Frontend_Scripts {
|
|
162 |
'deps' => array( 'jquery' ),
|
163 |
'version' => '4.0.0-beta.58',
|
164 |
),
|
165 |
-
'flatpickr'
|
166 |
'src' => self::get_asset_url( 'assets/js/flatpickr/flatpickr' . $suffix . '.js' ),
|
167 |
'deps' => array( 'jquery' ),
|
168 |
'version' => '4.5.1',
|
@@ -188,7 +190,7 @@ class EVF_Frontend_Scripts {
|
|
188 |
*/
|
189 |
private static function register_styles() {
|
190 |
$register_styles = array(
|
191 |
-
'select2'
|
192 |
'src' => self::get_asset_url( 'assets/css/select2.css' ),
|
193 |
'deps' => array(),
|
194 |
'version' => EVF_VERSION,
|
@@ -232,23 +234,11 @@ class EVF_Frontend_Scripts {
|
|
232 |
self::enqueue_style( $handle, $args['src'], $args['deps'], $args['version'], $args['media'], $args['has_rtl'] );
|
233 |
}
|
234 |
}
|
235 |
-
|
236 |
-
// Load reCAPTCHA support if form supports it.
|
237 |
-
$site_key = get_option( 'everest_forms_recaptcha_site_key' );
|
238 |
-
$secret_key = get_option( 'everest_forms_recaptcha_site_secret' );
|
239 |
-
if ( $site_key && $secret_key ) {
|
240 |
-
$recaptcha_api = apply_filters( 'everest_forms_frontend_recaptcha_url', 'https://www.google.com/recaptcha/api.js?onload=EVFRecaptchaLoad&render=explicit' );
|
241 |
-
$recaptch_inline = 'var EVFRecaptchaLoad = function(){jQuery(".g-recaptcha").each(function(index, el){grecaptcha.render(el,{callback:function(){EVFRecaptchaCallback(el);}},true);});};';
|
242 |
-
$recaptch_inline .= 'var EVFRecaptchaCallback = function(el){jQuery(el).parent().find(".evf-recaptcha-hidden").val("1").valid();};';
|
243 |
-
|
244 |
-
// Enqueue reCaptcha scripts.
|
245 |
-
wp_enqueue_script( 'evf-recaptcha', $recaptcha_api, array( 'jquery' ), '2.0.0', true );
|
246 |
-
wp_add_inline_script( 'evf-recaptcha', $recaptch_inline );
|
247 |
-
}
|
248 |
}
|
249 |
|
250 |
/**
|
251 |
* Localize a EVF script once.
|
|
|
252 |
* @access private
|
253 |
*
|
254 |
* @param string $handle
|
@@ -263,6 +253,7 @@ class EVF_Frontend_Scripts {
|
|
263 |
|
264 |
/**
|
265 |
* Return data for script handles.
|
|
|
266 |
* @access private
|
267 |
*
|
268 |
* @param string $handle
|
@@ -271,16 +262,16 @@ class EVF_Frontend_Scripts {
|
|
271 |
*/
|
272 |
private static function get_script_data( $handle ) {
|
273 |
switch ( $handle ) {
|
274 |
-
case 'everest-forms'
|
275 |
$params = array(
|
276 |
'ajax_url' => EVF()->ajax_url(),
|
277 |
'everest_forms_data_save' => wp_create_nonce( 'everest_forms_data_save_nonce' ),
|
278 |
-
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
|
283 |
-
|
284 |
default:
|
285 |
$params = false;
|
286 |
}
|
2 |
/**
|
3 |
* Handle frontend scripts
|
4 |
*
|
5 |
+
* @class EVF_Frontend_Scripts
|
6 |
+
* @version 1.0.0
|
7 |
+
* @package EverestForms/Classes/
|
|
|
|
|
8 |
*/
|
9 |
|
10 |
+
defined( 'ABSPATH' ) || exit;
|
|
|
|
|
11 |
|
12 |
/**
|
13 |
* EVF_Frontend_Scripts Class.
|
16 |
|
17 |
/**
|
18 |
* Contains an array of script handles registered by EVF.
|
19 |
+
*
|
20 |
* @var array
|
21 |
*/
|
22 |
private static $scripts = array();
|
23 |
|
24 |
/**
|
25 |
* Contains an array of script handles registered by EVF.
|
26 |
+
*
|
27 |
* @var array
|
28 |
*/
|
29 |
private static $styles = array();
|
30 |
|
31 |
/**
|
32 |
* Contains an array of script handles localized by EVF.
|
33 |
+
*
|
34 |
* @var array
|
35 |
*/
|
36 |
private static $wp_localize_scripts = array();
|
50 |
* @return array
|
51 |
*/
|
52 |
public static function get_styles() {
|
53 |
+
return apply_filters(
|
54 |
+
'everest_forms_enqueue_styles',
|
55 |
+
array(
|
56 |
+
'everest-forms-general' => array(
|
57 |
+
'src' => self::get_asset_url( 'assets/css/everest-forms.css' ),
|
58 |
+
'deps' => '',
|
59 |
+
'version' => EVF_VERSION,
|
60 |
+
'media' => 'all',
|
61 |
+
'has_rtl' => true,
|
62 |
+
),
|
63 |
+
)
|
64 |
+
);
|
65 |
}
|
66 |
|
67 |
/**
|
164 |
'deps' => array( 'jquery' ),
|
165 |
'version' => '4.0.0-beta.58',
|
166 |
),
|
167 |
+
'flatpickr' => array(
|
168 |
'src' => self::get_asset_url( 'assets/js/flatpickr/flatpickr' . $suffix . '.js' ),
|
169 |
'deps' => array( 'jquery' ),
|
170 |
'version' => '4.5.1',
|
190 |
*/
|
191 |
private static function register_styles() {
|
192 |
$register_styles = array(
|
193 |
+
'select2' => array(
|
194 |
'src' => self::get_asset_url( 'assets/css/select2.css' ),
|
195 |
'deps' => array(),
|
196 |
'version' => EVF_VERSION,
|
234 |
self::enqueue_style( $handle, $args['src'], $args['deps'], $args['version'], $args['media'], $args['has_rtl'] );
|
235 |
}
|
236 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
237 |
}
|
238 |
|
239 |
/**
|
240 |
* Localize a EVF script once.
|
241 |
+
*
|
242 |
* @access private
|
243 |
*
|
244 |
* @param string $handle
|
253 |
|
254 |
/**
|
255 |
* Return data for script handles.
|
256 |
+
*
|
257 |
* @access private
|
258 |
*
|
259 |
* @param string $handle
|
262 |
*/
|
263 |
private static function get_script_data( $handle ) {
|
264 |
switch ( $handle ) {
|
265 |
+
case 'everest-forms':
|
266 |
$params = array(
|
267 |
'ajax_url' => EVF()->ajax_url(),
|
268 |
'everest_forms_data_save' => wp_create_nonce( 'everest_forms_data_save_nonce' ),
|
269 |
+
'i18n_messages_required' => get_option( 'everest_forms_required_validation' ),
|
270 |
+
'i18n_messages_url' => get_option( 'everest_forms_url_validation' ),
|
271 |
+
'i18n_messages_email' => get_option( 'everest_forms_email_validation' ),
|
272 |
+
'i18n_messages_number' => get_option( 'everest_forms_number_validation' ),
|
273 |
+
);
|
274 |
+
break;
|
275 |
default:
|
276 |
$params = false;
|
277 |
}
|
includes/class-evf-install.php
CHANGED
@@ -48,8 +48,12 @@ class EVF_Install {
|
|
48 |
),
|
49 |
'1.4.0' => array(
|
50 |
'evf_update_140_db_multiple_email',
|
51 |
-
'evf_update_140_db_version'
|
52 |
-
)
|
|
|
|
|
|
|
|
|
53 |
);
|
54 |
|
55 |
/**
|
@@ -330,7 +334,7 @@ class EVF_Install {
|
|
330 |
}
|
331 |
}
|
332 |
|
333 |
-
require_once
|
334 |
|
335 |
dbDelta( self::get_schema() );
|
336 |
}
|
@@ -525,18 +529,22 @@ CREATE TABLE {$wpdb->prefix}evf_sessions (
|
|
525 |
include_once dirname( __FILE__ ) . '/templates/contact.php';
|
526 |
|
527 |
// Create a form.
|
528 |
-
$form_id = wp_insert_post(
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
|
|
|
|
534 |
|
535 |
if ( $form_id ) {
|
536 |
-
wp_update_post(
|
537 |
-
|
538 |
-
|
539 |
-
|
|
|
|
|
540 |
}
|
541 |
|
542 |
update_option( 'everest_forms_default_form_page_id', $form_id );
|
48 |
),
|
49 |
'1.4.0' => array(
|
50 |
'evf_update_140_db_multiple_email',
|
51 |
+
'evf_update_140_db_version',
|
52 |
+
),
|
53 |
+
'1.4.4' => array(
|
54 |
+
'evf_update_144_delete_options',
|
55 |
+
'evf_update_144_db_version',
|
56 |
+
),
|
57 |
);
|
58 |
|
59 |
/**
|
334 |
}
|
335 |
}
|
336 |
|
337 |
+
require_once ABSPATH . 'wp-admin/includes/upgrade.php';
|
338 |
|
339 |
dbDelta( self::get_schema() );
|
340 |
}
|
529 |
include_once dirname( __FILE__ ) . '/templates/contact.php';
|
530 |
|
531 |
// Create a form.
|
532 |
+
$form_id = wp_insert_post(
|
533 |
+
array(
|
534 |
+
'post_title' => esc_html( 'Contact Form', 'everest-forms' ),
|
535 |
+
'post_status' => 'publish',
|
536 |
+
'post_type' => 'everest_form',
|
537 |
+
'post_content' => '{}',
|
538 |
+
)
|
539 |
+
);
|
540 |
|
541 |
if ( $form_id ) {
|
542 |
+
wp_update_post(
|
543 |
+
array(
|
544 |
+
'ID' => $form_id,
|
545 |
+
'post_content' => evf_encode( array_merge( array( 'id' => $form_id ), $form_template['contact'] ) ),
|
546 |
+
)
|
547 |
+
);
|
548 |
}
|
549 |
|
550 |
update_option( 'everest_forms_default_form_page_id', $form_id );
|
includes/evf-update-functions.php
CHANGED
@@ -125,9 +125,9 @@ function evf_update_120_db_rename_options() {
|
|
125 |
* Update email settings adding connection data.
|
126 |
*/
|
127 |
function evf_update_140_db_multiple_email() {
|
128 |
-
|
129 |
|
130 |
-
|
131 |
foreach ( $forms as $form ) {
|
132 |
$form_id = isset( $form->ID ) ? $form->ID : '0';
|
133 |
$form_data = ! empty( $form->post_content ) ? evf_decode( $form->post_content ) : '';
|
@@ -136,19 +136,19 @@ function evf_update_140_db_multiple_email() {
|
|
136 |
$email = (array) $form_data['settings']['email'];
|
137 |
|
138 |
// New email conn.
|
139 |
-
$new_email
|
140 |
$new_email['connection_name'] = esc_html__( 'Admin Notification', 'everest-forms' );
|
141 |
-
$new_email
|
142 |
|
143 |
// Unset previous email data structure.
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
$unique_connection_id
|
152 |
$form_data['settings']['email'] = array( 'connection_1' => $new_email );
|
153 |
|
154 |
if ( isset( $email['evf_send_confirmation_email'] ) && '1' === $email['evf_send_confirmation_email'] ) {
|
@@ -163,7 +163,7 @@ function evf_update_140_db_multiple_email() {
|
|
163 |
);
|
164 |
}
|
165 |
|
166 |
-
if ( isset( $email['attach_pdf_to_user_email'] ) && '1' === $email['attach_pdf_to_user_email'] ){
|
167 |
$form_data['settings']['email'][ $unique_connection_id ]['attach_pdf_to_admin_email'] = '1';
|
168 |
}
|
169 |
|
@@ -200,3 +200,17 @@ function evf_update_130_db_version() {
|
|
200 |
function evf_update_140_db_version() {
|
201 |
EVF_Install::update_db_version( '1.4.0' );
|
202 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
125 |
* Update email settings adding connection data.
|
126 |
*/
|
127 |
function evf_update_140_db_multiple_email() {
|
128 |
+
$forms = EVF()->form->get( '', array( 'order' => 'DESC' ) );
|
129 |
|
130 |
+
// Loop through each forms.
|
131 |
foreach ( $forms as $form ) {
|
132 |
$form_id = isset( $form->ID ) ? $form->ID : '0';
|
133 |
$form_data = ! empty( $form->post_content ) ? evf_decode( $form->post_content ) : '';
|
136 |
$email = (array) $form_data['settings']['email'];
|
137 |
|
138 |
// New email conn.
|
139 |
+
$new_email = array();
|
140 |
$new_email['connection_name'] = esc_html__( 'Admin Notification', 'everest-forms' );
|
141 |
+
$new_email = array_merge( $new_email, $email );
|
142 |
|
143 |
// Unset previous email data structure.
|
144 |
+
$email_settings = array( 'evf_send_confirmation_email', 'evf_user_to_email', 'evf_user_email_subject', 'evf_user_email_message', 'attach_pdf_to_user_email' );
|
145 |
+
foreach ( $email_settings as $email_setting ) {
|
146 |
+
unset( $email_setting );
|
147 |
+
}
|
148 |
+
|
149 |
+
// Maintain the multiple-email connections data structure.
|
150 |
+
if ( ! isset( $form_data['settings']['email']['connection_1'] ) ) {
|
151 |
+
$unique_connection_id = sprintf( 'connection_%s', uniqid() );
|
152 |
$form_data['settings']['email'] = array( 'connection_1' => $new_email );
|
153 |
|
154 |
if ( isset( $email['evf_send_confirmation_email'] ) && '1' === $email['evf_send_confirmation_email'] ) {
|
163 |
);
|
164 |
}
|
165 |
|
166 |
+
if ( isset( $email['attach_pdf_to_user_email'] ) && '1' === $email['attach_pdf_to_user_email'] ) {
|
167 |
$form_data['settings']['email'][ $unique_connection_id ]['attach_pdf_to_admin_email'] = '1';
|
168 |
}
|
169 |
|
200 |
function evf_update_140_db_version() {
|
201 |
EVF_Install::update_db_version( '1.4.0' );
|
202 |
}
|
203 |
+
|
204 |
+
/**
|
205 |
+
* Delete global reCAPTCHA related options.
|
206 |
+
*/
|
207 |
+
function evf_update_144_delete_options() {
|
208 |
+
delete_option( 'everest_forms_recaptcha_validation' );
|
209 |
+
}
|
210 |
+
|
211 |
+
/**
|
212 |
+
* Update DB Version.
|
213 |
+
*/
|
214 |
+
function evf_update_144_db_version() {
|
215 |
+
EVF_Install::update_db_version( '1.4.4' );
|
216 |
+
}
|
includes/shortcodes/class-evf-shortcode-form.php
CHANGED
@@ -54,7 +54,7 @@ class EVF_Shortcode_Form {
|
|
54 |
*/
|
55 |
public static function footer( $form_data, $title, $description ) {
|
56 |
$form_id = absint( $form_data['id'] );
|
57 |
-
$settings = isset( $form_data['settings'] ) ? $form_data['settings'] : ''
|
58 |
$submit = apply_filters( 'everest_forms_field_submit', isset( $settings['submit_button_text'] ) ? $settings['submit_button_text'] : __( 'Submit', 'everest-forms' ), $form_data );
|
59 |
$process = '';
|
60 |
$classes = '';
|
@@ -70,9 +70,9 @@ class EVF_Shortcode_Form {
|
|
70 |
|
71 |
echo '<input type="hidden" name="everest_forms[author]" value="' . absint( get_the_author_meta( 'ID' ) ) . '">';
|
72 |
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
|
77 |
do_action( 'everest_forms_display_submit_before', $form_data );
|
78 |
|
@@ -97,12 +97,12 @@ class EVF_Shortcode_Form {
|
|
97 |
|
98 |
$error = $field['properties']['error'];
|
99 |
|
100 |
-
|
101 |
if ( empty( $error['value'] ) || is_array( $error['value'] ) ) {
|
102 |
return;
|
103 |
}
|
104 |
|
105 |
-
printf(
|
|
|
106 |
evf_html_attributes( $error['id'], $error['class'], $error['data'], $error['attr'] ),
|
107 |
esc_html( $error['value'] )
|
108 |
);
|
@@ -131,7 +131,8 @@ class EVF_Shortcode_Form {
|
|
131 |
$description['class'][] = 'evf-field-description-before';
|
132 |
}
|
133 |
|
134 |
-
printf(
|
|
|
135 |
evf_html_attributes( $description['id'], $description['class'], $description['data'], $description['attr'] ),
|
136 |
$description['value']
|
137 |
);
|
@@ -147,7 +148,8 @@ class EVF_Shortcode_Form {
|
|
147 |
|
148 |
$required = $label['required'] ? apply_filters( 'everest_forms_field_required_label', '<abbr class="required" title="' . esc_attr__( 'Required', 'everest-forms' ) . '">*</abbr>' ) : '';
|
149 |
|
150 |
-
printf(
|
|
|
151 |
evf_html_attributes( $label['id'], $label['class'], $label['data'], $label['attr'] ),
|
152 |
esc_html( $label['value'] ),
|
153 |
$required
|
@@ -159,7 +161,7 @@ class EVF_Shortcode_Form {
|
|
159 |
*/
|
160 |
public static function confirmation( $form_data ) {
|
161 |
|
162 |
-
$settings
|
163 |
$success_message = isset( $settings['successful_form_submission_message'] ) ? $settings['successful_form_submission_message'] : __( 'Thanks for contacting us! We will be in touch with you shortly.', 'everest-forms' );
|
164 |
|
165 |
// Only display if a confirmation message has been configured.
|
@@ -227,61 +229,61 @@ class EVF_Shortcode_Form {
|
|
227 |
*/
|
228 |
do_action( 'everest_forms_display_fields_before', $form_data );
|
229 |
|
230 |
-
|
231 |
-
|
232 |
-
/**
|
233 |
-
* Hook: everest_forms_display_row_before.
|
234 |
-
*/
|
235 |
-
do_action( 'everest_forms_display_row_before', $row_key, $form_data );
|
236 |
|
237 |
-
|
|
|
|
|
|
|
238 |
|
239 |
-
|
240 |
-
$number_of_grid = count( $row );
|
241 |
|
242 |
-
|
|
|
243 |
|
244 |
-
|
245 |
-
$grid = array();
|
246 |
-
}
|
247 |
|
248 |
-
|
249 |
-
|
250 |
-
|
251 |
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
|
256 |
-
|
257 |
-
|
|
|
258 |
|
259 |
-
|
260 |
-
|
261 |
|
262 |
-
|
263 |
-
|
264 |
|
265 |
-
|
|
|
266 |
|
267 |
-
|
268 |
|
269 |
-
|
270 |
-
}
|
271 |
|
272 |
-
|
273 |
}
|
274 |
|
275 |
echo '</div>';
|
276 |
-
|
277 |
-
/**
|
278 |
-
* Hook: everest_forms_display_row_after.
|
279 |
-
*
|
280 |
-
* @hooked EverestForms_MultiPart::display_row_after() Multi-Part markup (close previous part, open next).
|
281 |
-
*/
|
282 |
-
do_action( 'everest_forms_display_row_after', $row_key, $form_data );
|
283 |
}
|
284 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
285 |
/**
|
286 |
* Hook: everest_forms_display_fields_after.
|
287 |
*
|
@@ -297,7 +299,7 @@ class EVF_Shortcode_Form {
|
|
297 |
*
|
298 |
* @param array $form_data
|
299 |
*/
|
300 |
-
public static function recaptcha( $form_data ){
|
301 |
$site_key = get_option( 'everest_forms_recaptcha_site_key' );
|
302 |
$secret_key = get_option( 'everest_forms_recaptcha_site_secret' );
|
303 |
if ( ! $site_key || ! $secret_key ) {
|
@@ -306,13 +308,29 @@ class EVF_Shortcode_Form {
|
|
306 |
|
307 |
if ( isset( $form_data['settings']['recaptcha_support'] ) && '1' === $form_data['settings']['recaptcha_support'] ) {
|
308 |
$visible = self::$parts ? 'style="display:none;"' : '';
|
309 |
-
$data = apply_filters(
|
310 |
-
'
|
311 |
-
|
|
|
|
|
|
|
|
|
312 |
|
|
|
313 |
if ( $site_key && $secret_key ) {
|
314 |
-
$
|
315 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
316 |
|
317 |
// Output the reCAPTCHA container.
|
318 |
echo '<div class="evf-recaptcha-container" ' . $visible . '>';
|
@@ -404,58 +422,63 @@ class EVF_Shortcode_Form {
|
|
404 |
$form_id = absint( $form_data['id'] );
|
405 |
$field_id = sanitize_text_field( $field['id'] );
|
406 |
|
407 |
-
$properties = apply_filters(
|
408 |
-
'
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
'attr' => array(
|
418 |
-
'for' => sprintf( 'evf-%d-field_%s', $form_id, $field_id ),
|
419 |
),
|
420 |
-
'
|
421 |
-
'data' => array(),
|
422 |
-
'disabled' => ! empty( $field['label_disable'] ) ? true : false,
|
423 |
-
'hidden' => ! empty( $field['label_hide'] ) ? true : false,
|
424 |
-
'id' => $attributes['label_id'],
|
425 |
-
'required' => ! empty( $field['required'] ) ? true : false,
|
426 |
-
'value' => ! empty( $field['label'] ) ? $field['label'] : '',
|
427 |
-
),
|
428 |
-
'inputs' => array(
|
429 |
-
'primary' => array(
|
430 |
'attr' => array(
|
431 |
-
'
|
432 |
-
'value' => ( isset( $field['default_value'] ) && ! empty( $field['default_value'] ) ) ? apply_filters( 'everest_forms_process_smart_tags', $field['default_value'], $form_data ) : ( isset( $_POST['everest_forms']['form_fields'][$field_id] ) ? $_POST['everest_forms']['form_fields'][$field_id] : '' ),
|
433 |
-
'placeholder' => isset( $field['placeholder'] ) ? $field['placeholder'] : '',
|
434 |
),
|
435 |
-
'class' => $attributes['
|
436 |
-
'data' =>
|
437 |
-
'
|
438 |
-
'
|
|
|
|
|
|
|
439 |
),
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
444 |
),
|
445 |
-
'class' => array( 'evf-error' ),
|
446 |
-
'data' => array(),
|
447 |
-
'id' => '',
|
448 |
-
'value' => ! empty( EVF()->task->errors[ $form_id ][ $field_id ] ) ? EVF()->task->errors[ $form_id ][ $field_id ] : '',
|
449 |
-
),
|
450 |
-
'description' => array(
|
451 |
-
'attr' => array(),
|
452 |
-
'class' => $attributes['description_class'],
|
453 |
-
'data' => array(),
|
454 |
-
'id' => implode( '', array_slice( $attributes['description_id'], 0 ) ),
|
455 |
-
'position' => 'after',
|
456 |
-
'value' => ! empty( $field['description'] ) ? $field['description'] : '',
|
457 |
),
|
458 |
-
|
|
|
|
|
459 |
|
460 |
return apply_filters( 'everest_forms_field_properties', $properties, $field, $form_data );
|
461 |
}
|
@@ -476,11 +499,15 @@ class EVF_Shortcode_Form {
|
|
476 |
wp_enqueue_script( 'flatpickr' );
|
477 |
}
|
478 |
|
479 |
-
$atts = shortcode_atts(
|
480 |
-
|
481 |
-
|
482 |
-
|
483 |
-
|
|
|
|
|
|
|
|
|
484 |
|
485 |
ob_start();
|
486 |
|
@@ -492,8 +519,8 @@ class EVF_Shortcode_Form {
|
|
492 |
/**
|
493 |
* Form view.
|
494 |
*
|
495 |
-
* @param int
|
496 |
-
* @param bool
|
497 |
* @param boolean $description
|
498 |
*/
|
499 |
private static function view( $id, $title = false, $description = false ) {
|
@@ -559,18 +586,22 @@ class EVF_Shortcode_Form {
|
|
559 |
$form_id
|
560 |
);
|
561 |
|
562 |
-
$form_atts = apply_filters(
|
563 |
-
'
|
564 |
-
|
565 |
-
|
566 |
-
'
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
'
|
571 |
-
|
|
|
|
|
|
|
572 |
),
|
573 |
-
|
|
|
574 |
echo '<form ' . evf_html_attributes( $form_atts['id'], $form_atts['class'], $form_atts['data'], $form_atts['atts'] ) . '>';
|
575 |
|
576 |
do_action( 'everest_forms_frontend_output', $form_data, $title, $description );
|
54 |
*/
|
55 |
public static function footer( $form_data, $title, $description ) {
|
56 |
$form_id = absint( $form_data['id'] );
|
57 |
+
$settings = isset( $form_data['settings'] ) ? $form_data['settings'] : '';
|
58 |
$submit = apply_filters( 'everest_forms_field_submit', isset( $settings['submit_button_text'] ) ? $settings['submit_button_text'] : __( 'Submit', 'everest-forms' ), $form_data );
|
59 |
$process = '';
|
60 |
$classes = '';
|
70 |
|
71 |
echo '<input type="hidden" name="everest_forms[author]" value="' . absint( get_the_author_meta( 'ID' ) ) . '">';
|
72 |
|
73 |
+
if ( is_singular() ) {
|
74 |
+
echo '<input type="hidden" name="everest_forms[post_id]" value="' . get_the_ID() . '">';
|
75 |
+
}
|
76 |
|
77 |
do_action( 'everest_forms_display_submit_before', $form_data );
|
78 |
|
97 |
|
98 |
$error = $field['properties']['error'];
|
99 |
|
|
|
100 |
if ( empty( $error['value'] ) || is_array( $error['value'] ) ) {
|
101 |
return;
|
102 |
}
|
103 |
|
104 |
+
printf(
|
105 |
+
'<label %s>%s</label>',
|
106 |
evf_html_attributes( $error['id'], $error['class'], $error['data'], $error['attr'] ),
|
107 |
esc_html( $error['value'] )
|
108 |
);
|
131 |
$description['class'][] = 'evf-field-description-before';
|
132 |
}
|
133 |
|
134 |
+
printf(
|
135 |
+
'<div %s>%s</div>',
|
136 |
evf_html_attributes( $description['id'], $description['class'], $description['data'], $description['attr'] ),
|
137 |
$description['value']
|
138 |
);
|
148 |
|
149 |
$required = $label['required'] ? apply_filters( 'everest_forms_field_required_label', '<abbr class="required" title="' . esc_attr__( 'Required', 'everest-forms' ) . '">*</abbr>' ) : '';
|
150 |
|
151 |
+
printf(
|
152 |
+
'<label %s>%s %s</label>',
|
153 |
evf_html_attributes( $label['id'], $label['class'], $label['data'], $label['attr'] ),
|
154 |
esc_html( $label['value'] ),
|
155 |
$required
|
161 |
*/
|
162 |
public static function confirmation( $form_data ) {
|
163 |
|
164 |
+
$settings = $form_data['settings'];
|
165 |
$success_message = isset( $settings['successful_form_submission_message'] ) ? $settings['successful_form_submission_message'] : __( 'Thanks for contacting us! We will be in touch with you shortly.', 'everest-forms' );
|
166 |
|
167 |
// Only display if a confirmation message has been configured.
|
229 |
*/
|
230 |
do_action( 'everest_forms_display_fields_before', $form_data );
|
231 |
|
232 |
+
foreach ( $structure as $row_key => $row ) {
|
|
|
|
|
|
|
|
|
|
|
233 |
|
234 |
+
/**
|
235 |
+
* Hook: everest_forms_display_row_before.
|
236 |
+
*/
|
237 |
+
do_action( 'everest_forms_display_row_before', $row_key, $form_data );
|
238 |
|
239 |
+
echo '<div class="evf-frontend-row" data-row="' . $row_key . '">';
|
|
|
240 |
|
241 |
+
foreach ( $row as $grid_key => $grid ) {
|
242 |
+
$number_of_grid = count( $row );
|
243 |
|
244 |
+
echo '<div class="evf-frontend-grid evf-grid-' . $number_of_grid . '" data-grid="' . $grid_key . '">';
|
|
|
|
|
245 |
|
246 |
+
if ( ! is_array( $grid ) ) {
|
247 |
+
$grid = array();
|
248 |
+
}
|
249 |
|
250 |
+
foreach ( $grid as $field_key ) {
|
251 |
+
$field = isset( $form_data['form_fields'][ $field_key ] ) ? $form_data['form_fields'][ $field_key ] : array();
|
252 |
+
$field = apply_filters( 'everest_forms_field_data', $field, $form_data );
|
253 |
|
254 |
+
if ( empty( $field ) || in_array( $field['type'], EVF()->form_fields->get_pro_form_field_types(), true ) ) {
|
255 |
+
continue;
|
256 |
+
}
|
257 |
|
258 |
+
// Get field attributes.
|
259 |
+
$attributes = self::get_field_attributes( $field, $form_data );
|
260 |
|
261 |
+
// Get field properties.
|
262 |
+
$properties = self::get_field_properties( $field, $form_data, $attributes );
|
263 |
|
264 |
+
// Add properties to the field so it's available everywhere.
|
265 |
+
$field['properties'] = $properties;
|
266 |
|
267 |
+
do_action( 'everest_forms_display_field_before', $field, $form_data );
|
268 |
|
269 |
+
do_action( "everest_forms_display_field_{$field['type']}", $field, $attributes, $form_data );
|
|
|
270 |
|
271 |
+
do_action( 'everest_forms_display_field_after', $field, $form_data );
|
272 |
}
|
273 |
|
274 |
echo '</div>';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
275 |
}
|
276 |
|
277 |
+
echo '</div>';
|
278 |
+
|
279 |
+
/**
|
280 |
+
* Hook: everest_forms_display_row_after.
|
281 |
+
*
|
282 |
+
* @hooked EverestForms_MultiPart::display_row_after() Multi-Part markup (close previous part, open next).
|
283 |
+
*/
|
284 |
+
do_action( 'everest_forms_display_row_after', $row_key, $form_data );
|
285 |
+
}
|
286 |
+
|
287 |
/**
|
288 |
* Hook: everest_forms_display_fields_after.
|
289 |
*
|
299 |
*
|
300 |
* @param array $form_data
|
301 |
*/
|
302 |
+
public static function recaptcha( $form_data ) {
|
303 |
$site_key = get_option( 'everest_forms_recaptcha_site_key' );
|
304 |
$secret_key = get_option( 'everest_forms_recaptcha_site_secret' );
|
305 |
if ( ! $site_key || ! $secret_key ) {
|
308 |
|
309 |
if ( isset( $form_data['settings']['recaptcha_support'] ) && '1' === $form_data['settings']['recaptcha_support'] ) {
|
310 |
$visible = self::$parts ? 'style="display:none;"' : '';
|
311 |
+
$data = apply_filters(
|
312 |
+
'everest_forms_frontend_recaptcha',
|
313 |
+
array(
|
314 |
+
'sitekey' => trim( sanitize_text_field( $site_key ) ),
|
315 |
+
),
|
316 |
+
$form_data
|
317 |
+
);
|
318 |
|
319 |
+
// Load reCAPTCHA support if form supports it.
|
320 |
if ( $site_key && $secret_key ) {
|
321 |
+
$recaptcha_api = apply_filters( 'everest_forms_frontend_recaptcha_url', 'https://www.google.com/recaptcha/api.js?onload=EVFRecaptchaLoad&render=explicit' );
|
322 |
+
$recaptcha_inline = 'var EVFRecaptchaLoad = function(){jQuery(".g-recaptcha").each(function(index, el){grecaptcha.render(el,{callback:function(){EVFRecaptchaCallback(el);}},true);});};';
|
323 |
+
$recaptcha_inline .= 'var EVFRecaptchaCallback = function(el){jQuery(el).parent().find(".evf-recaptcha-hidden").val("1").valid();};';
|
324 |
+
|
325 |
+
// Enqueue reCaptcha scripts.
|
326 |
+
wp_enqueue_script( 'evf-recaptcha', $recaptcha_api, array( 'jquery' ), '2.0.0', false );
|
327 |
+
|
328 |
+
// Load reCaptcha callback once.
|
329 |
+
static $count = 1;
|
330 |
+
if ( $count === 1 ) {
|
331 |
+
wp_add_inline_script( 'evf-recaptcha', $recaptcha_inline );
|
332 |
+
$count++;
|
333 |
+
}
|
334 |
|
335 |
// Output the reCAPTCHA container.
|
336 |
echo '<div class="evf-recaptcha-container" ' . $visible . '>';
|
422 |
$form_id = absint( $form_data['id'] );
|
423 |
$field_id = sanitize_text_field( $field['id'] );
|
424 |
|
425 |
+
$properties = apply_filters(
|
426 |
+
'everest_forms_field_properties_' . $field['type'],
|
427 |
+
array(
|
428 |
+
'container' => array(
|
429 |
+
'attr' => array(
|
430 |
+
'style' => $attributes['field_style'],
|
431 |
+
),
|
432 |
+
'class' => $attributes['field_class'],
|
433 |
+
'data' => array(),
|
434 |
+
'id' => implode( '', array_slice( $attributes['field_id'], 0 ) ),
|
|
|
|
|
435 |
),
|
436 |
+
'label' => array(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
437 |
'attr' => array(
|
438 |
+
'for' => sprintf( 'evf-%d-field_%s', $form_id, $field_id ),
|
|
|
|
|
439 |
),
|
440 |
+
'class' => $attributes['label_class'],
|
441 |
+
'data' => array(),
|
442 |
+
'disabled' => ! empty( $field['label_disable'] ) ? true : false,
|
443 |
+
'hidden' => ! empty( $field['label_hide'] ) ? true : false,
|
444 |
+
'id' => $attributes['label_id'],
|
445 |
+
'required' => ! empty( $field['required'] ) ? true : false,
|
446 |
+
'value' => ! empty( $field['label'] ) ? $field['label'] : '',
|
447 |
),
|
448 |
+
'inputs' => array(
|
449 |
+
'primary' => array(
|
450 |
+
'attr' => array(
|
451 |
+
'name' => "everest_forms[form_fields][{$field_id}]",
|
452 |
+
'value' => ( isset( $field['default_value'] ) && ! empty( $field['default_value'] ) ) ? apply_filters( 'everest_forms_process_smart_tags', $field['default_value'], $form_data ) : ( isset( $_POST['everest_forms']['form_fields'][ $field_id ] ) ? $_POST['everest_forms']['form_fields'][ $field_id ] : '' ),
|
453 |
+
'placeholder' => isset( $field['placeholder'] ) ? $field['placeholder'] : '',
|
454 |
+
),
|
455 |
+
'class' => $attributes['input_class'],
|
456 |
+
'data' => $attributes['input_data'],
|
457 |
+
'id' => implode( array_slice( $attributes['input_id'], 0 ) ),
|
458 |
+
'required' => ! empty( $field['required'] ) ? 'required' : '',
|
459 |
+
),
|
460 |
+
),
|
461 |
+
'error' => array(
|
462 |
+
'attr' => array(
|
463 |
+
'for' => sprintf( 'evf-%d-field_%s', $form_id, $field_id ),
|
464 |
+
),
|
465 |
+
'class' => array( 'evf-error' ),
|
466 |
+
'data' => array(),
|
467 |
+
'id' => '',
|
468 |
+
'value' => ! empty( EVF()->task->errors[ $form_id ][ $field_id ] ) ? EVF()->task->errors[ $form_id ][ $field_id ] : '',
|
469 |
+
),
|
470 |
+
'description' => array(
|
471 |
+
'attr' => array(),
|
472 |
+
'class' => $attributes['description_class'],
|
473 |
+
'data' => array(),
|
474 |
+
'id' => implode( '', array_slice( $attributes['description_id'], 0 ) ),
|
475 |
+
'position' => 'after',
|
476 |
+
'value' => ! empty( $field['description'] ) ? $field['description'] : '',
|
477 |
),
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
478 |
),
|
479 |
+
$field,
|
480 |
+
$form_data
|
481 |
+
);
|
482 |
|
483 |
return apply_filters( 'everest_forms_field_properties', $properties, $field, $form_data );
|
484 |
}
|
499 |
wp_enqueue_script( 'flatpickr' );
|
500 |
}
|
501 |
|
502 |
+
$atts = shortcode_atts(
|
503 |
+
array(
|
504 |
+
'id' => false,
|
505 |
+
'title' => false,
|
506 |
+
'description' => false,
|
507 |
+
),
|
508 |
+
$atts,
|
509 |
+
'output'
|
510 |
+
);
|
511 |
|
512 |
ob_start();
|
513 |
|
519 |
/**
|
520 |
* Form view.
|
521 |
*
|
522 |
+
* @param int $id
|
523 |
+
* @param bool $title
|
524 |
* @param boolean $description
|
525 |
*/
|
526 |
private static function view( $id, $title = false, $description = false ) {
|
586 |
$form_id
|
587 |
);
|
588 |
|
589 |
+
$form_atts = apply_filters(
|
590 |
+
'everest_forms_frontend_form_atts',
|
591 |
+
array(
|
592 |
+
'id' => sprintf( 'evf-form-%d', absint( $form_id ) ),
|
593 |
+
'class' => array( 'everest-form' ),
|
594 |
+
'data' => array(
|
595 |
+
'formid' => absint( $form_id ),
|
596 |
+
),
|
597 |
+
'atts' => array(
|
598 |
+
'method' => 'post',
|
599 |
+
'enctype' => 'multipart/form-data',
|
600 |
+
'action' => esc_url( $action ),
|
601 |
+
),
|
602 |
),
|
603 |
+
$form_data
|
604 |
+
);
|
605 |
echo '<form ' . evf_html_attributes( $form_atts['id'], $form_atts['class'], $form_atts['data'], $form_atts['atts'] ) . '>';
|
606 |
|
607 |
do_action( 'everest_forms_frontend_output', $form_data, $title, $description );
|
languages/everest-forms.pot
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
-
# Copyright (C)
|
2 |
# This file is distributed under the same license as the Everest Forms package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Everest Forms 1.4.
|
6 |
"Report-Msgid-Bugs-To: https://github.com/wpeverest/everest-forms/issues\n"
|
7 |
-
"POT-Creation-Date:
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
11 |
-
"PO-Revision-Date:
|
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
"Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
|
14 |
"X-Generator: grunt-wp-i18n1.0.2\n"
|
@@ -64,7 +64,7 @@ msgstr ""
|
|
64 |
#: includes/abstracts/class-evf-form-fields.php:366
|
65 |
#: includes/admin/settings/class-evf-settings-validation.php:45
|
66 |
#: includes/evf-core-functions.php:1787
|
67 |
-
#: includes/shortcodes/class-evf-shortcode-form.php:
|
68 |
msgid "Required"
|
69 |
msgstr ""
|
70 |
|
@@ -166,7 +166,7 @@ msgstr ""
|
|
166 |
#: includes/admin/builder/class-evf-builder-fields.php:267
|
167 |
#: includes/admin/builder/class-evf-builder-settings.php:25
|
168 |
#: includes/admin/class-evf-admin-menus.php:154
|
169 |
-
#: includes/class-evf-install.php:
|
170 |
msgid "Settings"
|
171 |
msgstr ""
|
172 |
|
@@ -897,7 +897,6 @@ msgid "Integrations"
|
|
897 |
msgstr ""
|
898 |
|
899 |
#: includes/admin/settings/class-evf-settings-recaptcha.php:25
|
900 |
-
#: includes/admin/settings/class-evf-settings-validation.php:81
|
901 |
msgid "reCAPTCHA"
|
902 |
msgstr ""
|
903 |
|
@@ -978,14 +977,6 @@ msgstr ""
|
|
978 |
msgid "Please enter a valid number."
|
979 |
msgstr ""
|
980 |
|
981 |
-
#: includes/admin/settings/class-evf-settings-validation.php:82
|
982 |
-
msgid "Enter the message for the valid recaptcha"
|
983 |
-
msgstr ""
|
984 |
-
|
985 |
-
#: includes/admin/settings/class-evf-settings-validation.php:87
|
986 |
-
msgid "Invalid reCaptcha Code."
|
987 |
-
msgstr ""
|
988 |
-
|
989 |
#: includes/admin/views/html-admin-page-addons.php:18
|
990 |
msgid "Refresh Add-ons"
|
991 |
msgstr ""
|
@@ -1013,40 +1004,40 @@ msgstr ""
|
|
1013 |
msgid "Add-ons list"
|
1014 |
msgstr ""
|
1015 |
|
1016 |
-
#: includes/admin/views/html-admin-page-addons.php:
|
1017 |
#: includes/admin/views/html-admin-page-entries-view.php:139
|
1018 |
msgid "Status:"
|
1019 |
msgstr ""
|
1020 |
|
1021 |
-
#: includes/admin/views/html-admin-page-addons.php:
|
1022 |
msgid "Activated"
|
1023 |
msgstr ""
|
1024 |
|
1025 |
-
#: includes/admin/views/html-admin-page-addons.php:
|
1026 |
msgid "Inactive"
|
1027 |
msgstr ""
|
1028 |
|
1029 |
-
#: includes/admin/views/html-admin-page-addons.php:
|
1030 |
msgid "Not Installed"
|
1031 |
msgstr ""
|
1032 |
|
1033 |
-
#: includes/admin/views/html-admin-page-addons.php:
|
1034 |
msgid "Deactivate"
|
1035 |
msgstr ""
|
1036 |
|
1037 |
-
#: includes/admin/views/html-admin-page-addons.php:
|
1038 |
msgid "Activate"
|
1039 |
msgstr ""
|
1040 |
|
1041 |
-
#: includes/admin/views/html-admin-page-addons.php:
|
1042 |
msgid "Install Addon"
|
1043 |
msgstr ""
|
1044 |
|
1045 |
-
#: includes/admin/views/html-admin-page-addons.php:
|
1046 |
msgid "Upgrade Plan"
|
1047 |
msgstr ""
|
1048 |
|
1049 |
-
#: includes/admin/views/html-admin-page-addons.php:
|
1050 |
msgid ""
|
1051 |
"Our catalog of Everest Forms Add-ons/Extensions can be found on "
|
1052 |
"WPEverest.com here: <a href=\"%s\">Everest Forms Extensions Catalog</a>"
|
@@ -1344,7 +1335,7 @@ msgid "Form has not been submitted, please see the errors below."
|
|
1344 |
msgstr ""
|
1345 |
|
1346 |
#: includes/class-evf-form-task.php:198
|
1347 |
-
#: includes/shortcodes/class-evf-shortcode-form.php:
|
1348 |
#: includes/templates/contact.php:61
|
1349 |
msgid "Thanks for contacting us! We will be in touch with you shortly."
|
1350 |
msgstr ""
|
@@ -1362,27 +1353,27 @@ msgstr ""
|
|
1362 |
msgid "Could not create an entry"
|
1363 |
msgstr ""
|
1364 |
|
1365 |
-
#: includes/class-evf-install.php:
|
1366 |
msgid "Monthly"
|
1367 |
msgstr ""
|
1368 |
|
1369 |
-
#: includes/class-evf-install.php:
|
1370 |
msgid "View Everest Forms Settings"
|
1371 |
msgstr ""
|
1372 |
|
1373 |
-
#: includes/class-evf-install.php:
|
1374 |
msgid "View Everest Forms documentation"
|
1375 |
msgstr ""
|
1376 |
|
1377 |
-
#: includes/class-evf-install.php:
|
1378 |
msgid "Docs"
|
1379 |
msgstr ""
|
1380 |
|
1381 |
-
#: includes/class-evf-install.php:
|
1382 |
msgid "Visit free customer support"
|
1383 |
msgstr ""
|
1384 |
|
1385 |
-
#: includes/class-evf-install.php:
|
1386 |
msgid "Free support"
|
1387 |
msgstr ""
|
1388 |
|
1 |
+
# Copyright (C) 2019 WPEverest
|
2 |
# This file is distributed under the same license as the Everest Forms package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Everest Forms 1.4.4\n"
|
6 |
"Report-Msgid-Bugs-To: https://github.com/wpeverest/everest-forms/issues\n"
|
7 |
+
"POT-Creation-Date: 2019-01-09 11:47:16+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=utf-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
11 |
+
"PO-Revision-Date: 2019-MO-DA HO:MI+ZONE\n"
|
12 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
13 |
"Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
|
14 |
"X-Generator: grunt-wp-i18n1.0.2\n"
|
64 |
#: includes/abstracts/class-evf-form-fields.php:366
|
65 |
#: includes/admin/settings/class-evf-settings-validation.php:45
|
66 |
#: includes/evf-core-functions.php:1787
|
67 |
+
#: includes/shortcodes/class-evf-shortcode-form.php:149
|
68 |
msgid "Required"
|
69 |
msgstr ""
|
70 |
|
166 |
#: includes/admin/builder/class-evf-builder-fields.php:267
|
167 |
#: includes/admin/builder/class-evf-builder-settings.php:25
|
168 |
#: includes/admin/class-evf-admin-menus.php:154
|
169 |
+
#: includes/class-evf-install.php:596
|
170 |
msgid "Settings"
|
171 |
msgstr ""
|
172 |
|
897 |
msgstr ""
|
898 |
|
899 |
#: includes/admin/settings/class-evf-settings-recaptcha.php:25
|
|
|
900 |
msgid "reCAPTCHA"
|
901 |
msgstr ""
|
902 |
|
977 |
msgid "Please enter a valid number."
|
978 |
msgstr ""
|
979 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
980 |
#: includes/admin/views/html-admin-page-addons.php:18
|
981 |
msgid "Refresh Add-ons"
|
982 |
msgstr ""
|
1004 |
msgid "Add-ons list"
|
1005 |
msgstr ""
|
1006 |
|
1007 |
+
#: includes/admin/views/html-admin-page-addons.php:74
|
1008 |
#: includes/admin/views/html-admin-page-entries-view.php:139
|
1009 |
msgid "Status:"
|
1010 |
msgstr ""
|
1011 |
|
1012 |
+
#: includes/admin/views/html-admin-page-addons.php:76
|
1013 |
msgid "Activated"
|
1014 |
msgstr ""
|
1015 |
|
1016 |
+
#: includes/admin/views/html-admin-page-addons.php:78
|
1017 |
msgid "Inactive"
|
1018 |
msgstr ""
|
1019 |
|
1020 |
+
#: includes/admin/views/html-admin-page-addons.php:80
|
1021 |
msgid "Not Installed"
|
1022 |
msgstr ""
|
1023 |
|
1024 |
+
#: includes/admin/views/html-admin-page-addons.php:93
|
1025 |
msgid "Deactivate"
|
1026 |
msgstr ""
|
1027 |
|
1028 |
+
#: includes/admin/views/html-admin-page-addons.php:103
|
1029 |
msgid "Activate"
|
1030 |
msgstr ""
|
1031 |
|
1032 |
+
#: includes/admin/views/html-admin-page-addons.php:105
|
1033 |
msgid "Install Addon"
|
1034 |
msgstr ""
|
1035 |
|
1036 |
+
#: includes/admin/views/html-admin-page-addons.php:110
|
1037 |
msgid "Upgrade Plan"
|
1038 |
msgstr ""
|
1039 |
|
1040 |
+
#: includes/admin/views/html-admin-page-addons.php:121
|
1041 |
msgid ""
|
1042 |
"Our catalog of Everest Forms Add-ons/Extensions can be found on "
|
1043 |
"WPEverest.com here: <a href=\"%s\">Everest Forms Extensions Catalog</a>"
|
1335 |
msgstr ""
|
1336 |
|
1337 |
#: includes/class-evf-form-task.php:198
|
1338 |
+
#: includes/shortcodes/class-evf-shortcode-form.php:165
|
1339 |
#: includes/templates/contact.php:61
|
1340 |
msgid "Thanks for contacting us! We will be in touch with you shortly."
|
1341 |
msgstr ""
|
1353 |
msgid "Could not create an entry"
|
1354 |
msgstr ""
|
1355 |
|
1356 |
+
#: includes/class-evf-install.php:274
|
1357 |
msgid "Monthly"
|
1358 |
msgstr ""
|
1359 |
|
1360 |
+
#: includes/class-evf-install.php:596
|
1361 |
msgid "View Everest Forms Settings"
|
1362 |
msgstr ""
|
1363 |
|
1364 |
+
#: includes/class-evf-install.php:612
|
1365 |
msgid "View Everest Forms documentation"
|
1366 |
msgstr ""
|
1367 |
|
1368 |
+
#: includes/class-evf-install.php:612
|
1369 |
msgid "Docs"
|
1370 |
msgstr ""
|
1371 |
|
1372 |
+
#: includes/class-evf-install.php:613
|
1373 |
msgid "Visit free customer support"
|
1374 |
msgstr ""
|
1375 |
|
1376 |
+
#: includes/class-evf-install.php:613
|
1377 |
msgid "Free support"
|
1378 |
msgstr ""
|
1379 |
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Tags: contact form, form, form builder, contact, custom form
|
|
4 |
Requires at least: 4.0
|
5 |
Tested up to: 5.0
|
6 |
Requires PHP: 5.4
|
7 |
-
Stable tag: 1.4.
|
8 |
License: GPLv3
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
@@ -26,6 +26,10 @@ Get [free support](https://wpeverest.com/support-forum/?utm_source=wporg&utm_med
|
|
26 |
|
27 |
Check [documentation](http://docs.wpeverest.com/docs/everest-forms/)
|
28 |
|
|
|
|
|
|
|
|
|
29 |
### Features And Options:
|
30 |
* Create unlimited forms without any restrictions
|
31 |
* Drag and Drop Form fields
|
@@ -105,6 +109,9 @@ Yes, the plugin is designed to work with any themes that have been coded followi
|
|
105 |
|
106 |
== Changelog ==
|
107 |
|
|
|
|
|
|
|
108 |
= 1.4.3 - 21-12-2018 =
|
109 |
* Fix - Uncaught TypeError Flatpicker JS console error.
|
110 |
|
4 |
Requires at least: 4.0
|
5 |
Tested up to: 5.0
|
6 |
Requires PHP: 5.4
|
7 |
+
Stable tag: 1.4.4
|
8 |
License: GPLv3
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
26 |
|
27 |
Check [documentation](http://docs.wpeverest.com/docs/everest-forms/)
|
28 |
|
29 |
+
= Everest Forms Plugin in action: =
|
30 |
+
|
31 |
+
[youtube https://www.youtube.com/watch?v=-yE0C_Yq_qQ]
|
32 |
+
|
33 |
### Features And Options:
|
34 |
* Create unlimited forms without any restrictions
|
35 |
* Drag and Drop Form fields
|
109 |
|
110 |
== Changelog ==
|
111 |
|
112 |
+
= 1.4.4 - 09-01-2018 =
|
113 |
+
* Fix - Google reCAPTCHA conflict with others plugins.
|
114 |
+
|
115 |
= 1.4.3 - 21-12-2018 =
|
116 |
* Fix - Uncaught TypeError Flatpicker JS console error.
|
117 |
|