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",
87 "LOCATION_CONTENT_STYLESHEET",
92 $this->requested_ppage = $this->port_request->getPortfolioPageId();
118 $next_class = $this->
ctrl->getNextClass($this);
119 $cmd = $this->
ctrl->getCmd();
121 switch ($next_class) {
122 case "ilcalendarmonthgui":
123 $this->
ctrl->saveParameter($this,
"chuid");
125 if ($cmd && $cmd !==
"preview") {
127 if ($categories->getMode() === 0) {
128 $chuid = $this->port_request->getConsultationHourUserId();
130 $categories->setCHUserId($chuid);
135 $req_seed = $this->port_request->getCalendarSeed();
136 if ($req_seed !==
"") {
143 return (
string) $ilCtrl->forwardCommand($month_gui);
151 return (
string) parent::executeCommand();
165 return parent::showPage();
168 public function getTabs(
string $a_activate =
""): void
170 if (!$this->embedded) {
171 parent::getTabs($a_activate);
180 $this->embedded = $a_value;
188 $this->additional = $a_additional;
207 "Profile" => array(
"0-9",
"a-z",
"0-9a-z_;\W"),
208 "Verification" => array(
"0-9",
"a-z",
"0-9"),
209 "Blog" => array(
"0-9",
"0-9",
"0-9;\W"),
210 "BlogTeaser" => array(
"0-9",
"0-9",
"0-9;\W"),
211 "Skills" => array(
"0-9",
"0-9"),
212 "SkillsTeaser" => array(
"0-9",
"0-9"),
213 "ConsultationHours" => array(
"0-9",
"a-z",
"0-9;\W"),
214 "ConsultationHoursTeaser" => array(
"0-9",
"a-z",
"0-9;\W"),
215 "MyCourses" => array(
"0-9",
"a-z*"),
216 "MyCoursesTeaser" => array(
"0-9",
"a-z*")
219 foreach (
$parts as $type => $def) {
221 $def_parts = array();
222 foreach ($def as $part) {
223 $is_opt = (substr($part, -1) ===
"*");
230 $part = substr($part, 0, -1);
232 $def_parts[] =
"([" . $part .
"]" . $end_marker .
")";
234 $def = implode(
"", $def_parts);
237 "/" . $this->pl_start . $type . $def . $this->pl_end .
"/",
241 foreach ($blocks[0] as $idx => $block) {
248 case "ConsultationHours":
249 case "ConsultationHoursTeaser":
251 case "MyCoursesTeaser":
253 if (trim(($blocks[3][$idx] ??
""))) {
254 foreach (explode(
";", $blocks[3][$idx]) as $sub) {
256 $subs[] = trim($sub);
260 $snippet = $this->{
"render" . $type}(
268 $snippet = $this->{
"render" . $type}(
277 $a_output = str_replace($block, $snippet, $a_output);
297 string $a_options =
""
301 $options =
'<div class="il_Footer">' . $this->
lng->txt(
"prtf_page_element_teaser_settings") .
302 ": " . $a_options .
'</div>';
305 return '<div style="margin:5px" class="ilBox"><h3>' . $a_title .
'</h3>' .
306 '<div class="il_Description_no_margin">' . $this->
lng->txt(
"prtf_page_element_teaser_" . $a_type) .
'</div>' .
313 ?array $a_fields =
null
315 $ilCtrl = $this->
ctrl;
317 $user_id = $this->getPageContentUserId($a_user_id);
320 $pub_profile->setEmbedded(
true, ($this->getOutputMode() ===
"offline"));
323 $pub_profile->setAdditional($this->getAdditional());
325 if ($a_type ===
"manual" && is_array($a_fields) && count($a_fields) > 0) {
327 foreach ($a_fields as $field) {
328 $field = trim($field);
330 $prefs[
"public_" . $field] =
"y";
334 $pub_profile->setCustomPrefs($prefs);
337 if ($this->getOutputMode() !==
"offline") {
338 return $ilCtrl->getHTML($pub_profile);
341 return $pub_profile->getEmbeddable();
352 $objDefinition = $this->obj_definition;
354 $outputMode = $this->getOutputMode();
358 if ($a_type ===
'crta' && $outputMode ===
'offline') {
361 $certificatePdfFile = $fileService->createCertificateFilePath($a_user_id, $a_id);
362 $this->export_material[
"files"][] = $certificatePdfFile;
364 $url =
'files/' . basename($certificatePdfFile);
368 return $this->createPersistentCertificateUrl($a_id, $userCertificateRepository,
$url);
371 if ($a_type ===
'crta' && $outputMode ===
'print') {
373 $url = $this->getPagePermaLink();
375 return $this->createPersistentCertificateUrl($a_id, $userCertificateRepository,
$url);
378 if ($a_type ===
'crta') {
379 $this->
ctrl->setParameter($this,
"dlid", $a_id);
380 $url = $this->
ctrl->getLinkTarget($this,
"dl" . $a_type);
381 $this->
ctrl->setParameter($this,
"dlid",
"");
385 return $this->createPersistentCertificateUrl($a_id, $userCertificateRepository,
$url);
389 return $this->
lng->txt(
'deleted');
392 $class =
"ilObj" . $objDefinition->getClassName($a_type) .
"GUI";
395 if ($outputMode ===
"print") {
396 $url = $this->getPagePermaLink();
397 } elseif ($outputMode !==
"offline") {
399 $this->
ctrl->setParameter($this,
"dlid", $a_id);
400 $url = $this->
ctrl->getLinkTarget($this,
"dl" . $a_type);
401 $this->
ctrl->setParameter($this,
"dlid",
"");
403 $file = $verification->getObject()->getFilePath();
404 $url =
"files/" . basename($file);
406 $this->export_material[
"files"][] = $file;
409 return $verification->render(
true,
$url);
414 $id = $this->port_request->getVerificationId();
417 $verification->downloadFromPortfolioPage($this->getPortfolioPage());
423 $id = $this->port_request->getVerificationId();
426 $verification->downloadFromPortfolioPage($this->getPortfolioPage());
432 $id = $this->port_request->getVerificationId();
435 $verification->downloadFromPortfolioPage($this->getPortfolioPage());
441 $id = $this->port_request->getVerificationId();
444 $verification->downloadFromPortfolioPage($this->getPortfolioPage());
450 $id = $this->port_request->getVerificationId();
453 $verification->downloadFromPortfolioPage($this->getPortfolioPage());
459 $id = $this->port_request->getVerificationId();
462 $verification->downloadFromPortfolioPage($this->getPortfolioPage());
468 $objectId = $this->port_request->getVerificationId();
471 $object->downloadFromPortfolioPage($this->getPortfolioPage(), $objectId, $this->
user->getId());
478 ?array $a_posting_ids =
null
484 if ($a_posting_ids) {
485 $postings = array(
"<ul>");
486 foreach ($a_posting_ids as
$post) {
488 $postings[] =
"<li>" .
$post->getTitle() .
" - " .
491 $postings[] =
"</ul>";
492 $postings = implode(
"\n", $postings);
495 return $this->renderTeaser(
"blog", $this->
lng->txt(
"obj_blog") .
' "' .
503 if ($this->getOutputMode() ===
"preview") {
504 return $this->renderSkillsTeaser($a_user_id, $a_skills_id);
507 $user_id = $this->getPageContentUserId($a_user_id);
510 if ($this->getOutputMode() ===
"offline") {
511 $gui->setOfflineMode(
"./files/");
513 return $gui->getSkillHTML($a_skills_id,
$user_id);
523 return $this->renderTeaser(
"skills", $this->
lng->txt(
"skills") .
' "' .
530 ?array $a_group_ids =
null
534 if ($a_mode ===
"auto") {
535 $mode = $this->
lng->txt(
"cont_cach_mode_automatic");
552 $this->
lng->loadLanguageModule(
"dateplaner");
553 return $this->renderTeaser(
554 "consultation_hours",
555 $this->
lng->txt(
"app_consultation_hours"),
563 ?array $a_group_ids =
null
565 $ilUser = $this->
user;
566 if ($this->getOutputMode() ===
"preview") {
567 return $this->renderConsultationHoursTeaser($a_user_id, $a_mode, $a_group_ids);
570 if ($this->getOutputMode() ===
"offline") {
574 if ($this->getOutputMode() ===
"print") {
578 $user_id = $this->getPageContentUserId($a_user_id);
582 if ($ilUser->getId() !==
$user_id) {
587 if ($a_mode !==
"manual") {
591 if (!self::$calender_initialized) {
597 self::$calender_initialized =
true;
600 $seed = $this->port_request->getCalendarSeed();
609 $month_gui->setBkId($bkid);
611 $month_gui->setConsulationHoursUserId(
$user_id);
615 $month_gui->addScheduleFilter($filter);
619 $this->
lng->loadLanguageModule(
"dateplaner");
620 return '<h3>' . $this->
lng->txt(
"app_consultation_hours") .
'</h3>' .
621 $this->
ctrl->getHTML($month_gui);
627 return (
bool) $prfa_set->get(
"mycrs",
true);
637 $title = $this->isMyCoursesActive()
639 :
"my_courses_inactive";
641 return $this->renderTeaser(
643 $this->
lng->txt(
"prtf_page_element_my_courses_title")
649 string $a_default_sorting
651 $ilAccess = $this->
access;
652 $ilUser = $this->user;
653 $ilCtrl = $this->ctrl;
655 if ($this->getOutputMode() ===
"preview") {
656 return $this->renderMyCoursesTeaser($a_user_id, $a_default_sorting);
659 if (!$this->isMyCoursesActive()) {
666 $user_id = $this->getPageContentUserId($a_user_id);
669 $req_sorting = $this->port_request->getCourseSorting();
670 if (in_array($req_sorting, array(
"alpha",
"loc"))) {
671 $ilUser->writePref(
"prtf_mcrs_sort", $req_sorting);
673 $sorting = $ilUser->getPref(
"prtf_mcrs_sort");
675 $sorting = $a_default_sorting;
678 $data = $this->getCoursesOfUser(
$user_id, ($sorting ===
"loc"));
680 if ($sorting !==
"loc") {
686 $tpl =
new ilTemplate(
"tpl.pc_my_courses.html",
true,
true,
"components/ILIAS/Portfolio");
687 $tpl->setVariable(
"TITLE", $this->
lng->txt(
"prtf_page_element_my_courses_title"));
688 $tpl->setVariable(
"INFO", $this->
lng->txt(
"prtf_page_element_my_courses_info"));
690 $this->
lng->loadLanguageModule(
"trac");
691 $this->
lng->loadLanguageModule(
"crs");
694 if ($this->getOutputMode() !==
"print") {
696 "alpha" => $this->
lng->txt(
"cont_mycourses_sortorder_alphabetical"),
697 "loc" => $this->lng->txt(
"cont_mycourses_sortorder_location")
709 [
"onchange" =>
"form.submit()"]
712 $tpl->setVariable(
"SORT_FORM", $this->getCourseSortAction($ilCtrl));
717 foreach (
$data as $course) {
718 if (($sorting ===
"loc") && $course[
"path"] != $old_path) {
719 $tpl->setCurrentBlock(
"path_bl");
720 $tpl->setVariable(
"PATH", $course[
"path"]);
721 $tpl->parseCurrentBlock();
723 $old_path = $course[
"path"];
726 if (isset($course[
"lp_status"])) {
727 $lp_icon_rendered = $lp_icons->renderIconForStatus($course[
"lp_status"]);
729 $tpl->setCurrentBlock(
"lp_bl");
730 $tpl->setVariable(
"LP_ICON", $lp_icon_rendered);
731 $tpl->parseCurrentBlock();
736 $do_links = $ilAccess->checkAccessOfUser($ilUser->getId(),
"read",
"", $course[
"ref_id"],
"crs") ||
737 ($ilAccess->checkAccessOfUser($ilUser->getId(),
"visible",
"", $course[
"ref_id"],
"crs") &&
738 $ilAccess->checkAccessOfUser($ilUser->getId(),
"join",
"", $course[
"ref_id"],
"crs"));
741 if (isset($course[
"objectives"])) {
743 $has_initial_test = (bool) $loc_settings->getInitialTest();
745 foreach ($course[
"objectives"] as $objtv) {
747 $params = array(
"oobj" => $objtv[
"id"]);
748 $url = ilLink::_getLink($course[
"ref_id"],
"crs",
$params);
751 $url .=
"#objtv_acc_" . $objtv[
"id"];
753 if ($this->getOutputMode() !==
"print") {
754 $tpl->touchBlock(
"objective_dnone");
757 $tpl->setCurrentBlock(
"objective_link_bl");
759 $objtv_link = $this->ui_fac->link()->standard(
763 if (trim($objtv[
"desc"] ??
"") !==
"") {
764 $desc = nl2br($objtv[
"desc"]);
765 $objtv_link = $objtv_link->withHelpTopics(...$this->ui_fac->helpTopics($desc));
768 $tpl->setVariable(
"OBJECTIVE_LINK", $this->ui_ren->render($objtv_link));
770 $tpl->setCurrentBlock(
"objective_nolink_bl");
771 $tpl->setVariable(
"OBJECTIVE_NOLINK_TITLE", $objtv[
"title"]);
773 $tpl->parseCurrentBlock();
777 $objtv_icon = $img_path . basename($objtv_icon);
780 $tpl->setCurrentBlock(
"objective_bl");
781 $tpl->setVariable(
"OBJTV_ICON_URL", $objtv_icon);
782 $tpl->setVariable(
"OBJTV_ICON_ALT", $this->
lng->txt(
"crs_objectives"));
784 if (isset($objtv[
"type"])) {
798 $tpl->parseCurrentBlock();
801 $tpl->setCurrentBlock(
"objectives_bl");
802 $tpl->setVariable(
"OBJTV_LIST_CRS_ID", $course[
"obj_id"]);
803 $tpl->parseCurrentBlock();
808 $tpl->setCurrentBlock(
"course_link_bl");
809 $tpl->setVariable(
"COURSE_LINK_TITLE", $course[
"title"]);
810 $tpl->setVariable(
"COURSE_LINK_URL", ilLink::_getLink($course[
"ref_id"]));
812 $tpl->setCurrentBlock(
"course_nolink_bl");
813 $tpl->setVariable(
"COURSE_NOLINK_TITLE", $course[
"title"]);
815 $tpl->parseCurrentBlock();
819 $crs_icon = $img_path . basename($crs_icon);
822 $tpl->setCurrentBlock(
"course_bl");
824 if (isset($course[
"objectives"])) {
825 $tpl->setVariable(
"TOGGLE_CLASS",
"ilPCMyCoursesToggle");
827 $tpl->setVariable(
"NO_TOGGLE",
' style="visibility:hidden;"');
830 $tpl->setVariable(
"CRS_ICON_URL", $crs_icon);
831 $tpl->setVariable(
"CRS_ICON_ALT", $this->
lng->txt(
"obj_crs"));
832 $tpl->parseCurrentBlock();
836 if (!self::$initialized) {
837 $GLOBALS[
"tpl"]->addJavaScript(
"assets/js/ilPortfolio.js");
838 $GLOBALS[
"tpl"]->addOnLoadCode(
"ilPortfolio.init()");
840 self::$initialized++;
857 bool $a_add_path =
false
866 $repo_title = $repo_title[
"title"];
867 if ($repo_title ==
"ILIAS") {
868 $repo_title = $this->
lng->txt(
"repository");
871 $references = $lp_obj_refs = array();
872 foreach ($items as $obj_id) {
879 if ($active && $visible) {
889 $path[] = $item[
"title"];
892 if (count(
$path) === 2) {
897 $references[
$ref_id][
"path_sort"] = implode(
"__",
$path);
901 array_unshift(
$path, $repo_title);
903 $references[
$ref_id][
"path"] = implode(
" › ",
$path);
906 $lp_obj_refs[$obj_id] =
$ref_id;
914 if (count($lp_obj_refs)) {
916 foreach ($lp_obj_refs as $obj_id =>
$ref_id) {
919 $references[
$ref_id][
"objectives"] = $this->parseObjectives($obj_id, $a_user_id);
929 foreach ($lp_data as $item) {
931 $references[
$ref_id][
"lp_status"] = $item[
"status"];
939 protected function parseObjectives(
947 $coll_objtv = $coll_objtv->getItems();
950 $lo_results = $this->parseLOUserResults($a_obj_id, $a_user_id);
956 foreach ($coll_objtv as $objective_id) {
960 $tmp[$objective_id] = array(
961 "id" => $objective_id,
962 "title" => $title[
"title"],
963 "desc" => $title[
"description"],
968 if (array_key_exists($objective_id, $lo_results)) {
969 $lo_result = $lo_results[$objective_id];
970 $tmp[$objective_id][
"user_id"] = $lo_result[
"user_id"];
971 $tmp[$objective_id][
"result_perc"] = $lo_result[
"result_perc"] ??
null;
972 $tmp[$objective_id][
"limit_perc"] = $lo_result[
"limit_perc"] ??
null;
973 $tmp[$objective_id][
"status"] = $lo_result[
"status"] ??
null;
974 $tmp[$objective_id][
"type"] = $lo_result[
"type"] ??
null;
975 $tmp[$objective_id][
"initial"] = $lo_result[
"initial"] ??
null;
980 foreach ($coll_objtv as $objtv_id) {
981 $res[] = $tmp[$objtv_id];
990 int $a_course_obj_id,
994 $initial_status =
"";
997 foreach ($lur->getCourseResultsForUserPresentation() as $objective_id => $types) {
1013 $result[
"initial_status"] = $initial_status;
1015 $res[$objective_id] = $result;
1023 return $this->export_material;
1028 $ilCtrl = $this->ctrl;
1030 $ilUser = $this->user;
1033 $start = strpos($a_html,
"{{{{{PlaceHolder#");
1034 if (is_int($start)) {
1035 $end = strpos($a_html,
"}}}}}", $start);
1038 $param = substr($a_html, $start + 17, $end - $start - 17);
1044 $html =
$lng->txt(
"cont_text_placeh");
1048 $html =
$lng->txt(
"cont_media_placeh");
1052 $html =
$lng->txt(
"cont_question_placeh");
1055 case "Verification":
1056 $html =
$lng->txt(
"cont_verification_placeh");
1062 && $this->getOutputMode() ===
"presentation") {
1065 $ilCtrl->setParameterByClass(
"ilportfoliopagegui",
"prt_id", $this->port_request->getPortfolioId());
1066 $ilCtrl->setParameterByClass(
"ilportfoliopagegui",
"ppage", $this->
getId());
1067 $ilCtrl->setParameterByClass(
"ilportfoliopagegui",
"pl_pc_id",
$param[0]);
1068 $ilCtrl->setParameterByClass(
"ilportfoliopagegui",
"pl_hier_id",
$param[1]);
1069 $href = $ilCtrl->getLinkTargetByClass(
"ilportfoliopagegui",
"insertJSAtPlaceholder");
1070 $html =
"<a href='" . $href .
"'>" . $html .
"</a>";
1074 $ilCtrl->setParameterByClass(
"ilpcmediaobjectgui",
"prt_id", $this->port_request->getPortfolioId());
1075 $ilCtrl->setParameterByClass(
"ilpcmediaobjectgui",
"ppage", $this->
getId());
1076 $ilCtrl->setParameterByClass(
"ilpcmediaobjectgui",
"pl_pc_id",
$param[0]);
1077 $ilCtrl->setParameterByClass(
"ilpcmediaobjectgui",
"pl_hier_id",
$param[1]);
1078 $ilCtrl->setParameterByClass(
"ilpcmediaobjectgui",
"subCmd",
"insertNew");
1079 $href = $ilCtrl->getLinkTargetByClass(array(
"ilPortfolioPageGUI",
"ilPageEditorGUI",
"ilPCPlaceHolderGUI",
"ilpcmediaobjectgui"),
"insert");
1080 $html =
"<a href='" . $href .
"'>" . $html .
"</a>";
1097 $h2 = substr($a_html, 0, $start) .
1099 substr($a_html, $end + 5);
1102 $start = strpos($a_html,
"{{{{{PlaceHolder#", $start + 5);
1104 if (is_int($start)) {
1105 $end = strpos($a_html,
"}}}}}", $start);
1115 $ctrl =
$DIC->ctrl();
1117 $ctrl->setParameterByClass(
"ilobjportfoliogui",
"user_page", $this->requested_ppage);
1118 return $ctrl->getLinkTargetByClass(
"ilobjportfoliogui",
"preview");
1123 return $this->
lng->txt(
"preview");
1138 $presentation = $userCertificateRepository->fetchActiveCertificateForPresentation($this->
user->
getId(), $a_id);
1139 }
catch (Exception
$e) {
1142 $caption = $this->
lng->txt(
'certificate') .
': ';
1143 $caption .= $this->
lng->txt($presentation->getUserCertificate()->getObjType()) .
' ';
1144 $caption .=
'"' . $presentation->getObjectTitle() .
'"';
1146 return '<div><a href="' .
$url .
'">' . $caption .
'</a></div>';
1152 $this->portfolio_id,
1153 $this->getPageObject()->
getId(),
1156 $notes_gui->enablePublicNotes(
true);
1157 $notes_gui->setRepositoryMode(
false);
1158 $notes_gui->setExportMode();
1159 return $notes_gui->getListHTML();
1164 $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 getContentStylePath(int $a_style_id, bool $add_random=true, bool $add_token=true)
get content style path static (to avoid full reading)
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'))