public function getAcceptanswer($aID, $qID, $uID) { //return $aID. ' '. $qID; $answerToAccept = Answer::find($aID); $answerToAccept->status = 'accepted'; $answerToAccept->save(); $questionToUpdate = Question::find($qID); $questionToUpdate->status = 'solved'; $questionToUpdate->save(); $userToUpdate = User::find($uID); $reputation = $userToUpdate->reputation; $userToUpdate->reputation = $reputation + 15; $userToUpdate->save(); $answerReputation = new Areputation(); $answerReputation->user_id = $uID; $answerReputation->answer_id = $aID; $answerReputation->points = "+15"; $answerReputation->action = "accept"; $answerReputation->save(); $authReputation = new Areputation(); $authReputation->user_id = Auth::user()->id; $authReputation->answer_id = $aID; $authReputation->points = "+2"; $authReputation->action = "accept"; $authReputation->save(); $userReputation = User::find(Auth::user()->id); $rep = $userReputation->reputation; $userReputation->reputation = $rep + 2; $userReputation->save(); return Redirect::back(); }
public function getDownvoteanswer($id, $uID) { if (Auth::check() == NULL) { return Redirect::back()->with('alertError', "you have to be logged in to perform this action."); } $data['answer'] = Answer::find($id); //return $data['answer']->user_id . '==' . Auth::user()->id; if ($data['answer']->user_id == Auth::user()->id) { return Redirect::back()->with('alertError', "You can not downvote your own answer."); } $hasUserVoted = Avote::where('user_id', '=', User::find(Auth::user()->id)->id)->where('answer_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 an answer."); } else { //return $reputationTest; $vote = new Avote(); $vote->user_id = User::find(Auth::user()->id)->id; $vote->answer_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(); /*-----------------------------------------------*/ /*-----------------------------------------------*/ $authUser = $reputationTest->reputation; $authUser -= 1; if ($authUser < 1) { $reputationTest->reputation = 1; } else { $reputationTest->reputation = $authUser; } $reputationTest->save(); /*-----------------------------------------------*/ /*-----------------------------------------------*/ $answerReputation = new Areputation(); $answerReputation->user_id = $uID; $answerReputation->answer_id = $id; $answerReputation->points = "-2"; $answerReputation->action = "downvote"; $answerReputation->save(); /*----------------------------------------------*/ /*-----------------------------------------------*/ $authReputation = new Areputation(); $authReputation->user_id = Auth::user()->id; $authReputation->answer_id = $id; $authReputation->points = "-2"; $authReputation->action = "downvote"; $authReputation->save(); /*----------------------------------------------*/ $answerToDownVote = Answer::find($id); $votes = $answerToDownVote->votes; $answerToDownVote->votes = $votes - 1; $answerToDownVote->save(); return Redirect::back(); } } else { return Redirect::back()->with('alertError', "you have already voted this answer."); } }