ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
class.ilObjContentPageGUI.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
30
47{
49 private readonly \ILIAS\Style\Content\GUIService $content_style_gui;
51 private readonly Container $dic;
52 private bool $infoScreenEnabled = false;
54 private readonly ilHelpGUI $help;
55 private readonly \ILIAS\DI\UIServices $uiServices;
56 private readonly bool $in_page_editor_style_context;
57 private readonly LOMServices $lom_services;
58 private readonly Translations $translation;
59
60 public function __construct(int $a_id = 0, int $a_id_type = self::REPOSITORY_NODE_ID, int $a_parent_node_id = 0)
61 {
62 global $DIC;
63
64 parent::__construct($a_id, $a_id_type, $a_parent_node_id);
65
66 $this->dic = $DIC;
67 $this->settings = $this->dic->settings();
68 $this->navHistory = $this->dic['ilNavigationHistory'];
69 $this->help = $DIC['ilHelp'];
70 $this->uiServices = $DIC->ui();
71 $this->lom_services = $DIC->learningObjectMetadata();
72
73 $this->lng->loadLanguageModule('copa');
74 $this->lng->loadLanguageModule('style');
75 $this->lng->loadLanguageModule('content');
76 $this->lng->loadLanguageModule('rep');
77
78 if ($this->object instanceof ilObjContentPage) {
79 $this->infoScreenEnabled = (bool) ilContainer::_lookupContainerSetting(
80 $this->object->getId(),
82 '1'
83 );
84 }
85
86 $this->pageMetricsService = new PageMetricsService(
87 new PageMetricsRepositoryImp($DIC->database()),
88 $DIC->refinery()
89 );
90 $cs = $DIC->contentStyle();
91 $this->content_style_gui = $cs->gui();
92 if (is_object($this->object)) {
93 $this->content_style_domain = $cs->domain()->styleForRefId($this->object->getRefId());
94 $this->translation = $this->object->getObjectProperties()->getPropertyTranslations();
95 }
96
97 $this->in_page_editor_style_context = $this->http->wrapper()->query()->has(
98 self::HTTP_PARAM_PAGE_EDITOR_STYLE_CONTEXT
99 );
100 $this->ctrl->saveParameterByClass(
101 ilObjectContentStyleSettingsGUI::class,
102 self::HTTP_PARAM_PAGE_EDITOR_STYLE_CONTEXT
103 );
104 }
105
106 public static function _goto(string $target): void
107 {
108 global $DIC;
109 $main_tpl = $DIC->ui()->mainTemplate();
110
111 $targetAttributes = explode('_', $target);
112 $refId = (int) $targetAttributes[0];
113
114 if ($refId <= 0) {
115 $DIC['ilErr']->raiseError($DIC->language()->txt('msg_no_perm_read'), $DIC['ilErr']->FATAL);
116 }
117
118 if ($DIC->access()->checkAccess('read', '', $refId)) {
119 $DIC->ctrl()->setTargetScript('ilias.php');
120 $DIC->ctrl()->setParameterByClass(self::class, 'ref_id', $refId);
121 $DIC->ctrl()->redirectByClass([
122 ilRepositoryGUI::class,
123 self::class,
124 ], self::UI_CMD_VIEW);
125 } elseif ($DIC->access()->checkAccess('visible', '', $refId)) {
127 } elseif ($DIC->access()->checkAccess('read', '', ROOT_FOLDER_ID)) {
128 $main_tpl->setOnScreenMessage(
129 'info',
130 sprintf(
131 $DIC->language()->txt('msg_no_perm_read_item'),
133 ),
134 true
135 );
136
137 $DIC->ctrl()->setTargetScript('ilias.php');
138 $DIC->ctrl()->setParameterByClass(ilRepositoryGUI::class, 'ref_id', ROOT_FOLDER_ID);
139 $DIC->ctrl()->redirectByClass(ilRepositoryGUI::class);
140 }
141
142 $DIC['ilErr']->raiseError($DIC->language()->txt('msg_no_perm_read'), $DIC['ilErr']->FATAL);
143 }
144
145 public function getType(): string
146 {
147 return self::OBJ_TYPE;
148 }
149
150 protected function setTabs(): void
151 {
152 if ($this->in_page_editor_style_context) {
153 return;
154 }
155
156 $this->help->setScreenIdComponent($this->object->getType());
157
158 if ($this->checkPermissionBool('read')) {
159 $this->tabs_gui->addTab(
160 self::UI_TAB_ID_CONTENT,
161 $this->lng->txt('content'),
162 $this->ctrl->getLinkTarget($this, self::UI_CMD_VIEW)
163 );
164 }
165
166 if ($this->infoScreenEnabled && ($this->checkPermissionBool('visible') || $this->checkPermissionBool('read'))) {
167 $this->tabs_gui->addTab(
168 self::UI_TAB_ID_INFO,
169 $this->lng->txt('info_short'),
170 $this->ctrl->getLinkTargetByClass(ilInfoScreenGUI::class, 'showSummary')
171 );
172 }
173
174 if ($this->checkPermissionBool('write')) {
175 $this->tabs_gui->addTab(
176 self::UI_TAB_ID_SETTINGS,
177 $this->lng->txt('settings'),
178 $this->ctrl->getLinkTarget($this, self::UI_CMD_EDIT)
179 );
180 }
181
182 if (ilLearningProgressAccess::checkAccess($this->object->getRefId())) {
183 $this->tabs_gui->addTab(
184 self::UI_TAB_ID_LP,
185 $this->lng->txt('learning_progress'),
186 $this->ctrl->getLinkTargetByClass(ilLearningProgressGUI::class)
187 );
188 }
189
190 if ($this->checkPermissionBool('write')) {
191 $this->tabs_gui->addTab(
192 self::UI_TAB_ID_MD,
193 $this->lng->txt('meta_data'),
194 $this->ctrl->getLinkTargetByClass(ilMDEditorGUI::class)
195 );
196 }
197
198 if ($this->checkPermissionBool('write')) {
199 $this->tabs_gui->addTab(
200 self::UI_TAB_ID_EXPORT,
201 $this->lng->txt('export'),
202 $this->ctrl->getLinkTargetByClass(ilExportGUI::class)
203 );
204 }
205
206 if ($this->checkPermissionBool('edit_permission')) {
207 $this->tabs_gui->addTab(
208 self::UI_TAB_ID_PERMISSIONS,
209 $this->lng->txt('perm_settings'),
210 $this->ctrl->getLinkTargetByClass(ilPermissionGUI::class, 'perm')
211 );
212 }
213 }
214
215 public function executeCommand(): void
216 {
217 $nextClass = $this->ctrl->getNextClass($this) ?? '';
218 $cmd = $this->ctrl->getCmd(self::UI_CMD_VIEW) ?? '';
219
220 $this->addToNavigationHistory();
221
222 if (!$this->in_page_editor_style_context &&
223 strtolower($nextClass) !== strtolower(ilObjectContentStyleSettingsGUI::class) &&
224 (strtolower($cmd) !== strtolower(self::UI_CMD_EDIT) || strtolower($nextClass) !== strtolower(
225 ilContentPagePageGUI::class
226 ))) {
227 $this->renderHeaderActions();
228 }
229
230 switch (strtolower($nextClass)) {
231 case strtolower(TranslationGUI::class):
232 $this->checkPermission('write');
233
234 $this->prepareOutput();
235 $this->tabs_gui->activateTab(self::UI_TAB_ID_SETTINGS);
236 $this->setSettingsSubTabs(self::UI_TAB_ID_I18N);
237
238 $transgui = new TranslationGUI(
239 $this->getObject(),
240 $this->lng,
241 $this->access,
242 $this->user,
243 $this->ctrl,
244 $this->tpl,
245 $this->ui_factory,
246 $this->ui_renderer,
247 $this->http,
248 $this->refinery,
249 $this->toolbar
250 );
251 $this->ctrl->forwardCommand($transgui);
252 break;
253
254 case strtolower(ilObjectContentStyleSettingsGUI::class):
255 $this->checkPermission('write');
256 $this->prepareOutput();
257
258 if ($this->in_page_editor_style_context) {
259 $this->tabs_gui->setBackTarget(
260 $this->lng->txt('back'),
261 $this->ctrl->getLinkTarget(new ilContentPagePageGUI($this->object->getId()), 'edit')
262 );
263 } else {
264 $this->tabs_gui->activateTab(self::UI_TAB_ID_SETTINGS);
265 $this->setSettingsSubTabs(self::UI_TAB_ID_STYLE);
266 }
267
268 $settings_gui = $this->content_style_gui
269 ->objectSettingsGUIForRefId(
270 null,
271 $this->object->getRefId()
272 );
273 $this->ctrl->forwardCommand($settings_gui);
274 break;
275
276 case strtolower(ilContentPagePageGUI::class):
277 $isMediaRequest = in_array(
278 strtolower($cmd),
279 array_map('strtolower', [
284 ]),
285 true
286 );
287 if ($isMediaRequest) {
288 if (!$this->checkPermissionBool('read')) {
289 $this->error->raiseError($this->lng->txt('permission_denied'), $this->error->MESSAGE);
290 }
291 } elseif (!$this->checkPermissionBool('write') || $this->user->isAnonymous()) {
292 $this->error->raiseError($this->lng->txt('permission_denied'), $this->error->MESSAGE);
293 }
294
295 $this->prepareOutput();
296
297 $this->content_style_gui->addCss($this->tpl, $this->object->getRefId());
298 $this->tpl->setCurrentBlock('SyntaxStyle');
299 $this->tpl->setVariable('LOCATION_SYNTAX_STYLESHEET', ilObjStyleSheet::getSyntaxStylePath());
300 $this->tpl->parseCurrentBlock();
301
303 $obj = $this->object;
304 $forwarder = new ilContentPagePageCommandForwarder(
305 $this->http,
306 $this->ctrl,
307 $this->tabs_gui,
308 $this->lng,
309 $obj,
310 $this->translation,
311 $this->user,
312 $this->refinery,
313 $this->content_style_domain
314 );
315 $forwarder->setIsMediaRequest($isMediaRequest);
316
317 $forwarder->addUpdateListener(function (PageUpdatedEvent $event): void {
318 $this->pageMetricsService->store(
320 $this->object->getId(),
321 $event->page()->getLanguage()
322 )
323 );
324 });
325
326 $pageContent = $forwarder->forward();
327 if ($pageContent !== '') {
328 $this->tpl->setContent($pageContent);
329 }
330 break;
331
332 case strtolower(ilInfoScreenGUI::class):
333 if (!$this->infoScreenEnabled) {
334 return;
335 }
336 $this->prepareOutput();
337
338 $this->infoScreenForward();
339 break;
340
341 case strtolower(ilCommonActionDispatcherGUI::class):
342 $this->prepareOutput();
344 break;
345
346 case strtolower(ilPermissionGUI::class):
347 $this->checkPermission('edit_permission');
348
349 $this->prepareOutput();
350 $this->tabs_gui->activateTab(self::UI_TAB_ID_PERMISSIONS);
351
352 $this->ctrl->forwardCommand(new ilPermissionGUI($this));
353 break;
354
355 case strtolower(ilMDEditorGUI::class):
356 $this->checkPermission('write');
357
358 $this->prepareOutput();
359 $this->tabs_gui->activateTab(self::UI_TAB_ID_MD);
360
361 $md_gui = new ilMDEditorGUI($this->object->getId(), 0, $this->object->getType());
362 $md_gui->addObserver($this->object, 'MDUpdateListener', 'General');
363 $this->ctrl->forwardCommand($md_gui);
364 break;
365
366 case strtolower(ilLearningProgressGUI::class):
367 if (!ilLearningProgressAccess::checkAccess($this->object->getRefId())) {
368 $this->error->raiseError($this->lng->txt('permission_denied'), $this->error->MESSAGE);
369 }
370
371 $this->prepareOutput();
372 $this->tabs_gui->activateTab(self::UI_TAB_ID_LP);
373
374 $usr_id = 0;
375 if ($this->http->wrapper()->query()->has('user_id')) {
376 $usr_id = $this->http->wrapper()->query()->retrieve(
377 'user_id',
378 $this->refinery->kindlyTo()->int()
379 );
380 }
381
382 $this->ctrl->forwardCommand(
385 $this->object->getRefId(),
386 $usr_id === 0 ? $this->user->getId() : $usr_id
387 )
388 );
389 break;
390
391 case strtolower(ilExportGUI::class):
392 $this->checkPermission('write');
393
394 $this->prepareOutput();
395 $this->tabs_gui->activateTab(self::UI_TAB_ID_EXPORT);
396
397 $gui = new ilExportGUI($this);
398 $this->ctrl->forwardCommand($gui);
399 break;
400
401 case strtolower(ilObjectCopyGUI::class):
402 $this->tpl->loadStandardTemplate();
403
404 $gui = new ilObjectCopyGUI($this);
405 $gui->setType(self::OBJ_TYPE);
406
407 $this->ctrl->forwardCommand($gui);
408 break;
409
410 default:
411 $settingsCommands = array_map('strtolower', [self::UI_CMD_EDIT, self::UI_CMD_UPDATE]);
412 switch (true) {
413 case in_array(strtolower($cmd), $settingsCommands, true):
415 break;
416 }
417
418 parent::executeCommand();
419 }
420 }
421
422 protected function addToDesk(): void
423 {
424 $this->addToDeskObject();
425 }
426
427 protected function removeFromDesk(): void
428 {
429 $this->removeFromDeskObject();
430 }
431
432 public function addToNavigationHistory(): void
433 {
434 if (!$this->getCreationMode() && $this->checkPermissionBool('read')) {
435 $this->navHistory->addItem(
436 $this->object->getRefId(),
437 ilLink::_getLink($this->object->getRefId(), $this->object->getType()),
438 $this->object->getType()
439 );
440 }
441 }
442
443 public function renderHeaderActions(): void
444 {
445 if (!$this->getCreationMode() && $this->checkPermissionBool('read')) {
446 $this->addHeaderAction();
447 }
448 }
449
450 public function infoScreenForward(): void
451 {
452 if (!$this->infoScreenEnabled) {
453 return;
454 }
455
456 if (!$this->checkPermissionBool('visible') && !$this->checkPermissionBool('read')) {
457 $this->error->raiseError($this->lng->txt('permission_denied'), $this->error->MESSAGE);
458 }
459
460 if (strtolower($this->ctrl->getCmd() ?? '') === 'infoscreen') {
461 $this->ctrl->redirectByClass(ilInfoScreenGUI::class, 'showSummary');
462 }
463
464 $this->tabs_gui->activateTab(self::UI_TAB_ID_INFO);
465
466 $info = new ilInfoScreenGUI($this);
467 $info->enableLearningProgress();
468 $info->enablePrivateNotes();
469 $info->addMetaDataSections($this->object->getId(), 0, $this->object->getType());
470
471 $this->ctrl->forwardCommand($info);
472 }
473
474 protected function setSettingsSubTabs(string $activeTab): void
475 {
476 if ($this->checkPermissionBool('write')) {
477 $this->tabs_gui->addSubTab(
478 self::UI_TAB_ID_SETTINGS,
479 $this->lng->txt('general'),
480 $this->ctrl->getLinkTarget($this, self::UI_CMD_EDIT)
481 );
482
483 $this->tabs_gui->addSubTab(
484 self::UI_TAB_ID_STYLE,
485 $this->lng->txt('cont_style'),
486 $this->ctrl->getLinkTargetByClass("ilobjectcontentstylesettingsgui", "")
487 );
488
489 $this->tabs_gui->addSubTab(
490 self::UI_TAB_ID_I18N,
491 $this->lng->txt('obj_multilinguality'),
492 $this->ctrl->getLinkTargetByClass(TranslationGUI::class)
493 );
494
495 $this->tabs_gui->activateSubTab($activeTab);
496 }
497 }
498
499 protected function addLocatorItems(): void
500 {
501 if ($this->object instanceof ilObject) {
502 $this->locator->addItem(
503 $this->object->getTitle(),
504 $this->ctrl->getLinkTarget($this, self::UI_CMD_VIEW),
505 '',
506 $this->object->getRefId()
507 );
508 }
509 }
510
511 public function infoScreen(): void
512 {
513 $this->infoScreenForward();
514 }
515
516 public function view(): void
517 {
518 $this->checkPermission('read');
519
520 $this->populateContentToolbar();
521
522 $this->tabs_gui->activateTab(self::UI_TAB_ID_CONTENT);
523
524 $this->tpl->setPermanentLink($this->object->getType(), $this->object->getRefId(), '', '_top');
525
526 $this->tpl->setContent($this->getContent());
527 }
528
529 protected function populateContentToolbar(): void
530 {
531 if (!$this->user->isAnonymous() && $this->checkPermissionBool('write')) {
532 $this->lng->loadLanguageModule('cntr');
533 $this->toolbar->addComponent(
534 $this->uiServices->factory()->button()->primary(
535 $this->lng->txt('cntr_text_media_editor'),
536 $this->ctrl->getLinkTargetByClass(ilContentPagePageGUI::class, 'edit')
537 )
538 );
539 }
540 }
541
546 public function getContent(string $ctrlLink = ''): string
547 {
548 if ($this->checkPermissionBool('read')) {
549 $this->object->trackProgress($this->user->getId());
550
551 $this->initStyleSheets();
552
553 $forwarder = new ilContentPagePageCommandForwarder(
554 $this->http,
555 $this->ctrl,
556 $this->tabs_gui,
557 $this->lng,
558 $this->object,
559 $this->translation,
560 $this->user,
561 $this->refinery,
562 $this->content_style_domain
563 );
565
566 return $forwarder->forward($ctrlLink);
567 }
568
569 return '';
570 }
571
572 protected function initStyleSheets(): void
573 {
574 $this->content_style_gui->addCss($this->tpl, $this->object->getRefId());
575 $this->tpl->setCurrentBlock('SyntaxStyle');
576 $this->tpl->setVariable('LOCATION_SYNTAX_STYLESHEET', ilObjStyleSheet::getSyntaxStylePath());
577 $this->tpl->parseCurrentBlock();
578 }
579
580 protected function afterSave(ilObject $new_object): void
581 {
582 $new_object->getObjectProperties()->storePropertyTranslations(
583 $new_object->getObjectTranslation()->withLanguage(
584 new Language(
585 $this->lng->getDefaultLanguage(),
586 $new_object->getTitle(),
587 $new_object->getDescription(),
588 true
589 )
590 )
591 );
592
593 $this->tpl->setOnScreenMessage('success', $this->lng->txt('object_added'), true);
594 $this->ctrl->redirect($this, 'edit');
595 }
596
597 protected function setTitleAndDescription(): void
598 {
599 parent::setTitleAndDescription();
600
601 $icon = ilObject::_getIcon($this->object->getId(), 'big', $this->object->getType());
602 $this->tpl->setTitleIcon($icon, $this->lng->txt('obj_' . $this->object->getType()));
603 }
604
605 protected function initEditCustomForm(ilPropertyFormGUI $a_form): void
606 {
607 $this->addAvailabilitySection($a_form);
608
609 $presentationHeader = new ilFormSectionHeaderGUI();
610 $presentationHeader->setTitle($this->lng->txt('settings_presentation_header'));
611 $a_form->addItem($presentationHeader);
612
613 $this->object_service->commonSettings()->legacyForm($a_form, $this->object)->addIcon();
614 $this->object_service->commonSettings()->legacyForm($a_form, $this->object)->addTileImage();
615
616 $sh = new ilFormSectionHeaderGUI();
617 $sh->setTitle($this->lng->txt('obj_features'));
618 $a_form->addItem($sh);
619
621 $this->object->getId(),
622 $a_form,
623 [
625 ]
626 );
627
628 if ($this->getCreationMode() !== true && count($this->object->getObjectTranslation()->getLanguages()) > 1) {
629 $language = '';
630 foreach ($this->lom_services->dataHelper()->getAllLanguages() as $lom_lang) {
631 if ($lom_lang->value() === $this->object->getObjectTranslation()->getDefaultLanguage()) {
632 $language = $lom_lang->presentableLabel();
633 }
634 }
635 $a_form->getItemByPostVar('title')
636 ->setInfo(
637 implode(
638 ': ',
639 [
640 $this->lng->txt('language'),
641 $language
642 ]
643 )
644 );
645 }
646 }
647
648 private function addAvailabilitySection(ilPropertyFormGUI $form): void
649 {
650 $section = new ilFormSectionHeaderGUI();
651 $section->setTitle($this->lng->txt('rep_activation_availability'));
652 $form->addItem($section);
653
654 $online = new ilCheckboxInputGUI($this->lng->txt('rep_activation_online'), 'activation_online');
655 $online->setInfo($this->lng->txt('copa_activation_online_info'));
656 $form->addItem($online);
657 }
658
659 protected function getEditFormCustomValues(array &$a_values): void
660 {
661 if (count($this->object->getObjectTranslation()->getLanguages()) > 1) {
662 $a_values['title'] = $this->object->getObjectTranslation()->getDefaultTitle();
663 $a_values['desc'] = $this->object->getObjectTranslation()->getDefaultDescription();
664 }
665
666 $a_values['activation_online'] = $this->object->getOfflineStatus() === false;
668 }
669
670 protected function updateCustom(ilPropertyFormGUI $form): void
671 {
672 $this->object->setOfflineStatus(!(bool) $form->getInput('activation_online'));
673 $this->object->update();
674
676 $this->object->getId(),
677 $form,
678 [
680 ]
681 );
682 $this->object_service->commonSettings()->legacyForm($form, $this->object)->saveIcon();
683 $this->object_service->commonSettings()->legacyForm($form, $this->object)->saveTileImage();
684 }
685
686 public function editStyleProperties(): void
687 {
688 $this->content_style_gui->redirectToObjectSettings();
689 }
690}
Customizing of pimple-DIC for ILIAS.
Definition: Container.php:36
Class handles translation mode for an object.
External facade for object content styles.
error(string $a_errmsg)
return true
This class represents a checkbox property in a property form.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
static _lookupContainerSetting(int $a_id, string $a_keyword, ?string $a_default_value=null)
final const string PRESENTATION_MODE_PRESENTATION
presentation mode for requesting
@ilCtrl_Calls ilContentPagePageGUI: ilPageEditorGUI, ilEditClipboardGUI, ilMDEditorGUI @ilCtrl_Calls ...
Export User Interface Class.
This class represents a section header in a property form.
Help GUI class.
Class ilInfoScreenGUI.
Learning progress access checks.
static checkAccess(int $a_ref_id, bool $a_allow_only_read=true)
check access to learning progress
Class ilObjUserTrackingGUI.
Last visited history for repository items.
@ilCtrl_isCalledBy ilObjContentPageGUI: ilRepositoryGUI @ilCtrl_isCalledBy ilObjContentPageGUI: ilAdm...
__construct(int $a_id=0, int $a_id_type=self::REPOSITORY_NODE_ID, int $a_parent_node_id=0)
static _goto(string $target)
addLocatorItems()
Functions to be overwritten.
setSettingsSubTabs(string $activeTab)
getEditFormCustomValues(array &$a_values)
Add values to custom edit fields.
ILIAS Style Content Object ObjectFacade $content_style_domain
afterSave(ilObject $new_object)
Post (successful) object creation hook.
getType()
Functions that must be overwritten.
setTabs()
create tabs (repository/workspace switch)
view()
view object content (repository/workspace switch)
readonly ILIAS Style Content GUIService $content_style_gui
readonly ilNavigationHistory $navHistory
readonly ILIAS DI UIServices $uiServices
initEditCustomForm(ilPropertyFormGUI $a_form)
Add custom fields to update form.
updateCustom(ilPropertyFormGUI $form)
Insert custom update form values into object.
addAvailabilitySection(ilPropertyFormGUI $form)
readonly Translations $translation
readonly PageMetricsService $pageMetricsService
readonly LOMServices $lom_services
getContent(string $ctrlLink='')
readonly bool $in_page_editor_style_context
New implementation of ilObjectGUI.
executeCommand()
execute command
checkPermissionBool(string $perm, string $cmd="", string $type="", ?int $node_id=null)
checkPermission(string $perm, string $cmd="", string $type="", ?int $ref_id=null)
prepareOutput(bool $show_sub_objects=true)
GUI class for the workflow of copying objects.
addHeaderAction()
Add header action menu.
static _gotoRepositoryNode(int $ref_id, string $cmd="")
static updateServiceSettingsForm(int $obj_id, ilPropertyFormGUI $form, array $services)
static initServiceSettingsForm(int $obj_id, ilPropertyFormGUI $form, array $services)
Class ilObject Basic functions for all objects.
static _getIcon(int $obj_id=0, string $size="big", string $type="", bool $offline=false)
Get icon for repository item.
static _lookupObjId(int $ref_id)
static _lookupTitle(int $obj_id)
This class represents a property form user interface.
getInput(string $a_post_var, bool $ensureValidation=true)
Returns the input of an item, if item provides getInput method and as fallback the value of the HTTP-...
getItemByPostVar(string $a_post_var)
const ROOT_FOLDER_ID
Definition: constants.php:32
$info
Definition: entry_point.php:21
Interface ilContentPageObjectConstants.
static http()
Fetches the global http state from ILIAS.
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
if(!file_exists('../ilias.ini.php'))
global $DIC
Definition: shib_login.php:26
$refId
Definition: xapitoken.php:58