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;
 }
Ejemplo n.º 2
0
 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();