# Changelog Alle wichtigen Änderungen an diesem Projekt werden in dieser Datei dokumentiert. Das Format basiert auf [Keep a Changelog](https://keepachangelog.com/de/1.0.0/), und dieses Projekt folgt [Semantic Versioning](https://semver.org/lang/de/). ## [Unreleased] ### Geplant - Multi-Language Support (Deutsch/Englisch) - Erweiterte Statistiken im Client Area - Automatische Backup-Verwaltung - SSL-Zertifikat-Management über Let's Encrypt - E-Mail-Account-Verwaltung im Client Area - Datenbank-Verwaltung im Client Area - FTP-Account-Management - Subdomain-Verwaltung - Ressourcen-Upgrade/Downgrade-Funktionen - Webhook-Support für Events ## [1.0.0] - 2024-01-15 ### Entwickelt von - **Entwickler:** Kevin Feiler - **Firma:** AVVGO - **Website:** https://avvgo.de ### Hinzugefügt - Initiales Release des KeyHelp Manager WHMCS Provisioning Moduls - **Account-Verwaltung:** - Automatische Account-Erstellung nach Zahlungseingang - Account-Sperrung (Suspend) bei Zahlungsverzug - Account-Entsperrung (Unsuspend) - Account-Löschung (Terminate) mit allen Daten - Passwort-Änderungsfunktion - **API-Integration:** - KeyHelp API v2 Unterstützung - Guzzle HTTP Client für zuverlässige API-Kommunikation - SSL/TLS-Verschlüsselung für API-Verbindungen - Konfigurierbare SSL-Zertifikat-Verifizierung - Umfassendes Error-Handling und Retry-Logik - **Client Area Features:** - Übersichtliche Darstellung der Login-Informationen - KeyHelp Login-URL mit direktem Zugang - Username und Passwort mit Copy-to-Clipboard-Funktion - Passwort anzeigen/verbergen Toggle - Live-Statistiken vom KeyHelp-Server: - Speicherplatz-Nutzung mit Fortschrittsbalken - Traffic/Bandbreiten-Nutzung mit Fortschrittsbalken - Anzahl der Domains - Anzahl der Datenbanken - Anzahl der E-Mail-Konten - Responsive Design für alle Geräte - Bootstrap-kompatibles Layout - **Admin-Features:** - Single Sign-On (SSO) für Admins - Ein-Klick-Login direkt in den Kunden-Account - Detailliertes Module-Logging aller API-Calls - Connection-Test-Funktion für Server-Konfiguration - Automatische Maskierung sensibler Daten in Logs - **Automatisierung:** - Automatische Benutzername-Generierung aus Domain - Sichere Passwort-Generierung (16 Zeichen, kryptografisch sicher) - Automatische Speicherung von Account-Details in WHMCS - Custom Field Management für KeyHelp User-ID - Rollback-Mechanismen bei fehlgeschlagener Erstellung - **Sicherheit:** - API-Key-Verschlüsselung in WHMCS-Datenbank - SSL/TLS-Unterstützung für alle API-Verbindungen - Validierung und Sanitization aller Eingaben - Schutz vor SQL-Injection durch Capsule ORM - Sichere Session-Token-Generierung für SSO - Automatische Maskierung von Credentials in Logs - **Dokumentation:** - Ausführliche README.md mit Feature-Übersicht - Detaillierte INSTALLATION.md mit Schritt-für-Schritt-Anleitung - Umfangreiche Code-Kommentare (Deutsch) - API-Endpunkt-Dokumentation - Troubleshooting-Guide - Best Practices für Sicherheit - **Entwickler-Tools:** - Composer.json für Dependency-Management - .gitignore für sauberes Repository - PSR-12 Code-Style-Kompatibilität - Modulare Code-Struktur für einfache Wartung ### Technische Details - **Mindestanforderungen:** - PHP 8.3+ - WHMCS 8.13+ - KeyHelp mit API v2 - Guzzle HTTP Client (in WHMCS integriert) - **Unterstützte KeyHelp API-Endpunkte:** - `POST /api/v2/users` - Benutzer erstellen - `GET /api/v2/users/{id}` - Benutzer-Details - `PUT /api/v2/users/{id}` - Benutzer aktualisieren - `DELETE /api/v2/users/{id}` - Benutzer löschen - `POST /api/v2/domains` - Domain hinzufügen - `GET /api/v2/users/{id}/statistics` - Statistiken abrufen - `POST /api/v2/sessions` - SSO-Session erstellen - `GET /api/v2/server/version` - Server-Version (Test) - **WHMCS-Funktionen:** - `keyhelpmanager_MetaData()` - Modul-Metadaten - `keyhelpmanager_ConfigOptions()` - Server-Konfiguration - `keyhelpmanager_CreateAccount()` - Account erstellen - `keyhelpmanager_SuspendAccount()` - Account sperren - `keyhelpmanager_UnsuspendAccount()` - Account entsperren - `keyhelpmanager_TerminateAccount()` - Account löschen - `keyhelpmanager_ChangePassword()` - Passwort ändern - `keyhelpmanager_ClientArea()` - Client-Bereich - `keyhelpmanager_LoginLink()` - Admin SSO - `keyhelpmanager_TestConnection()` - Verbindungstest ### Hilfsfunktionen - `_keyhelpmanager_APIRequest()` - Zentrale API-Request-Funktion - `_keyhelpmanager_GenerateUsername()` - Username-Generierung - `_keyhelpmanager_GeneratePassword()` - Passwort-Generierung - `_keyhelpmanager_SaveAccountDetails()` - Account-Details speichern - `_keyhelpmanager_GetAccountDetails()` - Account-Details laden - `_keyhelpmanager_GetUserId()` - KeyHelp User-ID abrufen - `_keyhelpmanager_UpdateAccountDetail()` - Einzelnes Detail aktualisieren - `_keyhelpmanager_DeleteAccountDetails()` - Details löschen - `_keyhelpmanager_GetCustomFieldId()` - Custom Field ID abrufen - `_keyhelpmanager_FormatBytes()` - Bytes formatieren - `_keyhelpmanager_CalculatePercent()` - Prozentsatz berechnen ### Templates - `clientarea.tpl` - Smarty-Template für Client Area mit: - Bootstrap 3/4 kompatibles Design - FontAwesome Icons - Responsive Grid-Layout - JavaScript-Funktionen für Interaktivität - Copy-to-Clipboard-Funktionalität - Passwort-Toggle-Funktion - Fortschrittsbalken mit Farbcodierung ### Konfigurationsoptionen - Hostname/IP des KeyHelp-Servers - API-Key-Verwaltung - SSL-Aktivierung (On/Off) - SSL-Zertifikat-Verifizierung (On/Off) ### Bekannte Einschränkungen - Keine direkte Multi-Language-Unterstützung (nur Deutsch) - Erweiterte Features wie E-Mail-/DB-Verwaltung nicht implementiert - Session-Token-Lifetime fest auf 5 Minuten (nicht konfigurierbar) - Keine automatische Plan/Tarif-Synchronisation ## [0.9.0-beta] - 2024-01-10 ### Hinzugefügt - Beta-Version für interne Tests - Basis-Funktionalität für Account-Erstellung - Erste API-Integration ### Geändert - API-Request-Handling optimiert - Error-Messages verbessert ### Behoben - Connection-Timeout-Probleme - SSL-Verifizierung bei selbstsignierten Zertifikaten ## [0.5.0-alpha] - 2024-01-05 ### Hinzugefügt - Initiale Projekt-Struktur - Grundlegende Modul-Funktionen - API-Client-Implementierung --- ## Versionierungsschema - **Major.Minor.Patch** (z.B. 1.0.0) - **Major:** Breaking Changes, große neue Features - **Minor:** Neue Features, abwärtskompatibel - **Patch:** Bugfixes, kleine Verbesserungen ## Credits Dieses Modul wurde entwickelt von: - **Kevin Feiler** - Lead Developer - **AVVGO** - https://avvgo.de ## Support - **GitHub Issues:** Für Bug-Reports und Feature-Requests - **Dokumentation:** Siehe README.md und INSTALLATION.md - **KeyHelp Forum:** https://forum.keyhelp.de/ - **WHMCS Community:** https://whmcs.community/ ## Mitwirken Contributions sind willkommen! Bitte erstellen Sie einen Pull Request mit: - Beschreibung der Änderungen - Tests für neue Features - Aktualisierung der Dokumentation - Eintrag in diesem CHANGELOG --- [Unreleased]: https://github.com/ihr-repo/keyhelpmanager/compare/v1.0.0...HEAD [1.0.0]: https://github.com/ihr-repo/keyhelpmanager/releases/tag/v1.0.0 [0.9.0-beta]: https://github.com/ihr-repo/keyhelpmanager/releases/tag/v0.9.0-beta [0.5.0-alpha]: https://github.com/ihr-repo/keyhelpmanager/releases/tag/v0.5.0-alpha