4require_once 
"./Services/Object/classes/class.ilObjectGUI.php";
 
   26                $this->
ilObjectGUI($a_data,$a_id,$a_call_by_reference,$a_prepare_output);
 
   28                $this->lng->loadLanguageModule(
'search');
 
   33                $next_class = $this->ctrl->getNextClass($this);
 
   34                $cmd = $this->ctrl->getCmd();
 
   39                        case 'ilpermissiongui':
 
   40                                $this->tabs_gui->setTabActive(
'perm_settings');
 
   41                                include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
 
   43                                $ret =& $this->ctrl->forwardCommand($perm_gui);
 
   62                $this->ctrl->redirect($this, 
"settings");
 
   73                if(!$ilAccess->checkAccess(
'read',
'',$this->object->getRefId()))
 
   75                        $ilErr->raiseError($this->lng->txt(
'permission_denied'),
$ilErr->MESSAGE);
 
   77                $this->tabs_gui->setTabActive(
'settings');
 
   79                $this->tpl->setContent($this->form->getHTML());
 
   89                include_once 
'Services/WebServices/RPC/classes/class.ilRPCServerSettings.php';
 
   93                if(!$rbacsystem->checkAccess(
'write',$this->object->getRefId()))
 
   95                        $this->
ilias->raiseError($this->lng->txt(
"permission_denied"),$this->ilias->error_obj->MESSAGE);
 
   98                $this->
object->initSettingsObject();
 
   99                $this->
object->settings_obj->setMaxHits((
int) 
$_POST[
'max_hits']);
 
  100                $this->
object->settings_obj->enableIndex($_POST[
'search_index']);
 
  101                $this->
object->settings_obj->enableLucene($_POST[
'search_lucene']);
 
  102                $this->
object->settings_obj->setHideAdvancedSearch($_POST[
'hide_adv_search']);
 
  103                $this->
object->settings_obj->setAutoCompleteLength($_POST[
'auto_complete_length']);
 
  104                $this->
object->settings_obj->setDefaultOperator((
int) $_POST[
'operator']);
 
  105                $this->
object->settings_obj->enableLuceneItemFilter((
int) $_POST[
'if']);
 
  106                $this->
object->settings_obj->setLuceneItemFilter((array) 
$_POST[
'filter']);
 
  110                if($this->object->settings_obj->enabledLucene() and !$rpc_settings->pingServer())
 
  113                        $this->ctrl->redirect($this,
'settings');
 
  118                $this->
object->settings_obj->update();
 
  121                $this->ctrl->redirect($this,
'settings');
 
  140                if ($rbacsystem->checkAccess(
"visible,read",$this->object->getRefId()))
 
  142                        $tabs_gui->addTarget(
"settings",
 
  143                                $this->ctrl->getLinkTarget($this, 
"settings"), array(
"settings",
"", 
"view"), 
"", 
"");
 
  146                if($rbacsystem->checkAccess(
'read',$this->object->getRefId()))
 
  148                        $tabs_gui->addTarget(
'lucene_advanced_settings',
 
  149                                $this->ctrl->getLinkTarget($this,
'advancedLuceneSettings'));
 
  152                if($rbacsystem->checkAccess(
'read',$this->object->getRefId()))
 
  154                        $tabs_gui->addTarget(
'lucene_settings_tab',
 
  155                                $this->ctrl->getLinkTarget($this,
'luceneSettings'));
 
  159                if ($rbacsystem->checkAccess(
'edit_permission',$this->object->getRefId()))
 
  161                        $tabs_gui->addTarget(
"perm_settings",
 
  162                                $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'), 
"perm"), array(
"perm",
"info",
"owner"), 
'ilpermissiongui');
 
  175                include_once 
'./Services/Form/classes/class.ilPropertyFormGUI.php';
 
  176                include_once 
'./Services/Search/classes/class.ilSearchSettings.php';
 
  181                $this->form->setFormAction($this->ctrl->getFormAction($this,
'updateSettings'));
 
  182                $this->form->addCommandButton(
'updateSettings',$this->lng->txt(
'save'));
 
  183                $this->form->setTitle($this->lng->txt(
'seas_settings'));
 
  187                $hits->setValue($settings->getMaxHits());
 
  188                $hits->setRequired(
true);
 
  189                for($value = 5; $value <= 50; $value += 5)
 
  191                        $values[$value] = $value;
 
  193                $hits->setOptions($values);
 
  194                $hits->setInfo($this->lng->txt(
'seas_max_hits_info'));
 
  195                $this->form->addItem($hits);
 
  201                if($settings->enabledLucene()) 
 
  205                elseif($settings->enabledIndex()) 
 
  213                $type->setRequired(
true);
 
  214                $this->form->addItem($type);
 
  218                $operator->setRequired(
true);
 
  219                $operator->setInfo($this->lng->txt(
'lucene_default_operator_info'));
 
  220                $operator->setValue($settings->getDefaultOperator());
 
  223                $operator->addOption($and);
 
  226                $operator->addOption($or);
 
  227                $this->form->addItem($operator);
 
  230                $us = 
new ilCheckboxInputGUI($this->lng->txt(
'search_user_search_form'),
'user_search_enabled');
 
  231                $us->setInfo($this->lng->txt(
'search_user_search_info_form'));
 
  233                $us->setChecked($settings->isLuceneUserSearchEnabled());
 
  234                $this->form->addItem($us);
 
  240                $if->setChecked($settings->isLuceneItemFilterEnabled());
 
  241                $if->setInfo($this->lng->txt(
'search_item_filter_form_info'));
 
  242                $this->form->addItem($if);
 
  244                $filter = $settings->getLuceneItemFilter();
 
  248                        if(isset($filter[$obj]) and $filter[$obj])
 
  250                                $ch->setChecked(
true);
 
  253                        $if->addSubItem($ch);
 
  257                $cdate->setInfo($this->lng->txt(
'search_cdate_filter_info'));
 
  258                $cdate->setChecked($settings->isDateFilterEnabled());
 
  260                $this->form->addItem($cdate);
 
  264                $cb->setChecked($settings->getHideAdvancedSearch());
 
  265                $this->form->addItem($cb);
 
  276                $val = ($settings->getAutoCompleteLength() > 0)
 
  277                        ? $settings->getAutoCompleteLength()
 
  280                $this->form->addItem(
$si);
 
  284                $type->addOption($direct);
 
  286                if(
$ilDB->getDBType() == 
'mysql')
 
  289                        $type->addOption($index);
 
  293                $type->addOption($lucene);
 
  295                $inactive_user = 
new ilCheckboxInputGUI($this->lng->txt(
'search_show_inactive_user'), 
'inactive_user');
 
  296                $inactive_user->setInfo($this->lng->txt(
'search_show_inactive_user_info'));
 
  297                $inactive_user->setChecked($settings->isInactiveUserVisible());
 
  298                $this->form->addItem($inactive_user);
 
  300                $limited_user = 
new ilCheckboxInputGUI($this->lng->txt(
'search_show_limited_user'), 
'limited_user');
 
  301                $limited_user->setInfo($this->lng->txt(
'search_show_limited_user_info'));
 
  302                $limited_user->setChecked($settings->isLimitedUserVisible());
 
  303                $this->form->addItem($limited_user);
 
  316                $this->form->checkInput();
 
  318                if(!$ilAccess->checkAccess(
'write',
'',$this->object->getRefId()))
 
  320                        $ilErr->raiseError($this->lng->txt(
'permission_denied'),
$ilErr->MESSAGE);
 
  323                include_once 
'./Services/Search/classes/class.ilSearchSettings.php';
 
  325                $settings->setMaxHits((
int) 
$_POST[
'max_hits']);
 
  327                switch((
int) 
$_POST[
'search_type'])
 
  330                                $settings->enableIndex(
false);
 
  331                                $settings->enableLucene(
false);
 
  334                                $settings->enableIndex(
true);
 
  335                                $settings->enableLucene(
false);
 
  338                                $settings->enableIndex(
false);
 
  339                                $settings->enableLucene(
true);
 
  343                $settings->setDefaultOperator((
int) 
$_POST[
'operator']);
 
  344                $settings->enableLuceneItemFilter((
int) 
$_POST[
'if']);
 
  345                $settings->setLuceneItemFilter((array) 
$_POST[
'filter']);
 
  347                $settings->setHideAdvancedSearch(
$_POST[
'hide_adv_search']);
 
  348                $settings->setAutoCompleteLength(
$_POST[
'auto_complete_length']);
 
  349                $settings->showInactiveUser(
$_POST[
"inactive_user"]);
 
  350                $settings->showLimitedUser(
$_POST[
"limited_user"]);
 
  351                $settings->enableDateFilter(
$_POST[
'cdate']);
 
  352                $settings->enableLuceneUserSearch((
int) 
$_POST[
'user_search_enabled']);
 
  363                catch (Exception $exception) 
 
  381                $this->tabs_gui->setTabActive(
'lucene_settings_tab');
 
  384                $this->tpl->setContent($this->form->getHTML());
 
  394                include_once 
