mirror of
https://github.com/fsr/eseeva
synced 2024-11-15 08:53:11 +01:00
99 lines
3.8 KiB
PHP
Executable file
99 lines
3.8 KiB
PHP
Executable file
<?php
|
|
//============================================================================
|
|
// Name : tutor_questionnaire.php
|
|
// Author : Patrick Reipschläger, Lucas Woltmann
|
|
// Version : 2.0
|
|
// Date : 01-2017
|
|
// Description : The form that tutors have to fill in
|
|
// for the ESE evaluation.
|
|
//============================================================================
|
|
|
|
include_once 'libs/formLib.php';
|
|
include_once 'libs/questionnaireLib.php';
|
|
include_once 'libs/keyLib.php';
|
|
include_once 'libs/dbLib.php';
|
|
|
|
// indicates if an error occurred and what error
|
|
$error = 0;
|
|
// Determines if a message box is shown, and what type of message box is shown
|
|
$keyState = "";
|
|
// load the questionnaire data
|
|
$questionnaire = ReadQuestionnaireFile(TUTOR_QUESTIONNAIRE);
|
|
// if the variable is set, the form has been posted to itself and can be validated
|
|
if (isset($_POST["submit"]))
|
|
{
|
|
// read the key state
|
|
$keyState = GetKeyState(KEYFILE, $_POST["code"]);
|
|
if ($keyState == KEYSTATE_ISSUED)
|
|
{
|
|
// variables for the log data, tutor data is not needed but must be present
|
|
$questionData = array();
|
|
$tutorData = array();
|
|
$commentData;
|
|
|
|
// add the data of the form to the legacy data structure
|
|
AddQuestionData($_POST, $questionData, $questionnaire);
|
|
AddCommentData($_POST, $commentData);
|
|
|
|
// write the new data back to the database, only change the state of the key,
|
|
// if that action was successful
|
|
// Uses $student=0 to imply that a tutor answered the questionnaire.
|
|
if (WriteLogDatabase(LOGDB, 0, $questionData, $tutorData, $commentData, $_POST["code"]))
|
|
{
|
|
if (!SetKeyState(KEYFILE, $_POST["code"], KEYSTATE_ACTIVATED))
|
|
{
|
|
$error = 1;
|
|
}
|
|
}
|
|
// otherwise set the error flag
|
|
else
|
|
$error = 1;
|
|
}
|
|
}
|
|
?>
|
|
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>ESE Evaluation für Studenten</title>
|
|
<link rel="stylesheet" type="text/css" href="css/bootstrap.css">
|
|
<link rel="stylesheet" type="text/css" href="css/style.css">
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<form action="" method="post">
|
|
<?php
|
|
CreateQuestionnaireElement("headline", $questionnaire, $_POST);
|
|
if ($error)
|
|
CreateMessageBox(MSG_DANGER, "Achtung:", "Deine Evaluation konnte aufgrund eines internen Fehlers leider nicht erfolgreich bearbeitet werden.<br/>Bitte versuch es später noch einmal oder wende dich an einen der Verantwortlichen.");
|
|
else
|
|
CreateKeyMessageBox($keyState);
|
|
CreateQuestionnaireElement("code", $questionnaire, $_POST);
|
|
CreateQuestionnaireElement("legend", $questionnaire, $_POST);
|
|
CreateAllQuestionElements($questionnaire, $_POST);
|
|
CreateQuestionnaireElement("comment", $questionnaire, $_POST);
|
|
?>
|
|
<div class="row">
|
|
<input class="form-control btn-success" type="submit" name="submit" value="Absenden"/>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</body>
|
|
</html>
|
|
|
|
<?php
|
|
|
|
function CreateKeyMessageBox($keyState)
|
|
{
|
|
switch($keyState)
|
|
{
|
|
case KEYSTATE_NONEXISTENT: CreateMessageBox(MSG_DANGER, "Achtung!", "Der angegebene Code konnte nicht verifiziert werden. Bitte überprüfe deine Eingabe."); break;
|
|
case KEYSTATE_UNISSUED: CreateMessageBox(MSG_DANGER, "Achtung!", "Der angegebene Code ist ungültig."); break;
|
|
case KEYSTATE_ISSUED: CreateMessageBox(MSG_SUCCESS, "Danke!", "Der eingegebene Code ist korrekt. Dein Fragebogen wurde erfolgreich übermittelt und du bist nun zum Emfang einer ESE-Tasse berechtigt."); break;
|
|
case KEYSTATE_ACTIVATED: CreateMessageBox(MSG_DANGER, "Achtung!", "Der angegebene Code ist wurde bereits zum Ausfüllen eines Fragebogens verwendet. Es darf pro Student nur ein Fragebogen ausgefüllt werden."); break;
|
|
case KEYSTATE_USED: CreateMessageBox(MSG_DANGER, "Achtung!", "Der angegebene Code ist wurde bereits eingelöst. Es darf pro Student nur eine ESE-Tasse ausgegeben werden."); break;
|
|
}
|
|
}
|
|
?>
|