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);
         }
     }
 }