40 protected array
$export_material = array(
"js" => array(),
"images" => array(),
"files" => array());
51 bool $a_enable_comments =
true
55 $this->tpl =
$DIC[
"tpl"];
56 $this->
ctrl = $DIC->ctrl();
57 $this->
user = $DIC->user();
58 $this->obj_definition =
$DIC[
"objDefinition"];
59 $this->
access = $DIC->access();
60 $this->tree =
$DIC->repositoryTree();
61 $this->
lng = $DIC->language();
63 $this->port_request =
$DIC->portfolio()
67 $this->ui_fac =
$DIC->ui()->factory();
68 $this->ui_ren =
$DIC->ui()->renderer();
70 $this->portfolio_id = $a_portfolio_id;
71 $this->enable_comments = $a_enable_comments;
80 "LOCATION_SYNTAX_STYLESHEET",
84 $this->requested_ppage = $this->port_request->getPortfolioPageId();
110 $next_class = $this->
ctrl->getNextClass($this);
111 $cmd = $this->
ctrl->getCmd();
113 switch ($next_class) {
114 case "ilcalendarmonthgui":
115 $this->
ctrl->saveParameter($this,
"chuid");
117 if ($cmd && $cmd !==
"preview") {
119 if ($categories->getMode() === 0) {
120 $chuid = $this->port_request->getConsultationHourUserId();
122 $categories->setCHUserId($chuid);
127 $req_seed = $this->port_request->getCalendarSeed();
128 if ($req_seed !==
"") {
135 return (
string) $ilCtrl->forwardCommand($month_gui);
143 return (
string) parent::executeCommand();
157 return parent::showPage();
160 public function getTabs(
string $a_activate =
""): void
162 if (!$this->embedded) {
163 parent::getTabs($a_activate);
172 $this->embedded = $a_value;
180 $this->additional = $a_additional;
199 "Profile" => array(
"0-9",
"a-z",
"0-9a-z_;\W"),
200 "Verification" => array(
"0-9",
"a-z",
"0-9"),
201 "Blog" => array(
"0-9",
"0-9",
"0-9;\W"),
202 "BlogTeaser" => array(
"0-9",
"0-9",
"0-9;\W"),
203 "Skills" => array(
"0-9",
"0-9"),
204 "SkillsTeaser" => array(
"0-9",
"0-9"),
205 "ConsultationHours" => array(
"0-9",
"a-z",
"0-9;\W"),
206 "ConsultationHoursTeaser" => array(
"0-9",
"a-z",
"0-9;\W"),
207 "MyCourses" => array(
"0-9",
"a-z*"),
208 "MyCoursesTeaser" => array(
"0-9",
"a-z*")
211 foreach (
$parts as $type => $def) {
213 $def_parts = array();
214 foreach ($def as $part) {
215 $is_opt = (substr($part, -1) ===
"*");
222 $part = substr($part, 0, -1);
224 $def_parts[] =
"([" . $part .
"]" . $end_marker .
")";
226 $def = implode(
"", $def_parts);
229 "/" . $this->pl_start . $type . $def . $this->pl_end .
"/",
233 foreach ($blocks[0] as $idx => $block) {
240 case "ConsultationHours":
241 case "ConsultationHoursTeaser":
243 case "MyCoursesTeaser":
245 if (trim(($blocks[3][$idx] ??
""))) {
246 foreach (explode(
";", $blocks[3][$idx]) as $sub) {
248 $subs[] = trim($sub);
252 $snippet = $this->{
"render" . $type}(
260 $snippet = $this->{
"render" . $type}(
269 $a_output = str_replace($block, $snippet, $a_output);
289 string $a_options =
""
293 $options =
'<div class="il_Footer">' . $this->
lng->txt(
"prtf_page_element_teaser_settings") .
294 ": " . $a_options .
'</div>';
297 return '<div style="margin:5px" class="ilBox"><h3>' . $a_title .
'</h3>' .
298 '<div class="il_Description_no_margin">' . $this->
lng->txt(
"prtf_page_element_teaser_" . $a_type) .
'</div>' .
305 ?array $a_fields =
null
307 $ilCtrl = $this->
ctrl;
309 $user_id = $this->getPageContentUserId($a_user_id);
312 $pub_profile->setEmbedded(
true, ($this->getOutputMode() ===
"offline"));
315 $pub_profile->setAdditional($this->getAdditional());
317 if ($a_type ===
"manual" && is_array($a_fields) && count($a_fields) > 0) {
319 foreach ($a_fields as $field) {
320 $field = trim($field);
322 $prefs[
"public_" . $field] =
"y";
326 $pub_profile->setCustomPrefs($prefs);
329 if ($this->getOutputMode() !==
"offline") {
330 return $ilCtrl->getHTML($pub_profile);
333 return $pub_profile->getEmbeddable();
344 $objDefinition = $this->obj_definition;
346 $outputMode = $this->getOutputMode();
350 if ($a_type ===
'crta' && $outputMode ===
'offline') {
353 $certificatePdfFile = $fileService->createCertificateFilePath($a_user_id, $a_id);
354 $this->export_material[
"files"][] = $certificatePdfFile;
356 $url =
'files/' . basename($certificatePdfFile);
360 return $this->createPersistentCertificateUrl($a_id, $userCertificateRepository,
$url);
363 if ($a_type ===
'crta' && $outputMode ===
'print') {
365 $url = $this->getPagePermaLink();
367 return $this->createPersistentCertificateUrl($a_id, $userCertificateRepository,
$url);
370 if ($a_type ===
'crta') {
371 $this->
ctrl->setParameter($this,
"dlid", $a_id);
372 $url = $this->
ctrl->getLinkTarget($this,
"dl" . $a_type);
373 $this->
ctrl->setParameter($this,
"dlid",
"");
377 return $this->createPersistentCertificateUrl($a_id, $userCertificateRepository,
$url);
381 return $this->
lng->txt(
'deleted');
384 $class =
"ilObj" . $objDefinition->getClassName($a_type) .
"GUI";
387 if ($outputMode ===
"print") {
388 $url = $this->getPagePermaLink();
389 } elseif ($outputMode !==
"offline") {
391 $this->
ctrl->setParameter($this,
"dlid", $a_id);
392 $url = $this->
ctrl->getLinkTarget($this,
"dl" . $a_type);
393 $this->
ctrl->setParameter($this,
"dlid",
"");
395 $file = $verification->getObject()->getFilePath();
396 $url =
"files/" . basename($file);
398 $this->export_material[
"files"][] = $file;
401 return $verification->render(
true,
$url);
406 $id = $this->port_request->getVerificationId();
409 $verification->downloadFromPortfolioPage($this->getPortfolioPage());
415 $id = $this->port_request->getVerificationId();
418 $verification->downloadFromPortfolioPage($this->getPortfolioPage());
424 $id = $this->port_request->getVerificationId();
427 $verification->downloadFromPortfolioPage($this->getPortfolioPage());
433 $id = $this->port_request->getVerificationId();
436 $verification->downloadFromPortfolioPage($this->getPortfolioPage());
442 $id = $this->port_request->getVerificationId();
445 $verification->downloadFromPortfolioPage($this->getPortfolioPage());
451 $id = $this->port_request->getVerificationId();
454 $verification->downloadFromPortfolioPage($this->getPortfolioPage());
460 $objectId = $this->port_request->getVerificationId();
463 $object->downloadFromPortfolioPage($this->getPortfolioPage(), $objectId, $this->
user->getId());
470 ?array $a_posting_ids =
null
476 if ($a_posting_ids) {
477 $postings = array(
"<ul>");
478 foreach ($a_posting_ids as
$post) {
480 $postings[] =
"<li>" .
$post->getTitle() .
" - " .
483 $postings[] =
"</ul>";
484 $postings = implode(
"\n", $postings);
487 return $this->renderTeaser(
"blog", $this->
lng->txt(
"obj_blog") .
' "' .
495 if ($this->getOutputMode() ===
"preview") {
496 return $this->renderSkillsTeaser($a_user_id, $a_skills_id);
499 $user_id = $this->getPageContentUserId($a_user_id);
502 if ($this->getOutputMode() ===
"offline") {
503 $gui->setOfflineMode(
"./files/");
505 return $gui->getSkillHTML($a_skills_id,
$user_id);
515 return $this->renderTeaser(
"skills", $this->
lng->txt(
"skills") .
' "' .
522 ?array $a_group_ids =
null
526 if ($a_mode ===
"auto") {
527 $mode = $this->
lng->txt(
"cont_cach_mode_automatic");
544 $this->
lng->loadLanguageModule(
"dateplaner");
545 return $this->renderTeaser(
546 "consultation_hours",
547 $this->
lng->txt(
"app_consultation_hours"),
555 ?array $a_group_ids =
null
557 $ilUser = $this->
user;
558 if ($this->getOutputMode() ===
"preview") {
559 return $this->renderConsultationHoursTeaser($a_user_id, $a_mode, $a_group_ids);
562 if ($this->getOutputMode() ===
"offline") {
566 if ($this->getOutputMode() ===
"print") {
570 $user_id = $this->getPageContentUserId($a_user_id);
574 if ($ilUser->getId() !==
$user_id) {
579 if ($a_mode !==
"manual") {
583 if (!self::$calender_initialized) {
589 self::$calender_initialized =
true;
592 $seed = $this->port_request->getCalendarSeed();
601 $month_gui->setBkId($bkid);
603 $month_gui->setConsulationHoursUserId(
$user_id);
607 $month_gui->addScheduleFilter($filter);
611 $this->
lng->loadLanguageModule(
"dateplaner");
612 return '<h3>' . $this->
lng->txt(
"app_consultation_hours") .
'</h3>' .
613 $this->
ctrl->getHTML($month_gui);
619 return (
bool) $prfa_set->get(
"mycrs",
true);
629 $title = $this->isMyCoursesActive()
631 :
"my_courses_inactive";
633 return $this->renderTeaser(
635 $this->
lng->txt(
"prtf_page_element_my_courses_title")
641 string $a_default_sorting
643 $ilAccess = $this->
access;
644 $ilUser = $this->user;
645 $ilCtrl = $this->ctrl;
647 if ($this->getOutputMode() ===
"preview") {
648 return $this->renderMyCoursesTeaser($a_user_id, $a_default_sorting);
651 if (!$this->isMyCoursesActive()) {
658 $user_id = $this->getPageContentUserId($a_user_id);
661 $req_sorting = $this->port_request->getCourseSorting();
662 if (in_array($req_sorting, array(
"alpha",
"loc"))) {
663 $ilUser->writePref(
"prtf_mcrs_sort", $req_sorting);
665 $sorting = $ilUser->getPref(
"prtf_mcrs_sort");
667 $sorting = $a_default_sorting;
670 $data = $this->getCoursesOfUser(
$user_id, ($sorting ===
"loc"));
672 if ($sorting !==
"loc") {
678 $tpl =
new ilTemplate(
"tpl.pc_my_courses.html",
true,
true,
"components/ILIAS/Portfolio");
679 $tpl->setVariable(
"TITLE", $this->
lng->txt(
"prtf_page_element_my_courses_title"));
680 $tpl->setVariable(
"INFO", $this->
lng->txt(
"prtf_page_element_my_courses_info"));
682 $this->
lng->loadLanguageModule(
"trac");
683 $this->
lng->loadLanguageModule(
"crs");
686 if ($this->getOutputMode() !==
"print") {
688 "alpha" => $this->
lng->txt(
"cont_mycourses_sortorder_alphabetical"),
689 "loc" => $this->lng->txt(
"cont_mycourses_sortorder_location")
701 [
"onchange" =>
"form.submit()"]
704 $tpl->setVariable(
"SORT_FORM", $this->getCourseSortAction($ilCtrl));
709 foreach (
$data as $course) {
710 if (($sorting ===
"loc") && $course[
"path"] != $old_path) {
711 $tpl->setCurrentBlock(
"path_bl");
712 $tpl->setVariable(
"PATH", $course[
"path"]);
713 $tpl->parseCurrentBlock();
715 $old_path = $course[
"path"];
718 if (isset($course[
"lp_status"])) {
719 $lp_icon_rendered = $lp_icons->renderIconForStatus($course[
"lp_status"]);
721 $tpl->setCurrentBlock(
"lp_bl");
722 $tpl->setVariable(
"LP_ICON", $lp_icon_rendered);
723 $tpl->parseCurrentBlock();
728 $do_links = $ilAccess->checkAccessOfUser($ilUser->getId(),
"read",
"", $course[
"ref_id"],
"crs") ||
729 ($ilAccess->checkAccessOfUser($ilUser->getId(),
"visible",
"", $course[
"ref_id"],
"crs") &&
730 $ilAccess->checkAccessOfUser($ilUser->getId(),
"join",
"", $course[
"ref_id"],
"crs"));
733 if (isset($course[
"objectives"])) {
735 $has_initial_test = (bool) $loc_settings->getInitialTest();
737 foreach ($course[
"objectives"] as $objtv) {
739 $params = array(
"oobj" => $objtv[
"id"]);
740 $url = ilLink::_getLink($course[
"ref_id"],
"crs",
$params);
743 $url .=
"#objtv_acc_" . $objtv[
"id"];
745 if ($this->getOutputMode() !==
"print") {
746 $tpl->touchBlock(
"objective_dnone");
749 $tpl->setCurrentBlock(
"objective_link_bl");
751 $objtv_link = $this->ui_fac->link()->standard(
755 if (trim($objtv[
"desc"] ??
"") !==
"") {
756 $desc = nl2br($objtv[
"desc"]);
757 $objtv_link = $objtv_link->withHelpTopics(...$this->ui_fac->helpTopics($desc));
760 $tpl->setVariable(
"OBJECTIVE_LINK", $this->ui_ren->render($objtv_link));
762 $tpl->setCurrentBlock(
"objective_nolink_bl");
763 $tpl->setVariable(
"OBJECTIVE_NOLINK_TITLE", $objtv[
"title"]);
765 $tpl->parseCurrentBlock();
769 $objtv_icon = $img_path . basename($objtv_icon);
772 $tpl->setCurrentBlock(
"objective_bl");
773 $tpl->setVariable(
"OBJTV_ICON_URL", $objtv_icon);
774 $tpl->setVariable(
"OBJTV_ICON_ALT", $this->
lng->txt(
"crs_objectives"));
776 if (isset($objtv[
"type"])) {
790 $tpl->parseCurrentBlock();
793 $tpl->setCurrentBlock(
"objectives_bl");
794 $tpl->setVariable(
"OBJTV_LIST_CRS_ID", $course[
"obj_id"]);
795 $tpl->parseCurrentBlock();
800 $tpl->setCurrentBlock(
"course_link_bl");
801 $tpl->setVariable(
"COURSE_LINK_TITLE", $course[
"title"]);
802 $tpl->setVariable(
"COURSE_LINK_URL", ilLink::_getLink($course[
"ref_id"]));
804 $tpl->setCurrentBlock(
"course_nolink_bl");
805 $tpl->setVariable(
"COURSE_NOLINK_TITLE", $course[
"title"]);
807 $tpl->parseCurrentBlock();
811 $crs_icon = $img_path . basename($crs_icon);
814 $tpl->setCurrentBlock(
"course_bl");
816 if (isset($course[
"objectives"])) {
817 $tpl->setVariable(
"TOGGLE_CLASS",
"ilPCMyCoursesToggle");
819 $tpl->setVariable(
"NO_TOGGLE",
' style="visibility:hidden;"');
822 $tpl->setVariable(
"CRS_ICON_URL", $crs_icon);
823 $tpl->setVariable(
"CRS_ICON_ALT", $this->
lng->txt(
"obj_crs"));
824 $tpl->parseCurrentBlock();
828 if (!self::$initialized) {
829 $GLOBALS[
"tpl"]->addJavaScript(
"assets/js/ilPortfolio.js");
830 $GLOBALS[
"tpl"]->addOnLoadCode(
"ilPortfolio.init()");
832 self::$initialized++;
849 bool $a_add_path =
false
858 $repo_title = $repo_title[
"title"];
859 if ($repo_title ==
"ILIAS") {
860 $repo_title = $this->
lng->txt(
"repository");
863 $references = $lp_obj_refs = array();
864 foreach ($items as $obj_id) {
871 if ($active && $visible) {
881 $path[] = $item[
"title"];
884 if (count(
$path) === 2) {
889 $references[
$ref_id][
"path_sort"] = implode(
"__",
$path);
893 array_unshift(
$path, $repo_title);
895 $references[
$ref_id][
"path"] = implode(
" › ",
$path);
898 $lp_obj_refs[$obj_id] =
$ref_id;
906 if (count($lp_obj_refs)) {
908 foreach ($lp_obj_refs as $obj_id =>
$ref_id) {
911 $references[
$ref_id][
"objectives"] = $this->parseObjectives($obj_id, $a_user_id);
921 foreach ($lp_data as $item) {
923 $references[
$ref_id][
"lp_status"] = $item[
"status"];
931 protected function parseObjectives(
939 $coll_objtv = $coll_objtv->getItems();
942 $lo_results = $this->parseLOUserResults($a_obj_id, $a_user_id);
948 foreach ($coll_objtv as $objective_id) {
952 $tmp[$objective_id] = array(
953 "id" => $objective_id,
954 "title" => $title[
"title"],
955 "desc" => $title[
"description"],
960 if (array_key_exists($objective_id, $lo_results)) {
961 $lo_result = $lo_results[$objective_id];
962 $tmp[$objective_id][
"user_id"] = $lo_result[
"user_id"];
963 $tmp[$objective_id][
"result_perc"] = $lo_result[
"result_perc"] ??
null;
964 $tmp[$objective_id][
"limit_perc"] = $lo_result[
"limit_perc"] ??
null;
965 $tmp[$objective_id][
"status"] = $lo_result[
"status"] ??
null;
966 $tmp[$objective_id][
"type"] = $lo_result[
"type"] ??
null;
967 $tmp[$objective_id][
"initial"] = $lo_result[
"initial"] ??
null;
972 foreach ($coll_objtv as $objtv_id) {
973 $res[] = $tmp[$objtv_id];
982 int $a_course_obj_id,
986 $initial_status =
"";
989 foreach ($lur->getCourseResultsForUserPresentation() as $objective_id => $types) {
1005 $result[
"initial_status"] = $initial_status;
1007 $res[$objective_id] = $result;
1015 return $this->export_material;
1020 $ilCtrl = $this->ctrl;
1022 $ilUser = $this->user;
1025 $start = strpos($a_html,
"{{{{{PlaceHolder#");
1026 if (is_int($start)) {
1027 $end = strpos($a_html,
"}}}}}", $start);
1030 $param = substr($a_html, $start + 17, $end - $start - 17);
1036 $html =
$lng->txt(
"cont_text_placeh");
1040 $html =
$lng->txt(
"cont_media_placeh");
1044 $html =
$lng->txt(
"cont_question_placeh");
1047 case "Verification":
1048 $html =
$lng->txt(
"cont_verification_placeh");
1054 && $this->getOutputMode() ===
"presentation") {
1057 $ilCtrl->setParameterByClass(
"ilportfoliopagegui",
"prt_id", $this->port_request->getPortfolioId());
1058 $ilCtrl->setParameterByClass(
"ilportfoliopagegui",
"ppage", $this->
getId());
1059 $ilCtrl->setParameterByClass(
"ilportfoliopagegui",
"pl_pc_id",
$param[0]);
1060 $ilCtrl->setParameterByClass(
"ilportfoliopagegui",
"pl_hier_id",
$param[1]);
1061 $href = $ilCtrl->getLinkTargetByClass(
"ilportfoliopagegui",
"insertJSAtPlaceholder");
1062 $html =
"<a href='" . $href .
"'>" . $html .
"</a>";
1066 $ilCtrl->setParameterByClass(
"ilpcmediaobjectgui",
"prt_id", $this->port_request->getPortfolioId());
1067 $ilCtrl->setParameterByClass(
"ilpcmediaobjectgui",
"ppage", $this->
getId());
1068 $ilCtrl->setParameterByClass(
"ilpcmediaobjectgui",
"pl_pc_id",
$param[0]);
1069 $ilCtrl->setParameterByClass(
"ilpcmediaobjectgui",
"pl_hier_id",
$param[1]);
1070 $ilCtrl->setParameterByClass(
"ilpcmediaobjectgui",
"subCmd",
"insertNew");
1071 $href = $ilCtrl->getLinkTargetByClass(array(
"ilPortfolioPageGUI",
"ilPageEditorGUI",
"ilPCPlaceHolderGUI",
"ilpcmediaobjectgui"),
"insert");
1072 $html =
"<a href='" . $href .
"'>" . $html .
"</a>";
1089 $h2 = substr($a_html, 0, $start) .
1091 substr($a_html, $end + 5);
1094 $start = strpos($a_html,
"{{{{{PlaceHolder#", $start + 5);
1096 if (is_int($start)) {
1097 $end = strpos($a_html,
"}}}}}", $start);
1107 $ctrl =
$DIC->ctrl();
1109 $ctrl->setParameterByClass(
"ilobjportfoliogui",
"user_page", $this->requested_ppage);
1110 return $ctrl->getLinkTargetByClass(
"ilobjportfoliogui",
"preview");
1115 return $this->
lng->txt(
"preview");
1130 $presentation = $userCertificateRepository->fetchActiveCertificateForPresentation($this->
user->
getId(), $a_id);
1131 }
catch (Exception
$e) {
1134 $caption = $this->
lng->txt(
'certificate') .
': ';
1135 $caption .= $this->
lng->txt($presentation->getUserCertificate()->getObjType()) .
' ';
1136 $caption .=
'"' . $presentation->getObjectTitle() .
'"';
1138 return '<div><a href="' .
$url .
'">' . $caption .
'</a></div>';
1144 $this->portfolio_id,
1145 $this->getPageObject()->
getId(),
1148 $notes_gui->enablePublicNotes(
true);
1149 $notes_gui->setRepositoryMode(
false);
1150 $notes_gui->setExportMode();
1151 return $notes_gui->getListHTML();
1156 $this->
ctrl->redirectByClass(
"ilObjPortfolioGUI",
"view");
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
GUI class for public user profile presentation.
static sortArray(array $array, string $a_array_sortby_key, string $a_array_sortorder="asc", bool $a_numeric=false, bool $a_keep_keys=false)
const MODE_PORTFOLIO_CONSULTATION
static _getInstance($a_usr_id=0)
get singleton instance
Calendar schedule filter for consultation hour bookings.
static buildObjectiveProgressBar(bool $a_has_initial_test, int $a_objective_id, array $a_lo_result, bool $a_list_mode=false, bool $a_sub=false, ?string $a_tt_suffix=null)
Render progressbar(s) for given objective and result data.
const IL_CRS_VIEW_OBJECTIVE
static lookupObjectiveTitle(int $a_objective_id, bool $a_add_description=false)
Class ilCtrl provides processing control methods.
getFormActionByClass( $a_class, ?string $a_fallback_cmd=null, ?string $a_anchor=null, bool $is_async=false, bool $has_xml_style=false)
@inheritDoc
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false, ?ilObjUser $user=null,)
const TYPE_TEST_QUALIFIED
static getInstanceByObjId(int $a_obj_id)
static getInstance(int $a_container_id)
LP collection of objectives.
static getInstance(int $variant=ilLPStatusIcons::ICON_VARIANT_DEFAULT, ?\ILIAS\UI\Renderer $renderer=null, ?\ILIAS\UI\Factory $factory=null)
static _getStaticLink(?int $a_ref_id, string $a_type='', bool $a_fallback_goto=true, string $append="")
static _isActivated(int $a_obj_id, ?bool &$a_visible_flag=null, bool $a_mind_member_view=true)
GUI class for course verification.
static _lookupViewMode(int $a_id)
GUI class for exercise verification.
GUI class for scorm verification.
static getSyntaxStylePath()
GUI class for test verification.
static _hasLearningProgressLearner()
static _enabledLearningProgress()
static _enabledUserRelatedData()
const WORKSPACE_OBJECT_ID
parses the objects.xml it handles the xml-description of all ilias objects
static _getIcon(int $obj_id=0, string $size="big", string $type="", bool $offline=false)
Get icon for repository item.
static _lookupOwner(int $obj_id)
Lookup owner user ID for object ID.
static _getAllReferences(int $id)
get all reference ids for object ID
static _exists(int $id, bool $reference=false, ?string $type=null)
checks if an object exists in object_data
static _lookupTitle(int $obj_id)
setPresentationTitle(string $a_title="")
setTemplateOutput(bool $a_output=true)
ilGlobalTemplateInterface $tpl
static _getMembershipByType(int $a_usr_id, array $a_type, bool $a_only_member_role=false)
get membership by type Get course or group membership
Personal skills GUI class.
Portfolio page gui class.
getTabs(string $a_activate="")
renderConsultationHoursTeaser(int $a_user_id, string $a_mode, ?array $a_group_ids=null)
renderVerification(int $a_user_id, string $a_type, int $a_id)
getCourseSortAction(ilCtrl $ctrl)
Get course sort action.
executeCommand()
execute command
__construct(int $a_portfolio_id, int $a_id=0, int $a_old_nr=0, bool $a_enable_comments=true)
renderProfile(int $a_user_id, string $a_type, ?array $a_fields=null)
postOutputProcessing(string $a_output)
Finalizing output processing.
renderMyCoursesTeaser(int $a_user_id, $a_default_sorting)
renderPageElement(string $a_type, string $a_html)
ilObjectDefinition $obj_definition
renderTeaser(string $a_type, string $a_title, string $a_options="")
renderMyCourses(int $a_user_id, string $a_default_sorting)
makePlaceHoldersClickable(string $a_html)
getCoursesOfUser(int $a_user_id, bool $a_add_path=false)
getPageContentUserId(int $a_user_id)
getAdditional()
Get Additonal Information.
setEmbedded(bool $a_value)
Set embedded mode: will suppress tabs.
setAdditional(array $a_additional)
Set Additonal Information.
renderSkillsTeaser(int $a_user_id, int $a_skills_id)
renderConsultationHours(int $a_user_id, string $a_mode, ?array $a_group_ids=null)
static bool $calender_initialized
ILIAS UI Renderer $ui_ren
showPage()
display content of page
renderBlogTeaser(int $a_user_id, int $a_blog_id, ?array $a_posting_ids=null)
renderSkills(int $a_user_id, int $a_skills_id)
parseLOUserResults(int $a_course_obj_id, int $a_user_id)
ILIAS Portfolio StandardGUIRequest $port_request
createPersistentCertificateUrl(int $a_id, ilUserCertificateRepository $userCertificateRepository, string $url)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static findPortfolioForPage(int $a_page_id)
Get portfolio id of page id.
A node in the skill tree.
special template class to simplify handling of ITX/PEAR
static getObjectsStatusForUser(int $a_user_id, array $obj_refs)
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
getPathFull(int $a_endnode_id, int $a_startnode_id=0)
get path from a given startnode to a given endnode if startnode is not given the rootnode is startnod...
isDeleted(int $a_node_id)
This is a wrapper for isSaved() with a more useful name.
getNodeData(int $a_node_id, ?int $a_tree_pk=null)
get all information of a node.
static getStyleSheetLocation(string $mode="output", string $a_css_name="")
get full style sheet file name (path inclusive) of current user
return['delivery_method'=> 'php',]
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.
parseCurrentBlock(string $block_name=self::DEFAULT_BLOCK)
Parses the given block.
setCurrentBlock(string $part=self::DEFAULT_BLOCK)
Sets the template to the given block.
if(! $DIC->user() ->getId()||!ilLTIConsumerAccess::hasCustomProviderCreationAccess()) $params
if($clientAssertionType !='urn:ietf:params:oauth:client-assertion-type:jwt-bearer'|| $grantType !='client_credentials') $parts
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
if(!file_exists('../ilias.ini.php'))