Elementor Essential Addons - Version 5.0.4

Version Description

  • 27/01/2022 =

  • Improved: Sanitized template file paths for Security Enhancement

  • Added: Support for new Capability Queries for WordPress 5.9

  • Fixed: Elementor Popups not being triggered

  • Few minor bug fixes & improvements

Download this release

Release Info

Developer wpdevteam
Plugin Icon 128x128 Elementor Essential Addons
Version 5.0.4
Comparing to
See all releases

Code changes from version 5.0.3 to 5.0.4

assets/front-end/js/view/general.js CHANGED
@@ -310,7 +310,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/**\n * Validate a namespace
310
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
311
 
312
  "use strict";
313
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/hooks */ \"./node_modules/@wordpress/hooks/build-module/index.js\");\n\nwindow.isEditMode = false;\nwindow.ea = {\n hooks: Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_0__[\"createHooks\"])(),\n isEditMode: false\n};\nea.hooks.addAction(\"widgets.reinit\", \"ea\", function ($content) {\n var filterGallery = jQuery(\".eael-filter-gallery-container\", $content);\n var postGridGallery = jQuery(\".eael-post-grid:not(.eael-post-carousel)\", $content);\n var twitterfeedGallery = jQuery(\".eael-twitter-feed-masonry\", $content);\n var instaGallery = jQuery(\".eael-instafeed\", $content);\n var paGallery = jQuery(\".premium-gallery-container\", $content);\n var eventCalendar = jQuery(\".eael-event-calendar-cls\", $content);\n var testimonialSlider = jQuery(\".eael-testimonial-slider\", $content);\n var teamMemberCarousel = jQuery(\".eael-tm-carousel\", $content);\n var postCarousel = jQuery(\".eael-post-carousel:not(.eael-post-grid)\", $content);\n var logoCarousel = jQuery(\".eael-logo-carousel\", $content);\n var twitterCarousel = jQuery(\".eael-twitter-feed-carousel\", $content);\n\n if (filterGallery.length) {\n filterGallery.isotope(\"layout\");\n }\n\n if (postGridGallery.length) {\n postGridGallery.isotope(\"layout\");\n }\n\n if (twitterfeedGallery.length) {\n twitterfeedGallery.isotope(\"layout\");\n }\n\n if (instaGallery.length) {\n instaGallery.isotope(\"layout\");\n }\n\n if (paGallery.length) {\n paGallery.isotope(\"layout\");\n }\n\n if (eventCalendar.length) {\n ea.hooks.doAction(\"eventCalendar.reinit\");\n }\n\n if (testimonialSlider.length) {\n ea.hooks.doAction(\"testimonialSlider.reinit\");\n }\n\n if (teamMemberCarousel.length) {\n ea.hooks.doAction(\"teamMemberCarousel.reinit\");\n }\n\n if (postCarousel.length) {\n ea.hooks.doAction(\"postCarousel.reinit\");\n }\n\n if (logoCarousel.length) {\n ea.hooks.doAction(\"logoCarousel.reinit\");\n }\n\n if (twitterCarousel.length) {\n ea.hooks.doAction(\"twitterCarousel.reinit\");\n }\n});\njQuery(window).on(\"elementor/frontend/init\", function () {\n window.isEditMode = elementorFrontend.isEditMode();\n window.ea.isEditMode = elementorFrontend.isEditMode(); // hooks\n\n ea.hooks.doAction(\"init\"); // init edit mode hook\n\n if (ea.isEditMode) {\n ea.hooks.doAction(\"editMode.init\");\n }\n});\n\n(function ($) {\n $(document).on('click', 'a', function (e) {\n var hashURL = $(this).attr('href'),\n isStartWithHash = hashURL.startsWith('#');\n\n if (!isStartWithHash) {\n hashURL = hashURL.replace(localize.page_permalink, '');\n isStartWithHash = hashURL.startsWith('#');\n }\n\n if (isStartWithHash && ($(hashURL).hasClass('eael-tab-item-trigger') || $(hashURL).hasClass('eael-accordion-header'))) {\n $(hashURL).trigger('click');\n }\n });\n})(jQuery);\n\n//# sourceURL=webpack:///./src/js/view/general.js?");
314
 
315
  /***/ })
316
 
310
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
311
 
312
  "use strict";
