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

restructure DB

parent fc756793
TRUNCATE `arbitrage` ;
TRUNCATE `cartes` ;
TRUNCATE `mots_interdits`;
TRUNCATE `enregistrement` ;
TRUNCATE `themes` ;
TRUNCATE `themes_cartes` ;
TRUNCATE `arbitrage` ;
TRUNCATE `mots_interdits`;
TRUNCATE `notif` ;
TRUNCATE `parties` ;
TRUNCATE `sanctionCarte` ;
TRUNCATE `parties` ;
TRUNCATE `notif` ;
UPDATE `stats` SET `nbJeux_oracle` = '0', `nbAbandons_oracle` = '0', `nbEnregistrements_oracle` = '0', `nbErreurs_oracle` = '0', `nbLectures_oracle` = '0', `nbSucces_oracle` = '0', `score_oracle` = '0', `nbCartes_druide` = '0', `nbArbitrages_druide` = '0', `nbErrArbitrage_druide` = '0', `score_druide` = '0', `nbEnregistrements_devin` = '0', `nbMotsTrouves_devin` = '0', `score_devin` = '0' WHERE *;
TRUNCATE `themes` ;
TRUNCATE `themes_cartes` ;
--
-- TRUNCATE `score` ;
-- TRUNCATE `langues` ;
-- TRUNCATE `user` ;
-- TRUNCATE `user_niveau` ;
--
......@@ -107,13 +107,15 @@ CREATE TABLE IF NOT EXISTS `mots_interdits` (
CREATE TABLE IF NOT EXISTS `notif` (
`userid` int(11) NOT NULL,
`type` TINYINT UNSIGNED NULL DEFAULT NULL COMMENT 'type of the message',
`message` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`emetteur` int(11) NOT NULL,
`emetteur` int(11) NOT NULL DEFAULT '0',
`id` int(11) NOT NULL AUTO_INCREMENT,
`state` int(11) NOT NULL,
`game` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
PRIMARY KEY (`id`),
INDEX (`type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
......@@ -149,70 +151,28 @@ CREATE TABLE IF NOT EXISTS `sanctionCarte` (
-- --------------------------------------------------------
--
-- Structure de la table `score`
--
CREATE TABLE `score` (
`scoreID` int(11) NOT NULL,
`userid` int(11) NOT NULL,
`scoreGlobal` int(11) NOT NULL DEFAULT '0',
`scoreOracle` int(11) NOT NULL DEFAULT '0',
`scoreDruide` int(11) NOT NULL DEFAULT '0',
`scoreDevin` int(11) NOT NULL DEFAULT '0',
`langue` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`first_game_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`scoreID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- Structure de la table `stats_devin`
--
CREATE TABLE `stats_devin` (
`userid` int(11) NOT NULL COMMENT 'l''id de l''utilisateur',
`langue` varchar(20) NOT NULL COMMENT 'langue de jeu',
`nbEnregistrements` smallint(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'nombre d''enregistrements écoutés',
`nbMotsTrouves` smallint(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'nombres de mots associés aux enregistrements trouvés',
`score` mediumint(9) NOT NULL DEFAULT '0' COMMENT 'score de devin (pas calculable avec les données de la table)',
PRIMARY KEY (`userid`,`langue`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Statistiques de jeu en tant que devin';
-- --------------------------------------------------------
--
-- Structure de la table `stats_druide`
--
CREATE TABLE `stats_druide` (
`userid` int(11) NOT NULL COMMENT 'id de l''utilisateur',
`langue` varchar(20) NOT NULL COMMENT 'langue concernée',
`nbCartes` smallint(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'nb cartes créées',
`nbArbitrages` smallint(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'nb arbitrages effectués',
`nbErrArbitrage` smallint(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'nb d''erreurs d''arbitrage',
`score` mediumint(9) NOT NULL DEFAULT '0' COMMENT 'score (peut être calculé uniquement avec les données de la table)',
PRIMARY KEY (`userid`,`langue`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Statistiques d''activité en tant que Druide';
-- --------------------------------------------------------
--
-- Structure de la table `stats_oracle`
-- Structure de la table `stats`
--
CREATE TABLE `stats_oracle` (
CREATE TABLE `stats` (
`userid` int(11) NOT NULL,
`langue` varchar(20) NOT NULL,
`nbJeux` smallint(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Nombre de parties',
`nbAbandons` smallint(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Nombre d''abandons',
`nbEnregistrements` smallint(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Nombre d''enregistrements envoyés',
`nbErreurs` smallint(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Nombre d''enregistrements erronés ou techniquements ratés',
`nbLectures` smallint(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Nombre de devins qui ont lu un enregistrement de l''utilisateur',
`nbSucces` smallint(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Nombre de succès des devins',
`score` mediumint(8) NOT NULL DEFAULT '0' COMMENT 'Score résultant (prends aussi en compte les niveaux, ne peut être calculé directement à partir des infos de la table)',
`nbJeux_oracle` smallint(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Nombre de parties',
`nbAbandons_oracle` smallint(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Nombre d''abandons',
`nbEnregistrements_oracle` smallint(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Nombre d''enregistrements envoyés',
`nbErreurs_oracle` smallint(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Nombre d''enregistrements erronés ou techniquements ratés',
`nbLectures_oracle` smallint(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Nombre de devins qui ont lu un enregistrement de l''utilisateur',
`nbSucces_oracle` smallint(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'Nombre de succès des devins',
`score_oracle` mediumint(8) NOT NULL DEFAULT '0' COMMENT 'Score résultant (prends aussi en compte les niveaux, ne peut être calculé directement à partir des infos de la table)',
`nbCartes_druide` smallint(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'nb cartes créées',
`nbArbitrages_druide` smallint(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'nb arbitrages effectués',
`nbErrArbitrage_druide` smallint(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'nb d''erreurs d''arbitrage',
`score_druide` mediumint(9) NOT NULL DEFAULT '0' COMMENT 'score (peut être calculé uniquement avec les données de la table)',
`nbEnregistrements_devin` smallint(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'nombre d''enregistrements écoutés',
`nbMotsTrouves_devin` smallint(5) UNSIGNED NOT NULL DEFAULT '0' COMMENT 'nombres de mots associés aux enregistrements trouvés',
`score_devin` mediumint(9) NOT NULL DEFAULT '0' COMMENT 'score de devin (pas calculable avec les données de la table)',
PRIMARY KEY (`userid`,`langue`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Statistiques de l''Oracle';
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Statistiques des joueurs';
-- --------------------------------------------------------
......
<?php
require_once('./sys/load_iso.php');
class register
{
private $submit = false;
......@@ -15,10 +15,15 @@ class register
private $niveau='';
private $GameLvl='';
private $userlang_game = '';
private $lang_iso;
private $mode = '';
public function __construct(){
$this->lang_iso = new IsoLang();
}
public function set_mode($mode)
{
$this->mode = $mode;
......@@ -36,10 +41,6 @@ class register
}
private function init(){
require_once('./sys/load_iso.php');
$lang_iso = new IsoLang();
$this->submit = isset($_POST['submit_form']);
if ( $this->submit )
{
......@@ -74,7 +75,7 @@ class register
$this->niveau .= isset($_POST['choix_niveau_'.$i]) ? trim($_POST['choix_niveau_'.$i]).';' : '';
if (!isset($_POST['choix_niveau_'.$i])) { break; }
}
$this->userlang_game = isset($_POST['lang_game']) ? $lang_iso->language_code_for(trim($_POST['lang_game'])) : '';
$this->userlang_game = isset($_POST['lang_game']) ? $this->lang_iso->language_code_for(trim($_POST['lang_game'])) : '';
}
return true;
}
......@@ -164,12 +165,8 @@ class register
if($key!=""){
array_push($sql, 'INSERT INTO `score` (`userid`, `langue`)'.
"VALUES(@USER_ID,".$db->escape((string) $key).");");
array_push($sql, "INSERT INTO `stats_devin` (`userid`, `langue`)
VALUES(@USER_ID,".$db->escape((string) $key).");");
array_push($sql, "INSERT INTO `stats_druide` (`userid`, `langue`)
VALUES(@USER_ID,".$db->escape((string) $key).");");
array_push($sql, "INSERT INTO `stats_oracle` (`userid`, `langue`)
VALUES(@USER_ID,".$db->escape((string) $key).");");
array_push($sql, "INSERT INTO `stats` (`userid`, `langue`)
VALUES(@USER_ID,".$db->escape($this->lang_iso->any_to_iso($key)).");");
}
}
array_push($sql, "SELECT @USER_ID as `id`;");
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment