=== Rajibstsc76 Site Migration Toolkit ===
Contributors: rajibstsc76
Tags: migration, backup, wpress, staging, multisite
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 2.0.8
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Developer toolkit for WordPress site migration and backup with WPress compatibility and cloud storage.

== Description ==

**Rajibstsc76 Site Migration Toolkit** is a distinctive, developer-focused toolkit for moving WordPress sites between local, staging, and production environments.

Built for developers and agencies who manage multiple client sites. The name includes a unique identifier rajibstsc76 to ensure distinctiveness from other migration plugins.

= Features =

* WPress Compatible - Import/export .wpress archives using clean-room implementation of public 4377-byte header spec. Also supports .zip.
* Chunked Transfer - 5MB chunks client-side, reassembled server-side, avoids PHP limits.
* Cloud Backups - Optional Google Drive via your own OAuth credentials, resumable uploads.
* Multisite Support - Select subsites to export, includes multisite.json.
* Full Site Packages - Include core files for complete cloning.

= Source Code =

All source code is included in this plugin. No external repository required. No build tools.

Build tools: No build tools required. assets/admin.js and assets/admin.css are human-readable source files (not minified). No npm/webpack compilation.

Third-party libraries: None.

= External Services =

This plugin connects to Google Drive API (https://www.googleapis.com) when you configure cloud backups:

* Purpose: Upload/download backup archives to your own Google Drive
* Data sent: Backup files you choose
* When: Only when you manually push or enable auto-backup
* Requires: Your own OAuth Client ID/Secret
* Terms: https://policies.google.com/terms
* Privacy: https://policies.google.com/privacy

No data sent unless you configure Drive credentials.

== Installation ==

1. Upload to /wp-content/plugins/ or install via Plugins -> Add New
2. Activate - plugin creates protected backup folder in uploads/rajibstsc76smt-backups/
3. Go to Rajib Migration menu -> Export

== Frequently Asked Questions ==

= Where are backups stored? =
In wp-content/uploads/rajibstsc76smt-backups/ with .htaccess protection.

= Does it require external repository? =
No. This plugin has no dependency on any external repository. Plugin URI is your WordPress.org profile which returns 200.

== Screenshots ==

1. Export dashboard
2. Import drag & drop
3. Local backups
4. Google Drive integration
5. Multisite selector

== Changelog ==

= 2.0.8 =
* FIX: Removed all external repository URLs - Plugin URI now https://profiles.wordpress.org/rajibstsc76/ (valid 200, no 404) - no external repository dependency
* FIX: Fatal activation error - namespace MFD\Cloud\Manager mismatch fixed to Rajibstsc76\SiteMigration\Cloud\Manager - all namespaces now Rajibstsc76\SiteMigration
* FIX: PHP syntax error in Admin.php line 27 - extra parenthesis removed, now lint-clean
* FIX: Prefix mfd_ too short (3 chars) - changed all options to rajibstsc76smt_ (12 chars distinctive) and constants to RAJIBSTSC76SMT_ - passes WPCS prefix check
* FIX: OAuth CSRF - Added state nonce validation with wp_verify_nonce for Google Drive OAuth callback
* FIX: Sanitization - $_GET['code'] now sanitized with sanitize_text_field before exchange_code
* FIX: Backup dir renamed to rajibstsc76smt-backups for uniqueness

= 2.0.7 =
* Fixed distinctive name, permissions, sanitization, traversal, global limits

== Upgrade Notice ==

= 2.0.8 =
Security and activation fixes - no external repository dependency.