313
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _wordpress_hooks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/hooks */ \"./node_modules/@wordpress/hooks/build-module/index.js\");\n\nwindow.isEditMode = false;\nwindow.ea = {\n hooks: Object(_wordpress_hooks__WEBPACK_IMPORTED_MODULE_0__[\"createHooks\"])(),\n isEditMode: false\n};\nea.hooks.addAction(\"widgets.reinit\", \"ea\", function ($content) {\n var filterGallery = jQuery(\".eael-filter-gallery-container\", $content);\n var postGridGallery = jQuery(\".eael-post-grid:not(.eael-post-carousel)\", $content);\n var twitterfeedGallery = jQuery(\".eael-twitter-feed-masonry\", $content);\n var instaGallery = jQuery(\".eael-instafeed\", $content);\n var paGallery = jQuery(\".premium-gallery-container\", $content);\n var eventCalendar = jQuery(\".eael-event-calendar-cls\", $content);\n var testimonialSlider = jQuery(\".eael-testimonial-slider\", $content);\n var teamMemberCarousel = jQuery(\".eael-tm-carousel\", $content);\n var postCarousel = jQuery(\".eael-post-carousel:not(.eael-post-grid)\", $content);\n var logoCarousel = jQuery(\".eael-logo-carousel\", $content);\n var twitterCarousel = jQuery(\".eael-twitter-feed-carousel\", $content);\n\n if (filterGallery.length) {\n filterGallery.isotope(\"layout\");\n }\n\n if (postGridGallery.length) {\n postGridGallery.isotope(\"layout\");\n }\n\n if (twitterfeedGallery.length) {\n twitterfeedGallery.isotope(\"layout\");\n }\n\n if (instaGallery.length) {\n instaGallery.isotope(\"layout\");\n }\n\n if (paGallery.length) {\n paGallery.isotope(\"layout\");\n }\n\n if (eventCalendar.length) {\n ea.hooks.doAction(\"eventCalendar.reinit\");\n }\n\n if (testimonialSlider.length) {\n ea.hooks.doAction(\"testimonialSlider.reinit\");\n }\n\n if (teamMemberCarousel.length) {\n ea.hooks.doAction(\"teamMemberCarousel.reinit\");\n }\n\n if (postCarousel.length) {\n ea.hooks.doAction(\"postCarousel.reinit\");\n }\n\n if (logoCarousel.length) {\n ea.hooks.doAction(\"logoCarousel.reinit\");\n }\n\n if (twitterCarousel.length) {\n ea.hooks.doAction(\"twitterCarousel.reinit\");\n }\n});\njQuery(window).on(\"elementor/frontend/init\", function () {\n window.isEditMode = elementorFrontend.isEditMode();\n window.ea.isEditMode = elementorFrontend.isEditMode(); // hooks\n\n ea.hooks.doAction(\"init\"); // init edit mode hook\n\n if (ea.isEditMode) {\n ea.hooks.doAction(\"editMode.init\");\n }\n});\n\n(function ($) {\n $(document).on('click', 'a', function (e) {\n var hashURL = $(this).attr('href'),\n isStartWithHash = hashURL.startsWith('#');\n\n if (!isStartWithHash) {\n hashURL = hashURL.replace(localize.page_permalink, '');\n isStartWithHash = hashURL.startsWith('#');\n } // we will try and catch the error but not show anything just do it if possible\n\n\n try {\n if (isStartWithHash && ($(hashURL).hasClass('eael-tab-item-trigger') || $(hashURL).hasClass('eael-accordion-header'))) {\n $(hashURL).trigger('click');\n }\n } catch (err) {// nothing to do\n }\n });\n})(jQuery);\n\n//# sourceURL=webpack:///./src/js/view/general.js?");
314
 
315
  /***/ })
316
 
