diff options
Diffstat (limited to 'www/search.php')
| -rw-r--r-- | www/search.php | 200 | 
1 files changed, 102 insertions, 98 deletions
| diff --git a/www/search.php b/www/search.php index 4d4d573..c957b80 100644 --- a/www/search.php +++ b/www/search.php @@ -31,106 +31,110 @@ isset($_GET['sort']) ? define('GET_SORT', $_GET['sort']): define('GET_SORT', '')  // POST  if (POST_TERMS != '') {  	// Redirect to GET -	header('Location: '. createURL('search', POST_RANGE .'/'. filter(POST_TERMS, 'url'))); +	header( +        'Location: ' +        . createURL('search', POST_RANGE .'/'. filter(POST_TERMS, 'url')) +    ); +    exit(); -	// GET +} + +/* Service creation: only useful services are created */ +$bookmarkservice =SemanticScuttle_Service_Factory::get('Bookmark'); +$searchhistoryservice =SemanticScuttle_Service_Factory::get('SearchHistory'); + +/* Managing current logged user */ +$currentUserId = $userservice->getCurrentUserId(); + + +$exploded = isset($_SERVER['PATH_INFO']) +    ? explode('/', $_SERVER['PATH_INFO']) : null; +if(count($exploded) == 4) { +    list($url, $range, $terms, $page) = $exploded; +} else if (count($exploded) == 2) { +    list($url, $range) = $exploded; +    $terms = $page= NULL; +} else { +    list($url, $range, $terms) = $exploded; +    $page= NULL; +} + +$tplVars['loadjs'] = true; + +// Pagination +$perpage = getPerPageCount($currentUser); +if (intval(GET_PAGE) > 1) { +    $page = intval(GET_PAGE); +    $start = ($page - 1) * $perpage; +} else { +    $page = 0; +    $start = 0; +} + +$s_user = NULL; +$s_start = NULL; +$s_end = NULL; +$s_watchlist = NULL; + +// No search terms +if (is_null($terms)) { +    $tplVars['subtitle'] = T_('Search Bookmarks'); +    $s_end = date('Y-m-d H:i:s', strtotime('tomorrow')); +    $s_start = date('Y-m-d H:i:s', strtotime($s_end .' -'. $defaultRecentDays .' days')); + +    // Search terms  } else { -	/* Service creation: only useful services are created */ -	$bookmarkservice =SemanticScuttle_Service_Factory::get('Bookmark'); -	$searchhistoryservice =SemanticScuttle_Service_Factory::get('SearchHistory'); - -	/* Managing current logged user */ -	$currentUserId = $userservice->getCurrentUserId(); - - -	$exploded = isset($_SERVER['PATH_INFO']) -		? explode('/', $_SERVER['PATH_INFO']) : null; -	if(count($exploded) == 4) { -		list($url, $range, $terms, $page) = $exploded; -	} else if (count($exploded) == 2) { -		list($url, $range) = $exploded; -		$terms = $page= NULL; -	} else { -		list($url, $range, $terms) = $exploded; -		$page= NULL; -	} - -	$tplVars['loadjs'] = true; - -	// Pagination -	$perpage = getPerPageCount($currentUser); -	if (intval(GET_PAGE) > 1) { -		$page = intval(GET_PAGE); -		$start = ($page - 1) * $perpage; -	} else { -		$page = 0; -		$start = 0; -	} - -	$s_user = NULL; -	$s_start = NULL; -	$s_end = NULL; -	$s_watchlist = NULL; - -	// No search terms -	if (is_null($terms)) { -		$tplVars['subtitle'] = T_('Search Bookmarks'); -		$s_end = date('Y-m-d H:i:s', strtotime('tomorrow')); -		$s_start = date('Y-m-d H:i:s', strtotime($s_end .' -'. $defaultRecentDays .' days')); - -		// Search terms -	} else { -		$tplVars['subtitle'] = T_('Search Results'); -		$selected = ' selected="selected"'; - -		switch ($range) { -        case 'all': -            $tplVars['select_all'] = $selected; -            $s_user = NULL; -            break; -        case 'watchlist': -            $tplVars['select_watchlist'] = $selected; -            $s_user = $currentUserId; -            $s_watchlist = true; -            break; -        default: -            $s_user = $range; -            break; -		} - -		if (isset($s_user)) { -			$tplVars['user'] = $range; -			$s_user = $userservice->getIdFromUser($s_user); -			if($s_user == NULL) { -				$tplVars['error'] = sprintf(T_('User with username %s was not found'), $s_user); -				$templateservice->loadTemplate('error.404.tpl', $tplVars); -				exit(); -			} - -		} -	} -	$bookmarks =& $bookmarkservice->getBookmarks($start, $perpage, $s_user, NULL, $terms, getSortOrder(), $s_watchlist, $s_start, $s_end); - -	// Save search -	$searchhistoryservice->addSearch($terms, $range, $bookmarks['total'], $currentUserId); - -	if($GLOBALS['enableGoogleCustomSearch']) { -        $tplVars['tipMsg'] = T_('Unsatisfied? You can also try our ').'<a href="'.createUrl('gsearch/index').'">Google Custom Search page</a>.'; +    $tplVars['subtitle'] = T_('Search Results'); +    $selected = ' selected="selected"'; + +    switch ($range) { +    case 'all': +        $tplVars['select_all'] = $selected; +        $s_user = NULL; +        break; +    case 'watchlist': +        $tplVars['select_watchlist'] = $selected; +        $s_user = $currentUserId; +        $s_watchlist = true; +        break; +    default: +        $s_user = $range; +        break; +    } + +    if (isset($s_user)) { +        $tplVars['user'] = $range; +        $s_user = $userservice->getIdFromUser($s_user); +        if($s_user == NULL) { +            $tplVars['error'] = sprintf(T_('User with username %s was not found'), $s_user); +            $templateservice->loadTemplate('error.404.tpl', $tplVars); +            exit(); +        } +      } -    $tplVars['rsschannels'] = array(); -    $tplVars['page'] = $page; -    $tplVars['start'] = $start; -    $tplVars['popCount'] = 25; -    $tplVars['sidebar_blocks'] = array('search', 'recent', 'menu2'); -    $tplVars['range'] = $range; -    $tplVars['terms'] = $terms; -    $tplVars['pagetitle'] = T_('Search Bookmarks'); -    $tplVars['bookmarkCount'] = $start + 1; -    $tplVars['total'] = $bookmarks['total']; -    $tplVars['bookmarks'] =& $bookmarks['bookmarks']; -    $tplVars['cat_url'] = createURL('tags', '%2$s'); -    $tplVars['nav_url'] = createURL('search', $range .'/'. $terms .'/%3$s'); - -    $templateservice->loadTemplate('bookmarks.tpl', $tplVars);  } +$bookmarks =& $bookmarkservice->getBookmarks($start, $perpage, $s_user, NULL, $terms, getSortOrder(), $s_watchlist, $s_start, $s_end); + +// Save search +$searchhistoryservice->addSearch($terms, $range, $bookmarks['total'], $currentUserId); + +if ($GLOBALS['enableGoogleCustomSearch']) { +    $tplVars['tipMsg'] = T_('Unsatisfied? You can also try our ') +        . '<a href="' . createUrl('gsearch/index') . '">Google Custom Search page</a>.'; +} +$tplVars['rsschannels'] = array(); +$tplVars['page'] = $page; +$tplVars['start'] = $start; +$tplVars['popCount'] = 25; +$tplVars['sidebar_blocks'] = array('search', 'recent', 'menu2'); +$tplVars['range'] = $range; +$tplVars['terms'] = $terms; +$tplVars['pagetitle'] = T_('Search Bookmarks'); +$tplVars['bookmarkCount'] = $start + 1; +$tplVars['total'] = $bookmarks['total']; +$tplVars['bookmarks'] =& $bookmarks['bookmarks']; +$tplVars['cat_url'] = createURL('tags', '%2$s'); +$tplVars['nav_url'] = createURL('search', $range .'/'. $terms .'/%3$s'); + +$templateservice->loadTemplate('bookmarks.tpl', $tplVars);  ?> | 
