/** * Manage repository users * * @param void * @return null */ function repository_users() { if ($this->active_repository->isNew()) { flash_error('Repository does not exist'); $this->redirectToReferer(SOURCE_MODULE_PATH); } // if if (!$this->active_repository->canEdit($this->logged_user)) { $this->httpError(HTTP_ERR_FORBIDDEN); } // if $this->wireframe->addPageAction(lang('Browse repository'), $this->active_repository->getBrowseUrl(), null); $this->wireframe->addPageAction(lang('Commit History'), $this->active_repository->getHistoryUrl()); $source_users = SourceUsers::findByRepository($this->active_repository); $distinct_repository_users = $this->active_repository->getDistinctUsers(); // loop through already mapped users and remove them from repository users foreach ($source_users as $source_user) { $mapped_user_key = array_search($source_user->getRepositoryUser(), $distinct_repository_users); if ($mapped_user_key !== false) { unset($distinct_repository_users[$mapped_user_key]); } // if } // foreach $this->smarty->assign(array('source_users' => $source_users, 'repository_users' => $distinct_repository_users, 'system_users' => ProjectUsers::findByProject($this->active_project), 'repository_user_add_url' => assemble_url('repository_user_add', array('project_id' => $this->active_project->getId(), 'repository_id' => $this->active_repository->getId())))); }
/** * Get CreatedBy information * * @param Repository $repository * @return User */ function getCreatedBy($repository = null) { if (is_null($repository)) { $repository = Repositories::findById($this->getParentId()); $repository->mapped_users = SourceUsers::findByRepository($repository); } // if if (isset($repository->mapped_users[$this->getCreatedByName()]) && instance_of($repository->mapped_users[$this->getCreatedByName()], 'SourceUser')) { $source_user = $repository->mapped_users[$this->getCreatedByName()]; if (instance_of($source_user->system_user, 'User')) { return $source_user->system_user; } // if } // if return parent::getCreatedBy(); }
/** * Get mapped user * * @param string $repository_user * return mixed */ function getMappedUser($repository_user) { if (!is_foreachable($this->mapped_users)) { $this->mapped_users = SourceUsers::findByRepository($this); } // if if (isset($this->mapped_users[$repository_user]) && instance_of($this->mapped_users[$repository_user], 'SourceUser')) { $source_user = $this->mapped_users[$repository_user]; if (instance_of($source_user->system_user, 'User')) { return $source_user->system_user; } // if } // if return new AnonymousUser($repository_user, '*****@*****.**'); }