/** * Update SVN access files into all projects that a given user belongs to * * It includes: * + projects the user is member of * + projects that have user groups that contains the user * * @param PFUser $user * * @return Boolean */ public function updateSVNAccessForGivenMember($user) { $projects = $user->getAllProjects(); if (isset($projects)) { foreach ($projects as $groupId) { $project = $this->getProjectManager()->getProject($groupId); $this->updateProjectSVNAccessFile($project); } } return true; }
public function getUserProjectsAsOptions(PFUser $user, ProjectManager $manager, $currentProjectId) { $purifier = Codendi_HTMLPurifier::instance(); $html = ''; $option = '<option value="%d" title="%s">%s</option>'; $usrProject = array_diff($user->getAllProjects(), array($currentProjectId)); foreach ($usrProject as $projectId) { $project = $manager->getProject($projectId); if ($user->isMember($projectId, 'A') && $project->usesService(GitPlugin::SERVICE_SHORTNAME)) { $projectName = $project->getPublicName(); $projectUnixName = $purifier->purify($project->getUnixName()); $html .= sprintf($option, $projectId, $projectUnixName, $projectName); } } return $html; }