public function testSetGroupMembershipsWithArray() { $groups[] = new Tinebase_Model_Group(array('name' => 'tine20phpunit1', 'description' => 'group1')); $groups[] = new Tinebase_Model_Group(array('name' => 'tine20phpunit2', 'description' => 'group2')); $groupId1 = $this->_backend->addGroup($groups[0]); $groupId2 = $this->_backend->addGroup($groups[1]); $accountId = Tinebase_Core::getUser()->getId(); $oldGroupMemberships = Tinebase_Core::getUser()->getGroupMemberships(); $this->_backend->setGroupMembershipsInSqlBackend($accountId, array($groupId1->id, $groupId2->id, $groupId1->id)); $getGroupMembersArray = $this->_backend->getGroupMembers($groupId1); $this->assertTrue(in_array($accountId, $getGroupMembersArray)); $getGroupMembersArray = $this->_backend->getGroupMembers($groupId2); $this->assertTrue(in_array($accountId, $getGroupMembersArray)); $this->_backend->setGroupMembershipsInSqlBackend($accountId, $oldGroupMemberships); $this->_backend->deleteGroups(array($groupId1, $groupId2)); }
protected function _testImportGroupsHelper($expected) { $be = new Tinebase_Group_Sql(); foreach ($expected as $name => $count) { $group = $be->getGroupByName($name); $members = $be->getGroupMembers($group); $this->assertEquals($count, count($members), 'Group ' . $name . ' should have ' . $count . ' members!'); $this->assertEquals('displayed', $group->visibility, 'Group ' . $name . ' should be visible!'); } }
/** * * @param Tinebase_Record_Abstract $record * @param array $members */ protected function _handleGroupMemberShip($record, $members) { $be = new Tinebase_Group_Sql(); $group = $be->getGroupByName($record->name); $oldMembers = $be->getGroupMembers($group->getId()); $newMembers = $this->_resolveUsers($members); foreach ($oldMembers as $oldMember) { if (!in_array($oldMember, $newMembers)) { $be->removeGroupMember($record->getId(), $oldMember); } } foreach ($newMembers as $newMember) { if (!in_array($newMember, $oldMembers)) { $be->addGroupMember($record->getId(), $newMember); } } }