Changeset 3491468
- Timestamp:
- 03/26/2026 06:16:22 AM (5 days ago)
- Location:
- marquee-addons-for-elementor
- Files:
-
- 2 added
- 14 edited
- 1 copied
-
tags/3.9.33 (copied) (copied from marquee-addons-for-elementor/trunk)
-
tags/3.9.33/assets/js/handle-animation-duration.min.js (modified) (1 diff)
-
tags/3.9.33/assets/js/marquee-track-fill.min.js (added)
-
tags/3.9.33/base.php (modified) (1 diff)
-
tags/3.9.33/includes/widget.php (modified) (4 diffs)
-
tags/3.9.33/includes/widgets/class-deensimc-image-marquee.php (modified) (3 diffs)
-
tags/3.9.33/includes/widgets/class-deensimc-text-marquee.php (modified) (3 diffs)
-
tags/3.9.33/marquee-addons-for-elementor.php (modified) (2 diffs)
-
tags/3.9.33/readme.txt (modified) (2 diffs)
-
trunk/assets/js/handle-animation-duration.min.js (modified) (1 diff)
-
trunk/assets/js/marquee-track-fill.min.js (added)
-
trunk/base.php (modified) (1 diff)
-
trunk/includes/widget.php (modified) (4 diffs)
-
trunk/includes/widgets/class-deensimc-image-marquee.php (modified) (3 diffs)
-
trunk/includes/widgets/class-deensimc-text-marquee.php (modified) (3 diffs)
-
trunk/marquee-addons-for-elementor.php (modified) (2 diffs)
-
trunk/readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
marquee-addons-for-elementor/tags/3.9.33/assets/js/handle-animation-duration.min.js
r3447763 r3491468 1 (function( n,e){"use strict";function t(e){const t=e.find(".deensimc-marquee-main-container");const c=e.find(".deensimc-marquee-track");const i=t.data("is-marquee-on")??true;const s=t.data("marquee-speed");const a=c.closest(".deensimc-marquee-vertical").length>0;if(i&&c.length){let e=0;c.each((n,t)=>{e+=a?t.scrollHeight:t.scrollWidth});const t=10;const i=s*t;const o=e/i;c.each((e,t)=>{n(t).css("animation-duration",`${o}s`)})}}window.handleAnimationDuration=t})(jQuery,window._);1 (function(e,n){"use strict";function t(n){if(typeof window.autoRegisterTrackFillFromScope==="function"){window.autoRegisterTrackFillFromScope(n)}const t=n.filter(".deensimc-marquee-main-container").add(n.find(".deensimc-marquee-main-container"));const i=n.filter(".deensimc-marquee-track").add(n.find(".deensimc-marquee-track"));const a=t.data("is-marquee-on")??true;const c=t.data("marquee-speed");const o=i.closest(".deensimc-marquee-vertical").length>0;if(a&&i.length){let n=0;i.each((e,t)=>{n+=o?t.scrollHeight:t.scrollWidth});const t=10;const a=c*t;const r=n/a;i.each((n,t)=>{e(t).css("animation-duration",`${r}s`)})}}window.handleAnimationDuration=t})(jQuery,window._); -
marquee-addons-for-elementor/tags/3.9.33/base.php
r3485466 r3491468 8 8 { 9 9 private static $_instance = null; 10 const VERSION = '3.9.3 2';10 const VERSION = '3.9.33'; 11 11 12 12 public function __construct() -
marquee-addons-for-elementor/tags/3.9.33/includes/widget.php
r3485466 r3491468 11 11 use Deensimcpro_Promo; 12 12 13 const VERSION = '3.9.3 2';13 const VERSION = '3.9.33'; 14 14 const MINIMUM_ELEMENTOR_VERSION = '3.5.0'; 15 15 const MINIMUM_PHP_VERSION = '7.4'; … … 173 173 // All frontend widget scripts with minification support 174 174 $scripts = [ 175 'deensimc-marquee-track-fill' => 'js/marquee-track-fill.js', 175 176 'deensimc-handle-animation-duration' => 'js/handle-animation-duration.js', 176 177 'deensimc-init-text-length-toggle' => 'js/initTextLengthToggle.js', … … 196 197 ]; 197 198 199 $script_dependencies = [ 200 'deensimc-handle-animation-duration' => ['jquery', 'deensimc-marquee-track-fill'], 201 ]; 202 198 203 foreach ($scripts as $handle => $path) { 199 204 wp_register_script( 200 205 $handle, 201 206 $this->get_asset_url($path, 'js'), 202 ['jquery'],207 $script_dependencies[$handle] ?? ['jquery'], 203 208 self::VERSION, 204 209 false … … 206 211 } 207 212 213 wp_enqueue_script('deensimc-marquee-track-fill'); 208 214 wp_enqueue_script('deensimc-handle-animation-duration'); 209 215 wp_enqueue_script('deensimc-init-text-length-toggle'); -
marquee-addons-for-elementor/tags/3.9.33/includes/widgets/class-deensimc-image-marquee.php
r3466739 r3491468 95 95 { 96 96 $images = $settings['deensimc_upload_gallery'] ?? []; 97 $required = 8;98 $count = count($images);99 100 if ($count > 0 && $count < $required) {101 $original = $images;102 // Duplicate full batches until we have at least $required103 while (count($images) < $required) {104 foreach ($original as $img) {105 $dup = $img;106 $dup['_is_dup'] = true;107 $images[] = $dup;108 }109 }110 }111 97 112 98 foreach ($images as $image) { … … 165 151 { 166 152 $settings = $this->get_settings_for_display(); 153 $widget_height = $settings['deensimc_widget_height'] ?? []; 154 $vertical_track_target = !empty($widget_height['size']) 155 ? $widget_height['size'] 156 : 60; 167 157 168 158 if (!empty($settings['deensimc_link']['url'])) { … … 193 183 } 194 184 ?> 195 <div class="deensimc-marquee-main-container deensimc-image-marquee <?php echo esc_attr(implode(' ', $conditional_class)) ?>" data-marquee-speed="<?php echo esc_attr($marquee_speed) ?>"> 185 <div class="deensimc-marquee-main-container deensimc-image-marquee <?php echo esc_attr(implode(' ', $conditional_class)) ?>" data-marquee-speed="<?php echo esc_attr($marquee_speed) ?>" data-track-fill="yes" data-track-item-selector="*" <?php echo $is_vertical 186 ? 'data-track-target-vertical="' . esc_attr($vertical_track_target) . '"' 187 : 'data-track-target-horizontal="2560"'; ?>> 196 188 <div class="deensimc-marquee-track-wrapper"> 197 189 <div class="deensimc-marquee-track"> -
marquee-addons-for-elementor/tags/3.9.33/includes/widgets/class-deensimc-text-marquee.php
r3447763 r3491468 81 81 protected function render_marquee_texts($texts, $is_vertical, $tag, $track_id) 82 82 { 83 $required = $is_vertical ? 12 : 6;84 $count = count($texts);85 if ($count > 0 && $count < $required) {86 $original = $texts;87 // Duplicate full batches until we have at least $required88 while (count($texts) < $required) {89 foreach ($original as $text) {90 $dup = $text;91 $dup['_is_dup'] = true;92 $texts[] = $dup;93 }94 }95 }96 97 83 foreach ($texts as $index => $text) { 98 84 … … 136 122 $texts = $settings['deensimc_repeater_text_main']; 137 123 $tag = self::validate_html_tag($settings['deensimc_text_marquee_tag']); 124 $widget_height = $settings['deensimc_widget_height'] ?? []; 125 $vertical_track_target = !empty($widget_height['size']) 126 ? $widget_height['size'] 127 : 60; 138 128 139 129 $is_vertical = $settings['deensimc_marquee_vertical_orientation'] === 'yes'; … … 175 165 ?>" 176 166 data-marquee-speed="<?php echo esc_attr($marquee_speed) ?>" 167 data-track-fill="yes" 168 data-track-item-selector=".deensimc-text-wrapper" 169 <?php echo $is_vertical 170 ? 'data-track-target-vertical="' . esc_attr($vertical_track_target) . '"' 171 : 'data-track-target-horizontal="2560"'; ?> 177 172 <?php echo isset($speed) && $speed ? 'style="' . esc_attr($speed) . '"' : ''; ?>> 178 173 <div class="deensimc-marquee-track-wrapper"> -
marquee-addons-for-elementor/tags/3.9.33/marquee-addons-for-elementor.php
r3485466 r3491468 5 5 * Plugin URI: https://marqueeaddons.com/ 6 6 * 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. 7 * Version: 3.9.3 27 * Version: 3.9.33 8 8 * Requires at least: 5.8 9 9 * 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.3 2');28 define('DEENSIMC_VERSION', '3.9.33'); 29 29 30 30 function deensimc_load_plugin_data(): void -
marquee-addons-for-elementor/tags/3.9.33/readme.txt
r3485466 r3491468 4 4 Requires at least: 5.8 5 5 Tested up to: 6.9 6 Stable tag: 3.9.3 26 Stable tag: 3.9.33 7 7 Requires PHP: 7.4 8 8 License: GPLv2 or later … … 266 266 == Changelog == 267 267 268 = 3.9.33 - 2026-03-26 = 269 - Fix: Prevented blank gaps in marquee tracks. 270 - Tweak: Improved track fill behavior for Text Marquee and Image Marquee. 271 268 272 = 3.9.32 - 2026-03-18 = 269 273 - Tweak: Removed unused control from the Image Marquee widget. -
marquee-addons-for-elementor/trunk/assets/js/handle-animation-duration.min.js
r3447763 r3491468 1 (function( n,e){"use strict";function t(e){const t=e.find(".deensimc-marquee-main-container");const c=e.find(".deensimc-marquee-track");const i=t.data("is-marquee-on")??true;const s=t.data("marquee-speed");const a=c.closest(".deensimc-marquee-vertical").length>0;if(i&&c.length){let e=0;c.each((n,t)=>{e+=a?t.scrollHeight:t.scrollWidth});const t=10;const i=s*t;const o=e/i;c.each((e,t)=>{n(t).css("animation-duration",`${o}s`)})}}window.handleAnimationDuration=t})(jQuery,window._);1 (function(e,n){"use strict";function t(n){if(typeof window.autoRegisterTrackFillFromScope==="function"){window.autoRegisterTrackFillFromScope(n)}const t=n.filter(".deensimc-marquee-main-container").add(n.find(".deensimc-marquee-main-container"));const i=n.filter(".deensimc-marquee-track").add(n.find(".deensimc-marquee-track"));const a=t.data("is-marquee-on")??true;const c=t.data("marquee-speed");const o=i.closest(".deensimc-marquee-vertical").length>0;if(a&&i.length){let n=0;i.each((e,t)=>{n+=o?t.scrollHeight:t.scrollWidth});const t=10;const a=c*t;const r=n/a;i.each((n,t)=>{e(t).css("animation-duration",`${r}s`)})}}window.handleAnimationDuration=t})(jQuery,window._); -
marquee-addons-for-elementor/trunk/base.php
r3485466 r3491468 8 8 { 9 9 private static $_instance = null; 10 const VERSION = '3.9.3 2';10 const VERSION = '3.9.33'; 11 11 12 12 public function __construct() -
marquee-addons-for-elementor/trunk/includes/widget.php
r3485466 r3491468 11 11 use Deensimcpro_Promo; 12 12 13 const VERSION = '3.9.3 2';13 const VERSION = '3.9.33'; 14 14 const MINIMUM_ELEMENTOR_VERSION = '3.5.0'; 15 15 const MINIMUM_PHP_VERSION = '7.4'; … … 173 173 // All frontend widget scripts with minification support 174 174 $scripts = [ 175 'deensimc-marquee-track-fill' => 'js/marquee-track-fill.js', 175 176 'deensimc-handle-animation-duration' => 'js/handle-animation-duration.js', 176 177 'deensimc-init-text-length-toggle' => 'js/initTextLengthToggle.js', … … 196 197 ]; 197 198 199 $script_dependencies = [ 200 'deensimc-handle-animation-duration' => ['jquery', 'deensimc-marquee-track-fill'], 201 ]; 202 198 203 foreach ($scripts as $handle => $path) { 199 204 wp_register_script( 200 205 $handle, 201 206 $this->get_asset_url($path, 'js'), 202 ['jquery'],207 $script_dependencies[$handle] ?? ['jquery'], 203 208 self::VERSION, 204 209 false … … 206 211 } 207 212 213 wp_enqueue_script('deensimc-marquee-track-fill'); 208 214 wp_enqueue_script('deensimc-handle-animation-duration'); 209 215 wp_enqueue_script('deensimc-init-text-length-toggle'); -
marquee-addons-for-elementor/trunk/includes/widgets/class-deensimc-image-marquee.php
r3466739 r3491468 95 95 { 96 96 $images = $settings['deensimc_upload_gallery'] ?? []; 97 $required = 8;98 $count = count($images);99 100 if ($count > 0 && $count < $required) {101 $original = $images;102 // Duplicate full batches until we have at least $required103 while (count($images) < $required) {104 foreach ($original as $img) {105 $dup = $img;106 $dup['_is_dup'] = true;107 $images[] = $dup;108 }109 }110 }111 97 112 98 foreach ($images as $image) { … … 165 151 { 166 152 $settings = $this->get_settings_for_display(); 153 $widget_height = $settings['deensimc_widget_height'] ?? []; 154 $vertical_track_target = !empty($widget_height['size']) 155 ? $widget_height['size'] 156 : 60; 167 157 168 158 if (!empty($settings['deensimc_link']['url'])) { … … 193 183 } 194 184 ?> 195 <div class="deensimc-marquee-main-container deensimc-image-marquee <?php echo esc_attr(implode(' ', $conditional_class)) ?>" data-marquee-speed="<?php echo esc_attr($marquee_speed) ?>"> 185 <div class="deensimc-marquee-main-container deensimc-image-marquee <?php echo esc_attr(implode(' ', $conditional_class)) ?>" data-marquee-speed="<?php echo esc_attr($marquee_speed) ?>" data-track-fill="yes" data-track-item-selector="*" <?php echo $is_vertical 186 ? 'data-track-target-vertical="' . esc_attr($vertical_track_target) . '"' 187 : 'data-track-target-horizontal="2560"'; ?>> 196 188 <div class="deensimc-marquee-track-wrapper"> 197 189 <div class="deensimc-marquee-track"> -
marquee-addons-for-elementor/trunk/includes/widgets/class-deensimc-text-marquee.php
r3447763 r3491468 81 81 protected function render_marquee_texts($texts, $is_vertical, $tag, $track_id) 82 82 { 83 $required = $is_vertical ? 12 : 6;84 $count = count($texts);85 if ($count > 0 && $count < $required) {86 $original = $texts;87 // Duplicate full batches until we have at least $required88 while (count($texts) < $required) {89 foreach ($original as $text) {90 $dup = $text;91 $dup['_is_dup'] = true;92 $texts[] = $dup;93 }94 }95 }96 97 83 foreach ($texts as $index => $text) { 98 84 … … 136 122 $texts = $settings['deensimc_repeater_text_main']; 137 123 $tag = self::validate_html_tag($settings['deensimc_text_marquee_tag']); 124 $widget_height = $settings['deensimc_widget_height'] ?? []; 125 $vertical_track_target = !empty($widget_height['size']) 126 ? $widget_height['size'] 127 : 60; 138 128 139 129 $is_vertical = $settings['deensimc_marquee_vertical_orientation'] === 'yes'; … … 175 165 ?>" 176 166 data-marquee-speed="<?php echo esc_attr($marquee_speed) ?>" 167 data-track-fill="yes" 168 data-track-item-selector=".deensimc-text-wrapper" 169 <?php echo $is_vertical 170 ? 'data-track-target-vertical="' . esc_attr($vertical_track_target) . '"' 171 : 'data-track-target-horizontal="2560"'; ?> 177 172 <?php echo isset($speed) && $speed ? 'style="' . esc_attr($speed) . '"' : ''; ?>> 178 173 <div class="deensimc-marquee-track-wrapper"> -
marquee-addons-for-elementor/trunk/marquee-addons-for-elementor.php
r3485466 r3491468 5 5 * Plugin URI: https://marqueeaddons.com/ 6 6 * 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. 7 * Version: 3.9.3 27 * Version: 3.9.33 8 8 * Requires at least: 5.8 9 9 * 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.3 2');28 define('DEENSIMC_VERSION', '3.9.33'); 29 29 30 30 function deensimc_load_plugin_data(): void -
marquee-addons-for-elementor/trunk/readme.txt
r3485466 r3491468 4 4 Requires at least: 5.8 5 5 Tested up to: 6.9 6 Stable tag: 3.9.3 26 Stable tag: 3.9.33 7 7 Requires PHP: 7.4 8 8 License: GPLv2 or later … … 266 266 == Changelog == 267 267 268 = 3.9.33 - 2026-03-26 = 269 - Fix: Prevented blank gaps in marquee tracks. 270 - Tweak: Improved track fill behavior for Text Marquee and Image Marquee. 271 268 272 = 3.9.32 - 2026-03-18 = 269 273 - Tweak: Removed unused control from the Image Marquee widget.
Note: See TracChangeset
for help on using the changeset viewer.