ILIAS  release_8 Revision v8.24
class.ilLearningProgressBaseGUI.php
Go to the documentation of this file.
1<?php
2
3declare(strict_types=0);
4
21use ILIAS\Refinery\Factory as RefineryFactory;
22use ILIAS\HTTP\Services as HttpServices;
23
33{
34 protected RefineryFactory $refinery;
35 protected HttpServices $http;
37 protected ilHelpGUI $help;
39 protected ilLanguage $lng;
40 protected ilLogger $logger;
44 protected ilObjUser $user;
48 protected ilTree $tree;
49
50 protected bool $anonymized;
51 protected int $usr_id = 0;
52 protected int $ref_id = 0;
53 protected int $obj_id = 0;
54 protected string $obj_type = '';
55 protected int $mode = 0;
56
58 public const LP_CONTEXT_ADMINISTRATION = 2;
59 public const LP_CONTEXT_REPOSITORY = 3;
60 public const LP_CONTEXT_USER_FOLDER = 4;
61 public const LP_CONTEXT_ORG_UNIT = 5;
62
63 protected const LP_ACTIVE_SETTINGS = 1;
64 protected const LP_ACTIVE_OBJECTS = 2;
65 protected const LP_ACTIVE_PROGRESS = 3;
66
67 protected const LP_ACTIVE_USERS = 5;
68 protected const LP_ACTIVE_SUMMARY = 6;
69 protected const LP_ACTIVE_OBJSTATACCESS = 7;
70 protected const LP_ACTIVE_OBJSTATTYPES = 8;
71 protected const LP_ACTIVE_OBJSTATDAILY = 9;
72 protected const LP_ACTIVE_OBJSTATADMIN = 10;
73 protected const LP_ACTIVE_MATRIX = 11;
74
75 public function __construct(
76 int $a_mode,
77 int $a_ref_id = 0,
78 int $a_usr_id = 0
79 ) {
80 global $DIC;
81
82 $this->tpl = $DIC->ui()->mainTemplate();
83 $this->help = $DIC->help();
84 $this->ctrl = $DIC->ctrl();
85 $this->lng = $DIC->language();
86 $this->lng->loadLanguageModule('trac');
87 $this->tabs_gui = $DIC->tabs();
88 $this->toolbar = $DIC->toolbar();
89 $this->ilObjectDataCache = $DIC['ilObjDataCache'];
90 $this->user = $DIC->user();
91 $this->access = $DIC->access();
92 $this->rbacsystem = $DIC->rbac()->system();
93 $this->rbacreview = $DIC->rbac()->review();
94 $this->tree = $DIC->repositoryTree();
95
96 $this->http = $DIC->http();
97 $this->refinery = $DIC->refinery();
98
99 $this->mode = $a_mode;
100 $this->ref_id = $a_ref_id;
101 $this->obj_id = $this->ilObjectDataCache->lookupObjId($this->ref_id);
102 $this->obj_type = $this->ilObjectDataCache->lookupType($this->obj_id);
103 $this->usr_id = $a_usr_id;
104
105 $this->anonymized = !ilObjUserTracking::_enabledUserRelatedData();
106 if (!$this->anonymized && $this->obj_id) {
107 $olp = ilObjectLP::getInstance($this->obj_id);
108 $this->anonymized = $olp->isAnonymized();
109 }
110 $this->logger = $DIC->logger()->trac();
111 }
112
113 public function isAnonymized(): bool
114 {
115 return $this->anonymized;
116 }
117
118 public function getMode(): int
119 {
120 return $this->mode;
121 }
122
123 public function getRefId(): int
124 {
125 return $this->ref_id;
126 }
127
128 public function getObjId(): int
129 {
130 return $this->obj_id;
131 }
132
133 protected function initUserIdFromQuery(): int
134 {
135 if ($this->http->wrapper()->query()->has('user_id')) {
136 return $this->http->wrapper()->query()->retrieve(
137 'user_id',
138 $this->refinery->kindlyTo()->int()
139 );
140 }
141 return 0;
142 }
143
144 public function getUserId(): int
145 {
146 if ($this->usr_id) {
147 return $this->usr_id;
148 }
149 if ($this->initUserIdFromQuery()) {
150 return $this->initUserIdFromQuery();
151 }
152 return 0;
153 }
154
155 public function __getDefaultCommand(): string
156 {
157 if (strlen($cmd = $this->ctrl->getCmd())) {
158 return $cmd;
159 }
160 return 'show';
161 }
162
163 public function __setSubTabs(int $a_active): void
164 {
165 switch ($this->getMode()) {
167
170 $this->tabs_gui->addTarget(
171 'trac_progress',
172 $this->ctrl->getLinkTargetByClass(
173 'illplistofprogressgui',
174 ''
175 ),
176 "",
177 "",
178 "",
179 $a_active == self::LP_ACTIVE_PROGRESS
180 );
181 }
182
184 $this->tabs_gui->addTarget(
185 'trac_objects',
186 $this->ctrl->getLinkTargetByClass(
187 "illplistofobjectsgui",
188 ''
189 ),
190 "",
191 "",
192 "",
193 $a_active == self::LP_ACTIVE_OBJECTS
194 );
195 }
196 break;
197
199 // #12771 - do not show status if learning progress is deactivated
200 $olp = ilObjectLP::getInstance($this->obj_id);
201 if ($olp->isActive()) {
203 'read_learning_progress',
204 $this->getRefId()
205 );
206
207 if ($this->isAnonymized() || !$has_read) {
208 $this->ctrl->setParameterByClass(
209 'illplistofprogressgui',
210 'user_id',
211 $this->getUserId()
212 );
213 $this->tabs_gui->addSubTabTarget(
214 'trac_progress',
215 $this->ctrl->getLinkTargetByClass(
216 'illplistofprogressgui',
217 ''
218 ),
219 "",
220 "",
221 "",
222 $a_active == self::LP_ACTIVE_PROGRESS
223 );
224 } else {
225 // Check if it is a course
226 $sub_tab = ($this->ilObjectDataCache->lookupType(
228 $this->getRefId()
229 )
230 ) == 'crs') ?
231 'trac_crs_objects' :
232 'trac_objects';
233
234 $this->tabs_gui->addSubTabTarget(
235 $sub_tab,
236 $this->ctrl->getLinkTargetByClass(
237 "illplistofobjectsgui",
238 ''
239 ),
240 "",
241 "",
242 "",
243 $a_active == self::LP_ACTIVE_OBJECTS
244 );
245 }
246
247 if ($has_read) {
248 if (!$this->isAnonymized() &&
249 !($olp instanceof ilPluginLP) &&
250 ilObjectLP::supportsMatrixView($this->obj_type)) {
251 $this->tabs_gui->addSubTabTarget(
252 "trac_matrix",
253 $this->ctrl->getLinkTargetByClass(
254 "illplistofobjectsgui",
255 'showUserObjectMatrix'
256 ),
257 "",
258 "",
259 "",
260 $a_active == self::LP_ACTIVE_MATRIX
261 );
262 }
263
264 $this->tabs_gui->addSubTabTarget(
265 "trac_summary",
266 $this->ctrl->getLinkTargetByClass(
267 "illplistofobjectsgui",
268 'showObjectSummary'
269 ),
270 "",
271 "",
272 "",
273 $a_active == self::LP_ACTIVE_SUMMARY
274 );
275 }
276 }
277 if (!($olp instanceof ilPluginLP) &&
279 'edit_learning_progress',
280 $this->getRefId()
281 )) {
282 $this->tabs_gui->addSubTabTarget(
283 'trac_settings',
284 $this->ctrl->getLinkTargetByClass(
285 'illplistofsettingsgui',
286 ''
287 ),
288 "",
289 "",
290 "",
291 $a_active == self::LP_ACTIVE_SETTINGS
292 );
293 }
294 break;
295
297 /*
298 $this->tabs_gui->addSubTabTarget('trac_progress',
299 $this->ctrl->getLinkTargetByClass('illplistofprogressgui',''),
300 "","","",$a_active == self::LP_ACTIVE_PROGRESS);
301 */
302 $this->tabs_gui->addSubTabTarget(
303 'trac_objects',
304 $this->ctrl->getLinkTargetByClass(
305 "illplistofobjectsgui",
306 ''
307 ),
308 "",
309 "",
310 "",
311 $a_active == self::LP_ACTIVE_OBJECTS
312 );
313 break;
314
317 // No tabs default class is lpprogressgui
318 break;
319
320 default:
321 die('No valid mode given');
322 break;
323 }
324 }
325
326 public function __buildFooter(): void
327 {
328 switch ($this->getMode()) {
330 $this->tpl->printToStdout();
331 }
332 }
333
334 public function __buildHeader(): void
335 {
336 }
337
342 public static function _getStatusText(
343 int $a_status,
344 ?ilLanguage $a_lng = null
345 ): string {
346 global $DIC;
347
348 $lng = $DIC->language();
349 if (!$a_lng) {
350 $a_lng = $lng;
351 }
352 switch ($a_status) {
354 return $a_lng->txt(ilLPStatus::LP_STATUS_IN_PROGRESS);
355
357 return $a_lng->txt(ilLPStatus::LP_STATUS_COMPLETED);
358
360 return $a_lng->txt(ilLPStatus::LP_STATUS_FAILED);
361
362 default:
363 if ($a_status === ilLPStatus::LP_STATUS_NOT_ATTEMPTED_NUM) {
364 return $a_lng->txt(ilLPStatus::LP_STATUS_NOT_ATTEMPTED);
365 }
366 return $a_lng->txt((string) $a_status);
367 }
368 }
369
373 public function __showObjectDetails(
374 ilInfoScreenGUI $info,
375 int $item_id = 0,
376 bool $add_section = true
377 ): bool {
378 $details_id = $item_id ?: $this->details_id;
379
380 $olp = ilObjectLP::getInstance($details_id);
381 $mode = $olp->getCurrentMode();
382 if ($mode == ilLPObjSettings::LP_MODE_VISITS ||
384 // Section object details
385 if ($add_section) {
386 $info->addSection($this->lng->txt('details'));
387 }
388
389 if ($mode == ilLPObjSettings::LP_MODE_VISITS) {
390 $info->addProperty(
391 $this->lng->txt('trac_required_visits'),
392 (string) ilLPObjSettings::_lookupVisits($details_id)
393 );
394 }
395
397 $details_id
398 )) {
399 $info->addProperty(
400 $this->lng->txt('meta_typical_learning_time'),
402 );
403 }
404 return true;
405 }
406 return false;
407 }
408
409 public function __appendLPDetails(
410 ilInfoScreenGUI $info,
411 int $item_id,
412 int $user_id
413 ): void {
414 $type = $this->ilObjectDataCache->lookupType($item_id);
415 // Section learning_progress
416 // $info->addSection($this->lng->txt('trac_learning_progress'));
417 // see ilLPTableBaseGUI::parseTitle();
418 $info->addSection(
419 $this->lng->txt("trac_progress") . ": " . ilObject::_lookupTitle(
420 $item_id
421 )
422 );
423 $olp = ilObjectLP::getInstance($item_id);
424 $info->addProperty(
425 $this->lng->txt('trac_mode'),
426 $olp->getModeText($olp->getCurrentMode())
427 );
428
431
433 ilLPStatus::_lookupStatus($item_id, $user_id)
434 );
435 $info->addProperty(
436 $this->lng->txt('trac_status'),
437 $icons->renderIconForStatus(ilLPStatus::_lookupStatus($item_id, $user_id)) .
438 " " .
439 $status_text
440 );
441
442 if ($olp->getCurrentMode() === ilLPObjSettings::LP_MODE_MANUAL) {
443 // status
444 $i_tpl = new ilTemplate(
445 "tpl.lp_edit_manual_info_page.html",
446 true,
447 true,
448 "Services/Tracking"
449 );
450 $i_tpl->setVariable(
451 "INFO_EDITED",
452 $this->lng->txt("trac_info_edited")
453 );
454 $i_tpl->setVariable(
455 "SELECT_STATUS",
458 $user_id,
459 $item_id
460 ),
461 'lp_edit',
462 [0 => $this->lng->txt('trac_not_completed'),
463 1 => $this->lng->txt('trac_completed')
464 ],
465 false,
466 true
467 )
468 );
469 $i_tpl->setVariable("TXT_SAVE", $this->lng->txt("save"));
470 $info->addProperty($this->lng->txt('trac_status'), $i_tpl->get());
471 }
472
473 // #15334 - see ilLPTableBaseGUI::isPercentageAvailable()
474 $mode = $olp->getCurrentMode();
475 if (in_array(
476 $mode,
479 // ilLPObjSettings::LP_MODE_OBJECTIVES,
489 )
490 )) {
491 $perc = ilLPStatus::_lookupPercentage($item_id, $user_id);
492 $info->addProperty(
493 $this->lng->txt('trac_percentage'),
494 (int) $perc . "%"
495 );
496 }
497 }
498
500 if (strlen($mark = ilLPMarks::_lookupMark($user_id, $item_id))) {
501 $info->addProperty($this->lng->txt('trac_mark'), $mark);
502 }
503 }
504
505 if (strlen($comment = ilLPMarks::_lookupComment($user_id, $item_id))) {
506 $info->addProperty($this->lng->txt('trac_comment'), $comment);
507 }
508
509 // More infos for lm's
510 if (in_array($type, ["lm", "htlm"])) {
511 $progress = ilLearningProgress::_getProgress($user_id, $item_id);
512 if ($progress['access_time'] ?? false) {
513 $info->addProperty(
514 $this->lng->txt('trac_last_access'),
516 new ilDateTime($progress['access_time'], IL_CAL_UNIX)
517 )
518 );
519 } else {
520 $info->addProperty(
521 $this->lng->txt('trac_last_access'),
522 $this->lng->txt('trac_not_accessed')
523 );
524 }
525
526 $info->addProperty(
527 $this->lng->txt('trac_visits'),
528 (string) ($progress['visits'] ?? "")
529 );
530
531 if ($type == 'lm') {
532 $info->addProperty(
533 $this->lng->txt('trac_spent_time'),
535 $progress['spent_seconds']
536 )
537 );
538 }
539 }
540 }
541
543 public static function __readStatus(int $a_obj_id, int $user_id): string
544 {
545 $status = ilLPStatus::_lookupStatus($a_obj_id, $user_id);
546
547 switch ($status) {
550
553
556
557 default:
560 }
561 }
562
563 public function __getLegendHTML(int $variant = ilLPStatusIcons::ICON_VARIANT_LONG): string
564 {
565 $icons = ilLPStatusIcons::getInstance($variant);
566
567 $tpl = new ilTemplate(
568 "tpl.lp_legend.html",
569 true,
570 true,
571 "Services/Tracking"
572 );
573 $tpl->setVariable(
574 "IMG_NOT_ATTEMPTED",
575 $icons->renderIconForStatus(ilLPStatus::LP_STATUS_NOT_ATTEMPTED_NUM)
576 );
577 $tpl->setVariable(
578 "IMG_IN_PROGRESS",
579 $icons->renderIconForStatus(ilLPStatus::LP_STATUS_IN_PROGRESS_NUM)
580 );
581 $tpl->setVariable(
582 "IMG_COMPLETED",
583 $icons->renderIconForStatus(ilLPStatus::LP_STATUS_COMPLETED_NUM)
584 );
585 $tpl->setVariable(
586 "IMG_FAILED",
587 $icons->renderIconForStatus(ilLPStatus::LP_STATUS_FAILED_NUM)
588 );
589 $tpl->setVariable(
590 "TXT_NOT_ATTEMPTED",
591 $this->lng->txt("trac_not_attempted")
592 );
593 $tpl->setVariable(
594 "TXT_IN_PROGRESS",
595 $this->lng->txt("trac_in_progress")
596 );
597 $tpl->setVariable(
598 "TXT_COMPLETED",
599 $this->lng->txt("trac_completed")
600 );
601 $tpl->setVariable(
602 "TXT_FAILED",
603 $this->lng->txt("trac_failed")
604 );
605
608 $panel->setBody($tpl->get());
609
610 return $panel->getHTML();
611 }
612
613 protected function initEditUserForm(
614 int $a_user_id,
615 int $a_obj_id,
616 ?string $a_cancel = null
618 $olp = ilObjectLP::getInstance($a_obj_id);
619 $lp_mode = $olp->getCurrentMode();
620
621 $form = new ilPropertyFormGUI();
622
623 $form->setFormAction($this->ctrl->getFormAction($this, "updateUser"));
624
625 $form->setTitle(
626 $this->lng->txt("edit") . ": " . ilObject::_lookupTitle($a_obj_id)
627 );
628 $form->setDescription(
629 $this->lng->txt('trac_mode') . ": " . $olp->getModeText($lp_mode)
630 );
631
632 $user = new ilNonEditableValueGUI($this->lng->txt("user"), '', true);
633 $user->setValue(ilUserUtil::getNamePresentation($a_user_id, true));
634 $form->addItem($user);
635
636 $marks = new ilLPMarks($a_obj_id, $a_user_id);
637
639 $mark = new ilTextInputGUI($this->lng->txt("trac_mark"), "mark");
640 $mark->setValue($marks->getMark());
641 $mark->setMaxLength(32);
642 $form->addItem($mark);
643 }
644
645 $comm = new ilTextInputGUI($this->lng->txt("trac_comment"), "comment");
646 $comm->setValue($marks->getComment());
647 $form->addItem($comm);
648
649 if ($lp_mode == ilLPObjSettings::LP_MODE_MANUAL ||
651 $completed = ilLPStatus::_lookupStatus($a_obj_id, $a_user_id);
652
653 $status = new ilCheckboxInputGUI(
654 $this->lng->txt('trac_completed'),
655 "completed"
656 );
657 $status->setChecked(
659 );
660 $form->addItem($status);
661 }
662
663 $form->addCommandButton("updateUser", $this->lng->txt('save'));
664
665 if ($a_cancel) {
666 $form->addCommandButton($a_cancel, $this->lng->txt('cancel'));
667 }
668
669 return $form;
670 }
671
672 public function __showEditUser(
673 int $a_user_id,
674 int $a_ref_id,
675 ?string $a_cancel = null,
676 int $a_sub_id = 0
677 ): string {
678 if (!$a_sub_id) {
679 $obj_id = ilObject::_lookupObjId($a_ref_id);
680 } else {
681 $this->ctrl->setParameter($this, 'userdetails_id', $a_sub_id);
682 $obj_id = ilObject::_lookupObjId($a_sub_id);
683 }
684 $this->ctrl->setParameter($this, 'user_id', $a_user_id);
685 $this->ctrl->setParameter($this, 'details_id', $a_ref_id);
686 $form = $this->initEditUserForm($a_user_id, $obj_id, $a_cancel);
687 return $form->getHTML();
688 }
689
690 public function __updateUser(int $user_id, int $obj_id): void
691 {
692 $form = $this->initEditUserForm($user_id, $obj_id);
693 if ($form->checkInput()) {
694 $marks = new ilLPMarks($obj_id, $user_id);
695 $marks->setMark($form->getInput("mark"));
696 $marks->setComment($form->getInput("comment"));
697
698 $do_lp = false;
699
700 // status/completed is optional
701 $status = $form->getItemByPostVar("completed");
702 if (is_object($status)) {
703 if ($marks->getCompleted() != $form->getInput("completed")) {
704 $marks->setCompleted($form->getInput("completed"));
705 $do_lp = true;
706 }
707 }
708
709 $marks->update();
710
711 // #11600
712 if ($do_lp) {
713 ilLPStatusWrapper::_updateStatus($obj_id, $user_id);
714 }
715 }
716 }
717
724 public static function isObjectOffline(
725 int $a_obj_id,
726 string $a_type = ''
727 ): bool {
728 global $DIC;
729
730 $objDefinition = $DIC['objDefinition'];
731 $ilObjDataCache = $DIC['ilObjDataCache'];
732
733 if (!$a_type) {
734 $a_type = $ilObjDataCache->lookupType($a_obj_id);
735 }
736
737 if ($objDefinition->isPluginTypeName($a_type)) {
738 return false;
739 }
740 $class = "ilObj" . $objDefinition->getClassName($a_type) . "Access";
741 return (bool) $class::_isOffline($a_obj_id);
742 }
743}
$comment
Definition: buildRTE.php:72
Builds data types.
Definition: Factory.php:21
Class Services.
Definition: Services.php:38
const IL_CAL_UNIX
This class represents a checkbox property in a property form.
static secondsToString(int $seconds, bool $force_with_seconds=false, ?ilLanguage $a_lng=null)
converts seconds to string: Long: 7 days 4 hour(s) ...
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false)
@classDescription Date and time handling
Help GUI class.
Class ilInfoScreenGUI.
addSection(string $a_title)
addProperty(string $a_name, string $a_value, string $a_link="")
add a property to current section
static _lookupComment(int $a_usr_id, int $a_obj_id)
static _hasCompleted(int $a_usr_id, int $a_obj_id)
static _lookupMark(int $a_usr_id, int $a_obj_id)
const LP_MODE_CMIX_COMPL_OR_PASSED_WITH_FAILED
static _lookupVisits(int $a_obj_id)
static getInstance(int $variant=ilLPStatusIcons::ICON_VARIANT_DEFAULT, ?\ILIAS\UI\Renderer $renderer=null, ?\ILIAS\UI\Factory $factory=null)
static _updateStatus(int $a_obj_id, int $a_usr_id, ?object $a_obj=null, bool $a_percentage=false, bool $a_force_raise=false)
const LP_STATUS_COMPLETED_NUM
static _lookupPercentage(int $a_obj_id, int $a_user_id)
Lookup percentage.
const LP_STATUS_COMPLETED
const LP_STATUS_FAILED
const LP_STATUS_IN_PROGRESS_NUM
const LP_STATUS_NOT_ATTEMPTED_NUM
static _lookupStatus(int $a_obj_id, int $a_user_id, bool $a_create=true)
Lookup status.
const LP_STATUS_FAILED_NUM
const LP_STATUS_NOT_ATTEMPTED
const LP_STATUS_IN_PROGRESS
language handling
static checkPermission(string $a_permission, int $a_ref_id, ?int $a_user_id=null)
wrapper for rbac access checks
__getLegendHTML(int $variant=ilLPStatusIcons::ICON_VARIANT_LONG)
static isObjectOffline(int $a_obj_id, string $a_type='')
initEditUserForm(int $a_user_id, int $a_obj_id, ?string $a_cancel=null)
__showObjectDetails(ilInfoScreenGUI $info, int $item_id=0, bool $add_section=true)
show details about current object.
__appendLPDetails(ilInfoScreenGUI $info, int $item_id, int $user_id)
static __readStatus(int $a_obj_id, int $user_id)
@noinspection PhpInconsistentReturnPointsInspection
__construct(int $a_mode, int $a_ref_id=0, int $a_usr_id=0)
static _getStatusText(int $a_status, ?ilLanguage $a_lng=null)
Get status alt text.
__showEditUser(int $a_user_id, int $a_ref_id, ?string $a_cancel=null, int $a_sub_id=0)
static _getProgress(int $a_user_id, int $a_obj_id)
static formSelect( $selected, string $varname, array $options, bool $multiple=false, bool $direct_text=false, int $size=0, string $style_class="", array $attribs=[], bool $disabled=false)
Builds a select form field with options and shows the selected option first.
Component logger with individual log levels by component id.
static _getTypicalLearningTimeSeconds(int $a_rbac_id, int $a_obj_id=0)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
User class.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static supportsMark(string $obj_type)
static supportsMatrixView(string $obj_type)
static isSupportedObjectType(string $type)
static getInstance(int $obj_id)
static _lookupType(int $id, bool $reference=false)
static _lookupObjId(int $ref_id)
static _lookupTitle(int $obj_id)
const PANEL_STYLE_SECONDARY
static getInstance()
This class represents a property form user interface.
class ilRbacReview Contains Review functions of core Rbac.
class ilRbacSystem system function like checkAccess, addActiveRole ... Supporting system functions ar...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
special template class to simplify handling of ITX/PEAR
This class represents a text property in a property form.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static getNamePresentation( $a_user_id, bool $a_user_image=false, bool $a_profile_link=false, string $a_profile_back_link="", bool $a_force_first_lastname=false, bool $a_omit_login=false, bool $a_sortable=true, bool $a_return_data_array=false, $a_ctrl_path="ilpublicuserprofilegui")
Default behaviour is:
if(!file_exists(getcwd() . '/ilias.ini.php'))
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Definition: confirmReg.php:20
global $DIC
Definition: feed.php:28
if(isset($_FILES['img_file']) &&is_array($_FILES['img_file'])) $panel
Definition: imgupload.php:198
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setVariable(string $variable, $value='')
Sets the given variable to the given value.
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
if($DIC->http() ->request() ->getMethod()=="GET" &&isset($DIC->http() ->request() ->getQueryParams()['tex'])) $tpl
Definition: latex.php:41
static http()
Fetches the global http state from ILIAS.
$type