2
0

cms.compte-upload.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <?php
  2. if (core::ifPost("from") AND core::getPost("from") == "compte-upload") {
  3. if (isset($_FILES[core::getPost("from")]['error']) AND $_FILES[core::getPost("from")]['error'] > 0) {
  4. switch ($_FILES[core::getPost("from")]['error']) {
  5. case 1: // UPLOAD_ERR_INI_SIZE
  6. alert::recError("Le fichier dépasse la limite autorisée par le serveur (fichier php.ini) !");
  7. break;
  8. case 2: // UPLOAD_ERR_FORM_SIZE
  9. alert::recError("Le fichier dépasse la limite autorisée dans le formulaire HTML !");
  10. break;
  11. case 3: // UPLOAD_ERR_PARTIAL
  12. alert::recError("L'envoi du fichier a été interrompu pendant le transfert !");
  13. break;
  14. case 4: // UPLOAD_ERR_NO_FILE
  15. alert::recError("Vous n'avez pas chargé de fichier");
  16. break;
  17. }
  18. } elseif ($_FILES[core::getPost("from")]['type'] != "text/csv") {
  19. alert::recError("Seuls les fichiers CSV sont acceptés (".$_FILES[core::getPost("from")]['type'].")");
  20. header("Location: /p=compte-upload&add=".core::getPost("add"));
  21. exit();
  22. } else {
  23. if (file_exists($_FILES[core::getPost("from")]['tmp_name'])) {
  24. $csvValue = banque::readCompte($_FILES[core::getPost("from")]);
  25. if($csvValue == FALSE){
  26. historique::recRef("/compte-".core::getPost("add").".html");
  27. historique::add(array(
  28. "idType" => historique::getIdRef("ERROR"),
  29. "idUser" => session::getId(),
  30. "idPage" => historique::getIdRef("/compte-".core::getPost("add").".html"),
  31. "log" => "Erreur lors du chargement du fichier : " . $_FILES[core::getPost("from")]['name']
  32. ));
  33. historique::recordAlert("ERROR");
  34. header("Location: /compte-".core::getPost("add").".html");
  35. exit();
  36. }
  37. $data["md5File"] = file::record($_FILES[core::getPost("from")]);
  38. if($data["md5File"] == FALSE){
  39. alert::recError("Ce CSV " . $_FILES[core::getPost("from")]['name'] . " a déjà été importé.");
  40. header("Location: /compte-historique-csv.html");
  41. exit();
  42. }
  43. // Backup
  44. (backup::create()) ? alert::recSuccess("Backup des données OK") : alert::recError("Backup des données KO");
  45. banque::addMd5CSV($data["md5File"], core::getPost("add"));
  46. // Création du CSV
  47. json::create("banque-csv");
  48. json::create("banque-lignes-".core::getPost("add"));
  49. $nbLignes = banque::recordLignes($csvValue, core::getPost("add"));
  50. if($nbLignes == 0){
  51. $log = "Aucune ligne n'a été extraite du fichier : " . $_FILES[core::getPost("from")]['name'];
  52. } elseif($nbLignes == 1){
  53. $log = "Une seule ligne n'a été extraite du fichier : " . $_FILES[core::getPost("from")]['name'];
  54. } else {
  55. $log = $nbLignes . " lignes n'ont été extraites du fichier : " . $_FILES[core::getPost("from")]['name'];
  56. }
  57. historique::recRef("/compte-".core::getPost("add").".html");
  58. historique::add(array(
  59. "idType" => historique::getIdRef("ACTION"),
  60. "idUser" => session::getId(),
  61. "idPage" => historique::getIdRef("/compte-".core::getPost("add").".html"),
  62. "log" => $log
  63. ));
  64. historique::recordAlert("SUCCESS");
  65. alert::recSuccess($log);
  66. header("Location: /compte-".core::getPost("add").".html");
  67. exit();
  68. } else {
  69. historique::recRef("/compte-".core::getPost("add").".html");
  70. historique::add(array(
  71. "idType" => historique::getIdRef("ERROR"),
  72. "idUser" => session::getId(),
  73. "idPage" => historique::getIdRef("/compte-".core::getPost("add").".html"),
  74. "log" => "Erreur lors du chargement du fichier : " . $_FILES[core::getPost("from")]['name']
  75. ));
  76. historique::recordAlert("ERROR");
  77. alert::recError("Erreur lors du chargement du fichier : " . $_FILES[core::getPost("from")]['name']);
  78. }
  79. }
  80. header("Location: /compte-".core::getPost("add").".html");
  81. exit();
  82. } else {
  83. header('HTTP/1.0 401 Unauthorized');
  84. exit();
  85. }