Gestion de l'encodage utf-8 de la BDD

This commit is contained in:
xdrm-brackets 2015-11-21 13:28:13 +01:00
parent 7fdb83f632
commit 76b4afa11f
5 changed files with 31 additions and 9 deletions

View File

@ -67,15 +67,39 @@ class DataBase{
* @return newFetchData<Array> retourne le tableau donné en paramètre mais sans les valeurs à clés numériques
*
*/
public static function delNumeric($fetchData){
public static function delNumeric($fetchData, $oneDimension=false){
/* [1] 2 dimensions
===============================================*/
if( !$oneDimension ){
// on supprime les doublons des entrées (indice numérique)
for( $i = 0 ; $i < count($fetchData) ; $i++ ) // pour tout les utilisateurs
foreach($fetchData[$i] as $col => $val){ // pour toutes les entrées
$fetchData[$i][$col] = utf8_encode($val);
if( !mb_detect_encoding($val, 'UTF-8') )
$fetchData[$i][$col] = utf8_encode($val);
if( is_int($col) ) // si l'indice est un entier
unset( $fetchData[$i][$col] ); // on le supprime
}
/* [2] 1 dimensions
===============================================*/
}else{
// on supprime les doublons des entrées (indice numérique)
foreach($fetchData as $i=>$val){ // pour toutes les entrées
if( !mb_detect_encoding($val, 'UTF-8') )
$fetchData[$i] = utf8_encode($val);
if( is_int($i) ) // si l'indice est un entier
unset( $fetchData[$i] ); // on le supprime
}
}
return $fetchData;
}

View File

@ -66,7 +66,7 @@ class controleRepo extends DBAccess{
}
// on retourne le résultat en supprimant les doublons à indices numériques
return $getControleInfo->fetch();
return DataBase::delNumeric( $getControleInfo->fetch(), true );
}

View File

@ -44,7 +44,7 @@ class groupRepo extends DBAccess{
$getGroupeInfo = DataBase::getPDO()->prepare("SELECT id_groupe as id, nom, libelle FROM groupe WHERE id_groupe = :groupeUID");
$getGroupeInfo->execute(array( ':groupeUID' => $groupeUID ));
return $getGroupeInfo->fetch();
return DataBase::delNumeric( $getGroupeInfo->fetch(), true );
}
@ -217,7 +217,7 @@ class groupRepo extends DBAccess{
ORDER BY g.nom");
$getGroupe->execute(array( ':etudiant' => $etudiant, ':semestre' => $semestre ));
return $getGroupe->fetch();
return DataBase::delNumeric( $getGroupe->fetch(), true );
}

View File

@ -203,8 +203,6 @@ if( document.querySelector('#CONTAINER section[name=controlesenseignants]') != n
for( var i = 0 ; i < saisieObj.length ; i++ ){ if( /active/.test(saisieObj[i].inputEl.className) ){
nbRequest += 1;
addClass( saisieObj[i].button, 'loading' );
var request = { // on définit la requête pour API
level_0: 'career',

View File

@ -348,10 +348,10 @@ elseif( permission('teacher') ){ // si enseignant et qu'un contrôle est spécif
echo "<table class='basic col4'><thead>";
echo "<th colspan=5 style='font-size:1.5em; text-align:center;'>".$answer->controle['module'].' - '.$answer->controle['libelle'].'</th>';
echo "<th colspan=5 style='font-size:1.5em; text-align:center;'>".$answer->controle['nom'].' - '.$answer->controle['libelle'].'</th>';
echo '<tr>';
echo "<th><span class='link ctrl' data-ctrl='".$answer->controle['id']."'>".$answer->controle['libelle']."</span></th>";
echo "<th><span class='link ctrl' data-ctrl='".$answer->controle['nom']."'>".$answer->controle['libelle']."</span></th>";
echo "<th>".$answer->controle['module']." - ".$answer->controle['modulelib']."</th>";