2012-10-16 07:44:31 +00:00
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
< ? php
/**
* @ todo
2013-06-19 08:24:49 +00:00
* 1. Num<EFBFBD> roter toutes les proc<EFBFBD> dures OK
2012-10-16 07:44:31 +00:00
* 2. Pouvoir faire du multiligne avec : 100 Annonce Bodacc
* 101 Commentaire
2013-06-19 08:24:49 +00:00
* 102 Activite d<EFBFBD> clar<EFBFBD> au Bodacc
2012-10-16 07:44:31 +00:00
* 103 texte rectificatif
2013-06-19 08:24:49 +00:00
* 104 Annonce compl<EFBFBD> te au format texte
2012-10-16 07:44:31 +00:00
* 105 Structure Dirigeants BODACC
2013-06-19 08:24:49 +00:00
* 106 Libell<EFBFBD> du P<EFBFBD> rim<EFBFBD> tre de la vente
2012-10-16 07:44:31 +00:00
* 3.
2013-06-19 08:24:49 +00:00
* 5. JugesCommissaires <EFBFBD> int<EFBFBD> grer correctement
2012-10-16 07:44:31 +00:00
2013-06-19 08:24:49 +00:00
Noms et pr<EFBFBD> noms des dirigeants de l 'entreprise ' Anum . ?
2012-10-16 07:44:31 +00:00
Raison sociale du vendeur Anum . 255
Siren du vendeur ( en cas de Vente / Cessions ) Num . 9
2013-06-19 08:24:49 +00:00
Indicateur de correction du SIREN vendeur ( si C , le siren diffus<EFBFBD> au BODACC est faut mais S & D a affect<EFBFBD> le bon SIREN ) ' Car . 1
2012-10-16 07:44:31 +00:00
*/
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 = false ;
$ignoreDateDerExec = $retroActivite = false ;
$tableSurveillance = 'surveillances_site' ;
$strInfoScript = 'Usage : ' . basename ( $argv [ 0 ]) . " [OPTION]
Envoi des annonces de surveillance Bodacc par email ( site et WS uniquement ) .
Options :
2013-06-19 08:24:49 +00:00
- e Ne pas tenir compte de la date de derni<EFBFBD> re ex<EFBFBD> cution du script
- i Ne pas ex<EFBFBD> cuter en r<EFBFBD> el ( pas de MAJ des infos d ' ex<EFBFBD> cution et envoi des mails <EFBFBD> lenaoury @ gmail . com ... )
- r : XX Faire une r<EFBFBD> troactivt<EFBFBD> de XX jours
2012-10-16 07:44:31 +00:00
" ;
$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 ;
//$tableSurveillance='surveillances_site_old';
break ;
case 'e' :
$ignoreDateDerExec = true ;
break ;
case 'r' :
$retroActivite = substr ( $argv [ $i ], 3 , strlen ( $argv [ $i ]) - 3 );
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, u.login, u.email, u.formatMail' , " u.idClient=c.id AND u.actif=1 AND u.deleted=0 AND c.actif='Oui' " , true , MYSQL_ASSOC , true );
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - Il y a $nbUtilisateurs utilisateurs habilit<69> s <20> recevoir des surveillances... " . EOL ;
2012-10-16 07:44:31 +00:00
$tabFormat = array ();
while ( $uti = $iDb2 -> fetch ( MYSQL_ASSOC )) {
$tabFormat [ '_' . $uti [ 'login' ]] = $uti [ 'formatMail' ];
}
sort ( $tabFormat );
$iBodacc = new MBodacc ();
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - D<> but du traitement d'envoi des surveillances BODACC. \n " ;
2012-10-16 07:44:31 +00:00
$fields = 'd.id, d.siren, s.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, b.Tribunal_Dept, b.Tribunal_Code, 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 ORDER BY s.email ASC' ;
//$where.=" AND s.login='reco10' ";
$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 );
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d - H:i:s' ) . " - Il y a $nbAnnonces surveillances <20> traiter... " . EOL ;
2012-10-16 07:44:31 +00:00
$emailPre = false ;
while ( $annonce = $iDb -> fetch ( MYSQL_ASSOC )) {
$email = $annonce [ 'email' ];
$loginLu = $annonce [ 'login' ];
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d H:i:s' ) . ' - Annonce n<> ' . $annonce [ 'id' ] . " <20> traiter pour $loginLu , $email ( " . $annonce [ 'siren' ] . ' - ' . $annonce [ 'raisonSociale' ] . " ) \n " ;
2012-10-16 07:44:31 +00:00
if ( $envoiGroupe && $emailPre != false && $email != $emailPre ) {
/** Profil souhaitant un seul email pour toutes les annonces **/
$emailEnvoi = $emailPre ;
if ( $modeTest ) $emailEnvoi = 'lenaoury@gmail.com' ;
//$emailEnvoi='lenaoury@gmail.com';
if ( sendMail ( 'infoslegales@scores-decisions.com' , $emailEnvoi , " Surveillance Annonces Legales " , $message )) {
if ( ! $modeTest ) {
if ( $envoiGroupe ) $where = " login=' $login ' AND email=' $emailPre ' AND siren IN ( " . implode ( ',' , $tabSiren ) . " ) " ;
else $where = " login=' $login ' AND email=' $emailPre ' AND siren=' $siren ' " ;
$iDb -> update ( $tableSurveillance , array ( 'dateDerEnvoi' => date ( 'YmdHis' )), $where , true );
}
2013-06-19 08:24:49 +00:00
$messageInfo = $message . " \r \n " . date ( 'Y/m/d H:i:s' ) . " - L'annonce n<> $idAnn a <20> t<EFBFBD> envoy<6F> <20> $emailPre . " ;
2012-10-16 07:44:31 +00:00
sendMail ( 'infoslegales@scores-decisions.com' , 'ylenaour@scores-decisions.com' , " Surveillance $sirenAff : $rs " , $messageInfo );
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d H:i:s' ) . " - Les annonces n<> $strIdAnn ont <20> t<EFBFBD> envoy<6F> es <20> $emailPre . \n " ;
2012-10-16 07:44:31 +00:00
} else {
2013-06-19 08:24:49 +00:00
$messageInfo = $message . " \r \n " . date ( 'Y/m/d H:i:s' ) . " - L'annonce n<> $idAnn n'a pas <20> t<EFBFBD> envoy<6F> <20> $emailPre !!! " ;
2012-10-16 07:44:31 +00:00
sendMail ( 'infoslegales@scores-decisions.com' , 'ylenaour@scores-decisions.com' , " Surveillance $sirenAff : $rs " , $messageInfo );
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d H:i:s' ) . " - Les annonces n<> $strIdAnn n'ont pas <20> t<EFBFBD> envoy<6F> es <20> $emailPre . \n " ;
2012-10-16 07:44:31 +00:00
}
2013-06-19 08:24:49 +00:00
// Remise <20> banc du message
2012-10-16 07:44:31 +00:00
$message = $strIdAnn = '' ;
$tabSiren = array ();
}
$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 ) {
2013-06-19 08:24:49 +00:00
// Premi<6D> re annonce du mail
2012-10-16 07:44:31 +00:00
$message = " Siren : $sirenAff\r\n " . 'Raison Sociale : ' . $annonce [ 'raisonSociale' ] . " \r \n " ;
$strIdAnn = " $idAnn " ;
$tabSiren = array ( $siren );
} else {
2013-06-19 08:24:49 +00:00
// Ni<4E> me annonce du mail
2012-10-16 07:44:31 +00:00
$message .= " Siren : $sirenAff\r\n " . 'Raison Sociale : ' . $annonce [ 'raisonSociale' ] . " \r \n " ;
$strIdAnn .= " $idAnn " ;
$tabSiren [] = $siren ;
}
}
if ( trim ( $annonce [ 'ref' ]) <> '' ) {
2013-06-19 08:24:49 +00:00
$message .= 'Votre r<> f<EFBFBD> rence : ' . trim ( $annonce [ 'ref' ]) . " \r \n " ;
2012-10-16 07:44:31 +00:00
$message . " \r \n " ;
$rs = substr ( $annonce [ 'raisonSociale' ], 0 , 30 ) . '... (' . trim ( $annonce [ 'ref' ]) . ')' ;
}
2013-06-19 08:24:49 +00:00
$message .= 'BODACC n<> ' . $annonce [ 'Bodacc_Num' ] . ' ' . substr ( $annonce [ 'Rubrique_Bodacc' ], 0 , 1 ) . ' du ' . WDate :: dateT ( 'Y-m-d' , 'd/m/Y' , $annonce [ 'Bodacc_Date_Parution' ]) . '. ' ;
$message .= 'D<> partement n<> ' . $annonce [ 'Tribunal_Dept' ] . '. ' . $iBodacc -> getTribunalNom ( $annonce [ 'Tribunal_Code' ]) . '. ' ;
$message .= 'Entr<74> e en base S&D : ' . WDate :: dateT ( 'Y-m-d' , 'd/m/Y' , $annonce [ 'dateInsert' ]) . " \r \n " ;
2012-10-16 07:44:31 +00:00
$message . " \r \n " ;
foreach ( $tabEven as $even )
$message .= strtoupper ( $iBodacc -> getEvenement ( $even )) . " \r \n " ;
$message .= " \r \n " ;
$message .= $annonce [ 'annonce' ] . " \r \n " ;
2013-06-19 08:24:49 +00:00
$message .= " \r \n Cliquez sur le lien suivant pour une consultation directe de l'annonce sur le site de Scores & D<> cisions : \r \n http://extranet.scores-decisions.com/?page=annonces&action=logon&login=dgfip&siret= $siren &id= $idAnn &vue=bodacc&hach=d6c3f28eda29a2072b36872476a1d37a \r \n " ;
2012-10-16 07:44:31 +00:00
$message .= " \r \n \r \n --------------------------------------------------------------------------- \r \n \r \n " ;
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 $sirenAff : $rs " , $message )) {
if ( ! $modeTest ) {
if ( $envoiGroupe ) $where = " login=' $login ' AND email=' $emailPre ' AND siren IN ( " . implode ( ',' , $tabSiren ) . " ) " ;
else $where = " login=' $login ' AND email=' $email ' AND siren=' $siren ' " ;
$iDb -> update ( $tableSurveillance , array ( 'dateDerEnvoi' => date ( 'YmdHis' )), $where , true );
}
2013-06-19 08:24:49 +00:00
$messageInfo = $message . " \r \n " . date ( 'Y/m/d H:i:s' ) . " - L'annonce n<> $idAnn a <20> t<EFBFBD> envoy<6F> <20> $email . " ;
2012-10-16 07:44:31 +00:00
sendMail ( 'infoslegales@scores-decisions.com' , 'ylenaour@scores-decisions.com' , " Surveillance $sirenAff : $rs " , $messageInfo );
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d H:i:s' ) . " - L'annonce n<> $idAnn a <20> t<EFBFBD> envoy<6F> <20> $email . \n " ;
2012-10-16 07:44:31 +00:00
} else {
2013-06-19 08:24:49 +00:00
$messageInfo = $message . " \r \n " . date ( 'Y/m/d H:i:s' ) . " - L'annonce n<> $idAnn n'a pas <20> t<EFBFBD> envoy<6F> <20> $email !!! " ;
2012-10-16 07:44:31 +00:00
sendMail ( 'infoslegales@scores-decisions.com' , 'ylenaour@scores-decisions.com' , " Surveillance $sirenAff : $rs " , $messageInfo );
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d H:i:s' ) . " - L'annonce n<> $idAnn n'a pas <20> t<EFBFBD> envoy<6F> <20> $email . \n " ;
2012-10-16 07:44:31 +00:00
}
}
$emailPre = $email ;
}
2013-06-19 08:24:49 +00:00
/** Envoi du dernier email pour les envois group<75> s **/
2012-10-16 07:44:31 +00:00
if ( $envoiGroupe && $emailPre <> false ) {
$emailEnvoi = $emailPre ;
if ( $modeTest ) $emailEnvoi = 'lenaoury@gmail.com' ;
//$emailEnvoi='lenaoury@gmail.com';
if ( sendMail ( 'infoslegales@scores-decisions.com' , $emailEnvoi , " Surveillance Annonces Legales " , $message )) {
if ( ! $modeTest ) {
if ( $envoiGroupe ) $where = " login=' $login ' AND email=' $emailPre ' AND siren IN ( " . implode ( ',' , $tabSiren ) . " ) " ;
else $where = " login=' $login ' AND email=' $emailPre ' AND siren=' $siren ' " ;
$iDb -> update ( $tableSurveillance , array ( 'dateDerEnvoi' => date ( 'YmdHis' )), $where , true );
}
2013-06-19 08:24:49 +00:00
$messageInfo = $message . " \r \n " . date ( 'Y/m/d H:i:s' ) . " - Les annonces n<> $strIdAnn ont <20> t<EFBFBD> envoy<6F> es <20> $emailPre . " ;
2012-10-16 07:44:31 +00:00
sendMail ( 'infoslegales@scores-decisions.com' , 'ylenaour@scores-decisions.com' , " Surveillance $sirenAff : $rs " , $messageInfo );
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d H:i:s' ) . " - Les annonces n<> $strIdAnn ont <20> t<EFBFBD> envoy<6F> es <20> $emailPre . \n " ;
2012-10-16 07:44:31 +00:00
} else {
2013-06-19 08:24:49 +00:00
$messageInfo = $message . " \r \n " . date ( 'Y/m/d H:i:s' ) . " - L'annonce n<> $idAnn n'a pas <20> t<EFBFBD> envoy<6F> <20> $emailPre !!! " ;
2012-10-16 07:44:31 +00:00
sendMail ( 'infoslegales@scores-decisions.com' , 'ylenaour@scores-decisions.com' , " Surveillance $sirenAff : $rs " , $messageInfo );
2013-06-19 08:24:49 +00:00
echo date ( 'Y/m/d H:i:s' ) . " - Les annonces n<> $strIdAnn n'ont pas <20> t<EFBFBD> envoy<6F> es <20> $emailPre . \n " ;
2012-10-16 07:44:31 +00:00
}
}
echo date ( 'Y/m/d - H:i:s' ) . " - Fin du traitement d'envoi des surveillances BODACC. \n " ;
die ();
?>