/** * * Считает статистику выполненных, проверяемых и всех заданий * 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 $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