public function OnPrePageLoad() { $this->SetPageTitle('Edit ' . $this->school->GetName()); $this->SetContentConstraint(StoolballPage::ConstrainText()); $this->LoadClientScript('/scripts/maps-3.js'); $this->LoadClientScript("/play/schools/edit-school.js"); }
/** * Populates the collection of business objects from raw data * * @return bool * @param MySqlRawData $result */ protected function BuildItems(MySqlRawData $result) { # use CollectionBuilder to handle duplicates $school_builder = new CollectionBuilder(); $school = null; while ($row = $result->fetch()) { # check whether this is a new school if (!$school_builder->IsDone($row->club_id)) { # store any exisiting school if ($school != null) { $this->Add($school); } # create the new school $school = new School($this->GetSettings()); $school->SetId($row->club_id); $school->SetName($row->club_name); $school->SetTypeOfClub($row->club_type); $school->SetHowManyPlayers($row->how_many_players); $school->SetAgeRangeLower($row->age_range_lower); $school->SetAgeRangeUpper($row->age_range_upper); $school->SetPlaysOutdoors($row->plays_outdoors); $school->SetPlaysIndoors($row->plays_indoors); $school->SetShortUrl($row->short_url); $school->SetTwitterAccount($row->twitter); $school->SetFacebookUrl($row->facebook); $school->SetInstagramAccount($row->instagram); $school->SetClubmarkAccredited($row->clubmark); # Infer partial address from school name $school_name = $school->GetName(); $comma = strrpos($school_name, ","); if ($comma !== false) { $school->Ground()->GetAddress()->SetTown(trim(substr($school_name, $comma + 1))); $school->Ground()->GetAddress()->SetPaon(substr($school_name, 0, $comma)); } } # team the only cause of multiple rows (so far) so add to current school if ($row->team_id) { $team = new Team($this->GetSettings()); $team->SetId($row->team_id); $team->SetName($row->team_name); $team->SetShortUrl($row->team_short_url); $school->Add($team); } } # store final club if ($school != null) { $this->Add($school); } }