/** * Check for group membership * @since Version 3.0.1 * @version 3.9.1 * * @param int|bool $groupId * * @return boolean */ public function inGroup($groupId = false) { if (!defined("RP_GROUP_ADMINS")) { define("RP_GROUP_ADMINS", "michaelisawesome"); } if ($groupId == RP_GROUP_ADMINS && $this->level == 2) { return true; } $Group = new Group($groupId); $return = $Group->userInGroup($this); return $return; }
/** * @depends test_newUser */ public function test_group($User) { $User->Redis = new \Railpage\NullCacheDriver(); $this->assertEquals(0, count($User->getGroups())); $Group = new Group(); $Group->name = "Test user group"; $Group->desc = "A test user group description"; $Group->type = Group::TYPE_HIDDEN; $Group->owner_user_id = $User->id; $Group->commit(); // Nuke our Redis cache $mckey = sprintf("railpage:group=%d.user_id=%d", $Group->id, $User->id); $Redis = \Railpage\AppCore::GetRedis(); $Redis->Delete($mckey); $this->assertFalse(!filter_var($Group->id, FILTER_VALIDATE_INT)); $this->assertFalse($Group->userInGroup($User)); $Group->addMember($User->username, $User->id); $Group->approveUser($User); $this->assertTrue($Group->userInGroup($User)); $Group->removeUser($User); $this->assertFalse($Group->userInGroup($User)); $Group->addMember($User->username, $User->id, "Manager", "03 9562 2222", "blah"); $Group->approveUser($User); $this->assertTrue($Group->userInGroup($User)); $members = $Group->getMembers(); $this->assertTrue(is_array($members)); $this->assertTrue(count($members['members']) > 0); $this->assertTrue($User->inGroup($Group->id)); $this->assertTrue(count($User->getGroups()) > 0); $NewGroup = new Group($Group->id); $this->assertEquals($NewGroup->id, $Group->id); $this->assertEquals($NewGroup->name, $Group->name); $this->assertEquals($NewGroup->desc, $Group->desc); $this->assertEquals($NewGroup->type, $Group->type); $Group->type = Group::TYPE_OPEN; $Group->commit(); if (!defined("RP_GROUP_ADMINS")) { define("RP_GROUP_ADMINS", "michaelisawesome"); } $this->assertFalse($User->inGroup()); $this->assertFalse($User->inGroup(RP_GROUP_ADMINS)); $User->level = 2; $this->assertTrue($User->inGroup(RP_GROUP_ADMINS)); $User->level = 1; return $Group; }