1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
<?php
/**
* GForge Search Engine
*
* Portions Copyright 1999-2001 (c) VA Linux Systems
* The rest Copyright 2004 (c) Guillaume Smet / Open Wide
*
* http://gforge.org
*
* @version $Id: PeopleSearchQuery.class 5270 2006-02-05 17:12:19Z tperdue $
*/
require_once('common/search/SearchQuery.class');
class PeopleSearchQuery extends SearchQuery {
/**
* Constructor
*
* @param string $words words we are searching for
* @param int $offset offset
* @param boolean $isExact if we want to search for all the words or if only one matching the query is sufficient
*/
function PeopleSearchQuery($words, $offset, $isExact) {
$this->SearchQuery($words, $offset, $isExact);
}
/**
* getQuery - get the sql query built to get the search results
*
* @return string sql query to execute
*/
function getQuery() {
global $sys_use_fti;
if ($sys_use_fti) {
$sql = "SELECT * FROM users_search('".$this->getFormattedWords()."')";
} else {
$sql = 'SELECT user_name,user_id,realname '
. 'FROM users '
. 'WHERE (('.$this->getIlikeCondition('user_name', $this->words).') '
. 'OR ('.$this->getIlikeCondition('realname', $this->words).')) '
. 'AND (status=\'A\') '
. 'ORDER BY user_name';
}
return $sql;
}
}
?>
|