questionRDFWriter = new QuestionRDFWriter(); $this->questionRDFReader = new QuestionRDFReader(); } public function setQuestionInfo($question) { $qCode = $question['questionCode']; $qTitle = $question['questionTitle']; $qDescription = $question['questionDescription']; $qType = $question['questionType']; $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,"null",$qAnswers); $this->questionRDFWriter->saveQuestions(); return 'Question saved'; } } public function getQuestionInfo($qCode) { $questionInfo - array(); $questionTitleObject = $this->questionRDFReader->readQuestionTitle($qCode); $questionInfo['questionTitle'] = $questionTitleObject[0]['?questionTitle']->label; $questionDescriptionObject = $this->questionRDFReader->readQuestionDescription($qCode); $questionInfo['questionDescription'] = $questionDescriptionObject[0]['?questionDescription']->label; $questionTypeObject = $this->questionRDFReader->readQuestionType($qCode); $questionInfo['questionType'] = $questionTypeObject[0]['?questionType']->label; $resultAnswers = $this->questionRDFReader->readQuestionAnswers($qCode); if ($resultAnswers != null) { for($aNumber = 1;$aNumber<=sizeof($resultAnswers);$aNumber++) { $questionInfo['ans'.$aNumber] = $resultAnswers[$aNumber-1]['?answerDescription']->label; } } } public function getExistingQuestions() { $questions = array(); $resultQuestions = $this->questionRDFReader->readQuestionCodes(); if ($resultQuestions != null) { foreach ($resultQuestions as $questionCodeObject) { $questionCode = $questionCodeObject[0]['?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; } } ?>