public function JoinTeam($ttid) { //Check not anonymous if ($this->user_id == 0) { return "Anonymous users cannot join teams!"; } if (null == $ttid) { return "Programming error: No timetable ID passed!"; } //Check allow signup $timetable = new Lan_timetable(); $timetable->id = $ttid; //$timetable->allowsignups = 1; $timetable->teambased = 1; if (1 != $timetable->find()) { return "This event does not allow joining teams."; } //Check not already in a team $team = new Lan_timetable_teams(); $member = new Lan_timetable_team_members(); $member->user_id = $this->user_id; $team->timetable_id = $ttid; $team->joinAdd($member); if ($team->count() != 0) { return "This user cannot join a team twice!"; } //Check max team size $timetable->fetch(); $team->team_id = $this->team_id; $team->PopulateMembers(); $teamsize = count($team->members); if (!streq($teamsize, "0") && $timetable->teamsize < $teamsize + 1) { return "Max team size reached!"; } //Join team if ($this->insert() == 0) { return "This user is already in a team for this event!"; } //Remove pug if needed. $signup = new Lan_timetable_signups(); $signup->timetable_id = $ttid; $signup->user_id = $this->user_id; while ($signup->fetch()) { $signup->delete(); } return false; }
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 $addableusers = array(); $attendees = new Lan_attendees(); $users = new Lan_users(); $teams = new Lan_timetable_teams();