Example #1
0
 public function bdApi_actionGetResults(array $poll, $canVote, bdApi_ControllerApi_Abstract $controller)
 {
     $poll = $this->preparePoll($poll, $canVote);
     $pollData = $this->prepareApiDataForPoll($poll, $canVote);
     $results = array();
     foreach ($pollData['responses'] as $responseData) {
         $response = $poll['responses'][$responseData['response_id']];
         $resultData = $responseData;
         $resultData['response_vote_count'] = $response['response_vote_count'];
         if (!empty($poll['public_votes'])) {
             $resultData['voters'] = array();
             if (!empty($response['voters'])) {
                 $resultData['voters'] = array_values($response['voters']);
             }
         }
         $results[] = $resultData;
     }
     $data = array('results' => $controller->_filterDataMany($results));
     if (!$controller->_isFieldExcluded('poll')) {
         $data['poll'] = $controller->_filterDataSingle($pollData, array('poll'));
     }
     return $controller->responseData('bdApi_ViewApi_Helper_Poll_Results', $data);
 }