Exemplo n.º 1
0
 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.");
     }
 }
Exemplo n.º 2
0
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);
});