Пример #1
0
 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);
 }
Пример #2
0
 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;
 }