public function getDownvotequestion($id, $uID) { if (Auth::check() == NULL) { return Redirect::back()->with('alertError', "you have to be logged in to perform this action."); } //return $id . $uID; $data['question'] = Question::find($id); //return $data['question']->user_id . '==' . Auth::user()->id; if ($data['question']->user_id == Auth::user()->id) { return Redirect::back()->with('alertError', "You can not downvote your own question."); } $hasUserVoted = Qvote::where('user_id', '=', User::find(Auth::user()->id)->id)->where('question_id', '=', $id)->count(); if ($hasUserVoted == 0) { $reputationTest = User::find(Auth::user()->id); if ($reputationTest->reputation < 125) { return Redirect::back()->with('alertError', "You need 125 reputation to downvote a question."); } else { $vote = new Qvote(); $vote->user_id = User::find(Auth::user()->id)->id; $vote->question_id = $id; $vote->save(); $userToUpdate = User::find($uID); $reputation = $userToUpdate->reputation; $reputation -= 2; //$userToUpdate->reputation = $reputation - 2; if ($reputation < 1) { $userToUpdate->reputation = 1; } else { $userToUpdate->reputation = $reputation; } $userToUpdate->save(); $questionToDownVote = Question::find($id); $votes = $questionToDownVote->votes; $questionToDownVote->votes = $votes - 1; $questionToDownVote->save(); $questionReputation = new Qreputation(); $questionReputation->user_id = $uID; $questionReputation->question_id = $id; $questionReputation->points = "-2"; $questionReputation->action = "downvote"; $questionReputation->save(); return Redirect::back(); } } else { return Redirect::back()->with('alertError', "you have already voted this question."); } }
Route::get('/', function () { $data['users'] = User::all(); //$data['questions'] = DB::select( DB::raw("SELECT * FROM `questions` ORDER BY `created_at` DESC LIMIT 1") ); $data['questions'] = Question::orderBy('created_at', 'desc')->paginate(10); $data['count'] = Question::all()->count(); return View::make('site.home')->with($data); }); Route::get('questions', function () { $data['users'] = User::all(); $data['questions'] = Question::orderBy('created_at', 'desc')->paginate(10); $data['count'] = Question::all()->count(); return View::make('site.questions')->with($data); }); Route::get('question/{id}/{slug}', function ($id, $slug) { $data['users'] = User::all(); $data['qvotes'] = Qvote::where('question_id', '=', $id)->get(); $data['question'] = Question::find($id); $data['answers'] = Answer::where('question_id', '=', $id)->orderBy('votes', 'desc')->get(); $data['comments'] = Comment::where('question_id', '=', $id)->orderBy('created_at', 'desc')->get(); $data['count'] = Answer::where('question_id', '=', $id)->count(); return View::make('site.question')->with($data); }); Route::get('users', function () { $data['users'] = User::orderBy('reputation', 'desc')->paginate(20); return View::make('site.users')->with($data); }); Route::get('user/{id}/{slug}', function ($id, $slug) { $data['user'] = User::find($id); //return var_dump($data['user']->website); return View::make('profile.index')->with($data); });