diff --git a/classes/controllers/FrmFormActionsController.php b/classes/controllers/FrmFormActionsController.php index de3487aa05..b5657ae30d 100644 --- a/classes/controllers/FrmFormActionsController.php +++ b/classes/controllers/FrmFormActionsController.php @@ -671,7 +671,7 @@ public static function limit_by_type( $where ) { /** * Prevent WPML from filtering form actions based on the active language. * - * @since x.x + * @since 6.20 * * @param bool|null $null * @param string $post_type diff --git a/classes/controllers/FrmFormsController.php b/classes/controllers/FrmFormsController.php index f353197e04..9bf9ed76d4 100644 --- a/classes/controllers/FrmFormsController.php +++ b/classes/controllers/FrmFormsController.php @@ -683,7 +683,7 @@ private static function load_direct_preview() { * Since this form is added by default and every site uses the same key, it is too easy * to guess this form. * - * @since x.x + * @since 6.20 * * @param string $form_key Form key. * @return void @@ -1924,7 +1924,7 @@ public static function process_bulk_form_actions( $errors ) { /** * Includes html that shows a message when the device is too small to use Formidable Forms admin pages. * - * @since x.x + * @since 6.20 * @return void */ public static function include_device_too_small_message() { diff --git a/classes/helpers/FrmAppHelper.php b/classes/helpers/FrmAppHelper.php index 7959e3bea3..1ad87268b9 100644 --- a/classes/helpers/FrmAppHelper.php +++ b/classes/helpers/FrmAppHelper.php @@ -29,7 +29,7 @@ class FrmAppHelper { * * @var string */ - public static $plug_version = '6.19'; + public static $plug_version = '6.20'; /** * @var bool @@ -360,7 +360,7 @@ public static function is_admin_list_page( $page = 'formidable' ) { } /** - * @since x.x + * @since 6.20 * * @return array */ diff --git a/classes/helpers/FrmFormsHelper.php b/classes/helpers/FrmFormsHelper.php index 19a91dd696..2efcf65219 100644 --- a/classes/helpers/FrmFormsHelper.php +++ b/classes/helpers/FrmFormsHelper.php @@ -1843,7 +1843,7 @@ public static function sanitize_layout_class( $classname ) { /** * Returns true if the preview should be blocked. * - * @since x.x + * @since 6.20 * * @param string $form_key * @return bool @@ -1853,7 +1853,7 @@ public static function should_block_preview( $form_key ) { /** * Filters whether the form preview should be blocked. * - * @since x.x + * @since 6.20 * * @param bool $should_block * @param string $form_key @@ -1888,12 +1888,12 @@ public static function actions_dropdown( $atts ) { * If Pro is active but using a version earlier than v6.2 fallback to Pro for AJAX submit (so things don't all happen twice). * * @since 6.2 - * @deprecated x.x + * @deprecated 6.20 * * @return bool */ public static function should_use_pro_for_ajax_submit() { - _deprecated_function( __METHOD__, 'x.x' ); + _deprecated_function( __METHOD__, '6.20' ); return false; } } diff --git a/classes/helpers/FrmSerializedStringParserHelper.php b/classes/helpers/FrmSerializedStringParserHelper.php index 91ef622b51..3e7106ecef 100644 --- a/classes/helpers/FrmSerializedStringParserHelper.php +++ b/classes/helpers/FrmSerializedStringParserHelper.php @@ -53,7 +53,7 @@ public function parse( $string ) { /** * Check if an unserialized value is valid. * - * @since x.x + * @since 6.20 * * @param mixed $value * @return bool @@ -63,7 +63,7 @@ private function serialized_value_is_valid( $value ) { } /** - * @since x.x + * @since 6.20 * * @param string $string * @return bool diff --git a/classes/helpers/FrmStylesHelper.php b/classes/helpers/FrmStylesHelper.php index 3a47a6fa64..15fbbe3478 100644 --- a/classes/helpers/FrmStylesHelper.php +++ b/classes/helpers/FrmStylesHelper.php @@ -453,7 +453,7 @@ public static function output_vars( $settings, $defaults = array(), $vars = arra /** * Prevent invalid CSS keys from getting added to the generated CSS. * - * @since x.x + * @since 6.20 * * @param string $key * @return bool @@ -468,7 +468,7 @@ private static function css_key_is_valid( $key ) { * Confirm a CSS value is valid. * If it appears to contain JavaScript, it will not be added. * - * @since x.x + * @since 6.20 * * @param string $var * @return bool diff --git a/classes/models/FrmFormTemplateApi.php b/classes/models/FrmFormTemplateApi.php index 65982233c7..f9d2b68bdb 100644 --- a/classes/models/FrmFormTemplateApi.php +++ b/classes/models/FrmFormTemplateApi.php @@ -66,14 +66,14 @@ protected function skip_categories() { * @return void */ public static function signup() { - _deprecated_function( __METHOD__, 'x.x' ); + _deprecated_function( __METHOD__, '6.20' ); } /** * @return string */ public function get_free_license() { - _deprecated_function( __METHOD__, 'x.x' ); + _deprecated_function( __METHOD__, '6.20' ); return ''; } @@ -85,7 +85,7 @@ public function get_free_license() { * @return bool */ public function has_free_access() { - _deprecated_function( __METHOD__, 'x.x' ); + _deprecated_function( __METHOD__, '6.20' ); return true; } } diff --git a/classes/models/fields/FrmFieldGdpr.php b/classes/models/fields/FrmFieldGdpr.php index c9f37f733f..aff48bca0f 100644 --- a/classes/models/fields/FrmFieldGdpr.php +++ b/classes/models/fields/FrmFieldGdpr.php @@ -159,7 +159,7 @@ protected function before_replace_html_shortcodes( $args, $html ) { /** * Make sure the GDPR field is required even if the required setting is disabled. * - * @since x.x + * @since 6.20 * * @param array $args * @return array @@ -182,7 +182,7 @@ public function validate( $args ) { /** * Make sure the GDPR field is required even if the required setting is disabled. * - * @since x.x + * @since 6.20 * * @param bool $required * @param array $field diff --git a/classes/views/form-templates/modals/code-from-email-modal.php b/classes/views/form-templates/modals/code-from-email-modal.php index 3d340b5a42..681c846e30 100644 --- a/classes/views/form-templates/modals/code-from-email-modal.php +++ b/classes/views/form-templates/modals/code-from-email-modal.php @@ -9,4 +9,4 @@ die( 'You are not allowed to call this page directly.' ); } -_deprecated_file( __FILE__, 'x.x' ); +_deprecated_file( __FILE__, '6.20' ); diff --git a/classes/views/shared/small-device-message.php b/classes/views/shared/small-device-message.php index 5d0a82b530..3cb91eccc2 100644 --- a/classes/views/shared/small-device-message.php +++ b/classes/views/shared/small-device-message.php @@ -2,7 +2,7 @@ /** * Small device message. * - * @since x.x + * @since 6.20 * @package Formidable */ diff --git a/formidable.php b/formidable.php index d891756c2d..2e73cb9c88 100644 --- a/formidable.php +++ b/formidable.php @@ -2,7 +2,7 @@ /** * Plugin Name: Formidable Forms * Description: Quickly and easily create drag-and-drop forms - * Version: 6.19 + * Version: 6.20 * Plugin URI: https://formidableforms.com/ * Author URI: https://formidableforms.com/ * Author: Strategy11 Form Builder Team diff --git a/js/formidable.js b/js/formidable.js index 076fb771f0..a07242373d 100644 --- a/js/formidable.js +++ b/js/formidable.js @@ -1659,7 +1659,7 @@ function frmFrontFormJS() { /** * Animates the scroll position of the document. * - * @since x.x + * @since 6.20 * * @param {number} start * @param {number} end diff --git a/js/formidable.min.js b/js/formidable.min.js index 64603471d5..852a284f56 100644 --- a/js/formidable.min.js +++ b/js/formidable.min.js @@ -7,64 +7,66 @@ field.type)checkValidity(field,errors);const isConfirmationField=field.name&&0== getFieldValidationMessage(field,"data-invmsg");if("function"===typeof field.reportValidity)field.reportValidity()}function hasClass(element,targetClass){return element.classList&&element.classList.contains(targetClass)}function maybeValidateChange(field){if(field.type==="url")maybeAddHttpToUrl(field);const form=field.closest("form");if(form&&hasClass(form,"frm_js_validate"))validateField(field)}function maybeAddHttpToUrl(field){const url=field.value;const matches=url.match(/^(https?|ftps?|mailto|news|feed|telnet):/); if(field.value!==""&&matches===null)field.value="http://"+url}function validateField(field){let errors,key;errors=[];const fieldContainer=field.closest(".frm_form_field");if(!fieldContainer)return;if(hasClass(fieldContainer,"frm_required_field")&&!hasClass(field,"frm_optional"))errors=checkRequiredField(field,errors);if(errors.length<1)validateFieldValue(field,errors,false);const $fieldCont=jQuery(fieldContainer);removeFieldError($fieldCont);if(Object.keys(errors).length>0)for(key in errors)addFieldError($fieldCont, key,errors)}function validateFieldValue(field,errors,onSubmit){if(field.type==="hidden");else if(field.type==="number")checkNumberField(field,errors);else if(field.type==="email")checkEmailField(field,errors,onSubmit);else if(field.type==="password")checkPasswordField(field,errors,onSubmit);else if(field.type==="url")checkUrlField(field,errors);else if(field.pattern!==null)checkPatternField(field,errors);triggerCustomEvent(document,"frm_validate_field_value",{field:field,errors:errors,onSubmit:onSubmit})} -function checkRequiredField(field,errors){let checkGroup,tempVal,i,placeholder,val="",fieldID="",fileID=field.getAttribute("data-frmfile");if(field.type==="hidden"&&fileID===null&&!isAppointmentField(field)&&!isInlineDatepickerField(field))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);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()\[\]\\.,;:\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"); -if(shouldCheckConfirmField(field,onSubmit))confirmField(field,errors)}function checkPasswordField(field,errors,onSubmit){if(shouldCheckConfirmField(field,onSubmit))confirmField(field,errors)}function confirmField(field,errors){let 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;if(value!==confirmValue)errors["conf_"+strippedFieldID]=getFieldValidationMessage(confirmField,"data-confmsg")}else validateField(confirmField)}function checkNumberField(field,errors){let fieldID,number=field.value;if(number!==""&&isNaN(number/1)!==false){fieldID=getFieldId(field,true);if(!(fieldID in errors))errors[fieldID]=getFieldValidationMessage(field, -"data-invmsg")}}function checkPatternField(field,errors){let fieldID,text=field.value,format=getFieldValidationMessage(field,"pattern");if(format!==""&&text!==""){fieldID=getFieldId(field,true);if(!(fieldID in errors))if("object"===typeof window.frmProForm&&"function"===typeof window.frmProForm.isIntlPhoneInput&&window.frmProForm.isIntlPhoneInput(field)){if(!window.frmProForm.validateIntlPhoneInput(field))errors[fieldID]=getFieldValidationMessage(field,"data-invmsg")}else{format=new RegExp("^"+format+ -"$","i");if(format.test(text)===false)errors[fieldID]=getFieldValidationMessage(field,"data-invmsg")}}}function setSelectPlaceholderColor(){let selects=document.querySelectorAll(".form-field select"),styleElement=document.querySelector(".with_frm_style"),textColorDisabled=styleElement?getComputedStyle(styleElement).getPropertyValue("--text-color-disabled").trim():"",changeSelectColor;if(!selects.length||!textColorDisabled)return;changeSelectColor=function(select){if(select.options[select.selectedIndex]&& -hasClass(select.options[select.selectedIndex],"frm-select-placeholder"))select.style.setProperty("color",textColorDisabled,"important");else select.style.color=""};Array.prototype.forEach.call(selects,function(select){changeSelectColor(select);select.addEventListener("change",function(){changeSelectColor(select)})})}function hasInvisibleRecaptcha(object){let 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=recaptcha.data("rid");alreadyChecked=grecaptcha.getResponse(recaptchaID);if(alreadyChecked.length===0)return recaptcha}return false}function executeInvisibleRecaptcha(invisibleRecaptcha){const recaptchaID=invisibleRecaptcha.data("rid");grecaptcha.reset(recaptchaID);grecaptcha.execute(recaptchaID)}function validateRecaptcha(form,errors){let response;const $recaptcha=jQuery(form).find(".frm-g-recaptcha");if(!$recaptcha.length)return errors;const recaptchaID=$recaptcha.data("rid"); -try{response=grecaptcha.getResponse(recaptchaID)}catch(e){if(jQuery(form).find('input[name="recaptcha_checked"]').length)return errors;response=""}if(response.length===0){const fieldContainer=$recaptcha.closest(".frm_form_field");const fieldID=fieldContainer.attr("id").replace("frm_field_","").replace("_container","");errors[fieldID]=""}return errors}function getFieldValidationMessage(field,messageType){let msg=field.getAttribute(messageType);if(null===msg)msg="";if(""!==msg&&shouldWrapErrorHtmlAroundMessageType(messageType))msg= -wrapErrorHtml(msg,field);return msg}function wrapErrorHtml(msg,field){let errorHtml=field.getAttribute("data-error-html");if(null===errorHtml)return msg;errorHtml=errorHtml.replace(/\+/g,"%20");msg=decodeURIComponent(errorHtml).replace("[error]",msg);const fieldId=getFieldId(field,false);const split=fieldId.split("-");const fieldIdParts=field.id.split("_");fieldIdParts.shift();split[0]=fieldIdParts.join("_");const errorKey=split.join("-");return msg.replace("[key]",errorKey)}function shouldWrapErrorHtmlAroundMessageType(type){return"pattern"!== -type}function shouldJSValidate(object){if("function"===typeof object.get)object=object.get(0);let validate=hasClass(object,"frm_js_validate");if(validate&&typeof frmProForm!=="undefined"&&(frmProForm.savingDraft(object)||frmProForm.goingToPreviousPage(object)))validate=false;return validate}function getFormErrors(object,action){let fieldset,data,success,error,shouldTriggerEvent;fieldset=jQuery(object).find(".frm_form_field");fieldset.addClass("frm_doing_ajax");data=jQuery(object).serialize()+"&action=frm_entries_"+ -action+"&nonce="+frm_js.nonce;shouldTriggerEvent=object.classList.contains("frm_trigger_event_on_submit");const doRedirect=response=>{jQuery(document).trigger("frmBeforeFormRedirect",[object,response]);if(!response.openInNewTab){window.location=response.redirect;return}const newTab=window.open(response.redirect,"_blank");if(!newTab&&response.fallbackMsg&&response.content)response.content=response.content.trim().replace(/(<\/div><\/div>)$/," "+response.fallbackMsg+"")};success=function(response){let defaultResponse, -formID,replaceContent,pageOrder,formReturned,contSubmit,delay,$fieldCont,key,inCollapsedSection,frmTrigger;defaultResponse={content:"",errors:{},pass:false};if(response===null)response=defaultResponse;else{response=response.replace(/^\s+|\s+$/g,"");if(response.indexOf("{")===0)response=JSON.parse(response);else response=defaultResponse}if(typeof response.redirect!=="undefined"){if(shouldTriggerEvent){triggerCustomEvent(object,"frmSubmitEvent");return}if(response.delay)setTimeout(function(){doRedirect(response)}, -1E3*response.delay);else doRedirect(response)}if("string"===typeof response.content&&response.content!==""){if(shouldTriggerEvent){triggerCustomEvent(object,"frmSubmitEvent",{content:response.content});return}removeSubmitLoading(jQuery(object));if(frm_js.offset!=-1)frmFrontForm.scrollMsg(jQuery(object),false);formID=jQuery(object).find('input[name="form_id"]').val();response.content=response.content.replace(/ frm_pro_form /g," frm_pro_form frm_no_hide ");replaceContent=jQuery(object).closest(".frm_forms"); -removeAddedScripts(replaceContent,formID);delay=maybeSlideOut(replaceContent,response.content);setTimeout(function(){let container,input,previousInput;afterFormSubmittedBeforeReplace(object,response);replaceContent.replaceWith(response.content);addUrlParam(response);if(typeof frmThemeOverride_frmAfterSubmit==="function"){pageOrder=jQuery('input[name="frm_page_order_'+formID+'"]').val();formReturned=jQuery(response.content).find('input[name="form_id"]').val();frmThemeOverride_frmAfterSubmit(formReturned, -pageOrder,response.content,object)}if(typeof response.recaptcha!=="undefined"){container=jQuery("#frm_form_"+formID+"_container").find(".frm_fields_container");input='';previousInput=container.find('input[name="recaptcha_checked"]');if(previousInput.length)previousInput.replaceWith(input);else container.append(input)}afterFormSubmitted(object,response)},delay)}else if(Object.keys(response.errors).length){removeSubmitLoading(jQuery(object), -"enable");contSubmit=true;removeAllErrors();$fieldCont=null;for(key in response.errors){$fieldCont=jQuery(object).find("#frm_field_"+key+"_container");if($fieldCont.length){if(!$fieldCont.is(":visible")){inCollapsedSection=$fieldCont.closest(".frm_toggle_container");if(inCollapsedSection.length){frmTrigger=inCollapsedSection.prev();if(!frmTrigger.hasClass("frm_trigger"))frmTrigger=frmTrigger.prev(".frm_trigger");frmTrigger.trigger("click")}}if($fieldCont.is(":visible")){addFieldError($fieldCont,key, -response.errors);contSubmit=false}}}jQuery(object).find(".frm-g-recaptcha, .g-recaptcha, .h-captcha").each(function(){const $recaptcha=jQuery(this),recaptchaID=$recaptcha.data("rid");if(typeof grecaptcha!=="undefined"&&grecaptcha)if(recaptchaID)grecaptcha.reset(recaptchaID);else grecaptcha.reset();if(typeof hcaptcha!=="undefined"&&hcaptcha)hcaptcha.reset()});if(window.turnstile)object.querySelectorAll(".cf-turnstile").forEach(turnstileField=>turnstileField.dataset.rid&&turnstile.reset(turnstileField.dataset.rid)); -jQuery(document).trigger("frmFormErrors",[object,response]);fieldset.removeClass("frm_doing_ajax");scrollToFirstField(object);if(contSubmit)object.submit();else{object.insertAdjacentHTML("afterbegin",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()};postToAjaxUrl(object,data,success,error)}function postToAjaxUrl(form,data, -success,error){let ajaxUrl,action,ajaxParams;ajaxUrl=frm_js.ajax_url;action=form.getAttribute("action");if("string"===typeof action&&-1!==action.indexOf("?action=frm_forms_preview"))ajaxUrl=action.split("?action=frm_forms_preview")[0];ajaxParams={type:"POST",url:ajaxUrl,data:data,success:success};if("function"===typeof error)ajaxParams.error=error;jQuery.ajax(ajaxParams)}function afterFormSubmitted(object,response){const formCompleted=jQuery(response.content).find(".frm_message");if(formCompleted.length)jQuery(document).trigger("frmFormComplete", -[object,response]);else jQuery(document).trigger("frmPageChanged",[object,response])}function afterFormSubmittedBeforeReplace(object,response){const formCompleted=jQuery(response.content).find(".frm_message");if(formCompleted.length)triggerCustomEvent(document,"frmFormCompleteBeforeReplace",{object,response})}function removeAddedScripts(formContainer,formID){const endReplace=jQuery(".frm_end_ajax_"+formID);if(endReplace.length){formContainer.nextUntil(".frm_end_ajax_"+formID).remove();endReplace.remove()}} -function maybeSlideOut(oldContent,newContent){let 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");c.addClass(newClass);return 300}return 0}function addUrlParam(response){let 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){let 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("=");return kvp.join("&")}function addFieldError($fieldCont,key,jsErrors){let input,id,describedBy,roleString;if($fieldCont.length&&$fieldCont.is(":visible")){$fieldCont.addClass("frm_blank_field");input=$fieldCont.find("input, select, textarea");id=getErrorElementId(key, -input.get(0));describedBy=input.attr("aria-describedby");if(typeof frmThemeOverride_frmPlaceError==="function")frmThemeOverride_frmPlaceError(key,jsErrors);else{if(-1!==jsErrors[key].indexOf("'+jsErrors[key]+"")}if(typeof describedBy==="undefined")describedBy=id;else if(describedBy.indexOf(id)===-1&&describedBy.indexOf("frm_error_field_")=== --1)if(input.data("error-first")===0)describedBy=describedBy+" "+id;else describedBy=id+" "+describedBy;input.attr("aria-describedby",describedBy)}input.attr("aria-invalid",true);jQuery(document).trigger("frmAddFieldError",[$fieldCont,key,jsErrors])}}function getErrorElementId(key,input){if(isNaN(key)||!input||!input.id)return"frm_error_field_"+key;return"frm_error_"+input.id}function removeFieldError($fieldCont){const errorMessage=$fieldCont.find(".frm_error");const errorId=errorMessage.attr("id"); -const input=$fieldCont.find("input, select, textarea");let describedBy=input.attr("aria-describedby");const fieldContainer=$fieldCont.get(0);if(fieldContainer&&fieldContainer.classList)fieldContainer.classList.remove("frm_blank_field","has-error");errorMessage.remove();input.attr("aria-invalid",false);input.removeAttr("aria-describedby");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){if("function"===typeof object.get)object=object.get(0);const field=object.querySelector(".frm_blank_field");if(field)frmFrontForm.scrollMsg(jQuery(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){const loadingClass=isGoingToPrevPage($object)?"frm_loading_prev":"frm_loading_form";$object.addClass(loadingClass)}function isGoingToPrevPage($object){return typeof frmProForm!=="undefined"&&frmProForm.goingToPreviousPage($object)}function removeSubmitLoading(_,enable,processesRunning){let 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){let fileval,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 confirmClick(){const message=jQuery(this).data("frmconfirm");return confirm(message)}function onHoneypotFieldChange(){const css= -jQuery(this).css("box-shadow");if(css.match(/inset/))this.parentNode.removeChild(this)}function maybeMakeHoneypotFieldsUntabbable(){document.addEventListener("keydown",handleKeyUp);function handleKeyUp(event){if("Tab"===event.key){makeHoneypotFieldsUntabbable();document.removeEventListener("keydown",handleKeyUp)}}function makeHoneypotFieldsUntabbable(){document.querySelectorAll(".frm_verify").forEach(function(input){if(input.id&&0===input.id.indexOf("frm_email_"))input.setAttribute("tabindex",-1)})} -}function changeFocusWhenClickComboFieldLabel(){let label;const 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(){inputsContainer.querySelector(".frm_form_field:first-child input, .frm_form_field:first-child select, .frm_form_field:first-child textarea").focus()})})} -function maybeFocusOnComboSubField(element){if("FIELDSET"!==element.nodeName)return false;if(!element.querySelector(".frm_combo_inputs_container"))return false;const comboSubfield=element.querySelector('[aria-invalid="true"]');if(comboSubfield){focusInput(comboSubfield);return true}return false}function checkForErrorsAndMaybeSetFocus(){let errors,element,timeoutCallback;if(!frm_js.focus_first_error)return;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())){focusInput(element);break}if(maybeFocusOnComboSubField(element))break;if("undefined"!==typeof element.classList){if(element.classList.contains("html-active"))timeoutCallback=function(){const textarea=element.querySelector("textarea");if(null!==textarea)textarea.focus()};else if(element.classList.contains("tmce-active"))timeoutCallback=function(){tinyMCE.activeEditor.focus()}; -if("function"===typeof timeoutCallback){setTimeout(timeoutCallback,0);break}}}while(element.previousSibling)}function focusInput(input){if(input.offsetParent!==null)input.focus();else triggerCustomEvent(document,"frmMaybeDelayFocus",{input})}function documentOn(event,selector,handler,options){if("undefined"===typeof options)options=false;document.addEventListener(event,function(e){let target;for(target=e.target;target&&target!=this;target=target.parentNode)if(target&&target.matches&&target.matches(selector)){handler.call(target, -e);break}},options)}function initFloatingLabels(){let checkFloatLabel,checkDropdownLabel,runOnLoad,selector,floatClass;selector=".frm-show-form .frm_inside_container input, .frm-show-form .frm_inside_container select, .frm-show-form .frm_inside_container textarea";floatClass="frm_label_float_top";checkFloatLabel=function(input){let container,shouldFloatTop,firstOpt;container=input.closest(".frm_inside_container");if(!container)return;shouldFloatTop=input.value||document.activeElement===input;container.classList.toggle(floatClass, -shouldFloatTop);if("SELECT"===input.tagName){firstOpt=input.querySelector("option:first-child");if(shouldFloatTop){if(firstOpt.hasAttribute("data-label")){firstOpt.textContent=firstOpt.getAttribute("data-label");firstOpt.removeAttribute("data-label")}}else if(firstOpt.textContent){firstOpt.setAttribute("data-label",firstOpt.textContent);firstOpt.textContent=""}}};checkDropdownLabel=function(){document.querySelectorAll(".frm-show-form .frm_inside_container:not(."+floatClass+") select").forEach(function(input){const firstOpt= -input.querySelector("option:first-child");if(firstOpt.textContent){firstOpt.setAttribute("data-label",firstOpt.textContent);firstOpt.textContent=""}})};["focus","blur","change"].forEach(function(eventName){documentOn(eventName,selector,function(event){checkFloatLabel(event.target)},true)});jQuery(document).on("change",selector,function(event){checkFloatLabel(event.target)});runOnLoad=function(firstLoad){if(firstLoad&&document.activeElement&&-1!==["INPUT","SELECT","TEXTAREA"].indexOf(document.activeElement.tagName))checkFloatLabel(document.activeElement); -else if(firstLoad)document.querySelectorAll(".frm_inside_container").forEach(function(container){const input=container.querySelector("input, select, textarea");if(input&&""!==input.value)checkFloatLabel(input)});checkDropdownLabel()};runOnLoad(true);jQuery(document).on("frmPageChanged",function(event){runOnLoad()});document.addEventListener("frm_after_start_over",function(event){runOnLoad()})}function shouldUpdateValidityMessage(target){if("INPUT"!==target.nodeName)return false;if(!target.dataset.invmsg)return false; -if("text"!==target.getAttribute("type"))return false;if(target.classList.contains("frm_verify"))return false;return true}function maybeClearCustomValidityMessage(event,field){let key,isInvalid=false;if(!shouldUpdateValidityMessage(field))return;for(key in field.validity){if("customError"===key)continue;if("valid"!==key&&field.validity[key]===true){isInvalid=true;break}}if(!isInvalid)field.setCustomValidity("")}function maybeShowNewTabFallbackMessage(){let messageEl;if(!window.frmShowNewTabFallback)return; -messageEl=document.querySelector("#frm_form_"+frmShowNewTabFallback.formId+"_container .frm_message");if(!messageEl)return;messageEl.insertAdjacentHTML("beforeend"," "+frmShowNewTabFallback.message)}function setCustomValidityMessage(){let forms,length,index;forms=document.getElementsByClassName("frm-show-form");length=forms.length;for(index=0;index -b.toString(16).padStart(2,"0")).join("");const timestamp=Date.now().toString(16);return uniqueKey+"-"+timestamp}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")});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","[id^=frm_email_]",onHoneypotFieldChange);maybeMakeHoneypotFieldsUntabbable();jQuery(document).on("click","a[data-frmconfirm]",confirmClick);checkForErrorsAndMaybeSetFocus();changeFocusWhenClickComboFieldLabel();initFloatingLabels();maybeShowNewTabFallbackMessage();jQuery(document).on("frmAfterAddRow",setCustomValidityMessage);setCustomValidityMessage();jQuery(document).on("frmFieldChanged",maybeClearCustomValidityMessage);setSelectPlaceholderColor(); -jQuery(document).on("elementor/popup/show",frmRecaptcha);enableSubmitButtonOnBackButtonPress();jQuery(document).on("frmPageChanged",destroyhCaptcha)},getFieldId,renderCaptcha:function(captcha,captchaSelector){const rendered=captcha.getAttribute("data-rid")!==null;if(rendered)return;const size=captcha.getAttribute("data-size");const params={sitekey:captcha.getAttribute("data-sitekey"),size:size,theme:captcha.getAttribute("data-theme")};if(size==="invisible"){const formID=captcha.closest("form")?.querySelector('input[name="form_id"]')?.value; -const captchaLabel=captcha.closest(".frm_form_field")?.querySelector(".frm_primary_label");if(captchaLabel)captchaLabel.style.display="none";params.callback=function(token){frmFrontForm.afterRecaptcha(token,formID)}}const activeCaptcha=getSelectedCaptcha(captchaSelector);const captchaContainer=typeof turnstile!=="undefined"&&turnstile===activeCaptcha?"#"+captcha.id:captcha.id;const captchaID=activeCaptcha.render(captchaContainer,params);captcha.setAttribute("data-rid",captchaID)},afterSingleRecaptcha:function(){const object= -jQuery(".frm-show-form .g-recaptcha").closest("form")[0];frmFrontForm.submitFormNow(object)},afterRecaptcha:function(_,formID){const object=jQuery("#frm_form_"+formID+"_container form")[0];frmFrontForm.submitFormNow(object)},submitForm:function(e){frmFrontForm.submitFormManual(e,this)},submitFormManual:function(e,object){let isPro,errors,invisibleRecaptcha=hasInvisibleRecaptcha(object),classList=object.className.trim().split(/\s+/gi);if(classList&&invisibleRecaptcha.length<1){isPro=classList.indexOf("frm_pro_form")> --1;if(!isPro)return}if(jQuery("body").hasClass("wp-admin")&&jQuery(object).closest(".frmapi-form").length<1)return;e.preventDefault();if(typeof frmProForm!=="undefined"&&typeof frmProForm.submitAllowed==="function"&&!frmProForm.submitAllowed(object))return;errors=frmFrontForm.validateFormSubmit(object);if(Object.keys(errors).length!==0)return;if(invisibleRecaptcha.length){showLoadingIndicator(jQuery(object));executeInvisibleRecaptcha(invisibleRecaptcha)}else{showSubmitLoading(jQuery(object));frmFrontForm.submitFormNow(object, -classList)}},submitFormNow:function(object){let hasFileFields,antispamInput,classList=object.className.trim().split(/\s+/gi);if(object.hasAttribute("data-token")&&null===object.querySelector('[name="antispam_token"]')){antispamInput=document.createElement("input");antispamInput.type="hidden";antispamInput.name="antispam_token";antispamInput.value=object.getAttribute("data-token");object.appendChild(antispamInput)}const uniqueIDInput=document.createElement("input");uniqueIDInput.type="hidden";uniqueIDInput.name= -"unique_id";uniqueIDInput.value=getUniqueKey();object.appendChild(uniqueIDInput);if(classList.indexOf("frm_ajax_submit")>-1){hasFileFields=jQuery(object).find('input[type="file"]').filter(function(){return!!this.value}).length;if(hasFileFields<1){const action=jQuery(object).find('input[name="frm_action"]').val();frmFrontForm.checkFormErrors(object,action)}else object.submit()}else object.submit()},validateFormSubmit:function(object){if(typeof tinyMCE!=="undefined"&&jQuery(object).find(".wp-editor-wrap").length)tinyMCE.triggerSave(); -jsErrors=[];if(shouldJSValidate(object)){frmFrontForm.getAjaxFormErrors(object);if(Object.keys(jsErrors).length)frmFrontForm.addAjaxFormErrors(object)}return jsErrors},getAjaxFormErrors:function(object){let customErrors,key;jsErrors=validateForm(object);if(typeof frmThemeOverride_jsErrors==="function"){const action=jQuery(object).find('input[name="frm_action"]').val();customErrors=frmThemeOverride_jsErrors(action,object);if(Object.keys(customErrors).length)for(key in customErrors)jsErrors[key]=customErrors[key]}triggerCustomEvent(document, -"frm_get_ajax_form_errors",{formEl:object,errors:jsErrors});return jsErrors},addAjaxFormErrors:function(object){let key,$fieldCont;removeAllErrors();for(key in jsErrors){$fieldCont=jQuery(object).find("#frm_field_"+key+"_container");if($fieldCont.length)addFieldError($fieldCont,key,jsErrors);else delete jsErrors[key]}scrollToFirstField(object);checkForErrorsAndMaybeSetFocus()},checkFormErrors:getFormErrors,checkRequiredField,showSubmitLoading,removeSubmitLoading,scrollToID:function(id){const object= -jQuery(document.getElementById(id));frmFrontForm.scrollMsg(object,false)},scrollMsg:function(id,object,animate){let newPos,m,b,screenTop,screenBottom,scrollObj="";if(typeof object==="undefined"){scrollObj=jQuery(document.getElementById("frm_form_"+id+"_container"));if(scrollObj.length<1)return}else if(typeof id==="string")scrollObj=jQuery(object).find("#frm_field_"+id+"_container");else scrollObj=id;jQuery(scrollObj).trigger("focus");newPos=scrollObj.offset().top;if(!newPos||frm_js.offset==="-1")return; -newPos=newPos-frm_js.offset;m=jQuery("html").css("margin-top");b=jQuery("body").css("margin-top");if(m||b)newPos=newPos-parseInt(m)-parseInt(b);if(newPos&&window.innerHeight){screenTop=document.documentElement.scrollTop||document.body.scrollTop;screenBottom=screenTop+window.innerHeight;if(newPos>screenBottom||newPos/g,">").replace(/"/g,""").replace(/'/g,"'")},invisible:function(classes){console.warn("DEPRECATED: function frmFrontForm.invisible in v6.16.3"); -jQuery(classes).css("visibility","hidden")},visible:function(classes){console.warn("DEPRECATED: function frmFrontForm.visible in v6.16.3");jQuery(classes).css("visibility","visible")},triggerCustomEvent:triggerCustomEvent,documentOn}}window.frmFrontForm=frmFrontFormJS();jQuery(document).ready(function(){frmFrontForm.init()});function frmRecaptcha(){frmCaptcha(".frm-g-recaptcha")}function frmTurnstile(){frmCaptcha(".cf-turnstile")} +function checkRequiredField(field,errors){let tempVal,i,placeholder,val="",fieldID="",fileID=field.getAttribute("data-frmfile");if(field.type==="hidden"&&fileID===null&&!isAppointmentField(field)&&!isInlineDatepickerField(field))return errors;if(field.type==="checkbox"||field.type==="radio")document.querySelectorAll('input[name="'+field.name+'"]').forEach(function(input){const requiredField=input.closest(".frm_required_field");if(!requiredField)return;const checkedInputs=requiredField.querySelectorAll("input:checked"); +checkedInputs.forEach(function(checkedInput){val=checkedInput.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);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()\[\]\\.,;:\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");if(shouldCheckConfirmField(field,onSubmit))confirmField(field,errors)}function checkPasswordField(field,errors,onSubmit){if(shouldCheckConfirmField(field,onSubmit))confirmField(field,errors)}function confirmField(field,errors){let 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;if(value!==confirmValue)errors["conf_"+strippedFieldID]=getFieldValidationMessage(confirmField,"data-confmsg")}else validateField(confirmField)}function checkNumberField(field,errors){let fieldID,number=field.value;if(number!==""&&isNaN(number/1)!==false){fieldID=getFieldId(field, +true);if(!(fieldID in errors))errors[fieldID]=getFieldValidationMessage(field,"data-invmsg")}}function checkPatternField(field,errors){let fieldID,text=field.value,format=getFieldValidationMessage(field,"pattern");if(format!==""&&text!==""){fieldID=getFieldId(field,true);if(!(fieldID in errors))if("object"===typeof window.frmProForm&&"function"===typeof window.frmProForm.isIntlPhoneInput&&window.frmProForm.isIntlPhoneInput(field)){if(!window.frmProForm.validateIntlPhoneInput(field))errors[fieldID]= +getFieldValidationMessage(field,"data-invmsg")}else{format=new RegExp("^"+format+"$","i");if(format.test(text)===false)errors[fieldID]=getFieldValidationMessage(field,"data-invmsg")}}}function setSelectPlaceholderColor(){let selects=document.querySelectorAll(".form-field select"),styleElement=document.querySelector(".with_frm_style"),textColorDisabled=styleElement?getComputedStyle(styleElement).getPropertyValue("--text-color-disabled").trim():"",changeSelectColor;if(!selects.length||!textColorDisabled)return; +changeSelectColor=function(select){if(select.options[select.selectedIndex]&&hasClass(select.options[select.selectedIndex],"frm-select-placeholder"))select.style.setProperty("color",textColorDisabled,"important");else select.style.color=""};Array.prototype.forEach.call(selects,function(select){changeSelectColor(select);select.addEventListener("change",function(){changeSelectColor(select)})})}function hasInvisibleRecaptcha(object){let 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=recaptcha.data("rid");alreadyChecked=grecaptcha.getResponse(recaptchaID);if(alreadyChecked.length===0)return recaptcha}return false}function executeInvisibleRecaptcha(invisibleRecaptcha){const recaptchaID=invisibleRecaptcha.data("rid");grecaptcha.reset(recaptchaID);grecaptcha.execute(recaptchaID)}function validateRecaptcha(form,errors){let response;const $recaptcha= +jQuery(form).find(".frm-g-recaptcha");if(!$recaptcha.length)return errors;const recaptchaID=$recaptcha.data("rid");try{response=grecaptcha.getResponse(recaptchaID)}catch(e){if(jQuery(form).find('input[name="recaptcha_checked"]').length)return errors;response=""}if(response.length===0){const fieldContainer=$recaptcha.closest(".frm_form_field");const fieldID=fieldContainer.attr("id").replace("frm_field_","").replace("_container","");errors[fieldID]=""}return errors}function getFieldValidationMessage(field, +messageType){let msg=field.getAttribute(messageType);if(null===msg)msg="";if(""!==msg&&shouldWrapErrorHtmlAroundMessageType(messageType))msg=wrapErrorHtml(msg,field);return msg}function wrapErrorHtml(msg,field){let errorHtml=field.getAttribute("data-error-html");if(null===errorHtml)return msg;errorHtml=errorHtml.replace(/\+/g,"%20");msg=decodeURIComponent(errorHtml).replace("[error]",msg);const fieldId=getFieldId(field,false);const split=fieldId.split("-");const fieldIdParts=field.id.split("_");fieldIdParts.shift(); +split[0]=fieldIdParts.join("_");const errorKey=split.join("-");return msg.replace("[key]",errorKey)}function shouldWrapErrorHtmlAroundMessageType(type){return"pattern"!==type}function shouldJSValidate(object){if("function"===typeof object.get)object=object.get(0);let validate=hasClass(object,"frm_js_validate");if(validate&&typeof frmProForm!=="undefined"&&(frmProForm.savingDraft(object)||frmProForm.goingToPreviousPage(object)))validate=false;return validate}function getFormErrors(object,action){let fieldset, +data,success,error,shouldTriggerEvent;fieldset=jQuery(object).find(".frm_form_field");fieldset.addClass("frm_doing_ajax");data=jQuery(object).serialize()+"&action=frm_entries_"+action+"&nonce="+frm_js.nonce;shouldTriggerEvent=object.classList.contains("frm_trigger_event_on_submit");const doRedirect=response=>{jQuery(document).trigger("frmBeforeFormRedirect",[object,response]);if(!response.openInNewTab){window.location=response.redirect;return}const newTab=window.open(response.redirect,"_blank");if(!newTab&& +response.fallbackMsg&&response.content)response.content=response.content.trim().replace(/(<\/div><\/div>)$/," "+response.fallbackMsg+"")};success=function(response){let defaultResponse,formID,replaceContent,pageOrder,formReturned,contSubmit,delay,$fieldCont,key,inCollapsedSection,frmTrigger;defaultResponse={content:"",errors:{},pass:false};if(response===null)response=defaultResponse;else{response=response.replace(/^\s+|\s+$/g,"");if(response.indexOf("{")===0)response=JSON.parse(response); +else response=defaultResponse}if(typeof response.redirect!=="undefined"){if(shouldTriggerEvent){triggerCustomEvent(object,"frmSubmitEvent");return}if(response.delay)setTimeout(function(){doRedirect(response)},1E3*response.delay);else doRedirect(response)}if("string"===typeof response.content&&response.content!==""){if(shouldTriggerEvent){triggerCustomEvent(object,"frmSubmitEvent",{content:response.content});return}removeSubmitLoading(jQuery(object));if(frm_js.offset!=-1)frmFrontForm.scrollMsg(jQuery(object), +false);formID=jQuery(object).find('input[name="form_id"]').val();response.content=response.content.replace(/ frm_pro_form /g," frm_pro_form frm_no_hide ");replaceContent=jQuery(object).closest(".frm_forms");removeAddedScripts(replaceContent,formID);delay=maybeSlideOut(replaceContent,response.content);setTimeout(function(){let container,input,previousInput;afterFormSubmittedBeforeReplace(object,response);replaceContent.replaceWith(response.content);addUrlParam(response);if(typeof frmThemeOverride_frmAfterSubmit=== +"function"){pageOrder=jQuery('input[name="frm_page_order_'+formID+'"]').val();formReturned=jQuery(response.content).find('input[name="form_id"]').val();frmThemeOverride_frmAfterSubmit(formReturned,pageOrder,response.content,object)}if(typeof response.recaptcha!=="undefined"){container=jQuery("#frm_form_"+formID+"_container").find(".frm_fields_container");input='';previousInput=container.find('input[name="recaptcha_checked"]'); +if(previousInput.length)previousInput.replaceWith(input);else container.append(input)}afterFormSubmitted(object,response)},delay)}else if(Object.keys(response.errors).length){removeSubmitLoading(jQuery(object),"enable");contSubmit=true;removeAllErrors();$fieldCont=null;for(key in response.errors){$fieldCont=jQuery(object).find("#frm_field_"+key+"_container");if($fieldCont.length){if(!$fieldCont.is(":visible")){inCollapsedSection=$fieldCont.closest(".frm_toggle_container");if(inCollapsedSection.length){frmTrigger= +inCollapsedSection.prev();if(!frmTrigger.hasClass("frm_trigger"))frmTrigger=frmTrigger.prev(".frm_trigger");frmTrigger.trigger("click")}}if($fieldCont.is(":visible")){addFieldError($fieldCont,key,response.errors);contSubmit=false}}}jQuery(object).find(".frm-g-recaptcha, .g-recaptcha, .h-captcha").each(function(){const $recaptcha=jQuery(this),recaptchaID=$recaptcha.data("rid");if(typeof grecaptcha!=="undefined"&&grecaptcha)if(recaptchaID)grecaptcha.reset(recaptchaID);else grecaptcha.reset();if(typeof hcaptcha!== +"undefined"&&hcaptcha)hcaptcha.reset()});if(window.turnstile)object.querySelectorAll(".cf-turnstile").forEach(turnstileField=>turnstileField.dataset.rid&&turnstile.reset(turnstileField.dataset.rid));jQuery(document).trigger("frmFormErrors",[object,response]);fieldset.removeClass("frm_doing_ajax");scrollToFirstField(object);if(contSubmit)object.submit();else{object.insertAdjacentHTML("afterbegin",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()};postToAjaxUrl(object,data,success,error)}function postToAjaxUrl(form,data,success,error){let ajaxUrl,action,ajaxParams;ajaxUrl=frm_js.ajax_url;action=form.getAttribute("action");if("string"===typeof action&&-1!==action.indexOf("?action=frm_forms_preview"))ajaxUrl=action.split("?action=frm_forms_preview")[0];ajaxParams={type:"POST",url:ajaxUrl,data:data,success:success};if("function"=== +typeof error)ajaxParams.error=error;jQuery.ajax(ajaxParams)}function afterFormSubmitted(object,response){const formCompleted=jQuery(response.content).find(".frm_message");if(formCompleted.length)jQuery(document).trigger("frmFormComplete",[object,response]);else jQuery(document).trigger("frmPageChanged",[object,response])}function afterFormSubmittedBeforeReplace(object,response){const formCompleted=jQuery(response.content).find(".frm_message");if(formCompleted.length)triggerCustomEvent(document,"frmFormCompleteBeforeReplace", +{object,response})}function removeAddedScripts(formContainer,formID){const endReplace=jQuery(".frm_end_ajax_"+formID);if(endReplace.length){formContainer.nextUntil(".frm_end_ajax_"+formID).remove();endReplace.remove()}}function maybeSlideOut(oldContent,newContent){let 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");c.addClass(newClass);return 300}return 0} +function addUrlParam(response){let 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){let 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("=");return kvp.join("&")}function addFieldError($fieldCont, +key,jsErrors){let input,id,describedBy,roleString;if($fieldCont.length&&$fieldCont.is(":visible")){$fieldCont.addClass("frm_blank_field");input=$fieldCont.find("input, select, textarea");id=getErrorElementId(key,input.get(0));describedBy=input.attr("aria-describedby");if(typeof frmThemeOverride_frmPlaceError==="function")frmThemeOverride_frmPlaceError(key,jsErrors);else{if(-1!==jsErrors[key].indexOf("'+jsErrors[key]+"")}if(typeof describedBy==="undefined")describedBy=id;else if(describedBy.indexOf(id)===-1&&describedBy.indexOf("frm_error_field_")===-1)if(input.data("error-first")===0)describedBy=describedBy+" "+id;else describedBy=id+" "+describedBy;input.attr("aria-describedby",describedBy)}input.attr("aria-invalid",true);jQuery(document).trigger("frmAddFieldError",[$fieldCont,key,jsErrors])}}function getErrorElementId(key, +input){if(isNaN(key)||!input||!input.id)return"frm_error_field_"+key;return"frm_error_"+input.id}function removeFieldError($fieldCont){const errorMessage=$fieldCont.find(".frm_error");const errorId=errorMessage.attr("id");const input=$fieldCont.find("input, select, textarea");let describedBy=input.attr("aria-describedby");const fieldContainer=$fieldCont.get(0);if(fieldContainer&&fieldContainer.classList)fieldContainer.classList.remove("frm_blank_field","has-error");errorMessage.remove();input.attr("aria-invalid", +false);input.removeAttr("aria-describedby");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){if("function"===typeof object.get)object=object.get(0);const field=object.querySelector(".frm_blank_field");if(field)frmFrontForm.scrollMsg(jQuery(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){const loadingClass=isGoingToPrevPage($object)?"frm_loading_prev":"frm_loading_form";$object.addClass(loadingClass)}function isGoingToPrevPage($object){return typeof frmProForm!== +"undefined"&&frmProForm.goingToPreviousPage($object)}function removeSubmitLoading(_,enable,processesRunning){let 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){let fileval,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 confirmClick(){const message=jQuery(this).data("frmconfirm");return confirm(message)}function onHoneypotFieldChange(){const css=jQuery(this).css("box-shadow");if(css.match(/inset/))this.parentNode.removeChild(this)}function maybeMakeHoneypotFieldsUntabbable(){document.addEventListener("keydown",handleKeyUp);function handleKeyUp(event){if("Tab"=== +event.key){makeHoneypotFieldsUntabbable();document.removeEventListener("keydown",handleKeyUp)}}function makeHoneypotFieldsUntabbable(){document.querySelectorAll(".frm_verify").forEach(function(input){if(input.id&&0===input.id.indexOf("frm_email_"))input.setAttribute("tabindex",-1)})}}function changeFocusWhenClickComboFieldLabel(){let label;const 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(){inputsContainer.querySelector(".frm_form_field:first-child input, .frm_form_field:first-child select, .frm_form_field:first-child textarea").focus()})})}function maybeFocusOnComboSubField(element){if("FIELDSET"!==element.nodeName)return false;if(!element.querySelector(".frm_combo_inputs_container"))return false;const comboSubfield=element.querySelector('[aria-invalid="true"]'); +if(comboSubfield){focusInput(comboSubfield);return true}return false}function checkForErrorsAndMaybeSetFocus(){let errors,element,timeoutCallback;if(!frm_js.focus_first_error)return;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())){focusInput(element);break}if(maybeFocusOnComboSubField(element))break;if("undefined"!==typeof element.classList){if(element.classList.contains("html-active"))timeoutCallback= +function(){const textarea=element.querySelector("textarea");if(null!==textarea)textarea.focus()};else if(element.classList.contains("tmce-active"))timeoutCallback=function(){tinyMCE.activeEditor.focus()};if("function"===typeof timeoutCallback){setTimeout(timeoutCallback,0);break}}}while(element.previousSibling)}function focusInput(input){if(input.offsetParent!==null)input.focus();else triggerCustomEvent(document,"frmMaybeDelayFocus",{input})}function documentOn(event,selector,handler,options){if("undefined"=== +typeof options)options=false;document.addEventListener(event,function(e){let target;for(target=e.target;target&&target!=this;target=target.parentNode)if(target&&target.matches&&target.matches(selector)){handler.call(target,e);break}},options)}function initFloatingLabels(){let checkFloatLabel,checkDropdownLabel,runOnLoad,selector,floatClass;selector=".frm-show-form .frm_inside_container input, .frm-show-form .frm_inside_container select, .frm-show-form .frm_inside_container textarea";floatClass="frm_label_float_top"; +checkFloatLabel=function(input){let container,shouldFloatTop,firstOpt;container=input.closest(".frm_inside_container");if(!container)return;shouldFloatTop=input.value||document.activeElement===input;container.classList.toggle(floatClass,shouldFloatTop);if("SELECT"===input.tagName){firstOpt=input.querySelector("option:first-child");if(shouldFloatTop){if(firstOpt.hasAttribute("data-label")){firstOpt.textContent=firstOpt.getAttribute("data-label");firstOpt.removeAttribute("data-label")}}else if(firstOpt.textContent){firstOpt.setAttribute("data-label", +firstOpt.textContent);firstOpt.textContent=""}}};checkDropdownLabel=function(){document.querySelectorAll(".frm-show-form .frm_inside_container:not(."+floatClass+") select").forEach(function(input){const firstOpt=input.querySelector("option:first-child");if(firstOpt.textContent){firstOpt.setAttribute("data-label",firstOpt.textContent);firstOpt.textContent=""}})};["focus","blur","change"].forEach(function(eventName){documentOn(eventName,selector,function(event){checkFloatLabel(event.target)},true)}); +jQuery(document).on("change",selector,function(event){checkFloatLabel(event.target)});runOnLoad=function(firstLoad){if(firstLoad&&document.activeElement&&-1!==["INPUT","SELECT","TEXTAREA"].indexOf(document.activeElement.tagName))checkFloatLabel(document.activeElement);else if(firstLoad)document.querySelectorAll(".frm_inside_container").forEach(function(container){const input=container.querySelector("input, select, textarea");if(input&&""!==input.value)checkFloatLabel(input)});checkDropdownLabel()}; +runOnLoad(true);jQuery(document).on("frmPageChanged",function(event){runOnLoad()});document.addEventListener("frm_after_start_over",function(event){runOnLoad()})}function shouldUpdateValidityMessage(target){if("INPUT"!==target.nodeName)return false;if(!target.dataset.invmsg)return false;if("text"!==target.getAttribute("type"))return false;if(target.classList.contains("frm_verify"))return false;return true}function maybeClearCustomValidityMessage(event,field){let key,isInvalid=false;if(!shouldUpdateValidityMessage(field))return; +for(key in field.validity){if("customError"===key)continue;if("valid"!==key&&field.validity[key]===true){isInvalid=true;break}}if(!isInvalid)field.setCustomValidity("")}function maybeShowNewTabFallbackMessage(){let messageEl;if(!window.frmShowNewTabFallback)return;messageEl=document.querySelector("#frm_form_"+frmShowNewTabFallback.formId+"_container .frm_message");if(!messageEl)return;messageEl.insertAdjacentHTML("beforeend"," "+frmShowNewTabFallback.message)}function setCustomValidityMessage(){let forms, +length,index;forms=document.getElementsByClassName("frm-show-form");length=forms.length;for(index=0;indexb.toString(16).padStart(2,"0")).join("");const timestamp=Date.now().toString(16);return uniqueKey+"-"+timestamp}function animateScroll(start,end,duration){if(!window.hasOwnProperty("performance")||!window.hasOwnProperty("requestAnimationFrame")){document.documentElement.scrollTop= +end;return}const startTime=performance.now();const step=currentTime=>{const progress=Math.min((currentTime-startTime)/duration,1);document.documentElement.scrollTop=start+(end-start)*progress;if(progress<1)requestAnimationFrame(step)};requestAnimationFrame(step)}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")});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","[id^=frm_email_]",onHoneypotFieldChange);maybeMakeHoneypotFieldsUntabbable();jQuery(document).on("click","a[data-frmconfirm]",confirmClick);checkForErrorsAndMaybeSetFocus();changeFocusWhenClickComboFieldLabel();initFloatingLabels();maybeShowNewTabFallbackMessage(); +jQuery(document).on("frmAfterAddRow",setCustomValidityMessage);setCustomValidityMessage();jQuery(document).on("frmFieldChanged",maybeClearCustomValidityMessage);setSelectPlaceholderColor();jQuery(document).on("elementor/popup/show",frmRecaptcha);enableSubmitButtonOnBackButtonPress();jQuery(document).on("frmPageChanged",destroyhCaptcha)},getFieldId,renderCaptcha:function(captcha,captchaSelector){const rendered=captcha.getAttribute("data-rid")!==null;if(rendered)return;const size=captcha.getAttribute("data-size"); +const params={sitekey:captcha.getAttribute("data-sitekey"),size:size,theme:captcha.getAttribute("data-theme")};if(size==="invisible"){const formID=captcha.closest("form")?.querySelector('input[name="form_id"]')?.value;const captchaLabel=captcha.closest(".frm_form_field")?.querySelector(".frm_primary_label");if(captchaLabel)captchaLabel.style.display="none";params.callback=function(token){frmFrontForm.afterRecaptcha(token,formID)}}const activeCaptcha=getSelectedCaptcha(captchaSelector);const captchaContainer= +typeof turnstile!=="undefined"&&turnstile===activeCaptcha?"#"+captcha.id:captcha.id;const captchaID=activeCaptcha.render(captchaContainer,params);captcha.setAttribute("data-rid",captchaID)},afterSingleRecaptcha:function(){const object=jQuery(".frm-show-form .g-recaptcha").closest("form")[0];frmFrontForm.submitFormNow(object)},afterRecaptcha:function(_,formID){const object=jQuery("#frm_form_"+formID+"_container form")[0];frmFrontForm.submitFormNow(object)},submitForm:function(e){frmFrontForm.submitFormManual(e, +this)},submitFormManual:function(e,object){let isPro,errors,invisibleRecaptcha=hasInvisibleRecaptcha(object),classList=object.className.trim().split(/\s+/gi);if(classList&&invisibleRecaptcha.length<1){isPro=classList.indexOf("frm_pro_form")>-1;if(!isPro)return}if(jQuery("body").hasClass("wp-admin")&&jQuery(object).closest(".frmapi-form").length<1)return;e.preventDefault();if(typeof frmProForm!=="undefined"&&typeof frmProForm.submitAllowed==="function"&&!frmProForm.submitAllowed(object))return;errors= +frmFrontForm.validateFormSubmit(object);if(Object.keys(errors).length!==0)return;if(invisibleRecaptcha.length){showLoadingIndicator(jQuery(object));executeInvisibleRecaptcha(invisibleRecaptcha)}else{showSubmitLoading(jQuery(object));frmFrontForm.submitFormNow(object,classList)}},submitFormNow:function(object){let hasFileFields,antispamInput,classList=object.className.trim().split(/\s+/gi);if(object.hasAttribute("data-token")&&null===object.querySelector('[name="antispam_token"]')){antispamInput=document.createElement("input"); +antispamInput.type="hidden";antispamInput.name="antispam_token";antispamInput.value=object.getAttribute("data-token");object.appendChild(antispamInput)}const uniqueIDInput=document.createElement("input");uniqueIDInput.type="hidden";uniqueIDInput.name="unique_id";uniqueIDInput.value=getUniqueKey();object.appendChild(uniqueIDInput);if(classList.indexOf("frm_ajax_submit")>-1){hasFileFields=jQuery(object).find('input[type="file"]').filter(function(){return!!this.value}).length;if(hasFileFields<1){const action= +jQuery(object).find('input[name="frm_action"]').val();frmFrontForm.checkFormErrors(object,action)}else object.submit()}else object.submit()},validateFormSubmit:function(object){if(typeof tinyMCE!=="undefined"&&jQuery(object).find(".wp-editor-wrap").length)tinyMCE.triggerSave();jsErrors=[];if(shouldJSValidate(object)){frmFrontForm.getAjaxFormErrors(object);if(Object.keys(jsErrors).length)frmFrontForm.addAjaxFormErrors(object)}return jsErrors},getAjaxFormErrors:function(object){let customErrors,key; +jsErrors=validateForm(object);if(typeof frmThemeOverride_jsErrors==="function"){const action=jQuery(object).find('input[name="frm_action"]').val();customErrors=frmThemeOverride_jsErrors(action,object);if(Object.keys(customErrors).length)for(key in customErrors)jsErrors[key]=customErrors[key]}triggerCustomEvent(document,"frm_get_ajax_form_errors",{formEl:object,errors:jsErrors});return jsErrors},addAjaxFormErrors:function(object){let key,$fieldCont;removeAllErrors();for(key in jsErrors){$fieldCont= +jQuery(object).find("#frm_field_"+key+"_container");if($fieldCont.length)addFieldError($fieldCont,key,jsErrors);else delete jsErrors[key]}scrollToFirstField(object);checkForErrorsAndMaybeSetFocus()},checkFormErrors:getFormErrors,checkRequiredField,showSubmitLoading,removeSubmitLoading,scrollToID:function(id){const object=jQuery(document.getElementById(id));frmFrontForm.scrollMsg(object,false)},scrollMsg:function(id,object,animate){let newPos,m,b,screenTop,screenBottom,scrollObj="";if(typeof object=== +"undefined"){scrollObj=jQuery(document.getElementById("frm_form_"+id+"_container"));if(scrollObj.length<1)return}else if(typeof id==="string")scrollObj=jQuery(object).find("#frm_field_"+id+"_container");else scrollObj=id;jQuery(scrollObj).trigger("focus");newPos=scrollObj.offset().top;if(!newPos||frm_js.offset==="-1")return;newPos=newPos-frm_js.offset;m=jQuery("html").css("margin-top");b=jQuery("body").css("margin-top");if(m||b)newPos=newPos-parseInt(m)-parseInt(b);if(newPos&&window.innerHeight){screenTop= +document.documentElement.scrollTop||document.body.scrollTop;screenBottom=screenTop+window.innerHeight;if(newPos>screenBottom||newPos/g,">").replace(/"/g,""").replace(/'/g,"'")},invisible:function(classes){console.warn("DEPRECATED: function frmFrontForm.invisible in v6.16.3");jQuery(classes).css("visibility","hidden")},visible:function(classes){console.warn("DEPRECATED: function frmFrontForm.visible in v6.16.3"); +jQuery(classes).css("visibility","visible")},triggerCustomEvent:triggerCustomEvent,documentOn}}window.frmFrontForm=frmFrontFormJS();jQuery(document).ready(function(){frmFrontForm.init()});function frmRecaptcha(){frmCaptcha(".frm-g-recaptcha")}function frmTurnstile(){frmCaptcha(".cf-turnstile")} function frmCaptcha(captchaSelector){let c;const captchas=document.querySelectorAll(captchaSelector);const cl=captchas.length;for(c=0;c\n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"POT-Creation-Date: 2025-03-11T16:57:32+00:00\n" +"POT-Creation-Date: 2025-04-08T15:46:34+00:00\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "X-Generator: WP-CLI 2.11.0\n" "X-Domain: formidable\n" @@ -124,7 +124,7 @@ msgstr "" #: js/src/form-templates/ui/showEmptyState.js:98 #: classes/views/form-templates/list.php:14 -#: classes/views/form-templates/modals/create-template-modal.php:65 +#: classes/views/form-templates/modals/create-template-modal.php:69 #: js/form-templates.js:3782 msgid "Create Template" msgstr "" @@ -293,7 +293,7 @@ msgstr "" #: js/src/form/views.js:32 #: classes/controllers/FrmSMTPController.php:321 -#: classes/helpers/FrmAppHelper.php:3421 +#: classes/helpers/FrmAppHelper.php:3435 #: classes/helpers/FrmFormMigratorsHelper.php:154 #: classes/views/shared/upgrade_overlay.php:34 #: js/formidable_admin.js:7048 @@ -367,7 +367,7 @@ msgstr "" #: classes/controllers/FrmAddonsController.php:208 #: classes/controllers/FrmAddonsController.php:867 -#: classes/helpers/FrmAppHelper.php:3422 +#: classes/helpers/FrmAppHelper.php:3436 #: classes/views/styles/_field-colors.php:13 #: stripe/helpers/FrmTransLiteAppHelper.php:107 msgid "Active" @@ -382,12 +382,12 @@ msgid "There are no plugins on your site that require a license" msgstr "" #: classes/controllers/FrmAddonsController.php:862 -#: classes/helpers/FrmAppHelper.php:3423 +#: classes/helpers/FrmAppHelper.php:3437 msgid "Installed" msgstr "" #: classes/controllers/FrmAddonsController.php:872 -#: classes/helpers/FrmAppHelper.php:3424 +#: classes/helpers/FrmAppHelper.php:3438 msgid "Not Installed" msgstr "" @@ -447,7 +447,7 @@ msgstr "" #: classes/controllers/FrmAppController.php:296 #: classes/controllers/FrmEntriesController.php:11 #: classes/controllers/FrmEntriesController.php:173 -#: classes/controllers/FrmFormsController.php:1096 +#: classes/controllers/FrmFormsController.php:1145 #: classes/controllers/FrmXMLController.php:313 #: classes/views/xml/import_form.php:148 msgid "Entries" @@ -481,12 +481,12 @@ msgstr "" msgid "Build a Form" msgstr "" -#: classes/controllers/FrmAppController.php:1257 +#: classes/controllers/FrmAppController.php:1258 #: classes/controllers/FrmFormsController.php:233 -#: classes/controllers/FrmFormTemplatesController.php:612 +#: classes/controllers/FrmFormTemplatesController.php:601 #: classes/controllers/FrmSettingsController.php:274 -#: classes/helpers/FrmAppHelper.php:3381 -#: classes/views/form-templates/modals/create-template-modal.php:62 +#: classes/helpers/FrmAppHelper.php:3395 +#: classes/views/form-templates/modals/create-template-modal.php:66 #: classes/views/form-templates/modals/name-your-form-modal.php:32 #: classes/views/shared/admin-header.php:32 #: classes/views/shared/confirm-overlay.php:20 @@ -498,7 +498,7 @@ msgstr "" msgid "Cancel" msgstr "" -#: classes/controllers/FrmAppController.php:1261 +#: classes/controllers/FrmAppController.php:1262 msgid "Continue" msgstr "" @@ -584,7 +584,7 @@ msgstr "" #: classes/controllers/FrmDashboardController.php:350 #: classes/controllers/FrmEntriesController.php:156 -#: classes/controllers/FrmFormsController.php:964 +#: classes/controllers/FrmFormsController.php:1013 #: classes/views/xml/import_form.php:179 #: classes/widgets/FrmElementorWidget.php:37 #: classes/widgets/FrmShowForm.php:71 @@ -628,7 +628,7 @@ msgid "Close" msgstr "" #: classes/controllers/FrmEntriesController.php:151 -#: classes/controllers/FrmFormsController.php:1668 +#: classes/controllers/FrmFormsController.php:1717 #: classes/views/frm-entries/form.php:86 #: classes/views/frm-entries/sidebar-shared.php:57 msgid "Entry Key" @@ -733,7 +733,7 @@ msgid "You have reached your form action limit. To increase this limit, you will msgstr "" #: classes/controllers/FrmFormsController.php:29 -#: classes/controllers/FrmFormsController.php:1105 +#: classes/controllers/FrmFormsController.php:1154 #: classes/controllers/FrmStylesController.php:72 #: classes/controllers/FrmXMLController.php:312 #: classes/views/frm-forms/list.php:10 @@ -769,7 +769,7 @@ msgid "Settings Successfully Updated" msgstr "" #: classes/controllers/FrmFormsController.php:303 -#: classes/controllers/FrmFormsController.php:1234 +#: classes/controllers/FrmFormsController.php:1283 msgid "Form was successfully updated." msgstr "" @@ -778,63 +778,81 @@ msgstr "" msgid "However, your form is very long and may be %1$sreaching server limits%2$s." msgstr "" -#: classes/controllers/FrmFormsController.php:608 +#: classes/controllers/FrmFormsController.php:416 +#: classes/controllers/FrmFormsController.php:417 +msgid "Form key is invalid" +msgstr "" + +#: classes/controllers/FrmFormsController.php:622 msgid "Form Preview" msgstr "" +#: classes/controllers/FrmFormsController.php:653 +msgid "Form key is missing" +msgstr "" + +#: classes/controllers/FrmFormsController.php:665 +#: classes/controllers/FrmStylesController.php:497 +msgid "Form does not exist" +msgstr "" + +#: classes/controllers/FrmFormsController.php:693 +msgid "You do not have permission to view this form" +msgstr "" + #. translators: %1$s: Number of forms -#: classes/controllers/FrmFormsController.php:697 -#: classes/controllers/FrmFormsController.php:758 +#: classes/controllers/FrmFormsController.php:746 +#: classes/controllers/FrmFormsController.php:807 msgid "%1$s form restored from the Trash." msgid_plural "%1$s forms restored from the Trash." msgstr[0] "" msgstr[1] "" #. translators: %1$s: Number of forms, %2$s: Start link HTML, %3$s: End link HTML -#: classes/controllers/FrmFormsController.php:761 -#: classes/controllers/FrmFormsController.php:794 +#: classes/controllers/FrmFormsController.php:810 +#: classes/controllers/FrmFormsController.php:843 msgid "%1$s form moved to the Trash. %2$sUndo%3$s" msgid_plural "%1$s forms moved to the Trash. %2$sUndo%3$s" msgstr[0] "" msgstr[1] "" #. translators: %1$s: Number of forms -#: classes/controllers/FrmFormsController.php:817 +#: classes/controllers/FrmFormsController.php:866 msgid "%1$s Form Permanently Deleted" msgid_plural "%1$s Forms Permanently Deleted" msgstr[0] "" msgstr[1] "" #. translators: %1$s: Number of forms -#: classes/controllers/FrmFormsController.php:839 -#: classes/controllers/FrmFormsController.php:1956 +#: classes/controllers/FrmFormsController.php:888 +#: classes/controllers/FrmFormsController.php:2018 msgid "%1$s form permanently deleted." msgid_plural "%1$s forms permanently deleted." msgstr[0] "" msgstr[1] "" -#: classes/controllers/FrmFormsController.php:946 +#: classes/controllers/FrmFormsController.php:995 msgid "Add forms and content" msgstr "" -#: classes/controllers/FrmFormsController.php:965 +#: classes/controllers/FrmFormsController.php:1014 #: classes/views/frm-forms/insert_form_popup.php:33 msgid "Insert a Form" msgstr "" -#: classes/controllers/FrmFormsController.php:1018 +#: classes/controllers/FrmFormsController.php:1067 msgid "Display form title" msgstr "" -#: classes/controllers/FrmFormsController.php:1022 +#: classes/controllers/FrmFormsController.php:1071 msgid "Display form description" msgstr "" -#: classes/controllers/FrmFormsController.php:1026 +#: classes/controllers/FrmFormsController.php:1075 msgid "Minimize form HTML" msgstr "" -#: classes/controllers/FrmFormsController.php:1095 +#: classes/controllers/FrmFormsController.php:1144 #: classes/controllers/FrmStylesController.php:963 #: classes/views/frm-forms/settings-advanced.php:13 #: classes/views/styles/manage.php:36 @@ -843,243 +861,243 @@ msgstr "" msgid "Form Title" msgstr "" -#: classes/controllers/FrmFormsController.php:1098 +#: classes/controllers/FrmFormsController.php:1147 #: classes/helpers/FrmCSVExportHelper.php:427 msgid "Key" msgstr "" -#: classes/controllers/FrmFormsController.php:1099 +#: classes/controllers/FrmFormsController.php:1148 msgid "Actions" msgstr "" -#: classes/controllers/FrmFormsController.php:1100 +#: classes/controllers/FrmFormsController.php:1149 #: classes/models/FrmField.php:113 #: stripe/controllers/FrmTransLiteListsController.php:72 msgid "Date" msgstr "" -#: classes/controllers/FrmFormsController.php:1171 +#: classes/controllers/FrmFormsController.php:1220 msgid "You can't edit the form" msgstr "" -#: classes/controllers/FrmFormsController.php:1172 +#: classes/controllers/FrmFormsController.php:1221 msgid "You are trying to edit a form that does not exist" msgstr "" -#: classes/controllers/FrmFormsController.php:1186 +#: classes/controllers/FrmFormsController.php:1235 msgid "The form you're trying to edit is in trash. You must restore it first before you can make changes" msgstr "" -#: classes/controllers/FrmFormsController.php:1196 +#: classes/controllers/FrmFormsController.php:1245 msgid "Restore form" msgstr "" #. translators: %1$s: Start link HTML, %2$s: End link HTML -#: classes/controllers/FrmFormsController.php:1203 +#: classes/controllers/FrmFormsController.php:1252 msgid "You are trying to edit a child form. Please edit from %1$shere%2$s" msgstr "" -#: classes/controllers/FrmFormsController.php:1236 +#: classes/controllers/FrmFormsController.php:1285 msgid "Template was successfully updated." msgstr "" -#: classes/controllers/FrmFormsController.php:1263 +#: classes/controllers/FrmFormsController.php:1312 msgid "Form was Successfully Copied" msgstr "" -#: classes/controllers/FrmFormsController.php:1357 +#: classes/controllers/FrmFormsController.php:1406 #: classes/controllers/FrmStylesController.php:962 #: classes/views/styles/_field-labels.php:12 msgid "General" msgstr "" -#: classes/controllers/FrmFormsController.php:1358 +#: classes/controllers/FrmFormsController.php:1407 msgid "General Form Settings" msgstr "" -#: classes/controllers/FrmFormsController.php:1363 +#: classes/controllers/FrmFormsController.php:1412 msgid "Actions & Notifications" msgstr "" -#: classes/controllers/FrmFormsController.php:1369 -#: classes/controllers/FrmFormsController.php:1374 +#: classes/controllers/FrmFormsController.php:1418 +#: classes/controllers/FrmFormsController.php:1423 msgid "Form Permissions" msgstr "" -#: classes/controllers/FrmFormsController.php:1375 +#: classes/controllers/FrmFormsController.php:1424 msgid "Allow editing, protect forms and files, limit entries, and save drafts. Upgrade to get form and entry permissions." msgstr "" -#: classes/controllers/FrmFormsController.php:1380 +#: classes/controllers/FrmFormsController.php:1429 msgid "Form Scheduling" msgstr "" -#: classes/controllers/FrmFormsController.php:1385 +#: classes/controllers/FrmFormsController.php:1434 msgid "Form scheduling settings" msgstr "" -#: classes/controllers/FrmFormsController.php:1390 +#: classes/controllers/FrmFormsController.php:1439 #: classes/controllers/FrmStylesController.php:970 #: classes/helpers/FrmFieldsHelper.php:2249 #: classes/views/frm-forms/settings-buttons.php:20 msgid "Buttons" msgstr "" -#: classes/controllers/FrmFormsController.php:1396 +#: classes/controllers/FrmFormsController.php:1445 msgid "Form Landing Page" msgstr "" -#: classes/controllers/FrmFormsController.php:1402 -#: classes/controllers/FrmFormsController.php:1408 +#: classes/controllers/FrmFormsController.php:1451 +#: classes/controllers/FrmFormsController.php:1457 msgid "Conversational Forms" msgstr "" -#: classes/controllers/FrmFormsController.php:1409 +#: classes/controllers/FrmFormsController.php:1458 msgid "Ask one question at a time for automated conversations." msgstr "" -#: classes/controllers/FrmFormsController.php:1415 +#: classes/controllers/FrmFormsController.php:1464 msgid "Form Abandonment" msgstr "" -#: classes/controllers/FrmFormsController.php:1421 +#: classes/controllers/FrmFormsController.php:1470 msgid "Form abandonment settings" msgstr "" -#: classes/controllers/FrmFormsController.php:1422 +#: classes/controllers/FrmFormsController.php:1471 msgid "Unlock the power of data capture to boost lead generation and master the art of form optimization." msgstr "" -#: classes/controllers/FrmFormsController.php:1428 +#: classes/controllers/FrmFormsController.php:1477 msgid "Customize HTML" msgstr "" -#: classes/controllers/FrmFormsController.php:1583 +#: classes/controllers/FrmFormsController.php:1632 msgid "Customize field values with the following parameters." msgstr "" -#: classes/controllers/FrmFormsController.php:1621 +#: classes/controllers/FrmFormsController.php:1670 msgid "Separator" msgstr "" -#: classes/controllers/FrmFormsController.php:1622 +#: classes/controllers/FrmFormsController.php:1671 msgid "Use a different separator for checkbox fields" msgstr "" -#: classes/controllers/FrmFormsController.php:1625 +#: classes/controllers/FrmFormsController.php:1674 msgid "Date Format" msgstr "" -#: classes/controllers/FrmFormsController.php:1628 +#: classes/controllers/FrmFormsController.php:1677 #: classes/views/frm-fields/back-end/settings.php:76 msgid "Field Label" msgstr "" -#: classes/controllers/FrmFormsController.php:1631 +#: classes/controllers/FrmFormsController.php:1680 msgid "No Auto P" msgstr "" -#: classes/controllers/FrmFormsController.php:1632 +#: classes/controllers/FrmFormsController.php:1681 msgid "Do not automatically add any paragraphs or line breaks" msgstr "" -#: classes/controllers/FrmFormsController.php:1647 +#: classes/controllers/FrmFormsController.php:1696 #: classes/models/FrmField.php:62 msgid "User ID" msgstr "" -#: classes/controllers/FrmFormsController.php:1648 +#: classes/controllers/FrmFormsController.php:1697 #: classes/models/fields/FrmFieldName.php:40 #: stripe/views/action-settings/payments-options.php:129 msgid "First Name" msgstr "" -#: classes/controllers/FrmFormsController.php:1649 +#: classes/controllers/FrmFormsController.php:1698 #: classes/models/fields/FrmFieldName.php:42 #: stripe/views/action-settings/payments-options.php:135 msgid "Last Name" msgstr "" -#: classes/controllers/FrmFormsController.php:1650 +#: classes/controllers/FrmFormsController.php:1699 msgid "Display Name" msgstr "" -#: classes/controllers/FrmFormsController.php:1651 +#: classes/controllers/FrmFormsController.php:1700 msgid "User Login" msgstr "" -#: classes/controllers/FrmFormsController.php:1652 +#: classes/controllers/FrmFormsController.php:1701 #: classes/models/FrmField.php:34 #: stripe/views/action-settings/payments-options.php:105 msgid "Email" msgstr "" -#: classes/controllers/FrmFormsController.php:1653 +#: classes/controllers/FrmFormsController.php:1702 msgid "Avatar" msgstr "" -#: classes/controllers/FrmFormsController.php:1654 +#: classes/controllers/FrmFormsController.php:1703 msgid "Author Link" msgstr "" -#: classes/controllers/FrmFormsController.php:1667 +#: classes/controllers/FrmFormsController.php:1716 #: classes/views/frm-entries/sidebar-shared.php:51 msgid "Entry ID" msgstr "" -#: classes/controllers/FrmFormsController.php:1669 +#: classes/controllers/FrmFormsController.php:1718 msgid "Post ID" msgstr "" -#: classes/controllers/FrmFormsController.php:1670 +#: classes/controllers/FrmFormsController.php:1719 msgid "User IP" msgstr "" -#: classes/controllers/FrmFormsController.php:1671 +#: classes/controllers/FrmFormsController.php:1720 msgid "Entry created" msgstr "" -#: classes/controllers/FrmFormsController.php:1672 +#: classes/controllers/FrmFormsController.php:1721 msgid "Entry updated" msgstr "" -#: classes/controllers/FrmFormsController.php:1674 +#: classes/controllers/FrmFormsController.php:1723 msgid "Site URL" msgstr "" -#: classes/controllers/FrmFormsController.php:1675 +#: classes/controllers/FrmFormsController.php:1724 msgid "Site Name" msgstr "" -#: classes/controllers/FrmFormsController.php:1676 +#: classes/controllers/FrmFormsController.php:1725 #: classes/helpers/FrmFormsHelper.php:557 msgid "Form Name" msgstr "" -#: classes/controllers/FrmFormsController.php:1841 +#: classes/controllers/FrmFormsController.php:1890 msgid "No forms were specified" msgstr "" -#: classes/controllers/FrmFormsController.php:1949 +#: classes/controllers/FrmFormsController.php:2011 msgid "There was a problem duplicating the form" msgstr "" -#: classes/controllers/FrmFormsController.php:1993 +#: classes/controllers/FrmFormsController.php:2055 msgid "Abnormal HTML characters prevented your form from saving correctly" msgstr "" -#: classes/controllers/FrmFormsController.php:2171 -#: classes/controllers/FrmFormsController.php:2193 +#: classes/controllers/FrmFormsController.php:2233 +#: classes/controllers/FrmFormsController.php:2255 msgid "Please select a valid form" msgstr "" #. translators: %1$s: Start link HTML, %2$s: End link HTML -#: classes/controllers/FrmFormsController.php:2904 +#: classes/controllers/FrmFormsController.php:2966 msgid "%1$sClick here%2$s if you are not automatically redirected." msgstr "" -#: classes/controllers/FrmFormsController.php:3283 -#: classes/helpers/FrmAppHelper.php:1759 +#: classes/controllers/FrmFormsController.php:3345 +#: classes/helpers/FrmAppHelper.php:1773 #: classes/helpers/FrmOnSubmitHelper.php:117 msgid "Select a Page" msgstr "" @@ -1089,15 +1107,15 @@ msgstr "" msgid "Form Templates" msgstr "" -#: classes/controllers/FrmFormTemplatesController.php:368 +#: classes/controllers/FrmFormTemplatesController.php:362 msgid "There was an error creating a template." msgstr "" -#: classes/controllers/FrmFormTemplatesController.php:509 +#: classes/controllers/FrmFormTemplatesController.php:503 msgid "Favorites" msgstr "" -#: classes/controllers/FrmFormTemplatesController.php:513 +#: classes/controllers/FrmFormTemplatesController.php:507 #: classes/views/form-templates/list.php:38 #: classes/views/frm-fields/back-end/format-dropdown-options.php:21 #: classes/views/frm-fields/back-end/format-dropdown-options.php:44 @@ -1105,19 +1123,15 @@ msgstr "" msgid "Custom" msgstr "" -#: classes/controllers/FrmFormTemplatesController.php:520 +#: classes/controllers/FrmFormTemplatesController.php:514 msgid "Available Templates" msgstr "" -#: classes/controllers/FrmFormTemplatesController.php:526 +#: classes/controllers/FrmFormTemplatesController.php:520 #: classes/views/form-templates/list.php:13 msgid "All Templates" msgstr "" -#: classes/controllers/FrmFormTemplatesController.php:530 -msgid "Free Templates" -msgstr "" - #: classes/controllers/FrmInboxController.php:96 msgid "Help Formidable improve with usage tracking" msgstr "" @@ -1258,7 +1272,7 @@ msgid "Plugin Licenses" msgstr "" #: classes/controllers/FrmSettingsController.php:134 -#: classes/views/frm-forms/settings-advanced.php:151 +#: classes/views/frm-forms/settings-advanced.php:149 msgid "Miscellaneous" msgstr "" @@ -1268,10 +1282,10 @@ msgid "Settings Saved" msgstr "" #: classes/controllers/FrmSettingsController.php:311 -#: classes/helpers/FrmFormsHelper.php:1832 +#: classes/helpers/FrmFormsHelper.php:1820 #: classes/helpers/FrmStylesHelper.php:24 #: classes/views/frm-forms/add_field_links.php:186 -#: classes/views/frm-forms/edit.php:29 +#: classes/views/frm-forms/edit.php:28 #: classes/views/summary-emails/stats.php:117 msgid "Update" msgstr "" @@ -1358,7 +1372,7 @@ msgstr "" #: classes/controllers/FrmStylesController.php:54 #: classes/helpers/FrmFormsListHelper.php:416 -#: classes/views/form-templates/template.php:74 +#: classes/views/form-templates/template.php:73 #: classes/views/frm-entries/sidebar-shared.php:40 #: stripe/helpers/FrmTransLiteListHelper.php:386 #: js/admin/style.js:657 @@ -1401,10 +1415,6 @@ msgstr "" msgid "No form specified" msgstr "" -#: classes/controllers/FrmStylesController.php:497 -msgid "Form does not exist" -msgstr "" - #: classes/controllers/FrmStylesController.php:517 msgid "Successfully updated style." msgstr "" @@ -1554,26 +1564,26 @@ msgstr "" msgid "Based on %1$s reviews on %2$s" msgstr "" -#: classes/helpers/FrmAppHelper.php:1387 +#: classes/helpers/FrmAppHelper.php:1401 #: classes/views/xml/import_form.php:17 msgid "Import" msgstr "" -#: classes/helpers/FrmAppHelper.php:1417 +#: classes/helpers/FrmAppHelper.php:1431 #: classes/views/frm-settings/license_box.php:23 msgid "upgrading to PRO" msgstr "" #. translators: %1$s: Start link HTML, %2$s: CTA text ("upgrading to PRO" by default), %3$s: End link HTML -#: classes/helpers/FrmAppHelper.php:1432 +#: classes/helpers/FrmAppHelper.php:1446 msgid "You're using Formidable Forms Lite. To unlock more features consider %1$s%2$s%3$s." msgstr "" -#: classes/helpers/FrmAppHelper.php:1484 +#: classes/helpers/FrmAppHelper.php:1498 msgid "Add New" msgstr "" -#: classes/helpers/FrmAppHelper.php:1496 +#: classes/helpers/FrmAppHelper.php:1510 #: classes/views/frm-entries/list.php:43 #: classes/views/frm-forms/list.php:36 #: classes/views/shared/mb_adv_info.php:41 @@ -1581,742 +1591,742 @@ msgstr "" msgid "Search" msgstr "" -#: classes/helpers/FrmAppHelper.php:1893 +#: classes/helpers/FrmAppHelper.php:1907 msgid "Add Entries from Admin Area" msgstr "" -#: classes/helpers/FrmAppHelper.php:1894 +#: classes/helpers/FrmAppHelper.php:1908 msgid "Edit Entries from Admin Area" msgstr "" -#: classes/helpers/FrmAppHelper.php:1895 +#: classes/helpers/FrmAppHelper.php:1909 msgid "View Reports" msgstr "" -#: classes/helpers/FrmAppHelper.php:1907 +#: classes/helpers/FrmAppHelper.php:1921 msgid "Add/Edit Views" msgstr "" -#: classes/helpers/FrmAppHelper.php:1926 +#: classes/helpers/FrmAppHelper.php:1940 msgid "View Forms List" msgstr "" -#: classes/helpers/FrmAppHelper.php:1927 +#: classes/helpers/FrmAppHelper.php:1941 msgid "Add and Edit Forms" msgstr "" -#: classes/helpers/FrmAppHelper.php:1928 +#: classes/helpers/FrmAppHelper.php:1942 msgid "Delete Forms" msgstr "" -#: classes/helpers/FrmAppHelper.php:1929 +#: classes/helpers/FrmAppHelper.php:1943 msgid "Access this Settings Page" msgstr "" -#: classes/helpers/FrmAppHelper.php:1930 +#: classes/helpers/FrmAppHelper.php:1944 msgid "View Entries from Admin Area" msgstr "" -#: classes/helpers/FrmAppHelper.php:1931 +#: classes/helpers/FrmAppHelper.php:1945 msgid "Delete Entries from Admin Area" msgstr "" -#: classes/helpers/FrmAppHelper.php:2767 +#: classes/helpers/FrmAppHelper.php:2781 msgid "at" msgstr "" -#: classes/helpers/FrmAppHelper.php:2911 +#: classes/helpers/FrmAppHelper.php:2925 #: stripe/helpers/FrmTransLiteAppHelper.php:245 msgid "year" msgid_plural "years" msgstr[0] "" msgstr[1] "" -#: classes/helpers/FrmAppHelper.php:2912 +#: classes/helpers/FrmAppHelper.php:2926 msgid "years" msgstr "" -#: classes/helpers/FrmAppHelper.php:2916 +#: classes/helpers/FrmAppHelper.php:2930 #: stripe/helpers/FrmTransLiteAppHelper.php:244 msgid "month" msgid_plural "months" msgstr[0] "" msgstr[1] "" -#: classes/helpers/FrmAppHelper.php:2917 +#: classes/helpers/FrmAppHelper.php:2931 msgid "months" msgstr "" -#: classes/helpers/FrmAppHelper.php:2921 +#: classes/helpers/FrmAppHelper.php:2935 #: stripe/helpers/FrmTransLiteAppHelper.php:243 msgid "week" msgid_plural "weeks" msgstr[0] "" msgstr[1] "" -#: classes/helpers/FrmAppHelper.php:2922 +#: classes/helpers/FrmAppHelper.php:2936 msgid "weeks" msgstr "" -#: classes/helpers/FrmAppHelper.php:2926 +#: classes/helpers/FrmAppHelper.php:2940 #: stripe/helpers/FrmTransLiteAppHelper.php:242 msgid "day" msgid_plural "days" msgstr[0] "" msgstr[1] "" -#: classes/helpers/FrmAppHelper.php:2927 +#: classes/helpers/FrmAppHelper.php:2941 msgid "days" msgstr "" -#: classes/helpers/FrmAppHelper.php:2931 +#: classes/helpers/FrmAppHelper.php:2945 msgid "hour" msgstr "" -#: classes/helpers/FrmAppHelper.php:2932 +#: classes/helpers/FrmAppHelper.php:2946 msgid "hours" msgstr "" -#: classes/helpers/FrmAppHelper.php:2936 +#: classes/helpers/FrmAppHelper.php:2950 msgid "minute" msgstr "" -#: classes/helpers/FrmAppHelper.php:2937 +#: classes/helpers/FrmAppHelper.php:2951 msgid "minutes" msgstr "" -#: classes/helpers/FrmAppHelper.php:2941 +#: classes/helpers/FrmAppHelper.php:2955 msgid "second" msgstr "" -#: classes/helpers/FrmAppHelper.php:2942 +#: classes/helpers/FrmAppHelper.php:2956 #: classes/views/frm-form-actions/on_submit_redirect_settings.php:97 msgid "seconds" msgstr "" -#: classes/helpers/FrmAppHelper.php:3041 +#: classes/helpers/FrmAppHelper.php:3055 msgid "Give this action a label for easy reference." msgstr "" -#: classes/helpers/FrmAppHelper.php:3042 +#: classes/helpers/FrmAppHelper.php:3056 msgid "Add one or more recipient addresses separated by a \",\". FORMAT: Name or name@email.com. [admin_email] is the address set in WP General Settings." msgstr "" -#: classes/helpers/FrmAppHelper.php:3043 +#: classes/helpers/FrmAppHelper.php:3057 msgid "Add CC addresses separated by a \",\". FORMAT: Name or name@email.com." msgstr "" -#: classes/helpers/FrmAppHelper.php:3044 +#: classes/helpers/FrmAppHelper.php:3058 msgid "Add BCC addresses separated by a \",\". FORMAT: Name or name@email.com." msgstr "" -#: classes/helpers/FrmAppHelper.php:3045 +#: classes/helpers/FrmAppHelper.php:3059 msgid "If you would like a different reply to address than the \"from\" address, add a single address here. FORMAT: Name or name@email.com." msgstr "" -#: classes/helpers/FrmAppHelper.php:3046 +#: classes/helpers/FrmAppHelper.php:3060 msgid "Enter the name and/or email address of the sender. FORMAT: John Bates or john@example.com." msgstr "" #. translators: %1$s: Form name, %2$s: Date -#: classes/helpers/FrmAppHelper.php:3048 +#: classes/helpers/FrmAppHelper.php:3062 msgid "If you leave the subject blank, the default will be used: %1$s Form submitted on %2$s" msgstr "" -#: classes/helpers/FrmAppHelper.php:3049 +#: classes/helpers/FrmAppHelper.php:3063 msgid "This option will open the link in a new browser tab. Please note that some popup blockers may prevent this from happening, in which case the link will be displayed." msgstr "" -#: classes/helpers/FrmAppHelper.php:3319 -#: classes/helpers/FrmAppHelper.php:3401 +#: classes/helpers/FrmAppHelper.php:3333 +#: classes/helpers/FrmAppHelper.php:3415 msgid "Please wait while your site updates." msgstr "" -#: classes/helpers/FrmAppHelper.php:3320 +#: classes/helpers/FrmAppHelper.php:3334 msgid "Are you sure you want to deauthorize Formidable Forms on this site?" msgstr "" -#: classes/helpers/FrmAppHelper.php:3325 -#: classes/helpers/FrmAppHelper.php:3355 +#: classes/helpers/FrmAppHelper.php:3339 +#: classes/helpers/FrmAppHelper.php:3369 msgid "Loading…" msgstr "" -#: classes/helpers/FrmAppHelper.php:3356 +#: classes/helpers/FrmAppHelper.php:3370 msgid "Remove" msgstr "" -#: classes/helpers/FrmAppHelper.php:3359 +#: classes/helpers/FrmAppHelper.php:3373 #: classes/helpers/FrmCSVExportHelper.php:426 msgid "ID" msgstr "" -#: classes/helpers/FrmAppHelper.php:3360 +#: classes/helpers/FrmAppHelper.php:3374 msgid "No results match" msgstr "" -#: classes/helpers/FrmAppHelper.php:3361 +#: classes/helpers/FrmAppHelper.php:3375 msgid "That file looks like Spam." msgstr "" -#: classes/helpers/FrmAppHelper.php:3362 +#: classes/helpers/FrmAppHelper.php:3376 msgid "There is an error in the calculation in the field with key" msgstr "" -#: classes/helpers/FrmAppHelper.php:3363 +#: classes/helpers/FrmAppHelper.php:3377 msgid "Please complete the preceding required fields before uploading a file." msgstr "" -#: classes/helpers/FrmAppHelper.php:3377 +#: classes/helpers/FrmAppHelper.php:3391 msgid "(Click to add description)" msgstr "" -#: classes/helpers/FrmAppHelper.php:3378 +#: classes/helpers/FrmAppHelper.php:3392 msgid "(Blank)" msgstr "" -#: classes/helpers/FrmAppHelper.php:3379 +#: classes/helpers/FrmAppHelper.php:3393 msgid "(no label)" msgstr "" -#: classes/helpers/FrmAppHelper.php:3380 +#: classes/helpers/FrmAppHelper.php:3394 msgid "OK" msgstr "" -#: classes/helpers/FrmAppHelper.php:3382 +#: classes/helpers/FrmAppHelper.php:3396 #: classes/views/frm-fields/back-end/settings.php:315 #: classes/views/styles/_buttons.php:12 #: classes/views/styles/_field-colors.php:12 msgid "Default" msgstr "" -#: classes/helpers/FrmAppHelper.php:3383 +#: classes/helpers/FrmAppHelper.php:3397 msgid "Clear default value when typing" msgstr "" -#: classes/helpers/FrmAppHelper.php:3384 +#: classes/helpers/FrmAppHelper.php:3398 msgid "Do not clear default value when typing" msgstr "" -#: classes/helpers/FrmAppHelper.php:3385 +#: classes/helpers/FrmAppHelper.php:3399 msgid "Default value will pass form validation" msgstr "" -#: classes/helpers/FrmAppHelper.php:3386 +#: classes/helpers/FrmAppHelper.php:3400 msgid "Default value will NOT pass form validation" msgstr "" -#: classes/helpers/FrmAppHelper.php:3387 +#: classes/helpers/FrmAppHelper.php:3401 #: classes/views/shared/confirm-overlay.php:15 #: classes/views/shared/info-overlay.php:15 msgid "Are you sure?" msgstr "" -#: classes/helpers/FrmAppHelper.php:3388 +#: classes/helpers/FrmAppHelper.php:3402 msgid "Are you sure you want to delete this field and all data associated with it?" msgstr "" -#: classes/helpers/FrmAppHelper.php:3389 +#: classes/helpers/FrmAppHelper.php:3403 msgid "All fields inside this Section will be deleted along with their data. Are you sure you want to delete this group of fields?" msgstr "" -#: classes/helpers/FrmAppHelper.php:3390 +#: classes/helpers/FrmAppHelper.php:3404 msgid "Warning: If you have entries with multiple rows, all but the first row will be lost." msgstr "" -#: classes/helpers/FrmAppHelper.php:3392 +#: classes/helpers/FrmAppHelper.php:3406 #: classes/helpers/FrmFieldsHelper.php:406 msgid "The entered values do not match" msgstr "" -#: classes/helpers/FrmAppHelper.php:3393 +#: classes/helpers/FrmAppHelper.php:3407 msgid "Enter Email" msgstr "" -#: classes/helpers/FrmAppHelper.php:3394 +#: classes/helpers/FrmAppHelper.php:3408 msgid "Confirm Email" msgstr "" -#: classes/helpers/FrmAppHelper.php:3395 +#: classes/helpers/FrmAppHelper.php:3409 #: classes/views/shared/mb_adv_info.php:179 msgid "Conditional content here" msgstr "" -#: classes/helpers/FrmAppHelper.php:3396 +#: classes/helpers/FrmAppHelper.php:3410 #: classes/helpers/FrmFieldsHelper.php:641 #: classes/helpers/FrmFieldsHelper.php:642 msgid "New Option" msgstr "" -#: classes/helpers/FrmAppHelper.php:3397 +#: classes/helpers/FrmAppHelper.php:3411 msgid "In certain browsers (e.g. Firefox) text will not display correctly if the field height is too small relative to the field padding and text size. Please increase your field height or decrease your field padding." msgstr "" -#: classes/helpers/FrmAppHelper.php:3398 +#: classes/helpers/FrmAppHelper.php:3412 msgid "Enter Password" msgstr "" -#: classes/helpers/FrmAppHelper.php:3399 +#: classes/helpers/FrmAppHelper.php:3413 msgid "Confirm Password" msgstr "" -#: classes/helpers/FrmAppHelper.php:3400 +#: classes/helpers/FrmAppHelper.php:3414 msgid "Import Complete" msgstr "" -#: classes/helpers/FrmAppHelper.php:3402 +#: classes/helpers/FrmAppHelper.php:3416 msgid "Warning: There is no way to retrieve unsaved entries." msgstr "" -#: classes/helpers/FrmAppHelper.php:3403 +#: classes/helpers/FrmAppHelper.php:3417 msgid "Private" msgstr "" -#: classes/helpers/FrmAppHelper.php:3406 +#: classes/helpers/FrmAppHelper.php:3420 msgid "No new licenses were found" msgstr "" -#: classes/helpers/FrmAppHelper.php:3407 +#: classes/helpers/FrmAppHelper.php:3421 msgid "This calculation has at least one unmatched ( ) { } [ ]." msgstr "" -#: classes/helpers/FrmAppHelper.php:3408 +#: classes/helpers/FrmAppHelper.php:3422 msgid "This calculation may have shortcodes that work in Views but not forms." msgstr "" -#: classes/helpers/FrmAppHelper.php:3409 +#: classes/helpers/FrmAppHelper.php:3423 msgid "This calculation may have shortcodes that work in text calculations but not numeric calculations." msgstr "" #. translators: %d is the number of allowed actions per form -#: classes/helpers/FrmAppHelper.php:3411 +#: classes/helpers/FrmAppHelper.php:3425 msgid "This form action is limited to %d per form." msgstr "" -#: classes/helpers/FrmAppHelper.php:3412 +#: classes/helpers/FrmAppHelper.php:3426 msgid "Please edit the existing form action." msgstr "" #. Translators: %s is the name of a Detail Page Slug that is a reserved word. -#: classes/helpers/FrmAppHelper.php:3415 +#: classes/helpers/FrmAppHelper.php:3429 msgid "The Detail Page Slug \"%s\" is reserved by WordPress. This may cause problems. Is this intentional?" msgstr "" #. Translators: %s is the name of a parameter that is a reserved word. More than one word could be listed here, though that would not be common. -#: classes/helpers/FrmAppHelper.php:3417 +#: classes/helpers/FrmAppHelper.php:3431 msgid "The parameter \"%s\" is reserved by WordPress. This may cause problems when included in the URL. Is this intentional? " msgstr "" -#: classes/helpers/FrmAppHelper.php:3418 +#: classes/helpers/FrmAppHelper.php:3432 #: classes/helpers/FrmFormsHelper.php:1673 msgid "See the list of reserved words in WordPress." msgstr "" -#: classes/helpers/FrmAppHelper.php:3419 +#: classes/helpers/FrmAppHelper.php:3433 msgid "Please enter a Repeat Limit that is greater than 1." msgstr "" -#: classes/helpers/FrmAppHelper.php:3420 +#: classes/helpers/FrmAppHelper.php:3434 msgid "Please select a limit between 0 and 200." msgstr "" -#: classes/helpers/FrmAppHelper.php:3425 +#: classes/helpers/FrmAppHelper.php:3439 #: classes/views/shared/mb_adv_info.php:119 #: classes/views/shared/mb_adv_info.php:135 msgid "Select a Field" msgstr "" -#: classes/helpers/FrmAppHelper.php:3426 +#: classes/helpers/FrmAppHelper.php:3440 #: classes/helpers/FrmListHelper.php:249 msgid "No items found." msgstr "" -#: classes/helpers/FrmAppHelper.php:3427 +#: classes/helpers/FrmAppHelper.php:3441 msgid "Oops. You have already used that field." msgstr "" #. translators: %1$s: HTML open tag, %2$s: HTML end tag. -#: classes/helpers/FrmAppHelper.php:3436 +#: classes/helpers/FrmAppHelper.php:3450 msgid "You can hold %1$sShift%2$s on your keyboard to select multiple fields" msgstr "" -#: classes/helpers/FrmAppHelper.php:3511 +#: classes/helpers/FrmAppHelper.php:3525 msgid "You are running an outdated version of Formidable. This plugin may not work correctly if you do not update Formidable." msgstr "" -#: classes/helpers/FrmAppHelper.php:3539 +#: classes/helpers/FrmAppHelper.php:3553 msgid "You are running a version of Formidable Forms that may not be compatible with your version of Formidable Forms Pro." msgstr "" -#: classes/helpers/FrmAppHelper.php:3571 +#: classes/helpers/FrmAppHelper.php:3585 msgid "The version of PHP on your server is too low. If this is not corrected, you may see issues with Formidable Forms. Please contact your web host and ask to be updated to PHP 7.0+." msgstr "" -#: classes/helpers/FrmAppHelper.php:3589 +#: classes/helpers/FrmAppHelper.php:3603 msgid "English" msgstr "" -#: classes/helpers/FrmAppHelper.php:3590 +#: classes/helpers/FrmAppHelper.php:3604 msgid "Afrikaans" msgstr "" -#: classes/helpers/FrmAppHelper.php:3591 +#: classes/helpers/FrmAppHelper.php:3605 msgid "Albanian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3592 +#: classes/helpers/FrmAppHelper.php:3606 msgid "Algerian Arabic" msgstr "" -#: classes/helpers/FrmAppHelper.php:3593 +#: classes/helpers/FrmAppHelper.php:3607 msgid "Amharic" msgstr "" -#: classes/helpers/FrmAppHelper.php:3594 +#: classes/helpers/FrmAppHelper.php:3608 msgid "Arabic" msgstr "" -#: classes/helpers/FrmAppHelper.php:3595 +#: classes/helpers/FrmAppHelper.php:3609 msgid "Armenian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3596 +#: classes/helpers/FrmAppHelper.php:3610 msgid "Azerbaijani" msgstr "" -#: classes/helpers/FrmAppHelper.php:3597 +#: classes/helpers/FrmAppHelper.php:3611 msgid "Basque" msgstr "" -#: classes/helpers/FrmAppHelper.php:3598 +#: classes/helpers/FrmAppHelper.php:3612 msgid "Belarusian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3599 +#: classes/helpers/FrmAppHelper.php:3613 msgid "Bengali" msgstr "" -#: classes/helpers/FrmAppHelper.php:3600 +#: classes/helpers/FrmAppHelper.php:3614 msgid "Bosnian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3601 +#: classes/helpers/FrmAppHelper.php:3615 msgid "Bulgarian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3602 +#: classes/helpers/FrmAppHelper.php:3616 msgid "Catalan" msgstr "" -#: classes/helpers/FrmAppHelper.php:3603 +#: classes/helpers/FrmAppHelper.php:3617 msgid "Chinese Hong Kong" msgstr "" -#: classes/helpers/FrmAppHelper.php:3604 +#: classes/helpers/FrmAppHelper.php:3618 msgid "Chinese Simplified" msgstr "" -#: classes/helpers/FrmAppHelper.php:3605 +#: classes/helpers/FrmAppHelper.php:3619 msgid "Chinese Traditional" msgstr "" -#: classes/helpers/FrmAppHelper.php:3606 +#: classes/helpers/FrmAppHelper.php:3620 msgid "Croatian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3607 +#: classes/helpers/FrmAppHelper.php:3621 msgid "Czech" msgstr "" -#: classes/helpers/FrmAppHelper.php:3608 +#: classes/helpers/FrmAppHelper.php:3622 msgid "Danish" msgstr "" -#: classes/helpers/FrmAppHelper.php:3609 +#: classes/helpers/FrmAppHelper.php:3623 msgid "Dutch" msgstr "" -#: classes/helpers/FrmAppHelper.php:3610 +#: classes/helpers/FrmAppHelper.php:3624 msgid "English/UK" msgstr "" -#: classes/helpers/FrmAppHelper.php:3611 +#: classes/helpers/FrmAppHelper.php:3625 msgid "Esperanto" msgstr "" -#: classes/helpers/FrmAppHelper.php:3612 +#: classes/helpers/FrmAppHelper.php:3626 msgid "Estonian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3613 +#: classes/helpers/FrmAppHelper.php:3627 msgid "Faroese" msgstr "" -#: classes/helpers/FrmAppHelper.php:3614 +#: classes/helpers/FrmAppHelper.php:3628 msgid "Farsi/Persian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3615 +#: classes/helpers/FrmAppHelper.php:3629 msgid "Filipino" msgstr "" -#: classes/helpers/FrmAppHelper.php:3616 +#: classes/helpers/FrmAppHelper.php:3630 msgid "Finnish" msgstr "" -#: classes/helpers/FrmAppHelper.php:3617 +#: classes/helpers/FrmAppHelper.php:3631 msgid "French" msgstr "" -#: classes/helpers/FrmAppHelper.php:3618 +#: classes/helpers/FrmAppHelper.php:3632 msgid "French/Canadian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3619 +#: classes/helpers/FrmAppHelper.php:3633 msgid "French/Swiss" msgstr "" -#: classes/helpers/FrmAppHelper.php:3620 +#: classes/helpers/FrmAppHelper.php:3634 msgid "Galician" msgstr "" -#: classes/helpers/FrmAppHelper.php:3621 +#: classes/helpers/FrmAppHelper.php:3635 msgid "Georgian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3622 +#: classes/helpers/FrmAppHelper.php:3636 msgid "German" msgstr "" -#: classes/helpers/FrmAppHelper.php:3623 +#: classes/helpers/FrmAppHelper.php:3637 msgid "German/Austria" msgstr "" -#: classes/helpers/FrmAppHelper.php:3624 +#: classes/helpers/FrmAppHelper.php:3638 msgid "German/Switzerland" msgstr "" -#: classes/helpers/FrmAppHelper.php:3625 +#: classes/helpers/FrmAppHelper.php:3639 msgid "Greek" msgstr "" -#: classes/helpers/FrmAppHelper.php:3626 +#: classes/helpers/FrmAppHelper.php:3640 msgid "Gujarati" msgstr "" -#: classes/helpers/FrmAppHelper.php:3627 -#: classes/helpers/FrmAppHelper.php:3628 +#: classes/helpers/FrmAppHelper.php:3641 +#: classes/helpers/FrmAppHelper.php:3642 msgid "Hebrew" msgstr "" -#: classes/helpers/FrmAppHelper.php:3629 +#: classes/helpers/FrmAppHelper.php:3643 msgid "Hindi" msgstr "" -#: classes/helpers/FrmAppHelper.php:3630 +#: classes/helpers/FrmAppHelper.php:3644 msgid "Hungarian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3631 +#: classes/helpers/FrmAppHelper.php:3645 msgid "Icelandic" msgstr "" -#: classes/helpers/FrmAppHelper.php:3632 +#: classes/helpers/FrmAppHelper.php:3646 msgid "Indonesian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3633 +#: classes/helpers/FrmAppHelper.php:3647 msgid "Italian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3634 +#: classes/helpers/FrmAppHelper.php:3648 msgid "Japanese" msgstr "" -#: classes/helpers/FrmAppHelper.php:3635 +#: classes/helpers/FrmAppHelper.php:3649 msgid "Kannada" msgstr "" -#: classes/helpers/FrmAppHelper.php:3636 +#: classes/helpers/FrmAppHelper.php:3650 msgid "Kazakh" msgstr "" -#: classes/helpers/FrmAppHelper.php:3637 +#: classes/helpers/FrmAppHelper.php:3651 msgid "Khmer" msgstr "" -#: classes/helpers/FrmAppHelper.php:3638 +#: classes/helpers/FrmAppHelper.php:3652 msgid "Korean" msgstr "" -#: classes/helpers/FrmAppHelper.php:3639 +#: classes/helpers/FrmAppHelper.php:3653 msgid "Kyrgyz" msgstr "" -#: classes/helpers/FrmAppHelper.php:3640 +#: classes/helpers/FrmAppHelper.php:3654 msgid "Laothian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3641 +#: classes/helpers/FrmAppHelper.php:3655 msgid "Latvian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3642 +#: classes/helpers/FrmAppHelper.php:3656 msgid "Lithuanian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3643 +#: classes/helpers/FrmAppHelper.php:3657 msgid "Luxembourgish" msgstr "" -#: classes/helpers/FrmAppHelper.php:3644 +#: classes/helpers/FrmAppHelper.php:3658 msgid "Macedonian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3645 +#: classes/helpers/FrmAppHelper.php:3659 msgid "Malayalam" msgstr "" -#: classes/helpers/FrmAppHelper.php:3646 +#: classes/helpers/FrmAppHelper.php:3660 msgid "Malaysian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3647 +#: classes/helpers/FrmAppHelper.php:3661 msgid "Marathi" msgstr "" -#: classes/helpers/FrmAppHelper.php:3648 +#: classes/helpers/FrmAppHelper.php:3662 msgid "Norwegian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3649 +#: classes/helpers/FrmAppHelper.php:3663 msgid "Norwegian BokmÃ¥l" msgstr "" -#: classes/helpers/FrmAppHelper.php:3650 +#: classes/helpers/FrmAppHelper.php:3664 msgid "Norwegian Nynorsk" msgstr "" -#: classes/helpers/FrmAppHelper.php:3651 +#: classes/helpers/FrmAppHelper.php:3665 msgid "Polish" msgstr "" -#: classes/helpers/FrmAppHelper.php:3652 +#: classes/helpers/FrmAppHelper.php:3666 msgid "Portuguese" msgstr "" -#: classes/helpers/FrmAppHelper.php:3653 +#: classes/helpers/FrmAppHelper.php:3667 msgid "Portuguese/Brazilian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3654 +#: classes/helpers/FrmAppHelper.php:3668 msgid "Portuguese/Portugal" msgstr "" -#: classes/helpers/FrmAppHelper.php:3655 +#: classes/helpers/FrmAppHelper.php:3669 msgid "Romansh" msgstr "" -#: classes/helpers/FrmAppHelper.php:3656 +#: classes/helpers/FrmAppHelper.php:3670 msgid "Romanian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3657 +#: classes/helpers/FrmAppHelper.php:3671 msgid "Russian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3658 -#: classes/helpers/FrmAppHelper.php:3659 +#: classes/helpers/FrmAppHelper.php:3672 +#: classes/helpers/FrmAppHelper.php:3673 msgid "Serbian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3660 +#: classes/helpers/FrmAppHelper.php:3674 msgid "Sinhalese" msgstr "" -#: classes/helpers/FrmAppHelper.php:3661 +#: classes/helpers/FrmAppHelper.php:3675 msgid "Slovak" msgstr "" -#: classes/helpers/FrmAppHelper.php:3662 +#: classes/helpers/FrmAppHelper.php:3676 msgid "Slovenian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3663 +#: classes/helpers/FrmAppHelper.php:3677 msgid "Spanish" msgstr "" -#: classes/helpers/FrmAppHelper.php:3664 +#: classes/helpers/FrmAppHelper.php:3678 msgid "Spanish/Latin America" msgstr "" -#: classes/helpers/FrmAppHelper.php:3665 +#: classes/helpers/FrmAppHelper.php:3679 msgid "Swahili" msgstr "" -#: classes/helpers/FrmAppHelper.php:3666 +#: classes/helpers/FrmAppHelper.php:3680 msgid "Swedish" msgstr "" -#: classes/helpers/FrmAppHelper.php:3667 +#: classes/helpers/FrmAppHelper.php:3681 msgid "Tamil" msgstr "" -#: classes/helpers/FrmAppHelper.php:3668 +#: classes/helpers/FrmAppHelper.php:3682 msgid "Telugu" msgstr "" -#: classes/helpers/FrmAppHelper.php:3669 +#: classes/helpers/FrmAppHelper.php:3683 msgid "Thai" msgstr "" -#: classes/helpers/FrmAppHelper.php:3670 +#: classes/helpers/FrmAppHelper.php:3684 msgid "Tajiki" msgstr "" -#: classes/helpers/FrmAppHelper.php:3671 +#: classes/helpers/FrmAppHelper.php:3685 msgid "Turkish" msgstr "" -#: classes/helpers/FrmAppHelper.php:3672 +#: classes/helpers/FrmAppHelper.php:3686 msgid "Ukrainian" msgstr "" -#: classes/helpers/FrmAppHelper.php:3673 +#: classes/helpers/FrmAppHelper.php:3687 msgid "Urdu" msgstr "" -#: classes/helpers/FrmAppHelper.php:3674 +#: classes/helpers/FrmAppHelper.php:3688 msgid "Vietnamese" msgstr "" -#: classes/helpers/FrmAppHelper.php:3675 +#: classes/helpers/FrmAppHelper.php:3689 msgid "Welsh" msgstr "" -#: classes/helpers/FrmAppHelper.php:3676 +#: classes/helpers/FrmAppHelper.php:3690 msgid "Zulu" msgstr "" -#: classes/helpers/FrmAppHelper.php:4069 +#: classes/helpers/FrmAppHelper.php:4083 msgid "Form Landing Pages" msgstr "" -#: classes/helpers/FrmAppHelper.php:4070 +#: classes/helpers/FrmAppHelper.php:4084 msgid "Easily manage a landing page for your form. Upgrade to get form landing pages." msgstr "" -#: classes/helpers/FrmAppHelper.php:4152 +#: classes/helpers/FrmAppHelper.php:4166 #: classes/views/styles/_style-card.php:37 #: js/admin/applications.js:313 msgid "NEW" msgstr "" -#: classes/helpers/FrmAppHelper.php:4311 +#: classes/helpers/FrmAppHelper.php:4325 msgctxt "warning message: close icon label" msgid "Dismiss" msgstr "" -#: classes/helpers/FrmAppHelper.php:4352 +#: classes/helpers/FrmAppHelper.php:4366 msgid "You're using Formidable Forms Lite - no license needed. Enjoy!" msgstr "" @@ -4138,7 +4148,7 @@ msgstr "" msgid "The redirect URL is using the parameters \"%s\", which are reserved by WordPress. " msgstr "" -#: classes/helpers/FrmFormsHelper.php:1830 +#: classes/helpers/FrmFormsHelper.php:1818 #: classes/views/form-templates/modals/name-your-form-modal.php:35 #: js/formidable_admin.js:4257 msgid "Save" @@ -4162,7 +4172,7 @@ msgid "No Forms Found" msgstr "" #: classes/helpers/FrmFormsListHelper.php:145 -#: classes/views/form-templates/template.php:57 +#: classes/views/form-templates/template.php:56 msgid "Move to Trash" msgstr "" @@ -4337,7 +4347,7 @@ msgid "Please wait while you are redirected." msgstr "" #: classes/helpers/FrmOnSubmitHelper.php:399 -msgid "This is the fallback message. No confirmation actions that match your conditional logic, or they are invalid." +msgid "This is the fallback message. No confirmation actions match your conditional logic, or they are invalid." msgstr "" #: classes/helpers/FrmShortcodeHelper.php:42 @@ -4418,7 +4428,7 @@ msgstr "" msgid "Placeholder inside the field" msgstr "" -#: classes/helpers/FrmStylesHelper.php:774 +#: classes/helpers/FrmStylesHelper.php:819 #: classes/views/styles/_quick-settings.php:7 msgid "Quick Settings" msgstr "" @@ -4801,7 +4811,7 @@ msgid "Placeholder Text" msgstr "" #: classes/models/fields/FrmFieldCombo.php:215 -#: classes/views/form-templates/modals/create-template-modal.php:54 +#: classes/views/form-templates/modals/create-template-modal.php:58 #: stripe/views/action-settings/payments-options.php:18 #: js/admin/applications.js:453 msgid "Description" @@ -4850,27 +4860,27 @@ msgstr "" #. translators: %s: Field name #. translators: %s: Field type -#: classes/models/fields/FrmFieldType.php:463 -#: classes/models/fields/FrmFieldType.php:616 +#: classes/models/fields/FrmFieldType.php:486 +#: classes/models/fields/FrmFieldType.php:639 msgid "%s Options" msgstr "" -#: classes/models/fields/FrmFieldType.php:515 +#: classes/models/fields/FrmFieldType.php:538 #: classes/views/frm-fields/back-end/settings.php:144 #: classes/views/frm-fields/back-end/value-format.php:16 msgid "Toggle Options" msgstr "" -#: classes/models/fields/FrmFieldType.php:553 +#: classes/models/fields/FrmFieldType.php:576 #: classes/views/frm-fields/back-end/bulk-options-overlay.php:10 msgid "Bulk Edit Options" msgstr "" -#: classes/models/fields/FrmFieldType.php:560 +#: classes/models/fields/FrmFieldType.php:583 msgid "Add Option" msgstr "" -#: classes/models/fields/FrmFieldType.php:738 +#: classes/models/fields/FrmFieldType.php:761 msgid "Untitled" msgstr "" @@ -4979,7 +4989,7 @@ msgstr "" msgid "Referrer" msgstr "" -#: classes/models/FrmEmail.php:453 +#: classes/models/FrmEmail.php:451 #: classes/models/FrmEntryValues.php:266 msgid "IP Address" msgstr "" @@ -5243,31 +5253,31 @@ msgstr "" msgid "There are no options for this action." msgstr "" -#: classes/models/FrmFormAction.php:972 +#: classes/models/FrmFormAction.php:941 msgid "Draft is saved" msgstr "" -#: classes/models/FrmFormAction.php:973 +#: classes/models/FrmFormAction.php:942 msgid "Entry is created" msgstr "" -#: classes/models/FrmFormAction.php:974 +#: classes/models/FrmFormAction.php:943 msgid "Entry is updated" msgstr "" -#: classes/models/FrmFormAction.php:975 +#: classes/models/FrmFormAction.php:944 msgid "Entry is deleted" msgstr "" -#: classes/models/FrmFormAction.php:976 +#: classes/models/FrmFormAction.php:945 msgid "Entry is imported" msgstr "" -#: classes/models/FrmFormAction.php:989 +#: classes/models/FrmFormAction.php:958 msgid "Use Conditional Logic" msgstr "" -#: classes/models/FrmFormAction.php:999 +#: classes/models/FrmFormAction.php:968 msgid "Conditional form actions" msgstr "" @@ -5548,7 +5558,7 @@ msgid "Turnstile is a free tool to replace CAPTCHAs. Turnstile delivers frustrat msgstr "" #: classes/views/addons/addon.php:56 -#: classes/views/form-templates/template.php:42 +#: classes/views/form-templates/template.php:41 msgid "Lock icon" msgstr "" @@ -5624,45 +5634,6 @@ msgstr "" msgid "Create a blank form" msgstr "" -#: classes/views/form-templates/modals/code-from-email-modal.php:15 -msgid "Check Your Inbox" -msgstr "" - -#: classes/views/form-templates/modals/code-from-email-modal.php:20 -msgid "Enter the code that we sent to your email address." -msgstr "" - -#: classes/views/form-templates/modals/code-from-email-modal.php:23 -msgid "Code from email" -msgstr "" - -#: classes/views/form-templates/modals/code-from-email-modal.php:31 -msgid "Verification code is wrong" -msgstr "" - -#: classes/views/form-templates/modals/code-from-email-modal.php:32 -msgid "Verification code is empty" -msgstr "" - -#: classes/views/form-templates/modals/code-from-email-modal.php:41 -msgid "Change email address" -msgstr "" - -#: classes/views/form-templates/modals/code-from-email-modal.php:43 -msgid "Resend code" -msgstr "" - -#: classes/views/form-templates/modals/code-from-email-modal.php:49 -#: classes/views/onboarding-wizard/footer.php:15 -#: classes/views/styles/_style-options.php:11 -#: js/admin/embed.js:102 -msgid "Back" -msgstr "" - -#: classes/views/form-templates/modals/code-from-email-modal.php:52 -msgid "Save Code" -msgstr "" - #: classes/views/form-templates/modals/create-template-modal.php:15 msgid "Create New Template" msgstr "" @@ -5675,7 +5646,7 @@ msgstr "" msgid "You have not created any forms yet." msgstr "" -#: classes/views/form-templates/modals/create-template-modal.php:47 +#: classes/views/form-templates/modals/create-template-modal.php:51 msgid "Template name" msgstr "" @@ -5751,32 +5722,32 @@ msgstr "" msgid "Template available on:" msgstr "" -#: classes/views/form-templates/template.php:56 +#: classes/views/form-templates/template.php:55 msgid "Do you want to move this form template to the trash?" msgstr "" -#: classes/views/form-templates/template.php:56 +#: classes/views/form-templates/template.php:55 msgid "Move to the trash button" msgstr "" -#: classes/views/form-templates/template.php:62 +#: classes/views/form-templates/template.php:61 msgid "Add to favorites" msgstr "" -#: classes/views/form-templates/template.php:74 +#: classes/views/form-templates/template.php:73 msgid "View Demo" msgstr "" -#: classes/views/form-templates/template.php:77 +#: classes/views/form-templates/template.php:76 msgid "Use Template" msgstr "" #. translators: %s: date -#: classes/views/form-templates/template.php:89 +#: classes/views/form-templates/template.php:88 msgid "Created %s" msgstr "" -#: classes/views/form-templates/template.php:94 +#: classes/views/form-templates/template.php:93 msgid "No description" msgstr "" @@ -6443,7 +6414,7 @@ msgstr "" msgid "Input Mask Format" msgstr "" -#: classes/views/frm-forms/edit.php:13 +#: classes/views/frm-forms/edit.php:12 msgid "Build Form" msgstr "" @@ -6517,19 +6488,19 @@ msgstr "" msgid "Recommended for long forms." msgstr "" -#: classes/views/frm-forms/settings-advanced.php:115 +#: classes/views/frm-forms/settings-advanced.php:114 msgid "Submit this form with AJAX" msgstr "" -#: classes/views/frm-forms/settings-advanced.php:116 +#: classes/views/frm-forms/settings-advanced.php:115 msgid "Submit the form without refreshing the page." msgstr "" -#: classes/views/frm-forms/settings-advanced.php:125 +#: classes/views/frm-forms/settings-advanced.php:123 msgid "Validate this form with javascript" msgstr "" -#: classes/views/frm-forms/settings-advanced.php:126 +#: classes/views/frm-forms/settings-advanced.php:124 msgid "Required fields, email format, and number format can be checked instantly in your browser. You may want to turn this option off if you have any customizations to remove validation messages on certain fields." msgstr "" @@ -6899,6 +6870,12 @@ msgstr "" msgid "Dismiss" msgstr "" +#: classes/views/onboarding-wizard/footer.php:15 +#: classes/views/styles/_style-options.php:11 +#: js/admin/embed.js:102 +msgid "Back" +msgstr "" + #: classes/views/onboarding-wizard/index.php:33 msgid "Exit Onboarding" msgstr "" @@ -7153,6 +7130,18 @@ msgstr "" msgid "Dismiss this notice" msgstr "" +#: classes/views/shared/small-device-message.php:16 +msgid "More on bigger devices" +msgstr "" + +#: classes/views/shared/small-device-message.php:17 +msgid "For the best experience, we recommend using Formidable Forms on larger devices such as a desktop or tablet." +msgstr "" + +#: classes/views/shared/small-device-message.php:18 +msgid "Go back" +msgstr "" + #. translators: %$1s: Feature name, %$2s: open span tag, %$3s: close span tag. #: classes/views/shared/upgrade_overlay.php:22 msgid "%1$s %2$sare not available%3$s"