30    protected $export_material = array(
"js" => array(), 
"images" => array(), 
"files" => array());
 
   42    public function __construct($a_portfolio_id, $a_id = 0, $a_old_nr = 0, $a_enable_comments = 
true)
 
   46        $this->tpl = 
$DIC[
"tpl"];
 
   47        $this->ctrl = 
$DIC->ctrl();
 
   48        $this->
user = $DIC->user();
 
   49        $this->obj_definition = 
$DIC[
"objDefinition"];
 
   50        $this->access = 
$DIC->access();
 
   51        $this->tree = 
$DIC->repositoryTree();
 
   52        $this->lng = 
$DIC->language();
 
   55        $this->portfolio_id = (int) $a_portfolio_id;
 
   56        $this->enable_comments = (bool) $a_enable_comments;
 
   63        $tpl->setCurrentBlock(
"SyntaxStyle");
 
   65            "LOCATION_SYNTAX_STYLESHEET",
 
   68        $tpl->parseCurrentBlock();
 
   70        $tpl->setCurrentBlock(
"ContentStyle");
 
   72            "LOCATION_CONTENT_STYLESHEET",
 
   76            "LOCATION_ADDITIONAL_STYLESHEET",
 
   79        $tpl->parseCurrentBlock();
 
   81        $this->requested_ppage = (int) 
