Version Description
- New: Added support for hCaptcha. Now in Global Settings, the reCAPTCHA tab has been changed to a CAPTCHA tab with a new CAPTCHA type setting so you can choose between using reCAPTCHA or hCaptcha.
- Fix: Avoid a fatal error if the hidden columns setting is in an unexpected format on the form and entry list pages. This may happen because of invalid option data being set or a conflict with another plugin or custom code.
- Fix: Long field names on the reports tab would force the table to horizontally scroll. A long field name will now break into multiple lines instead.
- Fix: The frm_form_object filter wouldn't get applied to a cached form result.
- Fix: Prevent an undefined function get_editable_roles fatal error that triggers when trying to connect an account.
- Fix: An incorrect section comparison was causing fields to keep old section data after being moved somewhere else. This would result in unexpected data exports and other side effects.
- Fix: A "row is undefined" error would prevent merging multiple field groups together after the layout option was clicked.
- Updated message styling on admin pages.
Download this release
Release Info
Developer | sswells |
Plugin | Formidable Forms – Form Builder for WordPress |
Version | 5.5.4 |
Comparing to | |
See all releases |
Code changes from version 5.5.3.1 to 5.5.4
- classes/controllers/FrmEntriesController.php +12 -1
- classes/controllers/FrmFormsController.php +9 -1
- classes/controllers/FrmHooksController.php +3 -0
- classes/controllers/FrmSettingsController.php +13 -5
- classes/helpers/FrmAppHelper.php +3 -3
- classes/helpers/FrmFieldsHelper.php +1 -1
- classes/models/FrmAddon.php +4 -0
- classes/models/FrmField.php +10 -1
- classes/models/FrmFieldCaptchaSettings.php +28 -0
- classes/models/FrmForm.php +1 -1
- classes/models/FrmSettings.php +25 -11
- classes/models/fields/FrmFieldCaptcha.php +125 -36
- classes/views/frm-fields/back-end/field-captcha.php +3 -9
- classes/views/frm-fields/back-end/settings.php +16 -1
- classes/views/frm-settings/captcha/captcha.php +109 -0
- classes/views/frm-settings/captcha/captcha_keys.php +47 -0
- classes/views/frm-settings/recaptcha.php +2 -76
- css/frm_admin.css +109 -25
- css/frm_fonts.css +1 -1
- formidable.php +1 -1
- images/captcha_not_setup.png +0 -0
- images/hcaptcha.png +0 -0
- images/icons.svg +4 -2
- images/recaptcha_v3.png +0 -0
- js/formidable.js +6 -4
- js/formidable.min.js +2 -2
- js/formidable_admin.js +61 -15
- js/formidable_blocks.js +1 -1
- languages/formidable.pot +294 -252
- readme.txt +33 -22
classes/controllers/FrmEntriesController.php
CHANGED
@@ -306,7 +306,18 @@ class FrmEntriesController {
|
|
306 |
return apply_filters( 'frm_field_column_is_sortable', $is_sortable, $field );
|
307 |
}
|
308 |
|
|
|
|
|
|
|
|
|
309 |
public static function hidden_columns( $result ) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
310 |
$form_id = FrmForm::get_current_form_id();
|
311 |
|
312 |
$hidden = self::user_hidden_columns_for_form( $form_id, $result );
|
@@ -473,7 +484,7 @@ class FrmEntriesController {
|
|
473 |
|
474 |
$message = '';
|
475 |
if ( FrmEntry::destroy( $params['id'] ) ) {
|
476 |
-
$message = __( 'Entry was
|
477 |
}
|
478 |
|
479 |
self::display_list( $message );
|
306 |
return apply_filters( 'frm_field_column_is_sortable', $is_sortable, $field );
|
307 |
}
|
308 |
|
309 |
+
/**
|
310 |
+
* @param mixed $result Option value from database for hidden columns in entries table.
|
311 |
+
* @return array
|
312 |
+
*/
|
313 |
public static function hidden_columns( $result ) {
|
314 |
+
if ( ! is_array( $result ) ) {
|
315 |
+
// Force an unexpected value to be an array.
|
316 |
+
// Since $result is a filtered option and gets saved to the database, it's possible it could be a string.
|
317 |
+
// Since this code expects an array it would break with a "Uncaught Error: [] operator not supported for strings" error.
|
318 |
+
$result = array();
|
319 |
+
}
|
320 |
+
|
321 |
$form_id = FrmForm::get_current_form_id();
|
322 |
|
323 |
$hidden = self::user_hidden_columns_for_form( $form_id, $result );
|
484 |
|
485 |
$message = '';
|
486 |
if ( FrmEntry::destroy( $params['id'] ) ) {
|
487 |
+
$message = __( 'Entry was successfully deleted', 'formidable' );
|
488 |
}
|
489 |
|
490 |
self::display_list( $message );
|
classes/controllers/FrmFormsController.php
CHANGED
@@ -888,7 +888,15 @@ class FrmFormsController {
|
|
888 |
);
|
889 |
}
|
890 |
|
|
|
|
|
|
|
|
|
891 |
public static function hidden_columns( $hidden_columns ) {
|
|
|
|
|
|
|
|
|
892 |
$type = FrmAppHelper::get_simple_request(
|
893 |
array(
|
894 |
'param' => 'form_type',
|
@@ -2421,7 +2429,7 @@ class FrmFormsController {
|
|
2421 |
}
|
2422 |
|
2423 |
public static function defer_script_loading( $tag, $handle ) {
|
2424 |
-
if ( '
|
2425 |
$tag = str_replace( ' src', ' defer="defer" async="async" src', $tag );
|
2426 |
}
|
2427 |
|
888 |
);
|
889 |
}
|
890 |
|
891 |
+
/**
|
892 |
+
* @param mixed $hidden_columns
|
893 |
+
* @return array
|
894 |
+
*/
|
895 |
public static function hidden_columns( $hidden_columns ) {
|
896 |
+
if ( ! is_array( $hidden_columns ) ) {
|
897 |
+
$hidden_columns = array();
|
898 |
+
}
|
899 |
+
|
900 |
$type = FrmAppHelper::get_simple_request(
|
901 |
array(
|
902 |
'param' => 'form_type',
|
2429 |
}
|
2430 |
|
2431 |
public static function defer_script_loading( $tag, $handle ) {
|
2432 |
+
if ( 'captcha-api' == $handle && ! strpos( $tag, 'defer' ) ) {
|
2433 |
$tag = str_replace( ' src', ' defer="defer" async="async" src', $tag );
|
2434 |
}
|
2435 |
|
classes/controllers/FrmHooksController.php
CHANGED
@@ -169,6 +169,9 @@ class FrmHooksController {
|
|
169 |
add_action( 'admin_enqueue_scripts', 'FrmApplicationsController::dequeue_scripts', 15 );
|
170 |
add_action( 'wp_ajax_frm_get_applications_data', 'FrmApplicationsController::get_applications_data' );
|
171 |
|
|
|
|
|
|
|
172 |
FrmSMTPController::load_hooks();
|
173 |
FrmWelcomeController::load_hooks();
|
174 |
new FrmPluginSearch();
|
169 |
add_action( 'admin_enqueue_scripts', 'FrmApplicationsController::dequeue_scripts', 15 );
|
170 |
add_action( 'wp_ajax_frm_get_applications_data', 'FrmApplicationsController::get_applications_data' );
|
171 |
|
172 |
+
// CAPTCHA
|
173 |
+
add_filter( 'frm_setup_edit_field_vars', 'FrmFieldCaptcha::update_field_name' );
|
174 |
+
|
175 |
FrmSMTPController::load_hooks();
|
176 |
FrmWelcomeController::load_hooks();
|
177 |
new FrmPluginSearch();
|
classes/controllers/FrmSettingsController.php
CHANGED
@@ -51,10 +51,10 @@ class FrmSettingsController {
|
|
51 |
'name' => __( 'Permissions', 'formidable' ),
|
52 |
'icon' => 'frm_icon_font frm_lock_icon',
|
53 |
),
|
54 |
-
'
|
55 |
'class' => __CLASS__,
|
56 |
-
'function' => '
|
57 |
-
'name' => __( '
|
58 |
'icon' => 'frm_icon_font frm_shield_check_icon',
|
59 |
),
|
60 |
'white_label' => array(
|
@@ -180,11 +180,11 @@ class FrmSettingsController {
|
|
180 |
/**
|
181 |
* @since 4.0
|
182 |
*/
|
183 |
-
public static function
|
184 |
$frm_settings = FrmAppHelper::get_settings();
|
185 |
$captcha_lang = FrmAppHelper::locales( 'captcha' );
|
186 |
|
187 |
-
include( FrmAppHelper::plugin_path() . '/classes/views/frm-settings/
|
188 |
}
|
189 |
|
190 |
/**
|
@@ -345,4 +345,12 @@ class FrmSettingsController {
|
|
345 |
|
346 |
wp_send_json( $results );
|
347 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
348 |
}
|
51 |
'name' => __( 'Permissions', 'formidable' ),
|
52 |
'icon' => 'frm_icon_font frm_lock_icon',
|
53 |
),
|
54 |
+
'captcha' => array(
|
55 |
'class' => __CLASS__,
|
56 |
+
'function' => 'captcha_settings',
|
57 |
+
'name' => __( 'CAPTCHA', 'formidable' ),
|
58 |
'icon' => 'frm_icon_font frm_shield_check_icon',
|
59 |
),
|
60 |
'white_label' => array(
|
180 |
/**
|
181 |
* @since 4.0
|
182 |
*/
|
183 |
+
public static function captcha_settings() {
|
184 |
$frm_settings = FrmAppHelper::get_settings();
|
185 |
$captcha_lang = FrmAppHelper::locales( 'captcha' );
|
186 |
|
187 |
+
include( FrmAppHelper::plugin_path() . '/classes/views/frm-settings/captcha/captcha.php' );
|
188 |
}
|
189 |
|
190 |
/**
|
345 |
|
346 |
wp_send_json( $results );
|
347 |
}
|
348 |
+
|
349 |
+
/**
|
350 |
+
* @deprecated x.x use FrmSettingsController::captcha_settings().
|
351 |
+
*/
|
352 |
+
public static function recaptcha_settings() {
|
353 |
+
_deprecated_function( __FUNCTION__, 'x.x', 'FrmSettingsController::captcha_settings()' );
|
354 |
+
self::captcha_settings();
|
355 |
+
}
|
356 |
}
|
classes/helpers/FrmAppHelper.php
CHANGED
@@ -16,7 +16,7 @@ class FrmAppHelper {
|
|
16 |
/**
|
17 |
* @since 2.0
|
18 |
*/
|
19 |
-
public static $plug_version = '5.5.
|
20 |
|
21 |
/**
|
22 |
* @since 1.07.02
|
@@ -2950,7 +2950,7 @@ class FrmAppHelper {
|
|
2950 |
$pro_version = FrmProDb::$plug_version;
|
2951 |
$expired = FrmAddonsController::is_license_expired();
|
2952 |
?>
|
2953 |
-
<div class="
|
2954 |
<?php
|
2955 |
esc_html_e( 'You are running a version of Formidable Forms that may not be compatible with your version of Formidable Forms Pro.', 'formidable' );
|
2956 |
if ( empty( $expired ) ) {
|
@@ -2991,7 +2991,7 @@ class FrmAppHelper {
|
|
2991 |
|
2992 |
foreach ( $message as $m ) {
|
2993 |
?>
|
2994 |
-
<div class="
|
2995 |
<?php echo esc_html( $m ); ?>
|
2996 |
</div>
|
2997 |
<?php
|
16 |
/**
|
17 |
* @since 2.0
|
18 |
*/
|
19 |
+
public static $plug_version = '5.5.4';
|
20 |
|
21 |
/**
|
22 |
* @since 1.07.02
|
2950 |
$pro_version = FrmProDb::$plug_version;
|
2951 |
$expired = FrmAddonsController::is_license_expired();
|
2952 |
?>
|
2953 |
+
<div class="frm-banner-alert frm_error_style frm_previous_install">
|
2954 |
<?php
|
2955 |
esc_html_e( 'You are running a version of Formidable Forms that may not be compatible with your version of Formidable Forms Pro.', 'formidable' );
|
2956 |
if ( empty( $expired ) ) {
|
2991 |
|
2992 |
foreach ( $message as $m ) {
|
2993 |
?>
|
2994 |
+
<div class="frm-banner-alert frm_error_style frm_previous_install">
|
2995 |
<?php echo esc_html( $m ); ?>
|
2996 |
</div>
|
2997 |
<?php
|
classes/helpers/FrmFieldsHelper.php
CHANGED
@@ -159,7 +159,7 @@ class FrmFieldsHelper {
|
|
159 |
$field_array['blank'] = $frm_settings->blank_msg;
|
160 |
}
|
161 |
|
162 |
-
if ( ''
|
163 |
if ( 'captcha' === $field->type ) {
|
164 |
$field_array['invalid'] = $frm_settings->re_msg;
|
165 |
} else {
|
159 |
$field_array['blank'] = $frm_settings->blank_msg;
|
160 |
}
|
161 |
|
162 |
+
if ( '' === $field_array['invalid'] ) {
|
163 |
if ( 'captcha' === $field->type ) {
|
164 |
$field_array['invalid'] = $frm_settings->re_msg;
|
165 |
} else {
|
classes/models/FrmAddon.php
CHANGED
@@ -251,6 +251,10 @@ class FrmAddon {
|
|
251 |
protected function update_pro_capabilities() {
|
252 |
global $wp_roles;
|
253 |
|
|
|
|
|
|
|
|
|
254 |
$caps = FrmAppHelper::frm_capabilities( 'pro_only' );
|
255 |
$roles = get_editable_roles();
|
256 |
$settings = new FrmSettings();
|
251 |
protected function update_pro_capabilities() {
|
252 |
global $wp_roles;
|
253 |
|
254 |
+
if ( ! function_exists( 'get_editable_roles' ) ) {
|
255 |
+
require_once ABSPATH . 'wp-admin/includes/user.php';
|
256 |
+
}
|
257 |
+
|
258 |
$caps = FrmAppHelper::frm_capabilities( 'pro_only' );
|
259 |
$roles = get_editable_roles();
|
260 |
$settings = new FrmSettings();
|
classes/models/FrmField.php
CHANGED
@@ -9,6 +9,15 @@ class FrmField {
|
|
9 |
public static $transient_size = 200;
|
10 |
|
11 |
public static function field_selection() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
$fields = array(
|
13 |
'text' => array(
|
14 |
'name' => __( 'Text', 'formidable' ),
|
@@ -63,7 +72,7 @@ class FrmField {
|
|
63 |
'icon' => 'frm_icon_font frm_user_icon',
|
64 |
),
|
65 |
'captcha' => array(
|
66 |
-
'name' =>
|
67 |
'icon' => 'frm_icon_font frm_shield_check_icon',
|
68 |
),
|
69 |
);
|
9 |
public static $transient_size = 200;
|
10 |
|
11 |
public static function field_selection() {
|
12 |
+
$frm_settings = FrmAppHelper::get_settings();
|
13 |
+
$active_captcha = $frm_settings->active_captcha;
|
14 |
+
if ( ! FrmFieldCaptcha::should_show_captcha() ) {
|
15 |
+
$captcha_name = 'CAPTCHA';
|
16 |
+
} elseif ( $active_captcha === 'recaptcha' ) {
|
17 |
+
$captcha_name = 'reCAPTCHA';
|
18 |
+
} else {
|
19 |
+
$captcha_name = 'hCaptcha';
|
20 |
+
}
|
21 |
$fields = array(
|
22 |
'text' => array(
|
23 |
'name' => __( 'Text', 'formidable' ),
|
72 |
'icon' => 'frm_icon_font frm_user_icon',
|
73 |
),
|
74 |
'captcha' => array(
|
75 |
+
'name' => $captcha_name,
|
76 |
'icon' => 'frm_icon_font frm_shield_check_icon',
|
77 |
),
|
78 |
);
|
classes/models/FrmFieldCaptchaSettings.php
ADDED
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
die( 'You are not allowed to call this page directly.' );
|
4 |
+
}
|
5 |
+
|
6 |
+
/**
|
7 |
+
* @since x.x
|
8 |
+
*/
|
9 |
+
class FrmFieldCaptchaSettings {
|
10 |
+
|
11 |
+
public $secret;
|
12 |
+
|
13 |
+
public $token_field;
|
14 |
+
|
15 |
+
public $end_point;
|
16 |
+
|
17 |
+
public function __construct( $frm_settings ) {
|
18 |
+
if ( $frm_settings->active_captcha === 'recaptcha' ) {
|
19 |
+
$this->secret = $frm_settings->privkey;
|
20 |
+
$this->token_field = 'g-recaptcha-response';
|
21 |
+
$this->endpoint = 'https://www.google.com/recaptcha/api/siteverify';
|
22 |
+
} else {
|
23 |
+
$this->secret = $frm_settings->hcaptcha_privkey;
|
24 |
+
$this->token_field = 'h-captcha-response';
|
25 |
+
$this->endpoint = 'https://hcaptcha.com/siteverify';
|
26 |
+
}
|
27 |
+
}
|
28 |
+
}
|
classes/models/FrmForm.php
CHANGED
@@ -727,7 +727,7 @@ class FrmForm {
|
|
727 |
FrmAppHelper::unserialize_or_decode( $cache->options );
|
728 |
}
|
729 |
|
730 |
-
return wp_unslash( $cache );
|
731 |
}
|
732 |
}
|
733 |
|
727 |
FrmAppHelper::unserialize_or_decode( $cache->options );
|
728 |
}
|
729 |
|
730 |
+
return apply_filters( 'frm_form_object', wp_unslash( $cache ) );
|
731 |
}
|
732 |
}
|
733 |
|
classes/models/FrmSettings.php
CHANGED
@@ -27,6 +27,9 @@ class FrmSettings {
|
|
27 |
public $load_style;
|
28 |
public $custom_style;
|
29 |
|
|
|
|
|
|
|
30 |
public $pubkey;
|
31 |
public $privkey;
|
32 |
public $re_lang;
|
@@ -116,7 +119,7 @@ class FrmSettings {
|
|
116 |
}
|
117 |
|
118 |
private function set_default_options() {
|
119 |
-
$this->
|
120 |
|
121 |
if ( ! isset( $this->load_style ) ) {
|
122 |
if ( ! isset( $this->custom_style ) ) {
|
@@ -179,9 +182,17 @@ class FrmSettings {
|
|
179 |
}
|
180 |
}
|
181 |
|
182 |
-
private function
|
183 |
-
$
|
184 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
185 |
|
186 |
if ( ! isset( $this->pubkey ) ) {
|
187 |
// get the options from the database
|
@@ -192,7 +203,7 @@ class FrmSettings {
|
|
192 |
}
|
193 |
|
194 |
if ( ! isset( $this->re_msg ) || empty( $this->re_msg ) ) {
|
195 |
-
$this->re_msg = __( 'The
|
196 |
}
|
197 |
|
198 |
if ( ! isset( $this->privkey ) ) {
|
@@ -267,12 +278,15 @@ class FrmSettings {
|
|
267 |
}
|
268 |
|
269 |
private function update_settings( $params ) {
|
270 |
-
$this->
|
271 |
-
$this->
|
272 |
-
$this->
|
273 |
-
$this->
|
274 |
-
$this->
|
275 |
-
$this->
|
|
|
|
|
|
|
276 |
|
277 |
$checkboxes = array( 'mu_menu', 're_multi', 'use_html', 'jquery_css', 'accordion_js', 'fade_form', 'no_ips', 'tracking', 'admin_bar' );
|
278 |
foreach ( $checkboxes as $set ) {
|
27 |
public $load_style;
|
28 |
public $custom_style;
|
29 |
|
30 |
+
public $active_captcha;
|
31 |
+
public $hcaptcha_pubkey;
|
32 |
+
public $hcaptcha_privkey;
|
33 |
public $pubkey;
|
34 |
public $privkey;
|
35 |
public $re_lang;
|
119 |
}
|
120 |
|
121 |
private function set_default_options() {
|
122 |
+
$this->fill_captcha_settings();
|
123 |
|
124 |
if ( ! isset( $this->load_style ) ) {
|
125 |
if ( ! isset( $this->custom_style ) ) {
|
182 |
}
|
183 |
}
|
184 |
|
185 |
+
private function fill_captcha_settings() {
|
186 |
+
if ( ! isset( $this->active_captcha ) ) {
|
187 |
+
$this->active_captcha = 'recaptcha';
|
188 |
+
}
|
189 |
+
|
190 |
+
$privkey = '';
|
191 |
+
$re_lang = '';
|
192 |
+
|
193 |
+
if ( ! isset( $this->hcaptcha_privkey ) ) {
|
194 |
+
$this->hcaptcha_privkey = '';
|
195 |
+
}
|
196 |
|
197 |
if ( ! isset( $this->pubkey ) ) {
|
198 |
// get the options from the database
|
203 |
}
|
204 |
|
205 |
if ( ! isset( $this->re_msg ) || empty( $this->re_msg ) ) {
|
206 |
+
$this->re_msg = __( 'The CAPTCHA was not entered correctly', 'formidable' );
|
207 |
}
|
208 |
|
209 |
if ( ! isset( $this->privkey ) ) {
|
278 |
}
|
279 |
|
280 |
private function update_settings( $params ) {
|
281 |
+
$this->active_captcha = $params['frm_active_captcha'];
|
282 |
+
$this->hcaptcha_pubkey = trim( $params['frm_hcaptcha_pubkey'] );
|
283 |
+
$this->hcaptcha_privkey = $params['frm_hcaptcha_privkey'];
|
284 |
+
$this->pubkey = trim( $params['frm_pubkey'] );
|
285 |
+
$this->privkey = $params['frm_privkey'];
|
286 |
+
$this->re_type = $params['frm_re_type'];
|
287 |
+
$this->re_lang = $params['frm_re_lang'];
|
288 |
+
$this->re_threshold = floatval( $params['frm_re_threshold'] );
|
289 |
+
$this->load_style = $params['frm_load_style'];
|
290 |
|
291 |
$checkboxes = array( 'mu_menu', 're_multi', 'use_html', 'jquery_css', 'accordion_js', 'fade_form', 'no_ips', 'tracking', 'admin_bar' );
|
292 |
foreach ( $checkboxes as $set ) {
|
classes/models/fields/FrmFieldCaptcha.php
CHANGED
@@ -21,15 +21,34 @@ class FrmFieldCaptcha extends FrmFieldType {
|
|
21 |
return FrmAppHelper::plugin_path() . '/classes/views/frm-fields/back-end/field-captcha.php';
|
22 |
}
|
23 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
/**
|
25 |
* @return array
|
26 |
*/
|
27 |
protected function field_settings_for_type() {
|
28 |
return array(
|
29 |
-
'required'
|
30 |
-
'invalid'
|
31 |
-
'captcha_size'
|
32 |
-
'default'
|
33 |
);
|
34 |
}
|
35 |
|
@@ -64,21 +83,34 @@ class FrmFieldCaptcha extends FrmFieldType {
|
|
64 |
* @return string
|
65 |
*/
|
66 |
protected function before_replace_html_shortcodes( $args, $html ) {
|
67 |
-
|
|
|
|
|
|
|
|
|
68 |
}
|
69 |
|
70 |
public function front_field_input( $args, $shortcode_atts ) {
|
71 |
$frm_settings = FrmAppHelper::get_settings();
|
72 |
-
if (
|
73 |
return '';
|
74 |
}
|
75 |
|
76 |
-
$class_prefix = $this->class_prefix();
|
77 |
-
$
|
|
|
78 |
$allow_mutiple = $frm_settings->re_multi;
|
79 |
|
80 |
-
|
81 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
82 |
$html .= ' data-callback="frmAfterRecaptcha"';
|
83 |
}
|
84 |
$html .= '></div>';
|
@@ -89,14 +121,22 @@ class FrmFieldCaptcha extends FrmFieldType {
|
|
89 |
protected function load_field_scripts( $args ) {
|
90 |
$api_js_url = $this->api_url();
|
91 |
|
92 |
-
wp_register_script( '
|
93 |
-
wp_enqueue_script( '
|
94 |
}
|
95 |
|
96 |
protected function api_url() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
$api_js_url = 'https://www.google.com/recaptcha/api.js?';
|
98 |
|
99 |
-
$frm_settings = FrmAppHelper::get_settings();
|
100 |
$allow_mutiple = $frm_settings->re_multi;
|
101 |
if ( $allow_mutiple ) {
|
102 |
$api_js_url .= '&onload=frmRecaptcha&render=explicit';
|
@@ -107,11 +147,28 @@ class FrmFieldCaptcha extends FrmFieldType {
|
|
107 |
$api_js_url .= '&hl=' . $lang;
|
108 |
}
|
109 |
|
110 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
}
|
112 |
|
113 |
-
protected function class_prefix() {
|
114 |
-
if ( $this->allow_multiple() ) {
|
115 |
$class_prefix = 'frm-';
|
116 |
} else {
|
117 |
$class_prefix = '';
|
@@ -120,17 +177,18 @@ class FrmFieldCaptcha extends FrmFieldType {
|
|
120 |
return $class_prefix;
|
121 |
}
|
122 |
|
123 |
-
protected function
|
124 |
-
$frm_settings
|
|
|
125 |
|
|
|
126 |
return $frm_settings->re_multi;
|
127 |
}
|
128 |
|
129 |
/**
|
130 |
* @return string
|
131 |
*/
|
132 |
-
protected function captcha_size() {
|
133 |
-
$frm_settings = FrmAppHelper::get_settings();
|
134 |
if ( in_array( $frm_settings->re_type, array( 'invisible', 'v3' ), true ) ) {
|
135 |
return 'invisible';
|
136 |
}
|
@@ -151,7 +209,7 @@ class FrmFieldCaptcha extends FrmFieldType {
|
|
151 |
|
152 |
if ( is_wp_error( $resp ) ) {
|
153 |
$error_string = $resp->get_error_message();
|
154 |
-
$errors[ 'field' . $args['id'] ] = __( 'There was a problem verifying your
|
155 |
$errors[ 'field' . $args['id'] ] .= ' ' . $error_string;
|
156 |
return $errors;
|
157 |
}
|
@@ -160,21 +218,26 @@ class FrmFieldCaptcha extends FrmFieldType {
|
|
160 |
return $errors;
|
161 |
}
|
162 |
|
163 |
-
if (
|
164 |
-
|
165 |
-
|
|
|
166 |
|
167 |
-
|
168 |
|
169 |
-
|
170 |
-
|
|
|
171 |
}
|
172 |
}
|
173 |
|
174 |
if ( isset( $response['success'] ) && ! $response['success'] ) {
|
175 |
// What happens when the CAPTCHA was entered incorrectly
|
176 |
-
$invalid_message
|
177 |
-
$
|
|
|
|
|
|
|
178 |
}
|
179 |
|
180 |
return $errors;
|
@@ -205,7 +268,7 @@ class FrmFieldCaptcha extends FrmFieldType {
|
|
205 |
}
|
206 |
|
207 |
// phpcs:ignore WordPress.Security.NonceVerification.Missing
|
208 |
-
if ( ! isset( $_POST['g-recaptcha-response'] ) ) {
|
209 |
// There was no captcha submitted.
|
210 |
return array( 'field' . $args['id'] => __( 'The captcha is missing from this form', 'formidable' ) );
|
211 |
}
|
@@ -217,9 +280,13 @@ class FrmFieldCaptcha extends FrmFieldType {
|
|
217 |
* @since 4.07
|
218 |
* @return bool
|
219 |
*/
|
220 |
-
|
221 |
$frm_settings = FrmAppHelper::get_settings();
|
222 |
-
|
|
|
|
|
|
|
|
|
223 |
}
|
224 |
|
225 |
protected function should_validate() {
|
@@ -229,18 +296,40 @@ class FrmFieldCaptcha extends FrmFieldType {
|
|
229 |
}
|
230 |
|
231 |
// don't require the captcha if it shouldn't be shown
|
232 |
-
return
|
233 |
}
|
234 |
|
235 |
protected function send_api_check( $frm_settings ) {
|
|
|
|
|
236 |
$arg_array = array(
|
237 |
'body' => array(
|
238 |
-
'secret' => $
|
239 |
-
'response' => FrmAppHelper::get_param(
|
240 |
'remoteip' => FrmAppHelper::get_ip_address(),
|
241 |
),
|
242 |
);
|
243 |
|
244 |
-
return wp_remote_post(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
245 |
}
|
246 |
}
|
21 |
return FrmAppHelper::plugin_path() . '/classes/views/frm-fields/back-end/field-captcha.php';
|
22 |
}
|
23 |
|
24 |
+
/**
|
25 |
+
* Returns the image name for a captcha.
|
26 |
+
*
|
27 |
+
* @return string
|
28 |
+
*/
|
29 |
+
public static function get_captcha_image_name() {
|
30 |
+
$frm_settings = FrmAppHelper::get_settings();
|
31 |
+
$active_captcha = $frm_settings->active_captcha;
|
32 |
+
if ( ! self::should_show_captcha() ) {
|
33 |
+
$image_name = 'captcha_not_setup';
|
34 |
+
} elseif ( $active_captcha === 'recaptcha' && $frm_settings->re_type === 'v3' ) {
|
35 |
+
$image_name = 'recaptcha_v3';
|
36 |
+
} else {
|
37 |
+
$image_name = $active_captcha;
|
38 |
+
}
|
39 |
+
|
40 |
+
return $image_name;
|
41 |
+
}
|
42 |
+
|
43 |
/**
|
44 |
* @return array
|
45 |
*/
|
46 |
protected function field_settings_for_type() {
|
47 |
return array(
|
48 |
+
'required' => false,
|
49 |
+
'invalid' => true,
|
50 |
+
'captcha_size' => true,
|
51 |
+
'default' => false,
|
52 |
);
|
53 |
}
|
54 |
|
83 |
* @return string
|
84 |
*/
|
85 |
protected function before_replace_html_shortcodes( $args, $html ) {
|
86 |
+
$frm_settings = FrmAppHelper::get_settings();
|
87 |
+
$replace_response = $frm_settings->active_captcha === 'recaptcha' ? 'g-recaptcha-response' : 'h-captcha-response';
|
88 |
+
$replaced_for = str_replace( ' for="field_[key]"', ' for="' . $replace_response . '"', $html );
|
89 |
+
|
90 |
+
return $replaced_for;
|
91 |
}
|
92 |
|
93 |
public function front_field_input( $args, $shortcode_atts ) {
|
94 |
$frm_settings = FrmAppHelper::get_settings();
|
95 |
+
if ( ! self::should_show_captcha() ) {
|
96 |
return '';
|
97 |
}
|
98 |
|
99 |
+
$class_prefix = $this->class_prefix( $frm_settings );
|
100 |
+
$captcha_class = $this->captcha_class( $frm_settings );
|
101 |
+
$captcha_size = $this->captcha_size( $frm_settings );
|
102 |
$allow_mutiple = $frm_settings->re_multi;
|
103 |
|
104 |
+
if ( $frm_settings->active_captcha === 'recaptcha' ) {
|
105 |
+
$site_key = $frm_settings->pubkey;
|
106 |
+
$recaptcha_options = '" data-size="' . esc_attr( $captcha_size ) . '" data-theme="' . esc_attr( $this->field['captcha_theme'] ) . '"';
|
107 |
+
} else {
|
108 |
+
$site_key = $frm_settings->hcaptcha_pubkey;
|
109 |
+
}
|
110 |
+
|
111 |
+
$html = '<div id="' . esc_attr( $args['html_id'] ) . '" class="' . esc_attr( $class_prefix ) . $captcha_class . '" data-sitekey="' . esc_attr( $site_key ) . '"';
|
112 |
+
$html .= ! empty( $recaptcha_options ) ? $recaptcha_options : '';
|
113 |
+
if ( $captcha_size === 'invisible' && ! $allow_mutiple ) {
|
114 |
$html .= ' data-callback="frmAfterRecaptcha"';
|
115 |
}
|
116 |
$html .= '></div>';
|
121 |
protected function load_field_scripts( $args ) {
|
122 |
$api_js_url = $this->api_url();
|
123 |
|
124 |
+
wp_register_script( 'captcha-api', $api_js_url, array( 'formidable' ), '3', true );
|
125 |
+
wp_enqueue_script( 'captcha-api' );
|
126 |
}
|
127 |
|
128 |
protected function api_url() {
|
129 |
+
$frm_settings = FrmAppHelper::get_settings();
|
130 |
+
if ( $frm_settings->active_captcha === 'recaptcha' ) {
|
131 |
+
return $this->recaptcha_api_url( $frm_settings );
|
132 |
+
}
|
133 |
+
|
134 |
+
return $this->hcaptcha_api_url();
|
135 |
+
}
|
136 |
+
|
137 |
+
protected function recaptcha_api_url( $frm_settings ) {
|
138 |
$api_js_url = 'https://www.google.com/recaptcha/api.js?';
|
139 |
|
|
|
140 |
$allow_mutiple = $frm_settings->re_multi;
|
141 |
if ( $allow_mutiple ) {
|
142 |
$api_js_url .= '&onload=frmRecaptcha&render=explicit';
|
147 |
$api_js_url .= '&hl=' . $lang;
|
148 |
}
|
149 |
|
150 |
+
$api_js_url = apply_filters( 'frm_recaptcha_js_url', $api_js_url );
|
151 |
+
|
152 |
+
return $api_js_url;
|
153 |
+
}
|
154 |
+
|
155 |
+
protected function hcaptcha_api_url() {
|
156 |
+
$api_js_url = 'https://js.hcaptcha.com/1/api.js';
|
157 |
+
|
158 |
+
/**
|
159 |
+
* Allows updating hcaptcha js api url.
|
160 |
+
*
|
161 |
+
* @since x.x
|
162 |
+
*
|
163 |
+
* @param string $api_js_url
|
164 |
+
*/
|
165 |
+
$api_js_url = apply_filters( 'frm_hcaptcha_js_url', $api_js_url );
|
166 |
+
|
167 |
+
return $api_js_url;
|
168 |
}
|
169 |
|
170 |
+
protected function class_prefix( $frm_settings ) {
|
171 |
+
if ( $this->allow_multiple( $frm_settings ) && $frm_settings->active_captcha === 'recaptcha' ) {
|
172 |
$class_prefix = 'frm-';
|
173 |
} else {
|
174 |
$class_prefix = '';
|
177 |
return $class_prefix;
|
178 |
}
|
179 |
|
180 |
+
protected function captcha_class( $frm_settings ) {
|
181 |
+
return $frm_settings->active_captcha === 'recaptcha' ? 'g-recaptcha' : 'h-captcha';
|
182 |
+
}
|
183 |
|
184 |
+
protected function allow_multiple( $frm_settings ) {
|
185 |
return $frm_settings->re_multi;
|
186 |
}
|
187 |
|
188 |
/**
|
189 |
* @return string
|
190 |
*/
|
191 |
+
protected function captcha_size( $frm_settings ) {
|
|
|
192 |
if ( in_array( $frm_settings->re_type, array( 'invisible', 'v3' ), true ) ) {
|
193 |
return 'invisible';
|
194 |
}
|
209 |
|
210 |
if ( is_wp_error( $resp ) ) {
|
211 |
$error_string = $resp->get_error_message();
|
212 |
+
$errors[ 'field' . $args['id'] ] = __( 'There was a problem verifying your captcha', 'formidable' );
|
213 |
$errors[ 'field' . $args['id'] ] .= ' ' . $error_string;
|
214 |
return $errors;
|
215 |
}
|
218 |
return $errors;
|
219 |
}
|
220 |
|
221 |
+
if ( $frm_settings->active_captcha === 'recaptcha' ) {
|
222 |
+
if ( 'v3' === $frm_settings->re_type && array_key_exists( 'score', $response ) ) {
|
223 |
+
$threshold = floatval( $frm_settings->re_threshold );
|
224 |
+
$score = floatval( $response['score'] );
|
225 |
|
226 |
+
$this->set_score( $score );
|
227 |
|
228 |
+
if ( $score < $threshold ) {
|
229 |
+
$response['success'] = false;
|
230 |
+
}
|
231 |
}
|
232 |
}
|
233 |
|
234 |
if ( isset( $response['success'] ) && ! $response['success'] ) {
|
235 |
// What happens when the CAPTCHA was entered incorrectly
|
236 |
+
$invalid_message = FrmField::get_option( $this->field, 'invalid' );
|
237 |
+
if ( $invalid_message === __( 'The reCAPTCHA was not entered correctly', 'formidable' ) ) {
|
238 |
+
$invalid_message = '';
|
239 |
+
}
|
240 |
+
$errors[ 'field' . $args['id'] ] = ( $invalid_message === '' ? $frm_settings->re_msg : $invalid_message );
|
241 |
}
|
242 |
|
243 |
return $errors;
|
268 |
}
|
269 |
|
270 |
// phpcs:ignore WordPress.Security.NonceVerification.Missing
|
271 |
+
if ( ! isset( $_POST['g-recaptcha-response'] ) && ! isset( $_POST['h-captcha-response'] ) ) {
|
272 |
// There was no captcha submitted.
|
273 |
return array( 'field' . $args['id'] => __( 'The captcha is missing from this form', 'formidable' ) );
|
274 |
}
|
280 |
* @since 4.07
|
281 |
* @return bool
|
282 |
*/
|
283 |
+
public static function should_show_captcha() {
|
284 |
$frm_settings = FrmAppHelper::get_settings();
|
285 |
+
if ( $frm_settings->active_captcha === 'recaptcha' ) {
|
286 |
+
return ! empty( $frm_settings->pubkey );
|
287 |
+
}
|
288 |
+
|
289 |
+
return ! empty( $frm_settings->hcaptcha_pubkey );
|
290 |
}
|
291 |
|
292 |
protected function should_validate() {
|
296 |
}
|
297 |
|
298 |
// don't require the captcha if it shouldn't be shown
|
299 |
+
return self::should_show_captcha();
|
300 |
}
|
301 |
|
302 |
protected function send_api_check( $frm_settings ) {
|
303 |
+
$captcha_settings = new FrmFieldCaptchaSettings( $frm_settings );
|
304 |
+
|
305 |
$arg_array = array(
|
306 |
'body' => array(
|
307 |
+
'secret' => $captcha_settings->secret,
|
308 |
+
'response' => FrmAppHelper::get_param( $captcha_settings->token_field, '', 'post', 'sanitize_text_field' ),
|
309 |
'remoteip' => FrmAppHelper::get_ip_address(),
|
310 |
),
|
311 |
);
|
312 |
|
313 |
+
return wp_remote_post( $captcha_settings->endpoint, $arg_array );
|
314 |
+
}
|
315 |
+
|
316 |
+
/**
|
317 |
+
* Updates field name in page builder to the currently activated captcha if it is set to the default.
|
318 |
+
*
|
319 |
+
* @since x.x
|
320 |
+
*
|
321 |
+
* @param array $values
|
322 |
+
*
|
323 |
+
* @return array $values
|
324 |
+
*/
|
325 |
+
public static function update_field_name( $values ) {
|
326 |
+
if ( $values['type'] === 'captcha' ) {
|
327 |
+
$name = $values['name'];
|
328 |
+
if ( in_array( $name, array( __( 'reCAPTCHA', 'formidable' ), __( 'hCaptcha', 'formidable' ) ), true ) ) {
|
329 |
+
$values['name'] = __( 'CAPTCHA', 'formidable' );
|
330 |
+
}
|
331 |
+
}
|
332 |
+
|
333 |
+
return $values;
|
334 |
}
|
335 |
}
|
classes/views/frm-fields/back-end/field-captcha.php
CHANGED
@@ -3,13 +3,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
3 |
die( 'You are not allowed to call this page directly.' );
|
4 |
}
|
5 |
|
6 |
-
$
|
7 |
-
|
8 |
-
|
9 |
-
<div class="howto frm_no_captcha_text"><?php
|
10 |
-
/* translators: %1$s: Link HTML, %2$s: End link */
|
11 |
-
printf( esc_html__( 'Your captcha will not appear on your form until you %1$sset up%2$s the Site and Secret Keys', 'formidable' ), '<a href="?page=formidable-settings" target="_blank">', '</a>' );
|
12 |
-
?></div>
|
13 |
-
<?php } ?>
|
14 |
-
<img src="<?php echo esc_url( FrmAppHelper::plugin_url() . '/images/recaptcha.png' ); ?>" class="recaptcha_placeholder" alt="reCaptcha"/>
|
15 |
<input type="hidden" name="<?php echo esc_attr( $field_name ); ?>" value="1" />
|
3 |
die( 'You are not allowed to call this page directly.' );
|
4 |
}
|
5 |
|
6 |
+
$image_name = FrmFieldCaptcha::get_captcha_image_name();
|
7 |
+
?>
|
8 |
+
<img src="<?php echo esc_url( FrmAppHelper::plugin_url() . '/images/' . $image_name . '.png' ); ?>" class="<?php echo esc_attr( $image_name ); ?>_placeholder" alt="<?php echo esc_attr( $image_name ); ?>"/>
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
<input type="hidden" name="<?php echo esc_attr( $field_name ); ?>" value="1" />
|
classes/views/frm-fields/back-end/settings.php
CHANGED
@@ -21,6 +21,21 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
21 |
</h3>
|
22 |
|
23 |
<div class="frm_grid_container frm-collapse-me">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
<?php if ( $display['label'] ) { ?>
|
25 |
<p>
|
26 |
<label for="frm_name_<?php echo esc_attr( $field['id'] ); ?>">
|
@@ -226,7 +241,7 @@ do_action( 'frm_before_field_options', $field, compact( 'field_obj', 'display',
|
|
226 |
</p>
|
227 |
<?php } ?>
|
228 |
|
229 |
-
<?php if ( $display['captcha_size'] && $frm_settings->re_type !== 'invisible' ) { ?>
|
230 |
<p class="frm6 frm_first frm_form_field">
|
231 |
<label for="field_options_captcha_size_<?php echo esc_attr( $field['id'] ); ?>" class="frm_help" title="<?php esc_attr_e( 'Set the size of the captcha field. The compact option is best if your form is in a small area.', 'formidable' ); ?>">
|
232 |
<?php esc_html_e( 'ReCaptcha Type', 'formidable' ); ?>
|
21 |
</h3>
|
22 |
|
23 |
<div class="frm_grid_container frm-collapse-me">
|
24 |
+
<?php
|
25 |
+
if ( $field['type'] === 'captcha' && ! FrmFieldCaptcha::should_show_captcha() ) {
|
26 |
+
?>
|
27 |
+
<div class="frm_builder_captcha frm_warning_style">
|
28 |
+
<?php FrmAppHelper::icon_by_class( 'frm_icon_font frm_alert_icon' ); ?>
|
29 |
+
<div><b><?php echo esc_html__( 'Setup a captcha', 'formidable' ); ?></b>
|
30 |
+
<p>
|
31 |
+
<?php
|
32 |
+
/* translators: %1$s: Link HTML, %2$s: End link */
|
33 |
+
printf( esc_html__( 'Your captcha will not appear on your form until you %1$sset up%2$s the Site and Secret Keys', 'formidable' ), '<a href="?page=formidable-settings" target="_blank">', '</a>' );
|
34 |
+
?>
|
35 |
+
</p>
|
36 |
+
</div>
|
37 |
+
</div>
|
38 |
+
<?php } ?>
|
39 |
<?php if ( $display['label'] ) { ?>
|
40 |
<p>
|
41 |
<label for="frm_name_<?php echo esc_attr( $field['id'] ); ?>">
|
241 |
</p>
|
242 |
<?php } ?>
|
243 |
|
244 |
+
<?php if ( $display['captcha_size'] && $frm_settings->re_type !== 'invisible' && $frm_settings->active_captcha === 'recaptcha' ) { ?>
|
245 |
<p class="frm6 frm_first frm_form_field">
|
246 |
<label for="field_options_captcha_size_<?php echo esc_attr( $field['id'] ); ?>" class="frm_help" title="<?php esc_attr_e( 'Set the size of the captcha field. The compact option is best if your form is in a small area.', 'formidable' ); ?>">
|
247 |
<?php esc_html_e( 'ReCaptcha Type', 'formidable' ); ?>
|
classes/views/frm-settings/captcha/captcha.php
ADDED
@@ -0,0 +1,109 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
die( 'You are not allowed to call this page directly.' );
|
4 |
+
}
|
5 |
+
?>
|
6 |
+
<p class="howto">
|
7 |
+
<?php
|
8 |
+
esc_html_e( 'Captcha will help you to avoid gathering automatically generated responses', 'formidable' );
|
9 |
+
?>
|
10 |
+
</p>
|
11 |
+
<?php
|
12 |
+
$active_captcha = $frm_settings->active_captcha;
|
13 |
+
$recaptcha_is_active = $active_captcha === 'recaptcha';
|
14 |
+
?>
|
15 |
+
<h4><?php esc_html_e( 'Select captcha type', 'formidable' ); ?></h4>
|
16 |
+
<div class="frm_captchas">
|
17 |
+
<div class="frm_radio">
|
18 |
+
<div class="captcha_option <?php echo esc_attr( $recaptcha_is_active ? 'active' : '' ); ?>">
|
19 |
+
<input type="radio" name="frm_active_captcha" id="recaptcha" value="recaptcha" <?php checked( $frm_settings->active_captcha, 'recaptcha' ); ?> />
|
20 |
+
<label for="recaptcha">
|
21 |
+
<?php
|
22 |
+
FrmAppHelper::icon_by_class( 'frmfont frm_recaptcha' );
|
23 |
+
?>
|
24 |
+
<p><?php echo esc_html_e( 'reCAPTCHA', 'formidable' ); ?></p>
|
25 |
+
</label>
|
26 |
+
</div>
|
27 |
+
<div class="captcha_option <?php echo esc_attr( $recaptcha_is_active ? '' : 'active' ); ?>">
|
28 |
+
<input type="radio" name="frm_active_captcha" id="hcaptcha" value="hcaptcha" <?php checked( $frm_settings->active_captcha, 'hcaptcha' ); ?> />
|
29 |
+
<label for="hcaptcha">
|
30 |
+
<?php
|
31 |
+
FrmAppHelper::icon_by_class( 'frmfont frm_hcaptcha' );
|
32 |
+
?>
|
33 |
+
<p><?php echo esc_html_e( 'hCaptcha', 'formidable' ); ?></p>
|
34 |
+
</label>
|
35 |
+
</div>
|
36 |
+
</div>
|
37 |
+
</div>
|
38 |
+
|
39 |
+
<div class="alert frm_hidden">
|
40 |
+
<?php FrmAppHelper::icon_by_class( 'frm_icon_font frm_tooltip_icon' ); ?>
|
41 |
+
<span><?php esc_html_e( 'Changing the captcha type here will replace it in all any forms where it is used.', 'formidable' ); ?></span>
|
42 |
+
</div>
|
43 |
+
|
44 |
+
<div id="recaptcha_settings" class="frm_grid_container <?php echo esc_attr( $recaptcha_is_active ? '' : 'frm_hidden' ); ?>">
|
45 |
+
<h3><?php esc_html_e( 'reCAPTCHA Settings', 'formidable' ); ?></h3>
|
46 |
+
<?php
|
47 |
+
$captcha = 'recaptcha';
|
48 |
+
require FrmAppHelper::plugin_path() . '/classes/views/frm-settings/captcha/captcha_keys.php';
|
49 |
+
?>
|
50 |
+
|
51 |
+
<p class="frm6 frm_form_field">
|
52 |
+
<label for="frm_re_type">
|
53 |
+
<?php esc_html_e( 'reCAPTCHA Type', 'formidable' ); ?>
|
54 |
+
</label>
|
55 |
+
<select name="frm_re_type" id="frm_re_type">
|
56 |
+
<option value="" <?php selected( $frm_settings->re_type, '' ); ?>>
|
57 |
+
<?php esc_html_e( 'Checkbox (V2)', 'formidable' ); ?>
|
58 |
+
</option>
|
59 |
+
<option value="invisible" <?php selected( $frm_settings->re_type, 'invisible' ); ?>>
|
60 |
+
<?php esc_html_e( 'Invisible', 'formidable' ); ?>
|
61 |
+
</option>
|
62 |
+
<option value="v3" <?php selected( $frm_settings->re_type, 'v3' ); ?>>
|
63 |
+
<?php esc_html_e( 'v3', 'formidable' ); ?>
|
64 |
+
</option>
|
65 |
+
</select>
|
66 |
+
</p>
|
67 |
+
|
68 |
+
<p class="frm6 frm_form_field">
|
69 |
+
<label for="frm_re_lang">
|
70 |
+
<?php esc_html_e( 'reCAPTCHA Language', 'formidable' ); ?>
|
71 |
+
</label>
|
72 |
+
<select name="frm_re_lang" id="frm_re_lang">
|
73 |
+
<option value="" <?php selected( $frm_settings->re_lang, '' ); ?>>
|
74 |
+
<?php esc_html_e( 'Browser Default', 'formidable' ); ?>
|
75 |
+
</option>
|
76 |
+
<?php foreach ( $captcha_lang as $lang => $lang_name ) { ?>
|
77 |
+
<option value="<?php echo esc_attr( $lang ); ?>" <?php selected( $frm_settings->re_lang, $lang ); ?>>
|
78 |
+
<?php echo esc_html( $lang_name ); ?>
|
79 |
+
</option>
|
80 |
+
<?php } ?>
|
81 |
+
</select>
|
82 |
+
</p>
|
83 |
+
|
84 |
+
<p id="frm_captcha_threshold_container" class="frm6 frm_form_field <?php echo 'v3' === $frm_settings->re_type ? '' : 'frm_hidden'; ?>">
|
85 |
+
<label for="frm_re_type">
|
86 |
+
<?php esc_html_e( 'reCAPTCHA Threshold', 'formidable' ); ?>
|
87 |
+
<span class="frm_help frm_icon_font frm_tooltip_icon" title="<?php esc_attr_e( 'A score of 0 is likely to be a bot and a score of 1 is likely not a bot. Setting a lower threshold will allow more bots, but it will also stop fewer real users.', 'formidable' ); ?>"></span>
|
88 |
+
</label>
|
89 |
+
<span style="vertical-align:top;">0</span>
|
90 |
+
<input name="frm_re_threshold" id="frm_re_threshold" type="range" step="0.1" max="1" min="0" value="<?php echo esc_attr( $frm_settings->re_threshold ); ?>" />
|
91 |
+
<span style="vertical-align:top;">1</span>
|
92 |
+
</p>
|
93 |
+
|
94 |
+
<p>
|
95 |
+
<label for="frm_re_multi">
|
96 |
+
<input type="checkbox" name="frm_re_multi" id="frm_re_multi"
|
97 |
+
value="1" <?php checked( $frm_settings->re_multi, 1 ); ?> />
|
98 |
+
<?php esc_html_e( 'Allow multiple reCAPTCHAs to be used on a single page', 'formidable' ); ?>
|
99 |
+
</label>
|
100 |
+
</p>
|
101 |
+
</div>
|
102 |
+
|
103 |
+
<div id="hcaptcha_settings" class="frm_grid_container <?php echo esc_attr( $recaptcha_is_active ? 'frm_hidden' : '' ); ?>">
|
104 |
+
<h3><?php esc_html_e( 'hCaptcha Settings', 'formidable' ); ?></h3>
|
105 |
+
<?php
|
106 |
+
$captcha = 'hcaptcha';
|
107 |
+
require FrmAppHelper::plugin_path() . '/classes/views/frm-settings/captcha/captcha_keys.php';
|
108 |
+
?>
|
109 |
+
</div>
|
classes/views/frm-settings/captcha/captcha_keys.php
ADDED
@@ -0,0 +1,47 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
die( 'You are not allowed to call this page directly.' );
|
4 |
+
}
|
5 |
+
?>
|
6 |
+
|
7 |
+
<p class="howto">
|
8 |
+
<?php
|
9 |
+
$captcha_name = $captcha === 'recaptcha' ? 'reCAPTCHA' : 'hCaptcha';
|
10 |
+
if ( $captcha === 'recaptcha' ) {
|
11 |
+
$captcha_name = 'reCAPTCHA';
|
12 |
+
$captcha_api = 'https://www.google.com/recaptcha/';
|
13 |
+
} else {
|
14 |
+
$captcha_name = 'hCaptcha';
|
15 |
+
$captcha_api = 'https://www.hcaptcha.com/signup-interstitial';
|
16 |
+
}
|
17 |
+
printf(
|
18 |
+
/* translators: %1$s: Captcha name, %2$s: Start link HTML, %3$s: End link HTML */
|
19 |
+
esc_html__( '%1$s requires a Site and Private API key. Sign up for a %2$sfree %1$s key%3$s.', 'formidable' ),
|
20 |
+
esc_html( $captcha_name ),
|
21 |
+
'<a href="' . esc_url( $captcha_api ) . '" target="_blank">',
|
22 |
+
'</a>'
|
23 |
+
);
|
24 |
+
?>
|
25 |
+
</p>
|
26 |
+
<?php
|
27 |
+
if ( $captcha === 'recaptcha' ) {
|
28 |
+
$prefix = '';
|
29 |
+
$title = __( 'reCAPTCHA is a free, accessible CAPTCHA service that helps to digitize books while blocking spam on your blog. reCAPTCHA asks commenters to retype two words scanned from a book to prove that they are a human. This verifies that they are not a spambot.', 'formidable' );
|
30 |
+
} else {
|
31 |
+
$prefix = 'hcaptcha_';
|
32 |
+
$title = __( 'hCaptcha is an anti-bot solution that protects user privacy and rewards websites. It is a privacy-focused drop-in replacement for reCAPTCHA.', 'formidable' );
|
33 |
+
}
|
34 |
+
?>
|
35 |
+
<p class="frm6 frm_form_field">
|
36 |
+
<label class="frm_help" for="frm_<?php echo esc_attr( $prefix ); ?>pubkey" title="<?php echo esc_attr( $title ); ?>">
|
37 |
+
<?php esc_html_e( 'Site Key', 'formidable' ); ?>
|
38 |
+
</label>
|
39 |
+
<input type="text" name="frm_<?php echo esc_html( $prefix ); ?>pubkey" id="frm_<?php echo esc_html( $prefix ); ?>pubkey" size="42" value="<?php echo esc_attr( $frm_settings->{$prefix . 'pubkey'} ); ?>" />
|
40 |
+
</p>
|
41 |
+
|
42 |
+
<p class="frm6 frm_form_field">
|
43 |
+
<label for="frm_<?php echo esc_attr( $prefix ); ?>privkey">
|
44 |
+
<?php esc_html_e( 'Secret Key', 'formidable' ); ?>
|
45 |
+
</label>
|
46 |
+
<input type="text" name="frm_<?php echo esc_html( $prefix ); ?>privkey" id="frm_<?php echo esc_html( $prefix ); ?>privkey" size="42" value="<?php echo esc_attr( $frm_settings->{$prefix . 'privkey'} ); ?>" />
|
47 |
+
</p>
|
classes/views/frm-settings/recaptcha.php
CHANGED
@@ -2,81 +2,7 @@
|
|
2 |
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
die( 'You are not allowed to call this page directly.' );
|
4 |
}
|
5 |
-
?>
|
6 |
-
<p class="howto">
|
7 |
-
<?php
|
8 |
-
printf(
|
9 |
-
/* translators: %1$s: Start link HTML, %2$s: End link HTML */
|
10 |
-
esc_html__( 'reCAPTCHA requires a Site and Private API key. Sign up for a %1$sfree reCAPTCHA key%2$s.', 'formidable' ),
|
11 |
-
'<a href="' . esc_url( 'https://www.google.com/recaptcha/' ) . '" target="_blank">',
|
12 |
-
'</a>'
|
13 |
-
);
|
14 |
-
?>
|
15 |
-
</p>
|
16 |
|
17 |
-
|
18 |
-
<p class="frm6 frm_form_field">
|
19 |
-
<label class="frm_help" for="frm_pubkey" title="<?php esc_attr_e( 'reCAPTCHA is a free, accessible CAPTCHA service that helps to digitize books while blocking spam on your blog. reCAPTCHA asks commenters to retype two words scanned from a book to prove that they are a human. This verifies that they are not a spambot.', 'formidable' ); ?>">
|
20 |
-
<?php esc_html_e( 'Site Key', 'formidable' ); ?>
|
21 |
-
</label>
|
22 |
-
<input type="text" name="frm_pubkey" id="frm_pubkey" size="42" value="<?php echo esc_attr( $frm_settings->pubkey ); ?>" />
|
23 |
-
</p>
|
24 |
|
25 |
-
|
26 |
-
<label for="frm_privkey">
|
27 |
-
<?php esc_html_e( 'Secret Key', 'formidable' ); ?>
|
28 |
-
</label>
|
29 |
-
<input type="text" name="frm_privkey" id="frm_privkey" size="42" value="<?php echo esc_attr( $frm_settings->privkey ); ?>" />
|
30 |
-
</p>
|
31 |
-
|
32 |
-
<p class="frm6 frm_form_field">
|
33 |
-
<label for="frm_re_type">
|
34 |
-
<?php esc_html_e( 'reCAPTCHA Type', 'formidable' ); ?>
|
35 |
-
</label>
|
36 |
-
<select name="frm_re_type" id="frm_re_type">
|
37 |
-
<option value="" <?php selected( $frm_settings->re_type, '' ); ?>>
|
38 |
-
<?php esc_html_e( 'Checkbox (V2)', 'formidable' ); ?>
|
39 |
-
</option>
|
40 |
-
<option value="invisible" <?php selected( $frm_settings->re_type, 'invisible' ); ?>>
|
41 |
-
<?php esc_html_e( 'Invisible', 'formidable' ); ?>
|
42 |
-
</option>
|
43 |
-
<option value="v3" <?php selected( $frm_settings->re_type, 'v3' ); ?>>
|
44 |
-
<?php esc_html_e( 'v3', 'formidable' ); ?>
|
45 |
-
</option>
|
46 |
-
</select>
|
47 |
-
</p>
|
48 |
-
|
49 |
-
<p class="frm6 frm_form_field">
|
50 |
-
<label for="frm_re_lang">
|
51 |
-
<?php esc_html_e( 'reCAPTCHA Language', 'formidable' ); ?>
|
52 |
-
</label>
|
53 |
-
<select name="frm_re_lang" id="frm_re_lang">
|
54 |
-
<option value="" <?php selected( $frm_settings->re_lang, '' ); ?>>
|
55 |
-
<?php esc_html_e( 'Browser Default', 'formidable' ); ?>
|
56 |
-
</option>
|
57 |
-
<?php foreach ( $captcha_lang as $lang => $lang_name ) { ?>
|
58 |
-
<option value="<?php echo esc_attr( $lang ); ?>" <?php selected( $frm_settings->re_lang, $lang ); ?>>
|
59 |
-
<?php echo esc_html( $lang_name ); ?>
|
60 |
-
</option>
|
61 |
-
<?php } ?>
|
62 |
-
</select>
|
63 |
-
</p>
|
64 |
-
|
65 |
-
<p id="frm_captcha_threshold_container" class="frm6 frm_form_field <?php echo 'v3' === $frm_settings->re_type ? '' : 'frm_hidden'; ?>">
|
66 |
-
<label for="frm_re_type">
|
67 |
-
<?php esc_html_e( 'reCAPTCHA Threshold', 'formidable' ); ?>
|
68 |
-
<span class="frm_help frm_icon_font frm_tooltip_icon" title="<?php esc_attr_e( 'A score of 0 is likely to be a bot and a score of 1 is likely not a bot. Setting a lower threshold will allow more bots, but it will also stop fewer real users.', 'formidable' ); ?>"></span>
|
69 |
-
</label>
|
70 |
-
<span style="vertical-align:top;">0</span>
|
71 |
-
<input name="frm_re_threshold" id="frm_re_threshold" type="range" step="0.1" max="1" min="0" value="<?php echo esc_attr( $frm_settings->re_threshold ); ?>" />
|
72 |
-
<span style="vertical-align:top;">1</span>
|
73 |
-
</p>
|
74 |
-
|
75 |
-
<p>
|
76 |
-
<label for="frm_re_multi">
|
77 |
-
<input type="checkbox" name="frm_re_multi" id="frm_re_multi"
|
78 |
-
value="1" <?php checked( $frm_settings->re_multi, 1 ); ?> />
|
79 |
-
<?php esc_html_e( 'Allow multiple reCAPTCHAs to be used on a single page', 'formidable' ); ?>
|
80 |
-
</label>
|
81 |
-
</p>
|
82 |
-
</div>
|
2 |
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
die( 'You are not allowed to call this page directly.' );
|
4 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
6 |
+
_deprecated_file( esc_html( basename( __FILE__ ) ), 'x.x', 'formidable/classes/views/frm-settings/captcha/captcha.php' );
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
8 |
+
include FrmAppHelper::plugin_path() . '/classes/views/frm-settings/captcha/captcha.php';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
css/frm_admin.css
CHANGED
@@ -239,9 +239,9 @@ td.column-title .frm_actions_dropdown {
|
|
239 |
}
|
240 |
|
241 |
.frm-upgrade-bar {
|
242 |
-
background:
|
243 |
border-bottom: 1px solid var(--sidebar-hover);
|
244 |
-
padding: 3px 0 3px
|
245 |
font-size: 95%;
|
246 |
}
|
247 |
|
@@ -1526,17 +1526,17 @@ form .frm_blank_field label {
|
|
1526 |
|
1527 |
.frm_error_style,
|
1528 |
.frm_warning_style,
|
|
|
1529 |
.frm_message,
|
1530 |
#post-body-content .frm_updated_message,
|
1531 |
div.frm_updated_message {
|
1532 |
-
border-radius: var(--
|
1533 |
-
|
1534 |
-
|
1535 |
-
|
1536 |
-
padding: 5px 25px;
|
1537 |
font-size: 14px;
|
1538 |
margin: 5px 0 15px;
|
1539 |
-
text-align:
|
1540 |
}
|
1541 |
|
1542 |
#frm_top_bar + .wrap > .frm_updated_message, #frm_top_bar + .wrap > .frm_warning_style {
|
@@ -1549,19 +1549,17 @@ div.frm_updated_message {
|
|
1549 |
margin: 5px 65px;
|
1550 |
}
|
1551 |
|
1552 |
-
#form_global_settings .frm_updated_message {
|
1553 |
margin: 5px 25px;
|
1554 |
}
|
1555 |
|
1556 |
.frm_error_style {
|
1557 |
color: #973937;
|
1558 |
-
|
1559 |
-
background-color: #F2DEDE;
|
1560 |
clear: both;
|
1561 |
}
|
1562 |
|
1563 |
.frm_error_style a {
|
1564 |
-
color: #973937;
|
1565 |
text-decoration: underline;
|
1566 |
font-weight: 600;
|
1567 |
}
|
@@ -1571,12 +1569,8 @@ div.frm_updated_message {
|
|
1571 |
}
|
1572 |
|
1573 |
.frm_warning_style {
|
1574 |
-
color: #
|
1575 |
-
|
1576 |
-
background-color: #FDF9E3;
|
1577 |
-
border-radius: 10px;
|
1578 |
-
text-align: left;
|
1579 |
-
padding-top: 5px;
|
1580 |
}
|
1581 |
|
1582 |
.frm_warning_heading{
|
@@ -1584,11 +1578,16 @@ div.frm_updated_message {
|
|
1584 |
margin-bottom:4px;
|
1585 |
}
|
1586 |
|
|
|
|
|
|
|
|
|
|
|
1587 |
.frm-banner-alert {
|
1588 |
text-align: left;
|
1589 |
margin: 0;
|
1590 |
border-radius: 0;
|
1591 |
-
padding: 10px 0 10px
|
1592 |
}
|
1593 |
|
1594 |
.frm-banner-alert a {
|
@@ -1618,6 +1617,7 @@ div.frm_updated_message {
|
|
1618 |
}
|
1619 |
|
1620 |
.frm-inline-message a {
|
|
|
1621 |
font-weight: 600;
|
1622 |
color: var(--primary-hover);
|
1623 |
}
|
@@ -1835,7 +1835,7 @@ h2.frm-h2 + .howto {
|
|
1835 |
overflow: visible;
|
1836 |
}
|
1837 |
|
1838 |
-
.frm-admin-page-formidableedit #wpbody-content > *:not(.frm-review-notice):not(.frm_previous_install),
|
1839 |
#wpbody-content > .updated,
|
1840 |
#wpbody-content > #update-nag,
|
1841 |
#wpbody-content > .update-nag,
|
@@ -2295,10 +2295,6 @@ h2.frm-h2 + .howto {
|
|
2295 |
padding: 15px 20px;
|
2296 |
}
|
2297 |
|
2298 |
-
#frm-create-footer .frm_error_style {
|
2299 |
-
border-radius: 6px;
|
2300 |
-
}
|
2301 |
-
|
2302 |
#frm_code_from_email_options {
|
2303 |
margin-top: 20px;
|
2304 |
}
|
@@ -2585,7 +2581,6 @@ a.frm_pro_tip:hover .frmsvg {
|
|
2585 |
|
2586 |
.frm_field_list .frm_pro_tip {
|
2587 |
margin: 10px 15px;
|
2588 |
-
padding-left: 40px;
|
2589 |
position: relative;
|
2590 |
width: calc(100% - 30px);
|
2591 |
box-sizing: border-box;
|
@@ -4429,6 +4424,94 @@ label.frm-example-icon {
|
|
4429 |
display: inline-block !important;
|
4430 |
}
|
4431 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4432 |
.frm-example-icon .frmsvg,
|
4433 |
.frm-example-icon i {
|
4434 |
height: 20px;
|
@@ -5548,6 +5631,7 @@ span.howto {
|
|
5548 |
|
5549 |
.frm_wrap .google-visualization-table-tr-head,
|
5550 |
.frm_wrap .google-visualization-table-tr-head th {
|
|
|
5551 |
font-size: 16px;
|
5552 |
font-weight: 400 !important;
|
5553 |
text-align: left;
|
239 |
}
|
240 |
|
241 |
.frm-upgrade-bar {
|
242 |
+
background: rgba(188, 224, 253, 0.23);
|
243 |
border-bottom: 1px solid var(--sidebar-hover);
|
244 |
+
padding: 3px 0 3px 40px;
|
245 |
font-size: 95%;
|
246 |
}
|
247 |
|
1526 |
|
1527 |
.frm_error_style,
|
1528 |
.frm_warning_style,
|
1529 |
+
.frm_note_style,
|
1530 |
.frm_message,
|
1531 |
#post-body-content .frm_updated_message,
|
1532 |
div.frm_updated_message {
|
1533 |
+
border-radius: var(--small-radius);
|
1534 |
+
background-color: #D5F2DC;
|
1535 |
+
color: #1E561F;
|
1536 |
+
padding: 12px 25px;
|
|
|
1537 |
font-size: 14px;
|
1538 |
margin: 5px 0 15px;
|
1539 |
+
text-align: left;
|
1540 |
}
|
1541 |
|
1542 |
#frm_top_bar + .wrap > .frm_updated_message, #frm_top_bar + .wrap > .frm_warning_style {
|
1549 |
margin: 5px 65px;
|
1550 |
}
|
1551 |
|
1552 |
+
#form_global_settings #post-body-content > .frm_updated_message {
|
1553 |
margin: 5px 25px;
|
1554 |
}
|
1555 |
|
1556 |
.frm_error_style {
|
1557 |
color: #973937;
|
1558 |
+
background-color: #EBCCCC;
|
|
|
1559 |
clear: both;
|
1560 |
}
|
1561 |
|
1562 |
.frm_error_style a {
|
|
|
1563 |
text-decoration: underline;
|
1564 |
font-weight: 600;
|
1565 |
}
|
1569 |
}
|
1570 |
|
1571 |
.frm_warning_style {
|
1572 |
+
color: #7A4D05;
|
1573 |
+
background-color: #FFF2D2;
|
|
|
|
|
|
|
|
|
1574 |
}
|
1575 |
|
1576 |
.frm_warning_heading{
|
1578 |
margin-bottom:4px;
|
1579 |
}
|
1580 |
|
1581 |
+
.frm_note_style {
|
1582 |
+
background: rgba(188, 224, 253, 0.23);
|
1583 |
+
color: var(--dark-grey);
|
1584 |
+
}
|
1585 |
+
|
1586 |
.frm-banner-alert {
|
1587 |
text-align: left;
|
1588 |
margin: 0;
|
1589 |
border-radius: 0;
|
1590 |
+
padding: 10px 0 10px 40px;
|
1591 |
}
|
1592 |
|
1593 |
.frm-banner-alert a {
|
1617 |
}
|
1618 |
|
1619 |
.frm-inline-message a {
|
1620 |
+
text-decoration: underline;
|
1621 |
font-weight: 600;
|
1622 |
color: var(--primary-hover);
|
1623 |
}
|
1835 |
overflow: visible;
|
1836 |
}
|
1837 |
|
1838 |
+
.frm-admin-page-formidableedit #wpbody-content > *:not(.frm-review-notice):not(.frm_previous_install):not(.frm-banner-alert),
|
1839 |
#wpbody-content > .updated,
|
1840 |
#wpbody-content > #update-nag,
|
1841 |
#wpbody-content > .update-nag,
|
2295 |
padding: 15px 20px;
|
2296 |
}
|
2297 |
|
|
|
|
|
|
|
|
|
2298 |
#frm_code_from_email_options {
|
2299 |
margin-top: 20px;
|
2300 |
}
|
2581 |
|
2582 |
.frm_field_list .frm_pro_tip {
|
2583 |
margin: 10px 15px;
|
|
|
2584 |
position: relative;
|
2585 |
width: calc(100% - 30px);
|
2586 |
box-sizing: border-box;
|
4424 |
display: inline-block !important;
|
4425 |
}
|
4426 |
|
4427 |
+
#form_global_settings .captcha_settings h4 {
|
4428 |
+
font-weight: 400;
|
4429 |
+
font-size: 14px;
|
4430 |
+
}
|
4431 |
+
|
4432 |
+
#form_global_settings .captcha_settings h3 {
|
4433 |
+
font-weight: 600;
|
4434 |
+
font-size: 18px;
|
4435 |
+
text-transform: none;
|
4436 |
+
color: #282F36;
|
4437 |
+
margin-bottom: 0;
|
4438 |
+
}
|
4439 |
+
|
4440 |
+
.captcha_settings .alert {
|
4441 |
+
display: flex;
|
4442 |
+
margin-top: 16px;
|
4443 |
+
padding: 12px 16px;
|
4444 |
+
column-gap: 10px;
|
4445 |
+
background: rgba(188, 224, 253, 0.23);
|
4446 |
+
border-radius: 4px;
|
4447 |
+
}
|
4448 |
+
|
4449 |
+
.captcha_settings .alert.frm_hidden {
|
4450 |
+
display: none;
|
4451 |
+
}
|
4452 |
+
|
4453 |
+
#form_global_settings .alert p {
|
4454 |
+
margin: 0;
|
4455 |
+
}
|
4456 |
+
|
4457 |
+
.frm_captchas {
|
4458 |
+
margin-top: 16px;
|
4459 |
+
}
|
4460 |
+
|
4461 |
+
.frm_captchas .frm_radio {
|
4462 |
+
display: flex;
|
4463 |
+
column-gap: 21px;
|
4464 |
+
}
|
4465 |
+
|
4466 |
+
.captcha_option {
|
4467 |
+
border: 1px solid rgba(40, 47, 54, 0.2);
|
4468 |
+
border-radius: 4px;
|
4469 |
+
display: inline-block;
|
4470 |
+
position: relative;
|
4471 |
+
}
|
4472 |
+
|
4473 |
+
.captcha_option label {
|
4474 |
+
display: block;
|
4475 |
+
padding: 12px;
|
4476 |
+
display: flex;
|
4477 |
+
flex-direction: column;
|
4478 |
+
text-align: center;
|
4479 |
+
justify-content: center;
|
4480 |
+
}
|
4481 |
+
|
4482 |
+
.captcha_option label p {
|
4483 |
+
color: #545F6E;
|
4484 |
+
}
|
4485 |
+
|
4486 |
+
.captcha_option input[type=radio] {
|
4487 |
+
border: none;
|
4488 |
+
border-width: 0 !important;
|
4489 |
+
display: none;
|
4490 |
+
}
|
4491 |
+
|
4492 |
+
.captcha_option.active label:before {
|
4493 |
+
content: '';
|
4494 |
+
background-color: none;
|
4495 |
+
position: absolute;
|
4496 |
+
left: -10px;
|
4497 |
+
top: -10px;
|
4498 |
+
width: 20px !important;
|
4499 |
+
height: 20px !important;
|
4500 |
+
margin: 0 !important;
|
4501 |
+
background-image: url( data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0iIzQxOTlGRCI+PHRpdGxlPmNoZWNrbWFya19jaXJjbGU8L3RpdGxlPjxjaXJjbGUgY3g9IjEyLjIiIGN5PSIxMS43IiByPSIxMCIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik0yMy42IDEyQTExLjYgMTEuNiAwIDExLjQgMTJhMTEuNiAxMS42IDAgMDEyMy4yIDB6bS0xMyA2LjJsOC43LTguN2MuMy0uMy4zLS43IDAtMWwtMS0xYS43LjcgMCAwMC0xLjEgMGwtNyA3LTMuNC0zLjNhLjguOCAwIDAwLTEgMGwtMSAxYy0uNC4zLS40LjggMCAxbDQuOCA1Yy4zLjIuOC4yIDEgMHoiLz48L3N2Zz4= );
|
4502 |
+
}
|
4503 |
+
|
4504 |
+
.frm_captchas .frmsvg {
|
4505 |
+
width: 140px;
|
4506 |
+
height: 38px;
|
4507 |
+
}
|
4508 |
+
|
4509 |
+
.frm_builder_captcha.frm_warning_style {
|
4510 |
+
display: flex;
|
4511 |
+
column-gap: 10px;
|
4512 |
+
padding: 12px 16px;
|
4513 |
+
}
|
4514 |
+
|
4515 |
.frm-example-icon .frmsvg,
|
4516 |
.frm-example-icon i {
|
4517 |
height: 20px;
|
5631 |
|
5632 |
.frm_wrap .google-visualization-table-tr-head,
|
5633 |
.frm_wrap .google-visualization-table-tr-head th {
|
5634 |
+
white-space: pre-wrap;
|
5635 |
font-size: 16px;
|
5636 |
font-weight: 400 !important;
|
5637 |
text-align: left;
|
css/frm_fonts.css
CHANGED
@@ -20,7 +20,7 @@
|
|
20 |
.wp-media-buttons .button.frm_insert_form{padding-left:5px;}
|
21 |
|
22 |
/* Upgrade notice */
|
23 |
-
#frm_install_message
|
24 |
.frm_deauthorize_link .spinner{
|
25 |
display:inline-block;
|
26 |
margin-top:0;
|
20 |
.wp-media-buttons .button.frm_insert_form{padding-left:5px;}
|
21 |
|
22 |
/* Upgrade notice */
|
23 |
+
#frm_install_message{padding:7px;}
|
24 |
.frm_deauthorize_link .spinner{
|
25 |
display:inline-block;
|
26 |
margin-top:0;
|
formidable.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/*
|
3 |
Plugin Name: Formidable Forms
|
4 |
Description: Quickly and easily create drag-and-drop forms
|
5 |
-
Version: 5.5.
|
6 |
Plugin URI: https://formidableforms.com/
|
7 |
Author URI: https://formidableforms.com/
|
8 |
Author: Strategy11 Form Builder Team
|
2 |
/*
|
3 |
Plugin Name: Formidable Forms
|
4 |
Description: Quickly and easily create drag-and-drop forms
|
5 |
+
Version: 5.5.4
|
6 |
Plugin URI: https://formidableforms.com/
|
7 |
Author URI: https://formidableforms.com/
|
8 |
Author: Strategy11 Form Builder Team
|
images/captcha_not_setup.png
ADDED
Binary file
|
images/hcaptcha.png
ADDED
Binary file
|
images/icons.svg
CHANGED
@@ -250,9 +250,9 @@
|
|
250 |
<title>pencil_solid</title>
|
251 |
<path d="M1.7 13.4a1 1 0 0 0-.3.4l-1.3 5a.9.9 0 0 0 0 .5 1 1 0 0 0 1 .6l5-1.3c.2 0 .4-.2.5-.3l.2-.2-5-4.9zm.5 4.4zM19.7 2.2l-.8-1.1c-.6-.6-1.5-1-2.5-1S14.6.5 14 1l-1.3 1.3 4.9 5L18.9 6a3.5 3.5 0 0 0 .7-3.8zM3 12.1l8.6-8.6 5 5L7.8 17l-5-5z"/>
|
252 |
</symbol>
|
253 |
-
<symbol id="frm_pencil_icon" viewBox="0 0
|
254 |
<title>pencil</title>
|
255 |
-
<path
|
256 |
</symbol>
|
257 |
<symbol id="frm_signature_icon" viewBox="0 0 20 20">
|
258 |
<title>signature</title>
|
@@ -921,5 +921,7 @@
|
|
921 |
<symbol id="frm_thick_more_vert_icon" viewBox="0 0 20 20"><path d="M10 10.834a.833.833 0 100-1.667.833.833 0 000 1.667zM10 5a.833.833 0 100-1.667A.833.833 0 0010 5zM10 16.667A.833.833 0 1010 15a.833.833 0 000 1.667z" fill="#9EA9B8" stroke="#9EA9B8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></symbol>
|
922 |
<symbol id="frm_chat_forms_icon" viewBox="0 0 21 21" fill="none" stroke="currentColor"><path d="M19.991 13.914a2 2 0 0 1-2 2h-12l-4 4v-16a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10Z" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></symbol>
|
923 |
<symbol id="frm_lightning" viewBox="0 0 20 22" fill="none"><path d="M11 1 1 13h9l-1 8L19 9h-9l1-8Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></symbol>
|
|
|
|
|
924 |
</defs>
|
925 |
</svg>
|
250 |
<title>pencil_solid</title>
|
251 |
<path d="M1.7 13.4a1 1 0 0 0-.3.4l-1.3 5a.9.9 0 0 0 0 .5 1 1 0 0 0 1 .6l5-1.3c.2 0 .4-.2.5-.3l.2-.2-5-4.9zm.5 4.4zM19.7 2.2l-.8-1.1c-.6-.6-1.5-1-2.5-1S14.6.5 14 1l-1.3 1.3 4.9 5L18.9 6a3.5 3.5 0 0 0 .7-3.8zM3 12.1l8.6-8.6 5 5L7.8 17l-5-5z"/>
|
252 |
</symbol>
|
253 |
+
<symbol id="frm_pencil_icon" viewBox="0 0 18 18" fill="none">
|
254 |
<title>pencil</title>
|
255 |
+
<path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" d="M13.167 1.5A2.358 2.358 0 0 1 16.5 4.833L5.25 16.083l-4.583 1.25 1.25-4.583L13.167 1.5Z"/>
|
256 |
</symbol>
|
257 |
<symbol id="frm_signature_icon" viewBox="0 0 20 20">
|
258 |
<title>signature</title>
|
921 |
<symbol id="frm_thick_more_vert_icon" viewBox="0 0 20 20"><path d="M10 10.834a.833.833 0 100-1.667.833.833 0 000 1.667zM10 5a.833.833 0 100-1.667A.833.833 0 0010 5zM10 16.667A.833.833 0 1010 15a.833.833 0 000 1.667z" fill="#9EA9B8" stroke="#9EA9B8" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></symbol>
|
922 |
<symbol id="frm_chat_forms_icon" viewBox="0 0 21 21" fill="none" stroke="currentColor"><path d="M19.991 13.914a2 2 0 0 1-2 2h-12l-4 4v-16a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10Z" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></symbol>
|
923 |
<symbol id="frm_lightning" viewBox="0 0 20 22" fill="none"><path d="M11 1 1 13h9l-1 8L19 9h-9l1-8Z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></symbol>
|
924 |
+
<symbol id="frm_hcaptcha" viewBox="0 0 38 40" fill="none"><path fill="#0074BF" d="M28.75 33.25H24V38h4.75v-4.75Z" opacity=".5"/><path fill="#0074BF" d="M24 33.25h-4.75V38H24v-4.75ZM19.25 33.25H14.5V38h4.75v-4.75Z" opacity=".7"/><path fill="#0074BF" d="M14.5 33.25H9.75V38h4.75v-4.75Z" opacity=".5"/><path fill="#0082BF" d="M33.5 28.5h-4.75v4.75h4.75V28.5Z" opacity=".7"/><path fill="#0082BF" d="M28.75 28.5H24v4.75h4.75V28.5Z" opacity=".8"/><path fill="#0082BF" d="M24 28.5h-4.75v4.75H24V28.5ZM19.25 28.5H14.5v4.75h4.75V28.5Z"/><path fill="#0082BF" d="M14.5 28.5H9.75v4.75h4.75V28.5Z" opacity=".8"/><path fill="#0082BF" d="M9.75 28.5H5v4.75h4.75V28.5Z" opacity=".7"/><path fill="#008FBF" d="M38.25 23.75H33.5v4.75h4.75v-4.75Z" opacity=".5"/><path fill="#008FBF" d="M33.5 23.75h-4.75v4.75h4.75v-4.75Z" opacity=".8"/><path fill="#008FBF" d="M28.75 23.75H24v4.75h4.75v-4.75ZM24 23.75h-4.75v4.75H24v-4.75ZM19.25 23.75H14.5v4.75h4.75v-4.75ZM14.5 23.75H9.75v4.75h4.75v-4.75Z"/><path fill="#008FBF" d="M9.75 23.75H5v4.75h4.75v-4.75Z" opacity=".8"/><path fill="#008FBF" d="M5 23.75H.25v4.75H5v-4.75Z" opacity=".5"/><path fill="#009DBF" d="M38.25 19H33.5v4.75h4.75V19Z" opacity=".7"/><path fill="#009DBF" d="M33.5 19h-4.75v4.75h4.75V19ZM28.75 19H24v4.75h4.75V19ZM24 19h-4.75v4.75H24V19ZM19.25 19H14.5v4.75h4.75V19ZM14.5 19H9.75v4.75h4.75V19ZM9.75 19H5v4.75h4.75V19Z"/><path fill="#009DBF" d="M5 19H.25v4.75H5V19Z" opacity=".7"/><path fill="#00ABBF" d="M38.25 14.25H33.5V19h4.75v-4.75Z" opacity=".7"/><path fill="#00ABBF" d="M33.5 14.25h-4.75V19h4.75v-4.75ZM28.75 14.25H24V19h4.75v-4.75ZM24 14.25h-4.75V19H24v-4.75ZM19.25 14.25H14.5V19h4.75v-4.75ZM14.5 14.25H9.75V19h4.75v-4.75ZM9.75 14.25H5V19h4.75v-4.75Z"/><path fill="#00ABBF" d="M5 14.25H.25V19H5v-4.75Z" opacity=".7"/><path fill="#00B9BF" d="M38.25 9.5H33.5v4.75h4.75V9.5Z" opacity=".5"/><path fill="#00B9BF" d="M33.5 9.5h-4.75v4.75h4.75V9.5Z" opacity=".8"/><path fill="#00B9BF" d="M28.75 9.5H24v4.75h4.75V9.5ZM24 9.5h-4.75v4.75H24V9.5ZM19.25 9.5H14.5v4.75h4.75V9.5ZM14.5 9.5H9.75v4.75h4.75V9.5Z"/><path fill="#00B9BF" d="M9.75 9.5H5v4.75h4.75V9.5Z" opacity=".8"/><path fill="#00B9BF" d="M5 9.5H.25v4.75H5V9.5Z" opacity=".5"/><path fill="#00C6BF" d="M33.5 4.75h-4.75V9.5h4.75V4.75Z" opacity=".7"/><path fill="#00C6BF" d="M28.75 4.75H24V9.5h4.75V4.75Z" opacity=".8"/><path fill="#00C6BF" d="M24 4.75h-4.75V9.5H24V4.75ZM19.25 4.75H14.5V9.5h4.75V4.75Z"/><path fill="#00C6BF" d="M14.5 4.75H9.75V9.5h4.75V4.75Z" opacity=".8"/><path fill="#00C6BF" d="M9.75 4.75H5V9.5h4.75V4.75Z" opacity=".7"/><path fill="#00D4BF" d="M28.75 0H24v4.75h4.75V0Z" opacity=".5"/><path fill="#00D4BF" d="M24 0h-4.75v4.75H24V0ZM19.25 0H14.5v4.75h4.75V0Z" opacity=".7"/><path fill="#00D4BF" d="M14.5 0H9.75v4.75h4.75V0Z" opacity=".5"/><path fill="#fff" d="m12.758 17.496 1.312-2.96c.478-.763.43-1.694-.119-2.22a.933.933 0 0 0-.239-.19 1.454 1.454 0 0 0-1.217-.143c-.454.143-.86.453-1.098.859 0 0-1.814 4.225-2.482 6.134-.669 1.91-.406 5.395 2.196 7.996 2.768 2.77 6.755 3.39 9.285 1.48.095-.047.215-.119.31-.19l7.853-6.54c.382-.311.955-.956.43-1.696-.502-.716-1.432-.238-1.814.024l-4.512 3.294a.217.217 0 0 1-.286-.024c-.12-.143-.143-.525.048-.668l6.922-5.872c.596-.549.692-1.313.19-1.862-.477-.525-1.217-.5-1.837.024l-6.206 4.822a.269.269 0 0 1-.382-.048v-.024c-.12-.143-.167-.382-.024-.501l7.065-6.85a1.39 1.39 0 0 0 .072-1.958 1.298 1.298 0 0 0-.955-.406c-.358 0-.716.144-1.002.406l-7.209 6.78c-.167.166-.501 0-.549-.192-.024-.072 0-.143.072-.19l5.514-6.278c.549-.502.572-1.385.071-1.934-.501-.549-1.384-.573-1.933-.071l-.072.071-8.378 9.261c-.31.31-.74.31-.955.144-.143-.144-.167-.334-.071-.478Z"/></symbol>
|
925 |
+
<symbol id="frm_recaptcha" viewBox="0 0 38 38" fill="none"><path fill="#1C3AA9" d="M38.586 19.085a19.756 19.756 0 0 0-.02-.82V2.752L34.278 7.04C30.768 2.744 25.428 0 19.447 0 13.223 0 7.693 2.97 4.197 7.572l7.03 7.103a9.313 9.313 0 0 1 2.848-3.195c1.227-.957 2.966-1.74 5.372-1.74.29 0 .515.034.68.098a9.268 9.268 0 0 1 7.084 4.267l-4.976 4.976c6.303-.025 13.423-.04 16.35.003"/><path fill="#4285F4" d="M19.335 0c-.275.002-.548.008-.82.02H3.002L7.29 4.31C2.994 7.819.25 13.159.25 19.139c0 6.225 2.971 11.754 7.572 15.25l7.103-7.03a9.313 9.313 0 0 1-3.195-2.848c-.957-1.227-1.74-2.966-1.74-5.371 0-.29.034-.515.098-.68a9.268 9.268 0 0 1 4.267-7.085l4.976 4.976c-.025-6.302-.04-13.422.003-16.35"/><path fill="#ABABAB" d="M.25 19.14c.002.274.008.547.02.82v15.512l4.289-4.288c3.51 4.296 8.85 7.04 14.83 7.04 6.225 0 11.754-2.97 15.25-7.571l-7.03-7.104a9.315 9.315 0 0 1-2.848 3.195c-1.227.958-2.966 1.74-5.371 1.74-.29 0-.515-.033-.68-.097a9.267 9.267 0 0 1-7.085-4.268l4.976-4.976c-6.302.025-13.423.04-16.35-.003"/></symbol>
|
926 |
</defs>
|
927 |
</svg>
|
images/recaptcha_v3.png
ADDED
Binary file
|
js/formidable.js
CHANGED
@@ -668,7 +668,6 @@ function frmFrontFormJS() {
|
|
668 |
);
|
669 |
} else if ( Object.keys( response.errors ).length ) {
|
670 |
// errors were returned
|
671 |
-
|
672 |
removeSubmitLoading( jQuery( object ), 'enable' );
|
673 |
|
674 |
//show errors
|
@@ -700,7 +699,7 @@ function frmFrontFormJS() {
|
|
700 |
}
|
701 |
}
|
702 |
|
703 |
-
jQuery( object ).find( '.frm-g-recaptcha, .g-recaptcha' ).each( function() {
|
704 |
var $recaptcha = jQuery( this ),
|
705 |
recaptchaID = $recaptcha.data( 'rid' );
|
706 |
|
@@ -711,6 +710,9 @@ function frmFrontFormJS() {
|
|
711 |
grecaptcha.reset();
|
712 |
}
|
713 |
}
|
|
|
|
|
|
|
714 |
});
|
715 |
|
716 |
jQuery( document ).trigger( 'frmFormErrors', [ object, response ]);
|
@@ -1129,9 +1131,9 @@ function frmFrontFormJS() {
|
|
1129 |
* @since 4.10.02
|
1130 |
*/
|
1131 |
function changeFocusWhenClickComboFieldLabel() {
|
1132 |
-
|
1133 |
|
1134 |
-
|
1135 |
comboInputsContainer.forEach( function( inputsContainer ) {
|
1136 |
if ( ! inputsContainer.closest( '.frm_form_field' ) ) {
|
1137 |
return;
|
668 |
);
|
669 |
} else if ( Object.keys( response.errors ).length ) {
|
670 |
// errors were returned
|
|
|
671 |
removeSubmitLoading( jQuery( object ), 'enable' );
|
672 |
|
673 |
//show errors
|
699 |
}
|
700 |
}
|
701 |
|
702 |
+
jQuery( object ).find( '.frm-g-recaptcha, .g-recaptcha, .h-captcha' ).each( function() {
|
703 |
var $recaptcha = jQuery( this ),
|
704 |
recaptchaID = $recaptcha.data( 'rid' );
|
705 |
|
710 |
grecaptcha.reset();
|
711 |
}
|
712 |
}
|
713 |
+
if ( typeof hcaptcha !== 'undefined' && hcaptcha ) {
|
714 |
+
hcaptcha.reset();
|
715 |
+
}
|
716 |
});
|
717 |
|
718 |
jQuery( document ).trigger( 'frmFormErrors', [ object, response ]);
|
1131 |
* @since 4.10.02
|
1132 |
*/
|
1133 |
function changeFocusWhenClickComboFieldLabel() {
|
1134 |
+
var label;
|
1135 |
|
1136 |
+
var comboInputsContainer = document.querySelectorAll( '.frm_combo_inputs_container' );
|
1137 |
comboInputsContainer.forEach( function( inputsContainer ) {
|
1138 |
if ( ! inputsContainer.closest( '.frm_form_field' ) ) {
|
1139 |
return;
|
js/formidable.min.js
CHANGED
@@ -24,8 +24,8 @@ pageOrder,formReturned,contSubmit,delay,$fieldCont,key,inCollapsedSection,frmTri
|
|
24 |
response.redirect}else if(response.content!==""){if(shouldTriggerEvent){triggerCustomEvent(object,"frmSubmitEvent");return}removeSubmitLoading(jQuery(object));if(frm_js.offset!=-1)frmFrontForm.scrollMsg(jQuery(object),false);formID=jQuery(object).find('input[name="form_id"]').val();response.content=response.content.replace(/ frm_pro_form /g," frm_pro_form frm_no_hide ");replaceContent=jQuery(object).closest(".frm_forms");removeAddedScripts(replaceContent,formID);delay=maybeSlideOut(replaceContent,
|
25 |
response.content);setTimeout(function(){var container,input,previousInput;replaceContent.replaceWith(response.content);addUrlParam(response);if(typeof frmThemeOverride_frmAfterSubmit==="function"){pageOrder=jQuery('input[name="frm_page_order_'+formID+'"]').val();formReturned=jQuery(response.content).find('input[name="form_id"]').val();frmThemeOverride_frmAfterSubmit(formReturned,pageOrder,response.content,object)}if(typeof response.recaptcha!=="undefined"){container=jQuery("#frm_form_"+formID+"_container").find(".frm_fields_container");
|
26 |
input='<input type="hidden" name="recaptcha_checked" value="'+response.recaptcha+'">';previousInput=container.find('input[name="recaptcha_checked"]');if(previousInput.length)previousInput.replaceWith(input);else container.append(input)}afterFormSubmitted(object,response)},delay)}else if(Object.keys(response.errors).length){removeSubmitLoading(jQuery(object),"enable");contSubmit=true;removeAllErrors();$fieldCont=null;for(key in response.errors){$fieldCont=jQuery(object).find("#frm_field_"+key+"_container");
|
27 |
-
if($fieldCont.length){if(!$fieldCont.is(":visible")){inCollapsedSection=$fieldCont.closest(".frm_toggle_container");if(inCollapsedSection.length){frmTrigger=inCollapsedSection.prev();if(!frmTrigger.hasClass("frm_trigger"))frmTrigger=frmTrigger.prev(".frm_trigger");frmTrigger.trigger("click")}}if($fieldCont.is(":visible")){addFieldError($fieldCont,key,response.errors);contSubmit=false}}}jQuery(object).find(".frm-g-recaptcha, .g-recaptcha").each(function(){var $recaptcha=jQuery(this),recaptchaID
|
28 |
-
if(typeof grecaptcha!=="undefined"&&grecaptcha)if(recaptchaID)grecaptcha.reset(recaptchaID);else grecaptcha.reset()});jQuery(document).trigger("frmFormErrors",[object,response]);fieldset.removeClass("frm_doing_ajax");scrollToFirstField(object);if(contSubmit)object.submit();else{jQuery(object).prepend(response.error_message);checkForErrorsAndMaybeSetFocus()}}else{showFileLoading(object);object.submit()}};error=function(){jQuery(object).find('input[type="submit"], input[type="button"]').prop("disabled",
|
29 |
false);object.submit()};postToAjaxUrl(object,data,success,error)}function postToAjaxUrl(form,data,success,error){var ajaxUrl,action,ajaxParams;ajaxUrl=frm_js.ajax_url;action=form.getAttribute("action");if("string"===typeof action&&-1!==action.indexOf("?action=frm_forms_preview"))ajaxUrl=action.split("?action=frm_forms_preview")[0];ajaxParams={type:"POST",url:ajaxUrl,data:data,success:success};if("function"===typeof error)ajaxParams.error=error;jQuery.ajax(ajaxParams)}function afterFormSubmitted(object,
|
30 |
response){var formCompleted=jQuery(response.content).find(".frm_message");if(formCompleted.length)jQuery(document).trigger("frmFormComplete",[object,response]);else jQuery(document).trigger("frmPageChanged",[object,response])}function removeAddedScripts(formContainer,formID){var endReplace=jQuery(".frm_end_ajax_"+formID);if(endReplace.length){formContainer.nextUntil(".frm_end_ajax_"+formID).remove();endReplace.remove()}}function maybeSlideOut(oldContent,newContent){var c,newClass="frm_slideout";if(newContent.indexOf(" frm_slide")!==
|
31 |
-1){c=oldContent.children();if(newContent.indexOf(" frm_going_back")!==-1)newClass+=" frm_going_back";c.removeClass("frm_going_back");c.addClass(newClass);return 300}return 0}function addUrlParam(response){var url;if(history.pushState&&typeof response.page!=="undefined"){url=addQueryVar("frm_page",response.page);window.history.pushState({"html":response.html},"","?"+url)}}function addQueryVar(key,value){var kvp,i,x;key=encodeURI(key);value=encodeURI(value);kvp=document.location.search.substr(1).split("&");
|
24 |
response.redirect}else if(response.content!==""){if(shouldTriggerEvent){triggerCustomEvent(object,"frmSubmitEvent");return}removeSubmitLoading(jQuery(object));if(frm_js.offset!=-1)frmFrontForm.scrollMsg(jQuery(object),false);formID=jQuery(object).find('input[name="form_id"]').val();response.content=response.content.replace(/ frm_pro_form /g," frm_pro_form frm_no_hide ");replaceContent=jQuery(object).closest(".frm_forms");removeAddedScripts(replaceContent,formID);delay=maybeSlideOut(replaceContent,
|
25 |
response.content);setTimeout(function(){var container,input,previousInput;replaceContent.replaceWith(response.content);addUrlParam(response);if(typeof frmThemeOverride_frmAfterSubmit==="function"){pageOrder=jQuery('input[name="frm_page_order_'+formID+'"]').val();formReturned=jQuery(response.content).find('input[name="form_id"]').val();frmThemeOverride_frmAfterSubmit(formReturned,pageOrder,response.content,object)}if(typeof response.recaptcha!=="undefined"){container=jQuery("#frm_form_"+formID+"_container").find(".frm_fields_container");
|
26 |
input='<input type="hidden" name="recaptcha_checked" value="'+response.recaptcha+'">';previousInput=container.find('input[name="recaptcha_checked"]');if(previousInput.length)previousInput.replaceWith(input);else container.append(input)}afterFormSubmitted(object,response)},delay)}else if(Object.keys(response.errors).length){removeSubmitLoading(jQuery(object),"enable");contSubmit=true;removeAllErrors();$fieldCont=null;for(key in response.errors){$fieldCont=jQuery(object).find("#frm_field_"+key+"_container");
|
27 |
+
if($fieldCont.length){if(!$fieldCont.is(":visible")){inCollapsedSection=$fieldCont.closest(".frm_toggle_container");if(inCollapsedSection.length){frmTrigger=inCollapsedSection.prev();if(!frmTrigger.hasClass("frm_trigger"))frmTrigger=frmTrigger.prev(".frm_trigger");frmTrigger.trigger("click")}}if($fieldCont.is(":visible")){addFieldError($fieldCont,key,response.errors);contSubmit=false}}}jQuery(object).find(".frm-g-recaptcha, .g-recaptcha, .h-captcha").each(function(){var $recaptcha=jQuery(this),recaptchaID=
|
28 |
+
$recaptcha.data("rid");if(typeof grecaptcha!=="undefined"&&grecaptcha)if(recaptchaID)grecaptcha.reset(recaptchaID);else grecaptcha.reset();if(typeof hcaptcha!=="undefined"&&hcaptcha)hcaptcha.reset()});jQuery(document).trigger("frmFormErrors",[object,response]);fieldset.removeClass("frm_doing_ajax");scrollToFirstField(object);if(contSubmit)object.submit();else{jQuery(object).prepend(response.error_message);checkForErrorsAndMaybeSetFocus()}}else{showFileLoading(object);object.submit()}};error=function(){jQuery(object).find('input[type="submit"], input[type="button"]').prop("disabled",
|
29 |
false);object.submit()};postToAjaxUrl(object,data,success,error)}function postToAjaxUrl(form,data,success,error){var ajaxUrl,action,ajaxParams;ajaxUrl=frm_js.ajax_url;action=form.getAttribute("action");if("string"===typeof action&&-1!==action.indexOf("?action=frm_forms_preview"))ajaxUrl=action.split("?action=frm_forms_preview")[0];ajaxParams={type:"POST",url:ajaxUrl,data:data,success:success};if("function"===typeof error)ajaxParams.error=error;jQuery.ajax(ajaxParams)}function afterFormSubmitted(object,
|
30 |
response){var formCompleted=jQuery(response.content).find(".frm_message");if(formCompleted.length)jQuery(document).trigger("frmFormComplete",[object,response]);else jQuery(document).trigger("frmPageChanged",[object,response])}function removeAddedScripts(formContainer,formID){var endReplace=jQuery(".frm_end_ajax_"+formID);if(endReplace.length){formContainer.nextUntil(".frm_end_ajax_"+formID).remove();endReplace.remove()}}function maybeSlideOut(oldContent,newContent){var c,newClass="frm_slideout";if(newContent.indexOf(" frm_slide")!==
|
31 |
-1){c=oldContent.children();if(newContent.indexOf(" frm_going_back")!==-1)newClass+=" frm_going_back";c.removeClass("frm_going_back");c.addClass(newClass);return 300}return 0}function addUrlParam(response){var url;if(history.pushState&&typeof response.page!=="undefined"){url=addQueryVar("frm_page",response.page);window.history.pushState({"html":response.html},"","?"+url)}}function addQueryVar(key,value){var kvp,i,x;key=encodeURI(key);value=encodeURI(value);kvp=document.location.search.substr(1).split("&");
|
js/formidable_admin.js
CHANGED
@@ -730,6 +730,15 @@ function frmAdminBuildJS() {
|
|
730 |
showInputIcon( '#' + cont.attr( 'id' ) );
|
731 |
frmDom.autocomplete.initAutocomplete( 'page', inside );
|
732 |
jQuery( b ).trigger( 'frm-action-loaded' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
733 |
}
|
734 |
});
|
735 |
}
|
@@ -1020,7 +1029,7 @@ function frmAdminBuildJS() {
|
|
1020 |
maybeOpenCollapsedPage( placeholder );
|
1021 |
|
1022 |
const $previousFieldContainer = ui.helper.parent();
|
1023 |
-
const previousSection = ui.helper.get( 0 ).closest( 'ul.
|
1024 |
const newSection = placeholder.closest( 'ul.frm_sorting' );
|
1025 |
|
1026 |
if ( draggable.classList.contains( 'frm-new-field' ) ) {
|
@@ -1029,7 +1038,7 @@ function frmAdminBuildJS() {
|
|
1029 |
moveFieldThatAlreadyExists( draggable, placeholder );
|
1030 |
}
|
1031 |
|
1032 |
-
const previousSectionId = previousSection
|
1033 |
const newSectionId = newSection.classList.contains( 'start_divider' ) ? parseInt( newSection.closest( '.edit_field_type_divider' ).getAttribute( 'data-fid' ) ) : 0;
|
1034 |
|
1035 |
placeholder.remove();
|
@@ -1040,7 +1049,7 @@ function frmAdminBuildJS() {
|
|
1040 |
maybeUpdateDraggableClassAfterDrop( draggable, $previousContainerFields );
|
1041 |
|
1042 |
if ( previousSectionId !== newSectionId ) {
|
1043 |
-
updateFieldAfterMovingBetweenSections( jQuery( draggable ) );
|
1044 |
}
|
1045 |
|
1046 |
debouncedSyncAfterDragAndDrop();
|
@@ -1538,23 +1547,26 @@ function frmAdminBuildJS() {
|
|
1538 |
/**
|
1539 |
* Update a field after it is dragged and dropped into, out of, or between sections
|
1540 |
*
|
1541 |
-
* @param {
|
|
|
|
|
1542 |
*/
|
1543 |
-
function updateFieldAfterMovingBetweenSections( currentItem ) {
|
1544 |
if ( ! currentItem.hasClass( 'form-field' ) ) {
|
1545 |
// currentItem is a field group. Call for children recursively.
|
1546 |
getFieldsInRow( jQuery( currentItem.get( 0 ).firstChild ) ).each(
|
1547 |
function() {
|
1548 |
-
updateFieldAfterMovingBetweenSections( jQuery( this ) );
|
1549 |
}
|
1550 |
);
|
1551 |
return;
|
1552 |
}
|
1553 |
|
1554 |
-
const fieldId
|
1555 |
-
const section
|
1556 |
-
const formId
|
1557 |
-
const sectionId
|
|
|
1558 |
|
1559 |
jQuery.ajax({
|
1560 |
type: 'POST',
|
@@ -1564,6 +1576,7 @@ function frmAdminBuildJS() {
|
|
1564 |
form_id: formId,
|
1565 |
field: fieldId,
|
1566 |
section_id: sectionId,
|
|
|
1567 |
nonce: frmGlobal.nonce
|
1568 |
},
|
1569 |
success: function() {
|
@@ -3857,11 +3870,20 @@ function frmAdminBuildJS() {
|
|
3857 |
return wrapper;
|
3858 |
}
|
3859 |
|
|
|
|
|
|
|
|
|
|
|
3860 |
function handleFieldGroupLayoutOptionClick() {
|
3861 |
-
|
3862 |
-
|
3863 |
-
|
3864 |
-
|
|
|
|
|
|
|
|
|
3865 |
syncLayoutClasses( getFieldsInRow( jQuery( row ) ).first(), type );
|
3866 |
destroyFieldGroupPopup();
|
3867 |
}
|
@@ -6421,6 +6443,15 @@ function frmAdminBuildJS() {
|
|
6421 |
if ( widgetTop ) {
|
6422 |
jQuery( widgetTop ).trigger( 'frm-action-loaded' );
|
6423 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6424 |
}
|
6425 |
}
|
6426 |
|
@@ -10315,6 +10346,19 @@ function frmAdminBuildJS() {
|
|
10315 |
if ( captchaType ) {
|
10316 |
captchaType.addEventListener( 'change', handleCaptchaTypeChange );
|
10317 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10318 |
},
|
10319 |
|
10320 |
exportInit: function() {
|
@@ -10419,7 +10463,9 @@ function frmAdminBuildJS() {
|
|
10419 |
addFilter: function( hookName, callback, priority ) {
|
10420 |
return wp.hooks.addFilter( hookName, 'formidable', callback, priority );
|
10421 |
}
|
10422 |
-
}
|
|
|
|
|
10423 |
};
|
10424 |
}
|
10425 |
|
730 |
showInputIcon( '#' + cont.attr( 'id' ) );
|
731 |
frmDom.autocomplete.initAutocomplete( 'page', inside );
|
732 |
jQuery( b ).trigger( 'frm-action-loaded' );
|
733 |
+
|
734 |
+
/**
|
735 |
+
* Fires after filling form action content when opening.
|
736 |
+
*
|
737 |
+
* @since 5.5.4
|
738 |
+
*
|
739 |
+
* @param {Object} insideElement JQuery object of form action inside element.
|
740 |
+
*/
|
741 |
+
wp.hooks.doAction( 'frm_filled_form_action', inside );
|
742 |
}
|
743 |
});
|
744 |
}
|
1029 |
maybeOpenCollapsedPage( placeholder );
|
1030 |
|
1031 |
const $previousFieldContainer = ui.helper.parent();
|
1032 |
+
const previousSection = ui.helper.get( 0 ).closest( 'ul.start_divider' );
|
1033 |
const newSection = placeholder.closest( 'ul.frm_sorting' );
|
1034 |
|
1035 |
if ( draggable.classList.contains( 'frm-new-field' ) ) {
|
1038 |
moveFieldThatAlreadyExists( draggable, placeholder );
|
1039 |
}
|
1040 |
|
1041 |
+
const previousSectionId = previousSection ? parseInt( previousSection.closest( '.edit_field_type_divider' ).getAttribute( 'data-fid' ) ) : 0;
|
1042 |
const newSectionId = newSection.classList.contains( 'start_divider' ) ? parseInt( newSection.closest( '.edit_field_type_divider' ).getAttribute( 'data-fid' ) ) : 0;
|
1043 |
|
1044 |
placeholder.remove();
|
1049 |
maybeUpdateDraggableClassAfterDrop( draggable, $previousContainerFields );
|
1050 |
|
1051 |
if ( previousSectionId !== newSectionId ) {
|
1052 |
+
updateFieldAfterMovingBetweenSections( jQuery( draggable ), previousSection );
|
1053 |
}
|
1054 |
|
1055 |
debouncedSyncAfterDragAndDrop();
|
1547 |
/**
|
1548 |
* Update a field after it is dragged and dropped into, out of, or between sections
|
1549 |
*
|
1550 |
+
* @param {Object} currentItem
|
1551 |
+
* @param {Object} previousSection
|
1552 |
+
* @returns {void}
|
1553 |
*/
|
1554 |
+
function updateFieldAfterMovingBetweenSections( currentItem, previousSection ) {
|
1555 |
if ( ! currentItem.hasClass( 'form-field' ) ) {
|
1556 |
// currentItem is a field group. Call for children recursively.
|
1557 |
getFieldsInRow( jQuery( currentItem.get( 0 ).firstChild ) ).each(
|
1558 |
function() {
|
1559 |
+
updateFieldAfterMovingBetweenSections( jQuery( this ), previousSection );
|
1560 |
}
|
1561 |
);
|
1562 |
return;
|
1563 |
}
|
1564 |
|
1565 |
+
const fieldId = currentItem.attr( 'id' ).replace( 'frm_field_id_', '' );
|
1566 |
+
const section = getSectionForFieldPlacement( currentItem );
|
1567 |
+
const formId = getFormIdForFieldPlacement( section );
|
1568 |
+
const sectionId = getSectionIdForFieldPlacement( section );
|
1569 |
+
const previousFormId = previousSection ? getFormIdForFieldPlacement( jQuery( previousSection.parentNode ) ) : 0;
|
1570 |
|
1571 |
jQuery.ajax({
|
1572 |
type: 'POST',
|
1576 |
form_id: formId,
|
1577 |
field: fieldId,
|
1578 |
section_id: sectionId,
|
1579 |
+
previous_form_id: previousFormId,
|
1580 |
nonce: frmGlobal.nonce
|
1581 |
},
|
1582 |
success: function() {
|
3870 |
return wrapper;
|
3871 |
}
|
3872 |
|
3873 |
+
/**
|
3874 |
+
* Handle when a field group layout option (that sets grid classes/column sizing) is selected in the "Row Layout" popup.
|
3875 |
+
*
|
3876 |
+
* @returns {void}
|
3877 |
+
*/
|
3878 |
function handleFieldGroupLayoutOptionClick() {
|
3879 |
+
const row = document.querySelector( '.frm-field-group-hover-target' );
|
3880 |
+
if ( ! row ) {
|
3881 |
+
// The field group layout options also get clicked when merging multiple rows.
|
3882 |
+
// The following code isn't required for multiple rows though so just exit early.
|
3883 |
+
return;
|
3884 |
+
}
|
3885 |
+
|
3886 |
+
const type = this.getAttribute( 'layout-type' );
|
3887 |
syncLayoutClasses( getFieldsInRow( jQuery( row ) ).first(), type );
|
3888 |
destroyFieldGroupPopup();
|
3889 |
}
|
6443 |
if ( widgetTop ) {
|
6444 |
jQuery( widgetTop ).trigger( 'frm-action-loaded' );
|
6445 |
}
|
6446 |
+
|
6447 |
+
/**
|
6448 |
+
* Fires after added a new form action.
|
6449 |
+
*
|
6450 |
+
* @since 5.5.4
|
6451 |
+
*
|
6452 |
+
* @param {HTMLElement} formAction Form action element.
|
6453 |
+
*/
|
6454 |
+
wp.hooks.doAction( 'frm_added_form_action', newAction );
|
6455 |
}
|
6456 |
}
|
6457 |
|
10346 |
if ( captchaType ) {
|
10347 |
captchaType.addEventListener( 'change', handleCaptchaTypeChange );
|
10348 |
}
|
10349 |
+
|
10350 |
+
document.querySelector( '.frm_captchas' ).addEventListener( 'change', function( e ) {
|
10351 |
+
var selectedValue, unselectedValue;
|
10352 |
+
selectedValue = e.target.value;
|
10353 |
+
unselectedValue = selectedValue === 'recaptcha' ? 'hcaptcha' : 'recaptcha';
|
10354 |
+
document.getElementById( selectedValue + '_settings' ).classList.remove( 'frm_hidden' );
|
10355 |
+
document.getElementById( selectedValue ).parentElement.classList.add( 'active' );
|
10356 |
+
|
10357 |
+
document.getElementById( unselectedValue + '_settings' ).classList.add( 'frm_hidden' );
|
10358 |
+
document.getElementById( unselectedValue ).parentElement.classList.remove( 'active' );
|
10359 |
+
|
10360 |
+
document.querySelector( '.captcha_settings .alert' ).classList.toggle( 'frm_hidden' );
|
10361 |
+
});
|
10362 |
},
|
10363 |
|
10364 |
exportInit: function() {
|
10463 |
addFilter: function( hookName, callback, priority ) {
|
10464 |
return wp.hooks.addFilter( hookName, 'formidable', callback, priority );
|
10465 |
}
|
10466 |
+
},
|
10467 |
+
|
10468 |
+
infoModal: infoModal
|
10469 |
};
|
10470 |
}
|
10471 |
|
js/formidable_blocks.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=5)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.updateAttribute=function(e,t,n){n(function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n;return e}({},e,t))},t.setTextAttribute=function(e,t){if(e)return" "+t+'="'+e+'"';return""},t.getSubDir=function(){var e=window.location.pathname,t=e.indexOf("wp-admin"),n="/";t>-1&&(n=e.substr(0,t));return n};t.cssHideAdvancedSettings="\n .components-panel__body.editor-block-inspector__advanced {\n display:none;\n }\n"},function(e,t,n){e.exports=n(8)()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=n(0);function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function l(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var a=function(e){function t(){return i(this,t),l(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"render",value:function(){return wp.element.createElement("div",null,"[formidable",(e=this.props,t=e.formId,n=e.title,r=e.description,i=e.minimize,l="",l+=(0,o.setTextAttribute)(t,"id"),l+=(0,o.setTextAttribute)(n,"title"),l+=(0,o.setTextAttribute)(r,"description"),l+=(0,o.setTextAttribute)(i,"minimize")),"]");var e,t,n,r,i,l}}]),t}(wp.element.Component);t.default=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=l(n(10)),i=l(n(1));function l(e){return e&&e.__esModule?e:{default:e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var u=wp.i18n.__,s=function(e){function t(){return a(this,t),c(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"render",value:function(){var e=this.props,t=e.formId,n=e.setAttributes,r=e.forms;return wp.element.createElement(o.default,{selected:t,itemName:u("form","formidable"),itemNamePlural:u("forms","formidable"),items:r,onChange:function(e){n({formId:e})}})}}]),t}(wp.element.Component);t.default=s,s.propTypes={formId:i.default.string,setAttributes:i.default.func.isRequired}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var l=wp.element.Component,a=wp.components.Dashicon,c=function(e){function t(){return o(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"render",value:function(){return"svg"!==formidable_form_selector.icon?wp.element.createElement(a,{icon:formidable_form_selector.icon,size:"120"}):wp.element.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 599.68 601.37",width:"120",height:"120"},wp.element.createElement("path",{className:"cls-1 orange",d:"M289.6 384h140v76h-140z"}),wp.element.createElement("path",{className:"cls-1",d:"M400.2 147h-200c-17 0-30.6 12.2-30.6 29.3V218h260v-71zM397.9 264H169.6v196h75V340H398a32.2 32.2 0 0 0 30.1-21.4 24.3 24.3 0 0 0 1.7-8.7V264z"}),wp.element.createElement("path",{className:"cls-1",d:"M299.8 601.4A300.3 300.3 0 0 1 0 300.7a299.8 299.8 0 1 1 511.9 212.6 297.4 297.4 0 0 1-212 88zm0-563A262 262 0 0 0 38.3 300.7a261.6 261.6 0 1 0 446.5-185.5 259.5 259.5 0 0 0-185-76.8z"}))}}]),t}(l);t.default=c},function(e,t,n){"use strict";n(6),n(11)},function(e,t,n){"use strict";var r=c(n(2)),o=c(n(7)),i=c(n(4)),l=c(n(3)),a=n(0);function c(e){return e&&e.__esModule?e:{default:e}}var u=wp.element.Fragment,s=wp.i18n.__,f=wp.blocks.registerBlockType,p=wp.components,m=p.ServerSideRender,b=p.Notice;f("formidable/simple-form",{title:formidable_form_selector.name,description:s("Display a Form","formidable"),icon:i.default,category:"widgets",keywords:[s("contact forms","formidable"),"formidable"],edit:function(e){var t=e.setAttributes,n=e.attributes,r=e.isSelected,c=n.formId,f=formidable_form_selector.forms;return 0===f.length?wp.element.createElement(b,{status:"warning",isDismissible:!1},s("This site does not have any forms.","formidable")):c?wp.element.createElement(u,null,wp.element.createElement(o.default,{attributes:n,setAttributes:t,forms:f}),r&&wp.element.createElement("style",null,a.cssHideAdvancedSettings),wp.element.createElement(m,{block:"formidable/simple-form",attributes:n})):wp.element.createElement("div",{className:"frm-block-intro-screen"},wp.element.createElement("div",{className:"frm-block-intro-content"},wp.element.createElement(i.default,null),wp.element.createElement("div",{className:"frm-block-title"},formidable_form_selector.name),wp.element.createElement("div",{className:"frm-block-selector-screen"},wp.element.createElement(l.default,{formId:c,setAttributes:t,forms:f}))))},save:function(e){var t=e.attributes;return void 0===t.formId?"":wp.element.createElement(u,null,wp.element.createElement(r.default,t))}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),o=c(n(1)),i=c(n(3)),l=c(n(2)),a=n(0);function c(e){return e&&e.__esModule?e:{default:e}}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var f=wp.i18n.__,p=wp.element.Component,m=wp.blockEditor.InspectorControls,b=wp.components,d=b.PanelBody,y=b.PanelRow,w=b.ToggleControl,h=b.ExternalLink,v=function(e){function t(){return u(this,t),s(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"render",value:function(){var e=this.props,t=e.setAttributes,n=e.attributes,r=e.forms,o=n.formId,c=n.title,u=n.description,s=n.minimize;return wp.element.createElement(m,null,wp.element.createElement(d,{title:f("Select Form","formidable"),initialOpen:!0},wp.element.createElement(y,null,wp.element.createElement(i.default,{formId:o,setAttributes:t,forms:r})),o&&wp.element.createElement(y,null,wp.element.createElement(h,{href:(0,a.getSubDir)()+"wp-admin/admin.php?page=formidable&frm_action=edit&id="+o},f("Go to form","formidable")))),wp.element.createElement(d,{title:f("Options","formidable"),initialOpen:!1},wp.element.createElement(w,{label:f("Show Form Title","formidable"),checked:c,onChange:function(e){(0,a.updateAttribute)("title",e?"1":"",t)}}),wp.element.createElement(w,{label:f("Show Form Description","formidable"),checked:u,onChange:function(e){(0,a.updateAttribute)("description",e?"1":"",t)}}),wp.element.createElement(w,{label:f("Minimize HTML","formidable"),checked:s,onChange:function(e){(0,a.updateAttribute)("minimize",e?"1":"",t)}})),wp.element.createElement(d,{title:f("Shortcode","formidable"),initialOpen:!1},wp.element.createElement(y,null,wp.element.createElement(l.default,this.props.attributes))))}}]),t}(p);t.default=v,v.propTypes={attributes:o.default.object,setAttributes:o.default.func}},function(e,t,n){"use strict";var r=n(9);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,i,l){if(l!==r){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=n(1),l=(r=i)&&r.__esModule?r:{default:r};function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var u=wp.i18n,s=u.__,f=u.sprintf,p=wp.element.Component,m=wp.components.SelectControl,b=function(e){function t(){return a(this,t),c(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),o(t,[{key:"createOptions",value:function(e,t){var n=e.map((function(e){return{label:e.label,value:e.value}}));return[{label:f(s("Select a %s","formidable"),t),value:""}].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(n))}},{key:"render",value:function(){var e=this.props,t=e.selected,n=e.items,r=e.onChange,o=e.itemName,i=e.itemNamePlural,l=e.label,a=e.help;return n&&0!==n.length?wp.element.createElement(m,{value:t,options:this.createOptions(n,o),label:l,help:a,onChange:r}):wp.element.createElement("p",{className:"frm-block-select-no-items"},f(s("Currently, there are no %s","formidable"),i))}}]),t}(p);t.default=b,b.defaultProps={itemName:"item",itemNamePlural:"items"},b.propTypes={selected:l.default.oneOfType([l.default.string,l.default.number]),items:l.default.array,onChange:l.default.func,itemName:l.default.string,itemNamePlural:l.default.string,label:l.default.string,help:l.default.string}},function(e,t,n){"use strict";var r,o=n(4),i=(r=o)&&r.__esModule?r:{default:r};var l=wp.i18n.__,a=wp.blocks.registerBlockType,c=wp.components.Notice,u=wp.element.createElement("svg",{width:20,height:20},wp.element.createElement("path",{d:"M16.9 0H3a2 2 0 0 0-1.9 1.9V18a2 2 0 0 0 2 1.9h13.7a2 2 0 0 0 1.9-1.9V2a2 2 0 0 0-2-1.9zm0 18.1H3v-10H17v10zm0-11.9H3V2H17v4.3zM5.5 12.6H7c.3 0 .5-.3.5-.5v-1.5c0-.3-.3-.5-.5-.5H5.5c-.3 0-.5.3-.5.5V12c0 .3.3.5.5.5zm7.5 3.8h1.5c.3 0 .5-.3.5-.6v-5.2c0-.3-.3-.5-.5-.5H13c-.3 0-.5.3-.5.5v5.3c0 .2.3.4.5.4zm-7.5 0H7c.3 0 .5-.3.5-.6v-1.4c0-.3-.3-.6-.5-.6H5.5c-.3 0-.5.3-.5.6v1.4c0 .3.3.6.5.6zm3.8-3.8h1.4c.3 0 .6-.3.6-.5v-1.5c0-.3-.3-.5-.6-.5H9.3c-.3 0-.6.3-.6.5V12c0 .3.3.5.6.5zm0 3.8h1.4c.3 0 .6-.3.6-.6v-1.4c0-.3-.3-.6-.6-.6H9.3c-.3 0-.6.3-.6.6v1.4c0 .3.3.6.6.6z"}));a("formidable/calculator",{title:l("Calculator Form","formidable"),description:l("Display a Calculator Form","formidable"),icon:u,category:"widgets",keywords:["calculation","formidable"],edit:function(e){e.setAttributes,e.attributes.formId;return 0===formidable_form_selector.forms.length?wp.element.createElement(c,{status:"warning",isDismissible:!1},l("This site does not have any forms.","formidable")):wp.element.createElement("div",{className:"frm-block-intro-screen"},wp.element.createElement("div",{className:"frm-block-intro-content"},wp.element.createElement(i.default,null),wp.element.createElement("div",{className:"frm-block-title"},l("Calculator Form","formidable")),wp.element.createElement("div",{className:"frm-block-selector-screen frm_pro_tip"},wp.element.createElement(c,{status:"warning",isDismissible:!1},l("This site does not have any calculator forms.","formidable"),wp.element.createElement("br",null),wp.element.createElement("a",{href:formidable_form_selector.link,target:"_blank"},l("Upgrade Formidable Forms.","formidable"))),wp.element.createElement("img",{src:formidable_form_selector.url+"/images/conversion-calc.jpg",alt:l("Calculator Form","formidable")}))))}})}]);
|
1 |
+
(()=>{var e={877:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var l=wp.element.Component,a=wp.components.Dashicon,i=function(e){function t(){return n(this,t),o(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"render",value:function(){return"svg"!==formidable_form_selector.icon?wp.element.createElement(a,{icon:formidable_form_selector.icon,size:"120"}):wp.element.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 599.68 601.37",width:"120",height:"120"},wp.element.createElement("path",{className:"cls-1 orange",d:"M289.6 384h140v76h-140z"}),wp.element.createElement("path",{className:"cls-1",d:"M400.2 147h-200c-17 0-30.6 12.2-30.6 29.3V218h260v-71zM397.9 264H169.6v196h75V340H398a32.2 32.2 0 0 0 30.1-21.4 24.3 24.3 0 0 0 1.7-8.7V264z"}),wp.element.createElement("path",{className:"cls-1",d:"M299.8 601.4A300.3 300.3 0 0 1 0 300.7a299.8 299.8 0 1 1 511.9 212.6 297.4 297.4 0 0 1-212 88zm0-563A262 262 0 0 0 38.3 300.7a261.6 261.6 0 1 0 446.5-185.5 259.5 259.5 0 0 0-185-76.8z"}))}}]),t}(l);t.default=i},752:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,o=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),l=(n=r(697))&&n.__esModule?n:{default:n};function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var c=wp.i18n,s=c.__,u=c.sprintf,f=wp.element.Component,m=wp.components.SelectControl,p=function(e){function t(){return a(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),o(t,[{key:"createOptions",value:function(e,t){var r=e.map((function(e){return{label:e.label,value:e.value}}));return[{label:u(s("Select a %s","formidable"),t),value:""}].concat(function(e){if(Array.isArray(e)){for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return Array.from(e)}(r))}},{key:"render",value:function(){var e=this.props,t=e.selected,r=e.items,n=e.onChange,o=e.itemName,l=e.itemNamePlural,a=e.label,i=e.help;return r&&0!==r.length?wp.element.createElement(m,{value:t,options:this.createOptions(r,o),label:a,help:i,onChange:n}):wp.element.createElement("p",{className:"frm-block-select-no-items"},u(s("Currently, there are no %s","formidable"),l))}}]),t}(f);t.default=p,p.defaultProps={itemName:"item",itemNamePlural:"items"},p.propTypes={selected:l.default.oneOfType([l.default.string,l.default.number]),items:l.default.array,onChange:l.default.func,itemName:l.default.string,itemNamePlural:l.default.string,label:l.default.string,help:l.default.string}},897:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.updateAttribute=function(e,t,r){var n,o,l;r((l=t,(o=e)in(n={})?Object.defineProperty(n,o,{value:l,enumerable:!0,configurable:!0,writable:!0}):n[o]=l,n))},t.setTextAttribute=function(e,t){return e?" "+t+'="'+e+'"':""},t.getSubDir=function(){var e=window.location.pathname,t=e.indexOf("wp-admin"),r="/";return t>-1&&(r=e.substr(0,t)),r},t.cssHideAdvancedSettings="\n .components-panel__body.editor-block-inspector__advanced {\n display:none;\n }\n"},186:(e,t,r)=>{"use strict";var n=c(r(350)),o=c(r(3)),l=c(r(877)),a=c(r(776)),i=r(897);function c(e){return e&&e.__esModule?e:{default:e}}var s=wp.element.Fragment,u=wp.i18n.__,f=wp.blocks.registerBlockType,m=wp.components,p=m.ServerSideRender,b=m.Notice;f("formidable/simple-form",{title:formidable_form_selector.name,description:u("Display a Form","formidable"),icon:l.default,category:"widgets",keywords:[u("contact forms","formidable"),"formidable"],edit:function(e){var t=e.setAttributes,r=e.attributes,n=e.isSelected,c=r.formId,f=formidable_form_selector.forms;return 0===f.length?wp.element.createElement(b,{status:"warning",isDismissible:!1},u("This site does not have any forms.","formidable")):c?wp.element.createElement(s,null,wp.element.createElement(o.default,{attributes:r,setAttributes:t,forms:f}),n&&wp.element.createElement("style",null,i.cssHideAdvancedSettings),wp.element.createElement(p,{block:"formidable/simple-form",attributes:r})):wp.element.createElement("div",{className:"frm-block-intro-screen"},wp.element.createElement("div",{className:"frm-block-intro-content"},wp.element.createElement(l.default,null),wp.element.createElement("div",{className:"frm-block-title"},formidable_form_selector.name),wp.element.createElement("div",{className:"frm-block-selector-screen"},wp.element.createElement(a.default,{formId:c,setAttributes:t,forms:f}))))},save:function(e){var t=e.attributes;return void 0===t.formId?"":wp.element.createElement(s,null,wp.element.createElement(n.default,t))}})},264:(e,t,r)=>{"use strict";var n,o=(n=r(877))&&n.__esModule?n:{default:n},l=wp.i18n.__,a=wp.blocks.registerBlockType,i=wp.components.Notice,c=wp.element.createElement("svg",{width:20,height:20},wp.element.createElement("path",{d:"M16.9 0H3a2 2 0 0 0-1.9 1.9V18a2 2 0 0 0 2 1.9h13.7a2 2 0 0 0 1.9-1.9V2a2 2 0 0 0-2-1.9zm0 18.1H3v-10H17v10zm0-11.9H3V2H17v4.3zM5.5 12.6H7c.3 0 .5-.3.5-.5v-1.5c0-.3-.3-.5-.5-.5H5.5c-.3 0-.5.3-.5.5V12c0 .3.3.5.5.5zm7.5 3.8h1.5c.3 0 .5-.3.5-.6v-5.2c0-.3-.3-.5-.5-.5H13c-.3 0-.5.3-.5.5v5.3c0 .2.3.4.5.4zm-7.5 0H7c.3 0 .5-.3.5-.6v-1.4c0-.3-.3-.6-.5-.6H5.5c-.3 0-.5.3-.5.6v1.4c0 .3.3.6.5.6zm3.8-3.8h1.4c.3 0 .6-.3.6-.5v-1.5c0-.3-.3-.5-.6-.5H9.3c-.3 0-.6.3-.6.5V12c0 .3.3.5.6.5zm0 3.8h1.4c.3 0 .6-.3.6-.6v-1.4c0-.3-.3-.6-.6-.6H9.3c-.3 0-.6.3-.6.6v1.4c0 .3.3.6.6.6z"}));a("formidable/calculator",{title:l("Calculator Form","formidable"),description:l("Display a Calculator Form","formidable"),icon:c,category:"widgets",keywords:["calculation","formidable"],edit:function(e){return e.setAttributes,e.attributes.formId,0===formidable_form_selector.forms.length?wp.element.createElement(i,{status:"warning",isDismissible:!1},l("This site does not have any forms.","formidable")):wp.element.createElement("div",{className:"frm-block-intro-screen"},wp.element.createElement("div",{className:"frm-block-intro-content"},wp.element.createElement(o.default,null),wp.element.createElement("div",{className:"frm-block-title"},l("Calculator Form","formidable")),wp.element.createElement("div",{className:"frm-block-selector-screen frm_pro_tip"},wp.element.createElement(i,{status:"warning",isDismissible:!1},l("This site does not have any calculator forms.","formidable"),wp.element.createElement("br",null),wp.element.createElement("a",{href:formidable_form_selector.link,target:"_blank"},l("Upgrade Formidable Forms.","formidable"))),wp.element.createElement("img",{src:formidable_form_selector.url+"/images/conversion-calc.jpg",alt:l("Calculator Form","formidable")}))))}})},776:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=a(r(752)),l=a(r(697));function a(e){return e&&e.__esModule?e:{default:e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function c(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var s=wp.i18n.__,u=function(e){function t(){return i(this,t),c(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,wp.element.Component),n(t,[{key:"render",value:function(){var e=this.props,t=e.formId,r=e.setAttributes,n=e.forms;return wp.element.createElement(o.default,{selected:t,itemName:s("form","formidable"),itemNamePlural:s("forms","formidable"),items:n,onChange:function(e){r({formId:e})}})}}]),t}();t.default=u,u.propTypes={formId:l.default.string,setAttributes:l.default.func.isRequired}},350:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=r(897);function l(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var i=function(e){function t(){return l(this,t),a(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,wp.element.Component),n(t,[{key:"render",value:function(){return wp.element.createElement("div",null,"[formidable",(t=(e=this.props).formId,r=e.title,n=e.description,l=e.minimize,a="",a+=(0,o.setTextAttribute)(t,"id"),a+=(0,o.setTextAttribute)(r,"title"),(a+=(0,o.setTextAttribute)(n,"description"))+(0,o.setTextAttribute)(l,"minimize")),"]");var e,t,r,n,l,a}}]),t}();t.default=i},3:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=c(r(697)),l=c(r(776)),a=c(r(350)),i=r(897);function c(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function u(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}var f=wp.i18n.__,m=wp.element.Component,p=wp.blockEditor.InspectorControls,b=wp.components,d=b.PanelBody,w=b.PanelRow,y=b.ToggleControl,h=b.ExternalLink,v=function(e){function t(){return s(this,t),u(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),n(t,[{key:"render",value:function(){var e=this.props,t=e.setAttributes,r=e.attributes,n=e.forms,o=r.formId,c=r.title,s=r.description,u=r.minimize;return wp.element.createElement(p,null,wp.element.createElement(d,{title:f("Select Form","formidable"),initialOpen:!0},wp.element.createElement(w,null,wp.element.createElement(l.default,{formId:o,setAttributes:t,forms:n})),o&&wp.element.createElement(w,null,wp.element.createElement(h,{href:(0,i.getSubDir)()+"wp-admin/admin.php?page=formidable&frm_action=edit&id="+o},f("Go to form","formidable")))),wp.element.createElement(d,{title:f("Options","formidable"),initialOpen:!1},wp.element.createElement(y,{label:f("Show Form Title","formidable"),checked:c,onChange:function(e){(0,i.updateAttribute)("title",e?"1":"",t)}}),wp.element.createElement(y,{label:f("Show Form Description","formidable"),checked:s,onChange:function(e){(0,i.updateAttribute)("description",e?"1":"",t)}}),wp.element.createElement(y,{label:f("Minimize HTML","formidable"),checked:u,onChange:function(e){(0,i.updateAttribute)("minimize",e?"1":"",t)}})),wp.element.createElement(d,{title:f("Shortcode","formidable"),initialOpen:!1},wp.element.createElement(w,null,wp.element.createElement(a.default,this.props.attributes))))}}]),t}(m);t.default=v,v.propTypes={attributes:o.default.object,setAttributes:o.default.func}},703:(e,t,r)=>{"use strict";var n=r(414);function o(){}function l(){}l.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,l,a){if(a!==n){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:l,resetWarningCache:o};return r.PropTypes=r,r}},697:(e,t,r)=>{e.exports=r(703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var l=t[n]={exports:{}};return e[n](l,l.exports,r),l.exports}(()=>{"use strict";r(186),r(264)})()})();
|
languages/formidable.pot
CHANGED
@@ -2,14 +2,14 @@
|
|
2 |
# This file is distributed under the same license as the Formidable Forms plugin.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Formidable Forms 5.5.
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/formidable\n"
|
7 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
8 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"POT-Creation-Date: 2022-
|
13 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
"X-Generator: WP-CLI 2.6.0\n"
|
15 |
"X-Domain: formidable\n"
|
@@ -229,7 +229,7 @@ msgid "Applications"
|
|
229 |
msgstr ""
|
230 |
|
231 |
#: classes/controllers/FrmEntriesController.php:79
|
232 |
-
#: classes/controllers/FrmFormsController.php:
|
233 |
#: classes/views/frm-entries/form.php:69
|
234 |
#: classes/views/frm-entries/sidebar-shared.php:57
|
235 |
msgid "Entry Key"
|
@@ -261,21 +261,21 @@ msgstr ""
|
|
261 |
msgid "Entry update date"
|
262 |
msgstr ""
|
263 |
|
264 |
-
#: classes/controllers/FrmEntriesController.php:
|
265 |
msgid "Your import is complete"
|
266 |
msgstr ""
|
267 |
|
268 |
#. translators: %1$s: Time string
|
269 |
-
#: classes/controllers/FrmEntriesController.php:
|
270 |
msgid "This form is in the trash and is scheduled to be deleted permanently in %s along with any entries."
|
271 |
msgstr ""
|
272 |
|
273 |
-
#: classes/controllers/FrmEntriesController.php:
|
274 |
msgid "You are trying to view an entry that does not exist."
|
275 |
msgstr ""
|
276 |
|
277 |
-
#: classes/controllers/FrmEntriesController.php:
|
278 |
-
msgid "Entry was
|
279 |
msgstr ""
|
280 |
|
281 |
#: classes/controllers/FrmFieldsController.php:330
|
@@ -349,7 +349,7 @@ msgid "Settings Successfully Updated"
|
|
349 |
msgstr ""
|
350 |
|
351 |
#: classes/controllers/FrmFormsController.php:179
|
352 |
-
#: classes/controllers/FrmFormsController.php:
|
353 |
msgid "Form was successfully updated."
|
354 |
msgstr ""
|
355 |
|
@@ -449,207 +449,207 @@ msgid "Actions"
|
|
449 |
msgstr ""
|
450 |
|
451 |
#: classes/controllers/FrmFormsController.php:867
|
452 |
-
#: classes/models/FrmField.php:
|
453 |
msgid "Date"
|
454 |
msgstr ""
|
455 |
|
456 |
-
#: classes/controllers/FrmFormsController.php:
|
457 |
#: classes/helpers/FrmFormsHelper.php:1317
|
458 |
msgid "My Templates"
|
459 |
msgstr ""
|
460 |
|
461 |
-
#: classes/controllers/FrmFormsController.php:
|
462 |
msgid "You are trying to edit a form that does not exist."
|
463 |
msgstr ""
|
464 |
|
465 |
#. translators: %1$s: Start link HTML, %2$s: End link HTML
|
466 |
-
#: classes/controllers/FrmFormsController.php:
|
467 |
msgid "You are trying to edit a child form. Please edit from %1$shere%2$s"
|
468 |
msgstr ""
|
469 |
|
470 |
-
#: classes/controllers/FrmFormsController.php:
|
471 |
msgid "Template was successfully updated."
|
472 |
msgstr ""
|
473 |
|
474 |
-
#: classes/controllers/FrmFormsController.php:
|
475 |
msgid "Form was Successfully Copied"
|
476 |
msgstr ""
|
477 |
|
478 |
-
#: classes/controllers/FrmFormsController.php:
|
479 |
#: classes/controllers/FrmStylesController.php:403
|
480 |
msgid "General"
|
481 |
msgstr ""
|
482 |
|
483 |
-
#: classes/controllers/FrmFormsController.php:
|
484 |
msgid "General Form Settings"
|
485 |
msgstr ""
|
486 |
|
487 |
-
#: classes/controllers/FrmFormsController.php:
|
488 |
msgid "Actions & Notifications"
|
489 |
msgstr ""
|
490 |
|
491 |
-
#: classes/controllers/FrmFormsController.php:
|
492 |
-
#: classes/controllers/FrmFormsController.php:
|
493 |
msgid "Form Permissions"
|
494 |
msgstr ""
|
495 |
|
496 |
-
#: classes/controllers/FrmFormsController.php:
|
497 |
msgid "Allow editing, protect forms and files, limit entries, and save drafts. Upgrade to get form and entry permissions."
|
498 |
msgstr ""
|
499 |
|
500 |
-
#: classes/controllers/FrmFormsController.php:
|
501 |
msgid "Form Scheduling"
|
502 |
msgstr ""
|
503 |
|
504 |
-
#: classes/controllers/FrmFormsController.php:
|
505 |
msgid "Form scheduling settings"
|
506 |
msgstr ""
|
507 |
|
508 |
-
#: classes/controllers/FrmFormsController.php:
|
509 |
msgid "Styling & Buttons"
|
510 |
msgstr ""
|
511 |
|
512 |
-
#: classes/controllers/FrmFormsController.php:
|
513 |
msgid "Form Landing Page"
|
514 |
msgstr ""
|
515 |
|
516 |
-
#: classes/controllers/FrmFormsController.php:
|
517 |
-
#: classes/controllers/FrmFormsController.php:
|
518 |
msgid "Conversational Forms"
|
519 |
msgstr ""
|
520 |
|
521 |
-
#: classes/controllers/FrmFormsController.php:
|
522 |
msgid "Ask one question at a time for automated conversations."
|
523 |
msgstr ""
|
524 |
|
525 |
-
#: classes/controllers/FrmFormsController.php:
|
526 |
msgid "Customize HTML"
|
527 |
msgstr ""
|
528 |
|
529 |
-
#: classes/controllers/FrmFormsController.php:
|
530 |
msgid "Customize field values with the following parameters."
|
531 |
msgstr ""
|
532 |
|
533 |
-
#: classes/controllers/FrmFormsController.php:
|
534 |
msgid "Separator"
|
535 |
msgstr ""
|
536 |
|
537 |
-
#: classes/controllers/FrmFormsController.php:
|
538 |
msgid "Use a different separator for checkbox fields"
|
539 |
msgstr ""
|
540 |
|
541 |
-
#: classes/controllers/FrmFormsController.php:
|
542 |
msgid "Date Format"
|
543 |
msgstr ""
|
544 |
|
545 |
-
#: classes/controllers/FrmFormsController.php:
|
546 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
547 |
msgid "Field Label"
|
548 |
msgstr ""
|
549 |
|
550 |
-
#: classes/controllers/FrmFormsController.php:
|
551 |
msgid "No Auto P"
|
552 |
msgstr ""
|
553 |
|
554 |
-
#: classes/controllers/FrmFormsController.php:
|
555 |
msgid "Do not automatically add any paragraphs or line breaks"
|
556 |
msgstr ""
|
557 |
|
558 |
-
#: classes/controllers/FrmFormsController.php:
|
559 |
-
#: classes/models/FrmField.php:
|
560 |
msgid "User ID"
|
561 |
msgstr ""
|
562 |
|
563 |
-
#: classes/controllers/FrmFormsController.php:
|
564 |
msgid "First Name"
|
565 |
msgstr ""
|
566 |
|
567 |
-
#: classes/controllers/FrmFormsController.php:
|
568 |
msgid "Last Name"
|
569 |
msgstr ""
|
570 |
|
571 |
-
#: classes/controllers/FrmFormsController.php:
|
572 |
msgid "Display Name"
|
573 |
msgstr ""
|
574 |
|
575 |
-
#: classes/controllers/FrmFormsController.php:
|
576 |
msgid "User Login"
|
577 |
msgstr ""
|
578 |
|
579 |
-
#: classes/controllers/FrmFormsController.php:
|
580 |
-
#: classes/models/FrmField.php:
|
581 |
msgid "Email"
|
582 |
msgstr ""
|
583 |
|
584 |
-
#: classes/controllers/FrmFormsController.php:
|
585 |
msgid "Avatar"
|
586 |
msgstr ""
|
587 |
|
588 |
-
#: classes/controllers/FrmFormsController.php:
|
589 |
msgid "Author Link"
|
590 |
msgstr ""
|
591 |
|
592 |
-
#: classes/controllers/FrmFormsController.php:
|
593 |
#: classes/views/frm-entries/sidebar-shared.php:51
|
594 |
msgid "Entry ID"
|
595 |
msgstr ""
|
596 |
|
597 |
-
#: classes/controllers/FrmFormsController.php:
|
598 |
msgid "Post ID"
|
599 |
msgstr ""
|
600 |
|
601 |
-
#: classes/controllers/FrmFormsController.php:
|
602 |
msgid "User IP"
|
603 |
msgstr ""
|
604 |
|
605 |
-
#: classes/controllers/FrmFormsController.php:
|
606 |
msgid "Entry created"
|
607 |
msgstr ""
|
608 |
|
609 |
-
#: classes/controllers/FrmFormsController.php:
|
610 |
msgid "Entry updated"
|
611 |
msgstr ""
|
612 |
|
613 |
-
#: classes/controllers/FrmFormsController.php:
|
614 |
msgid "Site URL"
|
615 |
msgstr ""
|
616 |
|
617 |
-
#: classes/controllers/FrmFormsController.php:
|
618 |
msgid "Site Name"
|
619 |
msgstr ""
|
620 |
|
621 |
-
#: classes/controllers/FrmFormsController.php:
|
622 |
msgid "Default Msg"
|
623 |
msgstr ""
|
624 |
|
625 |
-
#: classes/controllers/FrmFormsController.php:
|
626 |
msgid "Default HTML"
|
627 |
msgstr ""
|
628 |
|
629 |
-
#: classes/controllers/FrmFormsController.php:
|
630 |
msgid "Default Plain"
|
631 |
msgstr ""
|
632 |
|
633 |
-
#: classes/controllers/FrmFormsController.php:
|
634 |
#: classes/helpers/FrmFormsHelper.php:539
|
635 |
#: classes/views/frm-forms/new-form-overlay.php:46
|
636 |
#: classes/views/frm-forms/new-form-overlay.php:47
|
637 |
msgid "Form Name"
|
638 |
msgstr ""
|
639 |
|
640 |
-
#: classes/controllers/FrmFormsController.php:
|
641 |
msgid "No forms were specified"
|
642 |
msgstr ""
|
643 |
|
644 |
-
#: classes/controllers/FrmFormsController.php:
|
645 |
msgid "There was a problem duplicating the form"
|
646 |
msgstr ""
|
647 |
|
648 |
-
#: classes/controllers/FrmFormsController.php:
|
649 |
msgid "Abnormal HTML characters prevented your form from saving correctly"
|
650 |
msgstr ""
|
651 |
|
652 |
-
#: classes/controllers/FrmFormsController.php:
|
653 |
#: classes/helpers/FrmFormsHelper.php:57
|
654 |
#: classes/helpers/FrmFormsHelper.php:112
|
655 |
#: classes/helpers/FrmFormsHelper.php:166
|
@@ -662,21 +662,21 @@ msgstr ""
|
|
662 |
msgid "(no title)"
|
663 |
msgstr ""
|
664 |
|
665 |
-
#: classes/controllers/FrmFormsController.php:
|
666 |
-
#: classes/controllers/FrmFormsController.php:
|
667 |
msgid "Please select a valid form"
|
668 |
msgstr ""
|
669 |
|
670 |
-
#: classes/controllers/FrmFormsController.php:
|
671 |
msgid "Please wait while you are redirected."
|
672 |
msgstr ""
|
673 |
|
674 |
#. translators: %1$s: Start link HTML, %2$s: End link HTML
|
675 |
-
#: classes/controllers/FrmFormsController.php:
|
676 |
msgid "%1$sClick here%2$s if you are not automatically redirected."
|
677 |
msgstr ""
|
678 |
|
679 |
-
#: classes/controllers/FrmFormsController.php:
|
680 |
#: classes/helpers/FrmAppHelper.php:1395
|
681 |
#: classes/views/frm-forms/settings-advanced.php:93
|
682 |
msgid "Select a Page"
|
@@ -713,8 +713,8 @@ msgid "Permissions"
|
|
713 |
msgstr ""
|
714 |
|
715 |
#: classes/controllers/FrmSettingsController.php:57
|
716 |
-
#: classes/models/
|
717 |
-
msgid "
|
718 |
msgstr ""
|
719 |
|
720 |
#: classes/controllers/FrmSettingsController.php:61
|
@@ -893,7 +893,7 @@ msgstr ""
|
|
893 |
#: classes/controllers/FrmSMTPController.php:322
|
894 |
#: classes/models/FrmPluginSearch.php:306
|
895 |
#: classes/views/addons/settings.php:31
|
896 |
-
#: js/formidable_admin.js:
|
897 |
msgid "Activate"
|
898 |
msgstr ""
|
899 |
|
@@ -1245,12 +1245,12 @@ msgstr ""
|
|
1245 |
#: classes/views/frm-forms/new-form-overlay.php:132
|
1246 |
#: classes/views/shared/admin-header.php:56
|
1247 |
#: classes/views/shared/confirm-overlay.php:19
|
1248 |
-
#: js/formidable_admin.js:
|
1249 |
msgid "Cancel"
|
1250 |
msgstr ""
|
1251 |
|
1252 |
#: classes/helpers/FrmAppHelper.php:2834
|
1253 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
1254 |
msgid "Default"
|
1255 |
msgstr ""
|
1256 |
|
@@ -1272,7 +1272,7 @@ msgstr ""
|
|
1272 |
|
1273 |
#: classes/helpers/FrmAppHelper.php:2839
|
1274 |
#: classes/helpers/FrmListHelper.php:412
|
1275 |
-
#: js/formidable_admin.js:
|
1276 |
msgid "Heads up"
|
1277 |
msgstr ""
|
1278 |
|
@@ -1897,7 +1897,7 @@ msgstr ""
|
|
1897 |
#: classes/helpers/FrmFormsHelper.php:1196
|
1898 |
#: classes/helpers/FrmFormsListHelper.php:133
|
1899 |
#: classes/views/frm-form-actions/form_action.php:25
|
1900 |
-
#: js/formidable_admin.js:
|
1901 |
msgid "Delete"
|
1902 |
msgstr ""
|
1903 |
|
@@ -3167,7 +3167,7 @@ msgid "Field ID"
|
|
3167 |
msgstr ""
|
3168 |
|
3169 |
#: classes/helpers/FrmFormsHelper.php:495
|
3170 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
3171 |
msgid "Field Key"
|
3172 |
msgstr ""
|
3173 |
|
@@ -3176,7 +3176,7 @@ msgid "Field Name"
|
|
3176 |
msgstr ""
|
3177 |
|
3178 |
#: classes/helpers/FrmFormsHelper.php:507
|
3179 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
3180 |
msgid "Label Position"
|
3181 |
msgstr ""
|
3182 |
|
@@ -3278,7 +3278,7 @@ msgid "This will permanently delete the form and all its entries. This is irreve
|
|
3278 |
msgstr ""
|
3279 |
|
3280 |
#: classes/helpers/FrmFormsHelper.php:1211
|
3281 |
-
#: classes/models/FrmField.php:
|
3282 |
msgid "Total"
|
3283 |
msgstr ""
|
3284 |
|
@@ -3409,7 +3409,7 @@ msgid "%1$s <span class=\"count\">(%2$s)</span>"
|
|
3409 |
msgstr ""
|
3410 |
|
3411 |
#: classes/helpers/FrmFormsListHelper.php:252
|
3412 |
-
#: classes/models/FrmField.php:
|
3413 |
msgid "Embed Form"
|
3414 |
msgstr ""
|
3415 |
|
@@ -3853,14 +3853,28 @@ msgstr ""
|
|
3853 |
msgid "Email Notification"
|
3854 |
msgstr ""
|
3855 |
|
3856 |
-
#: classes/models/fields/FrmFieldCaptcha.php:
|
3857 |
-
msgid "There was a problem verifying your
|
3858 |
msgstr ""
|
3859 |
|
3860 |
-
#: classes/models/fields/FrmFieldCaptcha.php:
|
|
|
|
|
|
|
|
|
3861 |
msgid "The captcha is missing from this form"
|
3862 |
msgstr ""
|
3863 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3864 |
#: classes/models/fields/FrmFieldCheckbox.php:43
|
3865 |
#: classes/models/fields/FrmFieldRadio.php:63
|
3866 |
#: classes/models/fields/FrmFieldSelect.php:39
|
@@ -3878,12 +3892,12 @@ msgid "Option 2"
|
|
3878 |
msgstr ""
|
3879 |
|
3880 |
#: classes/models/fields/FrmFieldCombo.php:190
|
3881 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
3882 |
msgid "Default Value"
|
3883 |
msgstr ""
|
3884 |
|
3885 |
#: classes/models/fields/FrmFieldCombo.php:191
|
3886 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
3887 |
msgid "Placeholder Text"
|
3888 |
msgstr ""
|
3889 |
|
@@ -3938,66 +3952,66 @@ msgid "Website"
|
|
3938 |
msgstr ""
|
3939 |
|
3940 |
#. translators: %1$s: Plugin name, %2$s: Start link HTML, %3$s: end link HTML
|
3941 |
-
#: classes/models/FrmAddon.php:
|
3942 |
msgid "Your %1$s license key is missing. Please add it on the %2$slicenses page%3$s."
|
3943 |
msgstr ""
|
3944 |
|
3945 |
-
#: classes/models/FrmAddon.php:
|
3946 |
msgid "Oops! You forgot to enter your license number."
|
3947 |
msgstr ""
|
3948 |
|
3949 |
-
#: classes/models/FrmAddon.php:
|
3950 |
msgid "Your license has been activated. Enjoy!"
|
3951 |
msgstr ""
|
3952 |
|
3953 |
-
#: classes/models/FrmAddon.php:
|
3954 |
-
#: classes/models/FrmAddon.php:
|
3955 |
msgid "That license key is invalid"
|
3956 |
msgstr ""
|
3957 |
|
3958 |
-
#: classes/models/FrmAddon.php:
|
3959 |
msgid "That license is expired"
|
3960 |
msgstr ""
|
3961 |
|
3962 |
-
#: classes/models/FrmAddon.php:
|
3963 |
msgid "That license has been refunded"
|
3964 |
msgstr ""
|
3965 |
|
3966 |
-
#: classes/models/FrmAddon.php:
|
3967 |
msgid "That license has been used on too many sites"
|
3968 |
msgstr ""
|
3969 |
|
3970 |
-
#: classes/models/FrmAddon.php:
|
3971 |
msgid "Oops! That is the wrong license key for this plugin."
|
3972 |
msgstr ""
|
3973 |
|
3974 |
-
#: classes/models/FrmAddon.php:
|
3975 |
msgid "Cache cleared"
|
3976 |
msgstr ""
|
3977 |
|
3978 |
-
#: classes/models/FrmAddon.php:
|
3979 |
msgid "That license was removed successfully"
|
3980 |
msgstr ""
|
3981 |
|
3982 |
-
#: classes/models/FrmAddon.php:
|
3983 |
msgid "There was an error deactivating your license."
|
3984 |
msgstr ""
|
3985 |
|
3986 |
-
#: classes/models/FrmAddon.php:
|
3987 |
msgid "Your License Key was invalid"
|
3988 |
msgstr ""
|
3989 |
|
3990 |
#. translators: %1$s: Start link HTML, %2$s: End link HTML
|
3991 |
-
#: classes/models/FrmAddon.php:
|
3992 |
msgid "You had an error communicating with the Formidable API. %1$sClick here%2$s for more information."
|
3993 |
msgstr ""
|
3994 |
|
3995 |
-
#: classes/models/FrmAddon.php:
|
3996 |
msgid "You had an HTTP error connecting to the Formidable API"
|
3997 |
msgstr ""
|
3998 |
|
3999 |
#. translators: %1$s: Error code, %2$s: Error message
|
4000 |
-
#: classes/models/FrmAddon.php:
|
4001 |
msgid "There was a %1$s error: %2$s"
|
4002 |
msgstr ""
|
4003 |
|
@@ -4056,7 +4070,7 @@ msgstr ""
|
|
4056 |
msgid "Your entry appears to be blocked spam!"
|
4057 |
msgstr ""
|
4058 |
|
4059 |
-
#: classes/models/FrmField.php:
|
4060 |
#: classes/views/styles/_buttons.php:49
|
4061 |
#: classes/views/styles/_buttons.php:92
|
4062 |
#: classes/views/styles/_buttons.php:110
|
@@ -4068,141 +4082,141 @@ msgstr ""
|
|
4068 |
msgid "Text"
|
4069 |
msgstr ""
|
4070 |
|
4071 |
-
#: classes/models/FrmField.php:
|
4072 |
msgid "Paragraph"
|
4073 |
msgstr ""
|
4074 |
|
4075 |
-
#: classes/models/FrmField.php:
|
4076 |
msgid "Checkboxes"
|
4077 |
msgstr ""
|
4078 |
|
4079 |
-
#: classes/models/FrmField.php:
|
4080 |
#: classes/views/styles/_sample_form.php:61
|
4081 |
msgid "Radio Buttons"
|
4082 |
msgstr ""
|
4083 |
|
4084 |
-
#: classes/models/FrmField.php:
|
4085 |
msgid "Dropdown"
|
4086 |
msgstr ""
|
4087 |
|
4088 |
-
#: classes/models/FrmField.php:
|
4089 |
msgid "Website/URL"
|
4090 |
msgstr ""
|
4091 |
|
4092 |
-
#: classes/models/FrmField.php:
|
4093 |
msgid "Number"
|
4094 |
msgstr ""
|
4095 |
|
4096 |
-
#: classes/models/FrmField.php:
|
4097 |
msgid "Name"
|
4098 |
msgstr ""
|
4099 |
|
4100 |
-
#: classes/models/FrmField.php:
|
4101 |
msgid "Phone"
|
4102 |
msgstr ""
|
4103 |
|
4104 |
-
#: classes/models/FrmField.php:
|
4105 |
msgid "HTML"
|
4106 |
msgstr ""
|
4107 |
|
4108 |
-
#: classes/models/FrmField.php:
|
4109 |
msgid "Hidden"
|
4110 |
msgstr ""
|
4111 |
|
4112 |
-
#: classes/models/FrmField.php:
|
4113 |
msgid "File Upload"
|
4114 |
msgstr ""
|
4115 |
|
4116 |
-
#: classes/models/FrmField.php:
|
4117 |
msgid "Rich Text"
|
4118 |
msgstr ""
|
4119 |
|
4120 |
-
#: classes/models/FrmField.php:
|
4121 |
msgid "Time"
|
4122 |
msgstr ""
|
4123 |
|
4124 |
-
#: classes/models/FrmField.php:
|
4125 |
msgid "Scale"
|
4126 |
msgstr ""
|
4127 |
|
4128 |
-
#: classes/models/FrmField.php:
|
4129 |
msgid "Star Rating"
|
4130 |
msgstr ""
|
4131 |
|
4132 |
-
#: classes/models/FrmField.php:
|
4133 |
msgid "Slider"
|
4134 |
msgstr ""
|
4135 |
|
4136 |
-
#: classes/models/FrmField.php:
|
4137 |
msgid "Toggle"
|
4138 |
msgstr ""
|
4139 |
|
4140 |
-
#: classes/models/FrmField.php:
|
4141 |
msgid "Dynamic"
|
4142 |
msgstr ""
|
4143 |
|
4144 |
-
#: classes/models/FrmField.php:
|
4145 |
msgid "Lookup"
|
4146 |
msgstr ""
|
4147 |
|
4148 |
-
#: classes/models/FrmField.php:
|
4149 |
msgid "Repeater"
|
4150 |
msgstr ""
|
4151 |
|
4152 |
-
#: classes/models/FrmField.php:
|
4153 |
#: classes/models/FrmFormMigrator.php:302
|
4154 |
msgid "Section Buttons"
|
4155 |
msgstr ""
|
4156 |
|
4157 |
-
#: classes/models/FrmField.php:
|
4158 |
msgid "Section"
|
4159 |
msgstr ""
|
4160 |
|
4161 |
-
#: classes/models/FrmField.php:
|
4162 |
msgid "Page Break"
|
4163 |
msgstr ""
|
4164 |
|
4165 |
-
#: classes/models/FrmField.php:
|
4166 |
msgid "Likert Scale"
|
4167 |
msgstr ""
|
4168 |
|
4169 |
-
#: classes/models/FrmField.php:
|
4170 |
msgid "NPS"
|
4171 |
msgstr ""
|
4172 |
|
4173 |
-
#: classes/models/FrmField.php:
|
4174 |
msgid "Password"
|
4175 |
msgstr ""
|
4176 |
|
4177 |
-
#: classes/models/FrmField.php:
|
4178 |
msgid "Tags"
|
4179 |
msgstr ""
|
4180 |
|
4181 |
-
#: classes/models/FrmField.php:
|
4182 |
msgid "Credit Card"
|
4183 |
msgstr ""
|
4184 |
|
4185 |
-
#: classes/models/FrmField.php:
|
4186 |
msgid "Address"
|
4187 |
msgstr ""
|
4188 |
|
4189 |
-
#: classes/models/FrmField.php:
|
4190 |
msgid "Summary"
|
4191 |
msgstr ""
|
4192 |
|
4193 |
-
#: classes/models/FrmField.php:
|
4194 |
msgid "Signature"
|
4195 |
msgstr ""
|
4196 |
|
4197 |
-
#: classes/models/FrmField.php:
|
4198 |
msgid "Appointment"
|
4199 |
msgstr ""
|
4200 |
|
4201 |
-
#: classes/models/FrmField.php:
|
4202 |
msgid "Product"
|
4203 |
msgstr ""
|
4204 |
|
4205 |
-
#: classes/models/FrmField.php:
|
4206 |
msgid "Quantity"
|
4207 |
msgstr ""
|
4208 |
|
@@ -4319,42 +4333,42 @@ msgstr ""
|
|
4319 |
msgid "Ok, you deserve it"
|
4320 |
msgstr ""
|
4321 |
|
4322 |
-
#: classes/models/FrmSettings.php:
|
4323 |
msgid "Your responses were successfully submitted. Thank you!"
|
4324 |
msgstr ""
|
4325 |
|
4326 |
-
#: classes/models/FrmSettings.php:
|
4327 |
msgid "This field cannot be blank."
|
4328 |
msgstr ""
|
4329 |
|
4330 |
-
#: classes/models/FrmSettings.php:
|
4331 |
msgid "This value must be unique."
|
4332 |
msgstr ""
|
4333 |
|
4334 |
-
#: classes/models/FrmSettings.php:
|
4335 |
msgid "There was a problem with your submission. Errors are marked below."
|
4336 |
msgstr ""
|
4337 |
|
4338 |
-
#: classes/models/FrmSettings.php:
|
4339 |
msgid "We're sorry. It looks like you've already submitted that."
|
4340 |
msgstr ""
|
4341 |
|
4342 |
-
#: classes/models/FrmSettings.php:
|
4343 |
#: classes/views/frm-forms/form.php:48
|
4344 |
#: classes/views/styles/_sample_form.php:79
|
4345 |
msgid "Submit"
|
4346 |
msgstr ""
|
4347 |
|
4348 |
-
#: classes/models/FrmSettings.php:
|
4349 |
msgid "You do not have permission to view this form."
|
4350 |
msgstr ""
|
4351 |
|
4352 |
-
#: classes/models/FrmSettings.php:
|
4353 |
msgid "You do not have permission to do that"
|
4354 |
msgstr ""
|
4355 |
|
4356 |
-
#: classes/models/FrmSettings.php:
|
4357 |
-
msgid "The
|
4358 |
msgstr ""
|
4359 |
|
4360 |
#: classes/models/FrmSolution.php:70
|
@@ -4632,7 +4646,7 @@ msgstr ""
|
|
4632 |
#: classes/views/frm-fields/back-end/inline-modal.php:7
|
4633 |
#: classes/views/frm-fields/back-end/inline-modal.php:8
|
4634 |
#: classes/views/shared/admin-header.php:11
|
4635 |
-
#: js/formidable_admin.js:
|
4636 |
msgid "Close"
|
4637 |
msgstr ""
|
4638 |
|
@@ -4648,11 +4662,6 @@ msgstr ""
|
|
4648 |
msgid "Update Options"
|
4649 |
msgstr ""
|
4650 |
|
4651 |
-
#. translators: %1$s: Link HTML, %2$s: End link
|
4652 |
-
#: classes/views/frm-fields/back-end/field-captcha.php:11
|
4653 |
-
msgid "Your captcha will not appear on your form until you %1$sset up%2$s the Site and Secret Keys"
|
4654 |
-
msgstr ""
|
4655 |
-
|
4656 |
#: classes/views/frm-fields/back-end/field-hidden.php:8
|
4657 |
msgid "Note: This field will not show in the form. Enter the value to be hidden."
|
4658 |
msgstr ""
|
@@ -4670,8 +4679,8 @@ msgid "Content"
|
|
4670 |
msgstr ""
|
4671 |
|
4672 |
#: classes/views/frm-fields/back-end/html-content.php:16
|
4673 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4674 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4675 |
#: classes/views/frm-fields/back-end/value-format.php:16
|
4676 |
msgid "Toggle Options"
|
4677 |
msgstr ""
|
@@ -4773,98 +4782,107 @@ msgstr ""
|
|
4773 |
msgid "%s Field"
|
4774 |
msgstr ""
|
4775 |
|
4776 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4777 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4778 |
msgid "Required"
|
4779 |
msgstr ""
|
4780 |
|
4781 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4782 |
msgid "Unique: Do not allow the same response multiple times. For example, if one user enters 'Joe', then no one else will be allowed to enter the same name."
|
4783 |
msgstr ""
|
4784 |
|
4785 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4786 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4787 |
msgid "Unique"
|
4788 |
msgstr ""
|
4789 |
|
4790 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4791 |
msgid "Read Only: Show this field but do not allow the field value to be edited from the front-end."
|
4792 |
msgstr ""
|
4793 |
|
4794 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4795 |
msgid "Read Only"
|
4796 |
msgstr ""
|
4797 |
|
4798 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4799 |
msgid "Add a CSS class to the field container. Use our predefined classes to align multiple fields in single row."
|
4800 |
msgstr ""
|
4801 |
|
4802 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4803 |
msgid "CSS Layout Classes"
|
4804 |
msgstr ""
|
4805 |
|
4806 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4807 |
#: classes/views/shared/mb_adv_info.php:22
|
4808 |
msgid "Advanced"
|
4809 |
msgstr ""
|
4810 |
|
4811 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4812 |
msgid "If this URL points to an image, show to image on the entries listing page."
|
4813 |
msgstr ""
|
4814 |
|
4815 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4816 |
msgid "Set the size of the captcha field. The compact option is best if your form is in a small area."
|
4817 |
msgstr ""
|
4818 |
|
4819 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4820 |
msgid "ReCaptcha Type"
|
4821 |
msgstr ""
|
4822 |
|
4823 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4824 |
msgid "Normal"
|
4825 |
msgstr ""
|
4826 |
|
4827 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4828 |
msgid "Compact"
|
4829 |
msgstr ""
|
4830 |
|
4831 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4832 |
msgid "reCAPTCHA Color"
|
4833 |
msgstr ""
|
4834 |
|
4835 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4836 |
msgid "Light"
|
4837 |
msgstr ""
|
4838 |
|
4839 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4840 |
msgid "Dark"
|
4841 |
msgstr ""
|
4842 |
|
4843 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4844 |
msgid "Required Field Indicator"
|
4845 |
msgstr ""
|
4846 |
|
4847 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4848 |
msgid "Center"
|
4849 |
msgstr ""
|
4850 |
|
4851 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4852 |
msgid "The field key can be used as an alternative to the field ID in many cases."
|
4853 |
msgstr ""
|
4854 |
|
4855 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4856 |
msgid "Field Type"
|
4857 |
msgstr ""
|
4858 |
|
4859 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4860 |
msgid "Validation Messages"
|
4861 |
msgstr ""
|
4862 |
|
4863 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4864 |
msgid "Invalid Format"
|
4865 |
msgstr ""
|
4866 |
|
4867 |
-
#: classes/views/frm-fields/back-end/settings.php:
|
4868 |
msgid "Confirmation"
|
4869 |
msgstr ""
|
4870 |
|
@@ -4933,7 +4951,7 @@ msgstr ""
|
|
4933 |
|
4934 |
#: classes/views/frm-form-actions/form_action.php:21
|
4935 |
#: classes/views/styles/_upsell-multiple-styles.php:15
|
4936 |
-
#: js/formidable_admin.js:
|
4937 |
msgid "Duplicate"
|
4938 |
msgstr ""
|
4939 |
|
@@ -5062,9 +5080,9 @@ msgid "Move Field"
|
|
5062 |
msgstr ""
|
5063 |
|
5064 |
#: classes/views/frm-forms/add_field.php:29
|
5065 |
-
#: js/formidable_admin.js:
|
5066 |
-
#: js/formidable_admin.js:
|
5067 |
-
#: js/formidable_admin.js:
|
5068 |
msgid "More Options"
|
5069 |
msgstr ""
|
5070 |
|
@@ -5581,6 +5599,83 @@ msgstr ""
|
|
5581 |
msgid "Embed"
|
5582 |
msgstr ""
|
5583 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5584 |
#: classes/views/frm-settings/general.php:7
|
5585 |
msgid "License Key"
|
5586 |
msgstr ""
|
@@ -5714,59 +5809,6 @@ msgstr ""
|
|
5714 |
msgid "Select users that are allowed access to Formidable. Without access to View Forms, users will be unable to see the Formidable menu."
|
5715 |
msgstr ""
|
5716 |
|
5717 |
-
#. translators: %1$s: Start link HTML, %2$s: End link HTML
|
5718 |
-
#: classes/views/frm-settings/recaptcha.php:10
|
5719 |
-
msgid "reCAPTCHA requires a Site and Private API key. Sign up for a %1$sfree reCAPTCHA key%2$s."
|
5720 |
-
msgstr ""
|
5721 |
-
|
5722 |
-
#: classes/views/frm-settings/recaptcha.php:19
|
5723 |
-
msgid "reCAPTCHA is a free, accessible CAPTCHA service that helps to digitize books while blocking spam on your blog. reCAPTCHA asks commenters to retype two words scanned from a book to prove that they are a human. This verifies that they are not a spambot."
|
5724 |
-
msgstr ""
|
5725 |
-
|
5726 |
-
#: classes/views/frm-settings/recaptcha.php:20
|
5727 |
-
msgid "Site Key"
|
5728 |
-
msgstr ""
|
5729 |
-
|
5730 |
-
#: classes/views/frm-settings/recaptcha.php:27
|
5731 |
-
msgid "Secret Key"
|
5732 |
-
msgstr ""
|
5733 |
-
|
5734 |
-
#: classes/views/frm-settings/recaptcha.php:34
|
5735 |
-
msgid "reCAPTCHA Type"
|
5736 |
-
msgstr ""
|
5737 |
-
|
5738 |
-
#: classes/views/frm-settings/recaptcha.php:38
|
5739 |
-
msgid "Checkbox (V2)"
|
5740 |
-
msgstr ""
|
5741 |
-
|
5742 |
-
#: classes/views/frm-settings/recaptcha.php:41
|
5743 |
-
msgid "Invisible"
|
5744 |
-
msgstr ""
|
5745 |
-
|
5746 |
-
#: classes/views/frm-settings/recaptcha.php:44
|
5747 |
-
msgid "v3"
|
5748 |
-
msgstr ""
|
5749 |
-
|
5750 |
-
#: classes/views/frm-settings/recaptcha.php:51
|
5751 |
-
msgid "reCAPTCHA Language"
|
5752 |
-
msgstr ""
|
5753 |
-
|
5754 |
-
#: classes/views/frm-settings/recaptcha.php:55
|
5755 |
-
msgid "Browser Default"
|
5756 |
-
msgstr ""
|
5757 |
-
|
5758 |
-
#: classes/views/frm-settings/recaptcha.php:67
|
5759 |
-
msgid "reCAPTCHA Threshold"
|
5760 |
-
msgstr ""
|
5761 |
-
|
5762 |
-
#: classes/views/frm-settings/recaptcha.php:68
|
5763 |
-
msgid "A score of 0 is likely to be a bot and a score of 1 is likely not a bot. Setting a lower threshold will allow more bots, but it will also stop fewer real users."
|
5764 |
-
msgstr ""
|
5765 |
-
|
5766 |
-
#: classes/views/frm-settings/recaptcha.php:79
|
5767 |
-
msgid "Allow multiple reCAPTCHAs to be used on a single page"
|
5768 |
-
msgstr ""
|
5769 |
-
|
5770 |
#: classes/views/frm-settings/settings_cta.php:14
|
5771 |
msgid "Get Formidable Forms Pro and Unlock all the Powerful Features"
|
5772 |
msgstr ""
|
@@ -6601,75 +6643,75 @@ msgstr ""
|
|
6601 |
msgid "Successfully copied embed example"
|
6602 |
msgstr ""
|
6603 |
|
6604 |
-
#: js/formidable_admin.js:
|
6605 |
msgid "Set Row Layout"
|
6606 |
msgstr ""
|
6607 |
|
6608 |
-
#: js/formidable_admin.js:
|
6609 |
msgid "Move Field Group"
|
6610 |
msgstr ""
|
6611 |
|
6612 |
-
#: js/formidable_admin.js:
|
6613 |
msgid "Field settings"
|
6614 |
msgstr ""
|
6615 |
|
6616 |
-
#: js/formidable_admin.js:
|
6617 |
msgid "Delete Group"
|
6618 |
msgstr ""
|
6619 |
|
6620 |
-
#: js/formidable_admin.js:
|
6621 |
msgid "Duplicate Group"
|
6622 |
msgstr ""
|
6623 |
|
6624 |
-
#: js/formidable_admin.js:
|
6625 |
msgid "Custom layout"
|
6626 |
msgstr ""
|
6627 |
|
6628 |
-
#: js/formidable_admin.js:
|
6629 |
msgid "Break into rows"
|
6630 |
msgstr ""
|
6631 |
|
6632 |
-
#: js/formidable_admin.js:
|
6633 |
msgid "Row Layout"
|
6634 |
msgstr ""
|
6635 |
|
6636 |
-
#: js/formidable_admin.js:
|
6637 |
msgid "Enter number of columns for each field"
|
6638 |
msgstr ""
|
6639 |
|
6640 |
-
#: js/formidable_admin.js:
|
6641 |
msgid "Layouts are based on a 12-column grid system"
|
6642 |
msgstr ""
|
6643 |
|
6644 |
-
#: js/formidable_admin.js:
|
6645 |
msgid "Save"
|
6646 |
msgstr ""
|
6647 |
|
6648 |
-
#: js/formidable_admin.js:
|
6649 |
msgid "Merge into row"
|
6650 |
msgstr ""
|
6651 |
|
6652 |
#. translators: %1$s: Number of fields that are selected to be deleted.
|
6653 |
-
#: js/formidable_admin.js:
|
6654 |
msgid "Are you sure you want to delete these %1$s selected fields?"
|
6655 |
msgstr ""
|
6656 |
|
6657 |
-
#: js/formidable_admin.js:
|
6658 |
msgid "Duplicate option value \"%s\" detected"
|
6659 |
msgstr ""
|
6660 |
|
6661 |
-
#: js/formidable_admin.js:
|
6662 |
msgid "Ready Made Solution"
|
6663 |
msgstr ""
|
6664 |
|
6665 |
-
#: js/formidable_admin.js:
|
6666 |
msgid "Check all applications"
|
6667 |
msgstr ""
|
6668 |
|
6669 |
-
#: js/formidable_admin.js:
|
6670 |
msgid "Save and Reload"
|
6671 |
msgstr ""
|
6672 |
|
6673 |
-
#: js/formidable_admin.js:
|
6674 |
msgid "Unable to install template"
|
6675 |
msgstr ""
|
2 |
# This file is distributed under the same license as the Formidable Forms plugin.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Formidable Forms 5.5.4\n"
|
6 |
"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/formidable\n"
|
7 |
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
8 |
"Language-Team: LANGUAGE <LL@li.org>\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"POT-Creation-Date: 2022-12-01T17:28:01+00:00\n"
|
13 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
"X-Generator: WP-CLI 2.6.0\n"
|
15 |
"X-Domain: formidable\n"
|
229 |
msgstr ""
|
230 |
|
231 |
#: classes/controllers/FrmEntriesController.php:79
|
232 |
+
#: classes/controllers/FrmFormsController.php:1464
|
233 |
#: classes/views/frm-entries/form.php:69
|
234 |
#: classes/views/frm-entries/sidebar-shared.php:57
|
235 |
msgid "Entry Key"
|
261 |
msgid "Entry update date"
|
262 |
msgstr ""
|
263 |
|
264 |
+
#: classes/controllers/FrmEntriesController.php:428
|
265 |
msgid "Your import is complete"
|
266 |
msgstr ""
|
267 |
|
268 |
#. translators: %1$s: Time string
|
269 |
+
#: classes/controllers/FrmEntriesController.php:440
|
270 |
msgid "This form is in the trash and is scheduled to be deleted permanently in %s along with any entries."
|
271 |
msgstr ""
|
272 |
|
273 |
+
#: classes/controllers/FrmEntriesController.php:459
|
274 |
msgid "You are trying to view an entry that does not exist."
|
275 |
msgstr ""
|
276 |
|
277 |
+
#: classes/controllers/FrmEntriesController.php:487
|
278 |
+
msgid "Entry was successfully deleted"
|
279 |
msgstr ""
|
280 |
|
281 |
#: classes/controllers/FrmFieldsController.php:330
|
349 |
msgstr ""
|
350 |
|
351 |
#: classes/controllers/FrmFormsController.php:179
|
352 |
+
#: classes/controllers/FrmFormsController.php:1094
|
353 |
msgid "Form was successfully updated."
|
354 |
msgstr ""
|
355 |
|
449 |
msgstr ""
|
450 |
|
451 |
#: classes/controllers/FrmFormsController.php:867
|
452 |
+
#: classes/models/FrmField.php:96
|
453 |
msgid "Date"
|
454 |
msgstr ""
|
455 |
|
456 |
+
#: classes/controllers/FrmFormsController.php:1000
|
457 |
#: classes/helpers/FrmFormsHelper.php:1317
|
458 |
msgid "My Templates"
|
459 |
msgstr ""
|
460 |
|
461 |
+
#: classes/controllers/FrmFormsController.php:1059
|
462 |
msgid "You are trying to edit a form that does not exist."
|
463 |
msgstr ""
|
464 |
|
465 |
#. translators: %1$s: Start link HTML, %2$s: End link HTML
|
466 |
+
#: classes/controllers/FrmFormsController.php:1064
|
467 |
msgid "You are trying to edit a child form. Please edit from %1$shere%2$s"
|
468 |
msgstr ""
|
469 |
|
470 |
+
#: classes/controllers/FrmFormsController.php:1096
|
471 |
msgid "Template was successfully updated."
|
472 |
msgstr ""
|
473 |
|
474 |
+
#: classes/controllers/FrmFormsController.php:1120
|
475 |
msgid "Form was Successfully Copied"
|
476 |
msgstr ""
|
477 |
|
478 |
+
#: classes/controllers/FrmFormsController.php:1185
|
479 |
#: classes/controllers/FrmStylesController.php:403
|
480 |
msgid "General"
|
481 |
msgstr ""
|
482 |
|
483 |
+
#: classes/controllers/FrmFormsController.php:1186
|
484 |
msgid "General Form Settings"
|
485 |
msgstr ""
|
486 |
|
487 |
+
#: classes/controllers/FrmFormsController.php:1191
|
488 |
msgid "Actions & Notifications"
|
489 |
msgstr ""
|
490 |
|
491 |
+
#: classes/controllers/FrmFormsController.php:1197
|
492 |
+
#: classes/controllers/FrmFormsController.php:1202
|
493 |
msgid "Form Permissions"
|
494 |
msgstr ""
|
495 |
|
496 |
+
#: classes/controllers/FrmFormsController.php:1203
|
497 |
msgid "Allow editing, protect forms and files, limit entries, and save drafts. Upgrade to get form and entry permissions."
|
498 |
msgstr ""
|
499 |
|
500 |
+
#: classes/controllers/FrmFormsController.php:1208
|
501 |
msgid "Form Scheduling"
|
502 |
msgstr ""
|
503 |
|
504 |
+
#: classes/controllers/FrmFormsController.php:1213
|
505 |
msgid "Form scheduling settings"
|
506 |
msgstr ""
|
507 |
|
508 |
+
#: classes/controllers/FrmFormsController.php:1218
|
509 |
msgid "Styling & Buttons"
|
510 |
msgstr ""
|
511 |
|
512 |
+
#: classes/controllers/FrmFormsController.php:1224
|
513 |
msgid "Form Landing Page"
|
514 |
msgstr ""
|
515 |
|
516 |
+
#: classes/controllers/FrmFormsController.php:1230
|
517 |
+
#: classes/controllers/FrmFormsController.php:1236
|
518 |
msgid "Conversational Forms"
|
519 |
msgstr ""
|
520 |
|
521 |
+
#: classes/controllers/FrmFormsController.php:1237
|
522 |
msgid "Ask one question at a time for automated conversations."
|
523 |
msgstr ""
|
524 |
|
525 |
+
#: classes/controllers/FrmFormsController.php:1243
|
526 |
msgid "Customize HTML"
|
527 |
msgstr ""
|
528 |
|
529 |
+
#: classes/controllers/FrmFormsController.php:1379
|
530 |
msgid "Customize field values with the following parameters."
|
531 |
msgstr ""
|
532 |
|
533 |
+
#: classes/controllers/FrmFormsController.php:1417
|
534 |
msgid "Separator"
|
535 |
msgstr ""
|
536 |
|
537 |
+
#: classes/controllers/FrmFormsController.php:1418
|
538 |
msgid "Use a different separator for checkbox fields"
|
539 |
msgstr ""
|
540 |
|
541 |
+
#: classes/controllers/FrmFormsController.php:1421
|
542 |
msgid "Date Format"
|
543 |
msgstr ""
|
544 |
|
545 |
+
#: classes/controllers/FrmFormsController.php:1424
|
546 |
+
#: classes/views/frm-fields/back-end/settings.php:42
|
547 |
msgid "Field Label"
|
548 |
msgstr ""
|
549 |
|
550 |
+
#: classes/controllers/FrmFormsController.php:1427
|
551 |
msgid "No Auto P"
|
552 |
msgstr ""
|
553 |
|
554 |
+
#: classes/controllers/FrmFormsController.php:1428
|
555 |
msgid "Do not automatically add any paragraphs or line breaks"
|
556 |
msgstr ""
|
557 |
|
558 |
+
#: classes/controllers/FrmFormsController.php:1443
|
559 |
+
#: classes/models/FrmField.php:71
|
560 |
msgid "User ID"
|
561 |
msgstr ""
|
562 |
|
563 |
+
#: classes/controllers/FrmFormsController.php:1444
|
564 |
msgid "First Name"
|
565 |
msgstr ""
|
566 |
|
567 |
+
#: classes/controllers/FrmFormsController.php:1445
|
568 |
msgid "Last Name"
|
569 |
msgstr ""
|
570 |
|
571 |
+
#: classes/controllers/FrmFormsController.php:1446
|
572 |
msgid "Display Name"
|
573 |
msgstr ""
|
574 |
|
575 |
+
#: classes/controllers/FrmFormsController.php:1447
|
576 |
msgid "User Login"
|
577 |
msgstr ""
|
578 |
|
579 |
+
#: classes/controllers/FrmFormsController.php:1448
|
580 |
+
#: classes/models/FrmField.php:43
|
581 |
msgid "Email"
|
582 |
msgstr ""
|
583 |
|
584 |
+
#: classes/controllers/FrmFormsController.php:1449
|
585 |
msgid "Avatar"
|
586 |
msgstr ""
|
587 |
|
588 |
+
#: classes/controllers/FrmFormsController.php:1450
|
589 |
msgid "Author Link"
|
590 |
msgstr ""
|
591 |
|
592 |
+
#: classes/controllers/FrmFormsController.php:1463
|
593 |
#: classes/views/frm-entries/sidebar-shared.php:51
|
594 |
msgid "Entry ID"
|
595 |
msgstr ""
|
596 |
|
597 |
+
#: classes/controllers/FrmFormsController.php:1465
|
598 |
msgid "Post ID"
|
599 |
msgstr ""
|
600 |
|
601 |
+
#: classes/controllers/FrmFormsController.php:1466
|
602 |
msgid "User IP"
|
603 |
msgstr ""
|
604 |
|
605 |
+
#: classes/controllers/FrmFormsController.php:1467
|
606 |
msgid "Entry created"
|
607 |
msgstr ""
|
608 |
|
609 |
+
#: classes/controllers/FrmFormsController.php:1468
|
610 |
msgid "Entry updated"
|
611 |
msgstr ""
|
612 |
|
613 |
+
#: classes/controllers/FrmFormsController.php:1470
|
614 |
msgid "Site URL"
|
615 |
msgstr ""
|
616 |
|
617 |
+
#: classes/controllers/FrmFormsController.php:1471
|
618 |
msgid "Site Name"
|
619 |
msgstr ""
|
620 |
|
621 |
+
#: classes/controllers/FrmFormsController.php:1479
|
622 |
msgid "Default Msg"
|
623 |
msgstr ""
|
624 |
|
625 |
+
#: classes/controllers/FrmFormsController.php:1480
|
626 |
msgid "Default HTML"
|
627 |
msgstr ""
|
628 |
|
629 |
+
#: classes/controllers/FrmFormsController.php:1481
|
630 |
msgid "Default Plain"
|
631 |
msgstr ""
|
632 |
|
633 |
+
#: classes/controllers/FrmFormsController.php:1482
|
634 |
#: classes/helpers/FrmFormsHelper.php:539
|
635 |
#: classes/views/frm-forms/new-form-overlay.php:46
|
636 |
#: classes/views/frm-forms/new-form-overlay.php:47
|
637 |
msgid "Form Name"
|
638 |
msgstr ""
|
639 |
|
640 |
+
#: classes/controllers/FrmFormsController.php:1619
|
641 |
msgid "No forms were specified"
|
642 |
msgstr ""
|
643 |
|
644 |
+
#: classes/controllers/FrmFormsController.php:1728
|
645 |
msgid "There was a problem duplicating the form"
|
646 |
msgstr ""
|
647 |
|
648 |
+
#: classes/controllers/FrmFormsController.php:1739
|
649 |
msgid "Abnormal HTML characters prevented your form from saving correctly"
|
650 |
msgstr ""
|
651 |
|
652 |
+
#: classes/controllers/FrmFormsController.php:1854
|
653 |
#: classes/helpers/FrmFormsHelper.php:57
|
654 |
#: classes/helpers/FrmFormsHelper.php:112
|
655 |
#: classes/helpers/FrmFormsHelper.php:166
|
662 |
msgid "(no title)"
|
663 |
msgstr ""
|
664 |
|
665 |
+
#: classes/controllers/FrmFormsController.php:1920
|
666 |
+
#: classes/controllers/FrmFormsController.php:1942
|
667 |
msgid "Please select a valid form"
|
668 |
msgstr ""
|
669 |
|
670 |
+
#: classes/controllers/FrmFormsController.php:2176
|
671 |
msgid "Please wait while you are redirected."
|
672 |
msgstr ""
|
673 |
|
674 |
#. translators: %1$s: Start link HTML, %2$s: End link HTML
|
675 |
+
#: classes/controllers/FrmFormsController.php:2211
|
676 |
msgid "%1$sClick here%2$s if you are not automatically redirected."
|
677 |
msgstr ""
|
678 |
|
679 |
+
#: classes/controllers/FrmFormsController.php:2571
|
680 |
#: classes/helpers/FrmAppHelper.php:1395
|
681 |
#: classes/views/frm-forms/settings-advanced.php:93
|
682 |
msgid "Select a Page"
|
713 |
msgstr ""
|
714 |
|
715 |
#: classes/controllers/FrmSettingsController.php:57
|
716 |
+
#: classes/models/fields/FrmFieldCaptcha.php:329
|
717 |
+
msgid "CAPTCHA"
|
718 |
msgstr ""
|
719 |
|
720 |
#: classes/controllers/FrmSettingsController.php:61
|
893 |
#: classes/controllers/FrmSMTPController.php:322
|
894 |
#: classes/models/FrmPluginSearch.php:306
|
895 |
#: classes/views/addons/settings.php:31
|
896 |
+
#: js/formidable_admin.js:6217
|
897 |
msgid "Activate"
|
898 |
msgstr ""
|
899 |
|
1245 |
#: classes/views/frm-forms/new-form-overlay.php:132
|
1246 |
#: classes/views/shared/admin-header.php:56
|
1247 |
#: classes/views/shared/confirm-overlay.php:19
|
1248 |
+
#: js/formidable_admin.js:3985
|
1249 |
msgid "Cancel"
|
1250 |
msgstr ""
|
1251 |
|
1252 |
#: classes/helpers/FrmAppHelper.php:2834
|
1253 |
+
#: classes/views/frm-fields/back-end/settings.php:295
|
1254 |
msgid "Default"
|
1255 |
msgstr ""
|
1256 |
|
1272 |
|
1273 |
#: classes/helpers/FrmAppHelper.php:2839
|
1274 |
#: classes/helpers/FrmListHelper.php:412
|
1275 |
+
#: js/formidable_admin.js:4402
|
1276 |
msgid "Heads up"
|
1277 |
msgstr ""
|
1278 |
|
1897 |
#: classes/helpers/FrmFormsHelper.php:1196
|
1898 |
#: classes/helpers/FrmFormsListHelper.php:133
|
1899 |
#: classes/views/frm-form-actions/form_action.php:25
|
1900 |
+
#: js/formidable_admin.js:2304
|
1901 |
msgid "Delete"
|
1902 |
msgstr ""
|
1903 |
|
3167 |
msgstr ""
|
3168 |
|
3169 |
#: classes/helpers/FrmFormsHelper.php:495
|
3170 |
+
#: classes/views/frm-fields/back-end/settings.php:319
|
3171 |
msgid "Field Key"
|
3172 |
msgstr ""
|
3173 |
|
3176 |
msgstr ""
|
3177 |
|
3178 |
#: classes/helpers/FrmFormsHelper.php:507
|
3179 |
+
#: classes/views/frm-fields/back-end/settings.php:292
|
3180 |
msgid "Label Position"
|
3181 |
msgstr ""
|
3182 |
|
3278 |
msgstr ""
|
3279 |
|
3280 |
#: classes/helpers/FrmFormsHelper.php:1211
|
3281 |
+
#: classes/models/FrmField.php:208
|
3282 |
msgid "Total"
|
3283 |
msgstr ""
|
3284 |
|
3409 |
msgstr ""
|
3410 |
|
3411 |
#: classes/helpers/FrmFormsListHelper.php:252
|
3412 |
+
#: classes/models/FrmField.php:149
|
3413 |
msgid "Embed Form"
|
3414 |
msgstr ""
|
3415 |
|
3853 |
msgid "Email Notification"
|
3854 |
msgstr ""
|
3855 |
|
3856 |
+
#: classes/models/fields/FrmFieldCaptcha.php:212
|
3857 |
+
msgid "There was a problem verifying your captcha"
|
3858 |
msgstr ""
|
3859 |
|
3860 |
+
#: classes/models/fields/FrmFieldCaptcha.php:237
|
3861 |
+
msgid "The reCAPTCHA was not entered correctly"
|
3862 |
+
msgstr ""
|
3863 |
+
|
3864 |
+
#: classes/models/fields/FrmFieldCaptcha.php:273
|
3865 |
msgid "The captcha is missing from this form"
|
3866 |
msgstr ""
|
3867 |
|
3868 |
+
#: classes/models/fields/FrmFieldCaptcha.php:328
|
3869 |
+
#: classes/views/frm-settings/captcha/captcha.php:24
|
3870 |
+
msgid "reCAPTCHA"
|
3871 |
+
msgstr ""
|
3872 |
+
|
3873 |
+
#: classes/models/fields/FrmFieldCaptcha.php:328
|
3874 |
+
#: classes/views/frm-settings/captcha/captcha.php:33
|
3875 |
+
msgid "hCaptcha"
|
3876 |
+
msgstr ""
|
3877 |
+
|
3878 |
#: classes/models/fields/FrmFieldCheckbox.php:43
|
3879 |
#: classes/models/fields/FrmFieldRadio.php:63
|
3880 |
#: classes/models/fields/FrmFieldSelect.php:39
|
3892 |
msgstr ""
|
3893 |
|
3894 |
#: classes/models/fields/FrmFieldCombo.php:190
|
3895 |
+
#: classes/views/frm-fields/back-end/settings.php:159
|
3896 |
msgid "Default Value"
|
3897 |
msgstr ""
|
3898 |
|
3899 |
#: classes/models/fields/FrmFieldCombo.php:191
|
3900 |
+
#: classes/views/frm-fields/back-end/settings.php:205
|
3901 |
msgid "Placeholder Text"
|
3902 |
msgstr ""
|
3903 |
|
3952 |
msgstr ""
|
3953 |
|
3954 |
#. translators: %1$s: Plugin name, %2$s: Start link HTML, %3$s: end link HTML
|
3955 |
+
#: classes/models/FrmAddon.php:314
|
3956 |
msgid "Your %1$s license key is missing. Please add it on the %2$slicenses page%3$s."
|
3957 |
msgstr ""
|
3958 |
|
3959 |
+
#: classes/models/FrmAddon.php:509
|
3960 |
msgid "Oops! You forgot to enter your license number."
|
3961 |
msgstr ""
|
3962 |
|
3963 |
+
#: classes/models/FrmAddon.php:592
|
3964 |
msgid "Your license has been activated. Enjoy!"
|
3965 |
msgstr ""
|
3966 |
|
3967 |
+
#: classes/models/FrmAddon.php:593
|
3968 |
+
#: classes/models/FrmAddon.php:598
|
3969 |
msgid "That license key is invalid"
|
3970 |
msgstr ""
|
3971 |
|
3972 |
+
#: classes/models/FrmAddon.php:594
|
3973 |
msgid "That license is expired"
|
3974 |
msgstr ""
|
3975 |
|
3976 |
+
#: classes/models/FrmAddon.php:595
|
3977 |
msgid "That license has been refunded"
|
3978 |
msgstr ""
|
3979 |
|
3980 |
+
#: classes/models/FrmAddon.php:596
|
3981 |
msgid "That license has been used on too many sites"
|
3982 |
msgstr ""
|
3983 |
|
3984 |
+
#: classes/models/FrmAddon.php:597
|
3985 |
msgid "Oops! That is the wrong license key for this plugin."
|
3986 |
msgstr ""
|
3987 |
|
3988 |
+
#: classes/models/FrmAddon.php:614
|
3989 |
msgid "Cache cleared"
|
3990 |
msgstr ""
|
3991 |
|
3992 |
+
#: classes/models/FrmAddon.php:636
|
3993 |
msgid "That license was removed successfully"
|
3994 |
msgstr ""
|
3995 |
|
3996 |
+
#: classes/models/FrmAddon.php:638
|
3997 |
msgid "There was an error deactivating your license."
|
3998 |
msgstr ""
|
3999 |
|
4000 |
+
#: classes/models/FrmAddon.php:682
|
4001 |
msgid "Your License Key was invalid"
|
4002 |
msgstr ""
|
4003 |
|
4004 |
#. translators: %1$s: Start link HTML, %2$s: End link HTML
|
4005 |
+
#: classes/models/FrmAddon.php:686
|
4006 |
msgid "You had an error communicating with the Formidable API. %1$sClick here%2$s for more information."
|
4007 |
msgstr ""
|
4008 |
|
4009 |
+
#: classes/models/FrmAddon.php:689
|
4010 |
msgid "You had an HTTP error connecting to the Formidable API"
|
4011 |
msgstr ""
|
4012 |
|
4013 |
#. translators: %1$s: Error code, %2$s: Error message
|
4014 |
+
#: classes/models/FrmAddon.php:700
|
4015 |
msgid "There was a %1$s error: %2$s"
|
4016 |
msgstr ""
|
4017 |
|
4070 |
msgid "Your entry appears to be blocked spam!"
|
4071 |
msgstr ""
|
4072 |
|
4073 |
+
#: classes/models/FrmField.php:23
|
4074 |
#: classes/views/styles/_buttons.php:49
|
4075 |
#: classes/views/styles/_buttons.php:92
|
4076 |
#: classes/views/styles/_buttons.php:110
|
4082 |
msgid "Text"
|
4083 |
msgstr ""
|
4084 |
|
4085 |
+
#: classes/models/FrmField.php:27
|
4086 |
msgid "Paragraph"
|
4087 |
msgstr ""
|
4088 |
|
4089 |
+
#: classes/models/FrmField.php:31
|
4090 |
msgid "Checkboxes"
|
4091 |
msgstr ""
|
4092 |
|
4093 |
+
#: classes/models/FrmField.php:35
|
4094 |
#: classes/views/styles/_sample_form.php:61
|
4095 |
msgid "Radio Buttons"
|
4096 |
msgstr ""
|
4097 |
|
4098 |
+
#: classes/models/FrmField.php:39
|
4099 |
msgid "Dropdown"
|
4100 |
msgstr ""
|
4101 |
|
4102 |
+
#: classes/models/FrmField.php:47
|
4103 |
msgid "Website/URL"
|
4104 |
msgstr ""
|
4105 |
|
4106 |
+
#: classes/models/FrmField.php:51
|
4107 |
msgid "Number"
|
4108 |
msgstr ""
|
4109 |
|
4110 |
+
#: classes/models/FrmField.php:55
|
4111 |
msgid "Name"
|
4112 |
msgstr ""
|
4113 |
|
4114 |
+
#: classes/models/FrmField.php:59
|
4115 |
msgid "Phone"
|
4116 |
msgstr ""
|
4117 |
|
4118 |
+
#: classes/models/FrmField.php:63
|
4119 |
msgid "HTML"
|
4120 |
msgstr ""
|
4121 |
|
4122 |
+
#: classes/models/FrmField.php:67
|
4123 |
msgid "Hidden"
|
4124 |
msgstr ""
|
4125 |
|
4126 |
+
#: classes/models/FrmField.php:87
|
4127 |
msgid "File Upload"
|
4128 |
msgstr ""
|
4129 |
|
4130 |
+
#: classes/models/FrmField.php:92
|
4131 |
msgid "Rich Text"
|
4132 |
msgstr ""
|
4133 |
|
4134 |
+
#: classes/models/FrmField.php:100
|
4135 |
msgid "Time"
|
4136 |
msgstr ""
|
4137 |
|
4138 |
+
#: classes/models/FrmField.php:104
|
4139 |
msgid "Scale"
|
4140 |
msgstr ""
|
4141 |
|
4142 |
+
#: classes/models/FrmField.php:109
|
4143 |
msgid "Star Rating"
|
4144 |
msgstr ""
|
4145 |
|
4146 |
+
#: classes/models/FrmField.php:113
|
4147 |
msgid "Slider"
|
4148 |
msgstr ""
|
4149 |
|
4150 |
+
#: classes/models/FrmField.php:117
|
4151 |
msgid "Toggle"
|
4152 |
msgstr ""
|
4153 |
|
4154 |
+
#: classes/models/FrmField.php:121
|
4155 |
msgid "Dynamic"
|
4156 |
msgstr ""
|
4157 |
|
4158 |
+
#: classes/models/FrmField.php:126
|
4159 |
msgid "Lookup"
|
4160 |
msgstr ""
|
4161 |
|
4162 |
+
#: classes/models/FrmField.php:131
|
4163 |
msgid "Repeater"
|
4164 |
msgstr ""
|
4165 |
|
4166 |
+
#: classes/models/FrmField.php:136
|
4167 |
#: classes/models/FrmFormMigrator.php:302
|
4168 |
msgid "Section Buttons"
|
4169 |
msgstr ""
|
4170 |
|
4171 |
+
#: classes/models/FrmField.php:140
|
4172 |
msgid "Section"
|
4173 |
msgstr ""
|
4174 |
|
4175 |
+
#: classes/models/FrmField.php:144
|
4176 |
msgid "Page Break"
|
4177 |
msgstr ""
|
4178 |
|
4179 |
+
#: classes/models/FrmField.php:153
|
4180 |
msgid "Likert Scale"
|
4181 |
msgstr ""
|
4182 |
|
4183 |
+
#: classes/models/FrmField.php:158
|
4184 |
msgid "NPS"
|
4185 |
msgstr ""
|
4186 |
|
4187 |
+
#: classes/models/FrmField.php:163
|
4188 |
msgid "Password"
|
4189 |
msgstr ""
|
4190 |
|
4191 |
+
#: classes/models/FrmField.php:167
|
4192 |
msgid "Tags"
|
4193 |
msgstr ""
|
4194 |
|
4195 |
+
#: classes/models/FrmField.php:171
|
4196 |
msgid "Credit Card"
|
4197 |
msgstr ""
|
4198 |
|
4199 |
+
#: classes/models/FrmField.php:176
|
4200 |
msgid "Address"
|
4201 |
msgstr ""
|
4202 |
|
4203 |
+
#: classes/models/FrmField.php:180
|
4204 |
msgid "Summary"
|
4205 |
msgstr ""
|
4206 |
|
4207 |
+
#: classes/models/FrmField.php:185
|
4208 |
msgid "Signature"
|
4209 |
msgstr ""
|
4210 |
|
4211 |
+
#: classes/models/FrmField.php:190
|
4212 |
msgid "Appointment"
|
4213 |
msgstr ""
|
4214 |
|
4215 |
+
#: classes/models/FrmField.php:198
|
4216 |
msgid "Product"
|
4217 |
msgstr ""
|
4218 |
|
4219 |
+
#: classes/models/FrmField.php:203
|
4220 |
msgid "Quantity"
|
4221 |
msgstr ""
|
4222 |
|
4333 |
msgid "Ok, you deserve it"
|
4334 |
msgstr ""
|
4335 |
|
4336 |
+
#: classes/models/FrmSettings.php:106
|
4337 |
msgid "Your responses were successfully submitted. Thank you!"
|
4338 |
msgstr ""
|
4339 |
|
4340 |
+
#: classes/models/FrmSettings.php:107
|
4341 |
msgid "This field cannot be blank."
|
4342 |
msgstr ""
|
4343 |
|
4344 |
+
#: classes/models/FrmSettings.php:108
|
4345 |
msgid "This value must be unique."
|
4346 |
msgstr ""
|
4347 |
|
4348 |
+
#: classes/models/FrmSettings.php:109
|
4349 |
msgid "There was a problem with your submission. Errors are marked below."
|
4350 |
msgstr ""
|
4351 |
|
4352 |
+
#: classes/models/FrmSettings.php:110
|
4353 |
msgid "We're sorry. It looks like you've already submitted that."
|
4354 |
msgstr ""
|
4355 |
|
4356 |
+
#: classes/models/FrmSettings.php:111
|
4357 |
#: classes/views/frm-forms/form.php:48
|
4358 |
#: classes/views/styles/_sample_form.php:79
|
4359 |
msgid "Submit"
|
4360 |
msgstr ""
|
4361 |
|
4362 |
+
#: classes/models/FrmSettings.php:112
|
4363 |
msgid "You do not have permission to view this form."
|
4364 |
msgstr ""
|
4365 |
|
4366 |
+
#: classes/models/FrmSettings.php:113
|
4367 |
msgid "You do not have permission to do that"
|
4368 |
msgstr ""
|
4369 |
|
4370 |
+
#: classes/models/FrmSettings.php:206
|
4371 |
+
msgid "The CAPTCHA was not entered correctly"
|
4372 |
msgstr ""
|
4373 |
|
4374 |
#: classes/models/FrmSolution.php:70
|
4646 |
#: classes/views/frm-fields/back-end/inline-modal.php:7
|
4647 |
#: classes/views/frm-fields/back-end/inline-modal.php:8
|
4648 |
#: classes/views/shared/admin-header.php:11
|
4649 |
+
#: js/formidable_admin.js:8389
|
4650 |
msgid "Close"
|
4651 |
msgstr ""
|
4652 |
|
4662 |
msgid "Update Options"
|
4663 |
msgstr ""
|
4664 |
|
|
|
|
|
|
|
|
|
|
|
4665 |
#: classes/views/frm-fields/back-end/field-hidden.php:8
|
4666 |
msgid "Note: This field will not show in the form. Enter the value to be hidden."
|
4667 |
msgstr ""
|
4679 |
msgstr ""
|
4680 |
|
4681 |
#: classes/views/frm-fields/back-end/html-content.php:16
|
4682 |
+
#: classes/views/frm-fields/back-end/settings.php:100
|
4683 |
+
#: classes/views/frm-fields/back-end/settings.php:168
|
4684 |
#: classes/views/frm-fields/back-end/value-format.php:16
|
4685 |
msgid "Toggle Options"
|
4686 |
msgstr ""
|
4782 |
msgid "%s Field"
|
4783 |
msgstr ""
|
4784 |
|
4785 |
+
#: classes/views/frm-fields/back-end/settings.php:29
|
4786 |
+
msgid "Setup a captcha"
|
4787 |
+
msgstr ""
|
4788 |
+
|
4789 |
+
#. translators: %1$s: Link HTML, %2$s: End link
|
4790 |
+
#: classes/views/frm-fields/back-end/settings.php:33
|
4791 |
+
msgid "Your captcha will not appear on your form until you %1$sset up%2$s the Site and Secret Keys"
|
4792 |
+
msgstr ""
|
4793 |
+
|
4794 |
+
#: classes/views/frm-fields/back-end/settings.php:54
|
4795 |
+
#: classes/views/frm-fields/back-end/settings.php:365
|
4796 |
msgid "Required"
|
4797 |
msgstr ""
|
4798 |
|
4799 |
+
#: classes/views/frm-fields/back-end/settings.php:61
|
4800 |
msgid "Unique: Do not allow the same response multiple times. For example, if one user enters 'Joe', then no one else will be allowed to enter the same name."
|
4801 |
msgstr ""
|
4802 |
|
4803 |
+
#: classes/views/frm-fields/back-end/settings.php:62
|
4804 |
+
#: classes/views/frm-fields/back-end/settings.php:385
|
4805 |
msgid "Unique"
|
4806 |
msgstr ""
|
4807 |
|
4808 |
+
#: classes/views/frm-fields/back-end/settings.php:69
|
4809 |
msgid "Read Only: Show this field but do not allow the field value to be edited from the front-end."
|
4810 |
msgstr ""
|
4811 |
|
4812 |
+
#: classes/views/frm-fields/back-end/settings.php:71
|
4813 |
msgid "Read Only"
|
4814 |
msgstr ""
|
4815 |
|
4816 |
+
#: classes/views/frm-fields/back-end/settings.php:91
|
4817 |
msgid "Add a CSS class to the field container. Use our predefined classes to align multiple fields in single row."
|
4818 |
msgstr ""
|
4819 |
|
4820 |
+
#: classes/views/frm-fields/back-end/settings.php:92
|
4821 |
msgid "CSS Layout Classes"
|
4822 |
msgstr ""
|
4823 |
|
4824 |
+
#: classes/views/frm-fields/back-end/settings.php:133
|
4825 |
#: classes/views/shared/mb_adv_info.php:22
|
4826 |
msgid "Advanced"
|
4827 |
msgstr ""
|
4828 |
|
4829 |
+
#: classes/views/frm-fields/back-end/settings.php:239
|
4830 |
msgid "If this URL points to an image, show to image on the entries listing page."
|
4831 |
msgstr ""
|
4832 |
|
4833 |
+
#: classes/views/frm-fields/back-end/settings.php:246
|
4834 |
msgid "Set the size of the captcha field. The compact option is best if your form is in a small area."
|
4835 |
msgstr ""
|
4836 |
|
4837 |
+
#: classes/views/frm-fields/back-end/settings.php:247
|
4838 |
msgid "ReCaptcha Type"
|
4839 |
msgstr ""
|
4840 |
|
4841 |
+
#: classes/views/frm-fields/back-end/settings.php:251
|
4842 |
msgid "Normal"
|
4843 |
msgstr ""
|
4844 |
|
4845 |
+
#: classes/views/frm-fields/back-end/settings.php:254
|
4846 |
msgid "Compact"
|
4847 |
msgstr ""
|
4848 |
|
4849 |
+
#: classes/views/frm-fields/back-end/settings.php:260
|
4850 |
msgid "reCAPTCHA Color"
|
4851 |
msgstr ""
|
4852 |
|
4853 |
+
#: classes/views/frm-fields/back-end/settings.php:264
|
4854 |
msgid "Light"
|
4855 |
msgstr ""
|
4856 |
|
4857 |
+
#: classes/views/frm-fields/back-end/settings.php:267
|
4858 |
msgid "Dark"
|
4859 |
msgstr ""
|
4860 |
|
4861 |
+
#: classes/views/frm-fields/back-end/settings.php:284
|
4862 |
msgid "Required Field Indicator"
|
4863 |
msgstr ""
|
4864 |
|
4865 |
+
#: classes/views/frm-fields/back-end/settings.php:310
|
4866 |
msgid "Center"
|
4867 |
msgstr ""
|
4868 |
|
4869 |
+
#: classes/views/frm-fields/back-end/settings.php:318
|
4870 |
msgid "The field key can be used as an alternative to the field ID in many cases."
|
4871 |
msgstr ""
|
4872 |
|
4873 |
+
#: classes/views/frm-fields/back-end/settings.php:327
|
4874 |
msgid "Field Type"
|
4875 |
msgstr ""
|
4876 |
|
4877 |
+
#: classes/views/frm-fields/back-end/settings.php:357
|
4878 |
msgid "Validation Messages"
|
4879 |
msgstr ""
|
4880 |
|
4881 |
+
#: classes/views/frm-fields/back-end/settings.php:374
|
4882 |
msgid "Invalid Format"
|
4883 |
msgstr ""
|
4884 |
|
4885 |
+
#: classes/views/frm-fields/back-end/settings.php:396
|
4886 |
msgid "Confirmation"
|
4887 |
msgstr ""
|
4888 |
|
4951 |
|
4952 |
#: classes/views/frm-form-actions/form_action.php:21
|
4953 |
#: classes/views/styles/_upsell-multiple-styles.php:15
|
4954 |
+
#: js/formidable_admin.js:2310
|
4955 |
msgid "Duplicate"
|
4956 |
msgstr ""
|
4957 |
|
5080 |
msgstr ""
|
5081 |
|
5082 |
#: classes/views/frm-forms/add_field.php:29
|
5083 |
+
#: js/formidable_admin.js:1414
|
5084 |
+
#: js/formidable_admin.js:1417
|
5085 |
+
#: js/formidable_admin.js:2248
|
5086 |
msgid "More Options"
|
5087 |
msgstr ""
|
5088 |
|
5599 |
msgid "Embed"
|
5600 |
msgstr ""
|
5601 |
|
5602 |
+
#: classes/views/frm-settings/captcha/captcha.php:8
|
5603 |
+
msgid "Captcha will help you to avoid gathering automatically generated responses"
|
5604 |
+
msgstr ""
|
5605 |
+
|
5606 |
+
#: classes/views/frm-settings/captcha/captcha.php:15
|
5607 |
+
msgid "Select captcha type"
|
5608 |
+
msgstr ""
|
5609 |
+
|
5610 |
+
#: classes/views/frm-settings/captcha/captcha.php:41
|
5611 |
+
msgid "Changing the captcha type here will replace it in all any forms where it is used."
|
5612 |
+
msgstr ""
|
5613 |
+
|
5614 |
+
#: classes/views/frm-settings/captcha/captcha.php:45
|
5615 |
+
msgid "reCAPTCHA Settings"
|
5616 |
+
msgstr ""
|
5617 |
+
|
5618 |
+
#: classes/views/frm-settings/captcha/captcha.php:53
|
5619 |
+
msgid "reCAPTCHA Type"
|
5620 |
+
msgstr ""
|
5621 |
+
|
5622 |
+
#: classes/views/frm-settings/captcha/captcha.php:57
|
5623 |
+
msgid "Checkbox (V2)"
|
5624 |
+
msgstr ""
|
5625 |
+
|
5626 |
+
#: classes/views/frm-settings/captcha/captcha.php:60
|
5627 |
+
msgid "Invisible"
|
5628 |
+
msgstr ""
|
5629 |
+
|
5630 |
+
#: classes/views/frm-settings/captcha/captcha.php:63
|
5631 |
+
msgid "v3"
|
5632 |
+
msgstr ""
|
5633 |
+
|
5634 |
+
#: classes/views/frm-settings/captcha/captcha.php:70
|
5635 |
+
msgid "reCAPTCHA Language"
|
5636 |
+
msgstr ""
|
5637 |
+
|
5638 |
+
#: classes/views/frm-settings/captcha/captcha.php:74
|
5639 |
+
msgid "Browser Default"
|
5640 |
+
msgstr ""
|
5641 |
+
|
5642 |
+
#: classes/views/frm-settings/captcha/captcha.php:86
|
5643 |
+
msgid "reCAPTCHA Threshold"
|
5644 |
+
msgstr ""
|
5645 |
+
|
5646 |
+
#: classes/views/frm-settings/captcha/captcha.php:87
|
5647 |
+
msgid "A score of 0 is likely to be a bot and a score of 1 is likely not a bot. Setting a lower threshold will allow more bots, but it will also stop fewer real users."
|
5648 |
+
msgstr ""
|
5649 |
+
|
5650 |
+
#: classes/views/frm-settings/captcha/captcha.php:98
|
5651 |
+
msgid "Allow multiple reCAPTCHAs to be used on a single page"
|
5652 |
+
msgstr ""
|
5653 |
+
|
5654 |
+
#: classes/views/frm-settings/captcha/captcha.php:104
|
5655 |
+
msgid "hCaptcha Settings"
|
5656 |
+
msgstr ""
|
5657 |
+
|
5658 |
+
#. translators: %1$s: Captcha name, %2$s: Start link HTML, %3$s: End link HTML
|
5659 |
+
#: classes/views/frm-settings/captcha/captcha_keys.php:19
|
5660 |
+
msgid "%1$s requires a Site and Private API key. Sign up for a %2$sfree %1$s key%3$s."
|
5661 |
+
msgstr ""
|
5662 |
+
|
5663 |
+
#: classes/views/frm-settings/captcha/captcha_keys.php:29
|
5664 |
+
msgid "reCAPTCHA is a free, accessible CAPTCHA service that helps to digitize books while blocking spam on your blog. reCAPTCHA asks commenters to retype two words scanned from a book to prove that they are a human. This verifies that they are not a spambot."
|
5665 |
+
msgstr ""
|
5666 |
+
|
5667 |
+
#: classes/views/frm-settings/captcha/captcha_keys.php:32
|
5668 |
+
msgid "hCaptcha is an anti-bot solution that protects user privacy and rewards websites. It is a privacy-focused drop-in replacement for reCAPTCHA."
|
5669 |
+
msgstr ""
|
5670 |
+
|
5671 |
+
#: classes/views/frm-settings/captcha/captcha_keys.php:37
|
5672 |
+
msgid "Site Key"
|
5673 |
+
msgstr ""
|
5674 |
+
|
5675 |
+
#: classes/views/frm-settings/captcha/captcha_keys.php:44
|
5676 |
+
msgid "Secret Key"
|
5677 |
+
msgstr ""
|
5678 |
+
|
5679 |
#: classes/views/frm-settings/general.php:7
|
5680 |
msgid "License Key"
|
5681 |
msgstr ""
|
5809 |
msgid "Select users that are allowed access to Formidable. Without access to View Forms, users will be unable to see the Formidable menu."
|
5810 |
msgstr ""
|
5811 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5812 |
#: classes/views/frm-settings/settings_cta.php:14
|
5813 |
msgid "Get Formidable Forms Pro and Unlock all the Powerful Features"
|
5814 |
msgstr ""
|
6643 |
msgid "Successfully copied embed example"
|
6644 |
msgstr ""
|
6645 |
|
6646 |
+
#: js/formidable_admin.js:1375
|
6647 |
msgid "Set Row Layout"
|
6648 |
msgstr ""
|
6649 |
|
6650 |
+
#: js/formidable_admin.js:1382
|
6651 |
msgid "Move Field Group"
|
6652 |
msgstr ""
|
6653 |
|
6654 |
+
#: js/formidable_admin.js:2276
|
6655 |
msgid "Field settings"
|
6656 |
msgstr ""
|
6657 |
|
6658 |
+
#: js/formidable_admin.js:2304
|
6659 |
msgid "Delete Group"
|
6660 |
msgstr ""
|
6661 |
|
6662 |
+
#: js/formidable_admin.js:2310
|
6663 |
msgid "Duplicate Group"
|
6664 |
msgstr ""
|
6665 |
|
6666 |
+
#: js/formidable_admin.js:3683
|
6667 |
msgid "Custom layout"
|
6668 |
msgstr ""
|
6669 |
|
6670 |
+
#: js/formidable_admin.js:3706
|
6671 |
msgid "Break into rows"
|
6672 |
msgstr ""
|
6673 |
|
6674 |
+
#: js/formidable_admin.js:3716
|
6675 |
msgid "Row Layout"
|
6676 |
msgstr ""
|
6677 |
|
6678 |
+
#: js/formidable_admin.js:3970
|
6679 |
msgid "Enter number of columns for each field"
|
6680 |
msgstr ""
|
6681 |
|
6682 |
+
#: js/formidable_admin.js:3974
|
6683 |
msgid "Layouts are based on a 12-column grid system"
|
6684 |
msgstr ""
|
6685 |
|
6686 |
+
#: js/formidable_admin.js:3990
|
6687 |
msgid "Save"
|
6688 |
msgstr ""
|
6689 |
|
6690 |
+
#: js/formidable_admin.js:4316
|
6691 |
msgid "Merge into row"
|
6692 |
msgstr ""
|
6693 |
|
6694 |
#. translators: %1$s: Number of fields that are selected to be deleted.
|
6695 |
+
#: js/formidable_admin.js:4404
|
6696 |
msgid "Are you sure you want to delete these %1$s selected fields?"
|
6697 |
msgstr ""
|
6698 |
|
6699 |
+
#: js/formidable_admin.js:5527
|
6700 |
msgid "Duplicate option value \"%s\" detected"
|
6701 |
msgstr ""
|
6702 |
|
6703 |
+
#: js/formidable_admin.js:7630
|
6704 |
msgid "Ready Made Solution"
|
6705 |
msgstr ""
|
6706 |
|
6707 |
+
#: js/formidable_admin.js:7633
|
6708 |
msgid "Check all applications"
|
6709 |
msgstr ""
|
6710 |
|
6711 |
+
#: js/formidable_admin.js:8374
|
6712 |
msgid "Save and Reload"
|
6713 |
msgstr ""
|
6714 |
|
6715 |
+
#: js/formidable_admin.js:9004
|
6716 |
msgid "Unable to install template"
|
6717 |
msgstr ""
|
readme.txt
CHANGED
@@ -3,9 +3,9 @@ Plugin Name: Formidable Forms - Contact Form, Survey & Quiz Form Builder for Wor
|
|
3 |
Contributors: formidableforms, sswells, srwells
|
4 |
Tags: forms, form builder, survey, free, custom form, contact form, form maker, form creator, paypal form, paypal, stripe, stripe form, aweber, aweber form, getresponse, calculator, quote form, contact button, form manager, Akismet, payment form, survey form, donation form, email subscription, user registration form, wordpress registration, wordpress login form, constant contact, mailpoet, active campaign, salesforce, hubspot, campaign monitor, quiz builder, quiz, feedback form, drag and drop, mailchimp form
|
5 |
Requires at least: 5.2
|
6 |
-
Tested up to: 6.1
|
7 |
Requires PHP: 5.6
|
8 |
-
Stable tag: 5.5.
|
9 |
|
10 |
The most advanced WordPress forms plugin. Go beyond contact forms with our drag and drop form builder for surveys, quizzes, and more.
|
11 |
|
@@ -53,7 +53,7 @@ When a user submits a web form, it's stored in your WordPress database so you wo
|
|
53 |
|
54 |
Even though the entries are saved, it's still a **GDPR-friendly** form generator. You can turn off IP tracking or stop saving submissions entirely. Or add a GDPR checkbox field to your lead forms and payment forms to collect consent.
|
55 |
|
56 |
-
Need to import your leads to an external service like
|
57 |
|
58 |
You can also configure unlimited email notifications and autoresponders triggered by submissions.
|
59 |
|
@@ -138,7 +138,7 @@ You will not find any other WordPress form plugin offering a front-end editing s
|
|
138 |
|
139 |
== All the Advanced Fields & Features You Need to Grow Your Business ==
|
140 |
|
141 |
-
Formidable goes far above and beyond with features like multi-page forms, save and continue, cascading form fields, and powerful conditional logic. Then add partial submissions, invisible spam protection, front-end user post submission, calculated fields, user
|
142 |
|
143 |
We're on a mission to offer all-in-one solution-focused forms. This way you don't have to install 5 plugins alongside your form maker to do everything you want.
|
144 |
|
@@ -179,6 +179,7 @@ Since Formidable is not your average form plugin, this feature list is going to
|
|
179 |
* <a href="https://formidableforms.com/features/user-submitted-posts-wordpress-forms/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">User submitted front-end posts and pages</a>. Create and edit WordPress posts, pages, and custom post types from front-end online forms. Send user-generated content quickly from a post creation form to a page.
|
180 |
* <a href="https://formidableforms.com/features/form-entry-management-wordpress/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Simple entry management</a>. Flexibly display, edit, and delete entries. Let logged-in users can manage their personal journal entries, weight tracking, guest blog posts, RSVP status, and more.
|
181 |
* WordPress front-end editing. Allow users to edit their entries and posts from the front-end of your site. Create an online journaling platform, member directory, classified ads, community recipes, and more.
|
|
|
182 |
* Logged-in users can <a href="https://formidableforms.com/features/save-and-continue-partial-submissions/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">save and continue partial submissions</a>. Whether it's a basic email form or a long multi-paged registration form, users can save progress and pick up where they left off.
|
183 |
* <a href="https://formidableforms.com/features/create-a-graph-wordpress-forms/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Graphs and charts for data visualization</a>. Display statistics from a survey, poll, and questionnaire. Or graph data in a variety of ways. Whatever you choose, it will update as new data is submitted (great for weight tracking over time).
|
184 |
* Permissions. Lock visibility and access based on user role.
|
@@ -200,7 +201,7 @@ Since Formidable is not your average form plugin, this feature list is going to
|
|
200 |
* <a href="https://formidableforms.com/features/form-action-automation-scheduling/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Form action automation</a>. Schedule email notifications, SMS messages, and webhooks to trigger later. You can automatically delete guest posts after 30 days, send weekly digests, or trigger happy birthday text messages from a lead form.
|
201 |
* <a href="https://formidableforms.com/features/wordpress-form-api/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Forms API</a>. Send submissions to other REST APIs and add a set of webhooks. This includes the option to send submissions from one site to another.
|
202 |
* <a href="https://formidableforms.com/features/quiz-maker-forms/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Quiz maker forms</a>. Write your quiz form questions, submit an entry as the quiz key, and publish the quiz on a page. Then all the quiz grading is automatically done for you with our quiz plugin.
|
203 |
-
*
|
204 |
|
205 |
== Payment Forms, APIs, and Marketing Integrations ==
|
206 |
In addition to all the features listed above, add power ups with these integrations.
|
@@ -209,7 +210,7 @@ In addition to all the features listed above, add power ups with these integrati
|
|
209 |
* <a href="https://formidableforms.com/features/stripe-payments-for-wordpress/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Stripe Forms</a>. Keep users on your site while collecting Stripe payments from a credit card form. Select from one time and recurring charges in donation and order forms. Stripe processes payments with simple PCI compliance.
|
210 |
* <a href="https://formidableforms.com/features/authorize-net-payments/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Authorize.net AIM</a>. Process one-time payments in order forms and price calculators with Authorize.net AIM. For recurring payments or easier security compliance, we recommend Stripe.
|
211 |
* <a href="https://formidableforms.com/features/customizable-woocommerce-forms/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">WooCommerce product configurator</a>. Add custom fields to a WooCommerce product order form and collect extra data when a product is added to the cart. Use calculations in your WooCommerce form for variable pricing and upload files with orders.
|
212 |
-
* <a href="https://formidableforms.com/features/mailchimp-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">
|
213 |
* Constant Contact. Create leads automatically with a newsletter signup form.
|
214 |
* AWeber Forms. Subscribe users to an AWeber mailing list when a signup form is submitted.
|
215 |
* <a href="https://formidableforms.com/features/mailpoet-newsletters-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">MailPoet Newsletters</a>. Fill your email marketing lists from newsletter signup forms. Then send WordPress newsletters from your own site using MailPoet.
|
@@ -221,6 +222,7 @@ In addition to all the features listed above, add power ups with these integrati
|
|
221 |
* Twilio for SMS Forms. Collect feedback, votes and poll responses via SMS text or send SMS notifications when entries are submitted. Get notified instantly when a payment or order form is completed, or let your leads know you received their message.
|
222 |
* WPML Multilingual Forms. Translate your WP forms into multiple languages using our integrated multilingual forms.
|
223 |
* Polylang. Get the form creator with Polylang bilingual or multilingual contact forms.
|
|
|
224 |
* <a href="https://formidableforms.com/features/form-entry-routing-with-zapier/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Zapier</a>. Connect with thousands of services through Zapier from a lead form, quote form, and other web forms. Insert a new row in a Google docs spreadsheet, post on Twitter, or upload a Dropbox file from a feedback form.
|
225 |
* <a href="https://formidableforms.com/features/bootstrap-form-styling/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Bootstrap Form Styles</a>. Instantly add Bootstrap form styling to a survey form and payment form.
|
226 |
* <a href="https://formidableforms.com/features/bootstrap-modal-forms/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Bootstrap Modal Form</a>. Open login forms, Views, shortcodes, and other content in a Bootstrap modal popup.
|
@@ -254,21 +256,21 @@ Formidable is part of the <a href="https://www.wpbeginner.com/">WPBeginner</a> f
|
|
254 |
|
255 |
== Frequently Asked Questions ==
|
256 |
= How do I get started with the best forms for WordPress? =
|
257 |
-
The fastest way to build a form is to use the
|
258 |
|
259 |
Go to the Formidable page and click "add new". Choose the Contact Us form template or another free template and click "Create".
|
260 |
|
261 |
Next, edit or create a WordPress contact page. Click the "Formidable" button to open the shortcode generator. Choose your new Stripe form, quiz, or web form and insert it into the WordPress page. Save the page for a beautiful WP contact form, ready to collect and store your leads. The contact form template will get you up and running fast.
|
262 |
|
263 |
= Why isn't WordPress sending emails? =
|
264 |
-
When you do not receive emails
|
265 |
|
266 |
1. Double check the email address in your Email action on the settings page. The [admin_email] shortcode uses the email address from your WordPress Settings -> General page.
|
267 |
-
2. Are you receiving other emails from your site (ie comment notifications, forgot password...)? If not,
|
268 |
3. Check your SPAM box.
|
269 |
-
4. Try a different
|
270 |
5. Install WP Mail SMPT or another similar emailing alternative and configure the SMTP settings.
|
271 |
-
6. If these steps don't fix the problem and other WP emails are not going out, please reach out to your web host.
|
272 |
|
273 |
<a href="https://formidableforms.com/wordpress-not-sending-emails-smtp/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Read more about WordPress emails not sending</a> in our blog.
|
274 |
|
@@ -354,7 +356,7 @@ Our online form maker comes with all the powerful fields that you need to create
|
|
354 |
* Hidden fields
|
355 |
* User ID
|
356 |
* HTML block - Great for custom HTML
|
357 |
-
* Google reCAPTCHA (invisible V2 or checkbox V2)
|
358 |
|
359 |
Here is a list of our advanced premium fields that will come in handy:
|
360 |
|
@@ -400,7 +402,7 @@ Yes! We know that marketing is the key to growing your business. That's why Form
|
|
400 |
|
401 |
Here is a list of our popular marketing integrations:
|
402 |
|
403 |
-
*
|
404 |
* AWeber
|
405 |
* Constant Contact
|
406 |
* GetResponse
|
@@ -410,9 +412,8 @@ Here is a list of our popular marketing integrations:
|
|
410 |
* HubSpot CRM
|
411 |
* Campaign Monitor
|
412 |
|
413 |
-
Using our Zapier integration, you can easily connect your website with over
|
414 |
|
415 |
-
* Google Sheets
|
416 |
* SendInBlue
|
417 |
* Zoho CRM
|
418 |
* Zoho Mail
|
@@ -440,6 +441,16 @@ Using our Zapier integration, you can easily connect your website with over 1000
|
|
440 |
See all <a href="https://zapier.com/apps/formidable/integrations">Formidable Zapier Integrations</a>.
|
441 |
|
442 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
443 |
= 5.5.3 =
|
444 |
* New: HTML emails using wpautop will now also convert line breaks into <br /> tags.
|
445 |
* New: Improved support for importing large XML files. Previously a file over 200MB would trigger a "parser error : internal error: Huge input lookup" error.
|
@@ -471,7 +482,7 @@ See all <a href="https://zapier.com/apps/formidable/integrations">Formidable Zap
|
|
471 |
* Fix: Prevent a fatal error that was preventing add ons from installing via API.
|
472 |
* Fix: Updated radio button styling on the Edit Entry page to fix visual issues at mobile screen sizes.
|
473 |
* Embed examples no longer include title=true and description=true.
|
474 |
-
* License types will no longer appear as
|
475 |
* Plain text email actions will no longer use a rich text editor.
|
476 |
|
477 |
= 5.5.1 =
|
@@ -498,7 +509,7 @@ See all <a href="https://zapier.com/apps/formidable/integrations">Formidable Zap
|
|
498 |
* New: Added support for several new language options for datepicker localization and for reCAPTCHA.
|
499 |
* New: Updated deprecated code in Elementor widget for better compatibility with new versions of Elementor.
|
500 |
* Fix: Actions that trigger when an entry is deleted were not properly working when conditional logic would check item meta values.
|
501 |
-
* Fix: An imported
|
502 |
* Fix: Clicking save while a field was still being inserted would cause an error pop up to appear with a missing message.
|
503 |
* Removed a restriction that was preventing a second summary field from being added after adding the first.
|
504 |
|
@@ -521,7 +532,7 @@ See all <a href="https://zapier.com/apps/formidable/integrations">Formidable Zap
|
|
521 |
= 5.4.2 =
|
522 |
* New: Autocomplete dropdowns in the back end will now include an aria-label on the options to avoid accessibility issues with screen readers only reading ID values.
|
523 |
* New: A redirect will now happen after duplication to avoid issues with multiple duplicate actions on page refresh.
|
524 |
-
* New: Added additional styling for repeaters in tables shown in
|
525 |
* New: Added a Save and Reload button that appears after installing a required add on when clicking a field with missing requirements.
|
526 |
* Fix: The aria-describedby attribute will now be ordered intentionally so errors get first priority by default. Checks have been added to avoid duplicate ids appearing in aria-describedby attributes as well.
|
527 |
* Fix: A few issues with label position settings were introduced with last update that are now fixed. Labels were appearing when the "none" label position setting was set.
|
@@ -623,7 +634,7 @@ See all <a href="https://zapier.com/apps/formidable/integrations">Formidable Zap
|
|
623 |
* New: The sanitize_url=1 option will now be inserted automatically when inserting most field shortcodes to a redirect url. This is to avoid issues with redirects stripping characters like ' and @ which may cause a redirect to fail in some cases.
|
624 |
* New: Updated styling for radio buttons and checkboxes, with improvements to appearance on mobile devices as well.
|
625 |
* New: Extended the FrmCSVExportHelper::generate_csv function so it has the option to generate a CSV file in a temporary directory, and pass along an array of meta information to most CSV filter hooks.
|
626 |
-
* New: A new action_id variable has been added to the arguments passed to the frm_notification_attachment filter to make it easier to filter attachments by
|
627 |
* New: Added new frm_entry_formatter_class, frm_prepend_and_or_where, frm_entry_formatter_format, frm_formatted_entry_values_content, and frm_entries_show_args filter hooks.
|
628 |
* New: Allow more colors in the styler to be transparent including background colors and border colors for active, hovered, and disabled inputs.
|
629 |
* Fix: Selected radio buttons were appearing incorrectly when using the Twenty Twenty One theme in Chrome or Safari.
|
@@ -707,12 +718,12 @@ See all <a href="https://zapier.com/apps/formidable/integrations">Formidable Zap
|
|
707 |
|
708 |
= 4.11.04 =
|
709 |
* New: The first field with an error will now automatically get focus when an entry is submitted for better accessibility and improved user experience.
|
710 |
-
* Fix: The reply to value
|
711 |
* Fix: When switching between the dropdown and text lookup types, the watch lookup option did not properly toggle back on.
|
712 |
* Fix: The autocomplete page dropdown was not consistent with other styles.
|
713 |
|
714 |
= 4.11.03 =
|
715 |
-
* New: Name fields now work in the To and From settings
|
716 |
* Fix: Images were not properly loading when styles were loading via an AJAX request.
|
717 |
* Fix: Zeros were not appearing in the entries list for repeaters.
|
718 |
|
@@ -812,7 +823,7 @@ See all <a href="https://zapier.com/apps/formidable/integrations">Formidable Zap
|
|
812 |
* Updates to the default styling.
|
813 |
* New: Added an inbox as a centralized place for notices and communication.
|
814 |
* New: Added frm_color_block and frm_total_big classes for more beautiful forms.
|
815 |
-
* Help prevent common email issues by showing a warning in the
|
816 |
* Fix: Forms edited after export and reimported were losing the required indicator in some cases.
|
817 |
|
818 |
<a href="https://raw.githubusercontent.com/Strategy11/formidable-forms/master/changelog.txt">See changelog for all versions</a>
|
3 |
Contributors: formidableforms, sswells, srwells
|
4 |
Tags: forms, form builder, survey, free, custom form, contact form, form maker, form creator, paypal form, paypal, stripe, stripe form, aweber, aweber form, getresponse, calculator, quote form, contact button, form manager, Akismet, payment form, survey form, donation form, email subscription, user registration form, wordpress registration, wordpress login form, constant contact, mailpoet, active campaign, salesforce, hubspot, campaign monitor, quiz builder, quiz, feedback form, drag and drop, mailchimp form
|
5 |
Requires at least: 5.2
|
6 |
+
Tested up to: 6.1.1
|
7 |
Requires PHP: 5.6
|
8 |
+
Stable tag: 5.5.4
|
9 |
|
10 |
The most advanced WordPress forms plugin. Go beyond contact forms with our drag and drop form builder for surveys, quizzes, and more.
|
11 |
|
53 |
|
54 |
Even though the entries are saved, it's still a **GDPR-friendly** form generator. You can turn off IP tracking or stop saving submissions entirely. Or add a GDPR checkbox field to your lead forms and payment forms to collect consent.
|
55 |
|
56 |
+
Need to import your leads to an external service like Mailchimp? No problem. **Export leads to a CSV**, open it in Excel, or import it anywhere.
|
57 |
|
58 |
You can also configure unlimited email notifications and autoresponders triggered by submissions.
|
59 |
|
138 |
|
139 |
== All the Advanced Fields & Features You Need to Grow Your Business ==
|
140 |
|
141 |
+
Formidable goes far above and beyond with features like multi-page forms, save and continue, cascading form fields, and powerful conditional logic. Then add partial submissions, invisible spam protection, front-end user post submission, calculated fields, user flow, quizzes, and so much more. Additionally, our Payment fields will help you create a donation form, booking form, credit card form, or other payment form.
|
142 |
|
143 |
We're on a mission to offer all-in-one solution-focused forms. This way you don't have to install 5 plugins alongside your form maker to do everything you want.
|
144 |
|
179 |
* <a href="https://formidableforms.com/features/user-submitted-posts-wordpress-forms/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">User submitted front-end posts and pages</a>. Create and edit WordPress posts, pages, and custom post types from front-end online forms. Send user-generated content quickly from a post creation form to a page.
|
180 |
* <a href="https://formidableforms.com/features/form-entry-management-wordpress/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Simple entry management</a>. Flexibly display, edit, and delete entries. Let logged-in users can manage their personal journal entries, weight tracking, guest blog posts, RSVP status, and more.
|
181 |
* WordPress front-end editing. Allow users to edit their entries and posts from the front-end of your site. Create an online journaling platform, member directory, classified ads, community recipes, and more.
|
182 |
+
* Sync custom field values with ACF forms (Advanced Custom Fields). Now you can create ACF front-end forms to make managing your application faster.
|
183 |
* Logged-in users can <a href="https://formidableforms.com/features/save-and-continue-partial-submissions/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">save and continue partial submissions</a>. Whether it's a basic email form or a long multi-paged registration form, users can save progress and pick up where they left off.
|
184 |
* <a href="https://formidableforms.com/features/create-a-graph-wordpress-forms/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Graphs and charts for data visualization</a>. Display statistics from a survey, poll, and questionnaire. Or graph data in a variety of ways. Whatever you choose, it will update as new data is submitted (great for weight tracking over time).
|
185 |
* Permissions. Lock visibility and access based on user role.
|
201 |
* <a href="https://formidableforms.com/features/form-action-automation-scheduling/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Form action automation</a>. Schedule email notifications, SMS messages, and webhooks to trigger later. You can automatically delete guest posts after 30 days, send weekly digests, or trigger happy birthday text messages from a lead form.
|
202 |
* <a href="https://formidableforms.com/features/wordpress-form-api/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Forms API</a>. Send submissions to other REST APIs and add a set of webhooks. This includes the option to send submissions from one site to another.
|
203 |
* <a href="https://formidableforms.com/features/quiz-maker-forms/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Quiz maker forms</a>. Write your quiz form questions, submit an entry as the quiz key, and publish the quiz on a page. Then all the quiz grading is automatically done for you with our quiz plugin.
|
204 |
+
* World class support. Have questions on how to use our form maker? We are happy to help. Our passion is to help you <strong>defy the limits</strong> to take on bigger projects, earn more clients, and grow your business.
|
205 |
|
206 |
== Payment Forms, APIs, and Marketing Integrations ==
|
207 |
In addition to all the features listed above, add power ups with these integrations.
|
210 |
* <a href="https://formidableforms.com/features/stripe-payments-for-wordpress/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Stripe Forms</a>. Keep users on your site while collecting Stripe payments from a credit card form. Select from one time and recurring charges in donation and order forms. Stripe processes payments with simple PCI compliance.
|
211 |
* <a href="https://formidableforms.com/features/authorize-net-payments/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Authorize.net AIM</a>. Process one-time payments in order forms and price calculators with Authorize.net AIM. For recurring payments or easier security compliance, we recommend Stripe.
|
212 |
* <a href="https://formidableforms.com/features/customizable-woocommerce-forms/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">WooCommerce product configurator</a>. Add custom fields to a WooCommerce product order form and collect extra data when a product is added to the cart. Use calculations in your WooCommerce form for variable pricing and upload files with orders.
|
213 |
+
* <a href="https://formidableforms.com/features/mailchimp-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Mailchimp Contact Forms</a>. Add and update leads in a Mailchimp email marketing list from a lead form, online order, or email form.
|
214 |
* Constant Contact. Create leads automatically with a newsletter signup form.
|
215 |
* AWeber Forms. Subscribe users to an AWeber mailing list when a signup form is submitted.
|
216 |
* <a href="https://formidableforms.com/features/mailpoet-newsletters-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">MailPoet Newsletters</a>. Fill your email marketing lists from newsletter signup forms. Then send WordPress newsletters from your own site using MailPoet.
|
222 |
* Twilio for SMS Forms. Collect feedback, votes and poll responses via SMS text or send SMS notifications when entries are submitted. Get notified instantly when a payment or order form is completed, or let your leads know you received their message.
|
223 |
* WPML Multilingual Forms. Translate your WP forms into multiple languages using our integrated multilingual forms.
|
224 |
* Polylang. Get the form creator with Polylang bilingual or multilingual contact forms.
|
225 |
+
* Google Sheets. Open up a world of options and save money with a direct integration.
|
226 |
* <a href="https://formidableforms.com/features/form-entry-routing-with-zapier/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Zapier</a>. Connect with thousands of services through Zapier from a lead form, quote form, and other web forms. Insert a new row in a Google docs spreadsheet, post on Twitter, or upload a Dropbox file from a feedback form.
|
227 |
* <a href="https://formidableforms.com/features/bootstrap-form-styling/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Bootstrap Form Styles</a>. Instantly add Bootstrap form styling to a survey form and payment form.
|
228 |
* <a href="https://formidableforms.com/features/bootstrap-modal-forms/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Bootstrap Modal Form</a>. Open login forms, Views, shortcodes, and other content in a Bootstrap modal popup.
|
256 |
|
257 |
== Frequently Asked Questions ==
|
258 |
= How do I get started with the best forms for WordPress? =
|
259 |
+
The fastest way to build a form is to use the example we built for you. After you activate Formidable, insert [formidable id=contact-form] on the WordPress page of your choice.
|
260 |
|
261 |
Go to the Formidable page and click "add new". Choose the Contact Us form template or another free template and click "Create".
|
262 |
|
263 |
Next, edit or create a WordPress contact page. Click the "Formidable" button to open the shortcode generator. Choose your new Stripe form, quiz, or web form and insert it into the WordPress page. Save the page for a beautiful WP contact form, ready to collect and store your leads. The contact form template will get you up and running fast.
|
264 |
|
265 |
= Why isn't WordPress sending emails? =
|
266 |
+
When you do not receive emails, try the following steps:
|
267 |
|
268 |
1. Double check the email address in your Email action on the settings page. The [admin_email] shortcode uses the email address from your WordPress Settings -> General page.
|
269 |
+
2. Are you receiving other emails from your site (ie comment notifications, forgot password...)? If not, notifications will not work either.
|
270 |
3. Check your SPAM box.
|
271 |
+
4. Try a different address in your settings.
|
272 |
5. Install WP Mail SMPT or another similar emailing alternative and configure the SMTP settings.
|
273 |
+
6. If these steps don't fix the problem and other WP signup emails are not going out, please reach out to your web host.
|
274 |
|
275 |
<a href="https://formidableforms.com/wordpress-not-sending-emails-smtp/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Read more about WordPress emails not sending</a> in our blog.
|
276 |
|
356 |
* Hidden fields
|
357 |
* User ID
|
358 |
* HTML block - Great for custom HTML
|
359 |
+
* Google reCAPTCHA (invisible V2 or checkbox V2) or hCaptcha
|
360 |
|
361 |
Here is a list of our advanced premium fields that will come in handy:
|
362 |
|
402 |
|
403 |
Here is a list of our popular marketing integrations:
|
404 |
|
405 |
+
* Mailchimp
|
406 |
* AWeber
|
407 |
* Constant Contact
|
408 |
* GetResponse
|
412 |
* HubSpot CRM
|
413 |
* Campaign Monitor
|
414 |
|
415 |
+
Using our Zapier integration, you can easily connect your website with over 5,000+ marketing apps including:
|
416 |
|
|
|
417 |
* SendInBlue
|
418 |
* Zoho CRM
|
419 |
* Zoho Mail
|
441 |
See all <a href="https://zapier.com/apps/formidable/integrations">Formidable Zapier Integrations</a>.
|
442 |
|
443 |
== Changelog ==
|
444 |
+
= 5.5.4 =
|
445 |
+
* New: Added support for hCaptcha. Now in Global Settings, the reCAPTCHA tab has been changed to a CAPTCHA tab with a new CAPTCHA type setting so you can choose between using reCAPTCHA or hCaptcha.
|
446 |
+
* Fix: Avoid a fatal error if the hidden columns setting is in an unexpected format on the form and entry list pages. This may happen because of invalid option data being set or a conflict with another plugin or custom code.
|
447 |
+
* Fix: Long field names on the reports tab would force the table to horizontally scroll. A long field name will now break into multiple lines instead.
|
448 |
+
* Fix: The frm_form_object filter wouldn't get applied to a cached form result.
|
449 |
+
* Fix: Prevent an undefined function get_editable_roles fatal error that triggers when trying to connect an account.
|
450 |
+
* Fix: An incorrect section comparison was causing fields to keep old section data after being moved somewhere else. This would result in unexpected data exports and other side effects.
|
451 |
+
* Fix: A "row is undefined" error would prevent merging multiple field groups together after the layout option was clicked.
|
452 |
+
* Updated message styling on admin pages.
|
453 |
+
|
454 |
= 5.5.3 =
|
455 |
* New: HTML emails using wpautop will now also convert line breaks into <br /> tags.
|
456 |
* New: Improved support for importing large XML files. Previously a file over 200MB would trigger a "parser error : internal error: Huge input lookup" error.
|
482 |
* Fix: Prevent a fatal error that was preventing add ons from installing via API.
|
483 |
* Fix: Updated radio button styling on the Edit Entry page to fix visual issues at mobile screen sizes.
|
484 |
* Embed examples no longer include title=true and description=true.
|
485 |
+
* License types will no longer appear as template categories.
|
486 |
* Plain text email actions will no longer use a rich text editor.
|
487 |
|
488 |
= 5.5.1 =
|
509 |
* New: Added support for several new language options for datepicker localization and for reCAPTCHA.
|
510 |
* New: Updated deprecated code in Elementor widget for better compatibility with new versions of Elementor.
|
511 |
* Fix: Actions that trigger when an entry is deleted were not properly working when conditional logic would check item meta values.
|
512 |
+
* Fix: An imported app page's parent page ID was not updating to match the new imported parent page ID.
|
513 |
* Fix: Clicking save while a field was still being inserted would cause an error pop up to appear with a missing message.
|
514 |
* Removed a restriction that was preventing a second summary field from being added after adding the first.
|
515 |
|
532 |
= 5.4.2 =
|
533 |
* New: Autocomplete dropdowns in the back end will now include an aria-label on the options to avoid accessibility issues with screen readers only reading ID values.
|
534 |
* New: A redirect will now happen after duplication to avoid issues with multiple duplicate actions on page refresh.
|
535 |
+
* New: Added additional styling for repeaters in tables shown in actions to show indentation for the repeated data.
|
536 |
* New: Added a Save and Reload button that appears after installing a required add on when clicking a field with missing requirements.
|
537 |
* Fix: The aria-describedby attribute will now be ordered intentionally so errors get first priority by default. Checks have been added to avoid duplicate ids appearing in aria-describedby attributes as well.
|
538 |
* Fix: A few issues with label position settings were introduced with last update that are now fixed. Labels were appearing when the "none" label position setting was set.
|
634 |
* New: The sanitize_url=1 option will now be inserted automatically when inserting most field shortcodes to a redirect url. This is to avoid issues with redirects stripping characters like ' and @ which may cause a redirect to fail in some cases.
|
635 |
* New: Updated styling for radio buttons and checkboxes, with improvements to appearance on mobile devices as well.
|
636 |
* New: Extended the FrmCSVExportHelper::generate_csv function so it has the option to generate a CSV file in a temporary directory, and pass along an array of meta information to most CSV filter hooks.
|
637 |
+
* New: A new action_id variable has been added to the arguments passed to the frm_notification_attachment filter to make it easier to filter attachments by action ID.
|
638 |
* New: Added new frm_entry_formatter_class, frm_prepend_and_or_where, frm_entry_formatter_format, frm_formatted_entry_values_content, and frm_entries_show_args filter hooks.
|
639 |
* New: Allow more colors in the styler to be transparent including background colors and border colors for active, hovered, and disabled inputs.
|
640 |
* Fix: Selected radio buttons were appearing incorrectly when using the Twenty Twenty One theme in Chrome or Safari.
|
718 |
|
719 |
= 4.11.04 =
|
720 |
* New: The first field with an error will now automatically get focus when an entry is submitted for better accessibility and improved user experience.
|
721 |
+
* Fix: The reply to value would default to the admin email instead of the from setting when a shortcode with an empty result was used.
|
722 |
* Fix: When switching between the dropdown and text lookup types, the watch lookup option did not properly toggle back on.
|
723 |
* Fix: The autocomplete page dropdown was not consistent with other styles.
|
724 |
|
725 |
= 4.11.03 =
|
726 |
+
* New: Name fields now work in the To and From settings.
|
727 |
* Fix: Images were not properly loading when styles were loading via an AJAX request.
|
728 |
* Fix: Zeros were not appearing in the entries list for repeaters.
|
729 |
|
823 |
* Updates to the default styling.
|
824 |
* New: Added an inbox as a centralized place for notices and communication.
|
825 |
* New: Added frm_color_block and frm_total_big classes for more beautiful forms.
|
826 |
+
* Help prevent common email issues by showing a warning in the settings when the from and to email addresses are the same.
|
827 |
* Fix: Forms edited after export and reimported were losing the required indicator in some cases.
|
828 |
|
829 |
<a href="https://raw.githubusercontent.com/Strategy11/formidable-forms/master/changelog.txt">See changelog for all versions</a>
|