2014-01-16 10:47:25 +00:00
< ? php
// Define path to application directory
defined ( 'APPLICATION_PATH' )
|| define ( 'APPLICATION_PATH' , realpath ( dirname ( __FILE__ ) . '/../../application' ));
// Define application environment
defined ( 'APPLICATION_ENV' )
|| define ( 'APPLICATION_ENV' , ( getenv ( 'APPLICATION_ENV' ) ? getenv ( 'APPLICATION_ENV' ) : 'production' ));
// Ensure library/ is on include_path
set_include_path ( implode ( PATH_SEPARATOR , array (
realpath ( APPLICATION_PATH . '/../library' ),
get_include_path (),
)));
2014-02-07 16:14:36 +00:00
//Use classmap autoloader - useful with opcode and realpath cache
require_once 'Zend/Loader/AutoloaderFactory.php' ;
require_once 'Zend/Loader/ClassMapAutoloader.php' ;
Zend_Loader_AutoloaderFactory :: factory ( array (
'Zend_Loader_ClassMapAutoloader' => array (
__DIR__ . '/../../library/Zend/autoload_classmap.php' ,
__DIR__ . '/../../library/Application/autoload_classmap.php' ,
__DIR__ . '/../../library/Scores/autoload_classmap.php' ,
__DIR__ . '/../../application/autoload_classmap.php' ,
),
'Zend_Loader_StandardAutoloader' => array (
'prefixes' => array (
'Zend' => __DIR__ . '/../../library/Zend' ,
'Application' => __DIR__ . '/../../library/Application' ,
'Scores' => __DIR__ . '/../../library/Scores' ,
2014-06-11 08:10:03 +00:00
'SdMetier' => __DIR__ . '/../../library/SdMetier' ,
2014-02-07 16:14:36 +00:00
'Metier' => __DIR__ . '/../../library/Metier' ,
),
'fallback_autoloader' => true
)
));
// Zend_Application - Use it if you don't have autoloaders
//require_once 'Zend/Application.php';
2014-01-16 10:47:25 +00:00
// Create application, bootstrap, and run
$application = new Zend_Application (
APPLICATION_ENV ,
APPLICATION_PATH . '/configs/application.ini'
);
try {
$opts = new Zend_Console_Getopt (
//Options
array (
'help|?' => " Affiche l'aide. " ,
'list' => " Liste les actes en attente disponible sur le FTP et affiche les informations " ,
'get-s' => " Recupère seulement les actes du FTP (un seul document si la référence est spécifier G<NNN> ) " ,
'send-s' => " Récupère les actes et envoi un mail à chaque client (un seul acte si la référence est spécifier G<NNN>) " ,
'type-s' => " Type de document : bilan, acte " ,
'control' => " Control " ,
)
);
$opts -> parse ();
} catch ( Zend_Console_Getopt_Exception $e ) {
echo $e -> getUsageMessage ();
exit ;
}
//Usage
if ( count ( $opts -> getOptions ()) == 0 || isset ( $opts -> help ))
{
echo " Vérifie les actes numérisés reçus en provenance des Greffes. " ;
echo " \n \n " ;
echo $opts -> getUsageMessage ();
echo " \n " ;
exit ;
}
$c = new Zend_Config ( $application -> getOptions ());
Zend_Registry :: set ( 'config' , $c );
2014-03-26 15:42:52 +00:00
$testMail = false ;
2014-01-16 10:47:25 +00:00
$test = false ;
if ( isset ( $opts -> list )){
$test = true ;
}
$types = array ( 'bi' , 'ac' );
//Configuration FTP
2014-03-26 15:42:52 +00:00
define ( 'ACTES_IGNUM_FTP_URL' , '192.168.3.202' );
2014-01-16 10:47:25 +00:00
define ( 'ACTES_IGNUM_FTP_USER' , 'mpc2500' );
define ( 'ACTES_IGNUM_FTP_PASS' , 'passmpc78' );
define ( 'ACTES_IGNUM_LOCAL_DIR' , $c -> profil -> path -> files . '/' );
define ( 'PATH_DATA' , $c -> profil -> infogreffe -> storage -> path );
$report_email = $c -> profil -> mail -> email -> support ;
$report_subject = 'Traitement des actes ' . date ( 'Y-m-d H:i:s' );
$report_txt = '' ;
2014-03-26 15:42:52 +00:00
function sendMail ( $commande , $type ){
$subject = " Actes ou Statuts disponible pour " . $commande -> raisonSociale . ' (' . $commande -> siren . ')' ;
$message = " Bonjour, \n \n " ;
$message .= " Le document commandé pour " . $commande -> raisonSociale . " (siren " . $commande -> siren . " ) est disponible en téléchargement sur le site de Scores & Décisions. \r \n \r \n " ;
if ( $commande -> refClient != '' ) {
$message = " Votre référence : " . $commande -> refClient . " \r \n \r \n " ;
}
switch ( $type ) {
case 'BI' :
$dateBilan = substr ( $commande -> bilanCloture , 8 , 2 ) . '/' . substr ( $commande -> bilanCloture , 5 , 2 ) . '/' . substr ( $commande -> bilanCloture , 0 , 4 );
$message .= " Bilan cloturé le " ;
break ;
case 'AC' :
$dateActe = substr ( $commande -> acteDate , 8 , 2 ) . '/' . substr ( $commande -> acteDate , 5 , 2 ) . '/' . substr ( $commande -> acteDate , 0 , 4 );
$dateDepot = substr ( $commande -> depotDate , 8 , 2 ) . '/' . substr ( $commande -> depotDate , 5 , 2 ) . '/' . substr ( $commande -> depotDate , 0 , 4 );
$message .= " Acte n° " . $commande -> acteNum . " du " . $dateActe . " (Dépot n° " . $commande -> depotNum . " du " . $dateDepot . " ) " ;
break ;
}
$message .= " \n \n " ;
$message .= " Consulter la fiche identité http://extranet.scores-decisions.com/identite/fiche/siret/ " . $commande -> siren . " , puis rubrique \" Pieces Officielles \" \n " ;
$message .= " ou directement depuis la page suivante http://extranet.scores-decisions.com/pieces " ;
switch ( $type ) {
case 'BI' :
$message .= " /bilans/siret/ " . $commande -> siren ;
break ;
case 'AC' :
$message .= " /actes/siret/ " . $commande -> siren ;
break ;
}
$message .= " \n \n " ;
$message .= " Bien cordialement, \n " ;
$message .= " Le service support. \n " ;
$message .= " \n " ;
$message .= " -- " ;
$message .= " \n \n " ;
$message .= " SCORES & DECISIONS " ;
$message .= " \n " ;
$message .= " Service support " ;
$message .= " \n " ;
$message .= " 1, rue de Clairefontaine - 78120 RAMBOUILLET " ;
$message .= " \n " ;
$message .= " tél : 33 (0)1 75 43 80 10 " ;
$message .= " \n " ;
$message .= " fax : 33 (0)1 75 43 85 74 " ;
$message .= " \n " ;
$message .= " support@scores-decisions.com " ;
$message .= " \n " ;
$message .= " http://www.scores-decisions.com/ " ;
$message .= " \n " ;
$message .= " Scores & Décisions est l'acteur nouvelle génération de l'information et de l'évaluation des entreprises " ;
$message .= " \n \n " ;
$message .= " Pensez à l'environnement avant d'imprimer ce message ! " ;
$message .= " \n " ;
$message .= " Save paper - think before you print " ;
$message .= " \n " ;
2014-01-16 10:47:25 +00:00
$headers = 'From: infoslegales@scores-decisions.com' . " \r \n " .
'Reply-To: infoslegales@scores-decisions.com' ;
2014-03-26 15:42:52 +00:00
if ( mail ( strtolower ( $commande -> email ), $subject , utf8_decode ( $message ), $headers ) ){
echo date ( 'Y/m/d - H:i:s' ) . ' - Un email a été envoyé à ' . $commande -> email . " pour la commande " . $commande -> id . " . \n " ;
2014-01-16 10:47:25 +00:00
return true ;
} else {
2014-03-26 15:42:52 +00:00
echo date ( 'Y/m/d - H:i:s' ) . ' - ERREUR : Impossible d\'envoyer l\'email à ' . $commande -> email . " pour la commande " . $commande -> id . " . \n " ;
2014-01-16 10:47:25 +00:00
return false ;
}
}
/**
* Connexion à la base de données
*/
2014-03-26 15:42:52 +00:00
$db = Zend_Db :: factory ( $c -> profil -> db -> metier );
2014-01-16 10:47:25 +00:00
Zend_Db_Table_Abstract :: setDefaultAdapter ( $db );
/**
* List actes files and check if an entry exist in the database
* greffes / actes / AAAA / MM
* preg_match ( '/^acte-([0-9]{9})-(ST)-([0-9]{8})-.*\.pdf/' , $fichier , $matches )
* preg_match ( '/^acte-([0-9]{9})-([0-9a-zA-Z]{1,})-([0-9]{8})-.*-([0-9]{2})\.pdf/' , $fichier , $matches )
*/
if ( $opts -> control ) {
$dir = PATH_DATA . '/greffes/actes' ;
if ( is_dir ( $dir )) {
if ( $dh = opendir ( $dir )) {
//Annee
while (( $anneeDir = readdir ( $dh )) !== false ) {
if ( $anneeDir != '.' || $anneeDir != '..' ) {
echo " Dir " . $dir . DIRECTORY_SEPARATOR . $anneeDir . " \n " ;
if ( $dhAnneeDir = opendir ( $dir . DIRECTORY_SEPARATOR . $anneeDir )) {
//Mois
while (( $moisDir = readdir ( $dhAnneeDir )) !== false ) {
echo " Dir " . $dir . DIRECTORY_SEPARATOR . $anneeDir . DIRECTORY_SEPARATOR . $moisDir . " \n " ;
if ( $moisDir != '.' || $moisDir != '..' ) {
//Fichier
if ( $dhFile = opendir ( $dir . DIRECTORY_SEPARATOR . $anneeDir . DIRECTORY_SEPARATOR . $moisDir )) {
while (( $file = readdir ( $dhFile )) !== false ) {
if ( $file != '.' || $file != '..' ) {
if ( preg_match ( '/^acte-([0-9]{9})-([0-9a-zA-Z]{1,})-([0-9]{8})-.*-([0-9]{2})\.pdf/' , $file , $matches )) {
$siren = $matches [ 1 ];
$type = $matches [ 2 ];
$date = $matches [ 3 ];
$num = $matches [ 4 ];
$actesM = new Application_Model_ActesFiles ();
$sql = $actesM -> select ()
-> where ( 'siren=?' , $siren )
-> where ( 'type=?' , $type )
-> where ( 'date=?' , $date )
-> where ( 'num=?' , $num );
$result = $actesM -> fetchRow ( $sql );
if ( null === $result ) {
echo " Insert $file\n " ;
$actesM -> insert ( array (
'siren' => $siren ,
'type' => $type ,
'date' => $date ,
'num' => $num ,
'file' => $file ,
));
}
}
}
}
closedir ( $dhFile );
}
}
}
closedir ( $dhAnneeDir );
}
}
}
closedir ( $dh );
}
}
exit ;
}
/**
* Liste des commandes non traités depuis la base de données
*/
$acM = new Application_Model_Sdv1GreffeCommandesAc ();
$biM = new Application_Model_Sdv1GreffeCommandesBi ();
$tabCommandes = array ();
if ( in_array ( 'ac' , $types )) {
$sql = $acM -> select ()
-> where ( 'mode=?' , 'C' )
-> where ( 'dateCommande!=?' , '0000-00-00 00:00:00' )
-> where ( 'dateEnvoi=?' , '0000-00-00 00:00:00' );
$rows = $acM -> fetchAll ( $sql );
if ( count ( $rows ) > 0 ) {
foreach ( $rows as $row ) {
$tabCommandes [ 'G-AC-' . $row -> id ] = $row ;
}
}
}
if ( in_array ( 'bi' , $types )) {
$sql = $biM -> select ()
-> where ( 'mode=?' , 'C' )
-> where ( 'dateCommande!=?' , '0000-00-00 00:00:00' )
-> where ( 'dateEnvoi=?' , '0000-00-00 00:00:00' );
$rows = $biM -> fetchAll ( $sql );
if ( count ( $rows ) > 0 ) {
foreach ( $rows as $row ) {
$tabCommandes [ 'G-BI-' . $row -> id ] = $row ;
}
}
}
$nbCommandes = count ( $tabCommandes );
echo date ( 'Y/m/d - H:i:s' ) . " - Il y a $nbCommandes commandes en attente de réception courrier ou numérisation ! \n " ;
/**
* Connexion au site FTP pour la récupération de la liste des fichiers au format pdf
*/
$conn_id = ftp_connect ( ACTES_IGNUM_FTP_URL );
if ( ! $conn_id ) {
echo date ( 'Y/m/d - H:i:s' ) . " - ERREUR : Impossible de se connecter au serveur FTP ( " . ACTES_IGNUM_FTP_URL . " ) ! \n " ;
exit ;
}
$login_result = ftp_login ( $conn_id , ACTES_IGNUM_FTP_USER , ACTES_IGNUM_FTP_PASS );
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 ;
}
$contents = ftp_nlist ( $conn_id , " *.pdf " );
/**
* Liste de tout les fichiers disponible dans le repertoire
* et associe une clé pour faciliter le tri
*/
$tabFichiersFtp = array ();
foreach ( $contents as $filename ){
$indice = 0 ;
2014-03-26 15:42:52 +00:00
$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 )){
$part = substr ( str_replace ( '.pdf' , '' , $f ), 5 );
$p = strpos ( $part , '-' );
if ( $p === false ) {
$ref = substr ( $f , 0 , 5 ) . $part ;
$indice = 0 ;
} else {
$ref = substr ( $f , 0 , 5 ) . substr ( $part , 0 , $p );
$indice = substr ( $part , $p + 1 );
}
$tabFichiersFtp [ strtoupper ( $ref ) . '-' . $indice ] = $filename ;
2014-01-16 10:47:25 +00:00
// Fichiers en anomalies
} else {
if ( $test ){
echo " Erreur : Anomalie fichier numérisé $filename\n " ;
} else {
$subject = " Erreur : Anomalie fichier numérisé " ;
$message = " Le fichier $filename a été trouvé et ne correspond pas au format attendu " ;
$headers = 'From: supportdev@scores-decisions.com' . " \r \n " .
'Reply-To: supportdev@scores-decisions.com' ;
mail ( 'supportdev@scores-decisions.com' , $subject , $message , $headers );
}
}
}
/**
* Tri des fichiers par ordre décroissant
* Les noms des fichiers sont incrémenté par 1
*/
krsort ( $tabFichiersFtp );
/**
* Dans le cas ou il y a eu une erreur de scan , la production passe a nouveau le
* document dans le scanner et le fichier est envoyé sur le ftp
* Le document est nommé G [ ref ], G [ ref ] - 1 , G [ ref ] - 2 , ..... pdf .
* On garde donc le dernier document scanné .
*/
$lastRef = '' ;
$tabFichiersTemp = array ();
foreach ( $tabFichiersFtp as $k => $val )
{
2014-03-26 15:42:52 +00:00
$part = substr ( $k , 5 );
$p = strpos ( $part , '-' );
if ( $p === false ) {
$ref = substr ( $k , 0 , 5 ) . $part ;
} else {
$ref = substr ( $k , 0 , 5 ) . substr ( $part , 0 , $p );
}
2014-01-16 10:47:25 +00:00
if ( $lastRef != $ref ) {
$tabFichiersTemp [ $ref ] = $val ;
}
$lastRef = $ref ;
2014-03-26 15:42:52 +00:00
2014-01-16 10:47:25 +00:00
}
$tabFichiers = $tabFichiersTemp ;
unset ( $tabFichiersTemp );
/**
* Pour chaque commande , test de la présence d ' un fichier associé
* Si le fichier correspond téléchargement du fichier
*/
2014-03-26 15:42:52 +00:00
foreach ( $tabCommandes as $ref => $commande ) {
foreach ( $tabFichiers as $refAssocie => $fichier ) {
if ( $ref == $refAssocie ) {
2014-01-16 10:47:25 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - Traitement de la commande $ref\n " ;
2014-03-26 15:42:52 +00:00
if ( $test ) {
2014-01-16 10:47:25 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - Fichier $fichier \n " ;
2014-03-26 15:42:52 +00:00
2014-01-16 10:47:25 +00:00
} else {
//Récupération du fichier depuis le FTP (s'il n'existe pas déjà)
2014-03-26 15:42:52 +00:00
if ( ! file_exists ( ACTES_IGNUM_LOCAL_DIR . $fichier ) ) {
2014-01-16 10:47:25 +00:00
if ( ftp_get ( $conn_id , ACTES_IGNUM_LOCAL_DIR . $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 " ;
}
}
2014-03-26 15:42:52 +00:00
switch ( substr ( $ref , 2 , 2 ) ) {
case 'BI' :
2014-01-16 10:47:25 +00:00
2014-03-26 15:42:52 +00:00
require_once 'Metier/Infogreffe/InfogreffeBi.php' ;
2014-01-16 10:47:25 +00:00
$infogreffe = new Metier_Infogreffe_Bi ( $commande -> siren );
//Format date cloture
$dateCloture = substr ( $commande -> bilanCloture , 0 , 4 ) . substr ( $commande -> bilanCloture , 5 , 2 ) . substr ( $commande -> bilanCloture , 8 , 2 );
$path = $infogreffe -> getFilePath ( $commande -> bilanType , $dateCloture );
$nomCible = $infogreffe -> getFileName ( $commande -> bilanType , $dateCloture );
2014-07-29 13:07:09 +00:00
$fileOut = PATH_DATA . '/' . $path . '/' . $nomCible ;
2014-01-16 10:47:25 +00:00
2014-07-29 13:07:09 +00:00
$isFileOnStorage = false ;
2014-01-16 10:47:25 +00:00
2014-07-29 13:07:09 +00:00
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 " ;
} else {
if ( copy ( ACTES_IGNUM_LOCAL_DIR . $fichier , $fileOut ) ) {
$isFileOnStorage = true ;
echo date ( 'Y/m/d - H:i:s' ) . " - Fichier " . ACTES_IGNUM_LOCAL_DIR . $fichier . " déplacé en " . $fileOut . " . \n " ;
2014-01-16 10:47:25 +00:00
} else {
2014-07-29 13:07:09 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " ERREUR - Impossible de déplacer " . ACTES_IGNUM_LOCAL_DIR . $fichier . " en " . $fileOut . " ! \n " ;
}
}
if ( $isFileOnStorage && $item -> pdfDate == '0000-00-00' ) {
$bilanM = new Application_Model_JoGreffesBilans ();
$sql = $bilanM -> select ()
2014-10-23 12:09:39 +00:00
-> where ( 'siren=?' , $commande -> siren )
2014-07-29 13:07:09 +00:00
-> where ( 'date_cloture=?' , $dateCloture );
if ( $commande -> bilanType == 'sociaux' ) {
$sql -> where ( 'type_comptes="" OR type_comptes="sociaux"' );
} else {
$sql -> where ( 'type_comptes="consolides"' );
}
$item = $bilanM -> fetchRow ( $sql );
if ( $item -> pdfDate == '0000-00-00' ) {
$infos = $infogreffe -> pdfInfos ( $fileOut );
if ( false !== $infos ) {
$data = array (
'pdfLink' => $nomCible ,
'pdfSize' => $infos [ 'size' ],
'pdfPage' => $infos [ 'pages' ],
'pdfVer' => $infos [ 'version' ],
'pdfDate' => date ( 'Ymd' ),
);
try {
$result = $bilanM -> update ( $data , 'id=' . $item -> id );
} catch ( Zend_Db_Adapter_Exception $e ) {
echo $e -> getMessage ();
} catch ( Zend_Db_Exception $e ) {
echo $e -> getMessage ();
}
}
2014-01-16 10:47:25 +00:00
}
}
break ;
2014-03-26 15:42:52 +00:00
2014-01-16 10:47:25 +00:00
case 'AC' :
2014-03-26 15:42:52 +00:00
2014-01-16 10:47:25 +00:00
$acteM = new Application_Model_JoGreffesActes ();
$sql = $acteM -> select ()
2014-04-22 13:39:04 +00:00
-> from ( $acteM , array (
'id' ,
2014-04-11 08:29:58 +00:00
'siren' ,
'numRC' ,
'LPAD(numGreffe,4,0) AS numGreffe' ,
'pdfLink' ,
'pdfSize' ,
'pdfPage' ,
2014-04-22 13:39:04 +00:00
'pdfDate' ,
2014-04-11 08:29:58 +00:00
'num_depot' ,
'date_depot' ,
'date_acte' ,
'LPAD(num_acte,2,0) AS num_acte' ,
'type_acte' ,
'type_acte_libelle' ,
'nbpages_acte' ,
'decision_nature' ,
'decision_libelle' ,
'mode_diffusion'
))
2014-01-16 10:47:25 +00:00
-> where ( 'siren=?' , $commande -> siren )
-> where ( 'num_depot=?' , $commande -> depotNum )
2014-03-26 15:42:52 +00:00
-> where ( 'num_acte=?' , $commande -> acteNum )
2014-01-16 10:47:25 +00:00
-> where ( 'type_acte=?' , $commande -> acteType );
$item = $acteM -> fetchRow ( $sql );
2014-03-26 15:42:52 +00:00
require_once 'Metier/Infogreffe/InfogreffeAc.php' ;
2014-01-16 10:47:25 +00:00
$infogreffe = new Metier_Infogreffe_Ac ( $commande -> siren );
2014-03-26 15:42:52 +00:00
$date = $commande -> acteDate ;
if ( $date == '0000-00-00' ) {
$date = $commande -> depotDate ;
2014-01-16 10:47:25 +00:00
}
$path = $infogreffe -> getFilePath ( $date );
//(Numéro du Greffe)-(dossier_millesime)-(dossier_statut)-(dossier_chrono)-(num_depot)
2014-03-26 15:42:52 +00:00
$options = $item -> numGreffe . '-' . substr ( $item -> numRC , 0 , 2 ) . '-' . substr ( $item -> numRC , 2 , 1 ) . '-' . substr ( $item -> numRC , 3 ) . '-' . $item -> num_depot ;
2014-01-16 10:47:25 +00:00
$nomCible = $infogreffe -> getFileName ( $date , $commande -> acteNum , $commande -> acteType , $options );
2014-03-26 15:42:52 +00:00
$fileOut = PATH_DATA . '/' . $path . '/' . $nomCible ;
2014-01-16 10:47:25 +00:00
2014-03-26 15:42:52 +00:00
$isFileOnStorage = false ;
2014-01-16 10:47:25 +00:00
2014-03-26 15:42:52 +00:00
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 " ;
} else {
if ( copy ( ACTES_IGNUM_LOCAL_DIR . $fichier , $fileOut ) ) {
$isFileOnStorage = true ;
echo date ( 'Y/m/d - H:i:s' ) . " - Fichier " . ACTES_IGNUM_LOCAL_DIR . $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 " ;
}
}
2014-01-16 10:47:25 +00:00
2014-03-26 15:42:52 +00:00
if ( $isFileOnStorage && $item -> pdfDate == '0000-00-00' ) {
$infos = $infogreffe -> pdfInfos ( $fileOut );
if ( false !== $infos ) {
$data = array (
'pdfLink' => $nomCible ,
'pdfSize' => $infos [ 'size' ],
'pdfPage' => $infos [ 'pages' ],
'pdfVer' => $infos [ 'version' ],
'pdfDate' => date ( 'Ymd' ),
);
try {
$result = $acteM -> update ( $data , 'id=' . $item -> id );
echo " = enregistrement. \n " ;
} catch ( Zend_Db_Adapter_Exception $e ) {
echo $e -> getMessage ();
} catch ( Zend_Db_Exception $e ) {
echo $e -> getMessage ();
2014-01-16 10:47:25 +00:00
}
}
}
2014-03-26 15:42:52 +00:00
break ;
}
2014-01-16 10:47:25 +00:00
2014-03-26 15:42:52 +00:00
//Envoi du mail et Mise à jour de la commande
if ( file_exists ( $fileOut ) ) {
if ( $testMail ) {
echo " Envoi fichier $nomCible ( $ref ) à " . $commande -> email ;
} else {
$report_txt .= " $ref intégré à l'extranet " ;
$isMailSent = false ;
if ( trim ( $commande -> email ) != '' ){
$isMailSent = sendMail ( $commande , substr ( $ref , 2 , 2 ));
} else {
$isMailSent = true ;
}
if ( $isMailSent ) {
$data = array ( 'dateEnvoi' => date ( 'YmdHis' ));
switch ( substr ( $ref , 2 , 2 ) ) {
case 'BI' :
$commandesM = new Application_Model_Sdv1GreffeCommandesBi ();
break ;
case 'AC' :
$commandesM = new Application_Model_Sdv1GreffeCommandesAc ();
break ;
}
$commandesM -> update ( $data , 'id=' . $commande -> id );
echo date ( 'Y/m/d - H:i:s' ) . " - Commande $ref mise à jour \n " ;
$report_txt .= ' - Email envoyé à ' . $commande -> email ;
} else {
$report_txt .= ' - Email non envoyé !' ;
echo date ( 'Y/m/d - H:i:s' ) . " ERREUR - Email non envoyé et commande $ref non mise à jour \n " ;
}
$report_txt .= " \n " ;
}
} // Fin envoi mail
}
} // Fin condition ref
2014-01-16 10:47:25 +00:00
}
}
ftp_close ( $conn_id );
if ( empty ( $report_txt )) {
$report_txt = " Aucun envoi. " ;
}
//Envoi du mail de rapport
if ( ! $test && ! $testMail ){
if ( mail ( $report_email , $report_subject , utf8_decode ( $report_txt ))){
echo date ( 'Y/m/d - H:i:s' ) . " - Rapport envoyé. \n " ;
} else {
echo date ( 'Y/m/d - H:i:s' ) . " - Erreur lors de l'envoir du rapport ! \n " ;
}
}
?>