<h1>
    Classement par catégorie
</h1>

<?php
require_once "dao/bdd.php";
require_once "dao/dao.php";
require_once "dao/cat_dao.php";

//Initialisation d'un DAO pour les catégories
$dao = new cat_dao();

//On récupère toutes les catégories si besoin
if (isset($_POST["cat"]))
    {
    if ($_POST["cat"] == "all")
        {
        $categories = $dao->getAllCat();
        } else
        {
        $categories = array(0 => (array(0 => $_POST["cat"])));
        }
    } else
    {
    $categories = $dao->getAllCat();
    }

//On met en place un formulaire pour le choix de la catégories
?>

<form method="post" action="index.php?page=rank_cat">
    <fieldset>
        <select name="cat">
            <option value="all" class="center_item">
                Toutes les catégories
            </option>
            <?php
            foreach ($dao->getAllCat() as $cat)
                {
                if ((isset($_POST["cat"])) && ($cat[0] == $_POST["cat"]))
                    {
                    echo "<option value='" . $cat[0] . "' selected='selected'>";
                    } else
                    {
                    echo "<option value='" . $cat[0] . "'>";
                    }
                echo $cat[0];
                echo "</option>";
                }
            ?>
        </select>
        <br/>
        <br/>
        <button type="submit">Valider</button>
    </fieldset>
</form>

<?php
//Pour chaque catégories, on construit un tableau
foreach ($categories as $cat)
    {
    ?>

    <h2 class="center_item"><?php echo "$cat[0]"; ?></h2>
    <table>
        <thead>
            <tr>
                <th>Nom</th>
                <th>Prénom</th>
                <th>Nombre de partie jouées</th>
                <th>Total points</th>
                <th>Rang</th>
            </tr>
        </thead>
        <tbody>
            <?php
            //On commence par inclure les fichiers nécessaire
            require_once "dao/point_manager.php";
            require_once "dao/bdd.php";
            require_once "dao/dao.php";
            require_once "metier/ranker.php";
            require_once "metier/sort_manager.php";
            require_once "metier/user.php";

            //On récupère d'abord tous les joueurs
            $players = point_manager::getAllPlayer();

            //On créer une variable de stockage
            $storage = array();
            $i = 0;

            //On charge toutes les données
            foreach ($players as $player)
                {
                $args = array();
                $args["login"] = $player["login"];
                $args["cat"] = $cat[0];
                $storage[$i] = new ranker("cat", $args);
                $i++;
                }

            //On trie le tableau selon le nombre de points totals
            usort($storage, "sort_manager::pointsort");


            //Affichage finale
            $i = 1;

            foreach ($storage as $rank)
                {
                //Si la personne n'a joué à aucun jeu, on passe à l'itération suivante
                if ($rank->getNbGame() == 0)
                    {
                    continue;
                    }

                if (isset($_SESSION["user"]) && $user->getLogin() == $rank->getUser()->getLogin())
                    echo "<tr class=\"selected\">";
                else
                    echo "<tr>";

                echo "<td>";
                echo $rank->getUser()->getNom();
                echo "</td>";
                echo "<td>";
                echo $rank->getUser()->getPrenom();
                echo '</td>';
                echo "<td>";
                echo $rank->getNbGame();
                echo '</td>';
                echo "<td>";
                echo floor($rank->getPoint());
                echo '</td>';
                echo "<td>";
                echo $i;
                echo '</td>';
                echo '</tr>';
                $i++;
                }
            ?>
        </tbody>
    </table>

    <?php
    }
?>

<br/>
<br/>

<form class="center_item" method="post" action="index.php">
    <fieldset>
        <button type="button" onclick="javascript:navigate('index.php?page=rank')">Retour</button>
    </fieldset>
</form>