Пример #1
0
$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'])) {
Пример #2
0
 /**
  * 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;
 }
Пример #3
0
 /**
  * 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;
 }