Commit 33981678 authored by Mathieu Loiseau's avatar Mathieu Loiseau
Browse files

not a real commit

parent f4d5fad8
......@@ -62,7 +62,7 @@ class diviner_game
$this->time = $this->userlvl->get_time();
//récupération des points de sanction
$this->pointsSanction = variable::getloosePointsDevin();
$this->pointsSanction = loosePointsDevin;
if(isset($_SESSION["langDevin"])){
......@@ -80,7 +80,7 @@ class diviner_game
private function sanctionLastPartie()
{ // fonction qui permet de vérifier l'état de la dernière partie et de sanctionner le joueur de 5 pts s'il a quitté la partitatut = "en cours")
include('./sys/load_iso.php');
include_once('./sys/load_iso.php');
$db = db::getInstance();
$sql = "SELECT *
FROM parties WHERE idDevin = \"".$this->diviner."\"
......@@ -144,75 +144,73 @@ class diviner_game
//pour chaque enregistrement:
if($nb_result>0){
while($this->raisin= mysqli_fetch_assoc($this->result)){
// construction de l'adresse de l'enregistrement à  partir du nom du fichier son
$this->adresse = "enregistrements/".$this->raisin['cheminEnregistrement'];
try{
while($this->raisin= mysqli_fetch_assoc($this->result)){
// construction de l'adresse de l'enregistrement à  partir du nom du fichier son
$this->adresse = "enregistrements/".$this->raisin['cheminEnregistrement'];
//initialisation du booléen qui représentera la condition finale pour que la partie soit acceptée
// Il deviendra faux si le moindre crità¨re n'est pas rempli durant la procédure
$partieok=true;
//récupération du contenu de la carte
$carte = new Card($this->raisin['carteID']);
$this->res3 = $carte->dirtify();
//initialisation du booléen qui représentera la condition finale pour que la partie soit acceptée
// Il deviendra faux si le moindre crità¨re n'est pas rempli durant la procédure
$partieok=true;
//récupération du contenu de la carte
$sql = 'SELECT
idDruide,niveau,mot,tabou1,tabou2,tabou3,tabou4,tabou5
FROM carte WHERE carteID='.$this->raisin['carteID'].'';
$res=$db->query($sql);
$this->res3= mysqli_fetch_assoc($res);
//$carte = new Card($this->raisin['carteID']);
//$this->res3 = $carte->dirtify();
//récupération de l'éventuelle partie que le devin aurait fait sur cet enregistrement pour ne pas le re-proposer
$sql = 'SELECT reussie
FROM parties WHERE idDevin ="'.$this->diviner.'" AND enregistrementID= "'.$this->raisin['enregistrementID'].'"';
$res=$db->query($sql);
$this->res5= mysqli_fetch_assoc($res);
// si le créateur de la carte et le devin sont la màªme personne, on passe à  l'enregistrement suivant
if ($this->res3['idDruide'] == $this->diviner)
{
$partieok=false;
}
// si le devin a déjà  joué cette carte et a eu un résultat (faux ou juste), on passe à  l'enregistrement suivant.
//Si cette partie a été quitté précipitemment ou à  cause d'un pb technique (reussie=en cours), il peut la rejouer.
if(($this->res5['reussie']=="oui")||($this->res5['reussie']=="non")||($this->res5['reussie']=="en cours")) #A modifier!
{
$partieok=false;
}
//On vérifie ici que l'enregistrement est bien sur le serveur
if (!file_exists($this->adresse)){
$partieok=false;
}
// si rien de s'oppose à  ce que l'enregistrement soit proprosé
if ($partieok)
{
// récupération du pseudo de l'oracle pour savoir qui on écoute
$db = db::getInstance();
$sql = 'SELECT username
FROM user WHERE userid ="'.$this->raisin['idOracle'].'"';
$res=$db->query($sql);
$this->res2= mysqli_fetch_assoc($res);
//récupération du pseudo du créateur de la carte
$db = db::getInstance();
$sql = 'SELECT username
FROM user WHERE userid ="'.$this->res3['idDruide'].'"';
//récupération de l'éventuelle partie que le devin aurait fait sur cet enregistrement pour ne pas le re-proposer
$sql = 'SELECT reussie
FROM parties WHERE idDevin ="'.$this->diviner.'" AND enregistrementID= "'.$this->raisin['enregistrementID'].'"';
$res=$db->query($sql);
$this->res4= mysqli_fetch_assoc($res);
$this->setcarteValide($partieok);
$this->res5= mysqli_fetch_assoc($res);
// si le créateur de la carte et le devin sont la màªme personne, on passe à  l'enregistrement suivant
if ($this->res3['idDruide'] == $this->diviner)
{
$partieok=false;
}
// si le devin a déjà  joué cette carte et a eu un résultat (faux ou juste), on passe à  l'enregistrement suivant.
//Si cette partie a été quitté précipitemment ou à  cause d'un pb technique (reussie=en cours), il peut la rejouer.
if(($this->res5['reussie']=="oui")||($this->res5['reussie']=="non")||($this->res5['reussie']=="en cours")) #A modifier!
{
$partieok=false;
}
//On vérifie ici que l'enregistrement est bien sur le serveur
if (!file_exists($this->adresse)){
$partieok=false;
}
return true;
break;
// si rien de s'oppose à  ce que l'enregistrement soit proprosé
if ($partieok)
{
// récupération du pseudo de l'oracle pour savoir qui on écoute
$db = db::getInstance();
$sql = 'SELECT username
FROM user WHERE userid ="'.$this->raisin['idOracle'].'"';
$res=$db->query($sql);
$this->res2= mysqli_fetch_assoc($res);
//récupération du pseudo du créateur de la carte
$db = db::getInstance();
$sql = 'SELECT username
FROM user WHERE userid ="'.$this->res3['idDruide'].'"';
$res=$db->query($sql);
$this->res4= mysqli_fetch_assoc($res);
$this->setcarteValide($partieok);
return true;
break;
}
}
array_push($this->errors,'NoGame');
}catch(Exception $e){
array_push($this->errors,'NoGame');
}
array_push($this->errors,'NoGame');
}
else{
array_push($this->errors,'noEnregistrement');
......
......@@ -85,42 +85,8 @@ class diviner_result
$db = db::getInstance();
updateScoreDevinSucces($this->devin,$iso[$_SESSION["langDevin"]],$this->points);
//~ exit;
//~ //récupération du score précédent;
//~ $sql = 'SELECT scoreGlobal,scoreDevin,first_game_time FROM score WHERE userid="'.$this->devin.'" AND langue="'. $iso[$_SESSION["langDevin"]] .'"';
//~ $result=$db->query($sql);
//~
//~ $res= mysqli_fetch_assoc($result);
//~ $this->previousSGDev= $res['scoreGlobal'];
//~ $this->previousSDev= $res['scoreDevin'];
//~ //maj des variables de scores
$pointsCoef = $this->points*$this->lang_lvl_pts;
$_SESSION["pointsCoef"] = $pointsCoef;
//~ $this->previousSGDev= $this->previousSGDev+($this->points*$this->lang_lvl_pts);
//~ $this->previousSDev= $this->previousSDev+($this->points*$this->lang_lvl_pts);
//~
//~ //echo $this->previousSDev;
//~ //maj des scores dans la BD
//~ if($res["first_game_time"]==""){
//~ $sql = 'UPDATE score
//~ SET scoreGlobal='.$db->escape((string) $this->previousSGDev) . ', ' .
//~ 'scoreDevin='.$db->escape((string) $this->previousSDev) . ',' .
//~ 'first_game_time="'.date('Y-m-d H:i:s').'"
//~ WHERE userid='.$this->devin.' AND langue= "'.$iso[$_SESSION["langDevin"]].'"';
//~ }
//~ else{
//~ $sql = 'UPDATE score
//~ SET scoreGlobal='.$db->escape((string) $this->previousSGDev) . ', ' .
//~ 'scoreDevin='.$db->escape((string) $this->previousSDev) . '
//~ WHERE userid='.$this->devin.' AND langue= "'.$iso[$_SESSION["langDevin"]].'"';
//~ }
//~ $db->query($sql);
// Requête de mise à jour de la table partie
$pointsCoef = $this->points*$this->lang_lvl_pts;
$_SESSION["pointsCoef"] = $pointsCoef;
$db = db::getInstance();
$sql = 'UPDATE parties
SET reussie='.$db->escape((string) $this->reussie).'
......@@ -141,29 +107,12 @@ class diviner_result
updateScoreOracleDevinSucces($res3["idOracle"],$iso[$res3["OracleLang"]],$this->res2['enregistrementID']);
//~ //récupération du score précédent;
//~ $sql = 'SELECT scoreGlobal,scoreOracle FROM score WHERE userid="'.$res3["idOracle"].'" AND langue="'. $iso[$res3["OracleLang"]] .'"';
//~ $result=$db->query($sql);
//~ $res= mysqli_fetch_assoc($result);
//~ $this->previousSGOracle= $res['scoreGlobal'];
//~ $this->previousSOracle= $res['scoreOracle'];
//~ $this->previousSGOracle= $this->previousSGOracle+$this->points;
//~ $this->previousSOracle= $this->previousSOracle+$this->points;
//~
//~ //maj des variables de scores
//~ $sql = 'UPDATE score
//~ SET scoreGlobal='.$db->escape((string) $this->previousSGOracle) . ', ' .
//~ 'scoreOracle='.$db->escape((string) $this->previousSOracle) . '
//~ WHERE userid='.$res3["idOracle"].' AND langue= "'.$iso[$res3["OracleLang"]].'"';
//~ $db->query($sql);
$this->oracle=$res3["idOracle"];
$this->oracle=$res3["idOracle"];
// récupération du contenu de la carte avec carteID
$sql = 'SELECT carteID,niveau,mot,tabou1,tabou2,tabou3,tabou4,tabou5 FROM carte WHERE carteID="'.$res3['carteID'].'"';
$res=$db->query($sql);
$this->res= mysqli_fetch_assoc($res);
require_once("./models/card.class.php");
$carte = new Card($res3['carteID']);
$this->res= $carte->dirtify();
$_SESSION["motDeviner"] = true;//pour éviter de s'ajouter des points à l'infini avec des refresh
......
<?php
require_once("./models/card.class.php");
class diviner_timeout
{
......@@ -70,9 +71,8 @@ class diviner_timeout
$this->oracle = $res3['idOracle'];
// récupération du contenu de la carte avec carteID
$sql = 'SELECT carteID,niveau,mot,tabou1,tabou2,tabou3,tabou4,tabou5 FROM carte WHERE carteID="'.$res3['carteID'].'"';
$res4=$db->query($sql);
$this->res= mysqli_fetch_assoc($res4);
$carte = new Card($res3['carteID']);
$this->res= $carte->dirtify();
// Requête de modification des scores de l'Oracle qui a fait une description non trouvée par le devin
......
<?php
require_once("./models/card.class.php");
class druid_arbitrage
{
......@@ -67,10 +68,8 @@ class druid_arbitrage
{
//connexion à la BD
$db = db::getInstance();
//Dans le cas où le joueur souhaite arbitrer la carte après une partie en tant que devin
if(isset($_SESSION["idCard"]) && isset($_SESSION["idEnregistrement"])){
$idCarte = $_SESSION["idCard"];
$idEnregistrement = $_SESSION["idEnregistrement"];
......@@ -82,17 +81,14 @@ class druid_arbitrage
// récupération du pseudo du joueur arbitré
$sql = 'SELECT
$sql = 'SELECT
username
FROM user WHERE userid ="'.$this->raisin['idOracle'].'"';
$this->result=$db->query($sql);
$this->res2= mysqli_fetch_assoc($this->result);
FROM user WHERE userid ="'.$this->raisin['idOracle'].'"';
$this->result=$db->query($sql);
$this->res2= mysqli_fetch_assoc($this->result);
$sql ="SELECT *
FROM `carte`
WHERE `carteID` = $idCarte";
$resultat = $db->query($sql);
$this->res3 = mysqli_fetch_assoc($resultat);
$carte = new Card($_SESSION["idCard"]);
$this->res3 = $carte->dirtify();
//construction de l'adresse de l'enregistrement à partir du nom du fichier
$this->adresse = "enregistrements/".$this->raisin['cheminEnregistrement'];
......@@ -105,16 +101,12 @@ class druid_arbitrage
}
else{
$this->partie=false;
// récupération d'une carte pour vérifier que la bdd n'est pas vide
$sql = 'SELECT
*
FROM carte WHERE langue="'.$this->userlang.'"';
$this->result1=$db->query($sql);
$num_rows1 = $this->result1->num_rows;
$sql = 'SELECT `idCarte` FROM `cartes` WHERE `langue`="'.$this->userlang.'"';
$db->query($sql);
$num_rows1 = $db->num_rows();
$i=0;
if($num_rows1 >0){
......@@ -133,7 +125,6 @@ class druid_arbitrage
$i++;
}
if(!$this->partie){
array_push($this->errors, 'noEnregistrement');
return false;
}
......@@ -152,11 +143,8 @@ class druid_arbitrage
$this->res2= mysqli_fetch_assoc($this->result);
//récupération de la carte jouée
$sql = 'SELECT
niveau,mot,tabou1,tabou2,tabou3,tabou4,tabou5
FROM carte WHERE carteID='.$this->raisin['carteID'].'';
$this->result=$db->query($sql);
$this->res3= mysqli_fetch_assoc($this->result);
$carte = new Card($this->raisin['carteID']);
$this->res3 = $carte->dirtify();
//construction de l'adresse de l'enregistrement à partir du nom du fichier
$this->adresse = "enregistrements/".$this->raisin['cheminEnregistrement'];
......@@ -165,7 +153,7 @@ class druid_arbitrage
return true;
}
else{
else{
array_push($this->errors, 'noCardBD');
return false;
}
......
<?php
//require_once('./sys/db.class.php'); not required is caled by card.class
require_once('./models/card.class.php');
class druid_card
{
private $submit = false;
......@@ -56,7 +57,7 @@ class druid_card
$this->et_c_est_le_temps_qui_court = date("d/m/Y H:i");
//récupération des points druides
$this->pointsDr = variable::getPointsDruide();
$this->pointsDr = pointsDruid;
......@@ -76,21 +77,15 @@ class druid_card
$this->res['tabou6'] = isset($_POST['tabou6']) ? trim($_POST['tabou6']) : '';
}
$db = db::getInstance();
$sql = 'SELECT *
FROM carte ';
$result = $db->query($sql);
//$reponse = $result->fetch_array();
//$row = $result->fetch_assoc();
// $result->free();
$this->theme_carte = '';
for ($i=0; $i<$result->num_rows; $i++) {
$row = $result->fetch_assoc();
$this->theme_carte .= $row['theme'] . ';';
}
return true;
//$this->theme_carte = $row['theme'];
$db = db::getInstance();
//A theme object would not have been bad… notimenow
$sql = 'SELECT DISTINCT `themeFR` FROM `themes` ORDER BY `themes`.`themeFR` ASC';
$db->query($sql);
$this->theme_carte = array();
while($theme = $db->fetch_object()){
array_push($this->theme_carte, $theme->themeFR);
}
return true;
}
private function check()
......@@ -112,27 +107,29 @@ class druid_card
private function validate()
{
if ( $this->submit)
{
// connexion à la BD
$db = db::getInstance();
// insertion de la carte créée dans la BD
$sql = 'INSERT INTO carte
(theme,idDruide,temps,niveau,langue,mot,tabou1,tabou2,tabou3,tabou4,tabou5,tabou6)
VALUES(' .
$db->escape((string) $this->res['theme_carte']) . ', ' .
$db->escape((string) $this->createur) . ', ' .
$db->escape((string) $this->et_c_est_le_temps_qui_court) . ', ' .
$db->escape((string) $this->res['nivcarte']) . ', ' .
$db->escape((string) $this->userlang) . ', ' .
$db->escape((string) $this->res['mot']) . ', ' .
$db->escape((string) $this->res['tabou1']) . ', ' .
$db->escape((string) $this->res['tabou2']) . ', ' .
$db->escape((string) $this->res['tabou3']) . ', ' .
$db->escape((string) $this->res['tabou4']) . ', ' .
$db->escape((string) $this->res['tabou5']) . ', ' .
$db->escape((string) $this->res['tabou6']) . ')';
$db->query($sql);
{ //Categorie always "nom" TODO…
try{
$forbidden = array();
for($i=1;isset($this->res['tabou'.$i]);$i++){
array_push($forbidden,$this->res['tabou'.$i]);
}
$carte = new Card($this->userlang,
NULL,
$this->res['nivcarte'],
"nom",
$this->createur,
$this->res['mot'],
$forbidden,
array($this->res['theme_carte']));
$carte->store();
//TODO probably better to do, but this is a quickfix see #newC
$_SESSION["LastStoredId"] = $carte->get_id();
$this->res['carteID'] = $_SESSION["LastStoredId"];/**/
}
catch(Exception $e){
echo $e;
return false;
}
return true;
}else{
return false;
......@@ -147,45 +144,14 @@ class druid_card
{
include('./sys/load_iso.php');
require_once('./controllers/update_score_coeff.php');
//récupération de la carte nouvellement créée.
$db = db::getInstance();
//récupération de l'ID de la carte
$sql = 'SELECT carteID FROM carte
WHERE idDruide='.$this->createur.' AND theme="'.$this->res['theme_carte'].'" AND mot="'.$this->res['mot'].'" AND tabou1="'.$this->res['tabou1'].'" AND tabou2="'.$this->res['tabou2'].'" AND tabou3="'.$this->res['tabou3'].'" AND tabou4="'.$this->res['tabou4'].'" AND tabou5="'.$this->res['tabou5'].'" AND tabou5="'.$this->res['tabou6'].'" ORDER BY RAND() LIMIT 1';
$this->result=$db->query($sql);
$this->res2= mysqli_fetch_assoc($this->result);
$db->query($sql);
$this->res['carteID'] = $this->res2['carteID'];
//TODO probably better to do, but this is a quickfix see #newC
/**/echo "<script>console.log('".$this->res['carteID']."');</script>";
$this->res['carteID'] = $_SESSION["LastStoredId"] ;
/**/echo "<script>console.log('".$this->res['carteID']."');</script>";
//Requête de modification du score du Druide l'accomplissement de son fastidieux travail de création de carte
updateScoreDruideCreation($this->createur,$iso[$this->userlang],$this->pointsDr);
//~ //récupération du score précédent;
//~ $sql = 'SELECT scoreGlobal,scoreDruide FROM score WHERE userid="'.$this->createur.'" AND langue="'.$iso[$this->userlang].'"';
//~ $result=$db->query($sql);
//~ $res= mysqli_fetch_assoc($result);
//~ $this->previousSGDr= $res['scoreGlobal'];
//~ $this->previousSDr= $res['scoreDruide'];
//~
//~ //maj des variables de scores: le score ne doit jamais être négatif.
//~ $this->previousSGDr= $this->previousSGDr+$this->pointsDr;
//~ $this->previousSDr= $this->previousSDr+$this->pointsDr;
//~ //maj du score dans la BD
//~ $sql = 'UPDATE score
//~ SET scoreGlobal='.$db->escape((string) $this->previousSGDr) . ', ' .
//~ 'scoreDruide='.$db->escape((string) $this->previousSDr) . '
//~ WHERE userid='.$this->createur.' AND langue="'.$iso[$this->userlang].'"';
//~ $db->query($sql);
$_SESSION["notif"]["notification_done"]["Druide"] = 'pointsDruide';
$_SESSION["CreateCard"]=true;
//affichage de l'aperçu de la carte avec son identifiant
......
......@@ -49,6 +49,7 @@ class oracle_alea_exist
private function selectcarte()
{
// récupération de plusieurs cartes possibles
//TODO ICITE créer une sélection carte pour les oracles
$db = db::getInstance();
$sql = 'SELECT
carteID,niveau,mot,tabou1,tabou2,tabou3,tabou4,tabou5
......
<?php
require_once('./models/card.class.php');
class oracle_card_alea
{
private $submit = false;
......@@ -229,39 +232,20 @@ class oracle_card_alea
if(isset($_POST['submit_form'])) //carte validée, enregistrement dans la BD
{
// connxion à la BD
$db = db::getInstance();
if ( !$this->submit || $this->errors )
{
return false;
}
;
// insertion de la carte
$sql = 'INSERT INTO carte
(idDruide,temps,niveau,langue,mot,tabou1,tabou2,tabou3,tabou4,tabou5)
VALUES(' .
$db->escape((string) $this->oracle) . ', ' .
$db->escape((string) $this->et_c_est_le_temps_qui_court) . ', ' .
$db->escape((string) $this->res['nivcarte']) . ', ' .
$db->escape((string) $this->userlang) . ', ' .
$db->escape((string) $this->res['mot']) . ', ' .
$db->escape((string) $this->res['tabou1']) . ', ' .
$db->escape((string) $this->res['tabou2']) . ', ' .
$db->escape((string) $this->res['tabou3']) . ', ' .
$db->escape((string) $this->res['tabou4']) . ', ' .
$db->escape((string) $this->res['tabou5']) . ')';
$db->query($sql);
// requête de récupération de l'indentifiant de la carte juste créee pour insertion dans la table enregistrement
$sql = "SELECT carteID,niveau FROM carte WHERE mot='".$this->res['mot']."'";
$resulto=$db->query($sql);
$reso= mysqli_fetch_assoc($resulto);
$this->res['carteID'] = $reso['carteID'];
// insertion de la carte
$forbidden = array();
for($i=1;isset($this->res['tabou'.$i]);$i++){
array_push($forbidden,$this->res['tabou'.$i]);
}
$carte = new Card($this->userlang, NULL,
$this->res['nivcarte'], "nom", $this->oracle, $this->res['mot'], $forbidden, Array());
$carte->store();
$this->res['carteID'] = $carte->get_id();
// affichage de la carte
include('./views/oracle.card.display.html');
......
<?php
require_once("./models/card.class.php");
class oracle_card_byid
{
......@@ -62,10 +63,11 @@ class oracle_card_byid
{
return false;
}
// Sélection
$sql = 'SELECT carteID,niveau,mot,tabou1,tabou2,tabou3,tabou4,tabou5 FROM carte WHERE idDruide!="'.$this->oracle.'" AND langue="'.$this->userlang.'" AND carteID="'.$this->carteId.'" ';
$this->result=$db->query($sql);
$this->res= mysqli_fetch_assoc($this->result);
// Sélection "dans ce cas là on laisse les gens jouer avec n'importe quelle carte (pour le moment) à terme le rôle pourrait être fixé selon les besoins"
$carte = new Card($this->carteId);
$this->res = $carte->dirtify();
// ligne pour permettre la récupération du niveau de la carte dans la table enregistrement
$this->res['nivcarte'] = $this->res['niveau'];
......
......@@ -55,7 +55,7 @@ class score
$db = db::getInstance();
//variable qui permet d'afficher les $this->scorE meilleurs scores
$this->scorE = variable::gethighscore();
$this->scorE = highscore;
//Récupération du score
$sql = "SELECT
......@@ -320,7 +320,7 @@ class score
$scoreclassement = array();
$this->scoreOver = variable::gethighscoreOver();
$this->scoreOver = highscoreOver;
$this->scoreOver++;
$j = $userClassement-$this->scoreOver; //joueurs au dessus
......
......@@ -5,7 +5,7 @@ ini_set('display_errors', '1');
header('Content-Type: text/html; charset=UTF-8');
require('./sys/utils.func.php');
require('./sys/db.class.php');
require('./sys/variable.php');
require('./sys/constants.php');
require('./models/user.class.php');
require('./models/userlvl.class.php');