=== ZIP Archive Scanner ===
Contributors: bplugins, abuhayat
Tags: security, cleanup, zip, backup, disk space
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.1.6
License: GPLv3
License URI: https://www.gnu.org/licenses/gpl-3.0.html

Scan your entire WordPress file system to find leftover ZIP archives, review the risk, and clean them up with one click.

== Description ==

Old backups, migration exports, and duplicate plugin bundles pile up on every WordPress site — and a full-site archive sitting in a public folder can expose your database credentials to anyone who guesses its URL.

ZIP Archive Scanner walks your **entire WordPress file system** (not just uploads) and gives you a clean report of every ZIP archive it finds:

* **Full file system scan** — batched and timeout-safe, works on huge sites and slow shared hosting.
* **Risk assessment** — archives in the web root or with backup-like names (`backup.zip`, `wp.zip`, `db.zip`…) are flagged high risk.
* **Review everything** — file name, location, size, and last-modified date in a sortable, searchable table.
* **One-click cleanup** — delete an archive right from the dashboard, or copy its public URL to verify exposure.

### Plugin Overview

https://youtu.be/TARCPPV2r_8

### How to Use – Step-by-Step Guide

https://youtu.be/HpwNo8yPqD4

== Development & Source Code ==

The plugin's admin dashboard is a React app compiled with @wordpress/scripts. The complete, uncompiled source is included in this plugin under the `src/` directory, together with `webpack.config.js` and `package.json`.

To build from source:

1. The dashboard uses the shared open-source component library `bpl-tools` (GPL): https://github.com/bPlugins/bpl-tools — clone it as a sibling directory of this plugin (i.e. `wp-content/plugins/bpl-tools`).
2. Inside the plugin directory run `npm install`.
3. Run `npm run build` — the compiled files are written to `build/`.

== Frequently Asked Questions ==

= Does it scan inside the ZIP files? =

No. ZIP Archive Scanner locates archive files on disk so you can review and remove them. It never extracts or modifies archives.

= Will the scan slow down or time out my site? =

No. The scan runs in small time-boxed batches over the REST API, so it works within normal PHP execution limits even on very large installs.

= Can I scan for other archive types? =

Developers can extend the scanned extension list with the `bzas_scanned_extensions` filter.

== Screenshots ==

1. Scan report — every archive with its location, size, and risk badge, plus CSV/Markdown export, bulk delete, and one-click actions. High-risk archives in the web root are flagged instantly.
2. Welcome screen — quick start guide, risk-level explanations, and release notes.
3. First run — one click starts a full, timeout-safe scan of your entire file system.

== Changelog ==

= 1.1.6 =
* Fix: archives behind symlinked folders (e.g. symlinked uploads directories on managed hosting) are now scanned, with loop protection

= 1.1.5 =
* Fix: fatal error when activating while another copy (free/premium) of the plugin is installed — now hands over gracefully via Freemius

= 1.1.4 =
* Maintenance release — ships the Freemius SDK 2.13.4 update on all channels

= 1.1.3 =
* Docs: added overview and step-by-step video guides to the plugin page

= 1.1.6 =
* Fix: archives behind symlinked folders (e.g. symlinked uploads directories on managed hosting) are now scanned, with loop protection

= 1.1.5 =
* Fix: fatal error when activating while another copy (free/premium) of the plugin is installed — now hands over gracefully via Freemius

= 1.1.4 =
* Maintenance release — ships the Freemius SDK 2.13.4 update on all channels

= 1.1.3 =
* Update Freemius SDK to 2.13.4

= 1.1.2 =
* Branding: display name is now "ZIP Archive Scanner"

= 1.1.1 =
* Fix: Pricing and Feature Comparison pages showed blank while live plan data is unavailable — they now show a friendly fallback

= 1.1.0 =
* New (Pro): Save Result — save scan reports as named snapshots and review them anytime (up to 20)
* New: Pricing and feature comparison pages in the dashboard

= 1.0.1 =
* Fix: scan state storage on very large sites — the folder queue is now compressed and stored packet-safe, so scans no longer fail on hosts with a low MySQL max_allowed_packet

= 1.0.0 =
* Initial release
