/** * @param int $issue_id * @param int $email_id * @return array * @access protected */ public function getEmail($issue_id, $email_id) { if ($email_id == 0) { // return issue description instead $issue = Issue::getDetails($issue_id); $email = array('sup_date' => $issue['iss_created_date'], 'sup_from' => $issue['reporter'], 'sup_to' => '', 'recipients' => '', 'sup_cc' => '', 'sup_has_attachment' => 0, 'sup_subject' => $issue['iss_summary'], 'message' => $issue['iss_original_description'], 'seb_full_email' => $issue['iss_original_description']); } else { $email = Support::getEmailBySequence($issue_id, $email_id); } // get requested email if (count($email) < 1 || !is_array($email)) { throw new RemoteApiException('Email #' . $email_id . " does not exist for issue #{$issue_id}"); } return $email; }
function getEmail($p) { $email = XML_RPC_decode($p->getParam(0)); $password = XML_RPC_decode($p->getParam(1)); $auth = authenticate($email, $password); if (is_object($auth)) { return $auth; } $issue_id = XML_RPC_decode($p->getParam(2)); $email_id = XML_RPC_decode($p->getParam(3)); $email = Support::getEmailBySequence($issue_id, $email_id); // get requested email if (count($email) < 1 || !is_array($email)) { return new XML_RPC_Response(0, $XML_RPC_erruser + 1, "Email #" . $email_id . " does not exist for issue #{$issue_id}"); } // since xml-rpc has issues, lets base64 encode everything foreach ($email as $key => $val) { $email[$key] = base64_encode($val); } return new XML_RPC_Response(XML_RPC_Encode($email)); }