Skip to main navigation Skip to main content Skip to page footer

Main Modul

  • Grundfunktionalität. Grundlegende Konfiguration, Erstellen von Rechnungen, Rechnungsübersicht.
  • Dropdown-Menü enthält:
    • Konfiguration
    • Rechnungserstellung
    • Rechnungsübersicht
    • Support

Datenbankverbindung testen:

Eingabefelder:

  1. DB-Host (Standard: localhost vorbelegt)
  2. DB-Name
  3. DB-User
  4. DB-Passwort

Aktion:

  • Der Administrator gibt die Verbindungsdetails für die Datenbank ein und klickt auf „DB-Verbindung testen“.
  • Technisch: Beim Klick auf den Button wird ein AJAX-Request an den Server gesendet, der die Eingabewerte überträgt (DB-Host, DB-Name, DB-User, DB-Passwort).

Test:

  • Serverseitig: Der Server versucht, eine Verbindung zur Datenbank unter Verwendung der angegebenen Verbindungsdetails herzustellen. Dies geschieht mithilfe einer PDO-Verbindung (MySQL oder PostgreSQL), abhängig vom konfigurierten Treiber.

Rückmeldung:

  1. Bei erfolgreicher Verbindung:
    • Der Server sendet eine Rückmeldung mit der Nachricht: „DB-Verbindung erfolgreich!“.
    • Technisch: Der Server prüft die Verbindung und sendet einen JSON-Antwort mit dem Status success und einer Erfolgsnachricht zurück.
    • Button „Zugangsdaten speichern“ anzeigen:
      • Nachdem die Verbindung erfolgreich getestet wurde, wird der Button „Zugangsdaten speichern“ eingeblendet. Dieser Button ermöglicht es dem Administrator, die Verbindungsdaten in einer Konfigurationsdatei zu speichern.
  2. Bei fehlerhafter Verbindung:
    • Falls die Verbindung fehlschlägt (z.B. Fehlercode 1045), wird eine detaillierte Fehlermeldung angezeigt: „Verbindung fehlgeschlagen: Fehler 1045“.
    • Technisch: Die Fehlernachricht wird serverseitig erfasst und dem Client als JSON-Antwort zurückgegeben, damit sie im Frontend angezeigt wird.

Speichern der DB-Zugangsdaten (nach erfolgreichem Test):

Aktion:

  • Wenn die Verbindung erfolgreich getestet wurde, kann der Administrator die Daten durch Klicken auf „Zugangsdaten speichern“ sichern.

Speicherung:

  • Daten: Die Eingabewerte (DB-Host, DB-Name, DB-User, DB-Passwort) werden in einer Konfigurationsdatei (z.B. db_config.ini) gespeichert.
  • Verschlüsselung: Das Passwort wird verschlüsselt in der Datei gespeichert, um es vor unbefugtem Zugriff zu schützen. Zum Beispiel könnte eine AES-Verschlüsselung verwendet werden, um das Passwort zu sichern.
    • Die Datei wird mit restriktiven Berechtigungen gesichert, sodass nur der Server auf die Konfigurationsdatei zugreifen kann.
    • Technisch: Die Verschlüsselung erfolgt mit einer sicheren Methode (z.B. AES-256-CBC) unter Verwendung eines geheimen Schlüssels, der in der Konfigurationsdatei nicht gespeichert wird.

Hinweis:

  • Das Passwort wird niemals im Klartext gespeichert, sondern nur die verschlüsselte Version wird in der Konfigurationsdatei abgelegt.

Verwaltung von Konfigurationsdaten:

Anzeige:

  • Die gespeicherten Verbindungsdaten (DB-Host, DB-Name, DB-User) können im Formular angezeigt werden, jedoch wird das Passwort nicht angezeigt. Stattdessen wird nur angezeigt, dass das Passwort gespeichert wurde.

Datenänderung:

  • Falls der Administrator die Konfigurationsdaten ändern möchte, können die Felder bearbeitet werden. Nach dem Testen der neuen Verbindung und der Bestätigung werden die Daten in der Konfigurationsdatei aktualisiert.

DB-Tabellen einrichten:

Aktion:

  • Nach erfolgreichem Test und dem Speichern der Verbindung kann der Administrator auf die Schaltfläche „DB einrichten“ klicken.

Funktion:

  • Serverseitig: Der Server prüft, ob die erforderlichen Tabellen für die Erweiterung existieren. Wenn diese nicht vorhanden sind, werden sie automatisch erstellt.
    • Technisch: Dies könnte durch den Aufruf eines SQL-Skripts oder einer Migration erfolgen, das die notwendigen Tabellen erstellt.

Feedback:

  • Der Administrator erhält eine Rückmeldung darüber, ob die Tabellen erfolgreich erstellt wurden oder ob ein Fehler aufgetreten ist.

Erforderliche Menüpunkte im Dropdown-Menü:

Menüpunkte:

Die notwendigen Punkte für das Dropdown-Menü sind:

  1. Konfiguration
  2. Rechnungserstellung
  3. Rechnungsübersicht
  4. Support

Erweiterbarkeit:

Diese Punkte sind in der ext_config.php gespeichert. Jede Erweiterung, die hinzugefügt wird, kann diese Konfiguration um ihre eigenen Punkte erweitern. Eine zusätzliche Erweiterung könnte zum Beispiel einen Punkt für Kundenverwaltung hinzufügen.

Die zentrale Konfigurationsdatei ermöglicht es, dass neue Erweiterungen ihre Menüeinträge direkt hinzufügen, ohne den bestehenden Code zu verändern.