Version Description
(17 February 2021) =
Changes:
- Repeatable Fieldsets have arrived! For a quick look at how to get those setup, check out our new documenation for them.
Bugs:
- Our block editor code should now only load on pages where it is actually needed, leading to less page load time in the admin dashboard.
- Resolved an issue that was always causing required checkbox list fields to throw a required error on submission.
- The Ninja Forms block should now properly display the form in the page editor if WordPress has been installed in a subdirectory.
- Cleaned up a few notices and warnings that were displaying on sites running PHP 8.
=
Download this release
Release Info
Developer | krmoorhouse |
Plugin | Ninja Forms – The Easy and Powerful Forms Builder |
Version | 3.5.1 |
Comparing to | |
See all releases |
Code changes from version 3.5.0 to 3.5.1
- blocks/bootstrap.php +5 -6
- build/form-block.asset.php +1 -1
- build/form-block.js +1 -1
- deprecated/ninja-forms.php +1 -1
- includes/Abstracts/Field.php +1 -1
- includes/Database/Models/Form.php +1 -1
- ninja-forms.php +3 -3
- readme.txt +13 -2
- services/bootstrap.php +1 -1
- vendor/autoload.php +1 -1
- vendor/composer/autoload_real.php +4 -4
- vendor/composer/autoload_static.php +4 -4
blocks/bootstrap.php
CHANGED
@@ -107,12 +107,11 @@ add_action('admin_enqueue_scripts', function () {
|
|
107 |
];
|
108 |
}
|
109 |
}
|
110 |
-
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
});
|
117 |
|
118 |
/**
|
107 |
];
|
108 |
}
|
109 |
}
|
110 |
+
wp_localize_script('ninja-forms/form', 'nfFormsBlock', [
|
111 |
+
'forms' => $forms,//array keys escaped above
|
112 |
+
'homeUrl' => esc_url_raw( home_url() ), //URL to serve the iFrame that displays the form in blocks editor
|
113 |
+
'previewToken' => wp_create_nonce('nf_iframe' )
|
114 |
+
]);
|
|
|
115 |
});
|
116 |
|
117 |
/**
|
build/form-block.asset.php
CHANGED
@@ -1 +1 @@
|
|
1 |
-
<?php return array('dependencies' => array('react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => '
|
1 |
+
<?php return array('dependencies' => array('react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => '70467ae27c198de2c118cc6274429594');
|
build/form-block.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=43)}([function(e,t){e.exports=window.wp.element},function(e,t){e.exports=window.React},function(e,t){e.exports=window.wp.components},function(e,t){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},function(e,t,r){e.exports=r(40)()},,,function(e,t,r){var n=r(15),o=r(16),i=r(13),a=r(17);e.exports=function(e,t){return n(e)||o(e,t)||i(e,t)||a()}},function(e,t){e.exports=window.wp.i18n},,,function(e,t){e.exports=window.wp.blockEditor},,function(e,t,r){var n=r(14);e.exports=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,o=!1,i=void 0;try{for(var a,c=e[Symbol.iterator]();!(n=(a=c.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==c.return||c.return()}finally{if(o)throw i}}return r}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},function(e,t){e.exports=window.wp.blocks},,,,,,,,,,,,,,function(e,t,r){var n=r(37),o=r(38),i=r(13),a=r(39);e.exports=function(e){return n(e)||o(e)||i(e)||a()}},function(e){e.exports=JSON.parse('{"icon":"feedback","category":"common","attributes":{"formID":{"type":"integer"},"formTitle":{"type":"string"}}}')},,,,function(e,t,r){var n=r(14);e.exports=function(e){if(Array.isArray(e))return n(e)}},function(e,t){e.exports=function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},function(e,t,r){"use strict";var n=r(41);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,i,a){if(a!==n){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}function t(){return e}e.isRequired=e;var r={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return r.PropTypes=r,r}},function(e,t,r){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},,function(e,t,r){"use strict";r.r(t);var n=r(3),o=r.n(n),i=r(1),a=r.n(i),c=r(32),l=r.n(c),u=r(0),
|
1 |
+
!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=43)}([function(e,t){e.exports=window.wp.element},function(e,t){e.exports=window.React},function(e,t){e.exports=window.wp.components},function(e,t){e.exports=function(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}},function(e,t,r){e.exports=r(40)()},,,function(e,t,r){var n=r(15),o=r(16),i=r(13),a=r(17);e.exports=function(e,t){return n(e)||o(e,t)||i(e,t)||a()}},function(e,t){e.exports=window.wp.i18n},,,function(e,t){e.exports=window.wp.blockEditor},,function(e,t,r){var n=r(14);e.exports=function(e,t){if(e){if("string"==typeof e)return n(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(e,t):void 0}}},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],n=!0,o=!1,i=void 0;try{for(var a,c=e[Symbol.iterator]();!(n=(a=c.next()).done)&&(r.push(a.value),!t||r.length!==t);n=!0);}catch(e){o=!0,i=e}finally{try{n||null==c.return||c.return()}finally{if(o)throw i}}return r}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},function(e,t){e.exports=window.wp.blocks},,,,,,,,,,,,,,function(e,t,r){var n=r(37),o=r(38),i=r(13),a=r(39);e.exports=function(e){return n(e)||o(e)||i(e)||a()}},function(e){e.exports=JSON.parse('{"icon":"feedback","category":"common","attributes":{"formID":{"type":"integer"},"formTitle":{"type":"string"}}}')},,,,function(e,t,r){var n=r(14);e.exports=function(e){if(Array.isArray(e))return n(e)}},function(e,t){e.exports=function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}},function(e,t,r){"use strict";var n=r(41);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,i,a){if(a!==n){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}function t(){return e}e.isRequired=e;var r={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return r.PropTypes=r,r}},function(e,t,r){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},,function(e,t,r){"use strict";r.r(t);var n=r(3),o=r.n(n),i=r(1),a=r.n(i),c=r(32),l=r.n(c),u=r(0),f=r(2),s=r(11),p=r(7),m=r.n(p),b=function(e){var t=a.a.useState((function(){return Array.isArray(e.forms)?e.forms:Object.values(e.forms)})),r=m()(t,1)[0];return{getFormTitle:function(e){if(e=parseInt(e,10),r.length){var t=r.find((function(t){return t.formID===e}));return t?t.formTitle:void 0}},asSelectOptions:function(){return r.length?r.map((function(e){return{label:e.formTitle,value:e.formID}})):[]}}},d=r(4),y=r.n(d);function v(e){var t=e.formID,r=e.homeUrl,n=e.previewToken,o=a.a.useRef(),i=a.a.useState(!0),c=m()(i,2),l=c[0],s=c[1],p=a.a.useState(0),b=m()(p,2),d=b[0],y=b[1],v=a.a.useState("auto"),O=m()(v,2),h=O[0],g=O[1];return Object(u.createElement)("div",{className:"nf-iframe-container"},Object(u.createElement)("div",{className:"nf-iframe-overlay"},l&&Object(u.createElement)(f.Spinner,null),Object(u.createElement)("iframe",{src:"".concat(r,"?nf_preview_form=").concat(t,"&nf_iframe=").concat(n),ref:function(e){return o.current=e},style:{width:"initial",pointerEvents:"none"},onLoad:function(){s(!1);var e=o.current.contentWindow.document.getElementById("nf-form-".concat(t,"-cont")),r=e.querySelectorAll(".ninja-forms-form-wrap");r&&r.length?(g(r[0].scrollWidth),y(r[0].scrollHeight)):(g(e.scrollWidth),y(e.scrollHeight))},scrolling:"no",height:d||0,width:h||"auto"})))}v.propTypes={formID:y.a.number.isRequired,homeUrl:y.a.string.isRequired,previewToken:y.a.string.isRequired};var O=Object(u.createElement)("svg",{id:"Layer_1","data-name":"Layer 1",xmlns:"http://www.w3.org/2000/svg",width:"30px",height:"30px",viewBox:"0 0 29.93 13.43"},Object(u.createElement)("path",{fill:"#fff",d:"M22,21.7a4.72,4.72,0,0,0-2.44-4,14.44,14.44,0,0,0-13.38-.06,4.61,4.61,0,0,0-2.53,4Z",transform:"translate(-0.03 -8.27)"}),Object(u.createElement)("path",{fill:"#414242",d:"M3.68,21.7a4.6,4.6,0,0,1,2.53-4,14.44,14.44,0,0,1,13.38,0,4.73,4.73,0,0,1,2.44,4h3.65v-.37a12.76,12.76,0,0,0-1.2-5.42A7.59,7.59,0,0,0,24,15a31.79,31.79,0,0,1,4.14-1c1.36-.28,2.14-.46,1.68-.83-1-.81-2.24-1.68-2.24-1.68s5.05-4.18,0-2.91a9.62,9.62,0,0,0-2.53,1,10.69,10.69,0,0,0-3.13,2.76,12.83,12.83,0,0,0-21.9,9,3.15,3.15,0,0,0,0,.37Z",transform:"translate(-0.03 -8.27)"}),Object(u.createElement)("path",{fill:"#414242",d:"M9.3,21.7c0-1-.58-1.81-1.29-1.81s-1.27.81-1.29,1.81Z",transform:"translate(-0.03 -8.27)"}),Object(u.createElement)("path",{fill:"#414242",d:"M19,21.7c0-1-.59-1.81-1.29-1.81s-1.27.81-1.29,1.81Z",transform:"translate(-0.03 -8.27)"})),h=function(e){return Object(u.createElement)(f.Placeholder,{icon:Object(u.createElement)("div",null,e.icon?e.icon:O),instructions:"Display a form",style:{alignItems:"center"}},Object(u.createElement)("div",{style:{margin:"auto",width:"50%"}},e.children))};h.propTypes={children:y.a.element.isRequired};var g=function(e){var t=e.formID,r=e.forms,n=e.onChange,o=e.labelText,i=b({forms:r}).asSelectOptions,c=a.a.useMemo((function(){var e=i();return[{label:"---"}].concat(l()(e))}),[r,i]);return Object(u.createElement)(f.SelectControl,{label:o||"Select Form",value:t,onChange:n,options:c})};function j(e){var t=e.formID,r=e.forms,n=e.labelText,o=e.setAttributes,i=e.homeUrl,c=e.previewToken,l=e.icon,f=b({forms:r}).getFormTitle,p=function(e){var t=e?f(e):"";o({formID:parseInt(e),formTitle:t})};return t?Object(u.createElement)(a.a.Fragment,null,Object(u.createElement)(s.InspectorControls,null,Object(u.createElement)(g,{formID:t,forms:r,onChange:p,labelText:n})),Object(u.createElement)(v,{homeUrl:i,previewToken:c,formID:t})):Object(u.createElement)(h,{icon:l},Object(u.createElement)(g,{label:n||"Select Form",formID:t,forms:r,onChange:p,labelText:n}))}g.propTypes={formID:y.a.PropTypes.number,forms:y.a.oneOfType([y.a.array,y.a.object]).isRequired,onChange:y.a.func.isRequired,labelText:y.a.string},j.propTypes={formID:y.a.number,forms:y.a.oneOfType([y.a.array,y.a.object]).isRequired,labelText:y.a.string,setAttributes:y.a.func.isRequired,homeUrl:y.a.string.isRequired,previewToken:y.a.string.isRequired};var w=r(33),T=r(8),x=r(18);function E(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function I(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?E(Object(r),!0).forEach((function(t){o()(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):E(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var S=window.nfFormsBlock||{},D=S.forms,P=S.homeUrl,_=S.previewToken;Object(x.registerBlockType)("ninja-forms/form",I(I({},w),{},{title:Object(T.__)("Ninja Form","ninja-forms"),edit:function(e){var t=e.attributes,r=e.setAttributes;return Object(u.createElement)(j,{forms:D,formID:t.formID,formTitle:t.formTitle,setAttributes:r,homeUrl:P,previewToken:_})},save:function(){return null},deprecated:[{attributes:{formID:{type:"integer",default:0},formName:{type:"string",default:""}},save:function(e){var t=e.attributes.formID;if(!t)return"";var r="[ninja_forms id="+parseInt(t)+"]";return Object(u.createElement)("div",null,r)}}]}))}]);
|
deprecated/ninja-forms.php
CHANGED
@@ -265,7 +265,7 @@ class Ninja_Forms {
|
|
265 |
|
266 |
// Plugin version
|
267 |
if ( ! defined( 'NF_PLUGIN_VERSION' ) )
|
268 |
-
define( 'NF_PLUGIN_VERSION', '3.5.
|
269 |
|
270 |
// Plugin Folder Path
|
271 |
if ( ! defined( 'NF_PLUGIN_DIR' ) )
|
265 |
|
266 |
// Plugin version
|
267 |
if ( ! defined( 'NF_PLUGIN_VERSION' ) )
|
268 |
+
define( 'NF_PLUGIN_VERSION', '3.5.1' );
|
269 |
|
270 |
// Plugin Folder Path
|
271 |
if ( ! defined( 'NF_PLUGIN_DIR' ) )
|
includes/Abstracts/Field.php
CHANGED
@@ -142,7 +142,7 @@ abstract class NF_Abstracts_Field extends NF_Abstracts_Element
|
|
142 |
$errors = array();
|
143 |
// Required check.
|
144 |
|
145 |
-
if( is_array( $field[ 'value' ] && $field[ 'type' ]
|
146 |
$field[ 'value' ] = implode( '', $field[ 'value' ] );
|
147 |
}
|
148 |
|
142 |
$errors = array();
|
143 |
// Required check.
|
144 |
|
145 |
+
if( is_array( $field[ 'value' ] ) && "repeater" !== $field[ 'type' ] ){
|
146 |
$field[ 'value' ] = implode( '', $field[ 'value' ] );
|
147 |
}
|
148 |
|
includes/Database/Models/Form.php
CHANGED
@@ -147,7 +147,7 @@ final class NF_Database_Models_Form extends NF_Abstracts_Model
|
|
147 |
return $last_seq_num;
|
148 |
}
|
149 |
|
150 |
-
public static function import( array $import, $id = '', $is_conversion )
|
151 |
{
|
152 |
$import = apply_filters( 'ninja_forms_before_import_form', $import );
|
153 |
|
147 |
return $last_seq_num;
|
148 |
}
|
149 |
|
150 |
+
public static function import( array $import, $id = '', $is_conversion = false )
|
151 |
{
|
152 |
$import = apply_filters( 'ninja_forms_before_import_form', $import );
|
153 |
|
ninja-forms.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Ninja Forms
|
4 |
Plugin URI: http://ninjaforms.com/?utm_source=Ninja+Forms+Plugin&utm_medium=readme
|
5 |
Description: Ninja Forms is a webform builder with unparalleled ease of use and features.
|
6 |
-
Version: 3.5.
|
7 |
Author: Saturday Drive
|
8 |
Author URI: http://ninjaforms.com/?utm_source=Ninja+Forms+Plugin&utm_medium=Plugins+WP+Dashboard
|
9 |
Text Domain: ninja-forms
|
@@ -59,7 +59,7 @@ if( get_option( 'ninja_forms_load_deprecated', FALSE ) && ! ( isset( $_POST[ 'nf
|
|
59 |
* @since 3.0
|
60 |
*/
|
61 |
|
62 |
-
const VERSION = '3.5.
|
63 |
|
64 |
/**
|
65 |
* @since 3.4.0
|
@@ -959,7 +959,7 @@ if( get_option( 'ninja_forms_load_deprecated', FALSE ) && ! ( isset( $_POST[ 'nf
|
|
959 |
$a_order = ( isset( $custom_order[ $a ] ) ) ? $custom_order[ $a ] : 9001;
|
960 |
$b_order = ( isset( $custom_order[ $b ] ) ) ? $custom_order[ $b ] : 9001;
|
961 |
|
962 |
-
return $a_order >= $b_order;
|
963 |
}
|
964 |
|
965 |
/**
|
3 |
Plugin Name: Ninja Forms
|
4 |
Plugin URI: http://ninjaforms.com/?utm_source=Ninja+Forms+Plugin&utm_medium=readme
|
5 |
Description: Ninja Forms is a webform builder with unparalleled ease of use and features.
|
6 |
+
Version: 3.5.1
|
7 |
Author: Saturday Drive
|
8 |
Author URI: http://ninjaforms.com/?utm_source=Ninja+Forms+Plugin&utm_medium=Plugins+WP+Dashboard
|
9 |
Text Domain: ninja-forms
|
59 |
* @since 3.0
|
60 |
*/
|
61 |
|
62 |
+
const VERSION = '3.5.1';
|
63 |
|
64 |
/**
|
65 |
* @since 3.4.0
|
959 |
$a_order = ( isset( $custom_order[ $a ] ) ) ? $custom_order[ $a ] : 9001;
|
960 |
$b_order = ( isset( $custom_order[ $b ] ) ) ? $custom_order[ $b ] : 9001;
|
961 |
|
962 |
+
return intval( $a_order >= $b_order );
|
963 |
}
|
964 |
|
965 |
/**
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: wpninjasllc, kstover, jameslaws, kbjohnson90, klhall1987, krmoorho
|
|
3 |
Tags: forms, contact form, email form, form builder, custom form, pdf form, registration form, payment form, login form, contact me, signature form, upload form, file upload form, conditional form, feedback form, appointment form, quote form, survey form, contact button, signup form, form plugin, contact form plugin, subscription form, email subscription form, newsletter form, donation form, booking form, quote request form, multi page form, conditional logic form, subscription form, application form, employment verification form, star rating form, rating form, event form, mailchimp form, campaign monitor form, constant contact form, mailpoet form, aweber form, cleverreach form, emma form, convertkit form, active campaign form, salesforce form, zoho form, capsule form, insightly form, pipelinedeals form, onepagecrm form
|
4 |
Requires at least: 5.4
|
5 |
Tested up to: 5.6
|
6 |
-
Stable tag: 3.5.
|
7 |
License: GPLv2 or later
|
8 |
|
9 |
The 100% beginner friendly WordPress form builder. Drag & drop form fields to build beautiful, professional contact forms in minutes.
|
@@ -303,7 +303,7 @@ This section describes how to install the plugin and get it working.
|
|
303 |
|
304 |
== Upgrade Notice ==
|
305 |
|
306 |
-
= 3.5.
|
307 |
|
308 |
*Changes:*
|
309 |
|
@@ -312,9 +312,20 @@ This section describes how to install the plugin and get it working.
|
|
312 |
*Bugs:*
|
313 |
|
314 |
* Our block editor code should now only load on pages where it is actually needed, leading to less page load time in the admin dashboard.
|
|
|
|
|
|
|
315 |
|
316 |
== Changelog ==
|
317 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
318 |
= 3.5.0 (15 February 2021) =
|
319 |
|
320 |
*Changes:*
|
3 |
Tags: forms, contact form, email form, form builder, custom form, pdf form, registration form, payment form, login form, contact me, signature form, upload form, file upload form, conditional form, feedback form, appointment form, quote form, survey form, contact button, signup form, form plugin, contact form plugin, subscription form, email subscription form, newsletter form, donation form, booking form, quote request form, multi page form, conditional logic form, subscription form, application form, employment verification form, star rating form, rating form, event form, mailchimp form, campaign monitor form, constant contact form, mailpoet form, aweber form, cleverreach form, emma form, convertkit form, active campaign form, salesforce form, zoho form, capsule form, insightly form, pipelinedeals form, onepagecrm form
|
4 |
Requires at least: 5.4
|
5 |
Tested up to: 5.6
|
6 |
+
Stable tag: 3.5.1
|
7 |
License: GPLv2 or later
|
8 |
|
9 |
The 100% beginner friendly WordPress form builder. Drag & drop form fields to build beautiful, professional contact forms in minutes.
|
303 |
|
304 |
== Upgrade Notice ==
|
305 |
|
306 |
+
= 3.5.1 (17 February 2021) =
|
307 |
|
308 |
*Changes:*
|
309 |
|
312 |
*Bugs:*
|
313 |
|
314 |
* Our block editor code should now only load on pages where it is actually needed, leading to less page load time in the admin dashboard.
|
315 |
+
* Resolved an issue that was always causing required checkbox list fields to throw a required error on submission.
|
316 |
+
* The Ninja Forms block should now properly display the form in the page editor if WordPress has been installed in a subdirectory.
|
317 |
+
* Cleaned up a few notices and warnings that were displaying on sites running PHP 8.
|
318 |
|
319 |
== Changelog ==
|
320 |
|
321 |
+
= 3.5.1 (17 February 2021) =
|
322 |
+
|
323 |
+
*Bugs:*
|
324 |
+
|
325 |
+
* Resolved an issue that was always causing required checkbox list fields to throw a required error on submission.
|
326 |
+
* The Ninja Forms block should now properly display the form in the page editor if WordPress has been installed in a subdirectory.
|
327 |
+
* Cleaned up a few notices and warnings that were displaying on sites running PHP 8.
|
328 |
+
|
329 |
= 3.5.0 (15 February 2021) =
|
330 |
|
331 |
*Changes:*
|
services/bootstrap.php
CHANGED
@@ -57,7 +57,7 @@ add_action( 'wp_ajax_nf_services', function(){
|
|
57 |
});
|
58 |
|
59 |
add_action( 'admin_enqueue_scripts', function() {
|
60 |
-
wp_localize_script( 'nf-dashboard', 'nfPromotions',
|
61 |
});
|
62 |
|
63 |
add_action( 'wp_ajax_nf_services_install', function() {
|
57 |
});
|
58 |
|
59 |
add_action( 'admin_enqueue_scripts', function() {
|
60 |
+
wp_localize_script( 'nf-dashboard', 'nfPromotions', array() );
|
61 |
});
|
62 |
|
63 |
add_action( 'wp_ajax_nf_services_install', function() {
|
vendor/autoload.php
CHANGED
@@ -4,4 +4,4 @@
|
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
-
return
|
4 |
|
5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
6 |
|
7 |
+
return ComposerAutoloaderInit701c3b95a9ee97851c5cccaff73a099b::getLoader();
|
vendor/composer/autoload_real.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
-
class
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit38cec55cb9c58815a9169357dee69fed
|
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
-
spl_autoload_register(array('
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
-
spl_autoload_unregister(array('
|
25 |
|
26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
27 |
if ($useStaticLoader) {
|
28 |
require_once __DIR__ . '/autoload_static.php';
|
29 |
|
30 |
-
call_user_func(\Composer\Autoload\
|
31 |
} else {
|
32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
33 |
foreach ($map as $namespace => $path) {
|
2 |
|
3 |
// autoload_real.php @generated by Composer
|
4 |
|
5 |
+
class ComposerAutoloaderInit701c3b95a9ee97851c5cccaff73a099b
|
6 |
{
|
7 |
private static $loader;
|
8 |
|
19 |
return self::$loader;
|
20 |
}
|
21 |
|
22 |
+
spl_autoload_register(array('ComposerAutoloaderInit701c3b95a9ee97851c5cccaff73a099b', 'loadClassLoader'), true, true);
|
23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit701c3b95a9ee97851c5cccaff73a099b', 'loadClassLoader'));
|
25 |
|
26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
27 |
if ($useStaticLoader) {
|
28 |
require_once __DIR__ . '/autoload_static.php';
|
29 |
|
30 |
+
call_user_func(\Composer\Autoload\ComposerStaticInit701c3b95a9ee97851c5cccaff73a099b::getInitializer($loader));
|
31 |
} else {
|
32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
33 |
foreach ($map as $namespace => $path) {
|
vendor/composer/autoload_static.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
-
class
|
8 |
{
|
9 |
public static $prefixLengthsPsr4 = array (
|
10 |
'N' =>
|
@@ -36,9 +36,9 @@ class ComposerStaticInit38cec55cb9c58815a9169357dee69fed
|
|
36 |
public static function getInitializer(ClassLoader $loader)
|
37 |
{
|
38 |
return \Closure::bind(function () use ($loader) {
|
39 |
-
$loader->prefixLengthsPsr4 =
|
40 |
-
$loader->prefixDirsPsr4 =
|
41 |
-
$loader->classMap =
|
42 |
|
43 |
}, null, ClassLoader::class);
|
44 |
}
|
4 |
|
5 |
namespace Composer\Autoload;
|
6 |
|
7 |
+
class ComposerStaticInit701c3b95a9ee97851c5cccaff73a099b
|
8 |
{
|
9 |
public static $prefixLengthsPsr4 = array (
|
10 |
'N' =>
|
36 |
public static function getInitializer(ClassLoader $loader)
|
37 |
{
|
38 |
return \Closure::bind(function () use ($loader) {
|
39 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit701c3b95a9ee97851c5cccaff73a099b::$prefixLengthsPsr4;
|
40 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit701c3b95a9ee97851c5cccaff73a099b::$prefixDirsPsr4;
|
41 |
+
$loader->classMap = ComposerStaticInit701c3b95a9ee97851c5cccaff73a099b::$classMap;
|
42 |
|
43 |
}, null, ClassLoader::class);
|
44 |
}
|