public function delete() { $quizId = Input::get('quizId', null); if (!$quizId) { return Response::error("Quiz not found"); } try { $quiz = Quiz::findOrFail($quizId ? $quizId : $quizData['id']); } catch (ModelNotFoundException $e) { return Response::error("Error finding quiz with id " . $quizId); } if ($quiz->delete()) { return Response::json(array('success' => true)); } else { return Response::error("Some error occured while deleting quiz : '" . $quizId->topic . "'"); } }
public function quizUsers() { try { $sortOptions = self::processSort(); $activityType = Input::get('activityType'); $quizId = Input::get('quizId'); $users = null; if ($quizId) { $quiz = Quiz::findOrFail($quizId); $quizStats = $quiz->stats; $quizResultsDistribution = array(); $quizResultsDistribution = $quiz->resultDistribution(); if ($activityType) { $activityOptions = array(); if ($activityType == 'got-result') { $activityOptions = array('resultId' => Input::get('resultId')); } else { if ($activityType == 'chosen-answer') { $activityOptions = array('questionId' => Input::get('questionId'), 'answerId' => Input::get('answerId')); } } $usersQuery = self::getUsersQueryByActivity($quiz, $activityType, $activityOptions); $usersQuery = $usersQuery->orderBy($sortOptions['sort'], $sortOptions['sortType']); if (Input::get('download')) { return self::downloadEmails($usersQuery); } $users = $usersQuery->paginate(self::$perPage); //dd(DB::getQueryLog()); //dd($users->toArray()); self::addSerialNumbers($users); } $results = $quiz->results; $questions = $quiz->questions; $quizShareRate = $quizLikeRate = 0; if ($quizStats && !empty($quizStats->attempts)) { $quizShareRate = number_format($quizStats->shares / $quizStats->attempts * 100, 2); $quizLikeRate = number_format($quizStats->likes / $quizStats->attempts * 100, 2); } $last30DaysAttempts = AdminController::getLastNDaysActivity(30, 'attempt', $quiz); View::share(array('users' => $users, 'quizId' => $quizId, 'quiz' => $quiz, 'quizResults' => $results, 'quizQuestions' => $questions, 'quizStats' => $quizStats, 'quizShareRate' => $quizShareRate, 'quizLikeRate' => $quizLikeRate, 'last30DaysAttempts' => json_encode($last30DaysAttempts), 'quizResultsDistribution' => $quizResultsDistribution)); } else { } View::share(array('activityType' => $activityType, 'resultId' => Input::get('resultId'), 'questionId' => Input::get('questionId'), 'answerId' => Input::get('answerId'))); QuizController::_loadQuizes(); return View::make('admin/users/quizUsers')->with(array('currentPage' => 'quizUsers')); } catch (Illuminate\Database\Eloquent\ModelNotFoundException $e) { return Response::notFound('Quiz not found'); } catch (Exception $e) { return Response::make($e->getMessage(), 400); } }
public function saveUserAnswer($nameString, $quizId = null) { try { $quiz = Quiz::findOrFail($quizId); $user = Auth::user(); $questionId = Input::get('questionId'); $choiceId = Input::get('choiceId'); if (!$user) { return Response::json(array('error' => 'Not logged in'), 400); } $quizUserAnswer = QuizUserAnswers::firstOrNew(array('user_id' => $user->id, 'quiz_id' => $quiz->id, 'question_id' => $questionId, 'answer_id' => $choiceId)); $quizUserAnswer->save(); return Response::json(array('message' => 'Activity recorded')); } catch (Illuminate\Database\Eloquent\ModelNotFoundException $e) { return Response::notFound('Quiz not found'); } catch (Exception $e) { return Response::notFound($e->getMessage()); } }
public function show($id) { $quiz = Quiz::findOrFail($id); $menu = 'academic'; return View::make('quizzes.show', compact('quiz', 'menu')); }