public static function updateTournament() { $tournaments = TournamentsDB::getTournamentsBy('tournamentID', $_SESSION['arguments']); if (empty($tournaments)) { HomeView::show(); header('Location: /' . $_SESSION['base']); } elseif ($_SERVER["REQUEST_METHOD"] == "GET") { $_SESSION['tournament'] = $tournaments[0]; TournamentView::showUpdate(); } else { $parms = $tournaments[0]->getParameters(); $parms['name'] = array_key_exists('name', $_POST) ? $_POST['name'] : $tournaments[0]->getName(); $parms['startDate'] = array_key_exists('startDate', $_POST) ? $_POST['startDate'] : $tournaments[0]->getDate(); $parms['startTime'] = array_key_exists('startTime', $_POST) ? $_POST['startTime'] : $tournaments[0]->getTime(); $parms['numParticipants'] = array_key_exists('numParticipants', $_POST) ? $_POST['numParticipants'] : $tournaments[0]->getName(); $newTournament = new Tournament($parms); $newTournament->setTournamentID($tournaments[0]->getTournamentID()); $tournament = TournamentsDB::updateTournament($newTournament); if ($tournament->getErrorCount() != 0) { $_SESSION['tournament'] = $newTournament; TournamentView::showUpdate(); } else { HomeView::show(); header('Location: /' . $_SESSION['base']); } } }
public static function getTournamentsArray($rowSets) { // Returns an array of User objects extracted from $rowSets $tournaments = array(); if (!empty($rowSets)) { foreach ($rowSets as $tournamentRow) { $tournament = new Tournament($tournamentRow); $tournament->setTournamentID($tournamentRow['tournamentID']); array_push($tournaments, $tournament); } } return $tournaments; }
public static function run() { if ($_SERVER["REQUEST_METHOD"] == "POST") { $tournament = new Tournament($_POST); if ($tournament->getErrorCount() == 0) { HomeView::show(); } else { TournamentCreateView::show($tournament); } } else { // Initial link TournamentCreateView::show(null); } }
public function register_user(WebSocketTransportInterface $user, $data) { $tournament = Tournament::get($data->tournament); if ($tournament == null) { $user->sendString('{"msg": "Tournament not exist"}'); $this->say('Tournament ' . $data->tournament . ' not exist'); return false; } // Register itself $user->tournament = $tournament; $player = $tournament->get_player($user->player_id); if ($player == null) { $this->observer->say('Player ' . $user->player_id . ' not found in draft'); } else { $player->connect($this->type); $user->player = $player; if ($tournament->status == 3) { $booster = $tournament->get_booster($player->order); if ($booster == null) { $this->observer->say("Booster not found t {$this->tournament->id}" . " p {$this->player->order} n {$this->tournament->round}"); } else { $user->sendString(json_encode($booster)); } } $user->sendString(json_encode($tournament)); $user->sendString(json_encode($player->get_deck())); } }
public function register_user(WebSocketTransportInterface $user, $data) { $tournament = Tournament::get($data->tournament); if ($tournament == null) { $user->sendString('{"msg": "Tournament not exist"}'); $this->say('Tournament ' . $data->tournament . ' not exist'); return false; } $user->tournament = $tournament; $user->follow = null; if (property_exists($data, 'follow')) { $pid = $data->follow; $user->follow = $user->player_id; } else { $pid = $user->player_id; } $user->sendString(json_encode($tournament)); $player = $tournament->get_player($pid); if ($player == null) { $this->observer->say('Player ' . $user->player_id . ' not found in build'); } else { $player->connect($this->type); $user->player = $player; $user->sendString(json_encode($player->get_deck())); } }
public function actionBracket() { $date = new DateTime(); $today = $date->format('Y-m-d'); $tournament = Tournament::model()->findAll(array('conditions' => 'started > :started and date = :date', 'params' => array(':started' => 0, ':date' => $today))); $this->render('bracket', array('tournament' => $tournament)); }
function store() { global $mainframe, $db, $user; $post = $_POST; $arr_team_table = Request::getVar('arr_team_table', null); $arr_team_table = json_decode($arr_team_table, true); $model = Tournament::getInstance(); global $user; if (!$user->isSuperAdmin()) { YiiMessage::raseNotice("Your account not have permission to change Tournament"); $this->redirect(Router::buildLink("gamesport", array('view' => 'tournament'))); } $tourID = Request::getVar('tourID', 0); $db = Yii::app()->db; foreach ($arr_team_table as $table_num => $team_tables) { if (count($team_tables)) { $stt = 1; foreach ($team_tables as $teamID => $team) { if ($team == null) { continue; } if ($team['ordering'] == null or $team['ordering'] == 0) { $team['ordering'] = $stt; } $query = "UPDATE " . TBL_GS_TEAM_REGISTER_TOUR . " SET table_num = {$table_num}" . " ,ordering = " . $team['ordering'] . " ,mdate = now()" . " ,modified_by = {$user->id}" . " WHERE tourID = {$tourID} AND teamID = {$teamID}"; $command = $db->createCommand($query); $command->execute(); $stt++; } } } return true; }
public function __construct($obj, $type = '') { Game::$cache[] = $this; foreach ($this->fields as $field) { if (property_exists($obj, $field)) { $this->{$field} = $obj->{$field}; } else { $this->{$field} = ''; } } $this->spectators = new Spectators(); if (!isset($obj->id)) { $this->create(); } else { $this->getActions(); } if (isset($obj->type) && $obj->type != '') { $this->type = $obj->type; } else { $this->type = $type; } if (isset($this->creator_score) && $this->creator_score == '') { $this->creator_score = 0; } if (isset($this->joiner_score) && $this->joiner_score == '') { $this->joiner_score = 0; } $this->tournament_obj = Tournament::get($this->tournament, 'tournament'); }
public static function run() { $tournament = null; $authenticatedUser = array_key_exists('authenticatedUser', $_SESSION) ? $_SESSION['authenticatedUser'] : null; if ($_SERVER["REQUEST_METHOD"] == "POST") { $tournament = new Tournament($_POST); $tournament->setCreatorID($authenticatedUser->getUserID()); if (is_null($tournament) || $tournament->getErrorCount() != 0) { TournamentCreateView::show($tournament); } else { $tournament = TournamentsDB::addTournament($tournament); } HomeView::show(); header('Location: /' . $_SESSION['base']); } else { // Initial link TournamentCreateView::show(null); } }
public function postUpdate() { $reports = Input::get('reports'); if (is_null($reports)) { Redirect::back(); } foreach ($reports as $r) { $report = Report::findOrFail($r['report']); $report->fill($r); $report->save(); } return App::make('TournamentsController')->ranking(Tournament::findOrFail(Input::get('tournament'))); }
public function register_user(WebSocketTransportInterface $user, $data) { // Get tournament $tournament = Tournament::get($data->tournament); if ($tournament == null) { $user->sendString('{"msg": "Tournament not exist"}'); $this->observer->say('Tournament ' . $data->tournament . ' not exist'); return false; } $user->tournament = $tournament; // Get player $i = $tournament->registered($user); if ($i !== false) { $player = $tournament->players[$i]; } else { $player = null; } // Player redirected from index if ($tournament->status == 2 && $player != null) { $tournament->players[$i]->set_ready(true); } $tournament->send(); if ($player == null) { $tournament->register_spectator($user); } else { $player->connect($this->type); $user->player = $player; // Redirect if ($tournament->status == 3 && !$this->observer->draft->is_connected($tournament, $user->player_id)) { $user->sendString('{"type": "redirect"}'); } if ($tournament->status == 4 && !$this->observer->build->is_connected($tournament, $user->player_id)) { $user->sendString('{"type": "redirect"}'); } if ($tournament->status == 5) { $game = $tournament->player_match($user->player_id); if ($game == null) { $this->observer->say('No game found'); } else { if ($game->joiner_id == '') { // Bye } else { if (!$this->observer->game->connected($user->player_id, $game) && $game->status < 7) { $user->sendString('{"type": "redirect", "game": ' . $game->id . '}'); } } } } } }
public function continuous() { $players = Player::all(); $from = Input::get('from'); $to = Input::get('to'); $tournaments = Tournament::where('updated_at', '>=', Carbon::parse($from))->where('updated_at', '<=', Carbon::parse($to))->get(); $tournaments->each(function ($t) use(&$players) { foreach ($t->orderedPlayers()->get() as $ranking => $player) { $players->find($player->player)->addTournamentScore($ranking); } }); $players = $players->filter(function ($player) { return $player->ts > 0 && $player->name != User::GHOST; })->sortByDesc('ts'); $this->display('tournaments.continuous', ['players' => $players, 'from' => $from, 'to' => $to]); }
public function actionQuit() { $id = Yii::app()->request->getParam('id'); if (!$this->_userinfo()) { $this->json_return(false, 'need_login', '/?refer=' . urlencode($this->createUrl('tournament/detail', array('id' => $id)))); } $tournament = Tournament::model()->findByPk($id); if (!$tournament || $tournament->status != 'signing') { $this->json_return(false, '只有尚未开始的比赛才能取消报名。'); } $joined = Tournament_join::model()->find("tid={$id} and uid=" . $this->_userinfo()->id); if (!$joined) { $this->json_return(false, '您还没有报过名。'); } $quit_sn = $joined->t_sn; $joined->delete(); Tournament_join::model()->getDbConnection()->createCommand('update tournament_join set t_sn=t_sn-1 where t_sn>' . $quit_sn . ' and tid=' . $id)->execute(); TournamentTool::setUpTournament($tournament); $this->json_return(true); }
* E-mail: support@bluethrust.com * Website: http://www.bluethrust.com * * License: http://www.bluethrust.com/license.php * */ include_once "../../_setup.php"; include_once "../../classes/member.php"; include_once "../../classes/rank.php"; include_once "../../classes/tournament.php"; $consoleObj = new ConsoleOption($mysqli); $cID = $consoleObj->findConsoleIDByName("Manage Tournaments"); $consoleObj->select($cID); $member = new Member($mysqli); $member->select($_SESSION['btUsername']); $tournamentObj = new Tournament($mysqli); $tID = $_POST['tID']; $arrMembers = array(); echo $tID; if ($member->authorizeLogin($_SESSION['btPassword']) && $tournamentObj->select($tID) && $member->hasAccess($consoleObj)) { $memberInfo = $member->get_info(); $tmemberID = $tournamentObj->get_info("member_id"); if ($memberInfo['member_id'] == $tmemberID || $memberInfo['rank_id'] == "1") { $tournamentObj->delete(); echo "deleted"; } } else { echo "no"; } ?>
* Website: http://www.bluethrust.com * * License: http://www.bluethrust.com/license.php * */ if (!defined("SHOW_MANAGERLIST")) { include_once "../../../_setup.php"; include_once "../../../classes/member.php"; include_once "../../../classes/rank.php"; include_once "../../../classes/tournament.php"; $consoleObj = new ConsoleOption($mysqli); $cID = $consoleObj->findConsoleIDByName("Manage Tournaments"); $consoleObj->select($cID); $member = new Member($mysqli); $member->select($_SESSION['btUsername']); $tournamentObj = new Tournament($mysqli); if (!$member->authorizeLogin($_SESSION['btPassword']) || !$tournamentObj->select($_POST['tID']) || $tournamentObj->get_info("member_id") != $memberInfo['member_id'] || !$member->hasAccess($consoleObj)) { exit; } } $arrManagers = $tournamentObj->getManagers(); foreach ($arrManagers as $tManagerID => $tMemberID) { $member->select($tMemberID); echo "<div class='mttPlayerSlot main'>" . $member->getMemberLink() . "<div class='mttDeletePlayer'><a href='javascript:void(0)' onclick=\"deleteManager('" . $tManagerID . "')\">X</a></div></div>"; } if (count($arrManagers) == 0) { echo "\n\t\t<div class='shadedBox' style='width: 75%; margin-top: 10px; margin-left: auto; margin-right: auto'>\n\t\t\t<p class='main' align='center'>\n\t\t\t\t<i>No managers assigned to this tournament.</i>\n\t\t\t</p>\n\t\t</div>\n\t"; } $member->select($memberInfo['member_id']); ?>
$cID = $consoleObj->findConsoleIDByName("Private Messages"); $consoleObj->select($cID); $consoleInfo = $consoleObj->get_info_filtered(); $consoleTitle = $consoleInfo['pagetitle']; $member = new Member($mysqli); $member->select($_SESSION['btUsername']); $PAGE_NAME = "Compose Message - " . $consoleTitle . " - "; $dispBreadCrumb = "<a href='" . $MAIN_ROOT . "'>Home</a> > <a href='" . $MAIN_ROOT . "members'>My Account</a> > <a href='" . $MAIN_ROOT . "members/console.php?cID=" . $cID . "'>" . $consoleTitle . "</a> > Compose Message"; $EXTERNAL_JAVASCRIPT .= "\n<script type='text/javascript' src='" . $MAIN_ROOT . "members/js/console.js'></script>\n<script type='text/javascript' src='" . $MAIN_ROOT . "members/js/main.js'></script>\n\n<style>\n\t.ui-autocomplete {\n\t\tmax-height: 150px;\n\t\toverflow-y: auto;\n\t}\n</style>\n"; $prevFolder = "../../"; include "../../themes/" . $THEME . "/_header.php"; echo "\n<div class='breadCrumbTitle' id='breadCrumbTitle'>Compose Message</div>\n<div class='breadCrumb' id='breadCrumb' style='padding-top: 0px; margin-top: 0px'>\n{$dispBreadCrumb}\n</div>\n"; $pmObj = new BasicOrder($mysqli, "privatemessages", "pm_id"); $rankCatObj = new RankCategory($mysqli); $squadObj = new Squad($mysqli); $tournamentObj = new Tournament($mysqli); $multiMemPMObj = new Basic($mysqli, "privatemessage_members", "pmmember_id"); $pmObj->set_assocTableName("privatemessage_members"); $pmObj->set_assocTableKey("member_id"); // Check Login $LOGIN_FAIL = true; if ($member->authorizeLogin($_SESSION['btPassword']) && $member->hasAccess($consoleObj)) { $memberInfo = $member->get_info_filtered(); $dispError = ""; $countErrors = 0; if ($_POST['submit']) { $pmSessionID = $_POST['pmsessionid']; // Check To $arrReceivers = array(); // Check Members if (count($_SESSION['btComposeList'][$pmSessionID]['member']) > 0) {
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer the ID of the model to be loaded */ public function loadModel($id) { $model = Tournament::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
* E-mail: support@bluethrust.com * Website: http://www.bluethrust.com * * License: http://www.bluethrust.com/license.php * */ include_once "../../../_setup.php"; include_once "../../../classes/member.php"; include_once "../../../classes/rank.php"; include_once "../../../classes/tournament.php"; $consoleObj = new ConsoleOption($mysqli); $cID = $consoleObj->findConsoleIDByName("Manage Tournaments"); $consoleObj->select($cID); $member = new Member($mysqli); $member->select($_SESSION['btUsername']); $tournamentObj = new Tournament($mysqli); $tID = $_POST['tID']; $arrMembers = array(); if ($member->authorizeLogin($_SESSION['btPassword']) && $tournamentObj->select($tID) && $member->hasAccess($consoleObj)) { $memberInfo = $member->get_info(); $tmemberID = $tournamentObj->get_info("member_id"); $tournamentInfo = $tournamentObj->get_info_filtered(); if ($memberInfo['member_id'] == $tmemberID || $memberInfo['rank_id'] == "1" || $tournamentObj->isManager($memberInfo['member_id'])) { $arrPlayers = $tournamentObj->getPlayers(); $playerList = urlencode($_POST['players']); $arrNewPlayers = explode("%0A", $playerList); $maxPlayers = $tournamentInfo['playersperteam'] * $tournamentInfo['maxteams']; if (count($arrNewPlayers) + count($arrPlayers) <= $maxPlayers) { foreach ($arrNewPlayers as $newPlayer) { $newPlayer = urldecode($newPlayer); $arrPlayers = $tournamentObj->getPlayers();
/** * Return all matches for an event in the correct bracket order. * * @param array $event * @return array */ public function getBrackets($event) { $matches = $this->find('all', array('conditions' => array('Match.event_id' => $event['Event']['id']), 'order' => array('Match.order' => 'ASC'), 'contain' => array('MatchScore'), 'cache' => array(__METHOD__, $event['Event']['id']))); return Tournament::factory($event)->organizeBrackets($matches); }
<?php namespace bmtmgr; require_once dirname(__DIR__) . '/src/common.php'; $u = user\check_current(); $u->require_perm('admin'); utils\require_get_params(['id']); $tournament = Tournament::by_id($_GET['id']); $season = $tournament->get_season(); $disciplines = $tournament->get_disciplines(); $publications = $tournament->get_publications(); render('tournament', ['user' => $u, 'breadcrumbs' => [['name' => 'Ligen', 'path' => 'season/'], ['name' => $season->name, 'path' => 'season/' . $season->id . '/'], ['name' => $tournament->name, 'path' => 't/' . $tournament->id . '/']], 'season' => $season, 'tournament' => $tournament, 'disciplines' => $disciplines, 'publications' => $publications]);
* * License: http://www.bluethrust.com/license.php * */ if (!isset($member) || substr($_SERVER['PHP_SELF'], -11) != "console.php") { exit; } else { $memberInfo = $member->get_info(); $consoleObj->select($_GET['cID']); if (!$member->hasAccess($consoleObj)) { exit; } } include_once $prevFolder . "classes/tournament.php"; $cID = $_GET['cID']; $tournamentObj = new Tournament($mysqli); $counter = 0; $dispTournamentNames = ""; $arrTournaments = $member->getTournamentList(true); $createTournamentCID = $consoleObj->findConsoleIDByName("Create a Tournament"); echo "\n<p align='right' class='main' style='padding-right: 20px'>\n\t» <a href='" . $MAIN_ROOT . "members/console.php?cID=" . $createTournamentCID . "'>Create a Tournament</a> «\n</p>\n"; $clickCounter = 0; if (count($arrTournaments) > 0) { foreach ($arrTournaments as $tournamentID) { if ($tournamentObj->select($tournamentID)) { $categoryCSS = "consoleCategory_clicked"; $hideoptions = ""; if ($counter > 0) { $hideoptions = "style='display: none'"; $categoryCSS = "consoleCategory"; }
<?php namespace bmtmgr; require_once dirname(__DIR__) . '/src/common.php'; utils\csrf_protect(); $u = user\check_current(); $u->require_perm('admin'); utils\require_post_params(['name', 'season_id']); $season = Season::by_id($_POST['season_id']); try { $tournament = Tournament::create($season, $_POST['name']); $tournament->save(); } catch (utils\DuplicateEntryException $e) { render_ajax_error('Ein Turnier mit dem Namen "' . $_POST['name'] . '" existiert bereits'); exit; } render_ajax('t/' . $tournament->id . '/', ['season' => $season, 'tournament' => $tournament]);
<?php /* |-------------------------------------------------------------------------- | Application Routes |-------------------------------------------------------------------------- | | Here is where you can register all of the routes for an application. | It's a breeze. Simply tell Laravel the URIs it should respond to | and give it the Closure to execute when that URI is requested. | */ Route::bind('tournament', function ($key, $route) { $tournament = Tournament::find($key); if ($tournament == null) { App::abort(404); } else { return $tournament; } }); Route::bind('round', function ($key, $route) { $round = Round::find($key); if ($round == null) { App::abort(404); } else { return $round; } }); Route::bind('map', function ($key, $route) { $round = Map::find($key); if ($round == null) {
/** * 比赛结束,计算总分和名次,处理比赛状态。 */ public static function end_tournament($id) { $tournament = Tournament::model()->findByPk($id); if (!$tournament) { return false; } $total_game = $tournament->player_joined * ($tournament->player_joined - 1); if ($tournament->t_kind == 'single') { $total_game = $total_game / 2; } $tour_games = Games::model()->findAll("`status` in ('黑胜','白胜','和棋') and tid={$id}"); //如果所有比赛都结束了,则处理比赛结束的逻辑。 if ($total_game == count($tour_games)) { $tj = Tournament_join::model()->findAll("tid={$id}"); $users_score = array(); foreach ($tj as $v) { $users_score[$v->uid] = array('score' => 0, 'win' => 0); } //遍历game,算分和胜。 foreach ($tour_games as $g) { switch ($g->status) { case '黑胜': $users_score[$g->black_id]['score']++; $users_score[$g->black_id]['win']++; break; case '白胜': $users_score[$g->white_id]['score']++; $users_score[$g->white_id]['win']++; break; case '和棋': $users_score[$g->black_id]['score'] += 0.5; $users_score[$g->white_id]['score'] += 0.5; break; } } foreach ($tj as $v) { $v->t_score = $users_score[$v->uid]['score']; $v->win_game = $users_score[$v->uid]['win']; $v->save(); } //这里就直接按照积分和胜局排顺序了,不考虑直胜问题。 $tj = Tournament_join::model()->findAll("tid={$id} order by t_score desc,win_game desc"); foreach ($tj as $k => $v) { $v->rating = $k + 1; $v->save(); } $tournament->status = 'ended'; $tournament->save(); } Yii::app()->cache->delete(self::CACHE_PREFIX . $tournament->id); }
* * License: http://www.bluethrust.com/license.php * */ include_once "../../../_setup.php"; include_once "../../../classes/member.php"; include_once "../../../classes/rank.php"; include_once "../../../classes/tournament.php"; $consoleObj = new ConsoleOption($mysqli); $cID = $consoleObj->findConsoleIDByName("Manage Tournaments"); $consoleObj->select($cID); $member = new Member($mysqli); $member->select($_SESSION['btUsername']); $countErrors = 0; $dispError = ""; $tournamentObj = new Tournament($mysqli); if ($member->authorizeLogin($_SESSION['btPassword']) && $tournamentObj->objTeam->select($_POST['teamID']) && $tournamentObj->objTournamentPool->select($_POST['poolID']) && $tournamentObj->objTournamentPool->objTournamentPoolMatch->select($_POST['poolTeamID']) && $member->hasAccess($consoleObj)) { $memberInfo = $member->get_info(); $teamInfo = $tournamentObj->objTeam->get_info_filtered(); $tournamentObj->select($teamInfo['tournament_id']); $tournamentInfo = $tournamentObj->get_info_filtered(); $poolInfo = $tournamentObj->objTournamentPool->get_info(); $poolTeamInfo = $tournamentObj->objTournamentPool->objTournamentPoolMatch->get_info(); $dispTeamName = $tournamentObj->getPlayerName(); $tmemberID = $tournamentInfo['member_id']; if (($memberInfo['member_id'] == $tmemberID || $memberInfo['rank_id'] == "1" || $tournamentObj->isManager($memberInfo['member_id'])) && $poolInfo['tournament_id'] == $teamInfo['tournament_id'] && $poolTeamInfo['tournament_id'] == $teamInfo['tournament_id']) { // Check Match Score if (!is_numeric($_POST['teamScore']) || !is_numeric($_POST['opponentScore'])) { $countErrors++; $dispError .= " <b>·</b> Scores must be a numeric value."; }
* * Author: Bluethrust Web Development * E-mail: support@bluethrust.com * Website: http://www.bluethrust.com * * License: http://www.bluethrust.com/license.php * */ // Config File $prevFolder = "../"; include $prevFolder . "_setup.php"; include $prevFolder . "classes/member.php"; include_once $prevFolder . "classes/rank.php"; include_once $prevFolder . "classes/tournament.php"; $ipbanObj = new Basic($mysqli, "ipban", "ipaddress"); $tournamentObj = new Tournament($mysqli); $member = new Member($mysqli); if ($ipbanObj->select($IP_ADDRESS, false)) { $ipbanInfo = $ipbanObj->get_info(); if (time() < $ipbanInfo['exptime'] or $ipbanInfo['exptime'] == 0) { die("<script type='text/javascript'>window.location = '" . $MAIN_ROOT . "banned.php';</script>"); } else { $ipbanObj->delete(); } } if (!is_numeric($_GET['tID']) || !$tournamentObj->select($_GET['tID'])) { die("<script type='text/javascript'>window.location = '" . $MAIN_ROOT . "';</script>"); } $tournamentInfo = $tournamentObj->get_info_filtered(); if ($tournamentInfo['seedtype'] != 3 && !$tournamentObj->checkForPools()) { echo "\n\t\t<script type='text/javascript'>\n\t\t\twindow.location = '" . $MAIN_ROOT . "tournaments/bracket.php?tID=" . $_GET['tID'] . "';\n\t\t</script>\n\t";
public function get_tournament() { return Tournament::by_id($this->tournament_id); }
/** * Loop through pending matches and declare a winner and award points. */ public function advance() { $event_id = $this->args[0]; $event = $this->Event->getById($event_id); $settings = Configure::read('Tournament.settings'); if (!$event) { $this->err('Invalid event'); return; } // Update matches with fake data $this->out('Advancing current round matches'); if ($matches = $this->Match->getPendingMatches($event_id, $event['Event']['round'])) { foreach ($matches as $match) { $home_id = $match['Match']['home_id']; $away_id = $match['Match']['away_id']; if ($event['Event']['type'] == Event::SINGLE_ELIM || $event['Event']['type'] == Event::DOUBLE_ELIM) { $winner = rand(1, 2); } else { $winner = rand(1, 3); } $query = array('winner' => $winner); if ($winner == Match::HOME) { $query['homeOutcome'] = Match::WIN; $query['awayOutcome'] = Match::LOSS; $query['homePoints'] = $settings['defaultWinPoints']; $query['awayPoints'] = $settings['defaultLossPoints']; $this->EventParticipant->updateStatistics($event_id, $home_id, array('wins' => 1, 'points' => $query['homePoints'])); $this->EventParticipant->updateStatistics($event_id, $away_id, array('losses' => 1, 'points' => $query['awayPoints'])); } else { if ($winner == Match::AWAY) { $query['homeOutcome'] = Match::LOSS; $query['awayOutcome'] = Match::WIN; $query['homePoints'] = $settings['defaultLossPoints']; $query['awayPoints'] = $settings['defaultWinPoints']; $this->EventParticipant->updateStatistics($event_id, $home_id, array('losses' => 1, 'points' => $query['homePoints'])); $this->EventParticipant->updateStatistics($event_id, $away_id, array('wins' => 1, 'points' => $query['awayPoints'])); } else { $query['homeOutcome'] = Match::TIE; $query['awayOutcome'] = Match::TIE; $query['homePoints'] = $settings['defaultTiePoints']; $query['awayPoints'] = $settings['defaultTiePoints']; $this->EventParticipant->updateStatistics($event_id, $home_id, array('ties' => 1, 'points' => $query['homePoints'])); $this->EventParticipant->updateStatistics($event_id, $away_id, array('ties' => 1, 'points' => $query['awayPoints'])); } } $this->Match->id = $match['Match']['id']; $this->Match->save($query, false); } } // Generate the next round $this->out('Generating next round matches'); try { Tournament::factory($event)->generateMatches(); } catch (Exception $e) { $this->out($e->getMessage()); } }
<?php echo 'Runner Up: ' . $participant->name . '<br>'; ?> <?php } ?> <?php } ?> <?php } } else { ?> <?php //Populate array for view tournament table $allTournaments = Tournament::find('all', array('conditions' => array('eventID = ?', $_SESSION['event']))); ?> <?php $allGames = Game::find('all'); ?> <h2>Tournament Management</h2> <form action="/includes/modules/tournamentManagement/tournaments.php" class="form-horizontal" method="POST"> <div class="form-group" id="tournamentNameInputDiv"> <label for="tournamentName" class="col-sm-2 control-label">Name</label> <div class="col-sm-10"> <input type="text" class="form-control" id="tournamentName" name="tournamentName" placeholder="Tournament name" value="<?php echo $_POST['tournamentName']; ?> " required> </div> </div>
public function run() { Eloquent::unguard(); $tournaments = Tournament::get(); $tournament = $tournaments[0]; $games = $tournament->games()->orderBy('id', 'ASC')->get(); $players = $tournament->players()->orderBy('id', 'ASC')->get(); DB::table('reports')->truncate(); DB::table('reports')->insert(array(array('game' => $games[0]->id, 'player' => $players[0]->id, 'victory' => 1, 'control' => 5, 'destruction' => 18), array('game' => $games[0]->id, 'player' => $players[1]->id, 'victory' => 0, 'control' => 4, 'destruction' => 5), array('game' => $games[1]->id, 'player' => $players[2]->id, 'victory' => 1, 'control' => 2, 'destruction' => 22), array('game' => $games[1]->id, 'player' => $players[3]->id, 'victory' => 0, 'control' => 0, 'destruction' => 6), array('game' => $games[2]->id, 'player' => $players[4]->id, 'victory' => 1, 'control' => 5, 'destruction' => 21), array('game' => $games[2]->id, 'player' => $players[5]->id, 'victory' => 0, 'control' => 1, 'destruction' => 16), array('game' => $games[3]->id, 'player' => $players[6]->id, 'victory' => 1, 'control' => 0, 'destruction' => 16), array('game' => $games[3]->id, 'player' => $players[7]->id, 'victory' => 0, 'control' => 0, 'destruction' => 12), array('game' => $games[4]->id, 'player' => $players[0]->id, 'victory' => 1, 'control' => 5, 'destruction' => 18), array('game' => $games[4]->id, 'player' => $players[2]->id, 'victory' => 0, 'control' => 4, 'destruction' => 5), array('game' => $games[5]->id, 'player' => $players[4]->id, 'victory' => 1, 'control' => 2, 'destruction' => 22), array('game' => $games[5]->id, 'player' => $players[6]->id, 'victory' => 0, 'control' => 0, 'destruction' => 6), array('game' => $games[6]->id, 'player' => $players[1]->id, 'victory' => 1, 'control' => 5, 'destruction' => 21), array('game' => $games[6]->id, 'player' => $players[3]->id, 'victory' => 0, 'control' => 1, 'destruction' => 16), array('game' => $games[7]->id, 'player' => $players[5]->id, 'victory' => 1, 'control' => 0, 'destruction' => 16), array('game' => $games[7]->id, 'player' => $players[7]->id, 'victory' => 0, 'control' => 0, 'destruction' => 12), array('game' => $games[8]->id, 'player' => $players[0]->id, 'victory' => 1, 'control' => 5, 'destruction' => 18), array('game' => $games[8]->id, 'player' => $players[4]->id, 'victory' => 0, 'control' => 4, 'destruction' => 5), array('game' => $games[9]->id, 'player' => $players[1]->id, 'victory' => 1, 'control' => 2, 'destruction' => 22), array('game' => $games[9]->id, 'player' => $players[2]->id, 'victory' => 0, 'control' => 0, 'destruction' => 6), array('game' => $games[10]->id, 'player' => $players[5]->id, 'victory' => 1, 'control' => 5, 'destruction' => 21), array('game' => $games[10]->id, 'player' => $players[6]->id, 'victory' => 0, 'control' => 1, 'destruction' => 16), array('game' => $games[11]->id, 'player' => $players[3]->id, 'victory' => 1, 'control' => 0, 'destruction' => 16), array('game' => $games[11]->id, 'player' => $players[7]->id, 'victory' => 0, 'control' => 0, 'destruction' => 12))); $tournament = $tournaments[1]; $games = $tournament->games()->orderBy('id', 'ASC')->get(); $players = $tournament->players()->orderBy('id', 'ASC')->get(); DB::table('reports')->insert(array(array('game' => $games[0]->id, 'player' => $players[0]->id, 'victory' => 1, 'control' => 5, 'destruction' => 18), array('game' => $games[0]->id, 'player' => $players[1]->id, 'victory' => 0, 'control' => 4, 'destruction' => 5), array('game' => $games[1]->id, 'player' => $players[2]->id, 'victory' => 1, 'control' => 2, 'destruction' => 22), array('game' => $games[1]->id, 'player' => $players[3]->id, 'victory' => 0, 'control' => 0, 'destruction' => 6), array('game' => $games[2]->id, 'player' => $players[0]->id, 'victory' => 1, 'control' => 5, 'destruction' => 18), array('game' => $games[2]->id, 'player' => $players[2]->id, 'victory' => 0, 'control' => 2, 'destruction' => 21), array('game' => $games[3]->id, 'player' => $players[1]->id, 'victory' => 1, 'control' => 5, 'destruction' => 5), array('game' => $games[3]->id, 'player' => $players[3]->id, 'victory' => 0, 'control' => 3, 'destruction' => 16), array('game' => $games[4]->id, 'player' => $players[0]->id, 'victory' => 1, 'control' => 5, 'destruction' => 18), array('game' => $games[4]->id, 'player' => $players[3]->id, 'victory' => 0, 'control' => 2, 'destruction' => 21), array('game' => $games[5]->id, 'player' => $players[1]->id, 'victory' => 1, 'control' => 5, 'destruction' => 5), array('game' => $games[5]->id, 'player' => $players[2]->id, 'victory' => 0, 'control' => 3, 'destruction' => 16))); foreach ($tournaments as $tournament) { $players = $tournament->players()->get(); foreach ($players as $player) { $player->updateScore($tournament); } foreach ($players as $player) { $opponents = $player->opponents($tournament)->get(); foreach ($opponents as $opponent) { $opponent->updateSos($tournament); } } } }