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); } }
$players[4] = 0; //3 dias atraz $players[3] = 0; //2 dias atraz $players[2] = 0; //1 dias atraz $players[1] = 0; $servers = DB::table('mcservers')->where('mcs_uid', '=', Auth::user()->id)->get(); foreach ($servers as $server) { $players[7] = $players[7] + mcservers::getAVGPlayersMC($server->mcs_id, date("j", strtotime('-7 days')), date("n", strtotime('-7 days')), date("Y", strtotime('-7 days'))); $players[6] = $players[6] + mcservers::getAVGPlayersMC($server->mcs_id, date("j", strtotime('-6 days')), date("n", strtotime('-6 days')), date("Y", strtotime('-6 days'))); $players[5] = $players[5] + mcservers::getAVGPlayersMC($server->mcs_id, date("j", strtotime('-5 days')), date("n", strtotime('-5 days')), date("Y", strtotime('-5 days'))); $players[4] = $players[4] + mcservers::getAVGPlayersMC($server->mcs_id, date("j", strtotime('-4 days')), date("n", strtotime('-4 days')), date("Y", strtotime('-4 days'))); $players[3] = $players[3] + mcservers::getAVGPlayersMC($server->mcs_id, date("j", strtotime('-3 days')), date("n", strtotime('-3 days')), date("Y", strtotime('-3 days'))); $players[2] = $players[2] + mcservers::getAVGPlayersMC($server->mcs_id, date("j", strtotime('-2 days')), date("n", strtotime('-2 days')), date("Y", strtotime('-2 days'))); $players[1] = $players[1] + mcservers::getAVGPlayersMC($server->mcs_id, date("j", strtotime('-1 days')), date("n", strtotime('-1 days')), date("Y", strtotime('-1 days'))); } ?> @extends('layout.panel') @section('css') {{ HTML::style(URL::to('/resources/css/morris.css')) }} @stop @section('body') <div class="row"> <div class="col-lg-12"> <h1 class="page-header">Painel De Controlo</h1> <div class="panel panel-default"> <div class="panel-heading"> <i class="fa fa-bar-chart-o fa-fw"></i> Média De Jogadores Online Por Dia </div> <!-- /.panel-heading -->
<?php $code = "q2nQNl8k4xlfPEa8kEBCqIixrnxn8jJwgY6cgzYA6AixW3nX7kdVbBNbuNpO"; if (!isset($_GET['a'])) { die; } elseif ($_GET['a'] != $code) { die; } $day = date("j"); $month = date("n"); $year = date("Y"); $servers = DB::table('mcservers')->get(); foreach ($servers as $server) { if ($server->mcs_qport == null) { mcservers::checkNoQuery($server->mcs_id, $server->mcs_ip, $server->mcs_port, $day, $month, $year); } else { mcservers::checkQuery($server->mcs_id, $server->mcs_ip, $server->mcs_qport, $day, $month, $year); } } settings::set('lastCheck', time()); banners::generateMC();
public static function checkQuery($sid, $ip, $port, $day, $month, $year, $timeout = 2) { $timer = MicroTime(true); $query = new MinecraftQuery(); try { $query->Connect($ip, $port, $timeout); } catch (MinecraftQueryException $e) { $Exception = $e; } $timer = Number_Format(MicroTime(true) - $timer, 2, '.', ''); return $query; $info = $query->GetInfo(); if ($info === false) { DB::table('mcserverschecks')->insert(array('mcsc_sid' => $sid, 'mcsc_online' => 0, 'mcsc_players' => 0, 'mcsc_ping' => 0, 'mcsc_day' => $day, 'mcsc_month' => $month, 'mcsc_year' => $year)); DB::table('mcservers')->where('mcs_id', $sid)->update(array('mcs_players' => 0, 'mcs_status' => 0)); } else { DB::table('mcserverschecks')->insert(array('mcsc_sid' => $sid, 'mcsc_online' => 1, 'mcsc_players' => $info["Players"], 'mcsc_ping' => $timer, 'mcsc_day' => $day, 'mcsc_month' => $month, 'mcsc_year' => $year)); DB::table('mcservers')->where('mcs_id', $sid)->update(array('mcs_maxplayers' => $info["MaxPlayers"], 'mcs_players' => $info["Players"], 'mcs_status' => 1, 'mcs_map' => substr($info["Map"], 0, 50), 'mcs_plugins' => substr($info["Plugins"], 0, 255), 'mcs_motd' => mcservers::motd(substr($info["HostName"], 0, 255)))); } }
public function postUpdateMCServer() { Input::merge(array_map('trim', Input::all())); $input = Input::all(); $rules = array('serverName' => 'required|max:100', 'serverDesc' => 'required|max:255', 'serverIp' => 'max:35', 'serverPort' => 'max:6', 'serverAliase' => 'max:100', 'serverVersion' => 'required', 'banner' => 'image|image_size:=468,=60', 'background' => 'image|image_size:>999,>349', 'serverType' => 'required', 'g-recaptcha-response' => 'required|recaptcha'); $id = DB::table('mcservers')->where('mcs_id', '=', $input['sid'])->where('mcs_uid', '=', Auth::user()->id)->first(); if (!count($id)) { return Redirect::to(URL::to("/panel/servers"))->withInput()->WithErrors("Ocorreu um erro com a validação do servidor"); } $v = Validator::make($input, $rules); if ($v->passes()) { if (mcservers::getVersion($input['serverVersion']) == false) { return Redirect::to(URL::to("/panel/minecraft/" . $id->mcs_id))->withInput()->WithErrors("Ocorreu um erro com a validação da versão"); } if (!mcservers::serverTypeExist($input['serverType'])) { return Redirect::to(URL::to("/panel/minecraft/" . $id->mcs_id))->withInput()->WithErrors("Ocorreu um erro com a validação do tipo de Servidor"); } if (isset($input['serverV'])) { $input['serverV'] = 1; if ($input['serverVPort'] == null) { return Redirect::to(URL::to("/panel/minecraft/" . $id->mcs_id))->withInput()->WithErrors("Para ativar o Votifier tens de preencher a porta"); } if ($input['serverVPKey'] == null) { return Redirect::to(URL::to("/panel/minecraft/" . $id->mcs_id))->withInput()->WithErrors("Para ativar o Votifier tens de preencher a Public Key"); } } else { $input['serverV'] = 0; $input['serverVPort'] = null; $input['serverVPKey'] = null; } if (Input::hasFile('banner')) { $image = Input::file('banner'); if ($image->getClientOriginalExtension() != "jpg" && $image->getClientOriginalExtension() != "png" && $image->getClientOriginalExtension() != "gif") { return Redirect::to(URL::to("/panel/minecraft/" . $id->mcs_id))->withInput()->WithErrors("As extenções permitidas para os banners são .jpg, .png e .gif"); } if ($image->getSize() > "1000024") { return Redirect::to(URL::to("/panel/minecraft/" . $id->mcs_id))->withInput()->WithErrors("O tamanho maximo do banner é de 1MB"); } } if (Input::hasFile('background') && $id->mcs_premium == 1) { $background = Input::file('background'); if ($background->getClientOriginalExtension() != "jpg") { return Redirect::to(URL::to("/panel/minecraft/" . $id->mcs_id))->withInput()->WithErrors("A única extenção permitida para os Backgrounds é .jpg"); } if ($background->getSize() > "2000024") { return Redirect::to(URL::to("/panel/minecraft/" . $id->mcs_id))->withInput()->WithErrors("O tamanho maximo do background é de 2MB"); } if (file_exists(public_path() . "/resources/images/minecraft/backgrounds/" . $input['sid'] . ".jpg")) { unlink(public_path() . "/resources/images/minecraft/backgrounds/" . $input['sid'] . ".jpg"); } $newImage = imagecreatefromjpeg($background); imagejpeg($newImage, public_path() . "/resources/images/minecraft/backgrounds/" . $id->mcs_id . ".jpg", 100); utilities::clearCloudflareImageBackground($id->mcs_id, "minecraft"); } if ($id->mcs_premium == 1 && isset($input['header'])) { $header = 1; } else { $header = 0; } $tags = array(); if (isset($input['tagAdventure'])) { $tags['Adventure'] = 1; } else { $tags['Adventure'] = 0; } if (isset($input['tagCreative'])) { $tags['Creative'] = 1; } else { $tags['Creative'] = 0; } if (isset($input['tagMinigames'])) { $tags['Minigames'] = 1; } else { $tags['Minigames'] = 0; } if (isset($input['tagPrison'])) { $tags['Prison'] = 1; } else { $tags['Prison'] = 0; } if (isset($input['tagSurvival'])) { $tags['Survival'] = 1; } else { $tags['Survival'] = 0; } if (isset($input['tagWhitelist'])) { $tags['Whitelist'] = 1; } else { $tags['Whitelist'] = 0; } DB::table('mcservers')->where('mcs_id', '=', $id->mcs_id)->update(array('mcs_name' => $input['serverName'], 'mcs_desc' => $input['serverDesc'], 'mcs_website' => $input['serverSite'], 'mcs_header' => $header, 'mcs_msg' => $input['serverMsg'], 'mcs_aliase' => $input['serverAliase'], 'mcs_version' => $input['serverVersion'], 'mcs_votifier' => $input['serverV'], 'mcs_vport' => $input['serverVPort'], 'mcs_votifierkey' => $input['serverVPKey'], 'mcs_serverType' => $input['serverType'], 'mcs_tagAdventure' => $tags['Adventure'], 'mcs_tagCreative' => $tags['Creative'], 'mcs_tagMinigames' => $tags['Minigames'], 'mcs_tagPrison' => $tags['Prison'], 'mcs_tagSurvival' => $tags['Survival'], 'mcs_tagWhitelist' => $tags['Whitelist'])); utilities::log("Updated Minecraft Server " . $id->mcs_id); if (Input::hasFile('banner')) { if (file_exists(public_path() . "/resources/images/minecraft/banners/" . $input['sid'] . ".jpg")) { unlink(public_path() . "/resources/images/minecraft/banners/" . $input['sid'] . ".jpg"); } if (file_exists(public_path() . "/resources/images/minecraft/banners/" . $input['sid'] . ".png")) { unlink(public_path() . "/resources/images/minecraft/banners/" . $input['sid'] . ".png"); } if (file_exists(public_path() . "/resources/images/minecraft/banners/" . $input['sid'] . ".gif")) { unlink(public_path() . "/resources/images/minecraft/banners/" . $input['sid'] . ".gif"); } $filename = $id->mcs_id . '.' . $image->getClientOriginalExtension(); $publicpath = public_path() . '/resources/images/minecraft/banners/' . $filename; if ($image->getClientOriginalExtension() == "jpg") { $newImage = imagecreatefromjpeg(Input::file('banner')); imagejpeg($newImage, public_path() . "/resources/images/minecraft/banners/" . $id->mcs_id . ".jpg", 100); } elseif ($image->getClientOriginalExtension() == "png") { $newImage = imagecreatefrompng(Input::file('banner')); imagejpeg($newImage, public_path() . "/resources/images/minecraft/banners/" . $id->mcs_id . ".png", 100); } elseif ($image->getClientOriginalExtension() == "gif") { $newImage = imagecreatefromgif(Input::file('banner')); imagejpeg($newImage, public_path() . "/resources/images/minecraft/banners/" . $id->mcs_id . ".gif", 100); } } return Redirect::to(URL::to("/panel/servers"))->With('success', 'Servidor Atualizado.'); } else { return Redirect::to(URL::to("/panel/minecraft/" . $id->mcs_id))->withInput()->WithErrors($v); } }