Example #1
0
if (isset($_SESSION['TournamentId']) && !empty($_SESSION['TournamentId'])) {
    echo $_SESSION['TournamentId'];
    echo "<hr /><br />SESSIONS: ", sizeof($_SESSION), "<br />";
    foreach ($_SESSION as $key => $value) {
        echo $key, " => ", $value, "<br />";
    }
    echo "<hr /><br />POSTS: ", sizeof($_POST), "<br />";
    foreach ($_POST as $key => $value) {
        echo $key, " => ", $value, "<br />";
    }
    echo "<hr />";
} else {
    echo "CREATE TOURNAMENT";
    include 'class_tournament.php';
    $tournament = new Tournament();
    if ($tournament->create()) {
        echo "SESSION SET <br />";
        $_SESSION['TournamentId'] = $tournament->getId();
        $_SESSION['TournamentRound'] = $tournament->getRound();
        echo "TOURNAMENTS <br />";
        print_r($tournament->getAllTournaments());
    }
}
if (isset($_POST['tId'])) {
    if (!isset($tournament)) {
        include 'class_tournament.php';
        $tournament = new Tournament();
    }
    $tournament->setId($_POST['tId']);
    $_SESSION['TournamentId'] = $tournament->getId();
    $_SESSION['TournamentRound'] = $tournament->getRound();
Example #2
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]);
 public function recieve(WebSocketTransportInterface $user, $data)
 {
     switch ($data->type) {
         // Shout
         case 'shout':
             global $db;
             $nick = $db->escape($user->nick);
             $message = $db->escape($data->message);
             $db->query("INSERT\n\t\t\t\t\tINTO `shout` (`sender_id`, `sender_nick`, `message`)\n\t\t\t\t\tVALUES ('{$user->player_id}', '{$nick}', '{$message}')");
             $data->player_id = $user->player_id;
             $data->player_nick = $user->nick;
             $data->time = now();
             $this->shouts[] = $data;
             if (count($this->shouts) > $this->nbshouts) {
                 array_shift($this->shouts);
             }
             $this->broadcast(json_encode($data));
             break;
         case 'blur':
             $user->inactive = true;
             $this->broadcast(json_encode($this->list_users()));
             break;
         case 'focus':
             $user->inactive = false;
             $this->broadcast(json_encode($this->list_users()));
             break;
         case 'keypress':
             $user->typing = true;
             $this->broadcast(json_encode($this->list_users()));
             break;
         case 'keyup':
             $user->typing = false;
             $this->broadcast(json_encode($this->list_users()));
             break;
             // Duels
         // Duels
         case 'pendingduel':
             $data->creator_id = $user->player_id;
             $duel = new Game($data);
             $this->observer->pending_duels[] = $duel;
             $this->broadcast(json_encode($duel));
             break;
         case 'joineduel':
             $duel_index = $this->observer->pending_duel($data->id);
             if ($duel_index === false) {
                 $this->say('Pending duel ' . $data->id . ' not found');
                 break;
             }
             $splduels = array_splice($this->observer->pending_duels, $duel_index, 1);
             $duel = $splduels[0];
             if ($duel->creator_id == $user->player_id) {
                 $this->broadcast('{"type": "duelcancel", "id": "' . $data->id . '"}');
             } else {
                 $data->joiner_id = $user->player_id;
                 $duel = $duel->join($data);
                 $duel->type = 'joineduel';
                 // Send first one time to both players
                 $duel->redirect = true;
                 $json = json_encode($duel);
                 $this->send_first($json, $duel->creator_id);
                 $this->send_first($json, $duel->joiner_id);
                 // Then broadcast to inform other users game was joined
                 $duel->redirect = false;
                 $this->broadcast(json_encode($duel));
                 $this->observer->joined_duels[] = $duel;
             }
             break;
         case 'goldfish':
             $data->type = 'joineduel';
             $data->name = 'Goldfish';
             $data->creator_id = $user->player_id;
             $data->joiner_id = $user->player_id;
             $duel = new Game($data);
             $duel->join($data);
             $duel->redirect = true;
             $user->sendString(json_encode($duel));
             $duel->redirect = false;
             $this->observer->joined_duels[] = $duel;
             break;
             // Tournament
         // Tournament
         case 'pending_tournament':
             foreach ($this->observer->pending_tournaments as $tournament) {
                 if ($tournament->registered($user) !== false) {
                     $tournament->unregister($user);
                 }
             }
             $data->type = 'pending_tournament';
             $tournament = Tournament::create($data, $user);
             if (is_string($tournament)) {
                 $user->sendString('{"type": "msg", "msg": "' . $tournament . '"}');
             } else {
                 $tournament->type = $data->type;
                 $this->observer->pending_tournaments[] = $tournament;
                 $data->player_id = $user->player_id;
                 $tournament->register($data, $user);
             }
             break;
         case 'tournament_register':
             $data->player_id = $user->player_id;
             foreach ($this->observer->pending_tournaments as $tournament) {
                 if ($tournament->registered($user) !== false) {
                     $tournament->unregister($user);
                 } else {
                     // Client not registered
                     if ($tournament->id == $data->id) {
                         // Wanted tournament
                         $tournament->register($data, $user);
                     }
                 }
             }
             break;
         default:
             $this->say('Unknown type : ' . $data->type);
             print_r($data);
     }
 }