<?php //============================================================================ // Name : analysis.php // Author : Patrick Reipschläger, Lucas Woltmann // Version : 0.5 // Date : 08-2013 // Description : Analysis a ESE Evaluation log file. The file that is analysed // may be passed as parameter with the URL. //============================================================================ include_once 'libs/formLib.php'; include_once 'libs/questionnaireLib.php'; include_once 'libs/loggingLib.php'; include_once 'libs/chartLib.php'; // variables for the log data $questionData; $tutorData; $commentData; // Default log file is the student log file defined in 'loggingLib.php' $logFile = STUDENTLOGFILE; // if a logFile parameter has been passed in the URL, than that value will // be used instead of the default value (with the added folder name) if (isset($_GET["logFile"])) $logFile = "logs/" . $_GET["logFile"]; // 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($logFile, $questionData, $tutorData, $commentData); ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>ESE Evaluation Analyse</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"> <?php CreateHeadline("ESE Evaluation - Data Analysis"); // if there was any question Data in the log file, display it if (count($questionData) > 0) { CreateSectionHeader("Question Evaluation"); CreateLegend(); foreach ($questionData as $question) { CreateRowHeader(); echo " <div class=\"col-sm-8\">\n"; // The question itself echo " <p class=\"lead\"><span>" . $question[0]; //average echo "</span><span style=\"float:right;\">⌀" . round( ($question[1]+2*$question[2]+3*$question[3]+4*$question[4]+5*$question[5]) /(array_sum(array_slice($question,1,5))), 2) . "</span>\n"; echo "</p>\n"; echo " </div>\n"; echo " <div class=\"col-sm-4\">\n"; echo " <div class=\"row\">\n"; $width = 800; $height = 300; //find max of answers to set max of x-axis, max of y-axis is always seven, because there are six possibilities to answer $values = $question; array_shift($values); $maxX = max($values)+1; $maxY = 7; $img = CreateImage($width, $height); // the amount of answers for the different options and a nice group of bars for ($i = 1; $i < 7; $i++) { echo " <div class=\"col-2\"><p class=\"lead center\">" . $question[$i] . "</p></div>\n"; $green = 150*($question[$i]/$maxX) + 40; $color = ImageColorAllocate($img, 0.57 * $green, $green, 0.45 * $green); DrawBar($img, $question[$i], $maxX, $i+1, $maxY, $question[$i], $color); } //finish image and save it $caption = array("N/A","--","-", "0", "+", "++"); DrawCoords($img, $maxX, $maxY, $caption); $file=str_replace("?", "", str_replace(" ", "", $question[0])); ImagePNG($img,"question".$file.".png"); ImageDestroy($img); echo " </div>\n"; echo " </div>\n"; echo " <div class=\"col-sm-3\">\n"; echo " </div>\n"; echo " <div class=\"col-sm-9\">\n"; echo " <img src=\"question".$file.".png\" class=\"lead center\">"; echo " </div>\n"; echo "</div>\n"; } } // if there was any tutor Data in the log file, display it if (count($tutorData) > 0) { CreateSectionHeader("Tutor Evaluation"); CreateLegend(); foreach ($tutorData as $tutorName => $tutor) { CreateRowHeader(); echo " <div class=\"col-sm-8\">\n"; // the name of the tutor echo " <p class=\"lead\"><span>" . $tutorName . "</span>\n"; //average echo "<span style=\"float:right;\">⌀" . round( ($tutor[0]+2*$tutor[1]+3*$tutor[2]+4*$tutor[3]+5*$tutor[4]) /(array_sum($tutor)-$tutor[5]), 2) . "</span>\n"; echo "</p>\n"; echo " </div>\n"; echo " <div class=\"col-sm-4\">\n"; echo " <div class=\"row\">\n"; $width = 800; $height = 300; //find max of answers to set max of x-axis, max of y-axis is always seven, because there are six possibilities to answer $maxX = max($tutor)+1; $maxY = 7; $img = CreateImage($width, $height); // the amount of answers for the different options and a picture for ($i = 0; $i < 6; $i++) { echo " <div class=\"col-2\"><p class=\"lead center\">" . $tutor[$i] . "</p></div>\n"; $green = 150*($tutor[$i]/$maxX) + 40; $color = ImageColorAllocate($img, 0.54 * $green, $green, 0.45 * $green); DrawBar($img, $tutor[$i], $maxX, $i+2, $maxY, $tutor[$i], $color); } //finish image and save it $caption = array("N/A","--","-", "0", "+", "++"); DrawCoords($img, $maxX, $maxY, $caption); $file = str_replace(" ", "", $tutorName); ImagePNG($img,"tutor".$file.".png"); ImageDestroy($img); echo " </div>\n"; echo " </div>\n"; echo " <div class=\"col-sm-3\">\n"; echo " </div>\n"; echo " <div class=\"col-sm-9\">\n"; echo " <img src=\"tutor".$file.".png\" class=\"lead center\">"; echo " </div>\n"; echo "</div>\n"; } } // if there was any comment Data in the log file, display it if (count($commentData) > 0) { CreateSectionHeader("Comments"); foreach ($commentData as $comment) // replace all new lines with html breaks to properly display multi-line comments CreateParagraph(str_replace("\n", "<br/>\n", $comment)); } ?> </div> </body> </html>