<?php

//Chargement des include
require_once './dao/groupe_dao.php';


/**
 * @brief Groupe de questions 
 */
class groupe
    {

    ///Identifiant du groupe
    private $id;
    
    ///1er réponse possible des questions du groupe (string)
    private $reponse_0;
    
    ///2eme réponse possible des questions du groupes (string)
    private $reponse_1;
    
    ///Tableau de questions relatives au groupe
    private $questions;
    
    ///Catégorie du groupe (string)
    private $categorie;
    

    /**
     * @brief Constructeur de groupe
     * @arg $id identidiant du groupe
     * @note les données sont chargées à partir de l'identifiant
     */
    public function __construct($id)
        {
        //Creation d'un nouvel objet DAO     
        $dao = new groupe_dao();

        //Chargement des données
        $data = $dao->select($id);

        //Encapsulation des données
        $this->id = $id;
        $this->reponse_0 = $data["reponse0"];
        $this->reponse_1 = $data["reponse1"];
        $this->categorie = $data["categorie_nom"];
        $this->questions = null; //On ne charge pas les questions pour éviter un lag
        }

    /**
     * @brief Obtient l'identifiant du groupe
     * @return int
     */
    public function getId()
        {
        return $this->id;
        }

    /**
     * @brief Obtient la 1er réponse possible du groupe
     * @return string
     */
    public function getReponse_0()
        {
        return $this->reponse_0;
        }

    /**
     * @brief Obtient la 2nde réponse possible du groupe
     * @return string
     */
    public function getReponse_1()
        {
        return $this->reponse_1;
        }

    /**
     * @brief Obtient les questions relatives au groupes
     * @return question[]
     */
    public function getQuestion()
        {
        if ($this->questions == NULL)
            {
            //On charge les fichiers nécessaires
            include_once './dao/question_dao.php';
            include_once './metier/question.php';

            //On instancie un nouveau DAO
            $dao = new question_dao();

            //On charge les données
            $data = $dao->selectByGroup($this->id);

            //On initialise une variable temporaire pour stocker les données
            $tmp = array();
            $i = 0;

            //On parse toutes les données
            foreach ($data as $row)
                {
                $tmp[$i] = new question($row["id"], $row["group_id"], $row["question"], $row["bonnereponse"]);
                $i++;
                }

            //On sauvegarde les données dans l'attribut spécifique de la classe
            $this->questions = $tmp;
            }

        //On retourne les données;
        return $this->questions;
        }

    /**
     * @brief Obtient la catégorie du groupe
     * @return string
     */
    public function getCategorie()
        {
        return $this->categorie;
        }

    }

?>
