diff --git a/bin/greffe.php b/bin/greffe.php index 8b6b23bf..c6740897 100644 --- a/bin/greffe.php +++ b/bin/greffe.php @@ -40,13 +40,12 @@ if (isset($opts->list)){ $types = array('bi', 'ac'); -//Configuration FTP +// Configuration FTP define ('ACTES_IGNUM_FTP_URL', 'ftp.scores-decisions.com'); define ('ACTES_IGNUM_FTP_USER', 'mpc2500'); define ('ACTES_IGNUM_FTP_PASS', 'passmpc78'); -define ('ACTES_IGNUM_LOCAL_DIR', $c->profil->path->shared.'/files/'); -define ('PATH_DATA', $c->profil->infogreffe->storage->path); +$pathIn = $c->profil->path->shared.'/files'; $report_email = $c->profil->mail->email->support; $report_subject = 'Traitement des actes '.date('Y-m-d H:i:s'); @@ -174,7 +173,12 @@ if (!$login_result) { echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de s'authentifier sur le serveur FTP (".ACTES_IGNUM_FTP_URL.")!\n"; exit; } +ftp_pasv($conn_id, true); $contents = ftp_nlist($conn_id, "*.pdf"); +if ($contents === false) { + echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de se connecter au serveur FTP (".ACTES_IGNUM_FTP_URL.") !\n"; + exit; +} /** * Liste de tout les fichiers disponible dans le repertoire @@ -185,8 +189,7 @@ foreach ($contents as $filename){ $indice = 0; $f = strtolower($filename); if (preg_match('/g-(ac|bi)-[0-9]+\.pdf/', $f) - || preg_match('/g-(ac|bi)-[0-9]+-[0-9]{1,2}\.pdf/', $f)){ - + || preg_match('/g-(ac|bi)-[0-9]+-[0-9]{1,2}\.pdf/', $f)) { $part = substr(str_replace('.pdf', '', $f), 5); $p = strpos($part, '-'); if ( $p === false ) { @@ -200,7 +203,7 @@ foreach ($contents as $filename){ } // Fichiers en anomalies else { - if ($test){ + if ($test) { echo "Erreur : Anomalie fichier numérisé $filename\n"; } else { $subject = "Erreur : Anomalie fichier numérisé"; @@ -226,12 +229,10 @@ krsort($tabFichiersFtp); */ $lastRef = ''; $tabFichiersTemp = array(); -foreach($tabFichiersFtp as $k => $val) -{ - +foreach($tabFichiersFtp as $k => $val) { $part = substr($k, 5); $p = strpos($part, '-'); - if ( $p === false ) { + if ($p === false) { $ref = substr($k, 0, 5) . $part; } else { $ref = substr($k, 0, 5) . substr($part, 0, $p); @@ -250,32 +251,25 @@ unset($tabFichiersTemp); * Pour chaque commande, test de la présence d'un fichier associé * Si le fichier correspond téléchargement du fichier */ -foreach ( $tabCommandes as $ref => $commande ) { - foreach ( $tabFichiers as $refAssocie => $fichier ) { - - if ( $ref == $refAssocie ) { +foreach ($tabCommandes as $ref => $commande) { + foreach ($tabFichiers as $refAssocie => $fichier) { + if ($ref == $refAssocie) { echo date ('Y/m/d - H:i:s')." - Traitement de la commande $ref\n"; - - if ( $test ) { - + if ($test) { echo date ('Y/m/d - H:i:s')." - Fichier $fichier \n"; - } else { - // Récupération du fichier depuis le FTP (s'il n'existe pas déjà) - if ( !file_exists(ACTES_IGNUM_LOCAL_DIR.$fichier) ) { - if (ftp_get($conn_id, ACTES_IGNUM_LOCAL_DIR.$fichier, $fichier, FTP_BINARY, 0)) { + if (!file_exists($pathIn.'/'.$fichier)) { + if (ftp_get($conn_id, $pathIn.'/'.$fichier, $fichier, FTP_BINARY, 0)) { echo date ('Y/m/d - H:i:s')." - Fichier $fichier téléchargé depuis le serveur FTP.\n"; } else { echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de télécharger le fichier $fichier !\n"; } } - switch ( substr($ref,2,2) ) { - + switch (substr($ref,2,2)) { case 'BI': - $infogreffe = new Metier_Infogreffe_DocBI(); $infogreffe->setSiren($commande->siren); //Format date cloture @@ -284,20 +278,18 @@ foreach ( $tabCommandes as $ref => $commande ) { substr($commande->bilanCloture,8,2); $path = $infogreffe->getFilePath($commande->bilanType, $dateCloture); $nomCible = $infogreffe->getFileName($commande->bilanType, $dateCloture); - - $fileOut = PATH_DATA.'/'.$path.'/'.$nomCible; + $fileOut = $c->profil->infogreffe->storage->path.'/'.$path.'/'.$nomCible; $isFileOnStorage = false; - if (file_exists($fileOut)) { $isFileOnStorage = true; - echo date ('Y/m/d - H:i:s')." - Fichier ".ACTES_IGNUM_LOCAL_DIR.$fichier." déjà présent en ".$fileOut.".\n"; + echo date ('Y/m/d - H:i:s')." - Fichier ".$pathIn.'/'.$fichier." déjà présent en ".$fileOut.".\n"; } else { - if (copy(ACTES_IGNUM_LOCAL_DIR.$fichier, $fileOut)) { + if (copy($pathIn.'/'.$fichier, $fileOut)) { $isFileOnStorage = true; - echo date ('Y/m/d - H:i:s')." - Fichier ".ACTES_IGNUM_LOCAL_DIR.$fichier." déplacé en ".$fileOut.".\n"; + echo date ('Y/m/d - H:i:s')." - Fichier ".$pathIn.'/'.$fichier." déplacé en ".$fileOut.".\n"; } else { - echo date ('Y/m/d - H:i:s')." ERREUR - Impossible de déplacer ".ACTES_IGNUM_LOCAL_DIR.$fichier." en ".$fileOut." !\n"; + echo date ('Y/m/d - H:i:s')." ERREUR - Impossible de déplacer ".$pathIn.'/'.$fichier." en ".$fileOut." !\n"; } } @@ -359,19 +351,19 @@ foreach ( $tabCommandes as $ref => $commande ) { $options = $item->numGreffe . '-' . substr($item->numRC,0,2) . '-' . substr($item->numRC,2,1) . '-' . substr($item->numRC,3) . '-' . $item->num_depot; $nomCible = $infogreffe->getFileName($date, $commande->acteNum, $commande->acteType, $options); - $fileOut = PATH_DATA.'/'.$path.'/'.$nomCible; + $fileOut = $c->profil->infogreffe->storage->path.'/'.$path.'/'.$nomCible; $isFileOnStorage = false; if (file_exists($fileOut)) { $isFileOnStorage = true; - echo date ('Y/m/d - H:i:s')." - Fichier ".ACTES_IGNUM_LOCAL_DIR.$fichier." déjà présent en ".$fileOut.".\n"; + echo date ('Y/m/d - H:i:s')." - Fichier ".$pathIn.'/'.$fichier." déjà présent en ".$fileOut.".\n"; } else { - if (copy(ACTES_IGNUM_LOCAL_DIR.$fichier, $fileOut)) { + if (copy($pathIn.'/'.$fichier, $fileOut)) { $isFileOnStorage = true; - echo date ('Y/m/d - H:i:s')." - Fichier ".ACTES_IGNUM_LOCAL_DIR.$fichier." déplacé en ".$fileOut.".\n"; + echo date ('Y/m/d - H:i:s')." - Fichier ".$pathIn.'/'.$fichier." déplacé en ".$fileOut.".\n"; } else { - echo date ('Y/m/d - H:i:s')." ERREUR - Impossible de déplacer ".ACTES_IGNUM_LOCAL_DIR.$fichier." en ".$fileOut." !\n"; + echo date ('Y/m/d - H:i:s')." ERREUR - Impossible de déplacer ".$pathIn.'/'.$fichier." en ".$fileOut." !\n"; } } @@ -397,8 +389,8 @@ foreach ( $tabCommandes as $ref => $commande ) { break; } - //Envoi du mail et Mise à jour de la commande - if ( file_exists($fileOut) ) { + // Envoi du mail et Mise à jour de la commande + if (file_exists($fileOut)) { if ( $testMail ) { echo "Envoi fichier $nomCible ($ref) à ".$commande->email; } else { @@ -440,6 +432,7 @@ if (empty($report_txt)) { //Envoi du mail de rapport if (!$test && !$testMail){ + $headers = 'From: supportdev@scores-decisions.com'; if (mail($report_email, $report_subject, utf8_decode($report_txt))){ echo date ('Y/m/d - H:i:s')." - Rapport envoyé.\n"; } else {