assets/front-end/js/view/general.min.js CHANGED
@@ -1 +1 @@
1
- !function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=89)}({89:function(e,t,n){"use strict";n.r(t);var r=function(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)};var o=function(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)};var i=function(e,t){return function(n,i,s){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,l=e[t];if(o(n)&&r(i))if("function"==typeof s)if("number"==typeof a){var c={callback:s,priority:a,namespace:i};if(l[n]){var u,d=l[n].handlers;for(u=d.length;u>0&&!(a>=d[u-1].priority);u--);u===d.length?d[u]=c:d.splice(u,0,c),l.__current.forEach((function(e){e.name===n&&e.currentIndex>=u&&e.currentIndex++}))}else l[n]={handlers:[c],runs:0};"hookAdded"!==n&&e.doAction("hookAdded",n,i,s,a)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}};var s=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(i,s){var a=e[t];if(o(i)&&(n||r(s))){if(!a[i])return 0;var l=0;if(n)l=a[i].handlers.length,a[i]={runs:a[i].runs,handlers:[]};else for(var c=a[i].handlers,u=function(e){c[e].namespace===s&&(c.splice(e,1),l++,a.__current.forEach((function(t){t.name===i&&t.currentIndex>=e&&t.currentIndex--})))},d=c.length-1;d>=0;d--)u(d);return"hookRemoved"!==i&&e.doAction("hookRemoved",i,s),l}}};var a=function(e,t){return function(n,r){var o=e[t];return void 0!==r?n in o&&o[n].handlers.some((function(e){return e.namespace===r})):n in o}};var l=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r){var o=e[t];o[r]||(o[r]={handlers:[],runs:0}),o[r].runs++;var i=o[r].handlers;for(var s=arguments.length,a=new Array(s>1?s-1:0),l=1;l<s;l++)a[l-1]=arguments[l];if(!i||!i.length)return n?a[0]:void 0;var c={name:r,currentIndex:0};for(o.__current.push(c);c.currentIndex<i.length;){var u=i[c.currentIndex],d=u.callback.apply(null,a);n&&(a[0]=d),c.currentIndex++}return o.__current.pop(),n?a[0]:void 0}};var c=function(e,t){return function(){var n,r,o=e[t];return null!==(n=null===(r=o.__current[o.__current.length-1])||void 0===r?void 0:r.name)&&void 0!==n?n:null}};var u=function(e,t){return function(n){var r=e[t];return void 0===n?void 0!==r.__current[0]:!!r.__current[0]&&n===r.__current[0].name}};var d=function(e,t){return function(n){var r=e[t];if(o(n))return r[n]&&r[n].runs?r[n].runs:0}},h=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=i(this,"actions"),this.addFilter=i(this,"filters"),this.removeAction=s(this,"actions"),this.removeFilter=s(this,"filters"),this.hasAction=a(this,"actions"),this.hasFilter=a(this,"filters"),this.removeAllActions=s(this,"actions",!0),this.removeAllFilters=s(this,"filters",!0),this.doAction=l(this,"actions"),this.applyFilters=l(this,"filters",!0),this.currentAction=c(this,"actions"),this.currentFilter=c(this,"filters"),this.doingAction=u(this,"actions"),this.doingFilter=u(this,"filters"),this.didAction=d(this,"actions"),this.didFilter=d(this,"filters")};var f,v=function(){return new h},p=v();p.addAction,p.addFilter,p.removeAction,p.removeFilter,p.hasAction,p.hasFilter,p.removeAllActions,p.removeAllFilters,p.doAction,p.applyFilters,p.currentAction,p.currentFilter,p.doingAction,p.doingFilter,p.didAction,p.didFilter,p.actions,p.filters;window.isEditMode=!1,window.ea={hooks:v(),isEditMode:!1},ea.hooks.addAction("widgets.reinit","ea",(function(e){var t=jQuery(".eael-filter-gallery-container",e),n=jQuery(".eael-post-grid:not(.eael-post-carousel)",e),r=jQuery(".eael-twitter-feed-masonry",e),o=jQuery(".eael-instafeed",e),i=jQuery(".premium-gallery-container",e),s=jQuery(".eael-event-calendar-cls",e),a=jQuery(".eael-testimonial-slider",e),l=jQuery(".eael-tm-carousel",e),c=jQuery(".eael-post-carousel:not(.eael-post-grid)",e),u=jQuery(".eael-logo-carousel",e),d=jQuery(".eael-twitter-feed-carousel",e);t.length&&t.isotope("layout"),n.length&&n.isotope("layout"),r.length&&r.isotope("layout"),o.length&&o.isotope("layout"),i.length&&i.isotope("layout"),s.length&&ea.hooks.doAction("eventCalendar.reinit"),a.length&&ea.hooks.doAction("testimonialSlider.reinit"),l.length&&ea.hooks.doAction("teamMemberCarousel.reinit"),c.length&&ea.hooks.doAction("postCarousel.reinit"),u.length&&ea.hooks.doAction("logoCarousel.reinit"),d.length&&ea.hooks.doAction("twitterCarousel.reinit")})),jQuery(window).on("elementor/frontend/init",(function(){window.isEditMode=elementorFrontend.isEditMode(),window.ea.isEditMode=elementorFrontend.isEditMode(),ea.hooks.doAction("init"),ea.isEditMode&&ea.hooks.doAction("editMode.init")})),(f=jQuery)(document).on("click","a",(function(e){var t=f(this).attr("href"),n=t.startsWith("#");n||(n=(t=t.replace(localize.page_permalink,"")).startsWith("#")),n&&(f(t).hasClass("eael-tab-item-trigger")||f(t).hasClass("eael-accordion-header"))&&f(t).trigger("click")}))}});
1
+ !function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=89)}({89:function(e,t,n){"use strict";n.r(t);var r=function(e){return"string"!=typeof e||""===e?(console.error("The namespace must be a non-empty string."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.\-\/]*$/.test(e)||(console.error("The namespace can only contain numbers, letters, dashes, periods, underscores and slashes."),!1)};var o=function(e){return"string"!=typeof e||""===e?(console.error("The hook name must be a non-empty string."),!1):/^__/.test(e)?(console.error("The hook name cannot begin with `__`."),!1):!!/^[a-zA-Z][a-zA-Z0-9_.-]*$/.test(e)||(console.error("The hook name can only contain numbers, letters, dashes, periods and underscores."),!1)};var i=function(e,t){return function(n,i,s){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:10,l=e[t];if(o(n)&&r(i))if("function"==typeof s)if("number"==typeof a){var c={callback:s,priority:a,namespace:i};if(l[n]){var u,d=l[n].handlers;for(u=d.length;u>0&&!(a>=d[u-1].priority);u--);u===d.length?d[u]=c:d.splice(u,0,c),l.__current.forEach((function(e){e.name===n&&e.currentIndex>=u&&e.currentIndex++}))}else l[n]={handlers:[c],runs:0};"hookAdded"!==n&&e.doAction("hookAdded",n,i,s,a)}else console.error("If specified, the hook priority must be a number.");else console.error("The hook callback must be a function.")}};var s=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(i,s){var a=e[t];if(o(i)&&(n||r(s))){if(!a[i])return 0;var l=0;if(n)l=a[i].handlers.length,a[i]={runs:a[i].runs,handlers:[]};else for(var c=a[i].handlers,u=function(e){c[e].namespace===s&&(c.splice(e,1),l++,a.__current.forEach((function(t){t.name===i&&t.currentIndex>=e&&t.currentIndex--})))},d=c.length-1;d>=0;d--)u(d);return"hookRemoved"!==i&&e.doAction("hookRemoved",i,s),l}}};var a=function(e,t){return function(n,r){var o=e[t];return void 0!==r?n in o&&o[n].handlers.some((function(e){return e.namespace===r})):n in o}};var l=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(r){var o=e[t];o[r]||(o[r]={handlers:[],runs:0}),o[r].runs++;var i=o[r].handlers;for(var s=arguments.length,a=new Array(s>1?s-1:0),l=1;l<s;l++)a[l-1]=arguments[l];if(!i||!i.length)return n?a[0]:void 0;var c={name:r,currentIndex:0};for(o.__current.push(c);c.currentIndex<i.length;){var u=i[c.currentIndex],d=u.callback.apply(null,a);n&&(a[0]=d),c.currentIndex++}return o.__current.pop(),n?a[0]:void 0}};var c=function(e,t){return function(){var n,r,o=e[t];return null!==(n=null===(r=o.__current[o.__current.length-1])||void 0===r?void 0:r.name)&&void 0!==n?n:null}};var u=function(e,t){return function(n){var r=e[t];return void 0===n?void 0!==r.__current[0]:!!r.__current[0]&&n===r.__current[0].name}};var d=function(e,t){return function(n){var r=e[t];if(o(n))return r[n]&&r[n].runs?r[n].runs:0}},h=function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.actions=Object.create(null),this.actions.__current=[],this.filters=Object.create(null),this.filters.__current=[],this.addAction=i(this,"actions"),this.addFilter=i(this,"filters"),this.removeAction=s(this,"actions"),this.removeFilter=s(this,"filters"),this.hasAction=a(this,"actions"),this.hasFilter=a(this,"filters"),this.removeAllActions=s(this,"actions",!0),this.removeAllFilters=s(this,"filters",!0),this.doAction=l(this,"actions"),this.applyFilters=l(this,"filters",!0),this.currentAction=c(this,"actions"),this.currentFilter=c(this,"filters"),this.doingAction=u(this,"actions"),this.doingFilter=u(this,"filters"),this.didAction=d(this,"actions"),this.didFilter=d(this,"filters")};var f,v=function(){return new h},p=v();p.addAction,p.addFilter,p.removeAction,p.removeFilter,p.hasAction,p.hasFilter,p.removeAllActions,p.removeAllFilters,p.doAction,p.applyFilters,p.currentAction,p.currentFilter,p.doingAction,p.doingFilter,p.didAction,p.didFilter,p.actions,p.filters;window.isEditMode=!1,window.ea={hooks:v(),isEditMode:!1},ea.hooks.addAction("widgets.reinit","ea",(function(e){var t=jQuery(".eael-filter-gallery-container",e),n=jQuery(".eael-post-grid:not(.eael-post-carousel)",e),r=jQuery(".eael-twitter-feed-masonry",e),o=jQuery(".eael-instafeed",e),i=jQuery(".premium-gallery-container",e),s=jQuery(".eael-event-calendar-cls",e),a=jQuery(".eael-testimonial-slider",e),l=jQuery(".eael-tm-carousel",e),c=jQuery(".eael-post-carousel:not(.eael-post-grid)",e),u=jQuery(".eael-logo-carousel",e),d=jQuery(".eael-twitter-feed-carousel",e);t.length&&t.isotope("layout"),n.length&&n.isotope("layout"),r.length&&r.isotope("layout"),o.length&&o.isotope("layout"),i.length&&i.isotope("layout"),s.length&&ea.hooks.doAction("eventCalendar.reinit"),a.length&&ea.hooks.doAction("testimonialSlider.reinit"),l.length&&ea.hooks.doAction("teamMemberCarousel.reinit"),c.length&&ea.hooks.doAction("postCarousel.reinit"),u.length&&ea.hooks.doAction("logoCarousel.reinit"),d.length&&ea.hooks.doAction("twitterCarousel.reinit")})),jQuery(window).on("elementor/frontend/init",(function(){window.isEditMode=elementorFrontend.isEditMode(),window.ea.isEditMode=elementorFrontend.isEditMode(),ea.hooks.doAction("init"),ea.isEditMode&&ea.hooks.doAction("editMode.init")})),(f=jQuery)(document).on("click","a",(function(e){var t=f(this).attr("href"),n=t.startsWith("#");n||(n=(t=t.replace(localize.page_permalink,"")).startsWith("#"));try{n&&(f(t).hasClass("eael-tab-item-trigger")||f(t).hasClass("eael-accordion-header"))&&f(t).trigger("click")}catch(e){}}))}});
essential_adons_elementor.php CHANGED
@@ -4,7 +4,7 @@
4
  * Description: The Essential plugin you install after Elementor! Packed with 40+ stunning free elements including Advanced Data Table, Event Calendar, Filterable Gallery, WooCommerce, and many more.
