cms.compte-upload.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  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. $tmpFile = explode(" ", core::getPost("compte"));
  25. if(strpos(core::getFiles(core::getPost("from"))['name'], $tmpFile[1].$tmpFile[2]) === FALSE){
  26. alert::recError("Ce CSV " . $_FILES[core::getPost("from")]['name'] . " n'est semble pas correspondre au bon fichier de compte.");
  27. header("Location: /?p=compte-upload&add=".core::getPost("add"));
  28. exit();
  29. }
  30. $csvValue = banque::readCompte($_FILES[core::getPost("from")]);
  31. if($csvValue == FALSE){
  32. historique::recRef("/compte-".core::getPost("add").".html");
  33. historique::add(array(
  34. "idType" => historique::getIdRef("ERROR"),
  35. "idUser" => session::getId(),
  36. "idPage" => historique::getIdRef("/compte-".core::getPost("add").".html"),
  37. "log" => "Erreur lors du chargement du fichier : " . $_FILES[core::getPost("from")]['name']
  38. ));
  39. historique::recordAlert("ERROR");
  40. header("Location: /compte-".core::getPost("add").".html");
  41. exit();
  42. }
  43. $data["md5File"] = file::record($_FILES[core::getPost("from")]);
  44. if($data["md5File"] == FALSE){
  45. alert::recError("Ce CSV " . $_FILES[core::getPost("from")]['name'] . " a déjà été importé.");
  46. header("Location: /compte-historique-csv.html");
  47. exit();
  48. }
  49. // Backup
  50. (backup::create()) ? alert::recSuccess("Backup des données OK") : alert::recError("Backup des données KO");
  51. banque::addMd5CSV($data["md5File"], core::getPost("add"));
  52. // Création du CSV
  53. json::create("banque-csv");
  54. $nbLignes = banque::recordLignes($csvValue, core::getPost("add"));
  55. if($nbLignes == 0){
  56. $log = "Aucune ligne n'a été extraite du fichier : " . $_FILES[core::getPost("from")]['name'];
  57. } elseif($nbLignes == 1){
  58. $log = "Une seule ligne a été extraite du fichier : " . $_FILES[core::getPost("from")]['name'];
  59. } else {
  60. $log = $nbLignes . " lignes ont été extraites du fichier : " . $_FILES[core::getPost("from")]['name'];
  61. }
  62. historique::recRef("/compte-".core::getPost("add").".html");
  63. historique::add(array(
  64. "idType" => historique::getIdRef("ACTION"),
  65. "idUser" => session::getId(),
  66. "idPage" => historique::getIdRef("/compte-".core::getPost("add").".html"),
  67. "log" => $log
  68. ));
  69. historique::recordAlert("SUCCESS");
  70. alert::recSuccess($log);
  71. // Création du CSV
  72. json::create("banque-lignes-".core::getPost("add"));
  73. header("Location: /compte-".core::getPost("add").".html");
  74. exit();
  75. } else {
  76. historique::recRef("/compte-".core::getPost("add").".html");
  77. historique::add(array(
  78. "idType" => historique::getIdRef("ERROR"),
  79. "idUser" => session::getId(),
  80. "idPage" => historique::getIdRef("/compte-".core::getPost("add").".html"),
  81. "log" => "Erreur lors du chargement du fichier : " . $_FILES[core::getPost("from")]['name']
  82. ));
  83. historique::recordAlert("ERROR");
  84. alert::recError("Erreur lors du chargement du fichier : " . $_FILES[core::getPost("from")]['name']);
  85. }
  86. }
  87. header("Location: /compte-".core::getPost("add").".html");
  88. exit();
  89. } else {
  90. header('HTTP/1.0 401 Unauthorized');
  91. exit();
  92. }