diff --git a/css/vips.css b/css/vips.css index c4b3f7b7adcdc4fdd956b63b8cff6c7b97cace10..2abe928343672428dad018bcac39aed5fed6f641 100644 --- a/css/vips.css +++ b/css/vips.css @@ -635,3 +635,17 @@ button.vips_file_upload:hover { padding: 6px 10px; width: 100%; } + +.ls-scale-col { + text-align: center; +} + +@media (min-width: 768px) { + .ls-item-col { + width: 45%; + } + table td.ls-scale-col { + width: 5%; + text-align: center; + } +} \ No newline at end of file diff --git a/exercises/ls_exercise.php b/exercises/ls_exercise.php index d17e70e33f0c68f6ac1f7b56ac2ce74b11bee860..2e234b2d6f2681f607c081b076fc59e9cca9c62e 100644 --- a/exercises/ls_exercise.php +++ b/exercises/ls_exercise.php @@ -18,8 +18,7 @@ class ls_exercise extends Exercise */ public static function getTypeIcon($role = Icon::DEFAULT_ROLE) { - // TODO change icon - return Icon::create('likert', $role); + return Icon::create('question-likert', $role); } /** @@ -93,6 +92,7 @@ class ls_exercise extends Exercise $this->task['group'][] = $task; } } + sort($categories); $this->task['categories'] = $categories; } @@ -297,7 +297,7 @@ class ls_exercise extends Exercise if (!$this->task) { $this->task['scale'] = 5; $this->task['labels'] = ['0' => '']; - $this->task['scalepoints'] = array_fill(0, 4, 1); + $this->task['scalepoints'] = array_fill(0, 5, 1); $this->task['group'][0]['answers'] = array_fill(0, 5, ['text' => '', 'score' => 2, 'category' => 1]); } diff --git a/views/exercises/ls_exercise/correct.php b/views/exercises/ls_exercise/correct.php index 0049545efa04d5ea44fed541d7a8b30f4bcf5144..a57322b390f26239b4a52fd125e41092a283578f 100644 --- a/views/exercises/ls_exercise/correct.php +++ b/views/exercises/ls_exercise/correct.php @@ -20,9 +20,9 @@ <tbody class="dynamic_list" role="list"> <? foreach ($task['answers'] as $key => $entry): ?> <tr role="listitem"> - <td class="dynamic_counter"> <?= htmlReady($entry['text']) ?></td> + <td class="dynamic_counter ls-item-col"> <?= htmlReady($entry['text']) ?></td> <? for ($i = 0; $i < $exercise->task['scale']; $i++): ?> - <td style="text-align: center;"> + <td class="ls-scale-col"> <? if($response[$group][$key] == $i): ?> <?= Assets::img(vips_image_url('choice_checked.svg')) ?> <? endif ?> diff --git a/views/exercises/ls_exercise/edit.php b/views/exercises/ls_exercise/edit.php index d8e9310eeec2f642b7f618c71d73ddfa874976fb..399e54d0faa41d6137d32dd9258384fdcf7f5956 100644 --- a/views/exercises/ls_exercise/edit.php +++ b/views/exercises/ls_exercise/edit.php @@ -1,8 +1,8 @@ <div class="hgroup"> <label> <?= _vips('Skala Stufen') ?> - <input type="number" id="scale-length" name="scale" min="<?= htmlReady((int) $exercise->task['scale']) ?>" - value="<?= htmlReady((int) $exercise->task['scale']) ?>"> + <input type="number" id="scale-length" name="scale" min="<?= htmlReady($exercise->task['scale']) ?>" + value="<?= htmlReady($exercise->task['scale']) ?>"> </label> </div> diff --git a/views/exercises/ls_exercise/evaluation.php b/views/exercises/ls_exercise/evaluation.php index ef448719db4180a26f3967add1b6b76682b074bd..351fa8e50a023e3ec50d3a2688615555163cde89 100644 --- a/views/exercises/ls_exercise/evaluation.php +++ b/views/exercises/ls_exercise/evaluation.php @@ -13,9 +13,12 @@ <td><?= htmlReady($category) ?></td> <td> <? foreach ($exercise->task['group'] as $group => $answers): ?> - <? if (count($exercise->task['group']) > 1): ?><?= sprintf(_vips('Block %s'), $group+1) ?>: <? endif ?> - - <?= implode(", ", $exercise->getCategoryItems($category, $group)) ?> + <? if (count($exercise->getCategoryItems($category, $group)) > 0): ?> + <? if (count($exercise->task['group']) > 1): ?> + <?= sprintf(_vips('Block %s'), $group+1) ?>: + <? endif ?> + <?= implode(", ", $exercise->getCategoryItems($category, $group)) ?> + <? endif ?> <? endforeach ?> </td> <td> diff --git a/views/exercises/ls_exercise/solve.php b/views/exercises/ls_exercise/solve.php index 0688fa2733872d7819b6bb95c426260906eb45b3..f85e76bca5505f3a639fbf761520e45a941d9059 100644 --- a/views/exercises/ls_exercise/solve.php +++ b/views/exercises/ls_exercise/solve.php @@ -20,9 +20,9 @@ <tbody> <? foreach ($task['answers'] as $key => $entry): ?> <tr role="listitem"> - <td><?= htmlReady($entry['text']) ?></td> + <td class="ls-item-col"><?= htmlReady($entry['text']) ?></td> <? for ($i = 0; $i < $exercise->task['scale']; $i++): ?> - <td style="text-align: center;"> + <td class="ls-scale-col"> <input type="radio" name="answer[<?= $group ?>][<?= $key ?>]" value="<?= $i ?>" <? if($response[$group][$key] === $i): ?>checked<? endif ?>> </td> diff --git a/views/sheets/show_exercise.php b/views/sheets/show_exercise.php index 97136943732e827de7f0c4ac6c2938021a934ac2..735fa391cdd038e6e7fbd147ac33f297b8b2dd4b 100644 --- a/views/sheets/show_exercise.php +++ b/views/sheets/show_exercise.php @@ -56,9 +56,11 @@ <div class="description"> <? if ($exercise->type === 'ls_exercise'): ?> - <?= $this->render_partial('exercises/ls_exercise/evaluation') ?> + <? if ($GLOBALS['perm']->have_perm('dozent')): ?> + <?= $this->render_partial('exercises/ls_exercise/evaluation') ?> + <? endif ?> <? else: ?> - <?= sprintf(_vips('Erreichte Punkte: %s von %s'), (float) $reached_points, (float) $max_points) ?> + <?= sprintf(_vips('Erreichte Punkte: %s von %s'), (float) $reached_points, (float) $max_points) ?> <? endif ?> </div> </fieldset>