Include correction points in final score

This commit is contained in:
Wojtek
2026-10-15 21:15:00 +02:00
parent 1df6c6dfc3
commit f44ae609a9
5 changed files with 8 additions and 5 deletions
+1 -1
View File
@@ -30,6 +30,6 @@ Szkielet komponentu Joomla 6 do gromadzenia pytań testowych.
## Instalacja
W Joomla wybierz **System → Install → Install from Folder** i wskaż ten katalog. Manifestem instalacyjnym jest `com_testquestions.xml` (wersja 1.21.0).
W Joomla wybierz **System → Install → Install from Folder** i wskaż ten katalog. Manifestem instalacyjnym jest `com_testquestions.xml` (wersja 1.22.0).
Po instalacji komponent jest dostępny w panelu administratora jako **Pytania testowe**.
@@ -0,0 +1 @@
-- Corrected points are calculated as automatic points plus manually awarded correction points.
@@ -57,16 +57,16 @@ class ResultModel extends BaseDatabaseModel
}
unset($answer);
$pointsAfter = 0;
$correctionPoints = 0;
foreach ($item->answers as $answer) {
$pointsAfter += (int) ($answer['awarded_points'] ?? 0);
$correctionPoints += (int) ($answer['awarded_points'] ?? 0);
}
$db = Factory::getContainer()->get('DatabaseDriver');
$row = (object) [
'id' => $id,
'answers' => json_encode($item->answers, JSON_UNESCAPED_UNICODE),
'points_after' => $pointsAfter,
'points_after' => (int) $item->points_before + $correctionPoints,
];
return (bool) $db->updateObject('#__testquestions_results', $row, 'id');
@@ -11,6 +11,8 @@
<dd class="col-sm-9"><?php echo $this->escape(($this->item->subject_title ? $this->item->subject_title . ' — ' : '') . $this->item->set_title); ?></dd>
<dt class="col-sm-3"><?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_RESULT_SCORE'); ?></dt>
<dd class="col-sm-9"><?php echo (int) $this->item->correct_count; ?> / <?php echo (int) $this->item->total_count; ?> (<?php echo htmlspecialchars((string) $this->item->percentage, ENT_QUOTES, 'UTF-8'); ?>%)</dd>
<dt class="col-sm-3"><?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_RESULT_POINTS_BEFORE_AFTER'); ?></dt>
<dd class="col-sm-9"><?php echo (int) $this->item->points_before; ?> / <?php echo (int) $this->item->points_after; ?></dd>
<dt class="col-sm-3"><?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_RESULT_EXECUTION_TIME'); ?></dt>
<dd class="col-sm-9"><?php echo floor((int) $this->item->execution_time / 60); ?>:<?php echo str_pad((string) ((int) $this->item->execution_time % 60), 2, '0', STR_PAD_LEFT); ?></dd>
</dl>
+1 -1
View File
@@ -4,7 +4,7 @@
<creationDate>2026-10-14</creationDate>
<author>Komponent</author>
<license>GNU General Public License version 2 or later</license>
<version>1.21.0</version>
<version>1.22.0</version>
<description>COM_TESTQUESTIONS_DESCRIPTION</description>
<element>com_testquestions</element>
<namespace path="src">Komponent\Component\Testquestions</namespace>