diff --git a/app/Controllers/EmployeeRestController.php b/app/Controllers/EmployeeRestController.php index 01c6ceea..4ddd32a7 100755 --- a/app/Controllers/EmployeeRestController.php +++ b/app/Controllers/EmployeeRestController.php @@ -6477,7 +6477,7 @@ class EmployeeRestController extends AdminController $db = \Config\Database::connect(); $clientData = $this->clientModel - ->select('id, client_name, email') + ->select('id, client_name, email, common_mails') ->where('id', $clientId) ->first(); @@ -6517,6 +6517,11 @@ class EmployeeRestController extends AdminController $recipientEmails[] = trim((string) $clientData['email']); } + $clientCommonMails = array_filter(array_map('trim', explode(',', (string) ($clientData['common_mails'] ?? '')))); + foreach ($clientCommonMails as $commonMail) { + $recipientEmails[] = $commonMail; + } + foreach ($branchHrEmails as $branchHrEmailRow) { $recipientEmails[] = trim((string) ($branchHrEmailRow['email'] ?? '')); } @@ -6527,9 +6532,18 @@ class EmployeeRestController extends AdminController } } - $recipientEmails = array_values(array_unique(array_filter($recipientEmails, static function ($email) { - return filter_var($email, FILTER_VALIDATE_EMAIL); - }))); + $uniqueEmails = []; + foreach ($recipientEmails as $email) { + $email = trim((string) $email); + if ($email === '' || ! filter_var($email, FILTER_VALIDATE_EMAIL)) { + continue; + } + $emailKey = strtolower($email); + if (! isset($uniqueEmails[$emailKey])) { + $uniqueEmails[$emailKey] = $email; + } + } + $recipientEmails = array_values($uniqueEmails); if (empty($recipientEmails)) { log_message('error', '[DependentAddMail] No recipient emails found for client_id=' . $clientId . ', branch_id=' . $branchId);