Formidable Forms – Form Builder for WordPress - Version 4.03.03

Version Description

  • Fix: There was an error on form submit when Pro was not installed.
Download this release

Release Info

Developer sswells
Plugin Icon 128x128 Formidable Forms – Form Builder for WordPress
Version 4.03.03
Comparing to
See all releases

Code changes from version 4.03.02 to 4.03.03

classes/helpers/FrmAppHelper.php CHANGED
@@ -11,7 +11,7 @@ class FrmAppHelper {
11
  /**
12
  * @since 2.0
13
  */
14
- public static $plug_version = '4.03.02';
15
 
16
  /**
17
  * @since 1.07.02
11
  /**
12
  * @since 2.0
13
  */
14
+ public static $plug_version = '4.03.03';
15
 
16
  /**
17
  * @since 1.07.02
classes/models/FrmEntryValues.php CHANGED
@@ -245,12 +245,16 @@ class FrmEntryValues {
245
  * @return bool
246
  */
247
  protected function is_field_included( $field ) {
 
248
  if ( ! empty( $this->include_fields ) ) {
249
  $is_included = $this->is_field_in_array( $field, $this->include_fields );
250
- } elseif ( ! empty( $this->exclude_fields ) ) {
251
- $is_included = ! $this->is_field_in_array( $field, $this->exclude_fields );
252
- } else {
253
- $is_included = true;
 
 
 
254
  }
255
 
256
  return $is_included;
245
  * @return bool
246
  */
247
  protected function is_field_included( $field ) {
248
+ $is_included = true;
249
  if ( ! empty( $this->include_fields ) ) {
250
  $is_included = $this->is_field_in_array( $field, $this->include_fields );
251
+ }
252
+
253
+ if ( ! empty( $this->exclude_fields ) ) {
254
+ $is_excluded = $this->is_field_in_array( $field, $this->exclude_fields );
255
+ if ( $is_excluded ) {
256
+ $is_included = false;
257
+ }
258
  }
259
 
260
  return $is_included;
classes/models/fields/FrmFieldUserID.php CHANGED
@@ -42,7 +42,8 @@ class FrmFieldUserID extends FrmFieldType {
42
  $user_ID = get_current_user_id();
43
  $user_ID = ( $user_ID ? $user_ID : '' );
44
  $posted_value = ( FrmAppHelper::is_admin() && $_POST && isset( $_POST['item_meta'][ $this->field['id'] ] ) ); // WPCS: CSRF ok.
45
- $updating = ( isset( $args['action'] ) && $args['action'] == 'update' );
 
46
  $value = ( is_numeric( $this->field['value'] ) || $posted_value || $updating ) ? $this->field['value'] : $user_ID;
47
 
48
  echo '<input type="hidden" name="' . esc_attr( $args['field_name'] ) . '" id="' . esc_attr( $args['html_id'] ) . '" value="' . esc_attr( $value ) . '" data-frmval="' . esc_attr( $value ) . '"/>' . "\n";
42
  $user_ID = get_current_user_id();
43
  $user_ID = ( $user_ID ? $user_ID : '' );
44
  $posted_value = ( FrmAppHelper::is_admin() && $_POST && isset( $_POST['item_meta'][ $this->field['id'] ] ) ); // WPCS: CSRF ok.
45
+ $action = ( isset( $args['action'] ) ? $args['action'] : ( isset( $args['form_action'] ) ? $args['form_action'] : '' ) );
46
+ $updating = $action == 'update';
47
  $value = ( is_numeric( $this->field['value'] ) || $posted_value || $updating ) ? $this->field['value'] : $user_ID;
48
 
49
  echo '<input type="hidden" name="' . esc_attr( $args['field_name'] ) . '" id="' . esc_attr( $args['html_id'] ) . '" value="' . esc_attr( $value ) . '" data-frmval="' . esc_attr( $value ) . '"/>' . "\n";
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: 4.03.02
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: 4.03.03
6
  Plugin URI: https://formidableforms.com/
7
  Author URI: https://formidableforms.com/
8
  Author: Strategy11
js/formidable.js CHANGED
@@ -341,7 +341,7 @@ function frmFrontFormJS(){
341
  }
342
 
343
  function hasInvisibleRecaptcha( object ) {
344
- if ( typeof frmProForm !== 'undefined' && frmProForm.goingToPreviousPage( object ) ) {
345
  return false;
346
  }
347
 
@@ -645,7 +645,7 @@ function frmFrontFormJS(){
645
  }
646
 
647
  function isGoingToPrevPage( $object ) {
648
- return ( typeof frmProForm !== undefined && frmProForm.goingToPreviousPage( $object ) );
649
  }
650
 
651
  function removeSubmitLoading( $object, enable, processesRunning ) {
341
  }
342
 
343
  function hasInvisibleRecaptcha( object ) {
344
+ if ( isGoingToPrevPage( object ) ) {
345
  return false;
346
  }
347
 
645
  }
646
 
647
  function isGoingToPrevPage( $object ) {
648
+ return ( typeof frmProForm !== 'undefined' && frmProForm.goingToPreviousPage( $object ) );
649
  }
650
 
651
  function removeSubmitLoading( $object, enable, processesRunning ) {
js/formidable.min.js CHANGED
@@ -10,21 +10,21 @@ function checkRequiredField(field,errors){var fileID=field.getAttribute("data-fr
10
  -1)fieldID=fieldID.replace("-H","").replace("-m","");var 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 getFileVals(fileID){var val="";var fileFields=jQuery('input[name="file'+fileID+'"], input[name="file'+fileID+'[]"], input[name^="item_meta['+fileID+']"]');fileFields.each(function(){if(val===
11
  "")val=this.value});return val}function checkEmailField(field,errors,emailFields){var emailAddress=field.value;var fieldID=getFieldId(field,true);if(fieldID in errors)return errors;var isConf=fieldID.indexOf("conf_")===0;if(emailAddress!==""||isConf){var re=/^(([^<>()\[\]\\.,;:\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;var invalidMsg=getFieldValidationMessage(field,"data-invmsg");if(emailAddress!==""&&re.test(emailAddress)===
12
  false){errors[fieldID]=invalidMsg;if(isConf)errors[fieldID.replace("conf_","")]=""}else if(isConf){var confName=field.name.replace("conf_","");var match=emailFields.filter('[name="'+confName+'"]').val();if(match!==emailAddress){errors[fieldID]="";errors[fieldID.replace("conf_","")]=""}}}return errors}function checkNumberField(field,errors){var number=field.value;if(number!==""&&isNaN(number/1)!==false){var fieldID=getFieldId(field,true);if(!(fieldID in errors))errors[fieldID]=getFieldValidationMessage(field,
13
- "data-invmsg")}return errors}function checkPatternField(field,errors){var text=field.value;var format=getFieldValidationMessage(field,"pattern");if(format!==""&&text!==""){var 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){if(typeof frmProForm!=="undefined"&&frmProForm.goingToPreviousPage(object))return false;
14
- var recaptcha=jQuery(object).find('.frm-g-recaptcha[data-size="invisible"], .g-recaptcha[data-size="invisible"]');if(recaptcha.length){var recaptchaID=recaptcha.data("rid");var 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,
15
- errors){var $recaptcha=jQuery(form).find(".frm-g-recaptcha");if($recaptcha.length){var recaptchaID=$recaptcha.data("rid");var response=grecaptcha.getResponse(recaptchaID);if(response.length===0){var fieldContainer=$recaptcha.closest(".frm_form_field");var fieldID=fieldContainer.attr("id").replace("frm_field_","").replace("_container","");errors[fieldID]=""}}return errors}function getFieldValidationMessage(field,messageType){var msg=field.getAttribute(messageType);if(msg===null)msg="";return msg}function shouldJSValidate(object){var validate=
16
- jQuery(object).hasClass("frm_js_validate");if(validate&&typeof frmProForm!=="undefined"&&(frmProForm.savingDraft(object)||frmProForm.goingToPreviousPage(object)))validate=false;return validate}function getFormErrors(object,action){if(typeof action==="undefined")jQuery(object).find('input[name="frm_action"]').val();var 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_"+
17
- action+"&nonce="+frm_js.nonce,success:function(response){var defaultResponse={"content":"","errors":{},"pass":false};if(response===null)response=defaultResponse;response=response.replace(/^\s+|\s+$/g,"");if(response.indexOf("{")===0)response=jQuery.parseJSON(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));
18
- if(frm_js.offset!=-1)frmFrontForm.scrollMsg(jQuery(object),false);var formID=jQuery(object).find('input[name="form_id"]').val();response.content=response.content.replace(/ frm_pro_form /g," frm_pro_form frm_no_hide ");var replaceContent=jQuery(object).closest(".frm_forms");removeAddedScripts(replaceContent,formID);replaceContent.replaceWith(response.content);addUrlParam(response);if(typeof frmThemeOverride_frmAfterSubmit==="function"){var pageOrder=jQuery('input[name="frm_page_order_'+formID+'"]').val();
19
- var formReturned=jQuery(response.content).find('input[name="form_id"]').val();frmThemeOverride_frmAfterSubmit(formReturned,pageOrder,response.content,object)}afterFormSubmitted(object,response)}else if(Object.keys(response.errors).length){removeSubmitLoading(jQuery(object),"enable");var cont_submit=true;removeAllErrors();var show_captcha=false;var $fieldCont=null;for(var key in response.errors){$fieldCont=jQuery(object).find("#frm_field_"+key+"_container");if($fieldCont.length){if(!$fieldCont.is(":visible")){var inCollapsedSection=
20
- $fieldCont.closest(".frm_toggle_container");if(inCollapsedSection.length){var frmTrigger=inCollapsedSection.prev();if(!frmTrigger.hasClass("frm_trigger"))frmTrigger=frmTrigger.prev(".frm_trigger");frmTrigger.click()}}if($fieldCont.is(":visible")){addFieldError($fieldCont,key,response.errors);cont_submit=false;var $recaptcha=jQuery(object).find("#frm_field_"+key+"_container .frm-g-recaptcha, #frm_field_"+key+"_container .g-recaptcha");if($recaptcha.length){show_captcha=true;var recaptchaID=$recaptcha.data("rid");
21
- if(jQuery().grecaptcha)if(recaptchaID)grecaptcha.reset(recaptchaID);else grecaptcha.reset()}}}}jQuery(document).trigger("frmFormErrors",[object,response]);fieldset.removeClass("frm_doing_ajax");scrollToFirstField(object);if(show_captcha!==true)replaceCheckedRecaptcha(object,false);if(cont_submit)object.submit();else jQuery(object).prepend(response.error_message)}else{showFileLoading(object);replaceCheckedRecaptcha(object,true);object.submit()}},error:function(){jQuery(object).find('input[type="submit"], input[type="button"]').removeAttr("disabled");
22
- object.submit()}})}function afterFormSubmitted(object,response){var formCompleted=jQuery(response.content).find(".frm_message");if(formCompleted.length)jQuery(document).trigger("frmFormComplete",[object,response]);else jQuery(document).trigger("frmPageChanged",[object,response])}function removeAddedScripts(formContainer,formID){var endReplace=jQuery(".frm_end_ajax_"+formID);if(endReplace.length){formContainer.nextUntil(".frm_end_ajax_"+formID).remove();endReplace.remove()}}function addUrlParam(response){if(history.pushState&&
23
  typeof response.page!=="undefined"){var url=addQueryVar("frm_page",response.page);window.history.pushState({"html":response.html},"","?"+url)}}function addQueryVar(key,value){key=encodeURI(key);value=encodeURI(value);var kvp=document.location.search.substr(1).split("&");var i=kvp.length;var x;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("=");return kvp.join("&")}function addFieldError($fieldCont,key,jsErrors){if($fieldCont.length&&
24
  $fieldCont.is(":visible")){$fieldCont.addClass("frm_blank_field");var 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{$fieldCont.append('<div class="frm_error" id="'+id+'">'+jsErrors[key]+"</div>");if(typeof describedBy==="undefined")describedBy=id;else if(describedBy.indexOf(id)===-1)describedBy=describedBy+" "+id;input.attr("aria-describedby",
25
  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");$fieldCont.removeClass("frm_blank_field has-error");errorMessage.remove();input.attr("aria-invalid",false);if(typeof describedBy!=="undefined"){describedBy=describedBy.replace(errorId,
26
  "");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");if(field.length)frmFrontForm.scrollMsg(field,object,true)}function showSubmitLoading($object){showLoadingIndicator($object);disableSubmitButton($object)}function showLoadingIndicator($object){if(!$object.hasClass("frm_loading_form")&&
27
- !$object.hasClass("frm_loading_prev")){addLoadingClass($object);$object.trigger("frmStartFormLoading")}}function addLoadingClass($object){var loading_class=isGoingToPrevPage($object)?"frm_loading_prev":"frm_loading_form";$object.addClass(loading_class)}function isGoingToPrevPage($object){return typeof frmProForm!==undefined&&frmProForm.goingToPreviousPage($object)}function removeSubmitLoading($object,enable,processesRunning){if(processesRunning>0)return;var loadingForm=jQuery(".frm_loading_form");
28
  loadingForm.removeClass("frm_loading_form");loadingForm.removeClass("frm_loading_prev");loadingForm.trigger("frmEndFormLoading");if(enable==="enable")enableSubmitButton(loadingForm)}function showFileLoading(object){var loading=document.getElementById("frm_loading");if(loading!==null){var file_val=jQuery(object).find("input[type=file]").val();if(typeof file_val!=="undefined"&&file_val!=="")setTimeout(function(){jQuery(loading).fadeIn("slow")},2E3)}}function replaceCheckedRecaptcha(object,checkPage){var $recapField=
29
  jQuery(object).find(".frm-g-recaptcha, .g-recaptcha");if($recapField.length){if(checkPage){var morePages=jQuery(object).find(".frm_next_page").length<1||jQuery(object).find(".frm_next_page").val()<1;if(!morePages)return}$recapField.closest(".frm_form_field").replaceWith('<input type="hidden" name="recaptcha_checked" value="'+frm_js.nonce+'">')}}function clearDefault(){toggleDefault(jQuery(this),"clear")}function replaceDefault(){toggleDefault(jQuery(this),"replace")}function toggleDefault($thisField,
30
  e){var v=$thisField.data("frmval").replace(/(\n|\r\n)/g,"\r");if(v===""||typeof v==="undefined")return false;var 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),entry_id=this.getAttribute("data-eid"),form_id=this.getAttribute("data-fid"),label=$link.find(".frm_link_label");if(label.length<1)label=$link;label.append('<span class="frm-wait"></span>');
10
  -1)fieldID=fieldID.replace("-H","").replace("-m","");var 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 getFileVals(fileID){var val="";var fileFields=jQuery('input[name="file'+fileID+'"], input[name="file'+fileID+'[]"], input[name^="item_meta['+fileID+']"]');fileFields.each(function(){if(val===
11
  "")val=this.value});return val}function checkEmailField(field,errors,emailFields){var emailAddress=field.value;var fieldID=getFieldId(field,true);if(fieldID in errors)return errors;var isConf=fieldID.indexOf("conf_")===0;if(emailAddress!==""||isConf){var re=/^(([^<>()\[\]\\.,;:\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;var invalidMsg=getFieldValidationMessage(field,"data-invmsg");if(emailAddress!==""&&re.test(emailAddress)===
12
  false){errors[fieldID]=invalidMsg;if(isConf)errors[fieldID.replace("conf_","")]=""}else if(isConf){var confName=field.name.replace("conf_","");var match=emailFields.filter('[name="'+confName+'"]').val();if(match!==emailAddress){errors[fieldID]="";errors[fieldID.replace("conf_","")]=""}}}return errors}function checkNumberField(field,errors){var number=field.value;if(number!==""&&isNaN(number/1)!==false){var fieldID=getFieldId(field,true);if(!(fieldID in errors))errors[fieldID]=getFieldValidationMessage(field,
13
+ "data-invmsg")}return errors}function checkPatternField(field,errors){var text=field.value;var format=getFieldValidationMessage(field,"pattern");if(format!==""&&text!==""){var 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){if(isGoingToPrevPage(object))return false;var recaptcha=jQuery(object).find('.frm-g-recaptcha[data-size="invisible"], .g-recaptcha[data-size="invisible"]');
14
+ if(recaptcha.length){var recaptchaID=recaptcha.data("rid");var 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 $recaptcha=jQuery(form).find(".frm-g-recaptcha");if($recaptcha.length){var recaptchaID=$recaptcha.data("rid");
15
+ var response=grecaptcha.getResponse(recaptchaID);if(response.length===0){var fieldContainer=$recaptcha.closest(".frm_form_field");var fieldID=fieldContainer.attr("id").replace("frm_field_","").replace("_container","");errors[fieldID]=""}}return errors}function getFieldValidationMessage(field,messageType){var msg=field.getAttribute(messageType);if(msg===null)msg="";return msg}function shouldJSValidate(object){var validate=jQuery(object).hasClass("frm_js_validate");if(validate&&typeof frmProForm!==
16
+ "undefined"&&(frmProForm.savingDraft(object)||frmProForm.goingToPreviousPage(object)))validate=false;return validate}function getFormErrors(object,action){if(typeof action==="undefined")jQuery(object).find('input[name="frm_action"]').val();var 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 defaultResponse=
17
+ {"content":"","errors":{},"pass":false};if(response===null)response=defaultResponse;response=response.replace(/^\s+|\s+$/g,"");if(response.indexOf("{")===0)response=jQuery.parseJSON(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),false);var formID=
18
+ jQuery(object).find('input[name="form_id"]').val();response.content=response.content.replace(/ frm_pro_form /g," frm_pro_form frm_no_hide ");var replaceContent=jQuery(object).closest(".frm_forms");removeAddedScripts(replaceContent,formID);replaceContent.replaceWith(response.content);addUrlParam(response);if(typeof frmThemeOverride_frmAfterSubmit==="function"){var pageOrder=jQuery('input[name="frm_page_order_'+formID+'"]').val();var formReturned=jQuery(response.content).find('input[name="form_id"]').val();
19
+ frmThemeOverride_frmAfterSubmit(formReturned,pageOrder,response.content,object)}afterFormSubmitted(object,response)}else if(Object.keys(response.errors).length){removeSubmitLoading(jQuery(object),"enable");var cont_submit=true;removeAllErrors();var show_captcha=false;var $fieldCont=null;for(var key in response.errors){$fieldCont=jQuery(object).find("#frm_field_"+key+"_container");if($fieldCont.length){if(!$fieldCont.is(":visible")){var inCollapsedSection=$fieldCont.closest(".frm_toggle_container");
20
+ if(inCollapsedSection.length){var frmTrigger=inCollapsedSection.prev();if(!frmTrigger.hasClass("frm_trigger"))frmTrigger=frmTrigger.prev(".frm_trigger");frmTrigger.click()}}if($fieldCont.is(":visible")){addFieldError($fieldCont,key,response.errors);cont_submit=false;var $recaptcha=jQuery(object).find("#frm_field_"+key+"_container .frm-g-recaptcha, #frm_field_"+key+"_container .g-recaptcha");if($recaptcha.length){show_captcha=true;var recaptchaID=$recaptcha.data("rid");if(jQuery().grecaptcha)if(recaptchaID)grecaptcha.reset(recaptchaID);
21
+ else grecaptcha.reset()}}}}jQuery(document).trigger("frmFormErrors",[object,response]);fieldset.removeClass("frm_doing_ajax");scrollToFirstField(object);if(show_captcha!==true)replaceCheckedRecaptcha(object,false);if(cont_submit)object.submit();else jQuery(object).prepend(response.error_message)}else{showFileLoading(object);replaceCheckedRecaptcha(object,true);object.submit()}},error:function(){jQuery(object).find('input[type="submit"], input[type="button"]').removeAttr("disabled");object.submit()}})}
22
+ function afterFormSubmitted(object,response){var formCompleted=jQuery(response.content).find(".frm_message");if(formCompleted.length)jQuery(document).trigger("frmFormComplete",[object,response]);else jQuery(document).trigger("frmPageChanged",[object,response])}function removeAddedScripts(formContainer,formID){var endReplace=jQuery(".frm_end_ajax_"+formID);if(endReplace.length){formContainer.nextUntil(".frm_end_ajax_"+formID).remove();endReplace.remove()}}function addUrlParam(response){if(history.pushState&&
23
  typeof response.page!=="undefined"){var url=addQueryVar("frm_page",response.page);window.history.pushState({"html":response.html},"","?"+url)}}function addQueryVar(key,value){key=encodeURI(key);value=encodeURI(value);var kvp=document.location.search.substr(1).split("&");var i=kvp.length;var x;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("=");return kvp.join("&")}function addFieldError($fieldCont,key,jsErrors){if($fieldCont.length&&
24
  $fieldCont.is(":visible")){$fieldCont.addClass("frm_blank_field");var 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{$fieldCont.append('<div class="frm_error" id="'+id+'">'+jsErrors[key]+"</div>");if(typeof describedBy==="undefined")describedBy=id;else if(describedBy.indexOf(id)===-1)describedBy=describedBy+" "+id;input.attr("aria-describedby",
25
  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");$fieldCont.removeClass("frm_blank_field has-error");errorMessage.remove();input.attr("aria-invalid",false);if(typeof describedBy!=="undefined"){describedBy=describedBy.replace(errorId,
26
  "");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");if(field.length)frmFrontForm.scrollMsg(field,object,true)}function showSubmitLoading($object){showLoadingIndicator($object);disableSubmitButton($object)}function showLoadingIndicator($object){if(!$object.hasClass("frm_loading_form")&&
27
+ !$object.hasClass("frm_loading_prev")){addLoadingClass($object);$object.trigger("frmStartFormLoading")}}function addLoadingClass($object){var loading_class=isGoingToPrevPage($object)?"frm_loading_prev":"frm_loading_form";$object.addClass(loading_class)}function isGoingToPrevPage($object){return typeof frmProForm!=="undefined"&&frmProForm.goingToPreviousPage($object)}function removeSubmitLoading($object,enable,processesRunning){if(processesRunning>0)return;var loadingForm=jQuery(".frm_loading_form");
28
  loadingForm.removeClass("frm_loading_form");loadingForm.removeClass("frm_loading_prev");loadingForm.trigger("frmEndFormLoading");if(enable==="enable")enableSubmitButton(loadingForm)}function showFileLoading(object){var loading=document.getElementById("frm_loading");if(loading!==null){var file_val=jQuery(object).find("input[type=file]").val();if(typeof file_val!=="undefined"&&file_val!=="")setTimeout(function(){jQuery(loading).fadeIn("slow")},2E3)}}function replaceCheckedRecaptcha(object,checkPage){var $recapField=
29
  jQuery(object).find(".frm-g-recaptcha, .g-recaptcha");if($recapField.length){if(checkPage){var morePages=jQuery(object).find(".frm_next_page").length<1||jQuery(object).find(".frm_next_page").val()<1;if(!morePages)return}$recapField.closest(".frm_form_field").replaceWith('<input type="hidden" name="recaptcha_checked" value="'+frm_js.nonce+'">')}}function clearDefault(){toggleDefault(jQuery(this),"clear")}function replaceDefault(){toggleDefault(jQuery(this),"replace")}function toggleDefault($thisField,
30
  e){var v=$thisField.data("frmval").replace(/(\n|\r\n)/g,"\r");if(v===""||typeof v==="undefined")return false;var 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),entry_id=this.getAttribute("data-eid"),form_id=this.getAttribute("data-fid"),label=$link.find(".frm_link_label");if(label.length<1)label=$link;label.append('<span class="frm-wait"></span>');
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 4.03.02\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: 2019-11-06T17:46:02+01:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.1.0\n"
15
  "X-Domain: formidable\n"
2
  # This file is distributed under the same license as the Formidable Forms plugin.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Formidable Forms 4.03.03\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: 2019-11-07T15:22:20+01:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.1.0\n"
15
  "X-Domain: formidable\n"
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: forms, contact form, form builder, survey, form maker, form, form creator
4
  Requires at least: 4.6
5
  Tested up to: 5.2.3
6
  Requires PHP: 5.6
7
- Stable tag: 4.03.02
8
 
9
  The most advanced WordPress forms plugin. Go beyond contact forms with our drag & drop form builder for surveys, quiz forms, and more.
10
 
@@ -356,24 +356,14 @@ The Formidable drag & drop form builder combined with our add-ons is the most po
356
  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 Forms Pro</a>. A Pro license gives you access to the full version of Formidable Forms for more advanced forms, Formidable Views, graphs and stats, priority support, and Formidable Add-ons!
357
 
358
  == Changelog ==
 
 
 
359
  = 4.03.02 =
360
  * Add 'frm_form_object' hook run when a form is fetched from the database.
361
  * Include more education about field types, including the new Appointments field.
362
  * Fix: Dropdown fields weren't saving HTML values correctly.
363
 
364
- = 4.03.01 =
365
- * Add an option to filter form templates by category.
366
- * Add the refresh downloads link on the add-ons and form templates pages.
367
- * Fix: If HTML entities are intentionally saved in a field, keep it that way rather than converting to the value.
368
- * Fix: Prevent a js error with some plugins when the WP editor is loaded on a custom page.
369
-
370
- = 4.03 =
371
- * New: Add an easier way to upgrade to the Pro version.
372
- * New: When the default form is created, use the email address in the form as the Reply to address.
373
- * Fix: On some sites, the Formidable js wasn't loading correctly and causing errors.
374
- * Fix: Don't include generated css with plugin. Some sites weren't updating it.
375
- * New: Added frm_before_create_field hook while a field is being created from the builder. This allows extra fields to be included at once.
376
-
377
  = 4.0 =
378
  * We've added a new, full screen builder for a faster and more enjoyable form building experience.
379
  * Moved all settings into the sidebar instead of expanding/collapsing under each field.
4
  Requires at least: 4.6
5
  Tested up to: 5.2.3
6
  Requires PHP: 5.6
7
+ Stable tag: 4.03.03
8
 
9
  The most advanced WordPress forms plugin. Go beyond contact forms with our drag & drop form builder for surveys, quiz forms, and more.
10
 
356
  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 Forms Pro</a>. A Pro license gives you access to the full version of Formidable Forms for more advanced forms, Formidable Views, graphs and stats, priority support, and Formidable Add-ons!
357
 
358
  == Changelog ==
359
+ = 4.03.03 =
360
+ * Fix: There was an error on form submit when Pro was not installed.
361
+
362
  = 4.03.02 =
363
  * Add 'frm_form_object' hook run when a form is fetched from the database.
364
  * Include more education about field types, including the new Appointments field.
365
  * Fix: Dropdown fields weren't saving HTML values correctly.
366
 
 
 
 
 
 
 
 
 
 
 
 
 
 
367
  = 4.0 =
368
  * We've added a new, full screen builder for a faster and more enjoyable form building experience.
369
  * Moved all settings into the sidebar instead of expanding/collapsing under each field.