/** * 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; }
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."; }
$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
$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; //} }