0) { switch ($_FILES[$name["files"]]['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[$name["files"]]['type'] != "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") { alert::recError("Seuls les fichiers Excel au format xlsx sont acceptés"); header("Location: /".$name["returnKo"] . ".html"); exit(); } else { if (file_exists($_FILES[$name["files"]]['tmp_name'])) { $fileType = ($_FILES[$name["files"]]['type'] == "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") ? "xlsx" : "csv"; $simpleXLSX = new simpleXLSX(); $dataExcel = $simpleXLSX->parse($_FILES[$name["files"]]['tmp_name']); $returnData = $dataExcel->rows(); db::query("TRUNCATE TABLE ". DB_T_SALARIES_PROWEB); db::execute(); foreach ($returnData as $key => $excelValues) { if($key == 0){ if( $excelValues[0] != "od_id" OR $excelValues[1] != "od_nom" OR $excelValues[2] != "od_prenom" OR $excelValues[3] != "od_civilite" OR $excelValues[4] != "od_date_naiss" OR $excelValues[5] != "date_deb_anciennete()" OR $excelValues[6] != "date_fin_anciennete()" OR $excelValues[7] != "od_31" OR $excelValues[8] != "site_nom" OR $excelValues[9] != "od_login" ){ alert::recError("Le fichier " . $_FILES[$name["files"]]['name'] . " n'est pas un export ProWeb global."); ($excelValues[0] != "od_id") ? alert::recError("La 1er colonne doit se nommer od_id") : ""; ($excelValues[1] != "od_nom") ? alert::recError("La 2em colonne doit se nommer od_nom") : ""; ($excelValues[2] != "od_prenom") ? alert::recError("La 3em colonne doit se nommer od_prenom") : ""; ($excelValues[3] != "od_civilite") ? alert::recError("La 4em colonne doit se nommer od_civilite") : ""; ($excelValues[4] != "od_date_naiss") ? alert::recError("La 5em colonne doit se nommer od_date_naiss") : ""; ($excelValues[5] != "date_deb_anciennete()") ? alert::recError("La 6em colonne doit se nommer date_deb_anciennete()") : ""; ($excelValues[6] != "date_fin_anciennete()") ? alert::recError("La 7em colonne doit se nommer date_fin_anciennete()") : ""; ($excelValues[7] != "od_31") ? alert::recError("La 8em colonne doit se nommer od_31") : ""; ($excelValues[8] != "site_nom") ? alert::recError("La 9em colonne doit se nommer site_nom") : ""; ($excelValues[9] != "od_login") ? alert::recError("La 10em colonne doit se nommer od_login") : ""; header("Location: /".$name["returnKo"] . ".html"); exit(); } } else { $final = proweb::archiveExcelValues($excelValues); db::query("INSERT INTO ". DB_T_SALARIES_PROWEB ." " . "(idProweb, loginId, loginIdRH, nom, prenom, sexe, contrat, dateNaissance, jourEntree, jourEntreeRH, jourSortie, lieu, actif, RHBase, error, errorJson) " . "VALUES (:idProweb, :loginId, :loginIdRH, :nom, :prenom, :sexe, :contrat, :dateNaissance, :jourEntree, :jourEntreeRH, :jourSortie, :lieu, :actif, :RHBase, :error, :errorJson)"); db::bind(':idProweb', $final["idProweb"]); db::bind(':loginId', $final["loginId"]); db::bind(':loginIdRH', $final["loginIdRH"]); db::bind(':nom', $final["nom"]); db::bind(':prenom', $final["prenom"]); db::bind(':sexe', $final["sexe"]); db::bind(':contrat', $final["contrat"]); db::bind(':dateNaissance', $final["dateNaissance"]); db::bind(':jourEntree', $final["jourEntree"]); db::bind(':jourEntreeRH', $final["jourEntreeRH"]); db::bind(':jourSortie', $final["jourSortie"]); db::bind(':lieu', $final["lieu"]); db::bind(':actif', $final["actif"]); db::bind(':RHBase', $final["RHBase"]); db::bind(':error', $final["error"]); db::bind(':errorJson', $final["errorJson"]); try { db::execute(); } catch (Exception $ex) { echo $ex; alert::recError("Erreur sur l'import du fichier " . $_FILES[$name["files"]]['name']); header("Location: /".$name["returnKo"] . ".html"); exit(); } } } $md5File = file::record($_FILES[$name["files"]]); if($md5File == FALSE){ header("Location: /proweb-historique-excel.html"); exit(); } $nbSalaries = count($returnData) - 1; $json = json_encode($returnData); db::query("INSERT INTO ".DB_T_EXCEL_PROWEB." (json, nbSalaries, md5, dateData, id_user) VALUES (:json, :nbSalaries, :md5, :dateData, :id_user)"); db::bind(':nbSalaries', $nbSalaries); db::bind(':dateData', $_POST["date"]); db::bind(':md5', $md5File); db::bind(':json', base64_encode($json)); db::bind(':id_user', session::getId()); try { db::execute(); } catch (Exception $ex) { alert::recError("Erreur sur l'import du fichier " . $_FILES[$name["files"]]['name']); header("Location: /proweb-historique-excel.html"); exit(); } json::create("excel-proweb"); json::create($name["json"]); historique::recRef("/proweb-historique-excel.html"); historique::add(array( "idType" => historique::getIdRef("ACTION"), "idUser" => session::getId(), "idPage" => historique::getIdRef("/proweb-historique-excel.html"), "log" => "Import du fichier " . $_FILES[$name["files"]]['name'] )); alert::recSuccess("Le fichier " . $_FILES[$name["files"]]['name'] . " a été chargé avec succès"); header("Location: /".$name["returnOk"] . ".html"); exit(); } else { alert::recError("Erreur lors du chargement du fichier : " . $_FILES[$name["files"]]['name']); } } header("Location: /".$name["returnKo"] . ".html"); exit(); } else { header('HTTP/1.0 401 Unauthorized'); exit(); }