本文整理汇总了PHP中Notification::notifyIRC方法的典型用法代码示例。如果您正苦于以下问题:PHP Notification::notifyIRC方法的具体用法?PHP Notification::notifyIRC怎么用?PHP Notification::notifyIRC使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Notification
的用法示例。
在下文中一共展示了Notification::notifyIRC方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: perform
//.........这里部分代码省略.........
}
}
break;
case 'sms_list':
$type = 'sms';
$list = self::getUserList($action['rma_id']);
$to = array();
foreach ($list as $key => $value) {
// add the recipient to the list if it's a simple email address
if (Validation::isEmail($key)) {
$to[] = $key;
} else {
// otherwise, check for the clocked-in status
if (User::isClockedIn($key)) {
$sms_email = User::getSMS($key);
if (!empty($sms_email)) {
$to[] = $sms_email;
}
}
}
}
// add the group leader to the recipient list, if needed
if (!empty($group_leader_usr_id) && User::isClockedIn($group_leader_usr_id)) {
$leader_sms_email = User::getSMS($group_leader_usr_id);
if (!empty($leader_sms_email) && !in_array($leader_sms_email, $to)) {
$to[] = $leader_sms_email;
}
}
break;
}
$data = Issue::getDetails($issue_id);
$conditions = Reminder_Condition::getAdminList($action['rma_id']);
// alert IRC if needed
if ($action['rma_alert_irc']) {
if (Reminder::isDebug()) {
echo " - Processing IRC notification\n";
}
$irc_notice = "Issue #{$issue_id} (";
if (!empty($data['pri_title'])) {
$irc_notice .= 'Priority: ' . $data['pri_title'];
}
if (!empty($data['sev_title'])) {
$irc_notice .= 'Severity: ' . $data['sev_title'];
}
// also add information about the assignee, if any
$assignment = Issue::getAssignedUsers($issue_id);
if (count($assignment) > 0) {
$irc_notice .= '; Assignment: ' . implode(', ', $assignment);
}
if (!empty($data['iss_grp_id'])) {
$irc_notice .= '; Group: ' . Group::getName($data['iss_grp_id']);
}
$irc_notice .= "), Reminder action '" . $action['rma_title'] . "' was just triggered; " . $action['rma_boilerplate'];
Notification::notifyIRC(Issue::getProjectID($issue_id), $irc_notice, $issue_id, false, APP_EVENTUM_IRC_CATEGORY_REMINDER);
}
$setup = Setup::get();
// if there are no recipients, then just skip to the next action
if (count($to) == 0) {
if (Reminder::isDebug()) {
echo " - No recipients could be found\n";
}
// if not even an irc alert was sent, then save
// a notice about this on reminder_sent@, if needed
if (!$action['rma_alert_irc']) {
if ($setup['email_reminder']['status'] == 'enabled') {
self::_recordNoRecipientError($issue_id, $type, $reminder, $action, $data, $conditions);
}
return false;
}
}
// - save a history entry about this action
self::saveHistory($issue_id, $action['rma_id']);
// - save this action as the latest triggered one for the given issue ID
self::recordLastTriggered($issue_id, $action['rma_id']);
// - perform the action
if (count($to) > 0) {
// send a copy of this reminder to reminder_sent@, if needed
if ($setup['email_reminder']['status'] == 'enabled' && $setup['email_reminder']['addresses']) {
$addresses = Reminder::_getReminderAlertAddresses();
if (count($addresses) > 0) {
$to = array_merge($to, $addresses);
}
}
$tpl = new Template_Helper();
$tpl->setTemplate('reminders/' . $type . '_alert.tpl.text');
$tpl->assign(array('data' => $data, 'reminder' => $reminder, 'action' => $action, 'conditions' => $conditions, 'has_customer_integration' => CRM::hasCustomerIntegration(Issue::getProjectID($issue_id))));
$text_message = $tpl->getTemplateContents();
foreach ($to as $address) {
// send email (use PEAR's classes)
$mail = new Mail_Helper();
$mail->setTextBody($text_message);
$setup = $mail->getSMTPSettings();
// TRANSLATORS: %1 - issue_id, %2 - rma_title
$subject = ev_gettext('[#%1$s] Reminder: %2$s', $issue_id, $action['rma_title']);
$mail->send($setup['from'], $address, $subject, 0, $issue_id, 'reminder');
}
}
// - eventum saves the day once again
return true;
}
示例2: perform
//.........这里部分代码省略.........
}
}
}
// add the group leader to the recipient list, if needed
if (!empty($group_leader_usr_id) && User::isClockedIn($group_leader_usr_id)) {
$leader_sms_email = User::getSMS($group_leader_usr_id);
if (!empty($leader_sms_email) && !in_array($leader_sms_email, $to)) {
$to[] = $leader_sms_email;
}
}
break;
case 'sms_list':
$type = 'sms';
$list = Reminder_Action::getUserList($action['rma_id']);
$to = array();
foreach ($list as $key => $value) {
// add the recipient to the list if it's a simple email address
if (Validation::isEmail($key)) {
$to[] = $key;
} else {
// otherwise, check for the clocked-in status
if (User::isClockedIn($key)) {
$sms_email = User::getSMS($key);
if (!empty($sms_email)) {
$to[] = $sms_email;
}
}
}
}
// add the group leader to the recipient list, if needed
if (!empty($group_leader_usr_id) && User::isClockedIn($group_leader_usr_id)) {
$leader_sms_email = User::getSMS($group_leader_usr_id);
if (!empty($leader_sms_email) && !in_array($leader_sms_email, $to)) {
$to[] = $leader_sms_email;
}
}
break;
}
$data = Notification::getIssueDetails($issue_id);
$conditions = Reminder_Condition::getAdminList($action['rma_id']);
// alert IRC if needed
if ($action['rma_alert_irc']) {
if (Reminder::isDebug()) {
echo " - Processing IRC notification\n";
}
$irc_notice = "Issue #{$issue_id} (Priority: " . $data['pri_title'];
// also add information about the assignee, if any
$assignment = Issue::getAssignedUsers($issue_id);
if (count($assignment) > 0) {
$irc_notice .= "; Assignment: " . implode(', ', $assignment);
}
if (!empty($data['iss_grp_id'])) {
$irc_notice .= "; Group: " . Group::getName($data['iss_grp_id']);
}
$irc_notice .= "), Reminder action '" . $action['rma_title'] . "' was just triggered";
Notification::notifyIRC(Issue::getProjectID($issue_id), $irc_notice, $issue_id);
}
$setup = Setup::load();
// if there are no recipients, then just skip to the next action
if (count($to) == 0) {
if (Reminder::isDebug()) {
echo " - No recipients could be found\n";
}
// if not even an irc alert was sent, then save
// a notice about this on reminder_sent@, if needed
if (!$action['rma_alert_irc']) {
if (@$setup['email_reminder']['status'] == 'enabled') {
Reminder_Action::_recordNoRecipientError($issue_id, $type, $reminder, $action);
}
return false;
}
}
// - save a history entry about this action
Reminder_Action::saveHistory($issue_id, $action['rma_id']);
// - save this action as the latest triggered one for the given issue ID
Reminder_Action::recordLastTriggered($issue_id, $action['rma_id']);
// - perform the action
if (count($to) > 0) {
// send a copy of this reminder to reminder_sent@, if needed
if (@$setup['email_reminder']['status'] == 'enabled' && !empty($setup['email_reminder']['addresses'])) {
$addresses = Reminder::_getReminderAlertAddresses();
if (count($addresses) > 0) {
$to = array_merge($to, $addresses);
}
}
$tpl = new Template_API();
$tpl->setTemplate('reminders/' . $type . '_alert.tpl.text');
$tpl->bulkAssign(array("data" => $data, "reminder" => $reminder, "action" => $action, "conditions" => $conditions, "has_customer_integration" => Customer::hasCustomerIntegration(Issue::getProjectID($issue_id))));
$text_message = $tpl->getTemplateContents();
foreach ($to as $address) {
// send email (use PEAR's classes)
$mail = new Mail_API();
$mail->setTextBody($text_message);
$setup = $mail->getSMTPSettings();
$mail->send($setup["from"], $address, "[#{$issue_id}] Reminder: " . $action['rma_title'], 0, $issue_id, 'reminder');
}
}
// - eventum saves the day once again
return true;
}
示例3: notifyIRCBlockedMessage
/**
* Method used to send an IRC notification about a blocked email that was
* saved into an internal note.
*
* @access public
* @param integer $issue_id The issue ID
* @param string $from The sender of the blocked email message
*/
function notifyIRCBlockedMessage($issue_id, $from)
{
$notice = "Issue #{$issue_id} updated (";
// also add information about the assignee, if any
$assignment = Issue::getAssignedUsers($issue_id);
if (count($assignment) > 0) {
$notice .= "Assignment: " . implode(', ', $assignment) . "; ";
}
$notice .= "BLOCKED email from '{$from}')";
Notification::notifyIRC(Issue::getProjectID($issue_id), $notice, $issue_id);
}