Add formations to output JSON
This commit is contained in:
parent
5262318527
commit
1b0a52ded6
|
@ -22,6 +22,7 @@ class Excel
|
||||||
|
|
||||||
public function post($args){
|
public function post($args){
|
||||||
if(isset($_FILES["file"]["tmp_name"])){
|
if(isset($_FILES["file"]["tmp_name"])){
|
||||||
|
//put everything in a try so we catch all PhpExcel exceptions and return a clean API Response
|
||||||
try{
|
try{
|
||||||
$reader = new \PhpOffice\PhpSpreadsheet\Reader\Xls();
|
$reader = new \PhpOffice\PhpSpreadsheet\Reader\Xls();
|
||||||
$reader->setReadDataOnly(true);
|
$reader->setReadDataOnly(true);
|
||||||
|
@ -42,6 +43,8 @@ class Excel
|
||||||
$UE = [];
|
$UE = [];
|
||||||
//array containing all the UEs
|
//array containing all the UEs
|
||||||
$allUE = [];
|
$allUE = [];
|
||||||
|
//array containing all the formations
|
||||||
|
$allFormations = [];
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* declare the lambda that will add finalized UE to the array
|
* declare the lambda that will add finalized UE to the array
|
||||||
|
@ -65,7 +68,7 @@ class Excel
|
||||||
/*
|
/*
|
||||||
* declaring the lambda tha twill extract the list of formation involved in the group
|
* declaring the lambda tha twill extract the list of formation involved in the group
|
||||||
*/
|
*/
|
||||||
$getFormations = function(?string $group) use (&$formation) : array{
|
$getFormations = function(?string $group) use (&$formation,&$allFormations) : array{
|
||||||
if(!$group) return [$formation];
|
if(!$group) return [$formation];
|
||||||
|
|
||||||
//replace the generic "INFO" keyword by the actual formation
|
//replace the generic "INFO" keyword by the actual formation
|
||||||
|
@ -78,7 +81,18 @@ class Excel
|
||||||
$groups = array_map('trim', $groups);
|
$groups = array_map('trim', $groups);
|
||||||
|
|
||||||
//delete empty strings
|
//delete empty strings
|
||||||
return array_filter($groups);
|
$groups = array_filter($groups);
|
||||||
|
|
||||||
|
foreach ($groups as $group){
|
||||||
|
if(!isset($allFormations[$group])){
|
||||||
|
$allFormations[$group] = [
|
||||||
|
"name" => $group,
|
||||||
|
"internal" => strpos(strtolower($group),"info") !== false ? true : false
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $groups;
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -146,8 +160,8 @@ class Excel
|
||||||
if ($UESpreadsheet->getCellByColumnAndRow(5,$row->getRowIndex())->getCalculatedValue()){
|
if ($UESpreadsheet->getCellByColumnAndRow(5,$row->getRowIndex())->getCalculatedValue()){
|
||||||
$UE["groups"]["Course"][] = [
|
$UE["groups"]["Course"][] = [
|
||||||
"VH" => $UESpreadsheet->getCellByColumnAndRow(5,$row->getRowIndex())->getCalculatedValue(),
|
"VH" => $UESpreadsheet->getCellByColumnAndRow(5,$row->getRowIndex())->getCalculatedValue(),
|
||||||
"internalStudentPart" => $getInternalStudentPart($UESpreadsheet->getCellByColumnAndRow(6,$row->getRowIndex())->getValue()),
|
"internalStudentPart" => $getInternalStudentPart($UESpreadsheet->getCellByColumnAndRow(6,$row->getRowIndex())->getCalculatedValue()),
|
||||||
"formations" => $getFormations($UESpreadsheet->getCellByColumnAndRow(6,$row->getRowIndex())->getValue()),
|
"formations" => $getFormations($UESpreadsheet->getCellByColumnAndRow(6,$row->getRowIndex())->getCalculatedValue()),
|
||||||
"professor" => $UESpreadsheet->getCellByColumnAndRow(7,$row->getRowIndex())->getValue() ?: null
|
"professor" => $UESpreadsheet->getCellByColumnAndRow(7,$row->getRowIndex())->getValue() ?: null
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -156,8 +170,8 @@ class Excel
|
||||||
if($UESpreadsheet->getCellByColumnAndRow(8,$row->getRowIndex())->getCalculatedValue()){
|
if($UESpreadsheet->getCellByColumnAndRow(8,$row->getRowIndex())->getCalculatedValue()){
|
||||||
$UE["groups"]["TD"][] = [
|
$UE["groups"]["TD"][] = [
|
||||||
"VH" => $UESpreadsheet->getCellByColumnAndRow(8,$row->getRowIndex())->getCalculatedValue(),
|
"VH" => $UESpreadsheet->getCellByColumnAndRow(8,$row->getRowIndex())->getCalculatedValue(),
|
||||||
"internalStudentPart" => $getInternalStudentPart($UESpreadsheet->getCellByColumnAndRow(9,$row->getRowIndex())->getValue()),
|
"internalStudentPart" => $getInternalStudentPart($UESpreadsheet->getCellByColumnAndRow(9,$row->getRowIndex())->getCalculatedValue()),
|
||||||
"formations" => $getFormations($UESpreadsheet->getCellByColumnAndRow(6,$row->getRowIndex())->getValue()),
|
"formations" => $getFormations($UESpreadsheet->getCellByColumnAndRow(6,$row->getRowIndex())->getCalculatedValue()),
|
||||||
"professor" => $UESpreadsheet->getCellByColumnAndRow(10,$row->getRowIndex())->getValue() ?: null
|
"professor" => $UESpreadsheet->getCellByColumnAndRow(10,$row->getRowIndex())->getValue() ?: null
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -166,8 +180,8 @@ class Excel
|
||||||
if($UESpreadsheet->getCellByColumnAndRow(11,$row->getRowIndex())->getCalculatedValue()){
|
if($UESpreadsheet->getCellByColumnAndRow(11,$row->getRowIndex())->getCalculatedValue()){
|
||||||
$UE["groups"]["TP"][] = [
|
$UE["groups"]["TP"][] = [
|
||||||
"VH" => $UESpreadsheet->getCellByColumnAndRow(11,$row->getRowIndex())->getCalculatedValue(),
|
"VH" => $UESpreadsheet->getCellByColumnAndRow(11,$row->getRowIndex())->getCalculatedValue(),
|
||||||
"internalStudentPart" => $getInternalStudentPart($UESpreadsheet->getCellByColumnAndRow(12,$row->getRowIndex())->getValue()),
|
"internalStudentPart" => $getInternalStudentPart($UESpreadsheet->getCellByColumnAndRow(12,$row->getRowIndex())->getCalculatedValue()),
|
||||||
"formations" => $getFormations($UESpreadsheet->getCellByColumnAndRow(6,$row->getRowIndex())->getValue()),
|
"formations" => $getFormations($UESpreadsheet->getCellByColumnAndRow(6,$row->getRowIndex())->getCalculatedValue()),
|
||||||
"professor" => $UESpreadsheet->getCellByColumnAndRow(13,$row->getRowIndex())->getValue() ?: null
|
"professor" => $UESpreadsheet->getCellByColumnAndRow(13,$row->getRowIndex())->getValue() ?: null
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -222,7 +236,7 @@ class Excel
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return [ 'data' => ["professors" => $allProf, "UEs" => $allUE ] ];
|
return [ 'data' => ["professors" => $allProf, "formations" => $allFormations, "UEs" => $allUE ] ];
|
||||||
}catch (Exception $e){
|
}catch (Exception $e){
|
||||||
return [ 'error' => new Error(Err::UnknownError) ];
|
return [ 'error' => new Error(Err::UnknownError) ];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue