4require_once 
"./Services/Object/classes/class.ilObjectGUI.php";
 
   23    public function __construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output = 
true)
 
   26        parent::__construct($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();
 
   37        switch ($next_class) {
 
   38            case 'ilpermissiongui':
 
   39                $this->tabs_gui->setTabActive(
'perm_settings');
 
   40                include_once(
"Services/AccessControl/classes/class.ilPermissionGUI.php");
 
   42                $ret =&$this->ctrl->forwardCommand($perm_gui);
 
   46                if ($cmd == 
"" || $cmd == 
"view") {
 
   60        $this->ctrl->redirect($this, 
"settings");
 
   71        if (!$ilAccess->checkAccess(
'read', 
'', $this->object->getRefId())) {
 
   72            $ilErr->raiseError($this->lng->txt(
'permission_denied'), 
$ilErr->MESSAGE);
 
   74        $this->tabs_gui->setTabActive(
'settings');
 
   76        $this->tpl->setContent($this->form->getHTML());
 
   86        include_once 
'Services/WebServices/RPC/classes/class.ilRPCServerSettings.php';
 
   90        if (!
$rbacsystem->checkAccess(
'write', $this->object->getRefId())) {
 
   91            $this->
ilias->raiseError($this->lng->txt(
"permission_denied"), $this->ilias->error_obj->MESSAGE);
 
   94        $this->
object->initSettingsObject();
 
   95        $this->
object->settings_obj->setMaxHits((
int) 
$_POST[
'max_hits']);
 
   96        $this->
object->settings_obj->enableIndex($_POST[
'search_index']);
 
   97        $this->
object->settings_obj->enableLucene($_POST[
'search_lucene']);
 
   98        $this->
object->settings_obj->setHideAdvancedSearch($_POST[
'hide_adv_search']);
 
   99        $this->
object->settings_obj->setAutoCompleteLength($_POST[
'auto_complete_length']);
 
  100        $this->
object->settings_obj->setDefaultOperator((
int) $_POST[
'operator']);
 
  101        $this->
object->settings_obj->enableLuceneItemFilter((
int) $_POST[
'if']);
 
  102        $this->
object->settings_obj->setLuceneItemFilter((array) 
$_POST[
'filter']);
 
  106        if ($this->object->settings_obj->enabledLucene() and !$rpc_settings->pingServer()) {
 
  108            $this->ctrl->redirect($this, 
'settings');
 
  113        $this->
object->settings_obj->update();
 
  116        $this->ctrl->redirect($this, 
'settings');
 
  135        if (
$rbacsystem->checkAccess(
"visible,read", $this->object->getRefId())) {
 
  136            $this->tabs_gui->addTarget(
 
  138                $this->ctrl->getLinkTarget($this, 
"settings"),
 
  139                array(
"settings",
"", 
"view"),
 
  145        if (
$rbacsystem->checkAccess(
'read', $this->object->getRefId())) {
 
  146            $this->tabs_gui->addTarget(
 
  147                'lucene_advanced_settings',
 
  148                $this->ctrl->getLinkTarget($this, 
'advancedLuceneSettings')
 
  152        if (
$rbacsystem->checkAccess(
'read', $this->object->getRefId())) {
 
  153            $this->tabs_gui->addTarget(
 
  154                'lucene_settings_tab',
 
  155                $this->ctrl->getLinkTarget($this, 
'luceneSettings')
 
  160        if (
$rbacsystem->checkAccess(
'edit_permission', $this->object->getRefId())) {
 
  161            $this->tabs_gui->addTarget(
 
  163                $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'), 
"perm"),
 
  164                array(
"perm",
"info",
"owner"),
 
  180        include_once 
'./Services/Form/classes/class.ilPropertyFormGUI.php';
 
  181        include_once 
'./Services/Search/classes/class.ilSearchSettings.php';
 
  186        $this->form->setFormAction($this->ctrl->getFormAction($this, 
'updateSettings'));
 
  188        if (
$access->checkAccess(
'write', 
'', $this->object->getRefId())) {
 
  189            $this->form->addCommandButton(
'updateSettings', $this->lng->txt(
'save'));
 
  191        $this->form->setTitle($this->lng->txt(
'seas_settings'));
 
  195        $hits->setValue(
$settings->getMaxHits());
 
  196        $hits->setRequired(
true);
 
  197        for ($value = 5; $value <= 50; $value += 5) {
 
  198            $values[$value] = $value;
 
  200        $hits->setOptions($values);
 
  201        $hits->setInfo($this->lng->txt(
'seas_max_hits_info'));
 
  202        $this->form->addItem($hits);
 
  215        $type->setRequired(
true);
 
  216        $this->form->addItem(
$type);
 
  220        $operator->setRequired(
true);
 
  221        $operator->setInfo($this->lng->txt(
'lucene_default_operator_info'));
 
  222        $operator->setValue(
$settings->getDefaultOperator());
 
  225        $operator->addOption($and);
 
  228        $operator->addOption($or);
 
  229        $this->form->addItem($operator);
 
  232        $us = 
new ilCheckboxInputGUI($this->lng->txt(
'search_user_search_form'), 
'user_search_enabled');
 
  233        $us->setInfo($this->lng->txt(
'search_user_search_info_form'));
 
  235        $us->setChecked(
$settings->isLuceneUserSearchEnabled());
 
  236        $this->form->addItem($us);
 
  242        $if->setChecked(
$settings->isLuceneItemFilterEnabled());
 
  243        $if->setInfo($this->lng->txt(
'search_item_filter_form_info'));
 
  244        $this->form->addItem($if);
 
  246        $filter = 
$settings->getLuceneItemFilter();
 
  249            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);
 
  270        $type->addOption($direct);
 
  272        if (
$ilDB->supportsFulltext()) {
 
  278        $type->addOption($lucene);
 
  290        $val = (
$settings->getAutoCompleteLength() > 0)
 
  294        $this->form->addItem(
$si);
 
  296        $inactive_user = 
new ilCheckboxInputGUI($this->lng->txt(
'search_show_inactive_user'), 
'inactive_user');
 
  297        $inactive_user->setInfo($this->lng->txt(
'search_show_inactive_user_info'));
 
  298        $inactive_user->setChecked(
$settings->isInactiveUserVisible());
 
  299        $this->form->addItem($inactive_user);
 
  301        $limited_user = 
new ilCheckboxInputGUI($this->lng->txt(
'search_show_limited_user'), 
'limited_user');
 
  302        $limited_user->setInfo($this->lng->txt(
'search_show_limited_user_info'));
 
  303        $limited_user->setChecked(
$settings->isLimitedUserVisible());
 
  304        $this->form->addItem($limited_user);
 
  317        $this->form->checkInput();
 
  319        if (!$ilAccess->checkAccess(
'write', 
'', $this->object->getRefId())) {
 
  321            $GLOBALS[
'DIC']->ctrl()->redirect($this, 
'settings');
 
  324        include_once 
'./Services/Search/classes/class.ilSearchSettings.php';
 
  328        switch ((
int) 
$_POST[
'search_type']) {
 
  352        $settings->enableLuceneUserSearch((
int) 
$_POST[
'user_search_enabled']);
 
  362        } 
catch (Exception $exception) {
 
  379        $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'));
 
  405        if (
$access->checkAccess(
'write', 
'', $this->object->getRefId())) {
 
  406            $this->form->addCommandButton(
'saveLuceneSettings', $this->lng->txt(
'save'));
 
  412        $if = 
new ilCheckboxInputGUI($this->lng->txt(
'search_mime_filter_form'), 
'mime_enabled');
 
  414        $if->setChecked($this->
settings->isLuceneMimeFilterEnabled());
 
  415        $if->setInfo($this->lng->txt(
'search_item_filter_form_info'));
 
  416        $this->form->addItem($if);
 
  418        $mimes = $this->
settings->getLuceneMimeFilter();
 
  421            if (isset($mimes[$mime]) and $mimes[$mime]) {
 
  422                $ch->setChecked(
true);
 
  425            $if->addSubItem($ch);
 
  428        $prefix = 
new ilCheckboxInputGUI($this->lng->txt(
'lucene_prefix_wildcard'), 
'prefix');
 
  429        $prefix->setValue(1);
 
  430        $prefix->setInfo($this->lng->txt(
'lucene_prefix_wildcard_info'));
 
  431        $prefix->setChecked($this->
settings->isPrefixWildcardQueryEnabled());
 
  432        $this->form->addItem($prefix);
 
  435        $numFrag = 
new ilNumberInputGUI($this->lng->txt(
'lucene_num_fragments'), 
'fragmentCount');
 
  436        $numFrag->setRequired(
true);
 
  437        $numFrag->setSize(2);
 
  438        $numFrag->setMaxLength(2);
 
  439        $numFrag->setMinValue(1);
 
  440        $numFrag->setMaxValue(10);
 
  441        $numFrag->setInfo($this->lng->txt(
'lucene_num_frag_info'));
 
  442        $numFrag->setValue($this->
settings->getFragmentCount());
 
  443        $this->form->addItem($numFrag);
 
  445        $sizeFrag = 
new ilNumberInputGUI($this->lng->txt(
'lucene_size_fragments'), 
'fragmentSize');
 
  446        $sizeFrag->setRequired(
true);
 
  447        $sizeFrag->setSize(2);
 
  448        $sizeFrag->setMaxLength(4);
 
  449        $sizeFrag->setMinValue(10);
 
  450        $sizeFrag->setMaxValue(1000);
 
  451        $sizeFrag->setInfo($this->lng->txt(
'lucene_size_frag_info'));
 
  452        $sizeFrag->setValue($this->
settings->getFragmentSize());
 
  453        $this->form->addItem($sizeFrag);
 
  455        $maxSub = 
new ilNumberInputGUI($this->lng->txt(
'lucene_max_sub'), 
'maxSubitems');
 
  456        $maxSub->setRequired(
true);
 
  458        $maxSub->setMaxLength(2);
 
  459        $maxSub->setMinValue(1);
 
  460        $maxSub->setMaxValue(10);
 
  461        $maxSub->setInfo($this->lng->txt(
'lucene_max_sub_info'));
 
  462        $maxSub->setValue($this->
settings->getMaxSubitems());
 
  463        $this->form->addItem($maxSub);
 
  465        $relevance = 
new ilCheckboxInputGUI($this->lng->txt(
'lucene_relevance'), 
'relevance');
 
  466        $relevance->setOptionTitle($this->lng->txt(
'lucene_show_relevance'));
 
  467        $relevance->setInfo($this->lng->txt(
'lucene_show_relevance_info'));
 
  468        $relevance->setValue(1);
 
  469        $relevance->setChecked($this->
settings->isRelevanceVisible());
 
  470        $this->form->addItem($relevance);
 
  474        $subrel->setOptionTitle($this->lng->txt(
'lucene_show_sub_relevance'));
 
  475        $subrel->setValue(1);
 
  476        $subrel->setChecked($this->
settings->isSubRelevanceVisible());
 
  477        $relevance->addSubItem($subrel);
 
  480        $last_index = 
new ilDateTimeInputGUI($this->lng->txt(
'lucene_last_index_time'), 
'last_index');
 
  481        $last_index->setRequired(
true);
 
  482        $last_index->setShowTime(
true);
 
  483        $last_index->setDate($this->
settings->getLastIndexTime());
 
  484        $last_index->setInfo($this->lng->txt(
'lucene_last_index_time_info'));
 
  485        $this->form->addItem($last_index);
 
  502        $settings->setFragmentSize((
int) $_POST[
'fragmentSize']);
 
  511        if ($this->form->checkInput()) {
 
  512            $settings->setLastIndexTime($this->form->getItemByPostVar(
'last_index')->getDate());
 
  521            } 
catch (Exception $exception) {
 
  529        $this->form->setValuesByPost();
 
  547            include_once 
'./Services/WebServices/RPC/classes/class.ilRpcClientFactory.php';
 
  549        } 
catch (Exception $exception) {
 
  550            ilLoggerFactory::getLogger(
'src')->error(
'Refresh of lucene server settings failed with message: ' . $exception->getMessage());
 
  561        $this->tabs_gui->setTabActive(
'lucene_advanced_settings');
 
  563        include_once 
'./Services/Search/classes/Lucene/class.ilLuceneAdvancedSearchActivationTableGUI.php';
 
  564        include_once 
'./Services/Search/classes/Lucene/class.ilLuceneAdvancedSearchSettings.php';
 
  567        $table->setTitle($this->lng->txt(
'lucene_advanced_settings_table'));
 
  570        $this->tpl->setContent(
$table->getHTML());
 
  580        if (!
$access->checkAccess(
'write', 
'', $this->object->getRefId())) {
 
  582            $GLOBALS[
'DIC']->ctrl()->redirect($this, 
'settings');
 
  588            $settings->setActive($field, in_array($field, (array) 
$_POST[
'fid']) ? 
true : 
false);
 
  600        switch ($a_section) {
 
  602                $this->tabs_gui->addSubTabTarget(
 
  603                    'lucene_general_settings',
 
  604                    $this->ctrl->getLinkTarget($this, 
'luceneSettings')
 
if(!isset( $_REQUEST[ 'ReturnTo'])) if(!isset($_REQUEST['AuthId'])) $options
An exception for terminatinating execution or to throw for unit testing.
static getLogger($a_component_id)
Get component logger.
Activation of meta data fields.
static getFields()
Return an array of all meta data fields.
luceneSettingsObject(ilPropertyFormGUI $form=null)
Lucene settings.
refreshLuceneSettings()
Refresh lucene server settings.
__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
Constructor @access public.
advancedLuceneSettingsObject()
show advanced settings
saveAdvancedLuceneSettingsObject()
Save advanced settings.
initFormSettings()
Init settings form.
cancelObject()
cancel action and go back to previous page @access public
updateSettingsObject()
Update Settings.
saveLuceneSettingsObject()
Save Lucene settings.
getAdminTabs()
administration tabs show only permissions and trash folder
settingsObject()
Show settings @access public.
initFormLuceneSettings()
Show lucene settings form.
getTabs()
get tabs @access public
executeCommand()
execute command
saveSettingsObject()
Save settings @access public.
Class ilObjectGUI Basic methods of all Output classes.
prepareOutput($a_show_subobjects=true)
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, $a_timeout=0)
Creates an ilRpcClient instance to our ilServer.
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.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
redirection script todo: (a better solution should control the processing via a xml file)
if(empty($password)) $table
if(isset($_POST['submit'])) $form