コード例 #1
0
ファイル: ezsurveyresult.php プロジェクト: heliopsis/ezsurvey
 function &fetchQuestionResultList($asObject = false, $persistent = true)
 {
     $rows = eZPersistentObject::fetchObjectList(eZSurveyQuestionResult::definition(), null, array('result_id' => $this->attribute('id')), false, null, $asObject);
     if ($asObject) {
         return $rows;
     }
     $extraResultArray = array();
     if ($persistent === true) {
         $extraResults = eZPersistentObject::fetchObjectList(eZSurveyQuestionMetaData::definition(), null, array('result_id' => $this->attribute('id')), false, null, $asObject);
         if (count($extraResults) > 0) {
             foreach ($extraResults as $extraResult) {
                 $extraResultArray[$extraResult['question_id']] = $extraResult;
             }
         }
     }
     $resultRows = array();
     foreach ($rows as $row) {
         if (!isset($resultRows[(string) $row['question_id']])) {
             $resultRows[(string) $row['question_id']] = array();
         }
         $resultRows[(string) $row['question_id']]['content'][$row['text']] = $row['text'];
         $resultRows[(string) $row['question_id']]['text'] = $row['text'];
         if (isset($extraResultArray[(string) $row['question_id']])) {
             $resultRows[(string) $row['question_id']]['extra_info'] = $extraResultArray[(string) $row['question_id']];
         }
     }
     return $resultRows;
 }
コード例 #2
0
 function &fetchResultItem($question, $result_id, $metadata = false)
 {
     $labelArray = array();
     foreach ($question->Options as $option) {
         $labelArray[$option['value']] = $option['label'];
     }
     $result = eZPersistentObject::fetchObjectList(eZSurveyQuestionResult::definition(), 'text', array('question_id' => $question->attribute('id'), 'result_id' => $result_id), array(), null, false);
     $extraResult = eZPersistentObject::fetchObjectList(eZSurveyQuestionMetaData::definition(), 'text', array('question_id' => $question->attribute('id'), 'result_id' => $result_id), array(), null, false);
     $resultArray = array();
     foreach (array_keys($result) as $key) {
         $label = '';
         $extraValue = '';
         if (isset($result[$key]['text']) and isset($labelArray[$result[$key]['text']])) {
             $label = $labelArray[$result[$key]['text']];
         }
         if (isset($extraResult[0]['name']) and $extraResult[0]['name'] == $result[$key]['text']) {
             $extraValue = $extraResult[0]['value'];
             $label = $question->ExtraInfo['extra_info']['label'];
         }
         $resultArray[] = array('value' => $result[$key]['text'], 'label' => $label, 'extra_value' => $extraValue);
     }
     $result = array('result' => $resultArray);
     return $result;
 }
コード例 #3
0
 static function instance($resultID, $questionID, $questionOriginalID, $name = false, $value = false)
 {
     $rows = array('result_id' => $resultID, 'question_id' => $questionID, 'question_original_id' => $questionOriginalID);
     $surveyResult = eZPersistentObject::fetchObject(eZSurveyQuestionMetaData::definition(), null, array('result_id' => $resultID, 'question_id' => $questionID, 'question_original_id' => $questionOriginalID));
     if ($surveyResult) {
         if ($name !== false) {
             $surveyResult->setAttribute('name', $name);
         }
         if ($value !== false) {
             $surveyResult->setAttribute('value', $value);
         }
         return $surveyResult;
     }
     if ($name !== false) {
         $rows['name'] = $name;
     }
     if ($value !== false) {
         $rows['value'] = $value;
     }
     return new eZSurveyQuestionMetaData($rows);
 }