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']);
         }
     }
 }
Пример #2
0
 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);
     }
 }
Пример #4
0
 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()));
     }
 }
Пример #5
0
 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));
 }
Пример #7
0
 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;
 }
Пример #8
0
 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);
     }
 }
Пример #10
0
 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]);
 }
Пример #13
0
 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);
 }
Пример #14
0
 * 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";
}
?>
Пример #15
0
 * 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']);
?>
Пример #16
0
$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) {
Пример #17
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;
 }
Пример #18
0
 * 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();
Пример #19
0
 /**
  * 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);
 }
Пример #20
0
<?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]);
Пример #21
0
 *
 * 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&raquo; <a href='" . $MAIN_ROOT . "members/console.php?cID=" . $createTournamentCID . "'>Create a Tournament</a> &laquo;\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";
            }
Пример #22
0
<?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]);
Пример #23
0
<?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) {
Пример #24
0
 /**
  * 比赛结束,计算总分和名次,处理比赛状态。
  */
 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);
 }
Пример #25
0
 *
 * 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 .= "&nbsp;&nbsp;&nbsp;<b>&middot;</b> Scores must be a numeric value.";
        }
Пример #26
0
 *
 * 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";
Пример #27
0
 public function get_tournament()
 {
     return Tournament::by_id($this->tournament_id);
 }
Пример #28
0
 /**
  * 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());
     }
 }
Пример #29
0
      	<?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>
Пример #30
0
 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);
             }
         }
     }
 }