From 530d5427341f0d561f8b142e29b3e189fd17f00e Mon Sep 17 00:00:00 2001 From: Jared Hancock <jared@osticket.com> Date: Fri, 11 Apr 2014 17:21:03 -0500 Subject: [PATCH] Fixup merging of email recipients This stems from a confusing similarity between the + operator for arrays and array_merge() in php. Adding arrays will ignore items in the RHS where keys are present in the LHS. Therefore, when adding numerically indexed arrays together, only items on the RHS that have a key higher than the greatest key on the LHS will be included. --- include/class.ticket.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/class.ticket.php b/include/class.ticket.php index edfd8c512..0bf1e57d7 100644 --- a/include/class.ticket.php +++ b/include/class.ticket.php @@ -1142,7 +1142,7 @@ class Ticket { $recipients[] = $assignee; } elseif(!strcasecmp(get_class($assignee), 'Team')) { if($cfg->alertTeamMembersONAssignment() && ($members=$assignee->getMembers())) - $recipients+=$members; + $recipients = array_merge($recipients, $members); elseif($cfg->alertTeamLeadONAssignment() && ($lead=$assignee->getTeamLead())) $recipients[] = $lead; } @@ -1398,11 +1398,11 @@ class Ticket { if($this->getStaffId()) $recipients[]=$this->getStaff(); elseif($this->getTeamId() && ($team=$this->getTeam()) && ($members=$team->getMembers())) - $recipients+=$members; + $recipients = array_merge($recipients, $members); } elseif($cfg->alertDeptMembersONTransfer() && !$this->isAssigned()) { //Only alerts dept members if the ticket is NOT assigned. if(($members=$dept->getMembers())) - $recipients+=$members; + $recipients = array_merge($recipients, $members); } //Always alert dept manager?? -- GitLab