2
0

cms.compte-upload.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  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. $nbLignes = banque::recordLignes($csvValue, core::getPost("add"));
  49. if($nbLignes == 0){
  50. $log = "Aucune ligne n'a été extraite du fichier : " . $_FILES[core::getPost("from")]['name'];
  51. } elseif($nbLignes == 1){
  52. $log = "Une seule ligne n'a été extraite du fichier : " . $_FILES[core::getPost("from")]['name'];
  53. } else {
  54. $log = $nbLignes . " lignes n'ont été extraites du fichier : " . $_FILES[core::getPost("from")]['name'];
  55. }
  56. historique::recRef("/compte-".core::getPost("add").".html");
  57. historique::add(array(
  58. "idType" => historique::getIdRef("ACTION"),
  59. "idUser" => session::getId(),
  60. "idPage" => historique::getIdRef("/compte-".core::getPost("add").".html"),
  61. "log" => $log
  62. ));
  63. historique::recordAlert("SUCCESS");
  64. alert::recSuccess($log);
  65. // Création du CSV
  66. json::create("banque-lignes-".core::getPost("add"));
  67. header("Location: /compte-".core::getPost("add").".html");
  68. exit();
  69. } else {
  70. historique::recRef("/compte-".core::getPost("add").".html");
  71. historique::add(array(
  72. "idType" => historique::getIdRef("ERROR"),
  73. "idUser" => session::getId(),
  74. "idPage" => historique::getIdRef("/compte-".core::getPost("add").".html"),
  75. "log" => "Erreur lors du chargement du fichier : " . $_FILES[core::getPost("from")]['name']
  76. ));
  77. historique::recordAlert("ERROR");
  78. alert::recError("Erreur lors du chargement du fichier : " . $_FILES[core::getPost("from")]['name']);
  79. }
  80. }
  81. header("Location: /compte-".core::getPost("add").".html");
  82. exit();
  83. } else {
  84. header('HTTP/1.0 401 Unauthorized');
  85. exit();
  86. }