diff --git a/includes/annonces/annonces.php b/includes/annonces/annonces.php index 014db4238..107dfd19f 100644 --- a/includes/annonces/annonces.php +++ b/includes/annonces/annonces.php @@ -12,41 +12,131 @@ class Annonces public function __construct($annonces = array()) { - if (is_array($annonces) && count($annonces)>0){ + if (is_array($annonces) && count($annonces)>0) { $this->annonces = $annonces; $this->triAnnonces(); } } - public function getAnnonceHead($ann) + + public function getAnnonceDesc($ann) { - if ($this->isBalo($ann['BodaccCode'])) - { - + if ($this->isBodacc($ann['BodaccCode'])) { + + $tabSource = explode('-', $ann['BodaccCode']); + $source = $tabSource[0]; + $idSource = $tabSource[1]; + if ($source[0] == 'B') { + $logo = 'img/logo_jo.png'; + if ($ann['BodaccNum']==0){ + $libelle = 'Source BODACC '.substr($ann['BodaccCode'],-1). + ' du '.$this->dateAnnonce($ann['DateParution']); + } else { + $libelle = 'Source BODACC n°'.$ann['BodaccNum'].' '. + substr($ann['BodaccCode'],-1). + ' du '.$this->dateAnnonce($ann['DateParution']). + '. Département n°'.$ann['Departement']. + '. '.$ann['Tribunal'].''; + } + }elseif ($source[0] == 'G' || $source[0] == 'T'){ + $logo = './img/logo_greffe.png'; + $libelle = 'Source Greffe du Tribunal'; + }elseif ($source[0] == 'P'){ + $logo = './img/logo_inpi.png'; + $libelle = 'Source Registre National du Commerce'; + }else{ + $logo = './img/logo_jal.png'; + $libelle = ''; + if( hasModeEdition() && + (substr($source,0,2)=='JT' || $source=='ANTE') ){ + $libelle = 'Source TESSI - '; + } + $libelle.= 'Source Journal Annonces Légales'; + } + return ' '.$libelle.'.'; + + } elseif ($this->isBalo($ann['BodaccCode'])) { + + return 'BALO n°'.$ann['BodaccNum'].' du '. + $this->dateAnnonce($ann['DateParution']).'.'; + + } elseif ($this->isAsso($ann['BodaccCode'])) { + return 'J.O. ASSOCIATION n°'.$ann['BodaccNum'].' du '. + $this->dateAnnonce($ann['DateParution']).'.'; + + } elseif ($this->isBomp($ann['BodaccCode'])){ + + return 'Annonce n°'.$ann['NumAnnonce'] . '. ' . + 'Source ' . $ann['BodaccCode'] . ' ' . + 'n°' . ($ann['BodaccNum']*1) . ' ' . + ' du '.$this->dateAnnonce($ann['DateParution']). + '. Département n°'.$ann['Departement'].'.'; + + } else { + } - elseif ($this->isAsso($ann['BodaccCode'])) - { - - } - elseif ($this->isBomp($ann['BodaccCode'])) - { - - } - elseif ($this->isBodacc($ann['BodaccCode'])) - { - - } - else - { - - } - } - - public function getAnnonceTexte($id) + + public function getAnnonceEntree($ann) { + if ($this->isBodacc($ann['BodaccCode'])) { + if ($ann['dateInsertionSD']!='') { + return ' - Entrée en base : '. + $this->dateAnnonce($ann['dateInsertionSD']); + } + } elseif ($this->isBalo($ann['BodaccCode'])) { + + return 'Entré n°'.$ann['NumAnnonce'].'.'; + + } elseif ($this->isAsso($ann['BodaccCode'])) { + return 'Annonce n°'.$ann['NumAnnonce'].'.'; + + } elseif ($this->isBomp($ann['BodaccCode'])){ + return ''; + } else { + + + } + } + + public function getAnnonceEntreeSD($ann) + { + if ($this->isBodacc($ann['BodaccCode'])) { + + } elseif ($this->isBalo($ann['BodaccCode'])) { + + return 'Entrée en base S&D : '. + $this->dateAnnonce($ann['dateInsertionSD']).'.'; + + } elseif ($this->isAsso($ann['BodaccCode'])) { + + return 'Entrée en base S&D : '. + $this->dateAnnonce($ann['dateInsertionSD']).'.'; + + } elseif ($this->isBomp($ann['BodaccCode'])){ + return ''; + } else { + + } + } + + public function getAnnonceEven($ann) + { + $output = ''; + foreach ($ann['evenements'] as $i=>$even) { + $output.= $even['LibEven'].'
'; + } + return $output; + } + + public function getAnnonceTexte($ann) + { + $pattern = "/((?:[0-9]{9,9})|(?:[0-9]{3,3} [0-9]{3,3} [0-9]{3,3})|(?:[0-9]{3,3}\.[0-9]{3,3}\.[0-9]{3,3})|(?:[0-9]{3,3}-[0-9]{3,3}-[0-9]{3,3}))/"; + return preg_replace_callback($pattern, 'replace_siren', $ann['texteAnnonce']); } public function getAnnonceResume($ann) @@ -62,7 +152,7 @@ class Annonces protected function hrefAnnonce($ann) { $href = false; - if ($this->isBodacc($ann['BodaccCode'])){ + if ($this->isBodacc($ann['BodaccCode'])) { $href = 'idan='.$ann['id'].'&vue=bodacc'; } elseif ($this->isBalo($ann['BodaccCode'])) { $href = 'idan='.$ann['id'].'&vue=balo'; @@ -76,11 +166,19 @@ class Annonces return $href; } + /** + * Retourne une date formatté + * @param unknown_type $date + */ protected function dateAnnonce($date) { return WDate::dateT('Y-m-d', 'd/m/Y', $date); } + /** + * logoAnnonce + * @param unknown_type $ann + */ protected function logoAnnonce($ann) { $src = ''; @@ -144,6 +242,10 @@ class Annonces } } + /** + * Retourne le libellé de l'annonce + * @param unknown_type $ann + */ protected function libAnnonce($ann) { $lib = ''; @@ -166,7 +268,10 @@ class Annonces } return $lib; } - + + /** + * Tri les annonces en fonction de la source + */ protected function triAnnonces() { foreach ($this->annonces as $i => $ann) @@ -174,6 +279,7 @@ class Annonces if ($this->isBodacc($ann['BodaccCode'])){ $this->annoncesBodacc[] = $ann; } elseif ($this->isBalo($ann['BodaccCode'])) { + $ann['texteAnnonce'] = utf8_decode($ann['texteAnnonce']); $this->annoncesBalo[] = $ann; } elseif ($this->isAsso($ann['BodaccCode'])) { $this->annoncesAsso[] = $ann; @@ -185,6 +291,10 @@ class Annonces } } + /** + * Détermine si l'annonce est une annonce BODACC + * @param string $code + */ protected function isBodacc($code) { if (in_array($code, array('BODA', 'BODB', 'BODC'))){ @@ -194,6 +304,10 @@ class Annonces } } + /** + * Détermine si l'annonce est une annonce BALO + * @param string $code + */ protected function isBalo($code) { if ($code == 'BALO'){ @@ -203,6 +317,10 @@ class Annonces } } + /** + * Détermine si l'annonce est une annonce ASSO + * @param string $code + */ protected function isAsso($code) { if ($code == 'ASSO'){ @@ -212,6 +330,10 @@ class Annonces } } + /** + * Détermine si l'annonce est une annonce BOAMP + * @param string $code + */ protected function isBomp($code) { if (in_array($code, array('BOMP A', 'BOMP B', 'BOMP C', 'MAPA'))){ diff --git a/includes/saisie/saisie_annonces.php b/includes/saisie/saisie_annonces.php index 3a071b4bd..ab14b0530 100644 --- a/includes/saisie/saisie_annonces.php +++ b/includes/saisie/saisie_annonces.php @@ -31,6 +31,43 @@ function supprAnnonceCollecte($idan, $siret = ''){ return $output; } +function supprAnnonce($source, $idan, $siret) { + global $client; + $sourceNum = null; + $source = strtoupper($source); + if (in_array($source, array('BODA', 'BODB', 'BODC'))){ + $sourceNum = 1; + } elseif ($source == 'BALO') { + $sourceNum = 2; + } elseif ($source == 'ASSO') { + $sourceNum = 3; + } elseif (in_array($source, array('BOMP A', 'BOMP B', 'BOMP C', 'MAPA'))) { + $sourceNum = 4; + } elseif (!empty($source)){ + $sourceNum = 0; + } + + if ($sourceNum == null) { + return "Source inconnu"; + } + + try { + $O = $client->supprAnnonce($sourceNum, $idan, $siret); + $error = $O['error']; + } catch (SoapFault $fault) { + require_once 'soaperror.php'; + processSoapFault($client, $fault, $_SESSION['tabInfo']); + } + if ( isset($error) && $error['errNum'] == 0 ){ + $output = 'Annonce '.$idan.' supprimé !'; + } elseif ( isset($error) && $error['errNum'] != 0 ) { + $output = 'Erreur lors de la suppression.'; + } else { + $output = "Une erreur est survenue..."; + } + return $output; +} + function dupliqueAnnonceCollecte($idan, $siret){ global $client; try { @@ -52,21 +89,24 @@ function dupliqueAnnonceCollecte($idan, $siret){ switch ( $subaction ) { case 'deleteDialog': - $idan = $params[2]; - $siret = $params[3]; + $source = $params[2]; + $idan = $params[3]; + $siret = $_SESSION['tabInfo']['entrep']['siret']; ?>
- Êtes-vous sur de vouloir supprimer l'annonce ? + Êtes-vous sur de vouloir supprimer l'annonce , source ?
+
Affecte l'annonce de sur un nouveau siren. @@ -74,15 +114,18 @@ switch ( $subaction ) {
+ Siren / Siret :
array( + 'class' => 'annonceEdit', + 'title' => 'Edition annonce', + 'img' => '', + ), + 'deleteDialog' => array( + 'class' => 'annonceDelete', + 'title' => 'Suppression annonce', + 'img' => '', + ), + 'copyDialog' => array( + 'class' => 'annonceCopy', + 'title' => 'Dupliquer sur autre Siren', + 'img' => '', + ), + ); + + foreach ( $liensEdit as $lienId => $lienItem ){ + ?> + + + + + + +
@@ -48,14 +46,11 @@ if ($message<>'') {   - - Raison Sociale - + Raison Sociale (Edition) @@ -69,26 +64,33 @@ if ($message<>'') { annoncesBalo as $ann) { + if($ann['id']==$idan) + break; + } + ?>

BALO

+ + + +
  - BALO n° du . - Entré n°. - Entrée en base S&D : . -
+ getAnnonceDesc($ann). + $objAnnonces->getAnnonceEntree($ann). + $objAnnonces->getAnnonceEntreeSD($ann); + + require_once 'saisie/saisie_liensdialog.php'; + ?> +
  Cliquez ici pour voir cette annonce au format PDF () @@ -101,10 +103,13 @@ if ($idan && in_array($vue, array('bodacc', 'abod', 'balo', 'asso', 'bomp')))
annoncesBodacc as $ann) { + if($ann['id']==$idan) + break; + } ?>

ÉVÉNEMENTS LÉGAUX

@@ -112,59 +117,12 @@ if ($idan && in_array($vue, array('bodacc', 'abod', 'balo', 'asso', 'bomp')))
  '.$ann['Tribunal'].''; - } - }elseif ($source[0] == 'G' || $source[0] == 'T'){ - $logo = './img/logo_greffe.png'; - $libelle = 'Source Greffe du Tribunal'; + echo $objAnnonces->getAnnonceDesc($ann).' '. + $objAnnonces->getAnnonceEntree($ann).' '. + $objAnnonces->getAnnonceEntreeSD($ann); - }elseif ($source[0] == 'P'){ - $logo = './img/logo_inpi.png'; - $libelle = 'Source Registre National du Commerce'; - }else{ - $logo = './img/logo_jal.png'; - $libelle = ''; - if( hasModeEdition() && - (substr($source,0,2)=='JT' || $source=='ANTE') ){ - $libelle = 'Source TESSI - '; - } - $libelle.= 'Source Journal Annonces Légales'; - } - if ($ann['dateInsertionSD'] <> '') { - $libelle.= ' - Entrée en base : '; - $date = new WDate; - $libelle.= $date->dateT('Y-m-d', 'd/m/Y', $ann['dateInsertionSD']); - } - $edition = ''; - if ( hasModeEdition() ){ - $edition.= ' '. - ''; - $edition.= ' '. - ''; - $edition.= ' '. - ''; - $edition.= ''; - $edition.= ''; - } + require_once 'saisie/saisie_liensdialog.php'; ?> - '?>
@@ -172,15 +130,23 @@ if ($idan && in_array($vue, array('bodacc', 'abod', 'balo', 'asso', 'bomp'))) } elseif ($vue=='asso') { + foreach($objAnnonces->annoncesAsso as $ann) { + if($ann['id']==$idan) + break; + } ?>

Associations

  - J.O. ASSOCIATION n° du . - Annonce n°. - Entrée en base S&D : . + getAnnonceDesc($ann).' '. + $objAnnonces->getAnnonceEntree($ann).' '. + $objAnnonces->getAnnonceEntreeSD($ann); + + require_once 'saisie/saisie_liensdialog.php'; + ?>
@@ -188,6 +154,10 @@ if ($idan && in_array($vue, array('bodacc', 'abod', 'balo', 'asso', 'bomp'))) } elseif ($vue=='bomp') { + foreach($objAnnonces->annoncesBomp as $ann) { + if($ann['id']==$idan) + break; + } ?>

Marchés publics

@@ -195,12 +165,11 @@ if ($idan && in_array($vue, array('bodacc', 'abod', 'balo', 'asso', 'bomp'))) @@ -213,9 +182,7 @@ if ($idan && in_array($vue, array('bodacc', 'abod', 'balo', 'asso', 'bomp'))) @@ -224,11 +191,9 @@ if ($idan && in_array($vue, array('bodacc', 'abod', 'balo', 'asso', 'bomp'))) - - +
  getAnnonceDesc($ann).' '. + $objAnnonces->getAnnonceEntree($ann).' '. + $objAnnonces->getAnnonceEntreeSD($ann); + + require_once 'saisie/saisie_liensdialog.php'; ?>
  - $even) { echo @$even['LibEven'].'
'; } - ?> + getAnnonceEven($ann)?>
  + getAnnonceTexte($ann)?> +