Exemple #1
0
 public function doData($attachment)
 {
     if (!$this->_getAttachmentModel()->canViewAttachment($attachment)) {
         return $this->_controller->responseNoPermission();
     }
     $filePath = $this->_getAttachmentModel()->getAttachmentDataFilePath($attachment);
     if (!file_exists($filePath) || !is_readable($filePath)) {
         // TODO: add support for alternative attachment storage
         return $this->_controller->responseError(new XenForo_Phrase('attachment_cannot_be_shown_at_this_time'));
     }
     $resize = $this->_controller->getInput()->filter(array('max_width' => XenForo_Input::UINT, 'max_height' => XenForo_Input::UINT, 'keep_ratio' => XenForo_Input::UINT));
     $this->_controller->getRouteMatch()->setResponseType('raw');
     $viewParams = array('attachment' => $attachment, 'attachmentFile' => $filePath, 'resize' => $resize, 'skipFileOutput' => $this->_controller->getRequest()->getMethod() === 'HEAD');
     return $this->_controller->responseData('bdApi_ViewApi_Helper_Attachment_Data', $viewParams);
 }
Exemple #2
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);
 }