private function appendMembersForStaticGroups(DOMElement $ugroup_node, ProjectUGroup $ugroup)
 {
     if ($ugroup->getId() > ProjectUGroup::NONE) {
         foreach ($ugroup->getMembersUserName() as $user_name) {
             $this->appendChild($ugroup_node, 'member', $user_name);
         }
     }
 }
 /**
  * Get the list of source ugroups by project
  *
  * @param Integer $sourceProject Id of the current soucrce project
  * @param ProjectUGroup  $currentSource Currently bound ugroup
  *
  * @return Array
  */
 private function getUgroupList($sourceProject, ProjectUGroup $currentSource = null)
 {
     $ugroupList = array();
     $selected = false;
     $ugroups = ugroup_db_get_existing_ugroups($sourceProject);
     while ($ugroup = db_fetch_array($ugroups)) {
         $userGroup = new ProjectUGroup(array('ugroup_id' => $ugroup['ugroup_id']));
         if (!$userGroup->isBound()) {
             if ($currentSource && $currentSource->getId() == $ugroup['ugroup_id']) {
                 $selected = true;
             }
             $ugroupList[] = array('ugroup_id' => $ugroup['ugroup_id'], 'name' => $ugroup['name'], 'selected' => $selected);
         }
     }
     return $ugroupList;
 }
 public function setSourceGroup(ProjectUGroup $ugroup = null)
 {
     $this->source_ugroup = $ugroup;
     $this->source_id = $ugroup === null ? null : $ugroup->getId();
 }
 public function getServersForUGroup(ProjectUGroup $ugroup)
 {
     $servers = array();
     foreach ($this->dao->searchAllByUGroupId($ugroup->getProjectId(), $ugroup->getId()) as $row) {
         $servers[$row['id']] = $this->instantiateFromRow($row);
     }
     return $servers;
 }
 /**
  * 
  * @return int
  */
 public function getUgroupId()
 {
     return $this->ugroup->getId();
 }
 /**
  * @todo should be private
  *
  * @param Project $project
  * @param ProjectUGroup $ugroup
  * @param PFUser $user
  * @return \GitRepositoryWithPermissions
  */
 public function getGerritRepositoriesWithPermissionsForUGroupAndProject(Project $project, ProjectUGroup $ugroup, PFUser $user)
 {
     $repositories = array();
     $ugroups = $user->getUgroups($project->getID(), null);
     $ugroups[] = $ugroup->getId();
     $dar = $this->dao->searchGerritRepositoriesWithPermissionsForUGroupAndProject($project->getID(), $ugroups);
     foreach ($dar as $row) {
         if (isset($repositories[$row['repository_id']])) {
             $repo_with_perms = $repositories[$row['repository_id']];
         } else {
             $repo_with_perms = new GitRepositoryWithPermissions($this->instanciateFromRow($row));
             $repositories[$row['repository_id']] = $repo_with_perms;
         }
         $repo_with_perms->addUGroupForPermissionType($row['permission_type'], $row['ugroup_id']);
     }
     return $repositories;
 }
 private function removeUserFromUserGroup(ProjectUGroup $user_group, PFUser $user)
 {
     if ($user_group->getId() == ProjectUGroup::PROJECT_MEMBERS) {
         return account_remove_user_from_group($user_group->getProjectId(), $user->getId());
     }
     return $user_group->removeUser($user);
 }
 /**
  *
  * @param ProjectUGroup $ugroup
  * @return bool
  */
 private function ugroupCanBeMigrated(ProjectUGroup $ugroup)
 {
     return $ugroup->getId() > ProjectUGroup::NONE || $ugroup->getId() == ProjectUGroup::PROJECT_MEMBERS || $ugroup->getId() == ProjectUGroup::PROJECT_ADMIN;
 }