Changeset 85 for Dev/trunk/classes


Ignore:
Timestamp:
08/30/11 10:43:18 (14 years ago)
Author:
basvannuland
Message:

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

Location:
Dev/trunk/classes
Files:
1 deleted
6 edited
1 moved

Legend:

Unmodified
Added
Removed
  • Dev/trunk/classes/Loader.php

    r83 r85  
    4545        $sessions = array();
    4646       
    47         $sessionDBI = new SessionDatabaseInterface(null);
     47        $sessionDBI = new SessionCreationDatabaseInterface(null);
    4848        $sessionTitles = $sessionDBI->getExistingSessions();
    4949       
  • Dev/trunk/classes/QuestionRDFReader.php

    r82 r85  
    170170                    _question   predicates:resource_type        resources:question ;
    171171                                predicates:uid                  "' . $questionID . '"  ;
    172                                 predicates:has_answer           _answer .
    173                     _answer     predicates:description          ?answerDescription
     172                                predicates:has_answer           ?answerDescription
    174173            }';
    175174
  • Dev/trunk/classes/QuestionRDFWriter.php

    r82 r85  
    5858        foreach($qAnswers as $answer)
    5959        {               
    60             $answerID = md5( uniqid(rand(), true) );   
    61             $resourceAnswer = new Resource(ANSWER.'/'.$answerID);
    62 
    63             $resourceAnswerType = new Resource(ANSWER);
    64             $predicateRType = new Resource(RTYPE);
    65             $this->model->add(new Statement($resourceAnswer,$predicateRType,$resourceAnswerType));     
    66 
    67             $predicateUniqueID = new Resource(UID);
    68             $answerUID = new Literal($answerID);
    69             $this->model->add(new Statement($resourceAnswer,$predicateUniqueID,$answerUID));                   
    70 
    71             $answerTitle = new Literal($answer['Title']);
    72             $this->model->add(new Statement($resourceAnswer,$predicateTitle,$answerTitle));
    73 
    74             $answerDescription = new Literal($answer['Description']);
    75             $this->model->add(new Statement($resourceAnswer,$predicateDescription,$answerDescription));
    76 
     60            $answerValue = new Literal($answer);
    7761            $predicateAnswer = new Resource(HAS_ANSWER);       
    78             $this->model->add(new Statement($resourceQuestion,$predicateAnswer,$resourceAnswer));
     62            $this->model->add(new Statement($resourceQuestion,$predicateAnswer,$answerValue));
    7963        }       
    8064    }
  • Dev/trunk/classes/SessionCreationDatabaseInterface.php

    r82 r85  
    99
    1010
    11 class SessionDatabaseInterface
     11class SessionCreationDatabaseInterface
    1212{               
    1313    protected $sessionRDFWriter;
     
    2222            $sessionUID = $sessionID;
    2323
    24         $this->sessionRDFWriter = new SessionRDFWriter($surveyUID);
    25         $this->sessionRDFReader = new SessionRDFReader($surveyUID);
     24        $this->sessionRDFWriter = new SessionRDFWriter($sessionUID);
     25        $this->sessionRDFReader = new SessionRDFReader($sessionUID);
    2626    }
    2727   
     
    7777             $dashboardUID = substr($dashboardInfo['?uid'],9,strlen($dashboardInfo['?uid'])-11);
    7878             $dashboardIndex = substr($dashboardInfo['?index'],9,strlen($dashboardInfo['?index'])-11);
    79              $sessionInfo[$dashboardIndex . 's'] = $dashboardUID;
     79             $sessionInfo[$dashboardIndex . 'd'] = $dashboardUID;
    8080        }
    8181    }
  • Dev/trunk/classes/SurveyAnswerDatabaseInterface.php

    r83 r85  
    2424        $this->surveyAnswerRDFWriter = new SurveyAnswerRDFWriter($surveyID,$sessionID,$respondentID);
    2525    }
    26    
     26       
    2727    public function setRespondentInfo($respondentInfo)
    2828    {
     
    3131    }
    3232   
    33     public function setSurveyAnswers($answer)
     33    public function setSurveyAnswers($answers)
    3434    {
     35        $questionAnswerList = array();
    3536       
     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);
    3657    }
    3758}
  • Dev/trunk/classes/SurveyAnswerRDFWriter.php

    r83 r85  
    2525        if (!is_dir($this->path))
    2626              mkdir($this->path);
     27        if(file_exists($this->path.'/answer_'.$this->respondentID.'.rdf'))
     28            $this->model->load($this->path.'/answer_'.$this->respondentID.'.rdf');
    2729    }
    2830
    2931    public function saveSurveyData()
    30     {           
     32    {
    3133        $this->model->saveAs($this->path.'/answer_'.$this->respondentID.'.rdf','rdf');
    3234    }
     
    5153        $predicateRespondent = new Resource(RESPONDENT);
    5254        $this->model->add(new Statement($resourceSurvey,$predicateRespondent,$resourceUser));
    53        
    54         $this->saveSurveyData();
    5555    }
    5656
    5757    public function setAnswers($answers)
    5858    {
    59         foreach($answers as $questionID => $answerValue)
     59        foreach($answers as $questionID => $answerValues)
    6060        {
    6161            $resourceQuestion = new Resource(QUESTION.'/'.$questionID);
     
    6565            $this->model->add(new Statement($resourceQuestion,$predicateRType,$resourceQuestionType));
    6666           
    67             $predicateAnswered = new Resource(ANSWERED);       
    68             $answer = new Literal($answerValue);
    69             $this->model->add(new Statement($resourceQuestion,$predicateAnswered,$answer));
     67            foreach($answerValues as $answerValue)
     68            {
     69                $predicateAnswered = new Resource(ANSWERED);   
     70                $answer = new Literal($answerValue);
     71                $this->model->add(new Statement($resourceQuestion,$predicateAnswered,$answer));
     72            }
    7073        }
    7174    }
  • Dev/trunk/classes/SurveyCreationDatabaseInterface.php

    r83 r85  
    5454            while (isset($survey['q'.$qNumber.'ans'.$aNumber]))
    5555            {
    56                 $aArray = array();
    57                 $aArray['Title'] = 'q'.$qNumber.'ans'.$aNumber;
    58                 $aArray['Description'] = $survey['q'.$qNumber.'ans'.$aNumber];
    59                 $qAnswers[] = $aArray;
     56                $qAnswers[] = $survey['q'.$qNumber.'ans'.$aNumber];
    6057
    6158                $aNumber++;
     
    7370        $this->surveyRDFWriter->saveSurvey();
    7471        $this->questionRDFWriter->saveQuestions();
     72    }
     73   
     74    public function saveQuestion($questionInfo)
     75    {
     76        $qTitle = $survey['questionTitle'.$qNumber];
     77        $qDescription = $survey['questionDescription'.$qNumber];
     78        $qType = $survey['questionType'.$qNumber];
     79        if (isset($survey['questionID'.$qNumber]))
     80            $qID = $survey['questionID'.$qNumber];
     81        else
     82            $qID = md5( uniqid(rand(), true) );
     83
     84        $qAnswers = array();
     85        $aNumber = 1;
     86        while (isset($survey['q'.$qNumber.'ans'.$aNumber]))
     87        {
     88            $aArray = array();
     89            $aArray['Title'] = 'q'.$qNumber.'ans'.$aNumber;
     90            $aArray['Description'] = $survey['q'.$qNumber.'ans'.$aNumber];
     91            $qAnswers[] = $aArray;
     92
     93            $aNumber++;
     94        }
     95       
     96        if(!$this->checkQuestionIDExists($qID))
     97        {
     98            $this->questionRDFWriter->createQuestion($qTitle,$qDescription,$qType,$qID,"null","null",$qAnswers);
     99        }
    75100    }
    76101
     
    122147        return $surveyInfo;
    123148    }
    124 
     149   
    125150    public function getExistingSurveys()
    126151    {
Note: See TracChangeset for help on using the changeset viewer.