5
  * Plugin URI: https://essential-addons.com/elementor/
6
  * Author: WPDeveloper
7
- * Version: 5.0.3
8
  * Author URI: https://wpdeveloper.com/
9
  * Text Domain: essential-addons-for-elementor-lite
10
  * Domain Path: /languages
@@ -27,7 +27,7 @@ define('EAEL_PLUGIN_FILE', __FILE__);
27
  define('EAEL_PLUGIN_BASENAME', plugin_basename(__FILE__));
28
  define('EAEL_PLUGIN_PATH', trailingslashit(plugin_dir_path(__FILE__)));
29
  define('EAEL_PLUGIN_URL', trailingslashit(plugins_url('/', __FILE__)));
30
- define('EAEL_PLUGIN_VERSION', '5.0.3');
31
  define('EAEL_ASSET_PATH', wp_upload_dir()['basedir'] . '/essential-addons-elementor');
32
  define('EAEL_ASSET_URL', wp_upload_dir()['baseurl'] . '/essential-addons-elementor');
33
  /**
4
  * Description: The Essential plugin you install after Elementor! Packed with 40+ stunning free elements including Advanced Data Table, Event Calendar, Filterable Gallery, WooCommerce, and many more.
5
  * Plugin URI: https://essential-addons.com/elementor/
6
  * Author: WPDeveloper
7
+ * Version: 5.0.4
8
  * Author URI: https://wpdeveloper.com/
9
  * Text Domain: essential-addons-for-elementor-lite
10
  * Domain Path: /languages
27
  define('EAEL_PLUGIN_BASENAME', plugin_basename(__FILE__));
28
  define('EAEL_PLUGIN_PATH', trailingslashit(plugin_dir_path(__FILE__)));
29
  define('EAEL_PLUGIN_URL', trailingslashit(plugins_url('/', __FILE__)));
30
+ define('EAEL_PLUGIN_VERSION', '5.0.4');
31
  define('EAEL_ASSET_PATH', wp_upload_dir()['basedir'] . '/essential-addons-elementor');
32
  define('EAEL_ASSET_URL', wp_upload_dir()['baseurl'] . '/essential-addons-elementor');
33
  /**
includes/Classes/Helper.php CHANGED
@@ -336,23 +336,30 @@ class Helper
336
  *
337
  * @return array
338
  */
