=== Media Export & Clean ===
Contributors: plixorobd
Donate link: https://plixorobd.com
Tags: export, media library, cleanup, zip, media management
Requires at least: 5.8
Tested up to: 7.0
Stable tag: 1.2.5
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Professional media management tool to export your entire WordPress Media Library to ZIP and safely clean unused orphaned files. Built for scale and speed.

== Description ==

**Media Export & Clean** is the definitive media management solution for WordPress administrators who need to export, audit, and clean their media libraries with professional-grade performance.

Unlike basic cleanup tools, this plugin is architected for large-scale WordPress installations. It handles thousands of media files effortlessly using batched processing, paginated interfaces, and memory-optimized database indexing.

The plugin operates entirely within your WordPress environment—all processing is performed locally on your server without any external API calls, tracking, or remote communication.

### Key Features

* **High-Performance Export** – Pack your entire Media Library into a secure ZIP archive using a stable, batched background process.
* **Orphaned File Detection** – Scan your `uploads` directory for files not registered in the Media Library.
* **Pagination & Global Selection** – Manage 10,000+ orphaned files smoothly with a professional paginated UI and Gmail-style global selection.
* **Memory-Optimized Engine** – Advanced database querying ensures the plugin runs efficiently even on sites with limited server resources.
* **Safe Mass Cleanup** – Delete confirmed orphaned files in safe batches with real-time progress indicators.
* **Security Hardened** – Robust path validation, nonce verification, and capability checks for 100% production safety.

### Pro Version

Unlock the full power of media management with the Pro version:

* **Cloud Export** – Directly sync exports to Google Drive or Dropbox.
* **Duplicate Detection** – Find and merge duplicate images across your site.
* **Automated Scans** – Schedule periodic cleanup audits.
* **WebP Conversion** – Modernize your library for faster loading times.
* **Priority Support** – Direct access to our lead developers.

More information:
https://plixorobd.com/product/media-export-clean-pro-plugin-official/

== Installation ==

1. Upload the `media-export-clean` folder to the `/wp-content/plugins/` directory.
2. Activate the plugin through the **Plugins** menu in WordPress.
3. Access the tools under the **Media Export** menu in your WordPress dashboard.

== Frequently Asked Questions ==

= Is this plugin safe for very large sites? =

Yes. Version 1.2.5 introduces a paginated UI and chunked database processing specifically designed for sites with thousands or tens of thousands of media files.

= Does it send my file data elsewhere? =

Absolutely not. All operations are 100% local to your server.

== Changelog ==

= 1.2.5 =

* PERFORMANCE: Implemented a professional pagination system for the Orphaned Files table, ensuring smooth handling of 10,000+ files.
* UI/UX: Added "Select All Globally" feature (Gmail-style) to easily manage large datasets.
* MEMORY: Optimized backend database queries with chunked processing (5000 records per batch) to prevent memory exhaustion on giant sites.
* SECURITY: Hardened file deletion logic with robust path verification and re-validation against the Media Library.
* RELIABILITY: Implemented batched AJAX deletion with real-time percentage-based progress indicators.

= 1.2.4 =
 
* SECURITY: Hardened AJAX output handling by transitioning from .html() to safe DOM text manipulation (DOM-XSS prevention).
* PERFORMANCE: Significantly reduced memory footprint during orphaned media scans via folder-scoped database indexing.
* DATA INTEGRITY: Hardened the uninstallation process to recursively purge image optimization backups and temporary export files.
* COMPATIBILITY: Verified support for WordPress 7.0 core structures.
* UI/UX: Refined administrative layout styles for improved visual consistency and accessibility.

= 1.2.3 =
 
* Added automatic ZIP cleanup with a 24-hour secure deletion policy.
* Refactored media export logic to use batched processing for improved stability on large websites.
* Enhanced orphaned media scanning with AJAX-based batch processing to prevent server timeouts.
* Added "Restore from Backup" functionality to the image optimization engine.
* Fixed a bug where the "Space Reclaimed" counter would reset incorrectly in the dashboard.
* Hardened security with robust path validation and sanitized filesystem operations.
* Migrated administrative inline styles to external CSS for better performance and maintainability.

= 1.2.2 =
 
* Improved security by implementing "late escaping" for all echoed variables and outputs (XSS Protection).
* Fixed unescaped `date('Y')` in the footer component.
* Fixed unescaped `number_format` and `size_format` in the image optimization dashboard.
* Standardized error messaging for better security compliance.
 
= 1.2.1 =

* Updated 'Tested up to' header to 6.9 for WordPress.org compliance.
* Migrated all plugin identifiers to the mandatory `mediexcl_` prefix for full WordPress.org compliance.
* Extracted all remaining inline JavaScript from administrative views into enqueued external files.
* Enhanced security for file deletions in the cleanup module with better path validation.
* Updated asset enqueuing logic to load scripts only on specific plugin screens.

= 1.2.0 =

* Refactored codebase to ensure 100% compliance with WordPress.org "Trialware and Locked Features" guidelines.
* Removed all implementing code for functions marketed as Pro-only upgrades (Duplicate Detection, Scheduled Cleanup, Cloud Export, etc.).
* Preserved core export batching as a standard free feature.
* Harmonized marketing copy and UI to reflect actual free version capabilities.

= 1.1.4 =

* Refactored plugin interface to align with WordPress.org plugin directory guidelines.
* Removed restricted feature placeholders and simplified UI components.
* Added a dedicated informational upgrade page.
* Fixed compatibility issue on the image optimization screen.

= 1.1.3 =

* Improved dashboard layout and stability.
* Adjusted export page layout for better usability.
* Fixed UI nesting issues in some admin themes.

= 1.1.2 =

* Fixed export batching issues.
* Improved session handling for export operations.

= 1.1.0 =

* Refactored plugin architecture for repository compatibility.
* Removed license activation and remote API communication logic.
* Improved security checks and sanitization.

= 1.0.0 =

* Initial release.
