| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- <?php
- if (core::ifPost("from") AND core::getPost("from") == "lottery-import-inscription") {
- if(lottery::getCloture(core::getPost("lottery"))["sortDate"] != NULL){
- alert::recError("Action annulée car le tirage au sort a déjà été réalisé.");
- header("Location: /lottery-".core::getPost("lottery").".html");
- exit();
- }
- 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: /lottery-".core::getPost("lottery").".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] != "prest_id"
- OR $returnXlsx[0][1] != "doss_id"
- OR $returnXlsx[0][2] != "od_matricule"
- OR $returnXlsx[0][3] != "od_prenom"
- OR $returnXlsx[0][4] != "od_nom"
- OR $returnXlsx[0][5] != "od_email_prof"
- ){ echo "error";
- alert::recError("Le fichier " . $_FILES[core::getPost("from")]['name'] . " n'est pas un fichier d'inscription à un tirage au sort.");
- header("Location: /lottery-".core::getPost("lottery").".html");
- exit();
- }
- $nbSalaries = count($returnXlsx) - 1;
-
- foreach ($returnXlsx as $key => $ligne) {
- if($key > 0){
- $salarie = salaries::get_salarieByLoginId(strtoupper($ligne[2]));
- if(isset($salarie["id"])){
- $tmp_id_salarie = $salarie["id"];
- $tmp_id_presta = $ligne[0];
- $tmp_id_dossier = $ligne[1];
- $tmp_login = $salarie["loginId"];
- $tmp_prenom = $salarie["prenom"];
- $tmp_nom = $salarie["nom"];
- $tmp_valide = $salarie["actif"];
- } else {
- $tmp_id_salarie = NULL;
- $tmp_id_presta = $ligne[0];
- $tmp_id_dossier = $ligne[1];
- $tmp_login = $ligne[2];
- $tmp_prenom = $ligne[3];
- $tmp_nom = $ligne[4];
- $tmp_valide = 0;
- }
- db::query("INSERT INTO " . DB_T_LOTTERY_INSCRITS . "
- (id_lottery, id_salarie, id_presta, id_dossier, login, prenom, nom, valide, id_user)
- VALUES (:id_lottery, :id_salarie, :id_presta, :id_dossier, :login, :prenom, :nom, :valide, :id_user)
- ON DUPLICATE KEY UPDATE id_salarie = :id_salarie, login = :login, prenom = :prenom, nom = :nom, valide = :valide");
- db::bind(':id_lottery', core::getPost("lottery"));
- db::bind(':id_salarie', $tmp_id_salarie);
- db::bind(':id_presta', $tmp_id_presta);
- db::bind(':id_dossier', $tmp_id_dossier);
- db::bind(':login', $tmp_login);
- db::bind(':prenom', $tmp_prenom);
- db::bind(':nom', $tmp_nom);
- db::bind(':valide', $tmp_valide);
- db::bind(':id_user', session::getId());
- try {
- db::execute();
- if($tmp_valide == 1) {
- alert::recSuccess("Inscription éligible de " . $tmp_prenom . " " . $tmp_nom);
- } else {
- alert::recError("Inscription non éligible de " . $tmp_prenom . " " . $tmp_nom);
- }
- } catch (Exception $ex) {
- alert::recError("ERREUR TECHNIQUE : ".$tmp_prenom . " " . $tmp_nom . " n'a pas pu être importé");
- }
- }
- }
-
- header("Location: /lottery-".core::getPost("lottery").".html");
- exit();
- } else {
- alert::recError("Erreur lors du chargement du fichier : " . $_FILES[core::getPost("from")]['name']);
- }
- }
- header("Location: /lottery-".core::getPost("lottery").".html");
- exit();
- } else {
- header('HTTP/1.0 401 Unauthorized');
- exit();
- }
|