Ninja Forms – The Easy and Powerful Forms Builder - Version 3.4.34.1

Version Description

(8 February 2021) =

Security:

  • Added a missing permissions check in our services connection manager reported responsibly by Chloe Chamberland at Wordfence.
  • Patched a potential XSS vulnerability in our querystring merge tag.
  • Added a missing filter that should have been excluding some personal information fields from the CSV attachment on Email Actions.

=

Download this release

Release Info

Developer krmoorhouse
Plugin Icon 128x128 Ninja Forms – The Easy and Powerful Forms Builder
Version 3.4.34.1
Comparing to
See all releases

Code changes from version 3.4.34 to 3.4.34.1

build/sub-table-block.asset.php CHANGED
@@ -1 +1 @@
1
- <?php return array('dependencies' => array('react', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => '5256e148b4ba2b89633148dc78368bad');
1
+ <?php return array('dependencies' => array('react', 'wp-api-fetch', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n', 'wp-polyfill'), 'version' => 'fcd5c3dbc203d0db865d11360ac075e8');
build/sub-table-block.js CHANGED
@@ -6,4 +6,4 @@
6
  *
7
  * This source code is licensed under the MIT license found in the
8
  * LICENSE file in the root directory of this source tree.
9
- */var r="function"==typeof Symbol&&Symbol.for,o=r?Symbol.for("react.element"):60103,i=r?Symbol.for("react.portal"):60106,a=r?Symbol.for("react.fragment"):60107,s=r?Symbol.for("react.strict_mode"):60108,u=r?Symbol.for("react.profiler"):60114,l=r?Symbol.for("react.provider"):60109,c=r?Symbol.for("react.context"):60110,d=r?Symbol.for("react.async_mode"):60111,f=r?Symbol.for("react.concurrent_mode"):60111,p=r?Symbol.for("react.forward_ref"):60112,g=r?Symbol.for("react.suspense"):60113,m=r?Symbol.for("react.suspense_list"):60120,h=r?Symbol.for("react.memo"):60115,v=r?Symbol.for("react.lazy"):60116,y=r?Symbol.for("react.block"):60121,b=r?Symbol.for("react.fundamental"):60117,w=r?Symbol.for("react.responder"):60118,S=r?Symbol.for("react.scope"):60119;function R(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case o:switch(e=e.type){case d:case f:case a:case u:case s:case g:return e;default:switch(e=e&&e.$$typeof){case c:case p:case v:case h:case l:return e;default:return t}}case i:return t}}}function C(e){return R(e)===f}t.AsyncMode=d,t.ConcurrentMode=f,t.ContextConsumer=c,t.ContextProvider=l,t.Element=o,t.ForwardRef=p,t.Fragment=a,t.Lazy=v,t.Memo=h,t.Portal=i,t.Profiler=u,t.StrictMode=s,t.Suspense=g,t.isAsyncMode=function(e){return C(e)||R(e)===d},t.isConcurrentMode=C,t.isContextConsumer=function(e){return R(e)===c},t.isContextProvider=function(e){return R(e)===l},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===o},t.isForwardRef=function(e){return R(e)===p},t.isFragment=function(e){return R(e)===a},t.isLazy=function(e){return R(e)===v},t.isMemo=function(e){return R(e)===h},t.isPortal=function(e){return R(e)===i},t.isProfiler=function(e){return R(e)===u},t.isStrictMode=function(e){return R(e)===s},t.isSuspense=function(e){return R(e)===g},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===f||e===u||e===s||e===g||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===v||e.$$typeof===h||e.$$typeof===l||e.$$typeof===c||e.$$typeof===p||e.$$typeof===b||e.$$typeof===w||e.$$typeof===S||e.$$typeof===y)},t.typeOf=R},,,,,,,function(e,t,n){"use strict";n.r(t);var r=n(3),o=n.n(r),i=n(0),a=n(8),s=n(18),u=n(6),l=n(2),c=n(26),d=n(9),f=n.n(d),p=n(1),g=n(11),m=Object(i.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(i.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(i.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(i.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(i.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(i.createElement)(l.Placeholder,{icon:Object(i.createElement)("div",null,e.icon?e.icon:m),instructions:"Select a form to display the submissions.",style:{alignItems:"center"}},Object(i.createElement)("div",{style:{margin:"auto",width:"50%"}},e.children))},v=n(27),y=n.n(v);function b(){var e=y()(["\n padding: 1rem;\n\n button {\n cursor: pointer;\n padding: .75em 1.44em;\n border: 2px solid black;\n outline: 4px solid transparent;\n background-color: transparent;\n\n :hover {\n outline-color: white;\n background-color: white;\n }\n }\n\n table {\n width: 100%;\n border-spacing: 0;\n border: 1px solid black;\n margin-bottom: 20px;\n\n tr {\n :last-child {\n td {\n border-bottom: 0;\n }\n }\n }\n\n th,\n td {\n margin: 0;\n padding: 0.5rem;\n border-bottom: 1px solid black;\n border-right: 1px solid black;\n\n :last-child {\n border-right: 0;\n }\n }\n }\n"]);return b=function(){return e},e}var w=n(28).a.div(b()),S=function(e){var t=e.fields,n=e.isChecked,r=e.onChange;return Object(i.createElement)("ul",null,t.map((function(e){return Object(i.createElement)("li",{key:"li_"+e.id},Object(i.createElement)(l.CheckboxControl,{key:e.id,label:e.label,checked:n(e.id),onChange:function(t){return r(t,e.id)}}))})))},R=n(21),C=function(e){e.forms;var t=Object.values(e.fields),n=Object.values(e.submissions),r=void 0!==e.attributes.selectedFields?e.attributes.selectedFields:[];return Object(i.createElement)(p.Fragment,null,e.attributes.formID&&Object(i.createElement)(w,null,Object(i.createElement)(R.a,f()({},e.attributes,{selectedFields:r,fields:t,submissions:n}))),e.isSelected&&Object(i.createElement)(g.BlockControls,null,Object(i.createElement)(g.BlockAlignmentToolbar,{value:e.attributes.alignment,onChange:function(t){e.setAttributes({alignment:void 0===t?"none":t})}})),e.isSelected&&Object(i.createElement)(g.InspectorControls,null,Object(i.createElement)(l.PanelBody,{title:"Fields",initialOpen:!0},Object(i.createElement)(S,{fields:t,isChecked:function(e){return-1!==r.indexOf(e)},onChange:function(t,n){var o=t?r.concat([n]):r.filter((function(e){return e!=n}));e.setAttributes({selectedFields:o})}}))))},x=n(19),P=n(10),O=n.n(P),k=n(20);function E(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function I(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?E(Object(n),!0).forEach((function(t){o()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):E(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}O.a.use(Object(k.a)(window.ninjaFormsViews.token)),Object(u.registerStore)("ninja-forms-views",x.a),Object(s.registerBlockType)("ninja-forms/submissions-table",I(I({title:"Ninja Forms Submissions Table",icon:"editor-table",category:"common"},c),{},{edit:Object(u.withSelect)((function(e){return{forms:e("ninja-forms-views").getForms()}}))((function(e){if(!e.attributes.formID){if(!e.forms)return Object(i.createElement)(h,{label:Object(a.__)("Ninja Forms Submissions Table")},Object(i.createElement)(l.Spinner,null));var t=Object.values(e.forms).map((function(e){return{key:e.formID,label:e.formTitle,value:e.formID}}));return Object(i.createElement)(h,null,Object(i.createElement)(l.SelectControl,{label:"Select Form",onChange:function(t){return e.setAttributes({formID:t})},options:[{key:0,label:"-",value:0}].concat(t)}))}var n=Object(u.withSelect)((function(t){return{fields:t("ninja-forms-views").getFormFields(e.attributes.formID),submissions:t("ninja-forms-views").getFormSubmissions(e.attributes.formID)}}))((function(t){var n=t.fields,r=t.submissions;return n&&r?Object(i.createElement)(C,I(I({},e),{},{fields:n,submissions:r})):Object(i.createElement)(h,{label:Object(a.__)("Loading Form Data")},Object(i.createElement)(l.Spinner,null))}));return Object(i.createElement)(n,null)})),getEditWrapperProps:function(e){var t=e.alignment;if("left"===t||"center"===t||"right"===t||"wide"===t||"full"===t)return{"data-align":t}},save:function(){return null}}))}]);
6
  *
7
  * This source code is licensed under the MIT license found in the
8
  * LICENSE file in the root directory of this source tree.
9
+ */var r="function"==typeof Symbol&&Symbol.for,o=r?Symbol.for("react.element"):60103,i=r?Symbol.for("react.portal"):60106,a=r?Symbol.for("react.fragment"):60107,s=r?Symbol.for("react.strict_mode"):60108,u=r?Symbol.for("react.profiler"):60114,l=r?Symbol.for("react.provider"):60109,c=r?Symbol.for("react.context"):60110,d=r?Symbol.for("react.async_mode"):60111,f=r?Symbol.for("react.concurrent_mode"):60111,p=r?Symbol.for("react.forward_ref"):60112,g=r?Symbol.for("react.suspense"):60113,m=r?Symbol.for("react.suspense_list"):60120,h=r?Symbol.for("react.memo"):60115,v=r?Symbol.for("react.lazy"):60116,y=r?Symbol.for("react.block"):60121,b=r?Symbol.for("react.fundamental"):60117,w=r?Symbol.for("react.responder"):60118,S=r?Symbol.for("react.scope"):60119;function R(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case o:switch(e=e.type){case d:case f:case a:case u:case s:case g:return e;default:switch(e=e&&e.$$typeof){case c:case p:case v:case h:case l:return e;default:return t}}case i:return t}}}function C(e){return R(e)===f}t.AsyncMode=d,t.ConcurrentMode=f,t.ContextConsumer=c,t.ContextProvider=l,t.Element=o,t.ForwardRef=p,t.Fragment=a,t.Lazy=v,t.Memo=h,t.Portal=i,t.Profiler=u,t.StrictMode=s,t.Suspense=g,t.isAsyncMode=function(e){return C(e)||R(e)===d},t.isConcurrentMode=C,t.isContextConsumer=function(e){return R(e)===c},t.isContextProvider=function(e){return R(e)===l},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===o},t.isForwardRef=function(e){return R(e)===p},t.isFragment=function(e){return R(e)===a},t.isLazy=function(e){return R(e)===v},t.isMemo=function(e){return R(e)===h},t.isPortal=function(e){return R(e)===i},t.isProfiler=function(e){return R(e)===u},t.isStrictMode=function(e){return R(e)===s},t.isSuspense=function(e){return R(e)===g},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===f||e===u||e===s||e===g||e===m||"object"==typeof e&&null!==e&&(e.$$typeof===v||e.$$typeof===h||e.$$typeof===l||e.$$typeof===c||e.$$typeof===p||e.$$typeof===b||e.$$typeof===w||e.$$typeof===S||e.$$typeof===y)},t.typeOf=R},,,,,,,function(e,t,n){"use strict";n.r(t);var r,o=n(3),i=n.n(o),a=n(0),s=n(8),u=n(18),l=n(6),c=n(2),d=n(26),f=n(9),p=n.n(f),g=n(1),m=n(11),h=Object(a.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(a.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(a.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(a.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(a.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)"})),v=function(e){return Object(a.createElement)(c.Placeholder,{icon:Object(a.createElement)("div",null,e.icon?e.icon:h),instructions:"Select a form to display the submissions.",style:{alignItems:"center"}},Object(a.createElement)("div",{style:{margin:"auto",width:"50%"}},e.children))},y=n(27),b=n.n(y),w=n(28).a.div(r||(r=b()(["\n padding: 1rem;\n\n button {\n cursor: pointer;\n padding: .75em 1.44em;\n border: 2px solid black;\n outline: 4px solid transparent;\n background-color: transparent;\n\n :hover {\n outline-color: white;\n background-color: white;\n }\n }\n\n table {\n width: 100%;\n border-spacing: 0;\n border: 1px solid black;\n margin-bottom: 20px;\n\n tr {\n :last-child {\n td {\n border-bottom: 0;\n }\n }\n }\n\n th,\n td {\n margin: 0;\n padding: 0.5rem;\n border-bottom: 1px solid black;\n border-right: 1px solid black;\n\n :last-child {\n border-right: 0;\n }\n }\n }\n"]))),S=function(e){var t=e.fields,n=e.isChecked,r=e.onChange;return Object(a.createElement)("ul",null,t.map((function(e){return Object(a.createElement)("li",{key:"li_"+e.id},Object(a.createElement)(c.CheckboxControl,{key:e.id,label:e.label,checked:n(e.id),onChange:function(t){return r(t,e.id)}}))})))},R=n(21),C=function(e){e.forms;var t=Object.values(e.fields),n=Object.values(e.submissions),r=void 0!==e.attributes.selectedFields?e.attributes.selectedFields:[];return Object(a.createElement)(g.Fragment,null,e.attributes.formID&&Object(a.createElement)(w,null,Object(a.createElement)(R.a,p()({},e.attributes,{selectedFields:r,fields:t,submissions:n}))),e.isSelected&&Object(a.createElement)(m.BlockControls,null,Object(a.createElement)(m.BlockAlignmentToolbar,{value:e.attributes.alignment,onChange:function(t){e.setAttributes({alignment:void 0===t?"none":t})}})),e.isSelected&&Object(a.createElement)(m.InspectorControls,null,Object(a.createElement)(c.PanelBody,{title:"Fields",initialOpen:!0},Object(a.createElement)(S,{fields:t,isChecked:function(e){return-1!==r.indexOf(e)},onChange:function(t,n){var o=t?r.concat([n]):r.filter((function(e){return e!=n}));e.setAttributes({selectedFields:o})}}))))},x=n(19),P=n(10),O=n.n(P),k=n(20);function E(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function I(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?E(Object(n),!0).forEach((function(t){i()(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):E(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}O.a.use(Object(k.a)(window.ninjaFormsViews.token)),Object(l.registerStore)("ninja-forms-views",x.a),Object(u.registerBlockType)("ninja-forms/submissions-table",I(I({title:"Ninja Forms Submissions Table",icon:"editor-table",category:"common"},d),{},{edit:Object(l.withSelect)((function(e){return{forms:e("ninja-forms-views").getForms()}}))((function(e){if(!e.attributes.formID){if(!e.forms)return Object(a.createElement)(v,{label:Object(s.__)("Ninja Forms Submissions Table")},Object(a.createElement)(c.Spinner,null));var t=Object.values(e.forms).map((function(e){return{key:e.formID,label:e.formTitle,value:e.formID}}));return Object(a.createElement)(v,null,Object(a.createElement)(c.SelectControl,{label:"Select Form",onChange:function(t){return e.setAttributes({formID:t})},options:[{key:0,label:"-",value:0}].concat(t)}))}var n=Object(l.withSelect)((function(t){return{fields:t("ninja-forms-views").getFormFields(e.attributes.formID),submissions:t("ninja-forms-views").getFormSubmissions(e.attributes.formID)}}))((function(t){var n=t.fields,r=t.submissions;return n&&r?Object(a.createElement)(C,I(I({},e),{},{fields:n,submissions:r})):Object(a.createElement)(v,{label:Object(s.__)("Loading Form Data")},Object(a.createElement)(c.Spinner,null))}));return Object(a.createElement)(n,null)})),getEditWrapperProps:function(e){var t=e.alignment;if("left"===t||"center"===t||"right"===t||"wide"===t||"full"===t)return{"data-align":t}},save:function(){return null}}))}]);
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.4.34' );
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.4.34.1' );
269
 
270
  // Plugin Folder Path
271
  if ( ! defined( 'NF_PLUGIN_DIR' ) )
includes/Fields/Password.php CHANGED
@@ -22,6 +22,7 @@ class NF_Fields_Password extends NF_Abstracts_Input
22
  $this->_nicename = esc_html__( 'Password', 'ninja-forms' );
23
 
24
  add_filter( 'nf_sub_hidden_field_types', array( $this, 'hide_field_type' ) );
 
25
  }
26
 
27
  function hide_field_type( $field_types )
22
  $this->_nicename = esc_html__( 'Password', 'ninja-forms' );
23
 
24
  add_filter( 'nf_sub_hidden_field_types', array( $this, 'hide_field_type' ) );
25
+ add_filter( 'ninja_forms_csv_ignore_fields', array( $this, 'hide_field_type' ) );
26
  }
27
 
28
  function hide_field_type( $field_types )
includes/Fields/PasswordConfirm.php CHANGED
@@ -28,6 +28,7 @@ class NF_Fields_PasswordConfirm extends NF_Fields_Password
28
  $this->_settings[ 'confirm_field' ][ 'field_value_format' ] = 'key';
29
 
30
  add_filter( 'nf_sub_hidden_field_types', array( $this, 'hide_field_type' ) );
 
31
  }
32
 
33
  function hide_field_type( $field_types )
28
  $this->_settings[ 'confirm_field' ][ 'field_value_format' ] = 'key';
29
 
30
  add_filter( 'nf_sub_hidden_field_types', array( $this, 'hide_field_type' ) );
31
+ add_filter( 'ninja_forms_csv_ignore_fields', array( $this, 'hide_field_type' ) );
32
  }
33
 
34
  function hide_field_type( $field_types )
includes/MergeTags/Other.php CHANGED
@@ -56,6 +56,7 @@ final class NF_MergeTags_Other extends NF_Abstracts_MergeTags
56
  } else {
57
  $value = wp_kses_post( $value );
58
  }
 
59
  $this->set_merge_tags( $key, $value );
60
  }