'./Services/Form/classes/class.ilPropertyFormGUI.php';
 
  395                include_once 
'./Services/Search/classes/class.ilSearchSettings.php';
 
  400                $this->form->setFormAction($this->ctrl->getFormAction($this,
'cancel'));
 
  402                $this->form->setTitle($this->lng->txt(
'lucene_settings_title'));
 
  403                $this->form->addCommandButton(
'saveLuceneSettings',$this->lng->txt(
'save'));
 
  404                $this->form->addCommandButton(
'cancel',$this->lng->txt(
'cancel'));
 
  418                $if = 
new ilCheckboxInputGUI($this->lng->txt(
'search_mime_filter_form'),
'mime_enabled');
 
  420                $if->setChecked($this->settings->isLuceneMimeFilterEnabled());
 
  421                $if->setInfo($this->lng->txt(
'search_item_filter_form_info'));
 
  422                $this->form->addItem($if);
 
  424                $mimes = $this->settings->getLuceneMimeFilter();
 
  428                        if(isset($mimes[$mime]) and $mimes[$mime])
 
  430                                $ch->setChecked(
true);
 
  433                        $if->addSubItem($ch);
 
  437                $prefix->setValue(1);
 
  438                $prefix->setInfo($this->lng->txt(
'lucene_prefix_wildcard_info'));
 
  439                $prefix->setChecked($this->settings->isPrefixWildcardQueryEnabled());
 
  440                $this->form->addItem($prefix);
 
  443                $numFrag = 
new ilNumberInputGUI($this->lng->txt(
'lucene_num_fragments'),
'fragmentCount');
 
  444                $numFrag->setRequired(
true);
 
  445                $numFrag->setSize(2);
 
  446                $numFrag->setMaxLength(2);
 
  447                $numFrag->setMinValue(1);
 
  448                $numFrag->setMaxValue(10);
 
  449                $numFrag->setInfo($this->lng->txt(
'lucene_num_frag_info'));
 
  450                $numFrag->setValue($this->settings->getFragmentCount());
 
  451                $this->form->addItem($numFrag);
 
  453                $sizeFrag = 
new ilNumberInputGUI($this->lng->txt(
'lucene_size_fragments'),
'fragmentSize');
 
  454                $sizeFrag->setRequired(
true);
 
  455                $sizeFrag->setSize(2);
 
  456                $sizeFrag->setMaxLength(4);
 
  457                $sizeFrag->setMinValue(10);
 
  458                $sizeFrag->setMaxValue(1000);
 
  459                $sizeFrag->setInfo($this->lng->txt(
'lucene_size_frag_info'));
 
  460                $sizeFrag->setValue($this->settings->getFragmentSize());
 
  461                $this->form->addItem($sizeFrag);
 
  463                $maxSub = 
new ilNumberInputGUI($this->lng->txt(
'lucene_max_sub'),
'maxSubitems');
 
  464                $maxSub->setRequired(
true);
 
  466                $maxSub->setMaxLength(2);
 
  467                $maxSub->setMinValue(1);
 
  468                $maxSub->setMaxValue(10);
 
  469                $maxSub->setInfo($this->lng->txt(
'lucene_max_sub_info'));
 
  470                $maxSub->setValue($this->settings->getMaxSubitems());
 
  471                $this->form->addItem($maxSub);
 
  474                $relevance->setOptionTitle($this->lng->txt(
'lucene_show_relevance'));
 
  475                $relevance->setInfo($this->lng->txt(
'lucene_show_relevance_info'));
 
  476                $relevance->setValue(1);
 
  477                $relevance->setChecked($this->settings->isRelevanceVisible());
 
  478                $this->form->addItem($relevance);
 
  482                $subrel->setOptionTitle($this->lng->txt(
'lucene_show_sub_relevance'));
 
  483                $subrel->setValue(1);
 
  484                $subrel->setChecked($this->settings->isSubRelevanceVisible());
 
  485                $relevance->addSubItem($subrel);
 
  488                $last_index = 
