Changeset 83
- Timestamp:
- 08/25/11 17:52:09 (14 years ago)
- Location:
- Dev/trunk
- Files:
-
- 2 deleted
- 9 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
Dev/trunk/classes/Loader.php
r78 r83 15 15 $surveys = array(); 16 16 17 $surveyDBI = new Survey DatabaseInterface(null);17 $surveyDBI = new SurveyCreationDatabaseInterface(null); 18 18 $surveyIDTitles = $surveyDBI->getExistingSurveys(); 19 19 -
Dev/trunk/classes/SessionCreationTool.php
r72 r83 10 10 private $session; 11 11 private $surveys; 12 private $applications; 12 13 13 14 public function __construct($session = null) { … … 40 41 private function init() { 41 42 $this->surveys = Loader::loadSurveys(); 43 $this->applications = Loader::loadApplications(); 42 44 } 43 45 … … 227 229 ?> 228 230 <select id="applicationsList" size="5" class="width100p"> 231 <?php 232 foreach ($this->applications as $application) { 233 ?> 234 <option name="<?php echo $application->id; ?>" value="<?php echo $application->id; ?>"> 235 <?php echo $application->title; ?> 236 </option> 237 <?php 238 } 239 ?> 229 240 </select> 230 241 <?php -
Dev/trunk/classes/SurveyAnswerDatabaseInterface.php
r82 r83 8 8 9 9 10 class SurveyDatabaseInterface 11 { 12 protected $surveyRDFWriter; 13 protected $surveyRDFReader; 14 protected $questionRDFWriter; 15 protected $questionRDFReader; 16 17 public function __construct($surveyID) 10 class SurveyAnswerDatabaseInterface extends SurveyCreationDatabaseInterface 11 { 12 protected $surveyAnswerRDFReader; 13 protected $surveyAnswerRDFWriter; 14 15 public function __construct($surveyID,$sessionID,$respondentID) 18 16 { 19 if($surveyID == null) 20 $surveyUID = md5( uniqid(rand(), true) ); 17 parent::__construct($surveyID); 18 if($respondentID == null) 19 $respondentID = md5( uniqid(rand(), true) ); 21 20 else 22 $surveyUID = $surveyID; 23 24 $this->surveyRDFWriter = new SurveyRDFWriter($surveyUID); 25 $this->surveyRDFReader = new SurveyRDFReader($surveyUID); 26 $this->questionRDFWriter = new QuestionRDFWriter(); 27 $this->questionRDFReader = new QuestionRDFReader(); 28 } 29 30 public function setSurveyInfo($survey,$user) 31 { 32 $sTitle = $survey['surveyTitle']; 33 $sDescription = $survey['surveyDescription']; 34 35 $this->surveyRDFWriter->createSurvey($sTitle,$sDescription); 36 37 $sUserID = $user['username']; 38 39 $this->surveyRDFWriter->setUserData($sUserID); 40 41 $qNumber = 1; 42 while (isset($survey['questionTitle'.$qNumber])) 43 { 44 $qTitle = $survey['questionTitle'.$qNumber]; 45 $qDescription = $survey['questionDescription'.$qNumber]; 46 $qType = $survey['questionType'.$qNumber]; 47 if (isset($survey['questionID'.$qNumber])) 48 $qID = $survey['questionID'.$qNumber]; 49 else 50 $qID = md5( uniqid(rand(), true) ); 51 52 $qAnswers = array(); 53 $aNumber = 1; 54 while (isset($survey['q'.$qNumber.'ans'.$aNumber])) 55 { 56 $aArray = array(); 57 $aArray['Title'] = 'q'.$qNumber.'ans'.$aNumber; 58 $aArray['Description'] = $survey['q'.$qNumber.'ans'.$aNumber]; 59 $qAnswers[] = $aArray; 60 61 $aNumber++; 62 } 63 64 if(!$this->checkQuestionIDExists($qID)) 65 { 66 $this->questionRDFWriter->createQuestion($qTitle,$qDescription,$qType,$qID,"null","null",$qAnswers); 67 } 68 $this->surveyRDFWriter->addQuestion($qID); 69 70 $qNumber++; 71 } 72 73 $this->surveyRDFWriter->saveSurvey(); 74 $this->questionRDFWriter->saveQuestions(); 75 } 76 77 public function getSurveyInfo() 78 { 79 $surveyInfo = array(); 80 81 $this->questionRDFReader->loadQuestions(); 21 $respondentID = $respondentID; 82 22 83 $resultSurvey = $this->surveyRDFReader->getSurveyInfo(); 84 85 $surveyInfo['surveyID'] = $resultSurvey['info'][0]['?uid']->label; 86 $surveyInfo['surveyTitle'] = $resultSurvey['info'][0]['?title']->label; 87 $surveyInfo['surveyDescription'] = $resultSurvey['info'][0]['?description']->label; 88 $surveyInfo['surveyCreator'] = $resultSurvey['info'][0]['?creator']->label; 89 $surveyQuestionIDs = $resultSurvey['questionIDs']; 90 91 if($surveyQuestionIDs != false) 92 { 93 $qNumber = 1; 94 foreach($surveyQuestionIDs as $qID) 95 { 96 $questionID = $qID['?questionID']->label; 97 $surveyInfo['questionID'.$qNumber] = $questionID; 98 99 $questionTitleObject = $this->questionRDFReader->readQuestionTitle($questionID); 100 $surveyInfo['questionTitle'.$qNumber] = $questionTitleObject[0]['?questionTitle']->label; 101 102 $questionDescriptionObject = $this->questionRDFReader->readQuestionDescription($questionID); 103 $surveyInfo['questionDescription'.$qNumber] = $questionDescriptionObject[0]['?questionDescription']->label; 104 105 $questionTypeObject = $this->questionRDFReader->readQuestionType($questionID); 106 $surveyInfo['questionType'.$qNumber] = $questionTypeObject[0]['?questionType']->label; 107 108 $resultAnswers = $this->questionRDFReader->readQuestionAnswers($questionID); 109 110 if ($resultAnswers != null) 111 { 112 for($aNumber = 1;$aNumber<=sizeof($resultAnswers);$aNumber++) 113 { 114 $surveyInfo['q'.$qNumber.'ans'.$aNumber] = $resultAnswers[$aNumber-1]['?answerDescription']->label; 115 } 116 } 117 $resultAnswers = null; 118 $qNumber++; 119 } 120 } 121 122 return $surveyInfo; 123 } 124 125 public function getExistingSurveys() 126 { 127 $surveyIDs = array(); 128 $surveys = array(); 129 130 if($handle = opendir('data/surveys/')) 131 { 132 while (false !== ($file = readdir($handle))) { 133 if(strstr($file, 'survey_') && strstr($file, '.rdf')) 134 $surveyIDs[] = substr($file,7,strlen($file)-11); 135 } 136 } 137 138 foreach($surveyIDs as $surveyID) 139 { 140 $surveyTitle = $this->surveyRDFReader->getSurveyTitleByID($surveyID); 141 $surveys[$surveyID] = $surveyTitle[0]['?title']->label; 142 } 143 144 return $surveys; 23 $this->surveyAnswerRDFReader = new SurveyAnswerRDFReader($surveyID,$sessionID,$respondentID); 24 $this->surveyAnswerRDFWriter = new SurveyAnswerRDFWriter($surveyID,$sessionID,$respondentID); 145 25 } 146 26 147 public function getSurveyTitleByID($surveyID)27 public function setRespondentInfo($respondentInfo) 148 28 { 149 $surveyTitleLiteral = $this->surveyRDFReader->getSurveyTitleByID($surveyID); 150 $surveyTitle = $surveyTitle[0]['?title']->label; 29 $name = $respondentInfo['username']; 30 $this->surveyAnswerRDFWriter->setRespondentData($name); 31 } 32 33 public function setSurveyAnswers($answer) 34 { 151 35 152 return $surveyTitle;153 }154 155 156 157 public function checkQuestionIDExists($qID)158 {159 $result = false;160 161 $questionIDs = $this->questionRDFReader->readQuestionIDs();162 163 if ($questionIDs != null)164 {165 foreach($questionIDs as $questionID)166 {167 $id = $questionID['?questionID']->label;168 if(!strcmp($id ,$qID))169 {170 $result = true;171 break;172 }173 }174 }175 176 return $result;177 36 } 178 37 } -
Dev/trunk/classes/SurveyAnswerRDFReader.php
r62 r83 4 4 { 5 5 protected $model; 6 protected $respondentID; 7 6 8 protected $filePath; 7 9 8 public function __construct($surveyUID,$sessionID )10 public function __construct($surveyUID,$sessionID,$respondentID) 9 11 { 10 12 … … 12 14 $factory = new ModelFactory(); 13 15 $this->model = $factory->getDefaultModel(); 14 $this->filePath = 'data/surveys/survey_'.$surveyUID . '.rdf';15 16 16 $this->model->load($this->filePath); 17 $this->respondentID = $respondentID; 18 19 $this->filePath = 'data/sessions/' . $sessionID . '/survey_'.$surveyUID . '/'; 17 20 } 18 21 19 public function loadAnsers( $userID)22 public function loadAnsers() 20 23 { 21 $this->model->load($this->filePath.'/answer_'.$this->userUID.'.rdf'); 24 if(file_exists($this->filePath.'questions.rdf')) 25 { 26 $this->model->load($this->filePath.'/answer_'.$this->respondentID.'.rdf'); 27 return true; 28 } 29 else 30 { 31 return false; 32 } 22 33 } 23 34 … … 56 67 } 57 68 58 public function getAnswer ByRespondent($respondentID)69 public function getAnswersByRespondent($respondentID) 59 70 { 60 71 $this->tempModel->loadModel($this->model); -
Dev/trunk/classes/SurveyAnswerRDFWriter.php
r62 r83 3 3 class SurveyAnswerRDFWriter 4 4 { 5 protected $userUID; 6 protected $filePath; 5 protected $surveyID; 6 protected $respondentID; 7 protected $path; 7 8 8 public function __construct($survey UID,$sessionID,$userID)9 public function __construct($surveyID,$sessionID,$respondentID) 9 10 { 10 11 // Create empty MemModel … … 12 13 $this->model = $factory->getDefaultModel(); 13 14 14 $this->filePath = 'data/sessions/' . $sessionID . '/survey_'.$surveyUID . '/'; 15 $this->userID = $userID; 15 $basePath = 'data/sessions/'; 16 $sessionPath = $basePath . $sessionID . '/'; 17 $this->path = $sessionPath .'survey_'.$surveyID . '/'; 18 $this->surveyID = $surveyID; 19 $this->respondentID = $respondentID; 16 20 17 if (!is_dir($this->filePath)) 18 mkdir($this->filePath); 21 if (!is_dir($basePath)) 22 mkdir($basePath); 23 if (!is_dir($sessionPath)) 24 mkdir($sessionPath); 25 if (!is_dir($this->path)) 26 mkdir($this->path); 19 27 } 20 28 21 public function saveSurvey ()29 public function saveSurveyData() 22 30 { 23 $this->model->saveAs($this-> filePath.'/answer_'.$this->userUID.'.rdf','rdf');31 $this->model->saveAs($this->path.'/answer_'.$this->respondentID.'.rdf','rdf'); 24 32 } 25 33 26 34 public function setRespondentData($name) 27 35 { 28 $resourceUser = new Resource(USER . '/' . $this-> userID);36 $resourceUser = new Resource(USER . '/' . $this->respondentID); 29 37 30 38 $resourceUserType = new Resource(USER); … … 32 40 $this->model->add(new Statement($resourceUser,$predicateRType,$resourceUserType)); 33 41 34 $ LiteralUserName = new Literal($name);42 $literalUserName = new Literal($name); 35 43 $predicateName = new Resource(NAME); 36 $this->model->add(new Statement($resourceUser,$predicate UniqueID,$LiteralUserName));44 $this->model->add(new Statement($resourceUser,$predicateName,$literalUserName)); 37 45 38 $literalUserID = new Literal($this-> userUID);46 $literalUserID = new Literal($this->respondentID); 39 47 $predicateUniqueID = new Resource(UID); 40 48 $this->model->add(new Statement($resourceUser,$predicateUniqueID,$literalUserID)); 41 49 42 $predicateRespondent = new Resource(REPONDENT); 43 $this->model->add(new Statement($this->resourceSurvey,$predicateRespondent,$resourceUser)); 50 $resourceSurvey = new Resource(SURVEY.'/'.$this->surveyID); 51 $predicateRespondent = new Resource(RESPONDENT); 52 $this->model->add(new Statement($resourceSurvey,$predicateRespondent,$resourceUser)); 53 54 $this->saveSurveyData(); 44 55 } 45 56 … … 47 58 { 48 59 foreach($answers as $questionID => $answerValue) 49 { 60 { 50 61 $resourceQuestion = new Resource(QUESTION.'/'.$questionID); 51 62 63 $resourceQuestionType = new Resource(QUESTION); 64 $predicateRType = new Resource(RTYPE); 65 $this->model->add(new Statement($resourceQuestion,$predicateRType,$resourceQuestionType)); 66 52 67 $predicateAnswered = new Resource(ANSWERED); 53 68 $answer = new Literal($answerValue); -
Dev/trunk/classes/SurveyCreationDatabaseInterface.php
r82 r83 8 8 9 9 10 class Survey DatabaseInterface10 class SurveyCreationDatabaseInterface 11 11 { 12 12 protected $surveyRDFWriter; -
Dev/trunk/classes/UserDatabaseInterface.php
r82 r83 25 25 $userPassword = $this->RIJNDAEL_encrypt($userInfo['password']); 26 26 27 if( $this->checkUserName($userName))27 if(!$this->checkUserName($userName)) 28 28 { 29 29 $this->userRDFWriter->addNewUser($userName, $userPassword); … … 42 42 foreach($resultUser as $user) 43 43 { 44 $name = $user['?name']->label;44 $name = $user['?name']->label; 45 45 if(!strcmp($name ,$userName)) 46 46 { -
Dev/trunk/data/users
-
Property
svn:ignore
set to
users.rdf
-
Property
svn:ignore
set to
-
Dev/trunk/survey.php
r80 r83 11 11 $surveyID = $_GET['id']; 12 12 13 $surveyDBI = new Survey DatabaseInterface($surveyID);13 $surveyDBI = new SurveyAnswerDatabaseInterface($surveyID,'123','321'); 14 14 $info = $surveyDBI->getSurveyInfo(); 15 $surveyDBI->setRespondentInfo($_SESSION); 16 $surveyDBI->setSurveyAnswers($_POST); 15 17 16 18 $savedSurvey = Survey::getSurvey($info); -
Dev/trunk/surveycreation.php
r82 r83 12 12 if (isset($_POST['UID'])) { 13 13 $surveyID = $_POST['UID']; 14 $surveyDBI = new Survey DatabaseInterface($surveyID);14 $surveyDBI = new SurveyCreationDatabaseInterface($surveyID); 15 15 $info = $surveyDBI->getSurveyInfo(); 16 16 … … 25 25 // var_dump($_POST); 26 26 // echo '<br/><br/>'; 27 $surveyDBI = new Survey DatabaseInterface($_POST['surveyID']);27 $surveyDBI = new SurveyCreationDatabaseInterface($_POST['surveyID']); 28 28 $surveyDBI->setSurveyInfo($_POST,$_SESSION); 29 29 $info = $surveyDBI->getSurveyInfo();
Note: See TracChangeset
for help on using the changeset viewer.