38 protected array
$export_material = array(
"js" => array(),
"images" => array(),
"files" => array());
47 bool $a_enable_comments =
true
51 $this->tpl =
$DIC[
"tpl"];
52 $this->
ctrl = $DIC->ctrl();
53 $this->
user = $DIC->user();
54 $this->obj_definition =
$DIC[
"objDefinition"];
55 $this->
access = $DIC->access();
56 $this->tree =
$DIC->repositoryTree();
57 $this->
lng = $DIC->language();
59 $this->port_request =
$DIC->portfolio()
64 $this->portfolio_id = $a_portfolio_id;
65 $this->enable_comments = $a_enable_comments;
74 "LOCATION_SYNTAX_STYLESHEET",
81 "LOCATION_CONTENT_STYLESHEET",
85 "LOCATION_ADDITIONAL_STYLESHEET",
90 $this->requested_ppage = $this->port_request->getPortfolioPageId();
116 $next_class = $this->
ctrl->getNextClass($this);
117 $cmd = $this->
ctrl->getCmd();
119 switch ($next_class) {
124 $blog_node_id = $wsp_tree->lookupNodeId($blog_obj_id);
127 $blog_gui->disableNotes(!$this->enable_comments);
128 $blog_gui->prtf_embed =
true;
129 $ilCtrl->forwardCommand($blog_gui);
130 return $blog_gui->getRenderedContent();
132 case "ilcalendarmonthgui":
133 $this->
ctrl->saveParameter($this,
"chuid");
135 if ($cmd && $cmd !==
"preview") {
137 if ($categories->getMode() === 0) {
138 $chuid = $this->port_request->getConsultationHourUserId();
140 $categories->setCHUserId($chuid);
145 $req_seed = $this->port_request->getCalendarSeed();
146 if ($req_seed !==
"") {
153 return (
string) $ilCtrl->forwardCommand($month_gui);
161 return (
string) parent::executeCommand();
174 return $this->
renderBlog(
$ilUser->getId(), (
int) $this->getPageObject()->getTitle());
179 return parent::showPage();
182 public function getTabs(
string $a_activate =
""): void
184 if (!$this->embedded) {
185 parent::getTabs($a_activate);
194 $this->embedded = $a_value;
202 $this->additional = $a_additional;
221 "Profile" => array(
"0-9",
"a-z",
"0-9a-z_;\W"),
222 "Verification" => array(
"0-9",
"a-z",
"0-9"),
223 "Blog" => array(
"0-9",
"0-9",
"0-9;\W"),
224 "BlogTeaser" => array(
"0-9",
"0-9",
"0-9;\W"),
225 "Skills" => array(
"0-9",
"0-9"),
226 "SkillsTeaser" => array(
"0-9",
"0-9"),
227 "ConsultationHours" => array(
"0-9",
"a-z",
"0-9;\W"),
228 "ConsultationHoursTeaser" => array(
"0-9",
"a-z",
"0-9;\W"),
229 "MyCourses" => array(
"0-9",
"a-z*"),
230 "MyCoursesTeaser" => array(
"0-9",
"a-z*")
235 $def_parts = array();
236 foreach ($def as $part) {
237 $is_opt = (substr($part, -1) ===
"*");
244 $part = substr($part, 0, -1);
246 $def_parts[] =
"([" . $part .
"]" . $end_marker .
")";
248 $def = implode(
"", $def_parts);
251 "/" . $this->pl_start .
$type . $def . $this->pl_end .
"/",
255 foreach ($blocks[0] as $idx => $block) {
262 case "ConsultationHours":
263 case "ConsultationHoursTeaser":
265 case "MyCoursesTeaser":
267 if (trim(($blocks[3][$idx] ??
""))) {
268 foreach (explode(
";", $blocks[3][$idx]) as $sub) {
270 $subs[] = trim($sub);
274 $snippet = $this->{
"render" .
$type}(
282 $snippet = $this->{
"render" .
$type}(
291 $a_output = str_replace($block, $snippet, $a_output);
311 string $a_options =
""
315 $options =
'<div class="il_Footer">' . $this->
lng->txt(
"prtf_page_element_teaser_settings") .
316 ": " . $a_options .
'</div>';
319 return '<div style="margin:5px" class="ilBox"><h3>' . $a_title .
'</h3>' .
320 '<div class="il_Description_no_margin">' . $this->
lng->txt(
"prtf_page_element_teaser_" . $a_type) .
'</div>' .
327 array $a_fields =
null
329 $ilCtrl = $this->
ctrl;
331 $user_id = $this->getPageContentUserId($a_user_id);
334 $pub_profile->setEmbedded(
true, ($this->getOutputMode() ===
"offline"));
337 $pub_profile->setAdditional($this->getAdditional());
339 if ($a_type ===
"manual" && is_array($a_fields) && count($a_fields) > 0) {
341 foreach ($a_fields as $field) {
342 $field = trim($field);
344 $prefs[
"public_" . $field] =
"y";
348 $pub_profile->setCustomPrefs($prefs);
351 if ($this->getOutputMode() !==
"offline") {
352 return $ilCtrl->getHTML($pub_profile);
355 return $pub_profile->getEmbeddable();
366 $objDefinition = $this->obj_definition;
368 $outputMode = $this->getOutputMode();
372 if ($a_type ===
'crta' && $outputMode ===
'offline') {
375 $certificatePdfFile = $fileService->createCertificateFilePath($a_user_id, $a_id);
376 $this->export_material[
"files"][] = $certificatePdfFile;
378 $url =
'files/' . basename($certificatePdfFile);
382 return $this->createPersistentCertificateUrl($a_id, $userCertificateRepository,
$url);
385 if ($a_type ===
'crta' && $outputMode ===
'print') {
387 $url = $this->getPagePermaLink();
389 return $this->createPersistentCertificateUrl($a_id, $userCertificateRepository,
$url);
392 if ($a_type ===
'crta') {
393 $this->
ctrl->setParameter($this,
"dlid", $a_id);
394 $url = $this->
ctrl->getLinkTarget($this,
"dl" . $a_type);
395 $this->
ctrl->setParameter($this,
"dlid",
"");
399 return $this->createPersistentCertificateUrl($a_id, $userCertificateRepository,
$url);
403 return $this->
lng->txt(
'deleted');
406 $class =
"ilObj" . $objDefinition->getClassName($a_type) .
"GUI";
409 if ($outputMode ===
"print") {
410 $url = $this->getPagePermaLink();
411 } elseif ($outputMode !==
"offline") {
413 $this->
ctrl->setParameter($this,
"dlid", $a_id);
414 $url = $this->
ctrl->getLinkTarget($this,
"dl" . $a_type);
415 $this->
ctrl->setParameter($this,
"dlid",
"");
417 $file = $verification->getObject()->getFilePath();
418 $url =
"files/" . basename($file);
420 $this->export_material[
"files"][] = $file;
423 return $verification->render(
true,
$url);
428 $id = $this->port_request->getVerificationId();
431 $verification->downloadFromPortfolioPage($this->getPortfolioPage());
437 $id = $this->port_request->getVerificationId();
440 $verification->downloadFromPortfolioPage($this->getPortfolioPage());
446 $id = $this->port_request->getVerificationId();
449 $verification->downloadFromPortfolioPage($this->getPortfolioPage());
455 $id = $this->port_request->getVerificationId();
458 $verification->downloadFromPortfolioPage($this->getPortfolioPage());
464 $id = $this->port_request->getVerificationId();
467 $verification->downloadFromPortfolioPage($this->getPortfolioPage());
473 $id = $this->port_request->getVerificationId();
476 $verification->downloadFromPortfolioPage($this->getPortfolioPage());
482 $objectId = $this->port_request->getVerificationId();
485 $object->downloadFromPortfolioPage($this->getPortfolioPage(), $objectId, $this->
user->getId());
492 array $a_posting_ids =
null
494 $ilCtrl = $this->
ctrl;
500 if (!$a_posting_ids) {
505 $blog->disableNotes(!$this->enable_comments);
506 $blog->setContentStyleSheet();
508 if ($this->getOutputMode() !==
"offline") {
509 return $ilCtrl->getHTML($blog);
518 foreach ($a_posting_ids as
$post) {
520 if ($this->getOutputMode() !==
"offline") {
523 $page->setOutputMode(
"offline");
525 $html[] = $page->showPage();
528 return implode(
"\n", $html);
536 array $a_posting_ids =
null
542 if ($a_posting_ids) {
543 $postings = array(
"<ul>");
544 foreach ($a_posting_ids as
$post) {
546 $postings[] =
"<li>" .
$post->getTitle() .
" - " .
549 $postings[] =
"</ul>";
550 $postings = implode(
"\n", $postings);
553 return $this->renderTeaser(
"blog", $this->
lng->txt(
"obj_blog") .
' "' .
561 if ($this->getOutputMode() ===
"preview") {
562 return $this->renderSkillsTeaser($a_user_id, $a_skills_id);
565 $user_id = $this->getPageContentUserId($a_user_id);
568 if ($this->getOutputMode() ===
"offline") {
569 $gui->setOfflineMode(
"./files/");
571 return $gui->getSkillHTML($a_skills_id, $user_id);
581 return $this->renderTeaser(
"skills", $this->
lng->txt(
"skills") .
' "' .
588 ?array $a_group_ids =
null
592 if ($a_mode ===
"auto") {
593 $mode = $this->
lng->txt(
"cont_cach_mode_automatic");
596 $mode = $this->
lng->txt(
"cont_cach_mode_manual");
599 foreach ($a_group_ids as $grp_id) {
602 $groups =
" (" . implode(
", ", $groups) .
")";
605 $this->
lng->loadLanguageModule(
"dateplaner");
606 return $this->renderTeaser(
607 "consultation_hours",
608 $this->
lng->txt(
"app_consultation_hours"),
616 ?array $a_group_ids =
null
619 if ($this->getOutputMode() ===
"preview") {
620 return $this->renderConsultationHoursTeaser($a_user_id, $a_mode, $a_group_ids);
623 if ($this->getOutputMode() ===
"offline") {
627 if ($this->getOutputMode() ===
"print") {
631 $user_id = $this->getPageContentUserId($a_user_id);
635 if (
$ilUser->getId() !== $user_id) {
638 $this->
ctrl->setParameter($this,
"chuid", $user_id);
640 if ($a_mode !==
"manual") {
644 if (!self::$calender_initialized) {
650 self::$calender_initialized =
true;
653 $seed = $this->port_request->getCalendarSeed();
662 $month_gui->setBkId($bkid);
664 $month_gui->setConsulationHoursUserId($user_id);
668 $month_gui->addScheduleFilter($filter);
672 $this->
lng->loadLanguageModule(
"dateplaner");
673 return '<h3>' . $this->
lng->txt(
"app_consultation_hours") .
'</h3>' .
674 $this->
ctrl->getHTML($month_gui);
680 return (
bool) $prfa_set->get(
"mycrs",
true);
690 $title = $this->isMyCoursesActive()
692 :
"my_courses_inactive";
694 return $this->renderTeaser(
696 $this->
lng->txt(
"prtf_page_element_my_courses_title")
702 string $a_default_sorting
704 $ilAccess = $this->
access;
706 $ilCtrl = $this->ctrl;
708 if ($this->getOutputMode() ===
"preview") {
709 return $this->renderMyCoursesTeaser($a_user_id, $a_default_sorting);
712 if (!$this->isMyCoursesActive()) {
719 $user_id = $this->getPageContentUserId($a_user_id);
722 $req_sorting = $this->port_request->getCourseSorting();
723 if (in_array($req_sorting, array(
"alpha",
"loc"))) {
724 $ilUser->writePref(
"prtf_mcrs_sort", $req_sorting);
726 $sorting =
$ilUser->getPref(
"prtf_mcrs_sort");
728 $sorting = $a_default_sorting;
731 $data = $this->getCoursesOfUser($user_id, ($sorting ===
"loc"));
733 if ($sorting !==
"loc") {
739 $tpl =
new ilTemplate(
"tpl.pc_my_courses.html",
true,
true,
"Modules/Portfolio");
740 $tpl->setVariable(
"TITLE", $this->
lng->txt(
"prtf_page_element_my_courses_title"));
741 $tpl->setVariable(
"INFO", $this->
lng->txt(
"prtf_page_element_my_courses_info"));
743 $this->
lng->loadLanguageModule(
"trac");
744 $this->
lng->loadLanguageModule(
"crs");
747 if ($this->getOutputMode() !==
"print") {
749 "alpha" => $this->
lng->txt(
"cont_mycourses_sortorder_alphabetical"),
750 "loc" => $this->lng->txt(
"cont_mycourses_sortorder_location")
762 [
"onchange" =>
"form.submit()"]
765 $tpl->setVariable(
"SORT_FORM", $this->getCourseSortAction($ilCtrl));
770 foreach (
$data as $course) {
771 if (($sorting ===
"loc") && $course[
"path"] != $old_path) {
772 $tpl->setCurrentBlock(
"path_bl");
773 $tpl->setVariable(
"PATH", $course[
"path"]);
774 $tpl->parseCurrentBlock();
776 $old_path = $course[
"path"];
779 if (isset($course[
"lp_status"])) {
780 $lp_icon_rendered = $lp_icons->renderIconForStatus($course[
"lp_status"]);
782 $tpl->setCurrentBlock(
"lp_bl");
783 $tpl->setVariable(
"LP_ICON", $lp_icon_rendered);
784 $tpl->parseCurrentBlock();
789 $do_links = $ilAccess->checkAccessOfUser(
$ilUser->getId(),
"read",
"", $course[
"ref_id"],
"crs") ||
790 ($ilAccess->checkAccessOfUser(
$ilUser->getId(),
"visible",
"", $course[
"ref_id"],
"crs") &&
791 $ilAccess->checkAccessOfUser(
$ilUser->getId(),
"join",
"", $course[
"ref_id"],
"crs"));
794 if (isset($course[
"objectives"])) {
796 $has_initial_test = (bool) $loc_settings->getInitialTest();
798 foreach ($course[
"objectives"] as $objtv) {
800 $params = array(
"oobj" => $objtv[
"id"]);
804 $url .=
"#objtv_acc_" . $objtv[
"id"];
806 if ($this->getOutputMode() !==
"print") {
807 $tpl->touchBlock(
"objective_dnone");
810 $tpl->setCurrentBlock(
"objective_link_bl");
812 if (trim($objtv[
"desc"])) {
813 $desc = nl2br($objtv[
"desc"]);
814 $tt_id =
"objtvtt_" . $objtv[
"id"] .
"_" . (self::$initialized);
818 $tpl->setVariable(
"OBJECTIVE_LINK_ID", $tt_id);
821 $tpl->setVariable(
"OBJECTIVE_LINK_URL",
$url);
822 $tpl->setVariable(
"OBJECTIVE_LINK_TITLE", $objtv[
"title"]);
824 $tpl->setCurrentBlock(
"objective_nolink_bl");
825 $tpl->setVariable(
"OBJECTIVE_NOLINK_TITLE", $objtv[
"title"]);
827 $tpl->parseCurrentBlock();
831 $objtv_icon = $img_path . basename($objtv_icon);
834 $tpl->setCurrentBlock(
"objective_bl");
835 $tpl->setVariable(
"OBJTV_ICON_URL", $objtv_icon);
836 $tpl->setVariable(
"OBJTV_ICON_ALT", $this->
lng->txt(
"crs_objectives"));
838 if (isset($objtv[
"type"])) {
852 $tpl->parseCurrentBlock();
855 $tpl->setCurrentBlock(
"objectives_bl");
856 $tpl->setVariable(
"OBJTV_LIST_CRS_ID", $course[
"obj_id"]);
857 $tpl->parseCurrentBlock();
862 $tpl->setCurrentBlock(
"course_link_bl");
863 $tpl->setVariable(
"COURSE_LINK_TITLE", $course[
"title"]);
866 $tpl->setCurrentBlock(
"course_nolink_bl");
867 $tpl->setVariable(
"COURSE_NOLINK_TITLE", $course[
"title"]);
869 $tpl->parseCurrentBlock();
873 $crs_icon = $img_path . basename($crs_icon);
876 $tpl->setCurrentBlock(
"course_bl");
878 if (isset($course[
"objectives"])) {
879 $tpl->setVariable(
"TOGGLE_CLASS",
"ilPCMyCoursesToggle");
881 $tpl->setVariable(
"NO_TOGGLE",
' style="visibility:hidden;"');
884 $tpl->setVariable(
"CRS_ICON_URL", $crs_icon);
885 $tpl->setVariable(
"CRS_ICON_ALT", $this->
lng->txt(
"obj_crs"));
886 $tpl->parseCurrentBlock();
890 if (!self::$initialized) {
891 $GLOBALS[
"tpl"]->addJavaScript(
"Modules/Portfolio/js/ilPortfolio.js");
892 $GLOBALS[
"tpl"]->addOnLoadCode(
"ilPortfolio.init()");
894 self::$initialized++;
911 bool $a_add_path =
false
920 $repo_title = $repo_title[
"title"];
921 if ($repo_title ==
"ILIAS") {
922 $repo_title = $this->
lng->txt(
"repository");
925 $references = $lp_obj_refs = array();
926 foreach ($items as $obj_id) {
933 if ($active && $visible) {
943 $path[] = $item[
"title"];
946 if (count(
$path) === 2) {
951 $references[
$ref_id][
"path_sort"] = implode(
"__",
$path);
955 array_unshift(
$path, $repo_title);
957 $references[
$ref_id][
"path"] = implode(
" › ",
$path);
960 $lp_obj_refs[$obj_id] =
$ref_id;
968 if (count($lp_obj_refs)) {
970 foreach ($lp_obj_refs as $obj_id =>
$ref_id) {
973 $references[
$ref_id][
"objectives"] = $this->parseObjectives($obj_id, $a_user_id);
983 foreach ($lp_data as $item) {
985 $references[
$ref_id][
"lp_status"] = $item[
"status"];
993 protected function parseObjectives(
1001 $coll_objtv = $coll_objtv->getItems();
1004 $lo_results = $this->parseLOUserResults($a_obj_id, $a_user_id);
1010 foreach ($coll_objtv as $objective_id) {
1014 $tmp[$objective_id] = array(
1015 "id" => $objective_id,
1016 "title" => $title[
"title"],
1017 "desc" => $title[
"description"],
1022 if (array_key_exists($objective_id, $lo_results)) {
1023 $lo_result = $lo_results[$objective_id];
1024 $tmp[$objective_id][
"user_id"] = $lo_result[
"user_id"];
1025 $tmp[$objective_id][
"result_perc"] = $lo_result[
"result_perc"] ??
null;
1026 $tmp[$objective_id][
"limit_perc"] = $lo_result[
"limit_perc"] ??
null;
1027 $tmp[$objective_id][
"status"] = $lo_result[
"status"] ??
null;
1028 $tmp[$objective_id][
"type"] = $lo_result[
"type"] ??
null;
1029 $tmp[$objective_id][
"initial"] = $lo_result[
"initial"] ??
null;
1034 foreach ($coll_objtv as $objtv_id) {
1035 $res[] = $tmp[$objtv_id];
1044 int $a_course_obj_id,
1048 $initial_status =
"";
1051 foreach ($lur->getCourseResultsForUserPresentation() as $objective_id => $types) {
1067 $result[
"initial_status"] = $initial_status;
1069 $res[$objective_id] = $result;
1077 return $this->export_material;
1082 $ilCtrl = $this->ctrl;
1087 $start = strpos($a_html,
"{{{{{PlaceHolder#");
1088 if (is_int($start)) {
1089 $end = strpos($a_html,
"}}}}}", $start);
1092 $param = substr($a_html, $start + 17, $end - $start - 17);
1098 $html =
$lng->txt(
"cont_text_placeh");
1102 $html =
$lng->txt(
"cont_media_placeh");
1106 $html =
$lng->txt(
"cont_question_placeh");
1109 case "Verification":
1110 $html =
$lng->txt(
"cont_verification_placeh");
1116 && $this->getOutputMode() ===
"presentation") {
1119 $ilCtrl->setParameterByClass(
"ilportfoliopagegui",
"prt_id", $this->port_request->getPortfolioId());
1120 $ilCtrl->setParameterByClass(
"ilportfoliopagegui",
"ppage", $this->
getId());
1121 $ilCtrl->setParameterByClass(
"ilportfoliopagegui",
"pl_pc_id",
$param[0]);
1122 $ilCtrl->setParameterByClass(
"ilportfoliopagegui",
"pl_hier_id",
$param[1]);
1123 $href = $ilCtrl->getLinkTargetByClass(
"ilportfoliopagegui",
"insertJSAtPlaceholder");
1124 $html =
"<a href='" . $href .
"'>" . $html .
"</a>";
1128 $ilCtrl->setParameterByClass(
"ilpcmediaobjectgui",
"prt_id", $this->port_request->getPortfolioId());
1129 $ilCtrl->setParameterByClass(
"ilpcmediaobjectgui",
"ppage", $this->
getId());
1130 $ilCtrl->setParameterByClass(
"ilpcmediaobjectgui",
"pl_pc_id",
$param[0]);
1131 $ilCtrl->setParameterByClass(
"ilpcmediaobjectgui",
"pl_hier_id",
$param[1]);
1132 $ilCtrl->setParameterByClass(
"ilpcmediaobjectgui",
"subCmd",
"insertNew");
1133 $href = $ilCtrl->getLinkTargetByClass(array(
"ilPortfolioPageGUI",
"ilPageEditorGUI",
"ilPCPlaceHolderGUI",
"ilpcmediaobjectgui"),
"insert");
1134 $html =
"<a href='" . $href .
"'>" . $html .
"</a>";
1151 $h2 = substr($a_html, 0, $start) .
1153 substr($a_html, $end + 5);
1156 $start = strpos($a_html,
"{{{{{PlaceHolder#", $start + 5);
1158 if (is_int($start)) {
1159 $end = strpos($a_html,
"}}}}}", $start);
1169 $ctrl =
$DIC->ctrl();
1171 $ctrl->setParameterByClass(
"ilobjportfoliogui",
"user_page", $this->requested_ppage);
1172 return $ctrl->getLinkTargetByClass(
"ilobjportfoliogui",
"preview");
1177 return $this->
lng->txt(
"preview");
1192 $presentation = $userCertificateRepository->fetchActiveCertificateForPresentation($this->
user->
getId(), $a_id);
1193 }
catch (Exception
$e) {
1196 $caption = $this->
lng->txt(
'certificate') .
': ';
1197 $caption .= $this->
lng->txt($presentation->getUserCertificate()->getObjType()) .
' ';
1198 $caption .=
'"' . $presentation->getObjectTitle() .
'"';
1200 return '<div><a href="' .
$url .
'">' . $caption .
'</a></div>';
1206 $this->portfolio_id,
1207 $this->getPageObject()->
getId(),
1210 $notes_gui->enablePublicNotes(
true);
1211 $notes_gui->setRepositoryMode(
false);
1212 $notes_gui->setExportMode();
1213 return $notes_gui->getCommentsHTML();
1218 $this->
ctrl->redirectByClass(
"ilObjPortfolioGUI",
"view");
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
static sortArray(array $array, string $a_array_sortby_key, string $a_array_sortorder="asc", bool $a_numeric=false, bool $a_keep_keys=false)
Class ilBlogPosting GUI class.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
const MODE_PORTFOLIO_CONSULTATION
static _getInstance($a_usr_id=0)
get singleton instance
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Calendar schedule filter for consultation hour bookings.
static lookupTitle(int $a_group_id)
Lookup group title.
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)
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="")
Get static link.
static _getLink(?int $a_ref_id, string $a_type='', array $a_params=array(), 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)
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 getContentStylePath(int $a_style_id, bool $add_random=true, bool $add_token=true)
get content style path static (to avoid full reading)
static getSyntaxStylePath()
static getPlaceHolderStylePath()
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _hasLearningProgressLearner()
static _enabledLearningProgress()
static _enabledUserRelatedData()
const WORKSPACE_OBJECT_ID
parses the objects.xml it handles the xml-description of all ilias objects
static _lookupType(int $id, bool $reference=false)
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.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
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)
postOutputProcessing(string $a_output)
Finalizing output processing.
renderBlogTeaser(int $a_user_id, int $a_blog_id, array $a_posting_ids=null)
renderMyCoursesTeaser(int $a_user_id, $a_default_sorting)
renderPageElement(string $a_type, string $a_html)
renderBlog(int $a_user_id, int $a_blog_id, array $a_posting_ids=null)
ilObjectDefinition $obj_definition
renderProfile(int $a_user_id, string $a_type, array $a_fields=null)
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
showPage()
display content of page
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.
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...
special template class to simplify handling of ITX/PEAR
static getObjectsStatusForUser(int $a_user_id, array $obj_refs)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
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="", string $a_css_location="")
get full style sheet file name (path inclusive) of current user
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
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...
return['3gp', '7z', 'ai', 'aif', 'aifc', 'aiff', 'au', 'arw', 'avi', 'backup', 'bak', 'bas', 'bpmn', 'bpmn2', 'bmp', 'bib', 'bibtex', 'bz', 'bz2', 'c', 'c++', 'cc', 'cct', 'cdf', 'cer', 'class', 'cls', 'conf', 'cpp', 'crt', 'crs', 'crw', 'cr2', 'css', 'cst', 'csv', 'cur', 'db', 'dcr', 'des', 'dng', 'doc', 'docx', 'dot', 'dotx', 'dtd', 'dvi', 'el', 'eps', 'epub', 'f', 'f77', 'f90', 'flv', 'for', 'g3', 'gif', 'gl', 'gan', 'ggb', 'gsd', 'gsm', 'gtar', 'gz', 'gzip', 'h', 'hpp', 'htm', 'html', 'htmls', 'ibooks', 'ico', 'ics', 'ini', 'ipynb', 'java', 'jbf', 'jpeg', 'jpg', 'js', 'jsf', 'jso', 'json', 'latex', 'lang', 'less', 'log', 'lsp', 'ltx', 'm1v', 'm2a', 'm2v', 'm3u', 'm4a', 'm4v', 'markdown', 'm', 'mat', 'md', 'mdl', 'mdown', 'mid', 'min', 'midi', 'mobi', 'mod', 'mov', 'movie', 'mp2', 'mp3', 'mp4', 'mpa', 'mpeg', 'mpg', 'mph', 'mpga', 'mpp', 'mpt', 'mpv', 'mpx', 'mv', 'mw', 'mv4', 'nb', 'nbp', 'nef', 'nif', 'niff', 'obj', 'obm', 'odt', 'ods', 'odp', 'odg', 'odf', 'oga', 'ogg', 'ogv', 'old', 'p', 'pas', 'pbm', 'pcl', 'pct', 'pcx', 'pdf', 'pgm', 'pic', 'pict', 'png', 'por', 'pov', 'project', 'properties', 'ppa', 'ppm', 'pps', 'ppsx', 'ppt', 'pptx', 'ppz', 'ps', 'psd', 'pwz', 'qt', 'qtc', 'qti', 'qtif', 'r', 'ra', 'ram', 'rar', 'rast', 'rda', 'rev', 'rexx', 'ris', 'rf', 'rgb', 'rm', 'rmd', 'rmi', 'rmm', 'rmp', 'rt', 'rtf', 'rtx', 'rv', 's', 's3m', 'sav', 'sbs', 'sec', 'sdml', 'sgm', 'sgml', 'smi', 'smil', 'srt', 'sps', 'spv', 'stl', 'svg', 'swa', 'swf', 'swz', 'tar', 'tex', 'texi', 'texinfo', 'text', 'tgz', 'tif', 'tiff', 'ttf', 'txt', 'tmp', 'uvproj', 'vdf', 'vimeo', 'viv', 'vivo', 'vrml', 'vsdx', 'wav', 'webm', 'wmv', 'wmx', 'wmz', 'woff', 'wwd', 'xhtml', 'xif', 'xls', 'xlsx', 'xmind', 'xml', 'xsl', 'xsd', 'zip']
setCurrentBlock(string $part=self::DEFAULT_BLOCK)
Sets the template to the given block.
parseCurrentBlock(string $block_name=self::DEFAULT_BLOCK)
Parses the given block.
setVariable(string $variable, $value='')
Sets the given variable to the given value.
if($DIC->http() ->request() ->getMethod()=="GET" &&isset($DIC->http() ->request() ->getQueryParams()['tex'])) $tpl
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