Ejemplo n.º 1
0
 public function info($assignment_id = null)
 {
     global $db;
     if (is_null($assignment_id)) {
         $assignment_id = $this->assignment_id;
     }
     $user_id = user::authService()['user_id'];
     if (!isset($assignment_id) && !isset($user_id)) {
         return -1;
     }
     $db->where("assignment_id", $assignment_id);
     $result = $db->get("assignment")[0];
     $db->where("type_id", $assignment_id);
     $db->where("type", "question");
     $resultFile = $db->get("file");
     $files = array();
     foreach ($resultFile as $rowFile) {
         $filepath = file::getFilename($rowFile['file_id'], $rowFile['extension']);
         $rowFile['filepath'] = $filepath;
         $files[] = $rowFile;
     }
     $result['files'] = $files;
     if (user::isStudent()) {
         $result['group_id'] = Assignment::groupID($assignment_id);
         $result['editor'] = Assignment::getEditor($result['group_id']);
     } elseif (user::isTeacher()) {
         $db->where("assignment_id", $assignment_id);
         $result2 = $db->get("assignment_group", "COUNT(*) as group_count")[0];
         $result['group_count'] = $result2['group_count'];
         $deadline = explode(" ", $result['deadline']);
         $result['due_date'] = $deadline[0];
         $result['due_time'] = $deadline[1];
         $db->where("assignment_id", $assignment_id);
         $sample_codes = $db->get("assignment_sample_code");
         $result['sample_code'] = $sample_codes;
     }
     $result['deadline_time'] = strtotime($result['deadline']);
     if (time() > $result['deadline_time']) {
         $result['overdue'] = true;
     } else {
         $result['overdue'] = false;
         $diff = $result['deadline_time'] - time();
         $result['deadline_day'] = ceil($diff / 60 / 60 / 24);
     }
     return $result;
 }