Changeset 3441520
- Timestamp:
- 01/17/2026 09:58:12 AM (5 weeks ago)
- Location:
- marquee-addons-for-elementor
- Files:
-
- 17 edited
- 1 copied
-
assets/screenshot-2.png (modified) (previous)
-
assets/screenshot-4.png (modified) (previous)
-
assets/screenshot-7.png (modified) (previous)
-
tags/3.9.10 (copied) (copied from marquee-addons-for-elementor/trunk)
-
tags/3.9.10/assets/js/admin/admin.min.js (modified) (1 diff)
-
tags/3.9.10/base.php (modified) (1 diff)
-
tags/3.9.10/includes/widget.php (modified) (2 diffs)
-
tags/3.9.10/includes/widgets/traits/common-controls/promotional-banner.php (modified) (1 diff)
-
tags/3.9.10/languages/marquee-addons-for-elementor.pot (modified) (1 diff)
-
tags/3.9.10/marquee-addons-for-elementor.php (modified) (2 diffs)
-
tags/3.9.10/readme.txt (modified) (4 diffs)
-
trunk/assets/js/admin/admin.min.js (modified) (1 diff)
-
trunk/base.php (modified) (1 diff)
-
trunk/includes/widget.php (modified) (2 diffs)
-
trunk/includes/widgets/traits/common-controls/promotional-banner.php (modified) (1 diff)
-
trunk/languages/marquee-addons-for-elementor.pot (modified) (1 diff)
-
trunk/marquee-addons-for-elementor.php (modified) (2 diffs)
-
trunk/readme.txt (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
marquee-addons-for-elementor/tags/3.9.10/assets/js/admin/admin.min.js
r3413371 r3441520 1 (function(e){"use strict";function t(t,n="info"){e(".deensimc-notice").remove();const i=`deensimc-notice ${n}`;const s=e('<div class="'+i+'">'+t+"</div>");e("body").prepend(s);setTimeout(function(){s.fadeOut(300,function(){e(this).remove()})},3e3)}window.marqueeAddonsAdmin=window.marqueeAddonsAdmin||{};window.marqueeAddonsAdmin.showNotification=t;e(document).ready(function(){e(".deensimc-see-demo-btn").on("click",function(e){e.stopPropagation()});e(".deensimc-tab-btn").on("click",function(){const t=e(this).data("tab");e(".deensimc-tab-btn").removeClass("active");e(this).addClass("active");e(".deensimc-tab-content").removeClass("active");e("#tab-"+t).addClass("active")});e(".deensimc-widget-card").on("click",function(t){const n=e(this);if(!n.hasClass("deensimc-pro-locked")){return}const i=e(t.target);if(i.closest(".deensimc-widget-toggle").length>0||i.is("input")||i.is("label")||i.hasClass("deensimc-slider")||i.hasClass("deensimc-toggle-label")){return}const s=n.attr("data-pro-url");if(s&&s!==""&&s!=="undefined"){window.open(s,"_blank")}else{}});e(".deensimc-widget-card.pro-locked").css({cursor:"pointer",transition:"all 0.3s ease"}).attr("title","Click to upgrade to PRO");e(".deensimc-widget-card.pro-locked").hover(function(){e(this).css("transform","translateY(-2px)")},function(){e(this).css("transform","translateY(0)")});e(".deensimc-widget-card.pro-locked .deensimc-widget-toggle").on("click",function(e){e.stopPropagation()});e("#enable-all").on("click",function(){e('.deensimc-widget-card input[type="checkbox"]').each(function(){if(!e(this).is(":disabled")){e(this).prop("checked",true).trigger("change")}});t("All available widgets are enabled now","success")});e("#disable-all").on("click",function(){e('.deensimc-widget-card input[type="checkbox"]').each(function(){if(!e(this).is(":disabled")){e(this).prop("checked",false).trigger("change")}});t("All available widgets are disabled now!","info")});e(".deensimc-switch input").on("change",function(){if(e(this).is(":disabled")){return}const t=e(this).closest(".deensimc-widget-toggle").find(".deensimc-toggle-label");if(e(this).is(":checked")){t.text("Enabled").css("color","#00a32a")}else{t.text("Disabled").css("color","#d63638")}});e(".deensimc-switch input").each(function(){const t=e(this).closest(".deensimc-widget-toggle").find(".deensimc-toggle-label");if(e(this).is(":disabled")){t.text("Locked").css("color","#856404");return}if(e(this).is(":checked")){t.css("color","#00a32a")}else{t.text("Disabled").css("color","#d63638")}});e(" form").on("submit",function(t){const n=e(this).find("#submit");n.prop("disabled",true).val("Saving...")});const n=new URLSearchParams(window.location.search);if(n.get("settings-updated")==="true"){t("Settings saved successfully!","success");const e=window.location.pathname+window.location.search.replace(/[?&]settings-updated=true/,"").replace(/^&/,"?");window.history.replaceState({},"",e||window.location.pathname)}const i=function(){const t=e(".deensimc-widget-card input:checked:not(:disabled)").length;const n=e(".deensimc-widget-card input:not(:disabled)").length;if(e("#widget-count").length===0){const i=`\n <div id="widget-count" style="margin-top: 15px; color: #646970; font-size: 13px;">\n <strong>${t}</strong> of <strong>${n}</strong> available widgets enabled\n </div>\n `;e(".deensimc-description").after(i)}else{e("#widget-count").html(`<strong>${t}</strong> of <strong>${n}</strong> available widgets enabled`)}};i();e(".deensimc-widget-card input").on("change",i);e(document).on("keydown",function(t){if((t.ctrlKey||t.metaKey)&&t.which===83){t.preventDefault();e("form").submit()}});if(window.location.hash){const t=window.location.hash.substring(1);if(t==="widgets"||t==="general"){e('.deensimc-tab-btn[data-tab="'+t+'"]').click()}}e(".deensimc-tab-btn").on("click",function(){const t=e(this).data("tab");window.location.hash=t});e("form").on("submit",function(){e(".deensimc-settings-container").addClass("deensimc-loading")});let s=false;e("form input, form select, form textarea").on("change",function(){s=true});e("form").on("submit",function(){s=false});e(window).on("beforeunload",function(){if(s){return"You have unsaved changes. Are you sure you want to leave?"}})});e(".deensimc-enable-category").on("click",function(){const n=e(this).data("category");e(`.deensimc-widget-card[data-category="${n}"] input[type="checkbox"]`).each(function(){if(!e(this).is(":disabled")){e(this).prop("checked",true).trigger("change")}});t(`All ${n} items enabled successfully!`,"success")});e(".deensimc-disable-category").on("click",function(){const n=e(this).data("category");e(`.deensimc-widget-card[data-category="${n}"] input[type="checkbox"]`).each(function(){if(!e(this).is(":disabled")){e(this).prop("checked",false).trigger("change")}});t(`All ${n} items disabled successfully!`,"info")})})(jQuery);1 (function(e){"use strict";function t(t,n="info"){e(".deensimc-notice").remove();const i=`deensimc-notice ${n}`;const s=e('<div class="'+i+'">'+t+"</div>");e("body").prepend(s);setTimeout(function(){s.fadeOut(300,function(){e(this).remove()})},3e3)}window.marqueeAddonsAdmin=window.marqueeAddonsAdmin||{};window.marqueeAddonsAdmin.showNotification=t;e(document).ready(function(){e(".deensimc-see-demo-btn").on("click",function(e){e.stopPropagation()});e(".deensimc-tab-btn").on("click",function(){const t=e(this).data("tab");e(".deensimc-tab-btn").removeClass("active");e(this).addClass("active");e(".deensimc-tab-content").removeClass("active");e("#tab-"+t).addClass("active")});e(".deensimc-widget-card").on("click",function(t){const n=e(this);if(!n.hasClass("deensimc-pro-locked")){return}const i=e(t.target);if(i.closest(".deensimc-widget-toggle").length>0||i.is("input")||i.is("label")||i.hasClass("deensimc-slider")||i.hasClass("deensimc-toggle-label")){return}const s=n.attr("data-pro-url");if(s&&s!==""&&s!=="undefined"){window.open(s,"_blank")}else{}});e(".deensimc-widget-card.pro-locked").css({cursor:"pointer",transition:"all 0.3s ease"}).attr("title","Click to upgrade to PRO");e(".deensimc-widget-card.pro-locked").hover(function(){e(this).css("transform","translateY(-2px)")},function(){e(this).css("transform","translateY(0)")});e(".deensimc-widget-card.pro-locked .deensimc-widget-toggle").on("click",function(e){e.stopPropagation()});e("#enable-all").on("click",function(){e('.deensimc-widget-card input[type="checkbox"]').each(function(){if(!e(this).is(":disabled")){e(this).prop("checked",true).trigger("change")}});t("All available widgets are enabled now","success")});e("#disable-all").on("click",function(){e('.deensimc-widget-card input[type="checkbox"]').each(function(){if(!e(this).is(":disabled")){e(this).prop("checked",false).trigger("change")}});t("All available widgets are disabled now!","info")});e(".deensimc-switch input").on("change",function(){if(e(this).is(":disabled")){return}const t=e(this).closest(".deensimc-widget-toggle").find(".deensimc-toggle-label");if(e(this).is(":checked")){t.text("Enabled").css("color","#00a32a")}else{t.text("Disabled").css("color","#d63638")}});e(".deensimc-switch input").each(function(){const t=e(this).closest(".deensimc-widget-toggle").find(".deensimc-toggle-label");if(e(this).is(":disabled")){t.text("Locked").css("color","#856404");return}if(e(this).is(":checked")){t.css("color","#00a32a")}else{t.text("Disabled").css("color","#d63638")}});e(".deensimc-addons-settings form").on("submit",function(t){const n=e(this).find("#submit");n.prop("disabled",true).val("Saving...")});const n=new URLSearchParams(window.location.search);if(n.get("settings-updated")==="true"){t("Settings saved successfully!","success");const e=window.location.pathname+window.location.search.replace(/[?&]settings-updated=true/,"").replace(/^&/,"?");window.history.replaceState({},"",e||window.location.pathname)}const i=function(){const t=e(".deensimc-widget-card input:checked:not(:disabled)").length;const n=e(".deensimc-widget-card input:not(:disabled)").length;if(e("#widget-count").length===0){const i=`\n <div id="widget-count" style="margin-top: 15px; color: #646970; font-size: 13px;">\n <strong>${t}</strong> of <strong>${n}</strong> available widgets enabled\n </div>\n `;e(".deensimc-description").after(i)}else{e("#widget-count").html(`<strong>${t}</strong> of <strong>${n}</strong> available widgets enabled`)}};i();e(".deensimc-widget-card input").on("change",i);e(document).on("keydown",function(t){if((t.ctrlKey||t.metaKey)&&t.which===83){t.preventDefault();e("form").submit()}});if(window.location.hash){const t=window.location.hash.substring(1);if(t==="widgets"||t==="general"){e('.deensimc-tab-btn[data-tab="'+t+'"]').click()}}e(".deensimc-tab-btn").on("click",function(){const t=e(this).data("tab");window.location.hash=t});e("form").on("submit",function(){e(".deensimc-settings-container").addClass("deensimc-loading")});let s=false;e("form input, form select, form textarea").on("change",function(){s=true});e("form").on("submit",function(){s=false});e(window).on("beforeunload",function(){if(s){return"You have unsaved changes. Are you sure you want to leave?"}})});e(".deensimc-enable-category").on("click",function(){const n=e(this).data("category");e(`.deensimc-widget-card[data-category="${n}"] input[type="checkbox"]`).each(function(){if(!e(this).is(":disabled")){e(this).prop("checked",true).trigger("change")}});t(`All ${n} items enabled successfully!`,"success")});e(".deensimc-disable-category").on("click",function(){const n=e(this).data("category");e(`.deensimc-widget-card[data-category="${n}"] input[type="checkbox"]`).each(function(){if(!e(this).is(":disabled")){e(this).prop("checked",false).trigger("change")}});t(`All ${n} items disabled successfully!`,"info")})})(jQuery); -
marquee-addons-for-elementor/tags/3.9.10/base.php
r3440271 r3441520 6 6 { 7 7 private static $_instance = null; 8 const VERSION = '3.9. 9';8 const VERSION = '3.9.10'; 9 9 10 10 public function __construct() -
marquee-addons-for-elementor/tags/3.9.10/includes/widget.php
r3440271 r3441520 9 9 use Deensimcpro_Promo; 10 10 11 const VERSION = '3.9. 9';11 const VERSION = '3.9.10'; 12 12 const MINIMUM_ELEMENTOR_VERSION = '3.5.0'; 13 13 const MINIMUM_PHP_VERSION = '7.4'; … … 413 413 '<a href="%1$s" target="_blank" style="color:#e2498a; font-weight: bold;">%2$s</a>', 414 414 esc_url($pro_url), 415 __('Get Marquee Addons Pro', 'marquee-addons-for-elementor')415 __('Get Marquee Addons Pro', 'marquee-addons-for-elementor') 416 416 ); 417 417 } -
marquee-addons-for-elementor/tags/3.9.10/includes/widgets/traits/common-controls/promotional-banner.php
r3368853 r3441520 12 12 'image' => esc_url(ELEMENTOR_ASSETS_URL . 'images/go-pro.svg'), 13 13 'image_alt' => esc_attr__('Upgrade', 'marquee-addons-for-elementor'), 14 'title' => esc_html__('Get Marquee Addons Pro', 'marquee-addons-for-elementor'),15 'description' => esc_html__('Get the premium version of the Marquee Addons and grow your website capabilities.', 'marquee-addons-for-elementor'),14 'title' => esc_html__('Get Marquee Addons Pro', 'marquee-addons-for-elementor'), 15 'description' => esc_html__('Get the premium version of the Marquee Addons and grow your website capabilities.', 'marquee-addons-for-elementor'), 16 16 'upgrade_url' => esc_url('https://marqueeaddons.com/#pricing-section'), 17 17 'upgrade_text' => esc_html__('Upgrade Now', 'marquee-addons-for-elementor'), -
marquee-addons-for-elementor/tags/3.9.10/languages/marquee-addons-for-elementor.pot
r3357094 r3441520 45 45 46 46 #: widget.php:378 widgets/traits/common-controls/promotional-banner.php:15 47 msgid "Get Marquee Addons Pro"47 msgid "Get Marquee Addons Pro" 48 48 msgstr "" 49 49 -
marquee-addons-for-elementor/tags/3.9.10/marquee-addons-for-elementor.php
r3440271 r3441520 2 2 3 3 /** 4 * Plugin Name: Marquee Addons for Elementor – Advanced Elements & Modern Motion Widgets5 * Description: Marquee Addons an Elementor addon to create smooth, endless marquee carousels, showcases images, logos, or content with dynamic movement to engage visitors. It also allows you to create image accordions, stacked sliders, and text marquees.6 * Version: 3.9. 94 * Plugin Name: Marquee Addons for Elementor - Essential Motion Widgets & Templates 5 * Description: Marquee Addons an Elementor addon to create smooth, endless marquee carousels, showcases images, logos, or content with dynamic movement to engage visitors. It also allows you to create image accordions, stacked sliders, and text marquees. 6 * Version: 3.9.10 7 7 * Requires at least: 5.8 8 8 * Requires PHP: 7.4 … … 26 26 define('DEENSIMC_PATH', plugin_dir_path(__FILE__)); 27 27 define('DEENSIMC_ASSETS_URL', DEENSIMC_URL . 'assets/'); 28 define('DEENSIMC_VERSION', '3.9. 9');28 define('DEENSIMC_VERSION', '3.9.10'); 29 29 30 30 function deensimc_load_plugin_data(): void -
marquee-addons-for-elementor/tags/3.9.10/readme.txt
r3440271 r3441520 1 === Marquee Addons for Elementor – Advanced Elements & Modern Motion Widgets ===1 === Marquee Addons for Elementor - Essential Motion Widgets & Templates === 2 2 Contributors: debuggersstudio 3 3 Tags: elementor, text marquee, image marquee, video marquee, Product slider 4 4 Requires at least: 5.8 5 5 Tested up to: 6.9 6 Stable tag: 3.9. 96 Stable tag: 3.9.10 7 7 Requires PHP: 7.4 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html 10 10 11 Marquee Addons is a smooth video, text, image, and testimonial marquee carousel loop plugin for Elementor on WordPress11 Marquee Addons is a smooth video, text, image, and testimonial marquee carousel loop plugin for Elementor on WordPress 12 12 13 13 == Description == 14 14 15 Marquee Addons makes it easy to add smooth marquee effects for text, button, images, testimonials, videos, and cards to websites built with Elementor. It helps you create a continuous smooth scrolling loop for your content. You can customize the direction to scroll left, right, top, or bottom, either horizontally or vertically. With flexible options, it provides a smooth and user-friendly experience for your visitors while keeping your site looking modern and functional.15 Marquee Addons makes it easy to add smooth marquee effects for text, button, images, testimonials, videos, and cards to websites built with Elementor. It helps you create a continuous smooth scrolling loop for your content. You can customize the direction to scroll left, right, top, or bottom, either horizontally or vertically. With flexible options, it provides a smooth and user-friendly experience for your visitors while keeping your site looking modern and functional. 16 16 17 17 [youtube https://youtu.be/CmW0U8Ij8o0?si=FEjPCccSyR3Om0K1] … … 69 69 ## PRO WIDGETS – UNLOCK ADVANCED CAPABILITIES: 70 70 71 Marquee Addons Pro brings smooth marquee effects and motion design widgets to Elementor. Create advanced scrolling text, Media, testimonials, videos, 3D effect, cards, posts, products, and more in endless loops. Whether you are a designer, an agency, or a store owner, MarqueeAddons Pro helps you Make your71 Marquee Addons Pro brings smooth marquee effects and motion design widgets to Elementor. Create advanced scrolling text, Media, testimonials, videos, 3D effect, cards, posts, products, and more in endless loops. Whether you are a designer, an agency, or a store owner, MarqueeAddons Pro helps you Make your 72 72 Elementor Websites Look 10x Better | Modern | Creative | Beautiful | Awesome 73 73 … … 171 171 172 172 * **Custom CSS (Pro)**: Add your own CSS to any marquee for complete design freedom. Fine-tune layouts, animations, and styles beyond the default options to match your site exactly the way you want. 173 174 * **Dynamic Tags (Pro)**: Integrate built‑in dynamic tags into the marquee widget, so pre‑created dynamic content (like titles, fields, etc.) can be inserted and displayed automatically. 173 175 174 176 ## Design & Performance Tips: … … 261 263 == Changelog == 262 264 265 = 3.9.10 - 2026-01-17 = 266 - Fix: Adjust form submit handling with prefix class 267 263 268 = 3.9.9 - 2026-01-15 = 264 269 - New: Added title hover color in News Ticker Widget. -
marquee-addons-for-elementor/trunk/assets/js/admin/admin.min.js
r3413371 r3441520 1 (function(e){"use strict";function t(t,n="info"){e(".deensimc-notice").remove();const i=`deensimc-notice ${n}`;const s=e('<div class="'+i+'">'+t+"</div>");e("body").prepend(s);setTimeout(function(){s.fadeOut(300,function(){e(this).remove()})},3e3)}window.marqueeAddonsAdmin=window.marqueeAddonsAdmin||{};window.marqueeAddonsAdmin.showNotification=t;e(document).ready(function(){e(".deensimc-see-demo-btn").on("click",function(e){e.stopPropagation()});e(".deensimc-tab-btn").on("click",function(){const t=e(this).data("tab");e(".deensimc-tab-btn").removeClass("active");e(this).addClass("active");e(".deensimc-tab-content").removeClass("active");e("#tab-"+t).addClass("active")});e(".deensimc-widget-card").on("click",function(t){const n=e(this);if(!n.hasClass("deensimc-pro-locked")){return}const i=e(t.target);if(i.closest(".deensimc-widget-toggle").length>0||i.is("input")||i.is("label")||i.hasClass("deensimc-slider")||i.hasClass("deensimc-toggle-label")){return}const s=n.attr("data-pro-url");if(s&&s!==""&&s!=="undefined"){window.open(s,"_blank")}else{}});e(".deensimc-widget-card.pro-locked").css({cursor:"pointer",transition:"all 0.3s ease"}).attr("title","Click to upgrade to PRO");e(".deensimc-widget-card.pro-locked").hover(function(){e(this).css("transform","translateY(-2px)")},function(){e(this).css("transform","translateY(0)")});e(".deensimc-widget-card.pro-locked .deensimc-widget-toggle").on("click",function(e){e.stopPropagation()});e("#enable-all").on("click",function(){e('.deensimc-widget-card input[type="checkbox"]').each(function(){if(!e(this).is(":disabled")){e(this).prop("checked",true).trigger("change")}});t("All available widgets are enabled now","success")});e("#disable-all").on("click",function(){e('.deensimc-widget-card input[type="checkbox"]').each(function(){if(!e(this).is(":disabled")){e(this).prop("checked",false).trigger("change")}});t("All available widgets are disabled now!","info")});e(".deensimc-switch input").on("change",function(){if(e(this).is(":disabled")){return}const t=e(this).closest(".deensimc-widget-toggle").find(".deensimc-toggle-label");if(e(this).is(":checked")){t.text("Enabled").css("color","#00a32a")}else{t.text("Disabled").css("color","#d63638")}});e(".deensimc-switch input").each(function(){const t=e(this).closest(".deensimc-widget-toggle").find(".deensimc-toggle-label");if(e(this).is(":disabled")){t.text("Locked").css("color","#856404");return}if(e(this).is(":checked")){t.css("color","#00a32a")}else{t.text("Disabled").css("color","#d63638")}});e(" form").on("submit",function(t){const n=e(this).find("#submit");n.prop("disabled",true).val("Saving...")});const n=new URLSearchParams(window.location.search);if(n.get("settings-updated")==="true"){t("Settings saved successfully!","success");const e=window.location.pathname+window.location.search.replace(/[?&]settings-updated=true/,"").replace(/^&/,"?");window.history.replaceState({},"",e||window.location.pathname)}const i=function(){const t=e(".deensimc-widget-card input:checked:not(:disabled)").length;const n=e(".deensimc-widget-card input:not(:disabled)").length;if(e("#widget-count").length===0){const i=`\n <div id="widget-count" style="margin-top: 15px; color: #646970; font-size: 13px;">\n <strong>${t}</strong> of <strong>${n}</strong> available widgets enabled\n </div>\n `;e(".deensimc-description").after(i)}else{e("#widget-count").html(`<strong>${t}</strong> of <strong>${n}</strong> available widgets enabled`)}};i();e(".deensimc-widget-card input").on("change",i);e(document).on("keydown",function(t){if((t.ctrlKey||t.metaKey)&&t.which===83){t.preventDefault();e("form").submit()}});if(window.location.hash){const t=window.location.hash.substring(1);if(t==="widgets"||t==="general"){e('.deensimc-tab-btn[data-tab="'+t+'"]').click()}}e(".deensimc-tab-btn").on("click",function(){const t=e(this).data("tab");window.location.hash=t});e("form").on("submit",function(){e(".deensimc-settings-container").addClass("deensimc-loading")});let s=false;e("form input, form select, form textarea").on("change",function(){s=true});e("form").on("submit",function(){s=false});e(window).on("beforeunload",function(){if(s){return"You have unsaved changes. Are you sure you want to leave?"}})});e(".deensimc-enable-category").on("click",function(){const n=e(this).data("category");e(`.deensimc-widget-card[data-category="${n}"] input[type="checkbox"]`).each(function(){if(!e(this).is(":disabled")){e(this).prop("checked",true).trigger("change")}});t(`All ${n} items enabled successfully!`,"success")});e(".deensimc-disable-category").on("click",function(){const n=e(this).data("category");e(`.deensimc-widget-card[data-category="${n}"] input[type="checkbox"]`).each(function(){if(!e(this).is(":disabled")){e(this).prop("checked",false).trigger("change")}});t(`All ${n} items disabled successfully!`,"info")})})(jQuery);1 (function(e){"use strict";function t(t,n="info"){e(".deensimc-notice").remove();const i=`deensimc-notice ${n}`;const s=e('<div class="'+i+'">'+t+"</div>");e("body").prepend(s);setTimeout(function(){s.fadeOut(300,function(){e(this).remove()})},3e3)}window.marqueeAddonsAdmin=window.marqueeAddonsAdmin||{};window.marqueeAddonsAdmin.showNotification=t;e(document).ready(function(){e(".deensimc-see-demo-btn").on("click",function(e){e.stopPropagation()});e(".deensimc-tab-btn").on("click",function(){const t=e(this).data("tab");e(".deensimc-tab-btn").removeClass("active");e(this).addClass("active");e(".deensimc-tab-content").removeClass("active");e("#tab-"+t).addClass("active")});e(".deensimc-widget-card").on("click",function(t){const n=e(this);if(!n.hasClass("deensimc-pro-locked")){return}const i=e(t.target);if(i.closest(".deensimc-widget-toggle").length>0||i.is("input")||i.is("label")||i.hasClass("deensimc-slider")||i.hasClass("deensimc-toggle-label")){return}const s=n.attr("data-pro-url");if(s&&s!==""&&s!=="undefined"){window.open(s,"_blank")}else{}});e(".deensimc-widget-card.pro-locked").css({cursor:"pointer",transition:"all 0.3s ease"}).attr("title","Click to upgrade to PRO");e(".deensimc-widget-card.pro-locked").hover(function(){e(this).css("transform","translateY(-2px)")},function(){e(this).css("transform","translateY(0)")});e(".deensimc-widget-card.pro-locked .deensimc-widget-toggle").on("click",function(e){e.stopPropagation()});e("#enable-all").on("click",function(){e('.deensimc-widget-card input[type="checkbox"]').each(function(){if(!e(this).is(":disabled")){e(this).prop("checked",true).trigger("change")}});t("All available widgets are enabled now","success")});e("#disable-all").on("click",function(){e('.deensimc-widget-card input[type="checkbox"]').each(function(){if(!e(this).is(":disabled")){e(this).prop("checked",false).trigger("change")}});t("All available widgets are disabled now!","info")});e(".deensimc-switch input").on("change",function(){if(e(this).is(":disabled")){return}const t=e(this).closest(".deensimc-widget-toggle").find(".deensimc-toggle-label");if(e(this).is(":checked")){t.text("Enabled").css("color","#00a32a")}else{t.text("Disabled").css("color","#d63638")}});e(".deensimc-switch input").each(function(){const t=e(this).closest(".deensimc-widget-toggle").find(".deensimc-toggle-label");if(e(this).is(":disabled")){t.text("Locked").css("color","#856404");return}if(e(this).is(":checked")){t.css("color","#00a32a")}else{t.text("Disabled").css("color","#d63638")}});e(".deensimc-addons-settings form").on("submit",function(t){const n=e(this).find("#submit");n.prop("disabled",true).val("Saving...")});const n=new URLSearchParams(window.location.search);if(n.get("settings-updated")==="true"){t("Settings saved successfully!","success");const e=window.location.pathname+window.location.search.replace(/[?&]settings-updated=true/,"").replace(/^&/,"?");window.history.replaceState({},"",e||window.location.pathname)}const i=function(){const t=e(".deensimc-widget-card input:checked:not(:disabled)").length;const n=e(".deensimc-widget-card input:not(:disabled)").length;if(e("#widget-count").length===0){const i=`\n <div id="widget-count" style="margin-top: 15px; color: #646970; font-size: 13px;">\n <strong>${t}</strong> of <strong>${n}</strong> available widgets enabled\n </div>\n `;e(".deensimc-description").after(i)}else{e("#widget-count").html(`<strong>${t}</strong> of <strong>${n}</strong> available widgets enabled`)}};i();e(".deensimc-widget-card input").on("change",i);e(document).on("keydown",function(t){if((t.ctrlKey||t.metaKey)&&t.which===83){t.preventDefault();e("form").submit()}});if(window.location.hash){const t=window.location.hash.substring(1);if(t==="widgets"||t==="general"){e('.deensimc-tab-btn[data-tab="'+t+'"]').click()}}e(".deensimc-tab-btn").on("click",function(){const t=e(this).data("tab");window.location.hash=t});e("form").on("submit",function(){e(".deensimc-settings-container").addClass("deensimc-loading")});let s=false;e("form input, form select, form textarea").on("change",function(){s=true});e("form").on("submit",function(){s=false});e(window).on("beforeunload",function(){if(s){return"You have unsaved changes. Are you sure you want to leave?"}})});e(".deensimc-enable-category").on("click",function(){const n=e(this).data("category");e(`.deensimc-widget-card[data-category="${n}"] input[type="checkbox"]`).each(function(){if(!e(this).is(":disabled")){e(this).prop("checked",true).trigger("change")}});t(`All ${n} items enabled successfully!`,"success")});e(".deensimc-disable-category").on("click",function(){const n=e(this).data("category");e(`.deensimc-widget-card[data-category="${n}"] input[type="checkbox"]`).each(function(){if(!e(this).is(":disabled")){e(this).prop("checked",false).trigger("change")}});t(`All ${n} items disabled successfully!`,"info")})})(jQuery); -
marquee-addons-for-elementor/trunk/base.php
r3440271 r3441520 6 6 { 7 7 private static $_instance = null; 8 const VERSION = '3.9. 9';8 const VERSION = '3.9.10'; 9 9 10 10 public function __construct() -
marquee-addons-for-elementor/trunk/includes/widget.php
r3440271 r3441520 9 9 use Deensimcpro_Promo; 10 10 11 const VERSION = '3.9. 9';11 const VERSION = '3.9.10'; 12 12 const MINIMUM_ELEMENTOR_VERSION = '3.5.0'; 13 13 const MINIMUM_PHP_VERSION = '7.4'; … … 413 413 '<a href="%1$s" target="_blank" style="color:#e2498a; font-weight: bold;">%2$s</a>', 414 414 esc_url($pro_url), 415 __('Get Marquee Addons Pro', 'marquee-addons-for-elementor')415 __('Get Marquee Addons Pro', 'marquee-addons-for-elementor') 416 416 ); 417 417 } -
marquee-addons-for-elementor/trunk/includes/widgets/traits/common-controls/promotional-banner.php
r3368853 r3441520 12 12 'image' => esc_url(ELEMENTOR_ASSETS_URL . 'images/go-pro.svg'), 13 13 'image_alt' => esc_attr__('Upgrade', 'marquee-addons-for-elementor'), 14 'title' => esc_html__('Get Marquee Addons Pro', 'marquee-addons-for-elementor'),15 'description' => esc_html__('Get the premium version of the Marquee Addons and grow your website capabilities.', 'marquee-addons-for-elementor'),14 'title' => esc_html__('Get Marquee Addons Pro', 'marquee-addons-for-elementor'), 15 'description' => esc_html__('Get the premium version of the Marquee Addons and grow your website capabilities.', 'marquee-addons-for-elementor'), 16 16 'upgrade_url' => esc_url('https://marqueeaddons.com/#pricing-section'), 17 17 'upgrade_text' => esc_html__('Upgrade Now', 'marquee-addons-for-elementor'), -
marquee-addons-for-elementor/trunk/languages/marquee-addons-for-elementor.pot
r3357094 r3441520 45 45 46 46 #: widget.php:378 widgets/traits/common-controls/promotional-banner.php:15 47 msgid "Get Marquee Addons Pro"47 msgid "Get Marquee Addons Pro" 48 48 msgstr "" 49 49 -
marquee-addons-for-elementor/trunk/marquee-addons-for-elementor.php
r3440271 r3441520 2 2 3 3 /** 4 * Plugin Name: Marquee Addons for Elementor – Advanced Elements & Modern Motion Widgets5 * Description: Marquee Addons an Elementor addon to create smooth, endless marquee carousels, showcases images, logos, or content with dynamic movement to engage visitors. It also allows you to create image accordions, stacked sliders, and text marquees.6 * Version: 3.9. 94 * Plugin Name: Marquee Addons for Elementor - Essential Motion Widgets & Templates 5 * Description: Marquee Addons an Elementor addon to create smooth, endless marquee carousels, showcases images, logos, or content with dynamic movement to engage visitors. It also allows you to create image accordions, stacked sliders, and text marquees. 6 * Version: 3.9.10 7 7 * Requires at least: 5.8 8 8 * Requires PHP: 7.4 … … 26 26 define('DEENSIMC_PATH', plugin_dir_path(__FILE__)); 27 27 define('DEENSIMC_ASSETS_URL', DEENSIMC_URL . 'assets/'); 28 define('DEENSIMC_VERSION', '3.9. 9');28 define('DEENSIMC_VERSION', '3.9.10'); 29 29 30 30 function deensimc_load_plugin_data(): void -
marquee-addons-for-elementor/trunk/readme.txt
r3440271 r3441520 1 === Marquee Addons for Elementor – Advanced Elements & Modern Motion Widgets ===1 === Marquee Addons for Elementor - Essential Motion Widgets & Templates === 2 2 Contributors: debuggersstudio 3 3 Tags: elementor, text marquee, image marquee, video marquee, Product slider 4 4 Requires at least: 5.8 5 5 Tested up to: 6.9 6 Stable tag: 3.9. 96 Stable tag: 3.9.10 7 7 Requires PHP: 7.4 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html 10 10 11 Marquee Addons is a smooth video, text, image, and testimonial marquee carousel loop plugin for Elementor on WordPress11 Marquee Addons is a smooth video, text, image, and testimonial marquee carousel loop plugin for Elementor on WordPress 12 12 13 13 == Description == 14 14 15 Marquee Addons makes it easy to add smooth marquee effects for text, button, images, testimonials, videos, and cards to websites built with Elementor. It helps you create a continuous smooth scrolling loop for your content. You can customize the direction to scroll left, right, top, or bottom, either horizontally or vertically. With flexible options, it provides a smooth and user-friendly experience for your visitors while keeping your site looking modern and functional.15 Marquee Addons makes it easy to add smooth marquee effects for text, button, images, testimonials, videos, and cards to websites built with Elementor. It helps you create a continuous smooth scrolling loop for your content. You can customize the direction to scroll left, right, top, or bottom, either horizontally or vertically. With flexible options, it provides a smooth and user-friendly experience for your visitors while keeping your site looking modern and functional. 16 16 17 17 [youtube https://youtu.be/CmW0U8Ij8o0?si=FEjPCccSyR3Om0K1] … … 69 69 ## PRO WIDGETS – UNLOCK ADVANCED CAPABILITIES: 70 70 71 Marquee Addons Pro brings smooth marquee effects and motion design widgets to Elementor. Create advanced scrolling text, Media, testimonials, videos, 3D effect, cards, posts, products, and more in endless loops. Whether you are a designer, an agency, or a store owner, MarqueeAddons Pro helps you Make your71 Marquee Addons Pro brings smooth marquee effects and motion design widgets to Elementor. Create advanced scrolling text, Media, testimonials, videos, 3D effect, cards, posts, products, and more in endless loops. Whether you are a designer, an agency, or a store owner, MarqueeAddons Pro helps you Make your 72 72 Elementor Websites Look 10x Better | Modern | Creative | Beautiful | Awesome 73 73 … … 171 171 172 172 * **Custom CSS (Pro)**: Add your own CSS to any marquee for complete design freedom. Fine-tune layouts, animations, and styles beyond the default options to match your site exactly the way you want. 173 174 * **Dynamic Tags (Pro)**: Integrate built‑in dynamic tags into the marquee widget, so pre‑created dynamic content (like titles, fields, etc.) can be inserted and displayed automatically. 173 175 174 176 ## Design & Performance Tips: … … 261 263 == Changelog == 262 264 265 = 3.9.10 - 2026-01-17 = 266 - Fix: Adjust form submit handling with prefix class 267 263 268 = 3.9.9 - 2026-01-15 = 264 269 - New: Added title hover color in News Ticker Widget.
Note: See TracChangeset
for help on using the changeset viewer.