public function postVote() { Input::merge(array_map('trim', Input::all())); $input = Input::all(); $rules = array('MCUsername' => 'required|max:40', 'g-recaptcha-response' => 'required|recaptcha', 'sid' => 'required'); $v = Validator::make($input, $rules); $sid = $input['sid']; $server = DB::table('mcservers')->where('mcs_id', '=', $sid)->first(); if (!count($server)) { return Redirect::to('/minecraft/' . $sid)->withErrors("Ocorreu um erro com a validação do servidor"); } if ($v->passes()) { if (mcservers::playerHasVoted($sid, $input['MCUsername']) || mcservers::ipHasVoted($sid, $_SERVER["HTTP_CF_CONNECTING_IP"])) { return Redirect::to('/minecraft/' . $sid)->withErrors("Já votaste hoje"); } if ($server->mcs_votifier == 1) { $votifier = Votifier::newVote($server->mcs_ip, $server->mcs_vport, $server->mcs_votifierkey, $input['MCUsername']); if ($votifier == false) { return Redirect::to('/minecraft/' . $sid)->withErrors("Não foi possivel enviar o voto para o servidor, porfavor contacta o admininstrador do mesmo"); } } if (Auth::check()) { DB::table('users')->where('id', Auth::user()->id)->update(array('votes' => Auth::user()->votes + 1)); utilities::log("Voted On Server " . $server->mcs_name); } DB::table('mcservers')->where('mcs_id', $sid)->update(array('mcs_tvotes' => $server->mcs_tvotes + 1, 'mcs_mvotes' => $server->mcs_mvotes + 1)); DB::table('mcserversvotes')->insert(array('mcsv_sid' => $sid, 'mcsv_player' => $input['MCUsername'], 'mcsv_ip' => $_SERVER["HTTP_CF_CONNECTING_IP"], 'mcsv_day' => date("j"), 'mcsv_month' => date("n"), 'mcsv_year' => date("Y"))); return Redirect::to('/minecraft/' . $sid)->With('success', 'Voto Registado!'); } else { return Redirect::to('/minecraft/' . $sid)->withErrors($v); } }