new ilDateTimeInputGUI($this->lng->txt(
'lucene_last_index_time'),
'last_index');
 
  489                $last_index->setShowTime(
true);
 
  490                $last_index->setDate($this->settings->getLastIndexTime());
 
  491                $last_index->setInfo($this->lng->txt(
'lucene_last_index_time_info'));
 
  492                $this->form->addItem($last_index);
 
  508                $settings->setFragmentCount((
int) 
$_POST[
'fragmentCount']);
 
  509                $settings->setFragmentSize((
int) 
$_POST[
'fragmentSize']);
 
  510                $settings->setMaxSubitems((
int) 
$_POST[
'maxSubitems']);
 
  511                $settings->showRelevance((
int) 
$_POST[
'relevance']);
 
  512                $settings->enableLuceneOfflineFilter((
int) 
$_POST[
'offline_filter']);
 
  513                $settings->enableLuceneMimeFilter((
int) 
$_POST[
'mime_enabled']);
 
  514                $settings->setLuceneMimeFilter((array) 
$_POST[
'mime']);
 
  515                $settings->showSubRelevance((
int) 
$_POST[
'subrelevance']);
 
  516                $settings->enablePrefixWildcardQuery((
int) 
$_POST[
'prefix']);
 
  518                if($this->form->checkInput())
 
  520                        $settings->setLastIndexTime($this->form->getItemByPostVar(
'last_index')->getDate());
 
  530                        catch (Exception $exception) 
 
  558                        include_once 
'./Services/WebServices/RPC/classes/class.ilRpcClientFactory.php';
 
  561                catch (Exception $exception) {
 
  562                        ilLoggerFactory::getLogger(
'src')->error(
'Refresh of lucene server settings failed with message: ' . $exception->getMessage());
 
  570                $this->tabs_gui->setTabActive(
'lucene_advanced_settings');
 
  572                include_once 
'./Services/Search/classes/Lucene/class.ilLuceneAdvancedSearchActivationTableGUI.php';
 
  573                include_once 
'./Services/Search/classes/Lucene/class.ilLuceneAdvancedSearchSettings.php';
 
  576                $table->setTitle($this->lng->txt(
'lucene_advanced_settings_table'));
 
  579                $this->tpl->setContent($table->getHTML());
 
  584                include_once 
'./Services/Search/classes/Lucene/class.ilLuceneAdvancedSearchSettings.php';
 
  589                        $settings->setActive($field,in_array($field,(array) 
$_POST[
'fid']) ? 
true : 
false);
 
  604                                $this->tabs_gui->addSubTabTarget(
'lucene_general_settings',
 
  605                                        $this->ctrl->getLinkTarget($this,
'luceneSettings'));
 
static getLogger($a_component_id)
Get component logger.
Activation of meta data fields.
static getFields()
Return an array of all meta data fields.
refreshLuceneSettings()
Refresh lucene server settings.
advancedLuceneSettingsObject()
getAdminTabs(&$tabs_gui)
administration tabs show only permissions and trash folder
saveAdvancedLuceneSettingsObject()
initFormSettings()
Init settings form.
updateSettingsObject()
Update Settings.
ilObjSearchSettingsGUI($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
Constructor @access public.
saveLuceneSettingsObject()
Save Lucene settings.
settingsObject()
Show settings @access public.
initFormLuceneSettings()
Show lucene settings form.
saveSettingsObject()
Save settings @access public.
getTabs(&$tabs_gui)
get tabs @access public
luceneSettingsObject()
Lucene settings.
& executeCommand()
execute command
Class ilObjectGUI Basic methods of all Output classes.
ilObjectGUI($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=true)
Constructor @access public.
prepareOutput()
prepare output
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static getInstance()
Get singelton instance.
This class represents an option in a radio group.
static factory($a_package)
Create an XML_RPC2 client instance.
static getLuceneItemFilterDefinitions()
Get lucene item filter definitions.
static getLuceneMimeFilterDefinitions()
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
redirection script todo: (a better solution should control the processing via a xml file)
if(!is_array($argv)) $options