ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
class.ilSearchController.php
Go to the documentation of this file.
1<?php
2
3/* Copyright (c) 1998-2011 ILIAS open source, Extended GPL, see docs/LICENSE */
4
19{
20 const TYPE_USER_SEARCH = -1;
21
22 public $ctrl = null;
23 public $ilias = null;
24 public $lng = null;
25
30 public function __construct()
31 {
32 global $DIC;
33
34 $ilCtrl = $DIC['ilCtrl'];
35 $ilias = $DIC['ilias'];
36 $lng = $DIC['lng'];
37 $tpl = $DIC['tpl'];
38
39 $this->ilias = $ilias;
40 $this->ctrl = $ilCtrl;
41 $this->lng = $lng;
42 $this->tpl = $tpl;
43 }
44
45 public function getLastClass()
46 {
47 include_once './Services/Search/classes/class.ilSearchSettings.php';
48 if (ilSearchSettings::getInstance()->enabledLucene()) {
49 $default = 'illucenesearchgui';
50 } else {
51 $default = 'ilsearchgui';
52 }
53 if ($_REQUEST['root_id'] == self::TYPE_USER_SEARCH) {
54 $default = 'illuceneusersearchgui';
55 }
56
57 $this->setLastClass($default);
58
59 return $_SESSION['search_last_class'] ? $_SESSION['search_last_class'] : $default;
60 }
61 public function setLastClass($a_class)
62 {
63 $_SESSION['search_last_class'] = $a_class;
64 }
65
66 public function &executeCommand()
67 {
68 global $DIC;
69
70 $rbacsystem = $DIC['rbacsystem'];
71
72 include_once 'Services/Search/classes/class.ilSearchSettings.php';
73
74 // Check hacks
75 if (!$rbacsystem->checkAccess('search', ilSearchSettings::_getSearchSettingRefId())) {
76 $this->ilias->raiseError($this->lng->txt("permission_denied"), $this->ilias->error_obj->MESSAGE);
77 }
78 $forward_class = $this->ctrl->getNextClass($this) ? $this->ctrl->getNextClass($this) : $this->getLastClass();
79
80 switch ($forward_class) {
81 case 'illucenesearchgui':
82 $this->setLastClass('illucenesearchgui');
83 include_once './Services/Search/classes/Lucene/class.ilLuceneSearchGUI.php';
84 $this->ctrl->forwardCommand(new ilLuceneSearchGUI());
85 break;
86
87 case 'illuceneadvancedsearchgui':
88 $this->setLastClass('illuceneadvancedsearchgui');
89 include_once './Services/Search/classes/Lucene/class.ilLuceneAdvancedSearchGUI.php';
90 $this->ctrl->forwardCommand(new ilLuceneAdvancedSearchGUI());
91 break;
92
93 case 'illuceneusersearchgui':
94 $this->setLastClass('illuceneusersearchgui');
95 include_once './Services/Search/classes/Lucene/class.ilLuceneUserSearchGUI.php';
96 $this->ctrl->forwardCommand(new ilLuceneUserSearchGUI());
97 break;
98
99 case 'iladvancedsearchgui':
100 // Remember last class
101 $this->setLastClass('iladvancedsearchgui');
102
103 include_once 'Services/Search/classes/class.ilAdvancedSearchGUI.php';
104
105 $this->ctrl->forwardCommand(new ilAdvancedSearchGUI());
106 break;
107
108 case 'ilsearchgui':
109 // Remember last class
110 $this->setLastClass('ilsearchgui');
111
112 // no break
113 default:
114 include_once 'Services/Search/classes/class.ilSearchGUI.php';
115
116 $search_gui = new ilSearchGUI();
117 $this->ctrl->forwardCommand($search_gui);
118 break;
119 }
120 $this->tpl->printToStdout();
121
122 return true;
123 }
124}
$_SESSION["AccountId"]
An exception for terminatinating execution or to throw for unit testing.
@classDescription GUI for simple Lucene search
@classDescription GUI for Lucene user search
__construct()
Constructor @access public.
Class ilSearchGUI.
static _getSearchSettingRefId()
Read the ref_id of Search Settings object.
global $ilCtrl
Definition: ilias.php:18
redirection script todo: (a better solution should control the processing via a xml file)
if(isset($_FILES['img_file']['size']) && $_FILES['img_file']['size'] > 0) $tpl
$DIC
Definition: xapitoken.php:46