From 3be682c8cd3480ea989fe8a85122ddbf6c4e8059 Mon Sep 17 00:00:00 2001 From: Andy Binder Date: Mon, 11 Dec 2023 21:24:57 +0100 Subject: [PATCH] prevent dupicates (#6841) --- app/contacts/contact_edit.php | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/app/contacts/contact_edit.php b/app/contacts/contact_edit.php index cd748a6832..4d1f6a8ab8 100644 --- a/app/contacts/contact_edit.php +++ b/app/contacts/contact_edit.php @@ -336,11 +336,23 @@ $y = 0; if (isset($contact_user_uuid)) { - $array['contacts'][0]['contact_users'][$y]['domain_uuid'] = $_SESSION['domain_uuid']; - $array['contacts'][0]['contact_users'][$y]['contact_user_uuid'] = uuid(); - $array['contacts'][0]['contact_users'][$y]['contact_uuid'] = $contact_uuid; - $array['contacts'][0]['contact_users'][$y]['user_uuid'] = $contact_user_uuid; - $y++; + $sql = "select contact_uuid from v_contact_users "; + $sql .= "where contact_uuid = :contact_uuid "; + $sql .= "and user_uuid = :user_uuid "; + $parameters['contact_uuid'] = $contact_uuid; + $parameters['user_uuid'] = $contact_user_uuid; + $database = new database; + $users = $database->select($sql, $parameters, 'all'); + unset($sql, $parameters); + + if (is_array($users) === false || count($users) === 0) + { + $array['contacts'][0]['contact_users'][$y]['domain_uuid'] = $_SESSION['domain_uuid']; + $array['contacts'][0]['contact_users'][$y]['contact_user_uuid'] = uuid(); + $array['contacts'][0]['contact_users'][$y]['contact_uuid'] = $contact_uuid; + $array['contacts'][0]['contact_users'][$y]['user_uuid'] = $contact_user_uuid; + $y++; + } } $y = 0;