ILIAS  release_7 Revision v7.30-3-g800a261c036
class.ilObjLearningSequenceGUI.php
Go to the documentation of this file.
1<?php
2
3declare(strict_types=1);
4
36{
37 const CMD_VIEW = "view";
38 const CMD_LEARNER_VIEW = "learnerView";
39 const CMD_CONTENT = "manageContent";
40
41 const CMD_MEMBERS = "members";
42 const CMD_MANAGE_MEMBERS = "participants";
43 const CMD_MEMBERS_GALLERY = "jump2UsersGallery";
44
45 const CMD_INFO = "showSummary";
46 const CMD_INFO_SCREEN = "infoScreen";
47 const CMD_SETTINGS = "settings";
48 const CMD_PERMISSIONS = "perm";
49 const CMD_LP = "learningProgress";
50 const CMD_EXPORT = "export";
51 const CMD_IMPORT = "importFile";
52 const CMD_CREATE = "create";
53 const CMD_SAVE = "save";
54 const CMD_CANCEL = "cancel";
55 const CMD_UNPARTICIPATE = "unparticipate";
56 const CMD_ADD_TO_DESK = "addToDesk";
57 const CMD_REMOVE_FROM_DESK = "removeFromDesk";
58 const CMD_LINK = "link";
59 const CMD_CANCEL_LINK = "cancelMoveLink";
60 const CMD_CUT = "cut";
61 const CMD_CANCEL_CUT = "cancelCut";
62 const CMD_CUT_SHOWTREE = "showPasteTree";
63 const CMD_CUT_CLIPBOARD = "keepObjectsInClipboard";
64 const CMD_DELETE = "delete";
65 const CMD_CANCEL_DELETE = "cancelDelete";
66 const CMD_DELETE_CONFIRMED = "confirmedDelete";
67 const CMD_PERFORM_PASTE = 'performPasteIntoMultipleObjects';
68 const CMD_SHOW_TRASH = 'trash';
69 const CMD_UNDELETE = 'undelete';
70 const CMD_REDRAW_HEADER = 'redrawHeaderAction';
71
72 const TAB_VIEW_CONTENT = "view_content";
73 const TAB_MANAGE = "manage";
74 const TAB_CONTENT_MAIN = "manage_content_maintab";
75 const TAB_INFO = "show_summary";
76 const TAB_SETTINGS = "settings";
77 const TAB_PERMISSIONS = "perm_settings";
78 const TAB_MEMBERS = "members";
79 const TAB_LP = "learning_progress";
80 const TAB_EXPORT = "export";
81
84
85 const ACCESS_READ = 'read';
86 const ACCESS_VISIBLE = 'visible';
87
88 public $object;
89
90 public static function _goto(string $target)
91 {
92 global $DIC;
93
94 $request = $DIC->http()->request();
95 $lng = $DIC->language();
96 $err = $DIC['ilErr'];
97
98 $targetParameters = explode('_', $target);
99 $id = (int) $targetParameters[0];
100
101 if (!self::isAccessible($id)) {
102 $err->raiseError($lng->txt('msg_no_perm_read'), $err->FATAL);
103 }
104
105 if (self::hasAccess(self::ACCESS_READ, $id)) {
106 $params = ['ref_id' => $id];
107
108 if (isset($request->getQueryParams()['gotolp'])) {
109 $params['gotolp'] = 1;
110 }
111
113 ilRepositoryGUI::class,
114 [ilRepositoryGUI::class, ilObjLearningSequenceGUI::class],
115 $params,
116 self::CMD_VIEW
117 );
118 }
119
120 if (self::hasAccess(self::ACCESS_VISIBLE, $id)) {
121 ilObjectGUI::_gotoRepositoryNode($target, 'infoScreen');
122 }
123
124 if (self::hasAccess(self::ACCESS_READ, ROOT_FOLDER_ID)) {
125 ilUtil::sendInfo(sprintf(
126 $lng->txt('msg_no_perm_read_item'),
128 ), true);
129
130 self::forwardByClass(ilRepositoryGUI::class, [ilRepositoryGUI::class], ['ref_id' => ROOT_FOLDER_ID]);
131 }
132 }
133
134 protected static function isAccessible(int $id) : bool
135 {
136 return $id > 0 && (
137 self::hasAccess(self::ACCESS_READ, $id) ||
138 self::hasAccess(self::ACCESS_VISIBLE, $id) ||
139 self::hasAccess(self::ACCESS_READ, ROOT_FOLDER_ID)
140 );
141 }
142
143 protected static function hasAccess(string $mode, int $id) : bool
144 {
145 global $DIC;
146 return $DIC->access()->checkAccess($mode, '', $id);
147 }
148
149 protected static function forwardByClass(string $base_class, array $classes, array $params, string $cmd = '')
150 {
151 global $DIC;
152 $ctrl = $DIC->ctrl();
153 $target_class = end($classes);
154
155 $ctrl->setTargetScript('ilias.php');
156 $ctrl->initBaseClass($base_class);
157
158 foreach ($params as $key => $value) {
159 $ctrl->setParameterByClass($target_class, $key, $value);
160 }
161
162 $ctrl->redirectByClass($classes, $cmd);
163 }
164
165 public function __construct()
166 {
167 $this->ref_id = (int) $_GET['ref_id'];
168 parent::__construct([], $this->ref_id, true, false);
169
170 $this->obj_type = ilObjLearningSequence::OBJ_TYPE;
171
172 global $DIC;
173 $this->ctrl = $DIC['ilCtrl'];
174 $this->lng = $DIC['lng'];
175 $this->user = $DIC['ilUser'];
176 $this->tabs = $DIC['ilTabs'];
177 $this->toolbar = $DIC['ilToolbar'];
178 $this->help = $DIC['ilHelp'];
179 $this->settings = $DIC['ilSetting'];
180 $this->access = $DIC['ilAccess'];
181 $this->rbac_review = $DIC['rbacreview'];
182 $this->ui_factory = $DIC['ui.factory'];
183 $this->ui_renderer = $DIC['ui.renderer'];
184
185 $this->log = $DIC["ilLoggerFactory"]->getRootLogger();
186 $this->app_event_handler = $DIC['ilAppEventHandler'];
187 $this->navigation_history = $DIC['ilNavigationHistory'];
188 $this->obj_definition = $DIC['objDefinition'];
189 $this->tpl = $DIC["tpl"];
190 $this->obj_service = $DIC->object();
191 $this->toolbar = $DIC['ilToolbar'];
192
193 $this->help->setScreenIdComponent($this->obj_type);
194 $this->lng->loadLanguageModule($this->obj_type);
195
196 $this->object = $this->getObject();
197 $this->data_factory = new \ILIAS\Data\Factory();
198 }
199
200 protected function recordLearningSequenceRead()
201 {
203 $this->object->getType(),
204 $this->object->getRefId(),
205 $this->object->getId(),
206 $this->user->getId()
207 );
208 }
209
210 public function executeCommand()
211 {
212 $next_class = $this->ctrl->getNextClass($this);
213 $cmd = $this->ctrl->getCmd();
215
216 parent::prepareOutput();
217 $this->addToNavigationHistory();
218 //showRepTree is from containerGUI;
219 //LSO will attach allowed subitems to whitelist
220 //see: $this::getAdditionalWhitelistTypes
221
222 $in_player = (
223 $next_class === 'ilobjlearningsequencelearnergui'
224 && $cmd === 'view'
225 );
226
227 $tpl->setPermanentLink("lso", $this->ref_id);
228
229 switch ($next_class) {
230 case "ilcommonactiondispatchergui":
232 $this->ctrl->forwardCommand($gui);
233 break;
234 case "ilinfoscreengui":
235 $this->info($cmd);
236 break;
237 case "ilpermissiongui":
238 $this->permissions($cmd);
239 break;
240 case "ilobjlearningsequencesettingsgui":
241 $this->settings($cmd);
242 break;
243 case "ilobjlearningsequencecontentgui":
244 $this->manageContent($cmd);
245 break;
246 case "ilobjlearningsequencelearnergui":
247 $this->learnerView($cmd);
248 break;
249 case "illearningsequencemembershipgui":
250 $this->manage_members($cmd);
251 break;
252 case 'ilmailmembersearchgui':
253 $this->mail();
254 break;
255 case 'illearningprogressgui':
256 $this->learningProgress($cmd);
257 break;
258 case 'ilexportgui':
259 $this->export();
260 break;
261 case 'ilobjectcopygui':
262 $cp = new ilObjectCopyGUI($this);
263 $cp->setType('lso');
264 $this->ctrl->forwardCommand($cp);
265 break;
266 case 'ilobjindividualassessmentgui':
267 $struct = ['ilrepositorygui','ilobjindividualassessmentgui'];
268 if ($cmd === 'edit') {
269 $struct[] = 'ilindividualassessmentsettingsgui';
270 }
271 $this->ctrl->redirectByClass($struct, $cmd);
272 break;
273 case 'ilobjtestgui':
274 $struct = ['ilrepositorygui','ilobjtestgui'];
275 $this->ctrl->redirectByClass($struct, $cmd);
276 break;
277
278 case false:
279 if ($cmd === '') {
280 $cmd = self::CMD_VIEW;
281 }
282
283 switch ($cmd) {
284 case self::CMD_IMPORT:
285 $this->importFileObject();
286 break;
287 case self::CMD_INFO:
289 $this->info();
290 break;
291 case self::CMD_VIEW:
296 case self::CMD_SAVE:
297 case self::CMD_CREATE:
298 case self::CMD_LP:
300 $this->$cmd();
301 break;
302 case self::CMD_CANCEL:
303 if ($this->getCreationMode()) {
304 $this->cancelCreation();
305 }
306 break;
308 $this->removeFromDeskObject();
309 $this->view();
310 break;
312 $this->addToDeskObject();
313 $this->view();
314 break;
315 case self::CMD_CUT:
316 $this->cutObject();
317 break;
319 $this->showPasteTreeObject();
320 break;
323 break;
324 case self::CMD_LINK:
325 $this->linkObject();
326 break;
327 case self::CMD_DELETE:
328 $this->deleteObject();
329 break;
331 $this->confirmedDeleteObject();
332 break;
335 break;
337 $this->trashObject();
338 break;
340 $this->undeleteObject();
341 break;
342
346 $cmd = self::CMD_CONTENT;
347 $this->$cmd();
348 break;
349
352 break;
353
354 default:
355 throw new ilException("ilObjLearningSequenceGUI: Invalid command '$cmd'");
356 }
357 break;
358 default:
359 throw new ilException("ilObjLearningSequenceGUI: Can't forward to next class $next_class");
360 }
361
362 if (!$in_player) {
363 $this->addHeaderAction();
364 }
365 }
366
367 public function addToNavigationHistory()
368 {
369 if (
370 !$this->getCreationMode() &&
371 $this->access->checkAccess('read', '', $this->ref_id)
372 ) {
373 $link = ilLink::_getLink($this->ref_id, $this->obj_type);
374 $this->navigation_history->addItem($this->ref_id, $link, $this->obj_type);
375 }
376 }
377
378 protected function info(string $cmd = self::CMD_INFO)
379 {
380 $this->tabs->setTabActive(self::TAB_INFO);
381 $this->ctrl->setCmdClass('ilinfoscreengui');
382 $this->ctrl->setCmd($cmd);
383 $info = new ilInfoScreenGUI($this);
384 $this->ctrl->forwardCommand($info);
385 }
386
387 protected function permissions(string $cmd = self::CMD_PERMISSIONS)
388 {
389 $this->tabs->setTabActive(self::TAB_PERMISSIONS);
390 $perm_gui = new ilPermissionGUI($this);
391 $this->ctrl->setCmd($cmd);
392 $this->ctrl->forwardCommand($perm_gui);
393 }
394
395 protected function settings(string $cmd = self::CMD_SETTINGS)
396 {
397 $this->tabs->activateTab(self::TAB_SETTINGS);
399 $this->getObject(),
400 $this->ctrl,
401 $this->lng,
402 $this->tpl,
403 $this->obj_service
404 );
405 $this->ctrl->setCmd($cmd);
406 $this->ctrl->forwardCommand($gui);
407 }
408
409 protected function view()
410 {
411 $this->tabs->clearSubTabs();
412 if ($this->checkAccess("write")) {
413 $this->manageContent(self::CMD_CONTENT);
414 return;
415 }
416 if ($this->checkAccess("read")) {
417 $this->learnerView(self::CMD_LEARNER_VIEW);
419 return;
420 }
421 $this->info(self::CMD_INFO);
423 }
424
425 protected function manageContent(string $cmd = self::CMD_CONTENT)
426 {
427 $this->tabs->activateTab(self::TAB_CONTENT_MAIN);
428 $this->addSubTabsForContent($cmd);
429 $this->tabs->activateSubTab(self::TAB_MANAGE);
430
432 $this,
433 $this->ctrl,
434 $this->tpl,
435 $this->lng,
436 $this->access,
437 new ilConfirmationGUI(),
439 );
440 $this->ctrl->setCmd($cmd);
441 $this->ctrl->forwardCommand($gui);
442 }
443
444 protected function learnerView(string $cmd = self::CMD_LEARNER_VIEW)
445 {
446 $this->tabs->activateTab(self::TAB_CONTENT_MAIN);
447 $this->addSubTabsForContent($cmd);
448 $this->tabs->activateSubTab(self::TAB_VIEW_CONTENT);
449
450 $gui = $this->object->getLocalDI()["gui.learner"];
451
452 $this->ctrl->setCmd($cmd);
453 $this->ctrl->forwardCommand($gui);
454 }
455
456 protected function members()
457 {
458 $may_manage_members = $this->checkAccess("edit_members");
459 $this->ctrl->setCmdClass('ilLearningSequenceMembershipGUI');
460 if ($may_manage_members) {
461 $this->manage_members(self::CMD_MANAGE_MEMBERS);
462 } else {
463 $this->manage_members(self::CMD_MEMBERS_GALLERY);
464 }
465 }
466
467 protected function manage_members(string $cmd = self::CMD_MANAGE_MEMBERS)
468 {
469 $this->tabs->setTabActive(self::TAB_MEMBERS);
470
472 $this,
473 $this->getObject(),
474 $this->getTrackingObject(),
476 $this->lng,
477 $this->ctrl,
478 $this->access,
479 $this->rbac_review,
480 $this->settings,
481 $this->toolbar
482 );
483
484 $this->ctrl->setCmd($cmd);
485 $this->ctrl->forwardCommand($ms_gui);
486 }
487
488 protected function learningProgress(string $cmd = self::CMD_LP)
489 {
490 $this->tabs->setTabActive(self::TAB_LP);
491
492 $for_user = $this->user->getId();
493
494 if ($_GET['user_id']) {
495 $for_user = $_GET['user_id'];
496 }
497
498 $lp_gui = new ilLearningProgressGUI(
500 $this->getObject()->getRefId(),
501 $for_user
502 );
503
504 if ($cmd === self::CMD_LP) {
505 $cmd = '';
506 }
507
508 $this->ctrl->setCmd($cmd);
509 $this->ctrl->forwardCommand($lp_gui);
510 }
511
512 protected function export()
513 {
514 $this->tabs->setTabActive(self::TAB_EXPORT);
515 $gui = new ilExportGUI($this);
516 $gui->addFormat("xml");
517
518 $this->ctrl->forwardCommand($gui);
519 }
520
521 protected function initDidacticTemplate(ilPropertyFormGUI $form)
522 {
523 return $form;
524 }
525
526 protected function create()
527 {
528 parent::createObject();
529 }
530
531 protected function save()
532 {
533 parent::saveObject();
534 }
535
536 protected function afterSave(ilObject $new_object)
537 {
538 $participant = new ilLearningSequenceParticipants(
539 (int) $new_object->getId(),
540 $this->log,
541 $this->app_event_handler,
542 $this->settings
543 );
544
545 $participant->add($this->user->getId(), IL_LSO_ADMIN);
546 $participant->updateNotification($this->user->getId(), $this->settings->get('mail_lso_admin_notification', true));
547
548
549 $settings = new \ilContainerSortingSettings($new_object->getId());
550 $settings->setSortMode(\ilContainer::SORT_MANUAL);
551 $settings->setSortDirection(\ilContainer::SORT_DIRECTION_ASC);
554 $settings->save();
555
556 ilUtil::sendSuccess($this->lng->txt('object_added'), true);
557 $this->ctrl->setParameter($this, "ref_id", $new_object->getRefId());
559 $this->getReturnLocation(
560 "save",
561 $this->ctrl->getLinkTarget($this, self::CMD_SETTINGS, "", false, false)
562 )
563 );
564 }
565
566 public function unparticipate()
567 {
568 if ($this->checkAccess('unparticipate')) {
569 $usr_id = (int) $this->user->getId();
570 $this->getObject()->getLSRoles()->leave($usr_id);
571 $this->learnerView();
572 }
573 }
574
575 protected function removeMember(int $usr_id)
576 {
577 $this->ls_object->leave($usr_id);
578 }
579
580 public function getTabs()
581 {
582 if ($this->checkAccess("read")) {
583 $this->tabs->addTab(
584 self::TAB_CONTENT_MAIN,
585 $this->lng->txt(self::TAB_CONTENT_MAIN),
586 $this->ctrl->getLinkTarget($this, self::CMD_VIEW, "", false, false)
587 );
588 }
589
590 if ($this->checkAccess("read") || $this->checkAccess("visible")) {
591 $this->tabs->addTab(
592 self::TAB_INFO,
593 $this->lng->txt(self::TAB_INFO),
594 $this->getLinkTarget(self::CMD_INFO)
595 );
596 }
597
598 if ($this->checkAccess("write")) {
599 $this->tabs->addTab(
600 self::TAB_SETTINGS,
601 $this->lng->txt(self::TAB_SETTINGS),
602 $this->getLinkTarget(self::CMD_SETTINGS)
603 );
604 }
605
606 if ($this->checkAccess("read")) {
607 if ($this->checkAccess("manage_members")
608 || (
609 $this->getObject()->getLSSettings()->getMembersGallery()
610 &&
611 $this->getObject()->getLSRoles()->isMember((int) $this->user->getId())
612 )
613 ) {
614 $this->tabs->addTab(
615 self::TAB_MEMBERS,
616 $this->lng->txt(self::TAB_MEMBERS),
617 $this->ctrl->getLinkTarget($this, self::CMD_MEMBERS, "", false, false)
618 );
619 }
620 }
621
623 $this->tabs->addTab(
624 self::TAB_LP,
625 $this->lng->txt(self::TAB_LP),
626 $this->getLinkTarget(self::CMD_LP)
627 );
628 }
629
630 if ($this->checkAccess("write")) {
631 $this->tabs->addTab(
632 self::TAB_EXPORT,
633 $this->lng->txt(self::TAB_EXPORT),
634 $this->ctrl->getLinkTargetByClass("ilexportgui", "")
635 );
636 }
637
638 if ($this->checkAccess("edit_permission")) {
639 $this->tabs->addTab(
640 self::TAB_PERMISSIONS,
641 $this->lng->txt(self::TAB_PERMISSIONS),
642 $this->getLinkTarget(self::CMD_PERMISSIONS)
643 );
644 }
645 }
646
647 public function renderObject()
648 {
649 // disables this method in ilContainerGUI
650 }
651
652 protected function addSubTabsForContent()
653 {
654 $this->tabs->addSubTab(
655 self::TAB_VIEW_CONTENT,
656 $this->lng->txt(self::TAB_VIEW_CONTENT),
657 $this->getLinkTarget(self::CMD_LEARNER_VIEW)
658 );
659
660 if ($this->checkAccess("write")) {
661 $this->tabs->addSubTab(
662 self::TAB_MANAGE,
663 $this->lng->txt(self::TAB_MANAGE),
664 $this->getLinkTarget(self::CMD_CONTENT)
665 );
666 }
667 }
668
669 protected function checkAccess($which) : bool
670 {
671 return $this->access->checkAccess($which, "", $this->ref_id);
672 }
673
674 protected function checkLPAccess()
675 {
676 $ref_id = $this->getObject()->getRefId();
677 $is_participant = ilLearningSequenceParticipants::_isParticipant($ref_id, $this->user->getId());
678
679 $lp_access = ilLearningProgressAccess::checkAccess($ref_id, $is_participant);
680 $may_edit_lp_settings = $this->checkAccess('edit_learning_progress');
681
682 return ($lp_access || $may_edit_lp_settings);
683 }
684
685 protected function getLinkTarget(string $cmd) : string
686 {
687 $class = $this->getClassForTabs($cmd);
688 $class_path = [
689 strtolower('ilObjLearningSequenceGUI'),
690 $class
691 ];
692 return $this->ctrl->getLinkTargetByClass($class_path, $cmd);
693 }
694
695 protected function getClassForTabs(string $cmd) : string
696 {
697 switch ($cmd) {
699 return 'ilObjLearningSequenceContentGUI';
701 return 'ilObjLearningSequenceLearnerGUI';
703 return 'ilObjLearningSequenceSettingsGUI';
704 case self::CMD_INFO:
705 return 'ilInfoScreenGUI';
707 return 'ilPermissionGUI';
708 case self::CMD_LP:
709 return 'ilLearningProgressGUI';
710 }
711
712 throw new InvalidArgumentException('cannot resolve class for command: ' . $cmd);
713 }
714
715 public function createMailSignature()
716 {
717 $link = chr(13) . chr(10) . chr(13) . chr(10);
718 $link .= $this->lng->txt('lso_mail_permanent_link');
719 $link .= chr(13) . chr(10) . chr(13) . chr(10);
720 $link .= ilLink::_getLink($this->object->getRefId());
721
722 return rawurlencode(base64_encode($link));
723 }
724
725 public function getObject()
726 {
727 if ($this->object === null) {
728 $this->object = ilObjLearningSequence::getInstanceByRefId($this->ref_id);
729 }
730
731 return $this->object;
732 }
733
735 {
736 return new ilObjUserTracking();
737 }
738
742 public function getLocalRoles() : array
743 {
744 $local_roles = $this->object->getLocalLearningSequenceRoles(false);
745 $lso_member = $this->object->getDefaultMemberRole();
746 $lso_roles = array();
747
748 if (in_array($lso_member, $local_roles)) {
749 $lso_roles[$lso_member] = ilObjRole::_getTranslation(array_search($lso_member, $local_roles));
750 unset($local_roles[$lso_roles[$lso_member]]);
751 }
752
753 foreach ($local_roles as $title => $role_id) {
754 $lso_roles[$role_id] = ilObjRole::_getTranslation($title);
755 }
756
757 return $lso_roles;
758 }
759
763 protected function getAdditionalWhitelistTypes() : array
764 {
765 $types = array_filter(
766 array_keys($this->obj_definition->getSubObjects('lso', false)),
767 function ($type) {
768 return $type !== 'rolf';
769 }
770 );
771
772 return $types;
773 }
774
775 public function addCustomData($a_data)
776 {
777 $res_data = array();
778 foreach ($a_data as $usr_id => $user_data) {
779 $res_data[$usr_id] = $user_data;
780 $udf_data = new ilUserDefinedData($usr_id);
781
782 foreach ($udf_data->getAll() as $field => $value) {
783 list($f, $field_id) = explode('_', $field);
784 $res_data[$usr_id]['udf_' . $field_id] = (string) $value;
785 }
786 }
787
788 return $res_data;
789 }
790}
user()
Definition: user.php:4
$_GET["client_id"]
An exception for terminatinating execution or to throw for unit testing.
const IL_LSO_ADMIN
static _recordReadEvent( $a_type, $a_ref_id, $obj_id, $usr_id, $isCatchupWriteEvents=true, $a_ext_rc=false, $a_ext_time=false)
Records a read event and catches up with write events.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
Confirmation screen class.
Class ilContainerGUI.
trashObject()
Show trash content of object.
cutObject()
cut object(s) out from a container and write the information to clipboard
showPasteTreeObject()
Show paste tree.
undeleteObject()
Get objects back from trash.
linkObject()
create an new reference of an object in tree it's like a hard link of unix
keepObjectsInClipboardObject()
Keep objects in the clipboard.
const SORT_NEW_ITEMS_ORDER_CREATION
const SORT_NEW_ITEMS_POSITION_BOTTOM
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Export User Interface Class.
Class ilInfoScreenGUI.
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
Class ilObjUserTrackingGUI.
GUI class for learning sequence membership features.
static _isParticipant($ref_id, $usr_id)
Static function to check if a user is a participant of the container object.
Class ilObjLearningSequenceContentGUI.
Class ilObjLearningSequenceGUI.
settings(string $cmd=self::CMD_SETTINGS)
learningProgress(string $cmd=self::CMD_LP)
getTabs()
common tabs for all container objects (should be called at the end of child getTabs() method
afterSave(ilObject $new_object)
Post (successful) object creation hook.
manageContent(string $cmd=self::CMD_CONTENT)
static hasAccess(string $mode, int $id)
manage_members(string $cmd=self::CMD_MANAGE_MEMBERS)
permissions(string $cmd=self::CMD_PERMISSIONS)
executeCommand()
execute command note: this method is overwritten in all container objects
initDidacticTemplate(ilPropertyFormGUI $form)
Show didactic template types.
static forwardByClass(string $base_class, array $classes, array $params, string $cmd='')
getAdditionalWhitelistTypes()
append additional types to ilRepositoryExplorerGUI's whitelist
learnerView(string $cmd=self::CMD_LEARNER_VIEW)
Class ilObjLearningSequenceSettingsGUI.
static getInstanceByRefId(int $ref_id)
static _getTranslation($a_role_title)
static _enabledLearningProgress()
check wether learing progress is enabled or not
GUI class for the workflow of copying objects.
confirmedDeleteObject()
confirmed deletion of object -> objects are moved to trash or deleted immediately,...
cancelCreation()
cancel create action and go back to repository parent
importFileObject($parent_id=null, $a_catch_errors=true)
Import.
static _gotoRepositoryNode($a_ref_id, $a_cmd="frameset")
Goto repository root.
getReturnLocation($a_cmd, $a_location="")
get return location for command (command is method name without "Object", e.g.
getCreationMode()
get creation mode
addHeaderAction()
Add header action menu.
redrawHeaderActionObject()
Ajax call: redraw action header only.
deleteObject($a_error=false)
Display deletion confirmation screen.
Class ilObject Basic functions for all objects.
static _lookupObjId($a_id)
static _lookupTitle($a_id)
lookup object title
getRefId()
get reference id @access public
getId()
get object id @access public
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
static _getInstance()
Get instance of ilPrivacySettings.
This class represents a property form user interface.
Class ilUserDefinedData.
static redirect($a_script)
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
const ROOT_FOLDER_ID
Definition: constants.php:30
global $DIC
Definition: goto.php:24
help()
Definition: help.php:2
removeFromDeskObject()
Remove from desktop @access public.
addToDeskObject()
Add desktop item @access public.
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
$type