diff --git a/app/Controllers/Activities.php b/app/Controllers/Activities.php index 9172971..22389dd 100644 --- a/app/Controllers/Activities.php +++ b/app/Controllers/Activities.php @@ -1288,7 +1288,7 @@ class Activities extends Controller { $query = $db->query($sql); // Untuk Simpan Email Otomatis - // $this->syncEmails($tos, $ccs, $bccs); + $this->syncEmails($tos, $ccs, $bccs); $data = [ 'replyto' => $replyto, @@ -1327,42 +1327,42 @@ class Activities extends Controller { } // Untuk Simpan Email Otomatis - // public function syncEmails($tos="", $ccs="", $bccs="") { - // $db = \Config\Database::connect(); + public function syncEmails($tos="", $ccs="", $bccs="") { + $db = \Config\Database::connect(); - // // Khusus Untuk Simpan email yg dimasukkan - // $allEmails = $tos .",". $ccs .",". $bccs; - // // pecah jadi array - // $emailArr = array_filter(array_map('trim', explode(',', $allEmails))); - // // optional: lowercase biar konsisten - // $emailArr = array_map('strtolower', $emailArr); - // // buang duplikat di request - // $emailArr = array_unique($emailArr); + // Khusus Untuk Simpan email yg dimasukkan + $allEmails = $tos .",". $ccs .",". $bccs; + // pecah jadi array + $emailArr = array_filter(array_map('trim', explode(',', $allEmails))); + // optional: lowercase biar konsisten + $emailArr = array_map('strtolower', $emailArr); + // buang duplikat di request + $emailArr = array_unique($emailArr); - // // GUARD CLAUSE (WAJIB) - // if (empty($emailArr)) { - // return; - // } + // GUARD CLAUSE (WAJIB) + if (empty($emailArr)) { + return; + } - // // CEK email - // $placeholders = implode(',', array_fill(0, count($emailArr), '?')); - // $sql = "SELECT email FROM emails WHERE email IN ($placeholders)"; - // $query = $db->query($sql, array_values($emailArr)); - // $existingEmails = array_column($query->getResultArray(), 'email'); - // $newEmails = array_diff($emailArr, $existingEmails); + // CEK email + $placeholders = implode(',', array_fill(0, count($emailArr), '?')); + $sql = "SELECT email FROM emails WHERE email IN ($placeholders)"; + $query = $db->query($sql, array_values($emailArr)); + $existingEmails = array_column($query->getResultArray(), 'email'); + $newEmails = array_diff($emailArr, $existingEmails); - // if (!empty($newEmails)) { - // $values = []; - // $binds = []; + if (!empty($newEmails)) { + $values = []; + $binds = []; - // foreach ($newEmails as $email) { - // $values[] = "(?, NULL)"; - // $binds[] = $email; - // } - // $sql = "INSERT INTO emails (email, enddate) VALUES " . implode(',', $values); - // $db->query($sql, $binds); - // } - // } + foreach ($newEmails as $email) { + $values[] = "(?, NULL)"; + $binds[] = $email; + } + $sql = "INSERT INTO emails (email, enddate) VALUES " . implode(',', $values); + $db->query($sql, $binds); + } + } public function export(){ $db = \Config\Database::connect();