`nbSucces`smallint(5)UNSIGNEDNOTNULLDEFAULT'0'COMMENT'Combien de fois l''enregistrement a permis de trouver le mot',
`nbTentatives`smallint(5)UNSIGNEDNOTNULLDEFAULT'0'COMMENT'Combien de fois l''enregistrement a été passé à un devin',
`mise`tinyint(4)NOTNULLDEFAULT'1'COMMENT'La mise calculée en fonction du niveau de la carte du joueur et de la difficulté choisie',
`miseD`tinyint(4)UNSIGNEDNOTNULLDEFAULT'1'COMMENT'La mise en cas de défaite calculée en fonction du niveau de la carte du joueur et de la difficulté choisie',
`miseV`tinyint(4)UNSIGNEDNOTNULLDEFAULT'1'COMMENT'La mise calculée en cas de victoire en fonction du niveau de la carte du joueur et de la difficulté choisie',
array_push($queries,"UPDATE `stats` SET `score_oracle`=`score_oracle`+(SELECT ".$this->sv->get_recording_score_sql_formula()." FROM `enregistrement` WHERE `enregistrementID`=@recording_id), `nbAbandons_oracle`=`nbAbandons_oracle`+1, `nbJeux_oracle`=`nbJeux_oracle`+1 WHERE `userid`='".$this->user->id."' AND `langue`='$lang';");
array_push($queries,"SELECT @previous_recording_score := ".$this->sv->get_recording_score_sql_formula().", @recording_id := `enregistrementID`, @lang := `OracleLang` FROM `enregistrement` WHERE `enregistrement`.`idOracle` = ".$this->user->id." AND `enregistrement`.`carteID`='$cardId';");
//actual recording update
array_push($queries,"UPDATE `enregistrement` SET `cheminEnregistrement` = '$rec_path', `duration`='$rec_length', `tpsEnregistrement`=CURRENT_TIMESTAMP, `validation` = 'limbo' WHERE `enregistrementID`=@recording_id;");
//score
//score update
array_push($queries,"UPDATE `stats` SET `score_oracle`=`score_oracle`+(SELECT ".$this->sv->get_recording_score_sql_formula()." FROM `enregistrement` WHERE `enregistrementID`=@recording_id)-(@previous_recording_score), `nbAbandons_oracle`=`nbAbandons_oracle`-1, `nbEnregistrements_oracle`=`nbEnregistrements_oracle`+1 WHERE `userid`='".$this->user->id."' AND `langue`=@lang;");
thrownewException("“".print_r($queries,true)."” could not be performed.\n".$this->db->get_error());
...
...
@@ -102,15 +102,27 @@ class TracesHandler{
}
publicfunctionabort_record($recording_path){
//TODO ICITE
$query="UPDATE `enregistrement` SET `validation` = 'given up', `tpsEnregistrement`=CURRENT_TIMESTAMP WHERE `enregistrement`.`cheminEnregistrement` = '$recording_path'; ";
if(!$this->db->query($query)){
$res=false;
thrownewException("“".$query."” could not be performed.\n".$this->db->get_error());
}
elseif($this->db->affected_rows!=1){
$queries=array();
//update recording
//prepare score
array_push($queries,"SELECT @previous_recording_score := ".$this->sv->get_recording_score_sql_formula().", @recording_id := `enregistrementID`, @lang := `OracleLang` FROM `enregistrement` WHERE `enregistrement`.`cheminEnregistrement` = '$recording_path';");
//actual recording update
array_push($queries,"UPDATE `enregistrement` SET `validation` = 'given up', `tpsEnregistrement`=CURRENT_TIMESTAMP WHERE `enregistrement`.`cheminEnregistrement` = '$recording_path'; ");
//score update
array_push($queries,"UPDATE `stats` SET `score_oracle`=`score_oracle`+(SELECT ".$this->sv->get_recording_score_sql_formula()." FROM `enregistrement` WHERE `enregistrementID`=@recording_id)-(@previous_recording_score), `nbAbandons_oracle`=`nbAbandons_oracle`+1, `nbEnregistrements_oracle`=`nbEnregistrements_oracle`-1 WHERE `userid`='".$this->user->id."' AND `langue`=@lang;");
thrownewException("“".print_r($queries,true)."” could not be performed.\n".$this->db->get_error());
}
else{
$res=true;
...
...
@@ -158,6 +170,5 @@ class TracesHandler{
array_push($queries,"UPDATE `stats` SET `nbErrArbitrage_druide` = `nbErrArbitrage_druide`+1, `score_druide` = IF()`score_druide`+".$this->sv->get_druid_verification_error_score()." WHERE `stats`.`userid` IN (SELECT `idDruide` FROM `arbitrage` WHERE `enregistrementID`='$recordingID' AND `arbitrageID` < @arbitrage_id AND 'validation'='".