public function process() { $parameters = $this->getParametersAsArray(); if (!empty($parameters[0])) { $repository_id = (int) $parameters[0]; } else { $this->error('Missing argument repository id'); return false; } if (!empty($parameters[1])) { $remote_server_id = (int) $parameters[1]; } else { $this->error('Missing argument remote server id'); return false; } $repository = $this->repository_factory->getRepositoryById($repository_id); if (!$repository) { $this->error('Failed to find repository ' . $repository_id); return false; } $server = $this->server_factory->getServerById($remote_server_id); if (!$server) { $this->error('Failed to find server ' . $remote_server_id); return false; } $project = $repository->getProject(); if (!$project) { $this->error('Failed to find project ' . $repository->getProject()); return false; } return $this->makeGerritProjectReadOnly($repository, $server, $project); }
public function deleteRepository($projectId, $repositoryId) { $c = $this->getController(); $projectId = intval($projectId); $repositoryId = intval($repositoryId); if (empty($projectId) || empty($repositoryId)) { $c->addError($this->getText('actions_params_error')); return false; } $repository = $this->factory->getRepositoryById($repositoryId); if ($repository) { if ($repository->canBeDeleted()) { $this->markAsDeleted($repository); $c->addInfo($this->getText('actions_delete_process')); $c->addInfo($this->getText('actions_delete_backup') . ' : ' . $c->getPlugin()->getConfigurationParameter('git_backup_dir')); } else { $c->addError($this->getText('backend_delete_haschild_error')); $c->redirect('/plugins/git/index.php/' . $projectId . '/view/' . $repositoryId . '/'); return false; } } else { $c->addError($this->getText('actions_repo_not_found')); } $c->redirect('/plugins/git/?action=index&group_id=' . $projectId); }
/** * Constructor. * * @param Integer $groupId Project Id * @param Integer $weeksNumber Statistics duration in weeks * * @return Void */ public function __construct($groupId, $weeksNumber) { $dao = new GitDao(); // TODO: Optionally include presonal forks in repo list $allRepositories = $dao->getProjectRepositoryList($groupId); $um = UserManager::instance(); $user = $um->getCurrentUser(); $repoFactory = new GitRepositoryFactory($dao, ProjectManager::instance()); foreach ($allRepositories as $repo) { $repository = $repoFactory->getRepositoryById($repo['repository_id']); if ($repository->userCanRead($user)) { $this->repoList[] = $repository; } } $this->displayChart = false; $this->weeksNumber = min($weeksNumber, self::MAX_WEEKSNUMBER); // Init some class properties according to 'weeks number' parameter $today = $_SERVER['REQUEST_TIME']; $startPeriod = strtotime("-{$this->weeksNumber} weeks"); $weekInSeconds = self::WEEKS_IN_SECONDS; for ($i = $startPeriod + $weekInSeconds; $i < $today + $weekInSeconds; $i += $weekInSeconds) { $this->dates[] = date('M d', $i); $this->weekNum[] = intval(date('W', $i)); $this->year[] = intval(date('Y', $i)); } }
private function getRepositoriesFromIds(array $repoIds) { $repos = array(); foreach ($repoIds as $id) { $repos[] = $this->factory->getRepositoryById($id); } return $repos; }
private function getRepositoriesFromIds($repository_ids) { $repositories = array(); foreach ($repository_ids as $repository_id) { $repository = $this->factory->getRepositoryById($repository_id); if (!$repository) { return false; } $repositories[] = $repository; } return $repositories; }
private function verbalizeRepoId($repo_id, $with_link) { $txt = '#' . $repo_id; if ($with_link) { $hp = Codendi_HTMLPurifier::instance(); $repo = $this->repository_factory->getRepositoryById($repo_id); if ($repo) { $txt = $repo->getHTMLLink($this->url_manager); } } return $txt; }
/** * @return GitRepository|null */ private function getRepositoryFromStandardURL() { $repository_id = $this->matches['repository_id']; $repository_id_is_a_int = preg_match('/^([0-9]+)$/', $repository_id); if ($repository_id_is_a_int) { return $this->repository_factory->getRepositoryById($repository_id); } else { $project = $this->getProjectFromStandardURL(); if (!$project->isError()) { return $this->repository_factory->getRepositoryByPath($project->getID(), GitRepository::getPathFromProjectAndName($project, $repository_id)); } } return null; }
/** * Wrapper used for tests to get a new GitRepository */ function getGitRepository($repositoryId) { return $this->factory->getRepositoryById($repositoryId); }
private function getRepositoryFromParameters() { return $this->repository_factory->getRepositoryById($this->getRepositoryIdFromParameters()); }
/** * Prepare fork repository message * * @param String $repos Comma separated repositories Ids selected for fork * * @return String */ private function displayForkSourceRepositories($repos) { $dao = new GitDao(); $repoFactory = new GitRepositoryFactory($dao, $this->getProjectManager()); $sourceReposHTML = ''; $repositories = explode(',', $repos); foreach ($repositories as $repositoryId) { $repository = $repoFactory->getRepositoryById($repositoryId); $sourceReposHTML .= '"' . $this->getPurifier()->purify($repository->getFullName()) . '" '; } return $sourceReposHTML; }
/** * Gives the parent GitRepository object of this * Look into the database * @return GitRepository */ public function getParent() { if (empty($this->parent)) { $factory = new GitRepositoryFactory($this->getDao(), $this->_getProjectManager()); $this->parent = $factory->getRepositoryById($this->getParentId()); } return $this->parent; }