From 48e12a83cc7464c49df3da0eaf8dfe168e9da05f Mon Sep 17 00:00:00 2001 From: Nikolai Kristiansen Date: Tue, 4 Feb 2014 20:28:20 +0100 Subject: [PATCH] Re-enable delete user from group --- inside/UserGroupRelationship.php | 55 +++++++++++++++++--------------- 1 file changed, 29 insertions(+), 26 deletions(-) diff --git a/inside/UserGroupRelationship.php b/inside/UserGroupRelationship.php index 27253e8..e2f1445 100644 --- a/inside/UserGroupRelationship.php +++ b/inside/UserGroupRelationship.php @@ -77,33 +77,36 @@ class UserGroupRelationship { public function delete($user_id, $group_id) { - /* TODO Implement access control and comment in */ - //$conn = db_connect(); - //$sql = "DELETE FROM din_usergrouprelationship - // WHERE user_id = $user_id - // AND group_id = $group_id - // LIMIT 1"; - //$result = $conn->query($sql); - //if (DB :: isError($result) != true) { - // notify("Gruppemedlemskap slettet."); - // unsubscribe_mailinglist($user_id, $group_id); + /* Access control: + * Generic permission check in ActionParser:performAction() + * on action 'perform-delete-usergrouprelationship' + */ + $conn = db_connect(); + $sql = "DELETE FROM din_usergrouprelationship + WHERE user_id = $user_id + AND group_id = $group_id + LIMIT 1"; + $result = $conn->query($sql); + if (DB :: isError($result) != true) { + notify("Gruppemedlemskap slettet."); + unsubscribe_mailinglist($user_id, $group_id); - // //Update moderator status - // $group = new Group($group_id); - // if ($group->admin == 1) { - // $sql = "SELECT * "."FROM din_group g, din_usergrouprelationship ugr "."WHERE ugr.user_id = $user_id "."AND ugr.group_id = g.id "."AND g.admin = 1"; - // $result = $conn->query($sql); - // if (DB :: isError($result) != true) { - // if ($result->numRows() == 0) { - // UserGroupRelationship :: delete($user_id, 61); - // } - // } else { - // error("UserGroupRelationships - admin: ".$result->toString()); - // } - // } - //} else { - // error($result->toString()); - //} + //Update moderator status + $group = new Group($group_id); + if ($group->admin == 1) { + $sql = "SELECT * "."FROM din_group g, din_usergrouprelationship ugr "."WHERE ugr.user_id = $user_id "."AND ugr.group_id = g.id "."AND g.admin = 1"; + $result = $conn->query($sql); + if (DB :: isError($result) != true) { + if ($result->numRows() == 0) { + UserGroupRelationship :: delete($user_id, 61); + } + } else { + error("UserGroupRelationships - admin: ".$result->toString()); + } + } + } else { + error($result->toString()); + } } public