ILIAS  release_7 Revision v7.30-3-g800a261c036
class.ilObjBookingPoolGUI.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2010 ILIAS open source, Extended GPL, see docs/LICENSE */
3
17{
21 protected $tabs;
22
26 protected $nav_history;
27
31 protected $help;
32
36 protected $user_id_to_book; // user who is getting the reservation
37
41 protected $user_id_assigner; // user who performs the reservation.(self/another)
42
46 protected $service;
47
51 protected $seed;
52
56 protected $sseed;
57
66 public function __construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output = true)
67 {
68 global $DIC;
69
70 $this->tpl = $DIC["tpl"];
71 $this->tabs = $DIC->tabs();
72 $this->nav_history = $DIC["ilNavigationHistory"];
73 $this->ctrl = $DIC->ctrl();
74 $this->lng = $DIC->language();
75 $this->type = "book";
76 parent::__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output);
77 $this->lng->loadLanguageModule("book");
78
79 // not on creation
80 if (is_object($this->object)) {
81 $this->help = new ilBookingHelpAdapter($this->object, $DIC["ilHelp"]);
82 $DIC["ilHelp"]->setScreenIdComponent("book");
83 }
84
85 $this->user_profile_id = (int) $_GET["user_id"];
86 $this->book_obj_id = (int) $_REQUEST['object_id'];
87 $this->seed = ilUtil::stripSlashes($_GET['seed']);
88 $this->sseed = ilUtil::stripSlashes($_GET['sseed']);
89 $this->reservation_id = ilUtil::stripSlashes($_GET["reservation_id"]);
90 $this->profile_user_id = (int) $_GET['user_id'];
91
92 $this->service = $DIC->bookingManager()->internal();
93
94 $this->user_id_assigner = $this->user->getId();
95 if ($_GET['bkusr']) {
96 $this->user_id_to_book = (int) $_GET['bkusr'];
97 } else {
98 $this->user_id_to_book = $this->user_id_assigner; // by default user books his own booking objects.
99 }
100
101 if ((int) $_REQUEST['object_id'] > 0 && ilBookingObject::lookupPoolId((int) $_REQUEST['object_id']) != $this->object->getId()) {
102 throw new ilException("Booking Object ID does not match Booking Pool.");
103 }
104 }
105
111 public function executeCommand()
112 {
114 $ilTabs = $this->tabs;
115 $ilNavigationHistory = $this->nav_history;
117
118 $next_class = $this->ctrl->getNextClass($this);
119 $cmd = $this->ctrl->getCmd();
120
121 if (!$next_class && $cmd == 'render') {
122 if ($ilUser->getId() != ANONYMOUS_USER_ID) {
123 if ($this->object->getScheduleType() == ilObjBookingPool::TYPE_NO_SCHEDULE_PREFERENCES &&
124 !$this->checkPermissionBool('write')) {
125 $this->ctrl->setCmdClass('ilBookingPreferencesGUI');
126 } else {
127 $this->ctrl->setCmdClass('ilBookingObjectGUI');
128 }
129 $next_class = $this->ctrl->getNextClass($this);
130 } else {
131 $this->ctrl->redirect($this, "infoscreen");
132 }
133 }
134
135 /* if(substr($cmd, 0, 4) == 'book')
136 {
137 $next_class = '';
138 }*/
139
140 $ilNavigationHistory->addItem(
141 $this->ref_id,
142 "./goto.php?target=book_" . $this->ref_id,
143 "book"
144 );
145
146 $this->prepareOutput();
147
148 switch ($next_class) {
149 case 'ilpermissiongui':
150 $this->checkPermission('edit_permission');
151 $this->tabs_gui->setTabActive('perm_settings');
152 $perm_gui = new ilPermissionGUI($this);
153 $this->ctrl->forwardCommand($perm_gui);
154 break;
155
156 case 'ilbookingobjectgui':
157 if (!$this->checkPermissionBool('read') && $this->checkPermissionBool('visible')) {
158 $this->ctrl->redirect($this, "infoScreen");
159 }
160 $this->checkPermission('read');
161 $this->tabs_gui->setTabActive('render');
162 $object_gui = new ilBookingObjectGUI(
163 $this,
164 $this->seed,
165 $this->sseed,
166 $this->help
167 );
168 $this->ctrl->forwardCommand($object_gui);
169 break;
170
171 case 'ilbookingschedulegui':
172 $this->checkPermission('write');
173 $this->tabs_gui->setTabActive('schedules');
174 $schedule_gui = new ilBookingScheduleGUI($this);
175 $this->ctrl->forwardCommand($schedule_gui);
176 break;
177
178 case 'ilpublicuserprofilegui':
179 $this->checkPermission('read');
180 $ilTabs->clearTargets();
181 $profile = new ilPublicUserProfileGUI($this->user_profile_id);
182 $profile->setBackUrl($this->ctrl->getLinkTargetByClass("ilbookingreservationsgui", ''));
183 $ret = $this->ctrl->forwardCommand($profile);
184 $tpl->setContent($ret);
185 break;
186
187 case 'ilinfoscreengui':
188 $this->checkPermission('visible');
189 $this->infoScreen();
190 break;
191
192 case "ilcommonactiondispatchergui":
193 $this->checkPermission('read');
195 $this->ctrl->forwardCommand($gui);
196 break;
197
198 case "ilobjectcopygui":
199 $this->checkPermission('copy');
200 $cp = new ilObjectCopyGUI($this);
201 $cp->setType("book");
202 $this->ctrl->forwardCommand($cp);
203 break;
204
205 case 'ilobjectmetadatagui':
206 $this->checkPermission('write');
207 $this->tabs_gui->setTabActive('meta_data');
208 $md_gui = new ilObjectMetaDataGUI($this->object, 'bobj');
209 $this->ctrl->forwardCommand($md_gui);
210 break;
211
212 case 'ilbookingparticipantgui':
213 $this->checkPermission('write');
214 $this->tabs_gui->setTabActive('participants');
215 $object_gui = new ilBookingParticipantGUI($this);
216 $this->ctrl->forwardCommand($object_gui);
217 break;
218
219
220 case "ilbookingreservationsgui":
221 $this->tabs_gui->setTabActive('log');
222 $res_gui = new ilBookingReservationsGUI($this->object, $this->help);
223 $this->ctrl->forwardCommand($res_gui);
224 break;
225
226 case 'ilbookingpreferencesgui':
227 $this->tabs_gui->setTabActive('preferences');
228 $gui = $this->service->ui()->getPreferencesGUI($this->object);
229 $this->ctrl->forwardCommand($gui);
230 break;
231
232
233 default:
234 if (!in_array($cmd, ["create", "save", "infoScreen"])) {
235 $this->checkPermission('read');
236 }
237 $cmd = $this->ctrl->getCmd();
238 $cmd .= 'Object';
239 $this->$cmd();
240 break;
241 }
242
243 $this->addHeaderAction();
244 return true;
245 }
246
247 protected function initCreationForms($a_new_type)
248 {
249 $forms = parent::initCreationForms($a_new_type);
250 unset($forms[self::CFORM_IMPORT]);
251
252 return $forms;
253 }
254
255 protected function afterSave(ilObject $a_new_object)
256 {
257 $a_new_object->setOffline(true);
258 $a_new_object->update();
259
260 // always send a message
261 ilUtil::sendSuccess($this->lng->txt("book_pool_added"), true);
262 $this->ctrl->setParameter($this, "ref_id", $a_new_object->getRefId());
263 $this->ctrl->redirect($this, "edit");
264 }
265
266 public function editObject()
267 {
268 $this->showNoScheduleMessage();
269 return parent::editObject();
270 }
271
278 public function showNoScheduleMessage()
279 {
280 // if we have no schedules yet - show info
281 if ($this->object->getScheduleType() == ilObjBookingPool::TYPE_FIX_SCHEDULE &&
282 !sizeof(ilBookingSchedule::getList($this->object->getId()))) {
283 ilUtil::sendInfo($this->lng->txt("book_schedule_warning_edit"));
284 }
285 }
286
287
288 protected function initEditCustomForm(ilPropertyFormGUI $a_form)
289 {
290 $obj_service = $this->getObjectService();
291
292 $online = new ilCheckboxInputGUI($this->lng->txt("online"), "online");
293 $a_form->addItem($online);
294
295 $type = new ilRadioGroupInputGUI($this->lng->txt("book_schedule_type"), "stype");
296 $type->setRequired(true);
297 $a_form->addItem($type);
298
299 // #14478
300 if (sizeof(ilBookingObject::getList($this->object->getId()))) {
301 $type->setDisabled(true);
302 }
303
304 $fixed = new ilRadioOption($this->lng->txt("book_schedule_type_fixed"), ilObjBookingPool::TYPE_FIX_SCHEDULE);
305 $fixed->setInfo($this->lng->txt("book_schedule_type_fixed_info"));
306 $type->addOption($fixed);
307
308 #23637
309 //period
310 $period = new ilNumberInputGUI($this->lng->txt("book_reservation_filter_period"), "period");
311 $period->setInfo($this->lng->txt("book_reservation_filter_period_info"));
312 $period->setSuffix($this->lng->txt("days"));
313 $period->setSize(3);
314 $period->setMinValue(0);
315 $fixed->addSubItem($period);
316
317 // reminder
318 $rmd = new ilCheckboxInputGUI($this->lng->txt("book_reminder_setting"), "rmd");
319 $rmd->setChecked($this->object->getReminderStatus());
320 if (!ilCronManager::isJobActive('book_notification')) {
321 $rmd->setInfo($this->lng->txt("book_notification_cron_not_active"));
322 }
323 $fixed->addSubItem($rmd);
324
325 $rmd_day = new ilNumberInputGUI($this->lng->txt("book_reminder_day"), "rmd_day");
326 $rmd_day->setRequired(true);
327 $rmd_day->setInfo($this->lng->txt("book_reminder_day_info"));
328 $rmd_day->setSize(3);
329 $rmd_day->setSuffix($this->lng->txt("book_reminder_days"));
330 $rmd_day->setValue(max($this->object->getReminderDay(), 1));
331 $rmd_day->setMinValue(1);
332 $rmd->addSubItem($rmd_day);
333
334 // no schedule, direct booking
335 $none = new ilRadioOption($this->lng->txt("book_schedule_type_none_direct"), ilObjBookingPool::TYPE_NO_SCHEDULE);
336 $none->setInfo($this->lng->txt("book_schedule_type_none_direct_info"));
337 $type->addOption($none);
338
339 $limit = new ilNumberInputGUI($this->lng->txt("book_overall_limit"), "limit");
340 $limit->setSize(4);
341 $limit->setMinValue(1);
342 $limit->setInfo($this->lng->txt("book_overall_limit_info"));
343 $none->addSubItem($limit);
344
345 // no schedule, using preferences
346 $pref = new ilRadioOption($this->lng->txt("book_schedule_type_none_preference"), ilObjBookingPool::TYPE_NO_SCHEDULE_PREFERENCES);
347 $pref->setInfo($this->lng->txt("book_schedule_type_none_preference_info"));
348 $type->addOption($pref);
349
350 // number of preferences
351 $pref_nr = new ilNumberInputGUI($this->lng->txt("book_nr_of_preferences"), "preference_nr");
352 $pref_nr->setSize(4);
353 $pref_nr->setMinValue(1);
354 $pref_nr->setInfo($this->lng->txt("book_nr_of_preferences_info"));
355 $pref_nr->setRequired(true);
356 $pref->addSubItem($pref_nr);
357
358 // preference deadline
359 $pref_deadline = new ilDateTimeInputGUI($this->lng->txt("book_pref_deadline"), "pref_deadline");
360 $pref_deadline->setShowTime(true);
361 $pref_deadline->setRequired(true);
362 $pref->addSubItem($pref_deadline);
363
364 $public = new ilCheckboxInputGUI($this->lng->txt("book_public_log"), "public");
365 $public->setInfo($this->lng->txt("book_public_log_info"));
366 $a_form->addItem($public);
367
368 // presentation
369 $pres = new ilFormSectionHeaderGUI();
370 $pres->setTitle($this->lng->txt('obj_presentation'));
371 $a_form->addItem($pres);
372
373 // tile image
374 $obj_service->commonSettings()->legacyForm($a_form, $this->object)->addTileImage();
375
376 // additional features
377 $feat = new ilFormSectionHeaderGUI();
378 $feat->setTitle($this->lng->txt('obj_features'));
379 $a_form->addItem($feat);
380 }
381
382 protected function getEditFormCustomValues(array &$a_values)
383 {
384 $a_values["online"] = !$this->object->isOffline();
385 $a_values["public"] = $this->object->hasPublicLog();
386 $a_values["stype"] = $this->object->getScheduleType();
387 $a_values["limit"] = $this->object->getOverallLimit();
388 $a_values["period"] = $this->object->getReservationFilterPeriod();
389 $a_values["rmd"] = $this->object->getReminderStatus();
390 $a_values["rmd_day"] = $this->object->getReminderDay();
391 $a_values["preference_nr"] = $this->object->getPreferenceNumber();
392 if ($this->object->getPreferenceDeadline() > 0) {
393 $a_values["pref_deadline"] = new ilDateTime($this->object->getPreferenceDeadline(), IL_CAL_UNIX);
394 }
395 }
396
397 protected function updateCustom(ilPropertyFormGUI $a_form)
398 {
399 $obj_service = $this->getObjectService();
400
401 $pref_deadline = $a_form->getItemByPostVar("pref_deadline")->getDate();
402 $pref_deadline = $pref_deadline
403 ? $pref_deadline->get(IL_CAL_UNIX)
404 : 0;
405
406 $this->object->setOffline(!$a_form->getInput('online'));
407 $this->object->setReminderStatus($a_form->getInput('rmd'));
408 $this->object->setReminderDay($a_form->getInput('rmd_day'));
409 $this->object->setPublicLog($a_form->getInput('public'));
410 $this->object->setScheduleType($a_form->getInput('stype'));
411 $this->object->setOverallLimit($a_form->getInput('limit') ? $a_form->getInput('limit') : null);
412 $this->object->setReservationFilterPeriod(strlen($a_form->getInput('period')) ? (int) $a_form->getInput('period') : null);
413 $this->object->setPreferenceDeadline($pref_deadline);
414 $this->object->setPreferenceNumber($a_form->getInput('preference_nr'));
415
416 // tile image
417 $obj_service->commonSettings()->legacyForm($a_form, $this->object)->saveTileImage();
418
420 $this->object->getId(),
421 $a_form,
423 );
424 }
425
427 {
429 $this->object->getId(),
430 $a_form,
432 );
433 }
434
438 public function setTabs()
439 {
441
443 $pool = $this->object;
444
445 if (in_array($this->ctrl->getCmd(), array("create", "save")) && !$this->ctrl->getNextClass()) {
446 return;
447 }
448
449 if ($this->checkPermissionBool('read')) {
450 if ($ilUser->getId() != ANONYMOUS_USER_ID) {
451 if ($pool->getScheduleType() == ilObjBookingPool::TYPE_NO_SCHEDULE_PREFERENCES) {
452 $this->tabs_gui->addTab(
453 "preferences",
454 $this->lng->txt("book_pref_overview"),
455 $this->ctrl->getLinkTargetByClass("ilbookingpreferencesgui", "")
456 );
457 }
458
459 if ($pool->getScheduleType() != ilObjBookingPool::TYPE_NO_SCHEDULE_PREFERENCES ||
460 $this->checkPermissionBool('write')) {
461 $this->tabs_gui->addTab(
462 "render",
463 $this->lng->txt("book_booking_types"),
464 $this->ctrl->getLinkTarget($this, "render")
465 );
466 }
467 }
468
469 $this->tabs_gui->addTab(
470 "info",
471 $this->lng->txt("info_short"),
472 $this->ctrl->getLinkTarget($this, "infoscreen")
473 );
474
475 if ($ilUser->getId() != ANONYMOUS_USER_ID || $this->object->hasPublicLog()) {
476 $this->tabs_gui->addTab(
477 "log",
478 $this->lng->txt("book_log"),
479 $this->ctrl->getLinkTargetByClass("ilbookingreservationsgui", "")
480 );
481 }
482 }
483
484 if ($this->checkPermissionBool('write')) {
485 if ($this->object->getScheduleType() == ilObjBookingPool::TYPE_FIX_SCHEDULE) {
486 $this->tabs_gui->addTab(
487 "schedules",
488 $this->lng->txt("book_schedules"),
489 $this->ctrl->getLinkTargetByClass("ilbookingschedulegui", "render")
490 );
491 }
492
493 $this->tabs_gui->addTab(
494 "settings",
495 $this->lng->txt("settings"),
496 $this->ctrl->getLinkTarget($this, "edit")
497 );
498
499 // meta data
500 $mdgui = new ilObjectMetaDataGUI($this->object, "bobj");
501 $mdtab = $mdgui->getTab();
502 if ($mdtab) {
503 $this->tabs_gui->addTarget(
504 "meta_data",
505 $mdtab,
506 "",
507 "ilobjectmetadatagui"
508 );
509 }
510 }
511
512 if ($this->checkPermissionBool('write')) {
513 $this->tabs_gui->addTab(
514 "participants",
515 $this->lng->txt("participants"),
516 $this->ctrl->getLinkTargetByClass("ilbookingparticipantgui", "render")
517 );
518 }
519
520 if ($this->checkPermissionBool('edit_permission')) {
521 $this->tabs_gui->addTab(
522 "perm_settings",
523 $this->lng->txt("perm_settings"),
524 $this->ctrl->getLinkTargetByClass("ilpermissiongui", "perm")
525 );
526 }
527 }
528
529 protected function setHelpId($a_id)
530 {
531 $this->help->setHelpId($a_id);
532
533 $ilHelp = $this->help;
534
535 switch ($this->object->getScheduleType()) {
536 case ilObjBookingPool::TYPE_FIX_SCHEDULE: $object_subtype = "-schedule"; break;
537 case ilObjBookingPool::TYPE_NO_SCHEDULE: $object_subtype = "-noschedule"; break;
538 case ilObjBookingPool::TYPE_NO_SCHEDULE_PREFERENCES: $object_subtype = "-noschedulepref"; break;
539 }
540
541 $ilHelp->setScreenIdComponent('book');
542 $ilHelp->setScreenId('object' . $object_subtype);
543 $ilHelp->setSubScreenId($a_id);
544 }
545
546 public static function _goto($a_target)
547 {
548 global $DIC;
549
550 $ilAccess = $DIC->access();
551 $lng = $DIC->language();
552
553 if ($ilAccess->checkAccess("read", "", $a_target)) {
554 ilObjectGUI::_gotoRepositoryNode($a_target, "render");
555 } elseif ($ilAccess->checkAccess("visible", "", $a_target)) {
556 ilObjectGUI::_gotoRepositoryNode($a_target, "infoScreen");
557 } elseif ($ilAccess->checkAccess("read", "", ROOT_FOLDER_ID)) {
558 ilUtil::sendFailure(sprintf(
559 $lng->txt("msg_no_perm_read_item"),
561 ), true);
563 }
564 }
565
571 public function infoScreenObject()
572 {
573 $this->ctrl->setCmd("showSummary");
574 $this->ctrl->setCmdClass("ilinfoscreengui");
575 $this->infoScreen();
576 }
577
578 public function infoScreen()
579 {
580 $ilCtrl = $this->ctrl;
581
582 $this->tabs_gui->setTabActive('info');
583
584 $this->checkPermission("visible");
585
586 $info = new ilInfoScreenGUI($this);
587
588 $info->enablePrivateNotes();
589
590 if ($this->checkPermissionBool("read")) {
591 $info->enableNews();
592 }
593
594 // no news editing for files, just notifications
595 $info->enableNewsEditing(false);
596 if ($this->checkPermissionBool("write")) {
597 $news_set = new ilSetting("news");
598 $enable_internal_rss = $news_set->get("enable_rss_for_internal");
599
600 if ($enable_internal_rss) {
601 $info->setBlockProperty("news", "settings", true);
602 $info->setBlockProperty("news", "public_notifications_option", true);
603 }
604 }
605
606 // forward the command
607 if ($ilCtrl->getNextClass() == "ilinfoscreengui") {
608 $ilCtrl->forwardCommand($info);
609 } else {
610 return $ilCtrl->getHTML($info);
611 }
612 }
613
614
615 public function showProfileObject()
616 {
618 $ilCtrl = $this->ctrl;
619
620 $this->tabs_gui->clearTargets();
621
622 $user_id = $this->profile_user_id;
623
624 $profile = new ilPublicUserProfileGUI($user_id);
625 $profile->setBackUrl($this->ctrl->getLinkTarget($this, 'log'));
626 $tpl->setContent($ilCtrl->getHTML($profile));
627 }
628
629 public function addLocatorItems()
630 {
631 $ilLocator = $this->locator;
632
633 if (is_object($this->object)) {
634 $ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this, "render"), "", $this->object->getRefId());
635 }
636 }
637
641 protected function initHeaderAction($a_sub_type = null, $a_sub_id = null)
642 {
647
648 $lng->loadLanguageModule("noti");
649
650 $lg = parent::initHeaderAction($a_sub_type, $a_sub_id);
651
652 if ($lg && $access->checkAccess("read", "", $this->ref_id)) {
653 // notification
654 if ($this->object->getScheduleType() === ilObjBookingPool::TYPE_FIX_SCHEDULE &&
655 $this->object->getReminderStatus()) {
656 if (!ilNotification::hasNotification(ilNotification::TYPE_BOOK, $user->getId(), $this->object->getId())) {
657 $lg->addHeaderIcon(
658 "not_icon",
659 ilUtil::getImagePath("notification_off.svg"),
660 $lng->txt("noti_notification_deactivated")
661 );
662
663 $ctrl->setParameter($this, "ntf", 1);
664 $caption = "noti_activate_notification";
665 } else {
666 $lg->addHeaderIcon(
667 "not_icon",
668 ilUtil::getImagePath("notification_on.svg"),
669 $lng->txt("noti_notification_activated")
670 );
671
672 $ctrl->setParameter($this, "ntf", 0);
673 $caption = "noti_deactivate_notification";
674 }
675
676 $lg->addCustomCommand(
677 $ctrl->getLinkTarget($this, "saveNotification"),
678 $caption
679 );
680
681 $ctrl->setParameter($this, "ntf", "");
682 }
683 }
684
685 return $lg;
686 }
687
691 public function saveNotificationObject()
692 {
695
696
697 switch ($_GET["ntf"]) {
698 case 0:
699 ilNotification::setNotification(ilNotification::TYPE_BOOK, $user->getId(), $this->object->getId(), false);
700 break;
701
702 case 1:
703 ilNotification::setNotification(ilNotification::TYPE_BOOK, $user->getId(), $this->object->getId(), true);
704 break;
705 }
706 $ctrl->redirect($this, "render");
707 }
708}
user()
Definition: user.php:4
$_GET["client_id"]
An exception for terminatinating execution or to throw for unit testing.
const IL_CAL_UNIX
Help adapter for booking manager.
Class ilBookingObjectGUI.
static lookupPoolId($object_id)
Lookup pool id.
static getList($a_pool_id, $a_title=null)
Get list of booking objects for given type.
Class ilBookingParticipantGUI.
Class ilBookingScheduleGUI.
static getList($a_pool_id)
Get list of booking objects for given pool.
This class represents a checkbox property in a property form.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
static isJobActive($a_job_id)
Check if given job is currently active.
This class represents a date/time property in a property form.
@classDescription Date and time handling
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This class represents a section header in a property form.
Class ilInfoScreenGUI.
static setNotification($type, $user_id, $id, $status=true)
Set notification status for object and user.
static hasNotification($type, $user_id, $id)
Check notification status for object and user.
This class represents a number property in a property form.
Class ilObjBookingPoolGUI.
addExternalEditFormCustom(ilPropertyFormGUI $a_form)
__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
ilObjBookingPoolGUI constructor.
afterSave(ilObject $a_new_object)
Post (successful) object creation hook.
saveNotificationObject()
Save notification.
getEditFormCustomValues(array &$a_values)
Add values to custom edit fields.
initHeaderAction($a_sub_type=null, $a_sub_id=null)
Add header action menu.ilObjectListGUI
initCreationForms($a_new_type)
Init creation froms.
initEditCustomForm(ilPropertyFormGUI $a_form)
Add custom fields to update form.
infoScreenObject()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually,...
updateCustom(ilPropertyFormGUI $a_form)
Insert custom update form values into object.
addLocatorItems()
should be overwritten to add object specific items (repository items are preloaded)
showNoScheduleMessage()
Show no schedule message.
GUI class for the workflow of copying objects.
Class ilObjectGUI Basic methods of all Output classes.
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
prepareOutput($a_show_subobjects=true)
prepare output
static _gotoRepositoryNode($a_ref_id, $a_cmd="frameset")
Goto repository root.
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
addHeaderAction()
Add header action menu.
setTabs()
set admin tabs @access public
getObjectService()
Get object service.
Class ilObjectMetaDataGUI.
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)
update()
update object in db
static _lookupTitle($a_id)
lookup object title
getRefId()
get reference id @access public
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
This class represents a property form user interface.
addItem($a_item)
Add Item (Property, SectionHeader).
getInput($a_post_var, $ensureValidation=true)
Returns the value of a HTTP-POST variable, identified by the passed id.
getItemByPostVar($a_post_var)
Get Item by POST variable.
GUI class for public user profile presentation.
This class represents a property in a property form.
This class represents an option in a radio group.
ILIAS Setting Class.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
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.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
const ANONYMOUS_USER_ID
Definition: constants.php:25
const ROOT_FOLDER_ID
Definition: constants.php:30
global $DIC
Definition: goto.php:24
help()
Definition: help.php:2
$ilUser
Definition: imgupload.php:18
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
$ret
Definition: parser.php:6
$type