本文整理汇总了PHP中Workflow::handleBlockedEmail方法的典型用法代码示例。如果您正苦于以下问题:PHP Workflow::handleBlockedEmail方法的具体用法?PHP Workflow::handleBlockedEmail怎么用?PHP Workflow::handleBlockedEmail使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Workflow
的用法示例。
在下文中一共展示了Workflow::handleBlockedEmail方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: list
}
$tpl->assign("associate_result", $res);
} else {
for ($i = 0; $i < count($HTTP_POST_VARS['item']); $i++) {
$email = Support::getEmailDetails(Email_Account::getAccountByEmail($HTTP_POST_VARS['item'][$i]), $HTTP_POST_VARS['item'][$i]);
// add the message body as a note
$HTTP_POST_VARS['blocked_msg'] = $email['seb_full_email'];
$HTTP_POST_VARS['title'] = $email['sup_subject'];
$HTTP_POST_VARS['note'] = $email['seb_body'];
// XXX: probably broken to use the current logged in user as the 'owner' of
// XXX: this new note, but that's how it was already
$res = Note::insert(Auth::getUserID(), $HTTP_POST_VARS['issue']);
// remove the associated email
if ($res) {
list($HTTP_POST_VARS["from"]) = Support::getSender(array($HTTP_POST_VARS['item'][$i]));
Workflow::handleBlockedEmail(Issue::getProjectID($HTTP_POST_VARS['issue']), $HTTP_POST_VARS['issue'], $HTTP_POST_VARS, 'associated');
Support::removeEmail($HTTP_POST_VARS['item'][$i]);
}
}
$tpl->assign("associate_result", $res);
}
@$tpl->assign('total_emails', count($HTTP_POST_VARS['item']));
} else {
@$tpl->assign('emails', $HTTP_GET_VARS['item']);
@$tpl->assign('total_emails', count($HTTP_GET_VARS['item']));
$prj_id = Issue::getProjectID($HTTP_GET_VARS['issue']);
if (Customer::hasCustomerIntegration($prj_id)) {
// check if the selected emails all have sender email addresses that are associated with the issue' customer
$senders = Support::getSender($HTTP_GET_VARS['item']);
$sender_emails = array();
for ($i = 0; $i < count($senders); $i++) {
示例2: foreach
}
$tpl->assign('associate_result', $res);
} else {
foreach ($_POST['item'] as $item) {
$email = Support::getEmailDetails(Email_Account::getAccountByEmail($item), $item);
// add the message body as a note
$_POST['full_message'] = $email['seb_full_email'];
$_POST['title'] = $email['sup_subject'];
$_POST['note'] = $email['seb_body'];
// XXX: probably broken to use the current logged in user as the 'owner' of
// XXX: this new note, but that's how it was already
$res = Note::insertFromPost(Auth::getUserID(), $_POST['issue_id'], false, true, false, true, true);
// remove the associated email
if ($res) {
list($_POST['from']) = Support::getSender(array($item));
Workflow::handleBlockedEmail(Issue::getProjectID($_POST['issue_id']), $_POST['issue_id'], $_POST, 'associated');
Support::removeEmail($item);
}
}
$tpl->assign('associate_result', $res);
}
@$tpl->assign('total_emails', count($_POST['item']));
} else {
@$tpl->assign('emails', $_GET['item']);
@$tpl->assign('total_emails', count($_GET['item']));
$prj_id = Issue::getProjectID($_GET['issue_id']);
if (CRM::hasCustomerIntegration($prj_id)) {
// check if the selected emails all have sender email addresses that are associated with the issue' customer
$crm = CRM::getInstance($prj_id);
$senders = Support::getSender($_GET['item']);
$sender_emails = array();
示例3: blockEmailIfNeeded
/**
* Check if this email needs to be blocked and if so, block it.
*
*
*/
public static function blockEmailIfNeeded($email)
{
if (empty($email['issue_id'])) {
return false;
}
$issue_id = $email['issue_id'];
$prj_id = Issue::getProjectID($issue_id);
$sender_email = strtolower(Mail_Helper::getEmailAddress($email['from']));
list($text_headers, $body) = Mime_Helper::splitHeaderBody($email['full_email']);
if (Mail_Helper::isVacationAutoResponder($email['headers']) || Notification::isBounceMessage($sender_email) || !self::isAllowedToEmail($issue_id, $sender_email)) {
// add the message body as a note
$_POST = array('full_message' => $email['full_email'], 'title' => @$email['headers']['subject'], 'note' => Mail_Helper::getCannedBlockedMsgExplanation($issue_id) . $email['body'], 'message_id' => Mail_Helper::getMessageID($text_headers, $body));
// avoid having this type of message re-open the issue
if (Mail_Helper::isVacationAutoResponder($email['headers'])) {
$closing = true;
$notify = false;
} else {
$closing = false;
$notify = true;
}
$res = Note::insertFromPost(Auth::getUserID(), $issue_id, $email['headers']['from'], false, $closing, $notify, true);
// associate the email attachments as internal-only files on this issue
if ($res != -1) {
self::extractAttachments($issue_id, $email['full_email'], true, $res);
}
$_POST['issue_id'] = $issue_id;
$_POST['from'] = $sender_email;
// avoid having this type of message re-open the issue
if (Mail_Helper::isVacationAutoResponder($email['headers'])) {
$email_type = 'vacation-autoresponder';
} else {
$email_type = 'routed';
}
Workflow::handleBlockedEmail($prj_id, $issue_id, $_POST, $email_type);
// try to get usr_id of sender, if not, use system account
$usr_id = User::getUserIDByEmail(Mail_Helper::getEmailAddress($email['from']), true);
if (!$usr_id) {
$usr_id = APP_SYSTEM_USER_ID;
}
History::add($issue_id, $usr_id, 'email_blocked', "Email from '{from}' blocked", array('from' => $email['from']));
return true;
}
return false;
}
示例4: blockEmailIfNeeded
/**
* Check if this email needs to be blocked and if so, block it.
*
*
*/
function blockEmailIfNeeded($email)
{
global $HTTP_POST_VARS;
if (empty($email['issue_id'])) {
return false;
}
$issue_id = $email['issue_id'];
$prj_id = Issue::getProjectID($issue_id);
$sender_email = strtolower(Mail_API::getEmailAddress($email['headers']['from']));
if (Mail_API::isVacationAutoResponder($email['headers']) || Notification::isBounceMessage($sender_email) || !Support::isAllowedToEmail($issue_id, $sender_email)) {
// add the message body as a note
$HTTP_POST_VARS = array('blocked_msg' => $email['full_email'], 'title' => @$email['headers']['subject'], 'note' => Mail_API::getCannedBlockedMsgExplanation($issue_id) . $email['body']);
// avoid having this type of message re-open the issue
if (Mail_API::isVacationAutoResponder($email['headers'])) {
$closing = true;
} else {
$closing = false;
}
$res = Note::insert(Auth::getUserID(), $issue_id, $email['headers']['from'], false, $closing);
// associate the email attachments as internal-only files on this issue
if ($res != -1) {
Support::extractAttachments($issue_id, $email['full_email'], true, $res);
}
$HTTP_POST_VARS['issue_id'] = $issue_id;
$HTTP_POST_VARS['from'] = $sender_email;
// avoid having this type of message re-open the issue
if (Mail_API::isVacationAutoResponder($email['headers'])) {
$email_type = 'vacation-autoresponder';
} else {
$email_type = 'routed';
}
Workflow::handleBlockedEmail($prj_id, $issue_id, $HTTP_POST_VARS, $email_type);
// try to get usr_id of sender, if not, use system account
$usr_id = User::getUserIDByEmail(Mail_API::getEmailAddress($email['from']));
if (!$usr_id) {
$usr_id = APP_SYSTEM_USER_ID;
}
// log blocked email
History::add($issue_id, $usr_id, History::getTypeID('email_blocked'), "Email from '" . $email['from'] . "' blocked.");
return true;
}
return false;
}