From 44181ee5c7e14bbb6cfda342896554ff5ecd4625 Mon Sep 17 00:00:00 2001 From: Pierre HUBERT Date: Wed, 4 Jul 2018 16:11:29 +0200 Subject: [PATCH] Returns group visibility --- RestControllers/GroupsController.php | 10 ++++++++++ classes/components/GroupsComponent.php | 1 + classes/models/GroupInfo.php | 19 +++++++++++++++++++ 3 files changed, 30 insertions(+) diff --git a/RestControllers/GroupsController.php b/RestControllers/GroupsController.php index 6eb6bd4..a2ecf4a 100644 --- a/RestControllers/GroupsController.php +++ b/RestControllers/GroupsController.php @@ -18,6 +18,15 @@ class GroupsController { 4 => "visitor" ); + /** + * API groups visibility levels + */ + const GROUPS_VISIBILITY_LEVELS = array( + GroupInfo::OPEN_GROUP => "open", + GroupInfo::PRIVATE_GROUP => "private", + GroupInfo::SECRET_GROUP => "secrete" + ); + /** * Create a group * @@ -228,6 +237,7 @@ class GroupsController { $data["icon_url"] = $info->get_logo_url(); $data["number_members"] = $info->get_number_members(); $data["membership"] = self::GROUPS_MEMBERSHIP_LEVELS[$info->get_membership_level()]; + $data["visibility"] = self::GROUPS_VISIBILITY_LEVELS[$info->get_visibility()]; return $data; } diff --git a/classes/components/GroupsComponent.php b/classes/components/GroupsComponent.php index 408d7e3..c97952c 100644 --- a/classes/components/GroupsComponent.php +++ b/classes/components/GroupsComponent.php @@ -273,6 +273,7 @@ class GroupsComponent { $info->set_name($data["name"]); $info->set_number_members($this->countMembers($info->get_id())); $info->set_membership_level($this->getMembershipLevel(userID, $info->get_id())); + $info->set_visibility($data["visibility"]); if($data["path_logo"] != null && $data["path_logo"] != "" && $data["path_logo"] != "null") $info->set_logo($data["path_logo"]); diff --git a/classes/models/GroupInfo.php b/classes/models/GroupInfo.php index 8853c2d..081ee57 100644 --- a/classes/models/GroupInfo.php +++ b/classes/models/GroupInfo.php @@ -10,11 +10,17 @@ class GroupInfo extends BaseUniqueObject { //Path to group logo in user data const PATH_GROUPS_LOGO = "groups_logo"; + //Groups visibility + const OPEN_GROUP = 0; + const PRIVATE_GROUP = 1; + const SECRET_GROUP = 2; + //Private fields private $name; private $number_members = -1; private $logo; private $membership_level = -1; + private $visiblity; //Get and set the name of group @@ -83,4 +89,17 @@ class GroupInfo extends BaseUniqueObject { public function get_membership_level() : int { return $this->membership_level; } + + //Get and set group visibility + public function set_visibility(int $visibility){ + $this->visibility = $visibility; + } + + public function has_visibility() : bool { + return $this->visibility > -1; + } + + public function get_visibility() : int { + return $this->visibility; + } } \ No newline at end of file