tab-clear-media.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. /**
  3. * Category Manipulations tab partial: Clear Media Categories.
  4. *
  5. * @package Studiou_WC_Product_Cat_Manage
  6. *
  7. * @var Studiou_WC_Product_Cat_Manage_Manipulator $manipulator
  8. */
  9. // If this file is called directly, abort.
  10. if (!defined('WPINC')) {
  11. die;
  12. }
  13. $media_categories = $manipulator->get_media_categories_with_counts();
  14. ?>
  15. <!-- Clear Media Categories Operation -->
  16. <div class="studiou-wcpcm-card">
  17. <h2><?php echo esc_html__('Clear Media Categories', 'studiou-wc-product-cat-manage'); ?></h2>
  18. <p><?php echo esc_html__('This operation allows you to permanently delete all media files from selected media categories. This action cannot be undone!', 'studiou-wc-product-cat-manage'); ?></p>
  19. <?php if (empty($media_categories)): ?>
  20. <p><em><?php echo esc_html__('No media categories found. Please install a media category plugin (e.g., Media Library Categories) to use this feature.', 'studiou-wc-product-cat-manage'); ?></em></p>
  21. <?php else: ?>
  22. <form id="studiou-wcpcm-clear-media-form" method="post" onsubmit="return false;">
  23. <table class="form-table">
  24. <tr>
  25. <th scope="row">
  26. <label for="clear_media_categories_list"><?php echo esc_html__('Select Media Categories', 'studiou-wc-product-cat-manage'); ?></label>
  27. </th>
  28. <td>
  29. <div class="studiou-wcpcm-categories-list-container">
  30. <div class="studiou-wcpcm-list-actions">
  31. <button type="button" id="studiou-wcpcm-clear-media-check-all" class="button">
  32. <?php echo esc_html__('Check All', 'studiou-wc-product-cat-manage'); ?>
  33. </button>
  34. <button type="button" id="studiou-wcpcm-clear-media-uncheck-all" class="button">
  35. <?php echo esc_html__('Uncheck All', 'studiou-wc-product-cat-manage'); ?>
  36. </button>
  37. </div>
  38. <div class="studiou-wcpcm-categories-list" id="clear_media_categories_list">
  39. <?php foreach ($media_categories as $category): ?>
  40. <label class="studiou-wcpcm-category-item">
  41. <input type="checkbox" name="media_categories[]" value="<?php echo esc_attr($category['id']); ?>">
  42. <span><?php echo esc_html($category['display_name']); ?></span>
  43. </label>
  44. <?php endforeach; ?>
  45. </div>
  46. </div>
  47. <p class="description"><?php echo esc_html__('Select the media categories from which all files will be permanently deleted.', 'studiou-wc-product-cat-manage'); ?></p>
  48. </td>
  49. </tr>
  50. </table>
  51. <div class="studiou-wcpcm-warning-message">
  52. <p><strong><?php echo esc_html__('WARNING: This operation will permanently delete all media files in the selected categories. The files will be removed from the server. This action cannot be undone!', 'studiou-wc-product-cat-manage'); ?></strong></p>
  53. </div>
  54. <div class="submit-buttons">
  55. <button type="submit" class="button button-primary button-danger" id="studiou-wcpcm-clear-media-button">
  56. <?php echo esc_html__('Delete', 'studiou-wc-product-cat-manage'); ?>
  57. </button>
  58. <span class="spinner"></span>
  59. </div>
  60. </form>
  61. <div class="studiou-wcpcm-clear-media-progress" style="display: none;">
  62. <h3><?php echo esc_html__('Deletion Progress', 'studiou-wc-product-cat-manage'); ?></h3>
  63. <div class="studiou-wcpcm-progress-bar-container">
  64. <div class="studiou-wcpcm-progress-bar" id="studiou-wcpcm-clear-media-progress-bar"></div>
  65. </div>
  66. <div class="studiou-wcpcm-progress-text" id="studiou-wcpcm-clear-media-progress-text"></div>
  67. </div>
  68. <div class="studiou-wcpcm-clear-media-results" style="display: none;">
  69. <h3><?php echo esc_html__('Deletion Results', 'studiou-wc-product-cat-manage'); ?></h3>
  70. <div id="studiou-wcpcm-clear-media-message"></div>
  71. </div>
  72. <?php endif; ?>
  73. </div>