[137] | 1 | <?php
|
---|
| 2 | // Survey database interface class as intermediate for storing data from the site to the RDF database
|
---|
| 3 | require_once 'rdfConstants.php';
|
---|
| 4 |
|
---|
| 5 | // Include RAP Library to write RDF files
|
---|
| 6 | include(RDFAPI_INCLUDE_DIR . "RDFAPI.php");
|
---|
| 7 |
|
---|
| 8 | class SurveyAnswerDatabaseInterface extends SurveyCreationDatabaseInterface
|
---|
| 9 | {
|
---|
| 10 | protected $surveyAnswerRDFReader;
|
---|
| 11 | protected $surveyAnswerRDFWriter;
|
---|
| 12 |
|
---|
| 13 | public function __construct($surveyID,$sessionID,$respondentID)
|
---|
| 14 | {
|
---|
| 15 | parent::__construct($surveyID);
|
---|
| 16 | if($respondentID == null)
|
---|
| 17 | $respondentID = md5( uniqid(rand(), true) );
|
---|
| 18 | else
|
---|
| 19 | $respondentID = $respondentID;
|
---|
| 20 |
|
---|
| 21 | $this->surveyAnswerRDFReader = new SurveyAnswerRDFReader($surveyID,$sessionID,$respondentID);
|
---|
| 22 | $this->surveyAnswerRDFWriter = new SurveyAnswerRDFWriter($surveyID,$sessionID,$respondentID);
|
---|
| 23 | }
|
---|
| 24 |
|
---|
| 25 | public function setRespondentInfo($respondentInfo)
|
---|
| 26 | {
|
---|
| 27 | $name = $respondentInfo['username'];
|
---|
| 28 | $this->surveyAnswerRDFWriter->setRespondentData($name);
|
---|
| 29 | }
|
---|
| 30 |
|
---|
| 31 | public function setSurveyAnswers($answers)
|
---|
| 32 | {
|
---|
| 33 | $questionAnswerList = array();
|
---|
| 34 |
|
---|
| 35 | $qNumber = 1;
|
---|
| 36 | while (isset($survey['questionID'.$qNumber]))
|
---|
| 37 | {
|
---|
| 38 | $qID = $survey['questionID'.$qNumber];
|
---|
| 39 | $aArray = array();
|
---|
| 40 |
|
---|
| 41 | $aNumber = 1;
|
---|
| 42 | while (isset($survey['q'.$qNumber.'result'.$aNumber]))
|
---|
| 43 | {
|
---|
| 44 | $aArray[] = $survey['q'.$qNumber.'result'.$aNumber];
|
---|
| 45 |
|
---|
| 46 | $aNumber++;
|
---|
| 47 | }
|
---|
| 48 |
|
---|
| 49 | $questionAnswerList[$qID] = $aArray;
|
---|
| 50 |
|
---|
| 51 | $qNumber++;
|
---|
| 52 | }
|
---|
| 53 |
|
---|
| 54 | $this->surveyAnswerRDFWriter->setAnswers($questionAnswerList);
|
---|
| 55 | }
|
---|
| 56 | }
|
---|
| 57 | ?> |
---|