| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- <?php
- if (core::ifPost("from") AND core::getPost("from") == "event-import-inscription") {
- if (isset($_FILES[core::getPost("from")]['error']) AND $_FILES[core::getPost("from")]['error'] > 0) {
- switch ($_FILES[core::getPost("from")]['error']) {
- case 1: // UPLOAD_ERR_INI_SIZE
- alert::recError("Le fichier dépasse la limite autorisée par le serveur (fichier php.ini) !");
- break;
- case 2: // UPLOAD_ERR_FORM_SIZE
- alert::recError("Le fichier dépasse la limite autorisée dans le formulaire HTML !");
- break;
- case 3: // UPLOAD_ERR_PARTIAL
- alert::recError("L'envoi du fichier a été interrompu pendant le transfert !");
- break;
- case 4: // UPLOAD_ERR_NO_FILE
- alert::recError("Vous n'avez pas chargé de fichier");
- break;
- }
- } elseif ($_FILES[core::getPost("from")]['type'] != "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") {
- alert::recError("Seuls les fichiers Excel au format xlsx sont acceptés (".$_FILES[core::getPost("from")]['type'].")");
- header("Location: /evenement-".core::getPost("event").".html");
- exit();
- } else {
- if (file_exists($_FILES[core::getPost("from")]['tmp_name'])) {
- $simpleXLSX = new simpleXLSX();
- $xlsx = $simpleXLSX->parse($_FILES[core::getPost("from")]['tmp_name']);
- $returnXlsx = $xlsx->rows();
- if( $returnXlsx[0][0] != "Matricule SALAR"
- OR $returnXlsx[0][1] != "Nom SALAR"
- OR $returnXlsx[0][2] != "Prénom SALAR"){
- alert::recError("Le fichier " . $_FILES[core::getPost("from")]['name'] . " n'est pas un fichier d'inscription à un évènement.");
- header("Location: /evenement-".core::getPost("event").".html");
- exit();
- }
-
- $nbSalaries = count($returnXlsx) - 1;
-
- foreach ($returnXlsx as $key => $ligne) {
- if($key > 0){
- $salarie = salaries::getSalarieByLoginId($ligne[0]);
- if($salarie == FALSE){
- alert::recError($ligne[2]. " " .$ligne[1] . " (" .$ligne[0] . ") n'est pas présent dans la base RH");
- } else {
- $titreEvenement = event::getInscriptionEvenementById(core::getPost("event"), $salarie["id"])["titre"];
- if(empty($titreEvenement) AND isset($salarie["id"])){
- if(event::subscribe($salarie["id"]) == TRUE){
- alert::recSuccess("Inscription de " . $salarie["prenom"] . " " . $salarie["nom"]);
- } else {
- alert::recError($salarie["prenom"] . " " . $salarie["nom"] . " n'a pas pu être importé");
- }
- } elseif(empty($salarie["id"])){
- alert::recError($ligne[2]. " " .$ligne[1] . " (" .$ligne[0] . ") n'est pas présent dans la base RH");
- }
- }
- }
- }
- historique::recRef("/evenement-".core::getPost("event").".html");
- historique::add(array(
- "idType" => historique::getIdRef("ACTION"),
- "idUser" => session::getId(),
- "idPage" => historique::getIdRef("/evenement-".core::getPost("event").".html"),
- "log" => "Import des inscriptions"
- ));
- historique::recordAlert("SUCCESS");
-
- header("Location: /evenement-".core::getPost("event").".html");
- exit();
- } else {
- alert::recError("Erreur lors du chargement du fichier : " . $_FILES[core::getPost("from")]['name']);
- }
- }
- header("Location: /evenement-".core::getPost("event").".html");
- exit();
- } else {
- header('HTTP/1.0 401 Unauthorized');
- exit();
- }
|