3 declare(strict_types=1);
32 protected static string $tpl_file =
"tpl.progress_list_item.html";
47 $this->
lng = $DIC[
'lng'];
48 $this->
lng->loadLanguageModule(
"prg");
49 $this->
ctrl = $DIC[
'ilCtrl'];
50 $this->
access = $DIC[
'ilAccess'];
52 $this->progress = $a_progress;
55 $this->show_info_message =
false;
56 $this->visible_on_pd_mode =
"read";
61 if ($this->
html === null) {
62 $tpl = $this->
getTemplate(
"Modules/StudyProgramme", static::$tpl_file,
true,
true);
74 if ($title_and_icon_target) {
78 $tpl->
setVariable(
"ICON_HREF", $title_and_icon_target);
83 $tpl->
setVariable(
"HREF_TITLE", $title_and_icon_target);
97 $tpl->
setVariable(
"MORE_OBJECTS", $this->
lng->txt(
"prg_more_objects_without_read_permission"));
99 $tpl->
setVariable(
"TXT_DESC", $programme->getDescription());
111 bool $remove_unknown_vars,
112 bool $remove_empty_blocks
114 return new ilTemplate($file, $remove_unknown_vars, $remove_empty_blocks, $component);
124 return $this->
lng->txt(
"icon") .
" " . $this->
lng->txt(
"obj_prg");
129 $this->
ctrl->setParameterByClass(
"ilDashboardGUI",
"prg_progress_id", $progress->
getId());
130 $this->
ctrl->setParameterByClass(
"ilDashboardGUI",
"expand", 1);
131 $link = $this->
ctrl->getLinkTargetByClass(
"ilDashboardGUI",
"jumpToSelectedItems");
132 $this->
ctrl->setParameterByClass(
"ilDashboardGUI",
"prg_progress_id", null);
133 $this->
ctrl->setParameterByClass(
"ilDashboardGUI",
"expand", null);
139 $tooltip_id =
"prg_" . $progress->
getId();
145 $current_percent = 0;
146 $required_percent = 0;
148 if ($maximum_possible_amount_of_points > 0) {
149 $current_percent = (
int) ($current_amount_of_points * 100 / $maximum_possible_amount_of_points);
150 $required_percent = (
int) ($required_amount_of_points * 100 / $maximum_possible_amount_of_points);
152 $current_percent = 100;
153 $required_percent = 100;
157 if ($required_percent === 0) {
158 $required_percent = 0.1;
165 $css_class = self::SUCCESSFUL_PROGRESS_CSS_CLASS;
167 $css_class = self::NON_SUCCESSFUL_PROGRESS_CSS_CLASS;
171 (
int)$current_percent,
172 (
int)$required_percent,
184 $this->
lng->txt(
"prg_progress_info"),
192 $lang_val =
"prg_progress_status";
196 if ($programme->hasChildren() && !$programme->hasLPChildren()) {
197 $lang_val =
"prg_progress_status_with_child_sp";
200 if ($programme->hasChildren()) {
205 $this->
lng->txt($lang_val),
229 foreach ($children as $child) {
230 $read = $this->
access->checkAccess(
"read",
"", $child->getRefId(),
"prg", $child->getId());
parseCurrentBlock(string $part=ilGlobalTemplateInterface::DEFAULT_BLOCK)
const SETTING_VISIBLE_ON_PD_ALLWAYS
static _getIcon(int $obj_id=0, string $size="big", string $type="", bool $offline=false)
Get icon for repository item.
getTemplate(string $component, string $file, bool $remove_unknown_vars, bool $remove_empty_blocks)
getTitleAndIconTarget(ilPRGProgress $progress)
getChildren(bool $include_references=false)
Get all ilObjStudyProgrammes that are direct children of this object.
setShowInfoMessage(bool $show_info_message)
setVisibleOnPDMode(string $visible_on_pd_mode)
get(string $part=self::DEFAULT_BLOCK)
Renders the given block and returns the html string.
setOnlyRelevant(bool $only_relevant)
const SUCCESSFUL_PROGRESS_CSS_CLASS
__construct(ilPRGProgress $a_progress)
ilGlobalTemplateInterface $tpl
A Progress is the status of a user on a single node of an assignment; it is unique by assignment_id:u...
setVariable($variable, $value='')
Sets a variable value.
const NON_SUCCESSFUL_PROGRESS_CSS_CLASS
fillTemplate(ilTemplate $tpl)
getTitleForItem(ilObjStudyProgramme $programme)
getCurrentAmountOfPoints()
static getInstanceByObjId(int $obj_id)
setCurrentBlock(string $part=ilGlobalTemplateInterface::DEFAULT_BLOCK)
buildProgressBar(ilPRGProgress $progress)
buildProgressStatus(ilPRGProgress $progress)
getPossiblePointsOfRelevantChildren()
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static renderProgressBar(int $a_perc_result=null, int $a_perc_limit=null, string $a_css=null, string $a_caption=null, string $a_url=null, string $a_tt_id=null, string $a_tt_txt=null, string $a_next_step=null, bool $a_sub=false, int $a_sub_style=30)
Render progress bar(s)
string $visible_on_pd_mode
showMoreObjectsInfo(ilObjStudyProgramme $programme)
buildToolTip(ilPRGProgress $progress)