1<?php 2/* 3 +-----------------------------------------------------------------------------+ 4 | ILIAS open source | 5 +-----------------------------------------------------------------------------+ 6 | Copyright (c) 1998-2006 ILIAS open source, University of Cologne | 7 | | 8 | This program is free software; you can redistribute it and/or | 9 | modify it under the terms of the GNU General Public License | 10 | as published by the Free Software Foundation; either version 2 | 11 | of the License, or (at your option) any later version. | 12 | | 13 | This program is distributed in the hope that it will be useful, | 14 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 16 | GNU General Public License for more details. | 17 | | 18 | You should have received a copy of the GNU General Public License | 19 | along with this program; if not, write to the Free Software | 20 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 21 +-----------------------------------------------------------------------------+ 22*/ 23 24/** 25* List GUI factory for lucene search results 26* 27* @author Stefan Meyer <meyer@leifos.com> 28* @version $Id$ 29* 30* 31* @ingroup ServicesSearch 32*/ 33class ilLuceneSearchObjectListGUIFactory 34{ 35 private static $item_list_gui = array(); 36 37 /** 38 * Get list gui by type 39 * This method caches all the returned list guis 40 * @param string $a_type object type 41 * @return object item_list_gui 42 * @static 43 */ 44 public static function factory($a_type) 45 { 46 global $DIC; 47 48 $objDefinition = $DIC['objDefinition']; 49 $ilLog = $DIC['ilLog']; 50 51 if (isset(self::$item_list_gui[$a_type])) { 52 return self::$item_list_gui[$a_type]; 53 } 54 55 if (!$a_type) { 56 return self::$item_list_gui[$a_type] = $item_list_gui; 57 } 58 59 $class = $objDefinition->getClassName($a_type); 60 $location = $objDefinition->getLocation($a_type); 61 62 $full_class = "ilObj" . $class . "ListGUI"; 63 64 include_once($location . "/class." . $full_class . ".php"); 65 $item_list_gui = new $full_class(); 66 67 $item_list_gui->setDetailsLevel(ilObjectListGUI::DETAILS_SEARCH); 68 $item_list_gui->enableDelete(true); 69 $item_list_gui->enableCut(true); 70 $item_list_gui->enableSubscribe(true); 71 $item_list_gui->enableLink(true); 72 $item_list_gui->enablePath(false); 73 $item_list_gui->enableLinkedPath(true); 74 $item_list_gui->enableSearchFragments(true); 75 $item_list_gui->enableRelevance(false); 76 if ($_SESSION["il_cont_admin_panel"]) { 77 $item_list_gui->enableCheckbox(false); 78 } 79 80 return self::$item_list_gui[$a_type] = $item_list_gui; 81 } 82} 83