Skip to content

Commit d132883

Browse files
committed
3.2.7
### Hinzugefügt #### Erweiterte ISPConfig-API-Funktionen **Mail-Funktionen (12 Funktionen)** **Sites-Funktionen (12 Funktionen)** #### ISPConfig-API-Erweiterungen - **ISPConfigGet-Klasse erweitert**: 37 neue GET-Methoden für DNS, Mail und Sites - **ISPConfigPost-Klasse erweitert**: 37 neue POST/PUT/DELETE-Methoden für DNS, Mail und Sites - **Vollständige DNS-Record-Unterstützung**: A, AAAA, CNAME, MX, TXT, NS, PTR, SRV, HINFO, NAPTR, RP, DS, Alias - **Erweiterte Mail-Funktionalität**: Domains, Aliases, Forwards, Catchalls, Blacklists, Whitelists, Spamfilter - **Sites-Management**: FTP-Users, Shell-Users, Cron-Jobs, Database-Users, Web-Subdomains, Aliasdomains #### Dokumentation und Beispiele - **ISPConfig_Funktionen_Übersicht.md**: Vollständige Dokumentation aller neuen Funktionen - **Beispiel-Verwendung**: Detaillierte Code-Beispiele für alle Funktionskategorien - **API-Referenz**: Strukturierte Übersicht mit GET/POST-Funktionen #### Technische Verbesserungen - **Konsistente API-Struktur**: Alle Funktionen folgen dem gleichen Muster - **Erweiterte Fehlerbehandlung**: Strukturierte Antworten mit Erfolg/Fehler-Status - **API-Validierung**: Automatische Prüfung ob ISPConfig aktiviert ist - **Sichere Aufrufe**: Verwendung der `safeAPICall`-Methode für alle neuen Funktionen - **Filter-Unterstützung**: Alle GET-Funktionen unterstützen optionale Filter-Parameter ### Behoben #### ServiceManager-Integration - **safeAPICall-Parameter korrigiert**: Alle neuen Funktionen verwenden korrekte Parameter-Reihenfolge - **API-Name-Validierung**: Konsistente Verwendung von 'ispconfig' als API-Name - **Linter-Fehler behoben**: Alle Type-Hint-Warnungen für safeAPICall-Aufrufe behoben ### Technische Details - **Framework-Erweiterung**: 37 neue Methoden in der ServiceManager-Klasse - **ISPConfig-API-Abdeckung**: Vollständige Abdeckung der ISPConfig 3.x Remote-API - **Rückwärtskompatibilität**: Alle bestehenden Funktionen bleiben unverändert - **Code-Qualität**: Keine neuen Linter-Fehler, konsistente Code-Struktur ## [3.2.6] ### Behoben #### Windows-spezifische Fehler - **"Undefined array key 'node'" Fehler behoben**: Kritischer Fehler in `framework.php` Zeilen 557 und 577 behoben - **getNodes() Methode korrigiert**: Gibt jetzt nur das `data` Array zurück statt der gesamten API-Antwort - **Array-Key-Prüfung hinzugefügt**: `isset($nodeData['node'])` Prüfung verhindert "Undefined array key" Warnungen - **Konsistente Datenstruktur**: Einheitliche Behandlung von Node-Daten zwischen `getVMs()` und `getLXCs()` Methoden - **Disk-Space-Funktionen Windows-kompatibel**: `disk_free_space()` und `disk_total_space()` Fehler in `AdminCore.php` behoben - **Windows-Pfade hinzugefügt**: XAMPP, WAMP, Laragon und Benutzer-Pfade für Windows-Umgebungen - **Robuste Pfad-Prüfung**: `is_dir()` und `is_readable()` Prüfungen vor Disk-Space-Abfragen - **Array to String Conversion behoben**: "Array to string conversion" Fehler in `DatabaseManager.php` Zeile 170 behoben - **Robuste Parameter-Verarbeitung**: Arrays werden automatisch zu JSON-Strings konvertiert in execute-Methoden #### Technische Verbesserungen - **Robuste Fehlerbehandlung**: Verbesserte Behandlung von API-Fehlern in der Proxmox-Integration - **Windows-Kompatibilität**: Spezifische Behebung für Windows-Umgebungen (XAMPP, etc.) - **Code-Stabilität**: Verhindert PHP-Warnungen bei fehlenden Array-Keys ### Geändert - **getNodes() Rückgabewert**: Gibt jetzt `$response['data']` statt `$response` zurück - **Node-Datenverarbeitung**: `isset()` Prüfung für 'node' Key in allen Node-Iterationen - **Fehlerbehandlung**: Leere Arrays statt Fehler-Objekte bei API-Problemen ### Technische Details - **Betroffene Methoden**: `getNodes()`, `getVMs()`, `getLXCs()`, `getDiskUsage()`, `execute()` - **Betroffene Dateien**: `framework.php` (Zeilen 528-545, 552, 572), `src/core/AdminCore.php` (Zeilen 844-890), `src/core/DatabaseManager.php` (alle execute-Methoden) - **Windows-Pfade**: C:\, XAMPP, WAMP, Laragon, Benutzer-Desktop und -Dokumente - **Fehlerbehandlung**: @ Operator für disk-Space-Funktionen, Pfad-Existenz-Prüfung, Array-zu-JSON-Konvertierung - **Datenbanktreiber**: MySQL, PostgreSQL, SQLite - alle mit robuster Parameter-Verarbeitung - **Kompatibilität**: Rückwärtskompatibel, keine Breaking Changes
1 parent 95a251a commit d132883

