public function search(Search_SearchQuery $query, Search_SearchResults $search_results) { $user = UserManager::instance()->getCurrentUser(); if ($user->isRestricted()) { $dao_results = $this->dao->searchGlobalPaginatedForRestrictedUsers($query->getWords(), $query->getOffset(), $query->getExact(), $user->getId(), $query->getNumberOfResults()); } else { $dao_results = $this->dao->searchGlobalPaginated($query->getWords(), $query->getOffset(), $query->getExact(), $query->getNumberOfResults()); } $results_count = count($dao_results); $maybe_more_results = $results_count < $query->getNumberOfResults() ? false : true; $search_results->setHasMore($maybe_more_results)->setCountResults($results_count); return $this->getSearchProjectResultPresenter($dao_results, $query->getWords(), $maybe_more_results); }
public function displayStandardHomepage($display_homepage_news) { $dao = new Admin_Homepage_Dao(); $current_user = UserManager::instance()->getCurrentUser(); $project_dao = new UserDao(); $nb_users = $project_dao->countActiveAndRestrictedUsers(); $project_dao = new ProjectDao(); $nb_projects = $project_dao->countActiveProjects(); $most_secure_url = ''; if (ForgeConfig::get('sys_https_host')) { $most_secure_url = 'https://' . ForgeConfig::get('sys_https_host'); } $login_presenter_builder = new User_LoginPresenterBuilder(); $login_presenter = $login_presenter_builder->buildForHomepage(); $headline = $dao->getHeadlineByLanguage($current_user->getLocale()); $news_bytes_dao = new NewsBytesDao(); $news = false; if ($display_homepage_news && $news_bytes_dao->isThereNewsToDisplayInHomepage()) { $news = news_show_latest($GLOBALS['sys_news_group'], 2, true, false, true, 0); } $awesomeness = file_get_contents($GLOBALS['Language']->getContent('homepage/awesomeness', null, null, '.html')); $templates_dir = ForgeConfig::get('codendi_dir') . '/src/templates/homepage/'; $renderer = TemplateRendererFactory::build()->getRenderer($templates_dir); $presenter = new FlamingParrot_HomepagePresenter($headline, $nb_projects, $nb_users, $most_secure_url, $login_presenter, $display_homepage_news, $news, $current_user, $awesomeness); $renderer->renderToPage('homepage', $presenter); }
<?php // // SourceForge: Breaking Down the Barriers to Open Source Development // Copyright 1999-2000 (c) The SourceForge Crew // http://sourceforge.net // // require_once 'pre.php'; require_once 'www/admin/admin_utils.php'; session_require(array('group' => '1', 'admin_flags' => 'A')); $dao = new ProjectDao(CodendiDataAccess::instance()); $offset = $request->getValidated('offset', 'uint', 0); if (!$offset || $offset < 0) { $offset = 0; } $limit = 50; $group_name_search = "0"; $vGroupNameSearch = new Valid_String('group_name_search'); if ($request->valid($vGroupNameSearch)) { if ($request->exist('group_name_search')) { $group_name_search = $request->get('group_name_search'); } } $status = ""; $vStatus = new Valid_WhiteList('status', array('I', 'D')); if ($request->valid($vStatus)) { if ($request->exist('status')) { $status = $request->get('status'); } }
/** * Try to find the project that match what can be entred in autocompleter * * This can be either: * - The autocomplter result: Public Name (unixname) * - The group id: 101 * - The project unix name: unixname * * @return Project */ public function getProjectFromAutocompleter($name) { $matches = array(); $dao = new ProjectDao(CodendiDataAccess::instance()); if (preg_match('/^(.*) \\((.*)\\)$/', $name, $matches)) { // Autocompleter "normal" form: Public Name (unix_name); { $dar = $dao->searchByUnixGroupName($matches[2]); } elseif (is_numeric($name)) { // Only group_id (for codex guru or psychopath, more or less the same thing anyway) $dar = $dao->searchById($name); } else { // Give it a try with only the given name $dar = $dao->searchByUnixGroupName($name); } if ($dar && !$dar->isError() && $dar->rowCount() == 1) { return $this->getAndCacheProject($dar->getRow()); } return false; }
/** * Generates public projects list * * @return Array */ function getPublicProjectList() { $dao = new ProjectDao(CodendiDataAccess::instance()); $res = $dao->searchByPublicStatus(Project::IS_PUBLIC); $projects = array(); if ($res && !$res->isError() && $res->rowCount() > 0) { foreach ($res as $row) { if ($this->isWebDAVAllowedForProject($row['group_id'])) { $project = $this->getWebDAVProject($row['group_id']); $projects[] = $project; } } } return $projects; }