コード例 #1
0
 public function viewProfile()
 {
     $user = Auth::User();
     $views = Viewable::viewedResource($user->ID);
     $username = $user->user_login;
     $profilePic = userProfilePhoto::where('username', $username)->pluck('photoUrl');
     $quiz_attempts = QuizAttempt::ownedAttempts($user->ID)->get();
     if (Auth::user()->role == 'admin' || Auth::user()->role == 'teacher') {
         return View::make('profile.index')->with(array('user' => $user, 'views' => $views, 'quiz_attempts' => $quiz_attempts));
     } else {
         return View::make('profile.index_student')->with(array('user' => $user, 'views' => $views, 'quiz_attempts' => $quiz_attempts, 'photoUrl' => $profilePic));
     }
 }
コード例 #2
0
 public function submit_answer($resource_id, $quiz_id)
 {
     try {
         DB::beginTransaction();
         $resource = Resource::find($resource_id);
         $quiz = $resource->quizzes()->find($quiz_id);
         $quiz_attempt_params = array("user_id" => Auth::user()->ID);
         $attempt_validator = QuizAttempt::validate($quiz_attempt_params);
         if ($attempt_validator->fails()) {
             throw new Exception("Your attempt can't be recorded");
         }
         $quiz_attempt = new QuizAttempt($quiz_attempt_params);
         $quiz_attempt = $quiz->quiz_attempts()->save($quiz_attempt);
         foreach (Input::get("answers") as $key => $answer) {
             foreach ($answer['options'] as $option) {
                 $option_params = array("option_id" => $option, 'question_id' => $answer['question_id']);
                 $option_validator = QuizAttemptAnswer::validate($option_params);
                 if ($option_validator->fails()) {
                     throw new Exception("Your answers can't be saved");
                 }
                 $answer = new QuizAttemptAnswer($option_params);
                 $answer = $quiz_attempt->answers()->save($answer);
             }
         }
         DB::commit();
         return Redirect::to("resources/" . $resource->id . '/quizzes/' . $quiz->id . '/show_answer/' . $quiz_attempt->id)->with("success", "You have successfully completed the quiz.");
     } catch (Exception $e) {
         DB::rollback();
     }
 }