function took($id) { $onlineExams = onlineExams::where('id', $id)->first()->toArray(); $onlineExams['examQuestion'] = json_decode($onlineExams['examQuestion'], true); $toReturn = array(); $answers = Input::get('examQuestion'); $score = 0; while (list($key, $value) = each($answers)) { if (!isset($value['answer'])) { continue; } if (!isset($onlineExams['examQuestion'][$key]['type']) || (isset($onlineExams['examQuestion'][$key]['type']) and $onlineExams['examQuestion'][$key]['type'] == "radio")) { if ($value['answer'] == $onlineExams['examQuestion'][$key]['Tans']) { $score++; } } if (isset($onlineExams['examQuestion'][$key]['type']) and $onlineExams['examQuestion'][$key]['type'] == "check") { $pass = true; if (isset($onlineExams['examQuestion'][$key]['Tans1'])) { if (isset($value['answer1']) and $value['answer1'] != true) { $pass = false; } } if (isset($onlineExams['examQuestion'][$key]['Tans2'])) { if (isset($value['answer2']) and $value['answer2'] != true) { $pass = false; } } if (isset($onlineExams['examQuestion'][$key]['Tans3'])) { if (isset($value['answer3']) and $value['answer3'] != true) { $pass = false; } } if (isset($onlineExams['examQuestion'][$key]['Tans4'])) { if (isset($value['answer4']) and $value['answer4'] != true) { $pass = false; } } if ($pass == true) { $score++; } unset($pass); } if (isset($onlineExams['examQuestion'][$key]['type']) and $onlineExams['examQuestion'][$key]['type'] == "text") { $onlineExams['examQuestion'][$key]['ans1'] = explode(",", $onlineExams['examQuestion'][$key]['ans1']); if (in_array($value['answer'], $onlineExams['examQuestion'][$key]['ans1'])) { $score++; } } } $onlineExamsGrades = onlineExamsGrades::where('examId', $id)->where('studentId', $this->data['users']->id)->first(); $onlineExamsGrades->examId = Input::get('id'); $onlineExamsGrades->studentId = $this->data['users']->id; $onlineExamsGrades->examQuestionsAnswers = json_encode($answers); $onlineExamsGrades->examGrade = $score; $onlineExamsGrades->examDate = time(); $onlineExamsGrades->save(); if (Input::get('ExamShowGrade') == 1) { $toReturn['grade'] = $score; } $toReturn['finish'] = true; return json_encode($toReturn); }
public function calender() { $StartDateArray = strptime(Input::get('start'), '%Y-%m-%d'); $sStartDateTimeStamp = mktime(0, 0, 0, $StartDateArray['tm_mon'] + 1, $StartDateArray['tm_mday'], $StartDateArray['tm_year'] + 1900); $EndDateArray = strptime(Input::get('end'), '%Y-%m-%d'); $sEndDateTimeStamp = mktime(0, 0, 0, $EndDateArray['tm_mon'] + 1, $EndDateArray['tm_mday'], $EndDateArray['tm_year'] + 1900); $daysArray = $this->GetDays(Input::get('start'), Input::get('end')); $toReturn = array(); if ($this->data['users']->role == "admin") { $assignments = assignments::whereIn('AssignDeadLine', $daysArray)->get(); } elseif ($this->data['users']->role == "teacher") { $assignments = assignments::whereIn('AssignDeadLine', $daysArray)->where('teacherId', $this->data['users']->id)->get(); } elseif ($this->data['users']->role == "student") { $assignments = assignments::whereIn('AssignDeadLine', $daysArray)->where('classId', 'like', '%"' . $this->data['users']->studentClass . '"%')->get(); } if (isset($assignments)) { foreach ($assignments as $event) { $eventsArray['id'] = $event->id; $eventsArray['title'] = "Assignment : " . $event->AssignTitle; $eventsArray['start'] = date("c", strtotime($event->AssignDeadLine)); $eventsArray['backgroundColor'] = 'green'; $eventsArray['textColor'] = '#fff'; $eventsArray['url'] = "#assignments"; $eventsArray['allDay'] = true; $toReturn[] = $eventsArray; } } $events = events::whereIn('eventDate', $daysArray)->where('eventFor', $this->data['users']->role)->orWhere('eventFor', 'all')->get(); foreach ($events as $event) { $eventsArray['id'] = $event->id; $eventsArray['title'] = "Event : " . $event->eventTitle; $eventsArray['start'] = date("c", strtotime($event->eventDate)); $eventsArray['backgroundColor'] = 'blue'; $eventsArray['url'] = "#events/" . $event->id; $eventsArray['textColor'] = '#fff'; $eventsArray['allDay'] = true; $toReturn[] = $eventsArray; } $examsList = examsList::whereIn('examDate', $daysArray)->get(); foreach ($examsList as $event) { $eventsArray['id'] = $event->id; $eventsArray['title'] = "Exam : " . $event->examTitle; $eventsArray['start'] = date("c", strtotime($event->examDate)); $eventsArray['backgroundColor'] = 'red'; $eventsArray['url'] = "#examsList"; $eventsArray['textColor'] = '#fff'; $eventsArray['allDay'] = true; $toReturn[] = $eventsArray; } $newsboard = newsboard::where('creationDate', '>=', $sStartDateTimeStamp)->where('creationDate', '<=', $sEndDateTimeStamp)->where('newsFor', $this->data['users']->role)->orWhere('newsFor', 'all')->get(); foreach ($newsboard as $event) { $eventsArray['id'] = $event->id; $eventsArray['title'] = "News : " . $event->newsTitle; $eventsArray['start'] = date("c", $event->creationDate); $eventsArray['url'] = "#newsboard/" . $event->id; $eventsArray['backgroundColor'] = 'white'; $eventsArray['textColor'] = '#000'; $eventsArray['allDay'] = true; $toReturn[] = $eventsArray; } if ($this->data['users']->role == "admin") { $onlineExams = onlineExams::where('examDate', '>=', $sStartDateTimeStamp)->where('ExamEndDate', '<=', $sEndDateTimeStamp)->get(); } elseif ($this->data['users']->role == "teacher") { $onlineExams = onlineExams::where('examDate', '>=', $sStartDateTimeStamp)->where('ExamEndDate', '<=', $sEndDateTimeStamp)->where('examTeacher', $this->data['users']->id)->get(); } elseif ($this->data['users']->role == "student") { $onlineExams = onlineExams::where('examDate', '>=', $sStartDateTimeStamp)->where('ExamEndDate', '<=', $sEndDateTimeStamp)->where('examClass', 'like', '%"' . $this->data['users']->studentClass . '"%')->get(); } if (isset($onlineExams)) { foreach ($onlineExams as $event) { $eventsArray['id'] = $event->id; $eventsArray['title'] = "Online Exam : " . $event->examTitle; $eventsArray['start'] = date("c", strtotime($event->examDate)); $eventsArray['backgroundColor'] = 'red'; $eventsArray['url'] = "#onlineExams"; $eventsArray['textColor'] = '#000'; $eventsArray['allDay'] = true; $toReturn[] = $eventsArray; } } return $toReturn; }