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 
5 require_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 
415  function infoScreenObject()
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 
604  function addLocatorItems()
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 
685  function certificateObject()
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";
709  $certificate = new ilCertificate(new ilExerciseCertificateAdapter($this->object));
710  $certificate->outCertificate(array("user_id" => $ilUser->getId()));
711  }
712 
713 }
714 
715 ?>
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
Class ilExAssignmentEditorGUI.
This class represents an option in a radio group.
Class ilExcCriteriaCatalogueGUI.
static hasNotification($type, $user_id, $id)
Check notification status for object and user.
exit
Definition: login.php:54
static getAssignmentDataOfExercise($a_exc_id)
Get assignments data of an exercise in an array.
Class ilInfoScreenGUI.
Exercise assignment.
This class represents a property form user interface.
GUI class for the workflow of copying objects.
$_GET["client_id"]
ilObjExerciseGUI($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
Constructor public.
countMandatory($a_ex_id)
Order assignments by deadline date.
_lookupMark($a_usr_id, $a_obj_id)
This class represents a section header in a property form.
Class ilObjExerciseGUI.
Class ilObject Basic functions for all objects.
Class ilShopPurchaseGUI.
updateCustom(ilPropertyFormGUI $a_form)
$cmd
Definition: sahs_server.php:35
static _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
static _tracProgress($a_user_id, $a_obj_id, $a_ref_id, $a_obj_type='')
_isComplete($adapter)
Checks the status of the certificate.
This class represents a checkbox property in a property form.
ilObjectGUI($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=true)
Constructor public.
static _lookupTitle($a_id)
lookup object title
addItem($a_item)
Add Item (Property, SectionHeader).
getEditFormCustomValues(array &$a_values)
Get values for properties form.
static _goto($a_target, $a_raw)
redirect script
addContentSubTabs($a_activate)
Add subtabs of content view.
global $ilCtrl
Definition: ilias.php:18
showOverviewObject()
Show overview of assignments.
setInfo($a_info)
Set Information Text.
GUI class for exercise assignments.
if(@file_exists(dirname(__FILE__).'/lang/eng.php')) $certificate
Definition: example_052.php:77
$section
Definition: Utf8Test.php:84
Export User Interface Class.
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
$info
Definition: example_052.php:80
This class represents a property in a property form.
infoScreenObject()
this one is called from the info button in the repository not very nice to set cmdClass/Cmd manually...
setTitle($a_title)
Set Title.
This class represents a number property in a property form.
Class ilObjectGUI Basic methods of all Output classes.
static _lookupObjId($a_id)
static getInstancesByExercise($a_exc_id)
static setNotification($type, $user_id, $id, $status=true)
Set notification status for object and user.
GUI class to create PDF certificates.
getInput($a_post_var, $ensureValidation=true)
Returns the value of a HTTP-POST variable, identified by the passed id.
prepareOutput()
prepare output
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
Class ilExerciseManagementGUI.
setSize($a_size)
Set Size.
afterSave(ilObject $a_new_object)
_lookupComment($a_usr_id, $a_obj_id)
global $ilUser
Definition: imgupload.php:15
getTabs($tabs_gui)
adds tabs to tab gui object
getRefId()
get reference id public
checkPermission($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission and redirect on error.
Create PDF certificates.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7
initEditCustomForm(ilPropertyFormGUI $a_form)
Init properties form.
Accordion user interface class.
addHeaderAction()
Add header action menu.
infoScreen()
show information screen
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
Class ilObjUserTrackingGUI.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
Class ilExSubmissionGUI.
addLocatorItems()
Add locator item.