function OnPostback() { # get object $this->ground = $this->editor->GetDataObject(); # save data if valid if ($this->IsValid()) { $i_id = $this->ground_manager->SaveGround($this->ground); $this->ground->SetId($i_id); $this->Redirect($this->ground->GetNavigateUrl()); } }
/** * @return void * @desc Re-build from data posted by this control the data object this control is editing */ function BuildPostedDataObject() { $o_ground = new Ground($this->GetSettings()); if (isset($_POST['item'])) { $o_ground->SetId($_POST['item']); } $o_ground->SetDirections($_POST['directions']); $o_ground->SetParking($_POST['parking']); $o_ground->SetFacilities($_POST['facilities']); $o_ground->SetAddress($this->o_address_edit->GetDataObject()); $o_ground->SetShortUrl($_POST[$this->GetNamingPrefix() . 'ShortUrl']); $this->SetDataObject($o_ground); }
/** * @return void * @desc Re-build from data posted by this control the data object this control is editing */ function BuildPostedDataObject() { $team = new Team($this->GetSettings()); if (isset($_POST['item'])) { $team->SetId($_POST['item']); } if (isset($_POST['name'])) { $team->SetName($_POST['name']); } $team->SetWebsiteUrl($_POST['websiteUrl']); $team->SetIsActive(isset($_POST['playing'])); $team->SetIntro(ucfirst(trim($_POST['intro']))); $team->SetPlayingTimes($_POST['times']); $team->SetCost($_POST['yearCost']); $team->SetContact($_POST['contact']); $team->SetPrivateContact($_POST['private']); $ground = new Ground($this->GetSettings()); $ground->SetId($_POST['ground']); $team->SetGround($ground); if (isset($_POST['team_type'])) { $team->SetTeamType($_POST['team_type']); if ($team->GetTeamType() == Team::SCHOOL_YEARS) { $team->SetSchoolYears(array(1 => isset($_POST['year1']), 2 => isset($_POST['year2']), 3 => isset($_POST['year3']), 4 => isset($_POST['year4']), 5 => isset($_POST['year5']), 6 => isset($_POST['year6']), 7 => isset($_POST['year7']), 8 => isset($_POST['year8']), 9 => isset($_POST['year9']), 10 => isset($_POST['year10']), 11 => isset($_POST['year11']), 12 => isset($_POST['year12']))); } } if ($this->is_admin) { $team->SetShortUrl($_POST[$this->GetNamingPrefix() . 'ShortUrl']); $team->SetPlayerType($_POST['playerType']); if (isset($_POST['club']) and is_numeric($_POST['club'])) { $club = new Club($this->GetSettings()); $club->SetId($_POST['club']); $team->SetClub($club); } } $this->SetDataObject($team); }
/** * Builds a match object containing the result information posted by the control * */ public function BuildPostedDataObject() { $match = new Match($this->GetSettings()); $match->SetMatchType(MatchType::TOURNAMENT); # Get match id $s_key = $this->GetNamingPrefix() . 'item'; if (isset($_POST[$s_key])) { $s_id = $_POST[$s_key]; if (strlen($s_id)) { $match->SetId($s_id); } } # Get the title $s_key = $this->GetNamingPrefix() . 'Title'; if (isset($_POST[$s_key])) { $match->SetTitle(strip_tags($_POST[$s_key])); } # Get the qualification type $s_key = $this->GetNamingPrefix() . 'Qualify'; if (isset($_POST[$s_key])) { $match->SetQualificationType($_POST[$s_key]); } # Get the player type $s_key = $this->GetNamingPrefix() . 'PlayerType'; if (isset($_POST[$s_key])) { $match->SetPlayerType($_POST[$s_key]); } $s_key = $this->GetNamingPrefix() . "Players"; if (isset($_POST[$s_key]) and strlen($_POST[$s_key])) { $match->SetMaximumPlayersPerTeam($_POST[$s_key]); } # Get the number of overs $s_key = $this->GetNamingPrefix() . "Overs"; if (isset($_POST[$s_key]) and strlen($_POST[$s_key])) { $match->SetOvers($_POST[$s_key]); } # Get the short URL $s_key = $this->GetNamingPrefix() . 'ShortUrl'; if (isset($_POST[$s_key])) { $match->SetShortUrl($_POST[$s_key]); } # Get the start date $s_key = $this->GetNamingPrefix() . 'Start'; $match->SetStartTime(DateControl::GetPostedTimestampUtc($s_key)); $match->SetIsStartTimeKnown(DateControl::GetIsTimePosted($s_key)); # Get the initial team $team = new Team($this->GetSettings()); $s_key = $this->GetNamingPrefix() . 'ContextTeam'; if (isset($_POST[$s_key]) and strlen($_POST[$s_key])) { $team->SetId($_POST[$s_key]); $match->AddAwayTeam($team); } # Get the ground $s_key = $this->GetNamingPrefix() . 'Ground'; if (isset($_POST[$s_key]) and strlen($_POST[$s_key])) { $o_ground = new Ground($this->GetSettings()); $o_ground->SetId($_POST[$s_key]); $match->SetGround($o_ground); } # Get the notes $s_key = $this->GetNamingPrefix() . 'Notes'; if (isset($_POST[$s_key])) { $match->SetNotes($_POST[$s_key]); } $this->SetDataObject($match); }
/** * Populates the collection of business objects from raw data * * @return bool * @param MySqlRawData $o_result */ protected function BuildItems(MySqlRawData $o_result) { # use CollectionBuilder to handle duplicates $o_ground_builder = new CollectionBuilder(); $o_ground = null; while ($row = $o_result->fetch()) { # check whether this is a new ground if (!$o_ground_builder->IsDone($row->ground_id)) { # store any exisiting ground if ($o_ground != null) { $this->Add($o_ground); } # create the new ground $o_ground = new Ground($this->o_settings); $o_ground->SetId($row->ground_id); $o_ground->SetDirections($row->directions); $o_ground->SetParking($row->parking); $o_ground->SetFacilities($row->facilities); $o_ground->SetShortUrl($row->short_url); $o_ground->SetDateUpdated($row->date_changed); if (isset($row->update_search) and $row->update_search == 1) { $o_ground->SetSearchUpdateRequired(); } $o_address = $o_ground->GetAddress(); $o_address->SetSaon($row->saon); $o_address->SetPaon($row->paon); $o_address->SetStreetDescriptor($row->street_descriptor); $o_address->SetLocality($row->locality); $o_address->SetTown($row->town); $o_address->SetAdministrativeArea($row->administrative_area); $o_address->SetPostcode($row->postcode); if (isset($row->latitude)) { $o_address->SetGeoLocation($row->latitude, $row->longitude, $row->geo_precision); } $o_ground->SetAddress($o_address); } if (isset($row->team_name)) { $team = new Team($this->GetSettings()); $team->SetName($row->team_name); $team->SetShortUrl($row->team_short_url); $team->SetPlayerType($row->player_type_id); $o_ground->Teams()->Add($team); } } # store final ground if ($o_ground != null) { $this->Add($o_ground); } }
/** * Helper to build ground for a match from raw data * * @param Match $o_match * @param DataRow $o_row */ private function BuildGround(Match $o_match, $o_row) { if (isset($o_row->ground_id)) { $o_ground = new Ground($this->GetSettings()); $o_ground->SetId($o_row->ground_id); if (isset($o_row->ground_short_url)) { $o_ground->SetShortUrl($o_row->ground_short_url); } if (isset($o_row->town)) { $o_addr = $o_ground->GetAddress(); $o_addr->SetSaon($o_row->saon); $o_addr->SetPaon($o_row->paon); if (isset($o_row->street_descriptor)) { $o_addr->SetStreetDescriptor($o_row->street_descriptor); } if (isset($o_row->locality)) { $o_addr->SetLocality($o_row->locality); } $o_addr->SetTown($o_row->town); if (isset($o_row->postcode)) { $o_addr->SetPostcode($o_row->postcode); } } if (isset($o_row->latitude)) { $o_addr->SetGeoLocation($o_row->latitude, $o_row->longitude, $o_row->geo_precision); } $o_match->SetGround($o_ground); unset($o_ground); } }
/** * Builds a match object containing the result information posted by the control * */ public function BuildPostedDataObject() { $o_match = new Match($this->GetSettings()); # Get match id $s_key = $this->GetNamingPrefix() . 'item'; if (isset($_POST[$s_key])) { $s_id = $_POST[$s_key]; if (strlen($s_id)) { $o_match->SetId($s_id); } } # Get the short URL $s_key = $this->GetNamingPrefix() . 'ShortUrl'; if (isset($_POST[$s_key])) { $o_match->SetShortUrl($_POST[$s_key]); } # Get the start date $s_key = $this->GetNamingPrefix() . 'Start'; $o_match->SetStartTime(DateControl::GetPostedTimestampUtc($s_key)); $o_match->SetIsStartTimeKnown(DateControl::GetIsTimePosted($s_key)); # Get the home team # Test for (int)$_POST[$s_key] deliberately excludes "Not known" value, which is 0 $o_home = new Team($this->GetSettings()); $s_key = $this->GetNamingPrefix() . 'Home'; if (isset($_POST[$s_key]) and strlen($_POST[$s_key]) and (int) $_POST[$s_key]) { $o_home->SetId($_POST[$s_key]); $o_match->SetHomeTeam($o_home); } # Get the away team # Test for (int)$_POST[$s_key] deliberately excludes "Not known" value, which is 0 $o_away = new Team($this->GetSettings()); $s_key = $this->GetNamingPrefix() . 'Away'; if (isset($_POST[$s_key]) and strlen($_POST[$s_key]) and (int) $_POST[$s_key]) { $o_away->SetId($_POST[$s_key]); $o_match->SetAwayTeam($o_away); } # Get the ground $s_key = $this->GetNamingPrefix() . 'Ground'; if (isset($_POST[$s_key]) and strlen($_POST[$s_key])) { $o_ground = new Ground($this->GetSettings()); $o_ground->SetId($_POST[$s_key]); $o_match->SetGround($o_ground); } # Get the notes $s_key = $this->GetNamingPrefix() . 'Notes'; if (isset($_POST[$s_key])) { $o_match->SetNotes($_POST[$s_key]); } # Get the match type $s_key = $this->GetNamingPrefix() . 'MatchType'; if (isset($_POST[$s_key]) and is_numeric($_POST[$s_key])) { $o_match->SetMatchType($_POST[$s_key]); } # Get the tournament if ($o_match->GetMatchType() == MatchType::TOURNAMENT_MATCH) { $s_key = $this->GetNamingPrefix() . 'Tournament'; if (isset($_POST[$s_key]) and is_numeric($_POST[$s_key])) { $tournament = new Match($this->GetSettings()); $tournament->SetMatchType(MatchType::TOURNAMENT); $tournament->SetId($_POST[$s_key]); $o_match->SetTournament($tournament); } } # Get the season $s_key = $this->GetNamingPrefix() . 'Season'; if (isset($_POST[$s_key]) and strlen($_POST[$s_key])) { $o_season = new Season($this->GetSettings()); $o_season->SetId($_POST[$s_key]); $o_match->Seasons()->Add($o_season); } $this->SetDataObject($o_match); }
/** * Populates the collection of business objects from raw data * * @return bool * @param MySqlRawData $o_result */ protected function BuildItems(MySqlRawData $o_result) { $this->Clear(); /* @var $o_team Team */ # use CollectionBuilder to handle duplicates $o_team_builder = new CollectionBuilder(); $o_season_builder = new CollectionBuilder(); $o_team = null; while ($row = $o_result->fetch()) { # check whether this is a new team if (!$o_team_builder->IsDone($row->team_id)) { # store any exisiting team if ($o_team != null) { $this->Add($o_team); $o_season_builder->Reset(); } # create the new team $o_team = new Team($this->o_settings); $o_team->SetId($row->team_id); $o_team->SetName($row->team_name); if (isset($row->website)) { $o_team->SetWebsiteUrl($row->website); } if (isset($row->active)) { $o_team->SetIsActive($row->active); } if (isset($row->team_type)) { $o_team->SetTeamType($row->team_type); } if (isset($row->intro)) { $o_team->SetIntro($row->intro); } if (isset($row->playing_times)) { $o_team->SetPlayingTimes($row->playing_times); } if (isset($row->cost)) { $o_team->SetCost($row->cost); } if (isset($row->contact)) { $o_team->SetContact($row->contact); } if (isset($row->contact_nsa)) { $o_team->SetPrivateContact($row->contact_nsa); } if (isset($row->short_url)) { $o_team->SetShortUrl($row->short_url); } if (isset($row->player_type_id)) { $o_team->SetPlayerType($row->player_type_id); } $o_team->SetSchoolYears(array(1 => isset($row->year1) and $row->year1, 2 => isset($row->year2) and $row->year2, 3 => isset($row->year3) and $row->year3, 4 => isset($row->year4) and $row->year4, 5 => isset($row->year5) and $row->year5, 6 => isset($row->year6) and $row->year6, 7 => isset($row->year7) and $row->year7, 8 => isset($row->year8) and $row->year8, 9 => isset($row->year9) and $row->year9, 10 => isset($row->year10) and $row->year10, 11 => isset($row->year11) and $row->year11, 12 => isset($row->year12) and $row->year12)); if (isset($row->update_search) and $row->update_search == 1) { $o_team->SetSearchUpdateRequired(); } if (isset($row->date_changed)) { $o_team->SetLastAudit(new AuditData($row->modified_by_id, $row->known_as, $row->date_changed)); } $club = new Club($this->GetSettings()); if (isset($row->club_id)) { $club->SetId($row->club_id); if (isset($row->club_name)) { $club->SetName($row->club_name); } if (isset($row->twitter)) { $club->SetTwitterAccount($row->twitter); } if (isset($row->facebook)) { $club->SetFacebookUrl($row->facebook); } if (isset($row->instagram)) { $club->SetInstagramAccount($row->instagram); } if (isset($row->clubmark)) { $club->SetClubmarkAccredited($row->clubmark); } if (isset($row->club_short_url)) { $club->SetShortUrl($row->club_short_url); } } # If the website is actually a Facebook page, move it, overriding the club Facebook page is necessary if (strpos($o_team->GetWebsiteUrl(), 'facebook.com/') !== false) { $club->SetFacebookUrl($o_team->GetWebsiteUrl()); $o_team->SetWebsiteUrl(''); } $o_team->SetClub($club); if (isset($row->ground_id) and $row->ground_id) { $o_ground = new Ground($this->o_settings); $o_ground->SetId($row->ground_id); $address = $o_ground->GetAddress(); if (isset($row->saon)) { $address->SetSaon($row->saon); } if (isset($row->town)) { if (isset($row->paon)) { $address->SetPaon($row->paon); } if (isset($row->street_descriptor)) { $address->SetStreetDescriptor($row->street_descriptor); } if (isset($row->locality)) { $address->SetLocality($row->locality); } $address->SetTown($row->town); if (isset($row->administrative_area)) { $address->SetAdministrativeArea($row->administrative_area); } if (isset($row->postcode)) { $address->SetPostcode($row->postcode); } if (isset($row->latitude)) { $address->SetGeoLocation($row->latitude, $row->longitude, null); } $o_ground->SetAddress($address); } if (isset($row->ground_short_url)) { $o_ground->SetShortUrl($row->ground_short_url); } $o_team->SetGround($o_ground); } } # Competition/Season a cause of multiple rows if (isset($row->season_id) and !$o_season_builder->IsDone($row->season_id) and isset($row->competition_id)) { $o_season = new Season($this->o_settings); $o_season->SetId($row->season_id); $o_season->SetName($row->season_name); $o_season->SetIsLatest($row->is_latest); $o_season->SetStartYear($row->start_year); $o_season->SetEndYear($row->end_year); if (isset($row->season_short_url)) { $o_season->SetShortUrl($row->season_short_url); } $o_competition = new Competition($this->o_settings); $o_competition->SetId($row->competition_id); $o_competition->SetName($row->competition_name); $o_season->SetCompetition($o_competition); $o_team->Seasons()->Add(new TeamInSeason(null, $o_season, isset($row->withdrawn_league) ? $row->withdrawn_league : null)); unset($o_season); unset($o_competition); } } # store final team if ($o_team != null) { $this->Add($o_team); } return true; }
/** * Populates the collection of business objects from raw data * * @return bool * @param MySqlRawData $o_result */ protected function BuildItems(MySqlRawData $o_result) { /* @var $o_season Season */ $this->Clear(); # use CollectionBuilder to handle duplicates $o_season_builder = new CollectionBuilder(); $o_team_builder = new CollectionBuilder(); $o_rule_builder = new CollectionBuilder(); $o_points_builder = new CollectionBuilder(); $o_type_builder = new CollectionBuilder(); $o_season = null; while ($o_row = $o_result->fetch()) { # check whether this is a new season if (!$o_season_builder->IsDone($o_row->season_id)) { # store any exisiting season and reset if ($o_season != null) { $this->Add($o_season); $o_team_builder->Reset(); $o_rule_builder->Reset(); $o_points_builder->Reset(); $o_type_builder->Reset(); } # create the new season $o_season = new Season($this->GetSettings()); $this->BuildSeason($o_season, $o_row); } # Teams the first cause of multiple rows if (isset($o_row->team_id)) { if (!$o_team_builder->IsDone($o_row->team_id)) { if (isset($o_team)) { unset($o_team); } $o_team = new Team($this->GetSettings()); $o_team->SetId($o_row->team_id); $o_team->SetName($o_row->team_name); $ground = new Ground($this->GetSettings()); $ground->SetId($o_row->team_ground_id); $o_team->SetGround($ground); if (isset($o_row->team_short_url)) { $o_team->SetShortUrl($o_row->team_short_url); } $o_season->AddTeam($o_team); if (isset($o_row->withdrawn_league) and (bool) $o_row->withdrawn_league) { $o_season->TeamsWithdrawnFromLeague()->Add($o_team); } } # Points adjustments - should come with team and in order of team if (isset($o_row->point_id) and !$o_points_builder->IsDone($o_row->point_id)) { $o_point = new PointsAdjustment($o_row->point_id, $o_row->points, $o_team, $o_row->reason, $o_row->points_date); $o_season->PointsAdjustments()->Add($o_point); } } # Season rules if (isset($o_row->season_rule_id) and !$o_rule_builder->IsDone($o_row->season_rule_id)) { $o_mr = new MatchResult($o_row->match_result_id); $o_mr->SetHomePoints($o_row->home_points); $o_mr->SetAwayPoints($o_row->away_points); $o_season->PossibleResults()->Add($o_mr); unset($o_mr); } # Match types if (isset($o_row->season_match_type) and !$o_type_builder->IsDone($o_row->season_match_type)) { $o_season->MatchTypes()->Add((int) $o_row->season_match_type); } } # store final season if ($o_season != null) { $this->Add($o_season); } return true; }
/** * Populates the collection of business objects from raw data * * @return bool * @param MySqlRawData $o_result */ protected function BuildItems(MySqlRawData $o_result) { $this->Clear(); $o_match_builder = new CollectionBuilder(); $o_team_builder = new CollectionBuilder(); while ($o_row = $o_result->fetch()) { if (!$o_match_builder->IsDone($o_row->match_id)) { if (isset($o_match)) { $this->Add($o_match); $o_team_builder->Reset(); } # create new $o_match = new Match($this->GetSettings()); $o_match->SetId($o_row->match_id); if (isset($o_row->start_time)) { $o_match->SetStartTime($o_row->start_time); } if (isset($o_row->home_runs)) { $o_match->Result()->SetHomeRuns($o_row->home_runs); } if (isset($o_row->away_runs)) { $o_match->Result()->SetAwayRuns($o_row->away_runs); } if (isset($o_row->match_result_id)) { $o_match->Result()->SetResultType($o_row->match_result_id); } if (isset($o_row->home_team_id) and !is_null($o_row->home_team_id)) { $o_home = new Team($this->o_settings); $o_home->SetId($o_row->home_team_id); if (isset($o_row->home_team_name)) { $o_home->SetName($o_row->home_team_name); } if (isset($o_row->home_short_url)) { $o_home->SetShortUrl($o_row->home_short_url); } $o_match->SetHomeTeam($o_home); unset($o_home); } if (isset($o_row->ground_id)) { $o_ground = new Ground($this->GetSettings()); $o_ground->SetId($o_row->ground_id); $o_match->SetGround($o_ground); unset($o_ground); } } # Add away teams if (isset($o_row->away_team_id) && !$o_team_builder->IsDone($o_row->away_team_id)) { $o_away = new Team($this->o_settings); $o_away->SetId($o_row->away_team_id); if (isset($o_row->away_team_name)) { $o_away->SetName($o_row->away_team_name); } if (isset($o_row->away_short_url)) { $o_away->SetShortUrl($o_row->away_short_url); } $o_match->AddAwayTeam($o_away); unset($o_away); } } # Add final match if (isset($o_match)) { $this->Add($o_match); } return true; }