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 | 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 +1 -1
- assets/front-end/js/view/general.min.js +1 -1
- essential_adons_elementor.php +2 -2
- includes/Classes/Helper.php +22 -15
- includes/Traits/Helper.php +33 -11
- languages/essential-addons-for-elementor-lite.pot +24 -24
- readme.txt +8 -1
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
|
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("#"))
|
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.
|
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.
|
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 |
-
|
340 |
-
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
346 |
-
|
347 |
-
|
348 |
-
|
|
|
|
|
|
|
|
|
|
|
349 |
|
350 |
-
|
351 |
-
return wp_list_pluck($users, 'display_name', 'ID');
|
352 |
-
}
|
353 |
|
354 |
-
|
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 |
-
$
|
121 |
} else if($template_info[ 'dir' ] === 'pro') {
|
122 |
-
$
|
123 |
} else {
|
124 |
-
$
|
125 |
}
|
126 |
|
127 |
$file_path = sprintf(
|
128 |
'%s/Template/%s/%s',
|
129 |
-
|
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 |
-
$
|
986 |
} else if($template_info[ 'dir' ] === 'pro') {
|
987 |
-
$
|
988 |
} else {
|
989 |
-
$
|
990 |
}
|
991 |
|
992 |
$file_path = sprintf(
|
993 |
'%s/Template/%s/%s',
|
994 |
-
$
|
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:
|
25 |
msgid "Select a Contact Form"
|
26 |
msgstr ""
|
27 |
|
28 |
-
#: ../includes/Classes/Helper.php:
|
29 |
msgid "Create a Form First"
|
30 |
msgstr ""
|
31 |
|
32 |
-
#: ../includes/Classes/Helper.php:
|
33 |
msgid "Select Gravity Form"
|
34 |
msgstr ""
|
35 |
|
36 |
-
#: ../includes/Classes/Helper.php:
|
37 |
msgid "Select weForm"
|
38 |
msgstr ""
|
39 |
|
40 |
-
#: ../includes/Classes/Helper.php:
|
41 |
msgid "Select Ninja Form"
|
42 |
msgstr ""
|
43 |
|
44 |
-
#: ../includes/Classes/Helper.php:
|
45 |
msgid "Select Caldera Form"
|
46 |
msgstr ""
|
47 |
|
48 |
-
#: ../includes/Classes/Helper.php:
|
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:
|
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:
|
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:
|
8139 |
msgid "Widget ID is missing"
|
8140 |
msgstr ""
|
8141 |
|
8142 |
-
#: ../includes/Traits/Helper.php:29, ../includes/Traits/Helper.php:
|
8143 |
msgid "Insecure form submitted without security token"
|
8144 |
msgstr ""
|
8145 |
|
8146 |
-
#: ../includes/Traits/Helper.php:37, ../includes/Traits/Helper.php:
|
8147 |
msgid "Security token did not match"
|
8148 |
msgstr ""
|
8149 |
|
8150 |
-
#: ../includes/Traits/Helper.php:47, ../includes/Traits/Helper.php:
|
8151 |
msgid "Page ID is missing"
|
8152 |
msgstr ""
|
8153 |
|
8154 |
-
#: ../includes/Traits/Helper.php:67, ../includes/Traits/Helper.php:
|
8155 |
msgid "Widget settings are not found. Did you save the widget before using load more??"
|
8156 |
msgstr ""
|
8157 |
|
8158 |
-
#: ../includes/Traits/Helper.php:
|
8159 |
msgid "Essential Addons for Elementor"
|
8160 |
msgstr ""
|
8161 |
|
8162 |
-
#: ../includes/Traits/Helper.php:
|
8163 |
msgid "%s ago"
|
8164 |
msgstr ""
|
8165 |
|
8166 |
-
#: ../includes/Traits/Helper.php:
|
8167 |
msgid "1,700+ Stunning Templates"
|
8168 |
msgstr ""
|
8169 |
|
8170 |
-
#: ../includes/Traits/Helper.php:
|
8171 |
msgid "Supports Elementor & Gutenberg"
|
8172 |
msgstr ""
|
8173 |
|
8174 |
-
#: ../includes/Traits/Helper.php:
|
8175 |
msgid "Powering up 100,000+ Websites"
|
8176 |
msgstr ""
|
8177 |
|
8178 |
-
#: ../includes/Traits/Helper.php:
|
8179 |
msgid "Cloud Collaboration with Team"
|
8180 |
msgstr ""
|
8181 |
|
8182 |
-
#: ../includes/Traits/Helper.php:
|
8183 |
msgid "Don’t Show This Again"
|
8184 |
msgstr ""
|
8185 |
|
8186 |
-
#: ../includes/Traits/Helper.php:
|
8187 |
msgid "Activate Templately"
|
8188 |
msgstr ""
|
8189 |
|
8190 |
-
#: ../includes/Traits/Helper.php:
|
8191 |
msgid "Activated Templately"
|
8192 |
msgstr ""
|
8193 |
|
8194 |
-
#: ../includes/Traits/Helper.php:
|
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.
|
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
|