コード例 #1
0
ファイル: service.php プロジェクト: hardikamutech/loov
 public function requestQuestionValueList($fbUserId, $questionNameList = null, $userId = null)
 {
     $fieldDtoList = empty($questionNameList) ? $this->fieldDao->findAll() : $this->fieldDao->findListByQuestionList($questionNameList);
     $converterList = array();
     $fbFields = array();
     foreach ($fieldDtoList as $fieldDto) {
         /* @var $fieldDto FBCONNECT_BOL_Field */
         $allowedFBFields = $this->getPossibleFbFieldList($fieldDto->question);
         if (in_array($fieldDto->fbField, $allowedFBFields)) {
             $fbFields[$fieldDto->fbField] = $fieldDto->fbField;
         }
     }
     $fbFields = array_values($fbFields);
     $fbFieldValues = $this->fbGetFieldValueList($fbUserId, $fbFields);
     $out = array();
     foreach ($fieldDtoList as $fieldDto) {
         /* @var $fieldDto FBCONNECT_BOL_Field */
         if (empty($fbFieldValues[$fieldDto->fbField])) {
             continue;
         }
         $class = $fieldDto->converter;
         if (empty($converterList[$class])) {
             $converter = new $class($userId);
         }
         $out[$fieldDto->question] = $converter->convert($fieldDto->question, $fieldDto->fbField, $fbFieldValues[$fieldDto->fbField]);
     }
     return $out;
 }