diff --git a/include/class.template.php b/include/class.template.php index 53f1caf431a542d115bcfe49a5baa5d08bdf3eb7..4e73ecb32967f248d6781b6d6696036bd4ff1088 100644 --- a/include/class.template.php +++ b/include/class.template.php @@ -60,6 +60,14 @@ class EmailTemplateGroup { 'ticket', 'signature', 'recipient', 'staff', 'message', ), ), + 'ticket.notice.bcc'=>array( + 'group'=>'a.ticket.user', + 'name'=>/* @trans */ 'New Ticket Notice (BCC)', + 'desc'=>/* @trans */ 'Notice sent to BCCd users, if enabled, on new ticket created by an agent on behalf of a user (e.g phone calls).', + 'context' => array( + 'ticket', 'signature', 'recipient', 'staff', 'message', + ), + ), 'ticket.overlimit'=>array( 'group'=>'a.ticket.user', 'name'=>/* @trans */ 'Overlimit Notice', @@ -76,6 +84,14 @@ class EmailTemplateGroup { 'ticket', 'signature', 'response', 'staff', 'poster', 'recipient', ), ), + 'ticket.reply.bcc'=>array( + 'group'=>'a.ticket.user', + 'name'=>/* @trans */ 'Response/Reply Template (BCC)', + 'desc'=>/* @trans */ 'Template used on ticket response/reply', + 'context' => array( + 'ticket', 'signature', 'response', 'staff', 'poster', 'recipient', + ), + ), 'ticket.activity.notice'=>array( 'group'=>'a.ticket.user', 'name'=>/* @trans */ 'New Activity Notice', @@ -84,6 +100,14 @@ class EmailTemplateGroup { 'ticket', 'signature', 'message', 'poster', 'recipient', ), ), + 'ticket.activity.notice.bcc'=>array( + 'group'=>'a.ticket.user', + 'name'=>/* @trans */ 'New Activity Notice (BCC)', + 'desc'=>/* @trans */ 'Template used to notify BCCd collaborators on ticket activity', + 'context' => array( + 'ticket', 'signature', 'message', 'poster', 'recipient', + ), + ), 'ticket.alert'=>array( 'group'=>'b.ticket.staff', 'name'=>/* @trans */ 'New Ticket Alert', @@ -309,6 +333,10 @@ class EmailTemplateGroup { return $this->getMsgTemplate('ticket.notice'); } + function getNewTicketNoticeBCCMsgTemplate() { + return $this->getMsgTemplate('ticket.notice.bcc'); + } + function getNewMessageAutorepMsgTemplate() { return $this->getMsgTemplate('message.autoresp'); } @@ -325,10 +353,18 @@ class EmailTemplateGroup { return $this->getMsgTemplate('ticket.reply'); } + function getReplyBCCMsgTemplate() { + return $this->getMsgTemplate('ticket.reply.bcc'); + } + function getActivityNoticeMsgTemplate() { return $this->getMsgTemplate('ticket.activity.notice'); } + function getActivityNoticeBCCMsgTemplate() { + return $this->getMsgTemplate('ticket.activity.notice.bcc'); + } + function getOverlimitMsgTemplate() { return $this->getMsgTemplate('ticket.overlimit'); } diff --git a/include/class.ticket.php b/include/class.ticket.php index 664ba874a47ce95d5b343624cbc04fec43174d8e..3c2856d3baab56c8d883741592fc0d0fc487aa82 100644 --- a/include/class.ticket.php +++ b/include/class.ticket.php @@ -1564,6 +1564,7 @@ implements RestrictedAccess, Threadable, Searchable { || !($dept=$this->getDept()) || !($tpl=$dept->getTemplate()) || !($msg=$tpl->getActivityNoticeMsgTemplate()) + || !($bccmsg=$tpl->getActivityNoticeBCCMsgTemplate()) || !($email=$dept->getEmail()) ) { return; @@ -1593,6 +1594,7 @@ implements RestrictedAccess, Threadable, Searchable { ); $msg = $this->replaceVars($msg->asArray(), $vars); + $bccmsg = $this->replaceVars($bccmsg->asArray(), $vars); $attachments = $cfg->emailAttachments()?$entry->getAttachments():array(); $options = array('thread' => $entry); @@ -1627,7 +1629,7 @@ implements RestrictedAccess, Threadable, Searchable { //send bcc messages seperately for privacy if ($collabsBcc) { foreach ($collabsBcc as $recipient) { - $notice = $this->replaceVars($msg, array('recipient' => $recipient)); + $notice = $this->replaceVars($bccmsg, array('recipient' => $recipient)); if ($posterEmail != $recipient->getEmail()->address) $email->send($recipient, $notice['subj'], $notice['body'], $attachments, $options); @@ -2988,7 +2990,7 @@ implements RestrictedAccess, Threadable, Searchable { if ($vars['bccs'] && $vars['emailcollab'] && ($bcctpl = $dept->getTemplate()) - && ($bccmsg=$bcctpl->getReplyMsgTemplate())) { + && ($bccmsg=$bcctpl->getReplyBCCMsgTemplate())) { foreach ($vars['bccs'] as $uid) { if (!($recipient = User::lookup($uid))) continue; @@ -4183,7 +4185,7 @@ implements RestrictedAccess, Threadable, Searchable { if ($collabsBcc) { foreach ($collabsBcc as $recipient) { if (($tpl=$dept->getTemplate()) - && ($bccmsg=$tpl->getNewTicketNoticeMsgTemplate()) + && ($bccmsg=$tpl->getNewTicketNoticeBCCMsgTemplate()) && ($email=$dept->getEmail()) ) $extraVars = UsersName::getNameFormats($recipient, 'recipient');