Esempio n. 1
0
 /**
  * Create a team
  * @param $name
  * @param $tag
  */
 public function CreateTeam()
 {
     //Anonymous users cannot register.
     if (streq($this->owner, "0")) {
         return "Anonymous users cannot register teams!";
     }
     //Validate against team name being in use.
     $test = new Lan_timetable_teams();
     $test->name = $this->name;
     $test->tag = $this->tag;
     $test->timetable_id = $this->timetable_id;
     if ($test->count() != 0) {
         return "A team with this name already exists!";
     }
     //Validate against the captain already being in a team
     $tm = new Lan_timetable_team_members();
     $tm->user_id = $this->owner;
     $test = new Lan_timetable_teams();
     $test->joinAdd($tm, "CENTER");
     if ($test->count() != 0) {
         return "You cannot create a team whilst you are in a team!";
     }
     //Check that teams are being used
     $tt = new Lan_timetable();
     $tt->id = $this->timetable_id;
     $tt->teambased = 1;
     if ($tt->find() != 1) {
         return "This event is not team based!";
     }
     $tt->fetch();
     $test = new Lan_timetable_teams();
     $test->timetable_id = $this->timetable_id;
     if (!streq("0", $tt->maxplayers) && $tt->maxplayers < $test->count() + 1) {
         return "Max team count reached for this event.";
     }
     //All is ok, so insert the team
     if (0 == $this->insert()) {
         return "Team creation failed!";
     }
     //Add the captain as a member
     $tm = new Lan_timetable_team_members();
     $tm->team_id = $this->team_id;
     $tm->user_id = $this->owner;
     if (0 == $tm->insert()) {
         return "Error adding captain as team member!";
     }
     //If the player is a PUG player then remove them from the list.
     $signup = new Lan_timetable_signups();
     $signup->timetable_id = $this->timetable_id;
     $signup->user_id = $this->owner;
     while ($signup->fetch()) {
         $signup->delete();
     }
     return false;
 }
Esempio n. 2
0
 public function PopulateTeams()
 {
     $teams = array();
     $team = new Lan_timetable_teams();
     $team->timetable_id = $this->id;
     $team->find();
     while ($team->fetch()) {
         $teams[] = clone $team;
     }
     $this->teams = $teams;
 }
 /**
  * Remove a user from a team
  * @param timetable id $ttid
  */
 public function RemoveMember($ttid)
 {
     if (null == $ttid) {
         return "Programming error: No timetable ID passed!";
     }
     //Find team
     $team = new Lan_timetable_teams();
     $team->timetable_id = $ttid;
     $team->team_id = $this->team_id;
     $team->find();
     while ($team->fetch()) {
         $member = new Lan_timetable_team_members();
         $member->user_id = $this->user_id;
         $member->team_id = $this->team_id;
         $userid = $member->user_id;
         if ($member->count() != 0) {
             $member->delete();
             //If there are no members left then remove the team
             $member = new Lan_timetable_team_members();
             $member->team_id = $team->team_id;
             if (0 == $member->count()) {
                 $team->delete();
             } else {
                 //There are team members left, check captain and adjust if needed.
                 if (streq($team->owner, $userid)) {
                     $member = new Lan_timetable_team_members();
                     $member->team_id = $this->team_id;
                     $member->find();
                     $member->fetch();
                     $team->owner = $member->user_id;
                     $team->update();
                 }
             }
             return false;
         }
     }
     return "Failed to remove signup.";
 }
Esempio n. 4
0
     $list[] = clone $tts;
 }
 $master->Smarty->assign("signups", $list);
 $game = new Lan_games();
 if (1 == $game->get($biggame->game)) {
     $master->Smarty->assign("image", "images/games/" . $game->picture);
     $master->Smarty->assign("gamename", $game->name);
     if (!streq($biggame->game, "0")) {
         $link = "http://apps.metacritic.com/search/process?ty=3&ts=" . $game->name . "&tfs=game_title&sb=0&game_platform=PC&x=11&y=6&release_date_s=";
         $link = str_replace(" ", "+", $link);
         $master->Smarty->assign("gameinfolink", $link);
     }
 }
 if (streq("1", $biggame->teambased)) {
     $teams = array();
     $team = new Lan_timetable_teams();
     $team->timetable_id = $biggame->id;
     $team->find();
     while ($team->fetch()) {
         $team->PopulateMembers();
         $team->userinteam = false;
         foreach ($team->members as $member) {
             if (streq($member->user_id, getCurrentUID())) {
                 $currentUserSignedUp = "team";
                 $team->userinteam = true;
             }
         }
         $teams[] = clone $team;
     }
     $master->Smarty->assign("teams", $teams);
     //Admin: Find all attending players not currently in a team
Esempio n. 5
0
            $member = new Lan_timetable_team_members();
            $member->user_id = $member->escape($_POST["user"]);
            $member->team_id = $member->escape($_GET["team"]);
            $error = $member->JoinTeam($member->escape($_GET["tid"]));
            break;
        case 'jointeam':
            $member = new Lan_timetable_team_members();
            $member->user_id = getCurrentUID();
            $member->team_id = $member->escape($_GET["team"]);
            $error = $member->JoinTeam($member->escape($_GET["tid"]));
            break;
            break;
        case 'kick':
            $member = new Lan_timetable_team_members();
            $member->user_id = $member->escape($_GET["user"]);
            $member->team_id = $member->escape($_GET["team"]);
            $error = $member->RemoveMember($member->escape($_GET["tid"]));
            break;
        case 'promote':
            $team = new Lan_timetable_teams();
            if (0 == $team->get($team->escape($_GET["team"]))) {
                $error = "Unknown team!";
            }
            $team->owner = $team->escape($_GET["user"]);
            $team->update();
            break;
    }
    //if (!headers_sent() && strlen($error)!=0){
    //	header('Location: intranet.php?p=biggame&tid='.$_GET["tid"]); exit;
    //}
}