$_GET[
"ppage"];
 
  103        $next_class = $this->ctrl->getNextClass($this);
 
  104        $cmd = $this->ctrl->getCmd();
 
  106        switch ($next_class) {
 
  111                $blog_node_id = $wsp_tree->lookupNodeId($blog_obj_id);
 
  114                $blog_gui->disableNotes(!$this->enable_comments);
 
  115                $blog_gui->prtf_embed = 
true; 
 
  116                return $ilCtrl->forwardCommand($blog_gui);
 
  118            case "ilcalendarmonthgui":
 
  122                if ($cmd && $cmd != 
"preview") {
 
  124                    if ($categories->getMode() == 0) {
 
  125                        if (
$_GET[
'chuid']) {
 
  126                            $categories->setCHUserId((
int) 
$_GET[
'chuid']);
 
  138                    return $ilCtrl->forwardCommand($month_gui);
 
  142                    $ilCtrl->setParameter($this, 
"cmd", 
"preview");
 
  147            case "ilpageobjectgui":
 
  148                die(
"Deprecated. ilPortfolioPage gui forwarding to ilpageobject");
 
  153                return parent::executeCommand();
 
  172                return $this->
renderBlog(
$ilUser->getId(), (
int) $this->getPageObject()->getTitle());
 
  177                $output = parent::showPage();
 
  191        if (!$this->embedded) {
 
  192            parent::getTabs($a_activate);
 
  203        $this->embedded = (bool) $a_value;
 
  213        $this->additional = $a_additional;
 
  234            "Profile" => array(
"0-9", 
"a-z", 
"0-9a-z_;\W"), 
 
  235            "Verification" => array(
"0-9", 
"a-z", 
"0-9"), 
 
  236            "Blog" => array(
"0-9", 
"0-9", 
"0-9;\W"),  
 
  237            "BlogTeaser" => array(
"0-9", 
"0-9", 
"0-9;\W"),  
 
  238            "Skills" => array(
"0-9", 
"0-9"),  
 
  239            "SkillsTeaser" => array(
"0-9", 
"0-9"),  
 
  240            "ConsultationHours" => array(
"0-9", 
"a-z", 
"0-9;\W"),  
 
  241            "ConsultationHoursTeaser" => array(
"0-9", 
"a-z", 
"0-9;\W"),  
 
  242            "MyCourses" => array(
"0-9", 
"a-z*"),  
 
  243            "MyCoursesTeaser" => array(
"0-9", 
"a-z*")  
 
  246        foreach ($parts as 
$type => $def) {
 
  248            $def_parts = array();
 
  249            foreach ($def as $part) {
 
  250                $is_opt = (substr($part, -1) == 
"*");
 
  257                    $part = substr($part, 0, -1);
 
  259                $def_parts[] = 
"([" . $part . 
"]" . $end_marker . 
")";
 
  261            $def = implode(
"", $def_parts);
 
  264                "/" . $this->pl_start . 
$type . $def . $this->pl_end . 
"/",
 
  268                foreach ($blocks[0] as $idx => $block) {
 
  275                        case "ConsultationHours":
 
  276                        case "ConsultationHoursTeaser":
 
  278                        case "MyCoursesTeaser":
 
  280                            if (trim($blocks[3][$idx])) {
 
  281                                foreach (explode(
";", $blocks[3][$idx]) as $sub) {
 
  283                                        $subs[] = trim($sub);
 
  287                            $snippet = $this->{
"render" . 
$type}(
 
  295                            $snippet = $this->{
"render" . 
$type}(
 
  304                    $a_output = str_replace($block, $snippet, $a_output);
 
  316        return trim($a_html);
 
  323            $options = 
'<div class="il_Footer">' . $this->lng->txt(
"prtf_page_element_teaser_settings") .
 
  324                ": " . $a_options . 
'</div>';
 
  327        return '<div style="margin:5px" class="ilBox"><h3>' . $a_title . 
'</h3>' .
 
  328            '<div class="il_Description_no_margin">' . $this->lng->txt(
"prtf_page_element_teaser_" . $a_type) . 
'</div>' .
 
  332    protected function renderProfile($a_user_id, $a_type, array $a_fields = 
null)
 
  349        $pub_profile->setEmbedded(
true, ($this->
getOutputMode() == 
"offline"));
 
  354        if ($a_type == 
"manual" && is_array($a_fields) && count($a_fields) > 0) {
 
  356            foreach ($a_fields as $field) {
 
  357                $field = trim($field);
 
  359                    $prefs[
"public_" . $field] = 
"y";
 
  363            $pub_profile->setCustomPrefs($prefs);
 
  367            return $ilCtrl->getHTML($pub_profile);
 
  369            return $pub_profile->getEmbeddable();
 
  388        if ($a_type === 
'crta' && $outputMode === 
'offline') {
 
  391            $certificatePdfFile = $fileService->createCertificateFilePath($a_user_id, $a_id);
 
  392            $this->export_material[
"files"][] = $certificatePdfFile;
 
  394            $url = 
'files/' . basename($certificatePdfFile);
 
  399        } elseif ($a_type === 
'crta' && $outputMode === 
'print') {
 
  404        } elseif ($a_type === 
'crta') {
 
  405            $this->ctrl->setParameter($this, 
"dlid", $a_id);
 
  406            $url = $this->ctrl->getLinkTarget($this, 
"dl" . $a_type);
 
  407            $this->ctrl->setParameter($this, 
"dlid", 
"");
 
  415            return $this->lng->txt(
'deleted');
 
  418        $class = 
"ilObj" . $objDefinition->getClassName($a_type) . 
"GUI";
 
  421        if ($outputMode == 
"print") {
 
  423        } elseif ($outputMode != 
"offline") {
 
  425            $this->ctrl->setParameter($this, 
"dlid", $a_id);
 
  426            $url = $this->ctrl->getLinkTarget($this, 
"dl" . $a_type);
 
  427            $this->ctrl->setParameter($this, 
"dlid", 
"");
 
  429            $file = $verification->object->getFilePath();
 
  430            $url = 
"files/" . basename($file);
 
  432            $this->export_material[
"files"][] = $file;
 
  435        return $verification->render(
true, 
$url);
 
  443            $verification->downloadFromPortfolioPage($this->
getPageObject());
 
  452            $verification->downloadFromPortfolioPage($this->
getPageObject());
 
  461            $verification->downloadFromPortfolioPage($this->
getPageObject());
 
  470            $verification->downloadFromPortfolioPage($this->
getPageObject());
 
  479            $verification->downloadFromPortfolioPage($this->
getPageObject());
 
  488            $verification->downloadFromPortfolioPage($this->
getPageObject());
 
  494        $objectId = 
$_GET[
"dlid"];
 
  497            $object->downloadFromPortfolioPage($this->
getPageObject(), $objectId, $this->
user->getId());
 
  501    protected function renderBlog($a_user_id, $a_blog_id, array $a_posting_ids = 
null)
 
  509        if (!$a_posting_ids) {
 
  514            $blog->disableNotes(!$this->enable_comments);
 
  515            $blog->setContentStyleSheet();
 
  518                return $ilCtrl->getHTML($blog);
 
  528            foreach ($a_posting_ids as $post) {
 
  533                    $page->setOutputMode(
"offline");
 
  535                $html[] = $page->showPage();
 
  538            return implode(
"\n", $html);
 
  548        if ($a_posting_ids) {
 
  549            $postings = array(
"<ul>");
 
  550            foreach ($a_posting_ids as $post) {
 
  552                $postings[] = 
"<li>" . $post->getTitle() . 
" - " .
 
  555            $postings[] = 
"</ul>";
 
  556            $postings = implode(
"\n", $postings);
 
  559        return $this->
renderTeaser(
"blog", $this->lng->txt(
"obj_blog") . 
' "' .
 
  573            $gui->setOfflineMode(
"./files/");
 
  575        $html = $gui->getSkillHTML($a_skills_id, $user_id);
 
  585        return $this->
renderTeaser(
"skills", $this->lng->txt(
"skills") . 
' "' .
 
  594        if ($a_mode == 
"auto") {
 
  595            $mode = $this->lng->txt(
"cont_cach_mode_automatic");
 
  598            $mode = $this->lng->txt(
"cont_cach_mode_manual");
 
  601            foreach ($a_group_ids as $grp_id) {
 
  604            $groups = 
" (" . implode(
", ", $groups) . 
")";
 
  607        $this->lng->loadLanguageModule(
"dateplaner");
 
  609            "consultation_hours",
 
  610            $this->lng->txt(
"app_consultation_hours"),
 
  634        if (
$ilUser->getId() != $user_id) {
 
  635            $_GET[
"bkid"] = $user_id;
 
  638        if ($a_mode != 
"manual") {
 
  645        if (!$_REQUEST[
"seed"]) {
 
  652        $month_gui->setConsulationHoursUserId($user_id);
 
  656        $month_gui->addScheduleFilter($filter);
 
  660        $this->lng->loadLanguageModule(
"dateplaner");
 
  661        return '<h3>' . $this->lng->txt(
"app_consultation_hours") . 
'</h3>' .
 
  662            $this->ctrl->getHTML($month_gui);
 
  668        return (
bool) $prfa_set->get(
"mycrs", 
true);
 
  678            : 
"my_courses_inactive";
 
  682            $this->lng->txt(
"prtf_page_element_my_courses_title")
 
  707            in_array(
$_POST[
"srt"], array(
"alpha", 
"loc"))) {
 
  710        $sorting = 
$ilUser->getPref(
"prtf_mcrs_sort");
 
  712            $sorting = $a_default_sorting;
 
  717            if ($sorting != 
"loc") {
 
  723            $tpl = 
new ilTemplate(
"tpl.pc_my_courses.html", 
true, 
true, 
"Modules/Portfolio");
 
  724            $tpl->setVariable(
"TITLE", $this->lng->txt(
"prtf_page_element_my_courses_title"));
 
  725            $tpl->setVariable(
"INFO", $this->lng->txt(
"prtf_page_element_my_courses_info")); 
 
  727            $this->lng->loadLanguageModule(
"trac");
 
  728            $this->lng->loadLanguageModule(
"crs");
 
  733                    "alpha" => $this->lng->txt(
"cont_mycourses_sortorder_alphabetical"),
 
  734                    "loc" => $this->lng->txt(
"cont_mycourses_sortorder_location")
 
  744                    array(
"onchange" => 
"form.submit()")
 
  751            foreach (
$data as $course) {
 
  752                if ($sorting == 
"loc") {
 
  753                    if ($course[
"path"] != $old_path) {
 
  754                        $tpl->setCurrentBlock(
"path_bl");
 
  755                        $tpl->setVariable(
"PATH", $course[
"path"]);
 
  756                        $tpl->parseCurrentBlock();
 
  758                        $old_path = $course[
"path"];
 
  762                if (isset($course[
"lp_status"])) {
 
  763                    $lp_icon_rendered = $lp_icons->renderIconForStatus($course[
"lp_status"]);
 
  765                    $tpl->setCurrentBlock(
"lp_bl");
 
  766                    $tpl->setVariable(
"LP_ICON", $lp_icon_rendered);
 
  767                    $tpl->parseCurrentBlock();
 
  772                    $do_links = $ilAccess->checkAccessOfUser(
$ilUser->getId(), 
"read", 
"", $course[
"ref_id"], 
"crs") ||
 
  773                        ($ilAccess->checkAccessOfUser(
$ilUser->getId(), 
"visible", 
"", $course[
"ref_id"], 
"crs") &&
 
  774                        $ilAccess->checkAccessOfUser(
$ilUser->getId(), 
"join", 
"", $course[
"ref_id"], 
"crs"));
 
  777                if (isset($course[
"objectives"])) {
 
  779                    $has_initial_test = (bool) $loc_settings->getInitialTest();
 
  781                    foreach ($course[
"objectives"] as $objtv) {
 
  783                            $params = array(
"oobj" => $objtv[
"id"]);
 
  787                            $url .= 
"#objtv_acc_" . $objtv[
"id"];
 
  790                                $tpl->touchBlock(
"objective_dnone");
 
  793                            $tpl->setCurrentBlock(
"objective_link_bl");
 
  795                            if (trim($objtv[
"desc"])) {
 
  796                                $desc = nl2br($objtv[
"desc"]);
 
  797                                $tt_id = 
"objtvtt_" . $objtv[
"id"] . 
"_" . ((int) self::$initialized);
 
  801                                $tpl->setVariable(
"OBJECTIVE_LINK_ID", $tt_id);
 
  804                            $tpl->setVariable(
"OBJECTIVE_LINK_URL", 
$url);
 
  805                            $tpl->setVariable(
"OBJECTIVE_LINK_TITLE", $objtv[
"title"]);
 
  806                            $tpl->parseCurrentBlock();
 
  808                            $tpl->setCurrentBlock(
"objective_nolink_bl");
 
  809                            $tpl->setVariable(
"OBJECTIVE_NOLINK_TITLE", $objtv[
"title"]);
 
  810                            $tpl->parseCurrentBlock();
 
  815                            $objtv_icon = $img_path . basename($objtv_icon);
 
  818                        $tpl->setCurrentBlock(
"objective_bl");
 
  819                        $tpl->setVariable(
"OBJTV_ICON_URL", $objtv_icon);
 
  820                        $tpl->setVariable(
"OBJTV_ICON_ALT", $this->lng->txt(
"crs_objectives"));
 
  822                        if ($objtv[
"type"]) {
 
  829                        $tpl->parseCurrentBlock();
 
  832                    $tpl->setCurrentBlock(
"objectives_bl");
 
  833                    $tpl->setVariable(
"OBJTV_LIST_CRS_ID", $course[
"obj_id"]);
 
  834                    $tpl->parseCurrentBlock();
 
  839                    $tpl->setCurrentBlock(
"course_link_bl");
 
  840                    $tpl->setVariable(
"COURSE_LINK_TITLE", $course[
"title"]);
 
  842                    $tpl->parseCurrentBlock();
 
  844                    $tpl->setCurrentBlock(
"course_nolink_bl");
 
  845                    $tpl->setVariable(
"COURSE_NOLINK_TITLE", $course[
"title"]);
 
  846                    $tpl->parseCurrentBlock();
 
  851                    $crs_icon = $img_path . basename($crs_icon);
 
  854                $tpl->setCurrentBlock(
"course_bl");
 
  856                if (isset($course[
"objectives"])) {
 
  857                    $tpl->setVariable(
"TOGGLE_CLASS", 
"ilPCMyCoursesToggle");
 
  859                    $tpl->setVariable(
"NO_TOGGLE", 
' style="visibility:hidden;"');
 
  862                $tpl->setVariable(
"CRS_ICON_URL", $crs_icon);
 
  863                $tpl->setVariable(
"CRS_ICON_ALT", $this->lng->txt(
"obj_crs"));
 
  864                $tpl->parseCurrentBlock();
 
  868            if (!self::$initialized) {
 
  869                $GLOBALS[
"tpl"]->addJavaScript(
"Modules/Portfolio/js/ilPortfolio.js");
 
  870                $GLOBALS[
"tpl"]->addOnLoadCode(
"ilPortfolio.init()");
 
  872            self::$initialized++;
 
  886        return $ctrl->getFormActionByClass(
"ilobjportfoliogui", 
"preview");
 
  899        $repo_title = $repo_title[
"title"];
 
  900        if ($repo_title == 
"ILIAS") {
 
  901            $repo_title = $this->lng->txt(
"repository");
 
  904        $references = $lp_obj_refs = array();
 
  905        foreach ($items as $obj_id) {
 
  907            if (is_array($ref_id) && count($ref_id)) {
 
  908                $ref_id = array_pop($ref_id);
 
  909                if (!
$tree->isDeleted($ref_id)) {
 
  912                    if ($active && $visible) {
 
  913                        $references[$ref_id] = array(
 
  921                            foreach (
$tree->getPathFull($ref_id) as $item) {
 
  922                                $path[] = $item[
"title"];
 
  925                            if (
sizeof($path) == 2) {
 
  930                            $references[$ref_id][
"path_sort"] = implode(
"__", $path);
 
  933                            if (!
sizeof($path)) {
 
  934                                array_unshift($path, $repo_title);
 
  936                            $references[$ref_id][
"path"] = implode(
" › ", $path);
 
  939                        $lp_obj_refs[$obj_id] = $ref_id;
 
  947        if (
sizeof($lp_obj_refs)) {
 
  949            foreach ($lp_obj_refs as $obj_id => $ref_id) {
 
  952                    $references[$ref_id][
"objectives"] = $this->
parseObjectives($obj_id, $a_user_id);
 
  962                foreach ($lp_data as $item) {
 
  963                    $ref_id = $item[
"ref_ids"];
 
  964                    $references[$ref_id][
"lp_status"] = $item[
"status"];
 
  978        $coll_objtv = $coll_objtv->getItems();
 
  987            foreach ($coll_objtv as $objective_id) {
 
  990                $tmp[$objective_id] = array(
 
  991                    "id" => $objective_id,
 
  992                    "title" => $title[
"title"],
 
  993                    "desc" => $title[
"description"],
 
  998                if (array_key_exists($objective_id, $lo_results)) {
 
  999                    $lo_result = $lo_results[$objective_id];
 
 1000                    $tmp[$objective_id][
"user_id"] = $lo_result[
"user_id"];
 
 1001                    $tmp[$objective_id][
"result_perc"] = $lo_result[
"result_perc"];
 
 1002                    $tmp[$objective_id][
"limit_perc"] = $lo_result[
"limit_perc"];
 
 1003                    $tmp[$objective_id][
"status"] = $lo_result[
"status"];
 
 1004                    $tmp[$objective_id][
"type"] = $lo_result[
"type"];
 
 1005                    $tmp[$objective_id][
"initial"] = $lo_result[
"initial"];
 
 1010            foreach ($coll_objtv as $objtv_id) {
 
 1011                $res[] = $tmp[$objtv_id];
 
 1024        foreach ($lur->getCourseResultsForUserPresentation() as $objective_id => $types) {
 
 1040            $result[
"initial_status"] = $initial_status;
 
 1066        $start = strpos($a_html, 
"{{{{{PlaceHolder#");
 
 1067        if (is_int($start)) {
 
 1068            $end = strpos($a_html, 
"}}}}}", $start);
 
 1072            $param = substr($a_html, $start + 17, $end - $start - 17);
 
 1078                    $html = 
$lng->txt(
"cont_text_placeh");
 
 1082                    $html = 
$lng->txt(
"cont_media_placeh");
 
 1086                    $html = 
$lng->txt(
"cont_question_placeh");
 
 1089                case "Verification":
 
 1090                    $html = 
$lng->txt(
"cont_verification_placeh");
 
 1096                && $this->getOutputMode() == 
"presentation") {
 
 1099                        $ilCtrl->setParameterByClass(
"ilportfoliopagegui", 
"prt_id", 
$_GET[
"prt_id"]);
 
 1100                        $ilCtrl->setParameterByClass(
"ilportfoliopagegui", 
"ppage", $this->
getId());
 
 1101                        $ilCtrl->setParameterByClass(
"ilportfoliopagegui", 
"pl_pc_id", 
$param[0]);
 
 1102                        $ilCtrl->setParameterByClass(
"ilportfoliopagegui", 
"pl_hier_id", 
$param[1]);
 
 1103                        $href = $ilCtrl->getLinkTargetByClass(
"ilportfoliopagegui", 
"insertJSAtPlaceholder");
 
 1104                        $html = 
"<a href='" . $href . 
"'>" . $html . 
"</a>";
 
 1108                        $ilCtrl->setParameterByClass(
"ilpcmediaobjectgui", 
"prt_id", 
$_GET[
"prt_id"]);
 
 1109                        $ilCtrl->setParameterByClass(
"ilpcmediaobjectgui", 
"ppage", $this->
getId());
 
 1110                        $ilCtrl->setParameterByClass(
"ilpcmediaobjectgui", 
"pl_pc_id", 
$param[0]);
 
 1111                        $ilCtrl->setParameterByClass(
"ilpcmediaobjectgui", 
"pl_hier_id", 
$param[1]);
 
 1112                        $ilCtrl->setParameterByClass(
"ilpcmediaobjectgui", 
"subCmd", 
"insertNew");
 
 1113                        $href = $ilCtrl->getLinkTargetByClass(array(
"ilPortfolioPageGUI", 
"ilPageEditorGUI", 
"ilPCPlaceHolderGUI", 
"ilpcmediaobjectgui"), 
"insert");
 
 1114                        $html = 
"<a href='" . $href . 
"'>" . $html . 
"</a>";
 
 1117                    case "Verification":
 
 1118                        $ilCtrl->setParameterByClass(
"ilPCVerificationGUI", 
"prt_id", 
$_GET[
"prt_id"]);
 
 1119                        $ilCtrl->setParameterByClass(
"ilPCVerificationGUI", 
"ppage", $this->
getId());
 
 1120                        $ilCtrl->setParameterByClass(
"ilPCVerificationGUI", 
"pl_pc_id", 
$param[0]);
 
 1121                        $ilCtrl->setParameterByClass(
"ilPCVerificationGUI", 
"pl_hier_id", 
$param[1]);
 
 1122                        $ilCtrl->setParameterByClass(
"ilPCVerificationGUI", 
"subCmd", 
"insertNew");
 
 1123                        $href = $ilCtrl->getLinkTargetByClass(array(
"ilPortfolioPageGUI", 
"ilPageEditorGUI", 
"ilPCPlaceHolderGUI", 
"ilPCVerificationGUI"), 
"insert");
 
 1124                        $html = 
"<a href='" . $href . 
"'>" . $html . 
"</a>";
 
 1129            $h2 = substr($a_html, 0, $start) .
 
 1131                substr($a_html, $end + 5);
 
 1135            $start = strpos($a_html, 
"{{{{{PlaceHolder#", $start + 5);
 
 1137            if (is_int($start)) {
 
 1138                $end = strpos($a_html, 
"}}}}}", $start);
 
 1156        $ctrl->setParameterByClass(
"ilobjportfoliogui", 
"user_page", $this->requested_ppage);
 
 1157        return $ctrl->getLinkTargetByClass(
"ilobjportfoliogui", 
"preview");
 
 1168        return $this->lng->txt(
"preview");
 
 1192        $presentation = $userCertificateRepository->fetchActiveCertificateForPresentation($this->
user->getId(), $a_id);
 
 1193        $caption = $this->lng->txt(
'certificate') . 
': ';
 
 1194        $caption .= $this->lng->txt($presentation->getUserCertificate()->getObjType()) . 
' ';
 
 1195        $caption .= 
'"' . $presentation->getObjectTitle() . 
'"';
 
 1197        return '<div><a href="' . 
$url . 
'">' . $caption . 
'</a></div>';
 
 1206            $this->portfolio_id,
 
 1210        $notes_gui->enablePublicNotes(
true);
 
 1211        $notes_gui->setRepositoryMode(
false);
 
 1212        $notes_gui->setExportMode();
 
 1213        return  $notes_gui->getNotesHTML();
 
 1218        $this->ctrl->redirectByClass(
"ilObjPortfolioGUI", 
"view");
 
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
An exception for terminatinating execution or to throw for unit testing.
const IL_CRS_VIEW_OBJECTIVE
Class ilBlogPosting GUI class.
const MODE_PORTFOLIO_CONSULTATION
static _getInstance($a_usr_id=0)
get singleton instance
Calendar schedule filter for consultation hour bookings.
static lookupTitle($a_group_id)
Lookup group title.
static buildObjectiveProgressBar($a_has_initial_test, $a_objective_id, array $a_lo_result, $a_list_mode=false, $a_sub=false, $a_tt_suffix=null)
Render progressbar(s) for given objective and result data.
static lookupObjectiveTitle($a_objective_id, $a_add_description=false)
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false, $include_seconds=false)
Format a date @access public.
const TYPE_TEST_QUALIFIED
static getInstanceByObjId($a_obj_id)
get singleton instance
static getInstance($a_container_id)
Get instance by 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 _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
static _getStaticLink( $a_ref_id, $a_type='', $a_fallback_goto=true, $append="")
Get static link.
static _isActivated($a_obj_id, &$a_visible_flag=null, $a_mind_member_view=true)
Is activated?
GUI class for course verification.
static _lookupViewMode($a_id)
lookup view mode of container
GUI class for exercise verification.
GUI class for scorm verification.
static getSyntaxStylePath()
get syntax style path
static getContentStylePath($a_style_id, $add_random=true, $add_token=true)
get content style path
static getPlaceHolderStylePath()
get placeholder style path (for Page Layouts)
GUI class for test verification.
static _hasLearningProgressLearner()
static _enabledLearningProgress()
check wether learing progress is enabled or not
static _enabledUserRelatedData()
check wether user related tracking is enabled or not
const WORKSPACE_OBJECT_ID
static _lookupOwner($a_id)
lookup object owner
static _lookupTitle($a_id)
lookup object title
static _lookupTitle($a_id)
lookup object title
static _getAllReferences($a_id)
get all reference ids of object
static _exists($a_id, $a_reference=false, $a_type=null)
checks if an object exists in object_data@access public
static _lookupType($a_id, $a_reference=false)
lookup object type
setPresentationTitle($a_title="")
getPageObject()
Get Page Object.
setTemplateOutput($a_output=true)
static _getMembershipByType($a_usr_id, $a_type, $a_only_member_role=false)
get membership by type Get course or group membership
Personal skills GUI class.
Portfolio page gui class.
setEmbedded($a_value)
Set embedded mode: will suppress tabs.
executeCommand()
execute command
getPageContentUserId($a_user_id)
getCoursesOfUser($a_user_id, $a_add_path=false)
parseLOUserResults($a_course_obj_id, $a_user_id)
getCourseSortAction($ctrl)
Get course sort action.
renderTeaser($a_type, $a_title, $a_options=null)
getParentType()
Get parent type.
renderPageElement($a_type, $a_html)
renderProfile($a_user_id, $a_type, array $a_fields=null)
renderConsultationHours($a_user_id, $a_mode, $a_group_ids)
getPagePermaLink()
Get page perma link.
getViewPageText()
Get view page link.
renderSkillsTeaser($a_user_id, $a_skills_id)
getTabs($a_activate="")
Set all tabs.
renderBlog($a_user_id, $a_blog_id, array $a_posting_ids=null)
renderBlogTeaser($a_user_id, $a_blog_id, array $a_posting_ids=null)
renderVerification($a_user_id, $a_type, $a_id)
postOutputProcessing($a_output)
Finalizing output processing.
getAdditional()
Get Additonal Information.
createPersistentCertificateUrl($a_id, $userCertificateRepository, $url)
renderConsultationHoursTeaser($a_user_id, $a_mode, $a_group_ids)
__construct($a_portfolio_id, $a_id=0, $a_old_nr=0, $a_enable_comments=true)
Constructor.
parseObjectives($a_obj_id, $a_user_id)
renderMyCoursesTeaser($a_user_id, $a_default_sorting)
getViewPageLink()
Get view page link.
renderMyCourses($a_user_id, $a_default_sorting)
renderSkills($a_user_id, $a_skills_id)
makePlaceHoldersClickable($a_html)
Modify page content after xsl.
setAdditional($a_additional)
Set Additonal Information.
static findPortfolioForPage($a_page_id)
Get portfolio id of page id.
GUI class for public user profile presentation.
static _lookupTitle($a_obj_id, $a_tref_id=0)
Lookup Title.
special template class to simplify handling of ITX/PEAR
static getObjectsStatusForUser($a_user_id, array $obj_refs)
static sortArray( $array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false, $a_keep_keys=false)
sortArray
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
static formSelect( $selected, $varname, $options, $multiple=false, $direct_text=false, $size="0", $style_class="", $attribs="", $disabled=false)
Builds a select form field with options and shows the selected option first.
static getTypeIconPath($a_type, $a_obj_id, $a_size='small')
Get type icon path path Return image path for icon_xxx.pngs Or (if enabled) path to custom icon Depre...
Tree handler for personal workspace.
__construct(Container $dic, ilPlugin $plugin)
@inheritDoc
foreach($_POST as $key=> $value) $res