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 | |
| 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
|
