diff --git a/manager/phpExcel.php b/manager/phpExcel.php index 92e3290..5f82bf1 100755 --- a/manager/phpExcel.php +++ b/manager/phpExcel.php @@ -132,24 +132,103 @@ function xlsx_switch_lvl1($request, $answer){ // Get sur la première case $sheet = $objPHPExcel->getSheet(0); + $mccData = $sheet->rangeToArray('A2:'.$sheet->getHighestColumn().''.$sheet->getHighestRow()); + + $uelist = array(); - // Lecture rang MAX (A,B,C..) - $highestRow = $sheet->getHighestRow(); + // permet d'éviter les doublons + $ueuid = array(); - // Lecture de la colonne MAX (1) - $highestColumn = $sheet->getHighestColumn(); + foreach($mccData as $line){ + if( $line[0] != null ){ - // Boucle sur chaque rang - for ($row = 1; $row <= $highestRow; $row++) { - for( $col = 'A' ; $col <= $highestColumn ; $col++ ) - echo $col.''.$row.' = '.$sheet->rangeToArray($col.''.$row.':'.$col.''.$row)[0][0].'
'; + /* [1] On récupère les données de l'UE, si les champs sont définis + =========================================================================*/ + if( $line[0] != null && $line[1] != null && $line[2] != null ){ + + if( !in_array($line[0], $ueuid) ){ // on créé l'UE dans la liste s'il n'y est pas déjà + + array_push( // on ajoute l'UE + $uelist, + array( + 'nom' => $line[0], + 'libelle' => $line[1], + 'coefficient' => $line[2], + 'modules' => array(), + 'moduid' => array() + ) + ); + + array_push($ueuid, $line[0]); // on dis qu'on a déjà enregistré l'ue + } + + + $ueIndex = array_search($line[0], $ueuid); + + /* [2] On récupère les données du module, si les champs sont définis + =========================================================================*/ + if( $line[3] != null && $line[4] != null && $line[5] != null ){ + + if( !in_array($line[3], $uelist[$ueIndex]['moduid']) ){ // on créé le module dans la liste de cet UE s'il n'y est pas déjà + array_push( // on ajoute l'UE + $uelist[$ueIndex]['modules'], + array( + 'nom' => $line[3], + 'libelle' => $line[4], + 'coefficient' => $line[5], + 'controles' => array(), + 'ctrluid' => array() + ) + ); + + array_push($uelist[$ueIndex]['moduid'], $line[3]); // on dis qu'on a déjà enregistré le module + } + } + + $modIndex = array_search($line[3], $uelist[$ueIndex]['moduid']); + + /* [3] On récupère les contrôles du module, si les champs sont définis + =========================================================================*/ + if( $line[6] != null && $line[7] != null && $line[8] != null ){ + + if( !in_array($line[6], $uelist[$ueIndex]['modules'][$modIndex]['ctrluid']) ){ // on créé le contrôle dans la liste de ce module s'il n'y est pas déjà + array_push( // on ajoute l'UE + $uelist[$ueIndex]['modules'][$modIndex]['controles'], + array( + 'nom' => $line[6], + 'libelle' => $line[7], + 'coefficient' => $line[8] + ) + ); + + array_push($uelist[$ueIndex]['modules'][$modIndex]['ctrluid'], $line[6]); // on dis qu'on a déjà enregistré le module + } + } + + } + + + + } } - } else { + /* [4] Affinage des données, on supprime les données temporaires + =========================================================================*/ + foreach($uelist as $iter_ue=>$ue){ + unset( $uelist[$iter_ue]['moduid'] ); + foreach($uelist[$iter_ue]['modules'] as $iter_m=>$mod) + unset( $uelist[$iter_ue]['modules'][$iter_m]['ctrluid'] ); + } + + + $answer->uelist = $uelist; + $answer->request = 'success'; + + + }else $answer->request = 'param_error'; - } break; diff --git a/page/modules.php b/page/modules.php index 44f826c..26f7dc8 100755 --- a/page/modules.php +++ b/page/modules.php @@ -465,6 +465,58 @@ if( permission('admin') ){ // si l'utilisateur est un admin } + + + + + + + + + + + + + + + + + + + + + + + + + +if( permission('admin') ){ + require_once __ROOT__.'/manager/phpExcel.php'; + + $request = new stdClass(); $answer = new stdClass(); + + $request->level_1 = 'import_mcc'; + $request->docPath = __ROOT__.'/src/excelTemplates/mcc.xlsx'; + + xlsx_switch_lvl1($request, $answer); + + + // si aucune erreur + if( $answer->request == 'success' ){ + echo "
"; + + var_dump( $answer->uelist ); + + echo "
"; + }else + echo "
Données erronées
"; + + + + + + +} ?> diff --git a/src/excelTemplates/.~lock.mcc.xlsx# b/src/excelTemplates/.~lock.mcc.xlsx# new file mode 100644 index 0000000..23b194f --- /dev/null +++ b/src/excelTemplates/.~lock.mcc.xlsx# @@ -0,0 +1 @@ +,xdrm,linux,20.11.2015 13:13,file:///home/xdrm/.config/libreoffice/4; \ No newline at end of file diff --git a/src/excelTemplates/Liste Etudiant 2015 (3).xlsx b/src/excelTemplates/Liste Etudiant 2015 (3).xlsx deleted file mode 100755 index ab6834e..0000000 Binary files a/src/excelTemplates/Liste Etudiant 2015 (3).xlsx and /dev/null differ diff --git a/src/excelTemplates/Liste Etudiant 2015 (4).xlsx b/src/excelTemplates/Liste Etudiant 2015 (4).xlsx deleted file mode 100755 index bcfb7a8..0000000 Binary files a/src/excelTemplates/Liste Etudiant 2015 (4).xlsx and /dev/null differ diff --git a/src/excelTemplates/Liste Etudiant 2015 (5).xlsx b/src/excelTemplates/Liste Etudiant 2015 (5).xlsx deleted file mode 100755 index 4aca700..0000000 Binary files a/src/excelTemplates/Liste Etudiant 2015 (5).xlsx and /dev/null differ diff --git a/src/excelTemplates/Liste Etudiant 2015 (6).xlsx b/src/excelTemplates/Liste Etudiant 2015 (6).xlsx deleted file mode 100755 index a98a454..0000000 Binary files a/src/excelTemplates/Liste Etudiant 2015 (6).xlsx and /dev/null differ diff --git a/src/excelTemplates/Liste Etudiant 2015 (7).xlsx b/src/excelTemplates/Liste Etudiant 2015 (7).xlsx deleted file mode 100755 index e0b9aa6..0000000 Binary files a/src/excelTemplates/Liste Etudiant 2015 (7).xlsx and /dev/null differ diff --git a/src/excelTemplates/mcc.xlsx b/src/excelTemplates/mcc.xlsx new file mode 100755 index 0000000..3fd8430 Binary files /dev/null and b/src/excelTemplates/mcc.xlsx differ diff --git a/xdoc/exemple parcours b/xdoc/exemple parcours deleted file mode 100755 index c26e174..0000000 --- a/xdoc/exemple parcours +++ /dev/null @@ -1,25 +0,0 @@ -*** [NORMAL] *** - -S1 - 1, 2000 -S2 - 2, 2000 -S3 - 3, 2000 -S4 - 4, 2000 - -*** [S1/S2 RATE] *** - -S1 - 1, 2000 -S2 - 2, 2000 -S1 - 1, 2001 -S2 - 2, 2001 -S3 - 3, 2001 -S4 - 4, 2001 - - -*** [S3/S4 RATE] *** - -S1 - 1, 2000 -S2 - 2, 2000 -S3 - 3, 2000 -S4 - 4, 2000 -S3 - 3, 2001 -S4 - 4, 2001 \ No newline at end of file