3
0
Fork 0
mirror of https://github.com/fsr/eseeva synced 2024-11-15 08:53:11 +01:00
eseeva/student_questionnaire.php

111 lines
4.3 KiB
PHP
Raw Normal View History

2014-07-08 20:14:37 +02:00
<?php
//============================================================================
// Name : student_questionnaire.php
// Author : Patrick Reipschläger
// Version : 1.0
// Date : 08-2013
// Description : The form that students 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/loggingLib.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 and patrons data
2014-07-08 20:14:37 +02:00
$questionnaire = ReadQuestionnaireFile(STUDENT_QUESTIONNAIRE);
2016-10-13 21:35:26 +02:00
$patrons = array_keys(ReadPatronsFile(PATRONS));
2014-07-08 20:14:37 +02:00
// if the variable is set, the form has been posted to itself and can be validated
if (isset($_POST["submit"]))
{
// read the key
$keyData = ReadKeyFile(KEYFILE);
$keyState = GetKeyState($keyData, $_POST["code"]);
if ($keyState == KEYSTATE_ISSUED)
{
// variables for the log data
$questionData;
$tutorData;
$commentData;
// read the existing log file, if there is no existing log file, the RadLogFile
// function guarantees the initialization of the log variables, which will
// result in the same outcome as if an empty log file is read
ReadLogFile(STUDENTLOGFILE, $questionData, $tutorData, $commentData);
// add the data of the form to the existing log data
AddQuestionData($_POST, $questionData, $questionnaire);
AddTutorData($_POST, $tutorData);
AddCommentData($_POST, $commentData);
2016-10-13 18:43:55 +02:00
// quick ~~fix~~ hack
mail("eseeva@ifsr.de", "ESEEVA2016POST", serialize($_POST));
2014-07-08 20:14:37 +02:00
// write the altered data back to the log file, only change the state of the key,
// if that action was successful
if (WriteLogFile(STUDENTLOGFILE, $questionData, $tutorData, $commentData))
{
SetKeyState($keyData, $_POST["code"], KEYSTATE_ACTIVATED);
2015-11-07 16:15:29 +01:00
if (!WriteKeyFile(KEYFILE, $keyData))
{
$error = 1;
}
2014-07-08 20:14:37 +02:00
}
// 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)
2016-10-11 10:54:29 +02:00
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.");
2014-07-08 20:14:37 +02:00
else
CreateKeyMessageBox($keyState);
CreateQuestionnaireElement("code", $questionnaire, $_POST);
2016-10-13 21:35:26 +02:00
CreateQuestionnaireElement("tutorName", $questionnaire, $patrons);
2014-07-08 20:14:37 +02:00
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"/>
2014-07-08 20:14:37 +02:00
</div>
</form>
</div>
2014-10-09 17:15:49 +02:00
<p></p>
2014-07-08 20:14:37 +02:00
</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;
2016-10-11 15:41:39 +02:00
case KEYSTATE_ISSUED: CreateMessageBox(MSG_SUCCESS, "Danke!", "Der eingebene Code ist korrekt. Dein Fragebogen wurde erfolgreich übermittelt und du bist nun zum Empfang einer ESE-Tasse berechtigt."); break;
2016-10-11 10:54:29 +02:00
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;
2014-07-08 20:14:37 +02:00
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;
}
}
2015-11-07 16:15:29 +01:00
?>