$prj_id = Auth::getCurrentProject(); $usr_id = Auth::getUserID(); @($issue_id = $HTTP_GET_VARS["issue_id"] ? $HTTP_GET_VARS["issue_id"] : $HTTP_POST_VARS["issue_id"]); $tpl->assign("issue_id", $issue_id); if (!Issue::canAccess($issue_id, $usr_id)) { $tpl->setTemplate("permission_denied.tpl.html"); $tpl->displayTemplate(); exit; } // since emails associated with issues are sent to the notification list, not the to: field, set the to field to be blank // this field should already be blank, but may also be unset. if (!empty($issue_id)) { $HTTP_POST_VARS['to'] = ''; } if (@$HTTP_POST_VARS["cat"] == "send_email") { $res = Support::sendEmail($HTTP_POST_VARS['parent_id']); $tpl->assign("send_result", $res); if (!@empty($HTTP_POST_VARS['new_status'])) { $res = Issue::setStatus($issue_id, $HTTP_POST_VARS['new_status']); Issue::updateControlStatus($issue_id); if ($res != -1) { $new_status = Status::getStatusTitle($HTTP_POST_VARS['new_status']); History::add($issue_id, $usr_id, History::getTypeID('status_changed'), "Status changed to '{$new_status}' by " . User::getFullName($usr_id) . " when sending an email"); } } // remove the existing email draft, if appropriate if (!empty($HTTP_POST_VARS['draft_id'])) { Draft::remove($HTTP_POST_VARS['draft_id']); } // enter the time tracking entry about this new email if (!empty($HTTP_POST_VARS['time_spent'])) {
/** * Converts an email to a draft and sends it. * * @access public * @param integer $draft_id The id of the draft to send. */ function send($draft_id) { global $HTTP_POST_VARS; $draft_id = Misc::escapeInteger($draft_id); $draft = Draft::getDetails($draft_id); $HTTP_POST_VARS["issue_id"] = $draft["emd_iss_id"]; $HTTP_POST_VARS["subject"] = $draft["emd_subject"]; $HTTP_POST_VARS["from"] = User::getFromHeader(Auth::getUserID()); $HTTP_POST_VARS["to"] = $draft["to"]; $HTTP_POST_VARS["cc"] = @join(";", $draft["cc"]); $HTTP_POST_VARS["message"] = $draft["emd_body"]; $HTTP_POST_VARS["ema_id"] = Email_Account::getEmailAccount(); $res = Support::sendEmail(); if ($res == 1) { Draft::remove($draft_id); } return $res; }
/** * Converts an draft to and email and sends it. * * @param integer $draft_id The id of the draft to send. * @return int */ public static function send($draft_id) { $draft = self::getDetails($draft_id); $from = User::getFromHeader(Auth::getUserID()); $to = $draft['to']; $cc = implode(';', $draft['cc']); $subject = $draft['emd_subject']; $options = array('ema_id' => Email_Account::getEmailAccount()); $res = Support::sendEmail($draft['emd_iss_id'], null, $from, $to, $cc, $subject, $draft['emd_body'], $options); if ($res == 1) { self::remove($draft_id); } return $res; }