/**
  * @see Accessible\Handler::execute
  */
 public function execute($params)
 {
     $liteRequestProcessor = new LiteRequestProcessor();
     $message = $liteRequestProcessor->executeRequest('GetMessage', (object) array('id' => $params->messageId));
     $markAsRead = $liteRequestProcessor->executeRequest('MarkAsRead', (object) array('ids' => $params->messageId, 'asRead' => '1'));
     if ($message->subject == '') {
         $message->subject = '(sem assunto)';
     }
     $attachments = $this->formatAttachments($message->attachments, $params->messageId);
     $this->showTemplate('OpenMessageTemplate', (object) array('folderName' => $params->folderName, 'message' => $message, 'bodyMessage' => MessageUtils::getSanitizedBodyContent($message->body->message), 'quotedMessage' => MessageUtils::getSanitizedBodyContent($message->body->quoted), 'formattedDate' => DateUtils::getFormattedDate(strtotime($message->received), true), 'page' => $params->page, 'lnkBack' => $this->makeUrl('Mail.Main', array('folderId' => $params->folderId, 'page' => $params->page)), 'lnkDelete' => $this->makeUrl('Mail.DeleteMessage', array('folderName' => $params->folderName, 'messageIds' => $params->messageId, 'folderId' => $params->folderId)), 'lnkMark' => $this->makeUrl('Mail.MarkMessageAsUnread', array('folderName' => $params->folderName, 'messageIds' => $params->messageId, 'folderId' => $params->folderId)), 'lnkReply' => $this->makeUrl('Mail.ComposeMessage', array('folderId' => $params->folderId, 'folderName' => $params->folderName, 'page' => $params->page, 'messageId' => $params->messageId, 'reply' => 'yes', 'attachments' => urlencode(json_encode($attachments)))), 'lnkReplyAll' => $this->makeUrl('Mail.ComposeMessage', array('folderId' => $params->folderId, 'folderName' => $params->folderName, 'page' => $params->page, 'messageId' => $params->messageId, 'replyAll' => 'yes', 'attachments' => urlencode(json_encode($attachments)))), 'lnkForward' => $this->makeUrl('Mail.ComposeMessage', array('folderId' => $params->folderId, 'folderName' => $params->folderName, 'page' => $params->page, 'messageId' => $params->messageId, 'forward' => 'yes', 'attachments' => urlencode(json_encode($attachments)))), 'attachmentsForExhibition' => $attachments, 'lnkMoveMsgToFolder' => $this->makeUrl('Mail.OpenFolder', array('folderId' => $params->folderId, 'folderName' => $params->folderName, 'page' => $params->page, 'messageIds' => $params->messageId, 'isMsgBeingMoved' => true))));
 }
コード例 #2
0
 /**
  * Returns an array containing headlines information and links for actions
  *
  * @param string $curFolder
  * @param int $curPage The current page of headlines pagination
  * @return array of headlines
  */
 private function retrieveHeadlines($curFolder, $curPage)
 {
     $liteRequestProcessor = new LiteRequestProcessor();
     $headlines = $liteRequestProcessor->executeRequest('SearchHeadlines', (object) array('folderIds' => $curFolder->id, 'start' => ($curPage - 1) * self::REQUEST_LIMIT, 'limit' => self::REQUEST_LIMIT));
     foreach ($headlines as &$headl) {
         $headl->received = DateUtils::getFormattedDate($headl->received);
         $headl->subject = trim($headl->subject);
         if ($headl->subject === '') {
             $headl->subject = '(sem assunto)';
         }
         $headl->lnkOpen = $this->makeUrl('Mail.OpenMessage', array('messageId' => $headl->id, 'folderId' => $curFolder->id, 'folderName' => $curFolder->localName, 'page' => $curPage));
     }
     return $headlines;
 }