ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
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
71 const TAB_VIEW_CONTENT = "view_content";
72 const TAB_MANAGE = "manage";
73 const TAB_CONTENT_MAIN = "manage_content_maintab";
74 const TAB_INFO = "show_summary";
75 const TAB_SETTINGS = "settings";
76 const TAB_PERMISSIONS = "perm_settings";
77 const TAB_MEMBERS = "members";
78 const TAB_LP = "learning_progress";
79 const TAB_EXPORT = "export";
80
83
84 const ACCESS_READ = 'read';
85 const ACCESS_VISIBLE = 'visible';
86
87 public $object;
88
89 public static function _goto(string $target)
90 {
91 global $DIC;
92
93 $request = $DIC->http()->request();
94 $lng = $DIC->language();
95 $err = $DIC['ilErr'];
96
97 $targetParameters = explode('_', $target);
98 $id = (int) $targetParameters[0];
99
100 if (!self::isAccessible($id)) {
101 $err->raiseError($lng->txt('msg_no_perm_read'), $err->FATAL);
102 }
103
104 if (self::hasAccess(self::ACCESS_READ, $id)) {
105 $params = ['ref_id' => $id];
106
107 if (isset($request->getQueryParams()['gotolp'])) {
108 $params['gotolp'] = 1;
109 }
110
112 ilRepositoryGUI::class,
113 [ilRepositoryGUI::class, ilObjLearningSequenceGUI::class],
114 $params,
115 self::CMD_VIEW
116 );
117 }
118
119 if (self::hasAccess(self::ACCESS_VISIBLE, $id)) {
120 ilObjectGUI::_gotoRepositoryNode($target, 'infoScreen');
121 }
122
123 if (self::hasAccess(self::ACCESS_READ, ROOT_FOLDER_ID)) {
124 ilUtil::sendInfo(sprintf(
125 $lng->txt('msg_no_perm_read_item'),
127 ), true);
128
129 self::forwardByClass(ilRepositoryGUI::class, [ilRepositoryGUI::class], ['ref_id' => ROOT_FOLDER_ID]);
130 }
131 }
132
133 protected static function isAccessible(int $id) : bool
134 {
135 return $id > 0 && (
136 self::hasAccess(self::ACCESS_READ, $id) ||
137 self::hasAccess(self::ACCESS_VISIBLE, $id) ||
138 self::hasAccess(self::ACCESS_READ, ROOT_FOLDER_ID)
139 );
140 }
141
142 protected static function hasAccess(string $mode, int $id) : bool
143 {
144 global $DIC;
145 return $DIC->access()->checkAccess($mode, '', $id);
146 }
147
148 protected static function forwardByClass(string $base_class, array $classes, array $params, string $cmd = '')
149 {
150 global $DIC;
151 $ctrl = $DIC->ctrl();
152 $target_class = end($classes);
153
154 $ctrl->setTargetScript('ilias.php');
155 $ctrl->initBaseClass($base_class);
156
157 foreach ($params as $key => $value) {
158 $ctrl->setParameterByClass($target_class, $key, $value);
159 }
160
161 $ctrl->redirectByClass($classes, $cmd);
162 }
163
164 public function __construct()
165 {
166 $this->ref_id = (int) $_GET['ref_id'];
167 parent::__construct([], $this->ref_id, true, false);
168
169 $this->obj_type = ilObjLearningSequence::OBJ_TYPE;
170
171 global $DIC;
172 $this->ctrl = $DIC['ilCtrl'];
173 $this->lng = $DIC['lng'];
174 $this->user = $DIC['ilUser'];
175 $this->tabs = $DIC['ilTabs'];
176 $this->toolbar = $DIC['ilToolbar'];
177 $this->help = $DIC['ilHelp'];
178 $this->settings = $DIC['ilSetting'];
179 $this->access = $DIC['ilAccess'];
180 $this->rbac_review = $DIC['rbacreview'];
181 $this->ui_factory = $DIC['ui.factory'];
182 $this->ui_renderer = $DIC['ui.renderer'];
183
184 $this->log = $DIC["ilLoggerFactory"]->getRootLogger();
185 $this->app_event_handler = $DIC['ilAppEventHandler'];
186 $this->navigation_history = $DIC['ilNavigationHistory'];
187 $this->obj_definition = $DIC['objDefinition'];
188 $this->tpl = $DIC["tpl"];
189 $this->obj_service = $DIC->object();
190 $this->toolbar = $DIC['ilToolbar'];
191
192 $this->help->setScreenIdComponent($this->obj_type);
193 $this->lng->loadLanguageModule($this->obj_type);
194
195 $this->object = $this->getObject();
196 $this->data_factory = new \ILIAS\Data\Factory();
197 }
198
199 protected function recordLearningSequenceRead()
200 {
202 $this->object->getType(),
203 $this->object->getRefId(),
204 $this->object->getId(),
205 $this->user->getId()
206 );
207 }
208
209 public function executeCommand()
210 {
211 $next_class = $this->ctrl->getNextClass($this);
212 $cmd = $this->ctrl->getCmd();
214
215 parent::prepareOutput();
216 $this->addToNavigationHistory();
217 //showRepTree is from containerGUI;
218 //LSO will attach allowed subitems to whitelist
219 //see: $this::getAdditionalWhitelistTypes
220
221 $in_player = (
222 $next_class === 'ilobjlearningsequencelearnergui'
223 && $cmd === 'view'
224 );
225
226 $tpl->setPermanentLink("lso", $this->ref_id);
227
228 switch ($next_class) {
229 case "ilcommonactiondispatchergui":
231 $this->ctrl->forwardCommand($gui);
232 break;
233 case "ilinfoscreengui":
234 $this->info($cmd);
235 break;
236 case "ilpermissiongui":
237 $this->permissions($cmd);
238 break;
239 case "ilobjlearningsequencesettingsgui":
240 $this->settings($cmd);
241 break;
242 case "ilobjlearningsequencecontentgui":
243 $this->manageContent($cmd);
244 break;
245 case "ilobjlearningsequencelearnergui":
246 $this->learnerView($cmd);
247 break;
248 case "illearningsequencemembershipgui":
249 $this->manage_members($cmd);
250 break;
251 case 'ilmailmembersearchgui':
252 $this->mail();
253 break;
254 case 'illearningprogressgui':
255 $this->learningProgress($cmd);
256 break;
257 case 'ilexportgui':
258 $this->export();
259 break;
260 case 'ilobjectcopygui':
261 $cp = new ilObjectCopyGUI($this);
262 $cp->setType('lso');
263 $this->ctrl->forwardCommand($cp);
264 break;
265 case 'ilobjindividualassessmentgui':
266 $struct = ['ilrepositorygui','ilobjindividualassessmentgui'];
267 if ($cmd === 'edit') {
268 $struct[] = 'ilindividualassessmentsettingsgui';
269 }
270 $this->ctrl->redirectByClass($struct, $cmd);
271 break;
272 case 'ilobjtestgui':
273 $struct = ['ilrepositorygui','ilobjtestgui'];
274 $this->ctrl->redirectByClass($struct, $cmd);
275 break;
276
277 case false:
278 if ($cmd === '') {
279 $cmd = self::CMD_VIEW;
280 }
281
282 switch ($cmd) {
283 case self::CMD_IMPORT:
284 $this->importFileObject();
285 break;
286 case self::CMD_INFO:
288 $this->info();
289 break;
290 case self::CMD_VIEW:
295 case self::CMD_SAVE:
296 case self::CMD_CREATE:
297 case self::CMD_LP:
299 $this->$cmd();
300 break;
301 case self::CMD_CANCEL:
302 if ($this->getCreationMode()) {
303 $this->cancelCreation();
304 }
305 break;
307 $this->removeFromDeskObject();
308 $this->view();
309 break;
311 $this->addToDeskObject();
312 $this->view();
313 break;
314 case self::CMD_CUT:
315 $this->cutObject();
316 break;
318 $this->showPasteTreeObject();
319 break;
322 break;
323 case self::CMD_LINK:
324 $this->linkObject();
325 break;
326 case self::CMD_DELETE:
327 $this->deleteObject();
328 break;
330 $this->confirmedDeleteObject();
331 break;
334 break;
336 $this->trashObject();
337 break;
339 $this->undeleteObject();
340 break;
341
345 $cmd = self::CMD_CONTENT;
346 $this->$cmd();
347 break;
348
349 default:
350 throw new ilException("ilObjLearningSequenceGUI: Invalid command '$cmd'");
351 }
352 break;
353 default:
354 throw new ilException("ilObjLearningSequenceGUI: Can't forward to next class $next_class");
355 }
356
357 if (!$in_player) {
358 $this->addHeaderAction();
359 }
360 }
361
362 public function addToNavigationHistory()
363 {
364 if (
365 !$this->getCreationMode() &&
366 $this->access->checkAccess('read', '', $this->ref_id)
367 ) {
368 $link = ilLink::_getLink($this->ref_id, $this->obj_type);
369 $this->navigation_history->addItem($this->ref_id, $link, $this->obj_type);
370 }
371 }
372
373 protected function info(string $cmd = self::CMD_INFO)
374 {
375 $this->tabs->setTabActive(self::TAB_INFO);
376 $this->ctrl->setCmdClass('ilinfoscreengui');
377 $this->ctrl->setCmd($cmd);
378 $info = new ilInfoScreenGUI($this);
379 $this->ctrl->forwardCommand($info);
380 }
381
382 protected function permissions(string $cmd = self::CMD_PERMISSIONS)
383 {
384 $this->tabs->setTabActive(self::TAB_PERMISSIONS);
385 $perm_gui = new ilPermissionGUI($this);
386 $this->ctrl->setCmd($cmd);
387 $this->ctrl->forwardCommand($perm_gui);
388 }
389
390 protected function settings(string $cmd = self::CMD_SETTINGS)
391 {
392 $this->tabs->activateTab(self::TAB_SETTINGS);
394 $this->getObject(),
395 $this->ctrl,
396 $this->lng,
397 $this->tpl,
398 $this->obj_service
399 );
400 $this->ctrl->setCmd($cmd);
401 $this->ctrl->forwardCommand($gui);
402 }
403
404 protected function view()
405 {
406 $this->tabs->clearSubTabs();
407 if ($this->checkAccess("write")) {
408 $this->manageContent(self::CMD_CONTENT);
409 return;
410 }
411 if ($this->checkAccess("read")) {
412 $this->learnerView(self::CMD_LEARNER_VIEW);
414 return;
415 }
416 $this->info(self::CMD_INFO);
418 }
419
420 protected function manageContent(string $cmd = self::CMD_CONTENT)
421 {
422 $this->tabs->activateTab(self::TAB_CONTENT_MAIN);
423 $this->addSubTabsForContent($cmd);
424 $this->tabs->activateSubTab(self::TAB_MANAGE);
425
427 $this,
428 $this->ctrl,
429 $this->tpl,
430 $this->lng,
431 $this->access,
432 new ilConfirmationGUI(),
434 );
435 $this->ctrl->setCmd($cmd);
436 $this->ctrl->forwardCommand($gui);
437 }
438
439 protected function learnerView(string $cmd = self::CMD_LEARNER_VIEW)
440 {
441 $this->tabs->activateTab(self::TAB_CONTENT_MAIN);
442 $this->addSubTabsForContent($cmd);
443 $this->tabs->activateSubTab(self::TAB_VIEW_CONTENT);
444
445 $gui = $this->object->getLocalDI()["gui.learner"];
446
447 $this->ctrl->setCmd($cmd);
448 $this->ctrl->forwardCommand($gui);
449 }
450
451 protected function members()
452 {
453 $may_manage_members = $this->checkAccess("edit_members");
454 $this->ctrl->setCmdClass('ilLearningSequenceMembershipGUI');
455 if ($may_manage_members) {
456 $this->manage_members(self::CMD_MANAGE_MEMBERS);
457 } else {
458 $this->manage_members(self::CMD_MEMBERS_GALLERY);
459 }
460 }
461
462 protected function manage_members(string $cmd = self::CMD_MANAGE_MEMBERS)
463 {
464 $this->tabs->setTabActive(self::TAB_MEMBERS);
465
467 $this,
468 $this->getObject(),
469 $this->getTrackingObject(),
471 $this->lng,
472 $this->ctrl,
473 $this->access,
474 $this->rbac_review,
475 $this->settings,
476 $this->toolbar
477 );
478
479 $this->ctrl->setCmd($cmd);
480 $this->ctrl->forwardCommand($ms_gui);
481 }
482
483 protected function learningProgress(string $cmd = self::CMD_LP)
484 {
485 $this->tabs->setTabActive(self::TAB_LP);
486
487 $for_user = $this->user->getId();
488
489 if ($_GET['user_id']) {
490 $for_user = $_GET['user_id'];
491 }
492
493 $lp_gui = new ilLearningProgressGUI(
495 $this->getObject()->getRefId(),
496 $for_user
497 );
498
499 if ($cmd === self::CMD_LP) {
500 $cmd = '';
501 }
502
503 $this->ctrl->setCmd($cmd);
504 $this->ctrl->forwardCommand($lp_gui);
505 }
506
507 protected function export()
508 {
509 $this->tabs->setTabActive(self::TAB_EXPORT);
510 $gui = new ilExportGUI($this);
511 $gui->addFormat("xml");
512
513 $this->ctrl->forwardCommand($gui);
514 }
515
516 protected function initDidacticTemplate(ilPropertyFormGUI $form)
517 {
518 return $form;
519 }
520
521 protected function create()
522 {
523 parent::createObject();
524 }
525
526 protected function save()
527 {
528 parent::saveObject();
529 }
530
531 protected function afterSave(ilObject $new_object)
532 {
533 $participant = new ilLearningSequenceParticipants(
534 (int) $new_object->getId(),
535 $this->log,
536 $this->app_event_handler,
537 $this->settings
538 );
539
540 $participant->add($this->user->getId(), IL_LSO_ADMIN);
541 $participant->updateNotification($this->user->getId(), $this->settings->get('mail_lso_admin_notification', true));
542
543
544 $settings = new \ilContainerSortingSettings($new_object->getId());
545 $settings->setSortMode(\ilContainer::SORT_MANUAL);
546 $settings->setSortDirection(\ilContainer::SORT_DIRECTION_ASC);
549 $settings->save();
550
551 ilUtil::sendSuccess($this->lng->txt('object_added'), true);
552 $this->ctrl->setParameter($this, "ref_id", $new_object->getRefId());
554 $this->getReturnLocation(
555 "save",
556 $this->ctrl->getLinkTarget($this, self::CMD_SETTINGS, "", false, false)
557 )
558 );
559 }
560
561 public function unparticipate()
562 {
563 if ($this->checkAccess('unparticipate')) {
564 $usr_id = (int) $this->user->getId();
565 $this->getObject()->getLSRoles()->leave($usr_id);
566 $this->learnerView();
567 }
568 }
569
570 protected function removeMember(int $usr_id)
571 {
572 $this->ls_object->leave($usr_id);
573 }
574
575 public function getTabs()
576 {
577 if ($this->checkAccess("read")) {
578 $this->tabs->addTab(
579 self::TAB_CONTENT_MAIN,
580 $this->lng->txt(self::TAB_CONTENT_MAIN),
581 $this->ctrl->getLinkTarget($this, self::CMD_VIEW, "", false, false)
582 );
583 }
584
585 if ($this->checkAccess("read") || $this->checkAccess("visible")) {
586 $this->tabs->addTab(
587 self::TAB_INFO,
588 $this->lng->txt(self::TAB_INFO),
589 $this->getLinkTarget(self::CMD_INFO)
590 );
591 }
592
593 if ($this->checkAccess("write")) {
594 $this->tabs->addTab(
595 self::TAB_SETTINGS,
596 $this->lng->txt(self::TAB_SETTINGS),
597 $this->getLinkTarget(self::CMD_SETTINGS)
598 );
599 }
600
601 if ($this->checkAccess("read")) {
602 if ($this->checkAccess("manage_members")
603 || (
604 $this->getObject()->getLSSettings()->getMembersGallery()
605 &&
606 $this->getObject()->getLSRoles()->isMember((int) $this->user->getId())
607 )
608 ) {
609 $this->tabs->addTab(
610 self::TAB_MEMBERS,
611 $this->lng->txt(self::TAB_MEMBERS),
612 $this->ctrl->getLinkTarget($this, self::CMD_MEMBERS, "", false, false)
613 );
614 }
615 }
616
618 $this->tabs->addTab(
619 self::TAB_LP,
620 $this->lng->txt(self::TAB_LP),
621 $this->getLinkTarget(self::CMD_LP)
622 );
623 }
624
625 if ($this->checkAccess("write")) {
626 $this->tabs->addTab(
627 self::TAB_EXPORT,
628 $this->lng->txt(self::TAB_EXPORT),
629 $this->ctrl->getLinkTargetByClass("ilexportgui", "")
630 );
631 }
632
633 if ($this->checkAccess("edit_permission")) {
634 $this->tabs->addTab(
635 self::TAB_PERMISSIONS,
636 $this->lng->txt(self::TAB_PERMISSIONS),
637 $this->getLinkTarget(self::CMD_PERMISSIONS)
638 );
639 }
640 }
641
642 public function renderObject()
643 {
644 // disables this method in ilContainerGUI
645 }
646
647 protected function addSubTabsForContent()
648 {
649 $this->tabs->addSubTab(
650 self::TAB_VIEW_CONTENT,
651 $this->lng->txt(self::TAB_VIEW_CONTENT),
652 $this->getLinkTarget(self::CMD_LEARNER_VIEW)
653 );
654
655 if ($this->checkAccess("write")) {
656 $this->tabs->addSubTab(
657 self::TAB_MANAGE,
658 $this->lng->txt(self::TAB_MANAGE),
659 $this->getLinkTarget(self::CMD_CONTENT)
660 );
661 }
662 }
663
664 protected function checkAccess($which) : bool
665 {
666 return $this->access->checkAccess($which, "", $this->ref_id);
667 }
668
669 protected function checkLPAccess()
670 {
671 $ref_id = $this->getObject()->getRefId();
672 $is_participant = ilLearningSequenceParticipants::_isParticipant($ref_id, $this->user->getId());
673
674 $lp_access = ilLearningProgressAccess::checkAccess($ref_id, $is_participant);
675 $may_edit_lp_settings = $this->checkAccess('edit_learning_progress');
676
677 return ($lp_access || $may_edit_lp_settings);
678 }
679
680 protected function getLinkTarget(string $cmd) : string
681 {
682 $class = $this->getClassForTabs($cmd);
683 $class_path = [
684 strtolower('ilObjLearningSequenceGUI'),
685 $class
686 ];
687 return $this->ctrl->getLinkTargetByClass($class_path, $cmd);
688 }
689
690 protected function getClassForTabs(string $cmd) : string
691 {
692 switch ($cmd) {
694 return 'ilObjLearningSequenceContentGUI';
696 return 'ilObjLearningSequenceLearnerGUI';
698 return 'ilObjLearningSequenceSettingsGUI';
699 case self::CMD_INFO:
700 return 'ilInfoScreenGUI';
702 return 'ilPermissionGUI';
703 case self::CMD_LP:
704 return 'ilLearningProgressGUI';
705 }
706
707 throw new InvalidArgumentException('cannot resolve class for command: ' . $cmd);
708 }
709
710 public function createMailSignature()
711 {
712 $link = chr(13) . chr(10) . chr(13) . chr(10);
713 $link .= $this->lng->txt('lso_mail_permanent_link');
714 $link .= chr(13) . chr(10) . chr(13) . chr(10);
715 $link .= ilLink::_getLink($this->object->getRefId());
716
717 return rawurlencode(base64_encode($link));
718 }
719
720 public function getObject()
721 {
722 if ($this->object === null) {
723 $this->object = ilObjLearningSequence::getInstanceByRefId($this->ref_id);
724 }
725
726 return $this->object;
727 }
728
730 {
731 return new ilObjUserTracking();
732 }
733
737 public function getLocalRoles() : array
738 {
739 $local_roles = $this->object->getLocalLearningSequenceRoles(false);
740 $lso_member = $this->object->getDefaultMemberRole();
741 $lso_roles = array();
742
743 if (in_array($lso_member, $local_roles)) {
744 $lso_roles[$lso_member] = ilObjRole::_getTranslation(array_search($lso_member, $local_roles));
745 unset($local_roles[$lso_roles[$lso_member]]);
746 }
747
748 foreach ($local_roles as $title => $role_id) {
749 $lso_roles[$role_id] = ilObjRole::_getTranslation($title);
750 }
751
752 return $lso_roles;
753 }
754
758 protected function getAdditionalWhitelistTypes() : array
759 {
760 $types = array_filter(
761 array_keys($this->obj_definition->getSubObjects('lso', false)),
762 function ($type) {
763 return $type !== 'rolf';
764 }
765 );
766
767 return $types;
768 }
769
770 public function addCustomData($a_data)
771 {
772 $res_data = array();
773 foreach ($a_data as $usr_id => $user_data) {
774 $res_data[$usr_id] = $user_data;
775 $udf_data = new ilUserDefinedData($usr_id);
776
777 foreach ($udf_data->getAll() as $field => $value) {
778 list($f, $field_id) = explode('_', $field);
779 $res_data[$usr_id]['udf_' . $field_id] = (string) $value;
780 }
781 }
782
783 return $res_data;
784 }
785}
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
Base class for ILIAS Exception handling.
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.
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.
help()
Definition: help.php:2
removeFromDeskObject()
Remove from desktop @access public.
addToDeskObject()
Add desktop item @access public.
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
$type
$DIC
Definition: xapitoken.php:46