This repository has been archived on 2025-02-01. You can view files and clone it, but cannot push or open issues or pull requests.
accm-website/includes/tournaments/CategoryFormatter.inc.php
2010-08-14 22:32:09 +02:00

105 lines
3.2 KiB
PHP

<?php
include_once './includes/tournaments/TournamentEntryFormatter.inc.php';
include_once './includes/tournaments/TournamentEntryLister.inc.php';
/**
* This class allows for easy formatting of categories.
*
* @author Thomas Schwery <thomas.schwery@epfl.ch>
*/
class CategoryFormatter {
public static function getSummaryBox($category) {
$name = $category->getName();
$id = $category->getIdentifier();
$content = "<div class='category_box'>";
$content.= Localization::categoryName . ": $name";
$content.= "<br>\n";
$content.= Localization::categoryId . ": $id";
$content.= "</div>";
return $content;
}
public static function getFullTournament(Category $category, Tournament $tournament) {
$content = "";
$categoryName = $category->getName();
$tournamentEntries = TournamentEntryLister::GetAllEntriesFromCategory($tournament, $category);
usort($tournamentEntries, "sortByDescPoints");
$labelName = Localization::tournamentName;
$labelPoints = Localization::tournamentPoints;
$labelRank = Localization::tournamentRank;
$labelParticipants = Localization::tournamentParticipants;
$content .= "<div class='category_box'>";
$content .= "<h2>$categoryName</h2>";
$content .= "<table style='width : 100%; text-align: center;'>\n";
$content .= "<tr>\n";
$content .= "<th>$labelName</th><th>$labelRank</th><th>$labelPoints</th><th>$labelParticipants</th>\n";
$content .= "</tr>\n";
foreach ($tournamentEntries as $tournamentEntry) {
$content .= TournamentEntryFormatter::getTournamentLine($tournamentEntry);
}
$content .= "</table>";
$content .= "</div>";
return $content;
}
public static function getFullUser(Category $category, Member $user) {
$content = "";
$categoryName = $category->getName();
$tournamentEntries = TournamentEntryLister::GetAllEntriesFromMemberAndCategory($user, $category);
usort($tournamentEntries, "sortByDescPoints");
$labelName = Localization::tournamentName;
$labelPoints = Localization::tournamentPoints;
$labelDate = Localization::tournamentDate;
$labelRank = Localization::tournamentRank;
$labelParticipants = Localization::tournamentParticipants;
$content .= "<div class='category_box'>";
$content .= "<h2>$categoryName</h2>";
$content .= "<table style='width : 100%; text-align: center;'>\n";
$content .= "<tr>\n";
$content .= "<th>$labelName</th><th>$labelDate</th><th>$labelRank</th>\n";
$content .= "<th>$labelPoints</th><th>$labelParticipants</th>\n";
$content .= "</tr>\n";
foreach ($tournamentEntries as $tournamentEntry) {
$content .= TournamentEntryFormatter::getUserLine($tournamentEntry);
}
$content .= "</table>";
$content .= "</div>";
return $content;
}
}
function sortByDescPoints($a, $b) {
if ($a->getPoints() == $b->getPoints()) {
echo "Equal";
return 0;
}
if ($a->getPoints() < $b->getPoints()) {
return 1;
} else {
return -1;
}
}
?>