19 declare(strict_types=1);
75 if ($this->testOBJ->isShowGradingStatusEnabled()) {
79 if ($this->testOBJ->isShowGradingMarkEnabled()) {
86 $this->messageText[] = $msgPart;
91 return implode(
' ', $this->messageText);
96 return (
bool) $this->resultData[
'passed'];
101 if (!$this->testOBJ->isShowGradingStatusEnabled()) {
102 $this->main_tpl->setOnScreenMessage(
'info', $this->
getFullMessage());
104 $this->main_tpl->setOnScreenMessage(
'success', $this->
getFullMessage());
106 $this->main_tpl->setOnScreenMessage(
'info', $this->
getFullMessage());
112 $this->resultData = $this->testOBJ->getResultsForActiveId($this->
getActiveId());
118 return $this->
lng->txt(
'grading_status_passed_msg');
121 return $this->
lng->txt(
'grading_status_failed_msg');
126 $markMsg = $this->
lng->txt(
'grading_mark_msg');
129 $markMsg = str_replace(
"[markshort]", $this->
getMarkShort(), $markMsg);
130 $markMsg = str_replace(
"[percentage]", $this->
getPercentage(), $markMsg);
131 $markMsg = str_replace(
"[reached]", (
string) $this->
getReachedPoints(), $markMsg);
132 $markMsg = str_replace(
"[max]", (
string) $this->
getMaxPoints(), $markMsg);
139 return $this->resultData[
'mark_official'];
144 return $this->resultData[
'mark_short'];
155 return sprintf(
"%.2f", $percentage);
160 return $this->resultData[
'reached_points'];
165 return $this->resultData[
'max_points'];
170 return (
bool) $this->resultData[
'obligations_answered'];
179 if ($this->testOBJ->isShowGradingStatusEnabled()) {
180 $passedStatusLangVar = $this->
isPassed() ?
'passed_official' :
'failed_official';
183 $this->
lng->txt(
'passed_status'),
184 $this->
lng->txt($passedStatusLangVar)
188 if ($this->testOBJ->areObligationsEnabled()) {
190 $obligAnsweredStatusLangVar =
'grading_obligations_answered_listentry';
192 $obligAnsweredStatusLangVar =
'grading_obligations_missing_listentry';
196 $this->
lng->txt(
'grading_obligations_listlabel'),
197 $this->
lng->txt($obligAnsweredStatusLangVar)
201 if ($this->testOBJ->isShowGradingMarkEnabled()) {
210 $this->tpl =
new ilTemplate(
'tpl.tst_grading_msg_list.html',
true,
true,
'Modules/Test');
215 $this->tpl->setCurrentBlock(
'grading_msg_entry');
216 $this->tpl->setVariable(
'LABEL', $label);
217 $this->tpl->setVariable(
'VALUE', $value);
218 $this->tpl->parseCurrentBlock();
223 $this->tpl->setCurrentBlock(
'grading_msg_list');
224 $this->tpl->parseCurrentBlock();
229 return $this->tpl->get();
__construct(private ilLanguage $lng, private ilGlobalTemplateInterface $main_tpl, private ilObjTest $testOBJ)
populateListEntry($label, $value)