ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilObjExerciseGUI.php
Go to the documentation of this file.
1<?php
2
3/* Copyright (c) 1998-2010 ILIAS open source, Extended GPL, see docs/LICENSE */
4
5require_once "./Services/Object/classes/class.ilObjectGUI.php";
6
24{
29 function ilObjExerciseGUI($a_data,$a_id,$a_call_by_reference,$a_prepare_output = true)
30 {
31 global $lng;
32
33 $this->type = "exc";
34 $this->ilObjectGUI($a_data,$a_id,$a_call_by_reference,false);
35
36 $lng->loadLanguageModule("exercise");
37 $lng->loadLanguageModule("exc");
38 $this->ctrl->saveParameter($this, "ass_id");
39
40 if ($_REQUEST["ass_id"] > 0)
41 {
42 include_once("./Modules/Exercise/classes/class.ilExAssignment.php");
43 $this->ass = new ilExAssignment((int) $_REQUEST["ass_id"]);
44 }
45 }
46
47 function executeCommand()
48 {
49 global $ilUser,$ilCtrl, $ilTabs, $lng;
50
51 $next_class = $this->ctrl->getNextClass($this);
52 $cmd = $this->ctrl->getCmd();
53 $this->prepareOutput();
54
55//echo "-".$next_class."-".$cmd."-"; exit;
56 switch($next_class)
57 {
58 case "ilinfoscreengui":
59 $ilTabs->activateTab("info");
60 $this->infoScreen(); // forwards command
61 break;
62
63 case 'ilpermissiongui':
64 $ilTabs->activateTab("permissions");
65 include_once("Services/AccessControl/classes/class.ilPermissionGUI.php");
66 $perm_gui =& new ilPermissionGUI($this);
67 $ret =& $this->ctrl->forwardCommand($perm_gui);
68 break;
69
70 case "illearningprogressgui":
71 $ilTabs->activateTab("learning_progress");
72 include_once './Services/Tracking/classes/class.ilLearningProgressGUI.php';
73
75 $this->object->getRefId(),
76 $_GET['user_id'] ? $_GET['user_id'] : $ilUser->getId());
77 $this->ctrl->forwardCommand($new_gui);
78 $this->tabs_gui->setTabActive('learning_progress');
79 break;
80
81 case 'ilobjectcopygui':
82 $ilCtrl->saveParameter($this, 'new_type');
83 $ilCtrl->setReturnByClass(get_class($this),'create');
84
85 include_once './Services/Object/classes/class.ilObjectCopyGUI.php';
86 $cp = new ilObjectCopyGUI($this);
87 $cp->setType('exc');
88 $this->ctrl->forwardCommand($cp);
89 break;
90
91 case "ilexportgui":
92 $ilTabs->activateTab("export");
93 include_once("./Services/Export/classes/class.ilExportGUI.php");
94 $exp_gui = new ilExportGUI($this);
95 $exp_gui->addFormat("xml");
96 $ret = $this->ctrl->forwardCommand($exp_gui);
97// $this->tpl->show();
98 break;
99
100 case 'ilshoppurchasegui':
101 include_once './Services/Payment/classes/class.ilShopPurchaseGUI.php';
102 $sp = new ilShopPurchaseGUI($_GET['ref_id']);
103
104 $this->ctrl->forwardCommand($sp);
105 break;
106
107 case "ilcommonactiondispatchergui":
108 include_once("Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
110 $this->ctrl->forwardCommand($gui);
111 break;
112
113 case "ilcertificategui":
114 $this->setSettingsSubTabs();
115 $this->tabs_gui->activateTab("settings");
116 $this->tabs_gui->activateSubTab("certificate");
117 include_once "./Services/Certificate/classes/class.ilCertificateGUI.php";
118 include_once "./Modules/Exercise/classes/class.ilExerciseCertificateAdapter.php";
119 $output_gui = new ilCertificateGUI(new ilExerciseCertificateAdapter($this->object));
120 $this->ctrl->forwardCommand($output_gui);
121 break;
122
123 case "ilexassignmenteditorgui":
124 $this->checkPermission("write");
125 $ilTabs->activateTab("content");
126 $this->addContentSubTabs("list_assignments");
127 include_once("./Modules/Exercise/classes/class.ilExAssignmentEditorGUI.php");
128 $ass_gui = new ilExAssignmentEditorGUI($this->object->getId(), $this->object->isCompletionBySubmissionEnabled(), $this->ass);
129 $this->ctrl->forwardCommand($ass_gui);
130 break;
131
132 case "ilexsubmissiongui":
133 $this->checkPermission("read");
134 $ilTabs->activateTab("content");
135 $this->addContentSubTabs("content");
136 $this->ctrl->setReturn($this, "showOverview");
137 include_once("./Modules/Exercise/classes/class.ilExSubmissionGUI.php");
138 $sub_gui = new ilExSubmissionGUI($this->object, $this->ass, (int)$_REQUEST["member_id"]);
139 $this->ctrl->forwardCommand($sub_gui);
140 break;
141
142 case "ilexercisemanagementgui":
143 $this->checkPermission("write");
144 $ilTabs->activateTab("grades");
145 include_once("./Modules/Exercise/classes/class.ilExerciseManagementGUI.php");
146 $mgmt_gui = new ilExerciseManagementGUI($this->object, $this->ass);
147 $this->ctrl->forwardCommand($mgmt_gui);
148 break;
149
150 case "ilexccriteriacataloguegui":
151 $this->checkPermission("write");
152 $ilTabs->activateTab("settings");
153 $this->setSettingsSubTabs();
154 $ilTabs->activateSubTab("crit");
155 include_once("./Modules/Exercise/classes/class.ilExcCriteriaCatalogueGUI.php");
156 $crit_gui = new ilExcCriteriaCatalogueGUI($this->object);
157 $this->ctrl->forwardCommand($crit_gui);
158 break;
159
160 default:
161 if(!$cmd)
162 {
163 $cmd = "infoScreen";
164 }
165
166 $cmd .= "Object";
167
168 $this->$cmd();
169
170 break;
171 }
172
173 $this->addHeaderAction();
174
175 return true;
176 }
177
178 function viewObject()
179 {
180 $this->infoScreenObject();
181 }
182
183 protected function afterSave(ilObject $a_new_object)
184 {
185 global $ilCtrl;
186
187 $a_new_object->saveData();
188
189 ilUtil::sendSuccess($this->lng->txt("exc_added"), true);
190
191 $ilCtrl->setParameterByClass("ilExAssignmentEditorGUI", "ref_id", $a_new_object->getRefId());
192 $ilCtrl->redirectByClass("ilExAssignmentEditorGUI", "addAssignment");
193 }
194
195 protected function listAssignmentsObject()
196 {
197 global $ilCtrl;
198
199 $this->checkPermissionBool("write");
200
201 // #16587
202 $ilCtrl->redirectByClass("ilExAssignmentEditorGUI", "listAssignments");
203 }
204
208 protected function initEditCustomForm(ilPropertyFormGUI $a_form)
209 {
210 $a_form->setTitle($this->lng->txt("exc_edit_exercise"));
211
213 $section->setTitle($this->lng->txt('exc_passing_exc'));
214 $a_form->addItem($section);
215
216 // pass mode
217 $radg = new ilRadioGroupInputGUI($this->lng->txt("exc_pass_mode"), "pass_mode");
218
219 $op1 = new ilRadioOption($this->lng->txt("exc_pass_all"), "all",
220 $this->lng->txt("exc_pass_all_info"));
221 $radg->addOption($op1);
222 $op2 = new ilRadioOption($this->lng->txt("exc_pass_minimum_nr"), "nr",
223 $this->lng->txt("exc_pass_minimum_nr_info"));
224 $radg->addOption($op2);
225
226 // minimum number of assignments to pass
227 $ni = new ilNumberInputGUI($this->lng->txt("exc_min_nr"), "pass_nr");
228 $ni->setSize(4);
229 $ni->setMaxLength(4);
230 $ni->setRequired(true);
231 include_once("./Modules/Exercise/classes/class.ilExAssignment.php");
232 $mand = ilExAssignment::countMandatory($this->object->getId());
233 $min = max($mand, 1);
234 $ni->setMinValue($min, true);
235 $ni->setInfo($this->lng->txt("exc_min_nr_info"));
236 $op2->addSubItem($ni);
237
238 $a_form->addItem($radg);
239
240 // completion by submission
241 $subcompl = new ilRadioGroupInputGUI($this->lng->txt("exc_passed_status_determination"), "completion_by_submission");
242 $op1 = new ilRadioOption($this->lng->txt("exc_completion_by_tutor"), 0, "");
243 $subcompl->addOption($op1);
244 $op2 = new ilRadioOption($this->lng->txt("exc_completion_by_submission"), 1,$this->lng->txt("exc_completion_by_submission_info"));
245 $subcompl->addOption($op2);
246 $a_form->addItem($subcompl);
247
248 /*$subcompl = new ilCheckboxInputGUI($this->lng->txt('exc_completion_by_submission'), 'completion_by_submission');
249 $subcompl->setInfo($this->lng->txt('exc_completion_by_submission_info'));
250 $subcompl->setValue(1);
251 $a_form->addItem($subcompl);*/
252
254 $section->setTitle($this->lng->txt('exc_publishing'));
255 $a_form->addItem($section);
256
257 // show submissions
258 $cb = new ilCheckboxInputGUI($this->lng->txt("exc_show_submissions"), "show_submissions");
259 $cb->setInfo($this->lng->txt("exc_show_submissions_info"));
260 $a_form->addItem($cb);
261
263 $section->setTitle($this->lng->txt('exc_notification'));
264 $a_form->addItem($section);
265
266 // submission notifications
267 $cbox = new ilCheckboxInputGUI($this->lng->txt("exc_submission_notification"), "notification");
268 $cbox->setInfo($this->lng->txt("exc_submission_notification_info"));
269 $a_form->addItem($cbox);
270 }
271
275 protected function getEditFormCustomValues(array &$a_values)
276 {
277 global $ilUser;
278
279 $a_values["desc"] = $this->object->getLongDescription();
280 $a_values["show_submissions"] = $this->object->getShowSubmissions();
281 $a_values["pass_mode"] = $this->object->getPassMode();
282 if ($a_values["pass_mode"] == "nr")
283 {
284 $a_values["pass_nr"] = $this->object->getPassNr();
285 }
286
287 include_once "./Services/Notification/classes/class.ilNotification.php";
288 $a_values["notification"] = ilNotification::hasNotification(
290 $this->object->getId());
291
292 $a_values['completion_by_submission'] = (int) $this->object->isCompletionBySubmissionEnabled();
293 }
294
295 protected function updateCustom(ilPropertyFormGUI $a_form)
296 {
297 global $ilUser;
298 $this->object->setShowSubmissions($a_form->getInput("show_submissions"));
299 $this->object->setPassMode($a_form->getInput("pass_mode"));
300 if ($this->object->getPassMode() == "nr")
301 {
302 $this->object->setPassNr($a_form->getInput("pass_nr"));
303 }
304
305 $this->object->setCompletionBySubmission($a_form->getInput('completion_by_submission') == 1 ? true : false);
306
307 include_once "./Services/Notification/classes/class.ilNotification.php";
309 $ilUser->getId(), $this->object->getId(),
310 (bool)$a_form->getInput("notification"));
311 }
312
318 function addContentSubTabs($a_activate)
319 {
320 global $ilTabs, $lng, $ilCtrl, $ilAccess;
321
322 $ilTabs->addSubTab("content", $lng->txt("view"),
323 $ilCtrl->getLinkTarget($this, "showOverview"));
324 if ($ilAccess->checkAccess("write", "", $this->ref_id))
325 {
326 $ilTabs->addSubTab("list_assignments", $lng->txt("edit"),
327 $ilCtrl->getLinkTargetByClass("ilExAssignmentEditorGUI", "listAssignments"));
328 }
329 $ilTabs->activateSubTab($a_activate);
330 }
331
337 function getTabs($tabs_gui)
338 {
339 global $ilAccess, $ilUser, $lng, $ilHelp;
340
341 $ilHelp->setScreenIdComponent("exc");
342
343 if ($ilAccess->checkAccess("read", "", $this->object->getRefId()))
344 {
345 $tabs_gui->addTab("content",
346 $lng->txt("exc_assignments"),
347 $this->ctrl->getLinkTarget($this, "showOverview"));
348 }
349
350 $next_class = strtolower($this->ctrl->getNextClass());
351 if ($ilAccess->checkAccess("visible", "", $this->object->getRefId()))
352 {
353 $tabs_gui->addTab("info",
354 $lng->txt("info_short"),
355 $this->ctrl->getLinkTargetByClass("ilinfoscreengui", "showSummary"));
356 }
357
358 // edit properties
359 if ($ilAccess->checkAccess("write", "", $this->ref_id))
360 {
361 /*$tabs_gui->addTab("assignments",
362 $lng->txt("exc_edit_assignments"),
363 $this->ctrl->getLinkTarget($this, 'listAssignments'));*/
364
365 $tabs_gui->addTab("settings",
366 $lng->txt("settings"),
367 $this->ctrl->getLinkTarget($this, 'edit'));
368
369 $tabs_gui->addTab("grades",
370 $lng->txt("exc_submissions_and_grades"),
371 $this->ctrl->getLinkTargetByClass("ilexercisemanagementgui", "members"));
372 }
373
374 // learning progress
375 $save_sort_order = $_GET["sort_order"]; // hack, because exercise sort parameters
376 $save_sort_by = $_GET["sort_by"]; // must not be forwarded to learning progress
377 $save_offset = $_GET["offset"];
378 $_GET["offset"] = $_GET["sort_by"] = $_GET["sort_order"] = "";
379
380 include_once './Services/Tracking/classes/class.ilLearningProgressAccess.php';
381 if(ilLearningProgressAccess::checkAccess($this->object->getRefId()))
382 {
383 $tabs_gui->addTab('learning_progress',
384 $lng->txt('learning_progress'),
385 $this->ctrl->getLinkTargetByClass(array('ilobjexercisegui','illearningprogressgui'),''));
386 }
387
388 $_GET["sort_order"] = $save_sort_order; // hack, part ii
389 $_GET["sort_by"] = $save_sort_by;
390 $_GET["offset"] = $save_offset;
391
392 // export
393 if ($ilAccess->checkAccess("write", "", $this->object->getRefId()))
394 {
395 $tabs_gui->addTab("export",
396 $lng->txt("export"),
397 $this->ctrl->getLinkTargetByClass("ilexportgui", ""));
398 }
399
400
401 // permissions
402 if ($ilAccess->checkAccess("edit_permission", "", $this->ref_id))
403 {
404 $tabs_gui->addTab('permissions',
405 $lng->txt("perm_settings"),
406 $this->ctrl->getLinkTargetByClass(array(get_class($this),'ilpermissiongui'), "perm"));
407 }
408 }
409
416 {
417 $this->ctrl->setCmd("showSummary");
418 $this->ctrl->setCmdClass("ilinfoscreengui");
419 $this->infoScreen();
420 }
421
425 function infoScreen()
426 {
427 global $ilAccess, $ilUser, $ilTabs, $lng;
428
429 $ilTabs->activateTab("info");
430
431 $this->checkPermission("visible");
432
433 include_once("./Services/InfoScreen/classes/class.ilInfoScreenGUI.php");
434 $info = new ilInfoScreenGUI($this);
435
436 $info->enablePrivateNotes();
437
438 $info->enableNews();
439 if ($ilAccess->checkAccess("write", "", $_GET["ref_id"]))
440 {
441 $info->enableNewsEditing();
442 $info->setBlockProperty("news", "settings", true);
443 }
444
445 // standard meta data
446 //$info->addMetaDataSections($this->object->getId(),0, $this->object->getType());
447
448 // instructions
449 $info->addSection($this->lng->txt("exc_overview"));
450 include_once("./Modules/Exercise/classes/class.ilExAssignment.php");
451 $ass = ilExAssignment::getAssignmentDataOfExercise($this->object->getId());
452 $cnt = 0;
453 $mcnt = 0;
454 foreach ($ass as $a)
455 {
456 $cnt++;
457 if ($a["mandatory"])
458 {
459 $mcnt++;
460 }
461 }
462 $info->addProperty($lng->txt("exc_assignments"), $cnt);
463 $info->addProperty($lng->txt("exc_mandatory"), $mcnt);
464 if ($this->object->getPassMode() != "nr")
465 {
466 $info->addProperty($lng->txt("exc_pass_mode"),
467 $lng->txt("exc_msg_all_mandatory_ass"));
468 }
469 else
470 {
471 $info->addProperty($lng->txt("exc_pass_mode"),
472 sprintf($lng->txt("exc_msg_min_number_ass"), $this->object->getPassNr()));
473 }
474
475 // feedback from tutor
476 include_once("Services/Tracking/classes/class.ilLPMarks.php");
477 if ($ilAccess->checkAccess("read", "", $this->ref_id))
478 {
479 $lpcomment = ilLPMarks::_lookupComment($ilUser->getId(), $this->object->getId());
480 $mark = ilLPMarks::_lookupMark($ilUser->getId(), $this->object->getId());
481 //$status = ilExerciseMembers::_lookupStatus($this->object->getId(), $ilUser->getId());
482 $st = $this->object->determinStatusOfUser($ilUser->getId());
483 $status = $st["overall_status"];
484 if ($lpcomment != "" || $mark != "" || $status != "notgraded")
485 {
486 $info->addSection($this->lng->txt("exc_feedback_from_tutor"));
487 if ($lpcomment != "")
488 {
489 $info->addProperty($this->lng->txt("exc_comment"),
490 $lpcomment);
491 }
492 if ($mark != "")
493 {
494 $info->addProperty($this->lng->txt("exc_mark"),
495 $mark);
496 }
497
498 //if ($status == "")
499 //{
500 // $info->addProperty($this->lng->txt("status"),
501 // $this->lng->txt("message_no_delivered_files"));
502 //}
503 //else
504 if ($status != "notgraded")
505 {
506 $img = '<img src="'.ilUtil::getImagePath("scorm/".$status.".svg").'" '.
507 ' alt="'.$lng->txt("exc_".$status).'" title="'.$lng->txt("exc_".$status).
508 '" />';
509
510 $add = "";
511 if ($st["failed_a_mandatory"])
512 {
513 $add = " (".$lng->txt("exc_msg_failed_mandatory").")";
514 }
515 else if ($status == "failed")
516 {
517 $add = " (".$lng->txt("exc_msg_missed_minimum_number").")";
518 }
519 $info->addProperty($this->lng->txt("status"),
520 $img." ".$this->lng->txt("exc_".$status).$add);
521 }
522 }
523 }
524
525 // forward the command
526 $this->ctrl->forwardCommand($info);
527 }
528
529 function editObject()
530 {
531 $this->setSettingsSubTabs();
532 $this->tabs_gui->activateSubTab("edit");
533 return parent::editObject();
534 }
535
536 protected function setSettingsSubTabs()
537 {
538 $this->tabs_gui->addSubTab("edit",
539 $this->lng->txt("general_settings"),
540 $this->ctrl->getLinkTarget($this, "edit"));
541
542 $this->tabs_gui->addSubTab("crit",
543 $this->lng->txt("exc_criteria_catalogues"),
544 $this->ctrl->getLinkTargetByClass("ilexccriteriacataloguegui", ""));
545
546 include_once "Services/Certificate/classes/class.ilCertificate.php";
548 {
549 $this->tabs_gui->addSubTab("certificate",
550 $this->lng->txt("certificate"),
551 $this->ctrl->getLinkTarget($this, "certificate"));
552 }
553 }
554
560 public static function _goto($a_target, $a_raw)
561 {
562 global $ilErr, $lng, $ilAccess;
563
564 $ass_id = null;
565 $parts = explode("_", $a_raw);
566 if(sizeof($parts) == 2)
567 {
568 $ass_id = (int)$parts[1];
569 }
570
571 if ($ilAccess->checkAccess("read", "", $a_target))
572 {
573 if($ass_id)
574 {
575 $_GET["ass_id_goto"] = $ass_id;
576 }
577 $_GET["ref_id"] = $a_target;
578 $_GET["cmd"] = "showOverview";
579 $_GET["baseClass"] = "ilExerciseHandlerGUI";
580 include("ilias.php");
581 exit;
582 }
583 else if ($ilAccess->checkAccess("visible", "", $a_target))
584 {
585 $_GET["ref_id"] = $a_target;
586 $_GET["cmd"] = "infoScreen";
587 $_GET["baseClass"] = "ilExerciseHandlerGUI";
588 include("ilias.php");
589 exit;
590 }
591 else if ($ilAccess->checkAccess("read", "", ROOT_FOLDER_ID))
592 {
593 ilUtil::sendFailure(sprintf($lng->txt("msg_no_perm_read_item"),
596 }
597
598 $ilErr->raiseError($lng->txt("msg_no_perm_read"), $ilErr->FATAL);
599 }
600
605 {
606 global $ilLocator;
607
608 if (is_object($this->object))
609 {
610 // #17955
611 $ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this, "showOverview"), "", $_GET["ref_id"]);
612 }
613 }
614
615
619
624 {
625 global $tpl, $ilTabs, $ilUser, $ilToolbar;
626
627 $this->checkPermission("read");
628
629 include_once("./Services/Tracking/classes/class.ilLearningProgress.php");
630 ilLearningProgress::_tracProgress($ilUser->getId(),$this->object->getId(),
631 $this->object->getRefId(), 'exc');
632
633 $ilTabs->activateTab("content");
634 $this->addContentSubTabs("content");
635
636 // show certificate?
637 if($this->object->hasUserCertificate($ilUser->getId()))
638 {
639 include_once "./Modules/Exercise/classes/class.ilExerciseCertificateAdapter.php";
640 include_once "./Services/Certificate/classes/class.ilCertificate.php";
641 $adapter = new ilExerciseCertificateAdapter($this->object);
642 if(ilCertificate::_isComplete($adapter))
643 {
644 $ilToolbar->addButton($this->lng->txt("certificate"),
645 $this->ctrl->getLinkTarget($this, "outCertificate"));
646 }
647 }
648
649 include_once("./Modules/Exercise/classes/class.ilExAssignmentGUI.php");
650 $ass_gui = new ilExAssignmentGUI($this->object);
651
652 include_once("./Modules/Exercise/classes/class.ilExAssignment.php");
653 include_once("./Services/Accordion/classes/class.ilAccordionGUI.php");
654 $acc = new ilAccordionGUI();
655 $acc->setId("exc_ow_".$this->object->getId());
656
657 $ass_data = ilExAssignment::getInstancesByExercise($this->object->getId());
658 foreach ($ass_data as $ass)
659 {
660 // incoming assignment deeplink
661 $force_open = false;
662 if(isset($_GET["ass_id_goto"]) &&
663 (int)$_GET["ass_id_goto"] == $ass->getId())
664 {
665 $force_open = true;
666 }
667
668 $acc->addItem($ass_gui->getOverviewHeader($ass),
669 $ass_gui->getOverviewBody($ass),
670 $force_open);
671 }
672
673 if (count($ass_data) < 2)
674 {
675 $acc->setBehaviour("FirstOpen");
676 }
677 else
678 {
679 $acc->setUseSessionStorage(true);
680 }
681
682 $tpl->setContent($acc->getHTML());
683 }
684
686 {
687 $this->setSettingsSubTabs();
688 $this->tabs_gui->activateTab("settings");
689 $this->tabs_gui->activateSubTab("certificate");
690
691 include_once "./Services/Certificate/classes/class.ilCertificateGUI.php";
692 include_once "./Modules/Exercise/classes/class.ilExerciseCertificateAdapter.php";
693 $output_gui = new ilCertificateGUI(new ilExerciseCertificateAdapter($this->object));
694 $output_gui->certificateEditor();
695 }
696
698 {
699 global $ilUser;
700
701 if($this->object->hasUserCertificate($ilUser->getId()))
702 {
703 ilUtil::sendFailure($this->lng->txt("msg_failed"));
704 $this->showOverviewObject();
705 }
706
707 include_once "./Services/Certificate/classes/class.ilCertificate.php";
708 include_once "./Modules/Exercise/classes/class.ilExerciseCertificateAdapter.php";
710 $certificate->outCertificate(array("user_id" => $ilUser->getId()));
711 }
712
713}
714
715?>
$section
Definition: Utf8Test.php:84
$_GET["client_id"]
Accordion user interface class.
GUI class to create PDF certificates.
Create PDF certificates.
_isComplete($adapter)
Checks the status of the certificate.
This class represents a checkbox property in a property form.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
Class ilExAssignmentEditorGUI.
GUI class for exercise assignments.
Exercise assignment.
countMandatory($a_ex_id)
Order assignments by deadline date.
static getInstancesByExercise($a_exc_id)
static getAssignmentDataOfExercise($a_exc_id)
Get assignments data of an exercise in an array.
Class ilExSubmissionGUI.
Class ilExcCriteriaCatalogueGUI.
Class ilExerciseManagementGUI.
Export User Interface Class.
This class represents a section header in a property form.
Class ilInfoScreenGUI.
_lookupComment($a_usr_id, $a_obj_id)
_lookupMark($a_usr_id, $a_obj_id)
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
Class ilObjUserTrackingGUI.
static _tracProgress($a_user_id, $a_obj_id, $a_ref_id, $a_obj_type='')
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 ilObjExerciseGUI.
addLocatorItems()
Add locator item.
infoScreenObject()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually,...
viewObject()
list childs of current object
getEditFormCustomValues(array &$a_values)
Get values for properties form.
infoScreen()
show information screen
updateCustom(ilPropertyFormGUI $a_form)
Insert custom update form values into object.
executeCommand()
execute command
static _goto($a_target, $a_raw)
redirect script
ilObjExerciseGUI($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
Constructor @access public.
initEditCustomForm(ilPropertyFormGUI $a_form)
Init properties form.
showOverviewObject()
Show overview of assignments.
getTabs($tabs_gui)
adds tabs to tab gui object
afterSave(ilObject $a_new_object)
Post (successful) object creation hook.
addContentSubTabs($a_activate)
Add subtabs of content view.
GUI class for the workflow of copying objects.
Class ilObjectGUI Basic methods of all Output classes.
ilObjectGUI($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=true)
Constructor @access public.
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
prepareOutput()
prepare output
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.
Class ilObject Basic functions for all objects.
static _lookupObjId($a_id)
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.
setTitle($a_title)
Set Title.
This class represents a property in a property form.
This class represents an option in a radio group.
Class ilShopPurchaseGUI.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
if(@file_exists(dirname(__FILE__).'/lang/eng.php')) $certificate
Definition: example_052.php:77
$info
Definition: example_052.php:80
global $ilCtrl
Definition: ilias.php:18
exit
Definition: login.php:54
$cmd
Definition: sahs_server.php:35
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
global $ilUser
Definition: imgupload.php:15