=== MWP Control Connector ===
Contributors: mwp-control
Tags: management, connector, monitoring
Requires at least: 6.2
Requires PHP: 8.0
Stable tag: 1.8.4
License: GPLv2 or later

Sicherer Connector zwischen einer WordPress-Installation und MWP Control.
The secure connector between a WordPress installation and MWP Control.

== Installation ==

1. Den Ordner `mwp-connector` nach `/wp-content/plugins/` kopieren.
2. Das Plugin in WordPress aktivieren.
3. Der kleine MU-Wächter wird automatisch unter `/wp-content/mu-plugins/` installiert.
4. Im WordPress-Hauptmenü MWP Control den URL-gebundenen Verbindungsschlüssel kopieren.
5. Website und Verbindungsschlüssel im MWP-Control-Dashboard eintragen.

== Security ==

Der Verbindungsschlüssel wird per HMAC aus der normalisierten Website-URL und einem zufälligen lokalen Seed abgeleitet. Er kann rotiert werden und wird nicht aus einem berechenbaren reinen URL-Hash erzeugt. Jede aktive Verbindung erhält anschließend ein eigenes verschlüsseltes Secret. Timestamps und Nonces schützen signierte Requests vor Replay-Angriffen.

Remote-Updates sind für authentifizierte, signierte MWP-Control-Verbindungen dauerhaft freigegeben. Eine lokale Abschaltung im Connector ist nicht vorgesehen.

== Changelog ==

= 1.8.4 =
* Trennen entfernt auch ältere Verbindungen desselben MWP-Control-Dashboards zuverlässig.
* Erneutes Verbinden ersetzt vorhandene Dashboard-Verbindungen und erzeugt keine Duplikate mehr.

= 1.8.3 =
* Deutsch und Englisch werden automatisch über die WordPress-Sprachverwaltung gewählt.
* Die Connector-Verwaltung, Wartungsseite und zentralen Remote-Meldungen folgen der Website- oder Benutzersprache.
* German and English are selected automatically through WordPress language management.
* The connector admin, maintenance page and primary remote messages follow the site or user locale.

= 1.8.2 =
* Eine remote getrennte Verbindung wird zuverlässig widerrufen und nicht mehr als aktiv geführt.
* Ohne aktive Verbindung zeigt die Connector-Verwaltung eindeutig „Nicht verbunden“.

= 1.8.1 =
* Verwendet das neue Maintenic-Solo-Logo in der Connector-Verwaltung und auf der Wartungsseite.

= 1.8.0 =
* Hält Remote-Updates aus authentifizierten MWP-Control-Verbindungen dauerhaft aktiv.
* Entfernt den abschaltbaren Update-Schalter und die redundante Speicheraktion.
* Bestehende deaktivierte Einstellungen werden beim ersten Aufruf automatisch aktiviert.

= 1.7.9 =
* Übernimmt Whitelabel-Konfigurationen für Administrator, Reseller und Agency aus MWP Control.
* Passt Markenname, Logo, Farben, Supportkontakt, WordPress-Menü und Wartungsseite an.
* Die Rollen User und Helpdesk erhalten ausdrücklich keine Whitelabel-Konfiguration.

= 1.7.8 =
* Zeigt auf der öffentlichen Wartungsseite das neue MWP-Control-Logo anstelle des generischen Buchstabens.
* Bettet das Logo direkt in die Wartungsseite ein, damit es auch während Wartung und hinter Caches zuverlässig geladen wird.

= 1.7.7 =
* Verwendet das neue MWP-Logo im WordPress-Menü und in der Connector-Verwaltung.

= 1.7.6 =
* Begrenzt das MWP-Control-Logo im WordPress-Adminmenü zuverlässig auf die vorgesehene Icon-Größe.

= 1.7.5 =
* Erkennt verfügbare WordPress-, Plugin- und Theme-Übersetzungen und aktualisiert ausgewählte Sprachpakete über den WordPress-Upgrader.

= 1.7.4 =
* Bindet den ZIP-Download an Version und SHA-256-Prüfsumme, damit Proxy- und Hosting-Caches niemals ein älteres Connector-Paket ausliefern.
* Erzwingt bei der Updateprüfung eine frische Manifest-Anfrage.

= 1.7.3 =
* Verlegt den offiziellen Updatekanal auf `mwpcontrol.maintenix.eu`.
* Bestehende Kopplungen, Secrets und WordPress-Einstellungen bleiben unverändert erhalten.

= 1.7.2 =
* Überträgt die geladene WordPress-Datenbankkonfiguration ausschließlich über die signierte Connector-Verbindung.
* Das Datenbankpasswort wird weder im Browser noch in der WordPress-Oberfläche ausgegeben.

= 1.7.1 =
* Ergänzt einen pro Website schaltbaren Wartungsmodus für MWP Control.
* Nur WordPress-Administratoren, WP-Admin und die signierte Connector-Schnittstelle bleiben erreichbar.
* Besucher und angemeldete Nicht-Administratoren erhalten eine nicht cachebare HTTP-503-Wartungsseite.