339
- public static function get_authors_list()
340
- {
341
- $users = get_users([
342
- 'who' => 'authors',
343
- 'has_published_posts' => true,
344
- 'fields' => [
345
- 'ID',
346
- 'display_name',
347
- ],
348
- ]);
 
 
 
 
 
349
 
350
- if (!empty($users)) {
351
- return wp_list_pluck($users, 'display_name', 'ID');
352
- }
353
 
354
- return [];
355
- }
 
 
 
 
356
 
357
  /**
358
  * Get all Tags
336
  *
337
  * @return array
338
  */
339
+ public static function get_authors_list() {
340
+ $args = [
341
+ 'capability' => [ 'edit_posts' ],
342
+ 'has_published_posts' => true,
343
+ 'fields' => [
344
+ 'ID',
345
+ 'display_name',
346
+ ],
347
+ ];
348
+
349
+ // Capability queries were only introduced in WP 5.9.
350
+ if ( version_compare( $GLOBALS['wp_version'], '5.9-alpha', '<' ) ) {
351
+ $args['who'] = 'authors';
352
+ unset( $args['capability'] );
353
+ }
354
 
355
+ $users = get_users( $args );
 
 
356
 
357
+ if ( ! empty( $users ) ) {
358
+ return wp_list_pluck( $users, 'display_name', 'ID' );
359
+ }
360
+
361
+ return [];
362
+ }
363
 