26 files changed

+9786
-3221
lines changed

CHANGELOG.md

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,127 @@
22

33
Alle wichtigen Änderungen am Server Management Framework werden in dieser Datei dokumentiert.
44

5+
6+
7+
## [3.2.7]
8+
9+
### Hinzugefügt
10+
11+
#### Erweiterte ISPConfig-API-Funktionen
12+
- **37 neue ISPConfig-Funktionen** über den ServiceManager hinzugefügt
13+
- **DNS-Funktionen (13 Funktionen)**:
14+
- `getISPConfigDNSZones()` - DNS-Zonen abrufen
15+
- `getISPConfigDNSZone($zoneId)` - Einzelne DNS-Zone abrufen
16+
- `getISPConfigDNSARecords()` - A-Records abrufen
17+
- `getISPConfigDNSAAAARecords()` - AAAA-Records abrufen
18+
- `getISPConfigDNSCNAMERecords()` - CNAME-Records abrufen
19+
- `getISPConfigDNSMXRecords()` - MX-Records abrufen
20+
- `getISPConfigDNSTXTRecords()` - TXT-Records abrufen
21+
- `createISPConfigDNSZone($zoneData)` - DNS-Zone erstellen
22+
- `createISPConfigDNSARecord($recordData)` - A-Record erstellen
23+
- `createISPConfigDNSCNAMERecord($recordData)` - CNAME-Record erstellen
24+
- `createISPConfigDNSMXRecord($recordData)` - MX-Record erstellen
25+
- `createISPConfigDNSTXTRecord($recordData)` - TXT-Record erstellen
26+
- `updateISPConfigDNSARecord($recordId, $recordData)` - A-Record bearbeiten
27+
- `deleteISPConfigDNSARecord($recordId)` - A-Record löschen
28+
29+
- **Mail-Funktionen (12 Funktionen)**:
30+
- `getISPConfigMailDomains()` - Mail-Domains abrufen
31+
- `getISPConfigMailAliases()` - Mail-Aliases abrufen
32+
- `getISPConfigMailForwards()` - Mail-Forwards abrufen
33+
- `getISPConfigMailCatchalls()` - Mail-Catchalls abrufen
34+
- `getISPConfigMailBlacklists()` - Mail-Blacklists abrufen
35+
- `getISPConfigMailWhitelists()` - Mail-Whitelists abrufen
36+
- `createISPConfigMailDomain($domainData)` - Mail-Domain erstellen
37+
- `createISPConfigMailAlias($aliasData)` - Mail-Alias erstellen
38+
- `createISPConfigMailForward($forwardData)` - Mail-Forward erstellen
39+
- `createISPConfigMailCatchall($catchallData)` - Mail-Catchall erstellen
40+
- `updateISPConfigMailAlias($aliasId, $aliasData)` - Mail-Alias bearbeiten
41+
- `deleteISPConfigMailAlias($aliasId)` - Mail-Alias löschen
42+
43+
- **Sites-Funktionen (12 Funktionen)**:
44+
- `getISPConfigFTPUsers()` - FTP-Users abrufen
45+
- `getISPConfigShellUsers()` - Shell-Users abrufen
46+
- `getISPConfigCronJobs()` - Cron-Jobs abrufen
47+
- `getISPConfigDatabaseUsers()` - Database-Users abrufen
48+
- `getISPConfigWebSubdomains()` - Web-Subdomains abrufen
49+
- `getISPConfigWebAliasdomains()` - Web-Aliasdomains abrufen
50+
- `createISPConfigFTPUser($userData)` - FTP-User erstellen
51+
- `createISPConfigShellUser($userData)` - Shell-User erstellen
52+
- `createISPConfigCronJob($jobData)` - Cron-Job erstellen
53+
- `createISPConfigDatabaseUser($userData)` - Database-User erstellen
54+
- `createISPConfigWebSubdomain($subdomainData)` - Web-Subdomain erstellen
55+
- `createISPConfigWebAliasdomain($aliasdomainData)` - Web-Aliasdomain erstellen
56+
- `updateISPConfigFTPUser($userId, $userData)` - FTP-User bearbeiten
57+
- `updateISPConfigCronJob($jobId, $jobData)` - Cron-Job bearbeiten
58+
- `deleteISPConfigFTPUser($userId)` - FTP-User löschen
59+
- `deleteISPConfigCronJob($jobId)` - Cron-Job löschen
60+
61+
#### ISPConfig-API-Erweiterungen
62+
- **ISPConfigGet-Klasse erweitert**: 37 neue GET-Methoden für DNS, Mail und Sites
63+
- **ISPConfigPost-Klasse erweitert**: 37 neue POST/PUT/DELETE-Methoden für DNS, Mail und Sites
64+
- **Vollständige DNS-Record-Unterstützung**: A, AAAA, CNAME, MX, TXT, NS, PTR, SRV, HINFO, NAPTR, RP, DS, Alias
65+
- **Erweiterte Mail-Funktionalität**: Domains, Aliases, Forwards, Catchalls, Blacklists, Whitelists, Spamfilter
66+
- **Sites-Management**: FTP-Users, Shell-Users, Cron-Jobs, Database-Users, Web-Subdomains, Aliasdomains
67+
68+
#### Dokumentation und Beispiele
69+
- **ISPConfig_Funktionen_Übersicht.md**: Vollständige Dokumentation aller neuen Funktionen
70+
- **Beispiel-Verwendung**: Detaillierte Code-Beispiele für alle Funktionskategorien
71+
- **API-Referenz**: Strukturierte Übersicht mit GET/POST-Funktionen
72+
73+
#### Technische Verbesserungen
74+
- **Konsistente API-Struktur**: Alle Funktionen folgen dem gleichen Muster
75+
- **Erweiterte Fehlerbehandlung**: Strukturierte Antworten mit Erfolg/Fehler-Status
76+
- **API-Validierung**: Automatische Prüfung ob ISPConfig aktiviert ist
77+
- **Sichere Aufrufe**: Verwendung der `safeAPICall`-Methode für alle neuen Funktionen
78+
- **Filter-Unterstützung**: Alle GET-Funktionen unterstützen optionale Filter-Parameter
79+
80+
### Behoben
81+
82+
#### ServiceManager-Integration
83+
- **safeAPICall-Parameter korrigiert**: Alle neuen Funktionen verwenden korrekte Parameter-Reihenfolge
84+
- **API-Name-Validierung**: Konsistente Verwendung von 'ispconfig' als API-Name
85+
- **Linter-Fehler behoben**: Alle Type-Hint-Warnungen für safeAPICall-Aufrufe behoben
86+
87+
### Technische Details
88+
- **Framework-Erweiterung**: 37 neue Methoden in der ServiceManager-Klasse
89+
- **ISPConfig-API-Abdeckung**: Vollständige Abdeckung der ISPConfig 3.x Remote-API
90+
- **Rückwärtskompatibilität**: Alle bestehenden Funktionen bleiben unverändert
91+
- **Code-Qualität**: Keine neuen Linter-Fehler, konsistente Code-Struktur
92+
93+
## [3.2.6]
94+
95+
### Behoben
96+
97+
#### Windows-spezifische Fehler
98+
- **"Undefined array key 'node'" Fehler behoben**: Kritischer Fehler in `framework.php` Zeilen 557 und 577 behoben
99+
- **getNodes() Methode korrigiert**: Gibt jetzt nur das `data` Array zurück statt der gesamten API-Antwort
100+
- **Array-Key-Prüfung hinzugefügt**: `isset($nodeData['node'])` Prüfung verhindert "Undefined array key" Warnungen
101+
- **Konsistente Datenstruktur**: Einheitliche Behandlung von Node-Daten zwischen `getVMs()` und `getLXCs()` Methoden
102+
- **Disk-Space-Funktionen Windows-kompatibel**: `disk_free_space()` und `disk_total_space()` Fehler in `AdminCore.php` behoben
103+
- **Windows-Pfade hinzugefügt**: XAMPP, WAMP, Laragon und Benutzer-Pfade für Windows-Umgebungen
104+
- **Robuste Pfad-Prüfung**: `is_dir()` und `is_readable()` Prüfungen vor Disk-Space-Abfragen
105+
- **Array to String Conversion behoben**: "Array to string conversion" Fehler in `DatabaseManager.php` Zeile 170 behoben
106+
- **Robuste Parameter-Verarbeitung**: Arrays werden automatisch zu JSON-Strings konvertiert in execute-Methoden
107+
108+
#### Technische Verbesserungen
109+
- **Robuste Fehlerbehandlung**: Verbesserte Behandlung von API-Fehlern in der Proxmox-Integration
110+
- **Windows-Kompatibilität**: Spezifische Behebung für Windows-Umgebungen (XAMPP, etc.)
111+
- **Code-Stabilität**: Verhindert PHP-Warnungen bei fehlenden Array-Keys
112+
113+
### Geändert
114+
- **getNodes() Rückgabewert**: Gibt jetzt `$response['data']` statt `$response` zurück
115+
- **Node-Datenverarbeitung**: `isset()` Prüfung für 'node' Key in allen Node-Iterationen
116+
- **Fehlerbehandlung**: Leere Arrays statt Fehler-Objekte bei API-Problemen
117+
118+
### Technische Details
119+
- **Betroffene Methoden**: `getNodes()`, `getVMs()`, `getLXCs()`, `getDiskUsage()`, `execute()`
120+
- **Betroffene Dateien**: `framework.php` (Zeilen 528-545, 552, 572), `src/core/AdminCore.php` (Zeilen 844-890), `src/core/DatabaseManager.php` (alle execute-Methoden)
121+
- **Windows-Pfade**: C:\, XAMPP, WAMP, Laragon, Benutzer-Desktop und -Dokumente
122+
- **Fehlerbehandlung**: @ Operator für disk-Space-Funktionen, Pfad-Existenz-Prüfung, Array-zu-JSON-Konvertierung
123+
- **Datenbanktreiber**: MySQL, PostgreSQL, SQLite - alle mit robuster Parameter-Verarbeitung
124+
- **Kompatibilität**: Rückwärtskompatibel, keine Breaking Changes
125+
5126
## [3.2.5] - 2024-12-19
6127

7128
### Proxmox-Modul - Erweiterte VM/Container-Verwaltung

0 commit comments

Comments
 (0)