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));
 }
Exemple #2
0
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);
     }
 }