59 $this->mode = $a_mode;
66 if(isset(
$_GET[
'details']))
68 include_once
'./Services/Object/classes/class.ilSubItemListGUI.php';
92 $this->results = $a_result_data;
101 return $this->results ? $this->results : array();
112 $this->subitem_ids = $a_subids;
121 return $this->subitem_ids ? $this->subitem_ids : array();
131 return (isset($this->subitem_ids[$a_obj_id]) and $this->subitem_ids[$a_obj_id]) ?
132 $this->subitem_ids[$a_obj_id] :
155 if(!$ilAccess->checkAccess(
'read',
'',$new_ref))
159 $this->all_references[
$ref_id][] = $new_ref;
162 $this->has_more_ref_ids[
$ref_id] = $counter;
168 if(!isset($this->has_more_ref_ids[$a_ref_id]) or
169 !$this->has_more_ref_ids[$a_ref_id] or
170 isset(
$_SESSION[
'vis_references'][$a_ref_id]))
175 return $this->has_more_ref_ids[$a_ref_id];
180 if(isset(
$_SESSION[
'vis_references'][$a_ref_id]))
182 return $this->all_references[$a_ref_id] ? $this->all_references[$a_ref_id] : array();
186 return array($a_ref_id);
206 $this->searcher = $a_searcher;
239 $ilBench->start(
'Lucene',
'2000_pr');
240 $item_html = array();
242 $ilBench->stop(
'Lucene',
'2000_pr');
246 foreach($this->
getResults() as $c_ref_id => $res_data)
248 $ilBench->start(
'Lucene',
'2100_res');
251 $ilBench->start(
'Lucene',
'2120_tree');
252 if(!$tree->isInTree($ref_id))
256 $ilBench->stop(
'Lucene',
'2120_tree');
260 "obj_id" => $res_data,
266 "s_relevance" => sprintf(
"%03d",$this->
getRelevance($res_data))
269 $ilBench->stop(
'Lucene',
'2100_res');
277 $ilBench->start(
'Lucene',
'2900_tb');
278 include_once(
"./Services/Search/classes/class.ilSearchResultTableGUI.php");
280 $result_table->setCustomPreviousNext($this->prev, $this->next);
282 $result_table->setData($set);
283 $this->thtml = $result_table->getHTML();
284 $ilBench->stop(
'Lucene',
'2900_tb');
298 if($this->
getMode() == self::MODE_LUCENE)
300 return $this->searcher->getResult()->getRelevance($a_obj_id);
312 if($this->
getMode() != self::MODE_LUCENE or !is_object($this->searcher->getHighlighter()))
316 if(strlen(
$title = $this->searcher->getHighlighter()->getTitle($a_obj_id,$a_sub_id)))
330 if($this->
getMode() != self::MODE_LUCENE or !is_object($this->searcher->getHighlighter()))
334 if(strlen(
$title = $this->searcher->getHighlighter()->getDescription($a_obj_id,$a_sub_id)))
348 if($this->
getMode() != self::MODE_LUCENE or !is_object($this->searcher->getHighlighter()))
352 return $this->searcher->getHighlighter()->getContent($a_obj_id,$a_sub_id);
363 #$rel = $this->appendRelevance($obj_id);
372 $tpl =
new ilTemplate(
'tpl.lucene_additional_information.html',
true,
true,
'Services/Search');
373 $tpl->setVariable(
'SUBITEM',$sub);
375 $tpl->setVariable(
'PATH',$path);
378 $tpl->setVariable(
'MORE_PATH',$more);
381 $tpl->setVariable(
'RELEVANCE',$rel);
384 $item_list_gui->setAdditionalInformation(
$tpl->get());
395 include_once
'./Services/Tree/classes/class.ilPathGUI.php';
397 $path_gui->enableTextOnly(
false);
398 $path_gui->setUseImages(
false);
400 $tpl =
new ilTemplate(
'tpl.lucene_path.html',
true,
true,
'Services/Search');
401 $tpl->setVariable(
'PATH_ITEM',$path_gui->getPath(ROOT_FOLDER_ID,$a_ref_id));
411 if($this->
getMode() != self::MODE_LUCENE)
421 $tpl =
new ilTemplate(
'tpl.lucene_more_references.html',
true,
true,
'Services/Search');
422 $this->ctrl->setParameter($this->
getContainer(),
'refs',$a_ref_id);
423 $tpl->setVariable(
'MORE_REFS_LINK',$this->ctrl->getLinkTarget($this->getContainer(),
''));
426 $tpl->setVariable(
'TXT_MORE_REFS',sprintf($this->lng->txt(
'lucene_all_occurrences'),$num_refs));
436 if($this->
getMode() != self::MODE_LUCENE)
446 include_once
'./Services/Search/classes/class.ilSearchSettings.php';
452 $tpl =
new ilTemplate(
'tpl.lucene_relevance.html',
true,
true,
'Services/Search');
455 $width2 = (int) (100 - $width1);
457 $tpl->setCurrentBlock(
'relevance');
458 $tpl->setVariable(
'VAL_REL',sprintf(
"%d %%",$this->
getRelevance($a_obj_id)));
459 $tpl->setVariable(
'WIDTH_A',$width1);
460 $tpl->setVariable(
'WIDTH_B',$width2);
463 $tpl->parseCurrentBlock();
475 if($this->
getMode() == self::MODE_STANDARD)
480 elseif(is_object($this->searcher->getHighlighter()))
482 $subitem_ids = $this->searcher->getHighlighter()->getSubitemIds($obj_id);
483 $highlighter = $this->searcher->getHighlighter();
492 include_once
'./Services/Search/classes/Lucene/class.ilLuceneSubItemListGUIFactory.php';
494 $sub_list->setHighlighter($highlighter);
496 return $sub_list->getHTML();
502 if(isset($_REQUEST[
'refs']))
504 $_SESSION[
'vis_references'][(int) $_REQUEST[
'refs']] = (
int) $_REQUEST[
'refs'];