645 lines
28 KiB
PHP
645 lines
28 KiB
PHP
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
|
<?php
|
|
|
|
define('DATE_HEURE_SCRIPT', date('Ymd_His'));
|
|
|
|
/**
|
|
* @todo
|
|
* 1. Numéroter toutes les procédures OK
|
|
* 2. Pouvoir faire du multiligne avec : 100 Annonce Bodacc
|
|
* 101 Commentaire
|
|
* 102 Activite déclaré au Bodacc
|
|
* 103 texte rectificatif
|
|
* 104 Annonce complète au format texte
|
|
* 105 Structure Dirigeants BODACC
|
|
* 106 Libellé du Périmètre de la vente
|
|
* 3.
|
|
* 5. JugesCommissaires à intégrer correctement
|
|
|
|
Noms et prénoms des dirigeants de l'entreprise ' Anum. ?
|
|
|
|
Raison sociale du vendeur Anum. 255
|
|
Siren du vendeur (en cas de Vente/Cessions) Num. 9
|
|
Indicateur de correction du SIREN vendeur (si C, le siren diffusé au BODACC est faut mais S&D a affecté le bon SIREN) ' Car. 1
|
|
*/
|
|
include_once(FWK_PATH.'common/chiffres.php');
|
|
include_once(FWK_PATH.'common/dates.php');
|
|
include_once(INCLUDE_PATH.'bodacc/classMBodacc.php');
|
|
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
|
|
|
include_once(FWK_PATH.'mail/sendMail.php');
|
|
|
|
$repProduction='/mnt/samba/partage/production/';
|
|
|
|
$modeTest=$envoiGroupe=$envoiGroupePre=false;
|
|
$ignoreDateDerExec=$retroActivite=$ignoreInfosRS=false;
|
|
$mailAnomalie=false;
|
|
|
|
$tableSurveillance='surveillances_site';
|
|
|
|
//$modeTest=true;
|
|
|
|
$strInfoScript='Usage : '.basename($argv[0]). " [OPTION]
|
|
Envoi des annonces de surveillance Bodacc par email (site et WS uniquement).
|
|
|
|
Options :
|
|
-e Ne pas tenir compte de la date de dernière exécution du script
|
|
-i Ne pas exécuter en réel (pas de MAJ des infos d'exécution et envoi des mails à lenaoury@gmail.com...)
|
|
-m Envoyer un mail si anomalie lors de l'exécution
|
|
-l Ne pas mettre à jour les informations des listes de surveillance (RS, CP, Ville)
|
|
-r:XX Faire une rétroactivté de XX jours
|
|
";
|
|
|
|
$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 'i':
|
|
//$envoiGroupe=true;
|
|
$modeTest=true;
|
|
$strEmailsTest='lenaoury@gmail.com;fzicaro@scores-decisions.com';
|
|
//$tableSurveillance='surveillances_site_old';
|
|
break;
|
|
case 'e':
|
|
$ignoreDateDerExec=true;
|
|
break;
|
|
case 'l':
|
|
$ignoreInfosRS=true;
|
|
break;
|
|
case 'r':
|
|
$retroActivite=substr($argv[$i],3,strlen($argv[$i])-3);
|
|
break;
|
|
case 'm':
|
|
$mailAnomalie=true;
|
|
break;
|
|
case '-':
|
|
case '?':
|
|
die($strInfoScript);
|
|
break;
|
|
default:
|
|
die('Option '. $argv[$i] . " inconnue !\n");
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
$iDb=new WDB('jo');
|
|
$iBodacc=new MBodacc();
|
|
$iInsee=new MInsee();
|
|
$iDb2=new WDB('sdv1');
|
|
$nbUtilisateurs=$iDb2->select('utilisateurs u, clients c', 'u.id, u.idClient, LOWER(u.login) AS login, u.password, u.email, u.formatMail, u.lienExtranetMail, u.listeEven', "u.idClient=c.id AND u.actif=1 AND u.deleted=0 AND c.actif='Oui'", true, MYSQL_ASSOC, true);
|
|
echo date ('Y/m/d - H:i:s')." - Il y a $nbUtilisateurs utilisateurs habilités à recevoir des surveillances...".EOL;
|
|
$tabFormat=$tabLienEx=$tabLstEve=$tabHash=array();
|
|
while ($uti=$iDb2->fetch(MYSQL_ASSOC)) {
|
|
switch ($uti['formatMail']) {
|
|
case 'txt2': // MAIL au format texte, 1 mail par envoi
|
|
case 'csv': // MAIL au format CSV, 1 mail par envoi
|
|
case 'txt1': // MAIL au format texte, 1 mail par annonce (format par défaut)
|
|
case 'pdf1': // MAIL au format PDF, 1 mail par envoi
|
|
$tabFormat['_'.$uti['login']]=$uti['formatMail'];
|
|
break;
|
|
default:
|
|
$tabFormat['_'.$uti['login']]='txt1';
|
|
break;
|
|
}
|
|
|
|
$tabLienEx['_'.$uti['login']]=$uti['lienExtranetMail'];
|
|
$tabLstEve['_'.$uti['login']]=explode(';',trim($uti['listeEven']));
|
|
sort($tabLstEve['_'.$uti['login']]);
|
|
if (count($tabLstEve['_'.$uti['login']])==1 && $tabLstEve['_'.$uti['login']][0]=='')
|
|
$tabLstEve['_'.$uti['login']]=array();
|
|
$tabHash['_'.$uti['login']]=md5($uti['login'].'|'.$uti['password']);
|
|
}
|
|
//sort($tabFormat);
|
|
//print_r($tabFormat);die();
|
|
|
|
echo date ('Y/m/d - H:i:s')." - Début du traitement d'envoi des surveillances BODACC.\n";
|
|
|
|
$fields='d.id, d.siren, LOWER(s.login) AS login, s.email, s.ref, s.dateAjout, s.dateDerEnvoi, d.Bodacc_Num, d.Bodacc_Date_Parution, d.Num_Annonce, d.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, d.corrNum_Annonce, d.corrBodacc_Date_Parution, d.corrPage, d.corrNumParution, b.Tribunal_Dept, b.Tribunal_Code, d.RC, d.raisonSociale, codePostal, d.ville, codePostalSiege, villeSiege, activite, typeEven, dateEffet, dateDebutActivite, dateCessationActivite, dateCessationPaiement, dateJugement, d.dateInsert, b.annonce';
|
|
$where ="1 AND s.siren>1000 AND s.siren = d.siren AND d.dateInsert >= s.dateAjout AND (d.dateInsert>=s.dateDerEnvoi OR d.dateUpdate>=s.dateDerEnvoi) AND d.id=b.id AND s.dateSuppr='0000-00-00'";
|
|
//$where.=" AND d.dateInsert < '2009-03-19 00:00:00' ";
|
|
//501780845 312701725
|
|
$where.=' ORDER BY s.login ASC, s.email ASC';
|
|
$tables="bodacc_detail d, bodacc b, $tableSurveillance s";
|
|
|
|
//echo date ('Y/m/d - H:i:s')." - SELECT $fields FROM $tables WHERE $where".EOL;
|
|
//$nbAnnonces=$iDb->select($tables, $fields, $where, true, MYSQL_ASSOC, true);
|
|
|
|
$query ="
|
|
( /** Requete SQL pour la collecte **/
|
|
SELECT a.id, a.siren, LOWER(s.login) AS login, s.email, s.ref, s.dateAjout, s.dateDerEnvoi, CONCAT(a.source,'-',a.parutionIdJal) as source, a.parutionNum as Bodacc_Num, a.dateSource as Bodacc_Date_Parution, 0 as Num_Annonce, '' as Rubrique_Bodacc, '' as Rubrique, 'Insertion' as typeAnnonce,
|
|
'' as corrNum_Annonce, '' as corrBodacc_Date_Parution, '' as corrPage, '' as corrNumParution,
|
|
0 as Tribunal_Dept, a.tribunal as Tribunal_Code, '' as RC, a.raisonSociale, a.codePostal, a.ville, a.codePostal as codePostalSiege, a.ville as villeSiege,
|
|
'' as activite, concat(a.typeEven,';',strEven) AS typeEven, a.dateEffetFinP as dateEffet, '' as dateDebutActivite, '' as dateCessationActivite, a.dateCessationPaiement, a.dateJugement,
|
|
a.dateInsert, a.annonce, adresse, inter1type, inter1id, inter1nom, inter2type, inter2id, inter2nom, inter3type, inter3id, inter3nom, montant, actionsNb, complement, nouvActivite, nouvDir, nouvAdr, nouvFJ
|
|
FROM annonces a, surveillances_site s
|
|
WHERE s.source='annonces' AND s.siren>1000 AND s.siren = a.siren AND a.dateInsert >= s.dateAjout AND a.dateInsert>=s.dateDerEnvoi AND DATEDIFF(NOW(), dateJugement)<=60
|
|
ORDER BY s.login ASC, s.email ASC
|
|
|
|
) UNION (
|
|
/** Requete SQL pour le Bodacc **/
|
|
SELECT d.id, d.siren, LOWER(s.login) AS login, s.email, s.ref, s.dateAjout, s.dateDerEnvoi, CONCAT('BOD-',SUBSTRING(d.Rubrique_Bodacc,1,1)) as source, d.Bodacc_Num, d.Bodacc_Date_Parution, d.Num_Annonce, d.Rubrique_Bodacc, d.Rubrique, d.typeAnnonce, d.corrNum_Annonce, d.corrBodacc_Date_Parution, d.corrPage, d.corrNumParution, b.Tribunal_Dept, b.Tribunal_Code, d.RC, d.raisonSociale, codePostal, d.ville, codePostalSiege, villeSiege, activite, typeEven, dateEffet, dateDebutActivite, dateCessationActivite, dateCessationPaiement, dateJugement, d.dateInsert, b.annonce, '' as adresse, '' as inter1type, '' as inter1id, '' as inter1nom, '' as inter2type, '' as inter2id, '' as inter2nom, '' as inter3type, '' as inter3id, '' as inter3nom, '' as montant, '' as actionsNb, '' as complement, '' as nouvActivite, '' as nouvDir, '' as nouvAdr, '' as nouvFJ
|
|
FROM bodacc_detail d, bodacc b, surveillances_site s
|
|
WHERE s.source='annonces' AND s.siren>1000 AND s.siren = d.siren AND d.dateInsert >= s.dateAjout AND (d.dateInsert>=s.dateDerEnvoi OR d.dateUpdate>=s.dateDerEnvoi) AND d.id=b.id AND DATEDIFF(NOW(), d.Bodacc_Date_Parution)<=60
|
|
ORDER BY s.login ASC, s.email ASC
|
|
|
|
) ORDER BY login ASC, email ASC";
|
|
|
|
echo date ('Y/m/d - H:i:s')." - $query;".EOL;
|
|
$res=$iDb->query($query);
|
|
$nbAnnonces=mysql_num_rows($res);
|
|
|
|
echo date ('Y/m/d - H:i:s')." - Il y a $nbAnnonces surveillances à traiter...".EOL;
|
|
$emailPre=$loginPre=false;
|
|
//die();
|
|
|
|
require_once('/var/www/html/tests/pdf/html2pdf.class.php');
|
|
|
|
while ($annonce=$iDb->fetch(MYSQL_ASSOC)) {
|
|
|
|
//print_r($annonce);
|
|
//die();
|
|
|
|
$fp2=fopen("/var/www/html/factures/pdf/surv_site_".date('Y-m-d').'.csv', 'a');
|
|
fwrite($fp2, implode("\"\t\"", $annonce));
|
|
fclose($fp2);
|
|
|
|
$email=$annonce['email'];
|
|
$loginLu=$annonce['login'];
|
|
if (!isset($tabFormat['_'.$loginLu])) {
|
|
echo date('Y/m/d H:i:s').' - Annonce n°'.$annonce['id']. " non traitée pour cause de format indéfini pour $loginLu, $email (".$annonce['siren'].' - '.$annonce['raisonSociale'].")\n";
|
|
/** Avant de faire un continue, on initialise les variables précédentes obligatoires **/
|
|
/*$emailPre=$email;
|
|
$loginPre=$loginLu;
|
|
$envoiGroupePre=$envoiGroupe;
|
|
$conversionPdfPre=$conversionPdf;
|
|
$conversionCsvPre=$conversionCsv;*/
|
|
continue;
|
|
}
|
|
$conversionPdf=$conversionCsv=false;
|
|
if ($tabFormat['_'.$loginLu]=='txt2') $envoiGroupe=true;
|
|
elseif ($tabFormat['_'.$loginLu]=='csv') { $envoiGroupe=true; $conversionCsv=true; }
|
|
elseif ($tabFormat['_'.$loginLu]=='txt1') $envoiGroupe=false;
|
|
elseif ($tabFormat['_'.$loginLu]=='pdf1') { $envoiGroupe=true; $conversionPdf=true; }
|
|
else die(date('Y/m/d H:i:s')." - Erreur impossible : Format '".$tabFormat['_'.$loginLu]."' non géré pour $loginLu !");
|
|
|
|
echo date('Y/m/d H:i:s').' - Annonce n°'.$annonce['id']. " à traiter pour $loginLu, $email (".$annonce['siren'].' - '.$annonce['raisonSociale'].")\n";
|
|
|
|
if (count($tabLstEve['_'.$loginLu])>0) { // L'utilisateur filtre ses évènements
|
|
/*if ($loginLu=='ylenaour') {
|
|
print_r($tabLstEve['_'.$loginLu]);
|
|
die();
|
|
}*/
|
|
$tabEven=explode(';',$annonce['typeEven']);
|
|
$tabEven=array_unique($tabEven);
|
|
$evenTrouve=false;
|
|
foreach ($tabEven as $even) {
|
|
if (in_array($even, $tabLstEve['_'.$loginLu]))
|
|
$evenTrouve=true;
|
|
}
|
|
if (!$evenTrouve) {
|
|
echo date('Y/m/d H:i:s').' - Annonce n°'.$annonce['id'].' - Evènements hors périmètre client : '.implode(';',$tabEven)."\n";
|
|
if (!$modeTest) {
|
|
$where="login='$loginLu' /*AND email='$emailPre'*/ AND source='annonces' AND siren='".$annonce['siren']."'";
|
|
if (!$iDb->update($tableSurveillance, array('dateDerEnvoi'=>date('Ymd').'235959'), $where, true))
|
|
echo date('Y/m/d H:i:s')." - Erreur SQL ".mysql_errno().' : '.mysql_error().' sur UPDATE pour l\'annonce n°'.$annonce['id']. ", login=$loginLu, mail=$email, siren=".$annonce['siren'].', rsoc='.$annonce['raisonSociale']." ($where) !\n";
|
|
}
|
|
/** Avant de faire un continue, on initialise les variables précédentes obligatoires **/
|
|
/*$emailPre=$email;
|
|
$loginPre=$loginLu;
|
|
$envoiGroupePre=$envoiGroupe;
|
|
$conversionPdfPre=$conversionPdf;
|
|
$conversionCsvPre=$conversionCsv;*/
|
|
continue; // Aucun evènement souhaité par l'utilisateur n'est présent dans cette annonce
|
|
} else echo date('Y/m/d H:i:s').' - Annonce n°'.$annonce['id']." - Evenements OK pour $loginLu, $email (".$annonce['siren'].' - '.$annonce['raisonSociale'].")\n";
|
|
} else echo date('Y/m/d H:i:s').' - Annonce n°'.$annonce['id']." - Pas de filtre evenements pour $loginLu, $email (".$annonce['siren'].' - '.$annonce['raisonSociale'].")\n";
|
|
|
|
echo "Test $envoiGroupe vs $envoiGroupePre / Login $loginLu vs $loginPre / Email $email vs $emailPre\n";
|
|
|
|
if (WDate::dateT('Y-m-d','Ymd',$annonce['dateInsert'])*1<=date('Ymd', mktime(0, 0, 0, date("m") , date("d")-5, date("Y")))*1
|
|
&& $mailAnomalie) {
|
|
@sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance Annonces Legales ATTENTION", 'Annonce n°'.$annonce['id']." - Annonce ".$annonce['source']." entrée en base il y a plus de 5 jours pour $loginLu, $email (".$annonce['siren'].' - '.$annonce['raisonSociale'].")");
|
|
}
|
|
|
|
//$saisie = trim(strtoupper(fgets(STDIN)));
|
|
|
|
if ( ($envoiGroupe||$envoiGroupePre) && // Envoi groupé demandé ET
|
|
( ($loginPre!=false && $loginLu!=$loginPre) || // Login différent OU
|
|
($emailPre!=false && $email!=$emailPre) ) // Email différent
|
|
) { /** Login souhaitant un seul email pour toutes les annonces **/
|
|
$emailEnvoi=$emailPre;
|
|
if ($modeTest) $emailEnvoi=$strEmailsTest;
|
|
|
|
if ($conversionPdfPre) {
|
|
$html2pdf = new HTML2PDF('P','A4', 'fr');
|
|
$messagePdf='<page>'.str_replace("---------------------------------------------------------------------------",'</page><page>', strtr($message, array("\r\n"=>'<br/>'))).'</page>';
|
|
$html2pdf->WriteHTML($messagePdf);
|
|
$content=$html2pdf->Output('annonces.pdf', true);
|
|
$fichierPdf="/var/www/html/factures/pdf/annonces_$loginPre".'_'.date('Y-m-d').".pdf";
|
|
$fp=fopen($fichierPdf, 'w');
|
|
fwrite($fp, $content);
|
|
fclose($fp);
|
|
$tabAttached=array($fichierPdf);
|
|
} elseif ($conversionCsvPre) {
|
|
$tabAttached=array($fichierCsv);
|
|
} else
|
|
$tabAttached=array();
|
|
|
|
if(@sendMail('infoslegales@scores-decisions.com', $emailEnvoi, "Surveillance Annonces Legales", $message, '', $tabAttached)) {
|
|
if (!$modeTest/* || ($arretDemande && $loginPre<>'dgfipifu8')*/) {
|
|
if ($envoiGroupePre)
|
|
$where="login='$loginPre' /*AND email='$emailPre'*/ AND source='annonces' AND siren IN (".implode(',',$tabSiren).")";
|
|
else
|
|
$where="login='$loginPre' /*AND email='$emailPre'*/ AND source='annonces' AND siren='$siren'";
|
|
/*if ($arretDemande)
|
|
die($where);*/
|
|
|
|
if (!$iDb->update($tableSurveillance, array('dateDerEnvoi'=>date('YmdHis')), $where, true))
|
|
echo date('Y/m/d H:i:s')." - Erreur SQL ".mysql_errno().' : '.mysql_error().' sur UPDATE pour l\'annonce n°'.$annonce['id']. ", login=$loginPre, mail=$emailPre, siren=$siren,".implode(',',$tabSiren).', rsoc='.$annonce['raisonSociale']." ($where) !\n";
|
|
}
|
|
$messageInfo=$message."\r\n".date('Y/m/d H:i:s')." - L'annonce n°$idAnn a été envoyé à $emailPre.";
|
|
@sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance Annonces Legales", $messageInfo, '', $tabAttached);
|
|
echo date('Y/m/d H:i:s')." - Les annonces n°$strIdAnn ont été envoyées à $emailPre.\n";
|
|
} else {
|
|
$messageInfo=$message."\r\n".date('Y/m/d H:i:s')." - L'annonce n°$idAnn n'a pas été envoyé à $emailPre !!!";
|
|
@sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance Annonces Legales - Echec Envoi !", $messageInfo, '', $tabAttached);
|
|
echo date('Y/m/d H:i:s')." - Les annonces n°$strIdAnn n'ont pas été envoyées à $emailPre.\n";
|
|
}
|
|
// Remise à blanc du message
|
|
$message=$strIdAnn='';
|
|
$tabSiren=array();
|
|
}
|
|
|
|
// GESTION DE L'ANNONCE COURANTE
|
|
$siren=$annonce['siren'];
|
|
$sirenAff=implode(' ', str_split($siren,3));
|
|
$rs=substr($annonce['raisonSociale'],0,30).'...';
|
|
$tabEven=explode(';',$annonce['typeEven']);
|
|
$login=$annonce['login'];
|
|
|
|
$idAnn=$annonce['id'];
|
|
|
|
if ($envoiGroupe==false)
|
|
$message='';
|
|
else {
|
|
if ($emailPre==false && $loginPre==false) {
|
|
// Première annonce du mail
|
|
$message="Siren : $sirenAff\r\n".'Raison Sociale : '.$annonce['raisonSociale']."\r\n";
|
|
$strIdAnn="$idAnn ";
|
|
$tabSiren=array($siren);
|
|
} else {
|
|
// Nième annonce du mail
|
|
$message.= "Siren : $sirenAff\r\n".'Raison Sociale : '.$annonce['raisonSociale']."\r\n";
|
|
$strIdAnn.="$idAnn ";
|
|
$tabSiren[]=$siren;
|
|
}
|
|
}
|
|
|
|
if (trim($annonce['ref'])<>'') {
|
|
$message.='Votre référence : '.trim($annonce['ref'])."\r\n";
|
|
$message."\r\n";
|
|
$rs=substr($annonce['raisonSociale'],0,30).'... ('.trim($annonce['ref']).')';
|
|
}
|
|
$collecte=false;/*if ($source[0] == 'B'){
|
|
if ($ann['BodaccNum']==0)
|
|
print '<img src="./img/logo_jo.png"/> Source BODACC '.substr($ann['BodaccCode'],-1).' du '.WDate::dateT('Y-m-d','d/m/Y',$ann['DateParution']);
|
|
else
|
|
print '<img src="./img/logo_jo.png"/> Source BODACC n°'.$ann['BodaccNum'].' '.substr($ann['BodaccCode'],-1).' du '.WDate::dateT('Y-m-d','d/m/Y',$ann['DateParution']).'. Département n°'.$ann['Departement'].'. <a href="/?page=competences&siret='.$siret.'&type=tri">'.$ann['Tribunal'].'</a>';
|
|
}elseif ($source[0] == 'G' || $source[0] == 'T'){
|
|
print '<img src="./img/logo_greffe.png"/> Source Greffe du Tribunal';
|
|
}elseif ($source[0] == 'P'){
|
|
print '<img src="./img/logo_inpi.png"/> Source Registre National du Commerce';
|
|
}else{
|
|
print '<img src="./img/logo_jal.png"/> Source Journal Annonces Légales';
|
|
}*/
|
|
if (substr($annonce['source'],0,1)=='B') {
|
|
$message.='Source : BODACC n°'.$annonce['Bodacc_Num'].' '.substr($annonce['Rubrique_Bodacc'],0,1).' du '.WDate::dateT('Y-m-d','d/m/Y',$annonce['Bodacc_Date_Parution']).'. ';
|
|
} elseif (substr($annonce['source'],0,1)=='G') {
|
|
$message.='Source : Greffe du '.$iBodacc->getTribunalNom($annonce['Tribunal_Code']).' au '.WDate::dateT('Y-m-d','d/m/Y',$annonce['Bodacc_Date_Parution']).'. ';
|
|
$collecte=true;
|
|
} elseif (substr($annonce['source'],0,1)=='P') {
|
|
$message.='Source : Registre National du Commerce et des Sociétés au '.WDate::dateT('Y-m-d','d/m/Y',$annonce['Bodacc_Date_Parution']).'. ';
|
|
$collecte=true;
|
|
} else {
|
|
$message.='Source : Collecte Scores & Décisions en date du '.WDate::dateT('Y-m-d','d/m/Y',$annonce['Bodacc_Date_Parution']).'. ';
|
|
$collecte=true;
|
|
}
|
|
|
|
if ($collecte && trim($annonce['annonce'])=='') {
|
|
$tabCollecte=$iInsee->getProColPart($siren);
|
|
foreach ($tabCollecte as $annCollecte) {
|
|
$idAnn2=('0.'.$idAnn)*1.0;
|
|
if ($annCollecte['id']==$idAnn2) {
|
|
//die(print_r($collecte));
|
|
$annonce['annonce']=str_replace(' RCS Tribunal inconnu.',' RCS.', $annCollecte['texteAnnonce']);
|
|
//print_r($collecte);
|
|
//die(print_r($annonce));
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
$message.='Entrée en base S&D : '. WDate::dateT('Y-m-d','d/m/Y',$annonce['dateInsert'])."\r\n";
|
|
if ($annonce['Tribunal_Dept']>0) $message.='Département n°'.$annonce['Tribunal_Dept'].'. ';
|
|
if ($annonce['Tribunal_Code']<>'INCONU' &&
|
|
substr($annonce['source'],0,2)<>'GC') $message.=$iBodacc->getTribunalNom($annonce['Tribunal_Code']).'. ';
|
|
|
|
$message.='Entrée en base S&D : '. WDate::dateT('Y-m-d','d/m/Y',$annonce['dateInsert'])."\r\n";
|
|
$message."\r\n";
|
|
|
|
foreach ($tabEven as $even)
|
|
$message.=strtoupper($iBodacc->getEvenement($even))."\r\n";
|
|
$message.="\r\n";
|
|
|
|
$message.=$annonce['annonce']."\r\n";
|
|
if ($tabLienEx["_$login"]==1) {
|
|
if ($collecte)
|
|
$url="http://extranet.scores-decisions.com/?page=annonces&action=logon&login=$login&siret=$siren&idan=$idAnn2&vue=abod&hach=".$tabHash["_$login"];
|
|
else
|
|
$url="http://extranet.scores-decisions.com/?page=annonces&action=logon&login=$login&siret=$siren&idan=$idAnn&vue=bodacc&hach=".$tabHash["_$login"];
|
|
$message.="\r\nCliquez sur le lien suivant pour une consultation directe de l'annonce sur le site de Scores & Décisions :\r\n<div style=\"font-size: 6pt\"><a href=\"$url\">$url</a></div>\r\n";//d6c3f28eda29a2072b36872476a1d37a
|
|
}
|
|
$message.="\r\n\r\n---------------------------------------------------------------------------\r\n\r\n";
|
|
|
|
if ($conversionCsv) {
|
|
$fichierCsv="/var/www/html/factures/pdf/annonces_$login".'_'.DATE_HEURE_SCRIPT.".csv";
|
|
if (!file_exists($fichierCsv)) {
|
|
$fp=fopen($fichierCsv, 'a');
|
|
fwrite($fp, "Siren;Id Annonce;Référence;Parution;Bodacc;Date parution;Numéro Annonce;Type Annonce;Tribunal;Numéro RCS;Raison sociale;Chapitre;Evènement(s);Texte Annonce\r\n");
|
|
fclose($fp);
|
|
}
|
|
$fp=fopen($fichierCsv, 'a');
|
|
$cor=$txtEven='';
|
|
// Annonce corrective
|
|
if ($annonce['typeAnnonce']<>'Insertion')
|
|
$cor=' - Annonce n°'.$annonce['corrNum_Annonce'].' '.$annonce['corrNumParution'].', page '.
|
|
$annonce['corrPage'].', du '.WDate::dateT('Ymd','d/M/Y',$annonce['corrBodacc_Date_Parution']);
|
|
switch($annonce['typeAnnonce']) {
|
|
case 'Insertion': $cor='Insertion'.$cor; break;
|
|
case 'Additif': $cor='Additif'.$cor; break;
|
|
case 'Rectificatif': $cor='Rectificatif'.$cor; break;
|
|
case 'Suppression': $cor='Suppression'.$cor; break;
|
|
default: break;
|
|
}
|
|
// Libellé tribunal
|
|
$libTri=$iBodacc->getTribunalNom($annonce['Tribunal_Code']);
|
|
// Liste des évènements
|
|
$even=explode(';',$annonce['typeEven']);
|
|
foreach ($even as $codeEven)
|
|
if ($codeEven<>0) {
|
|
$txtEven.=$iBodacc->getEvenement($codeEven)." ($codeEven), ";
|
|
$catEven=$iBodacc->getChapitreEvenement($codeEven);
|
|
}
|
|
else
|
|
$txtEven.='';
|
|
$txtEven=substr($txtEven,0,strlen($txtEven)-2);
|
|
// Date de jugement ou d'effet
|
|
$dateEve1=$annonce['dateJugement']*1;
|
|
$dateEve2=$annonce['dateCessationActivite']*1;
|
|
$dateEve3=$annonce['dateEffet']*1;
|
|
$dateEve4=$annonce['dateDebutActivite']*1;
|
|
if ($dateEve1>0) $dateEve=WDate::dateT('Ymd','d/M/Y',$dateEve1);
|
|
elseif ($dateEve2>0) $dateEve=WDate::dateT('Ymd','d/M/Y',$dateEve2);
|
|
elseif ($dateEve3>0) $dateEve=WDate::dateT('Ymd','d/M/Y',$dateEve3);
|
|
elseif ($dateEve4>0) $dateEve=WDate::dateT('Ymd','d/M/Y',$dateEve4);
|
|
else $dateEve='';
|
|
// Ecriture de la ligne CSV
|
|
fwrite($fp, "$siren;$idAnn;".trim($annonce['ref']).';'.$annonce['Bodacc_Num'].';'.substr($annonce['Rubrique_Bodacc'],0,1).';'.
|
|
WDate::dateT('Y-m-d','d/m/Y',$annonce['Bodacc_Date_Parution']).';'.$annonce['Num_Annonce'].";$cor;$libTri;".$annonce['Num_Annonce'].';'.
|
|
$annonce['raisonSociale'].';'.$annonce['Rubrique'].";$txtEven;$dateEve;".preg_replace('/ +/',' ', strtr($annonce['annonce'],array("\r"=>'', "\n"=>'', ";"=>' ', ","=>' ', '"'=>"'")))."\r\n");
|
|
fclose($fp);
|
|
}
|
|
|
|
|
|
if ($envoiGroupe==false) {
|
|
/** Profil souhaitant un email par annonce **/
|
|
$emailEnvoi=$email;
|
|
if ($modeTest) $emailEnvoi=$strEmailsTest;
|
|
if(@sendMail('infoslegales@scores-decisions.com', $emailEnvoi, "Surveillance $sirenAff : $rs", $message)) {
|
|
if (!$modeTest) {
|
|
if ($envoiGroupe) $where="login='$login' AND email='$emailPre' AND source='annonces' AND siren IN (".implode(',',$tabSiren).")";
|
|
else $where="login='$login' AND email='$email' AND source='annonces' AND siren='$siren'";
|
|
if (!$iDb->update($tableSurveillance, array('dateDerEnvoi'=>date('YmdHis')), $where, true))
|
|
echo date('Y/m/d H:i:s')." - Erreur SQL ".mysql_errno().' : '.mysql_error().' sur UPDATE pour l\'annonce n°'.$annonce['id']. ", login=$login, mail=$emailPre/$email, siren=$siren,".implode(',',$tabSiren).', rsoc='.$annonce['raisonSociale']." ($where) !\n";
|
|
}
|
|
$messageInfo=$message."\r\n".date('Y/m/d H:i:s')." - L'annonce n°$idAnn a été envoyé à $email.";
|
|
@sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance $sirenAff : $rs", $messageInfo);
|
|
echo date('Y/m/d H:i:s')." - L'annonce n°$idAnn a été envoyé à $email.\n";
|
|
} else {
|
|
$messageInfo=$message."\r\n".date('Y/m/d H:i:s')." - L'annonce n°$idAnn n'a pas été envoyé à $email !!!";
|
|
@sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance $sirenAff : $rs - Echec Envoi !", $messageInfo);
|
|
echo date('Y/m/d H:i:s')." - L'annonce n°$idAnn n'a pas été envoyé à $email.\n";
|
|
}
|
|
}
|
|
$emailPre=$email;
|
|
$loginPre=$login;
|
|
$envoiGroupePre=$envoiGroupe;
|
|
$conversionPdfPre=$conversionPdf;
|
|
$conversionCsvPre=$conversionCsv;
|
|
}
|
|
|
|
|
|
/** Envoi du dernier email pour les envois groupés **/
|
|
if (($envoiGroupe||$envoiGroupePre) && $emailPre<>false && $loginPre<>false) {
|
|
$emailEnvoi=$emailPre;
|
|
if ($modeTest) $emailEnvoi=$strEmailsTest;
|
|
|
|
if ($conversionPdf) {
|
|
$html2pdf = new HTML2PDF('P','A4', 'fr');
|
|
$messagePdf='<page>'.str_replace("---------------------------------------------------------------------------",'</page><page>', strtr($message, array("\r\n"=>'<br/>'))).'</page>';
|
|
$html2pdf->WriteHTML($messagePdf);
|
|
$content=$html2pdf->Output('annonces.pdf', true);
|
|
$fichierPdf="/var/www/html/factures/pdf/annonces_$login".'_'.date('Y-m-d').".pdf";
|
|
$fp=fopen($fichierPdf, 'w');
|
|
fwrite($fp, $content);
|
|
fclose($fp);
|
|
$tabAttached=array($fichierPdf);
|
|
} elseif ($conversionCsv) {
|
|
$tabAttached=array($fichierCsv);
|
|
} else $tabAttached=array();
|
|
|
|
if(@sendMail('infoslegales@scores-decisions.com', $emailEnvoi, "Surveillance Annonces Legales", $message, '', $tabAttached)) {
|
|
if (!$modeTest) {
|
|
if ($envoiGroupe) $where="login='$login' /*AND email='$emailPre'*/ AND source='annonces' AND siren IN (".implode(',',$tabSiren).")";
|
|
else $where="login='$login' /*AND email='$emailPre'*/ AND source='annonces' AND siren='$siren'";
|
|
if (!$iDb->update($tableSurveillance, array('dateDerEnvoi'=>date('YmdHis')), $where, true))
|
|
echo date('Y/m/d H:i:s')." - Erreur SQL ".mysql_errno().' : '.mysql_error().' sur UPDATE pour l\'annonce n°'.$annonce['id']. ", login=$login, mail=$emailPre, siren=$siren,".implode(',',$tabSiren).', rsoc='.$annonce['raisonSociale']." ($where) !\n";
|
|
}
|
|
$messageInfo=$message."\r\n".date('Y/m/d H:i:s')." - Les annonces n°$strIdAnn ont été envoyées à $emailPre.";
|
|
@sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance Annonces Legales", $messageInfo, '', $tabAttached);
|
|
echo date('Y/m/d H:i:s')." - Les annonces n°$strIdAnn ont été envoyées à $emailPre.\n";
|
|
} else {
|
|
$messageInfo=$message."\r\n".date('Y/m/d H:i:s')." - L'annonce n°$idAnn n'a pas été envoyé à $emailPre !!!";
|
|
@sendMail('infoslegales@scores-decisions.com', 'ylenaour@scores-decisions.com', "Surveillance Annonces Legales - Echec Envoi !", $messageInfo, '', $tabAttached);
|
|
echo date('Y/m/d H:i:s')." - Les annonces n°$strIdAnn n'ont pas été envoyées à $emailPre.\n";
|
|
}
|
|
}
|
|
|
|
echo date ('Y/m/d - H:i:s')." - Fin du traitement d'envoi des surveillances BODACC.\n";
|
|
|
|
if (!$ignoreInfosRS) {
|
|
echo date ('Y/m/d - H:i:s')." - Mises à jour des Raisons Sociales, CP & Villes pour l'affichage des surveillances...".EOL;
|
|
|
|
/** Mise à jour des Raisons Sociales, CP & Villes pour les surveillances **/
|
|
$tabTmp=$iDb->select('surveillances_site', 'source, login, siren, nic, ref, dateAjout, rs, cp, ville, dateDerEnvoi', "dateSuppr=0 AND siren>0 AND rs='' AND login IN (
|
|
'ricard0',
|
|
'ricard1',
|
|
'ricard2',
|
|
'pernodadm',
|
|
'pernod1',
|
|
'aelb1',
|
|
'aelb2',
|
|
'aelb3',
|
|
'aelb4',
|
|
'aelb5',
|
|
'aelb6',
|
|
'adebbagh',
|
|
'dsfam1' ,
|
|
'dsfam2' ,
|
|
'dsfam3' ,
|
|
'dsfam4' ,
|
|
'dsfam5' ,
|
|
'dsfam6' ,
|
|
'dsfam7' ,
|
|
'dsfam8' ,
|
|
'dsfam9' ,
|
|
'dsfam10',
|
|
'dsfam11',
|
|
'dsfam12',
|
|
'dsfam13',
|
|
'dsfam14',
|
|
'dsfam15',
|
|
'dsfam16',
|
|
'dsfam17',
|
|
'dsfam18',
|
|
'dsfam19',
|
|
'dsfam20',
|
|
'dsfam21',
|
|
'dsfam22',
|
|
'dsfam23',
|
|
'dsfam24',
|
|
'dsfam25',
|
|
'dsfam26',
|
|
'dsfam27',
|
|
'dsfam28',
|
|
'dsfam29',
|
|
'dsfam30',
|
|
'dsfam31',
|
|
'dsfam32',
|
|
'dsfam33',
|
|
'dsfam34',
|
|
'dsfam35',
|
|
'dsfam36',
|
|
'dsfam37',
|
|
'dsfam38',
|
|
'dsfam39',
|
|
'dsfam40',
|
|
'dua01',
|
|
'dua02',
|
|
'afnic1' ,
|
|
'dgfippc1',
|
|
'dgfippc2',
|
|
'pointpadm' ,
|
|
'pointp1',
|
|
'pointp2',
|
|
'pointp3',
|
|
'pointp4',
|
|
'ricard3',
|
|
'ricard4',
|
|
'ppbmce1',
|
|
'PPDMO1' ,
|
|
'PPDOCK1',
|
|
'PPTROUILL1',
|
|
'PPBMRA1',
|
|
'PPCOMASUD1',
|
|
'PPCOMASUD3',
|
|
'PPCOMASUD4',
|
|
'PPDSC1' ,
|
|
'PPASTURIE1',
|
|
'PPDMBP1',
|
|
'PPDMTP1',
|
|
'PPDAI1' ,
|
|
'PPMBM1' ,
|
|
'PPIDF1' ,
|
|
'PPSONEN1',
|
|
'mpdgfip1',
|
|
'mpdgfip2',
|
|
'mpdgfip3',
|
|
'mpdgfip4',
|
|
'mpdgfip5',
|
|
'mpdgfip6',
|
|
'mpdgfip7',
|
|
'mpdgfip8',
|
|
'mpdgfip9',
|
|
'mpdgfip10',
|
|
'pernod2',
|
|
'pernod7',
|
|
'pernod8',
|
|
'pernod9',
|
|
'pernod10',
|
|
'pernod11',
|
|
'pernod12',
|
|
'pernod13',
|
|
'pernod14',
|
|
'pernod15',
|
|
'pernod16',
|
|
'pernod17',
|
|
'dsfam41',
|
|
'dsfam42',
|
|
'dsfam43',
|
|
'athlon1',
|
|
'athlon2',
|
|
'pernod23',
|
|
'pernod24',
|
|
'jchampeau',
|
|
'PPTROUILL3',
|
|
'PPTROUILL4',
|
|
'PPTROUILL5',
|
|
'PPTROUILL2',
|
|
'PPDOCK2',
|
|
'PPDOCK3',
|
|
'PPDOCK4',
|
|
'PPDSC2',
|
|
'PPDSC3',
|
|
'PPDSC4',
|
|
'PPDSC5',
|
|
'PPDSC6',
|
|
'PPDSC7',
|
|
'PPDSC8',
|
|
'PPDSC9',
|
|
'PPDSC10',
|
|
'pernod26',
|
|
'pernod27',
|
|
'pernod28',
|
|
'pernod29',
|
|
'PPCOMASUD5',
|
|
'PPDMBP2',
|
|
'PPDMBP3',
|
|
'PPDMBP4',
|
|
'PPDMBP5',
|
|
'PPDMBP6',
|
|
'PPDMBP7')
|
|
GROUP BY siren, nic ORDER BY login", false, MYSQL_ASSOC);
|
|
$nbTmp=count($tabTmp);
|
|
echo date ('Y/m/d - H:i:s')." - Il y a $nbTmp surveillances SIREN à mettre à jour...".EOL;
|
|
foreach ($tabTmp as $i=>$tabSurv) {
|
|
$tabIdentite=$iInsee->getIdentiteLight($tabSurv['siren'], $tabSurv['nic']);
|
|
$rs=$tabIdentite['Nom'];
|
|
$cp=$tabIdentite['CP'];
|
|
$ville=$tabIdentite['Ville'];
|
|
$iDb->update('surveillances_site',array('rs' => $rs,
|
|
'cp' => $cp,
|
|
'ville' => $ville),
|
|
"dateSuppr=0 AND siren=".$tabSurv['siren']." AND nic=".$tabSurv['nic'], false);
|
|
echo date ('Y/m/d - H:i:s')." - $i/$nbTmp: ".$tabSurv['login'].' '.$tabSurv['siren'].' '.$tabSurv['nic']." : $rs, $cp, $ville".EOL;
|
|
//usleep(100);
|
|
}
|
|
echo date ('Y/m/d - H:i:s')." - $i/$nbTmp surveillances SIREN mises à jour.".EOL;
|
|
die();
|
|
}
|
|
|
|
die();
|
|
?>
|