= 1.7.0 =
* Führt große Backups in einem eigenständigen WordPress-Worker aus, der unabhängig von der Dashboard-Anfrage weiterläuft.
* Stellt Start- und Statusaktionen für überwachte Backups mit Doppelstartschutz bereit.
* Unterstützt damit auch mehrstündige Archive mit 5 GB und mehr ohne dauerhafte HTTP-Verbindung zum Dashboard.

= 1.6.2 =
* Große Backup-Archive erhalten für die abschließende ZIP-Komprimierung ein eigenes dreistündiges Zeitfenster.
* Die verlängerte Auftragssperre verhindert, dass derselbe Backup-Auftrag währenddessen doppelt gestartet wird.

= 1.6.1 =
* Meldet Datenbankexport, Archivierung und S3-Multipart-Upload als sichtbaren Fortschritt an MWP Control.
* Beendet hängende S3-Teile nach einer festen Zeit oder anhaltend zu geringer Übertragungsgeschwindigkeit.

= 1.6.0 =
* Modernisiert die WordPress-Verbindungsverwaltung als übersichtliches Bento-Dashboard.
* Erklärt klar, welche Funktionen die Freigabe für Remote-Updates aktiviert und welche Funktionen auch ohne Freigabe verfügbar bleiben.

= 1.5.9 =
* Leert nach dem Datenbankimport den WordPress-Options-Cache, bevor die Verbindung des Klonziels wiederhergestellt wird.
* Prüft verbindlich, dass die Ziel-Kopplung gespeichert wurde und keine Kopplung der Quelle übrig bleibt.

= 1.5.5 =
* Passt nach einem Klon die WordPress-Rollenschlüssel `capabilities`, `user_level` und `user_roles` an das Tabellenpräfix des Ziels an.
* Benutzer der Quelle behalten dadurch auf Zielen mit abweichendem Tabellenpräfix ihre Administrator- und Benutzerrechte.

= 1.5.1 =
* Klon- und Restore-Aufrufe dürfen vollständig bis zum Ende laufen, ohne nach 20 Sekunden fälschlich abzubrechen.
* Lang laufende Klonvorgänge heben den von MWP Control gesetzten Wartungsmodus auch bei einem PHP-Abbruch per Shutdown-Bereinigung auf.
* Die temporäre WordPress-Datei `.maintenance` wird weder gesichert noch auf ein Klon- oder Restore-Ziel kopiert.

= 1.5.0 =
* Installiert einen kleinen MU-Wächter, der den regulären Connector zuverlässig geladen hält.
* Der eigentliche Connector bleibt über den normalen WordPress-Updateweg aktualisierbar.
* Ein kontrollierter Entfernungsvorgang löscht alle Kopplungen und den MU-Wächter und deaktiviert anschließend den Connector.
* Schreib- und Berechtigungsfehler im MU-Plugin-Verzeichnis werden verständlich angezeigt.

= 1.4.3 =
* Lädt die WordPress-Dateisystemfunktionen auch in getrennten REST-Update-Anfragen vollständig.
* Behebt `Call to undefined function request_filesystem_credentials()` bei vorbereiteten direkten Updates.

= 1.4.2 =
* Aktive Plugins werden für direkte Updates kontrolliert deaktiviert.
* Der Dateiaustausch läuft in einer frischen WordPress-Anfrage ohne alten Plugin-Code im Speicher.
* Plugins werden anschließend automatisch wieder aktiviert; ein zeitversetzter Schutzlauf verhindert eine dauerhafte Deaktivierung bei Verbindungsabbrüchen.

= 1.4.1 =
* Plugin-interne Verzeichnisse wie `elementor/core/upgrade` werden vollständig gesichert.
* Temporäre WordPress-Arbeitsverzeichnisse werden nur noch anhand ihres vollständigen Pfads ausgeschlossen.
* Verhindert unvollständige Plugin-Dateien nach Backup, Wiederherstellung und Klonen.

= 1.4.0 =
* Sicheres Klonen zwischen zwei mit MWP Control verbundenen WordPress-Websites.
* Zielkonfiguration, Datenbankzugänge, Connector-Identität und Plugin-Aktivierung bleiben erhalten.
* Tabellenpräfixe und serialisierte Quell-URLs werden automatisch auf das Ziel angepasst.

= 1.3.4 =
* Versionierter Inventarvertrag für die Update-Automatisierung.
* Laufzeitversion und Inventarschema werden bei jeder Inventarabfrage mitgeliefert.
* Veralteter PHP-/OPcache-Laufzeitcode wird vom Dashboard zuverlässig erkannt.

= 1.3.3 =
* Liefert das vollständige Inventar aller installierten Plugins und Themes an die Update-Automatisierung.
* Aktive und netzwerkweit aktive Erweiterungen werden für die Auswahl im Dashboard gekennzeichnet.

