name = $name == "" ? null : $name; } public function has_name() : bool { return $this->name != null; } public function get_name() : string { return $this->name != null ? $this->name : "null"; } //Get and set the number of members of the group public function set_number_members(int $number_members){ $this->number_members = $number_members; } public function has_number_members() : bool { return $this->number_members > -1; } public function get_number_members() : int { return $this->number_members; } //Get and set the URL of the logo of group public function set_logo(string $logo){ $this->logo = $logo == "" ? null : $logo; } public function has_logo() : bool { return $this->logo != null; } public function get_logo() : string { return $this->logo != null ? $this->logo : self::PATH_GROUPS_LOGO."/default.png"; } public function get_logo_url() : string { return path_user_data($this->get_logo()); } public function get_logo_sys_path() : string { //For security reasons, this method is available //only if the user has really a logo (avoid unattended //operation on default logo) if(!$this->has_logo()) throw new Exception("This GroupInfo object has not any logo set!"); return path_user_data($this->get_logo(), true); } //Get and set the membership level of the current user public function set_membership_level(int $membership_level){ $this->membership_level = $membership_level; } public function has_membership_level() : bool { return $this->membership_level > -1; } 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; } //Get and set registration levels public function set_registration_level(int $registration_level){ $this->registration_level = $registration_level; } public function has_registration_level() : bool { return $this->registration_level > -1; } public function get_registration_level() : int { return $this->registration_level; } //Get and set posts level public function set_posts_level(int $posts_level){ $this->posts_level = $posts_level; } public function has_posts_level() : bool { return $this->posts_level > -1; } public function get_posts_level() : int { return $this->posts_level; } //Get and set virtual directory public function set_virtual_directory(string $virtual_directory){ $this->virtual_directory = $virtual_directory == "" ? null : $virtual_directory; } public function has_virtual_directory() : bool { return $this->virtual_directory != null; } public function get_virtual_directory() : string { return $this->virtual_directory != null ? $this->virtual_directory : "null"; } //Set and get following status public function set_following(bool $following){ $this->following = $following; } public function isFollowing() : bool { return $this->following; } }