364
  /**
365
  * Get all Tags
includes/Traits/Helper.php CHANGED
@@ -111,26 +111,29 @@ trait Helper
111
  'read_more_link_target_blank' => $settings['read_more_link_target_blank'] ? 'target="_blank"' : '',
112
  ];
113
 
114
- $template_info = $_REQUEST['template_info'];
115
- $template_info = array_map( 'sanitize_text_field', $template_info );
116
 
117
  if ( $template_info ) {
118
 
119
  if ( $template_info[ 'dir' ] === 'theme' ) {
120
- $file_path = $this->retrive_theme_path();
121
  } else if($template_info[ 'dir' ] === 'pro') {
122
- $file_path = sprintf("%sincludes",EAEL_PRO_PLUGIN_PATH);
123
  } else {
124
- $file_path = sprintf("%sincludes",EAEL_PLUGIN_PATH);
125
  }
126
 
127
  $file_path = sprintf(
128
  '%s/Template/%s/%s',
129
- $file_path,
130
  $template_info[ 'name' ],
131
  $template_info[ 'file_name' ]
132
  );
133
 
 
 
 
 
134
  if ( $file_path ) {
135
  $query = new \WP_Query( $args );
136
 
@@ -977,25 +980,29 @@ trait Helper
977
  ];
978
  }
979
 
980
- $template_info = $_REQUEST['template_info'];
981
 
982
  if ( $template_info ) {
983
 
984
  if ( $template_info[ 'dir' ] === 'theme' ) {
985
- $file_path = $this->retrive_theme_path();
986
  } else if($template_info[ 'dir' ] === 'pro') {
987
- $file_path = sprintf("%sincludes",EAEL_PRO_PLUGIN_PATH);
988
  } else {
989
- $file_path = sprintf("%sincludes",EAEL_PLUGIN_PATH);
990
  }
991
 
992
  $file_path = sprintf(
993
  '%s/Template/%s/%s',
994
- $file_path,
995
  $template_info[ 'name' ],
996
  $template_info[ 'file_name' ]
997
  );
998
 
 
 
 
 
999
  $html = '';
1000
  if ( $file_path ) {
1001
  $query = new \WP_Query( $args );
@@ -1026,6 +1033,21 @@ trait Helper
1026
  }
1027
  return $id;
1028
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1029
 
1030
  }
1031
 
111
  'read_more_link_target_blank' => $settings['read_more_link_target_blank'] ? 'target="_blank"' : '',
112
  ];
113
 
114
+ $template_info = $this->eael_sanitize_template_param( $_REQUEST['template_info'] );
 
115
 
116
  if ( $template_info ) {
117
 
118
  if ( $template_info[ 'dir' ] === 'theme' ) {
119
+ $dir_path = $this->retrive_theme_path();
120
  } else if($template_info[ 'dir' ] === 'pro') {
121
+ $dir_path = sprintf("%sincludes",EAEL_PRO_PLUGIN_PATH);
122
  } else {
123
+ $dir_path = sprintf("%sincludes",EAEL_PLUGIN_PATH);
124
  }
125
 
126
  $file_path = sprintf(
127
  '%s/Template/%s/%s',
128
+ $dir_path,
129
  $template_info[ 'name' ],
130
  $template_info[ 'file_name' ]
131
  );
132
 
133
+ if ( ! $file_path || 0 !== strpos( $file_path, $dir_path ) ) {
134
+ wp_send_json_error( 'Invalid template', 'invalid_template', 400 );
135
+ }
136
+
137
  if ( $file_path ) {
138
  $query = new \WP_Query( $args );
139
 
980
  ];
981
  }
982
 
983
+ $template_info = $this->eael_sanitize_template_param( $_REQUEST['template_info'] );
984
 
985
  if ( $template_info ) {
986
 
987
  if ( $template_info[ 'dir' ] === 'theme' ) {
988
+ $dir_path = $this->retrive_theme_path();
989
  } else if($template_info[ 'dir' ] === 'pro') {
990
+ $dir_path = sprintf("%sincludes",EAEL_PRO_PLUGIN_PATH);
991
  } else {
992
+ $dir_path = sprintf("%sincludes",EAEL_PLUGIN_PATH);
993
  }
994
 
995
  $file_path = sprintf(
996
  '%s/Template/%s/%s',
997
+ $dir_path,
998
  $template_info[ 'name' ],
999
  $template_info[ 'file_name' ]
1000
  );
1001
 
1002
+ if ( ! $file_path || 0 !== strpos( $file_path, $dir_path ) ) {
1003
+ wp_send_json_error( 'Invalid template', 'invalid_template', 400 );
1004
+ }
1005
+
1006
  $html = '';
1007
  if ( $file_path ) {
1008
  $query = new \WP_Query( $args );
1033
  }
1034
  return $id;
1035
  }
1036
+
1037
+ /**
1038
+ * eael_sanitize_template_param
1039
+ * Removes special characters that are illegal in filenames
1040
+ *
1041
+ * @param array $template_info
1042
+ *
1043
+ * @access public
1044
+ * @return array
1045
+ * @since 5.0.4
1046
+ */
1047
+ public function eael_sanitize_template_param( $template_info ){
1048
+ $template_info = array_map( 'sanitize_text_field', $template_info );
1049
+ return array_map( 'sanitize_file_name', $template_info );
1050
+ }
1051
 
1052
  }
1053
 
languages/essential-addons-for-elementor-lite.pot CHANGED
@@ -21,31 +21,31 @@ msgstr ""
21
  msgid "Unlock more possibilities"
22
  msgstr ""
23
 
24
- #: ../includes/Classes/Helper.php:429
25
  msgid "Select a Contact Form"
26
  msgstr ""
27
 
28
- #: ../includes/Classes/Helper.php:435, ../includes/Classes/Helper.php:461, ../includes/Classes/Helper.php:488, ../includes/Classes/Helper.php:515, ../includes/Classes/Helper.php:540, ../includes/Classes/Helper.php:570, ../includes/Elements/FluentForm.php:90
29
  msgid "Create a Form First"
30
  msgstr ""
31
 
32
- #: ../includes/Classes/Helper.php:455
33
  msgid "Select Gravity Form"
34
  msgstr ""
35
 
36
- #: ../includes/Classes/Helper.php:483, ../includes/Elements/WeForms.php:95
37
  msgid "Select weForm"
38
  msgstr ""
39
 
40
- #: ../includes/Classes/Helper.php:508
41
  msgid "Select Ninja Form"
42
  msgstr ""
43
 
44
- #: ../includes/Classes/Helper.php:534
45
  msgid "Select Caldera Form"
46
  msgstr ""
47
 
48
- #: ../includes/Classes/Helper.php:564
49
  msgid "Select a WPForm"
50
  msgstr ""
51
 
@@ -61,7 +61,7 @@ msgstr ""
61
  msgid "Install Now!"
62
  msgstr ""
63
 
64
- #: ../includes/Classes/WPDeveloper_Plugin_Installer.php:151, ../includes/Classes/WPDeveloper_Plugin_Installer.php:169, ../includes/Classes/WPDeveloper_Plugin_Installer.php:187, ../includes/Classes/WPDeveloper_Setup_Wizard.php:517, ../includes/Classes/WPDeveloper_Setup_Wizard.php:543, ../includes/Traits/Admin.php:141, ../includes/Traits/Helper.php:842, ../includes/Traits/Library.php:158
65
  msgid "you are not allowed to do this action"
66
  msgstr ""
67
 
