From 2914b249bcf051d9633ada937d1c5b8d721ffc9f Mon Sep 17 00:00:00 2001 From: n1rwana Date: Mon, 31 Jul 2023 22:41:57 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A4=D0=B8=D0=BA=D1=81=20=D0=BF=D0=BE=D0=B2?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=B4=D0=BE=D0=B1?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B2=20Chandler-?= =?UTF-8?q?=D0=B3=D1=80=D1=83=D0=BF=D0=BF=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Web/Models/Repositories/ChandlerGroups.php | 5 +++++ Web/Presenters/AdminPresenter.php | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/Web/Models/Repositories/ChandlerGroups.php b/Web/Models/Repositories/ChandlerGroups.php index 45af2a62..30b706e2 100644 --- a/Web/Models/Repositories/ChandlerGroups.php +++ b/Web/Models/Repositories/ChandlerGroups.php @@ -45,4 +45,9 @@ class ChandlerGroups { foreach($this->perms->where("group", $UUID) as $perm) yield $perm; } + + function isUserAMember(string $GID, string $UID): bool + { + return ($this->context->query("SELECT * FROM `ChandlerACLRelations` WHERE `group` = ? AND `user` = ?", $GID, $UID)) !== NULL; + } } diff --git a/Web/Presenters/AdminPresenter.php b/Web/Presenters/AdminPresenter.php index ff21612b..51c14a2b 100644 --- a/Web/Presenters/AdminPresenter.php +++ b/Web/Presenters/AdminPresenter.php @@ -83,8 +83,10 @@ final class AdminPresenter extends OpenVKPresenter if($user->onlineStatus() != $this->postParam("online")) $user->setOnline(intval($this->postParam("online"))); $user->setVerified(empty($this->postParam("verify") ? 0 : 1)); if($this->postParam("add-to-group")) { - $query = "INSERT INTO `ChandlerACLRelations` (`user`, `group`) VALUES ('" . $user->getChandlerGUID() . "', '" . $this->postParam("add-to-group") . "')"; - DatabaseConnection::i()->getConnection()->query($query); + if (!(new ChandlerGroups)->isUserAMember($user->getChandlerGUID(), $this->postParam("add-to-group"))) { + $query = "INSERT INTO `ChandlerACLRelations` (`user`, `group`) VALUES ('" . $user->getChandlerGUID() . "', '" . $this->postParam("add-to-group") . "')"; + DatabaseConnection::i()->getConnection()->query($query); + } } if($this->postParam("password")) { $user->getChandlerUser()->updatePassword($this->postParam("password"));