commit
bd8d7ed0a5
410 changed files with 25971 additions and 0 deletions
@ -0,0 +1,88 @@
|
||||
<?php |
||||
/** |
||||
* @brief Configuration standard du site |
||||
*/ |
||||
class config |
||||
{ |
||||
|
||||
/* |
||||
* ========================================================================= |
||||
* ==> DEBUT CONFIGURATION |
||||
* Pour installer le site, vous devez paramètrer les lignes ci dessous : |
||||
* ========================================================================= |
||||
*/ |
||||
|
||||
/** |
||||
* @brief Adresse de la BDD |
||||
* @example mysql:host=127.0.0.1; dbname=burgerquizz |
||||
* @var string |
||||
*/ |
||||
public static $bdd_address = "mysql:host=127.0.0.1; dbname=burgerquizz"; |
||||
|
||||
|
||||
/** |
||||
* @brief Login de l'utilisateur de la BDD |
||||
* @note Cet utilisater doit avoir tous les droits sur les tables du burger quizz |
||||
* @var string |
||||
*/ |
||||
public static $bdd_user = "root"; |
||||
|
||||
|
||||
/** |
||||
* @brief Mot de passe de l'utilisateur de la BDD |
||||
* @var string |
||||
*/ |
||||
public static $bdd_password = "2684"; |
||||
|
||||
/* |
||||
* ========================================================================= |
||||
* ==> FIN DE LA CONFIGURATION |
||||
* ========================================================================= |
||||
*/ |
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//Ne pas toucher aux lignes ci dessous : |
||||
|
||||
/** |
||||
* @brief Variable pour le débugage |
||||
* @example TRUE ==> affiche toutes les erreures des TRY |
||||
* @example FALSE ==> usage standard |
||||
* @var boolean |
||||
*/ |
||||
public static $debug = TRUE; |
||||
|
||||
|
||||
/** |
||||
* @brief Table de liaison Page-Titre-URL |
||||
* @var array[page code][titre=0/url=1] |
||||
*/ |
||||
public static $pages = array( |
||||
'welcome' => array('Accueil', 'view/welcome/index.php'), //Page d'acceuil |
||||
'login' => array("Connexion", "view/welcome/login.php"), //Page de connexion |
||||
'signup' => array('Inscription', 'view/signup/index.php'), //Page d'inscription au site |
||||
'logout' => array('Déconnexion', 'view/logout/index.php'), //Page de déconnexion |
||||
'account' => array('Mon compte', 'view/account/index.php'), //Page du compte |
||||
'update' => array('Mise à jour', 'view/account/update.php'), //Page de mise à jour du compte |
||||
'game' => array('Jeu', 'view/game/index.php'), //Page du jeu |
||||
'finish' => array('Fin du jeu', 'view/game/finish.php'), //Page de fin de la partie |
||||
'error' => array('Erreur', 'view/game/error.php'), // Page d'erreur d'enregistrement de la partie |
||||
'result' => array('Résultats', 'view/result/index.php'), //Page des parties personnelles du joueur |
||||
'rank' => array('Rangs', 'view/rank/index.php'), //Page du classement principal |
||||
'rank_cat' => array("Classement par catégorie", "view/rank/bycat.php"), |
||||
'404' => array('Erreur 404', 'view/404.php'), //Page d'erreur NOT FOUND |
||||
'500' => array('Erreur 500', 'view/500.php') //Page d'erreur SERVER ERROR |
||||
); |
||||
|
||||
|
||||
|
||||
} |
||||
|
@ -0,0 +1,173 @@
|
||||
<?php |
||||
|
||||
|
||||
/** |
||||
* @brief Gère l'affichage des pages en fonction de l'argument 'page' de la barre d'adresse |
||||
* @note définit également la structure de la page (<head>) |
||||
*/ |
||||
class controller |
||||
{ |
||||
|
||||
///Instance de la classe |
||||
private static $Ctrl; |
||||
|
||||
///Code de la page courante |
||||
private $currpage_code; |
||||
|
||||
///Titre de la page courante |
||||
private $currpage_title; |
||||
|
||||
///URL de la page courante |
||||
private $currpage_url; |
||||
|
||||
|
||||
/** |
||||
* @brief Instancie le contrôleur et charge les données de la barre d'adresse |
||||
* @note Si le contrôleur a déja été instancié, cette methode executera uniquement route() |
||||
*/ |
||||
public static function init() |
||||
{ |
||||
//Si l'instance de la classe est NULL |
||||
if (!isset(self::$Ctrl)) |
||||
{ |
||||
//On instancie un nouveau controlleur |
||||
self::$Ctrl = new controller(); |
||||
} |
||||
|
||||
//On lance le routage |
||||
self::$Ctrl->route(); |
||||
} |
||||
|
||||
/** |
||||
* @brief Récupère le contrôleur utilisé |
||||
* @return controller |
||||
* @warning Si le contrôleur n'a pas été instancié, renverra null |
||||
*/ |
||||
public static function get() |
||||
{ |
||||
return self::$Ctrl; |
||||
} |
||||
|
||||
/** |
||||
* @brief Génère le code HTML de la page désirée, enfonction du terminal |
||||
* @note le contrôleur doit avoir été instancié et être routé |
||||
*/ |
||||
public function render() |
||||
{ |
||||
//Chargement du fichier user.php pour la session et de la classe DAO |
||||
require_once "metier/user.php"; |
||||
|
||||
//Dérrage de la sessions |
||||
session_start(); |
||||
|
||||
|
||||
//Detection du type de terminal (smartphone ou normal) |
||||
$bSmartphone = |
||||
strstr($_SERVER['HTTP_USER_AGENT'], 'Android') |
||||
|| strstr($_SERVER['HTTP_USER_AGENT'], 'BlackBerry') |
||||
|| strstr($_SERVER['HTTP_USER_AGENT'], 'Windows') |
||||
|| strstr($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') |
||||
|| strstr($_SERVER['HTTP_USER_AGENT'], 'Mobile') |
||||
|| strstr($_SERVER['HTTP_USER_AGENT'], 'iPad'); |
||||
|
||||
//Cette variable permettra par la suite de décider du placement de |
||||
// certains menus ainsi que de la feuille de style |
||||
?> |
||||
|
||||
<!-- Structure globale du template --> |
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> |
||||
<html> |
||||
<head> |
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> |
||||
<?php
|
||||
echo "<link href=\"style/global.css\" rel=\"stylesheet\" type=\"text/css\" />"; |
||||
if ($bSmartphone) |
||||
{ |
||||
echo "<link href=\"style/smartphone.css\" rel=\"stylesheet\" type=\"text/css\" />"; |
||||
} |
||||
?> |
||||
<script type="text/javascript" src ="scripts/manager.js"></script> |
||||
<?php echo " <title>BurgerQuizz - $this->currpage_title</title>"; ?> |
||||
<link rel="icon" type="image/ico" href="favicon.ico" /> |
||||
</head> |
||||
<body> |
||||
|
||||
<?php |
||||
// Bandeau de haut de page |
||||
include 'view/template/header.php'; |
||||
|
||||
// Menu de GAUCHE |
||||
if ($bSmartphone) |
||||
{ |
||||
include 'view/template/smartphone_menu_left.php'; |
||||
} |
||||
else |
||||
{ |
||||
include 'view/template/menu_left.php'; |
||||
} |
||||
|
||||
|
||||
// Menu de DROITE |
||||
if ($bSmartphone) |
||||
{ |
||||
include 'view/template/smartphone_menu_right.php'; |
||||
} |
||||
else |
||||
{ |
||||
include 'view/template/menu_right.php'; |
||||
} |
||||
|
||||
//Contenu principal de la page |
||||
echo "<div id=\"core\">"; |
||||
echo " <div id=\"content\">"; |
||||
include $this->currpage_url; |
||||
echo " </div>"; |
||||
echo "</div>"; |
||||
?> |
||||
|
||||
|
||||
</body> |
||||
|
||||
</html> |
||||
<?php |
||||
} |
||||
|
||||
/** |
||||
* @brief Charge les données de la barre d'adresse |
||||
* @brief Charge les vars $currpage_code, $currpage_title, $currpage_url correspondant à la page en cours grace au param 'page' |
||||
*/ |
||||
function route() |
||||
{ |
||||
//Récupération de la page actuelle |
||||
if (isset($_GET['page'])) |
||||
{//si le code est inscrit { |
||||
if (!array_key_exists($_GET['page'], config::$pages)) |
||||
{//si le code n'est pas dans la liste des pages |
||||
$this->currpage_code = '404'; |
||||
} else |
||||
{ |
||||
$this->currpage_code = $_GET['page']; |
||||
} |
||||
} else |
||||
{ |
||||
$this->currpage_code = 'welcome'; |
||||
} |
||||
|
||||
|
||||
//Récupération du template à utiliser (smartphone/normal) |
||||
if (isset($_GET['tmpl']) && $_GET['tmpl'] == "smartphone") |
||||
{ |
||||
$this->currpage_template = "smartphone"; |
||||
} else |
||||
{ |
||||
$this->currpage_template = "global"; |
||||
} |
||||
|
||||
//Titre & URL |
||||
$this->currpage_title = config::$pages[$this->currpage_code][0]; |
||||
$this->currpage_url = config::$pages[$this->currpage_code][1]; |
||||
} |
||||
|
||||
} |
||||
?> |
@ -0,0 +1,66 @@
|
||||
<?php |
||||
/** |
||||
* @brief Classe gérant le comportement à la base de données |
||||
* @brief Sert d'intermédiaire entre la BDD et le PDO |
||||
*/ |
||||
class bdd { |
||||
|
||||
///Instance de la connexion à la base de données |
||||
private $instancePDO; |
||||
|
||||
///Instance statique de la base de données |
||||
private static $bdd; |
||||
|
||||
/** |
||||
* @brief Construit une nouvelle connexion à la base de données |
||||
*/ |
||||
private function __construct() { |
||||
|
||||
try { |
||||
//Mise en place des options |
||||
$options = array( |
||||
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8', |
||||
); |
||||
|
||||
//Création du PDO |
||||
$this->instancePDO = new PDO(config::$bdd_address, config::$bdd_user, config::$bdd_password, $options); |
||||
|
||||
//On précise les options du PDO |
||||
$this->instancePDO->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); |
||||
} catch (PDOException $e) { |
||||
if (config::$debug) { |
||||
//En cas de bug et si le mode DEBUG est activé |
||||
//On affiche un message |
||||
echo 'Connexion échouée : ' . $e->getMessage(); |
||||
header("Refresh: 0;URL=index.php?page=500"); |
||||
} |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* @brief Accesseur de l'instance bdd |
||||
* @return instance BDD |
||||
* @note Création automatique d'une nouvelle instance si besoin |
||||
*/ |
||||
public static function getInstance() { |
||||
if (!isset(self::$bdd)) { |
||||
//Si l'instance n'a pas encore été crée |
||||
//On en créer une nouvelle et on la stocke |
||||
self::$bdd = new bdd(); |
||||
} |
||||
|
||||
//On renvoie l'instance sauvegardée |
||||
return self::$bdd; |
||||
} |
||||
|
||||
/** |
||||
* @brief Accesseur pour l'objet PDO de la classe |
||||
* @return PDO |
||||
*/ |
||||
public function getPDO() { |
||||
return $this->instancePDO; |
||||
} |
||||
|
||||
} |
||||
|
||||
?> |
@ -0,0 +1,37 @@
|
||||
<?php |
||||
|
||||
/** |
||||
* @brief Classe DAO relative à la table catégorie de la base de données |
||||
*/ |
||||
class cat_dao extends dao { |
||||
|
||||
public function delete($id) { |
||||
//On ne fait rien |
||||
} |
||||
|
||||
public function insert(&$objet) { |
||||
//On ne fait rien |
||||
} |
||||
|
||||
public function select($id) { |
||||
//On ne fait rien |
||||
} |
||||
|
||||
public function update(&$objet) { |
||||
//On ne fait rien |
||||
} |
||||
|
||||
public function getAllCat() { |
||||
//Mise en place de la requête |
||||
$query = "SELECT nom FROM categorie ORDER BY nom ASC"; |
||||
|
||||
//On envoie la requête |
||||
$result = $this->db->query($query)->fetchAll(); |
||||
|
||||
//On renvoie les données |
||||
return $result; |
||||
} |
||||
|
||||
} |
||||
|
||||
?> |
@ -0,0 +1,36 @@
|
||||
<?php |
||||
|
||||
/** |
||||
* @brief Classe mère contenant les fonctions standards de requête à la base de données |
||||
* @note Ne peut être instanciée |
||||
*/ |
||||
abstract class dao { |
||||
|
||||
///Variable contenant l'objet de connexion à la BDD |
||||
public $db; |
||||
|
||||
/** |
||||
*@brief Récupère le PDO via la classe bdd |
||||
*/ |
||||
public function __construct() { |
||||
//En cas de construction, on récupère l'objet connexion de la BDD |
||||
$this->db = bdd::getInstance()->getPDO(); |
||||
} |
||||
|
||||
/** |
||||
* @brief Fonction gérant la récupération d'infos |
||||
* @note l'id est soit l'id (int) soit le login pour user |
||||
*/ |
||||
abstract function select($id); |
||||
|
||||
/// @brief Fonction gérant l'insertion d'un nouvel objet dans la BDD |
||||
abstract function insert(&$objet); |
||||
|
||||
/// @brief Fonction gérant la suppression d'un objet dans la BDD |
||||
abstract function delete($id); |
||||
|
||||
/// @brief Fonction gérant la mise de jour des données |
||||
abstract function update(&$objet); |
||||
} |
||||
|
||||
?> |
@ -0,0 +1,121 @@
|
||||
<?php |
||||
|
||||
/** |
||||
* @brief Représente un objet d'accès à la base de données relatif à l'objet game |
||||
*/ |
||||
|
||||
class game_dao extends dao { |
||||
|
||||
/** |
||||
* @brief Récupère un objet de game |
||||
* @arg $id identifiant de la partie à récupérer |
||||
*/ |
||||
public function select($id) { |
||||
//Mise en place de la requête |
||||
$query = "SELECT * FROM `game` WHERE `id`='$id'"; |
||||
|
||||
//On récupère les données |
||||
$result = $this->db->query($query)->fetch(); |
||||
|
||||
//On retourne l'objet frâichement crée |
||||
return $result; |
||||
} |
||||
|
||||
/** |
||||
* @brief Récupère toutes les partie relatives à un joueur |
||||
* @arg $login login du joueur permettant de récupérer les partie qui lui sont associée |
||||
* @return tableau de lignes de la base de données ou FALSE |
||||
*/ |
||||
public function selectByLogin($login) { |
||||
//Mise en place de la requête |
||||
$query = "SELECT * FROM `game` WHERE `user_login`='$login' ORDER BY date DESC"; |
||||
|
||||
//On récupère les données |
||||
$result = $this->db->query($query)->fetchAll(); |
||||
|
||||
//On retourne les données |
||||
return $result; |
||||
} |
||||
|
||||
/** |
||||
* @brief Compte le nombre de jeux effectués par chaque joueurs |
||||
*/ |
||||
public function countGame() { |
||||
//Création de la requête |
||||
$query = "SELECT COUNT(*) AS nb, user_login FROM game GROUP BY user_login ORDER BY user_login ASC"; |
||||
|
||||
//Récupération des données |
||||
$result = $this->db->query($query)->fetchAll(); |
||||
|
||||
//On retourne les données |
||||
return $result; |
||||
} |
||||
|
||||
/** |
||||
* @brief Insert une occurence game relative à l'objet passé |
||||
* @arg $objet objet game à ajouter dans la base de données |
||||
*/ |
||||
public function insert(&$objet) { |
||||
//On stocke les données à ajouter |
||||
$user = $objet->getUserLogin(); |
||||
$length = $objet->getLength(); |
||||
|
||||
//On met en place la requête |
||||
$query = "INSERT INTO `game`(`user_login`,`length`, `date`) VALUES ('$user','$length', NOW())"; |
||||
|
||||
//On envoie la requête |
||||
try { |
||||
$this->db->query($query); |
||||
return TRUE; |
||||
} catch (Exception $ex) { |
||||
if (config::$debug) { |
||||
echo $ex->getMessage(); |
||||
} |
||||
|
||||
return FALSE; |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* @brief Fonction obsolète |
||||
* @note il est impossible de faire une mise à jour d'une partie via le site |
||||
*/ |
||||
public function update(&$objet) { |
||||
//On ne fait rien |
||||
} |
||||
|
||||
/** |
||||
* @brief Supprime une occurence game de la base de données |
||||
* @arg $id identifiant de la partie à supprimer |
||||
* @note on utilise le ON DELETE CASCADE pour supprimer les réponses associées. La BDD reste donc cohérente |
||||
*/ |
||||
public function delete($id) { |
||||
//Mise en place de la requête SQL |
||||
$query = "DELETE FROM `game` WHERE `id`='$id'"; |
||||
|
||||
//On envoie la requête SQL |
||||
$result = $this->db->query($query); |
||||
|
||||
//On renvoie si oui ou non on a réussi la requête |
||||
if ($result->rowCount() == 0) { |
||||
return FALSE; |
||||
} else { |
||||
return TRUE; |
||||
} |
||||
} |
||||
|
||||
public function getLastId() { |
||||
//Mise en place de la requête SQL |
||||
$query = "SELECT MAX(id) FROM game LIMIT 1"; |
||||
|
||||
//On envoie la requête SQL |
||||
$result = $this->db->query($query)->fetch(); |
||||
|
||||
//On retourne le résultat |
||||
return $result; |
||||
} |
||||
|
||||
|
||||
} |
||||
|
||||
?> |
@ -0,0 +1,90 @@
|
||||
<?php |
||||
|
||||
/** |
||||
* @brief Classe DAO relatif à l'objet group |
||||
*/ |
||||
class groupe_dao extends dao { |
||||
|
||||
/** |
||||
* @brief Récupère un objet de type groupe relatif à une occurence de la table group |
||||
* @arg $id identifiant du groupe à retourner |
||||
* @return tableau d'information ou false |
||||
*/ |
||||
public function select($id) { |
||||
//Préparation de la requête |
||||
$query = "SELECT * FROM `group` WHERE id = '" . $id . "'"; |
||||
|
||||
//On envoie la requête |
||||
$result = $this->db->query($query)->fetch(); |
||||
|
||||
//On renvoie les données |
||||
return $result; |
||||
} |
||||
|
||||
public function selectByCat($cat) { |
||||
//Préparation de la requête |
||||
$query = "SELECT * FROM `group` WHERE categorie_nom = '" . $cat . "'"; |
||||
|
||||
//On envoie la requête |
||||
$result = $this->db->query($query)->fetchAll(); |
||||
|
||||
//On renvoie les données |
||||
return $result; |
||||
} |
||||
|
||||
/** |
||||
* @brief Fonction obsolète |
||||
* @note on ne fait pas d'insertion via le site, seulement via l'application JAVA |
||||
*/ |
||||
public function insert(&$objet) { |
||||
//On ne fait rien |
||||
} |
||||
|
||||
/** |
||||
* @brief Fonction obsolète |
||||
* @note il est impossible de supprimer un groupe sur le site. C'est possible via l'application JAVA uniquement |
||||
*/ |
||||
public function delete($id) { |
||||
//On ne fait rien |
||||
} |
||||
|
||||
/** |
||||
* @brief Fonction obsolète |
||||
* @note il est impossible de mettre à jour un groupe via le site. Seul l'application JAVA pourra le faire |
||||
*/ |
||||
public function update(&$objet) { |
||||
//On ne fait rien |
||||
} |
||||
|
||||
/** |
||||
* @brief Compte le nombre de groupe de question par catégories |
||||
*/ |
||||
public function count($cat) { |
||||
//Préparation de la requête |
||||
$query = "SELECT COUNT(*) FROM `group` WHERE `categorie_nom` = '" . $cat . "'"; |
||||
|
||||
//On envoie la requête |
||||
$result = $this->db->query($query)->fetch(); |
||||
|
||||
//On renvoie les données |
||||
return $result; |
||||
} |
||||
|
||||
/** |
||||
* @brief Compte le nombre total de groupe de question |
||||
*/ |
||||
public function countAll() { |
||||
//Préparation de la requête |
||||
$query = "SELECT COUNT(*) FROM `group`"; |
||||
|
||||
//On envoie la requête |
||||
$result = $this->db->query($query)->fetch(); |
||||
|
||||
//On renvoie les données |
||||
return $result; |
||||
} |
||||
|
||||
|
||||
} |
||||
|
||||
?> |
@ -0,0 +1,221 @@
|
||||
<?php |
||||
|
||||
|
||||
//Les données sont directement chargées depuis la base de données |
||||
require_once 'dao/bdd.php'; |
||||
|
||||
/** |
||||
* @brief Classe DAO retournant des informations relatives au classement |
||||
*/ |
||||
class point_manager |
||||
{ |
||||
/** |
||||
* @brief Retourne le nombre de point pour une partie spécifié |
||||
* @return int : nb de points |
||||
*/ |
||||
public static function getGamePoint($game_id) |
||||
{ |
||||
//Pour obtenir le nombre de point, il faut : |
||||
// la durée de la partie => table GAME |
||||
// le nombre de réponses => table QUESTION |
||||
// le nombre de bonne réponses => table LINK_GAME_QUESTION |
||||
|
||||
//Récupération de la durée |
||||
$length = self::getLengthByGame($game_id); |
||||
|
||||
//Récupération du nombre de questions |
||||
$nb_question = self::getNbQuestion($game_id); |
||||
|
||||
//Récupération du nombre de bonne réponses |
||||
$nb_br = self::getGoodAnswer($game_id); |
||||
|
||||
|
||||
//Calcul du score final |
||||
$points = ($nb_br[0] / $nb_question[0]) * 100 - ($length[0] / 1000); |
||||
|
||||
if ($points < 0) |
||||
{ |
||||
return 0; |
||||
} else |
||||
{ |
||||
return $points; |
||||
} |
||||
|
||||
|
||||
//On retourne le résultat |
||||
return $points; |
||||
} |
||||
|
||||
|
||||
/** |
||||
* @brief Obtient le nombre de bonnes réponses dans une partie |
||||
* @arg $game_id identifiant de la partie |
||||
* @return int |
||||
*/ |
||||
public static function getGoodAnswer($game_id) |
||||
{ |
||||
|
||||
//Récupération de la base de données |
||||
$bdd = bdd::getInstance()->getPDO(); |
||||
|
||||
//Mise en place de la requête |
||||
$query = "SELECT SUM(lnk.reponse = question.bonnereponse) AS sum |
||||
FROM link_game_question AS lnk INNER JOIN question |
||||
ON lnk.question_id = question.id |
||||
WHERE lnk.game_id = '" . $game_id . "'"; |
||||
|
||||
//Récupération des résultat |
||||
$data = $bdd->query($query)->fetch(); |
||||
|
||||
//On renvoie les données |
||||
return $data; |
||||
} |
||||
|
||||
/** |
||||
* @brief Obtient le nombre de questions associées à une partie |
||||
* @arg $game_id identifiant de la partie |
||||
* @return int |
||||
*/ |
||||
public static function getNbQuestion($game_id) |
||||
{ |
||||
//Récupération de la BDD |
||||
$bdd = bdd::getInstance()->getPDO(); |
||||
|
||||
//Création de la requête |
||||
$query = "SELECT COUNT(*) AS nb |
||||
FROM link_game_question AS lnk INNER JOIN question |
||||
ON lnk.question_id = question.id |
||||
WHERE lnk.game_id = '" . $game_id . "'"; |
||||
|
||||
//Récupération des résultats |
||||
$data = $bdd->query($query)->fetch(); |
||||
|
||||
//On renvoie les infos |
||||
return $data; |
||||
} |
||||
|
||||
/** |
||||
* @brief Obtient les identifiants des parties jouées par un joueur |
||||
* @arg $login login du joueur |
||||
* @return tableau d'entier |
||||
*/ |
||||
public static function getGamesByLogin($login) |
||||
{ |
||||
//Mise en place de la connexion à la base de données |
||||
$bdd = bdd::getInstance()->getPDO(); |
||||
|
||||
//Mise en place de la requête |
||||
$query = "SELECT id FROM game WHERE user_login = '$login'"; |
||||
|
||||
//Récupération des résultats |
||||
$result = $bdd->query($query)->fetchAll(); |
||||
|
||||
//On renvoi les résultats |
||||
return $result; |
||||
} |
||||
|
||||
/** |
||||
* @brief Obtient la durée d'une partie |
||||
* @arg $game_id identifiant de la partie |
||||
* @return int (temps en milliseconde) |
||||
*/ |
||||
public static function getLengthByGame($game_id) |
||||
{ |
||||
//Mise en place de la connexion à la base de données |
||||
$bdd = bdd::getInstance()->getPDO(); |
||||
|
||||
//Mise en place de la requête |
||||
$query = "SELECT length FROM game ORDER BY id = '$game_id'"; |
||||
|
||||
//Récupération du résultat |
||||
$result = $bdd->query($query)->fetch(); |
||||
|
||||
//On renvoie les résultats |
||||
return $result; |
||||
} |
||||
|
||||
/** |
||||
* @brief Obtient la liste de toutes les personnes inscrites |
||||
* @return tableau de login |
||||
*/ |
||||
public static function getAllPlayer() |
||||
{ |
||||
//Mise en place de la connexion à la base de données |
||||
$bdd = bdd::getInstance()->getPDO(); |
||||
|
||||
//Mise en place de la requête |
||||
$query = "SELECT login FROM user ORDER BY login ASC"; |
||||
|
||||
//Récupération des résultats |
||||
$result = $bdd->query($query)->fetchAll(); |
||||
|
||||
//On renvoie les résultats |
||||
return $result; |
||||
} |
||||
|
||||
/** |
||||
* @brief Obtient le nom de la catégorie et les 2 réponses du groupe de question associé à l'identifiant de la partie |
||||
* @arg $game_id identifiant de la partie |
||||
* @return array[categorie, reponse0, reponse1] |
||||
*/ |
||||
public static function getInfoByGroupId($game_id) |
||||
{ |
||||
//Récupếration de la connexion à la base de données |
||||
$bdd = bdd::getInstance()->getPDO(); |
||||
|
||||
//Création de la requête |
||||
$query = "SELECT categorie_nom AS categorie, reponse0, reponse1 FROM `group` WHERE `id`= |
||||
(SELECT group_id FROM question WHERE `id` = |
||||
(SELECT question_id FROM link_game_question WHERE game_id = '$game_id' LIMIT 1) |
||||
LIMIT 1) |
||||
LIMIT 1"; |
||||
|
||||
//Récupération des résultats |
||||
$result = $bdd->query($query)->fetch(); |
||||
|
||||
//On renvoie les données |
||||
return $result; |
||||
} |
||||
|
||||
/** |
||||
* @brief Obtient les parties jouée par un joueur dans une catégorie |
||||
* @arg $login login du joueur |
||||
* @arg $cat catégorie désirée |
||||
* @return tableau contenant l'id, le temps et le login de la partie |
||||
*/ |
||||
public static function getGameByLoginByCat($login, $cat) |
||||
{ |
||||
//Mise en place de la BDD |
||||
$bdd = bdd::getInstance()->getPDO(); |
||||
|
||||
//Mise en place de la requête |
||||
$query = "SELECT * FROM game |
||||
WHERE game.user_login = '$login' |
||||
AND game.id = |
||||
ANY( |
||||
SELECT lnk.game_id |
||||
FROM link_game_question AS lnk |
||||
INNER JOIN question |
||||
ON lnk.question_id = question.id |
||||
|
||||
INNER JOIN `group` |
||||
ON question.group_id = group.id |
||||
|
||||
INNER JOIN categorie |
||||
ON `group`.categorie_nom = categorie.nom |
||||
|
||||
WHERE categorie.nom = '$cat' |
||||
|
||||
GROUP BY lnk.game_id |
||||
)"; |
||||
|
||||
//Récupération des résultats |
||||
$result = $bdd->query($query)->fetchAll(); |
||||
|
||||
//On renvoie les résultats |
||||
return $result; |
||||
} |
||||
|
||||
} |
||||
|
||||
?> |
@ -0,0 +1,68 @@
|
||||
<?php |
||||
|
||||
/** |
||||
* @brief Classe DAO relatif à la classe question |
||||
*/ |
||||
class question_dao extends dao |
||||
{ |
||||
|
||||
/** |
||||
* @brief Retourne un tableau contenant les informations de l'occurence ayant l'ID spécifié |
||||
* @arg $id identifiant de l'occurence à retourner |
||||
* @return tableau de données ou FALSE |
||||
*/ |
||||
public function select($id) |
||||
{ |
||||
//Mise en place de la requête SQL |
||||
$query = "SELECT * FROM `question` WHERE `id`='$id'"; |
||||
|
||||
//On récupère les données |
||||
$return = $this->db->query($query)->fetch(); |
||||
|
||||
//On retourne les données |
||||
return $return; |
||||
} |
||||
|
||||
public function selectByGroup($id_group) |
||||
{ |
||||
//Mise en place de la requête SQL |
||||
$query = "SELECT * FROM `question` WHERE `group_id`='$id_group' ORDER BY RAND()"; |
||||
|
||||
//On récupère les données |
||||
$return = $this->db->query($query)->fetchAll(); |
||||
|
||||
//On retourne les données |
||||
return $return; |
||||
} |
||||
|
||||
/** |
||||
* @brief Fonction obsolète |
||||
* @note il est impossible d'ajouter des question via le site. Seule l'application JAVA y sera autorisée |
||||
*/ |
||||
public function insert(&$objet) |
||||
{ |
||||
//On ne fait rien |
||||
} |
||||
|
||||
/** |
||||
* @brief Fonction obsolète |
||||
* @note il est impossible de mettre à jour une question via le site. L'application JAVA pourra le faire |
||||
*/ |
||||
public function update(&$objet) |
||||
{ |
||||
//On ne fait rien |
||||
} |
||||
|
||||
/** |
||||
* @brief Fonction obsolète |
||||
* @note il est impossible de supprimer une question via la site. Seule l'application JAVA sera autorisée à le faire |
||||
*/ |
||||
|
||||
public function delete($id) |
||||
{ |
||||
//On ne fait rien |
||||
} |
||||
|
||||
} |
||||
|
||||
?> |
@ -0,0 +1,111 @@
|
||||
<?php |
||||
/** |
||||
* @brief Classe DAO relatif à la classe reponse_user |
||||
*/ |
||||
class reponse_user_dao extends dao { |
||||
|
||||
/** |
||||
* @brief Fonction gérant la récupération des réponses, de la table link_game_question |
||||
* @arg $idgame identifiant de la partie (% pour tout) |
||||
* @arg $idquest identifiant de la question (% pour tout) |
||||
* @return tableau d'objet reponse_user ou un objet reponse_user |
||||
*/ |
||||
public function select($idgame, $idquest = NULL) { |
||||
//Inclusion de l'objet reponse_user |
||||
include_once 'metier/reponse_user.php'; |
||||
|
||||
//Mise en place de la première condition |
||||
$cond1 = "`game_id`='$idgame'"; |
||||
|
||||
//Si on a mis un %, on charge toutes les partie => la condition devient TRUE |
||||
if ($idgame == "%") { |
||||
$cond1 = "TRUE"; |
||||
} |
||||
|
||||
//Mise en place de la seconde condition |
||||
$cond2 = "`question_id`='$idquest'"; |
||||
|
||||
//Si on a mis un %, on charge toutes les questions => la condition devient TRUE |
||||
if ($idquest == "%") { |
||||
$cond2 = "TRUE"; |
||||
} |
||||
|
||||
//On met en place la requête |
||||
$query = "SELECT * FROM `link_game_question` WHERE $cond1 AND $cond2"; |
||||
|
||||
//On récupère les données |
||||
$result = $this->db->query($query); |
||||
|
||||
//Si on a pas de données, inutilise d'aller plus loin |
||||
if (!$result) { |
||||
return FALSE; |
||||
} |
||||
|
||||
//On parse les résultats en fonction de chaque cas |
||||
if ($idquest == "%") { |
||||
//On demande toutes les questions du jeu spécifié |
||||
$return = array(); |
||||
$i = 0; |
||||
|
||||
//On boucle pour chaque occurence |
||||
foreach ($result as $row) { |
||||
$return[$i] = new reponse_user($row["game_id"], $row["question_id"], $row["reponse"]); |
||||
$i++; |
||||
} |
||||
} else { |
||||
//On demande une seule partie |
||||
$return = $result->fetch(); |
||||
} |
||||
|
||||
//On retourne les résultats |
||||
return $return; |
||||
} |
||||
|
||||
/** |
||||
* @brief Insert un objet reponse_user dans la base de données |
||||
* @arg $objet objet reponse_user à inserer |
||||
*/ |
||||
public function insert(&$objet) { |
||||
//Récupération des données |
||||
$game_id = $objet->getGame(); |
||||
$question_id = $objet->getQuestion(); |
||||
$reponse = $objet->getReponse(); |
||||
|
||||
//Mise en place de la requête |
||||
$query = "INSERT INTO `link_game_question` |
||||
(`game_id`,`question_id`,`reponse`) |
||||
VALUES ('$game_id','$question_id','$reponse')"; |
||||
|
||||
//Envoie de la requête |
||||
try { |
||||
$this->db->query($query); |
||||
return TRUE; |
||||
} catch (Exception $ex) { |
||||
if (config::$debug) { |
||||
echo $ex->getMessage(); |
||||
} |
||||
|
||||
return FALSE; |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* @brief Fonction obsolète mais nécessaire pour l'héritage de DAO |
||||
* @note on ne peut pas mettre à jour les réponses de l'utilisateur |
||||
*/ |
||||
public function update(&$objet) { |
||||
//On ne fait rien |
||||
} |
||||
|
||||
/** |
||||
* @brief Fonction obsolète mais nécessaire pour l'héritage de DAO |
||||
* @note la réponse de l'utilisateur est automatiquement supprimée par la suppression de la partie elle-même, via un ON DELETE CASCADE |
||||
*/ |
||||
public function delete($idgame) { |
||||
//One ne fait rien |
||||
} |
||||
|
||||
|
||||
} |
||||
|
||||
?> |
@ -0,0 +1,121 @@
|
||||
<?php |
||||
|
||||
/** |
||||
* @brief Classe DAO relatif à la classe user |
||||
*/ |
||||
class user_dao extends dao { |
||||
/** |
||||
* @brief Récupère les informations d'un utilisateur |
||||
* @arg $id login de l'utilisateur à récupérer |
||||
* @return tableau clé valeur contenant les informations ou FALSE |
||||
*/ |
||||
public function select($id) { |
||||
//Mise en place de la requête |
||||
$query = "SELECT * FROM `user` WHERE `login`='$id'"; |
||||
|
||||
// On récupère les informations suite à la requête |
||||
$return = $this->db->query($query)->fetch(); |
||||
|
||||
//On retourne les infos |
||||
return $return; |
||||
} |
||||
|
||||
/** |
||||
* @brief Insert un nouvel utilisateur dans la base de données |
||||
* @arg $objet information de l'utilisateur à ajouter |
||||
*/ |
||||
public function insert(&$objet) { |
||||
//On récupère les informations à ajouter |
||||
$login = $objet->getLogin(); |
||||
$passwd = $objet->getPassword(); |
||||
$nom = $objet->getNom(); |
||||
$prenom = $objet->getPrenom(); |
||||
$mail = $objet->getMail(); |
||||
|
||||
//On prépare la requête SQL |
||||
$query = "INSERT INTO `user`(`login`,`pwd`,`nom`,`prenom`,`dateinscription`, `email`) |
||||
VALUES ('$login','$passwd','$nom','$prenom',NOW(), '" . $mail . "')"; |
||||
|
||||
//On exécute la requête |
||||
try { |
||||
$this->db->query($query); |
||||
return TRUE; |
||||
} catch (Exception $ex) { |
||||
$ex = NULL; |
||||
return FALSE; |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* @brief Met à jour un utilisateur avec les nouvelles données spécifiée |
||||
* @arg $objet objet user contenant les nouvelles données |
||||
* @note le login est le seul élément inchangeable. On se sert de ce dernier pour mettre à jour la base de données |
||||
*/ |
||||
public function update(&$object) { |
||||
//On récupère les données de l'utilisateur |
||||
$login = $object->getLogin(); |
||||
$passwd = $object->getPassword(); |
||||
$nom = $object->getNom(); |
||||
$prenom = $object->getPrenom(); |
||||
$mail = $object->getMail(); |
||||
|
||||
//On prépare la requête |
||||
$query = "UPDATE `user` |
||||
SET `pwd`='$passwd', `nom`='$nom', `prenom`='$prenom', `email`='$mail' |
||||
WHERE login='$login'"; |
||||
|
||||
//On envoie la requête |
||||
$result = $this->db->query($query); |
||||
|
||||
//On renvoie le résultat |
||||
if ($result->rowCount() == 0) { |
||||
return FALSE; |
||||
} else { |
||||
return TRUE; |
||||
} |
||||
} |
||||
|
||||
public function updateNoPassword($object) { |
||||
$login = $object->getLogin(); |
||||
$nom = $object->getNom(); |
||||
$prenom = $object->getPrenom(); |
||||
$mail = $object->getMail(); |
||||
|
||||
//On prépare la requête |
||||
$query = "UPDATE `user` |
||||
SET `nom`='$nom', `prenom`='$prenom', `email`='$mail' |
||||
WHERE login='$login'"; |
||||
|
||||
//On envoie la requête |
||||
$result = $this->db->query($query); |
||||
|
||||
//On renvoie le résultat |
||||
if ($result->rowCount() == 0) { |
||||
return FALSE; |
||||
} else { |
||||
return TRUE; |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* @brief Supprime un utilisateur de la base |
||||
* @arg $id login de l'utilisateur à supprimer |
||||
* @note la suppression d'un utilisateur entraine la suppression de ses parties et de ses réponses avec le ON DELETE CASCADE |
||||
*/ |
||||
public function delete($id) { |
||||
//On prépare la requête SQL |
||||
$query = "DELETE FROM `user` WHERE `login`='$id'"; |
||||
|
||||
//On envoie la requête SQL |
||||
$result = $this->db->query($query); |
||||
|
||||
if ($result->rowCount() == 0) { |
||||
return FALSE; |
||||
} else { |
||||
return TRUE; |
||||
} |
||||
} |
||||
|
||||
} |
||||
|
||||
?> |
@ -0,0 +1,13 @@
|
||||
<html> |
||||
<head> |
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> |
||||
<title>BurgerQuizz - Documentation</title> |
||||
<link rel="icon" type="image/ico" href="../favicon.ico" /> |
||||
</head> |
||||
<body style="text-align: center;"> |
||||
<br/> |
||||
<br/> |
||||
<h1><a href="./java/index.html">Documentation du Java</a></h1><br/> |
||||
<h1><a href="./web/index.html">Documentation du PHP</a></h1><br/> |
||||
</body> |
||||
</html> |
@ -0,0 +1,43 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
<html xmlns="http://www.w3.org/1999/xhtml"> |
||||
<head> |
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
||||
<title>BurgerQuizz: /media/data/ProjWeb/Java/App.java File Reference</title> |
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/> |
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/> |
||||
</head> |
||||
<body> |
||||
<!-- Generated by Doxygen 1.7.1 --> |
||||
<div class="navigation" id="top"> |
||||
<div class="tabs"> |
||||
<ul class="tablist"> |
||||
<li><a href="main.html"><span>Main Page</span></a></li> |
||||
<li><a href="annotated.html"><span>Classes</span></a></li> |
||||
<li class="current"><a href="files.html"><span>Files</span></a></li> |
||||
</ul> |
||||
</div> |
||||
<div class="tabs2"> |
||||
<ul class="tablist"> |
||||
<li><a href="files.html"><span>File List</span></a></li> |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
<div class="header"> |
||||
<div class="summary"> |
||||
<a href="#nested-classes">Classes</a> </div> |
||||
<div class="headertitle"> |
||||
<h1>/media/data/ProjWeb/Java/App.java File Reference</h1> </div> |
||||
</div> |
||||
<div class="contents"> |
||||
<table class="memberdecls"> |
||||
<tr><td colspan="2"><h2><a name="nested-classes"></a> |
||||
Classes</h2></td></tr> |
||||
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_app.html">App</a></td></tr> |
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Application contenant la méthode main. <a href="class_app.html#_details">More...</a><br/></td></tr> |
||||
</table> |
||||
</div> |
||||
<hr class="footer"/><address class="footer"><small>Generated on Tue May 29 2012 09:05:38 for BurgerQuizz by |
||||
<a href="http://www.doxygen.org/index.html"> |
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address> |
||||
</body> |
||||
</html> |
@ -0,0 +1,43 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
<html xmlns="http://www.w3.org/1999/xhtml"> |
||||
<head> |
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
||||
<title>BurgerQuizz: /media/data/ProjWeb/Java/Bdd.java File Reference</title> |
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/> |
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/> |
||||
</head> |
||||
<body> |
||||
<!-- Generated by Doxygen 1.7.1 --> |
||||
<div class="navigation" id="top"> |
||||
<div class="tabs"> |
||||
<ul class="tablist"> |
||||
<li><a href="main.html"><span>Main Page</span></a></li> |
||||
<li><a href="annotated.html"><span>Classes</span></a></li> |
||||
<li class="current"><a href="files.html"><span>Files</span></a></li> |
||||
</ul> |
||||
</div> |
||||
<div class="tabs2"> |
||||
<ul class="tablist"> |
||||
<li><a href="files.html"><span>File List</span></a></li> |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
<div class="header"> |
||||
<div class="summary"> |
||||
<a href="#nested-classes">Classes</a> </div> |
||||
<div class="headertitle"> |
||||
<h1>/media/data/ProjWeb/Java/Bdd.java File Reference</h1> </div> |
||||
</div> |
||||
<div class="contents"> |
||||
<table class="memberdecls"> |
||||
<tr><td colspan="2"><h2><a name="nested-classes"></a> |
||||
Classes</h2></td></tr> |
||||
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_bdd.html">Bdd</a></td></tr> |
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Classe principalement statique servant d'intermédiaire avec la BDD. <a href="class_bdd.html#_details">More...</a><br/></td></tr> |
||||
</table> |
||||
</div> |
||||
<hr class="footer"/><address class="footer"><small>Generated on Tue May 29 2012 09:05:38 for BurgerQuizz by |
||||
<a href="http://www.doxygen.org/index.html"> |
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address> |
||||
</body> |
||||
</html> |
@ -0,0 +1,43 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
<html xmlns="http://www.w3.org/1999/xhtml"> |
||||
<head> |
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
||||
<title>BurgerQuizz: /media/data/ProjWeb/Java/ConfigFile.java File Reference</title> |
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/> |
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/> |
||||
</head> |
||||
<body> |
||||
<!-- Generated by Doxygen 1.7.1 --> |
||||
<div class="navigation" id="top"> |
||||
<div class="tabs"> |
||||
<ul class="tablist"> |
||||
<li><a href="main.html"><span>Main Page</span></a></li> |
||||
<li><a href="annotated.html"><span>Classes</span></a></li> |
||||
<li class="current"><a href="files.html"><span>Files</span></a></li> |
||||
</ul> |
||||
</div> |
||||
<div class="tabs2"> |
||||
<ul class="tablist"> |
||||
<li><a href="files.html"><span>File List</span></a></li> |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
<div class="header"> |
||||
<div class="summary"> |
||||
<a href="#nested-classes">Classes</a> </div> |
||||
<div class="headertitle"> |
||||
<h1>/media/data/ProjWeb/Java/ConfigFile.java File Reference</h1> </div> |
||||
</div> |
||||
<div class="contents"> |
||||
<table class="memberdecls"> |
||||
<tr><td colspan="2"><h2><a name="nested-classes"></a> |
||||
Classes</h2></td></tr> |
||||
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_config_file.html">ConfigFile</a></td></tr> |
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Classe statique servant à charger/récupérer/écrire les différents paramètres du fichier de configuration. <a href="class_config_file.html#_details">More...</a><br/></td></tr> |
||||
</table> |
||||
</div> |
||||
<hr class="footer"/><address class="footer"><small>Generated on Tue May 29 2012 09:05:38 for BurgerQuizz by |
||||
<a href="http://www.doxygen.org/index.html"> |
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address> |
||||
</body> |
||||
</html> |
@ -0,0 +1,43 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
<html xmlns="http://www.w3.org/1999/xhtml"> |
||||
<head> |
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
||||
<title>BurgerQuizz: /media/data/ProjWeb/Java/ListRow.java File Reference</title> |
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/> |
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/> |
||||
</head> |
||||
<body> |
||||
<!-- Generated by Doxygen 1.7.1 --> |
||||
<div class="navigation" id="top"> |
||||
<div class="tabs"> |
||||
<ul class="tablist"> |
||||
<li><a href="main.html"><span>Main Page</span></a></li> |
||||
<li><a href="annotated.html"><span>Classes</span></a></li> |
||||
<li class="current"><a href="files.html"><span>Files</span></a></li> |
||||
</ul> |
||||
</div> |
||||
<div class="tabs2"> |
||||
<ul class="tablist"> |
||||
<li><a href="files.html"><span>File List</span></a></li> |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
<div class="header"> |
||||
<div class="summary"> |
||||
<a href="#nested-classes">Classes</a> </div> |
||||
<div class="headertitle"> |
||||
<h1>/media/data/ProjWeb/Java/ListRow.java File Reference</h1> </div> |
||||
</div> |
||||
<div class="contents"> |
||||
<table class="memberdecls"> |
||||
<tr><td colspan="2"><h2><a name="nested-classes"></a> |
||||
Classes</h2></td></tr> |
||||
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_list_row.html">ListRow</a></td></tr> |
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Ligne pour les jComboBox ou les jList. <a href="class_list_row.html#_details">More...</a><br/></td></tr> |
||||
</table> |
||||
</div> |
||||
<hr class="footer"/><address class="footer"><small>Generated on Tue May 29 2012 09:05:38 for BurgerQuizz by |
||||
<a href="http://www.doxygen.org/index.html"> |
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address> |
||||
</body> |
||||
</html> |
@ -0,0 +1,43 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
<html xmlns="http://www.w3.org/1999/xhtml"> |
||||
<head> |
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
||||
<title>BurgerQuizz: /media/data/ProjWeb/Java/Page.java File Reference</title> |
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/> |
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/> |
||||
</head> |
||||
<body> |
||||
<!-- Generated by Doxygen 1.7.1 --> |
||||
<div class="navigation" id="top"> |
||||
<div class="tabs"> |
||||
<ul class="tablist"> |
||||
<li><a href="main.html"><span>Main Page</span></a></li> |
||||
<li><a href="annotated.html"><span>Classes</span></a></li> |
||||
<li class="current"><a href="files.html"><span>Files</span></a></li> |
||||
</ul> |
||||
</div> |
||||
<div class="tabs2"> |
||||
<ul class="tablist"> |
||||
<li><a href="files.html"><span>File List</span></a></li> |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
<div class="header"> |
||||
<div class="summary"> |
||||
<a href="#nested-classes">Classes</a> </div> |
||||
<div class="headertitle"> |
||||
<h1>/media/data/ProjWeb/Java/Page.java File Reference</h1> </div> |
||||
</div> |
||||
<div class="contents"> |
||||
<table class="memberdecls"> |
||||
<tr><td colspan="2"><h2><a name="nested-classes"></a> |
||||
Classes</h2></td></tr> |
||||
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_page.html">Page</a></td></tr> |
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Classe abstraite représentant la partie fixe des pages de catégorie, groupe et question. <a href="class_page.html#_details">More...</a><br/></td></tr> |
||||
</table> |
||||
</div> |
||||
<hr class="footer"/><address class="footer"><small>Generated on Tue May 29 2012 09:05:38 for BurgerQuizz by |
||||
<a href="http://www.doxygen.org/index.html"> |
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address> |
||||
</body> |
||||
</html> |
@ -0,0 +1,43 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
<html xmlns="http://www.w3.org/1999/xhtml"> |
||||
<head> |
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
||||
<title>BurgerQuizz: /media/data/ProjWeb/Java/PageCategorie.java File Reference</title> |
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/> |
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/> |
||||
</head> |
||||
<body> |
||||
<!-- Generated by Doxygen 1.7.1 --> |
||||
<div class="navigation" id="top"> |
||||
<div class="tabs"> |
||||
<ul class="tablist"> |
||||
<li><a href="main.html"><span>Main Page</span></a></li> |
||||
<li><a href="annotated.html"><span>Classes</span></a></li> |
||||
<li class="current"><a href="files.html"><span>Files</span></a></li> |
||||
</ul> |
||||
</div> |
||||
<div class="tabs2"> |
||||
<ul class="tablist"> |
||||
<li><a href="files.html"><span>File List</span></a></li> |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
<div class="header"> |
||||
<div class="summary"> |
||||
<a href="#nested-classes">Classes</a> </div> |
||||
<div class="headertitle"> |
||||
<h1>/media/data/ProjWeb/Java/PageCategorie.java File Reference</h1> </div> |
||||
</div> |
||||
<div class="contents"> |
||||
<table class="memberdecls"> |
||||
<tr><td colspan="2"><h2><a name="nested-classes"></a> |
||||
Classes</h2></td></tr> |
||||
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="class_page_categorie.html">PageCategorie</a></td></tr> |
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="class_page.html" title="Classe abstraite représentant la partie fixe des pages de catégorie, groupe et question.">Page</a> d'administration des catégories. <a href="class_page_categorie.html#_details">More...</a><br/></td></tr> |
||||
</table> |
||||
</div> |
||||
<hr class="footer"/><address class="footer"><small>Generated on Tue May 29 2012 09:05:38 for BurgerQuizz by |
||||
<a href="http://www.doxygen.org/index.html"> |
||||
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.1 </small></address> |
||||
</body> |
||||
</html> |
@ -0,0 +1,43 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
||||
<html xmlns="http://www.w3.org/1999/xhtml"> |
||||
<head> |
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
||||
<title>BurgerQuizz: /media/data/ProjWeb/Java/PageConfig.java File Reference</title> |
||||
<link href="tabs.css" rel="stylesheet" type="text/css"/> |
||||
<link href="doxygen.css" rel="stylesheet" type="text/css"/> |
||||
</head> |
||||
<body> |
||||
<!-- Generated by Doxygen 1.7.1 --> |
||||
<div class="navigation" id="top"> |
||||
<div class="tabs"> |
||||
<ul class="tablist"> |
||||
<li><a href="main.html"><span>Main Page</span></a></li> |
||||
<li><a href="annotated.html"><span>Classes</span></a></li> |
||||
<li class="current"><a href="files.html"><span>Files</span></a></li> |
||||
</ul> |
||||
</div> |
||||
<div class="tabs2"> |
||||
<ul class="tablist"> |
||||
<li><a href="files.html"><span>File List</span></a></li> |
||||
</ul> |
||||
</div> |
||||
</div> |
||||
<div class="header"> |
||||
<div class="summary"> |
||||
<a href="#nested-classes">Classes</a> </div> |
||||
<div class="headertitle"> |
||||
<h1>/media/data/ProjWeb/Java/PageConfig.java File Reference</h1> </div>< |