#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini 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; //$tableSurveillance='surveillances_site_old'; break; case '-': case '?': die($strInfoScript); break; default: die('Option '. $argv[$i] . " inconnue !\n"); break; } } } } $iDb=new WDB('jo'); $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(); $iBodacc=new MBodacc(); $iInsee=new MInsee(); echo date ('Y/m/d - H:i:s')." - Début du traitement d'envoi des surveillances Actes.\n"; $fields="CONCAT(s.siren,'-',s.login,'-',s.ref) AS id, s.siren, LOWER(TRIM(s.login)) AS login, LOWER(TRIM(s.email)) AS email, s.ref, s.dateAjout, s.dateDerEnvoi, a.codeInterne, a.dateDepot, a.flux, a.codeEven, a.dateInsert"; $where ="1 AND s.source='actes' AND s.siren>1000 AND s.siren=a.siren AND a.dateInsert>=s.dateAjout AND a.dateInsert>=s.dateDerEnvoi AND s.dateSuppr='0000-00-00' AND DATEDIFF(NOW(), a.dateDepot)<=90 AND a.dateInsert>'2010-05-24' "; $where.=' GROUP BY s.login, s.email, a.siren, a.codeInterne, a.dateDepot ORDER BY s.login ASC, s.email ASC, a.siren, a.codeInterne, a.dateDepot'; $tables="$tableSurveillance s, rncs_even a"; 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); echo date ('Y/m/d - H:i:s')." - Il y a $nbAnnonces surveillances Actes à traiter...".EOL; $emailPre=$loginPre=false; //die(); require_once('/var/www/html/tests/pdf/html2pdf.class.php'); while ($annonce=$iDb->fetch(MYSQL_ASSOC)) { $tabIdentite=$iInsee->getIdentiteLight($annonce['siren']); //print_r($tabIdentite); //die(); /* [id] => 6838322 [Siret] => 55214450300018 [Siege] => 1 [Nom] => AUTOMOBILES PEUGEOT [Sigle] => [Enseigne] => [Adresse] => 0075 AV LA GRANDE ARMEE [Adresse2] => [AdresseNum] => 0075 [AdresseBtq] => [AdresseVoie] => AV [AdresseRue] => LA GRANDE ARMEE [CP] => 75116 [Ville] => PARIS 16 [Tel] => 141193150 [Fax] => 140665414 [FJ] => 5599 [FJ_lib] => Autre SA à conseil d'administration [Siren] => 552144503 [Nic] => 00018 [Actif] => 1 [NafEtab] => 7010Z [NafEnt] => 2910Z [NafEntLib] => Construction de véhicules automobiles [NafEtabLib] => Activités des sièges sociaux [AutreId] => 55B14450 [Source] => 002 [SourceId] => 6853244 */ $fp2=fopen("/var/www/html/factures/pdf/surv_actes_".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'].' - '.$tabIdentite['Nom'].")\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'].' - '.$tabIdentite['Nom'].")\n"; echo "Test $envoiGroupe vs $envoiGroupePre, Login $loginLu vs $loginPre, Email $email vs $emailPre, Csv/Pdf=$conversionCsv/$conversionPdf\n"; //$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='lenaoury@gmail.com'; if ($conversionPdfPre) { $html2pdf = new HTML2PDF('P','A4', 'fr'); $messagePdf=''.str_replace("---------------------------------------------------------------------------",'', strtr($message, array("\r\n"=>'
'))).'
'; $html2pdf->WriteHTML($messagePdf); $content=$html2pdf->Output('annonces.pdf', true); $fichierPdf="/var/www/html/factures/pdf/scores_$loginPre".'_'.date('Y-m-d').".pdf"; $fp=fopen($fichierPdf, 'w'); fwrite($fp, $content); fclose($fp); $tabAttached=array($fichierPdf); } elseif ($conversionCsvPre) { $tabAttached=array($fichierCsvPre); } else $tabAttached=array(); if(@sendMail('infoslegales@scores-decisions.com', $emailEnvoi, "Surveillance des actes déposés", $message, '', $tabAttached)) { if ($envoiGroupe) $where="login='$loginPre' /*AND email='$emailPre'*/ AND source='actes' AND siren IN (".implode(',',$tabSiren).")"; else $where="login='$loginPre' /*AND email='$emailPre'*/ AND source='actes' AND siren='$siren'"; echo "UPDATE $tableSurveillance SET dateDerEnvoi=NOW() WHERE $where".EOL; if (!$modeTest) { if ($envoiGroupe) $where="login='$loginPre' /*AND email='$emailPre'*/ AND source='actes' AND siren IN (".implode(',',$tabSiren).")"; else $where="login='$loginPre' /*AND email='$emailPre'*/ AND source='actes' 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=$loginPre, mail=$emailPre, siren=$siren,".implode(',',$tabSiren).', rsoc='.$tabIdentite['Nom']." ($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 des actes déposés", $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 des actes déposés - 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 à banc du message $message=$strIdAnn=''; $tabSiren=array(); } // GESTION DE L'ANNONCE COURANTE $siren=$annonce['siren']; $sirenAff=implode(' ', str_split($siren,3)); //$nicAff=$annonce['nicEven']; $rs=substr($tabIdentite['Nom'],0,30).'...'; //$even=$annonce['insEVE']; $login=$annonce['login']; $idAnn=$tabIdentite['id']; if ($envoiGroupe==false) $message="Siren : $sirenAff\r\n".'Raison Sociale : '.$tabIdentite['Nom']."\r\n"; else { if ($emailPre==false && $loginPre==false) { // Première annonce du mail $message="Siren : $sirenAff\r\n".'Raison Sociale : '.$tabIdentite['Nom']."\r\n"; $strIdAnn="$idAnn "; $tabSiren=array($siren); } else { // Nième annonce du mail $message.= "Siren : $sirenAff\r\n".'Raison Sociale : '.$tabIdentite['Nom']."\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($tabIdentite['Nom'],0,30).'... ('.trim($annonce['ref']).')'; } // a.codeInterne, a.dateDepot, a.flux, a.codeEven, t.libEven, t.codEven $message.='Source : Registre du Commerce en date du '.WDate::dateT('Y-m-d','d/m/Y',$annonce['dateDepot']).'. '; $message.='Mise à jour en base S&D : '. WDate::dateT('Y-m-d','d/m/Y',$annonce['dateInsert'])."\r\n"; $tabEven=$iDb2->select( 'jo.rncs_even a, jo.tabEvenRncs t', 'a.codeEven, t.libEven, t.codEven', "siren=$siren AND codeInterne='".$annonce['codeInterne']."' AND dateDepot='".$annonce['dateDepot']."' AND a.codeEven=t.codeEven", true, MYSQL_ASSOC); $message.="\r\n"; if (count($tabEven)>1) $message.="OBJETS DU DEPOT :\r\n"; else $message.="OBJET DU DEPOT :\r\n"; foreach ($tabEven as $even) { $message.=' - '.$even['libEven'].' ('.$even['codEven'].$even['codeEven'].')'."\r\n"; } $message.="\r\n"; $message.="Adresse du siège : ". $tabIdentite['Adresse'].', '.$tabIdentite['CP'].' '.$tabIdentite['Ville']."\r\n"; $message.="Forme juridique : ". $tabIdentite['FJ_lib'].' ('.$tabIdentite['FJ'].")\r\n"; $message.="Activité de l'entreprise : ". $tabIdentite['NafEntLib'].' ('.$tabIdentite['NafEnt'].")\r\n"; $message.="\r\n"; if ($tabLienEx["_$login"]==1) { if (WS_VERSION==2) $url="http://extranet.scores-decisions.com/pieces/actes/siret/$siren"; else $url="http://extranet.scores-decisions.com/?page=greffes&vue=actes&action=logon&login=$login&siret=$siren&hach=".$tabHash["_$login"]; $message.="\r\nCliquez sur le lien suivant pour une consultation directe de l'évènement sur le site de Scores & Décisions :\r\n
$url
\r\n";//d6c3f28eda29a2072b36872476a1d37a } $message.="\r\n\r\n---------------------------------------------------------------------------\r\n\r\n"; if ($conversionCsv) { $mel=substr(md5(preg_replace('/[^a-z0-9]/i','',$annonce['email'])),0,8); $fichierCsv='/var/www/html/factures/pdf/actes_'.$login.'_'.$mel.'_'.DATE_HEURE_SCRIPT.'.csv'; if (!file_exists($fichierCsv)) { $fp=fopen($fichierCsv, 'a'); fwrite($fp, "Siren;Id Acte;Référence;Date parution;Date Entrée en base;Raison sociale; FJ;NAF;Type Evenement;Libellé Evènement\r\n"); fclose($fp); } $fp=fopen($fichierCsv, 'a'); // Ecriture d'une ligne CSV par évènement du dépôt foreach ($tabEven as $even) { fwrite($fp, "$siren;$idAnn;".trim($annonce['ref']).';'. WDate::dateT('Y-m-d','d/m/Y',$annonce['dateDepot']).';'. WDate::dateT('Y-m-d','d/m/Y',$annonce['dateInsert']).';'. $tabIdentite['Nom'].';'.$tabIdentite['FJ'].';'.$tabIdentite['NafEnt'].';'. $even['codEven'].$even['codeEven'].';'.$even['libEven']."\r\n"); } fclose($fp); } if ($envoiGroupe==false) { /** Profil souhaitant un email par annonce **/ $emailEnvoi=$email; if ($modeTest) $emailEnvoi='lenaoury@gmail.com'; //$emailEnvoi='lenaoury@gmail.com'; if(@sendMail('infoslegales@scores-decisions.com', $emailEnvoi, "Surveillance des actes déposés $sirenAff $nicAff : $rs", $message)) { if ($envoiGroupe) $where="login='$login' AND email='$emailPre' AND source='actes' AND siren IN (".implode(',',$tabSiren).")"; else $where="login='$login' AND email='$email' AND source='actes' AND siren='$siren'"; echo "UPDATE $tableSurveillance SET dateDerEnvoi=NOW() WHERE $where; (1 mail/annonce)".EOL; if (!$modeTest) { if ($envoiGroupe) $where="login='$login' AND email='$emailPre' AND source='actes' AND siren IN (".implode(',',$tabSiren).")"; else $where="login='$login' AND email='$email' AND source='actes' 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='.$tabIdentite['Nom']." ($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 des actes déposés $sirenAff $nicAff : $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 des actes déposés $sirenAff $nicAff : $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; $fichierCsvPre=$fichierCsv; } /** Envoi du dernier email pour les envois groupés **/ if (($envoiGroupe||$envoiGroupePre) && $emailPre<>false && $loginPre<>false) { $emailEnvoi=$emailPre; if ($modeTest) $emailEnvoi='lenaoury@gmail.com'; if ($conversionPdf) { $html2pdf = new HTML2PDF('P','A4', 'fr'); $messagePdf=''.str_replace("---------------------------------------------------------------------------",'', strtr($message, array("\r\n"=>'
'))).'
'; $html2pdf->WriteHTML($messagePdf); $content=$html2pdf->Output('annonces.pdf', true); $fichierPdf="/var/www/html/factures/pdf/scores_$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 des actes déposés", $message, '', $tabAttached)) { if ($envoiGroupe) $where="login='$login' /*AND email='$emailPre'*/ AND source='actes' AND siren IN (".implode(',',$tabSiren).")"; else $where="login='$login' /*AND email='$emailPre'*/ AND source='actes' AND siren='$siren'"; echo "UPDATE $tableSurveillance SET dateDerEnvoi=NOW() WHERE $where".EOL; if (!$modeTest) { if ($envoiGroupe) $where="login='$login' /*AND email='$emailPre'*/ AND source='actes' AND siren IN (".implode(',',$tabSiren).")"; else $where="login='$login' /*AND email='$emailPre'*/ AND source='actes' 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='.$tabIdentite['Nom']." ($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 des actes déposés", $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 des actes déposés - 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 Actes.\n"; die(); ?>