86        if ($a_usr_id == ANONYMOUS_USER_ID) {
 
   91        $this->usr_id = $a_usr_id;
 
  106        if (is_object(self::$instance) and self::$instance) {
 
  144        return $this->search_result ? $this->search_result : array();
 
  156        $this->search_result = $a_results;
 
  168        $this->search_result[$a_result_item[
'ref_id']][
'ref_id'] = $a_result_item[
'ref_id'];
 
  169        $this->search_result[$a_result_item[
'ref_id']][
'obj_id'] = $a_result_item[
'obj_id'];
 
  170        $this->search_result[$a_result_item[
'ref_id']][
'type'] = $a_result_item[
'type'];
 
  183        $this->failed[$a_ref_id] = $a_ref_id;
 
  195        return in_array($a_ref_id, $this->failed) ? true : 
false;
 
  208        $this->checked[$a_ref_id] = $a_obj_id;
 
  220        return array_key_exists($a_ref_id, $this->checked) and $this->checked[$a_ref_id];
 
  232        return $this->checked ? $this->checked : array();
 
  244            $this->page_number = $a_number;
 
  256        return $this->page_number ? $this->page_number : 1;
 
  266        $this->query = $a_query;
 
  288            return urlencode(str_replace(
'"', 
'.', 
$query[
'lom_content']));
 
  290        return urlencode(str_replace(
'"', 
'.', $this->
getQuery()));
 
  300        $this->root = $a_root;
 
  310        return $this->root ? $this->root : ROOT_FOLDER_ID;
 
  315        $this->item_filter = $a_filter;
 
  325        $this->mime_filter = $a_filter;
 
  336        $this->creation_filter = $a_filter;
 
  362        $query = 
"SELECT COUNT(*) num FROM usr_search " .
 
  363            "WHERE usr_id = " . 
$ilDB->quote($this->usr_id, 
'integer') . 
" " .
 
  364            "AND search_type = " . 
$ilDB->quote($this->search_type, 
'integer');
 
  372                    'search_result' => array(
'clob',serialize(array(0))),
 
  373                    'checked' => array(
'clob',serialize(array(0))),
 
  374                    'failed' => array(
'clob',serialize(array(0))),
 
  375                    'page' => array(
'integer',0)),
 
  377                    'usr_id' => array(
'integer',(
int) $this->usr_id),
 
  378                    'search_type' => array(
'integer',(
int) $this->search_type)
 
  385                    'search_result' => array(
'clob',serialize(array(0))),
 
  386                    'checked' => array(
'clob',serialize(array(0))),
 
  387                    'failed' => array(
'clob',serialize(array(0))),
 
  388                    'page' => array(
'integer',0),
 
  389                    'usr_id' => array(
'integer',(
int) $this->usr_id),
 
  390                    'search_type' => array(
'integer',(
int) $this->search_type)
 
  396        $this->search_result = array();
 
  397        $this->checked = array();
 
  398        $this->failed = array();
 
  408        $this->search_result = array();
 
  409        $this->checked = array();
 
  410        $this->failed = array();
 
  423    public function delete()
 
  429        $query = 
"DELETE FROM usr_search " .
 
  430            "WHERE usr_id = " . $this->db->quote($this->usr_id, 
'integer') . 
" " .
 
  431            "AND search_type = " . $this->db->quote($this->search_type, 
'integer');
 
  454        $query = 
"DELETE FROM usr_search " .
 
  455            "WHERE usr_id = " . 
$ilDB->quote($this->usr_id, 
'integer') . 
" " .
 
  456            "AND ( search_type = " . 
$ilDB->quote($this->search_type, 
'integer') . 
' ' .
 
  457            "OR search_type = " . 
$ilDB->quote(self::LAST_QUERY, 
'integer') . 
')';
 
  460        $ilDB->insert(
'usr_search', array(
 
  461            'usr_id' => array(
'integer',(
int) $this->usr_id),
 
  462            'search_result' => array(
'clob',serialize($this->search_result)),
 
  463            'checked' => array(
'clob',serialize($this->checked)),
 
  464            'failed' => array(
'clob',serialize($this->failed)),
 
  465            'page' => array(
'integer',(
int) $this->page_number),
 
  466            'search_type' => array(
'integer',(
int) $this->search_type),
 
  467            'query' => array(
'clob',serialize($this->
getQuery())),
 
  468            'root' => array(
'integer',$this->
getRoot()),
 
  469            'item_filter' => array(
'text',serialize($this->
getItemFilter())),
 
  470            'mime_filter' => array(
'text',  serialize($this->
getMimeFilter())),
 
  479                'usr_id' => array(
'integer',$this->usr_id),
 
  480                'search_type' => array(
'integer',self::LAST_QUERY),
 
  481                'query' => array(
'text',serialize($this->
getQuery()))
 
  514        $this->failed = array();
 
  515        $this->checked = array();
 
  516        $this->search_result = array();
 
  517        $this->page_number = 0;
 
  523        $query = 
"SELECT * FROM usr_search " .
 
  524            "WHERE usr_id = " . $this->db->quote($this->usr_id, 
'integer') . 
" " .
 
  525            "AND search_type = " . $this->db->quote($this->search_type, 
'integer');
 
  529            $this->search_result = unserialize(stripslashes($row->search_result));
 
  530            if (strlen($row->checked)) {
 
  531                $this->checked = unserialize(stripslashes($row->checked));
 
  533            if (strlen($row->failed)) {
 
  534                $this->failed = unserialize(stripslashes($row->failed));
 
  536            $this->page_number = $row->page;
 
  537            $this->
setQuery(unserialize($row->query));
 
  550        $this->search_result = (array) 
$_SESSION[
'usr_search_cache'][$this->search_type][
'search_result'];
 
  551        $this->checked = (array) 
$_SESSION[
'usr_search_cache'][$this->search_type][
'checked'];
 
  552        $this->failed = (array) 
$_SESSION[
'usr_search_cache'][$this->search_type][
'failed'];
 
  556        $this->
setRoot((
string) 
$_SESSION[
'usr_search_cache'][$this->search_type][
'root']);
 
An exception for terminatinating execution or to throw for unit testing.
Class for storing search result.
addResult($a_result_item)
Append result.
deleteCachedEntriesAnonymous()
Delete cached entries for anonymous user.
isChecked($a_ref_id)
Check if reference was already checked.
readAnonymous()
Read from session for anonymous user.
getCheckedItems()
Get all checked items.
getResultPageNumber()
get result page number
switchSearchType($a_type)
switch to search type reads entries from database
appendToChecked($a_ref_id, $a_obj_id)
Append checked id.
setRoot($a_root)
set root node of search
getUrlEncodedQuery()
Urlencode query for further use in e.g glossariers (highlighting off search terms).
appendToFailed($a_ref_id)
Append failed id.
isFailed($a_ref_id)
check if reference has failed access
setResults($a_results)
Set results.
deleteCachedEntries()
delete cached entries
setQuery($a_query)
set query
static _getInstance($a_usr_id)
Get singleton instance.
isAnonymous()
Check if current user is anonymous user.
setCreationFilter($a_filter)
__construct($a_usr_id)
Constructor.
setResultPageNumber($a_number)
Set result page number.
foreach($_POST as $key=> $value) $res