questionRDFWriter = new QuestionRDFWriter(); $this->questionRDFReader = new QuestionRDFReader(); } public function setQuestionInfo($question) { $qCode = $question['questionCode']; $qTitle = $question['questionTitle']; $qDescription = $question['questionDescription']; $qType = $question['questionType']; $qCategory = $question['questionCategory']; $qAnswers = array(); $aNumber = 1; while (isset($question['ans'.$aNumber])) { $qAnswers[] = $question['ans'.$aNumber]; $aNumber++; } if($this->checkQuestionCodeExists($qCode)) { return 'Question code (' . $qCode . ') already in use. Please try a new code.'; } else { $this->questionRDFWriter->createQuestion($qTitle,$qDescription,$qType,$qCode,$qCategory,$qAnswers); $this->questionRDFWriter->saveQuestions(); return 'Question saved'; } } public function getQuestionInfo($qCode) { $questionInfo = array(); $question = $this->questionRDFReader->readQuestionByCode($qCode); $questionInfo['questionTitle'] = $question['title'][0]['?questionTitle']->label; $questionInfo['questionDescription'] = $question['description'][0]['?questionDescription']->label; $questionInfo['questionType'] = $question['type'][0]['?questionType']->label; $questionInfo['questionCategory'] = $question['category'][0]['?questionCategory']->label; if ($question['answers'] != null) { for($aNumber = 1;$aNumber<=sizeof($question['answers']);$aNumber++) { $questionInfo['ans'.$aNumber] = $question['answers'][$aNumber-1]['?answerDescription']->label; } } return $questionInfo; } public function getExistingQuestions() { $questions = array(); $resultQuestions = $this->questionRDFReader->readQuestionCodes(); $this->questionRDFReader->reloadQuestions(); if ($resultQuestions != null) { foreach ($resultQuestions as $questionCodeObject) { $questionCode = $questionCodeObject['?questionCode']->label; $questionTitle = $this->questionRDFReader->readQuestionTitle($questionCode); $questions[$questionCode] = $questionTitle[0]['?questionTitle']->label; } } return $questions; } public function checkQuestionCodeExists($qCode) { $result = false; $questionCodes = $this->questionRDFReader->readQuestionCodes(); if ($questionCodes != null) { foreach($questionCodes as $questionCode) { $code = $questionCode['?questionCode']->label; if(!strcmp($code ,$qCode)) { $result = true; break; } } } return $result; } } ?>