ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
class.ilObjContentPageGUI.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2018 ILIAS open source, Extended GPL, see docs/LICENSE */
3
19{
23 protected $request;
24
28 protected $ctrl;
29
33 protected $access;
34
38 protected $settings;
39
43 protected $tabs;
44
48 protected $user;
49
53 protected $navHistory;
54
58 protected $error;
59
63 protected $dic;
64
68 protected $infoScreenEnabled = false;
69
73 public function __construct($a_id = 0, $a_id_type = self::REPOSITORY_NODE_ID, $a_parent_node_id = 0)
74 {
75 global $DIC;
76
77 parent::__construct($a_id, $a_id_type, $a_parent_node_id);
78
79 $this->dic = $DIC;
80 $this->request = $this->dic->http()->request();
81 $this->settings = $this->dic->settings();
82 $this->access = $this->dic->access();
83 $this->ctrl = $this->dic->ctrl();
84 $this->tabs = $this->dic->tabs();
85 $this->user = $this->dic->user();
86 $this->navHistory = $this->dic['ilNavigationHistory'];
87 $this->error = $this->dic['ilErr'];
88
89 $this->lng->loadLanguageModule('copa');
90 $this->lng->loadLanguageModule('style');
91 $this->lng->loadLanguageModule('content');
92
93 if ($this->object instanceof \ilObjContentPage) {
94 $this->infoScreenEnabled = \ilContainer::_lookupContainerSetting(
95 $this->object->getId(),
97 true
98 );
99 }
100 }
101
105 protected function afterSave(\ilObject $a_new_object)
106 {
107 \ilUtil::sendSuccess($this->lng->txt('object_added'), true);
108 $this->ctrl->redirect($this, 'edit');
109 }
110
114 public function getType()
115 {
116 return self::OBJ_TYPE;
117 }
118
122 public function setTabs()
123 {
124 if ($this->checkPermissionBool('read')) {
125 $this->tabs->addTab(
126 self::UI_TAB_ID_CONTENT,
127 $this->lng->txt('content'),
128 $this->ctrl->getLinkTarget($this, self::UI_CMD_VIEW)
129 );
130 }
131
132 if ($this->infoScreenEnabled && ($this->checkPermissionBool('visible') || $this->checkPermissionBool('read'))) {
133 $this->tabs->addTab(
134 self::UI_TAB_ID_INFO,
135 $this->lng->txt('info_short'),
136 $this->ctrl->getLinkTargetByClass('ilinfoscreengui', 'showSummary')
137 );
138 }
139
140 if ($this->checkPermissionBool('write')) {
141 $this->tabs->addTab(
142 self::UI_TAB_ID_SETTINGS,
143 $this->lng->txt('settings'),
144 $this->ctrl->getLinkTarget($this, self::UI_CMD_EDIT)
145 );
146 }
147
148 if (\ilLearningProgressAccess::checkAccess($this->object->getRefId())) {
149 $this->tabs->addTab(
150 self::UI_TAB_ID_LP,
151 $this->lng->txt('learning_progress'),
152 $this->ctrl->getLinkTargetByClass('illearningprogressgui')
153 );
154 }
155
156 if ($this->checkPermissionBool('write')) {
157 $this->tabs->addTab(
158 self::UI_TAB_ID_EXPORT,
159 $this->lng->txt('export'),
160 $this->ctrl->getLinkTargetByClass('ilexportgui')
161 );
162 }
163
164 if ($this->checkPermissionBool('edit_permission')) {
165 $this->tabs->addTab(
166 self::UI_TAB_ID_PERMISSIONS,
167 $this->lng->txt('perm_settings'),
168 $this->ctrl->getLinkTargetByClass('ilpermissiongui', 'perm')
169 );
170 }
171 }
172
176 protected function setContentSubTabs()
177 {
178 if ($this->checkPermissionBool('write')) {
179 $this->tabs->addSubTab(
180 self::UI_TAB_ID_CONTENT,
181 $this->lng->txt('view'),
182 $this->ctrl->getLinkTarget($this, self::UI_CMD_VIEW)
183 );
184
185 if (!$this->user->isAnonymous()) {
186 $this->lng->loadLanguageModule('cntr');
187 $this->tabs->addSubTab(
188 'page_editor',
189 $this->lng->txt('cntr_text_media_editor'),
190 $this->ctrl->getLinkTargetByClass('ilContentPagePageGUI', 'edit')
191 );
192 }
193 }
194 }
195
200 protected function setSettingsSubTabs($activeTab)
201 {
202 if ($this->checkPermissionBool('write')) {
203 $this->tabs->addSubTab(
204 self::UI_TAB_ID_SETTINGS,
205 $this->lng->txt('settings'),
206 $this->ctrl->getLinkTarget($this, self::UI_CMD_EDIT)
207 );
208
209 if ($this->settings->get('custom_icons')) {
210 $this->tabs_gui->addSubTab(
211 self::UI_TAB_ID_ICON,
212 $this->lng->txt('icon_settings'),
213 $this->ctrl->getLinkTargetByClass('ilObjectCustomIconConfigurationGUI')
214 );
215 }
216
217 $this->tabs_gui->addSubTab(
218 self::UI_TAB_ID_STYLE,
219 $this->lng->txt('cont_style'),
220 $this->ctrl->getLinkTarget($this, 'editStyleProperties')
221 );
222
223 $this->tabs->setSubTabActive($activeTab);
224 }
225 }
226
230 protected function setTitleAndDescription()
231 {
232 parent::setTitleAndDescription();
233
234 $icon = ilObject::_getIcon($this->object->getId(), 'big', $this->object->getType());
235 $this->tpl->setTitleIcon($icon, $this->lng->txt('obj_' . $this->object->getType()));
236 }
237
241 public function executeCommand()
242 {
243 $nextClass = $this->ctrl->getNextClass($this);
244 $cmd = $this->ctrl->getCmd(self::UI_CMD_VIEW);
245
246 $this->addToNavigationHistory();
247
248 if (strtolower($nextClass) !== 'ilobjstylesheetgui') {
249 $this->renderHeaderActions();
250 }
251
252 switch (strtolower($nextClass)) {
253 case 'ilobjstylesheetgui':
254 $this->checkPermission('write');
255
256 $this->setLocator();
257
258 $this->ctrl->setReturn($this, 'editStyleProperties');
259 $style_gui = new \ilObjStyleSheetGUI(
260 '',
261 $this->object->getStyleSheetId(),
262 false,
263 false
264 );
265 $style_gui->omitLocator();
266 if ($cmd === 'create' || $_GET['new_type'] === 'sty') {
267 $style_gui->setCreationMode(true);
268 }
269
270 if ($cmd === 'confirmedDelete') {
271 $this->object->setStyleSheetId(0);
272 $this->object->update();
273 }
274
275 $ret = $this->ctrl->forwardCommand($style_gui);
276
277 if ($cmd === 'save' || $cmd === 'copyStyle' || $cmd === 'importStyle') {
278 $styleId = $ret;
279 $this->object->setStyleSheetId($styleId);
280 $this->object->update();
281 $this->ctrl->redirectByClass('ilobjstylesheetgui', 'edit');
282 }
283 break;
284
285 case 'ilcontentpagepagegui':
286 if (in_array(strtolower($cmd), array_map('strtolower', [
287 self::UI_CMD_COPAGE_DOWNLOAD_FILE,
288 self::UI_CMD_COPAGE_DISPLAY_FULLSCREEN,
289 self::UI_CMD_COPAGE_DOWNLOAD_PARAGRAPH,
290 ]))
291 ) {
292 if (!$this->checkPermissionBool('read')) {
293 $this->error->raiseError($this->lng->txt('permission_denied'), $this->error->MESSAGE);
294 }
295 } elseif (!$this->checkPermissionBool('write') || $this->user->isAnonymous()) {
296 $this->error->raiseError($this->lng->txt('permission_denied'), $this->error->MESSAGE);
297 }
298
299 $this->prepareOutput();
300
301 $this->tpl->setVariable('LOCATION_CONTENT_STYLESHEET', \ilObjStyleSheet::getContentStylePath($this->object->getStyleSheetId()));
302 $this->tpl->setCurrentBlock('SyntaxStyle');
303 $this->tpl->setVariable('LOCATION_SYNTAX_STYLESHEET', \ilObjStyleSheet::getSyntaxStylePath());
304 $this->tpl->parseCurrentBlock();
305
306 $forwarder = new \ilContentPagePageCommandForwarder($this->request, $this->ctrl, $this->tabs, $this->lng, $this->object);
307 $pageContent = $forwarder->forward();
308 if (strlen($pageContent) > 0) {
309 $this->tpl->setContent($pageContent);
310 }
311 break;
312
313 case 'ilinfoscreengui':
314 if (!$this->infoScreenEnabled) {
315 return;
316 }
317 $this->prepareOutput();
318
319 $this->infoScreenForward();
320 break;
321
322 case 'ilcommonactiondispatchergui':
323 $this->ctrl->forwardCommand(\ilCommonActionDispatcherGUI::getInstanceFromAjaxCall());
324 break;
325
326 case 'ilpermissiongui':
327 $this->checkPermission('edit_permission');
328
329 $this->prepareOutput();
330 $this->tabs->activateTab(self::UI_TAB_ID_PERMISSIONS);
331
332 $this->ctrl->forwardCommand(new \ilPermissionGUI($this));
333 break;
334
335 case 'illearningprogressgui':
336 if (!\ilLearningProgressAccess::checkAccess($this->object->getRefId())) {
337 $this->error->raiseError($this->lng->txt('permission_denied'), $this->error->MESSAGE);
338 }
339
340 $this->prepareOutput();
341 $this->tabs->activateTab(self::UI_TAB_ID_LP);
342
343 $this->ctrl->forwardCommand(new \ilLearningProgressGUI(
345 $this->object->getRefId(),
346 isset($this->request->getQueryParams()['user_id']) && is_numeric($this->request->getQueryParams()['user_id']) ?
347 (int) $this->request->getQueryParams()['user_id'] :
348 $this->user->getId()
349 ));
350 break;
351
352 case 'ilexportgui':
353 $this->checkPermission('write');
354
355 $this->prepareOutput();
356 $this->tabs->activateTab(self::UI_TAB_ID_EXPORT);
357
358 $gui = new \ilExportGUI($this);
359 $gui->addFormat('xml');
360 $this->ctrl->forwardCommand($gui);
361 break;
362
363 case 'ilobjectcustomiconconfigurationgui':
364 if (!$this->checkPermissionBool('write') || !$this->settings->get('custom_icons')) {
365 $this->error->raiseError($this->lng->txt('permission_denied'), $this->error->MESSAGE);
366 }
367
368 $this->prepareOutput();
369 $this->tabs->activateTab(self::UI_TAB_ID_SETTINGS);
370 $this->setSettingsSubTabs(self::UI_TAB_ID_ICON);
371
372 require_once 'Services/Object/Icon/classes/class.ilObjectCustomIconConfigurationGUI.php';
373 $gui = new \ilObjectCustomIconConfigurationGUI($this->dic, $this, $this->object);
374 $this->ctrl->forwardCommand($gui);
375 break;
376
377 case 'ilobjectcopygui':
378 $this->tpl->getStandardTemplate();
379
380 $gui = new \ilObjectCopyGUI($this);
381 $gui->setType(self::OBJ_TYPE);
382
383 $this->ctrl->forwardCommand($gui);
384 break;
385
386 default:
387 switch (true) {
388 case in_array(strtolower($cmd), array_map('strtolower', [self::UI_CMD_EDIT, self::UI_CMD_UPDATE])):
389 $this->setSettingsSubTabs(self::UI_TAB_ID_SETTINGS);
390 break;
391 }
392
393 if (in_array(strtolower($cmd), array_map('strtolower', ['addToDesk', 'removeFromDesk']))) {
394 $this->ctrl->setCmd($cmd . 'Object');
395 }
396
397 return parent::executeCommand();
398 }
399 }
400
404 public function addLocatorItems()
405 {
406 if ($this->object instanceof \ilObject) {
407 $this->locator->addItem(
408 $this->object->getTitle(),
409 $this->ctrl->getLinkTarget($this, self::UI_CMD_VIEW),
410 '',
411 $this->object->getRefId()
412 );
413 }
414 }
415
419 public function addToNavigationHistory()
420 {
421 if (!$this->getCreationMode()) {
422 if ($this->checkPermissionBool('read')) {
423 $this->navHistory->addItem(
424 $this->object->getRefId(),
425 \ilLink::_getLink($this->object->getRefId(), $this->object->getType()),
426 $this->object->getType()
427 );
428 }
429 }
430 }
431
435 public function renderHeaderActions()
436 {
437 if (!$this->getCreationMode()) {
438 if ($this->checkPermissionBool('read')) {
439 $this->addHeaderAction();
440 }
441 }
442 }
443
447 public function infoScreen()
448 {
449 $this->ctrl->setCmd('showSummary');
450 $this->ctrl->setCmdClass('ilinfoscreengui');
451
452 $this->infoScreenForward();
453 }
454
458 public function infoScreenForward()
459 {
460 if (!$this->infoScreenEnabled) {
461 return;
462 }
463
464 if (!$this->checkPermissionBool('visible') && !$this->checkPermissionBool('read')) {
465 $this->error->raiseError($this->lng->txt('permission_denied'), $this->error->MESSAGE);
466 }
467
468 $this->tabs->activateTab(self::UI_TAB_ID_INFO);
469
470 $info = new \ilInfoScreenGUI($this);
471 $info->enableLearningProgress(true);
472 $info->enablePrivateNotes();
473 $info->addMetaDataSections($this->object->getId(), 0, $this->object->getType());
474
475 $this->ctrl->forwardCommand($info);
476 }
477
481 protected function initEditCustomForm(\ilPropertyFormGUI $a_form)
482 {
483 $sh = new ilFormSectionHeaderGUI();
484 $sh->setTitle($this->lng->txt('obj_features'));
485 $a_form->addItem($sh);
486
488 $this->object->getId(),
489 $a_form,
490 array(
492 )
493 );
494 }
495
499 protected function getEditFormCustomValues(array &$a_values)
500 {
502 }
503
507 protected function updateCustom(\ilPropertyFormGUI $a_form)
508 {
510 $this->object->getId(),
511 $a_form,
512 array(
514 )
515 );
516 }
517
522 public static function _goto($target)
523 {
524 global $DIC;
525
526 $targetAttributes = explode('_', $target);
527 $refId = (int) $targetAttributes[0];
528
529 if ((int) $refId <= 0) {
530 $DIC['ilErr']->raiseError($DIC->language()->txt('msg_no_perm_read'), $DIC['ilErr']->FATAL);
531 }
532
533 if ($DIC->access()->checkAccess('read', '', $refId)) {
534 $DIC->ctrl()->setTargetScript('ilias.php');
535 $DIC->ctrl()->initBaseClass('ilRepositoryGUI');
536 $DIC->ctrl()->setParameterByClass(__CLASS__, 'ref_id', $refId);
537 $DIC->ctrl()->redirectByClass(array(
538 'ilRepositoryGUI',
539 __CLASS__,
541 } elseif ($DIC->access()->checkAccess('read', '', ROOT_FOLDER_ID)) {
542 \ilUtil::sendInfo(sprintf(
543 $DIC->language()->txt('msg_no_perm_read_item'),
545 ), true);
546
547 $DIC->ctrl()->setTargetScript('ilias.php');
548 $DIC->ctrl()->initBaseClass('ilRepositoryGUI');
549 $DIC->ctrl()->setParameterByClass('ilRepositoryGUI', 'ref_id', ROOT_FOLDER_ID);
550 $DIC->ctrl()->redirectByClass('ilRepositoryGUI');
551 }
552
553 $DIC['ilErr']->raiseError($DIC->language()->txt('msg_no_perm_read'), $DIC['ilErr']->FATAL);
554 }
555
559 public function addToDeskObject()
560 {
561 if ((int) $this->settings->get('disable_my_offers')) {
562 $this->ctrl->redirect($this, self::UI_CMD_VIEW);
563 }
564
566 \ilUtil::sendSuccess($this->lng->txt('added_to_desktop'), true);
567 $this->ctrl->redirect($this, self::UI_CMD_VIEW);
568 }
569
573 public function removeFromDeskObject()
574 {
575 if ((int) $this->settings->get('disable_my_offers')) {
576 $this->ctrl->redirect($this, self::UI_CMD_VIEW);
577 }
578
580 \ilUtil::sendSuccess($this->lng->txt('removed_from_desktop'), true);
581 $this->ctrl->redirect($this, self::UI_CMD_VIEW);
582 }
583
584 protected function initStyleSheets()
585 {
586 $this->tpl->setVariable('LOCATION_CONTENT_STYLESHEET', \ilObjStyleSheet::getContentStylePath($this->object->getStyleSheetId()));
587 $this->tpl->setCurrentBlock('SyntaxStyle');
588 $this->tpl->setVariable('LOCATION_SYNTAX_STYLESHEET', \ilObjStyleSheet::getSyntaxStylePath());
589 $this->tpl->parseCurrentBlock();
590 }
591
597 public function getContent(string $ctrlLink = '') : string
598 {
599 if ($this->checkPermissionBool('read')) {
600 $this->object->trackProgress((int) $this->user->getId());
601
602 $this->initStyleSheets();
603
604 $forwarder = new \ilContentPagePageCommandForwarder(
605 $this->request,
606 $this->ctrl,
607 $this->tabs,
608 $this->lng,
609 $this->object
610 );
612
613 return $forwarder->forward($ctrlLink);
614 }
615
616 return '';
617 }
618
622 public function view()
623 {
624 $this->checkPermission('read');
625
626 $this->setContentSubTabs();
627
628 $this->tabs->activateTab(self::UI_TAB_ID_CONTENT);
629 $this->tabs->activateSubTab(self::UI_TAB_ID_CONTENT);
630
631 $this->tpl->setPermanentLink($this->object->getType(), $this->object->getRefId(), '', '_top');
632
633 $this->tpl->setContent($this->getContent());
634 }
635
639 protected function editStyleProperties()
640 {
641 $this->checkPermission('write');
642
643 $this->tabs->activateTab(self::UI_TAB_ID_SETTINGS);
644 $this->setSettingsSubTabs(self::UI_TAB_ID_STYLE);
645
647 $this->tpl->setContent($form->getHTML());
648 }
649
654 {
655 $form = new \ilPropertyFormGUI();
656
657 $fixedStyle = $this->settings->get('fixed_content_style_id');
658 $defaultStyle = $this->settings->get('default_content_style_id');
659 $styleId = $this->object->getStyleSheetId();
660
661 if ($fixedStyle > 0) {
662 $st = new ilNonEditableValueGUI($this->lng->txt("cont_current_style"));
663 $st->setValue(
664 \ilObject::_lookupTitle($fixedStyle) . " (" . $this->lng->txt("global_fixed") . ")"
665 );
666 $form->addItem($st);
667 } else {
669 true,
670 false,
671 (int) $_GET["ref_id"]
672 );
673
674 if ($defaultStyle > 0) {
675 $st_styles[0] = \ilObject::_lookupTitle($defaultStyle) . ' (' . $this->lng->txt('default') . ')';
676 } else {
677 $st_styles[0] = $this->lng->txt('default');
678 }
679 ksort($st_styles);
680
681 if ($styleId > 0) {
682 if (!\ilObjStyleSheet::_lookupStandard($styleId)) {
683 $st = new \ilNonEditableValueGUI($this->lng->txt('cont_current_style'));
684 $st->setValue(ilObject::_lookupTitle($styleId));
685 $form->addItem($st);
686
687 $form->addCommandButton('editStyle', $this->lng->txt('cont_edit_style'));
688 $form->addCommandButton('deleteStyle', $this->lng->txt('cont_delete_style'));
689 }
690 }
691
692 if ($styleId <= 0 || \ilObjStyleSheet::_lookupStandard($styleId)) {
693 $style_sel = new \ilSelectInputGUI($this->lng->txt('cont_current_style'), 'style_id');
694 $style_sel->setOptions($st_styles);
695 $style_sel->setValue($styleId);
696 $form->addItem($style_sel);
697 $form->addCommandButton('saveStyleSettings', $this->lng->txt('save'));
698 $form->addCommandButton('createStyle', $this->lng->txt('sty_create_ind_style'));
699 }
700 }
701
702 $form->setTitle($this->lng->txt("cont_style"));
703 $form->setFormAction($this->ctrl->getFormAction($this));
704
705 return $form;
706 }
707
711 protected function createStyle()
712 {
713 $this->ctrl->redirectByClass('ilobjstylesheetgui', 'create');
714 }
715
719 protected function editStyle()
720 {
721 $this->ctrl->redirectByClass('ilobjstylesheetgui', 'edit');
722 }
723
727 protected function deleteStyle()
728 {
729 $this->ctrl->redirectByClass('ilobjstylesheetgui', 'delete');
730 }
731
735 protected function saveStyleSettings()
736 {
737 $this->checkPermission('write');
738
739 if (
740 $this->settings->get('fixed_content_style_id') <= 0 &&
741 (\ilObjStyleSheet::_lookupStandard($this->object->getStyleSheetId()) || $this->object->getStyleSheetId() == 0)) {
742 $this->object->setStyleSheetId(ilUtil::stripSlashes($_POST['style_id']));
743 $this->object->update();
744 ilUtil::sendSuccess($this->lng->txt('msg_obj_modified'), true);
745 }
746
747 $this->ctrl->redirect($this, 'editStyleProperties');
748 }
749}
user()
Definition: user.php:4
$_GET["client_id"]
$_POST["username"]
An exception for terminatinating execution or to throw for unit testing.
error($a_errmsg)
set error message @access public
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
static _lookupContainerSetting($a_id, $a_keyword, $a_default_value=null)
Lookup a container setting.
const PRESENTATION_MODE_PRESENTATION
presentation mode for requesting
static addToDesktop()
Add desktop item @access public.
static removeFromDesktop()
Remove item from personal desktop @access public.
This class represents a section header in a property form.
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
Class ilObjUserTrackingGUI.
This class represents a non editable value in a property form.
Class ilObjContentPageGUI @ilCtrl_isCalledBy ilObjContentPageGUI: ilRepositoryGUI @ilCtrl_isCalledBy ...
saveStyleSettings()
Save style settings.
addLocatorItems()
Functions to be overwritten.
updateCustom(\ilPropertyFormGUI $a_form)
__construct($a_id=0, $a_id_type=self::REPOSITORY_NODE_ID, $a_parent_node_id=0)
Constructor.
getEditFormCustomValues(array &$a_values)
Add values to custom edit fields.
static _goto($target)
Deep link.
addToDeskObject()
Add desktop item @access public.
setTitleAndDescription()
called by prepare output
initEditCustomForm(\ilPropertyFormGUI $a_form)
getType()
Functions that must be overwritten.
setTabs()
create tabs (repository/workspace switch)this had to be moved here because of the context-specific pe...
view()
Shows the content of the object.
afterSave(\ilObject $a_new_object)
removeFromDeskObject()
Remove from desktop @access public.
setContentSubTabs()
Sub tab configuration of the content area.
getContent(string $ctrlLink='')
setSettingsSubTabs($activeTab)
Sub tab configuration of the settings area.
Class ilObjContentPage.
static _lookupStandard($a_id)
Lookup standard flag.
static getSyntaxStylePath()
get syntax style path
static _getStandardStyles( $a_exclude_default_style=false, $a_include_deactivated=false, $a_scope=0)
Get standard styles.
static getContentStylePath($a_style_id, $add_random=true)
get content style path
New implementation of ilObjectGUI.
prepareOutput($a_show_subobjects=true)
prepare output
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_node_id=null)
Check permission.
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
getCreationMode()
get creation mode
setLocator()
set Locator
addHeaderAction()
Add header action menu.
static initServiceSettingsForm($a_obj_id, ilPropertyFormGUI $form, $services)
Init service settings form.
static updateServiceSettingsForm($a_obj_id, ilPropertyFormGUI $form, $services)
Update service settings.
Class ilObject Basic functions for all objects.
static _lookupObjId($a_id)
static _lookupTitle($a_id)
lookup object title
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
This class represents a property form user interface.
addItem($a_item)
Add Item (Property, SectionHeader).
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
Interface ilContentPageObjectConstants.
Interface for gui classes (e.g ilLuceneSearchGUI) that offer add/remove to/from desktop.
$info
Definition: index.php:5
$target
Definition: test.php:19
$ret
Definition: parser.php:6
if(isset($_POST['submit'])) $form
global $DIC
Definition: saml.php:7
settings()
Definition: settings.php:2