2009-02-17 13:14:53 +00:00
#!/usr/bin/php -q
< ? php
2009-02-20 13:04:46 +00:00
define ( 'ACTES_IGNUM_LOCAL_DIR' , '/var/www/extranet/www/pdf/scan/' );
2009-03-02 11:27:23 +00:00
define ( 'ACTES_IG_LOCAL_DIR' , '/var/www/extranet/www/pdf/' );
2009-02-17 13:14:53 +00:00
define ( 'ACTES_IGNUM_FTP_URL' , 'ftp2.scores-decisions.com' );
define ( 'ACTES_IGNUM_FTP_USER' , 'mpc2500' );
define ( 'ACTES_IGNUM_FTP_PASS' , 'passmpc78' );
require_once realpath ( dirname ( __FILE__ ) . '/../framework/fwk.php' );
2009-02-20 15:30:11 +00:00
require_once realpath ( dirname ( __FILE__ ) . '/../config/config.inc' );
2009-03-12 17:35:43 +00:00
require_once realpath ( dirname ( __FILE__ ) . '/mysql.php' );
2009-02-20 15:30:11 +00:00
define ( 'INCLUDE_PATH' , realpath ( dirname ( __FILE__ ) . '/../includes/' ) );
2009-02-17 13:14:53 +00:00
2009-02-20 09:40:39 +00:00
include_once ( FWK_PATH . '/common/ftp.php' );
2009-02-17 13:14:53 +00:00
$tempsMinEntreRequetes = 5 ;
$tempsMaxEntreRequetes = 30 ;
set_time_limit ( 0 );
$eol = " \n " ;
$lastJO = $dateDebut = $dateFin = $verif = false ;
$strInfoProg = 'Usage : ' . basename ( $argv [ 0 ]) . " [OPTION]
V<EFBFBD> rifie les actes num<EFBFBD> ris<EFBFBD> s re<EFBFBD> us en provenance des Greffes .
Sans aucun param<EFBFBD> tre , r<EFBFBD> cup<EFBFBD> ration des actes .
" ;/*Sinon:
2009-06-08 09:22:59 +00:00
- d : JJ / MM / AAAA Date de d<EFBFBD> but de publication
- f : JJ / MM / AAAA Date de fin de publication
- l Dernier JO Association uniquement ( * )
- n : X Intervalle MIN en secondes entre les requ<EFBFBD> tes sur le site des JO ( d<EFBFBD> faut = $tempsMinEntreRequetes )
- i : X \ " MAX \" \" \" \" \" \" \" \" \" \" (d<> faut= $tempsMaxEntreRequetes )
- v V<EFBFBD> rifier que toutes les annonces du JO sont en base !
2009-02-17 13:14:53 +00:00
" ;*/
$argv = $_SERVER [ 'argv' ];
if ( $_SERVER [ 'argc' ] == 1 ) $lastJO = true ;
else {
2009-06-08 09:22:59 +00:00
for ( $i = 1 ; isset ( $argv [ $i ]); $i ++ ) {
if ( substr ( $argv [ $i ], 0 , 1 ) == '-' ) {
switch ( substr ( $argv [ $i ], 1 , 1 )) {
case 'd' :
$dateDebut = substr ( $argv [ $i ], 3 , 10 );
$dateDeb = dateT ( 'd/m/Y' , 'Ymd' , $dateDebut );
break ;
case 'n' :
$tempsMinEntreRequetes = trim ( substr ( $argv [ $i ], 3 )) * 1 ;
if ( $tempsMinEntreRequetes < 0 ) $tempsMinEntreRequetes = 0 ;
break ;
case '-' :
die ( $strInfoProg );
break ;
default : die ( 'Option ' . $argv [ $i ] . " inconnue ! \n " );
}
2009-02-17 13:14:53 +00:00
}
2009-06-08 09:22:59 +00:00
}
2009-02-17 13:14:53 +00:00
}
2009-02-20 15:30:11 +00:00
$con = mysql_pconnect ( MYSQL_HOST , MYSQL_USER , MYSQL_PASS );
2009-02-17 13:14:53 +00:00
if ( ! ( $con === false )) {
2009-06-08 09:22:59 +00:00
if ( mysql_select_db ( MYSQL_DB , $con ) === false )
echo date ( 'Y/m/d - H:i:s' ) . ' - ERREUR : MySql n<> ' . mysql_errno () . ') : ' . mysql_error () . $eol ;
2009-02-17 13:14:53 +00:00
}
2009-06-08 09:22:59 +00:00
else
echo date ( 'Y/m/d - H:i:s' ) . ' - ERREUR : MySql n<> ' . mysql_errno () . ') : ' . mysql_error () . $eol ;
2009-02-17 13:14:53 +00:00
$tabCommandes = mysql_select ( 'commandes' , 'idCommande, idUser, login, emailCommande, siren, refDocument, dateCommande' , 'dateReception=0' , false , MYSQL_ASSOC );
$nbCommandes = count ( $tabCommandes );
$tabTmp = array ();
foreach ( $tabCommandes as $commande ) {
$tabTmp [ 'g' . $commande [ 'idCommande' ]] = $commande ;
}
$tabCommandes = $tabTmp ;
unset ( $tabTmp );
echo date ( 'Y/m/d - H:i:s' ) . " - Il y a $nbCommandes actes en attente de r<> ception courrier ou num<75> risation ! $eol " ;
//print_r($tabCommandes);
//die();
/**
** Connexion au site FTP
**/
echo date ( 'Y/m/d - H:i:s' ) . " - R<> cup<75> ration des fichiers num<75> ris<69> s en attente de traitement... " . EOL ;
$ret = ftp_mget ( ACTES_IGNUM_FTP_URL , ACTES_IGNUM_FTP_USER , ACTES_IGNUM_FTP_PASS , '*.pdf' , ACTES_IGNUM_LOCAL_DIR , false );
if ( $ret === false )
2009-06-08 09:22:59 +00:00
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : R<> cup<75> ration des actes num<75> ris<69> s impossible ! " . EOL );
2009-02-17 13:14:53 +00:00
else
2009-06-08 09:22:59 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - FIN de la r<> cup<75> ration des flux Hugin en FTP ( $ret fichiers r<> cup<75> r<EFBFBD> s). " . EOL ;
2009-02-17 13:14:53 +00:00
/**
** Connexion au site FTP
**/
echo date ( 'Y/m/d - H:i:s' ) . " - Traitement des actes non encore trait<69> s ! " . EOL ;
$tabFichiers = array ();
$dh = opendir ( ACTES_IGNUM_LOCAL_DIR );
while ( false !== ( $filename = readdir ( $dh ))) {
if ( $filename <> '.' && $filename <> '..' && strtolower ( substr ( $filename , - 4 )) == '.pdf' )
2009-06-08 09:22:59 +00:00
$tabFichiers [] = $filename ;
2009-02-17 13:14:53 +00:00
}
rsort ( $tabFichiers );
$tabActes = array ();
foreach ( $tabFichiers as $k => $nomFichier ) {
if ( strtolower ( substr ( $nomFichier , 0 , 1 )) == 'g' ) {
echo date ( 'Y/m/d - H:i:s' ) . " - Fichier $nomFichier disponible pour traitement. " . EOL ;
$numFichier = str_replace ( '.pdf' , '' , $nomFichier );
$tabActes [] = $nomFichier ;
if ( isset ( $tabCommandes [ $numFichier ]) && is_array ( $tabCommandes [ $numFichier ])) {
$commande = $tabCommandes [ $numFichier ];
echo date ( 'Y/m/d - H:i:s' ) . " - Le fichier $nomFichier correspond <20> la commande " . $commande [ 'refDocument' ] . ' de ' . $commande [ 'login' ] . '.' . EOL ;
$numFichierSuiv = str_replace ( '.pdf' , '' , $tabFichiers [ $k + 1 ]);
if ( strpos ( $numFichierSuiv , $numFichier ) === false ) {
/** Le fichier $nomFichier est une commande livr<76> e en un seul fichier **/
$siren = $commande [ 'siren' ];
$ref = $commande [ 'refDocument' ];
$nomCible = " acte- $siren - $ref .pdf " ;
if ( file_exists ( ACTES_IG_LOCAL_DIR . $nomCible ))
2009-06-08 09:22:59 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - La commande $nomCible est d<> j<EFBFBD> mise <20> disposition ! " . EOL ;
2009-02-17 13:14:53 +00:00
else {
if ( rename ( ACTES_IGNUM_LOCAL_DIR . $nomFichier , ACTES_IG_LOCAL_DIR . $nomCible )) {
2009-06-08 09:22:59 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - La commande $nomCible a <20> t<EFBFBD> mise <20> disposition. " . EOL ;
2009-02-17 13:14:53 +00:00
if ( trim ( $commande [ 'emailCommande' ]) <> '' ) {
2009-06-08 09:22:59 +00:00
$subject = " Actes ou Statuts disponible pour $siren " ;
$message = " Le document command<6E> pour le siren $siren est disponible en t<> l<EFBFBD> chargement sur le site de Scores & D<> cisions <20> l'adresse suivante : \r \n \r \n " ;
$message .= " http://extranet.scores-decisions.com/pdf/ $nomCible\r\n " ;
$headers = 'From: infoslegales@scores-decisions.com' . " \r \n " .
2009-02-17 13:14:53 +00:00
'Reply-To: infoslegales@scores-decisions.com' ;
if ( mail ( $commande [ 'emailCommande' ], $subject , $message , $headers ))
2009-06-08 09:22:59 +00:00
echo date ( 'Y/m/d - H:i:s' ) . ' - Un email a <20> t<EFBFBD> envoy<6F> <20> ' . $commande [ 'emailCommande' ] . " pour la commande $nomCible . " . EOL ;
else
echo date ( 'Y/m/d - H:i:s' ) . ' - ERREUR : Impossible d\'envoyer l\'email <20> ' . $commande [ 'emailCommande' ] . " pour la commande $nomCible . " . EOL ;
2009-02-17 13:14:53 +00:00
}
mysql_update ( 'commandes' , array ( 'dateReception' => date ( 'YmdHis' )), 'idCommande=' . $commande [ 'idCommande' ]);
2009-06-08 09:22:59 +00:00
//print_r($tabCommandes[$numFichier]);
2009-02-17 13:14:53 +00:00
}
2009-03-12 17:35:43 +00:00
else print 'Impossible de d<> placer ' . ACTES_IGNUM_LOCAL_DIR . $nomFichier . ' en ' . ACTES_IG_LOCAL_DIR . $nomCible . ' !' . EOL ;
2009-02-17 13:14:53 +00:00
}
}
else
2009-06-08 09:22:59 +00:00
// On traitera plus tard le multi fichier !
echo date ( 'Y/m/d - H:i:s' ) . " - @TODO : La commande $numFichier est en plusieur fichiers ! " . EOL ;
// die();
2009-02-17 13:14:53 +00:00
}
}
}
2009-06-08 09:22:59 +00:00
?>