public function index() { QuizController::_loadQuizes(['limit' => QuizController::PER_PAGE]); $pageTitle = Config::get('siteConfig')['main']['siteTitle']; $pageDescription = Config::get('siteConfig')['main']['siteDescription']; return View::make('home')->with(array('title' => $pageTitle, 'ogTitle' => $pageTitle, 'description' => $pageDescription, 'ogDescription' => $pageDescription)); }
App::error(function (Exception $exception, $code) { $pathInfo = Request::getPathInfo(); $message = $exception->getMessage() ?: 'Exception'; Log::error("{$code} - {$message} @ {$pathInfo}\r\n{$exception}"); if (Config::get('app.debug')) { return; } return Response::view('errors/500', array(), 500); }); //404 macro Response::macro('notFound', function ($value = null) { QuizController::_loadQuizes(); return Response::view('errors.404', array('errorMsg' => strtoupper($value)), 404); }); App::missing(function ($exception) { QuizController::_loadQuizes(); return Response::view('errors.404', array('errorMsg' => strtoupper($exception->getMessage())), 404); }); Response::macro('error', function ($message, $title = null, $errorCode = 500) { if (Request::ajax()) { return Response::make($message, $errorCode); } else { return Response::view('errors.error', array('title' => $title, 'message' => $message), $errorCode); } }); Response::macro('configurationError', function ($message, $title = null, $errorCode = 500) { if (Request::ajax()) { $response = $title . '<br>' . $message; } else { $response = View::make('errors.plainError')->with(array('title' => $title, 'message' => $message)); }
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); } }