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 = " " ;
2014-07-21 15:48:40 +02:00
// load the questionnaire and patrons data
2014-07-08 20:14:37 +02:00
$questionnaire = ReadQuestionnaireFile ( STUDENT_QUESTIONNAIRE );
2014-07-21 15:48:40 +02:00
$patrons = 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 );
// 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-08-05 10:06:21 +02:00
CreateQuestionnaireElement ( " tutorName " , $questionnaire , array_keys ( $patrons ));
2014-07-08 20:14:37 +02:00
CreateQuestionnaireElement ( " legend " , $questionnaire , $_POST );
CreateAllQuestionElements ( $questionnaire , $_POST );
CreateQuestionnaireElement ( " comment " , $questionnaire , $_POST );
?>
< div class = " row " >
2016-08-01 15:08:21 +02:00
< 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
?>