public function activity($nameString, $quizId = null, $activityType) { try { $quiz = Quiz::findOrFail($quizId); $user = Auth::user(); if (!$user) { return Response::json(array('error' => 'Not logged in'), 400); } $quizUserActivity = QuizUserActivity::firstOrNew(array('user_id' => $user->id, 'quiz_id' => $quiz->id, 'type' => $activityType)); if ($quizUserActivity->created_at) { $quizUserActivity->touch(); } else { $quizUserActivity->save(); } self::incrementQuizStats($quiz, $activityType); return Response::json(array('message' => 'Activity recorded')); } catch (Illuminate\Database\Eloquent\ModelNotFoundException $e) { return Response::notFound('Quiz not found'); } }