/** * * Считает статистику выполненных, проверяемых и всех заданий * return array с ключами, которые задаются в options * **/ static function trackstat($tasks) { // сперва посчитаем список заданий // получаем список статусов, которые вообще есть $options = statushelper::options(); // сперва прописыаем нули по всем статусам foreach ($options as $key => $value) { $stat[$key] = 0; } // теперь, если нам прислали что-то неправильное, возвращаем массив с нулями if (count($tasks) < 1) { $stat['count'] = 0; return $stat; } // теперь пора начинать обход заданий foreach ($tasks as $task) { // если какой-то статус есть, считаем его if ($task->Solutions) { $status = $task->Solutions[0]->status; if (isset($stat[$status])) { $stat[$status]++; } } // и считаем общее количество } $stat['count'] = count($tasks); return $stat; }
<?php if (!isset($solution->Task)) { continue; } ?> <tr> <td> <?php if (isset($solution->Task->title)) { ?> <?php statushelper::microlabel($solution->status); ?> <a href="student<?php echo $solution->student; ?> /task<?php echo $solution->task; ?> " target="blanc"> <strong class="track-title"><?php echo $solution->Task->Tracks->title; ?> </strong> → <?php echo $solution->Task->title;
<?php $options = statushelper::options(); if (isset($task->Solutions[0])) { $solution = $task->Solutions[0]; $status = $solution->status; $student = $task->Solutions[0]->student; } else { $status = "undefined"; $student = 0; } ?> <div class="btn-group pull-right"> <button type="button" class="btn btn-<?php echo $options[$status]['bgcolor']; ?> dropdown-toggle" data-toggle="dropdown"> <i class="entypo-<?php echo $options[$status]['icon']; ?> "></i> <?php echo $options[$status]["full"]; ?> <span class="caret"></span> </button> <ul class="dropdown-menu " role="menu"> <?php
<!-- Показываем плашку с обозначением статуса --> <?php if ($task->active) { ?> <?php statushelper::label($task->Solutions[0]->status); ?> <?php } else { ?> <?php statushelper::label(0); ?> <?php } ?> </td></tr> <?php } ?> </table> <?php
echo $students[$student_id]->fullname; ?> </th> <?php foreach ($student as $task_id => $status) { ?> <td> <a href="/student<?php echo $student_id; ?> /task<?php echo $task_id; ?> "><?php statushelper::microlabel($status); ?> </a></td> <?php } ?> </tr> <?php } ?>
/task<?php echo $solution->task; ?> "> <?php if (isset($solution->Task)) { echo $solution->Task->title; } else { echo "Задание удалено </td></tr>"; continue; } ?> </a></td> <td><?php echo statushelper::label($solution->status); ?> </td> </tr> <?php } ?> </table> </div> <div class="tab-pane " id="sandbox">