batch/old/consolideWebMail.php
2013-06-19 08:24:49 +00:00

166 lines
5.4 KiB
PHP

#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
<?php
include_once(INCLUDE_PATH.'insee/classMInsee.php');
error_reporting(E_ALL ^ E_NOTICE);
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
Consolidation des sites Web et Emails disponibles.
Options :
-a Reconsolidation de toute la base des téléphones/fax
";
$semiManuel=$sansPropo=$toutes=$index=false;
$mInsee=new MInsee();
$argv=$_SERVER['argv'];
if ($_SERVER['argc']==1) $semiManuel=false; // Fonctionnement normal du script, càd : on sirene que en auto
else {
for ($i=1; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') {
switch (substr($argv[$i],1,1)) {
case 's':
$semiManuel=true;
break;
case 'p':
$sansPropo=true;
break;
case 'a':
$toutes=true;
break;
case 'i':
$index=trim(substr($argv[$i],3));
break;
case '-':
case '?':
die($strInfoScript);
break;
default:
die('Option '. $argv[$i] . " inconnue !\n");
break;
}
}
}
}
echo date('Y/m/d - H:i:s') ." - DEBUT du programme...".EOL;
die("SELECT siren, sirenValide, raisonSociale, nomCommercial, enseigne, sigle, activite, typeEven FROM bodacc_detail WHERE activite LIKE '%www.%'
OR activite LIKE '%.fr%'
OR activite LIKE '%.com%'
OR activite LIKE '%.net%'
OR activite LIKE '%.info%'
OR activite LIKE '%.biz%'
OR activite LIKE '%.eu%'
OR activite LIKE '%.org%'
OR raisonSociale LIKE '%www.%'
OR raisonSociale LIKE '%.fr%'
OR raisonSociale LIKE '%.com%'
OR raisonSociale LIKE '%.net%'
OR raisonSociale LIKE '%.info%'
OR raisonSociale LIKE '%.biz%'
OR raisonSociale LIKE '%.eu%'
OR raisonSociale LIKE '%.org%'
OR nomCommercial LIKE '%www.%'
OR nomCommercial LIKE '%.fr%'
OR nomCommercial LIKE '%.com%'
OR nomCommercial LIKE '%.net%'
OR nomCommercial LIKE '%.info%'
OR nomCommercial LIKE '%.biz%'
OR nomCommercial LIKE '%.eu%'
OR nomCommercial LIKE '%.org%'
OR enseigne LIKE '%www.%'
OR enseigne LIKE '%.fr%'
OR enseigne LIKE '%.com%'
OR enseigne LIKE '%.net%'
OR enseigne LIKE '%.info%'
OR enseigne LIKE '%.biz%'
OR enseigne LIKE '%.eu%'
OR enseigne LIKE '%.org%'
OR sigle LIKE '%www.%'
OR sigle LIKE '%.fr%'
OR sigle LIKE '%.com%'
OR sigle LIKE '%.net%'
OR sigle LIKE '%.info%'
OR sigle LIKE '%.biz%'
OR sigle LIKE '%.eu%'
OR sigle LIKE '%.org%'");
$pertinence=false;
$nbRep=30;
$siege=0;
$tabTables=array(
/* array('db'=>'sugarcrm', 'table'=>'accounts', 'champRS'=>'name',
'champAdresse'=>'billing_address_street',
'champCP'=>'billing_address_postalcode',
'champVille'=>'billing_address_city',
'champSiren'=>'ticker_symbol',
'champSirenValide'=>'(ticker_symbol<30000 OR ticker_symbol IS NULL)AND deleted')*/
array('db'=>'jo', 'table'=>'bodacc_detail b LEFT JOIN bodacc_sirenage s ON s.idAnn = b.id AND s.siren = b.siren',
'champRS'=>'CONCAT(raisonSociale," ",nomCommercial," ",enseigne)',
'champAdresse'=>'adrLibVoie',
'champCP'=>'codePostal',
'champVille'=>'ville',
'champSiren'=>'b.siren',
'champNic'=>'nic',
'champSirenValide'=>'sirenValide',
'champNicValide'=>'nicValide'),
/* array('db'=>'sdv1', 'table'=>'sirenage', 'champRS'=>'concat( RAISON_SOCIALE , \' \' , RAISON_SOCIALE2 )',//REF NIC RAISON_SOCIALE2 ADRESSE2 NUM_VOIE ADRESSE3
'champAdresse'=>'ADRESSE',
'champCP'=>'CP',
'champVille'=>'VILLE',
'champSiren'=>'SIREN',
'champSirenValide'=>'SIREN'),*/
);
$iDbSel=new WDB('jo');
$iDbMaj=new WDB('insee');
echo date ('Y/m/d - H:i:s')." - DEBUT de la mise à jour des TEL/FAX des entreprises...".EOL;
$strDate=' AND dateUpdate>DATE_SUB(NOW(), INTERVAL 2 DAY) ';
if ($toutes)
$strDate='';
$nbTel=$iDbSel->select('infos_entrep', 'siren, tel, fax',"siren>1000 AND (tel<>'' OR fax<>'') $strDate", false,MYSQL_ASSOC,true);
echo date ('Y/m/d - H:i:s')." - Il y a $nbTel lignes de TEL/FAX à mettre à jour...".EOL;
$nbAvecMaj=$nbSansMaj=$nbErr=0;
while ($tabTel=$iDbSel->fetch(MYSQL_ASSOC)) {
$siren=$tabTel['siren'];
$tel=trim(strtr($tabTel['tel'], array('.'=>'', ' '=>'', '-'=>'')));
$fax=trim(strtr($tabTel['fax'], array('.'=>'', ' '=>'', '-'=>'')));
$tabTmp=$iDbMaj->select('identite', 'id, SIREN, NIC, ACTIF, SIEGE, TEL, FAX',"SIREN=$siren ORDER BY SIEGE DESC, ACTIF DESC LIMIT 0,1", false, MYSQL_ASSOC);
if (count($tabTmp)>0) {
$tabUpdate=array();
$etab=$tabTmp[0];
$id=$etab['id'];
$telPrev=$etab['TEL'];
$faxPrev=$etab['FAX'];
if ($telPrev=='' && $tel<>'') $tabUpdate['TEL']=$tel;
if ($faxPrev=='' && $fax<>'') $tabUpdate['FAX']=$fax;
if (count($tabUpdate)>0) {
$iDbMaj->update('identite',$tabUpdate, "id=$id");
echo date ('Y/m/d - H:i:s')." - Siren $siren, Tel $tel, Fax $fax : Mise à jour OK".EOL;
$nbAvecMaj++;
}
else {
$nbSansMaj++;
// echo date ('Y/m/d - H:i:s')." - Siren $siren, Tel $tel, Fax $fax : PAS de mise à jour".EOL;
}
} else {
echo date ('Y/m/d - H:i:s')." - Siren $siren, Tel $tel, Fax $fax : Pas de fiche identite !".EOL;
$nbErr++;
// die();
}
/*print_r($tabTel);
print_r($tabTmp);
die();*/
}
echo date ('Y/m/d - H:i:s')." - FIN de la mise à jour des TEL/FAX des entreprises ($nbAvecMaj MAJ/$nbTel avec $nbErr erreurs).".EOL;
die();
?>