69 lines
5.0 KiB
PHP
69 lines
5.0 KiB
PHP
<?php
|
|
|
|
defined('_JEXEC') or die;
|
|
|
|
use Joomla\CMS\HTML\HTMLHelper;
|
|
use Joomla\CMS\Router\Route;
|
|
?>
|
|
<form action="<?php echo Route::_('index.php?option=com_testquestions&view=results'); ?>" method="post" name="adminForm" id="adminForm">
|
|
<div class="row mb-3">
|
|
<div class="col-md-6">
|
|
<input type="text" name="filter_search" value="<?php echo $this->escape($this->state->get('filter.search')); ?>" class="form-control" placeholder="<?php echo $this->escape(\Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_RESULTS_SEARCH')); ?>">
|
|
</div>
|
|
</div>
|
|
<div class="row mb-3">
|
|
<div class="col-md-6">
|
|
<label for="filter-set-id" class="form-label"><?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_RESULTS_TEST_NAME'); ?></label>
|
|
<select name="filter_set_id" id="filter-set-id" class="form-select">
|
|
<option value="0"><?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_RESULTS_ALL_TESTS'); ?></option>
|
|
<?php foreach ($this->sets as $set) : ?>
|
|
<option value="<?php echo (int) $set->id; ?>" <?php echo (int) $this->state->get('filter.set_id') === (int) $set->id ? 'selected' : ''; ?>><?php echo $this->escape(($set->subject_title ? $set->subject_title . ' — ' : '') . $set->title . (!(int) $set->published ? ' (nieopublikowany)' : '')); ?></option>
|
|
<?php endforeach; ?>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="row mb-3">
|
|
<div class="col-md-3">
|
|
<label for="filter-date-from" class="form-label"><?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_RESULTS_DATE_FROM'); ?></label>
|
|
<input type="date" name="filter_date_from" id="filter-date-from" value="<?php echo $this->escape($this->state->get('filter.date_from')); ?>" class="form-control">
|
|
</div>
|
|
<div class="col-md-3">
|
|
<label for="filter-date-to" class="form-label"><?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_RESULTS_DATE_TO'); ?></label>
|
|
<input type="date" name="filter_date_to" id="filter-date-to" value="<?php echo $this->escape($this->state->get('filter.date_to')); ?>" class="form-control">
|
|
</div>
|
|
<div class="col-md-3 align-self-end"><button type="submit" class="btn btn-primary"><?php echo \Joomla\CMS\Language\Text::_('JSEARCH_FILTER_SUBMIT'); ?></button></div>
|
|
</div>
|
|
<table class="table table-striped">
|
|
<thead><tr>
|
|
<th><?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_RESULT_PARTICIPANT'); ?></th>
|
|
<th><?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_SET_TITLE'); ?></th>
|
|
<th><?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_RESULT_POINTS_BEFORE_AFTER'); ?></th>
|
|
<th><?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_RESULT_GRADE'); ?></th>
|
|
<th><?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_RESULT_EXECUTION_TIME'); ?></th>
|
|
<th><?php echo \Joomla\CMS\Language\Text::_('COM_TESTQUESTIONS_RESULT_DATE'); ?></th>
|
|
</tr></thead>
|
|
<tbody>
|
|
<?php foreach ($this->items as $item) : ?>
|
|
<tr class="<?php echo (int) $item->extra_time > 0 ? 'table-warning' : ''; ?>">
|
|
<th><a href="<?php echo Route::_('index.php?option=com_testquestions&view=result&id=' . (int) $item->id); ?>"><?php echo $this->escape($item->participant_name); ?></a></th>
|
|
<td><?php echo $this->escape(($item->subject_title ? $item->subject_title . ' — ' : '') . $item->set_title); ?></td>
|
|
<?php $pointsTotal = (int) $item->points_total ?: (int) $item->total_count; ?>
|
|
<?php $pointsBeforePercentage = $pointsTotal ? round(((int) $item->points_before / $pointsTotal) * 100, 2) : 0; ?>
|
|
<?php $pointsAfterPercentage = $pointsTotal ? round(((int) $item->points_after / $pointsTotal) * 100, 2) : 0; ?>
|
|
<?php $grade = 'NDST'; ?>
|
|
<?php foreach ([['CEL', 100], ['BDB', 90], ['BDB-', 80], ['DB+', 75], ['DB', 70], ['DB-', 65], ['DST+', 60], ['DST', 55], ['DST-', 50], ['DOP+', 45], ['DOP', 40], ['DOP-', 35], ['NDST+', 30], ['NDST', 0]] as $gradeScale) : ?>
|
|
<?php if ($pointsAfterPercentage >= $gradeScale[1]) { $grade = $gradeScale[0]; break; } ?>
|
|
<?php endforeach; ?>
|
|
<td><?php echo (int) $item->points_before; ?> (<?php echo $pointsBeforePercentage; ?>%) / <?php echo (int) $item->points_after; ?> (<?php echo $pointsAfterPercentage; ?>%)</td>
|
|
<td><?php echo $this->escape($grade); ?></td>
|
|
<td><?php echo floor((int) $item->execution_time / 60); ?>:<?php echo str_pad((string) ((int) $item->execution_time % 60), 2, '0', STR_PAD_LEFT); ?></td>
|
|
<td><?php echo HTMLHelper::_('date', $item->created, 'Y-m-d H:i'); ?></td>
|
|
</tr>
|
|
<?php endforeach; ?>
|
|
</tbody>
|
|
</table>
|
|
<?php echo $this->pagination->getListFooter(); ?>
|
|
<input type="hidden" name="task" value="">
|
|
<?php echo HTMLHelper::_('form.token'); ?>
|
|
</form>
|