67 public function __construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output =
true)
71 $this->lng =
$DIC->language();
72 $this->
user = $DIC->user();
73 $this->ctrl =
$DIC->ctrl();
74 $this->tabs =
$DIC->tabs();
75 $this->
help = $DIC[
"ilHelp"];
76 $this->locator =
$DIC[
"ilLocator"];
77 $this->tpl =
$DIC[
"tpl"];
78 $this->toolbar =
$DIC->toolbar();
81 $this->lng->loadLanguageModule(
'cert');
86 $lng->loadLanguageModule(
"exercise");
87 $lng->loadLanguageModule(
"exc");
88 $this->ctrl->saveParameter($this,
"ass_id");
90 $this->service =
$DIC->exercise()->internal()->service();
91 $this->exercise_request =
$DIC->exercise()->internal()->request();
92 $this->exercise_ui =
$DIC->exercise()->internal()->ui();
93 $this->requested_ass_id = $this->exercise_request->getRequestedAssId();
96 $this->ass = $this->exercise_request->getRequestedAssignment();
97 } elseif ($this->requested_ass_id > 0) {
111 $next_class = $this->ctrl->getNextClass($this);
112 $cmd = $this->ctrl->getCmd();
116 $this->tpl->setPermanentLink(
"exc", $this->object->getRefId());
120 switch ($next_class) {
121 case "ilinfoscreengui":
122 $ilTabs->activateTab(
"info");
126 case 'ilpermissiongui':
127 $ilTabs->activateTab(
"permissions");
129 $ret = &$this->ctrl->forwardCommand($perm_gui);
132 case "illearningprogressgui":
133 $ilTabs->activateTab(
"learning_progress");
136 $this->object->getRefId(),
139 $this->ctrl->forwardCommand($new_gui);
140 $this->tabs_gui->setTabActive(
'learning_progress');
143 case 'ilobjectcopygui':
144 $ilCtrl->saveParameter($this,
'new_type');
145 $ilCtrl->setReturnByClass(get_class($this),
'create');
149 $this->ctrl->forwardCommand($cp);
153 $ilTabs->activateTab(
"export");
155 $exp_gui->addFormat(
"xml");
156 $ret = $this->ctrl->forwardCommand($exp_gui);
160 case "ilcommonactiondispatchergui":
162 $this->ctrl->forwardCommand($gui);
165 case "ilcertificategui":
167 $this->tabs_gui->activateTab(
"settings");
168 $this->tabs_gui->activateSubTab(
"certificate");
171 $output_gui = $guiFactory->create($this->
object);
173 $this->ctrl->forwardCommand($output_gui);
176 case "ilexassignmenteditorgui":
178 $ilTabs->activateTab(
"content");
180 $ass_gui =
new ilExAssignmentEditorGUI($this->object->getId(), $this->object->isCompletionBySubmissionEnabled(), $this->ass);
181 $this->ctrl->forwardCommand($ass_gui);
184 case "ilexsubmissiongui":
186 $random_manager = $this->service->getRandomAssignmentManager($this->
object);
187 if (!$random_manager->isAssignmentVisible($this->requested_ass_id, $this->user->getId())) {
190 $ilTabs->activateTab(
"content");
192 $this->ctrl->setReturn($this,
"showOverview");
193 $sub_gui = $this->exercise_ui->getSubmissionGUI();
194 $this->ctrl->forwardCommand($sub_gui);
197 case "ilexercisemanagementgui":
199 if (
$GLOBALS[
'DIC']->access()->checkRbacOrPositionPermissionAccess(
200 'edit_submissions_grades',
201 'edit_submissions_grades',
202 $this->object->getRefId()
204 $ilTabs->activateTab(
"grades");
206 $this->ctrl->forwardCommand($mgmt_gui);
212 case "ilexccriteriacataloguegui":
214 $ilTabs->activateTab(
"settings");
216 $ilTabs->activateSubTab(
"crit");
218 $this->ctrl->forwardCommand($crit_gui);
222 case "ilportfolioexercisegui":
223 $this->ctrl->saveParameter($this, array(
"part_id"));
225 $ilCtrl->forwardCommand($gui);
228 case "ilexcrandomassignmentgui":
229 $gui = $this->exercise_ui->getRandomAssignmentGUI();
230 $this->ctrl->forwardCommand($gui);
233 case 'ilobjectmetadatagui':
235 $this->tabs_gui->setTabActive(
'meta_data');
237 $this->ctrl->forwardCommand($md_gui);
266 $a_new_object->saveData();
268 ilUtil::sendSuccess($this->lng->txt(
"exc_added"),
true);
270 $ilCtrl->setParameterByClass(
"ilExAssignmentEditorGUI",
"ref_id", $a_new_object->
getRefId());
271 $ilCtrl->redirectByClass(
"ilExAssignmentEditorGUI",
"addAssignment");
281 $ilCtrl->redirectByClass(
"ilExAssignmentEditorGUI",
"listAssignments");
292 $random_manager =
$service->getRandomAssignmentManager($this->
object);
294 $a_form->
setTitle($this->lng->txt(
"exc_edit_exercise"));
297 $pres->setTitle($this->lng->txt(
'obj_presentation'));
301 $a_form = $obj_service->commonSettings()->legacyForm($a_form, $this->
object)->addTileImage();
304 $section->setTitle($this->lng->txt(
'exc_passing_exc'));
311 $this->lng->txt(
"exc_pass_all"),
313 $this->lng->txt(
"exc_pass_all_info")
315 $radg->addOption($op1);
317 $this->lng->txt(
"exc_pass_minimum_nr"),
319 $this->lng->txt(
"exc_pass_minimum_nr_info")
321 $radg->addOption($op2);
323 $this->lng->txt(
"exc_random_selection"),
325 $this->lng->txt(
"exc_random_selection_info")
328 $op3->setDisabled(
true);
329 $op3->setInfo($this->lng->txt(
"exc_random_selection_not_changeable_info") .
" " .
330 implode(
" ", $random_manager->getDeniedActivationReasons()));
333 $radg->setDisabled(
true);
334 $radg->setInfo($this->lng->txt(
"exc_pass_mode_not_changeable_info") .
" " .
335 implode(
" ", $random_manager->getDeniedDeactivationReasons()));
338 $rn =
new ilNumberInputGUI($this->lng->txt(
"exc_nr_random_mand"),
"nr_random_mand");
340 $rn->setMaxLength(4);
341 $rn->setRequired(
true);
342 $rn->setMinValue(1,
false);
344 $rn->setMaxValue($cnt,
true);
345 $op3->addSubItem($rn);
347 $radg->addOption($op3);
352 $ni->setMaxLength(4);
353 $ni->setRequired(
true);
355 $min = max($mand, 1);
356 $ni->setMinValue($min,
true);
357 $ni->setInfo($this->lng->txt(
"exc_min_nr_info"));
358 $op2->addSubItem($ni);
363 $subcompl =
new ilRadioGroupInputGUI($this->lng->txt(
"exc_passed_status_determination"),
"completion_by_submission");
364 $op1 =
new ilRadioOption($this->lng->txt(
"exc_completion_by_tutor"), 0,
"");
365 $subcompl->addOption($op1);
366 $op2 =
new ilRadioOption($this->lng->txt(
"exc_completion_by_submission"), 1, $this->lng->txt(
"exc_completion_by_submission_info"));
367 $subcompl->addOption($op2);
376 $section->setTitle($this->lng->txt(
'exc_publishing'));
380 $cb =
new ilCheckboxInputGUI($this->lng->txt(
"exc_show_submissions"),
"show_submissions");
381 $cb->setInfo($this->lng->txt(
"exc_show_submissions_info"));
385 $section->setTitle($this->lng->txt(
'exc_notification'));
389 $cbox =
new ilCheckboxInputGUI($this->lng->txt(
"exc_submission_notification"),
"notification");
390 $cbox->setInfo($this->lng->txt(
"exc_submission_notification_info"));
397 $section->setTitle($this->lng->txt(
'exc_feedback'));
404 $option->setInfo($this->lng->txt(
"exc_settings_feedback_mail_info"));
405 $fdb->addOption($option);
407 $option->setInfo($this->lng->txt(
"exc_settings_feedback_file_info"));
408 $fdb->addOption($option);
410 $option->setInfo($this->lng->txt(
"exc_settings_feedback_text_info"));
411 $fdb->addOption($option);
415 $section->setTitle($this->lng->txt(
'obj_features'));
421 ->getObjectPositionSettingsByType($this->object->getType());
423 if ($position_settings->isActive()) {
428 $this->object->getId(),
441 $a_values[
"desc"] = $this->
object->getLongDescription();
442 $a_values[
"show_submissions"] = $this->
object->getShowSubmissions();
443 $a_values[
"pass_mode"] = $this->
object->getPassMode();
444 if ($a_values[
"pass_mode"] ==
"nr") {
445 $a_values[
"pass_nr"] = $this->
object->getPassNr();
448 $a_values[
"nr_random_mand"] = $this->
object->getNrMandatoryRandom();
453 $this->object->getId()
456 $a_values[
'completion_by_submission'] = (int) $this->object->isCompletionBySubmissionEnabled();
458 $tfeedback = array();
459 if ($this->object->hasTutorFeedbackMail()) {
462 if ($this->object->hasTutorFeedbackText()) {
465 if ($this->object->hasTutorFeedbackFile()) {
468 $a_values[
'tfeedback'] = $tfeedback;
472 ->isPositionAccessActiveForObject($this->object->getId());
475 $this->object->getId(),
486 $this->
object->setShowSubmissions($a_form->
getInput(
"show_submissions"));
487 $this->
object->setPassMode($a_form->
getInput(
"pass_mode"));
488 if ($this->object->getPassMode() ==
"nr") {
489 $this->
object->setPassNr($a_form->
getInput(
"pass_nr"));
492 $this->
object->setNrMandatoryRandom($a_form->
getInput(
"nr_random_mand"));
495 $this->
object->setCompletionBySubmission($a_form->
getInput(
'completion_by_submission') == 1 ?
true :
false);
497 $feedback = $a_form->
getInput(
"tfeedback");
498 $this->
object->setTutorFeedback(is_array($feedback)
499 ? array_sum($feedback)
505 $this->object->getId(),
506 (
bool) $a_form->
getInput(
"notification")
510 $obj_service->commonSettings()->legacyForm($a_form, $this->
object)->saveTileImage();
513 $this->object->getId(),
536 $ilCtrl->getLinkTarget($this,
"showOverview")
542 $ilCtrl->getLinkTargetByClass(
"ilExAssignmentEditorGUI",
"listAssignments")
545 $ilTabs->activateSubTab($a_activate);
558 $ilHelp->setScreenIdComponent(
"exc");
561 $this->tabs_gui->addTab(
563 $lng->txt(
"exc_assignments"),
564 $this->ctrl->getLinkTarget($this,
"showOverview")
568 $next_class = strtolower($this->ctrl->getNextClass());
570 $this->tabs_gui->addTab(
572 $lng->txt(
"info_short"),
573 $this->ctrl->getLinkTargetByClass(
"ilinfoscreengui",
"showSummary")
583 $this->tabs_gui->addTab(
585 $lng->txt(
"settings"),
586 $this->ctrl->getLinkTarget($this,
'edit')
589 if ($this->access->checkRbacOrPositionPermissionAccess(
590 'edit_submissions_grades',
591 'edit_submissions_grades',
592 $this->object->getRefId()
594 $this->tabs_gui->addTab(
596 $lng->txt(
"exc_submissions_and_grades"),
597 $this->ctrl->getLinkTargetByClass(
"ilexercisemanagementgui",
"members")
602 $save_sort_order =
$_GET[
"sort_order"];
603 $save_sort_by =
$_GET[
"sort_by"];
604 $save_offset =
$_GET[
"offset"];
608 $this->tabs_gui->addTab(
610 $lng->txt(
'learning_progress'),
611 $this->ctrl->getLinkTargetByClass(array(
'ilobjexercisegui',
'illearningprogressgui'),
'')
616 if ($this->access->checkAccess(
'write',
'', $this->object->getRefId())) {
618 $mdtab = $mdgui->getTab();
620 $this->tabs_gui->addTarget(
624 "ilobjectmetadatagui"
629 $_GET[
"sort_order"] = $save_sort_order;
630 $_GET[
"sort_by"] = $save_sort_by;
631 $_GET[
"offset"] = $save_offset;
635 $this->tabs_gui->addTab(
638 $this->ctrl->getLinkTargetByClass(
"ilexportgui",
"")
645 $this->tabs_gui->addTab(
647 $lng->txt(
"perm_settings"),
648 $this->ctrl->getLinkTargetByClass(array(get_class($this),
'ilpermissiongui'),
"perm")
660 $this->ctrl->setCmd(
"showSummary");
661 $this->ctrl->setCmdClass(
"ilinfoscreengui");
678 public function infoScreen()
684 $ilTabs->activateTab(
"info");
695 $info->enablePrivateNotes();
699 $info->enableNewsEditing();
700 $info->setBlockProperty(
"news",
"settings",
true);
704 $record_gui->setInfoObject($info);
705 $record_gui->parse();
708 $info->addMetaDataSections($this->object->getId(), 0, $this->object->getType());
711 $info->addSection($this->lng->txt(
"exc_overview"));
717 if (
$a[
"mandatory"]) {
721 $info->addProperty(
$lng->txt(
"exc_assignments"), $cnt);
723 $info->addProperty(
$lng->txt(
"exc_mandatory"), $mcnt);
725 $lng->txt(
"exc_pass_mode"),
726 $lng->txt(
"exc_msg_all_mandatory_ass")
729 $info->addProperty(
$lng->txt(
"exc_mandatory"), $mcnt);
731 $lng->txt(
"exc_pass_mode"),
732 sprintf(
$lng->txt(
"exc_msg_min_number_ass"), $this->object->getPassNr())
735 $info->addProperty(
$lng->txt(
"exc_mandatory"), $exc->getNrMandatoryRandom());
737 $lng->txt(
"exc_pass_mode"),
738 $lng->txt(
"exc_msg_all_mandatory_ass")
747 $st = $this->
object->determinStatusOfUser(
$ilUser->getId());
748 $status = $st[
"overall_status"];
749 if ($lpcomment !=
"" || $mark !=
"" || $status !=
"notgraded") {
750 $info->addSection($this->lng->txt(
"exc_feedback_from_tutor"));
751 if ($lpcomment !=
"") {
753 $this->lng->txt(
"exc_comment"),
759 $this->lng->txt(
"exc_mark"),
770 if ($status !=
"notgraded") {
775 $path = $icons->getImagePathCompleted();
778 $path = $icons->getImagePathFailed();
784 $img = $icons->renderIcon($path,
$lng->txt(
"exc_" . $status));
787 if ($st[
"failed_a_mandatory"]) {
788 $add =
" (" .
$lng->txt(
"exc_msg_failed_mandatory") .
")";
789 } elseif ($status ==
"failed") {
790 $add =
" (" .
$lng->txt(
"exc_msg_missed_minimum_number") .
")";
793 $this->lng->txt(
"status"),
794 $img .
" " . $this->lng->txt(
"exc_" . $status) . $add
801 $this->ctrl->forwardCommand($info);
807 $this->tabs_gui->activateSubTab(
"edit");
808 return parent::editObject();
813 $this->tabs_gui->addSubTab(
815 $this->lng->txt(
"general_settings"),
816 $this->ctrl->getLinkTarget($this,
"edit")
819 $this->tabs_gui->addSubTab(
821 $this->lng->txt(
"exc_criteria_catalogues"),
822 $this->ctrl->getLinkTargetByClass(
"ilexccriteriacataloguegui",
"")
826 if (
true === $validator->validate()) {
827 $this->tabs_gui->addSubTab(
829 $this->lng->txt(
"certificate"),
830 $this->ctrl->getLinkTarget($this,
"certificate")
840 public static function _goto($a_target, $a_raw)
846 $ilAccess =
$DIC->access();
847 $ilCtrl =
$DIC->ctrl();
850 $ilCtrl->setTargetScript(
"ilias.php");
851 $ilCtrl->initBaseClass(
"ilRepositoryGUI");
855 $ass_id =
$_GET[
'ass_id'];
856 $parts = explode(
"_", $a_raw);
861 switch (end($parts)) {
881 $ilCtrl->setParameterByClass(
"ilExerciseHandlerGUI",
"ref_id", $a_target);
883 if ($ilAccess->checkAccess(
"read",
"", $a_target)) {
884 $ilCtrl->setParameterByClass(
"ilExerciseHandlerGUI",
"target", $a_raw);
887 $ilCtrl->setParameterByClass(
"ilExerciseManagementGUI",
"ass_id", $ass_id);
892 $ilCtrl->redirectByClass(array(
"ilRepositoryGUI",
"ilExerciseHandlerGUI",
"ilObjExerciseGUI",
"ilExerciseManagementGUI"),
"members");
901 $ilCtrl->setParameterByClass(
"ilExerciseHandlerGUI",
"member_id", $member);
902 $ilCtrl->redirectByClass(array(
"ilRepositoryGUI",
"ilExerciseHandlerGUI",
"ilObjExerciseGUI",
"ilExerciseManagementGUI"),
"waitingDownload");
906 if ($parts[1] !=
"") {
907 $ilCtrl->setParameterByClass(
"ilExerciseHandlerGUI",
"ass_id", $parts[1]);
908 $ilCtrl->setParameterByClass(
"ilExerciseHandlerGUI",
"ass_id_goto", $parts[1]);
910 $ilCtrl->redirectByClass(array(
"ilRepositoryGUI",
"ilExerciseHandlerGUI",
"ilObjExerciseGUI"),
"showOverview");
914 } elseif ($ilAccess->checkAccess(
"visible",
"", $a_target)) {
915 $ilCtrl->redirectByClass(array(
"ilRepositoryGUI",
"ilExerciseHandlerGUI",
"ilObjExerciseGUI"),
"infoScreen");
918 $lng->txt(
"msg_no_perm_read_item"),
932 if (is_object($this->
object)) {
934 $ilLocator->addItem($this->object->getTitle(), $this->ctrl->getLinkTarget($this,
"showOverview"),
"",
$_GET[
"ref_id"]);
955 $ilTabs->activateTab(
"content");
962 $tpl->addJavaScript(
"./Modules/Exercise/js/ilExcPresentation.js");
966 $this->object->getId(),
967 $this->object->getRefId(),
972 if ($this->certificateDownloadValidator->isCertificateDownloadable((
int)
$ilUser->getId(), (
int) $this->object->getId())) {
973 $ilToolbar->addButton(
974 $this->lng->txt(
"certificate"),
975 $this->ctrl->getLinkTarget($this,
"outCertificate")
982 $acc->setId(
"exc_ow_" . $this->object->getId());
985 $random_manager = $this->service->getRandomAssignmentManager($this->
object);
986 foreach ($ass_data as
$ass) {
987 if (!$random_manager->isAssignmentVisible(
$ass->getId(), $this->user->getId())) {
993 if (isset(
$_GET[
"ass_id_goto"]) &&
994 (
int)
$_GET[
"ass_id_goto"] ==
$ass->getId()) {
999 $ass_gui->getOverviewHeader(
$ass),
1000 $ass_gui->getOverviewBody(
$ass),
1005 if (count($ass_data) < 2) {
1006 $acc->setBehaviour(
"FirstOpen");
1008 $acc->setUseSessionStorage(
true);
1011 $mtpl =
new ilTemplate(
"tpl.exc_ass_overview.html",
true,
true,
"Modules/Exercise");
1012 $mtpl->setVariable(
"CONTENT", $acc->getHTML());
1014 $tpl->setContent($mtpl->get());
1020 $this->tabs_gui->activateTab(
"settings");
1021 $this->tabs_gui->activateSubTab(
"certificate");
1024 $output_gui = $guiFactory->create($this->
object);
1026 $output_gui->certificateEditor();
1033 $database =
$DIC->database();
1034 $logger =
$DIC->logger()->root();
1038 $objectId = (int) $this->object->getId();
1040 if (
false === $this->certificateDownloadValidator->isCertificateDownloadable(
$ilUser->getId(), $objectId)) {
1042 $this->ctrl->redirect($this);
1046 $pdfGenerator =
new ilPdfGenerator($ilUserCertificateRepository, $logger);
1052 $this->lng->txt(
'error_creating_certificate_pdf')
1055 $pdfAction->downloadPdf((
int)
$ilUser->getId(), (
int) $objectId);
1065 $ilCtrl =
$DIC->ctrl();
1070 if (!$state->getCommonDeadline() && $state->getRelativeDeadline()) {
1071 $idl = $state->getIndividualDeadlineObject();
1072 $idl->setStartingTimestamp(time());
1077 $ilCtrl->redirect($this,
"showOverview");
1088 $random_manager =
$service->getRandomAssignmentManager($this->
object);
1089 if ($random_manager->needsStart()) {
1090 $gui = $this->exercise_ui->getRandomAssignmentGUI();
1091 $gui->renderStartPage();
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
An exception for terminatinating execution or to throw for unit testing.
Accordion user interface class.
Validates if an active certificate is stored in the database and can be downloaded by the user.
Just a wrapper class to create Unit Test for other classes.
This class represents an option in a checkbox group.
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
static _lookupContainerSetting($a_id, $a_keyword, $a_default_value=null)
Lookup a container setting.
Class ilExAssignmentEditorGUI.
GUI class for exercise assignments.
static count($a_ex_id)
Order assignments by deadline date.
static countMandatory($a_ex_id)
Count the number of mandatory assignments.
static getInstancesByExercise($a_exc_id)
static lookupExerciseId($a_ass_id)
Lookup excercise id for assignment id.
static getAssignmentDataOfExercise($a_exc_id)
Get assignments data of an exercise in an array.
static getInstanceByIds($a_ass_id, $a_user_id=0)
Get instance by IDs (recommended for consumer code)
Class ilExcCriteriaCatalogueGUI.
Exercise exceptions class.
Class ilExerciseManagementGUI.
Export User Interface Class.
static _lookupMark($a_usr_id, $a_obj_id)
static _lookupComment($a_usr_id, $a_obj_id)
static getInstance(int $variant=ilLPStatusIcons::ICON_VARIANT_DEFAULT, ?\ILIAS\UI\Renderer $renderer=null, ?\ILIAS\UI\Factory $factory=null)
static checkAccess($a_ref_id, $a_allow_only_read=true)
check access to learning progress
const LP_CONTEXT_REPOSITORY
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.
const TYPE_EXERCISE_SUBMISSION
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()
viewObject container presentation for "administration -> repository, trash, permissions"
getEditFormCustomValues(array &$a_values)
Get values for properties form.
handleRandomAssignmentEntryPage()
Display random assignment start page, if necessary.
updateCustom(ilPropertyFormGUI $a_form)
Insert custom update form values into object.
executeCommand()
execute command
static _goto($a_target, $a_raw)
redirect script
getTabs()
adds tabs to tab gui object
startAssignmentObject()
Start assignment with relative deadline.
initEditCustomForm(ilPropertyFormGUI $a_form)
Init properties form.
showOverviewObject()
Show overview of assignments.
__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output=true)
Constructor @access public.
afterSave(ilObject $a_new_object)
Post (successful) object creation hook.
addContentSubTabs($a_activate)
Add subtabs of content view.
$certificateDownloadValidator
const TUTOR_FEEDBACK_TEXT
const TUTOR_FEEDBACK_MAIL
const TUTOR_FEEDBACK_FILE
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 _gotoRepositoryRoot($a_raise_error=false)
Goto repository root.
getCreationMode()
get creation mode
checkPermissionBool($a_perm, $a_cmd="", $a_type="", $a_ref_id=null)
Check permission.
addHeaderAction()
Add header action menu.
getObjectService()
Get object service.
const ORGU_POSITION_ACCESS
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)
static _lookupTitle($a_id)
lookup object title
getRefId()
get reference id @access public
static getInstance()
Get instance.
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
Class ilPortfolioExerciseGUI.
This class represents an option in a radio group.
special template class to simplify handling of ITX/PEAR
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
$a
thx to https://mlocati.github.io/php-cs-fixer-configurator for the examples
Class ilPdfGeneratorConstantsTest.