@@ -197,7 +197,7 @@ msgstr ""
197
  msgid "Upgrade to PRO"
198
  msgstr ""
199
 
200
- #: ../includes/Classes/WPDeveloper_Setup_Wizard.php:324, ../includes/Traits/Helper.php:818, ../includes/templates/admin/general.php:31
201
  msgid "Install Templately"
202
  msgstr ""
203
 
@@ -8135,63 +8135,63 @@ msgstr ""
8135
  msgid "Post ID is missing"
8136
  msgstr ""
8137
 
8138
- #: ../includes/Traits/Facebook_Feed.php:41, ../includes/Traits/Helper.php:57, ../includes/Traits/Helper.php:954, ../includes/Traits/Login_Registration.php:62, ../includes/Traits/Login_Registration.php:227, ../includes/Traits/Woo_Product_Comparable.php:2133
8139
  msgid "Widget ID is missing"
8140
  msgstr ""
8141
 
8142
- #: ../includes/Traits/Helper.php:29, ../includes/Traits/Helper.php:926, ../includes/Traits/Login_Registration.php:79, ../includes/Traits/Login_Registration.php:200
8143
  msgid "Insecure form submitted without security token"
8144
  msgstr ""
8145
 
8146
- #: ../includes/Traits/Helper.php:37, ../includes/Traits/Helper.php:934, ../includes/Traits/Login_Registration.php:92, ../includes/Traits/Login_Registration.php:210, ../includes/Traits/Woo_Product_Comparable.php:2170
8147
  msgid "Security token did not match"
8148
  msgstr ""
8149
 
8150
- #: ../includes/Traits/Helper.php:47, ../includes/Traits/Helper.php:944, ../includes/Traits/Login_Registration.php:55, ../includes/Traits/Login_Registration.php:222, ../includes/Traits/Woo_Product_Comparable.php:2128
8151
  msgid "Page ID is missing"
8152
  msgstr ""
8153
 
8154
- #: ../includes/Traits/Helper.php:67, ../includes/Traits/Helper.php:963
8155
  msgid "Widget settings are not found. Did you save the widget before using load more??"
8156
  msgstr ""
8157
 
8158
- #: ../includes/Traits/Helper.php:204
8159
  msgid "Essential Addons for Elementor"
8160
  msgstr ""
8161
 
8162
- #: ../includes/Traits/Helper.php:383, ../includes/Traits/Twitter_Feed.php:125
8163
  msgid "%s ago"
8164
  msgstr ""
8165
 
8166
- #: ../includes/Traits/Helper.php:800
8167
  msgid "1,700+ Stunning Templates"
8168
  msgstr ""
8169
 
8170
- #: ../includes/Traits/Helper.php:801
8171
  msgid "Supports Elementor & Gutenberg"
8172
  msgstr ""
8173
 
8174
- #: ../includes/Traits/Helper.php:802
8175
  msgid "Powering up 100,000+ Websites"
8176
  msgstr ""
8177
 
8178
- #: ../includes/Traits/Helper.php:803
8179
  msgid "Cloud Collaboration with Team"
8180
  msgstr ""
8181
 
8182
- #: ../includes/Traits/Helper.php:812
8183
  msgid "Don’t Show This Again"
8184
  msgstr ""
8185
 
8186
- #: ../includes/Traits/Helper.php:824
8187
  msgid "Activate Templately"
8188
  msgstr ""
8189
 
8190
- #: ../includes/Traits/Helper.php:821
8191
  msgid "Activated Templately"
8192
  msgstr ""
8193
 
8194
- #: ../includes/Traits/Helper.php:827
8195
  msgid "Submit"
8196
  msgstr ""
8197
 
21
  msgid "Unlock more possibilities"
22
  msgstr ""
23
 
24
+ #: ../includes/Classes/Helper.php:436
25
  msgid "Select a Contact Form"
26
  msgstr ""
27
 
28
+ #: ../includes/Classes/Helper.php:442, ../includes/Classes/Helper.php:468, ../includes/Classes/Helper.php:495, ../includes/Classes/Helper.php:522, ../includes/Classes/Helper.php:547, ../includes/Classes/Helper.php:577, ../includes/Elements/FluentForm.php:90
29
  msgid "Create a Form First"
30
  msgstr ""
31
 
32
+ #: ../includes/Classes/Helper.php:462
33
  msgid "Select Gravity Form"
34
  msgstr ""
35
 
36
+ #: ../includes/Classes/Helper.php:490, ../includes/Elements/WeForms.php:95
37
  msgid "Select weForm"
38
  msgstr ""
39
 
40
+ #: ../includes/Classes/Helper.php:515
41
  msgid "Select Ninja Form"
42
  msgstr ""
43
 
44
+ #: ../includes/Classes/Helper.php:541
45
  msgid "Select Caldera Form"
46
  msgstr ""
47
 
48
+ #: ../includes/Classes/Helper.php:571
49
  msgid "Select a WPForm"
50
  msgstr ""
51
 
61
  msgid "Install Now!"
62
  msgstr ""
63
 
