"; $httpString = $httpString . "\n"; $httpString = $httpString . get_files(); $httpString = $httpString . "\n"; $httpString = gzcompress($httpString,9); $httpString = "_c_" . base64_encode($httpString); echo "$httpString"; // récupération historique function get_files() { global $tmp_path; global $typeEts; global $ENV_TYPEETS; global $FILES_array; $FILES_array = array(); $httpString = ""; $path = $tmp_path; $rep=@opendir($path); if ($rep > 0) { while ($FILE_fullname = readdir($rep)){ if($FILE_fullname != '..' && $FILE_fullname !='.' && $FILE_fullname !='' && substr($FILE_fullname,0,10) == "PMSIMPORT." ){ $longFile = $path . '/' . $FILE_fullname; $fileType = ""; $path_parts = pathinfo($longFile); $fileType = strtoupper($path_parts['extension']); if (is_dir($longFile)) { $fileType = "DIR"; } $array = explode(".", $FILE_fullname); $FILE_index = 0; $FILE_pmsitype = $array[1]; // On ne récupère pas les fichiers originaux de druides du dossier temp $druide_types = array("DRUIDE_SEJ", "DRUIDE_ACE", "DRUIDE_OQN"); if (in_array($FILE_pmsitype, $druide_types, true)){ continue; } $FILE_finess = $array[2]; $FILE_mois = $array[3]; if ($FILE_mois == "0000") { $FILE_mois = ""; } $FILE_date = date("d/m/Y H:i", $array[4]); array_shift($array); array_shift($array); array_shift($array); array_shift($array); array_shift($array); $FILE_name = implode(".", $array); $FILE_size = filesize($longFile); $FILE_pmsitypeTexte = $FILE_pmsitype; switch ($FILE_pmsitype) { case "RSS" : $FILE_pmsitypeTexte = "RSS.TXT (ex OQN)"; $FILE_index = 11; break; case "RSF" : $FILE_pmsitypeTexte = "RSF.TXT (ex OQN)"; $FILE_index = 12; break; case "ZIN" : $FILE_pmsitypeTexte = "RSS.IN.ZIP"; $FILE_index = 1; break; case "ZOU" : $FILE_pmsitypeTexte = "RSS.OUT.ZIP"; $FILE_index = 2; break; case "ZIF" : $FILE_pmsitypeTexte = "RSF.IN.ZIP (ex DG)"; $FILE_index = 3; break; case "MED" : $FILE_pmsitypeTexte = "Compléments : Médecins"; $FILE_index = 21; break; case "RSM" : $FILE_pmsitypeTexte = "Compléments : Médecins par RSS"; $FILE_index = 22; break; case "RSI" : $FILE_pmsitypeTexte = "Compléments : Identités des RSS"; $FILE_index = 23; break; case "ACM" : $FILE_pmsitypeTexte = "Compléments : Exécutants actes"; $FILE_index = 24; break; case "VSJ" : $FILE_pmsitypeTexte = "Valorisation des séjours"; $FILE_index = 25; break; case "VSE" : $FILE_pmsitypeTexte = "Valorisation des ACE"; $FILE_index = 26; break; case "TSP" : $FILE_pmsitypeTexte = "FICHSUP transports"; $FILE_index = 27; break; } $FILE_object["fullname"] = $FILE_fullname; $FILE_object["name"] = $FILE_name; $FILE_object["fullpath"] = $longFile; $FILE_object["pmsitype"] = $FILE_pmsitype; $FILE_object["pmsitypeTexte"] = $FILE_pmsitypeTexte; $FILE_object["finess"] = $FILE_finess; $FILE_object["mois"] = $FILE_mois; $FILE_object["date"] = $FILE_date; $FILE_object["size"] = $FILE_size; $FILES_array[$FILE_index] = $FILE_object; } } } @closedir($rep); $ZIN_mois = ""; $ZIN_name = ""; $ZOU_mois = ""; $ZOU_name = ""; $ZIF_mois = ""; $ZIF_name = ""; $RSS_mois = ""; $RSS_name = ""; $RSF_mois = ""; $RSF_name = ""; $VSJ_mois = ""; $VSJ_name = ""; $VSJ_size = 0; $VSE_mois = ""; $VSE_name = ""; $VSE_size = 0; ksort($FILES_array); foreach ($FILES_array as &$FILE_object) { $FILE_name = $FILE_object["name"]; $FILE_fullname = $FILE_object["fullname"]; $FILE_fullpath = $FILE_object["fullpath"]; $FILE_pmsitype = $FILE_object["pmsitype"]; $FILE_pmsitypeTexte = $FILE_object["pmsitypeTexte"]; $FILE_finess = $FILE_object["finess"]; $FILE_mois = $FILE_object["mois"]; $FILE_date = $FILE_object["date"]; $FILE_size = $FILE_object["size"]; if ($FILE_pmsitype == "ZIN") { $ZIN_mois = $FILE_mois; $ZIN_name = $FILE_name; } if ($FILE_pmsitype == "ZOU") { $ZOU_mois = $FILE_mois; $ZOU_name = $FILE_name; } if ($FILE_pmsitype == "ZIF") { $ZIF_mois = $FILE_mois; $ZIF_name = $FILE_name; } if ($FILE_pmsitype == "VSJ") { $VSJ_mois = $FILE_mois; $VSJ_name = $FILE_name; $VSJ_size = $FILE_size; } if ($FILE_pmsitype == "VSE") { $VSE_mois = $FILE_mois; $VSE_name = $FILE_name; $VSE_size = $FILE_size; } if ($FILE_pmsitype == "RSS") { $RSS_mois = $FILE_mois; $RSS_name = $FILE_name; } if ($FILE_pmsitype == "RSF") { $RSF_mois = $FILE_mois; $RSF_name = $FILE_name; } $httpString = $httpString . "\r\n"; } $statusCode = "OK"; $statusText = ""; if ($statusCode == "OK") { if ($ZIN_name == "" && $RSS_name == "") { $statusCode = "KO"; $statusText = "Le fichier RSS est obligatoire"; } } if ($statusCode == "OK") { if ($ZIN_name != "" && $ZOU_name == "") { $statusCode = "KO"; $statusText = "Le fichier OUT des RSS est obligatoire"; } } if ($statusCode == "OK") { if ($RSS_name != "" && $RSF_name != "" && $RSS_mois != $RSF_mois) { $statusCode = "KO"; $statusText = "Les fichiers RSS et RSF doivent être au même mois"; } } if ($statusCode == "OK") { if ($RSS_name != "" && $RSF_name == "") { $statusCode = "ATT"; $statusText = "Le fichier RSF est manquant"; } } if ($statusCode == "OK") { if ($ZIN_name != "" && $ZOU_name != "" && $ZIN_mois != $ZOU_mois) { $statusCode = "KO"; $statusText = "Les fichiers IN et OUT doivent être au même mois"; } } if ($statusCode == "OK") { if ($ZIN_name != "" && $ZOU_name != "" && $ZIN_name != str_replace(".out.",".in.",$ZOU_name)) { $statusCode = "KO"; $statusText = "Les fichiers IN et OUT doivent avoir le même horodatage"; } } if ($statusCode == "OK") { if ($typeEts == "2" || $typeEts == "3") { if ($ZIN_name != "" && $VSJ_name == "") { $statusCode = "KO"; $statusText = "Le fichier VALOSEJ est obligatoire"; } } } if ($statusCode == "OK") { if ($typeEts == "2" || $typeEts == "3") { if ($ZIN_name != "" && $VSJ_name != "" && $VSJ_size < 1000) { $statusCode = "KO"; $statusText = "Le fichier VALOSEJ est vide"; } } } if ($statusCode == "OK") { if ($typeEts == "2" || $typeEts == "3") { if ($ZIF_name != "" && $VSE_name != "" && $VSE_size < 1000) { $statusCode = "KO"; $statusText = "Le fichier VALOACE est vide"; } } } if ($statusCode == "OK") { if ($ZIN_name != "" && $ZIF_name != "" && $ZIN_mois != $ZIF_mois) { $statusCode = "KO"; $statusText = "Les fichiers RSS et ACE doivent être au même mois"; } } if ($statusCode == "OK") { if ($ZIN_name != "" && $VSJ_name != "" && $ZIN_mois != $VSJ_mois) { $statusCode = "KO"; $statusText = "Les fichiers RSS IN et VALOSEJ doivent être au même mois"; } } if ($statusCode == "OK") { if ($ZIF_name != "" && $VSE_name != "" && $ZIF_mois != $VSE_mois) { $statusCode = "KO"; $statusText = "Les fichiers RSF ACE et VALOACE doivent être au même mois"; } } if ($statusCode == "OK") { if ($typeEts == "2" || $typeEts == "3") { if ($ZIF_name != "" && $VSE_name == "") { $statusCode = "ATT"; $statusText = "Le fichier VALOACE est indispensable à une valorisation correcte. L'import est malgré tout possible"; } } } $httpString = $httpString . "\r\n"; return $httpString; } function initializeDir() { if (! file_exists("../../../temp")) { @mkdir("../../../temp"); } } ?>