2012-10-16 07:44:31 +00:00
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
< ? php
include_once ( FWK_PATH . 'common/chiffres.php' );
include_once ( FWK_PATH . 'common/dates.php' );
include_once ( INCLUDE_PATH . 'insee/classMInsee.php' );
include_once ( INCLUDE_PATH . 'scores/classMSolvabilite.php' );
include_once ( INCLUDE_PATH . 'partenaires/classMBourse.php' );
include_once ( FWK_PATH . 'mail/sendMail.php' );
$strInfoScript = 'Usage : ' . basename ( $argv [ 0 ]) . " <option> <fichier>
Chargement d 'un fichier de mise sous surveillance d' un fichier Client ( pour l ' instant uniquement en annule / remplace ) .
" ;
$argv = $_SERVER [ 'argv' ];
if ( $_SERVER [ 'argc' ] > 1 )
{
for ( $i = 1 ; isset ( $argv [ $i ]); $i ++ ) {
if ( substr ( $argv [ $i ], 0 , 1 ) == '-' ) {
switch ( substr ( $argv [ $i ], 1 , 1 )) {
case '-' :
case '?' : die ( $strInfoScript ); break ;
default : die ( 'Option ' . $argv [ $i ] . " inconnue ! " . EOL );
break ;
}
}
}
}
$iDb = new WDB ( 'insee' );
$iDbSurv = new WDB ( 'jo' );
$iInsee = new MInsee ();
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - D<> but du traitement " . EOL ;
2012-10-16 07:44:31 +00:00
flush ();
$ftpDir = '/home/data/ftp/' ;
$tabDir = array ();
$dh = opendir ( $ftpDir );
while ( false !== ( $filename = readdir ( $dh ))) {
2013-06-19 08:24:49 +00:00
/** On scan chaque r<EFBFBD> pertoire FTP client <EFBFBD> la recherche d ' un fichier send . fmt
2012-10-16 07:44:31 +00:00
**/
if ( $filename <> '.' && $filename <> '..' && is_dir ( $ftpDir . $filename ) && file_exists ( $ftpDir . $filename . " /send.fmt " ))
$tabDir [] = $filename ;
}
sort ( $tabDir );
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - Liste des r<> pertoires avec un fichier send.fmt : " . implode ( ', ' , $tabDir ) . EOL ;
2012-10-16 07:44:31 +00:00
2013-06-19 08:24:49 +00:00
foreach ( $tabDir as $nbDir => $dirToCheck ) /** On scan chaque r<> pertoire send des FTP clients <20> la recherche de nouveaux fichiers **/
2012-10-16 07:44:31 +00:00
{
$tabFichier = array ();
$dh = opendir ( $ftpDir . $dirToCheck . '/send/' );
while ( false !== ( $filename = readdir ( $dh ))) {
if ( $filename <> '.' && $filename <> '..' ) {
$tabFichier [] = $filename ;
echo date ( 'Y/m/d - H:i:s' ) . " - Le fichier $filename du client $dirToCheck est en cours de chargement ! " . EOL ;
}
}
if ( count ( $tabFichier ) > 0 ) {
/** On lit le fichier send . fmt afin de savoir le traitement courant
**/
$tabFmt = parse_ini_file ( $ftpDir . $dirToCheck . " /send.fmt " , true );
print_r ( $tabFmt );
if ( ! isset ( $tabFmt [ 'Infos' ]) || ! is_array ( $tabFmt [ 'Infos' ]))
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : La section [Infos] est incorrecte pour le client $dirToCheck ! " . EOL );
$tabInfos = $tabFmt [ 'Infos' ];
2013-06-19 08:24:49 +00:00
$idClientDef = '' ;
if ( isset ( $tabInfos [ 'idClient' ]))
//die(date ('Y/m/d - H:i:s')." - ERREUR : La variable 'idClient' n'est pas d<> finie pour le client $dirToCheck !".EOL);
$idClientDef = $tabInfos [ 'idClient' ];
2012-10-16 07:44:31 +00:00
if ( ! isset ( $tabInfos [ 'format' ]))
2013-06-19 08:24:49 +00:00
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : La variable 'format' n'est pas d<> finie pour le client $dirToCheck ! " . EOL );
2012-10-16 07:44:31 +00:00
$format = $tabInfos [ 'format' ];
2013-06-19 08:24:49 +00:00
if ( strtolower ( $format ) == 'csv' )
2012-10-16 07:44:31 +00:00
$format = 'csv' ;
2013-06-19 08:24:49 +00:00
elseif ( strtolower ( $format ) == 'plat' )
2012-10-16 07:44:31 +00:00
$format = 'plat' ;
elseif ( strtolower ( $format ) == 'sdin' )
$format = 'sdin' ;
else
2013-06-19 08:24:49 +00:00
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : La variable 'format' doit <20> tre 'csv', 'plat' ou 'stdin' et non ' $format ' pour le client $dirToCheck ! " . EOL );
2012-10-16 07:44:31 +00:00
if ( ! isset ( $tabInfos [ 'chargement' ]))
2013-06-19 08:24:49 +00:00
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : La variable 'chargement' n'est pas d<> finie pour le client $dirToCheck ! " . EOL );
2012-10-16 07:44:31 +00:00
$chargement = $tabInfos [ 'chargement' ];
if ( strtoupper ( $chargement ) == 'AR' )
$chargement = 'AR' ;
elseif ( strtoupper ( $chargement ) == 'MAJ' )
$chargement = 'MAJ' ;
elseif ( strtoupper ( $chargement ) == 'AJOUT' )
$chargement = 'AJOUT' ;
else
2013-06-19 08:24:49 +00:00
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : La variable 'chargement' doit <20> tre 'AR', 'MAJ' ou 'AJOUT' et non ' $chargement ' pour le client $dirToCheck ! " . EOL );
2012-10-16 07:44:31 +00:00
if ( ! isset ( $tabInfos [ 'frequence' ]))
2013-06-19 08:24:49 +00:00
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : La variable 'frequence' n'est pas d<> finie pour le client $dirToCheck ! " . EOL );
2012-10-16 07:44:31 +00:00
$frequence = $tabInfos [ 'frequence' ];
if ( strtoupper ( $frequence ) == 'Q' )
$frequence = 'Q' ;
elseif ( strtoupper ( $frequence ) == 'H' )
$frequence = 'H' ;
elseif ( strtoupper ( $frequence ) == 'M' )
$frequence = 'M' ;
else
2013-06-19 08:24:49 +00:00
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : La variable 'frequence' doit <20> tre 'Q', 'H' ou 'M' et non ' $frequence ' pour le client $dirToCheck ! " . EOL );
2012-10-16 07:44:31 +00:00
$retro =@ $tabInfos [ 'retro' ] . '' ;
if ( $retro == '' || $retro == 0 ) {
2013-06-19 08:24:49 +00:00
echo ( date ( 'Y/m/d - H:i:s' ) . " - Pas de r<> troactivit<69> pour le client $dirToCheck ! " . EOL );
2012-10-16 07:44:31 +00:00
$retro = NULL ;
}
$dateFluxDef =@ $tabInfos [ 'dateFlux' ];
if ( isset ( $tabInfos [ 'dateFlux' ]) && @ $tabInfos [ 'dateFmt' ] <> 'Ymd' )
2013-06-19 08:24:49 +00:00
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : Le format de 'dateFlux' doit <20> tre 'Ymd' pour le client $dirToCheck ! " . EOL );
2012-10-16 07:44:31 +00:00
$mailClient = false ;
if ( isset ( $tabInfos [ 'mailClient' ]) && $tabInfos [ 'mailClient' ] <> '' )
$mailClient = $tabInfos [ 'mailClient' ];
2013-06-19 08:24:49 +00:00
$concatenerRef = false ;
if ( isset ( $tabInfos [ 'concatenerRef' ]) && ( $tabInfos [ 'concatenerRef' ] == true || $tabInfos [ 'concatenerRef' ] * 1 == 1 ))
$concatenerRef = true ;
2012-10-16 07:44:31 +00:00
// Liste des zones
$tabZones = $tabFmt [ 'Zones' ];
foreach ( $tabFichier as $numFic => $fichier_csv ) {
$fp = fopen ( $ftpDir . $dirToCheck . " /send/ $fichier_csv " , 'r' );
if ( ! $fp ) {
echo date ( 'Y/m/d - H:i:s' ) . " - ERREUR : Impossible d'ouvrir le fichier : " . $fichier_csv . " ! " . EOL ;
die ();
}
$dateFlux = '' ;
if ( $dateFluxDef <> '' && preg_match ( '/^n(\d*),(\d*)$/' , trim ( $dateFluxDef ), $z ))
$dateFlux = trim ( substr ( $fichier_csv , ( $z [ 1 ]) - 1 , $z [ 2 ]));
elseif ( $dateFluxDef <> '' && preg_match ( '/^dateDepot$/i' , trim ( $dateFluxDef ), $z ))
$dateFlux = date ( 'Ymd' , filemtime ( $ftpDir . $dirToCheck . " /send/ $fichier_csv " ));
if ( $dateFlux * 1 < 20071231 ) $dateFlux = date ( 'Ymd' );
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - D<> but du traitement du fichier " . $fichier_csv . " ... " . EOL ;
2012-10-16 07:44:31 +00:00
$numLigne = $nbConfs = $nbAjouts = 0 ;
2013-06-19 08:24:49 +00:00
$nbSirenValide = $nbSirenErreur = 0 ;
$tabIdClients = $erreurSiren = array ();
2012-10-16 07:44:31 +00:00
while ( ! feof ( $fp )) {
$line = fgets ( $fp , 4096 );
if ( trim ( $line ) == '' ) break ;
$numLigne ++ ;
//$ligne, $format='sdin', $tabZones=array(), $idClientDef='') {
2013-06-19 08:24:49 +00:00
$data =@ getLigneFormat ( $line , $format , $tabZones , $idClientDef , $dateFlux );
2012-10-16 07:44:31 +00:00
2013-06-19 08:24:49 +00:00
if ( ! isset ( $tabInfos [ 'idClient' ]) && $idClientDef == '' )
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : La variable 'idClient' n'est pas d<> finie pour le client $dirToCheck ! " . EOL );
2012-10-16 07:44:31 +00:00
$data [ 'indTrt' ] = 1 ;
$idClient = $data [ 'idClient' ];
$dateFichier = $data [ 'dateFlux' ];
$dateDerEnvoi = WDate :: period2Days ( $dateFichier , $retro , true );
if ( $dateDerEnvoi == NULL ) $dateDerEnvoi = WDate :: period2Days ( $dateFichier , '5 jours' , true );
//die($dateFichier.EOL.$dateDerEnvoi.EOL);
unset ( $data [ 'dateFlux' ]);
if ( $chargement <> 'AJOUT' && ( $numLigne == 1 || ! in_array ( $idClient , $tabIdClients ))) {
2013-06-19 08:24:49 +00:00
/** Passage <20> 0 de l'indicateur ligne trait<69> e **/
2012-10-16 07:44:31 +00:00
$res = $iDbSurv -> update ( 'surveillances_listes' , array ( 'indTrt' => 0 ), " idClient=' $idClient ' " );
2013-06-19 08:24:49 +00:00
if ( $res ) echo date ( 'Y/m/d - H:i:s' ) . " - Toutes les lignes du client $idClient ont <20> t<EFBFBD> positionn<6E> es <20> non trait<69> es ! " . EOL ;
else die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : Impossible de positionner les lignes du client $idClient <20> non trait<69> es !!! " . EOL );
2012-10-16 07:44:31 +00:00
$tabIdClients [] = $idClient ;
}
2013-06-19 08:24:49 +00:00
/** Contr<74> le de la validit<69> du siren **/
if ( $iInsee -> valideSiren ( $data [ 'siren' ])) {
$data [ 'sirenValide' ] = 1 ;
$nbSirenValide ++ ;
} else {
$data [ 'sirenValide' ] = 0 ;
$nbSirenErreur ++ ;
if ( trim ( $data [ 'siren' ]) == '' ) @ $erreurSiren [ 'vide' ] ++ ;
elseif ( trim ( $data [ 'siren' ]) * 1 == 0 ) @ $erreurSiren [ 'zero' ] ++ ;
}
if ( $concatenerRef ) $data [ 'ref' ] = $data [ 'ref' ] . '-' . $data [ 'refInfos' ];
/** Ajout ou mise <20> jour de la r<> f<EFBFBD> rence **/
2012-10-16 07:44:31 +00:00
$res = $iDbSurv -> select ( 'surveillances_listes' , 'count(*)' , " idClient=' $idClient ' AND ref=' " . $data [ 'ref' ] . " ' " );
if ( @ $res [ 0 ][ 0 ] > 0 ) {
2013-06-19 08:24:49 +00:00
/** Cette r<> f<EFBFBD> rence est d<> j<EFBFBD> sous surveillance pour ce client **/
2012-10-16 07:44:31 +00:00
$dataUpdate = array_merge ( $data , array ( 'dateConf' => $dateFichier ));
$res = $iDbSurv -> update ( 'surveillances_listes' , $dataUpdate , " idClient=' $idClient ' AND ref=' " . $data [ 'ref' ] . " ' " );
2013-06-19 08:24:49 +00:00
if ( ! $res ) die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : Ligne $idClient , " . $data [ 'siren' ] . " , " . $data [ 'ref' ] . " mise <20> jour IMPOSSIBLE !!! " . EOL );
2012-10-16 07:44:31 +00:00
else $nbConfs ++ ;
} else {
$dataInsert = array_merge ( $data , array ( 'dateAjout' => $dateFichier , 'dateDerEnvoi' => $dateDerEnvoi ));
$res = $iDbSurv -> insert ( 'surveillances_listes' , $dataInsert );
2013-06-19 08:24:49 +00:00
if ( ! $res ) {
echo date ( 'Y/m/d - H:i:s' ) . " - Lignes $idClient , " . $data [ 'siren' ] . " , " . $data [ 'ref' ] . " ERREUR LORS DE L'AJOUT !!! " . EOL ;
die ( mysql_error ());
}
2012-10-16 07:44:31 +00:00
else $nbAjouts ++ ;
}
}
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - Nombre de lignes <20> surveiller ajout<75> es pour $idClient = $nbAjouts . " . EOL ;
$mailInfo = " - Nombre de lignes <20> surveiller ajout<75> es : $nbAjouts " . EOL ;
2012-10-16 07:44:31 +00:00
if ( $chargement <> 'AJOUT' ) {
$res = $iDbSurv -> select ( 'surveillances_listes' , 'count(*)' , " idClient=' $idClient ' AND indTrt=0 AND dateSuppr=0 " );
$nbSuppr = $res [ 0 ][ 0 ];
$nbConfs = $nbConfs - $nbSuppr ;
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - Nombre de lignes <20> surveiller confirm<72> es pour $idClient = $nbConfs . " . EOL ;
$mailInfo .= " - Nombre de lignes <20> surveiller confirm<72> es : $nbConfs " . EOL ;
echo date ( 'Y/m/d - H:i:s' ) . " - Nombre de lignes <20> surveiller supprim<69> es pour $idClient = $nbSuppr . " . EOL ;
$mailInfo .= " - Nombre de lignes <20> surveiller supprim<69> es : $nbSuppr " . EOL ;
2012-10-16 07:44:31 +00:00
$res = $iDbSurv -> update ( 'surveillances_listes' , array ( 'dateSuppr' => $dateFichier ), " idClient=' $idClient ' AND indTrt=0 AND dateSuppr=0 " , true );
2013-06-19 08:24:49 +00:00
if ( ! $res ) die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : Impossible de supprimer les surveillances obsol<6F> tes du client $idClient !!! " . EOL );
2012-10-16 07:44:31 +00:00
$res = $iDbSurv -> update ( 'surveillances_listes' , array ( 'dateSuppr' => 0 ), " idClient=' $idClient ' AND dateConf>dateSuppr AND dateSuppr<>0 " );
$nbReact = $res [ 0 ][ 0 ];
if ( $nbReact > 0 ) {
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - Attention, $nbReact ligne(s) ont <20> t<EFBFBD> r<> activ<69> es ! " . EOL ;
$mailInfo .= " Attention, $nbReact ligne(s) ont <20> t<EFBFBD> r<> activ<69> es ! " . EOL ;
2012-10-16 07:44:31 +00:00
}
}
if ( $mailClient ) {
2013-06-19 08:24:49 +00:00
$mailInfo .= " $nbSirenValide SIREN sont valides et $nbSirenErreur invalides dont : " . EOL ;
$mailInfo .= print_r ( $erreurSiren , true ) . EOL ;
sendMail ( 'production@scores-decisions.com' , $mailClient , " Scores & D<> cisions - Chargement du stock en surveillance " , " R<EFBFBD> sum<EFBFBD> du traitement de chargement du stock pour $idClient , " . EOL . EOL . " Fichier de type $chargement ( $frequence ) horodatage $dateFlux contenant $numLigne ligne(s) : " . EOL . $mailInfo );
sendMail ( 'production@scores-decisions.com' , 'ylenaour@scores-decisions.com' , " Scores & D<> cisions - Chargement du stock en surveillance " , " R<EFBFBD> sum<EFBFBD> du traitement de chargement du stock pour $idClient , " . EOL . EOL . " Fichier de type $chargement ( $frequence ) horodatage $dateFlux contenant $numLigne ligne(s) : " . EOL . $mailInfo );
2012-10-16 07:44:31 +00:00
}
if ( ! move ( $ftpDir . $dirToCheck . " /send/ $fichier_csv " , " /home/data/clients/ $dirToCheck / $fichier_csv " ))
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - ERREUR : D<> placement du fichier $fichier_csv dans client/ $dirToCheck / impossible ! " . EOL ;
2012-10-16 07:44:31 +00:00
}
} else
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - Aucun fichier a int<6E> grer pour le client $dirToCheck . " . EOL ;
2012-10-16 07:44:31 +00:00
}
echo date ( 'Y/m/d - H:i:s' ) . " - Fin du traitement. " . EOL ;
function getLigneFormat ( $line , $format = 'sdin' , $tabZones = array (), $idClientDef = '' , $dateFluxDef = '' ) {
$data = array ();
2013-06-19 08:24:49 +00:00
global $idClientDef ;
2012-10-16 07:44:31 +00:00
if ( $format == 'sdin' ) {
$data [ 'idClient' ] = trim ( substr ( $line , 27 , 36 )); // Identifiant Client
if ( $data [ 'idClient' ] == '' && $idClientDef <> '' )
$data [ 'idClient' ] = $idClientDef ;
$data [ 'siren' ] = trim ( substr ( $line , 98 , 9 )); // SIREN
$data [ 'nic' ] = trim ( substr ( $line , 107 , 5 )); // NIC
$data [ 'rs' ] = trim ( substr ( $line , 112 , 60 )); // RS
$data [ 'cp' ] = trim ( substr ( $line , 332 , 5 )); // CP
$data [ 'ville' ] = trim ( substr ( $line , 337 , 40 )); // Ville
2013-06-19 08:24:49 +00:00
$data [ 'ref' ] = trim ( substr ( $line , 417 , 18 )); // R<> f<EFBFBD> rence Client
2012-10-16 07:44:31 +00:00
$data [ 'dateFlux' ] = trim ( substr ( $line , 3 , 8 )); // Date du fichier
if ( $data [ 'idClient' ] == 'SURBODPRDFTSMEDERIC' ) {
2013-06-19 08:24:49 +00:00
$data [ 'ref' ] = substr ( $data [ 'ref' ], 0 , 9 ); // R<> f<EFBFBD> rence Client Fixe
$data [ 'refInfos' ] = substr ( $data [ 'ref' ], 9 , 9 ); // R<> f<EFBFBD> rence Client <20> titre d'information
2012-10-16 07:44:31 +00:00
}
} elseif ( $format == 'plat' ) {
$data [ 'idClient' ] = trim ( $idClientDef );
2013-06-19 08:24:49 +00:00
// Zone idClient
2012-10-16 07:44:31 +00:00
if ( isset ( $tabZones [ 'idClient' ]) && preg_match ( '/^c(\d*),(\d*)$/' , trim ( $tabZones [ 'idClient' ]), $z ))
$data [ 'idClient' ] .= trim ( substr ( $line , ( $z [ 1 ]) - 1 , $z [ 2 ]));
elseif ( ! isset ( $tabZones [ 'idClient' ]) && $idClientDef == '' )
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : La zone 'idClient' est incorrecte ! " . EOL );
2013-06-19 08:24:49 +00:00
// Zone siren
2012-10-16 07:44:31 +00:00
if ( preg_match ( '/^c(\d*),(\d*)$/' , trim ( $tabZones [ 'siren' ]), $z ))
$data [ 'siren' ] = trim ( substr ( $line , ( $z [ 1 ]) - 1 , $z [ 2 ]));
else
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : La zone 'siren' est incorrecte ! " . EOL );
2013-06-19 08:24:49 +00:00
// Zone ref
2012-10-16 07:44:31 +00:00
if ( preg_match ( '/^c(\d*),(\d*)$/' , trim ( $tabZones [ 'ref' ]), $z ))
$data [ 'ref' ] = trim ( substr ( $line , ( $z [ 1 ]) - 1 , $z [ 2 ]));
else
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : La zone 'ref' est incorrecte ! " . EOL );
2013-06-19 08:24:49 +00:00
// Zone refInfos
if ( isset ( $tabZones [ 'refInfos' ]) && preg_match ( '/^c(\d*),(\d*)$/' , trim ( $tabZones [ 'refInfos' ]), $z ))
$data [ 'refInfos' ] = trim ( substr ( $line , ( $z [ 1 ]) - 1 , $z [ 2 ]));
elseif ( isset ( $tabZones [ 'refInfos' ]))
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : La zone 'refInfos' est incorrecte ! " . EOL );
// Zone rs
if ( isset ( $tabZones [ 'rs' ]) && preg_match ( '/^c(\d*),(\d*)$/' , trim ( $tabZones [ 'rs' ]), $z ))
$data [ 'rs' ] = trim ( substr ( $line , ( $z [ 1 ]) - 1 , $z [ 2 ]));
elseif ( isset ( $tabZones [ 'rs' ]))
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : La zone 'rs' est incorrecte ! " . EOL );
// Zone cp
if ( isset ( $tabZones [ 'cp' ]) && preg_match ( '/^c(\d*),(\d*)$/' , trim ( $tabZones [ 'cp' ]), $z ))
$data [ 'cp' ] = trim ( substr ( $line , ( $z [ 1 ]) - 1 , $z [ 2 ]));
elseif ( isset ( $tabZones [ 'cp' ]))
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : La zone 'cp' est incorrecte ! " . EOL );
// Zone ville
if ( isset ( $tabZones [ 'ville' ]) && preg_match ( '/^c(\d*),(\d*)$/' , trim ( $tabZones [ 'ville' ]), $z ))
$data [ 'ville' ] = trim ( substr ( $line , ( $z [ 1 ]) - 1 , $z [ 2 ]));
elseif ( isset ( $tabZones [ 'ville' ]))
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : La zone 'ville' est incorrecte ! " . EOL );
// Zone dateFlux
2012-10-16 07:44:31 +00:00
if ( $dateFluxDef == '' && preg_match ( '/^c(\d*),(\d*)$/' , trim ( $tabZones [ 'dateFlux' ]), $z ))
$data [ 'dateFlux' ] = trim ( substr ( $line , ( $z [ 1 ]) - 1 , $z [ 2 ]));
elseif ( $dateFluxDef == '' )
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : La zone 'dateFlux' est incorrecte ! " . EOL );
else $data [ 'dateFlux' ] = $dateFluxDef ;
2013-06-19 08:24:49 +00:00
} elseif ( $format == 'csv' ) {
$data [ 'idClient' ] = trim ( $idClientDef );
$tabLine = explode ( ',' , $line );
// Zone idClient
if ( isset ( $tabZones [ 'idClient' ]) && preg_match ( '/^z(\d*)$/' , trim ( $tabZones [ 'idClient' ]), $z ))
$idClientDef = $data [ 'idClient' ] = trim ( $tabLine [ $z [ 1 ] - 1 ]);
// elseif (!isset($tabZones['idClient']) && $idClientDef=='')
// die(date ('Y/m/d - H:i:s')." - ERREUR : La zone 'idClient' est incorrecte !".EOL);
// Zone siren
if ( preg_match ( '/^z(\d*)$/' , trim ( $tabZones [ 'siren' ]), $z ))
$data [ 'siren' ] = trim ( $tabLine [ $z [ 1 ] - 1 ]);
else
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : La zone 'siren' est incorrecte ! " . EOL );
// Zone ref
if ( preg_match ( '/^z(\d*)$/' , trim ( $tabZones [ 'ref' ]), $z ))
$data [ 'ref' ] = trim ( $tabLine [ $z [ 1 ] - 1 ]);
else
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : La zone 'ref' est incorrecte ! " . EOL );
// Zone refInfos
if ( isset ( $tabZones [ 'refInfos' ]) && preg_match ( '/^z(\d*)$/' , trim ( $tabZones [ 'refInfos' ]), $z ))
$data [ 'refInfos' ] = trim ( $tabLine [ $z [ 1 ] - 1 ]);
elseif ( isset ( $tabZones [ 'refInfos' ]))
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : La zone 'refInfos' est incorrecte ! " . EOL );
// Zone rs
if ( isset ( $tabZones [ 'rs' ]) && preg_match ( '/^z(\d*)$/' , trim ( $tabZones [ 'rs' ]), $z ))
$data [ 'rs' ] = trim ( $tabLine [ $z [ 1 ] - 1 ]);
elseif ( isset ( $tabZones [ 'rs' ]))
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : La zone 'rs' est incorrecte ! " . EOL );
// Zone cp
if ( isset ( $tabZones [ 'cp' ]) && preg_match ( '/^z(\d*)$/' , trim ( $tabZones [ 'cp' ]), $z ))
$data [ 'cp' ] = trim ( $tabLine [ $z [ 1 ] - 1 ]);
elseif ( isset ( $tabZones [ 'cp' ]))
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : La zone 'cp' est incorrecte ! " . EOL );
// Zone ville
if ( isset ( $tabZones [ 'ville' ]) && preg_match ( '/^z(\d*)$/' , trim ( $tabZones [ 'ville' ]), $z ))
$data [ 'ville' ] = trim ( $tabLine [ $z [ 1 ] - 1 ]);
elseif ( isset ( $tabZones [ 'ville' ]))
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : La zone 'ville' est incorrecte ! " . EOL );
// Zone dateFlux
if ( $dateFluxDef == '' && preg_match ( '/^z(\d*)$/' , trim ( $tabZones [ 'dateFlux' ]), $z ))
$data [ 'dateFlux' ] = trim ( $tabLine [ $z [ 1 ] - 1 ]);
elseif ( $dateFluxDef == '' )
die ( date ( 'Y/m/d - H:i:s' ) . " - ERREUR : La zone 'dateFlux' est incorrecte ! " . EOL );
else $data [ 'dateFlux' ] = $dateFluxDef ;
2012-10-16 07:44:31 +00:00
}
return $data ;
}
?>