64
+ #: ../includes/Classes/WPDeveloper_Plugin_Installer.php:151, ../includes/Classes/WPDeveloper_Plugin_Installer.php:169, ../includes/Classes/WPDeveloper_Plugin_Installer.php:187, ../includes/Classes/WPDeveloper_Setup_Wizard.php:517, ../includes/Classes/WPDeveloper_Setup_Wizard.php:543, ../includes/Traits/Admin.php:141, ../includes/Traits/Helper.php:845, ../includes/Traits/Library.php:158
65
  msgid "you are not allowed to do this action"
66
  msgstr ""
67
 
197
  msgid "Upgrade to PRO"
198
  msgstr ""
199
 
200
+ #: ../includes/Classes/WPDeveloper_Setup_Wizard.php:324, ../includes/Traits/Helper.php:821, ../includes/templates/admin/general.php:31
201
  msgid "Install Templately"
202
  msgstr ""
203
 
8135
  msgid "Post ID is missing"
8136
  msgstr ""
8137
 
8138
+ #: ../includes/Traits/Facebook_Feed.php:41, ../includes/Traits/Helper.php:57, ../includes/Traits/Helper.php:957, ../includes/Traits/Login_Registration.php:62, ../includes/Traits/Login_Registration.php:227, ../includes/Traits/Woo_Product_Comparable.php:2133
8139
  msgid "Widget ID is missing"
8140
  msgstr ""
8141
 
8142
+ #: ../includes/Traits/Helper.php:29, ../includes/Traits/Helper.php:929, ../includes/Traits/Login_Registration.php:79, ../includes/Traits/Login_Registration.php:200
8143
  msgid "Insecure form submitted without security token"
8144
  msgstr ""
8145
 
8146
+ #: ../includes/Traits/Helper.php:37, ../includes/Traits/Helper.php:937, ../includes/Traits/Login_Registration.php:92, ../includes/Traits/Login_Registration.php:210, ../includes/Traits/Woo_Product_Comparable.php:2170
8147
  msgid "Security token did not match"
8148
  msgstr ""
8149
 
8150
+ #: ../includes/Traits/Helper.php:47, ../includes/Traits/Helper.php:947, ../includes/Traits/Login_Registration.php:55, ../includes/Traits/Login_Registration.php:222, ../includes/Traits/Woo_Product_Comparable.php:2128
8151
  msgid "Page ID is missing"
8152
  msgstr ""
8153
 
8154
+ #: ../includes/Traits/Helper.php:67, ../includes/Traits/Helper.php:966
8155
  msgid "Widget settings are not found. Did you save the widget before using load more??"
8156
  msgstr ""
8157
 
8158
+ #: ../includes/Traits/Helper.php:207
8159
  msgid "Essential Addons for Elementor"
8160
  msgstr ""
8161
 
8162
+ #: ../includes/Traits/Helper.php:386, ../includes/Traits/Twitter_Feed.php:125
8163
  msgid "%s ago"
8164
  msgstr ""
8165
 
8166
+ #: ../includes/Traits/Helper.php:803
8167
  msgid "1,700+ Stunning Templates"
8168
  msgstr ""
8169
 
8170
+ #: ../includes/Traits/Helper.php:804
8171
  msgid "Supports Elementor & Gutenberg"
8172
  msgstr ""
8173
 
8174
+ #: ../includes/Traits/Helper.php:805
8175
  msgid "Powering up 100,000+ Websites"
8176
  msgstr ""
8177
 
8178
+ #: ../includes/Traits/Helper.php:806
8179
  msgid "Cloud Collaboration with Team"
8180
  msgstr ""
8181
 
8182
+ #: ../includes/Traits/Helper.php:815
8183
  msgid "Don’t Show This Again"
8184
  msgstr ""
8185
 
8186
+ #: ../includes/Traits/Helper.php:827
8187
  msgid "Activate Templately"
8188
  msgstr ""
8189
 
8190
+ #: ../includes/Traits/Helper.php:824
8191
  msgid "Activated Templately"
8192
  msgstr ""
8193
 
8194
+ #: ../includes/Traits/Helper.php:830
8195
  msgid "Submit"
8196
  msgstr ""
8197
 
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: elementor, elements, addons, elementor addons, elementor widget, elementor
4
  Requires at least: 5.0
5
  Tested up to: 5.9
6
  Requires PHP: 5.6
7
- Stable tag: 5.0.3
8
  License: GPLv3
9
  License URI: https://opensource.org/licenses/GPL-3.0
10
 
@@ -241,6 +241,13 @@ Your existing elements/content will work with premium version. So you won't lose
241
 
242
  == Changelog ==
243
 
 
 
 
 
 
 
 
244
  = 5.0.3 - 25/01/2022 =
245
 
246
  - Fixed: Parameter sanitization in dynamic widgets
4
  Requires at least: 5.0
5
  Tested up to: 5.9
6
  Requires PHP: 5.6
7
+ Stable tag: 5.0.4
8
  License: GPLv3
9
  License URI: https://opensource.org/licenses/GPL-3.0
10
 
241
 
242
  == Changelog ==
243
 
244
+ = 5.0.4 - 27/01/2022 =
245
+
246
+ - Improved: Sanitized template file paths for Security Enhancement
247
+ - Added: Support for new Capability Queries for WordPress 5.9
248
+ - Fixed: Elementor Popups not being triggered
249
+ - Few minor bug fixes & improvements
250
+
251
  = 5.0.3 - 25/01/2022 =
252
 
253
  - Fixed: Parameter sanitization in dynamic widgets