ILIAS  release_8 Revision v8.19
All Data Structures Namespaces Files Functions Variables Modules Pages
ilMainMenuSearchGUI Class Reference

Add a search box to main menu. More...

+ Collaboration diagram for ilMainMenuSearchGUI:

Public Member Functions

 __construct ()
 
 getHTML ()
 

Protected Member Functions

 initRefIdFromQuery ()
 

Protected Attributes

ilTemplate $tpl = null
 
ilLanguage $lng
 
ilTree $tree
 
ilCtrl $ctrl
 
ilObjUser $user
 

Private Attributes

GlobalHttpState $http
 
Factory $refinery
 
int $ref_id
 
bool $isContainer = true
 

Detailed Description

Add a search box to main menu.

Author
Stefan Meyer meyer.nosp@m.@lei.nosp@m.fos.c.nosp@m.om

Definition at line 32 of file class.ilMainMenuSearchGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilMainMenuSearchGUI::__construct ( )

Definition at line 47 of file class.ilMainMenuSearchGUI.php.

References $DIC, ILIAS\Repository\ctrl(), ILIAS\FileDelivery\http(), initRefIdFromQuery(), ILIAS\Repository\lng(), ILIAS\Repository\refinery(), and ILIAS\Repository\user().

48  {
49  global $DIC;
50 
51  $this->lng = $DIC->language();
52  $this->lng->loadLanguageModule("search");
53  $this->tree = $DIC->repositoryTree();
54  $this->ctrl = $DIC->ctrl();
55  $this->user = $DIC->user();
56 
57  $this->http = $DIC->http();
58  $this->refinery = $DIC->refinery();
59  $DIC['tpl']->addJavascript('Services/Search/js/SearchMainMenu.js');
60 
61  $this->initRefIdFromQuery();
62  }
global $DIC
Definition: feed.php:28
static http()
Fetches the global http state from ILIAS.
+ Here is the call graph for this function:

Member Function Documentation

◆ getHTML()

ilMainMenuSearchGUI::getHTML ( )

Definition at line 75 of file class.ilMainMenuSearchGUI.php.

References ANONYMOUS_USER_ID, ILIAS\Repository\ctrl(), ilUtil\getImagePath(), ilSearchSettings\getInstance(), ilUtil\img(), iljQueryUtil\initjQuery(), iljQueryUtil\initjQueryUI(), ILIAS\Repository\lng(), ROOT_FOLDER_ID, ilSearchControllerGUI\TYPE_USER_SEARCH, and ILIAS\Repository\user().

