} elseif ($_GET['page'] === "all") { $render = true; $default_date_range = unserialize(EXAMS_AND_PROCTOR_DEFAULT_DATE_FILTER_RANGE); if (!empty($_GET['start']) && !empty($_GET['end'])) { $startDate = \DateTime::createFromFormat('Y-m-d', urldecode($_GET['start'])); $endDate = \DateTime::createFromFormat('Y-m-d', urldecode($_GET['end'])); } if (!$startDate) { $startDate = new \DateTime($default_date_range['start']); } if (!$endDate) { $endDate = new \DateTime($default_date_range['end']); } $startDate = $startDate->format('Y-m-d'); $endDate = $endDate->format('Y-m-d'); $data = $model->listApproved($startDate, $endDate); foreach ($data as &$r) { $r['official_evaluation_starttime'] = \DateTime::createFromFormat(DATETIME_MYSQL, $r['official_evaluation_starttime']); $r['official_evaluation_endtime'] = \DateTime::createFromFormat(DATETIME_MYSQL, $r['official_evaluation_endtime']); $r['actual_evaluation_starttime'] = \DateTime::createFromFormat(DATETIME_MYSQL, $r['actual_evaluation_starttime']); $r['actual_evaluation_endtime'] = \DateTime::createFromFormat(DATETIME_MYSQL, $r['actual_evaluation_endtime']); $r['meta'] = Proctor::determineStatus($r); if ($r['meta']->status === 'pending') { // Show image if time is close to exam $r['img'] = $r['meta']->timer < 15; } } unset($r); $l10n->addResource(__DIR__ . '/l10n/all.json'); $viewFile = 'views/all.php'; } elseif ($_GET['page'] === "startnow") {