=== Walkiria Maintenance ===
Contributors: walkiriaapps
Tags: security, maintenance, file integrity, uptime monitor, login protection
Requires at least: 6.0
Tested up to: 7.1
Stable tag: 1.1.0
Requires PHP: 7.4
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Security & Maintenance Suite for WordPress: uptime monitoring, file integrity scanning and custom login URL protection.

== Description ==

**Walkiria Maintenance** is a lightweight but powerful all-in-one security and maintenance plugin for WordPress.

= Features =

* 🔐 **Custom Login URL** – Hide `wp-login.php` and `wp-admin` from attackers and bots. Returns a clean 404 to unauthenticated access attempts.
* 📂 **File Integrity Scanner** – Builds a cryptographic baseline (SHA-256) of all your site files and alerts you when anything is added, modified or deleted.
* 🌐 **Uptime Monitor** – Checks your site every 30 minutes and sends an instant email alert when your site goes down or comes back up.
* 🔄 **Update Notifications** – Daily report of available updates for WordPress core, plugins and themes.
* 📧 **HTML Email Alerts** – Beautiful, branded HTML emails for every security event.
* 🗓️ **Scheduled Scans** – Configurable daily scan time (synced to your WordPress timezone).

= Privacy =

This plugin does not collect or transmit any personal data to external servers. All data is stored locally in your WordPress database.

== Installation ==

1. Upload the `walkiria-maintenance` folder to the `/wp-content/plugins/` directory, or install the plugin directly through the WordPress plugin screen.
2. Activate the plugin through the **Plugins** screen in WordPress.
3. Go to **Settings → Walkiria Maintenance** to configure alert email, scan time, custom login URL and excluded directories.
4. Click **Run Scan Now** to build the initial baseline. Future scans will only alert you about changes.

== Frequently Asked Questions ==

= Will this plugin slow down my site? =

No. The file scanner only runs on schedule (once a day by default) or when manually triggered from the dashboard. It has no impact on front-end performance.

= What happens if I lock myself out with the custom login URL? =

You can deactivate the plugin via FTP/cPanel by renaming the plugin folder, which will restore normal access to `wp-login.php`.

= Does it work with multisite? =

Not officially tested with multisite networks. Single-site installations only at this time.

== Screenshots ==

1. The main dashboard showing site status, quick actions and latest scan results.
2. HTML email alert for detected file changes.
3. HTML email alert for uptime monitoring.

== Changelog ==

= 1.1.0 =
* Improved: Full i18n compliance — all strings are now translatable.
* Improved: Custom login handler correctly resolves relative paths in subdirectory installations.
* Improved: Scanner no longer checks the deprecated `safe_mode` PHP ini directive (removed in PHP 7.0).
* Added: `uninstall.php` — database table and all plugin options are fully cleaned up on uninstall.
* Added: `sanitize_callback` for the custom login slug setting.
* Fixed: `wp_die()` messages are now translated and properly escaped.
* Fixed: Email footer uses `gmdate()` instead of `date()` for server-timezone independence.

= 1.0.2 =
* Improved: Custom login now correctly handles subdirectory installations.
* Improved: `path_hash` column for reliable DB indexing of long file paths (>191 chars).
* Added: Automatic DB schema migration via `check_upgrade()`.
* Fixed: Scanner timeout raised to 300s / 512MB for large sites.

= 1.0.1 =
* Added: HTML email templates with branded design.
* Added: Persistent dashboard scan logs.
* Added: Timezone sync for Cron scheduling.
* Added: First-run alert suppression (baseline build does not trigger a false-positive alert).

= 1.0.0 =
* Initial release.

== Upgrade Notice ==

= 1.1.0 =
This version adds full internationalisation support and cleans up on uninstall. Upgrade recommended for all users.