75  : string
76  {
79 
80  $this->tpl = new ilTemplate('tpl.main_menu_search.html', true, true, 'Services/Search');
81  if ($this->user->getId() != ANONYMOUS_USER_ID) {
82  $this->tpl->setVariable('LABEL_SEARCH_OPTIONS', $this->lng->txt("label_search_options"));
83  if (ilSearchSettings::getInstance()->isLuceneUserSearchEnabled() || ($this->ref_id != ROOT_FOLDER_ID)) {
84  $this->tpl->setCurrentBlock("position");
85  $this->tpl->setVariable('TXT_GLOBALLY', $this->lng->txt("search_globally"));
86  $this->tpl->setVariable('ROOT_ID', ROOT_FOLDER_ID);
87  $this->tpl->parseCurrentBlock();
88  } else {
89  $this->tpl->setCurrentBlock("position_hid");
90  $this->tpl->setVariable('ROOT_ID_HID', ROOT_FOLDER_ID);
91  $this->tpl->parseCurrentBlock();
92  }
93  if ($this->ref_id != ROOT_FOLDER_ID) {
94  $this->tpl->setCurrentBlock('position_rep');
95  $this->tpl->setVariable('TXT_CURRENT_POSITION', $this->lng->txt("search_at_current_position"));
96  $this->tpl->setVariable('REF_ID', $this->ref_id);
97  $this->tpl->parseCurrentBlock();
98  }
99  }
100 
101  if ($this->user->getId() != ANONYMOUS_USER_ID && ilSearchSettings::getInstance()->isLuceneUserSearchEnabled()) {
102  $this->tpl->setCurrentBlock('usr_search');
103  $this->tpl->setVariable('TXT_USR_SEARCH', $this->lng->txt('search_users'));
104  $this->tpl->setVariable('USER_SEARCH_ID', ilSearchControllerGUI::TYPE_USER_SEARCH);
105  $this->tpl->parseCurrentBlock();
106  }
107  $this->tpl->setVariable(
108  'FORMACTION',
109  $this->ctrl->getFormActionByClass(
110  ilSearchControllerGUI::class,
111  'remoteSearch'
112  )
113  );
114  $this->tpl->setVariable('BTN_SEARCH', $this->lng->txt('search'));
115  $this->tpl->setVariable('SEARCH_INPUT_LABEL', $this->lng->txt('search_field'));
116  $this->tpl->setVariable(
117  'AC_DATASOURCE',
118  $this->ctrl->getLinkTargetByClass(
119  ilSearchControllerGUI::class,
120  'autoComplete',
121  null,
122  true
123  )
124  );
125 
126  $this->tpl->setVariable('IMG_MM_SEARCH', ilUtil::img(
127  ilUtil::getImagePath("icon_seas.svg"),
128  $this->lng->txt("search")
129  ));
130 
131  if ($this->user->getId() != ANONYMOUS_USER_ID) {
132  $this->tpl->setVariable(
133  'HREF_SEARCH_LINK',
134  'ilias.php?baseClass=' . ilSearchControllerGUI::class
135  );
136  $this->tpl->setVariable('TXT_SEARCH_LINK', $this->lng->txt("last_search_result"));
137  }
138  // #10555 - we need the overlay for the autocomplete which is always active
139  $this->tpl->setVariable('TXT_SEARCH', $this->lng->txt("search"));
140  $ov = new ilOverlayGUI("mm_search_menu");
141  //$ov->setTrigger("main_menu_search", "none",
142  // "main_menu_search", "tr", "br");
143  //$ov->setAnchor("main_menu_search", "tr", "br");
144  $ov->setAutoHide(false);
145  $ov->add();
146 
147  return $this->tpl->get();
148  }
const ANONYMOUS_USER_ID
Definition: constants.php:27
const ROOT_FOLDER_ID
Definition: constants.php:32
static getImagePath(string $img, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
static img(string $a_src, ?string $a_alt=null, $a_width="", $a_height="", $a_border=0, $a_id="", $a_class="")
Build img tag.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static initjQueryUI(ilGlobalTemplateInterface $a_tpl=null)
inits and adds the jQuery-UI JS-File to the global template (see included_components.txt for included components)
static initjQuery(ilGlobalTemplateInterface $a_tpl=null)
inits and adds the jQuery JS-File to the global or a passed template
+ Here is the call graph for this function:

◆ initRefIdFromQuery()

ilMainMenuSearchGUI::initRefIdFromQuery ( )
protected

Definition at line 64 of file class.ilMainMenuSearchGUI.php.

References ILIAS\FileDelivery\http(), ILIAS\Repository\refinery(), and ROOT_FOLDER_ID.

Referenced by __construct().

64  : void
65  {
66  $this->ref_id = ROOT_FOLDER_ID;
67  if ($this->http->wrapper()->query()->has('ref_id')) {
68  $this->ref_id = $this->http->wrapper()->query()->retrieve(
69  'ref_id',
70  $this->refinery->kindlyTo()->int()
71  );
72  }
73  }
const ROOT_FOLDER_ID
Definition: constants.php:32
static http()
Fetches the global http state from ILIAS.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $ctrl

ilCtrl ilMainMenuSearchGUI::$ctrl
protected

Definition at line 37 of file class.ilMainMenuSearchGUI.php.

◆ $http

GlobalHttpState ilMainMenuSearchGUI::$http
private

Definition at line 40 of file class.ilMainMenuSearchGUI.php.

◆ $isContainer

bool ilMainMenuSearchGUI::$isContainer = true
private

Definition at line 45 of file class.ilMainMenuSearchGUI.php.

◆ $lng

ilLanguage ilMainMenuSearchGUI::$lng
protected

Definition at line 35 of file class.ilMainMenuSearchGUI.php.

◆ $ref_id

int ilMainMenuSearchGUI::$ref_id
private

Definition at line 44 of file class.ilMainMenuSearchGUI.php.

◆ $refinery

Factory ilMainMenuSearchGUI::$refinery
private

Definition at line 41 of file class.ilMainMenuSearchGUI.php.

◆ $tpl

ilTemplate ilMainMenuSearchGUI::$tpl = null
protected

Definition at line 34 of file class.ilMainMenuSearchGUI.php.

◆ $tree

ilTree ilMainMenuSearchGUI::$tree
protected

Definition at line 36 of file class.ilMainMenuSearchGUI.php.

◆ $user

ilObjUser ilMainMenuSearchGUI::$user
protected

Definition at line 38 of file class.ilMainMenuSearchGUI.php.


The documentation for this class was generated from the following file: