Update simpan email baru saat kirim email
This commit is contained in:
parent
7d456e67f6
commit
85a173fea8
@ -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();
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user