diff --git a/html/Setup.php b/html/Setup.php
index b9ecfd0..f346a38 100644
--- a/html/Setup.php
+++ b/html/Setup.php
@@ -1,628 +1,10 @@
-
-
-
-
-
-HelferDB Setup Wizard
-
-
-
-
-
-
HelferDB Setup Wizard
-
-
Diese Seite führt durch die Einrichtung der Helferdatenbank.
-
Schritt 1: Logindaten für Datenbank eingeben
-
Bitte hier zunächst die Logindaten für die Datenbank eingeben. Es muss in der Regel nur ein Passwort vergeben werden und die anderen beiden Werte können unverändert bleiben.
-
-
-
-
Schritt 2: Datenbank einrichten
-
Bitte zunächst mariadb einrichten (oder mysql) und dazu folgendes in der Shell (z.b. bash) eingeben:
-
sudo apt-get install mariadb
-
-
-
-
+
+require_once("Wizard.php");
+
+$wizard = new Wizard();
+
+$wizard->renderPHP();
+
+?>
+
diff --git a/html/Setup.rst b/html/Setup.rst
deleted file mode 100644
index 7a7cdd5..0000000
--- a/html/Setup.rst
+++ /dev/null
@@ -1,54 +0,0 @@
-
-HelferDB Setup Wizard
----------------------
-
-Diese Seite führt durch die Einrichtung der Helferdatenbank.
-
-.. raw:: html
-
-
-
-
-Schritt 1: Logindaten für Datenbank eingeben
-............................................
-
-Bitte hier zunächst die Logindaten für die Datenbank eingeben. Es muss in der Regel nur ein Passwort vergeben werden und die anderen beiden Werte können unverändert bleiben.
-
-.. raw:: html
-
-
-
-
-
-
-.. raw:: html
-
-
-
-
-Schritt 2: Datenbank einrichten
-...............................
-
-Bitte zunächst mariadb einrichten (oder mysql) und dazu folgendes in der Shell (z.b. bash) eingeben:
-
-.. code:: bash
-
- sudo apt-get install mariadb
-
-
-.. raw:: html
-
-
diff --git a/html/Wizard.php b/html/Wizard.php
new file mode 100644
index 0000000..26e9c7a
--- /dev/null
+++ b/html/Wizard.php
@@ -0,0 +1,92 @@
+page = $step['page'];
+ }
+ if(isset($step['redirects'])){
+ $this->redirects = $step['redirects'];
+ }
+ }
+ public function setCurrentStep(){
+ if(!empty($this->redirects)){
+ foreach($this->redirects as $redirect){
+ if(isset($redirect['==']) && isset($redirect['id'])){
+ foreach($redirect['=='] as $key => $value){
+ if(isset($_GET[$key]) && $_GET[$key] == $value){
+ $_GET['step'] = $redirect['id'];
+ }
+ }
+ }
+ if(isset($redirect['!=']) && isset($redirect['id'])){
+ foreach($redirect['!='] as $key => $value){
+ if(isset($_GET[$key]) && $_GET[$key] != $value){
+ $_GET['step'] = $redirect['id'];
+ }
+ }
+ }
+ if(isset($redirect['>']) && isset($redirect['id'])){
+ foreach($redirect['>'] as $key => $value){
+ if(isset($_GET[$key]) && $_GET[$key] > $value){
+ $_GET['step'] = $redirect['id'];
+ }
+ }
+ }
+ if(isset($redirect['<']) && isset($redirect['id'])){
+ foreach($redirect['<'] as $key => $value){
+ if(isset($_GET[$key]) && $_GET[$key] < $value){
+ $_GET['step'] = $redirect['id'];
+ }
+ }
+ }
+ if(isset($redirect['>=']) && isset($redirect['id'])){
+ foreach($redirect['>='] as $key => $value){
+ if(isset($_GET[$key]) && $_GET[$key] >= $value){
+ $_GET['step'] = $redirect['id'];
+ }
+ }
+ }
+ if(isset($redirect['<=']) && isset($redirect['id'])){
+ foreach($redirect['<='] as $key => $value){
+ if(isset($_GET[$key]) && $_GET[$key] <= $value){
+ $_GET['step'] = $redirect['id'];
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+class Wizard {
+ private string $header = "";
+ private string $firststep = "";
+ private array $steps = array();
+ private string $footer = "";
+ public function __construct($json_file = 'setupWizard.json'){
+ $stepsArray = json_decode(file_get_contents($json_file), true);
+ $this->header = $stepsArray['header'];
+ $this->firststep = $stepsArray['firststep'];
+ foreach($stepsArray['steps'] as $step){
+ $this->steps[$step['id']] = new WizardStep($step);
+ }
+ $this->footer = $stepsArray['footer'];
+ }
+ public function renderPHP(){
+ if(isset($_GET['stepfrom'])){
+ $this->steps[$_GET['stepfrom']]->setCurrentStep();
+ }
+ echo $this->header;
+ if(isset($_GET['step'])){
+ echo $this->steps[$_GET['step']]->page;
+ }
+ else{
+ echo $this->steps[$this->firststep]->page;
+ }
+ echo $this->footer;
+ }
+}
+?>
diff --git a/html/setupWizard.json b/html/setupWizard.json
new file mode 100644
index 0000000..e47a17d
--- /dev/null
+++ b/html/setupWizard.json
@@ -0,0 +1,33 @@
+{
+ "header": "\n\n\n\n\nBengelsystem Setup Wizard<\/title>\n<\/head>\nBengelsystem Setup Wizard<\/h1>
Diese Seite führt durch die Einrichtung der Helferdatenbank.<\/p>",
+ "firststep": "selectdatabase",
+ "steps": [
+ {
+ "id": "selectdatabase",
+ "page": "
Datenbanktyp auswählen<\/h2>
Für die meisten Conventions sollte eine SQLite Datenbank ausreichen. In diesem Fall ist die Datenbank in einer einzelnen Datei und es ist nicht nötig eine separate Datenbank aufzusetzen.<\/p>