316 lines
11 KiB
Markdown
316 lines
11 KiB
Markdown
# 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)
|
|
- Automatische Backup-Verwaltung
|
|
- 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
|
|
|
|
## [2.0.0] - 2024-01-20
|
|
|
|
### 🎉 Wichtige Änderungen
|
|
- **Zentralisierte API-Konfiguration:** API-Keys und Server-Einstellungen werden jetzt nur einmal in den WHMCS Server-Einstellungen konfiguriert, nicht mehr pro Produkt
|
|
- **Template/Vorlagen-System:** Automatische Synchronisation von KeyHelp-Plänen/Vorlagen als Dropdown-Auswahl
|
|
- **Template-basierte Provisionierung:** Domains werden automatisch mit der ausgewählten Vorlage erstellt
|
|
|
|
### Hinzugefügt
|
|
- **Template-Verwaltung:**
|
|
- Automatisches Laden von KeyHelp-Plänen/Vorlagen via API
|
|
- Dropdown-Auswahl bei Produktkonfiguration
|
|
- Template-Cache für bessere Performance (5 Minuten)
|
|
- "Sync Templates" Button im Admin-Bereich
|
|
- Template-Name wird im Client Area angezeigt
|
|
|
|
- **Verbesserte Client Area:**
|
|
- Anzeige des verwendeten Templates/Plans
|
|
- Direkter Link zum Admin-Panel für die Domain
|
|
- Template-Badge in der Produktübersicht
|
|
- Übersichtlichere Button-Anordnung
|
|
- Admin-Panel-Button für direkte Verwaltung
|
|
|
|
- **Zentrale Server-Konfiguration:**
|
|
- API-Key wird nur einmal in WHMCS Server-Einstellungen eingegeben
|
|
- Hostname/IP in Server-Einstellungen (nicht mehr pro Produkt)
|
|
- SSL-Einstellungen über WHMCS Server-Verwaltung
|
|
- Vereinfachte Produktkonfiguration (nur Template-Auswahl)
|
|
|
|
- **Template-basierte Erstellung:**
|
|
- Domain wird automatisch mit ausgewählter Vorlage erstellt
|
|
- Template-ID wird in Account-Details gespeichert
|
|
- Template-Informationen werden bei Erstellung verwendet
|
|
- Automatische Zuordnung von Plan-Ressourcen
|
|
|
|
- **Neue API-Funktionen:**
|
|
- `_keyhelpmanager_GetTemplates()` - Lädt verfügbare Templates
|
|
- `keyhelpmanager_TemplateLoader()` - Dropdown-Loader für Templates
|
|
- `keyhelpmanager_SyncTemplates()` - Synchronisiert Templates manuell
|
|
- `keyhelpmanager_AdminCustomButtonArray()` - Admin-Buttons
|
|
|
|
- **Erweiterte Account-Speicherung:**
|
|
- Domain-ID wird jetzt gespeichert
|
|
- Template-ID wird in Account-Details hinterlegt
|
|
- Bessere Verknüpfung zwischen WHMCS und KeyHelp
|
|
|
|
### Geändert
|
|
- **API-Request-Funktion überarbeitet:**
|
|
- Verwendet jetzt WHMCS Server-Parameter statt Config-Optionen
|
|
- `serverhostname` statt `configoption1`
|
|
- `serveraccesshash` statt `configoption2`
|
|
- `serversecure` statt `configoption3`
|
|
- Bessere Fehlermeldungen bei fehlender Konfiguration
|
|
|
|
- **ConfigOptions vereinfacht:**
|
|
- Nur noch Template-Dropdown statt 4 Konfigurationsoptionen
|
|
- Hostname, API-Key, SSL nicht mehr pro Produkt nötig
|
|
- Einfachere Produktverwaltung
|
|
|
|
- **CreateAccount verbessert:**
|
|
- Verwendet Template-ID aus Produktkonfiguration
|
|
- Übergibt Template bei Domain-Erstellung
|
|
- Speichert zusätzliche Metadaten (Domain-ID, Template)
|
|
|
|
- **ClientArea erweitert:**
|
|
- Zeigt Template-Namen und Admin-Panel-Link
|
|
- Lädt Template-Details von API
|
|
- Direkter Link zur Domain-Verwaltung im Panel
|
|
|
|
### Behoben
|
|
- Redundante API-Key-Eingabe pro Produkt entfernt
|
|
- SSL-Konfiguration vereinheitlicht
|
|
- Template-Auswahl jetzt dynamisch statt statisch
|
|
- Panel-URL-Generierung korrigiert
|
|
|
|
### Sicherheit
|
|
- SSL-Verifizierung standardmäßig aktiviert
|
|
- Zentrale API-Key-Verwaltung reduziert Sicherheitsrisiken
|
|
- Weniger Stellen für sensible Daten in der Konfiguration
|
|
|
|
### Technische Details
|
|
- **Neue API-Endpunkte:**
|
|
- `GET /api/v2/plans` - Lädt verfügbare Pläne/Templates
|
|
- `GET /api/v2/plans/{id}` - Lädt Template-Details
|
|
|
|
- **Neue Datenbankfelder:**
|
|
- `domainid` in Account-Details
|
|
- `template` in Account-Details
|
|
- Template-Cache in `tblconfiguration`
|
|
|
|
### Migration von 1.x
|
|
1. Konfigurieren Sie Ihre KeyHelp-Server in WHMCS unter Setup > Products/Services > Servers
|
|
2. Tragen Sie Hostname und API-Key dort ein (statt in jedem Produkt)
|
|
3. Wählen Sie bei jedem Produkt den entsprechenden Server aus
|
|
4. Verwenden Sie "Sync Templates" um verfügbare Vorlagen zu laden
|
|
5. Wählen Sie für jedes Produkt die passende Vorlage aus
|
|
|
|
### Bekannte Einschränkungen
|
|
- Template-Cache läuft nach 5 Minuten ab (nicht konfigurierbar)
|
|
- Manuelle Template-Synchronisation erforderlich bei Änderungen in KeyHelp
|
|
- Admin-Panel-Link funktioniert nur mit Standard-KeyHelp-URL-Struktur
|
|
|
|
## [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/v2.0.0...HEAD
|
|
[2.0.0]: https://github.com/ihr-repo/keyhelpmanager/compare/v1.0.0...v2.0.0
|
|
[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 |