61
  }
56
  } else {
57
  $value = wp_kses_post( $value );
58
  }
59
+ $value = esc_attr( $value );
60
  $this->set_merge_tags( $key, $value );
61
  }
62
  }
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.4.34
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.4.34';
63
 
64
  /**
65
  * @since 3.4.0
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.4.34.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.4.34.1';
63
 
64
  /**
65
  * @since 3.4.0
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.4.34
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,21 +303,24 @@ This section describes how to install the plugin and get it working.
303
 
304
  == Upgrade Notice ==
305
 
306
- = 3.4.34 (25 January 2021) =
307
-
308
- *Bugs:*
309
-
310
- * Forms should once again load properly in Internet Explorer 11.
311
- * Single checkbox fields should now properly display their values in the submission table.
312
- * Updated our dashboard styling to resolve an issue where some translations were resulting in action buttons being obscured.
313
- * Restored drag and drop functionality for adding fields in the form builder.
314
 
315
  *Security:*
316
 
317
- * Patched a couple of vulnerabilities in our services oAuth controller [reported responsibly](https://ninjaforms.com/security) by Chloe Chamberland at Wordfence.
 
 
318
 
319
  == Changelog ==
320
 
 
 
 
 
 
 
 
 
321
  = 3.4.34 (25 January 2021) =
322
 
323
  *Bugs:*
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.4.34.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.4.34.1 (8 February 2021) =
 
 
 
 
 
 
 
307
 
308
  *Security:*
309
 
310
+ * Added a missing permissions check in our services connection manager [reported responsibly](https://ninjaforms.com/security) by Chloe Chamberland at Wordfence.
311
+ * Patched a potential XSS vulnerability in our querystring merge tag.
312
+ * Added a missing filter that should have been excluding some personal information fields from the CSV attachment on Email Actions.
313
 
314
  == Changelog ==
315
 
316
+ = 3.4.34.1 (8 February 2021) =
317
+
318
+ *Security:*
319
+
320
+ * Added a missing permissions check in our services connection manager [reported responsibly](https://ninjaforms.com/security) by Chloe Chamberland at Wordfence.
321
+ * Patched a potential XSS vulnerability in our querystring merge tag.
322
+ * Added a missing filter that should have been excluding some personal information fields from the CSV attachment on Email Actions.
323
+
324
  = 3.4.34 (25 January 2021) =
325
 
326
  *Bugs:*
services/oauth.php CHANGED
@@ -35,6 +35,10 @@ class OAuth
35
 
36
  public function setup() {
37
  add_action( 'wp_ajax_nf_oauth', function(){
 
 
 
 
38
  wp_die( json_encode( [
39
  'data' => [
40
  'connected' => ( $this->client_id ),
35
 
36
  public function setup() {
37
  add_action( 'wp_ajax_nf_oauth', function(){
38
+ // Does the current user have admin privileges
39
+ if (!current_user_can(apply_filters('ninja_forms_admin_all_forms_capabilities', 'manage_options'))) {
40
+ return;
41
+ }
42
  wp_die( json_encode( [
43
  'data' => [
44
  'connected' => ( $this->client_id ),
vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit7e3f88b42ac7a4a84b78d67c9a174f0e::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit2fc54eabf22b1e7f835d4c04433e2d56::getLoader();
vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit7e3f88b42ac7a4a84b78d67c9a174f0e
6
  {
7
  private static $loader;
8
 
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit7e3f88b42ac7a4a84b78d67c9a174f0e
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit7e3f88b42ac7a4a84b78d67c9a174f0e', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit7e3f88b42ac7a4a84b78d67c9a174f0e', '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\ComposerStaticInit7e3f88b42ac7a4a84b78d67c9a174f0e::getInitializer($loader));
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 ComposerAutoloaderInit2fc54eabf22b1e7f835d4c04433e2d56
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit2fc54eabf22b1e7f835d4c04433e2d56', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit2fc54eabf22b1e7f835d4c04433e2d56', '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\ComposerStaticInit2fc54eabf22b1e7f835d4c04433e2d56::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 ComposerStaticInit7e3f88b42ac7a4a84b78d67c9a174f0e
8
  {
9
  public static $prefixLengthsPsr4 = array (
10
  'N' =>
@@ -36,9 +36,9 @@ class ComposerStaticInit7e3f88b42ac7a4a84b78d67c9a174f0e
36
  public static function getInitializer(ClassLoader $loader)
37
  {
38
  return \Closure::bind(function () use ($loader) {
39
- $loader->prefixLengthsPsr4 = ComposerStaticInit7e3f88b42ac7a4a84b78d67c9a174f0e::$prefixLengthsPsr4;
40
- $loader->prefixDirsPsr4 = ComposerStaticInit7e3f88b42ac7a4a84b78d67c9a174f0e::$prefixDirsPsr4;
41
- $loader->classMap = ComposerStaticInit7e3f88b42ac7a4a84b78d67c9a174f0e::$classMap;
42
 
43
  }, null, ClassLoader::class);
44
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInit2fc54eabf22b1e7f835d4c04433e2d56
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 = ComposerStaticInit2fc54eabf22b1e7f835d4c04433e2d56::$prefixLengthsPsr4;
40
+ $loader->prefixDirsPsr4 = ComposerStaticInit2fc54eabf22b1e7f835d4c04433e2d56::$prefixDirsPsr4;
41
+ $loader->classMap = ComposerStaticInit2fc54eabf22b1e7f835d4c04433e2d56::$classMap;
42
 
43
  }, null, ClassLoader::class);
44
  }