= 1.3.2 =
* Direkter Update-Modus für einzeln ausgeführte Updates ohne automatische Nachprüfung und ohne automatischen Rollback.
* MWP Control kann nach einer abgebrochenen Update-Antwort separat prüfen, ob das Update trotzdem installiert wurde.

= 1.3.1 =
* Connector-Updates werden auch bei einem bereits gespeicherten WordPress-Update-Transient zuverlässig ergänzt.
* Die manuelle Updateprüfung schreibt das frisch geladene Connector-Update sofort in den WordPress-Update-Cache.

= 1.3.0 =
* Update-Inventar für Plugins, Themes und WordPress-Core zur gezielten Auswahl im Dashboard.
* Sichere selektive Updates mit anschließender Datenbank-, Frontend- und Plugin-Aktivitätsprüfung.
* Der Connector liefert die Prüfergebnisse an MWP Control; bei Fehlern stellt das Dashboard automatisch das Vorab-Backup wieder her.

= 1.2.0 =
* Backups sind ausschließlich vollständige Disaster-Recovery-Sicherungen aus Datenbank, WordPress-Core, wp-content, Root-Dateien und wp-config.php.
* Dry-Run und Restore prüfen und verarbeiten das vollständige WordPress-Stammverzeichnis; Connector und Pairing bleiben erhalten.
* Dashboard, Caches, temporäre Restore-Dateien, vorhandene Backup-Verzeichnisse und Logs werden ausgeschlossen.

= 1.1.4 =
* In der WordPress-Pluginliste bleibt ausschließlich die WordPress-Standardaktion „Deaktivieren“ sichtbar.
* „Connector-Updates prüfen“ befindet sich nun auf der eigenen MWP-Control-Verwaltungsseite.

= 1.1.3 =
* Plugin-Aktionslinks bereinigt: Version und Hersteller erscheinen nur noch in den von WordPress vorgesehenen Metadaten.

= 1.1.2 =
* Leere Datenbankwerte werden als gültige Hex-Literale exportiert; vorhandene Backups mit dem bisherigen `0x`-Format werden beim Restore kompatibel normalisiert.
* Connector-Verbindung und Plugin-Aktivierung werden auch nach einem abgebrochenen Datenbank-Restore bestmöglich wiederhergestellt.

= 1.1.1 =
* Restore-Arbeitsverzeichnis in den beschreibbaren WordPress-Uploadbereich verschoben und gegen Webzugriffe geschützt.
* Fehlertolerante Bereinigung verhindert, dass Hosting-Berechtigungsfehler die eigentliche Restore-Meldung überdecken.

= 1.1.0 =
* Sicherer Restore-Assistent mit Dry-Run, SHA-256-Prüfung, eingeschränktem SQL und Erhalt der Connector-Verbindung.

= 1.0.0 =
* Geplante Backups mit Multipart-Upload für Archive bis 10 GB und aussagekräftigeren S3-Fehlern.

= 0.9.0 =
* Vollständige manuelle Backups von Datenbank und wp-content mit direktem Upload in S3-kompatiblen Object Storage.

= 0.8.5 =
* Der WordPress-Websitetitel wird beim Verbinden und Synchronisieren an MWP Control übertragen.

= 0.8.4 =
* Herstellerlink zu maintenix.eu in der WordPress-Pluginübersicht ergänzt.

= 0.8.3 =
* WordPress-Updateprüfung leert auch den Connector-Manifestcache; zusätzlicher Direktlink „Updates prüfen“.

= 0.8.2 =
* Versionsnummer und Direktlink in der Pluginliste sowie eigener MWP-Control-Hauptpunkt im WordPress-Menü.

= 0.8.1 =
* Testversion zur Überprüfung des automatischen, SHA-256-gesicherten Updatewegs.

= 0.8.0 =
* Automatische Connector-Updates über den MWP-Control-Updatekanal mit SHA-256-Prüfung.

= 0.7.0 =
* Vor dem sicheren Einmal-Login kann der gewünschte WordPress-Account ausgewählt werden.

= 0.6.1 =
* Das konfigurierte WordPress-Website-Icon wird an MWP Control übermittelt.

= 0.6.0 =
* Sicherer Einmal-Login ins WordPress-Backend über ein kurzlebiges, sofort verbrauchtes Login-Ticket.

= 0.5.1 =
* Stabile Dashboard-ID entfernt beim Löschen auch ältere Pairings desselben MWP-Control-Dashboards.

= 0.5.0 =
* Signiertes Trennen einer einzelnen Verbindung beim Entfernen der Website aus MWP Control.

= 0.4.0 =
* URL-gebundener Verbindungsschlüssel, mehrere aktive Verbindungen und Verbindungsverwaltung.

= 0.3.0 =
* Admin-AJAX-Fallback für Pairing, Status und signierte Aktionen bei global gesperrter WordPress-REST-API.
