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);
 }
Example #3
0
<?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');
    }
}
Example #4
0
 /**
  * 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;
 }
Example #5
0
 /**
  * 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;
 }