source: Dev/trunk/classes/SurveyAnswerDatabaseInterface.php @ 85

Last change on this file since 85 was 85, checked in by basvannuland, 14 years ago

Base for all databases done. not tested. Need frontend to properly test.

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