public static function getOfficialName(Race $race) { $name = ''; switch ($race->getAgeClass()) { case 'Kind': if ($race->getGender() == Competitor::GENDER_FEMALE) { $name = 'Mädchen'; } elseif ($race->getGender() == Competitor::GENDER_MALE) { $name = 'Jungen'; } else { $name = 'JuM'; } $name .= ' ('; if ($race->getAgeMin() == $race->getAgeMax()) { $name .= $race->getAgeMin(); } else { $name .= $race->getAgeMin() . ' bis ' . $race->getAgeMax(); } $name .= ' Jahre)'; break; case 'Junior': if ($race->getGender() == Competitor::GENDER_FEMALE) { $name = 'Juniorinnen'; } else { $name = 'Junioren'; } if ($race->getAgeMin() == 15 && ($race->getAgeMax() == 16 || $race->getAgeMax() == $race->getAgeMin())) { $name .= ' B'; } elseif ($race->getAgeMin() == 17 && ($race->getAgeMax() == 18 || $race->getAgeMax() == $race->getAgeMin())) { $name .= ' A'; } break; case 'Senior': if ($race->getGender() == Competitor::GENDER_FEMALE) { $name = 'Frauen'; } elseif ($race->getGender() == Competitor::GENDER_MALE) { $name = 'Männer'; } else { $name = 'Senioren'; } if ($race->getAgeMax() < 23) { $name .= ' B'; } elseif ($race->getAgeMin() > 22 && $race->getAgeMax() < 27) { $name .= ' A'; } else { $name .= ' (' . $race->getAgeMin() . ' bis ' . $race->getAgeMax() . ' Jahre)'; } break; case 'Master': if ($race->getGender() == Competitor::GENDER_FEMALE) { $name = 'Frauen (Masters)'; } elseif ($race->getGender() == Competitor::GENDER_MALE) { $name = 'Männer (Masters)'; } else { $name = 'Masters'; } $name .= ' (' . $race->getAgeMin() . ' bis ' . $race->getAgeMax() . ' Jahre)'; break; case 'Offen': $name = 'Offen'; $name .= ' (' . $race->getAgeMin() . ' bis ' . $race->getAgeMax() . ' Jahre)'; break; } if ($race->getTeamsize() > 1) { $name .= ' [' . $race->getTeamsize() . ' Pers.]'; } return $name; }