Version Description
- Fix: Required credit cards were causing an issue with JavaScript validation.
- Fix: Empty required appointment fields were not properly validating with JavaScript.
Download this release
Release Info
Developer | formidableforms |
Plugin | Formidable Forms – Form Builder for WordPress |
Version | 5.0.11 |
Comparing to | |
See all releases |
Code changes from version 5.0.10 to 5.0.11
- classes/controllers/FrmAddonsController.php +24 -9
- classes/helpers/FrmAppHelper.php +1 -1
- classes/models/FrmFormApi.php +16 -15
- formidable.php +1 -1
- js/formidable.js +7 -2
- js/formidable.min.js +31 -30
- languages/formidable.pot +16 -16
- readme.txt +52 -85
classes/controllers/FrmAddonsController.php
CHANGED
@@ -5,6 +5,11 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
5 |
|
6 |
class FrmAddonsController {
|
7 |
|
|
|
|
|
|
|
|
|
|
|
8 |
public static function menu() {
|
9 |
if ( ! current_user_can( 'activate_plugins' ) ) {
|
10 |
return;
|
@@ -843,7 +848,7 @@ class FrmAddonsController {
|
|
843 |
FrmAppHelper::permission_check( 'install_plugins' );
|
844 |
check_ajax_referer( 'frm_ajax', 'nonce' );
|
845 |
|
846 |
-
$url =
|
847 |
if ( FrmAppHelper::pro_is_installed() || empty( $url ) ) {
|
848 |
wp_die();
|
849 |
}
|
@@ -864,6 +869,18 @@ class FrmAddonsController {
|
|
864 |
wp_die();
|
865 |
}
|
866 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
867 |
/**
|
868 |
* @since 4.08
|
869 |
*/
|
@@ -929,9 +946,9 @@ class FrmAddonsController {
|
|
929 |
* @since 3.04.02
|
930 |
*/
|
931 |
protected static function install_addon() {
|
932 |
-
require_once
|
933 |
|
934 |
-
$download_url =
|
935 |
|
936 |
// Create the plugin upgrader with our custom skin.
|
937 |
$installer = new Plugin_Upgrader( new FrmInstallerSkin() );
|
@@ -941,7 +958,7 @@ class FrmAddonsController {
|
|
941 |
wp_cache_flush();
|
942 |
|
943 |
$plugin = $installer->plugin_info();
|
944 |
-
if (
|
945 |
return array(
|
946 |
'message' => 'Plugin was not installed. ' . $installer->result,
|
947 |
'success' => false,
|
@@ -1023,7 +1040,7 @@ class FrmAddonsController {
|
|
1023 |
protected static function install_addon_permissions() {
|
1024 |
check_ajax_referer( 'frm_ajax', 'nonce' );
|
1025 |
|
1026 |
-
if ( ! current_user_can( 'activate_plugins' ) || !
|
1027 |
echo json_encode( true );
|
1028 |
wp_die();
|
1029 |
}
|
@@ -1081,9 +1098,7 @@ class FrmAddonsController {
|
|
1081 |
* @since 4.08
|
1082 |
*/
|
1083 |
public static function install_addon_api() {
|
1084 |
-
|
1085 |
-
// phpcs:ignore WordPress.Security.ValidatedSanitizedInput
|
1086 |
-
$_POST['plugin'] = isset( $_REQUEST['file_url'] ) ? $_REQUEST['file_url'] : ''; // Set for later use
|
1087 |
|
1088 |
$error = esc_html__( 'Could not install an upgrade. Please download from formidableforms.com and install manually.', 'formidable' );
|
1089 |
|
@@ -1104,7 +1119,7 @@ class FrmAddonsController {
|
|
1104 |
if ( empty( self::get_pro_license() ) && function_exists( 'load_formidable_pro' ) ) {
|
1105 |
load_formidable_pro();
|
1106 |
$license = stripslashes( FrmAppHelper::get_param( 'key', '', 'request', 'sanitize_text_field' ) );
|
1107 |
-
if (
|
1108 |
return array(
|
1109 |
'success' => false,
|
1110 |
'error' => 'That site does not have a valid license key.',
|
5 |
|
6 |
class FrmAddonsController {
|
7 |
|
8 |
+
/**
|
9 |
+
* @var string $plugin
|
10 |
+
*/
|
11 |
+
protected static $plugin;
|
12 |
+
|
13 |
public static function menu() {
|
14 |
if ( ! current_user_can( 'activate_plugins' ) ) {
|
15 |
return;
|
848 |
FrmAppHelper::permission_check( 'install_plugins' );
|
849 |
check_ajax_referer( 'frm_ajax', 'nonce' );
|
850 |
|
851 |
+
$url = self::get_current_plugin();
|
852 |
if ( FrmAppHelper::pro_is_installed() || empty( $url ) ) {
|
853 |
wp_die();
|
854 |
}
|
869 |
wp_die();
|
870 |
}
|
871 |
|
872 |
+
/**
|
873 |
+
* @since 5.0.10
|
874 |
+
*
|
875 |
+
* @return string
|
876 |
+
*/
|
877 |
+
protected static function get_current_plugin() {
|
878 |
+
if ( ! isset( self::$plugin ) ) {
|
879 |
+
self::$plugin = FrmAppHelper::get_param( 'plugin', '', 'post', 'esc_url_raw' );
|
880 |
+
}
|
881 |
+
return self::$plugin;
|
882 |
+
}
|
883 |
+
|
884 |
/**
|
885 |
* @since 4.08
|
886 |
*/
|
946 |
* @since 3.04.02
|
947 |
*/
|
948 |
protected static function install_addon() {
|
949 |
+
require_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
|
950 |
|
951 |
+
$download_url = self::get_current_plugin();
|
952 |
|
953 |
// Create the plugin upgrader with our custom skin.
|
954 |
$installer = new Plugin_Upgrader( new FrmInstallerSkin() );
|
958 |
wp_cache_flush();
|
959 |
|
960 |
$plugin = $installer->plugin_info();
|
961 |
+
if ( ! $plugin ) {
|
962 |
return array(
|
963 |
'message' => 'Plugin was not installed. ' . $installer->result,
|
964 |
'success' => false,
|
1040 |
protected static function install_addon_permissions() {
|
1041 |
check_ajax_referer( 'frm_ajax', 'nonce' );
|
1042 |
|
1043 |
+
if ( ! current_user_can( 'activate_plugins' ) || ! self::get_current_plugin() ) {
|
1044 |
echo json_encode( true );
|
1045 |
wp_die();
|
1046 |
}
|
1098 |
* @since 4.08
|
1099 |
*/
|
1100 |
public static function install_addon_api() {
|
1101 |
+
self::$plugin = FrmAppHelper::get_param( 'file_url', '', 'request', 'esc_url_raw' );
|
|
|
|
|
1102 |
|
1103 |
$error = esc_html__( 'Could not install an upgrade. Please download from formidableforms.com and install manually.', 'formidable' );
|
1104 |
|
1119 |
if ( empty( self::get_pro_license() ) && function_exists( 'load_formidable_pro' ) ) {
|
1120 |
load_formidable_pro();
|
1121 |
$license = stripslashes( FrmAppHelper::get_param( 'key', '', 'request', 'sanitize_text_field' ) );
|
1122 |
+
if ( ! $license ) {
|
1123 |
return array(
|
1124 |
'success' => false,
|
1125 |
'error' => 'That site does not have a valid license key.',
|
classes/helpers/FrmAppHelper.php
CHANGED
@@ -11,7 +11,7 @@ class FrmAppHelper {
|
|
11 |
/**
|
12 |
* @since 2.0
|
13 |
*/
|
14 |
-
public static $plug_version = '5.0.
|
15 |
|
16 |
/**
|
17 |
* @since 1.07.02
|
11 |
/**
|
12 |
* @since 2.0
|
13 |
*/
|
14 |
+
public static $plug_version = '5.0.11';
|
15 |
|
16 |
/**
|
17 |
* @since 1.07.02
|
classes/models/FrmFormApi.php
CHANGED
@@ -64,7 +64,7 @@ class FrmFormApi {
|
|
64 |
}
|
65 |
|
66 |
$addons = $this->get_cached();
|
67 |
-
if (
|
68 |
return $addons;
|
69 |
}
|
70 |
|
@@ -82,22 +82,23 @@ class FrmFormApi {
|
|
82 |
)
|
83 |
);
|
84 |
if ( is_array( $response ) && ! is_wp_error( $response ) ) {
|
85 |
-
$addons = $response['body'];
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
if ( ! isset( $addon['categories'] ) ) {
|
91 |
-
continue;
|
92 |
-
}
|
93 |
-
$cats = array_intersect( $this->skip_categories(), $addon['categories'] );
|
94 |
-
if ( ! empty( $cats ) ) {
|
95 |
-
unset( $addons[ $k ] );
|
96 |
-
}
|
97 |
-
}
|
98 |
|
99 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
}
|
|
|
|
|
101 |
}
|
102 |
|
103 |
if ( empty( $addons ) ) {
|
64 |
}
|
65 |
|
66 |
$addons = $this->get_cached();
|
67 |
+
if ( is_array( $addons ) ) {
|
68 |
return $addons;
|
69 |
}
|
70 |
|
82 |
)
|
83 |
);
|
84 |
if ( is_array( $response ) && ! is_wp_error( $response ) ) {
|
85 |
+
$addons = $response['body'] ? json_decode( $response['body'], true ) : array();
|
86 |
+
|
87 |
+
if ( ! is_array( $addons ) ) {
|
88 |
+
$addons = array();
|
89 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
|
91 |
+
foreach ( $addons as $k => $addon ) {
|
92 |
+
if ( ! isset( $addon['categories'] ) ) {
|
93 |
+
continue;
|
94 |
+
}
|
95 |
+
$cats = array_intersect( $this->skip_categories(), $addon['categories'] );
|
96 |
+
if ( ! empty( $cats ) ) {
|
97 |
+
unset( $addons[ $k ] );
|
98 |
+
}
|
99 |
}
|
100 |
+
|
101 |
+
$this->set_cached( $addons );
|
102 |
}
|
103 |
|
104 |
if ( empty( $addons ) ) {
|
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.0.
|
6 |
Plugin URI: https://formidableforms.com/
|
7 |
Author URI: https://formidableforms.com/
|
8 |
Author: Strategy11
|
2 |
/*
|
3 |
Plugin Name: Formidable Forms
|
4 |
Description: Quickly and easily create drag-and-drop forms
|
5 |
+
Version: 5.0.11
|
6 |
Plugin URI: https://formidableforms.com/
|
7 |
Author URI: https://formidableforms.com/
|
8 |
Author: Strategy11
|
js/formidable.js
CHANGED
@@ -262,7 +262,7 @@ function frmFrontFormJS() {
|
|
262 |
fieldID = '',
|
263 |
fileID = field.getAttribute( 'data-frmfile' );
|
264 |
|
265 |
-
if ( field.type === 'hidden' && fileID === null ) {
|
266 |
return errors;
|
267 |
}
|
268 |
|
@@ -313,7 +313,7 @@ function frmFrontFormJS() {
|
|
313 |
if ( hasClass( field, 'frm_time_select' ) ) {
|
314 |
// set id for time field
|
315 |
fieldID = fieldID.replace( '-H', '' ).replace( '-m', '' );
|
316 |
-
} else if (
|
317 |
if ( val === '' ) {
|
318 |
val = jQuery( field ).closest( '.frm_form_field' ).find( '[name="' + field.getAttribute( 'name' ).replace( '[typed]', '[output]' ) + '"]' ).val();
|
319 |
}
|
@@ -338,6 +338,11 @@ function frmFrontFormJS() {
|
|
338 |
return errors;
|
339 |
}
|
340 |
|
|
|
|
|
|
|
|
|
|
|
341 |
function getFileVals( fileID ) {
|
342 |
var val = '',
|
343 |
fileFields = jQuery( 'input[name="file' + fileID + '"], input[name="file' + fileID + '[]"], input[name^="item_meta[' + fileID + ']"]' );
|
262 |
fieldID = '',
|
263 |
fileID = field.getAttribute( 'data-frmfile' );
|
264 |
|
265 |
+
if ( field.type === 'hidden' && fileID === null && ! hasClass( field, 'ssa_appointment_form_field_appointment_id' ) ) {
|
266 |
return errors;
|
267 |
}
|
268 |
|
313 |
if ( hasClass( field, 'frm_time_select' ) ) {
|
314 |
// set id for time field
|
315 |
fieldID = fieldID.replace( '-H', '' ).replace( '-m', '' );
|
316 |
+
} else if ( isSignatureField( field ) ) {
|
317 |
if ( val === '' ) {
|
318 |
val = jQuery( field ).closest( '.frm_form_field' ).find( '[name="' + field.getAttribute( 'name' ).replace( '[typed]', '[output]' ) + '"]' ).val();
|
319 |
}
|
338 |
return errors;
|
339 |
}
|
340 |
|
341 |
+
function isSignatureField( field ) {
|
342 |
+
var name = field.getAttribute( 'name' );
|
343 |
+
return 'string' === typeof name && '[typed]' === name.substr( -7 );
|
344 |
+
}
|
345 |
+
|
346 |
function getFileVals( fileID ) {
|
347 |
var val = '',
|
348 |
fileFields = jQuery( 'input[name="file' + fileID + '"], input[name="file' + fileID + '[]"], input[name^="item_meta[' + fileID + ']"]' );
|
js/formidable.min.js
CHANGED
@@ -7,36 +7,37 @@ if(requiredFields.length)for(r=0,rl=requiredFields.length;r<rl;r++){if(hasClass(
|
|
7 |
"password")errors=checkPasswordField(field,errors);else if(field.type==="url")errors=checkUrlField(field,errors);else if(field.pattern!==null)errors=checkPatternField(field,errors)}errors=validateRecaptcha(object,errors);return errors}function hasClass(element,targetClass){var className=" "+element.className+" ";return-1!==className.indexOf(" "+targetClass+" ")}function maybeValidateChange(field){if(field.type==="url")maybeAddHttpToUrl(field);if(jQuery(field).closest("form").hasClass("frm_js_validate"))validateField(field)}
|
8 |
function maybeAddHttpToUrl(field){var url=field.value;var matches=url.match(/^(https?|ftps?|mailto|news|feed|telnet):/);if(field.value!==""&&matches===null)field.value="http://"+url}function validateField(field){var key,errors=[],$fieldCont=jQuery(field).closest(".frm_form_field");if($fieldCont.hasClass("frm_required_field")&&!jQuery(field).hasClass("frm_optional"))errors=checkRequiredField(field,errors);if(errors.length<1)if(field.type==="email")errors=checkEmailField(field,errors);else if(field.type===
|
9 |
"password")errors=checkPasswordField(field,errors);else if(field.type==="number")errors=checkNumberField(field,errors);else if(field.type==="url")errors=checkUrlField(field,errors);else if(field.pattern!==null)errors=checkPatternField(field,errors);removeFieldError($fieldCont);if(Object.keys(errors).length>0)for(key in errors)addFieldError($fieldCont,key,errors)}function checkRequiredField(field,errors){var checkGroup,tempVal,i,placeholder,val="",fieldID="",fileID=field.getAttribute("data-frmfile");
|
10 |
-
if(field.type==="hidden"&&fileID===null)return errors;if(field.type==="checkbox"||field.type==="radio"){checkGroup=jQuery('input[name="'+field.name+'"]').closest(".frm_required_field").find("input:checked");jQuery(checkGroup).each(function(){val=this.value})}else if(field.type==="file"||fileID){if(typeof fileID==="undefined"){fileID=getFieldId(field,true);fileID=fileID.replace("file","")}if(typeof errors[fileID]==="undefined")val=getFileVals(fileID);
|
11 |
-
val=jQuery(field).val();if(val===null)val="";else if(typeof val!=="string"){tempVal=val;val="";for(i=0;i<tempVal.length;i++)if(tempVal[i]!=="")val=tempVal[i]}if(hasClass(field,"frm_other_input")){fieldID=getFieldId(field,false);if(val==="")field=document.getElementById(field.id.replace("-otext",""))}else fieldID=getFieldId(field,true);if(hasClass(field,"frm_time_select"))fieldID=fieldID.replace("-H","").replace("-m","");else if(
|
12 |
-
field.getAttribute("name").replace("[typed]","[output]")+'"]').val();fieldID=fieldID.replace("-typed","")}placeholder=field.getAttribute("data-frmplaceholder");if(placeholder!==null&&val===placeholder)val=""}if(val===""){if(fieldID==="")fieldID=getFieldId(field,true);if(!(fieldID in errors))errors[fieldID]=getFieldValidationMessage(field,"data-reqmsg")}return errors}function
|
13 |
-
fileID+']"]');fileFields.each(function(){if(val==="")val=this.value});return val}function checkUrlField(field,errors){var fieldID,url=field.value;if(url!==""&&!/^http(s)?:\/\/(?:localhost|(?:[\da-z\.-]+\.[\da-z\.-]+))/i.test(url)){fieldID=getFieldId(field,true);if(!(fieldID in errors))errors[fieldID]=
|
14 |
-
if(""!==field.value&&pattern.test(field.value)===false)errors[fieldID]=getFieldValidationMessage(field,"data-invmsg");confirmField(field,errors);return errors}function checkPasswordField(field,errors){confirmField(field,
|
15 |
-
if(confirmField===null||typeof errors["conf_"+strippedFieldID]!=="undefined")return;if(fieldID!==strippedFieldID){firstField=document.getElementById(strippedId);value=firstField.value;confirmValue=confirmField.value;
|
16 |
-
|
17 |
-
recaptchaID,alreadyChecked;if(isGoingToPrevPage(object))return false;recaptcha=jQuery(object).find('.frm-g-recaptcha[data-size="invisible"], .g-recaptcha[data-size="invisible"]');if(recaptcha.length){recaptchaID=
|
18 |
-
function validateRecaptcha(form,errors){var recaptchaID,response,fieldContainer,fieldID,$recaptcha=jQuery(form).find(".frm-g-recaptcha");if($recaptcha.length){recaptchaID=$recaptcha.data("rid");
|
19 |
-
"");errors[fieldID]=""}}return errors}function getFieldValidationMessage(field,messageType){var msg,errorHtml;msg=field.getAttribute(messageType);if(null===msg)msg="";if(""!==msg&&shouldWrapErrorHtmlAroundMessageType(messageType)){errorHtml=
|
20 |
-
type}function shouldJSValidate(object){var validate=jQuery(object).hasClass("frm_js_validate");if(validate&&typeof frmProForm!=="undefined"&&(frmProForm.savingDraft(object)||frmProForm.goingToPreviousPage(object)))validate=
|
21 |
-
data:jQuery(object).serialize()+"&action=frm_entries_"+action+"&nonce="+frm_js.nonce,success:function(response){var formID,replaceContent,pageOrder,formReturned,contSubmit,delay,$fieldCont,key,inCollapsedSection,frmTrigger,
|
22 |
-
[object,response]);window.location=response.redirect}else if(response.content!==""){removeSubmitLoading(jQuery(object));if(frm_js.offset!=-1)frmFrontForm.scrollMsg(jQuery(object),
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
i=kvp.length;while(i--){x=kvp[i].split("=");if(x[0]==key){x[1]=value;kvp[i]=x.join("=");break}}if(i<0)kvp[kvp.length]=[key,value].join("=");
|
30 |
-
jsErrors);
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
"
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
|
|
40 |
function checkForErrorsAndMaybeSetFocus(){var errors,element,timeoutCallback;errors=document.querySelectorAll(".frm_form_field .frm_error");if(!errors.length)return;element=errors[0];do{element=element.previousSibling;if(-1!==["input","select","textarea"].indexOf(element.nodeName.toLowerCase())){element.focus();break}if("undefined"!==typeof element.classList){if(element.classList.contains("html-active"))timeoutCallback=function(){var textarea=element.querySelector("textarea");if(null!==textarea)textarea.focus()};
|
41 |
else if(element.classList.contains("tmce-active"))timeoutCallback=function(){tinyMCE.activeEditor.focus()};if("function"===typeof timeoutCallback){setTimeout(timeoutCallback,0);break}}}while(element.previousSibling)}return{init:function(){jQuery(document).off("submit.formidable",".frm-show-form");jQuery(document).on("submit.formidable",".frm-show-form",frmFrontForm.submitForm);jQuery(".frm-show-form input[onblur], .frm-show-form textarea[onblur]").each(function(){if(jQuery(this).val()==="")jQuery(this).trigger("blur")});
|
42 |
jQuery(document).on("focus",".frm_toggle_default",clearDefault);jQuery(document).on("blur",".frm_toggle_default",replaceDefault);jQuery(".frm_toggle_default").trigger("blur");jQuery(document.getElementById("frm_resend_email")).on("click",resendEmail);jQuery(document).on("change",'.frm-show-form input[name^="item_meta"], .frm-show-form select[name^="item_meta"], .frm-show-form textarea[name^="item_meta"]',frmFrontForm.fieldValueChanged);jQuery(document).on("change keyup",".frm-show-form .frm_inside_container input, .frm-show-form .frm_inside_container select, .frm-show-form .frm_inside_container textarea",
|
7 |
"password")errors=checkPasswordField(field,errors);else if(field.type==="url")errors=checkUrlField(field,errors);else if(field.pattern!==null)errors=checkPatternField(field,errors)}errors=validateRecaptcha(object,errors);return errors}function hasClass(element,targetClass){var className=" "+element.className+" ";return-1!==className.indexOf(" "+targetClass+" ")}function maybeValidateChange(field){if(field.type==="url")maybeAddHttpToUrl(field);if(jQuery(field).closest("form").hasClass("frm_js_validate"))validateField(field)}
|
8 |
function maybeAddHttpToUrl(field){var url=field.value;var matches=url.match(/^(https?|ftps?|mailto|news|feed|telnet):/);if(field.value!==""&&matches===null)field.value="http://"+url}function validateField(field){var key,errors=[],$fieldCont=jQuery(field).closest(".frm_form_field");if($fieldCont.hasClass("frm_required_field")&&!jQuery(field).hasClass("frm_optional"))errors=checkRequiredField(field,errors);if(errors.length<1)if(field.type==="email")errors=checkEmailField(field,errors);else if(field.type===
|
9 |
"password")errors=checkPasswordField(field,errors);else if(field.type==="number")errors=checkNumberField(field,errors);else if(field.type==="url")errors=checkUrlField(field,errors);else if(field.pattern!==null)errors=checkPatternField(field,errors);removeFieldError($fieldCont);if(Object.keys(errors).length>0)for(key in errors)addFieldError($fieldCont,key,errors)}function checkRequiredField(field,errors){var checkGroup,tempVal,i,placeholder,val="",fieldID="",fileID=field.getAttribute("data-frmfile");
|
10 |
+
if(field.type==="hidden"&&fileID===null&&!hasClass(field,"ssa_appointment_form_field_appointment_id"))return errors;if(field.type==="checkbox"||field.type==="radio"){checkGroup=jQuery('input[name="'+field.name+'"]').closest(".frm_required_field").find("input:checked");jQuery(checkGroup).each(function(){val=this.value})}else if(field.type==="file"||fileID){if(typeof fileID==="undefined"){fileID=getFieldId(field,true);fileID=fileID.replace("file","")}if(typeof errors[fileID]==="undefined")val=getFileVals(fileID);
|
11 |
+
fieldID=fileID}else{if(hasClass(field,"frm_pos_none"))return errors;val=jQuery(field).val();if(val===null)val="";else if(typeof val!=="string"){tempVal=val;val="";for(i=0;i<tempVal.length;i++)if(tempVal[i]!=="")val=tempVal[i]}if(hasClass(field,"frm_other_input")){fieldID=getFieldId(field,false);if(val==="")field=document.getElementById(field.id.replace("-otext",""))}else fieldID=getFieldId(field,true);if(hasClass(field,"frm_time_select"))fieldID=fieldID.replace("-H","").replace("-m","");else if(isSignatureField(field)){if(val===
|
12 |
+
"")val=jQuery(field).closest(".frm_form_field").find('[name="'+field.getAttribute("name").replace("[typed]","[output]")+'"]').val();fieldID=fieldID.replace("-typed","")}placeholder=field.getAttribute("data-frmplaceholder");if(placeholder!==null&&val===placeholder)val=""}if(val===""){if(fieldID==="")fieldID=getFieldId(field,true);if(!(fieldID in errors))errors[fieldID]=getFieldValidationMessage(field,"data-reqmsg")}return errors}function isSignatureField(field){var name=field.getAttribute("name");
|
13 |
+
return"string"===typeof name&&"[typed]"===name.substr(-7)}function getFileVals(fileID){var val="",fileFields=jQuery('input[name="file'+fileID+'"], input[name="file'+fileID+'[]"], input[name^="item_meta['+fileID+']"]');fileFields.each(function(){if(val==="")val=this.value});return val}function checkUrlField(field,errors){var fieldID,url=field.value;if(url!==""&&!/^http(s)?:\/\/(?:localhost|(?:[\da-z\.-]+\.[\da-z\.-]+))/i.test(url)){fieldID=getFieldId(field,true);if(!(fieldID in errors))errors[fieldID]=
|
14 |
+
getFieldValidationMessage(field,"data-invmsg")}return errors}function checkEmailField(field,errors){var fieldID=getFieldId(field,true),pattern=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/i;if(""!==field.value&&pattern.test(field.value)===false)errors[fieldID]=getFieldValidationMessage(field,"data-invmsg");confirmField(field,errors);return errors}function checkPasswordField(field,errors){confirmField(field,
|
15 |
+
errors);return errors}function confirmField(field,errors){var value,confirmValue,firstField,fieldID=getFieldId(field,true),strippedId=field.id.replace("conf_",""),strippedFieldID=fieldID.replace("conf_",""),confirmField=document.getElementById(strippedId.replace("field_","field_conf_"));if(confirmField===null||typeof errors["conf_"+strippedFieldID]!=="undefined")return;if(fieldID!==strippedFieldID){firstField=document.getElementById(strippedId);value=firstField.value;confirmValue=confirmField.value;
|
16 |
+
if(""!==value&&""!==confirmValue&&value!==confirmValue)errors["conf_"+strippedFieldID]=getFieldValidationMessage(confirmField,"data-confmsg")}else validateField(confirmField)}function checkNumberField(field,errors){var fieldID,number=field.value;if(number!==""&&isNaN(number/1)!==false){fieldID=getFieldId(field,true);if(!(fieldID in errors))errors[fieldID]=getFieldValidationMessage(field,"data-invmsg")}return errors}function checkPatternField(field,errors){var fieldID,text=field.value,format=getFieldValidationMessage(field,
|
17 |
+
"pattern");if(format!==""&&text!==""){fieldID=getFieldId(field,true);if(!(fieldID in errors)){format=new RegExp("^"+format+"$","i");if(format.test(text)===false)errors[fieldID]=getFieldValidationMessage(field,"data-invmsg")}}return errors}function hasInvisibleRecaptcha(object){var recaptcha,recaptchaID,alreadyChecked;if(isGoingToPrevPage(object))return false;recaptcha=jQuery(object).find('.frm-g-recaptcha[data-size="invisible"], .g-recaptcha[data-size="invisible"]');if(recaptcha.length){recaptchaID=
|
18 |
+
recaptcha.data("rid");alreadyChecked=grecaptcha.getResponse(recaptchaID);if(alreadyChecked.length===0)return recaptcha;else return false}else return false}function executeInvisibleRecaptcha(invisibleRecaptcha){var recaptchaID=invisibleRecaptcha.data("rid");grecaptcha.reset(recaptchaID);grecaptcha.execute(recaptchaID)}function validateRecaptcha(form,errors){var recaptchaID,response,fieldContainer,fieldID,$recaptcha=jQuery(form).find(".frm-g-recaptcha");if($recaptcha.length){recaptchaID=$recaptcha.data("rid");
|
19 |
+
try{response=grecaptcha.getResponse(recaptchaID)}catch(e){if(jQuery(form).find('input[name="recaptcha_checked"]').length)return errors;else response=""}if(response.length===0){fieldContainer=$recaptcha.closest(".frm_form_field");fieldID=fieldContainer.attr("id").replace("frm_field_","").replace("_container","");errors[fieldID]=""}}return errors}function getFieldValidationMessage(field,messageType){var msg,errorHtml;msg=field.getAttribute(messageType);if(null===msg)msg="";if(""!==msg&&shouldWrapErrorHtmlAroundMessageType(messageType)){errorHtml=
|
20 |
+
field.getAttribute("data-error-html");if(null!==errorHtml){errorHtml=errorHtml.replace(/\+/g,"%20");msg=decodeURIComponent(errorHtml).replace("[error]",msg);msg=msg.replace("[key]",getFieldId(field,false))}}return msg}function shouldWrapErrorHtmlAroundMessageType(type){return"pattern"!==type}function shouldJSValidate(object){var validate=jQuery(object).hasClass("frm_js_validate");if(validate&&typeof frmProForm!=="undefined"&&(frmProForm.savingDraft(object)||frmProForm.goingToPreviousPage(object)))validate=
|
21 |
+
false;return validate}function getFormErrors(object,action){var fieldset;if(typeof action==="undefined")jQuery(object).find('input[name="frm_action"]').val();fieldset=jQuery(object).find(".frm_form_field");fieldset.addClass("frm_doing_ajax");jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:jQuery(object).serialize()+"&action=frm_entries_"+action+"&nonce="+frm_js.nonce,success:function(response){var formID,replaceContent,pageOrder,formReturned,contSubmit,delay,$fieldCont,key,inCollapsedSection,frmTrigger,
|
22 |
+
defaultResponse={"content":"","errors":{},"pass":false};if(response===null)response=defaultResponse;response=response.replace(/^\s+|\s+$/g,"");if(response.indexOf("{")===0)response=JSON.parse(response);else response=defaultResponse;if(typeof response.redirect!=="undefined"){jQuery(document).trigger("frmBeforeFormRedirect",[object,response]);window.location=response.redirect}else if(response.content!==""){removeSubmitLoading(jQuery(object));if(frm_js.offset!=-1)frmFrontForm.scrollMsg(jQuery(object),
|
23 |
+
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,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_'+
|
24 |
+
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");input='<input type="hidden" name="recaptcha_checked" value="'+response.recaptcha+'">';previousInput=container.find('input[name="recaptcha_checked"]');if(previousInput.length)previousInput.replaceWith(input);
|
25 |
+
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");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=
|
26 |
+
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=$recaptcha.data("rid");if(typeof grecaptcha!=="undefined"&&grecaptcha)if(recaptchaID)grecaptcha.reset(recaptchaID);else grecaptcha.reset()});jQuery(document).trigger("frmFormErrors",[object,response]);fieldset.removeClass("frm_doing_ajax");
|
27 |
+
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",false);object.submit()}})}function afterFormSubmitted(object,response){var formCompleted=jQuery(response.content).find(".frm_message");if(formCompleted.length)jQuery(document).trigger("frmFormComplete",[object,response]);
|
28 |
+
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")!==-1){c=oldContent.children();if(newContent.indexOf(" frm_going_back")!==-1)newClass+=" frm_going_back";c.removeClass("frm_going_back");
|
29 |
+
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("&");i=kvp.length;while(i--){x=kvp[i].split("=");if(x[0]==key){x[1]=value;kvp[i]=x.join("=");break}}if(i<0)kvp[kvp.length]=[key,value].join("=");
|
30 |
+
return kvp.join("&")}function addFieldError($fieldCont,key,jsErrors){var input,id,describedBy;if($fieldCont.length&&$fieldCont.is(":visible")){$fieldCont.addClass("frm_blank_field");input=$fieldCont.find("input, select, textarea");id="frm_error_field_"+key;describedBy=input.attr("aria-describedby");if(typeof frmThemeOverride_frmPlaceError==="function")frmThemeOverride_frmPlaceError(key,jsErrors);else{if(-1!==jsErrors[key].indexOf("<div"))$fieldCont.append(jsErrors[key]);else $fieldCont.append('<div class="frm_error" id="'+
|
31 |
+
id+'">'+jsErrors[key]+"</div>");if(typeof describedBy==="undefined")describedBy=id;else if(describedBy.indexOf(id)===-1)describedBy=describedBy+" "+id;input.attr("aria-describedby",describedBy)}input.attr("aria-invalid",true);jQuery(document).trigger("frmAddFieldError",[$fieldCont,key,jsErrors])}}function removeFieldError($fieldCont){var errorMessage=$fieldCont.find(".frm_error"),errorId=errorMessage.attr("id"),input=$fieldCont.find("input, select, textarea"),describedBy=input.attr("aria-describedby");
|
32 |
+
$fieldCont.removeClass("frm_blank_field has-error");errorMessage.remove();input.attr("aria-invalid",false);if(typeof describedBy!=="undefined"){describedBy=describedBy.replace(errorId,"");input.attr("aria-describedby",describedBy)}}function removeAllErrors(){jQuery(".form-field").removeClass("frm_blank_field has-error");jQuery(".form-field .frm_error").replaceWith("");jQuery(".frm_error_style").remove()}function scrollToFirstField(object){var field=jQuery(object).find(".frm_blank_field").first();
|
33 |
+
if(field.length)frmFrontForm.scrollMsg(field,object,true)}function showSubmitLoading($object){showLoadingIndicator($object);disableSubmitButton($object);disableSaveDraft($object)}function showLoadingIndicator($object){if(!$object.hasClass("frm_loading_form")&&!$object.hasClass("frm_loading_prev")){addLoadingClass($object);$object.trigger("frmStartFormLoading")}}function addLoadingClass($object){var loadingClass=isGoingToPrevPage($object)?"frm_loading_prev":"frm_loading_form";$object.addClass(loadingClass)}
|
34 |
+
function isGoingToPrevPage($object){return typeof frmProForm!=="undefined"&&frmProForm.goingToPreviousPage($object)}function removeSubmitLoading($object,enable,processesRunning){var loadingForm;if(processesRunning>0)return;loadingForm=jQuery(".frm_loading_form");loadingForm.removeClass("frm_loading_form");loadingForm.removeClass("frm_loading_prev");loadingForm.trigger("frmEndFormLoading");if(enable==="enable"){enableSubmitButton(loadingForm);enableSaveDraft(loadingForm)}}function showFileLoading(object){var fileval,
|
35 |
+
loading=document.getElementById("frm_loading");if(loading!==null){fileval=jQuery(object).find("input[type=file]").val();if(typeof fileval!=="undefined"&&fileval!=="")setTimeout(function(){jQuery(loading).fadeIn("slow")},2E3)}}function clearDefault(){toggleDefault(jQuery(this),"clear")}function replaceDefault(){toggleDefault(jQuery(this),"replace")}function toggleDefault($thisField,e){var thisVal,v=$thisField.data("frmval").replace(/(\n|\r\n)/g,"\r");if(v===""||typeof v==="undefined")return false;
|
36 |
+
thisVal=$thisField.val().replace(/(\n|\r\n)/g,"\r");if("replace"===e){if(thisVal==="")$thisField.addClass("frm_default").val(v)}else if(thisVal==v)$thisField.removeClass("frm_default").val("")}function resendEmail(){var $link=jQuery(this),entryId=this.getAttribute("data-eid"),formId=this.getAttribute("data-fid"),label=$link.find(".frm_link_label");if(label.length<1)label=$link;label.append('<span class="frm-wait"></span>');jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_entries_send_email",
|
37 |
+
entry_id:entryId,form_id:formId,nonce:frm_js.nonce},success:function(msg){var admin=document.getElementById("wpbody");if(admin===null)label.html(msg);else{label.html("");$link.after(msg)}}});return false}function confirmClick(){var message=jQuery(this).data("frmconfirm");return confirm(message)}function toggleDiv(){var div=jQuery(this).data("frmtoggle");if(jQuery(div).is(":visible"))jQuery(div).slideUp("fast");else jQuery(div).slideDown("fast");return false}function addIndexOfFallbackForIE8(){var len,
|
38 |
+
from;if(!Array.prototype.indexOf)Array.prototype.indexOf=function(elt){len=this.length>>>0;from=Number(arguments[1])||0;from=from<0?Math.ceil(from):Math.floor(from);if(from<0)from+=len;for(;from<len;from++)if(from in this&&this[from]===elt)return from;return-1}}function addTrimFallbackForIE8(){if(typeof String.prototype.trim!=="function")String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}}function addFilterFallbackForIE8(){var t,len,res,thisp,i,val;if(!Array.prototype.filter)Array.prototype.filter=
|
39 |
+
function(fun){if(this===void 0||this===null)throw new TypeError;t=Object(this);len=t.length>>>0;if(typeof fun!=="function")throw new TypeError;res=[];thisp=arguments[1];for(i=0;i<len;i++)if(i in t){val=t[i];if(fun.call(thisp,val,i,t))res.push(val)}return res}}function addKeysFallbackForIE8(){var keys,i;if(!Object.keys)Object.keys=function(obj){keys=[];for(i in obj)if(obj.hasOwnProperty(i))keys.push(i);return keys}}function onHoneypotFieldChange(){var css=jQuery(this).css("box-shadow");if(css.match(/inset/))this.parentNode.removeChild(this)}
|
40 |
+
function changeFocusWhenClickComboFieldLabel(){var label;var comboInputsContainer=document.querySelectorAll(".frm_combo_inputs_container");comboInputsContainer.forEach(function(inputsContainer){if(!inputsContainer.closest(".frm_form_field"))return;label=inputsContainer.closest(".frm_form_field").querySelector(".frm_primary_label");if(!label)return;label.addEventListener("click",function(e){inputsContainer.querySelector(".frm_form_field:first-child input, .frm_form_field:first-child select, .frm_form_field:first-child textarea").focus()})})}
|
41 |
function checkForErrorsAndMaybeSetFocus(){var errors,element,timeoutCallback;errors=document.querySelectorAll(".frm_form_field .frm_error");if(!errors.length)return;element=errors[0];do{element=element.previousSibling;if(-1!==["input","select","textarea"].indexOf(element.nodeName.toLowerCase())){element.focus();break}if("undefined"!==typeof element.classList){if(element.classList.contains("html-active"))timeoutCallback=function(){var textarea=element.querySelector("textarea");if(null!==textarea)textarea.focus()};
|
42 |
else if(element.classList.contains("tmce-active"))timeoutCallback=function(){tinyMCE.activeEditor.focus()};if("function"===typeof timeoutCallback){setTimeout(timeoutCallback,0);break}}}while(element.previousSibling)}return{init:function(){jQuery(document).off("submit.formidable",".frm-show-form");jQuery(document).on("submit.formidable",".frm-show-form",frmFrontForm.submitForm);jQuery(".frm-show-form input[onblur], .frm-show-form textarea[onblur]").each(function(){if(jQuery(this).val()==="")jQuery(this).trigger("blur")});
|
43 |
jQuery(document).on("focus",".frm_toggle_default",clearDefault);jQuery(document).on("blur",".frm_toggle_default",replaceDefault);jQuery(".frm_toggle_default").trigger("blur");jQuery(document.getElementById("frm_resend_email")).on("click",resendEmail);jQuery(document).on("change",'.frm-show-form input[name^="item_meta"], .frm-show-form select[name^="item_meta"], .frm-show-form textarea[name^="item_meta"]',frmFrontForm.fieldValueChanged);jQuery(document).on("change keyup",".frm-show-form .frm_inside_container input, .frm-show-form .frm_inside_container select, .frm-show-form .frm_inside_container textarea",
|
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.0.
|
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: 2021-10-
|
13 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
"X-Generator: WP-CLI 2.4.0\n"
|
15 |
"X-Domain: formidable\n"
|
@@ -130,54 +130,54 @@ msgstr ""
|
|
130 |
msgid "Strategy11"
|
131 |
msgstr ""
|
132 |
|
133 |
-
#: classes/controllers/FrmAddonsController.php:
|
134 |
-
#: classes/controllers/FrmAddonsController.php:
|
135 |
msgid "Add-Ons"
|
136 |
msgstr ""
|
137 |
|
138 |
-
#: classes/controllers/FrmAddonsController.php:
|
139 |
-
#: classes/controllers/FrmAddonsController.php:
|
140 |
#: classes/helpers/FrmFormsHelper.php:1315
|
141 |
#: classes/views/frm-fields/back-end/smart-values.php:16
|
142 |
#: classes/views/shared/admin-header.php:33
|
143 |
msgid "Upgrade"
|
144 |
msgstr ""
|
145 |
|
146 |
-
#: classes/controllers/FrmAddonsController.php:
|
147 |
msgid "There are no plugins on your site that require a license"
|
148 |
msgstr ""
|
149 |
|
150 |
-
#: classes/controllers/FrmAddonsController.php:
|
151 |
msgid "Installed"
|
152 |
msgstr ""
|
153 |
|
154 |
-
#: classes/controllers/FrmAddonsController.php:
|
155 |
#: classes/helpers/FrmAppHelper.php:2583
|
156 |
msgid "Active"
|
157 |
msgstr ""
|
158 |
|
159 |
-
#: classes/controllers/FrmAddonsController.php:
|
160 |
msgid "Not Installed"
|
161 |
msgstr ""
|
162 |
|
163 |
-
#: classes/controllers/FrmAddonsController.php:
|
164 |
msgid "Sorry, your site requires FTP authentication. Please download plugins from FormidableForms.com and install them manually."
|
165 |
msgstr ""
|
166 |
|
167 |
-
#: classes/controllers/FrmAddonsController.php:
|
168 |
msgid "Your plugin has been activated. Would you like to save and reload the page now?"
|
169 |
msgstr ""
|
170 |
|
171 |
-
#: classes/controllers/FrmAddonsController.php:
|
172 |
msgid "Your plugin has been activated. Please reload the page to see more options."
|
173 |
msgstr ""
|
174 |
|
175 |
-
#: classes/controllers/FrmAddonsController.php:
|
176 |
msgid "Could not install an upgrade. Please download from formidableforms.com and install manually."
|
177 |
msgstr ""
|
178 |
|
179 |
-
#: classes/controllers/FrmAddonsController.php:
|
180 |
-
#: classes/controllers/FrmAddonsController.php:
|
181 |
#: classes/controllers/FrmWelcomeController.php:141
|
182 |
#: classes/views/frm-forms/new-form-overlay.php:112
|
183 |
#: classes/views/shared/reports-info.php:24
|
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.0.11\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: 2021-10-28T16:38:23+00:00\n"
|
13 |
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
14 |
"X-Generator: WP-CLI 2.4.0\n"
|
15 |
"X-Domain: formidable\n"
|
130 |
msgid "Strategy11"
|
131 |
msgstr ""
|
132 |
|
133 |
+
#: classes/controllers/FrmAddonsController.php:18
|
134 |
+
#: classes/controllers/FrmAddonsController.php:21
|
135 |
msgid "Add-Ons"
|
136 |
msgstr ""
|
137 |
|
138 |
+
#: classes/controllers/FrmAddonsController.php:26
|
139 |
+
#: classes/controllers/FrmAddonsController.php:27
|
140 |
#: classes/helpers/FrmFormsHelper.php:1315
|
141 |
#: classes/views/frm-fields/back-end/smart-values.php:16
|
142 |
#: classes/views/shared/admin-header.php:33
|
143 |
msgid "Upgrade"
|
144 |
msgstr ""
|
145 |
|
146 |
+
#: classes/controllers/FrmAddonsController.php:73
|
147 |
msgid "There are no plugins on your site that require a license"
|
148 |
msgstr ""
|
149 |
|
150 |
+
#: classes/controllers/FrmAddonsController.php:620
|
151 |
msgid "Installed"
|
152 |
msgstr ""
|
153 |
|
154 |
+
#: classes/controllers/FrmAddonsController.php:625
|
155 |
#: classes/helpers/FrmAppHelper.php:2583
|
156 |
msgid "Active"
|
157 |
msgstr ""
|
158 |
|
159 |
+
#: classes/controllers/FrmAddonsController.php:630
|
160 |
msgid "Not Installed"
|
161 |
msgstr ""
|
162 |
|
163 |
+
#: classes/controllers/FrmAddonsController.php:929
|
164 |
msgid "Sorry, your site requires FTP authentication. Please download plugins from FormidableForms.com and install them manually."
|
165 |
msgstr ""
|
166 |
|
167 |
+
#: classes/controllers/FrmAddonsController.php:994
|
168 |
msgid "Your plugin has been activated. Would you like to save and reload the page now?"
|
169 |
msgstr ""
|
170 |
|
171 |
+
#: classes/controllers/FrmAddonsController.php:998
|
172 |
msgid "Your plugin has been activated. Please reload the page to see more options."
|
173 |
msgstr ""
|
174 |
|
175 |
+
#: classes/controllers/FrmAddonsController.php:1103
|
176 |
msgid "Could not install an upgrade. Please download from formidableforms.com and install manually."
|
177 |
msgstr ""
|
178 |
|
179 |
+
#: classes/controllers/FrmAddonsController.php:1188
|
180 |
+
#: classes/controllers/FrmAddonsController.php:1189
|
181 |
#: classes/controllers/FrmWelcomeController.php:141
|
182 |
#: classes/views/frm-forms/new-form-overlay.php:112
|
183 |
#: classes/views/shared/reports-info.php:24
|
readme.txt
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
=== Formidable Form Builder - Contact Form, Survey & Quiz Forms Plugin for WordPress ===
|
2 |
Plugin Name: Formidable Forms - Contact Form, Survey & Quiz Forms Plugin for WordPress
|
3 |
Contributors: formidableforms, sswells, srwells
|
4 |
-
Tags: forms, contact form, form builder, survey, form maker, form creator, paypal form, paypal, stripe, stripe form, aweber, aweber form, getresponse, getresponse form, calculator, price calculator, quote form, contact button, form manager, Akismet, payment form, survey form, donation form, email subscription, contact form widget, user registration form, wordpress registration, wordpress login form, constant contact, mailpoet, active campaign, salesforce, hubspot, campaign monitor, quiz builder, quiz, feedback form, mailchimp form
|
5 |
Requires at least: 5.0
|
6 |
Tested up to: 5.8.1
|
7 |
Requires PHP: 5.6
|
8 |
-
Stable tag: 5.0.
|
9 |
|
10 |
The most advanced WordPress forms plugin. Go beyond contact forms with our drag & drop form builder for surveys, quizzes, and more.
|
11 |
|
@@ -16,18 +16,18 @@ We built <a href="https://formidableforms.com/?utm_source=wprepo&utm_medium=link
|
|
16 |
|
17 |
At Formidable, creating the most extendable online form builder plugin is our #1 priority. Unlike other WordPress form maker plugins, we believe in pushing the limits. We want to give you the tools to save time and create complex custom forms quickly!
|
18 |
|
19 |
-
Before we explore the features of the powerful Formidable form builder plugin, you should know that Formidable is 100% mobile responsive. Your WordPress forms will always look great on all devices (desktop, laptop, tablets, and smartphones).
|
20 |
|
21 |
-
Plus, we have optimized Formidable for speed and maximum server performance. We can confidently say that
|
22 |
|
23 |
> <strong>Formidable Forms Pro</strong><br />
|
24 |
> This form builder plugin is the free version of Formidable that comes with all the features you will ever need. Build an advanced email subscription form, multi-page form, file upload form, quiz, or a smart form with conditional logic. Stack on repeater fields, payment integrations, form templates, relationships, cascading dropdown fields. Don't forget the calculated fields, front-end form editing, and powerful WordPress Views to display data in web applications.
|
25 |
> With Formidable, you get far more than just a contact form.
|
26 |
-
> <a href="https://formidableforms.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend"
|
27 |
|
28 |
You can start with our pre-built templates or create totally custom forms from scratch. All with an easy-to-use drag & drop form maker interface.
|
29 |
|
30 |
-
https://
|
31 |
|
32 |
Let’s take a look at all the powerful features for making an amazing lead form, survey form, poll, subscription form, request a quote form, donation form, user registration form, or payment form.
|
33 |
|
@@ -41,7 +41,7 @@ Our form maker comes with all the powerful fields that you need to create a solu
|
|
41 |
|
42 |
Formidable allows you to view all your quiz and survey entries right from your WordPress dashboard. When a user submits a web form, it's stored in your WordPress database so you won’t lose any leads.
|
43 |
|
44 |
-
|
45 |
|
46 |
Need to import your leads to an external service like MailChimp? No problem. **Export leads to a CSV**, open it in Excel, or import anywhere.
|
47 |
|
@@ -49,7 +49,7 @@ You can also configure unlimited email notifications and autoresponders triggere
|
|
49 |
|
50 |
On top of that, you can easily customize the success message after a contact form is submitted, or redirect visitors to another page.
|
51 |
|
52 |
-
== The Only Form Maker Plugin with an Advanced
|
53 |
|
54 |
With our built-in styler, you can instantly customize the look and feel of your contact form. With just a few clicks, your email form can be transformed to match your website design.
|
55 |
|
@@ -81,7 +81,7 @@ You can even use the plugin to create a WooCommerce form with custom fields.
|
|
81 |
|
82 |
== Make Data-Driven Web Applications with a Formidable View ==
|
83 |
|
84 |
-
Formidable Views are by far the most powerful feature that makes Formidable far more than just a contact form builder plugin. Views allow you to flexibly display any submitted
|
85 |
|
86 |
Our customers use Formidable Views to create data-driven web applications. We see real estate listings, employment listings, event calendars, business or member directories, job boards, and other searchable databases.
|
87 |
|
@@ -126,7 +126,7 @@ With our front-end editing, you can build a custom profile form for users to kee
|
|
126 |
|
127 |
You will not find any other WordPress form plugin offering a front-end editing solution with the same level of extendability.
|
128 |
|
129 |
-
== All the Advanced
|
130 |
|
131 |
Formidable goes far above and beyond with features like multi-page forms, save and continue, cascading form fields, powerful conditional logic. Then add partial submissions, invisible spam protection, front-end user post submission, calculated fields, user-tracking, quizzes, and so much more. Additionally, our Payment fields will help you create an order form, donation form, booking form, or other payment form.
|
132 |
|
@@ -146,50 +146,50 @@ On top of that, our hooks and filters allow you to extend Formidable to meet you
|
|
146 |
|
147 |
Since Formidable is not your average WordPress form plugin, this feature list is going to be very long. Read through it, or just install the most powerful WordPress form maker. Your choice :)
|
148 |
|
149 |
-
* <a href="https://formidableforms.com/features/drag-drop-form-builder/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Online drag and drop form builder</a>. Build everything from an email form to a price calculator or complex online form. Make awesome quiz forms
|
150 |
-
* <a href="https://formidableforms.com/features/display-form-data-views/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Display
|
151 |
* <a href="https://formidableforms.com/features/dynamically-add-form-fields/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Repeating field groups (repeaters)</a>. This is great for a registration form, application, or email form.
|
152 |
* <a href="https://formidableforms.com/features/wordpress-multiple-file-upload-form/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Drag and drop multiple file upload forms</a>. Easily upload documents, files, photos, and music, with any number of files. This is great for a job application form (resumes), WordPress User Profile Form (avatars), or get a quote form.
|
153 |
* <a href="https://formidableforms.com/features/wordpress-multi-step-form/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Multi-step forms with progress bars</a>. Want to increase conversion rates and collect more leads? Create beautiful paged forms with rootline and progress indicators. Add conditional pages for a smart branching form.
|
154 |
-
* <a href="https://formidableforms.com/features/cascading-dropdown-lookup-field/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Cascading lookup fields</a>. Autofill values in other
|
155 |
-
* Datepicker fields with advanced
|
156 |
-
* Dynamic field relationships. Populate fields and link data between
|
157 |
* Add password fields with a password strength meter in a WordPress user registration form, profile form, or change password form.
|
158 |
* Collect reviews with star ratings for feedback, recipe ratings, product review, event rating, and customer testimonial forms. Then share your ratings with Formidable Views.
|
159 |
-
*
|
160 |
-
* <a href="https://formidableforms.com/features/conditional-logic-wordpress-forms/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Conditional logic for smart forms</a>. Show or hide fields based on user selections or user roles
|
161 |
* <a href="https://formidableforms.com/features/email-autoresponders-wordpress/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Send email notifications & autoresponders</a>. Let clients know you received their message. Then create customized email notifications for multiple recipients and get info from an email form to those who need it.
|
162 |
* Email routing. Conditionally send multiple autoresponder emails and notifications based on values in email forms, user registration forms, and payment forms.
|
163 |
* Pricing fields for easy eCommerce forms with automatic price calculations. Drop in a product field, quantity, and total and you're good to go.
|
164 |
* <a href="https://formidableforms.com/wordpress-calculator-plugin/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Calculator forms</a>. Create complex calculations and combine text from multiple fields. This is great for a mortgage calculator, auto loan calculator, and more. Price calculations give site visitors easy quotes and price estimates. We recommend range sliders too, for calculator forms your clients will love.
|
165 |
* <a href="https://formidableforms.com/features/wordpress-visual-form-styler/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Visual style creator</a>. Our form creator allows you to custom brand calculator forms, email forms, quiz forms, and other WP forms to match your site. Change colors, borders, font sizes, and more without any code.
|
166 |
-
*
|
167 |
-
*
|
168 |
* <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.
|
169 |
-
* <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
|
170 |
-
*
|
171 |
-
* 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
|
172 |
* <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).
|
173 |
-
* Permissions.
|
174 |
* Entry limits. Limit surveys, registration forms, bookings, quizzes, or directory submissions to only allow one entry per user, IP, or cookie.
|
175 |
-
*
|
176 |
* Conditionally redirect after a custom search form, payment form, feedback form, support ticket form, quiz, or other online form is submitted. Help clients find the answers they need and show a tailored result based on their selections or calculated fields.
|
177 |
-
* We
|
178 |
-
* <a href="https://formidableforms.com/features/importing-exporting-wordpress-forms/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Import and export
|
179 |
-
*
|
180 |
* Import our <a href="https://formidableforms.com/form-templates/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">pre-built form templates</a> as a shortcut to a final product. Our growing form template library includes payment forms, a WooCommerce product creator, and more.
|
181 |
-
*
|
182 |
* <a href="https://formidableforms.com/features/invisible-spam-protection/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Invisible SPAM protection</a>. Don't waste time sorting through SPAM. Get instant and powerful anti-spam features from honeypot, invisible Google reCAPTCHA, Akismet, and the WordPress comment blacklist.
|
183 |
* <a href="https://formidableforms.com/features/fill-out-forms-automatically/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Fill fields automatically</a> with values from the user profile or posts (i.e. custom fields). When a user is logged in, fill known values like name and email address.
|
184 |
-
* <a href="https://formidableforms.com/features/white-label-form-builder-wordpress/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">White label</a>. Replace
|
185 |
* <a href="https://formidableforms.com/features/wordpress-user-registration/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">WordPress user registration forms</a>. Register WordPress users, edit profiles, reset passwords, and add a login form. You can even allow users to create new subdomains with WordPress multisite forms.
|
186 |
* <a href="https://formidableforms.com/features/digital-form-signatures/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Digital signature forms</a>. Eliminate paper forms with a digital signature field in contracts, application forms and more.
|
187 |
* <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.
|
188 |
-
* <a href="https://formidableforms.com/features/wordpress-form-api/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">
|
189 |
* <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.
|
190 |
* <a href="https://formidableforms.com/knowledgebase/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">World class support</a>. Have questions on how to use our form maker or set up your web application? 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.
|
191 |
|
192 |
-
== Payment Forms,
|
193 |
In addition to all the features listed above, power up your email forms, surveys, and quizzes with these integrations.
|
194 |
|
195 |
* <a href="https://formidableforms.com/features/paypal-wordpress-payments/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">PayPal Payment Forms</a>. Automate your business by collecting instant payments and recurring payments from clients. Collect information and calculate a total in a PayPal form or donation form.
|
@@ -197,20 +197,20 @@ In addition to all the features listed above, power up your email forms, surveys
|
|
197 |
* <a href="https://formidableforms.com/features/authorize-net-payments/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Authorize.net AIM Payment Forms</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.
|
198 |
* <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.
|
199 |
* <a href="https://formidableforms.com/features/mailchimp-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">MailChimp Forms</a>. Add and update leads in a MailChimp email marketing list from a lead form, online order, or email form.
|
200 |
-
*
|
201 |
* <a href="https://formidableforms.com/features/form-entries-to-getresponse/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">GetResponse Forms</a>. Collect leads and add them to GetResponse, and trigger GetResponse marketing automations.
|
202 |
-
*
|
203 |
-
* <a href="https://formidableforms.com/features/mailpoet-newsletters-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">MailPoet
|
204 |
-
*
|
205 |
-
*
|
206 |
-
*
|
207 |
* <a href="https://formidableforms.com/features/form-entries-to-hubspot/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">HubSpot Forms</a>. Route lead data to HubSpot CRM.
|
208 |
-
*
|
209 |
-
*
|
210 |
-
*
|
211 |
-
* <a href="https://formidableforms.com/features/form-entry-routing-with-zapier/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Zapier
|
212 |
* <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 registration form.
|
213 |
-
* <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,
|
214 |
|
215 |
After reading this feature list, you can probably imagine why Formidable is the most advanced WordPress form plugin on the market.
|
216 |
|
@@ -246,9 +246,7 @@ The fastest way to build a form is to use the template we built for you. After y
|
|
246 |
|
247 |
Go to the Formidable page and click "add new". Choose the Contact Us form template or another free template and click "Create".
|
248 |
|
249 |
-
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.
|
250 |
-
|
251 |
-
Learn more about <a href="https://formidableforms.com/wordpress-contact-form-template-to-unique/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">using the contact form template</a>.
|
252 |
|
253 |
= Why isn't WordPress sending emails? =
|
254 |
When you do not receive emails, try the following steps:
|
@@ -327,7 +325,7 @@ The Formidable drag & drop form builder combined with our add-ons is the most po
|
|
327 |
* Cosmos Style Quiz
|
328 |
* Create Your Own Adventure Quiz
|
329 |
|
330 |
-
To see more, visit our <a href="https://formidableforms.com/form-templates/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin">Form Template Gallery</a> which has
|
331 |
|
332 |
= How can I get access to all advanced features? =
|
333 |
To get access to more features, integrations, and support, <a href="https://formidableforms.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">upgrade to Formidable Pro</a>. A Pro license gives you access to the full version of Formidable for more advanced options, Formidable Views, graphs and stats, priority support, and Formidable Add-ons!
|
@@ -340,7 +338,7 @@ Our Stripe integration helps you quickly accept credit card payments online. Our
|
|
340 |
|
341 |
= Which field types does Formidable offer? =
|
342 |
|
343 |
-
Our online form maker comes with all the powerful
|
344 |
|
345 |
* Single line text - Great for name, phone number, address, and more.
|
346 |
* Email
|
@@ -392,7 +390,7 @@ Additionally, our Payment fields will help you create an order form, donation fo
|
|
392 |
|
393 |
Yes, it's easy to import and export. This is incredibly useful for developers and agencies who are building websites for clients. You can also create custom form templates to use on client websites.
|
394 |
|
395 |
-
You can also import from other WordPress contact form plugins such as <a href="https://wordpress.org/plugins/formidable-gravity-forms-importer/">Gravity Forms</a> and Pirate Forms. Although we don't have an importer available, this is also a great Caldera alternative since it's no longer supported.
|
396 |
|
397 |
= Can I integrate with my CRM or email marketing service? =
|
398 |
|
@@ -440,6 +438,10 @@ Using our Zapier integration, you can easily connect Formidable with over 1000+
|
|
440 |
See all <a href="https://zapier.com/apps/formidable/integrations">Formidable Zapier Integrations</a>.
|
441 |
|
442 |
== Changelog ==
|
|
|
|
|
|
|
|
|
443 |
= 5.0.10 =
|
444 |
- Security: Improved how data is sanitized when previewing in the style manager.
|
445 |
- Fix: Prevent a warning when trying to get inbox messages from the API when no messages are being returned.
|
@@ -450,49 +452,14 @@ See all <a href="https://zapier.com/apps/formidable/integrations">Formidable Zap
|
|
450 |
= 5.0.09 =
|
451 |
- The option to check entries for spam using JavaScript is now on by default for all new forms. We recommend turning this on for older forms that may be receiving spam entries, especially forms that include file uploads. After turning this feature on, make sure to also clear any caching plugins to avoid issues with cached pages with missing tokens.
|
452 |
- New: Pre-determined option data will no longer be sent to Akismet to help reduce the number of false positive results.
|
453 |
-
- Fix: Significantly reduced the amount of memory required to load
|
454 |
- Fix: Author email, url, or name are no longer included in comment info when sending data to Akismet so that duplicate information is not sent.
|
455 |
- Fix: Field groups could not be moved because of a missing class on the drag handle.
|
456 |
|
457 |
= 5.0.08 =
|
458 |
- Deprecated: Calls to FrmFormsController::preview will no longer try to load WordPress if it is not already initialized. This could cause issues for users that still use old preview links (see https://formidableforms.com/knowledgebase/php-examples/#kb-use-the-old-preview-links for an example).
|
459 |
-
- Security: Unsafe HTML will now be stripped from global message defaults, whitelabel settings, and when importing
|
460 |
- Updated Bootstrap used in back end to version 3.4.1.
|
461 |
- A few images that were being loaded from S3 and CDN urls are now included in the plugin instead.
|
462 |
|
463 |
-
= 5.0.07 =
|
464 |
-
- Security: Unsafe HTML will now be stripped from field labels, descriptions, and custom HTML, as well as form titles, descriptions, custom submit text, custom submit HTML, before HTML, after HTML, and success message if the user saving HTML does not have the unfiltered_html permission or if the DISALLOW_UNFILTERED_HTML constant is set.
|
465 |
-
- New: Added new frm_akismet_values filter to help improve Akismet integration.
|
466 |
-
- Fix: The Akismet API was getting called if Akismet was set up even if the form had Akismet turned off.
|
467 |
-
- Fix: Updated the styling when a field option is being dragged and dropped.
|
468 |
-
|
469 |
-
= 5.0.06 =
|
470 |
-
- New: Added new frm_export_csv_headings filter to make it easier to add and remove exported CSV headings.
|
471 |
-
- New: When clicking an inactive action that requires pro, the required pro license will be properly shown in the popup.
|
472 |
-
- New: Added new frm_fields_to_validate, frm_submit_button_html, and frm_fields_for_csv_export filters.
|
473 |
-
- Fix: Improved the accessibility of field group dropdowns and field group row layout pop ups.
|
474 |
-
- Fix: The caret icon on the dropdown was not positioned properly for the Formidable Gutenberg block.
|
475 |
-
- Fix: When clicking the Formidable media button in Elementor, the pop up was appearing as empty with no content.
|
476 |
-
- Fix: Required radio, checkbox, and name fields were not including the aria-required="true" attribute or the aria-invalid attribute when JavaScript validation was enabled.
|
477 |
-
- Fix: Required name fields were not showing error messages when JavaScript validation was enabled.
|
478 |
-
|
479 |
-
= 5.0.05 =
|
480 |
-
* Deprecated the option to disable CSS Grids in form layouts.
|
481 |
-
* Fix: JavaScript validation was failing to validate for many fields with custom patterns because extra conflicting HTML was sometimes being added to the check.
|
482 |
-
* Fix: Field dropdowns are now more accessible and it should be easier to delete and duplicate fields with a screen reader.
|
483 |
-
* Fix: Updated form padding on admin page so forms with custom padding don't appear small in the back end.
|
484 |
-
|
485 |
-
= 5.0.04 =
|
486 |
-
* New: Custom HTML for errors is now also applied when validating with JavaScript.
|
487 |
-
* New: Added a button to quickly save and reload after activating a new plugin from the settings page.
|
488 |
-
* New: Added several new filters required to support the new new Formidable surveys add on.
|
489 |
-
|
490 |
-
= 5.0.03 =
|
491 |
-
* New: Added an Elementor widget.
|
492 |
-
* New: When duplicating fields, most unsaved changes will now duplicate as well.
|
493 |
-
* New: Next button label and slider field label previews will now update as soon as the setting is changed in the form builder.
|
494 |
-
* New: Slider field previews will now update when the min and max values are updated in the form builder.
|
495 |
-
* Fix: The search dropdown was getting cut off on pages with no search results.
|
496 |
-
* Fix: When legacy views or visual views are active, both versions were appearing active on the add ons page.
|
497 |
-
|
498 |
<a href="https://raw.githubusercontent.com/Strategy11/formidable-forms/master/changelog.txt">See changelog for all versions</a>
|
1 |
=== Formidable Form Builder - Contact Form, Survey & Quiz Forms Plugin for WordPress ===
|
2 |
Plugin Name: Formidable Forms - Contact Form, Survey & Quiz Forms Plugin for WordPress
|
3 |
Contributors: formidableforms, sswells, srwells
|
4 |
+
Tags: forms, contact form, form builder, survey, free, form maker, form creator, paypal form, paypal, stripe, stripe form, aweber, aweber form, getresponse, getresponse form, calculator, price calculator, quote form, contact button, form manager, Akismet, payment form, survey form, donation form, email subscription, contact form widget, user registration form, wordpress registration, wordpress login form, constant contact, mailpoet, active campaign, salesforce, hubspot, campaign monitor, quiz builder, quiz, feedback form, mailchimp form
|
5 |
Requires at least: 5.0
|
6 |
Tested up to: 5.8.1
|
7 |
Requires PHP: 5.6
|
8 |
+
Stable tag: 5.0.11
|
9 |
|
10 |
The most advanced WordPress forms plugin. Go beyond contact forms with our drag & drop form builder for surveys, quizzes, and more.
|
11 |
|
16 |
|
17 |
At Formidable, creating the most extendable online form builder plugin is our #1 priority. Unlike other WordPress form maker plugins, we believe in pushing the limits. We want to give you the tools to save time and create complex custom forms quickly!
|
18 |
|
19 |
+
Before we explore the features of the powerful Formidable contact form builder plugin, you should know that Formidable is 100% mobile responsive. Your WordPress forms will always look great on all devices (desktop, laptop, tablets, and smartphones).
|
20 |
|
21 |
+
Plus, we have optimized Formidable for speed and maximum server performance. We can confidently say that this is one of the FASTEST WordPress form builders on the market.
|
22 |
|
23 |
> <strong>Formidable Forms Pro</strong><br />
|
24 |
> This form builder plugin is the free version of Formidable that comes with all the features you will ever need. Build an advanced email subscription form, multi-page form, file upload form, quiz, or a smart form with conditional logic. Stack on repeater fields, payment integrations, form templates, relationships, cascading dropdown fields. Don't forget the calculated fields, front-end form editing, and powerful WordPress Views to display data in web applications.
|
25 |
> With Formidable, you get far more than just a contact form.
|
26 |
+
> <a href="https://formidableforms.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion" rel="friend">Click here to purchase the most advanced premium WordPress form builder plugin now!</a>
|
27 |
|
28 |
You can start with our pre-built templates or create totally custom forms from scratch. All with an easy-to-use drag & drop form maker interface.
|
29 |
|
30 |
+
https://youtu.be/7X2BqhRsXcg
|
31 |
|
32 |
Let’s take a look at all the powerful features for making an amazing lead form, survey form, poll, subscription form, request a quote form, donation form, user registration form, or payment form.
|
33 |
|
41 |
|
42 |
Formidable allows you to view all your quiz and survey entries right from your WordPress dashboard. When a user submits a web form, it's stored in your WordPress database so you won’t lose any leads.
|
43 |
|
44 |
+
It's a **100% 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.
|
45 |
|
46 |
Need to import your leads to an external service like MailChimp? No problem. **Export leads to a CSV**, open it in Excel, or import anywhere.
|
47 |
|
49 |
|
50 |
On top of that, you can easily customize the success message after a contact form is submitted, or redirect visitors to another page.
|
51 |
|
52 |
+
== The Only Form Maker Plugin with an Advanced Styler ==
|
53 |
|
54 |
With our built-in styler, you can instantly customize the look and feel of your contact form. With just a few clicks, your email form can be transformed to match your website design.
|
55 |
|
81 |
|
82 |
== Make Data-Driven Web Applications with a Formidable View ==
|
83 |
|
84 |
+
Formidable Views are by far the most powerful feature that makes Formidable far more than just a contact form builder plugin. Views allow you to flexibly display any submitted data on the front-end of your website.
|
85 |
|
86 |
Our customers use Formidable Views to create data-driven web applications. We see real estate listings, employment listings, event calendars, business or member directories, job boards, and other searchable databases.
|
87 |
|
126 |
|
127 |
You will not find any other WordPress form plugin offering a front-end editing solution with the same level of extendability.
|
128 |
|
129 |
+
== All the Advanced Fields and Features You Need to Grow Your Business ==
|
130 |
|
131 |
Formidable goes far above and beyond with features like multi-page forms, save and continue, cascading form fields, powerful conditional logic. Then add partial submissions, invisible spam protection, front-end user post submission, calculated fields, user-tracking, quizzes, and so much more. Additionally, our Payment fields will help you create an order form, donation form, booking form, or other payment form.
|
132 |
|
146 |
|
147 |
Since Formidable is not your average WordPress form plugin, this feature list is going to be very long. Read through it, or just install the most powerful WordPress form maker. Your choice :)
|
148 |
|
149 |
+
* <a href="https://formidableforms.com/features/drag-drop-form-builder/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Online drag and drop form builder</a>. Build everything from an email form to a price calculator or complex online form. Make awesome quiz forms and online forms the easy way with a simple WordPress drag and drop form maker. You don't have to be a code ninja to get fields in a row.
|
150 |
+
* <a href="https://formidableforms.com/features/display-form-data-views/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Display data with Views</a>. Other WordPress form builder plugins only let you collect data. Formidable lets you format, filter, and display submissions in Formidable Views to create solutions. Think job boards, event calendars, business directories, ratings systems, management solutions, and pretty much anything else you can come up with.
|
151 |
* <a href="https://formidableforms.com/features/dynamically-add-form-fields/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Repeating field groups (repeaters)</a>. This is great for a registration form, application, or email form.
|
152 |
* <a href="https://formidableforms.com/features/wordpress-multiple-file-upload-form/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Drag and drop multiple file upload forms</a>. Easily upload documents, files, photos, and music, with any number of files. This is great for a job application form (resumes), WordPress User Profile Form (avatars), or get a quote form.
|
153 |
* <a href="https://formidableforms.com/features/wordpress-multi-step-form/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Multi-step forms with progress bars</a>. Want to increase conversion rates and collect more leads? Create beautiful paged forms with rootline and progress indicators. Add conditional pages for a smart branching form.
|
154 |
+
* <a href="https://formidableforms.com/features/cascading-dropdown-lookup-field/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Cascading lookup fields</a>. Autofill values in other fields or drill down through options to reveal a final value. Designed for year/make/model chained fields in auto forms and country/state/city fields. Lookup fields can even get a price from another product form.
|
155 |
+
* Datepicker fields with advanced datepicker options including blackout dates, dynamic minimum and maximum dates, and inline calendars. Datepickers are great for email forms, basic online booking, and event registration.
|
156 |
+
* Dynamic field relationships. Populate fields and link data between multiple fields. This helpful in to link employment applications to a job, quizzes to a class, an event registration to an event, or a sports registration to a team.
|
157 |
* Add password fields with a password strength meter in a WordPress user registration form, profile form, or change password form.
|
158 |
* Collect reviews with star ratings for feedback, recipe ratings, product review, event rating, and customer testimonial forms. Then share your ratings with Formidable Views.
|
159 |
+
* Confirmation fields. Double check email addresses or passwords and prevent typos from causing lost leads.
|
160 |
+
* <a href="https://formidableforms.com/features/conditional-logic-wordpress-forms/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Conditional logic for smart forms</a>. Show or hide fields based on user selections or user roles, simplify, and increase conversion rates.
|
161 |
* <a href="https://formidableforms.com/features/email-autoresponders-wordpress/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Send email notifications & autoresponders</a>. Let clients know you received their message. Then create customized email notifications for multiple recipients and get info from an email form to those who need it.
|
162 |
* Email routing. Conditionally send multiple autoresponder emails and notifications based on values in email forms, user registration forms, and payment forms.
|
163 |
* Pricing fields for easy eCommerce forms with automatic price calculations. Drop in a product field, quantity, and total and you're good to go.
|
164 |
* <a href="https://formidableforms.com/wordpress-calculator-plugin/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Calculator forms</a>. Create complex calculations and combine text from multiple fields. This is great for a mortgage calculator, auto loan calculator, and more. Price calculations give site visitors easy quotes and price estimates. We recommend range sliders too, for calculator forms your clients will love.
|
165 |
* <a href="https://formidableforms.com/features/wordpress-visual-form-styler/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Visual style creator</a>. Our form creator allows you to custom brand calculator forms, email forms, quiz forms, and other WP forms to match your site. Change colors, borders, font sizes, and more without any code.
|
166 |
+
* Flexible layout design. Build mobile responsive forms and advanced layouts with multiple fields in a row with our CSS layout classes.
|
167 |
+
* Mobile-friendly, responsive forms. All of our WP forms are sized for any screen size. Ensure that everyone can use your surveys, calculator forms, and Stripe forms on any device.
|
168 |
* <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.
|
169 |
+
* <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.
|
170 |
+
* 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.
|
171 |
+
* 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.
|
172 |
* <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).
|
173 |
+
* Permissions. Lock visibility and access based on user role.
|
174 |
* Entry limits. Limit surveys, registration forms, bookings, quizzes, or directory submissions to only allow one entry per user, IP, or cookie.
|
175 |
+
* Form scheduling. Open and close event registration and signup forms on a specific date. Or close registration forms when the seat limit has been reached.
|
176 |
* Conditionally redirect after a custom search form, payment form, feedback form, support ticket form, quiz, or other online form is submitted. Help clients find the answers they need and show a tailored result based on their selections or calculated fields.
|
177 |
+
* We give you access to <a href="https://formidableforms.com/features/customize-form-html-wordpress/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">customize the HTML</a> (like Contact Form 7). But you keep the ease and speed of a drag & drop form builder plugin. Our team labors for simplicity without sacrificing flexibility.
|
178 |
+
* <a href="https://formidableforms.com/features/importing-exporting-wordpress-forms/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Import and export submissions, styles, and views</a>. Quickly move your work and entries to another site. Need to export leads to another service? Done.
|
179 |
+
* Form templates for instant form building. Get started quickly with the most advanced form creator that includes form templates and style templates. Our WordPress form generator makes it FAST to build job application forms, calculator forms, and other types of online forms.
|
180 |
* Import our <a href="https://formidableforms.com/form-templates/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">pre-built form templates</a> as a shortcut to a final product. Our growing form template library includes payment forms, a WooCommerce product creator, and more.
|
181 |
+
* WCAG accessible forms with A11Y and ADA compliance. Ensure your survey, lead capture form, quizzes, and other online forms are compliant and available to everyone. Allow those using screenreaders to successfully use your WordPress site.
|
182 |
* <a href="https://formidableforms.com/features/invisible-spam-protection/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Invisible SPAM protection</a>. Don't waste time sorting through SPAM. Get instant and powerful anti-spam features from honeypot, invisible Google reCAPTCHA, Akismet, and the WordPress comment blacklist.
|
183 |
* <a href="https://formidableforms.com/features/fill-out-forms-automatically/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Fill fields automatically</a> with values from the user profile or posts (i.e. custom fields). When a user is logged in, fill known values like name and email address.
|
184 |
+
* <a href="https://formidableforms.com/features/white-label-form-builder-wordpress/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">White label</a>. Replace our branding with your own in the admin area. Plus, we never show "powered by" links in your free online form.
|
185 |
* <a href="https://formidableforms.com/features/wordpress-user-registration/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">WordPress user registration forms</a>. Register WordPress users, edit profiles, reset passwords, and add a login form. You can even allow users to create new subdomains with WordPress multisite forms.
|
186 |
* <a href="https://formidableforms.com/features/digital-form-signatures/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Digital signature forms</a>. Eliminate paper forms with a digital signature field in contracts, application forms and more.
|
187 |
* <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.
|
188 |
+
* <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.
|
189 |
* <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.
|
190 |
* <a href="https://formidableforms.com/knowledgebase/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">World class support</a>. Have questions on how to use our form maker or set up your web application? 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.
|
191 |
|
192 |
+
== Payment Forms, APIs, and Marketing Integrations ==
|
193 |
In addition to all the features listed above, power up your email forms, surveys, and quizzes with these integrations.
|
194 |
|
195 |
* <a href="https://formidableforms.com/features/paypal-wordpress-payments/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">PayPal Payment Forms</a>. Automate your business by collecting instant payments and recurring payments from clients. Collect information and calculate a total in a PayPal form or donation form.
|
197 |
* <a href="https://formidableforms.com/features/authorize-net-payments/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">Authorize.net AIM Payment Forms</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.
|
198 |
* <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.
|
199 |
* <a href="https://formidableforms.com/features/mailchimp-addon/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">MailChimp Forms</a>. Add and update leads in a MailChimp email marketing list from a lead form, online order, or email form.
|
200 |
+
* Constant Contact. Create leads automatically in Constant Contact with a newsletter signup form.
|
201 |
* <a href="https://formidableforms.com/features/form-entries-to-getresponse/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">GetResponse Forms</a>. Collect leads and add them to GetResponse, and trigger GetResponse marketing automations.
|
202 |
+
* AWeber Forms. Subscribe users to an AWeber mailing list when a newsletter signup form is submitted.
|
203 |
+
* <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.
|
204 |
+
* Highrise. Add leads to your Highrise CRM account any time a WordPress form is submitted.
|
205 |
+
* Salesforce Forms. Create leads and any other Salesforce objects automatically.
|
206 |
+
* ActiveCampaign. Pull double duty with the ActiveCampaign integration. Save leads from a donation form, post creation form, user registration form, or email form.
|
207 |
* <a href="https://formidableforms.com/features/form-entries-to-hubspot/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">HubSpot Forms</a>. Route lead data to HubSpot CRM.
|
208 |
+
* 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 form is completed, or let your leads know you received their message.
|
209 |
+
* WPML Multilingual Forms. Translate your WordPress forms into multiple languages using our integrated multilingual forms.
|
210 |
+
* Polylang. Get the form creator with Polylang bilingual or multilingual contact forms.
|
211 |
+
* <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 applications 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.
|
212 |
* <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 registration form.
|
213 |
+
* <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.
|
214 |
|
215 |
After reading this feature list, you can probably imagine why Formidable is the most advanced WordPress form plugin on the market.
|
216 |
|
246 |
|
247 |
Go to the Formidable page and click "add new". Choose the Contact Us form template or another free template and click "Create".
|
248 |
|
249 |
+
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.
|
|
|
|
|
250 |
|
251 |
= Why isn't WordPress sending emails? =
|
252 |
When you do not receive emails, try the following steps:
|
325 |
* Cosmos Style Quiz
|
326 |
* Create Your Own Adventure Quiz
|
327 |
|
328 |
+
To see more, visit our <a href="https://formidableforms.com/form-templates/?utm_source=wprepo&utm_medium=link&utm_campaign=liteplugin">Form Template Gallery</a> which has over 150 pre-made templates.
|
329 |
|
330 |
= How can I get access to all advanced features? =
|
331 |
To get access to more features, integrations, and support, <a href="https://formidableforms.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">upgrade to Formidable Pro</a>. A Pro license gives you access to the full version of Formidable for more advanced options, Formidable Views, graphs and stats, priority support, and Formidable Add-ons!
|
338 |
|
339 |
= Which field types does Formidable offer? =
|
340 |
|
341 |
+
Our online form maker comes with all the powerful fields that you need to create a solution-focused form, fast!
|
342 |
|
343 |
* Single line text - Great for name, phone number, address, and more.
|
344 |
* Email
|
390 |
|
391 |
Yes, it's easy to import and export. This is incredibly useful for developers and agencies who are building websites for clients. You can also create custom form templates to use on client websites.
|
392 |
|
393 |
+
You can also import from other WordPress contact form plugins such as <a href="https://wordpress.org/plugins/formidable-gravity-forms-importer/">Gravity Forms</a> and Pirate Forms. Although we don't have an importer available, this is also a great Caldera Forms alternative since it's no longer supported.
|
394 |
|
395 |
= Can I integrate with my CRM or email marketing service? =
|
396 |
|
438 |
See all <a href="https://zapier.com/apps/formidable/integrations">Formidable Zapier Integrations</a>.
|
439 |
|
440 |
== Changelog ==
|
441 |
+
= 5.0.11 =
|
442 |
+
- Fix: Required credit cards were causing an issue with JavaScript validation.
|
443 |
+
- Fix: Empty required appointment fields were not properly validating with JavaScript.
|
444 |
+
|
445 |
= 5.0.10 =
|
446 |
- Security: Improved how data is sanitized when previewing in the style manager.
|
447 |
- Fix: Prevent a warning when trying to get inbox messages from the API when no messages are being returned.
|
452 |
= 5.0.09 =
|
453 |
- The option to check entries for spam using JavaScript is now on by default for all new forms. We recommend turning this on for older forms that may be receiving spam entries, especially forms that include file uploads. After turning this feature on, make sure to also clear any caching plugins to avoid issues with cached pages with missing tokens.
|
454 |
- New: Pre-determined option data will no longer be sent to Akismet to help reduce the number of false positive results.
|
455 |
+
- Fix: Significantly reduced the amount of memory required to load settings for websites with fewer than 50 pages with a lot of data.
|
456 |
- Fix: Author email, url, or name are no longer included in comment info when sending data to Akismet so that duplicate information is not sent.
|
457 |
- Fix: Field groups could not be moved because of a missing class on the drag handle.
|
458 |
|
459 |
= 5.0.08 =
|
460 |
- Deprecated: Calls to FrmFormsController::preview will no longer try to load WordPress if it is not already initialized. This could cause issues for users that still use old preview links (see https://formidableforms.com/knowledgebase/php-examples/#kb-use-the-old-preview-links for an example).
|
461 |
+
- Security: Unsafe HTML will now be stripped from global message defaults, whitelabel settings, and when importing with XML if the user saving HTML does not have the unfiltered_html permission or if the DISALLOW_UNFILTERED_HTML constant is set.
|
462 |
- Updated Bootstrap used in back end to version 3.4.1.
|
463 |
- A few images that were being loaded from S3 and CDN urls are now included in the plugin instead.
|
464 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
465 |
<a href="https://raw.githubusercontent.com/Strategy11/formidable-forms/master/changelog.txt">See changelog for all versions</a>
|