/** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { // If we've got a bot, fake a successful request. if ($request->input('url')) { return CommentHelpers::formatData(array(), false, 'Spam', 403); } if (!$request->input('name')) { return CommentHelpers::formatData(array(), false, 'Name is required', 400); } if (!$request->input('email')) { return CommentHelpers::formatData(array(), false, 'Email is required', 400); } if (!$request->input('comment')) { return CommentHelpers::formatData(array(), false, 'Comment is required', 400); } if (!$request->input('slug')) { // TODO: Check against website to ensure the slug is valid. return CommentHelpers::formatData(array(), false, 'Slug is required', 400); } if (!$request->input('nocaptcha')) { return CommentHelpers::formatData(array(), false, 'No captcha response required', 400); } if (stripos($request->input('nocaptcha'), getenv('NOCAPTCHA')) === FALSE) { // We don't return a 403 here, so that we can display the message to the end user. return CommentHelpers::formatData(array(), false, 'Sorry, our mascot is not a(n) ' . $request->input('nocaptcha')); } return $next($request); }
public function getCommentsCount() { $comments = Comment::all(); if (!$comments) { return CommentHelpers::formatData(array(), FALSE); } $commentData = []; foreach ($comments as $comment) { if (!isset($commentData[$comment->slug])) { $commentData[$comment->slug] = 1; } else { $commentData[$comment->slug]++; } } return CommentHelpers::formatData(array($commentData)); }