Changeset 3450705
- Timestamp:
- 01/30/2026 08:45:42 PM (3 weeks ago)
- Location:
- blaminhor-essentials
- Files:
-
- 98 added
- 4 edited
-
tags/1.4.5 (added)
-
tags/1.4.5/assets (added)
-
tags/1.4.5/assets/css (added)
-
tags/1.4.5/assets/css/admin.css (added)
-
tags/1.4.5/assets/css/admin.min.css (added)
-
tags/1.4.5/assets/css/index.php (added)
-
tags/1.4.5/assets/css/modules.css (added)
-
tags/1.4.5/assets/images (added)
-
tags/1.4.5/assets/index.php (added)
-
tags/1.4.5/assets/js (added)
-
tags/1.4.5/assets/js/admin.js (added)
-
tags/1.4.5/assets/js/admin.min.js (added)
-
tags/1.4.5/assets/js/index.php (added)
-
tags/1.4.5/assets/js/modules.js (added)
-
tags/1.4.5/blaminhor-essentials.php (added)
-
tags/1.4.5/includes (added)
-
tags/1.4.5/includes/class-blaminhor-essentials-admin.php (added)
-
tags/1.4.5/includes/class-blaminhor-essentials-module.php (added)
-
tags/1.4.5/includes/functions.php (added)
-
tags/1.4.5/includes/index.php (added)
-
tags/1.4.5/index.php (added)
-
tags/1.4.5/languages (added)
-
tags/1.4.5/languages/blaminhor-essentials-de_DE.mo (added)
-
tags/1.4.5/languages/blaminhor-essentials-de_DE.po (added)
-
tags/1.4.5/languages/blaminhor-essentials-es_ES.mo (added)
-
tags/1.4.5/languages/blaminhor-essentials-es_ES.po (added)
-
tags/1.4.5/languages/blaminhor-essentials-fr_FR.mo (added)
-
tags/1.4.5/languages/blaminhor-essentials-fr_FR.po (added)
-
tags/1.4.5/languages/blaminhor-essentials-id_ID.mo (added)
-
tags/1.4.5/languages/blaminhor-essentials-id_ID.po (added)
-
tags/1.4.5/languages/blaminhor-essentials-it_IT.mo (added)
-
tags/1.4.5/languages/blaminhor-essentials-it_IT.po (added)
-
tags/1.4.5/languages/blaminhor-essentials-ja.mo (added)
-
tags/1.4.5/languages/blaminhor-essentials-ja.po (added)
-
tags/1.4.5/languages/blaminhor-essentials-nl_NL.mo (added)
-
tags/1.4.5/languages/blaminhor-essentials-nl_NL.po (added)
-
tags/1.4.5/languages/blaminhor-essentials-pt_BR.mo (added)
-
tags/1.4.5/languages/blaminhor-essentials-pt_BR.po (added)
-
tags/1.4.5/languages/blaminhor-essentials-pt_PT.mo (added)
-
tags/1.4.5/languages/blaminhor-essentials-pt_PT.po (added)
-
tags/1.4.5/languages/blaminhor-essentials-ru_RU.mo (added)
-
tags/1.4.5/languages/blaminhor-essentials-ru_RU.po (added)
-
tags/1.4.5/languages/blaminhor-essentials-tr_TR.mo (added)
-
tags/1.4.5/languages/blaminhor-essentials-tr_TR.po (added)
-
tags/1.4.5/languages/blaminhor-essentials.pot (added)
-
tags/1.4.5/languages/index.php (added)
-
tags/1.4.5/modules (added)
-
tags/1.4.5/modules/backup (added)
-
tags/1.4.5/modules/backup/class-module-backup.php (added)
-
tags/1.4.5/modules/backup/index.php (added)
-
tags/1.4.5/modules/broken-links (added)
-
tags/1.4.5/modules/broken-links/class-module-broken-links.php (added)
-
tags/1.4.5/modules/broken-links/index.php (added)
-
tags/1.4.5/modules/classic-editor (added)
-
tags/1.4.5/modules/classic-editor/class-module-classic-editor.php (added)
-
tags/1.4.5/modules/db-optimizer (added)
-
tags/1.4.5/modules/db-optimizer/class-module-db-optimizer.php (added)
-
tags/1.4.5/modules/db-optimizer/index.php (added)
-
tags/1.4.5/modules/domain-changer (added)
-
tags/1.4.5/modules/domain-changer/class-module-domain-changer.php (added)
-
tags/1.4.5/modules/domain-changer/index.php (added)
-
tags/1.4.5/modules/duplicator (added)
-
tags/1.4.5/modules/duplicator/class-module-duplicator.php (added)
-
tags/1.4.5/modules/duplicator/index.php (added)
-
tags/1.4.5/modules/duplicator/views (added)
-
tags/1.4.5/modules/fatal-error-recovery (added)
-
tags/1.4.5/modules/fatal-error-recovery/class-module-fatal-error-recovery.php (added)
-
tags/1.4.5/modules/favicon (added)
-
tags/1.4.5/modules/favicon/class-module-favicon.php (added)
-
tags/1.4.5/modules/favicon/index.php (added)
-
tags/1.4.5/modules/https-redirect (added)
-
tags/1.4.5/modules/https-redirect/class-module-https-redirect.php (added)
-
tags/1.4.5/modules/https-redirect/index.php (added)
-
tags/1.4.5/modules/image-sizes (added)
-
tags/1.4.5/modules/image-sizes/class-module-image-sizes.php (added)
-
tags/1.4.5/modules/image-sizes/index.php (added)
-
tags/1.4.5/modules/index.php (added)
-
tags/1.4.5/modules/maintenance (added)
-
tags/1.4.5/modules/maintenance/class-module-maintenance.php (added)
-
tags/1.4.5/modules/maintenance/index.php (added)
-
tags/1.4.5/modules/mute-core-emails (added)
-
tags/1.4.5/modules/mute-core-emails/class-module-mute-core-emails.php (added)
-
tags/1.4.5/modules/mute-core-emails/index.php (added)
-
tags/1.4.5/modules/post-types-order (added)
-
tags/1.4.5/modules/post-types-order/class-module-post-types-order.php (added)
-
tags/1.4.5/modules/post-types-order/index.php (added)
-
tags/1.4.5/modules/redirections (added)
-
tags/1.4.5/modules/redirections/class-module-redirections.php (added)
-
tags/1.4.5/modules/redirections/index.php (added)
-
tags/1.4.5/modules/seo-manager (added)
-
tags/1.4.5/modules/seo-manager/class-module-seo-manager.php (added)
-
tags/1.4.5/modules/seo-manager/index.php (added)
-
tags/1.4.5/modules/smtp (added)
-
tags/1.4.5/modules/smtp/class-module-smtp.php (added)
-
tags/1.4.5/modules/smtp/index.php (added)
-
tags/1.4.5/modules/smtp/views (added)
-
tags/1.4.5/readme.txt (added)
-
tags/1.4.5/uninstall.php (added)
-
trunk/assets/js/modules.js (modified) (2 diffs)
-
trunk/blaminhor-essentials.php (modified) (2 diffs)
-
trunk/modules/backup/class-module-backup.php (modified) (2 diffs)
-
trunk/readme.txt (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
blaminhor-essentials/trunk/assets/js/modules.js
r3450526 r3450705 1463 1463 downloadBackupArchives: function(archives) { 1464 1464 var self = this; 1465 var index = 0; 1466 1467 function downloadNext() { 1468 if (index >= archives.length) { 1469 return; 1470 } 1471 var filename = archives[index]; 1472 index++; 1465 var urls = []; 1466 var loaded = 0; 1467 1468 // Step 1: Fetch all download URLs in parallel. 1469 $.each(archives, function(i, filename) { 1473 1470 $.post(self.ajaxurl, { 1474 1471 action: 'ap_backup_download', … … 1477 1474 }, function(response) { 1478 1475 if (response.success) { 1479 var $iframe = $('<iframe>', { src: response.data.url }).hide().appendTo('body'); 1480 setTimeout(function() { 1481 $iframe.remove(); 1482 downloadNext(); 1483 }, 300); 1484 } else { 1485 alert(response.data); 1476 urls[i] = response.data.url; 1477 } 1478 loaded++; 1479 if (loaded === archives.length) { 1480 triggerDownloads(); 1486 1481 } 1487 1482 }); 1488 } 1489 1490 downloadNext(); 1483 }); 1484 1485 // Step 2: Trigger downloads sequentially via window.location.href. 1486 function triggerDownloads() { 1487 var index = 0; 1488 function next() { 1489 if (index >= urls.length) { 1490 return; 1491 } 1492 if (urls[index]) { 1493 window.location.href = urls[index]; 1494 } 1495 index++; 1496 if (index < urls.length) { 1497 setTimeout(next, 1500); 1498 } 1499 } 1500 next(); 1501 } 1491 1502 }, 1492 1503 -
blaminhor-essentials/trunk/blaminhor-essentials.php
r3450526 r3450705 4 4 * Plugin URI: https://wp.blaminhor.com/ 5 5 * Description: A modular toolkit for WordPress with activatable features. Lightweight, secure, and reliable. 6 * Version: 1.4. 46 * Version: 1.4.5 7 7 * Requires at least: 6.2 8 8 * Requires PHP: 7.4 … … 23 23 24 24 // Plugin constants 25 define('BLAMINHOR_ESSENTIALS_VERSION', '1.4. 4');25 define('BLAMINHOR_ESSENTIALS_VERSION', '1.4.5'); 26 26 define('BLAMINHOR_ESSENTIALS_PLUGIN_FILE', __FILE__); 27 27 define('BLAMINHOR_ESSENTIALS_PLUGIN_DIR', plugin_dir_path(__FILE__)); -
blaminhor-essentials/trunk/modules/backup/class-module-backup.php
r3450526 r3450705 1968 1968 <tbody> 1969 1969 <?php foreach ( $backups as $backup ) : ?> 1970 <tr data-prefix="<?php echo esc_attr( $backup['prefix'] ); ?>" data-type="<?php echo esc_attr( $backup['type'] ); ?>" data-size="<?php echo esc_attr( $backup['total_size'] ); ?>" data-date="<?php echo esc_attr( $backup['date'] ); ?>" data-archives="<?php echo esc_attr( wp_json_encode( array_map( 'basename', $backup['archives']) ) ); ?>">1970 <tr data-prefix="<?php echo esc_attr( $backup['prefix'] ); ?>" data-type="<?php echo esc_attr( $backup['type'] ); ?>" data-size="<?php echo esc_attr( $backup['total_size'] ); ?>" data-date="<?php echo esc_attr( $backup['date'] ); ?>" data-archives="<?php echo esc_attr( wp_json_encode( wp_list_pluck( $backup['archives'], 'filename' ) ) ); ?>"> 1971 1971 <td> 1972 1972 <code style="font-size: 12px;"><?php echo esc_html( $backup['prefix'] ); ?></code> … … 2515 2515 <tbody> 2516 2516 <?php foreach ( $backups as $backup ) : ?> 2517 <tr data-prefix="<?php echo esc_attr( $backup['prefix'] ); ?>" data-type="<?php echo esc_attr( $backup['type'] ); ?>" data-size="<?php echo esc_attr( $backup['total_size'] ); ?>" data-date="<?php echo esc_attr( $backup['date'] ); ?>" data-archives="<?php echo esc_attr( wp_json_encode( array_map( 'basename', $backup['archives']) ) ); ?>">2517 <tr data-prefix="<?php echo esc_attr( $backup['prefix'] ); ?>" data-type="<?php echo esc_attr( $backup['type'] ); ?>" data-size="<?php echo esc_attr( $backup['total_size'] ); ?>" data-date="<?php echo esc_attr( $backup['date'] ); ?>" data-archives="<?php echo esc_attr( wp_json_encode( wp_list_pluck( $backup['archives'], 'filename' ) ) ); ?>"> 2518 2518 <td style="text-align: center;"><input type="checkbox" class="ap-backup-checkbox" value="<?php echo esc_attr( $backup['prefix'] ); ?>"></td> 2519 2519 <td> -
blaminhor-essentials/trunk/readme.txt
r3450526 r3450705 5 5 Tested up to: 6.9 6 6 Requires PHP: 7.4 7 Stable tag: 1.4. 47 Stable tag: 1.4.5 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 203 203 204 204 == Changelog == 205 206 = 1.4.5 = 207 * Fixed: Backup module - Download button now works correctly on all server configurations (PHP 8+ fatal error fix). 208 * Fixed: Backup module - Multi-archive backups now download all files instead of only the first one. 205 209 206 210 = 1.4.4 = … … 322 326 == Upgrade Notice == 323 327 328 = 1.4.5 = 329 Fixed Download button crash on PHP 8+ and multi-archive download support. 330 324 331 = 1.4.4 = 325 332 Backup module now includes a Download button to save backup archives directly to your computer.
Note: See TracChangeset
for help on using the changeset viewer.