3
0
Fork 0
mirror of https://github.com/fsr/eseeva synced 2024-11-15 00:43:12 +01:00

Merge branch 'key_dropdown'

This commit is contained in:
Lucas Woltmann 2016-08-02 11:19:41 +02:00
commit 6a27c9ed5e

View file

@ -35,8 +35,9 @@
// if the user refreshes the page, it will default to the
// access code screen
session_start();
$formState = STATE_ACCESS_SUCCESSFULL;
$formState = STATE_ACTION_NEWCODE;
$keyCode = "";
$keyData = ReadKeyFile(KEYFILE);
// if the variable is set, the form has been posted to itself
// if the submission ids of the post and the form don't match, the
@ -52,7 +53,7 @@
{
// if a key code has been entered, get the state of that key
$keyCode = $_POST["keyCode"];
$keyData = ReadKeyFile(KEYFILE);
//$keyData = ReadKeyFile(KEYFILE);
// if no action was performed on the entered key, simply display its state
if (!isset($_POST["action"]))
$formState = KeyStateToFormState(GetKeyState($keyData, $_POST["keyCode"]));
@ -74,7 +75,7 @@
}
// if the access code was correct and no code was entered
else
$formState = STATE_ACCESS_SUCCESSFULL;
$formState = STATE_ACTION_NEWCODE;
}
// generate a new submission id that is used within the form to prevent double posts
$_SESSION["submissionId"] = rand();
@ -106,14 +107,14 @@
case STATE_ACTION_ACTIVATED:
case STATE_ACTION_USED:
case STATE_ACTION_NEWCODE:
CreateKeyCodeBox("", true);
CreateKeyDropDownBox($keyData, "");
break;
// if previously entered key was not found or the action that should
// be performed has been failed, just display the key code box with
// previously entered value
case STATE_KEY_NONEXISTENT:
case STATE_ACTION_FAILED:
CreateKeyCodeBox($keyCode, true);
CreateKeyDropDownBox($keyData, $keyCode);
break;
// if an existing key has been entered, display the readonly key code box
// and all options that can be performed on the key
@ -190,6 +191,31 @@
echo " </div>\n";
echo "</div>\n";
}
/**
* Echos a drop down box with all keys.
*
* @param string $keyCode The key that should be displayed in the box.
*/
function CreateKeyDropDownBox($keyData, $keyCode)
{
CreateRowHeader();
echo " <div class=\"col-6\">\n";
echo " <p class=\"lead\">ESE Code:</p>\n";
echo " </div>\n";
echo " <div class=\"col-6\">\n";
echo " <select class=\"form-control\" id=\"keyCode\" name=\"keyCode\" required>\n";
foreach ($keyData as $key => $value) {
echo " <option value=\"". $value[0] ."\" ";
if ($keyCode != "" && $keyCode == $value[0]) {
echo "selected=\"selected\"";
}
echo ">".$value[0]."</option>\n";
}
echo " </select>\n";
//echo " <input class=\"form-control\" type=\"text\" id=\"keyCode\" name=\"keyCode\" value=\"" . $keyCode . "\" required";
echo " </div>\n";
echo "</div>\n";
}
/**
* Echos the access code box according the current state of the form.
*
@ -234,7 +260,7 @@
case STATE_ACTION_ISSUED: CreateMessageBox(MSG_SUCCESS, "ESE Code Status geändert:", "Der Schlüssel wurde erfolgreich auf den Status <strong>Ausgegeben</strong> gesetzt. Bitte gib einen ESE Code ein, welchen du überprüfen oder verändern möchtest."); break;
case STATE_ACTION_ACTIVATED: CreateMessageBox(MSG_SUCCESS, "ESE Code Status geändert:", "Der Schlüssel wurde erfolgreich auf den Status <strong>Fragebogen ausgefüllt</strong> gesetzt. Bitte gib einen ESE Code ein, welchen du überprüfen oder verändern möchtest."); break;
case STATE_ACTION_USED: CreateMessageBox(MSG_SUCCESS, "ESE Code Status geändert:", "Der Schlüssel wurde erfolgreich auf den Status <strong>Eingelöst</strong> gesetzt. Bitte gib einen ESE Code ein, welchen du überprüfen oder verändern möchtest."); break;
case STATE_ACTION_NEWCODE: CreateMessageBox(MSG_INFO, "ESE Code eingeben:", "Bitte gib den ESE Code ein, welchen du überprüfen oder verändern möchtest."); break;
case STATE_ACTION_NEWCODE: CreateMessageBox(MSG_INFO, "ESE Code auswählen:", "Bitte wähle den ESE Code aus, welchen du überprüfen oder verändern möchtest."); break;
case STATE_ACTION_FAILED: CreateMessageBox(MSG_DANGER, "Achtung:", "Der Status des angegebenen Schlüssels konnte <strong>nicht geändert</strong> werden! Bitte überprüfe deine Eingabe."); break;
}
}