public function convert() { foreach (glob("Model/Json/*.json") as $filename) { $oldquiz = json_decode(file_get_contents($filename), true); $newquiz = new Quiz($oldquiz["name"], $oldquiz["description"]); foreach ($oldquiz["questions"] as $q) { $newquiz->addQuestion(new QuizQuestion($q["question"], $q["option"], $q["correct"])); } file_put_contents("Model/quizes/" . basename($filename) . ".bin", serialize($newquiz)); } }
if ($mode == "simple" || $mode == "accurate") { require "../modules/variables.php"; $numResults = $quiz->getResultsMulti("count"); //function in quiz.php // Insert the questions and options $questionArray = explode("_", $_POST['optionCounts']); //array explode ( string $delimiter , string $string [, int $limit ] ) //explode a string by the delimitor to array $question = array(); for ($i = 0; $i < $_POST['questionCount']; $i++) { if (isset($_POST['question_' . $i])) { if (isset($_POST['uq' . $i])) { // uq:updateQuestion $question_id = $quiz->updateQuestion($_POST['question_' . $i], $_POST['uq' . $i], $member->id); } else { $question_id = $quiz->addQuestion($_POST['question_' . $i], $member->id); } } if ($mode == "simple") { for ($j = 0; $j < $questionArray[$i]; $j++) { if (isset($_POST['q' . $i . 'o' . $j]) && isset($_POST['q' . $i . 'r' . $j])) { if (isset($_POST['uq' . $i . 'o' . $j])) { $quiz->updateOptionMulti($_POST['q' . $i . 'o' . $j], $_POST['q' . $i . 'r' . $j], 1, $_POST['uq' . $i . 'o' . $j], $member->id); //default of weightage = 1 } if (!isset($_POST['uq' . $i . 'o' . $j])) { //function from quiz.php: addOptionMulti($option, $result, $weightage, $question, $memberID) $quiz->addOptionMulti($_POST['q' . $i . 'o' . $j], $_POST['q' . $i . 'r' . $j], 1, $question_id, $member->id); //default of weightage = 1 } }
$quiz = new Quiz(); //get the quiz_id here to use for inserting questions $quiz_id = $quiz->createQuiz($title, $des, $cat, $quiz_picture, $memberid, 'Admin', $display_mode, 2); } //check if the question is null. If not, insert into database. if ($question != null) { ?> <tr bgcolor="#FFCCFF"> <td><span class="style5">Question:</span></td> <td><?php echo $question; ?> </td> </tr> <?php $question_id = $quiz->addQuestion($question, $memberid); } //check if the option is null. If not, insert into database with reference if ($option != null) { ?> <tr> <td align="right"><span class="style5"><input type="radio" disabled="disabled"/></span></td> <td><?php echo $option; ?> </td> <td><span class="style5">Result contributed to? </span></td> <td><?php echo $result_t; ?> </td><td><?php
public function CreateAQuiz($data) { // denna skapar quizen $title = ""; // sätter titeln till tom $description = "no description"; if (isset($data["title"]) && trim($data["title"]) != "") { $title = $data["title"]; } if (isset($data["description"]) && trim($data["description"]) != "") { $description = $data["description"]; } $quiz = new Quiz($title, $description); if ($data["questions"] == null || $title == "") { throw new Exception("No questions in quiz"); } if (strip_tags($title) != $title || strip_tags($description) != $description) { throw new Exception("No tags in my quiz"); } $questioncount = 0; foreach ($data["questions"] as $q) { if (strip_tags($q["title"]) != $q["title"]) { throw new Exception("No tags in questions in my quiz"); } if (!isset($q["options"])) { continue; } $options = array(); $correcModifier = 0; $currentOption = 1; foreach ($q["options"] as $o) { if (trim($o) == "") { if ($q["correct"] > $currentOption) { // om den optionen man är på är mindre än den option som är rätt så plussar den på correct svaret $correcModifier++; } $currentOption++; //och plussar på den man är på så man kan kolla nästa continue; } if (strip_tags($o) != $o) { throw new Exception("No tags in option in my quiz"); } $currentOption++; array_push($options, $o); //lägger in allt i arrayen } if (count($options) == 0) { continue; } $correct = min($q["correct"] - 1 - $correcModifier, count($options) - 1); //denna modifiererar den tar det lägsta i options och sätter om det rätta till den nya anpassade listan (Fick hjälp med denna!) $questioncount++; $quiz->addQuestion(new QuizQuestion($q["title"], $options, $correct)); } if ($questioncount == 0) { throw new Exception("No questions in quiz"); } $count = ""; while (file_exists("Model/quizes/" . $quiz->getTitle() . $count . ".bin")) { if ($count == "") { $count = 1; } else { $count++; } } $this->quizDAL->writeToBin("Model/quizes/" . $quiz->getTitle() . $count . ".bin", $quiz); }