Inlcude all libs
5
application/controllers/PrestaController.php
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<?php
|
||||||
|
class PrestaController extends Zend_Controller_Action
|
||||||
|
{
|
||||||
|
public function indexAction(){}
|
||||||
|
}
|
34
application/controllers/ReportController.php
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
class ReportController extends Zend_Controller_Action
|
||||||
|
{
|
||||||
|
public function indexAction()
|
||||||
|
{
|
||||||
|
$request = $this->getRequest();
|
||||||
|
|
||||||
|
//Get parameters
|
||||||
|
$siren = $request->getParam('siren');
|
||||||
|
|
||||||
|
|
||||||
|
//Control the prestation with the database - inject additionnaly parameters
|
||||||
|
|
||||||
|
//Launch report
|
||||||
|
|
||||||
|
$report = new Scores_Partner_Report('indiscore3', '552144503', 'mricois', 'ju2loh6o');
|
||||||
|
$html = $report->getContent();
|
||||||
|
file_put_contents('test.html', $html);
|
||||||
|
|
||||||
|
//Write links to get the HTML and/or PDF
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function pdfAction()
|
||||||
|
{
|
||||||
|
//Unlink the file
|
||||||
|
|
||||||
|
//if HTML exist, make a pdf
|
||||||
|
|
||||||
|
//Distribute it to the output
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
37
application/views/scripts/error/error.phtml
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
<title>Extranet - Erreur</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="center">
|
||||||
|
<h1>Erreur</h1>
|
||||||
|
<div class="paragraph">
|
||||||
|
<b><?php echo $this->message ?></b>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php if (isset($this->exception)): ?>
|
||||||
|
<h2>Exception information:</h2>
|
||||||
|
<div class="paragraph">
|
||||||
|
<p>
|
||||||
|
<b>Message:</b> <pre><?php echo $this->exception->getMessage() ?></pre>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
<h2>Stack trace:</h2>
|
||||||
|
<div class="paragraph">
|
||||||
|
<pre><?php echo $this->exception->getTraceAsString() ?></pre>
|
||||||
|
</div>
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
<h2>Request Parameters:</h2>
|
||||||
|
<div class="paragraph">
|
||||||
|
<pre><?php echo var_export($this->request->getParams(), true) ?></pre>
|
||||||
|
</div>
|
||||||
|
<?php endif ?>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -1,7 +1,7 @@
|
|||||||
<!-- Jumbotron -->
|
<!-- Jumbotron -->
|
||||||
<div class="jumbotron">
|
<div class="jumbotron">
|
||||||
<h1>Programme Partenaires</h1>
|
<h1>Programme Partenaires</h1>
|
||||||
<p class="lead">Créer de la valeur ajoutée avec nos solutions autour de notre expertises sur les entreprises.</p>
|
<p class="lead">Créer de la valeur ajoutée avec nos solutions autour de notre expertise sur les entreprises.</p>
|
||||||
<p><a class="btn btn-lg btn-success" href="#">Détails</a></p>
|
<p><a class="btn btn-lg btn-success" href="#">Détails</a></p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -9,7 +9,7 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-4">
|
<div class="col-lg-4">
|
||||||
<h2>Rapport financier</h2>
|
<h2>Rapport financier</h2>
|
||||||
<p>Créer des rapports financier en marque blanche</p>
|
<p>Créer des rapports financiers en marque blanche</p>
|
||||||
<p><a class="btn btn-primary" href="#">Details »</a></p>
|
<p><a class="btn btn-primary" href="#">Details »</a></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-lg-4">
|
<div class="col-lg-4">
|
||||||
|
1
application/views/scripts/presta/presta.phtml
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?php
|
1
application/views/scripts/report/index.phtml
Normal file
@ -0,0 +1 @@
|
|||||||
|
<?php
|
447
library/Scores/Annonces.php
Normal file
@ -0,0 +1,447 @@
|
|||||||
|
<?php
|
||||||
|
require_once 'common/dates.php';
|
||||||
|
|
||||||
|
class Annonces
|
||||||
|
{
|
||||||
|
public $annoncesBodacc = array();
|
||||||
|
public $annoncesBalo = array();
|
||||||
|
public $annoncesAsso = array();
|
||||||
|
public $annoncesBomp = array();
|
||||||
|
|
||||||
|
protected $annonces;
|
||||||
|
|
||||||
|
public function __construct($annonces = array())
|
||||||
|
{
|
||||||
|
if (is_array($annonces) && count($annonces)>0) {
|
||||||
|
$this->annonces = $annonces;
|
||||||
|
$this->triAnnonces();
|
||||||
|
krsort($this->annoncesBodacc);
|
||||||
|
krsort($this->annoncesBalo);
|
||||||
|
krsort($this->annoncesAsso);
|
||||||
|
krsort($this->annoncesBomp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enter description here ...
|
||||||
|
* @param unknown_type $ann
|
||||||
|
*/
|
||||||
|
public function getAnnonceDesc($ann)
|
||||||
|
{
|
||||||
|
if ($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 {
|
||||||
|
|
||||||
|
$tabSource = explode('-', $ann->BodaccCode);
|
||||||
|
$source = $tabSource[0];
|
||||||
|
$idSource = $tabSource[1];
|
||||||
|
if ($source[0] == 'B') {
|
||||||
|
$logo = '/themes/default/images/annonces/logo_jo.png';
|
||||||
|
if ($ann->BodaccNum==0){
|
||||||
|
$libelle = 'Source BODACC '.substr($ann->BodaccCode,-1).
|
||||||
|
' du '.$this->dateAnnonce($ann->DateParution);
|
||||||
|
} else {
|
||||||
|
$view = new Zend_View();
|
||||||
|
$session = new SessionEntreprise(null);
|
||||||
|
$href = $view->url(array(
|
||||||
|
'controller' => 'juridique',
|
||||||
|
'action' => 'competences',
|
||||||
|
'type' => 'tri',
|
||||||
|
'siret' => $session->getSiret(),
|
||||||
|
), null, true);
|
||||||
|
$libelle = 'Source BODACC n°'.$ann->BodaccNum.' '.
|
||||||
|
substr($ann->BodaccCode,-1).
|
||||||
|
' du '.$this->dateAnnonce($ann->DateParution).
|
||||||
|
'. Département n°'.$ann->Departement.
|
||||||
|
'. <a href="'.$href.'">'.$ann->Tribunal.'</a>';
|
||||||
|
}
|
||||||
|
} elseif ($source[0] == 'G' || $source[0] == 'T') {
|
||||||
|
$logo = '/themes/default/images/annonces/logo_greffe.png';
|
||||||
|
$libelle = 'Source Greffe du Tribunal'.
|
||||||
|
' du '.$this->dateAnnonce($ann->DateParution).
|
||||||
|
'. Département n°'.$ann->Departement.
|
||||||
|
'. <a href="'.$href.'">'.$ann->Tribunal.'</a>';
|
||||||
|
} elseif ($source[0] == 'P') {
|
||||||
|
$logo = '/themes/default/images/annonces/logo_inpi.png';
|
||||||
|
$libelle = 'Source Registre National du Commerce';
|
||||||
|
} else {
|
||||||
|
$logo = '/themes/default/images/annonces/logo_jal.png';
|
||||||
|
$libelle = '';
|
||||||
|
$user = new Scores_Utilisateur();
|
||||||
|
if( $user->checkModeEdition() &&
|
||||||
|
(substr($source,0,2)=='JT' || $source=='ANTE') ){
|
||||||
|
$libelle = '<b>Source TESSI</b> - ';
|
||||||
|
}
|
||||||
|
$libelle.= 'Source Journal Annonces Légales';
|
||||||
|
}
|
||||||
|
return '<img src="'.$logo.'" /> '.$libelle.'.';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Enter description here ...
|
||||||
|
* @param unknown_type $ann
|
||||||
|
*/
|
||||||
|
public function getAnnonceEntree($ann)
|
||||||
|
{
|
||||||
|
if ($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 {
|
||||||
|
|
||||||
|
if ($ann->dateInsertionSD!='') {
|
||||||
|
return ' - Entrée en base : '.
|
||||||
|
$this->dateAnnonce($ann->dateInsertionSD);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Enter description here ...
|
||||||
|
* @param unknown_type $ann
|
||||||
|
*/
|
||||||
|
public function getAnnonceEntreeSD($ann)
|
||||||
|
{
|
||||||
|
if ($this->isBodacc($annBodaccCode)) {
|
||||||
|
|
||||||
|
} 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 {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Enter description here ...
|
||||||
|
* @param unknown_type $ann
|
||||||
|
*/
|
||||||
|
public function getAnnonceEven($ann)
|
||||||
|
{
|
||||||
|
$output = '';
|
||||||
|
foreach ($ann->evenements->item as $i=>$even) {
|
||||||
|
$output.= $even->LibEven.'<br/>';
|
||||||
|
}
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Enter description here ...
|
||||||
|
* @param unknown_type $ann
|
||||||
|
*/
|
||||||
|
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']);
|
||||||
|
*/
|
||||||
|
return $ann->texteAnnonce;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getAnnonceEntite($ann)
|
||||||
|
{
|
||||||
|
return $ann->entites->item;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Enter description here ...
|
||||||
|
* @param unknown_type $ann
|
||||||
|
*/
|
||||||
|
public function getAnnonceResume($ann)
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
'date' => $this->dateAnnonce($ann->DateParution),
|
||||||
|
'title' => $this->logoTitleAnnonce($ann),
|
||||||
|
'logo' => $this->logoAnnonce($ann),
|
||||||
|
'idAnn' => $ann->id,
|
||||||
|
'lib' => $this->libAnnonce($ann),
|
||||||
|
'texte' => $this->getAnnonceTexte($ann),
|
||||||
|
'type' => $this->getType($ann),
|
||||||
|
'deleted' => $ann->deleted,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Enter description here ...
|
||||||
|
* @param unknown_type $ann
|
||||||
|
*/
|
||||||
|
protected function hrefAnnonce($ann)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
$href = false;
|
||||||
|
if ($this->isBodacc($ann->BodaccCode)) {
|
||||||
|
$href = 'idan='.$ann->id.'&vue=bodacc';
|
||||||
|
} elseif ($this->isBalo($ann->BodaccCode)) {
|
||||||
|
$href = 'idan='.$ann->id.'&vue=balo';
|
||||||
|
} elseif ($this->isAsso($ann->BodaccCode)) {
|
||||||
|
$href = 'idan='.$ann->id.'&vue=asso';
|
||||||
|
} elseif ($this->isBomp($ann->BodaccCode)){
|
||||||
|
$href = 'idan='.$ann->id.'&vue=bomp';
|
||||||
|
} else {
|
||||||
|
$href = 'idan='.$ann->id.'&vue=bodacc';
|
||||||
|
}
|
||||||
|
return $href;
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne une date formatté
|
||||||
|
* @param string $date
|
||||||
|
*/
|
||||||
|
protected function dateAnnonce($date)
|
||||||
|
{
|
||||||
|
return WDate::dateT('Y-m-d', 'd/m/Y', $date);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function logoTitleAnnonce($ann)
|
||||||
|
{
|
||||||
|
$title = '';
|
||||||
|
if ($this->isBalo($ann->BodaccCode)) {
|
||||||
|
$title = 'Source BALO n°'.$annBodaccNum;
|
||||||
|
} elseif ($this->isAsso($ann->BodaccCode)) {
|
||||||
|
$title = 'Source JO ASSOCIATION n°'.$ann->BodaccNum;
|
||||||
|
} elseif ($this->isBomp($ann->BodaccCode)) {
|
||||||
|
if ($ann->BodaccCode == 'MAPA' ) {
|
||||||
|
$title = 'Source '.$ann->BodaccCode . ' ' .
|
||||||
|
($ann->BodaccNum*1);
|
||||||
|
} else {
|
||||||
|
$title = 'Source '.$ann->BodaccCode . ' ' .
|
||||||
|
'n°' . ($ann->BodaccNum*1) . ' de ' .
|
||||||
|
substr($ann->DateParution,0,4);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$tabSource = explode('-', $ann->BodaccCode);
|
||||||
|
$source = $tabSource[0];
|
||||||
|
$idSource = $tabSource[1];
|
||||||
|
if ($source[0] == 'B') {
|
||||||
|
$title = 'Source BODACC ' . $ann->BodaccNum . ' ' .
|
||||||
|
substr($source,-1) . ' ' .
|
||||||
|
'de ' . substr($ann->DateParution,0,4);
|
||||||
|
} else if ($source[0] == 'G' || $source[0] == 'T') {
|
||||||
|
$title = 'Source Collecte Greffe';
|
||||||
|
} else if ($source[0] == 'P') {
|
||||||
|
$title = 'Source Collecte RNCS';
|
||||||
|
} else {
|
||||||
|
$title = 'Source Collecte JAL';
|
||||||
|
if ($idSource>0) $title.= ' '.$idSource;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $title;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* logoAnnonce
|
||||||
|
* @param array $ann
|
||||||
|
*/
|
||||||
|
protected function logoAnnonce($ann)
|
||||||
|
{
|
||||||
|
$src = '';
|
||||||
|
if ($this->isBalo($ann->BodaccCode)) {
|
||||||
|
$src = 'logo_jo.png';
|
||||||
|
} elseif ($this->isAsso($ann->BodaccCode)) {
|
||||||
|
$src = 'logo_jo.png';
|
||||||
|
} elseif ($this->isBomp($ann->BodaccCode)) {
|
||||||
|
$src = 'logo_jo.png';
|
||||||
|
} else {
|
||||||
|
$tabSource = explode('-', $ann->BodaccCode);
|
||||||
|
$source = $tabSource[0];
|
||||||
|
if ($source[0] == 'B') {
|
||||||
|
$src = 'logo_jo.png';
|
||||||
|
} else if ($source[0] == 'G' || $source[0] == 'T') {
|
||||||
|
$src = 'logo_greffe.png';
|
||||||
|
} else if ($source[0] == 'P') {
|
||||||
|
$src = 'logo_inpi.png';
|
||||||
|
} else {
|
||||||
|
$src = 'logo_jal.png';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($src != '') {
|
||||||
|
return $src;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne le libellé de l'annonce
|
||||||
|
* @param array $ann
|
||||||
|
*/
|
||||||
|
protected function libAnnonce($ann)
|
||||||
|
{
|
||||||
|
$lib = '';
|
||||||
|
foreach ($ann->evenements->item as $i=>$even) {
|
||||||
|
$lib.= $even->LibEven;
|
||||||
|
$tabSource = explode('-', $ann->BodaccCode);
|
||||||
|
$source = $tabSource[0];
|
||||||
|
$idSource = $tabSource[1];
|
||||||
|
$numEven = $even->CodeEven*1;
|
||||||
|
if ($numEven>3000 && $numEven<3999) {
|
||||||
|
if (isset($ann->dateEffet)){
|
||||||
|
$lib.= ' (clôture au '.WDate::dateT('Y-m-d','d/m/Y',$ann->dateEffet).')';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$user = new Scores_Utilisateur();
|
||||||
|
if( $user->checkModeEdition() &&
|
||||||
|
(substr($source,0,2)=='JT' || $source=='ANTE') ){
|
||||||
|
$lib.= ' - <b>(Source TESSI)</b>';
|
||||||
|
}
|
||||||
|
|
||||||
|
$lib.= '<br/>';
|
||||||
|
}
|
||||||
|
return $lib;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Tri les annonces en fonction de la source
|
||||||
|
*/
|
||||||
|
protected function triAnnonces()
|
||||||
|
{
|
||||||
|
foreach ($this->annonces as $i => $ann)
|
||||||
|
{
|
||||||
|
//Génération id pour tri
|
||||||
|
$id = WDate::dateT('Y-m-d','Ymd',$ann->DateParution).':'.$ann->id;
|
||||||
|
if ($this->isBodacc($ann->BodaccCode)){
|
||||||
|
$this->annoncesBodacc[$id] = $ann;
|
||||||
|
} elseif ($this->isBalo($ann->BodaccCode)) {
|
||||||
|
$this->annoncesBalo[$id] = $ann;
|
||||||
|
} elseif ($this->isAsso($ann->BodaccCode)) {
|
||||||
|
$this->annoncesAsso[$id] = $ann;
|
||||||
|
} elseif ($this->isBomp($ann->BodaccCode)){
|
||||||
|
$this->annoncesBomp[$id] = $ann;
|
||||||
|
} else {
|
||||||
|
$this->annoncesBodacc[$id] = $ann;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getAnnee($ann)
|
||||||
|
{
|
||||||
|
return WDate::dateT('Y-m-d','Y',$ann->DateParution);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getNum($ann)
|
||||||
|
{
|
||||||
|
return $ann->BodaccNum;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getType($ann)
|
||||||
|
{
|
||||||
|
if ($this->isBodacc($ann->BodaccCode)){
|
||||||
|
return 'bodacc';
|
||||||
|
} elseif ($this->isBalo($ann->BodaccCode)) {
|
||||||
|
return 'balo';
|
||||||
|
} elseif ($this->isAsso($ann->BodaccCode)) {
|
||||||
|
return 'asso';
|
||||||
|
} elseif ($this->isBomp($ann->BodaccCode)){
|
||||||
|
return 'bomp';
|
||||||
|
} else {
|
||||||
|
return 'bodacc';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCode($ann)
|
||||||
|
{
|
||||||
|
return $ann->BodaccCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function isDeleted($ann)
|
||||||
|
{
|
||||||
|
if ($ann->deleted!='') {
|
||||||
|
return $this->dateAnnonce($ann->deleted);
|
||||||
|
}
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Détermine si l'annonce est une annonce BODACC
|
||||||
|
* @param string $code
|
||||||
|
*/
|
||||||
|
protected function isBodacc($code)
|
||||||
|
{
|
||||||
|
if (in_array($code, array('BODA', 'BODB', 'BODC'))){
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Détermine si l'annonce est une annonce BALO
|
||||||
|
* @param string $code
|
||||||
|
*/
|
||||||
|
protected function isBalo($code)
|
||||||
|
{
|
||||||
|
if ($code == 'BALO'){
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Détermine si l'annonce est une annonce ASSO
|
||||||
|
* @param string $code
|
||||||
|
*/
|
||||||
|
protected function isAsso($code)
|
||||||
|
{
|
||||||
|
if ($code == 'ASSO'){
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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'))){
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
151
library/Scores/AuthAdapter.php
Normal file
@ -0,0 +1,151 @@
|
|||||||
|
<?php
|
||||||
|
class Scores_AuthAdapter implements Zend_Auth_Adapter_Interface
|
||||||
|
{
|
||||||
|
protected $_username;
|
||||||
|
protected $_password;
|
||||||
|
protected $_timeout = 1800;
|
||||||
|
protected $_checkIp = false;
|
||||||
|
|
||||||
|
public function __construct($username, $password, $iponly = false)
|
||||||
|
{
|
||||||
|
$this->_username = $username;
|
||||||
|
$this->_password = $password;
|
||||||
|
if ($iponly){
|
||||||
|
$this->_password = 'iponly:'.$_SERVER['REMOTE_ADDR'];
|
||||||
|
}
|
||||||
|
$this->_checkIp = $iponly;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function authenticate()
|
||||||
|
{
|
||||||
|
$adressIp = $_SERVER['REMOTE_ADDR'];
|
||||||
|
|
||||||
|
require_once 'Scores/WsScores.php';
|
||||||
|
$ws = new WsScores($this->_username, $this->_password);
|
||||||
|
$InfosLogin = $ws->getInfosLogin($this->_username, $adressIp);
|
||||||
|
$identity = new stdClass();
|
||||||
|
$identity->username = $this->_username;
|
||||||
|
$identity->password = $this->_password;
|
||||||
|
$identity->email = $InfosLogin->result->email;
|
||||||
|
$identity->profil = $InfosLogin->result->profil;
|
||||||
|
$identity->pref = $InfosLogin->result->pref;
|
||||||
|
$identity->droits = $InfosLogin->result->droits;
|
||||||
|
$identity->droitsClients = $InfosLogin->result->droitsClients;
|
||||||
|
$identity->nom = $InfosLogin->result->nom;
|
||||||
|
$identity->prenom = $InfosLogin->result->prenom;
|
||||||
|
$identity->tel = $InfosLogin->result->tel;
|
||||||
|
$identity->fax = $InfosLogin->result->fax;
|
||||||
|
$identity->mobile = $InfosLogin->result->mobile;
|
||||||
|
$identity->id = $InfosLogin->result->id;
|
||||||
|
$identity->idClient = $InfosLogin->result->idClient;
|
||||||
|
$identity->reference = $InfosLogin->result->reference;
|
||||||
|
$identity->nbReponses = $InfosLogin->result->nbReponses;
|
||||||
|
$identity->typeScore = $InfosLogin->result->typeScore;
|
||||||
|
$identity->dateValidation = $InfosLogin->result->dateValidation;
|
||||||
|
$identity->nombreConnexions = $InfosLogin->result->nombreConnexions;
|
||||||
|
$identity->dateDerniereConnexion = $InfosLogin->result->dateDerniereConnexion;
|
||||||
|
$identity->dateDebutCompte = $InfosLogin->result->dateDebutCompte;
|
||||||
|
$identity->dateFinCompte = $InfosLogin->result->dateFinCompte;
|
||||||
|
$identity->acceptationCGU = $InfosLogin->result->acceptationCGU;
|
||||||
|
$identity->ip = $adressIp;
|
||||||
|
$identity->modeEdition = false;
|
||||||
|
|
||||||
|
$timeout = (!empty($InfosLogin->result->timeout)) ? $InfosLogin->result->timeout : $this->_timeout;
|
||||||
|
$identity->timeout = $timeout;
|
||||||
|
|
||||||
|
$identity->time = time() + $timeout;
|
||||||
|
|
||||||
|
$lang = in_array($InfosLogin->result->lang, array('fr','en')) ? $InfosLogin->result->lang : 'fr';
|
||||||
|
$identity->lang = $lang;
|
||||||
|
$identity->langtmp = $lang;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Adresse Ip interdites
|
||||||
|
*/
|
||||||
|
$ipInterdites =
|
||||||
|
'81.252.88.0-81.252.88.7' // CTE D AGGLOMERATION DE SOPHIA
|
||||||
|
. ';' . '195.200.187.163' // PacWan
|
||||||
|
. ';' . '213.11.81.41' // Verizon France SAS
|
||||||
|
. ';' . '83.206.171.252' // FR-BASE-D-INFORMATIONS-LEGALES-BI
|
||||||
|
. ';' . '81.255.32.139'
|
||||||
|
. ';' . '212.155.191.1*' // Satair A/S
|
||||||
|
. ';' . '217.70.1*.17' // OJSC "Sibirtelecom"
|
||||||
|
. ';' . '212.37.196.156' // GENERALE-MULTIMEDIA-SUD
|
||||||
|
. ';' . '80.245.60.121' // Planete Marseille - Mailclub
|
||||||
|
. ';' . '213.246.57.101' // IKOULA
|
||||||
|
. ';' . '193.104.158.0-193.104.158.255' // Altares.fr
|
||||||
|
. ';' . '195.6.3.0-195.6.3.255' // ORT
|
||||||
|
. ';' . '217.144.112.0-217.144.116.63' // Coface
|
||||||
|
;
|
||||||
|
if ( $this->checkPlagesIp($ipInterdites, $adressIp) ) {
|
||||||
|
return new Zend_Auth_Result(Zend_Auth_Result::FAILURE_UNCATEGORIZED, $identity);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Renvoi
|
||||||
|
if ( is_string($InfosLogin) || $InfosLogin->error->errnum!=0){
|
||||||
|
$message = $InfosLogin;
|
||||||
|
return new Zend_Auth_Result(Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID, $identity, array($message));
|
||||||
|
} elseif ($this->_username == $InfosLogin->result->login) {
|
||||||
|
return new Zend_Auth_Result(Zend_Auth_Result::SUCCESS, $identity);
|
||||||
|
} else {
|
||||||
|
return new Zend_Auth_Result(Zend_Auth_Result::FAILURE_UNCATEGORIZED, $identity);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Controle si une adresse IP est dans une liste des IP communiquées sous la forme 192.168.3.5-192.68.3.10;192.168.3.*;192.168.3.10
|
||||||
|
* @param string $strPlageIP La plage d'adresses IP
|
||||||
|
* @param string $adresseIP L'adresse IP à tester
|
||||||
|
*/
|
||||||
|
protected function checkPlagesIp($strPlageIP, $adresseIP)
|
||||||
|
{
|
||||||
|
$connected = false;
|
||||||
|
$tabIpAllowed = explode(';', trim($strPlageIP));
|
||||||
|
if (count($tabIpAllowed)==1 && $tabIpAllowed[0]=='') $tabIpAllowed = array();
|
||||||
|
|
||||||
|
foreach ($tabIpAllowed as $ip) {
|
||||||
|
$tabPlages = explode('-', $ip);
|
||||||
|
// C'est une plage d'adresse '-'
|
||||||
|
if (isset($tabPlages[1]))
|
||||||
|
$connected = $this->in_plage($tabPlages[0],$tabPlages[1],$adresseIP);
|
||||||
|
else {
|
||||||
|
// C'est une adresse avec ou sans masque '*'
|
||||||
|
if (preg_match('/^'.str_replace('*','.*',str_replace('.','\.',$ip)).'$/', $adresseIP) )
|
||||||
|
$connected=true;
|
||||||
|
}
|
||||||
|
if ($connected) break;
|
||||||
|
}
|
||||||
|
if (count($tabIpAllowed)==0) return false;
|
||||||
|
elseif (!$connected) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enter description here ...
|
||||||
|
* @param unknown_type $plage_1
|
||||||
|
* @param unknown_type $plage_2
|
||||||
|
* @param unknown_type $ip
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
protected function in_plage($plage_1,$plage_2,$ip)
|
||||||
|
{
|
||||||
|
$ip2 = $this->getIpNumber($ip);
|
||||||
|
if ($ip2>=$this->getIpNumber($plage_1) && $ip2<=$this->getIpNumber($plage_2))
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converti une IP en nombre
|
||||||
|
* @param string $ip Adresse IP
|
||||||
|
* @return integer
|
||||||
|
*/
|
||||||
|
protected function getIpNumber($ip) {
|
||||||
|
$tab=explode('.', $ip);
|
||||||
|
return (($tab[0]*256*256*256) + ($tab[1]*256*256) + ($tab[2]*256) + ($tab[3]));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
282
library/Scores/AvisSituation.php
Normal file
@ -0,0 +1,282 @@
|
|||||||
|
<?php
|
||||||
|
class AvisSituation
|
||||||
|
{
|
||||||
|
protected static $timeout = 10;
|
||||||
|
protected static $retryDelay = 300;
|
||||||
|
protected $fichierErreur;
|
||||||
|
protected $pathLog;
|
||||||
|
protected $pathAvisPdf;
|
||||||
|
protected $siret;
|
||||||
|
|
||||||
|
public function __construct($siret)
|
||||||
|
{
|
||||||
|
require_once 'common/curl.php';
|
||||||
|
$c = Zend_Registry::get('config');
|
||||||
|
$this->pathAvisPdf = $c->profil->path->files;
|
||||||
|
$this->pathLog = realpath($c->profil->path->data).'/log';
|
||||||
|
$this->fichierErreur = $this->pathLog.'/aviserreur.lock';
|
||||||
|
$this->siret = $siret;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function erreurcpt($action)
|
||||||
|
{
|
||||||
|
switch($action){
|
||||||
|
case 'plus':
|
||||||
|
if (file_exists($this->fichierErreur)){
|
||||||
|
$handle = fopen($this->fichierErreur, 'r');
|
||||||
|
$data = fgetcsv($handle, '1000', ';');
|
||||||
|
$date_creation = $data[0];
|
||||||
|
$date_modification = time();
|
||||||
|
$nb = $data[2];
|
||||||
|
fclose($handle);
|
||||||
|
} else {
|
||||||
|
$date_creation = time();
|
||||||
|
$date_modification = time();
|
||||||
|
$nb = 0;
|
||||||
|
}
|
||||||
|
$nb++;
|
||||||
|
$handle = fopen($this->fichierErreur, 'w');
|
||||||
|
fputcsv($handle, array($date_creation, $date_modification, $nb), ';');
|
||||||
|
fclose($handle);
|
||||||
|
break;
|
||||||
|
case 'raz':
|
||||||
|
$handle = fopen($this->fichierErreur, 'w');
|
||||||
|
$date_creation = time();
|
||||||
|
$date_modification = time();
|
||||||
|
$nb = 0;
|
||||||
|
fputcsv($handle, array($date_creation, $date_modification, $nb), ';');
|
||||||
|
fclose($handle);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function nberreur()
|
||||||
|
{
|
||||||
|
if (file_exists($this->fichierErreur)){
|
||||||
|
$handle = fopen($this->fichierErreur, 'r');
|
||||||
|
$data = fgetcsv($handle, '1000', ';');
|
||||||
|
$nb = $data[2];
|
||||||
|
fclose($handle);
|
||||||
|
} else {
|
||||||
|
$nb = 1;
|
||||||
|
}
|
||||||
|
return $nb;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function erreur()
|
||||||
|
{
|
||||||
|
if (file_exists($this->fichierErreur))
|
||||||
|
{
|
||||||
|
$handle = fopen($this->fichierErreur, 'r');
|
||||||
|
$data = fgetcsv($handle, '1000', ';');
|
||||||
|
$date_creation = $data[0];
|
||||||
|
$date_modification = $data[1];
|
||||||
|
$nb = $data[2];
|
||||||
|
fclose($handle);
|
||||||
|
} else {
|
||||||
|
$date_creation = 0;
|
||||||
|
$date_modification = 0;
|
||||||
|
}
|
||||||
|
if ($nb>0 && $date_modification<$date_creation+$this->retryDelay){
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function mailerreur()
|
||||||
|
{
|
||||||
|
$user = new Scores_Utilisateur();
|
||||||
|
|
||||||
|
$objet = "AVIS INSEE - (Date :".date("d")."/".date("m")."/".date("Y").")";
|
||||||
|
$texte = 'Accès impossible au site de situation INSEE : '.
|
||||||
|
$this->siret.EOL.
|
||||||
|
'http://avis-situation-sirene.insee.fr'.EOL.
|
||||||
|
'pour login '.$user->getLogin().EOL;
|
||||||
|
|
||||||
|
require_once 'Scores/Mail.php';
|
||||||
|
$mail = new Mail();
|
||||||
|
$mail->setFrom('contact');
|
||||||
|
$mail->addToKey('support');
|
||||||
|
$mail->setSubject($objet);
|
||||||
|
$mail->setBodyText($texte);
|
||||||
|
$mail->send();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function erreurmsg(){
|
||||||
|
return "<h3>Le site partenaire n'a pas répondu correctement ou est indisponible. Merci d'essayer à nouveau ultérieurement.</h3>";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Récupére l'avis de situtation à partir du site au format pdf
|
||||||
|
* @param string $format Format 'pdf' ou 'array'
|
||||||
|
* @param boolean $force True aller obligatoirement le chercher à l'insee
|
||||||
|
* @return string Le PDF demandé
|
||||||
|
*/
|
||||||
|
public function get($format='pdf', $force=0)
|
||||||
|
{
|
||||||
|
$force=$force*1;
|
||||||
|
$date=date('Ymd');
|
||||||
|
$siren=trim(substr($this->siret,0,9));
|
||||||
|
$nic=trim(substr($this->siret,9,5));
|
||||||
|
$fichier = $this->pathAvisPdf.'/avis-'.$siren.'-'.$nic.'-'.$date.'.pdf';
|
||||||
|
if ($format!='pdf') return 'Format pdf uniquement';
|
||||||
|
if ($force==0 && file_exists($fichier))
|
||||||
|
{
|
||||||
|
// On délivre l'avis en base
|
||||||
|
return file_get_contents($fichier);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/** Initialisation de la session sur le site de l'Insee **/
|
||||||
|
$url = 'http://avis-situation-sirene.insee.fr/avisitu/jsp/avis.jsp';
|
||||||
|
//http://avis-situation-sirene.insee.fr/avisituV2/jsp/avis.jsp';
|
||||||
|
$referer = $cookie = '';
|
||||||
|
$page = getUrl($url, $cookie, '', $referer, false, 'avis-situation-sirene.insee.fr', '', $this->timeout);
|
||||||
|
//Code en 4xx ou 5xx signifie une erreur du serveur
|
||||||
|
$codeN = floor($page['code']/100);
|
||||||
|
if($codeN==4 || $codeN==5)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$referer = $url;
|
||||||
|
$body = $page['body'];
|
||||||
|
$serviceDispo = true;
|
||||||
|
|
||||||
|
//On doit retrouver sur la page
|
||||||
|
/*
|
||||||
|
<form name="demForm" method="post" action="/avisitu/IdentificationListeSiret.do
|
||||||
|
*/
|
||||||
|
if (preg_match("/<form name=\"demForm\" method=\"post\" action=\"\/avisitu\/IdentificationListeSiret.do/Uis", $body, $matches))
|
||||||
|
{
|
||||||
|
$fp = @fopen($fichier, "a");
|
||||||
|
@fwrite($fp, $body);
|
||||||
|
@fclose($fp);
|
||||||
|
$cookie = $page['header']['Set-Cookie'];
|
||||||
|
usleep(round(rand(500000,2000000)));
|
||||||
|
|
||||||
|
$dep=$depActif='';
|
||||||
|
if ($nic=='') $crit='S'; // l'établissement siège
|
||||||
|
else $crit=''; // établissement particulier, saisissez le NIC
|
||||||
|
/* $crit='T'; // tous les établissements de l'entreprise
|
||||||
|
$crit='T'; // tous les établissements de l'entreprise du département $dep
|
||||||
|
$crit='A'; // tous les établissements actifs de l'entreprise
|
||||||
|
$crit='A'; // tous les établissements actifs de l'entreprise du département $depActif
|
||||||
|
*/
|
||||||
|
//Post du formulaire
|
||||||
|
$url = 'http://avis-situation-sirene.insee.fr/avisitu/IdentificationListeSiret.do';
|
||||||
|
//$url='http://avis-situation-sirene.insee.fr/avisituV2/IdentificationDetailEtab.do';
|
||||||
|
$post = array(
|
||||||
|
'siren' => $siren,
|
||||||
|
'critere' => $crit, // S pour le siège ou vide avec un NIC !!!
|
||||||
|
'nic' => $nic,
|
||||||
|
'departement' => $dep,
|
||||||
|
'departement_actif' => $depActif,
|
||||||
|
'bSubmit' => 'Valider');
|
||||||
|
$page = getUrl($url, $cookie, $post, $referer, false, 'avis-situation-sirene.insee.fr', '', AVIS_TIMEOUT);
|
||||||
|
|
||||||
|
$body = $page['body'];
|
||||||
|
$fp=@fopen($fichier, "a");
|
||||||
|
@fwrite($fp, $body);
|
||||||
|
@fclose($fp);
|
||||||
|
|
||||||
|
if (preg_match("/<h3>Fiche établissement<\/h3>/Uis", $body, $matches))//<li class="ongletActif">établissement</li>
|
||||||
|
$tabInfos['fiche']='etab';
|
||||||
|
|
||||||
|
if (preg_match('/<div class="TitreGauche">(.*)<br\/>/Uis', $body, $matches)) {
|
||||||
|
$tabInfos['raiSoc']=trim($matches[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (preg_match("/Dernière mise à jour : (.*)<\/div>/Uis", $body, $matches))
|
||||||
|
$tabInfos['dateMaj']=trim($matches[1]);
|
||||||
|
|
||||||
|
$s1=substr($siren,0,3);
|
||||||
|
$s2=substr($siren,3,3);
|
||||||
|
$s3=substr($siren,6,3);
|
||||||
|
if (preg_match('/<div class="TitreDroite">(?:.*)('.$s1.'(?:.*)'.$s2.'(?:.*)'.$s3.')(?:.*)('.$nic.')(?:.*)<\/div>/Uis', $body, $matches)) {
|
||||||
|
$tabInfos['siren'] = trim($matches[1]);
|
||||||
|
$tabInfos['nic'] = trim($matches[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (preg_match('/<label id="labelFiche">Etat : <\/label>(.*)depuis le(.*)<\/p>/Uis', $body, $matches)) {
|
||||||
|
$tabInfos['etat'] = trim($matches[1]);
|
||||||
|
$tabInfos['dateEtat']= trim($matches[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (preg_match('/<label id="labelFiche">Catégorie d\'établissement : <\/label>(.*)<\/p>/Uis', $body, $matches)) {
|
||||||
|
$tabInfos['typeEtab']= trim($matches[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$tabAdresse=array();
|
||||||
|
if (preg_match('/<label id="labelFiche">Adresse d\'implantation : <\/label>(?:.*)<ul id="adresse">(.*)<\/ul>/Uis', $body, $matches)) {
|
||||||
|
$strTmp=trim($matches[1]);
|
||||||
|
$tabTmp=explode('</li>', $strTmp);
|
||||||
|
foreach ($tabTmp as $i=>$strTmp)
|
||||||
|
$tabAdresse[$i]=trim(str_replace('<li>','',$strTmp));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (preg_match('/<label id="labelFiche">(?:.*)Catégorie juridique :(?:.*)<\/label>(.*) - (.*)<\/p>/Uis', $body, $matches)) {
|
||||||
|
$tabInfos['fjCod']= trim($matches[1]);
|
||||||
|
$tabInfos['fjLib']= trim($matches[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (preg_match('/<label id="labelFiche">Activité principale exercée :(?:.*)<\/label>(.*) - (.*)<\/p>/Uis', $body, $matches)) {
|
||||||
|
$tabInfos['nafCod']=trim($matches[1]);
|
||||||
|
$tabInfos['nafLib']=trim($matches[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (preg_match('/<label id="labelFiche">(?:.*)Tranche d'effectif(.*)<\/label>(.*)<\/p>/Uis', $body, $matches)) {
|
||||||
|
$tabInfos['effPeriode']=trim($matches[1]);
|
||||||
|
$tabInfos['effTranche']=trim($matches[2]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$strCsv=$siren.';'.$nic.';'.$tabInfos['fiche'].';'.$tabInfos['dateMaj'].';'.
|
||||||
|
$tabInfos['siren'].';'.$tabInfos['nic'].';'.$tabInfos['raiSoc'].';'.
|
||||||
|
$tabInfos['etat'].';'.$tabInfos['dateEtat'].';'.$tabInfos['fjCod'].';'.$tabInfos['fjLib'].';'.
|
||||||
|
$tabInfos['nafCod'].';'.$tabInfos['nafLib'].';'.$tabInfos['effPeriode'].';'.
|
||||||
|
$tabInfos['effTranche'].';'.
|
||||||
|
$tabInfos['typeEtab'].';'.@implode(';',@$tabAdresse).
|
||||||
|
";\n";
|
||||||
|
$fp=@fopen($this->pathLog."/avis.csv", "a");
|
||||||
|
@fwrite($fp, $strCsv);
|
||||||
|
@fclose($fp);
|
||||||
|
|
||||||
|
// $body contient l'avis de situation au format html
|
||||||
|
$tabErreurs=array();
|
||||||
|
if (preg_match('/name="erreurs" value="(.*)" class="erreurText" readonly/Ui', $body, $matches1) ||
|
||||||
|
preg_match('/name="erreurs_bis" value="(.*)" class="erreurTextBis" readonly/Ui', $body, $matches2)) {
|
||||||
|
$tabErreurs[]=@$matches1[1];
|
||||||
|
$tabErreurs[]=@$matches2[1];
|
||||||
|
die('<font color="red">ERREUR '.utf8_encode(implode(' ', $tabErreurs)).'</font>'); // Gérer le retour d'une erreur
|
||||||
|
}
|
||||||
|
usleep(round(rand(500000,1000000)));
|
||||||
|
|
||||||
|
if ($format=='pdf')
|
||||||
|
{
|
||||||
|
$referer = $url;
|
||||||
|
$url = 'http://avis-situation-sirene.insee.fr/avisitu/AvisPdf.do';
|
||||||
|
//$url='http://avis-situation-sirene.insee.fr/avisituV2/AvisPdf.do';
|
||||||
|
$post = array(
|
||||||
|
'siren'=>$siren,
|
||||||
|
'nic'=>$nic,
|
||||||
|
'bSubmit'=>'Avis+de+Situation'
|
||||||
|
);
|
||||||
|
$page = getUrl($url, $cookie, $post, $referer, false, 'avis-situation-sirene.insee.fr', '', AVIS_TIMEOUT);
|
||||||
|
$body = $page['body'];
|
||||||
|
$fp = @fopen($fichier, "w");
|
||||||
|
@fwrite($fp, $body);
|
||||||
|
@fclose($fp);
|
||||||
|
} // Fin format PDF
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$body = false;
|
||||||
|
}
|
||||||
|
return $body;
|
||||||
|
} // Fin erreur initialisation
|
||||||
|
} // Fin fichier disponible
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
692
library/Scores/Bdf.php
Normal file
@ -0,0 +1,692 @@
|
|||||||
|
<?php
|
||||||
|
require_once 'common/curl.php';
|
||||||
|
|
||||||
|
class BDF
|
||||||
|
{
|
||||||
|
protected $host = 'http://protectel.scrypto.fr';
|
||||||
|
protected $page = '/iBDF/RequeteLanceur.php';
|
||||||
|
protected $filetime = 8;
|
||||||
|
|
||||||
|
public function __construct(){}
|
||||||
|
|
||||||
|
// --------------------------------------------------------------------------- //
|
||||||
|
// enleveLiens
|
||||||
|
// --------------------------------------------------------------------------- //
|
||||||
|
function enleveLiens($contenu, $discriminant)
|
||||||
|
{
|
||||||
|
$pos1 = 0;
|
||||||
|
while (($pos1 = strpos($contenu, '<a ', $pos1)) != false) {
|
||||||
|
$pos2 = strpos($contenu, '</a>', $pos1);
|
||||||
|
if ($pos2 == false) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
$pos2 += 4;
|
||||||
|
if (substr_count($contenu, $discriminant, $pos1, $pos2 - $pos1) > 0) {
|
||||||
|
$pos3 = strpos($contenu, '>', $pos1) + 1;
|
||||||
|
if ($pos3 == $pos2 - 1) {
|
||||||
|
$pos1 = $pos2;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
$rep = strip_tags(substr($contenu, $pos3, $pos2 - $pos3 - 4));
|
||||||
|
$contenu = substr_replace($contenu, $rep, $pos1, $pos2 - $pos1);
|
||||||
|
$pos1 += strlen($rep);
|
||||||
|
} else {
|
||||||
|
$pos1 = $pos2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $contenu;
|
||||||
|
}
|
||||||
|
|
||||||
|
function bdf_loadpage($url)
|
||||||
|
{
|
||||||
|
$page = getUrl($url, '', '', '', false, '', '',15);
|
||||||
|
//Fichier non disponible
|
||||||
|
if($page['code']==408 || $page['code']==400){
|
||||||
|
$output = false;
|
||||||
|
//Ecriture du fichier sur le serveur en local
|
||||||
|
}else{
|
||||||
|
$body = $page['body'];
|
||||||
|
$output = $body;
|
||||||
|
}
|
||||||
|
|
||||||
|
$output = utf8_encode($output);
|
||||||
|
|
||||||
|
$output = preg_replace('/(.*)\<html/', '<html', $output);
|
||||||
|
|
||||||
|
$output = $this->bdf_removeblock($output);
|
||||||
|
$output = $this->removeTag('html', $output, true, false);
|
||||||
|
$output = $this->removeTag('head', $output, true, false);
|
||||||
|
$output = $this->removeTag('body', $output, true, false);
|
||||||
|
$output = $this->removeTag('meta', $output, false, false);
|
||||||
|
$output = $this->removeTag('title', $output, true, true);
|
||||||
|
$output = $this->removeTag('script', $output, true, true);
|
||||||
|
|
||||||
|
//$output = changeLinkToLowerCase($output);
|
||||||
|
$output = $this->bdf_lien_siren($output);
|
||||||
|
$output = stripslashes($output);
|
||||||
|
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
function bdf_removeblock($content)
|
||||||
|
{
|
||||||
|
$output = $content;
|
||||||
|
|
||||||
|
$output = $this->enleveLiens($output, '#nullepart');
|
||||||
|
|
||||||
|
$output = $this->enleveLiens($output, 'window.print');
|
||||||
|
|
||||||
|
$output = str_replace('/PROTECTEL/FIBEN20110207/',
|
||||||
|
$this->host.'/PROTECTEL/FIBEN20110207/', $output);
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
function removeTag($balise, $content, $endOfTag = true, $removeContent = true)
|
||||||
|
{
|
||||||
|
if( $endOfTag )
|
||||||
|
{
|
||||||
|
if( $removeContent)
|
||||||
|
$output = preg_replace('@<'.$balise.'[^>]*?>.*?</'.$balise.'>@si','',$content);
|
||||||
|
else
|
||||||
|
$output = preg_replace(array('@<'.$balise.'[^>]*?>@', '@</'.$balise.'>@'),'',$content);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$output = preg_replace('@<'.$balise.'[^>]*?>@','',$content);
|
||||||
|
}
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
function changeLinkToLowerCase($content)
|
||||||
|
{
|
||||||
|
//$pattern = "/\< *[img][^\>]*[href] *= *[\"\']{0,1}([^\"\'\ >]*)/i";
|
||||||
|
$pattern = '/(\<img[^>].*?>)/ie';
|
||||||
|
$replace = "strtolower('\\1')";
|
||||||
|
$content = preg_replace($pattern,$replace,$content);
|
||||||
|
|
||||||
|
$pattern = '/(\<script[^>].*?>)/ie';
|
||||||
|
$replace = "strtolower('\\1')";
|
||||||
|
$content = preg_replace($pattern,$replace,$content);
|
||||||
|
|
||||||
|
$pattern = '/(\<link[^>].*?>)/ie';
|
||||||
|
$replace = "strtolower('\\1')";
|
||||||
|
$content = preg_replace($pattern,$replace,$content);
|
||||||
|
|
||||||
|
$pattern = '/(\<table[^>].*?>)/ie';
|
||||||
|
$replace = "strtolower('\\1')";
|
||||||
|
$content = preg_replace($pattern,$replace,$content);
|
||||||
|
|
||||||
|
return $content;
|
||||||
|
}
|
||||||
|
|
||||||
|
function bdf_lien_module($id, $service = 'fiben', $req = '', $rech = array() )
|
||||||
|
{
|
||||||
|
$func_module = 'bdf_modules_'.$service;
|
||||||
|
$modules = $this->{$func_module}();
|
||||||
|
$params = array();
|
||||||
|
if(is_array($rech) && count($rech)>0){
|
||||||
|
foreach($rech as $key => $val)
|
||||||
|
{
|
||||||
|
${$key} = $val;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Paramètres URL
|
||||||
|
foreach($modules[$id]['params'] as $mparams => $fparams)
|
||||||
|
{
|
||||||
|
$addParams = array();
|
||||||
|
//Paramètres de chaque fonction
|
||||||
|
$func_params = array();
|
||||||
|
if(is_array($fparams)){
|
||||||
|
foreach($fparams as $fparam)
|
||||||
|
{
|
||||||
|
$func_params[] = ${$fparam};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$addParams = call_user_func_array(array($this,'bdf_param_'.$mparams), $func_params);
|
||||||
|
//Rassemblement de tout les paramètres
|
||||||
|
$params = array_merge($params, $addParams);
|
||||||
|
}
|
||||||
|
//Paramètres sous format URL
|
||||||
|
$output = '';
|
||||||
|
foreach($params as $key => $value)
|
||||||
|
{
|
||||||
|
if(!empty($output)) $output.= '&';
|
||||||
|
$output.= $key.'='.$value;
|
||||||
|
}
|
||||||
|
return $this->host.$this->page.'?'.$output;
|
||||||
|
}
|
||||||
|
|
||||||
|
function bdf_lien_siren($c)
|
||||||
|
{
|
||||||
|
$p = '/(width="160" class="clFond".*)([0-9]{3} [0-9]{3} [0-9]{3} [0-9]{5})/';
|
||||||
|
$r = '$1<a href="./?page=identite&siret=$2">$2</a>';
|
||||||
|
$c = preg_replace($p, $r, $c);
|
||||||
|
|
||||||
|
$p = '/(class="clGrasFond".*)([0-9]{3} [0-9]{3} [0-9]{3})/';
|
||||||
|
$r = '$1<a href="./?page=identite&siret=$2">$2</a>';
|
||||||
|
$c = preg_replace($p, $r, $c);
|
||||||
|
|
||||||
|
$p = '/(width="130" class="clFond".*)([0-9]{3} [0-9]{3} [0-9]{3})/';
|
||||||
|
$r = '$1<a href="./?page=identite&siret=$2">$2</a>';
|
||||||
|
$c = preg_replace($p, $r, $c);
|
||||||
|
|
||||||
|
$p = '/(class="clFond" width="80".*)([0-9]{3} [0-9]{3} [0-9]{3})/';
|
||||||
|
$r = '$1<a href="./?page=identite&siret=$2">$2</a>';
|
||||||
|
$c = preg_replace($p, $r, $c);
|
||||||
|
|
||||||
|
$p = '/(class="clTexte" width="184".*)([0-9]{3} [0-9]{3} [0-9]{3})/';
|
||||||
|
$r = '$1<a href="./?page=identite&siret=$2">$2</a>';
|
||||||
|
$c = preg_replace($p, $r, $c);
|
||||||
|
|
||||||
|
$p = '/(class="clFond" width="255".*)([0-9]{3} [0-9]{3} [0-9]{3})/';
|
||||||
|
$r = '$1<a href="./?page=identite&siret=$2">$2</a>';
|
||||||
|
$c = preg_replace($p, $r, $c);
|
||||||
|
|
||||||
|
$c = stripslashes($c);
|
||||||
|
return $c;
|
||||||
|
}
|
||||||
|
|
||||||
|
function bdf_lien_clebdf()
|
||||||
|
{
|
||||||
|
//Détection des clebdf
|
||||||
|
|
||||||
|
//Remplacement du lien
|
||||||
|
}
|
||||||
|
|
||||||
|
function bdf_lien_plusinfos()
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function bdf_param_banque()
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
'Etablissement' => '12345',
|
||||||
|
'Guichet' => '00001',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function bdf_param_utilisateur()
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
'Utilisateur' => 'Dupont', //$_SESSION['tabInfo']['login']
|
||||||
|
'MDP' => '', //$_SESSION['tabInfo']['password']
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function bdf_param_profil()
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
'Profil' => 'Agence',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function bdf_param_service($service = 'FIBEN')
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
'Service' => strtoupper($service),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function bdf_param_req($req)
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
'Req' => $req,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function bdf_param_typeop($id)
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
'TypeOp' => $id,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function bdf_param_denom($denom)
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
'Denom' => $denom,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function bdf_param_type($type)
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
'Type' => $type,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function bdf_param_code($code)
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
'Code' => $code,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function bdf_param_rechet($rechet)
|
||||||
|
{
|
||||||
|
if(empty($rechet)) $output = 'N';
|
||||||
|
else $output = 'O';
|
||||||
|
|
||||||
|
return array(
|
||||||
|
'RechEt' => $output,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function bdf_param_ape($ape)
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
'APE' => $ape,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function bdf_modules_fiben()
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
'27' => array(
|
||||||
|
'titre' => '27. Panorama',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'28'=> array(
|
||||||
|
'titre' => '28. Concours Bancaires',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'29'=> array(
|
||||||
|
'titre' => '29. Impayés',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'30'=> array(
|
||||||
|
'titre' => '30. Concours Bancaires gpe',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'37'=> array(
|
||||||
|
'titre' => '37. Cotation',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'38'=> array(
|
||||||
|
'titre' => '38. Score',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'40'=> array(
|
||||||
|
'titre' => '40. Relations Bancaires',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'41'=> array(
|
||||||
|
'titre' => '41. Etablissement secondaires',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'45'=> array(
|
||||||
|
'titre' => '45. Jugements',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'51'=> array(
|
||||||
|
'titre' => '51. Dirigeants',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'52'=> array(
|
||||||
|
'titre' => '52. Capital',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req') ,
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'54'=> array(
|
||||||
|
'titre' => '54. Participation',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'56'=> array(
|
||||||
|
'titre' => '56. Fonction De Direction',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'57'=> array(
|
||||||
|
'titre' => '57. Orga liens financiers',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'58'=> array(
|
||||||
|
'titre' => '58. Orga liens de direction',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'60'=> array(
|
||||||
|
'titre' => '60. Bilan Synthètique',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'62'=> array(
|
||||||
|
'titre' => '62. SIG',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'63'=> array(
|
||||||
|
'titre' => '63. Tableaux des flux',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'64'=> array(
|
||||||
|
'titre' => '64. Ratios',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'66'=> array(
|
||||||
|
'titre' => '66. Chiffres Consolidés',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'67'=> array(
|
||||||
|
'titre' => '67. Comptes Consolidés',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'68'=> array(
|
||||||
|
'titre' => '68. Dossier Comptable',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'69'=> array(
|
||||||
|
'titre' => '69. Liasse Fiscale',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'70'=> array(
|
||||||
|
'titre' => '70. Eléments de risque',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'72'=> array(
|
||||||
|
'titre' => '72. Diagnostic Synthètique',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'DE'=> array(
|
||||||
|
'titre' => 'DE. Dossier Découverte',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'07'=> array(
|
||||||
|
'titre' => '07. Recherche',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array(),
|
||||||
|
'typeop' => array('id'),
|
||||||
|
'denom' => array('denom'),
|
||||||
|
'type' => array('type'),
|
||||||
|
'code' => array('code'),
|
||||||
|
'rechet' => array('rechet'),
|
||||||
|
'ape' => array('ape'),
|
||||||
|
),
|
||||||
|
'liste' => false,
|
||||||
|
),
|
||||||
|
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function bdf_modules_fcc()
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
'G'=> array(
|
||||||
|
'titre' => 'FCC Simplifié',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array('service'),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
'D'=> array(
|
||||||
|
'titre' => 'FCC Détaillé',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array('service'),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function bdf_modules_ficp()
|
||||||
|
{
|
||||||
|
return array(
|
||||||
|
'G'=> array(
|
||||||
|
'titre' => 'FICP',
|
||||||
|
'params' => array(
|
||||||
|
'banque' => array(),
|
||||||
|
'utilisateur' => array(),
|
||||||
|
'profil' => array(),
|
||||||
|
'service' => array('service'),
|
||||||
|
'req' => array('req'),
|
||||||
|
'typeop' => array('id')
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
function bdf_filetimeover($fichier)
|
||||||
|
{
|
||||||
|
$timeover = false;
|
||||||
|
$dateFile = filemtime($fichier);
|
||||||
|
$now = mktime(date('G'), date('i'), date('s'), date('m') , date('d'), date('Y'));
|
||||||
|
$maxTime = mktime(date('G',$dateFile)+$this->filetime, date('i',$dateFile), date('s',$dateFile), date("m",$dateFile), date("d",$dateFile), date("Y",$dateFile));
|
||||||
|
if($now>$maxTime) $timeover = true;
|
||||||
|
return $timeover;
|
||||||
|
}
|
||||||
|
|
||||||
|
function displayModule($req, $module, $service, $listModules)
|
||||||
|
{
|
||||||
|
//Vérifier que le module existe
|
||||||
|
if(array_key_exists($module, $listModules))
|
||||||
|
{
|
||||||
|
$rech = array(
|
||||||
|
'denom' => $denom,
|
||||||
|
'type' => $type,
|
||||||
|
'code' => $code,
|
||||||
|
'rechet' => $rechet,
|
||||||
|
'ape' => $ape,
|
||||||
|
);
|
||||||
|
|
||||||
|
$url = $this->bdf_lien_module($module, $service, $req, $rech);
|
||||||
|
|
||||||
|
if($module=='07'){
|
||||||
|
$filename = false;
|
||||||
|
} else {
|
||||||
|
$c = Zend_Registry::get('config');
|
||||||
|
$filename = $c->profil->path->cache.'/bdf_'.$service.'_'.$req.'_'.$module.'.html';
|
||||||
|
}
|
||||||
|
|
||||||
|
//@todo : Ajouter timeover
|
||||||
|
$content = '';
|
||||||
|
if( $filename!==false && file_exists($filename) ) {
|
||||||
|
$content = file_get_contents($filename);
|
||||||
|
} else {
|
||||||
|
$content = trim($this->bdf_loadpage($url));
|
||||||
|
if( !empty($content) && $filename!==false )
|
||||||
|
{
|
||||||
|
file_put_contents($filename, $content);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $content;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
159
library/Scores/Cache.php
Normal file
@ -0,0 +1,159 @@
|
|||||||
|
<?php
|
||||||
|
class Cache
|
||||||
|
{
|
||||||
|
protected $maxTime = 8;
|
||||||
|
protected $extension = '.tpl';
|
||||||
|
protected $filename = null;
|
||||||
|
protected $cache_loaded = false;
|
||||||
|
protected $file_loaded;
|
||||||
|
protected $cache = array();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Initialise le cache avec un nom
|
||||||
|
* @param string $name
|
||||||
|
*/
|
||||||
|
public function __construct($name = null)
|
||||||
|
{
|
||||||
|
$this->filename = Zend_Registry::get('config')->profil->path->cache.'/'.$name.$this->extension;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Détermine si le fichier de cache existe et qu'il n'est pas périmé
|
||||||
|
*/
|
||||||
|
public function exist()
|
||||||
|
{
|
||||||
|
//Fichier inexistant
|
||||||
|
if ( !file_exists($this->filename) ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
//Ficher timeover
|
||||||
|
if ( $this->timeover($this->filename) ) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Encode les données pour les placer dans le cache
|
||||||
|
* @param unknown_type $array
|
||||||
|
*/
|
||||||
|
public function setBlock($array)
|
||||||
|
{
|
||||||
|
//Ajout des blocs sérialisés
|
||||||
|
if(!empty($this->filename)){
|
||||||
|
$data = base64_encode(serialize($array));
|
||||||
|
if( !$this->_writefile($data, $this->filename) ) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Récupére les données du cache et les décode
|
||||||
|
*/
|
||||||
|
public function getBlock()
|
||||||
|
{
|
||||||
|
$cache = $this->_readfile($this->filename);
|
||||||
|
if(isset($cache)){
|
||||||
|
//Traitement
|
||||||
|
$block = unserialize(base64_decode($cache));
|
||||||
|
return $block;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Détermine suivant la date de fichier si celui-ci est périmé
|
||||||
|
*/
|
||||||
|
protected function timeover()
|
||||||
|
{
|
||||||
|
$dateFile = filemtime($this->filename);
|
||||||
|
$now = mktime(date('G'), date('i'), date('s'), date("m") , date("d"), date("Y"));
|
||||||
|
$maxTime = mktime(
|
||||||
|
date('G',$dateFile)+$this->maxTime,
|
||||||
|
date('i',$dateFile),
|
||||||
|
date('s',$dateFile),
|
||||||
|
date("m",$dateFile),
|
||||||
|
date("d",$dateFile),
|
||||||
|
date("Y",$dateFile));
|
||||||
|
if( $now>$maxTime ) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Supprime le fichier de cache
|
||||||
|
*/
|
||||||
|
public function deletefile()
|
||||||
|
{
|
||||||
|
if(file_exists($this->filename))
|
||||||
|
return unlink($this->filename);
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Lit une ligne dans le fichier
|
||||||
|
*/
|
||||||
|
protected function _readfile()
|
||||||
|
{
|
||||||
|
if ( ($this->filename != $this->file_loaded) ) {
|
||||||
|
$this->file_loaded = $this->filename;
|
||||||
|
if (is_file($this->filename)) {
|
||||||
|
$cache = file_get_contents($this->filename);
|
||||||
|
$this->cache = $cache;
|
||||||
|
}
|
||||||
|
$this->cache_loaded = true;
|
||||||
|
} else {
|
||||||
|
$cache = $this->cache;
|
||||||
|
}
|
||||||
|
return $cache;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ecrit une ligne dans le fichier
|
||||||
|
* @param string $line
|
||||||
|
*/
|
||||||
|
protected function _writefile($line)
|
||||||
|
{
|
||||||
|
$fp = fopen($this->filename,'a');
|
||||||
|
$result = fwrite($fp,$line."\n");
|
||||||
|
fclose($fp);
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Caching WorldCheck Data using Zend_cache
|
||||||
|
*
|
||||||
|
* @param array $config (elements: path, name, lifetime)
|
||||||
|
* @param object $class (object of calling class)
|
||||||
|
* @param string $function (name of member function)
|
||||||
|
* @param array $param (arguments of member function)
|
||||||
|
* @param string $file_name (cache filename)
|
||||||
|
* @return mixed (array object)
|
||||||
|
*/
|
||||||
|
public function wcCache($config, $class, $function, $param, $file_name)
|
||||||
|
{
|
||||||
|
//caching
|
||||||
|
$cache_dir = $config['path'].$config['name'];
|
||||||
|
if (!is_dir($cache_dir)) mkdir($cache_dir, 0777, true);
|
||||||
|
|
||||||
|
$frontendOptions = array(
|
||||||
|
'lifetime' => $config['lifetime'],
|
||||||
|
'automatic_serialization' => true
|
||||||
|
);
|
||||||
|
$backendOptions = array('cache_dir' => $cache_dir);
|
||||||
|
$cache = Zend_Cache::factory('Output','File',$frontendOptions,$backendOptions);
|
||||||
|
|
||||||
|
if(!($cache_data = $cache->load($file_name))) {
|
||||||
|
$cache_data = new stdClass();
|
||||||
|
$cache_data = call_user_func_array(array($class, $function), array($param));
|
||||||
|
$cache->save($cache_data, $file_name);
|
||||||
|
}
|
||||||
|
//end
|
||||||
|
return $cache_data;
|
||||||
|
}
|
||||||
|
}
|
72
library/Scores/ExportCSV.php
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
<?php
|
||||||
|
class ExportCSV
|
||||||
|
{
|
||||||
|
protected $entete = array();
|
||||||
|
protected $enteteKey = array();
|
||||||
|
protected $data = array();
|
||||||
|
protected $type = '';
|
||||||
|
protected $list = array();
|
||||||
|
|
||||||
|
public function __construct($data = array(), $type = '')
|
||||||
|
{
|
||||||
|
$this->data = $data;
|
||||||
|
$this->type = $type;
|
||||||
|
|
||||||
|
$this->structure();
|
||||||
|
$this->prepareData();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function prepareData()
|
||||||
|
{
|
||||||
|
$row = 0;
|
||||||
|
foreach($this->data as $itemKey => $itemVal)
|
||||||
|
{
|
||||||
|
foreach($this->enteteKey as $key){
|
||||||
|
$val = html_entity_decode($itemVal->$key);
|
||||||
|
$this->list[$row][] = $val;
|
||||||
|
}
|
||||||
|
$row++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function structure()
|
||||||
|
{
|
||||||
|
switch($this->type) {
|
||||||
|
case 'rechercheEntreprise':
|
||||||
|
$structure = array(
|
||||||
|
'Siren' => 'Siren',
|
||||||
|
'Nom' => 'Nom',
|
||||||
|
'Nom2' => 'Nom2',
|
||||||
|
'Enseigne' => 'Enseigne',
|
||||||
|
'Adresse' => 'Adresse',
|
||||||
|
'Adresse2' => 'Adresse2',
|
||||||
|
'CP' => 'CP',
|
||||||
|
'Ville' => 'Ville',
|
||||||
|
'Sigle' => 'Sigle',
|
||||||
|
'Siege' => 'Siege',
|
||||||
|
'Actif' => 'Actif',
|
||||||
|
'FJ' => 'FJ',
|
||||||
|
'FJLib' => 'FJLib',
|
||||||
|
'NafEnt' => 'NafEntLib',
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
$this->entete = array_values($structure);
|
||||||
|
$this->enteteKey = array_keys($structure);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function writeFile($filename)
|
||||||
|
{
|
||||||
|
$fp = fopen($filename, 'w');
|
||||||
|
if (count($this->entete)>0){
|
||||||
|
fputcsv($fp, $this->entete);
|
||||||
|
}
|
||||||
|
foreach ($this->list as $fields) {
|
||||||
|
$fields = array_map('htmlspecialchars_decode', $fields);
|
||||||
|
fputcsv($fp, $fields);
|
||||||
|
}
|
||||||
|
fclose($fp);
|
||||||
|
}
|
||||||
|
}
|
142
library/Scores/GestionCommandes.php
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
<?php
|
||||||
|
class GestionCommande
|
||||||
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Liste les commandes Kbis par n° SIREN
|
||||||
|
* @param string $siren
|
||||||
|
*/
|
||||||
|
public function listCommandesKbisBySiren($siren)
|
||||||
|
{
|
||||||
|
$commandes = new Application_Model_CommandesKbis();
|
||||||
|
return $commandes->getCommandesKbisBySiren($siren);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Liste les commandes Kbis par numéro de commande
|
||||||
|
* @param string $num G<NNNN>
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function listCommandesKbisByNum($num)
|
||||||
|
{
|
||||||
|
$commandes = new Application_Model_CommandesKbis();
|
||||||
|
$id = substr($num, 1);
|
||||||
|
return $commandes->getCommandesKbisById($id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Liste les commandes Kbis
|
||||||
|
* @param string $date
|
||||||
|
* @param int $etat
|
||||||
|
* @param string $mode
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function listCommandesKbis($date, $etat, $mode)
|
||||||
|
{
|
||||||
|
$commandes = new Application_Model_CommandesKbis();
|
||||||
|
return $commandes->getCommandes($date, $etat, $mode);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function listCommandesGreffeByNum($num)
|
||||||
|
{
|
||||||
|
$commandes = new Application_Model_Commandes();
|
||||||
|
$id = substr($num, 1);
|
||||||
|
return $commandes->getCommandesById($id);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function listCommandesGreffeBySiren($siren)
|
||||||
|
{
|
||||||
|
$commandes = new Application_Model_Commandes();
|
||||||
|
return $commandes->getCommandesBySiren($siren);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function listCommandesGreffeByLogin($login, $timestamp)
|
||||||
|
{
|
||||||
|
$commandes = new Application_Model_Commandes();
|
||||||
|
return $commandes->getCommandesByLogin($login, $timestamp);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function listCommandesGreffe($date, $etat, $mode)
|
||||||
|
{
|
||||||
|
if ($mode=='-') $mode = '';
|
||||||
|
$commandes = new Application_Model_Commandes();
|
||||||
|
return $commandes->getCommandes($date, $etat, $mode);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function listAllStatus()
|
||||||
|
{
|
||||||
|
$commandeStatut = new Application_Model_CommandesStatut();
|
||||||
|
return $commandeStatut->getStatut()->toArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Enter description here ...
|
||||||
|
*/
|
||||||
|
public function listStatus($mode)
|
||||||
|
{
|
||||||
|
$commandeStatut = new Application_Model_CommandesStatut();
|
||||||
|
return $commandeStatut->getStatutByTypeCommande($mode)->toArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Change l'état d'une commande
|
||||||
|
* @param integer $id
|
||||||
|
* @param integer $etat
|
||||||
|
* @param string $type
|
||||||
|
*/
|
||||||
|
public function changeEtatGreffe($id, $etat, $type = 'C')
|
||||||
|
{
|
||||||
|
$commandeStatut = new Application_Model_CommandesStatut();
|
||||||
|
$sql = $commandeStatut->select()
|
||||||
|
->from('commandes_statut')
|
||||||
|
->columns('id')
|
||||||
|
->where('typeCommande = ?', $type)
|
||||||
|
->order('ordre DESC')
|
||||||
|
->limit(1);
|
||||||
|
$rows = $commandeStatut->fetchAll($sql);
|
||||||
|
|
||||||
|
$trigger = NULL;
|
||||||
|
if ($rows->count()>0){
|
||||||
|
$trigger = $rows[0]->id;
|
||||||
|
}
|
||||||
|
$commande = new Application_Model_Commandes();
|
||||||
|
$data = array( 'statutCommande' => $etat );
|
||||||
|
if ($etat == $trigger){
|
||||||
|
$data['dateReception'] = date('Y-m-d H:i:s');
|
||||||
|
}
|
||||||
|
return $commande->update($data, 'idCommande = '.$id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Change l'état d'une commande
|
||||||
|
* @param integer $id
|
||||||
|
* @param integer $etat
|
||||||
|
* @param string $type
|
||||||
|
*/
|
||||||
|
public function changeEtatKbis($id, $etat, $type = 'C')
|
||||||
|
{
|
||||||
|
$commandeStatut = new Application_Model_CommandesStatut();
|
||||||
|
$sql = $commandeStatut->select()
|
||||||
|
->from('commandes_statut')
|
||||||
|
->columns('id')
|
||||||
|
->where('typeCommande = ?', $type)
|
||||||
|
->order('ordre DESC')
|
||||||
|
->limit(1);
|
||||||
|
$rows = $commandeStatut->fetchAll($sql);
|
||||||
|
|
||||||
|
$trigger = NULL;
|
||||||
|
if ($rows->count()>0){
|
||||||
|
$trigger = $rows[0]->id;
|
||||||
|
}
|
||||||
|
$commande = new Application_Model_CommandesKbis();
|
||||||
|
$data = array( 'statutCommande' => $etat );
|
||||||
|
if ($etat == $trigger){
|
||||||
|
$data['dateReception'] = date('Y-m-d H:i:s');
|
||||||
|
}
|
||||||
|
return $commande->update($data, 'id = '.$id);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
50
library/Scores/Google.php
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
<?php
|
||||||
|
class Google
|
||||||
|
{
|
||||||
|
protected $url = 'http://maps.google.fr/maps?f=q&hl=fr&geocode=&q=';
|
||||||
|
protected $urlPhoto = '';
|
||||||
|
|
||||||
|
public function getGoogleKey($domain)
|
||||||
|
{
|
||||||
|
switch ($domain) {
|
||||||
|
case 'extranet.sd.dev':
|
||||||
|
return 'ABQIAAAAuKBtUyFonYJBl1fqfc78tRTTQao-JYbZvohjws19Eq-s8HocrxTKnnmfOnWxcHe01UHRIkRkZ1f17Q';
|
||||||
|
break;
|
||||||
|
case 'extranet.sd.lan':
|
||||||
|
return 'ABQIAAAAuKBtUyFonYJBl1fqfc78tRSKTEtsiH12Xc5SNL4Zmo_wRXVkrxR4jPIy3GOKGzZxBEOkvOsLG2CJ3w';
|
||||||
|
break;
|
||||||
|
case 'extranet-2.0.sd.lan':
|
||||||
|
return 'ABQIAAAAuKBtUyFonYJBl1fqfc78tRTy4fRlC-SwcCZRiggZoieobzFAiRR6bORav5_Dl3324CqVALrh-ciGFQ';
|
||||||
|
break;
|
||||||
|
case 'extranetrec.scores-decisions.com':
|
||||||
|
return 'ABQIAAAAuKBtUyFonYJBl1fqfc78tRQQcNgS-tLiAG-ic2CW9PypgC_xRhTjSL9-5iBPvj3GA1_AvZYQU_QR3Q';
|
||||||
|
break;
|
||||||
|
case 'extranet.scores-decisions.com':
|
||||||
|
//return 'ABQIAAAAuKBtUyFonYJBl1fqfc78tRQvADPcxwXf3Q2QIE-M32vuSkrxiBRLUHDB_YSLeTscTDeWRKM_wILaaw';
|
||||||
|
return 'ABQIAAAAuKBtUyFonYJBl1fqfc78tRSYaqxLwFTMDT_MtTSFor1bsUZ_ChTvuzyTINkPMlW88Ar9fofaphzN3w';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function supprDecimales($dec)
|
||||||
|
{
|
||||||
|
if ($dec>0 )
|
||||||
|
return floor($dec);
|
||||||
|
else
|
||||||
|
return ceil($dec);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function dec2dms($dec)
|
||||||
|
{
|
||||||
|
$d = $this->supprDecimales($dec);
|
||||||
|
$m = $this->supprDecimales(($dec - $d) * 60);
|
||||||
|
$s = abs(round(((($dec - $d) * 60) - $m) * 60));
|
||||||
|
$m = abs($m);
|
||||||
|
return $d.'°'.$m."'".$s.'"';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getGoogleMapLink($q)
|
||||||
|
{
|
||||||
|
return $this->url.$q;
|
||||||
|
}
|
||||||
|
}
|
185
library/Scores/Google/Streetview.php
Normal file
@ -0,0 +1,185 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* https://developers.google.com/maps/documentation/streetview/
|
||||||
|
* Image de 640x640 max
|
||||||
|
* Heading 0 à 360
|
||||||
|
* 0, 45, 90, 135, 180, 225, 270, 315
|
||||||
|
* Récup de chaque image enregistré SIRET-DEG
|
||||||
|
*/
|
||||||
|
class Scores_Google_Streetview
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Service URL
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $url = 'http://maps.googleapis.com/maps/api/streetview?';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Max size 640x640
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $size = '640x640';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GPS ou Adresse
|
||||||
|
* @var strign
|
||||||
|
*/
|
||||||
|
protected $location = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Defaut 90, Max 120, represents zoom, with smaller numbers indicating a higher level of zoom
|
||||||
|
* @var unknown
|
||||||
|
*/
|
||||||
|
protected $fov = 90;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (default is 0) Specifies the up or down angle of the camera relative to the Street View vehicle
|
||||||
|
* @var unknown
|
||||||
|
*/
|
||||||
|
protected $pitch = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (optional) identifies your application for quota purposes
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $key = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* always false
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $sensor = 'false';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Indicates the compass heading of the camera (0 to 360)
|
||||||
|
*/
|
||||||
|
protected $heading = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Number of image by the circle (360°)
|
||||||
|
* @var int
|
||||||
|
*/
|
||||||
|
protected $nbImage = 8;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* File extension
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $extension = 'jpg';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Path where files are stored
|
||||||
|
*/
|
||||||
|
protected $path = '';
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$this->size = '320x320';
|
||||||
|
|
||||||
|
$c = Zend_Registry::get('config');
|
||||||
|
$ths->path = realpath($c->profil->path->data).'/google/streetview';
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param unknown $lattitude
|
||||||
|
* @param unknown $longitude
|
||||||
|
*/
|
||||||
|
public function setLocationGeo($lattitude, $longitude)
|
||||||
|
{
|
||||||
|
$this->location = $lattitude.','.$longitude;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param unknown $adresse
|
||||||
|
*/
|
||||||
|
public function setLocationTxt($adresse){}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param unknown $num
|
||||||
|
*/
|
||||||
|
public function setHeading($num)
|
||||||
|
{
|
||||||
|
$this->heading = $num;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @return multitype:number
|
||||||
|
*/
|
||||||
|
public function getNumDeg()
|
||||||
|
{
|
||||||
|
$mark = array();
|
||||||
|
$deg = 360/$this->nbImage;
|
||||||
|
$i=$calc=0;
|
||||||
|
while ($calc<360) {
|
||||||
|
$mark[$i] = $calc;
|
||||||
|
$calc+=$deg;
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
return $mark;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function urlImg()
|
||||||
|
{
|
||||||
|
$url = '';
|
||||||
|
|
||||||
|
$params = array( 'size', 'location', 'fov', 'pitch', 'sensor', 'heading' );
|
||||||
|
foreach ($params as $param) {
|
||||||
|
if ( $this->{$param} !== null ) {
|
||||||
|
$url.= '&'.$param.'='. $this->{$param};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $this->url . substr($url,1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public function getImg()
|
||||||
|
{
|
||||||
|
require_once 'common/curl.php';
|
||||||
|
$page = getUrl($this->url, '', '', '', false);
|
||||||
|
|
||||||
|
if ( !in_array($page['code'], array(400, 408, 403)) ) {
|
||||||
|
$body = $page['body'];
|
||||||
|
file_put_contents($this->pathImg(), $body);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function pathImg()
|
||||||
|
{
|
||||||
|
$filename = $this->siret.'-'.$this->heading . '.' . $this->extension;
|
||||||
|
return $this->path . DIRECTORY_SEPARATOR . $filename;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function display()
|
||||||
|
{
|
||||||
|
$file = $this->pathImg();
|
||||||
|
if ( !file_exists($file) ) {
|
||||||
|
$this->getImg();
|
||||||
|
}
|
||||||
|
|
||||||
|
return basename($file);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
1155
library/Scores/IdentiteEntreprise.php
Normal file
233
library/Scores/IdentiteProcol.php
Normal file
@ -0,0 +1,233 @@
|
|||||||
|
<?php
|
||||||
|
class IdentiteProcol
|
||||||
|
{
|
||||||
|
protected $identite;
|
||||||
|
protected $annonces = array();
|
||||||
|
protected $procol;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Construit l'identite entreprise afin de retourner les éléments formatter
|
||||||
|
* pour l'affichage
|
||||||
|
* @param stdClass $infos
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public function __construct($infos)
|
||||||
|
{
|
||||||
|
$this->identite = $infos->Identite;
|
||||||
|
$this->procol = new stdClass();
|
||||||
|
$this->procol->LibTypeEtab = $infos->LibTypeEtab;
|
||||||
|
$this->procol->StatutsConstDepot = $infos->StatutsConstDepot;
|
||||||
|
$this->procol->StatutsConst = $infos->StatutsConst;
|
||||||
|
$this->procol->StatutsModifDepot = $infos->StatutsModifDepot;
|
||||||
|
$this->procol->StatutsModif = $infos->StatutsModif;
|
||||||
|
$this->procol->CessionJugeLib = $infos->CessionJugeLib;
|
||||||
|
$this->procol->CessionJugeDate = $infos->CessionJugeDate;
|
||||||
|
$this->procol->CessionAvisBodac = $infos->CessionAvisBodac;
|
||||||
|
$this->procol->CessionInvenDate = $infos->CessionInvenDate;
|
||||||
|
$this->procol->CessionCAdeclare = $infos->CessionCAdeclare;
|
||||||
|
$this->procol->CessionEffectif = $infos->CessionEffectif;
|
||||||
|
$this->procol->CessionDesc = $infos->CessionDesc;
|
||||||
|
$this->procol->CessionDescDate = $infos->CessionDescDate;
|
||||||
|
$this->procol->CessionOffreDate = $infos->CessionOffreDate;
|
||||||
|
$this->procol->CessionMandataire = $infos->CessionMandataire;
|
||||||
|
|
||||||
|
//Regroupement des annonces suivant le code even
|
||||||
|
if(count($infos->Annonces->item)>0) {
|
||||||
|
foreach ($infos->Annonces->item as $annonce) {
|
||||||
|
foreach($annonce->evenements->item as $even) {
|
||||||
|
$this->annonces[$even->CodeEven] = $annonce;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Zend_Registry::get('firebug')->info($this->annonces);
|
||||||
|
$this->view = new Zend_View();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sélectionne les annonces
|
||||||
|
* @param string $codeAnnonces
|
||||||
|
* : => 2100:2199 Selection de toutes les annonces de 2100 à 2199
|
||||||
|
* - => 2100-2102 Selection des annonces
|
||||||
|
*/
|
||||||
|
public function searchBlockAnnonces($codeAnnonces)
|
||||||
|
{
|
||||||
|
// : => 2100:2199 Selection de toutes les annonces de 2100 à 2199
|
||||||
|
// - => 2100-2102 Selection des annonces
|
||||||
|
$listAnnonces = explode('-', $codeAnnonces);
|
||||||
|
|
||||||
|
$interAnnonces = array();
|
||||||
|
foreach($listAnnonces as $item) {
|
||||||
|
$interAnnonces[] = explode(':', $item);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Remplissage du tableau pour les intervalles
|
||||||
|
for($i=0;$i<count($interAnnonces);$i++) {
|
||||||
|
if(count($interAnnonces[$i])>1) {
|
||||||
|
$start = $interAnnonces[$i][0];
|
||||||
|
$cpt = $start;
|
||||||
|
$tabTemp = array();
|
||||||
|
while($cpt<$interAnnonces[$i][1]){
|
||||||
|
$tabTemp[] = $cpt;
|
||||||
|
$cpt++;
|
||||||
|
}
|
||||||
|
$interAnnonces[$i] = $tabTemp;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$outputAnnonces = array();
|
||||||
|
//Parcours des annonces
|
||||||
|
foreach($interAnnonces as $tabCodeEven) {
|
||||||
|
foreach($tabCodeEven as $code_even) {
|
||||||
|
if(array_key_exists($code_even, $this->annonces)){
|
||||||
|
$outputAnnonces[] = $this->annonces[$code_even];
|
||||||
|
unset($this->annonces[$code_even]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $outputAnnonces;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Affiche les annonces sélectionnées
|
||||||
|
* @param array $annonces
|
||||||
|
* Tableau d'annonces sélectionnées
|
||||||
|
*/
|
||||||
|
public function dAnnonces($annonces)
|
||||||
|
{
|
||||||
|
$output = '';
|
||||||
|
if(is_array($annonces) && count($annonces)>0)
|
||||||
|
{
|
||||||
|
foreach($annonces as $annonce)
|
||||||
|
{
|
||||||
|
$output.= '<p class="libAnnonces">';
|
||||||
|
switch($annonce->BodaccCode)
|
||||||
|
{
|
||||||
|
case 'BALO': $vue = 'balo'; break;
|
||||||
|
case 'ASSO': $vue = 'asso'; break;
|
||||||
|
case 'BODA':
|
||||||
|
case 'BODB':
|
||||||
|
case 'BODC':
|
||||||
|
default: $vue = 'bodacc'; break;
|
||||||
|
}
|
||||||
|
|
||||||
|
$href = $this->view->url(array(
|
||||||
|
'controller' => 'juridique',
|
||||||
|
'action' => 'annonces',
|
||||||
|
'siret' => $this->identite->Siret,
|
||||||
|
'idAnn' => $annonce->id,
|
||||||
|
'vue' => $vue,
|
||||||
|
));
|
||||||
|
$output.= '<a href="'.$href.'">';
|
||||||
|
$output.= html_entity_decode($annonce->evenements->item[0]->LibEven);
|
||||||
|
$output.= '</a>';
|
||||||
|
|
||||||
|
if(!empty($annonce->dateJugement) && substr($annonce->dateJugement,0,4)!='0000') $output.= ', le '.WDate::dateT('Y-m-d','d/m/Y',$annonce->dateJugement);
|
||||||
|
elseif(!empty($annonce->dateEffet) && substr($annonce->dateEffet,0,4)!='0000') $output.= ', le '.WDate::dateT('Y-m-d','d/m/Y',$annonce->dateEffet);
|
||||||
|
|
||||||
|
$output.= ', publié au ';
|
||||||
|
$tabSource=explode('-', $annonce->BodaccCode);
|
||||||
|
$source=$tabSource[0];
|
||||||
|
$idSource=@$tabSource[1];
|
||||||
|
if ($source[0] == 'B'){
|
||||||
|
$output.= 'BODACC n°'.$annonce->BodaccNum.' '.substr($source,-1);
|
||||||
|
}elseif ($source[0] == 'G' || $source[0] == 'T'){
|
||||||
|
$output.= 'Greffe';
|
||||||
|
}elseif ($source[0] == 'P'){
|
||||||
|
$output.= 'RNCS';
|
||||||
|
}else{
|
||||||
|
$output.='JAL';
|
||||||
|
}
|
||||||
|
if(!empty($annonce->DateParution)) $output.= ' le '.WDate::dateT('Y-m-d','d/m/Y',$annonce->DateParution);
|
||||||
|
$output.= '</p>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $output;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getTypeEtabLabel()
|
||||||
|
{
|
||||||
|
return 'Type d\'Etablissement';
|
||||||
|
}
|
||||||
|
public function getTypeEtabTexte()
|
||||||
|
{
|
||||||
|
if( $this->procol->LibTypeEtab=='N/C' || $this->procol->LibTypeEtab=='')
|
||||||
|
return false;
|
||||||
|
|
||||||
|
return $this->procol->LibTypeEtab;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getStatutsConstLabel()
|
||||||
|
{
|
||||||
|
return 'Dépot des statuts';
|
||||||
|
}
|
||||||
|
public function getStatutsConstTexte()
|
||||||
|
{
|
||||||
|
$data = '';
|
||||||
|
if(!empty($this->procol->StatutsConst) && $this->procol->StatutsConst!='0000-00-00')
|
||||||
|
{
|
||||||
|
$data.= 'Constitués le '.WDate::dateT('Y-m-d', 'd/m/Y', $this->procol->StatutsConst);
|
||||||
|
}
|
||||||
|
if(!empty($this->procol->StatutsConstDepot) && $this->procol->StatutsConstDepot!='0000-00-00')
|
||||||
|
{
|
||||||
|
$data.= ' en dépôt du '.WDate::dateT('Y-m-d', 'd/m/Y', $this->procol->StatutsConstDepot);
|
||||||
|
}
|
||||||
|
if(empty($data)) return false;
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getStatutsModifLabel()
|
||||||
|
{
|
||||||
|
return 'Modification des statuts';
|
||||||
|
}
|
||||||
|
public function getStatutsModifTexte()
|
||||||
|
{
|
||||||
|
$data = '';
|
||||||
|
if(!empty($this->procol->StatutsModif) && $this->procol->StatutsModif!='0000-00-00')
|
||||||
|
{
|
||||||
|
$data.= 'Modifiés le '.WDate::dateT('Y-m-d', 'd/m/Y', $this->procol->StatutsModif);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!empty($this->procol->StatutsModifDepot) && $this->procol->StatutsModifDepot!='0000-00-00')
|
||||||
|
{
|
||||||
|
$data.= ' en dépôt du '.WDate::dateT('Y-m-d', 'd/m/Y', $this->procol->StatutsModifDepot);
|
||||||
|
}
|
||||||
|
if(empty($data)) return false;
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCessionOffreDateLabel()
|
||||||
|
{
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
public function getCessionOffreDateTexte()
|
||||||
|
{
|
||||||
|
if (empty($this->procol->CessionOffreDate)) return false;
|
||||||
|
|
||||||
|
return 'Offres de reprises possibles jusqu\'au '.
|
||||||
|
WDate::DateT('Y-m-d', 'd/m/Y', $this->procol->CessionOffreDate);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCessionInvenDateLabel()
|
||||||
|
{
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
public function getCessionInvenDateTexte()
|
||||||
|
{
|
||||||
|
if (empty($this->procol->CessionInvenDate)) return false;
|
||||||
|
|
||||||
|
return 'Inventaire déposé au greffe le '.
|
||||||
|
WDate::DateT('Y-m-d', 'd/m/Y', $this->procol->CessionInvenDate);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCessionDescLabel()
|
||||||
|
{
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
public function getCessionDescTexte()
|
||||||
|
{
|
||||||
|
if (empty($this->procol->CessionDesc)) return false;
|
||||||
|
|
||||||
|
return 'Actifs concernés '.$this->procol->CessionDesc;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
62
library/Scores/Iris.php
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
<?php
|
||||||
|
class Iris
|
||||||
|
{
|
||||||
|
protected static $timeout = 10;
|
||||||
|
protected $pathIrisPdf;
|
||||||
|
protected $codeCommune;
|
||||||
|
protected $erreur = '';
|
||||||
|
|
||||||
|
public function __construct($codeCommune)
|
||||||
|
{
|
||||||
|
require_once 'common/curl.php';
|
||||||
|
$c = Zend_Registry::get('config');
|
||||||
|
$this->pathIrisPdf = realpath($c->profil->path->data).'/iris';
|
||||||
|
$this->codeCommune = $codeCommune;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Récupére l'avis de situtation à partir du site au format pdf
|
||||||
|
* @param string $format Format 'pdf' ou 'array'
|
||||||
|
* @param boolean $force True aller obligatoirement le chercher à l'insee
|
||||||
|
* @return string Le PDF demandé
|
||||||
|
*/
|
||||||
|
function get($format='pdf', $force=0)
|
||||||
|
{
|
||||||
|
$force=$force*1;
|
||||||
|
$date=date('Ymd');
|
||||||
|
if (!file_exists($this->pathIrisPdf)) mkdir($this->pathIrisPdf);
|
||||||
|
$fichier = $this->pathIrisPdf.'/carte_iris_'.$this->codeCommune.'.pdf';
|
||||||
|
if ($format!='pdf') return 'Format pdf uniquement';
|
||||||
|
if ($force==0 && file_exists($fichier))
|
||||||
|
{
|
||||||
|
// On délivre le fichier
|
||||||
|
return file_get_contents($fichier);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$url = 'http://www.insee.fr/fr/methodes/zonages/iris/cartes/carte_iris_'.$this->codeCommune.'.pdf';
|
||||||
|
$referer = $cookie = '';
|
||||||
|
$page = getUrl($url, $cookie, '', $referer, false, 'www.insee.fr', '', $this->timeout);
|
||||||
|
//Code en 4xx ou 5xx signifie une erreur du serveur
|
||||||
|
$codeN = floor($page['code']/100);
|
||||||
|
if($codeN==4 || $codeN==5 || substr($page['body'],0,4)!='%PDF')
|
||||||
|
{
|
||||||
|
$this->erreur = "Fichier introuvable à l'insee !";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$fp = fopen($fichier, "w");
|
||||||
|
fwrite($fp, $page['body']);
|
||||||
|
fclose($fp);
|
||||||
|
return $page['body'];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function erreur()
|
||||||
|
{
|
||||||
|
return $this->erreur;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
112
library/Scores/Logo.php
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
<?php
|
||||||
|
class Logo
|
||||||
|
{
|
||||||
|
protected $path = '';
|
||||||
|
protected $siren;
|
||||||
|
protected $isin = null;
|
||||||
|
protected $logoNom = '';
|
||||||
|
protected $logoSize = '';
|
||||||
|
|
||||||
|
public function __construct($siren, $isin = null)
|
||||||
|
{
|
||||||
|
$c = Zend_Registry::get('config');
|
||||||
|
$this->path = realpath($c->profil->path->data).'/logos';
|
||||||
|
$this->siren = $siren;
|
||||||
|
$this->isin = $isin;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function affiche()
|
||||||
|
{
|
||||||
|
// Ne pas afficher le logo si il n'existe pas OU
|
||||||
|
// si le siren est à 0 OU si le siren est inférieur a 100
|
||||||
|
$logo = $this->exist($this->siren, $this->isin);
|
||||||
|
if ( $logo && (intval($this->siren)!=0 || intval($this->siren)>100) )
|
||||||
|
{
|
||||||
|
$tabTmp = @getimagesize($this->path.'/'.$logo);
|
||||||
|
$w = $tabTmp[0];
|
||||||
|
$h = $tabTmp[1];
|
||||||
|
if ($w > 350) {
|
||||||
|
$strSize = $this->redimage($this->path.'/'.$logo, 350, 150);
|
||||||
|
} else {
|
||||||
|
$strSize = '';
|
||||||
|
}
|
||||||
|
return '<img src="/fichier/logo/'.$logo.'" '.$strSize.'/>';
|
||||||
|
}
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getFromUrl($siteWeb)
|
||||||
|
{
|
||||||
|
$img = false;
|
||||||
|
require_once 'common/curl.php';
|
||||||
|
if (substr($siteWeb,-1)!='/') $siteWeb.='/';
|
||||||
|
|
||||||
|
$arrUrl = parse_url($siteWeb);
|
||||||
|
$page = getUrl($siteWeb, '', '', '', false, $arrUrl['host'], '', 3);
|
||||||
|
$body = $page['body'];
|
||||||
|
if (preg_match('/<img(?:.*)src=(?:"|\')((?:.*)logo(?:.*)(?:gif|png|jpg|jpeg))/Ui', $body, $matches)) {
|
||||||
|
$logo = trim(strtr($matches[1],'"\'',' '));
|
||||||
|
$urlLogo = $siteWeb.$logo;
|
||||||
|
$tmp = explode('.', basename($logo));
|
||||||
|
$ext = end($tmp);
|
||||||
|
$page = getUrl($urlLogo, '', '', $siteWeb, false, $arrUrl['host']);
|
||||||
|
if($page['code']!=400)
|
||||||
|
{
|
||||||
|
$body = $page['body'];
|
||||||
|
$img = $this->path.'/'.$this->siren.'.'.$ext;
|
||||||
|
$fp = fopen($img, 'a');
|
||||||
|
fwrite($fp, $body);
|
||||||
|
fclose($fp);
|
||||||
|
chmod($img, 0755);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $img;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function exist()
|
||||||
|
{
|
||||||
|
$img_ext = array('gif', 'png', 'jpg', 'jpeg');
|
||||||
|
$ext = '';
|
||||||
|
// Recherche le logo avec le siren
|
||||||
|
$locImg = $this->path.'/'.$this->siren;
|
||||||
|
foreach($img_ext as $extension){
|
||||||
|
if( file_exists($locImg.'.'.$extension) ) {
|
||||||
|
return $this->siren.'.'.$extension;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Recherche de logos avec le code isin
|
||||||
|
if(!empty($this->isin))
|
||||||
|
{
|
||||||
|
$locImg = $this->path.'/'.$this->isin;
|
||||||
|
foreach($img_ext as $extension) {
|
||||||
|
if( file_exists($locImg.'.'.$extension) ) {
|
||||||
|
return $this->isin.'.'.$extension;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function redimage($img_src,$dst_w,$dst_h) {
|
||||||
|
// Lit les dimensions de l'image
|
||||||
|
$size = getimagesize($img_src);
|
||||||
|
$src_w = $size[0]; $src_h = $size[1];
|
||||||
|
// Teste les dimensions tenant dans la zone
|
||||||
|
$test_h = round(($dst_w / $src_w) * $src_h);
|
||||||
|
$test_w = round(($dst_h / $src_h) * $src_w);
|
||||||
|
// Si Height final non précisé (0)
|
||||||
|
if(!$dst_h) $dst_h = $test_h;
|
||||||
|
// Sinon si Width final non précisé (0)
|
||||||
|
elseif(!$dst_w) $dst_w = $test_w;
|
||||||
|
// Sinon teste quel redimensionnement tient dans la zone
|
||||||
|
elseif($test_h>$dst_h) $dst_w = $test_w;
|
||||||
|
else $dst_h = $test_h;
|
||||||
|
|
||||||
|
// Affiche les dimensions optimales
|
||||||
|
return "width=".$dst_w." height=".$dst_h;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
113
library/Scores/Mail.php
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
<?php
|
||||||
|
class Mail
|
||||||
|
{
|
||||||
|
protected $config;
|
||||||
|
protected $mail;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gestion de l'envoi des mails en fonction de la configuration
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
$c = Zend_Registry::get('config');
|
||||||
|
$this->config = $c->profil->mail;
|
||||||
|
|
||||||
|
$this->mail = new Zend_Mail();
|
||||||
|
|
||||||
|
if ($this->config->method == 'smtp') {
|
||||||
|
$tr = new Zend_Mail_Transport_Smtp($this->config->smtp_host);
|
||||||
|
$this->mail->setDefaultTransport($tr);
|
||||||
|
} elseif ($this->config->method == 'smtpauth') {
|
||||||
|
$cnfg = array(
|
||||||
|
'auth' => 'login',
|
||||||
|
'username' => $this->config->username,
|
||||||
|
'password' => $this->config->password
|
||||||
|
);
|
||||||
|
$tr = new Zend_Mail_Transport_Smtp($this->config->smtp_host, $cnfg);
|
||||||
|
$this->mail->setDefaultTransport($tr);
|
||||||
|
} else {
|
||||||
|
$tr = new Zend_Mail_Transport_Sendmail();
|
||||||
|
$this->mail->setDefaultTransport($tr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Champ From en fonction de la clé de configuration
|
||||||
|
* @param string $configKey
|
||||||
|
*/
|
||||||
|
public function setFrom($configKey)
|
||||||
|
{
|
||||||
|
$email = $this->config->email->$configKey;
|
||||||
|
$this->mail->setFrom($email, ucfirst($configKey));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set Reply-To address
|
||||||
|
* @param string $email
|
||||||
|
*/
|
||||||
|
public function setReplyTo($email)
|
||||||
|
{
|
||||||
|
$this->mail->setReplyTo($email);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Champ To en fonction de la clé de configuration
|
||||||
|
* @param string $configKey
|
||||||
|
*/
|
||||||
|
public function addToKey($configKey)
|
||||||
|
{
|
||||||
|
$email = $this->config->email->$configKey;
|
||||||
|
$this->mail->addTo($email, ucfirst($configKey));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Ajout d'un champ To en spécifiant l'email et le nom qui doit apparaitre
|
||||||
|
* @param string $email
|
||||||
|
* @param string $nom
|
||||||
|
*/
|
||||||
|
public function addTo($email, $nom = '')
|
||||||
|
{
|
||||||
|
$this->mail->addTo($email, $this->txtConvert($nom));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Définit le sujet de l'email
|
||||||
|
* @param string $texte
|
||||||
|
*/
|
||||||
|
public function setSubject($texte = '')
|
||||||
|
{
|
||||||
|
$this->mail->setSubject($this->txtConvert($texte));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Définit le corps de l'email au format texte
|
||||||
|
* @param string $texte
|
||||||
|
*/
|
||||||
|
public function setBodyTexte($texte = '')
|
||||||
|
{
|
||||||
|
$this->mail->setBodyText($this->txtConvert($texte));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Définit le corps de l'email au format html
|
||||||
|
* @param string $html
|
||||||
|
*/
|
||||||
|
public function setBodyHtml($html = '')
|
||||||
|
{
|
||||||
|
$this->mail->setBodyHtml($this->txtConvert($html));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Envoi de l'emai
|
||||||
|
*/
|
||||||
|
public function send()
|
||||||
|
{
|
||||||
|
return $this->mail->send();
|
||||||
|
}
|
||||||
|
|
||||||
|
//We suppose that character encoding of strings is UTF-8 on PHP script.
|
||||||
|
protected function txtConvert($string) {
|
||||||
|
return mb_convert_encoding($string, 'ISO-8859-1', 'UTF-8');
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
76
library/Scores/Mappy.php
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
<?php
|
||||||
|
class Mappy
|
||||||
|
{
|
||||||
|
protected $login = 'scoresdecisions';
|
||||||
|
protected $password = 'g1nq3iKv';
|
||||||
|
|
||||||
|
protected $villes = array(
|
||||||
|
'BORDEAUX',
|
||||||
|
'CAEN' ,
|
||||||
|
'CANNES',
|
||||||
|
'GRENOBLE',
|
||||||
|
'LA BAULE',
|
||||||
|
'LILLE',
|
||||||
|
'LYON',
|
||||||
|
'MARSEILLE',
|
||||||
|
'MONTPELLIER',
|
||||||
|
'NANCY',
|
||||||
|
'NANTES',
|
||||||
|
'NICE',
|
||||||
|
'RENNES',
|
||||||
|
'STRASBOURG',
|
||||||
|
'TOULOUSE',
|
||||||
|
'ASNIERES-SUR-SEINE',
|
||||||
|
'BOULOGNE-BILLANCOURT',
|
||||||
|
'COURBEVOIE',
|
||||||
|
'ISSY-LES-MOULINEAUX',
|
||||||
|
'LEVALLOIS-PERRET',
|
||||||
|
'MONTROUGE',
|
||||||
|
'NANTERRE',
|
||||||
|
'NEUILLY-SUR-SEINE',
|
||||||
|
'RUEIL-MALMAISON',
|
||||||
|
'SEVRES',
|
||||||
|
'VERSAILLES',
|
||||||
|
'PARIS'
|
||||||
|
);
|
||||||
|
|
||||||
|
public function getToken()
|
||||||
|
{
|
||||||
|
$ACCESSOR_URL = 'http://axe.mappy.com/1v1/';
|
||||||
|
$timestamp = time();
|
||||||
|
$hash = md5($this->login."@".$this->password."@".$timestamp);
|
||||||
|
$preToken = $this->login."@".$timestamp."@".$hash;
|
||||||
|
$urlGetToken = $ACCESSOR_URL . 'token/generate.aspx?auth=' . urlencode($preToken) . '&ip=' . urlencode($_SERVER["REMOTE_ADDR"]);
|
||||||
|
$fh = @fopen($urlGetToken, 'rb');
|
||||||
|
|
||||||
|
if ($fh == false) return false;
|
||||||
|
$token = '';
|
||||||
|
while (!feof($fh))$token .= fread($fh, 8192);
|
||||||
|
fclose($fh);
|
||||||
|
return ($token);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function cleanAdress($ville)
|
||||||
|
{
|
||||||
|
$ville = ' '.trim(preg_replace('/([0-9]|ARRONDISSEMENT|_)/i', ' ', $ville)).' ';
|
||||||
|
$ville = trim(strtr($ville, array(' EME ' => '', ' ER ' => '')));
|
||||||
|
return (ucwords(strtolower($ville)));
|
||||||
|
}
|
||||||
|
|
||||||
|
public function villeCouverte($ville)
|
||||||
|
{
|
||||||
|
$ville = $this->cleanAdress($ville);
|
||||||
|
if (in_array(strtoupper($ville),$this->villes)){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getJs()
|
||||||
|
{
|
||||||
|
$token = $this->getToken();
|
||||||
|
$href = 'http://axe.mappy.com/1v1/init/get.aspx?auth='.$token.'&version=2.16&solution=ajax';
|
||||||
|
return $href;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
944
library/Scores/Menu.php
Normal file
@ -0,0 +1,944 @@
|
|||||||
|
<?php
|
||||||
|
class Menu
|
||||||
|
{
|
||||||
|
protected $menu = null;
|
||||||
|
protected $siret = null;
|
||||||
|
protected $id = 0;
|
||||||
|
protected $lienref = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Définition du menu avec ces groupes et pages
|
||||||
|
* Groupes
|
||||||
|
* => label : titre du menu
|
||||||
|
* => check : nom du controller
|
||||||
|
* => permission : code de la permission nécessaire pour l'affichage
|
||||||
|
* activateMenu : Définir controller/action pour activer le menu
|
||||||
|
* => controller : nom du controller
|
||||||
|
* => action : nom de l'action
|
||||||
|
* Pages
|
||||||
|
* => label : titre de la page
|
||||||
|
* => title : titre de l'infobulle
|
||||||
|
* => controller : nom du controller
|
||||||
|
* => action : nom de l'action
|
||||||
|
* => permission : code de la permission nécessaire pour l'affichage
|
||||||
|
* => forceVisible : boolean, affiche le menu en grisé même si l'utilisateur n'a pas la permission
|
||||||
|
* @var array
|
||||||
|
*/
|
||||||
|
protected $defineMenu = array(
|
||||||
|
array(
|
||||||
|
'label' => 'RECHERCHES',
|
||||||
|
'activateMenu' => array(
|
||||||
|
array('controller'=>'recherche', 'action'=>'liste'),
|
||||||
|
array('controller'=>'recherche', 'action'=>'list'),
|
||||||
|
array('controller'=>'recherche', 'action'=>'annonceliste'),
|
||||||
|
array('controller'=>'recherche', 'action'=>'enquete'),
|
||||||
|
array('controller'=>'recherche', 'action'=>'refclientliste'),
|
||||||
|
array('controller'=>'worldcheck', 'action'=>'index'),
|
||||||
|
array('controller'=>'worldcheck', 'action'=>'matchcontent'),
|
||||||
|
array('controller'=>'giant', 'action'=>'search'),
|
||||||
|
array('controller'=>'giant', 'action'=>'identite'),
|
||||||
|
array('controller'=>'giant', 'action'=>'commandes'),
|
||||||
|
array('controller'=>'giant', 'action'=>'rapport'),
|
||||||
|
),
|
||||||
|
'pages' => array(
|
||||||
|
array(
|
||||||
|
'label' => "Rechercher une entreprise",
|
||||||
|
'title' => "Rechercher une entreprise",
|
||||||
|
'controller' => 'recherche',
|
||||||
|
'action' => 'entreprise',
|
||||||
|
'forceVisible' => true,
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Rechercher par dirigeant",
|
||||||
|
'controller' => 'recherche',
|
||||||
|
'action' => 'dirigeant',
|
||||||
|
'forceVisible' => true,
|
||||||
|
'permission' => 'SEARCHDIR',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Recherche Internationale",
|
||||||
|
'controller' => '',
|
||||||
|
'action' => '',
|
||||||
|
'permission' => 'INTERNATIONAL'
|
||||||
|
),
|
||||||
|
array( // idClient = 1 && idClient =
|
||||||
|
'label' => "Rechercher une annonce",
|
||||||
|
'controller' => 'recherche',
|
||||||
|
'action' => 'annonce',
|
||||||
|
'permission' => 'HISTOBODACC',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Rechercher par actionnaire",
|
||||||
|
'controller' => 'recherche',
|
||||||
|
'action' => 'actionnaire',
|
||||||
|
'forceVisible' => true,
|
||||||
|
'permission' => 'SEARCHACT',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Recherche WorldCheck",
|
||||||
|
'controller' => 'recherche',
|
||||||
|
'action' => 'worldcheck',
|
||||||
|
'forceVisible' => false,
|
||||||
|
'permission' => 'WORLDCHECK',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Dernière recherche",
|
||||||
|
'controller' => 'recherche',
|
||||||
|
'action' => 'last',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Liste des dernières recherches",
|
||||||
|
'controller' => 'recherche',
|
||||||
|
'action' => 'list',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Centrale IparI",
|
||||||
|
'controller' => 'recherche',
|
||||||
|
'action' => 'ipari',
|
||||||
|
'permission' => 'IPARI',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => 'IDENTITE',
|
||||||
|
'pages' => array(
|
||||||
|
array(
|
||||||
|
'label' => "Fiche d'identité",
|
||||||
|
'controller' => 'identite',
|
||||||
|
'action' => 'fiche',
|
||||||
|
'forceVisible' => true,
|
||||||
|
'permission' => 'IDENTITE',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Fiche Procédure Collective",
|
||||||
|
'controller' => 'identite',
|
||||||
|
'action' => 'fichepc',
|
||||||
|
'permission' => 'IDPROCOL'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Liste des établissements",
|
||||||
|
'controller' => 'identite',
|
||||||
|
'action' => 'etablissements',
|
||||||
|
'forceVisible' => true,
|
||||||
|
'permission' => 'ETABLISSEMENTS',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Liens inter-entreprises",
|
||||||
|
'controller' => 'identite',
|
||||||
|
'action' => 'liens',
|
||||||
|
'forceVisible' => true,
|
||||||
|
'permission' => 'LIENS',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Informations Groupe",
|
||||||
|
'controller' => 'identite',
|
||||||
|
'action' => 'groupe',
|
||||||
|
'permission' => 'GROUPE'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Modifications Insee",
|
||||||
|
'controller' => 'identite',
|
||||||
|
'action' => 'evenements',
|
||||||
|
'permission' => 'eveninsee',
|
||||||
|
'forceVisible' => true,
|
||||||
|
'permission' => 'EVENINSEE',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => 'DIRIGEANTS',
|
||||||
|
'activateMenu' => array(
|
||||||
|
array('controller'=>'dirigeants', 'action'=>'op'),
|
||||||
|
),
|
||||||
|
'pages' => array(
|
||||||
|
array(
|
||||||
|
'label' => "Liste des dirigeants",
|
||||||
|
'controller' => 'dirigeant',
|
||||||
|
'action' => 'liste',
|
||||||
|
'forceVisible' => true,
|
||||||
|
'permission' => 'DIRIGEANTS',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Historique des dirigeants",
|
||||||
|
'controller' => 'dirigeant',
|
||||||
|
'action' => 'histo',
|
||||||
|
'forceVisible' => true,
|
||||||
|
'permission' => 'DIRIGEANTS',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => 'ELEMENTS FINANCIERS',
|
||||||
|
'pages' => array(
|
||||||
|
array(
|
||||||
|
'label' => "Synthèse",
|
||||||
|
'controller' => 'finance',
|
||||||
|
'action' => 'synthese',
|
||||||
|
'forceVisible' => true,
|
||||||
|
'permission' => 'SYNTHESE',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Bilans, Compte de résultat",
|
||||||
|
'controller' => 'finance',
|
||||||
|
'action' => 'bilan',
|
||||||
|
'forceVisible' => true,
|
||||||
|
'permission' => 'RATIOS',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Ratios",
|
||||||
|
'controller' => 'finance',
|
||||||
|
'action' => 'ratios',
|
||||||
|
'forceVisible' => true,
|
||||||
|
'permission' => 'RATIOS',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Flux de trésorerie",
|
||||||
|
'controller' => 'finance',
|
||||||
|
'action' => 'flux',
|
||||||
|
'forceVisible' => true,
|
||||||
|
'permission' => 'FLUX',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Liasse fiscale",
|
||||||
|
'controller' => 'finance',
|
||||||
|
'action' => 'liasse',
|
||||||
|
'forceVisible' => true,
|
||||||
|
'permission' => 'LIASSE',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Bourse & Cotations",
|
||||||
|
'controller' => 'finance',
|
||||||
|
'action' => 'bourse',
|
||||||
|
'forceVisible' => true,
|
||||||
|
'permission' => 'BOURSE',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Relations bancaires",
|
||||||
|
'controller' => 'finance',
|
||||||
|
'action' => 'banque',
|
||||||
|
'forceVisible' => true,
|
||||||
|
'permission' => 'BANQUE',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => 'ELEMENTS JURIDIQUES',
|
||||||
|
'pages' => array(
|
||||||
|
array(
|
||||||
|
'label' => "Annonces Légales",
|
||||||
|
'controller' => 'juridique',
|
||||||
|
'action' => 'annonces',
|
||||||
|
'forceVisible' => true,
|
||||||
|
'permission' => 'ANNONCES',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Information Réglementée",
|
||||||
|
'controller' => 'juridique',
|
||||||
|
'action' => 'infosreg',
|
||||||
|
'forceVisible' => true,
|
||||||
|
'permission' => 'INFOSREG',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Compétences Territoriales",
|
||||||
|
'controller' => 'juridique',
|
||||||
|
'action' => 'competences',
|
||||||
|
'forceVisible' => true,
|
||||||
|
'permission' => 'COMPETENCES',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Conventions collectives",
|
||||||
|
'controller' => 'juridique',
|
||||||
|
'action' => 'conventions',
|
||||||
|
'forceVisible' => true,
|
||||||
|
'permission' => 'CONVENTIONS',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Marques déposées",
|
||||||
|
'controller' => 'juridique',
|
||||||
|
'action' => 'marques',
|
||||||
|
'permission' => 'MARQUES',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => 'BANQUE DE FRANCE',
|
||||||
|
'permission' => 'BDF',
|
||||||
|
'activateMenu' => array(
|
||||||
|
array('controller'=>'bdf', 'action'=>'module'),
|
||||||
|
),
|
||||||
|
'pages' => array(
|
||||||
|
array(
|
||||||
|
'label' => "27. Panorama",
|
||||||
|
'controller' => 'bdf',
|
||||||
|
'action' => 'module27',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "28. Concours Bancaires",
|
||||||
|
'controller' => 'bdf',
|
||||||
|
'action' => 'module28',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "29. Impayés",
|
||||||
|
'controller' => 'bdf',
|
||||||
|
'action' => 'module29',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "40. Relations Bancaires",
|
||||||
|
'controller' => 'bdf',
|
||||||
|
'action' => 'module40',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "51. Dirigeants",
|
||||||
|
'controller' => 'bdf',
|
||||||
|
'action' => 'module51',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Autres",
|
||||||
|
'controller' => 'bdf',
|
||||||
|
'action' => 'index',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => 'EVALUATION',
|
||||||
|
'activateMenu' => array(
|
||||||
|
array('controller'=>'evaluation', 'action'=> 'scoringcommande'),
|
||||||
|
array('controller'=>'evaluation', 'action'=> 'aviscredit'),
|
||||||
|
),
|
||||||
|
'pages' => array(
|
||||||
|
array(
|
||||||
|
'label' => "IndiScore",
|
||||||
|
'controller' => 'evaluation',
|
||||||
|
'action' => 'indiscore',
|
||||||
|
'permission' => array('indiscore', 'indiscorep'),
|
||||||
|
'pref' => array('demanderef'),
|
||||||
|
'forceVisible' => true,
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Rapport de synthèse",
|
||||||
|
'controller' => 'evaluation',
|
||||||
|
'action' => 'indiscore2',
|
||||||
|
'permission' => array('INDISCORE2', 'INDISCORE2P'),
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Rapport complet",
|
||||||
|
'controller' => 'evaluation',
|
||||||
|
'action' => 'indiscore3',
|
||||||
|
'permission' => array('INDISCORE3', 'INDISCORE3P'),
|
||||||
|
'pref' => array('demanderef'),
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Valorisation",
|
||||||
|
'controller' => 'evaluation',
|
||||||
|
'action' => 'valorisation',
|
||||||
|
'permission' => array('VALORISATION'),
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Scoring Credit Safe",
|
||||||
|
'controller' => 'evaluation',
|
||||||
|
'action' => 'scoring',
|
||||||
|
'permission' => 'SCORECSF',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Enquête commerciale",
|
||||||
|
'controller' => 'evaluation',
|
||||||
|
'action' => 'enquetec',
|
||||||
|
'permission' => 'ENQUETEC',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => 'PIECES OFFICIELLES',
|
||||||
|
'activateMenu' => array(
|
||||||
|
array('controller'=> 'pieces', 'action'=>'cmdassociation'),
|
||||||
|
array('controller'=> 'pieces', 'action'=>'associationactes'),
|
||||||
|
array('controller'=> 'pieces', 'action'=>'associationbilans'),
|
||||||
|
array('controller'=> 'pieces', 'action'=>'cmdcourrier'),
|
||||||
|
array('controller'=> 'pieces', 'action'=>'kbis'),
|
||||||
|
array('controller'=> 'pieces', 'action'=>'kbispasserelle'),
|
||||||
|
),
|
||||||
|
'pages' => array(
|
||||||
|
array(
|
||||||
|
'label' => "Commande de Pièces",
|
||||||
|
'controller' => 'pieces',
|
||||||
|
'action' => 'commande',
|
||||||
|
'permission' => array('KBIS', 'PRIVILEGES'),
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Comptes annuels",
|
||||||
|
'controller' => 'pieces',
|
||||||
|
'action' => 'bilans',
|
||||||
|
'forceVisible' => true,
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Actes & Statuts",
|
||||||
|
'controller' => 'pieces',
|
||||||
|
'action' => 'actes',
|
||||||
|
'forceVisible' => true,
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Suivi Privilèges",
|
||||||
|
'controller' => 'pieces',
|
||||||
|
'action' => 'privileges',
|
||||||
|
'permission' => 'SURVPRIV',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => 'OPTIONS',
|
||||||
|
'pages' => array(
|
||||||
|
array(
|
||||||
|
'label' => 'Nouveautés',
|
||||||
|
'controller' => 'aide',
|
||||||
|
'action' => 'newliste',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Mes options",
|
||||||
|
'controller' => 'user',
|
||||||
|
'action' => 'index',
|
||||||
|
'permission' => 'MONPROFIL'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Mes surveillances",
|
||||||
|
'controller' => 'surveillance',
|
||||||
|
'action' => 'liste',
|
||||||
|
'permission' => 'SURVLISTE'
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Monitoring",
|
||||||
|
'controller' => 'giant',
|
||||||
|
'action' => 'retrive',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Surveillances fichier",
|
||||||
|
'controller' => 'surveillance',
|
||||||
|
'action' => 'fichier',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Mon portefeuille",
|
||||||
|
'controller' => 'surveillance',
|
||||||
|
'action' => 'portefeuille',
|
||||||
|
'permission' => 'PORTEFEUILLE',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Administration",
|
||||||
|
'controller' => 'user',
|
||||||
|
'action' => 'liste',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Surveillances",
|
||||||
|
'controller' => '',
|
||||||
|
'action' => '',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Se déconnecter",
|
||||||
|
'controller' => 'user',
|
||||||
|
'action' => 'logout',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => 'GESTION S&D',
|
||||||
|
'check' => 'dashboard',
|
||||||
|
'activateMenu' => array(
|
||||||
|
array('controller'=>'dashboard', 'action'=>'clients'),
|
||||||
|
array('controller'=>'dashboard', 'action'=>'client'),
|
||||||
|
array('controller'=>'dashboard', 'action'=>'users'),
|
||||||
|
array('controller'=>'dashboard', 'action'=>'user'),
|
||||||
|
array('controller'=>'dashboard', 'action'=>'commandes'),
|
||||||
|
array('controller'=>'dashboard', 'action'=>'prestations'),
|
||||||
|
array('controller'=>'dashboard', 'action'=>'prestation'),
|
||||||
|
array('controller'=>'dashboard', 'action'=>'services'),
|
||||||
|
array('controller'=>'dashboard', 'action'=>'service'),
|
||||||
|
array('controller'=>'dashboard', 'action'=>'tarifs'),
|
||||||
|
array('controller'=>'dashboard', 'action'=>'tarif'),
|
||||||
|
),
|
||||||
|
'pages' => array(
|
||||||
|
array(
|
||||||
|
'label' => "Gestion",
|
||||||
|
'controller' => 'dashboard',
|
||||||
|
'action' => 'index',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Saisie / Edition",
|
||||||
|
'controller' => 'saisie',
|
||||||
|
'action' => 'fiche',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'label' => "Saisie Fiche Etrangère",
|
||||||
|
'controller' => 'saisie',
|
||||||
|
'action' => 'lienetranger',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Construit le menu en fonction des paramètres de l'URL
|
||||||
|
* @param array $parameters
|
||||||
|
*/
|
||||||
|
public function __construct($parameters)
|
||||||
|
{
|
||||||
|
require_once 'Scores/SessionEntreprise.php';
|
||||||
|
|
||||||
|
//Special case, edit foreign company
|
||||||
|
if (array_key_exists('lienref', $parameters)) {
|
||||||
|
$this->lienref = $parameters['lienref'];
|
||||||
|
} else {
|
||||||
|
|
||||||
|
//French Company
|
||||||
|
if (array_key_exists('siret', $parameters)) {
|
||||||
|
$this->siret = $parameters['siret'];
|
||||||
|
}
|
||||||
|
if (array_key_exists('id', $parameters)) {
|
||||||
|
$this->id = $parameters['id'];
|
||||||
|
}
|
||||||
|
if (empty($this->siret) && empty($this->id)) {
|
||||||
|
$session = new SessionEntreprise(null);
|
||||||
|
$this->siret = $session->getSiret();
|
||||||
|
$this->id = $session->getId();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
//Compute Menu
|
||||||
|
$this->menu = new Zend_Navigation();
|
||||||
|
$this->computeMenu();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne le menu généré
|
||||||
|
*/
|
||||||
|
public function getMenu()
|
||||||
|
{
|
||||||
|
return $this->menu;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne la permission associés à une page
|
||||||
|
* @param string $controller
|
||||||
|
* @param string $action
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getPagePermission($controller, $action)
|
||||||
|
{
|
||||||
|
$permission = null;
|
||||||
|
foreach ( $this->defineMenu as $menu )
|
||||||
|
{
|
||||||
|
foreach ( $menu['pages'] as $item ) {
|
||||||
|
if ( $controller == $item['controller']
|
||||||
|
&& $action == $item['action']
|
||||||
|
&& array_key_exists('permission', $item) ) {
|
||||||
|
$permission = $item['permission'];
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $permission;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retourne la position du groupe à activé
|
||||||
|
* @param string $controller
|
||||||
|
* @param string $action
|
||||||
|
*/
|
||||||
|
public function getIdMenu($controller, $action)
|
||||||
|
{
|
||||||
|
$i = 0;
|
||||||
|
$stop = false;
|
||||||
|
foreach($this->defineMenu as $menu){
|
||||||
|
$perm = true;
|
||||||
|
if (array_key_exists('permission', $menu)){
|
||||||
|
$perm = $this->checkPermission($menu['permission']);
|
||||||
|
}
|
||||||
|
$visible = true;
|
||||||
|
if (array_key_exists('check', $menu)){
|
||||||
|
$visible = $this->checkMenu($menu['check']);
|
||||||
|
}
|
||||||
|
foreach($menu['pages'] as $item){
|
||||||
|
if($controller == $item['controller'] && $action == $item['action']){
|
||||||
|
$stop = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (array_key_exists('activateMenu', $menu)){
|
||||||
|
foreach($menu['activateMenu'] as $item){
|
||||||
|
if($controller == $item['controller'] && $action == $item['action']){
|
||||||
|
$stop = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($stop === true) break;
|
||||||
|
if ($perm && $visible){
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $i;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parcours la définition du menu en gérant les permissions et autres
|
||||||
|
* particularités
|
||||||
|
*/
|
||||||
|
protected function computeMenu()
|
||||||
|
{
|
||||||
|
foreach($this->defineMenu as $element){
|
||||||
|
$perm = true;
|
||||||
|
if (array_key_exists('permission', $element)){
|
||||||
|
$perm = $this->checkPermission($element['permission']);
|
||||||
|
}
|
||||||
|
$visible = true;
|
||||||
|
if (array_key_exists('check', $element)){
|
||||||
|
$visible = $this->checkMenu($element['check']);
|
||||||
|
}
|
||||||
|
if ($perm && $visible){
|
||||||
|
$menu = array();
|
||||||
|
$menu['label'] = $element['label'];
|
||||||
|
$menu['uri'] = '#';
|
||||||
|
$menu['class'] = 'header';
|
||||||
|
if (array_key_exists('pages', $element)){
|
||||||
|
$menu['pages'] = $this->computePage($element['pages']);
|
||||||
|
}
|
||||||
|
$this->menu->addPage($menu);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Parcours les pages d'un groupe du menu pour vérifier les permissions
|
||||||
|
* et autres particularités
|
||||||
|
* @param array $pages
|
||||||
|
*/
|
||||||
|
protected function computePage($pages)
|
||||||
|
{
|
||||||
|
$computePages = array();
|
||||||
|
foreach($pages as $page){
|
||||||
|
$visible = false;
|
||||||
|
if (array_key_exists('forceVisible', $page)){
|
||||||
|
$visible = $page['forceVisible'];
|
||||||
|
}
|
||||||
|
|
||||||
|
$perm = true;
|
||||||
|
if (array_key_exists('permission', $page)){
|
||||||
|
$perm = $this->checkPermission($page['permission']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$perm && $visible){
|
||||||
|
$computePage = array();
|
||||||
|
$computePage['label'] = $page['label'];
|
||||||
|
$computePage['class'] = 'inactif';
|
||||||
|
$computePage['uri'] = '#';
|
||||||
|
$computePages[] = $computePage;
|
||||||
|
} elseif ($perm){
|
||||||
|
if ($this->checkParams($page['controller'], $page['action'])){
|
||||||
|
$computePage = array();
|
||||||
|
$computePage = $page;
|
||||||
|
$computePage['params'] = $this->setParams($page['controller'], $page['action']);
|
||||||
|
|
||||||
|
if (array_key_exists('pref', $page)){
|
||||||
|
if ($this->hasPref('demanderef') && in_array('demanderef', $page['pref']) ){ // @todo: Erreur data
|
||||||
|
$computePage['class'] = 'demanderef';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$computePages[] = $computePage;
|
||||||
|
} elseif ($visible) {
|
||||||
|
$computePage = array();
|
||||||
|
$computePage['label'] = $page['label'];
|
||||||
|
$computePage['class'] = 'inactif';
|
||||||
|
$computePage['uri'] = '#';
|
||||||
|
$computePages[] = $computePage;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $computePages;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Vérifie les permissions de l'utilisateur
|
||||||
|
* @param mixed $perm
|
||||||
|
*/
|
||||||
|
protected function checkPermission($perm)
|
||||||
|
{
|
||||||
|
$hasPerm = false;
|
||||||
|
if (is_array($perm)){
|
||||||
|
$list = $perm;
|
||||||
|
} else if (is_string($perm)){
|
||||||
|
$list = (array)$perm;
|
||||||
|
}
|
||||||
|
$user = new Scores_Utilisateur();
|
||||||
|
foreach($list as $permission){
|
||||||
|
if ($user->checkPerm($permission)){
|
||||||
|
$hasPerm = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $hasPerm;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Vérifie préférence utilisateur
|
||||||
|
* @param string $pref
|
||||||
|
*/
|
||||||
|
public function hasPref($pref)
|
||||||
|
{
|
||||||
|
$user = new Scores_Utilisateur();
|
||||||
|
if ($user->checkPref($pref)){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Permet d'effectuer une vérification pour la visibilité d'un menu (Groupe)
|
||||||
|
* @param string $controller
|
||||||
|
*/
|
||||||
|
protected function checkMenu($controller)
|
||||||
|
{
|
||||||
|
switch($controller) {
|
||||||
|
case 'dashboard':
|
||||||
|
$user = new Scores_Utilisateur();
|
||||||
|
if ($user->checkModeEdition() && $user->getIdClient()==1){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Vérifie les paramètres pour un controller et/ou une action
|
||||||
|
* @param string $controller
|
||||||
|
* @param string $action
|
||||||
|
*/
|
||||||
|
protected function checkParams($controller, $action = '')
|
||||||
|
{
|
||||||
|
switch($controller) {
|
||||||
|
case 'bdf':
|
||||||
|
return true;
|
||||||
|
break;
|
||||||
|
case 'dashboard':
|
||||||
|
return true;
|
||||||
|
break;
|
||||||
|
case 'recherche':
|
||||||
|
switch($action) {
|
||||||
|
case 'last':
|
||||||
|
case 'list':
|
||||||
|
//Vérifier la présence d'au moins une recherche
|
||||||
|
require_once 'Scores/RechercheHistorique.php';
|
||||||
|
$recherches = new RechercheHistorique();
|
||||||
|
if (count($recherches->liste()>0)){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
case 'annonce':
|
||||||
|
$user = new Scores_Utilisateur();
|
||||||
|
if($user->checkPerm('histobodacc')){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
break;
|
||||||
|
case 'giant':
|
||||||
|
return true;
|
||||||
|
break;
|
||||||
|
case 'user':
|
||||||
|
switch($action){
|
||||||
|
case 'liste':
|
||||||
|
$user = new Scores_Utilisateur();
|
||||||
|
if ($user->isAdmin() || $user->isSuperAdmin()){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
break;
|
||||||
|
case 'surveillance':
|
||||||
|
switch($action) {
|
||||||
|
case 'fichier':
|
||||||
|
$user = new Scores_Utilisateur();
|
||||||
|
if (substr($user->getLogin(),0,6)=='cnasea'
|
||||||
|
|| strtolower($user->getLogin())=='omni04'
|
||||||
|
|| strtolower($user->getLogin())=='bodacca3m'
|
||||||
|
|| strtolower($user->getLogin())=='bodaccomni'
|
||||||
|
|| strtolower($user->getLogin())=='bodacccrr'
|
||||||
|
|| strtolower($user->getLogin())=='cpcambr13'
|
||||||
|
|| strtolower($user->getLogin())=='cpcambr14'
|
||||||
|
|| strtolower($user->getLogin())=='frbsurveillance'
|
||||||
|
|| $user->getIdClient()==32
|
||||||
|
|| $user->getIdClient()==82 ) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
break;
|
||||||
|
case 'identite':
|
||||||
|
switch($action) {
|
||||||
|
case 'fiche':
|
||||||
|
case 'fichepc':
|
||||||
|
if ( !empty($this->siret) && intval($this->siret)!=0 ){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if ( !empty($this->id) && intval($this->id)!=0 ){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
case 'groupe':
|
||||||
|
case 'etablissements':
|
||||||
|
case 'evenements':
|
||||||
|
if ( !empty($this->siret) && intval($this->siret)!=0 ){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
case 'liens':
|
||||||
|
if ( !empty($this->lienref) ){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if ( !empty($this->siret) && intval($this->siret)!=0 ){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'dirigeant':
|
||||||
|
if ( !empty($this->siret) && intval($this->siret)!=0 ){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
case 'finance':
|
||||||
|
if ( !empty($this->siret) && intval($this->siret)!=0 ){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
case 'juridique':
|
||||||
|
if ( !empty($this->siret) && intval($this->siret)!=0 ){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
switch($action){
|
||||||
|
case 'annonces':
|
||||||
|
if ( !empty($this->id) && intval($this->id)!=0 ){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
case 'evaluation':
|
||||||
|
switch($action){
|
||||||
|
case 'indiscore':
|
||||||
|
$siretSiege = substr($this->siret, 0,9);
|
||||||
|
if (!empty($siretSiege) && intval($siretSiege)!=0 ){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if ( !empty($this->siret) && intval($this->siret)!=0 ){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
case 'pieces':
|
||||||
|
if ( !empty($this->siret) && intval($this->siret)!=0 ){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
case 'saisie':
|
||||||
|
switch($action){
|
||||||
|
case 'fiche':
|
||||||
|
if ( !empty($this->id) && intval($this->id)!=0 ){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'lienetranger':
|
||||||
|
return true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
break;
|
||||||
|
case 'aide':
|
||||||
|
return true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Définit les paramètres nécessaire pour les liens des pages
|
||||||
|
* @param string $controller
|
||||||
|
* @param string $action
|
||||||
|
*/
|
||||||
|
protected function setParams($controller, $action)
|
||||||
|
{
|
||||||
|
$params = array();
|
||||||
|
/**
|
||||||
|
* Réinitialiser la route pour avoir toujours les liens du menu propre
|
||||||
|
*/
|
||||||
|
$params['route'] = null;
|
||||||
|
|
||||||
|
switch($controller)
|
||||||
|
{
|
||||||
|
case 'recherche':
|
||||||
|
switch($action){
|
||||||
|
case 'ipari':
|
||||||
|
if (!empty($this->siret)) { $params['siret'] = $this->siret; }
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'evaluation':
|
||||||
|
if (!empty($this->siret)) { $params['siret'] = substr($this->siret,0,9); }
|
||||||
|
if (!empty($this->id)) { $params['id'] = $this->id; }
|
||||||
|
break;
|
||||||
|
case 'identite':
|
||||||
|
switch($action){
|
||||||
|
case 'liens':
|
||||||
|
if (!empty($this->lienref)) { $params['lienref'] = $this->lienref; }
|
||||||
|
if (!empty($this->siret)) { $params['siret'] = $this->siret; }
|
||||||
|
if (!empty($this->id)) { $params['id'] = $this->id; }
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if (!empty($this->siret)) { $params['siret'] = $this->siret; }
|
||||||
|
if (!empty($this->id)) { $params['id'] = $this->id; }
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'pieces':
|
||||||
|
case 'finance':
|
||||||
|
case 'dirigeant':
|
||||||
|
if (!empty($this->siret)) { $params['siret'] = $this->siret; }
|
||||||
|
if (!empty($this->id)) { $params['id'] = $this->id; }
|
||||||
|
break;
|
||||||
|
case 'juridique':
|
||||||
|
if (!empty($this->siret)) { $params['siret'] = $this->siret; }
|
||||||
|
if (!empty($this->id)) { $params['id'] = $this->id; }
|
||||||
|
break;
|
||||||
|
case 'saisie':
|
||||||
|
switch($action){
|
||||||
|
case 'fiche':
|
||||||
|
if (!empty($this->siret)) { $params['siret'] = $this->siret; }
|
||||||
|
if (!empty($this->id)) { $params['id'] = $this->id; }
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'bdf':
|
||||||
|
if (!empty($this->siret)) {
|
||||||
|
$params['siret'] = $this->siret;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return $params;
|
||||||
|
}
|
||||||
|
}
|
158
library/Scores/PagePrint.php
Normal file
@ -0,0 +1,158 @@
|
|||||||
|
<?php
|
||||||
|
class PagePrint
|
||||||
|
{
|
||||||
|
protected $controller = null;
|
||||||
|
protected $action = null;
|
||||||
|
|
||||||
|
protected $pagePRINT = array(
|
||||||
|
'identite-fiche' => 'siret,id',
|
||||||
|
'identite-fichepc' => 'siret,id',
|
||||||
|
'identite-etablissements' => 'siret,id,actif',
|
||||||
|
'identite-liens' => 'siret,id',
|
||||||
|
'identite-groupe' => 'siret',
|
||||||
|
'identite-evenements' => 'siret,id',
|
||||||
|
'dirigeant-liste' => 'siret,id',
|
||||||
|
'dirigeant-histo' => 'siret,id',
|
||||||
|
'finance-synthese' => 'siret,id,typeBilan',
|
||||||
|
'finance-bilan' => 'siret,id,typeBilan',
|
||||||
|
'finance-ratios' => 'siret,id,typeBilan,mil',
|
||||||
|
'finance-liasse' => 'siret,id,unit,date',
|
||||||
|
'finance-bourse' => 'siret,id',
|
||||||
|
'finance-banque' => 'siret,id',
|
||||||
|
'juridique-annonces' => 'siret,id,idAnn,vue,p',
|
||||||
|
'juridique-infosreg' => 'siret,id',
|
||||||
|
'juridique-competences' => 'siret,id,type',
|
||||||
|
'juridique-marques' => 'siret,id,idObject',
|
||||||
|
'evaluation-indiscore' => 'siret,id',
|
||||||
|
'evaluation-indiscore2' => 'siret,id',
|
||||||
|
'evaluation-indiscore3' => 'siret,id',
|
||||||
|
'evaluation-scoring' => 'siret,id',
|
||||||
|
'evaluation-valorisation' => 'siret,id',
|
||||||
|
'pieces-bilans' => 'siret,id',
|
||||||
|
'pieces-actes' => 'siret,id',
|
||||||
|
'giant-full' => 'Pays,Type,CompanyId',
|
||||||
|
'giant-compact' => 'Pays,Type,CompanyId',
|
||||||
|
'giant-creditrecommendation' => 'Pays,Type,CompanyId',
|
||||||
|
'surveillance-fichier' => 'nomFic,filtre',
|
||||||
|
'worldcheck-matchcontent' => 'matchIdentifier',
|
||||||
|
);
|
||||||
|
|
||||||
|
protected $pagePDF = array(
|
||||||
|
'identite-fiche' => 'siret,id',
|
||||||
|
'identite-fichepc' => 'siret,id',
|
||||||
|
'identite-etablissements' => 'siret,id,actif',
|
||||||
|
'identite-liens' => 'siret,id',
|
||||||
|
'identite-groupe' => 'siret',
|
||||||
|
'identite-evenements' => 'siret,id',
|
||||||
|
'dirigeant-liste' => 'siret,id',
|
||||||
|
'dirigeant-histo' => 'siret,id',
|
||||||
|
'finance-synthese' => 'siret,id,typeBilan',
|
||||||
|
'finance-bilan' => 'siret,id,typeBilan',
|
||||||
|
'finance-ratios' => 'siret,id,typeBilan,mil',
|
||||||
|
'finance-liasse' => 'siret,id,unit,date',
|
||||||
|
'finance-bourse' => 'siret,id',
|
||||||
|
'finance-banque' => 'siret,id',
|
||||||
|
'juridique-annonces' => 'siret,id,idAnn,vue,p',
|
||||||
|
'juridique-infosreg' => 'siret,id',
|
||||||
|
'juridique-competences' => 'siret,id,type',
|
||||||
|
'juridique-marques' => 'siret,id,idObject',
|
||||||
|
'evaluation-indiscore' => 'siret,id',
|
||||||
|
'evaluation-indiscore2' => 'siret,id',
|
||||||
|
'evaluation-indiscore3' => 'siret,id',
|
||||||
|
'evaluation-scoring' => 'siret,id',
|
||||||
|
'evaluation-valorisation' => 'siret,id',
|
||||||
|
'pieces-bilans' => 'siret,id',
|
||||||
|
'pieces-actes' => 'siret,id',
|
||||||
|
'giant-full' => 'Pays,Type,CompanyId',
|
||||||
|
'giant-compact' => 'Pays,Type,CompanyId',
|
||||||
|
'giant-creditrecommendation' => 'Pays,Type,CompanyId',
|
||||||
|
'worldcheck-matchcontent' => 'matchIdentifier',
|
||||||
|
);
|
||||||
|
|
||||||
|
protected $pageXML = array(
|
||||||
|
'identite-fiche' => 'siret,id',
|
||||||
|
'identite-fichepc' => 'siret,id',
|
||||||
|
'identite-etablissements' => 'siret,id,actif',
|
||||||
|
'identite-liens' => 'siret,id',
|
||||||
|
'identite-evenements' => 'siret,id',
|
||||||
|
'dirigeant-liste' => 'siret,id',
|
||||||
|
'dirigeant-histo' => 'siret,id',
|
||||||
|
'finance-synthese' => 'siret,id,typeBilan',
|
||||||
|
'finance-bilan' => 'siret,id,typeBilan',
|
||||||
|
'finance-ratios' => 'siret,id,typeBilan,mil',
|
||||||
|
'finance-liasse' => 'siret,id,unit,date',
|
||||||
|
'finance-bourse' => 'siret,id',
|
||||||
|
'finance-banque' => 'siret,id',
|
||||||
|
'juridique-annonces' => 'siret,id,idAnn,vue,p',
|
||||||
|
'juridique-infosreg' => 'siret,id',
|
||||||
|
'juridique-competences' => 'siret,id,type',
|
||||||
|
'juridique-marques' => 'siret,id,idObject',
|
||||||
|
'evaluation-indiscore' => 'siret,id',
|
||||||
|
'evaluation-indiscore2' => 'siret,id',
|
||||||
|
'evaluation-indiscore3' => 'siret,id',
|
||||||
|
'evaluation-valorisation' => 'siret,id',
|
||||||
|
'worldcheck-matchcontent' => 'matchIdentifier',
|
||||||
|
);
|
||||||
|
|
||||||
|
public function __construct($controller, $action)
|
||||||
|
{
|
||||||
|
$this->controller = $controller;
|
||||||
|
$this->action = $action;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getTypeElement($type)
|
||||||
|
{
|
||||||
|
$element = array();
|
||||||
|
switch($type){
|
||||||
|
case 'print':
|
||||||
|
$element = $this->pagePRINT;
|
||||||
|
break;
|
||||||
|
case 'pdf':
|
||||||
|
$element = $this->pagePDF;
|
||||||
|
break;
|
||||||
|
case 'xml':
|
||||||
|
$element = $this->pageXML;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return $element;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function exportable($type)
|
||||||
|
{
|
||||||
|
$element = $this->getTypeElement($type);
|
||||||
|
if (array_key_exists($this->controller.'-'.$this->action, $element)){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function filename($type, $params = array())
|
||||||
|
{
|
||||||
|
$element = $this->getTypeElement($type);
|
||||||
|
$filename = $this->controller.'-'.$this->action;
|
||||||
|
$key = $this->controller.'-'.$this->action;
|
||||||
|
if (array_key_exists($key, $element)){
|
||||||
|
$part = explode(',', $element[$key]);
|
||||||
|
foreach( $part as $item ){
|
||||||
|
if (!empty($params[$item])){
|
||||||
|
$filename.= '-'.$params[$item];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $filename;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function objectToXML($object, $params)
|
||||||
|
{
|
||||||
|
$serializer = new Scores_Serializer_Adapter_Xml();
|
||||||
|
try {
|
||||||
|
$content = $serializer->serialize($object);
|
||||||
|
$filename = $this->filename('xml', $params);
|
||||||
|
$c = Zend_Registry::get('config');
|
||||||
|
$path = realpath($c->profil->path->files).'/';
|
||||||
|
file_put_contents($path.$filename.'.xml', $content);
|
||||||
|
} catch (Zend_Serializer_Exception $e) {
|
||||||
|
//Error
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
672
library/Scores/Partner/Report.php
Normal file
@ -0,0 +1,672 @@
|
|||||||
|
<?php
|
||||||
|
class Scores_Partner_Report
|
||||||
|
{
|
||||||
|
protected $data = null;
|
||||||
|
protected $view = null;
|
||||||
|
|
||||||
|
protected $login;
|
||||||
|
protected $password;
|
||||||
|
protected $reportName;
|
||||||
|
protected $identifiant;
|
||||||
|
|
||||||
|
protected $report = array(
|
||||||
|
'indiscore3' => array(
|
||||||
|
0 => array(
|
||||||
|
'index' => 'Global',
|
||||||
|
'view' => 'indiscore3/header.phtml',
|
||||||
|
),
|
||||||
|
1 => array(
|
||||||
|
'index' => 'Identite',
|
||||||
|
'view' => 'indiscore3/identite.phtml',
|
||||||
|
),
|
||||||
|
2 => array(
|
||||||
|
'index' => 'Dirigeants',
|
||||||
|
'view' => 'indiscore3/dirigeants.phtml',
|
||||||
|
),
|
||||||
|
3 => array(
|
||||||
|
'index' => 'Liens',
|
||||||
|
'view' => 'indiscore3/liens.phtml',
|
||||||
|
),
|
||||||
|
4 => array(
|
||||||
|
'index' => 'Annonces',
|
||||||
|
'view' => 'indiscore3/annonces.phtml',
|
||||||
|
),
|
||||||
|
5 => array(
|
||||||
|
'index' => 'Synthese',
|
||||||
|
'view' => 'indiscore3/synthese.phtml',
|
||||||
|
),
|
||||||
|
6 => array(
|
||||||
|
'index' => 'Bilans',
|
||||||
|
'view' => 'indiscore3/bilans.phtml',
|
||||||
|
),
|
||||||
|
7 => array(
|
||||||
|
'index' => 'Ratios',
|
||||||
|
'view' => 'indiscore3/ratios.phtml',
|
||||||
|
),
|
||||||
|
8 => array(
|
||||||
|
'index' => 'Indiscore',
|
||||||
|
'view' => 'indiscore3/indiscore.phtml',
|
||||||
|
),
|
||||||
|
9 => array(
|
||||||
|
'index' => null,
|
||||||
|
'view' => 'indiscore3/footer.phtml',
|
||||||
|
),
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
|
public function __construct($name, $identifiant, $login, $password)
|
||||||
|
{
|
||||||
|
$this->reportName = $name;
|
||||||
|
$this->identifiant = $identifiant;
|
||||||
|
$this->login = $login;
|
||||||
|
$this->password = $password;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getData()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function getDataIndiscore3()
|
||||||
|
{
|
||||||
|
$siren = $this->identifiant;
|
||||||
|
|
||||||
|
require_once 'common/dates.php';
|
||||||
|
|
||||||
|
require_once 'Scores/WsScores.php';
|
||||||
|
$ws = new WsScores($this->login, $this->password);
|
||||||
|
$infos = $ws->getRapport($siren, 3, 0);
|
||||||
|
|
||||||
|
//Identite
|
||||||
|
require_once 'Scores/IdentiteEntreprise.php';
|
||||||
|
$identite = new IdentiteEntreprise($infos->Identite);
|
||||||
|
//Définition des blocks
|
||||||
|
$blocks = array(
|
||||||
|
'Siret',
|
||||||
|
'SiretSiege',
|
||||||
|
'TvaNumero',
|
||||||
|
'Isin',
|
||||||
|
'Capitalisation',
|
||||||
|
'NumRC',
|
||||||
|
'AutreId',
|
||||||
|
'Actif',
|
||||||
|
'SituationJuridique',
|
||||||
|
'AutreSiren',
|
||||||
|
'RaisonSociale',
|
||||||
|
'NomCommercial',
|
||||||
|
'EnseigneSigle',
|
||||||
|
'FormeJuridique',
|
||||||
|
'DateImmat',
|
||||||
|
'DateCreaEn',
|
||||||
|
'DateCreaEt',
|
||||||
|
'Adresse',
|
||||||
|
'Zones',
|
||||||
|
'Tel',
|
||||||
|
'Fax',
|
||||||
|
'Web',
|
||||||
|
'Mail',
|
||||||
|
'ActiviteEn',
|
||||||
|
'ActiviteEt',
|
||||||
|
'Naf4',
|
||||||
|
'Nace',
|
||||||
|
'NatureActivite',
|
||||||
|
'SurfaceMagasin',
|
||||||
|
'OrigineFond',
|
||||||
|
'TypeExploitation',
|
||||||
|
'Saisonnalite',
|
||||||
|
'NbEtabActif',
|
||||||
|
'Capital',
|
||||||
|
'ChiffreAffaire',
|
||||||
|
'Dirigeants',
|
||||||
|
'Effectif',
|
||||||
|
'EffectifEtab'
|
||||||
|
);
|
||||||
|
$dBlock = $identite->formatBlock($blocks);
|
||||||
|
$this->data->Identite = $infos->Identite;
|
||||||
|
$this->data->Identite->dBlock = $dBlock;
|
||||||
|
|
||||||
|
//Dirigeants
|
||||||
|
$this->data->Dirigeants->dirigeants = $infos->Dirigeants->result->item;
|
||||||
|
|
||||||
|
//Liens
|
||||||
|
$this->data->Liens->PP = false;
|
||||||
|
$this->data->Liens->FJ1 = false;
|
||||||
|
//Special legal form, go to other display
|
||||||
|
if ( ($infos->Identite->FJ>=1000 && $infos->Identite->FJ<=1999)
|
||||||
|
|| ($infos->Identite->FJ>=10 && $infos->Identite->FJ<=19) ) {
|
||||||
|
$this->data->Liens->PP = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( in_array($infos->Identite->FJ, array(5488,5498,5720)) ) {
|
||||||
|
$this->data->Liens->FJ1 = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->data->Liens->actionnaires = $infos->Liens->actionnaires->item;
|
||||||
|
$this->data->Liens->participations = $infos->Liens->participations->item;
|
||||||
|
$this->data->Liens->directions = $infos->Liens->directions->item;
|
||||||
|
$this->data->Liens->lienStatuts = '#';
|
||||||
|
|
||||||
|
|
||||||
|
//Annonces
|
||||||
|
$this->data->Annonces->AutreSource = false;
|
||||||
|
if ($infos->Identite->Source=='006') {
|
||||||
|
$this->data->Annonces->AutreSource = true;
|
||||||
|
} else {
|
||||||
|
|
||||||
|
require_once 'Scores/Annonces.php';
|
||||||
|
$objAnnonces = new Annonces($infos->Annonces->result->item);
|
||||||
|
$typeAnnonces = array(
|
||||||
|
'Bodacc',
|
||||||
|
'Balo',
|
||||||
|
'Bomp',
|
||||||
|
'Asso',
|
||||||
|
);
|
||||||
|
foreach ($typeAnnonces as $type)
|
||||||
|
{
|
||||||
|
$classType = 'annonces'.$type;
|
||||||
|
$annonces = array();
|
||||||
|
if (count($objAnnonces->$classType)>0)
|
||||||
|
{
|
||||||
|
foreach($objAnnonces->$classType as $ann)
|
||||||
|
{
|
||||||
|
$annonces[] = $objAnnonces->getAnnonceResume($ann);
|
||||||
|
}
|
||||||
|
$this->data->Annonces->{$classType} = $annonces;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Ratios
|
||||||
|
$ratio = '';
|
||||||
|
require_once 'Finance/RatiosData.php';
|
||||||
|
require_once 'Finance/RatiosGraph.php';
|
||||||
|
|
||||||
|
$this->data->Ratios->siret = $infos->Identite->siret;
|
||||||
|
$this->data->Ratios->id = $infos->Identite->id;
|
||||||
|
|
||||||
|
$typeBilan = 'N';
|
||||||
|
$this->data->Ratios->typeBilan = $typeBilan;
|
||||||
|
|
||||||
|
$tabRatio = array(
|
||||||
|
array('titre' => 'EQUILIBRE FINANCIER'),
|
||||||
|
array('titre' => 'MARGE BRUTE D\'AUTOFINANCEMENT',
|
||||||
|
'stitre'=> '(MBA ou CAF)',
|
||||||
|
'ratio' => 'r233', 'parent' => 0, 'position' => '>'),
|
||||||
|
array('titre' => 'COUVERTURE du BFR',
|
||||||
|
'stitre'=> '(FR/BFR)',
|
||||||
|
'ratio' => 'r234', 'parent' => 0, 'position' => '>'),
|
||||||
|
array('titre' => 'COUVERTURE des IMMOS NETTES',
|
||||||
|
'stitre'=> '(Capitaux permanents / Immobilisations nettes)',
|
||||||
|
'ratio' => 'r237', 'parent' => 0, 'position' => '>'),
|
||||||
|
array('titre' => 'COUVERTURE du CA',
|
||||||
|
'stitre'=> '(Fond de roulement net global sur 12m x 360'.
|
||||||
|
' / Chiffre d\'affaire)',
|
||||||
|
'ratio' => 'r238', 'parent' => 0, 'position' => '>'),
|
||||||
|
array('titre' => 'SOLVABILITE',
|
||||||
|
'stitre'=> '(Capitaux propres / Ensemble des dettes)',
|
||||||
|
'ratio' => 'r239', 'parent' => 0, 'position' => '>'),
|
||||||
|
array('titre' => 'INDEPENDANCE FINANCIERE',
|
||||||
|
'stitre'=> '(Cap.propres/Capitaux permanents)',
|
||||||
|
'ratio' => 'r240', 'parent' => 0, 'position' => '>'),
|
||||||
|
|
||||||
|
array('titre' => 'PROFITABILITE'),
|
||||||
|
array('titre' => 'RENTABILITE ECONOMIQUE',
|
||||||
|
'stitre'=> '(EBE/TOTAL bilan)',
|
||||||
|
'ratio' => 'r262', 'parent' => 7, 'position' => '>'),
|
||||||
|
array('titre' => 'RENTABILITE FINANCIERE',
|
||||||
|
'stitre'=> '(Résult.Net/Cap.propres)',
|
||||||
|
'ratio' => 'r263', 'parent' => 7, 'position' => '>'),
|
||||||
|
array('titre' => 'RENTABILITE COMMERCIALE',
|
||||||
|
'stitre'=> '(Résultat net/CA)',
|
||||||
|
'ratio' => 'r264', 'parent' => 7, 'position' => '>'),
|
||||||
|
array('titre' => 'CONTRIBUTION DU CAPITAL',
|
||||||
|
'stitre'=> '(Capacité d\'autofinancement sur 12 mois'.
|
||||||
|
' / Capitaux permanents)',
|
||||||
|
'ratio' => 'r265', 'parent' => 7, 'position' => '>'),
|
||||||
|
array('titre' => 'CONTRIBUTION DE LA VA',
|
||||||
|
'stitre'=>'(Capacité d\'autofinancement / Valeur ajoutée)',
|
||||||
|
'ratio' => 'r266', 'parent' => 7, 'position' => '>'),
|
||||||
|
|
||||||
|
array('titre' => 'LIQUIDITE'),
|
||||||
|
array('titre' => 'LIQUIDITE IMMEDIATE',
|
||||||
|
'stitre'=> '(Disponibilité / Dettes CT)',
|
||||||
|
'ratio' => 'r250', 'parent' => 13, 'position' => '>'),
|
||||||
|
array('titre' => 'LIQUIDITE REDUITE',
|
||||||
|
'stitre'=>'(Disponibilité et créances réelles / Dettes CT)',
|
||||||
|
'ratio' => 'r252', 'parent' => 13, 'position' => '>'),
|
||||||
|
array('titre' => 'LIQUIDITE GENERALE',
|
||||||
|
'stitre'=> '(Act.circulant net/Dettes CT)',
|
||||||
|
'ratio' => 'r251', 'parent' => 13, 'position' => '>'),
|
||||||
|
|
||||||
|
array('titre' => 'ENDETTEMENT'),
|
||||||
|
array('titre' => 'ENDETTEMENT',
|
||||||
|
'stitre'=> '(Dettes a + 1 an / Capitaux propres)',
|
||||||
|
'ratio' => 'r244', 'parent' => 17, 'position' => '<'),
|
||||||
|
array('titre' => 'CAPACITE DE REMBOURSEMENT',
|
||||||
|
'stitre'=> '(Dettes.bancaires.(+MT+LT+C.bail)/CAF)',
|
||||||
|
'ratio' => 'r247', 'parent' => 17, 'position' => '<'),
|
||||||
|
array('titre' => 'FINANCEMENT DES STOCKS',
|
||||||
|
'stitre'=> '(Dettes aux fournisseurs / Stock)',
|
||||||
|
'ratio' => 'r248', 'parent' => 17, 'position' => '<'),
|
||||||
|
|
||||||
|
array('titre' => 'PRODUCTIVITE'),
|
||||||
|
array('titre' => 'PRODUCTIVITE DE L\'ACTIF',
|
||||||
|
'stitre'=> '(Chiffre d\'affaire / Actif comptable)',
|
||||||
|
'ratio' => 'r271', 'parent' => 21, 'position' => '>'),
|
||||||
|
array('titre' => 'DUREE CLIENT',
|
||||||
|
'stitre'=> '(Rotation clients en VJ TTC)',
|
||||||
|
'ratio' => 'r278', 'parent' => 21, 'position' => '<'),
|
||||||
|
array('titre' => 'DUREE FOURNISSEUR',
|
||||||
|
'stitre'=> '(Rotation fournisseurs en JA TTC)',
|
||||||
|
'ratio' => 'r279', 'parent' => 21, 'position' => '<'),
|
||||||
|
array('titre' => 'POIDS MASSE SALARIALE',
|
||||||
|
'stitre'=> '(Ch personnel / VA)',
|
||||||
|
'ratio' => 'r281', 'parent' => 21, 'position' => '<'),
|
||||||
|
array('titre' => 'RENDEMENT',
|
||||||
|
'stitre'=> '(Production sur 12mois / Effectif)',
|
||||||
|
'ratio' => 'r261', 'parent' => 21, 'position' => '>'),
|
||||||
|
array('titre' => 'PRODUCTIVITE',
|
||||||
|
'stitre'=> '(CA / Effectif)',
|
||||||
|
'ratio' => 'r267', 'parent' => 21, 'position' => '>')
|
||||||
|
);
|
||||||
|
|
||||||
|
if($ratio!=''){
|
||||||
|
$tabRatio = array( $ratio => $tabRatio[$ratio] );
|
||||||
|
}
|
||||||
|
|
||||||
|
$ratiosData = new RatiosData($infos->Ratios);
|
||||||
|
|
||||||
|
$nbBilanN = $ratiosData->getNbBilan('N');
|
||||||
|
$nbBilanC = $ratiosData->getNbBilan('C');
|
||||||
|
|
||||||
|
if ($typeBilan == 'N' && $nbBilanN==0){
|
||||||
|
$typeBilan = 'C';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($nbBilanN!=0 || $nbBilanC!=0)
|
||||||
|
{
|
||||||
|
//Génération Graphique evolution
|
||||||
|
$ratiosGraph = new RatiosGraph($this->siret, $this->id);
|
||||||
|
|
||||||
|
$infosAnnee = $ratiosData->getBilansInfo($typeBilan);
|
||||||
|
$annees = array_keys($infosAnnee);
|
||||||
|
rsort($annees);
|
||||||
|
|
||||||
|
$mil = $annees[0];
|
||||||
|
|
||||||
|
$tabAnnees = array();
|
||||||
|
foreach($annees as $annee){
|
||||||
|
$tabAnnees[$annee] = WDate::dateT('Ymd', 'd/m/Y', $annee);
|
||||||
|
}
|
||||||
|
|
||||||
|
$tabResult = array();
|
||||||
|
foreach($tabRatio as $item ) {
|
||||||
|
if (isset($item['ratio'])){
|
||||||
|
$dataGraph = $ratiosData->dGraph($typeBilan, $item['ratio']);
|
||||||
|
$ratiosGraph->ratiosgraph($item['ratio'], $dataGraph);
|
||||||
|
$item['entrep'] = $ratiosData->dRatio($typeBilan, $mil, $item['ratio']);
|
||||||
|
$item['secteur'] = $ratiosData->dSecteur($mil, $item['ratio']);
|
||||||
|
$item['position'] = $ratiosData->dPosition($typeBilan, $mil, $item['ratio'], $item['position']);
|
||||||
|
$item['comment'] = $ratiosData->wrapComment($item['ratio']);
|
||||||
|
}
|
||||||
|
$tabResult[] = $item;
|
||||||
|
}
|
||||||
|
$this->data->Ratios->tabResult = $tabResult;
|
||||||
|
|
||||||
|
$this->data->Ratios->annees = $tabAnnees;
|
||||||
|
$this->data->Ratios->mil = $mil;
|
||||||
|
$this->data->Ratios->typeBilan = $typeBilan ;
|
||||||
|
$this->data->Ratios->duree = $infosAnnee[$mil]->duree;
|
||||||
|
}
|
||||||
|
$this->data->Ratios->nbBilanN = $nbBilanN;
|
||||||
|
$this->data->Ratios->nbBilanC = $nbBilanC;
|
||||||
|
|
||||||
|
|
||||||
|
//Bilans
|
||||||
|
$typeBilan = 'N';
|
||||||
|
$this->data->Bilans->typeBilan = $typeBilan;
|
||||||
|
$ratiosData = new RatiosData($infos->Ratios);
|
||||||
|
|
||||||
|
$nbBilanN = $ratiosData->getNbBilan('N');
|
||||||
|
$nbBilanC = $ratiosData->getNbBilan('C');
|
||||||
|
|
||||||
|
$this->data->Bilans->nbBilanN = $nbBilanN;
|
||||||
|
$this->data->Bilans->nbBilanC = $nbBilanC;
|
||||||
|
|
||||||
|
if ($typeBilan == 'N' && $nbBilanN==0){
|
||||||
|
$typeBilan = 'C';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($nbBilanN!=0 || $nbBilanC!=0)
|
||||||
|
{
|
||||||
|
$infosAnnee = $ratiosData->getBilansInfo($typeBilan);
|
||||||
|
$annees = array_keys($infosAnnee);
|
||||||
|
|
||||||
|
$ratiosGraph = new RatiosGraph($this->siret, $this->id);
|
||||||
|
|
||||||
|
$tabRatioActif = array(
|
||||||
|
'r59' => array( 'titre' => 'Actif Immobilisé Net', 'class' => 'subhead'),
|
||||||
|
'r51' => array( 'titre' => 'Incorporelles', 'class' => ''),
|
||||||
|
'r52' => array( 'titre' => 'Corporelles', 'class' => '' ),
|
||||||
|
'r53' => array( 'titre' => 'Financières', 'class' => '' ),
|
||||||
|
'r69' => array( 'titre' => 'Actif Circulant Net', 'class' => 'subhead' ),
|
||||||
|
'r60' => array( 'titre' => 'Stock et encours', 'class' => '' ),
|
||||||
|
'r61' => array( 'titre' => 'Créances Clients', 'class' => '' ),
|
||||||
|
'r62' => array( 'titre' => 'Autres Créances', 'class' => '' ),
|
||||||
|
'00' => array( 'titre' => '', 'class' => '' ),
|
||||||
|
'r63' => array( 'titre' => 'Trésorerie Active', 'class' => '' ),
|
||||||
|
'r22' => array( 'titre' => 'TOTAL ACTIF', 'class' => 'subhead' ),
|
||||||
|
);
|
||||||
|
$totalRatioActif = 'r22';
|
||||||
|
|
||||||
|
$tabRatioPassif = array(
|
||||||
|
'r79' => array( 'titre' => 'Ressources Propres', 'class' => 'subhead'),
|
||||||
|
'r70' => array( 'titre' => 'Fonds Propres', 'class' => ''),
|
||||||
|
'r71' => array( 'titre' => 'Provisions Risques', 'class' => ''),
|
||||||
|
'r72' => array( 'titre' => 'Comptes Courants', 'class' => ''),
|
||||||
|
'r90' => array( 'titre' => 'Ressources Externes', 'class' => 'subhead'),
|
||||||
|
'r83' => array( 'titre' => 'Dettes Financières', 'class' => ''),
|
||||||
|
'r84' => array( 'titre' => 'Dettes Fournisseurs', 'class' => ''),
|
||||||
|
'r85' => array( 'titre' => 'Dettes Fiscales', 'class' => ''),
|
||||||
|
'r86' => array( 'titre' => 'Autres Dettes', 'class' => ''),
|
||||||
|
'r87' => array( 'titre' => 'Trésorerie Passive', 'class' => ''),
|
||||||
|
'r22' => array( 'titre' => 'TOTAL PASSIF', 'class' => 'subhead'),
|
||||||
|
);
|
||||||
|
$totalRatioPassif = 'r22';
|
||||||
|
|
||||||
|
$tabRatioSig = array(
|
||||||
|
'r101' => array( 'titre' => 'CHIFFRE D\'AFFAIRES HORS TAXE', 'op' => '', 'class' => 'subhead'),
|
||||||
|
'r102' => array( 'titre' => 'Achat de marchandises, de matières premières', 'op' => '-', 'class' => ''),
|
||||||
|
'r110' => array( 'titre' => 'MARGE COMMERCIALE', 'op' => '', 'class' => 'subhead'),
|
||||||
|
'r111' => array( 'titre' => 'Production vendue', 'op' => '+', 'class' => ''),
|
||||||
|
'r112' => array( 'titre' => 'Production immobilisée et stockée', 'op' => '+', 'class' => ''),
|
||||||
|
'r120' => array( 'titre' => 'PRODUCTION DE L\'EXERCICE', 'op' => '', 'class' => 'subhead'),
|
||||||
|
'r121' => array( 'titre' => 'Variation de stock de marchandises et matières premières', 'op' => '±', 'class' => ''),
|
||||||
|
'r122' => array( 'titre' => 'MARGE BRUTE', 'op' => '', 'class' => 'subhead'),
|
||||||
|
'r123' => array( 'titre' => 'Autres charges externes', 'op' => '-', 'class' => ''),
|
||||||
|
'r130' => array( 'titre' => 'VALEUR AJOUTÉE', 'op' => '', 'class' => 'subhead'),
|
||||||
|
'r132' => array( 'titre' => 'Charges de personnel', 'op' => '-', 'class' => ''),
|
||||||
|
'r133' => array( 'titre' => 'Impôts, taxes & versements assimilés', 'op' => '-', 'class' => ''),
|
||||||
|
'r131' => array( 'titre' => 'Subventions d\'exploitation', 'op' => '+', 'class' => ''),
|
||||||
|
'r140' => array( 'titre' => 'EXCÉDENT BRUT D\'EXPLOITATION (EBE)', 'op' => '', 'class' => 'subhead'),
|
||||||
|
'r141' => array( 'titre' => 'Autres produits d\'exploitation', 'op' => '+', 'class' => ''),
|
||||||
|
'r142' => array( 'titre' => 'Autres charges d\'exploitation', 'op' => '-', 'class' => ''),
|
||||||
|
'r143' => array( 'titre' => 'Reprise sur dotations & transferts de charges', 'op' => '+', 'class' => ''),
|
||||||
|
'r144' => array( 'titre' => '70% Loyer de crédit bail', 'op' => '+', 'class' => ''),
|
||||||
|
'r145' => array( 'titre' => 'Dotations d\'exploitation & provisions d\'exploitation', 'op' => '-', 'class' => ''),
|
||||||
|
'r150' => array( 'titre' => 'RÉSULTAT D\'EXPLOITATION', 'op' => '', 'class' => 'subhead'),
|
||||||
|
'r151' => array( 'titre' => 'Produits financiers', 'op' => '+', 'class' => ''),
|
||||||
|
'r152' => array( 'titre' => '30% Loyer de crédit bail', 'op' => '+', 'class' => ''),
|
||||||
|
'r153' => array( 'titre' => 'Charges financières', 'op' => '+', 'class' => ''),
|
||||||
|
'r170' => array( 'titre' => 'RÉSULTAT COURANT AVANT IMPOTS', 'op' => '', 'class' => 'subhead'),
|
||||||
|
'r171' => array( 'titre' => 'Produits exceptionnels', 'op' => '+', 'class' => ''),
|
||||||
|
'r172' => array( 'titre' => 'Charges exceptionnelles', 'op' => '-', 'class' => ''),
|
||||||
|
'r181' => array( 'titre' => 'Impôts sur les bénéfices', 'op' => '-', 'class' => ''),
|
||||||
|
'r182' => array( 'titre' => 'Participation salariale', 'op' => '-', 'class' => ''),
|
||||||
|
'r199' => array( 'titre' => 'RÉSULTAT NET', 'op' => '', 'class' => 'subhead'),
|
||||||
|
);
|
||||||
|
$totalRatioSig = 'r101';
|
||||||
|
|
||||||
|
//On prend les 5 derniers bilans pour l'affichage
|
||||||
|
$nbMaxBilan = 5;
|
||||||
|
rsort($annees);
|
||||||
|
$annees = array_slice($annees, 0, $nbMaxBilan);
|
||||||
|
sort($annees);
|
||||||
|
|
||||||
|
$tabResultActif = array();
|
||||||
|
$tabResultPassif = array();
|
||||||
|
$tabResultSig = array();
|
||||||
|
foreach($annees as $annee){
|
||||||
|
//Formatter les données Actif
|
||||||
|
$data = array();
|
||||||
|
foreach($tabRatioActif as $idRatio => $valRatio){
|
||||||
|
if ($idRatio == '00'){
|
||||||
|
$data[$idRatio] = '';
|
||||||
|
$dataTotal[$idRatio] = '';
|
||||||
|
} else {
|
||||||
|
$data[$idRatio] = $ratiosData->dRatio($typeBilan, $annee, $idRatio);
|
||||||
|
$dataTotal[$idRatio] = $ratiosData->dPercent($typeBilan, $annee, $idRatio, $totalRatioActif);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//Génération du graphique Actif
|
||||||
|
$dataGraphActif = array(
|
||||||
|
$ratiosData->graphPercent($typeBilan, $annee, 'r51', 'r22'),
|
||||||
|
$ratiosData->graphPercent($typeBilan, $annee, 'r52', 'r22'),
|
||||||
|
$ratiosData->graphPercent($typeBilan, $annee, 'r53', 'r22'),
|
||||||
|
$ratiosData->graphPercent($typeBilan, $annee, 'r60', 'r22'),
|
||||||
|
$ratiosData->graphPercent($typeBilan, $annee, 'r61', 'r22'),
|
||||||
|
$ratiosData->graphPercent($typeBilan, $annee, 'r62', 'r22'),
|
||||||
|
$ratiosData->graphPercent($typeBilan, $annee, 'r63', 'r22'),
|
||||||
|
);
|
||||||
|
$ratiosGraph->bilansgraphactif($dataGraphActif, $typeBilan, $annee);
|
||||||
|
|
||||||
|
$tabResultActif[] = array(
|
||||||
|
'dateCloture' => WDate::dateT('Ymd','d/m/Y',$annee),
|
||||||
|
'duree' => $infosAnnee[$annee]->duree.' Mois',
|
||||||
|
'entrep' => $data,
|
||||||
|
'total' => $dataTotal,
|
||||||
|
);
|
||||||
|
|
||||||
|
//Formatter les données Passif
|
||||||
|
$data = array();
|
||||||
|
foreach($tabRatioPassif as $idRatio => $valRatio){
|
||||||
|
$data[$idRatio] = $ratiosData->dRatio($typeBilan, $annee, $idRatio);
|
||||||
|
$dataTotal[$idRatio] = $ratiosData->dPercent($typeBilan, $annee, $idRatio, $totalRatioPassif);
|
||||||
|
}
|
||||||
|
//Génération données graphique passif
|
||||||
|
$dataGraphPassif = array(
|
||||||
|
$ratiosData->graphPercent($typeBilan, $annee, 'r70','r22'),
|
||||||
|
$ratiosData->graphPercent($typeBilan, $annee, 'r71','r22'),
|
||||||
|
$ratiosData->graphPercent($typeBilan, $annee, 'r72','r22'),
|
||||||
|
$ratiosData->graphPercent($typeBilan, $annee, 'r83','r22'),
|
||||||
|
$ratiosData->graphPercent($typeBilan, $annee, 'r84','r22'),
|
||||||
|
$ratiosData->graphPercent($typeBilan, $annee, 'r85','r22'),
|
||||||
|
$ratiosData->graphPercent($typeBilan, $annee, 'r86','r22'),
|
||||||
|
$ratiosData->graphPercent($typeBilan, $annee, 'r87','r22'),
|
||||||
|
);
|
||||||
|
$ratiosGraph->bilansgraphpassif($dataGraphPassif, $typeBilan, $annee);
|
||||||
|
|
||||||
|
$tabResultPassif[] = array(
|
||||||
|
'dateCloture' => WDate::dateT('Ymd','d/m/Y',$annee),
|
||||||
|
'duree' => $infosAnnee[$annee]->duree.' Mois',
|
||||||
|
'entrep' => $data,
|
||||||
|
'total' => $dataTotal,
|
||||||
|
);
|
||||||
|
|
||||||
|
//Formatter les données Sig
|
||||||
|
$data = array();
|
||||||
|
foreach($tabRatioSig as $idRatio => $valRatio){
|
||||||
|
$data[$idRatio] = $ratiosData->dRatio($typeBilan, $annee, $idRatio);
|
||||||
|
$dataTotal[$idRatio] = $ratiosData->dPercent($typeBilan, $annee, $idRatio, $totalRatioSig);
|
||||||
|
}
|
||||||
|
//Génération données graphique SIG
|
||||||
|
$dataGraphSIG = array(
|
||||||
|
$ratiosData->graphPercent($typeBilan, $annee, 'r101','r101')-$ratiosData->graphPercent($typeBilan, $annee, 'r122','r101'),
|
||||||
|
$ratiosData->graphPercent($typeBilan, $annee, 'r122','r101')-$ratiosData->graphPercent($typeBilan, $annee, 'r130','r101'),
|
||||||
|
$ratiosData->graphPercent($typeBilan, $annee, 'r130','r101')-$ratiosData->graphPercent($typeBilan, $annee, 'r140','r101'),
|
||||||
|
$ratiosData->graphPercent($typeBilan, $annee, 'r140','r101')-$ratiosData->graphPercent($typeBilan, $annee, 'r150','r101'),
|
||||||
|
$ratiosData->graphPercent($typeBilan, $annee, 'r150','r101')-$ratiosData->graphPercent($typeBilan, $annee, 'r170','r101'),
|
||||||
|
$ratiosData->graphPercent($typeBilan, $annee, 'r170','r101')-$ratiosData->graphPercent($typeBilan, $annee, 'r199','r101'),
|
||||||
|
$ratiosData->graphPercent($typeBilan, $annee, 'r199','r101'),
|
||||||
|
);
|
||||||
|
$ratiosGraph->bilansgraphsig($dataGraphSIG, $typeBilan, $annee);
|
||||||
|
|
||||||
|
$tabResultSig[] = array(
|
||||||
|
'dateCloture' => WDate::dateT('Ymd','d/m/Y',$annee),
|
||||||
|
'duree' => $infosAnnee[$annee]->duree.' Mois',
|
||||||
|
'entrep' => $data,
|
||||||
|
'total' => $dataTotal,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->data->Bilans->lastDateCloture = $annee;
|
||||||
|
|
||||||
|
$this->data->Bilans->tabRatioActif = $tabRatioActif;
|
||||||
|
$this->data->Bilans->tabRatioPassif = $tabRatioPassif;
|
||||||
|
$this->data->Bilans->tabRatioSig = $tabRatioSig;
|
||||||
|
|
||||||
|
$this->data->Bilans->tabResultActif = $tabResultActif;
|
||||||
|
$this->data->Bilans->tabResultPassif = $tabResultPassif;
|
||||||
|
$this->data->Bilans->tabResultSig = $tabResultSig;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//Synthese
|
||||||
|
$typeBilan = 'N';
|
||||||
|
|
||||||
|
//Récupération des informations
|
||||||
|
$tabRatio = array(
|
||||||
|
'r5' => array('evol'=>'r6', 'op' => 1000, 'titre'=>'CHIFFRE D\'AFFAIRES'),
|
||||||
|
'r7' => array('evol'=>'r8', 'op' => 1000, 'titre'=>'RESULTAT COURANT AVANT IMPOTS'),
|
||||||
|
'r10' => array('evol'=>'r11', 'op' => 1000, 'titre'=>'RESULTAT NET'),
|
||||||
|
'r18' => array('evol'=>'r19', 'op' => 1000, 'titre'=>'FONDS PROPRES'),
|
||||||
|
'r22' => array('evol'=>'r23', 'op' => 1000, 'titre'=>'TOTAL BILAN'),
|
||||||
|
'r231' => array('evol'=>'r235', 'op' => 1000, 'titre'=>'FONDS DE ROULEMENT'),
|
||||||
|
'r232' => array('evol'=>'r236', 'op' => 1000, 'titre'=>'BESOIN EN FONDS DE ROULEMENT'),
|
||||||
|
'r249' => array('evol'=>'r254', 'op' => 1000, 'titre'=>'TRESORERIE'),
|
||||||
|
'r24' => array('evol'=>'r24', 'op' => 1, 'titre'=>'EFFECTIF', 'unite' => 1),
|
||||||
|
);
|
||||||
|
|
||||||
|
$tabRatioGraph = array(
|
||||||
|
0 => array('ratio'=>'r236', 'op' => 1000),
|
||||||
|
1 => array('ratio'=>'r235', 'op' => 1000),
|
||||||
|
2 => array('ratio'=>'r6', 'op' => 1000),
|
||||||
|
3 => array('ratio'=>'r146', 'op' => 1000)
|
||||||
|
);
|
||||||
|
|
||||||
|
if($ratio!=''){
|
||||||
|
$tabRatio = array( $ratio => $tabRatio[$ratio] );
|
||||||
|
}
|
||||||
|
|
||||||
|
//Formattage des données
|
||||||
|
$ratiosData = new RatiosData($infos->Ratios);
|
||||||
|
|
||||||
|
$nbBilanN = $ratiosData->getNbBilan('N');
|
||||||
|
$nbBilanC = $ratiosData->getNbBilan('C');
|
||||||
|
|
||||||
|
if ($typeBilan == 'N' && $nbBilanN==0){
|
||||||
|
$typeBilan = 'C';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($nbBilanN!=0 || $nbBilanC!=0)
|
||||||
|
{
|
||||||
|
foreach($tabRatio as $idRatio => $valRatio){
|
||||||
|
$tabRatio[$idRatio]['comment'] = $ratiosData->wrapComment($idRatio);
|
||||||
|
}
|
||||||
|
$this->data->Synthese->tabRatio = $tabRatio;
|
||||||
|
|
||||||
|
$infosAnnee = $ratiosData->getBilansInfo($typeBilan);
|
||||||
|
$annees = array_keys($infosAnnee);
|
||||||
|
sort($annees);
|
||||||
|
if (count($annees)>1){
|
||||||
|
//Générer les différents graphiques d'évolutions
|
||||||
|
$ratiosGraph = new RatiosGraph($this->siret, $this->id);
|
||||||
|
$tabGraphEvol = array();
|
||||||
|
foreach($tabRatio as $idRatio => $infoRatio){
|
||||||
|
$dataGraphEvol = array();
|
||||||
|
foreach($annees as $annee){
|
||||||
|
$dataGraphEvol[] = array(
|
||||||
|
'date' => $annee,
|
||||||
|
'value' => ($ratiosData->getRatiosEntrep($typeBilan, $annee, $idRatio)!='NS') ?
|
||||||
|
$ratiosData->getRatiosEntrep($typeBilan, $annee, $idRatio)/$infoRatio['op'] : 0
|
||||||
|
);
|
||||||
|
}
|
||||||
|
$tabGraphEvol[$idRatio] = $ratiosGraph->syntheseGraphEvol($dataGraphEvol, $idRatio, $unite);
|
||||||
|
}
|
||||||
|
|
||||||
|
//Générer le graphique de comparaison
|
||||||
|
$dataGraph = array();
|
||||||
|
$i=0;
|
||||||
|
foreach($annees as $annee){
|
||||||
|
$dataGraph[$i]['date'] = $infosAnnee[$annee]->dateCloture;
|
||||||
|
$dataGraph[$i]['duree'] = $infosAnnee[$annee]->duree;
|
||||||
|
foreach($tabRatioGraph as $item){
|
||||||
|
$dataGraph[$i][$item['ratio']] = $ratiosData->getRatiosEntrep($typeBilan, $annee, $item['ratio'])/$item['op'];
|
||||||
|
}
|
||||||
|
$i++;
|
||||||
|
}
|
||||||
|
$graphLineCompare = $ratiosGraph->syntheseGraphLineCompare($dataGraph, $typeBilan);
|
||||||
|
$this->data->Synthese->graph = true;
|
||||||
|
} else {
|
||||||
|
$this->data->Synthese->graph = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//On prend les 3 derniers bilans pour l'affichage
|
||||||
|
$nbMaxBilan = 3;
|
||||||
|
rsort($annees);
|
||||||
|
$annees = array_slice($annees, 0, $nbMaxBilan);
|
||||||
|
sort($annees);
|
||||||
|
$tabResult = array();
|
||||||
|
foreach($annees as $annee){
|
||||||
|
$data = array();
|
||||||
|
$dataEvol = array();
|
||||||
|
//Formatter les données
|
||||||
|
foreach($tabRatio as $idRatio => $valRatio){
|
||||||
|
$data[$idRatio] = $ratiosData->dRatio($typeBilan, $annee, $idRatio);
|
||||||
|
$dataEvol[$idRatio] = $ratiosData->dEvol($typeBilan, $annee, $valRatio['evol']);
|
||||||
|
}
|
||||||
|
$tabResult[] = array(
|
||||||
|
'dateCloture' => WDate::dateT('Ymd','d/m/Y',$annee),
|
||||||
|
'duree' => $infosAnnee[$annee]->duree.' Mois',
|
||||||
|
'entrep' => $data,
|
||||||
|
'entrepEvol' => $dataEvol,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
$this->data->Synthese->tabResult = $tabResult;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->data->Synthese->typeBilan = $typeBilan;
|
||||||
|
$this->data->Synthese->nbBilanN = $nbBilanN;
|
||||||
|
$this->data->Synthese->nbBilanC = $nbBilanC;
|
||||||
|
|
||||||
|
|
||||||
|
//Indiscore
|
||||||
|
$this->data->Indiscore->indiscore = $infos->Indiscore;
|
||||||
|
|
||||||
|
require_once 'Scores/RapportComment.php';
|
||||||
|
$rapportComment = new RapportComment(
|
||||||
|
$siren,
|
||||||
|
$this->id,
|
||||||
|
$infos->Indiscore->tabCommentaires->item,
|
||||||
|
$infos->Ratios->RatiosInfos,
|
||||||
|
$infos->Ratios->BilansInfos,
|
||||||
|
$infos->Ratios->RatiosSecteur,
|
||||||
|
$infos->Indiscore->tabVariables
|
||||||
|
);
|
||||||
|
$this->data->Indiscore->comment = $rapportComment->out();
|
||||||
|
|
||||||
|
|
||||||
|
//Global
|
||||||
|
$this->data->Global->raisonSociale = $infos->Identite->Nom;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getContent()
|
||||||
|
{
|
||||||
|
$content = '';
|
||||||
|
|
||||||
|
$this->getDataIndiscore3();
|
||||||
|
|
||||||
|
if ( array_key_exists($this->reportName, $this->report) ) {
|
||||||
|
|
||||||
|
foreach ( $this->report[$this->reportName] as $reportItem ) {
|
||||||
|
$view = $reportItem['view'];
|
||||||
|
$index = $reportItem['index'];
|
||||||
|
$this->view = new Scores_Partner_Report_Html(realpath(dirname(__FILE__)).'/Templates/'.$view);
|
||||||
|
if ( $index !== null ) {
|
||||||
|
foreach ($this->data->{$index} as $name => $value) {
|
||||||
|
$this->view->assignVars($name, $value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$content.= $this->view->getHtml();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return $content;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
71
library/Scores/Partner/Report/Helpers.php
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
<?php
|
||||||
|
require_once 'Scores/Siren.php';
|
||||||
|
|
||||||
|
class Scores_Partner_Report_Helpers
|
||||||
|
{
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function partial($name, $values = null)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function partialLoop($name, $values = null)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function url()
|
||||||
|
{
|
||||||
|
return '#';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function sirenTexte($siren)
|
||||||
|
{
|
||||||
|
return substr($siren, 0, 3).' '.
|
||||||
|
substr($siren, 3, 3).' '.
|
||||||
|
substr($siren, 6, 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function FormatPct($pct)
|
||||||
|
{
|
||||||
|
$pct = round($pct / 10, 0) * 10;
|
||||||
|
if ($pct == 0) $pct = 10;
|
||||||
|
if ($pct > 100) $pct = 100;
|
||||||
|
return $pct;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function RemplaceSiren($texte)
|
||||||
|
{
|
||||||
|
$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, array($this, 'replace_siren'), $texte);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function replace_siren($matches)
|
||||||
|
{
|
||||||
|
foreach ($matches as $i => $sirenBrut) {
|
||||||
|
$siren = strtr($sirenBrut, array(' '=>'', '.'=>'', '-'=>''));
|
||||||
|
if (strlen($sirenBrut)==9) {
|
||||||
|
$sirenBrut = implode(' ', str_split($sirenBrut, 3));
|
||||||
|
}
|
||||||
|
$sirenMethod = new Siren();
|
||||||
|
if ($sirenMethod->valide($siren)) {
|
||||||
|
if ($sirenMethod->exist($siren)){
|
||||||
|
$href = $this->view->url(array(
|
||||||
|
'controller' => 'identite',
|
||||||
|
'action' => 'fiche',
|
||||||
|
'siret' => $siren,
|
||||||
|
), null, true);
|
||||||
|
return '<a href="'.$href.'" title="Voir la fiche identité de cette entreprise">'.$sirenBrut.'</a>';
|
||||||
|
} else {
|
||||||
|
return $sirenBrut;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $sirenBrut;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
34
library/Scores/Partner/Report/Html.php
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
<?php
|
||||||
|
class Scores_Partner_Report_Html extends Scores_Partner_Report_Helpers
|
||||||
|
{
|
||||||
|
protected $views = array();
|
||||||
|
|
||||||
|
public function __construct($filename)
|
||||||
|
{
|
||||||
|
if (is_array($filename)){
|
||||||
|
$this->views = $filename;
|
||||||
|
} else {
|
||||||
|
$this->views = array($filename);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getHtml()
|
||||||
|
{
|
||||||
|
$content = '';
|
||||||
|
|
||||||
|
foreach( $this->views as $f ) {
|
||||||
|
if ( is_file( $f ) ) {
|
||||||
|
ob_start();
|
||||||
|
include $f;
|
||||||
|
$content.= ob_get_contents();
|
||||||
|
ob_end_clean();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $content;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function assignVars($name, $value)
|
||||||
|
{
|
||||||
|
$this->{$name} = $value;
|
||||||
|
}
|
||||||
|
}
|
20
library/Scores/Partner/Templates/indiscore3/annonces.phtml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
<h1>ANNONCES LÉGALES</h1>
|
||||||
|
<?php if ($this->AutreSource){ ?>
|
||||||
|
<h2>EVÉNEMENTS LÉGAUX</h2>
|
||||||
|
<div class="paragraph">
|
||||||
|
Aucune annonces disponible pour cette entité.
|
||||||
|
</div>
|
||||||
|
<?php } else {?>
|
||||||
|
|
||||||
|
<h2>EVÉNEMENTS LÉGAUX</h2>
|
||||||
|
<div class="paragraph">
|
||||||
|
<?php if(count($this->annoncesBodacc)==0){ ?>
|
||||||
|
Néant
|
||||||
|
<?php } else {?>
|
||||||
|
<table class="data">
|
||||||
|
<?=$this->partialLoop('juridique/annonces-resume.phtml', $this->annoncesBodacc)?>
|
||||||
|
</table>
|
||||||
|
<?php }?>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php }?>
|
37
library/Scores/Partner/Templates/indiscore3/bilans.phtml
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
<h1>ÉLÉMENTS FINANCIERS - BILANS</h1>
|
||||||
|
<?php if($this->typeBilan == 'B' and $this->typeBilan == 'A'):?>
|
||||||
|
|
||||||
|
<div class="paragraph">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td width="30"> </td>
|
||||||
|
<td colspan="2" class="StyleInfoLib" width="200">Bilan de banque/assurance non gérés</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php else: ?>
|
||||||
|
|
||||||
|
<?php if ($this->nbBilanN==0 && $this->nbBilanN==0):?>
|
||||||
|
|
||||||
|
<div class="paragraph">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td width="30"> </td>
|
||||||
|
<td colspan="2" class="StyleInfoLib" width="200">Aucun bilan disponible.</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php else:?>
|
||||||
|
|
||||||
|
<h2>Bilan actif - passif</h2>
|
||||||
|
<?=$this->partial('finance/bilan/actif.phtml')?>
|
||||||
|
<?=$this->partial('finance/bilan/passif.phtml')?>
|
||||||
|
|
||||||
|
<h2>Soldes Intermédiaire de Gestion</h2>
|
||||||
|
<?=$this->partial('finance/bilan/sig.phtml')?>
|
||||||
|
|
||||||
|
<?php endif;?>
|
||||||
|
|
||||||
|
<?php endif;?>
|
49
library/Scores/Partner/Templates/indiscore3/dirigeants.phtml
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
<h1>DIRIGEANTS</h1>
|
||||||
|
<h2>Liste des dirigeants actifs</h2>
|
||||||
|
<div class="paragraph">
|
||||||
|
<?php if ( count($this->dirigeants)>0 ) { ?>
|
||||||
|
<table class="data">
|
||||||
|
<?php foreach ($this->dirigeants as $dir) {?>
|
||||||
|
<tr>
|
||||||
|
<td class="StyleInfoData" width="200"><?=$dir->Titre?></td>
|
||||||
|
<td class="StyleInfoData" width="320">
|
||||||
|
<?php if ($dir->Societe != '') { ?>
|
||||||
|
<?=$dir->Societe?>
|
||||||
|
<br/>
|
||||||
|
<?php }?>
|
||||||
|
<?php if ($dir->Nom != '') { ?>
|
||||||
|
<?=$dir->Nom.' '.$dir->Prenom?>
|
||||||
|
<?php
|
||||||
|
if (trim($dir->NaissDate) != '' && trim($dir->NaissVille.' '.$dir->NaissDepPays) != '') { ?>
|
||||||
|
<br/>né(e) le <?=$dir->NaissDate?> à <?=$dir->NaissVille?>
|
||||||
|
<?php if (trim($dir->NaissDepPays) != '') { ?>
|
||||||
|
(<?=$dir->NaissDepPays?>)
|
||||||
|
<?php }
|
||||||
|
} else if (trim($dir->NaissDate) != '') {
|
||||||
|
?>
|
||||||
|
né(e) le <?=$dir->NaissDate?>
|
||||||
|
<?php
|
||||||
|
} else if (trim($dir->NaissVille.' '.$dir->NaissDepPays) != '') {
|
||||||
|
?>
|
||||||
|
né(e) à <?=$dir->NaissVille?> (<?=$dir->NaissDepPays?>)
|
||||||
|
<?php } ?>
|
||||||
|
<?php } ?>
|
||||||
|
</td>
|
||||||
|
<td class="StyleInfoData" width="100" valign="top">
|
||||||
|
<?php if ($dir->Siren!='') {?>
|
||||||
|
<?=$this->SirenTexte($dir->Siren)?>
|
||||||
|
<?php }?>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<?php } ?>
|
||||||
|
</table>
|
||||||
|
<?php } else { ?>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td class="StyleInfoData" width="550">
|
||||||
|
Aucune donnée n'est présente dans notre base
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<?php } ?>
|
||||||
|
</div>
|
@ -0,0 +1,42 @@
|
|||||||
|
<?php
|
||||||
|
$tabResult = $this->partial()->view->tabResultActif;
|
||||||
|
$tabRatio = $this->partial()->view->tabRatioActif;
|
||||||
|
?>
|
||||||
|
<div class="paragraph">
|
||||||
|
<table class="bilans">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Actif</th>
|
||||||
|
<?php foreach($tabResult as $info) { ?>
|
||||||
|
<th class="date" >
|
||||||
|
<?=$info['dateCloture']?><br/><?=$info['duree']?>
|
||||||
|
</th>
|
||||||
|
<?php }?>
|
||||||
|
<?php $lastDateCloture = $info['dateCloture']; ?>
|
||||||
|
<th>% T.B.</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<?php foreach($tabRatio as $idRatio => $info) { ?>
|
||||||
|
<tr<?php if (!empty($info['class'])) echo ' class="'.$info['class'].'"'?>>
|
||||||
|
<td>
|
||||||
|
<?=$info['titre']?></td>
|
||||||
|
<?php foreach($tabResult as $value) { ?>
|
||||||
|
<td class="left"><?=$value['entrep'][$idRatio]?></td>
|
||||||
|
<?php }?>
|
||||||
|
<td><?=$value['total'][$idRatio]?></td>
|
||||||
|
<?php }?>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="paragraph">
|
||||||
|
<?=$this->action('bilangraph', 'finance', null, array(
|
||||||
|
'type' => 'actif',
|
||||||
|
'typeBilan' => $this->partial()->view->typeBilan,
|
||||||
|
'dateCloture' => $this->partial()->view->lastDateCloture,
|
||||||
|
'siret' => $this->partial()->view->siret,
|
||||||
|
'id' => $this->partial()->view->id,
|
||||||
|
))?>
|
||||||
|
</div>
|
@ -0,0 +1,41 @@
|
|||||||
|
<?php
|
||||||
|
$tabResult = $this->partial()->view->tabResultPassif;
|
||||||
|
$tabRatio = $this->partial()->view->tabRatioPassif;
|
||||||
|
?>
|
||||||
|
<div class="paragraph">
|
||||||
|
<table class="bilans">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>Passif</th>
|
||||||
|
<?php foreach($tabResult as $info) { ?>
|
||||||
|
<th class="date" >
|
||||||
|
<?=$info['dateCloture']?><br/><?=$info['duree']?>
|
||||||
|
</th>
|
||||||
|
<?php }?>
|
||||||
|
<th>% T.B.</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<?php foreach($tabRatio as $idRatio => $info) { ?>
|
||||||
|
<tr<?php if (!empty($info['class'])) echo ' class="'.$info['class'].'"'?>>
|
||||||
|
<td>
|
||||||
|
<?=$info['titre']?></td>
|
||||||
|
<?php foreach($tabResult as $value) { ?>
|
||||||
|
<td class="left"><?=$value['entrep'][$idRatio]?></td>
|
||||||
|
<?php }?>
|
||||||
|
<td><?=$value['total'][$idRatio]?></td>
|
||||||
|
<?php }?>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="paragraph">
|
||||||
|
<?=$this->action('bilangraph', 'finance', null, array(
|
||||||
|
'type' => 'passif',
|
||||||
|
'typeBilan' => $this->partial()->view->typeBilan,
|
||||||
|
'dateCloture' => $this->partial()->view->lastDateCloture,
|
||||||
|
'siret' => $this->partial()->view->siret,
|
||||||
|
'id' => $this->partial()->view->id,
|
||||||
|
))?>
|
||||||
|
</div>
|
@ -0,0 +1,44 @@
|
|||||||
|
<?php
|
||||||
|
$tabResult = $this->partial()->view->tabResultSig;
|
||||||
|
$tabRatio = $this->partial()->view->tabRatioSig;
|
||||||
|
?>
|
||||||
|
<div class="paragraph">
|
||||||
|
<table class="bilans">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th colspan="2">SOLDES INTERMEDIAIRE DE GESTION</th>
|
||||||
|
<?php foreach($tabResult as $info) { ?>
|
||||||
|
<th class="date" >
|
||||||
|
<?=$info['dateCloture']?><br/><?=$info['duree']?>
|
||||||
|
</th>
|
||||||
|
<?php }?>
|
||||||
|
<th>% C.A.</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<?php foreach($tabRatio as $idRatio => $info) { ?>
|
||||||
|
<tr<?php if (!empty($info['class'])) echo ' class="'.$info['class'].'"'?>>
|
||||||
|
<?php if(empty($info['op'])){?>
|
||||||
|
<td colspan="2"><?=$info['titre']?></td>
|
||||||
|
<?php } else {?>
|
||||||
|
<td><?=$info['op']?></td><td><?=$info['titre']?></td>
|
||||||
|
<?php }?>
|
||||||
|
<?php foreach($tabResult as $value) { ?>
|
||||||
|
<td class="left"><?=$value['entrep'][$idRatio]?></td>
|
||||||
|
<?php }?>
|
||||||
|
<td><?=$value['total'][$idRatio]?></td>
|
||||||
|
<?php }?>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="paragraph">
|
||||||
|
<?=$this->action('bilangraph', 'finance', null, array(
|
||||||
|
'type' => 'sig',
|
||||||
|
'typeBilan' => $this->partial()->view->typeBilan,
|
||||||
|
'dateCloture' => $this->partial()->view->lastDateCloture,
|
||||||
|
'siret' => $this->partial()->view->siret,
|
||||||
|
'id' => $this->partial()->view->id,
|
||||||
|
))?>
|
||||||
|
</div>
|
5
library/Scores/Partner/Templates/indiscore3/footer.phtml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
16
library/Scores/Partner/Templates/indiscore3/header.phtml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
|
||||||
|
<link href="./themes/default/styles/main.css" media="all" rel="stylesheet" type="text/css" >
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="global">
|
||||||
|
|
||||||
|
<div id="content">
|
||||||
|
|
||||||
|
<div id="center">
|
||||||
|
|
||||||
|
<h1>RAPPORT COMPLET</h1>
|
||||||
|
<div class="paragraph">
|
||||||
|
<p id="rsynthese">SOCIÉTÉ : <?=$this->raisonSociale?></p>
|
||||||
|
</div>
|
68
library/Scores/Partner/Templates/indiscore3/identite.phtml
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
<h1>FICHE D'IDENTITÉ</h1>
|
||||||
|
<div class="paragraph">
|
||||||
|
<table>
|
||||||
|
<?php $items = array('Siret', 'SiretSiege,', 'TvaNumero', 'Isin', 'Capitalisation', 'NumRC', 'AutreId', 'Actif', 'SituationJuridique', 'AutreSiren');?>
|
||||||
|
<?php foreach ( $items as $item ) {?>
|
||||||
|
<?php if ( array_key_exists($item, $this->dBlock) && $this->dBlock[$item]['texte']!='' ) {?>
|
||||||
|
<tr>
|
||||||
|
<td width="50" class="aide"></td>
|
||||||
|
<td width="200" class="StyleInfoLib"><?=$this->dBlock[$item]['label']?></td>
|
||||||
|
<?php
|
||||||
|
if (!empty($this->dBlock[$item]['titre'])) {
|
||||||
|
$titre = ' title="'.$this->dBlock[$item]['titre'].'"';
|
||||||
|
} else {
|
||||||
|
$titre = '';
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<td width="350" class="StyleInfoData"<?=$titre?>><?=$this->dBlock[$item]['texte']?></td>
|
||||||
|
</tr>
|
||||||
|
<?php }?>
|
||||||
|
<?php }?>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2>Raison sociale & Coordonnées</h2>
|
||||||
|
<div class="paragraph">
|
||||||
|
<table>
|
||||||
|
<?php $items = array('RaisonSociale', 'NomCommercial,', 'EnseigneSigle', 'FormeJuridique', 'DateImmat', 'DateCreaEn', 'DateCreaEt', 'Adresse', 'Zones', 'Tel', 'Fax', 'Web', 'Mail');?>
|
||||||
|
<?php foreach ( $items as $item ) {?>
|
||||||
|
<?php if ( array_key_exists($item, $this->dBlock) && $this->dBlock[$item]['texte']!='' ) {?>
|
||||||
|
<tr>
|
||||||
|
<td width="50" class="aide"></td>
|
||||||
|
<td width="200" class="StyleInfoLib"><?=$this->dBlock[$item]['label']?></td>
|
||||||
|
<?php
|
||||||
|
if (!empty($this->dBlock[$item]['titre'])) {
|
||||||
|
$titre = ' title="'.$this->dBlock[$item]['titre'].'"';
|
||||||
|
} else {
|
||||||
|
$titre = '';
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<td width="350" class="StyleInfoData"<?=$titre?>><?=$this->dBlock[$item]['texte']?></td>
|
||||||
|
</tr>
|
||||||
|
<?php }?>
|
||||||
|
<?php }?>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2>Activité(s) & Chiffre d'affaires</h2>
|
||||||
|
<div class="paragraph">
|
||||||
|
<table>
|
||||||
|
<?php $items = array('ActiviteEn', 'ActiviteEt,', 'Naf4', 'Nace', 'NatureActivite', 'SurfaceMagasin', 'OrigineFond', 'TypeExploitation', 'Saisonnalite', 'NbEtabActif', 'Capital', 'ChiffreAffaire', 'Dirigeants', 'Effectif', 'EffectifEtab');?>
|
||||||
|
<?php foreach ( $items as $item ) {?>
|
||||||
|
<?php if ( array_key_exists($item, $this->dBlock) && $this->dBlock[$item]['texte']!='' ) {?>
|
||||||
|
<tr>
|
||||||
|
<td width="50" class="aide"></td>
|
||||||
|
<td width="200" class="StyleInfoLib"><?=$this->dBlock[$item]['label']?></td>
|
||||||
|
<?php
|
||||||
|
if (!empty($this->dBlock[$item]['titre'])) {
|
||||||
|
$titre = ' title="'.$this->dBlock[$item]['titre'].'"';
|
||||||
|
} else {
|
||||||
|
$titre = '';
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<td width="350" class="StyleInfoData"<?=$titre?>><?=$this->dBlock[$item]['texte']?></td>
|
||||||
|
</tr>
|
||||||
|
<?php }?>
|
||||||
|
<?php }?>
|
||||||
|
</table>
|
||||||
|
</div>
|
164
library/Scores/Partner/Templates/indiscore3/indiscore.phtml
Normal file
@ -0,0 +1,164 @@
|
|||||||
|
<h1>COMMENTAIRES</h1>
|
||||||
|
<div class="paragraph">
|
||||||
|
<div id="commentaires">
|
||||||
|
<?=$this->comment?>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<h1>INDISCORE©</h1>
|
||||||
|
|
||||||
|
<h2>Évaluation</h2>
|
||||||
|
<div class="paragraph">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td width="30"> </td>
|
||||||
|
<td width="550" colspan="2" class="StyleInfoData">
|
||||||
|
L'évaluation indiScore© est en partie basée sur les points notables suivants :<br/>
|
||||||
|
|
||||||
|
<h3><u>Conformité légale :</u></h3>
|
||||||
|
<div class="stats gradiant_pic">
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<i><?=$this->indiscore->AnalyseConfor; ?></i>
|
||||||
|
<div class="blocdegrade clearfix">
|
||||||
|
<span class="textdegrade">Conformité <? if ($this->edition) { echo '('.$this->indiscore->ScoreConfor.')';}?></span>
|
||||||
|
<div class="imgdegrade"><img class="borderimg" src="/themes/default/images/indiscore/imgscores-<?=$this->FormatPct($this->indiscore->ScoreConfor)?>.png"/></div>
|
||||||
|
<div class="regle"><img src="/themes/default/images/indiscore/sgradiant2.png" /></div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3><u>Dirigeance :</u></h3>
|
||||||
|
<div class="stats gradiant_pic">
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<i><?=$this->indiscore->AnalyseDirigeance?></i>
|
||||||
|
<div class="blocdegrade clearfix">
|
||||||
|
<span class="textdegrade">Dirigeance <? if ($this->edition) { echo '('.$this->indiscore->ScoreDirigeance.')';}?></span>
|
||||||
|
<div class="imgdegrade"><img class="borderimg" src="/themes/default/images/indiscore/imgscores-<?=$this->FormatPct($this->indiscore->ScoreDirigeance)?>.png"/></div>
|
||||||
|
<div class="regle"><img src="/themes/default/images/indiscore/sgradiant2.png" /></div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3><u>Solvabilité :</u></h3>
|
||||||
|
<div class="stats gradiant_pic">
|
||||||
|
<ul>
|
||||||
|
<li>
|
||||||
|
<i>L'analyse de la solvabilité est <?=$this->indiscore->AnalyseSolvabilite?></i>
|
||||||
|
<div class="blocdegrade clearfix">
|
||||||
|
<span class="textdegrade">Solvabilité <? if ($this->edition) { echo '('.$this->indiscore->Indiscore.')';}?></span>
|
||||||
|
<div class="imgdegrade"><img class="borderimg" src="/themes/default/images/indiscore/imgscores-<?php echo $this->FormatPct($this->indiscore->Indiscore);?>.png"/></div>
|
||||||
|
<div class="regle"><img src="/themes/default/images/indiscore/sgradiant2.png" /></div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<?php $millesimeMax = date('Ymd', mktime(0, 0, 0, date('m'), date('d'), date('Y')-2));?>
|
||||||
|
<?php if($this->indiscore->NbBilansScore > 0 && $this->indiscore->Bilans->item[0]->Millesime >= $millesimeMax):?>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="30"> </td>
|
||||||
|
<td width="550" colspan="2" class="StyleInfoData">
|
||||||
|
A la lecture du dernier bilan, la situation financière de l'entreprise <?php echo $this->Nom;?> est <b><?php echo $this->indiscore->tabInfosNotations->SituationFinanciere;?></b>.<br/>
|
||||||
|
<!-- Cette notation financière est <?php echo $this->indiscore->tabInfosNotations->Notation;?>.<br/>-->
|
||||||
|
<?php
|
||||||
|
if (html_entity_decode($this->indiscore->tabInfosNotations->ProbabiliteDefaut) <> 'En défaut')
|
||||||
|
echo 'La probabilité de défaillance associée à cette note avoisine les '. number_format($this->indiscore->tabInfosNotations->ProbabiliteDefaut,3,',',' ') .' %';
|
||||||
|
else
|
||||||
|
echo 'Cette entreprise est défaillante ou sur le point de le devenir.';
|
||||||
|
//[EquivalenceBDF]
|
||||||
|
?>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td width="30"> </td>
|
||||||
|
<td width="550" colspan="2" class="StyleInfoData">
|
||||||
|
<i>Pour information, les méthodes standards donnent : Conan & Holder = <b><?php echo $this->indiscore->scores->ConanH;?></b>,
|
||||||
|
Afdcc2 = <b><?php echo $this->indiscore->scores->Afdcc2;?></b> et Score Z = <b><?php echo $this->indiscore->scores->Z;?></b>.</i>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<?php else:?>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td width="30"> </td>
|
||||||
|
<td width="550" colspan="2" class="StyleInfoData">
|
||||||
|
La situation financière de l'entreprise ne peut être évaluée en détail car
|
||||||
|
<?php
|
||||||
|
if($this->indiscore->Bilans->item[0]->Millesime < $millesimeMax && count($this->indiscore->Bilans) > 0 ) {
|
||||||
|
echo 'le dernier bilan disponible date de '.substr($this->indiscore->Bilans->item[0]->Millesime,0,4).'.';
|
||||||
|
} else {
|
||||||
|
echo 'aucun bilan n\'est disponible.';
|
||||||
|
} ?>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<?php endif;?>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2>Paiements</h2>
|
||||||
|
<div class="paragraph">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td width="30"> </td>
|
||||||
|
<td width="550" colspan="2" class="StyleInfoData">
|
||||||
|
<?php if(!empty($this->indiscore->infoPaiement)):?>
|
||||||
|
<?php echo html_entity_decode($this->indiscore->infoPaiement);?>
|
||||||
|
<?php else :?>
|
||||||
|
Aucune information sur les paiements disponible.
|
||||||
|
<?php endif;?>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h2>Conclusion</h2>
|
||||||
|
<div class="paragraph">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td width="30"> </td>
|
||||||
|
<td width="550" colspan="2" class="StyleInfoData">
|
||||||
|
<span class="notvisible">
|
||||||
|
Compte tenu des informations disponibles auprès des sources officielles
|
||||||
|
Scores et Décisions présente la conclusion suivante :</span><br/>
|
||||||
|
<?php
|
||||||
|
switch($this->typeScore)
|
||||||
|
{
|
||||||
|
case '20':
|
||||||
|
$maxIndiscore = $this->typeScore;
|
||||||
|
$indiscore = $this->indiscore->Indiscore20;
|
||||||
|
break;
|
||||||
|
case '100':
|
||||||
|
default:
|
||||||
|
$maxIndiscore = empty($this->typeScore)? '100' : $this->typeScore;
|
||||||
|
$indiscore = $this->indiscore->Indiscore;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<h3 style="font-size:13px"><b>LE SCORE EST DE <?php echo $indiscore;?> SUR <?php echo $maxIndiscore;?> POINTS</b></h3>
|
||||||
|
<?php
|
||||||
|
if($this->indiscore->infoEncours != '' && !is_numeric($this->indiscore->encours) && $this->indiscore->encours == 'N/A'){ ?>
|
||||||
|
<h3><?php echo $this->indiscore->infoEncours;?></h3>
|
||||||
|
<?php
|
||||||
|
}else{ ?>
|
||||||
|
<?php
|
||||||
|
if ($indiscore!=0) { ?>
|
||||||
|
<i>La tendance de la note est <?php echo $this->indiscore->TendanceIndiscore;?></i>
|
||||||
|
<h3 style="font-size:13px"><b>L'ENCOURS MAXIMUM CONSEILLÉ EST DE <?php echo round($this->indiscore->encours / 1000);?> K€</b></h3>
|
||||||
|
<?php } ?>
|
||||||
|
<h3><?php echo $this->indiscore->infoEncours;?></h3>
|
||||||
|
<?php } ?>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr><td colspan="3" align="center"><img class="notvisible" src="/themes/default/images/indiscore/logo_indiscore.png"/></td></tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
@ -0,0 +1,31 @@
|
|||||||
|
<?php
|
||||||
|
$class = '';
|
||||||
|
if ($this->deleted!='') {
|
||||||
|
$class = ' class="deleted"';
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<tr<?=$class?>>
|
||||||
|
<td width="140" class="StyleInfoLib">
|
||||||
|
<span id="annoncesDate">Le <?=$this->date?></span>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<span id="annoncesImg">
|
||||||
|
<?php if (!empty($this->logo)) {?>
|
||||||
|
<img src="/themes/default/images/annonces/<?=$this->logo?>" title="<?=$this->title?>" />
|
||||||
|
<?php }?>
|
||||||
|
</span>
|
||||||
|
</td>
|
||||||
|
<td width="450" colspan="2" class="StyleInfoData">
|
||||||
|
<a class="tiptxt" href="<?=$this->partialLoop()->view->url(array(
|
||||||
|
'controller' => 'juridique',
|
||||||
|
'action' => 'annonces',
|
||||||
|
'siret' => $this->partialLoop()->view->siret,
|
||||||
|
'id' => $this->partialLoop()->view->id,
|
||||||
|
'idAnn' => $this->idAnn,
|
||||||
|
'vue' => $this->type,
|
||||||
|
))?>">
|
||||||
|
<?=$this->lib?>
|
||||||
|
</a>
|
||||||
|
<span style="display:none;"><?=$this->RemplaceSiren($this->texte)?></span>
|
||||||
|
</td>
|
||||||
|
</tr>
|
127
library/Scores/Partner/Templates/indiscore3/liens.phtml
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
<h1>LIENS FINANCIERS</h1>
|
||||||
|
<style>
|
||||||
|
a.lienNom{color:#535353;}
|
||||||
|
a.lienNom:link{color:#535353;}
|
||||||
|
a.lienNom:hover{color:#535353;}
|
||||||
|
a.lienNom:active{color:#535353;}
|
||||||
|
a.lienNom:visited {color:#535353;}
|
||||||
|
</style>
|
||||||
|
<?php $liste = array('actionnaires', 'participations');?>
|
||||||
|
<?php foreach ($liste as $part) {?>
|
||||||
|
|
||||||
|
<?php if ($part == 'actionnaires') {?>
|
||||||
|
<h2>Actionnariat</h2>
|
||||||
|
<?php } else {?>
|
||||||
|
<h2>Participations</h2>
|
||||||
|
<?php }?>
|
||||||
|
|
||||||
|
<div class="paragraph">
|
||||||
|
|
||||||
|
<?php if ($this->PP && $part == 'actionnaires') {?>
|
||||||
|
|
||||||
|
Cette entreprise est une personne physique exerçant son activité en nom propre sous la forme d'une entreprise individuelle.
|
||||||
|
|
||||||
|
<?php } else {?>
|
||||||
|
|
||||||
|
<?php if ( count($this->$part)>0 ) {?>
|
||||||
|
<table class="data">
|
||||||
|
<?php foreach ($this->$part as $lien) {?>
|
||||||
|
<tr>
|
||||||
|
<td class="StyleInfoData" width="50">
|
||||||
|
<?php
|
||||||
|
if ($lien->PDetention>0) echo $lien->PDetention.' %';
|
||||||
|
elseif ($lien->MajMin=='+') echo 'major.'; // Traiter l'affichage ou les arbres comme si %=51
|
||||||
|
elseif ($lien->MajMin=='-') echo 'minor.';
|
||||||
|
elseif ($lien->MajMin=='C') echo 'contrôle'; // Traiter l'affichage ou les arbres comme si %=51
|
||||||
|
elseif ($lien->MajMin=='S') echo 'scission'; // Traiter l'affichage ou les arbres comme si %=0
|
||||||
|
elseif ($lien->MajMin=='F') echo 'absorption'; // Traiter l'affichage ou les arbres comme si %=100
|
||||||
|
elseif ($lien->MajMin=='P') echo 'projet fusion'; // Traiter l'affichage ou les arbres comme si %=100
|
||||||
|
elseif ($lien->MajMin=='T') echo 'TUP'; // Traiter l'affichage ou les arbres comme si %=100
|
||||||
|
elseif ($lien->MajMin=='L') echo 'tutelle';
|
||||||
|
elseif ($lien->MajMin=='E') echo 'franchise';
|
||||||
|
// elseif ($lien->MajMin=='A') echo 'absorbant';
|
||||||
|
else echo ' ';
|
||||||
|
?>
|
||||||
|
</td>
|
||||||
|
<td class="StyleInfoLib lienfiche" id="<?=$lien->idFiche?>" width="350">
|
||||||
|
<?php if (intval($lien->siren)!=0) {?>
|
||||||
|
<a class="lienNom" href="<?=$this->url(array('controller'=>'identite','action'=>'liens','siret'=>$lien->siren), null, true)?>">
|
||||||
|
<?php } else {?>
|
||||||
|
<a class="lienNom" href="<?=$this->url(array('controller'=>'identite','action'=>'liens','lienref'=>$lien->idFiche), null, true)?>">
|
||||||
|
<?php }?>
|
||||||
|
<?=$lien->nom?>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
<td class="StyleInfoData" width="150">
|
||||||
|
<?php
|
||||||
|
if ( !empty($lien->siren) && intval($lien->siren)!=0 ) {
|
||||||
|
$href = $this->url(array(
|
||||||
|
'controller' => 'identite',
|
||||||
|
'action' => 'fiche',
|
||||||
|
'siret' => $lien->siren
|
||||||
|
), null, true);
|
||||||
|
echo 'Siren <a href="'.$href.'">'.$this->SirenTexte($lien->siren).'</a>';
|
||||||
|
}
|
||||||
|
else ' ';
|
||||||
|
|
||||||
|
if ($lien->pays<>'France') echo '<b>'.$lien->pays.'</b>';
|
||||||
|
?>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<?php }?>
|
||||||
|
</table>
|
||||||
|
<?php } else {?>
|
||||||
|
<?php if ($part == 'actionnaires') {?>
|
||||||
|
<div>Aucun actionnaire référencé par nos services.</div>
|
||||||
|
<?php if ($this->lienStatuts) {?>
|
||||||
|
<?php if ($this->lienStatuts && $this->FJ1) {?>
|
||||||
|
<div>Afin d’identifier l'unique actionnaire de cette entreprise, consulter ses <a href="<?=$this->lienStatuts?>">statuts</a>.</div>
|
||||||
|
<?php } elseif ($this->lienStatuts) {?>
|
||||||
|
<div>Afin d’identifier les actionnaires de cette entreprise, consulter ses <a href="<?=$this->lienStatuts?>">statuts</a>.</div>
|
||||||
|
<?php }?>
|
||||||
|
<?php }?>
|
||||||
|
<?php } else {?>
|
||||||
|
<div>Aucune participation référencée par nos services.</div>
|
||||||
|
<?php if ($this->lienBilans) {?>
|
||||||
|
<?php if ($this->lienStatuts) {?>
|
||||||
|
<div>Afin d’identifier les participations de cette entreprise, consulter son <a href="<?=$this->lienBilans?>">dernier bilan publié</a>.</div>
|
||||||
|
<?php }?>
|
||||||
|
<?php }?>
|
||||||
|
<?php } ?>
|
||||||
|
<?php } ?>
|
||||||
|
<?php }?>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php }?>
|
||||||
|
|
||||||
|
<?php if ( count($this->directions)>0 ) {?>
|
||||||
|
<h2>Fonctions de directions</h2>
|
||||||
|
<div class="paragraph">
|
||||||
|
<table class="data">
|
||||||
|
<?php foreach ($this->directions as $lien) {?>
|
||||||
|
<tr>
|
||||||
|
<td class="StyleInfoData" width="100" valign="top"><strong><?=$lien->fonction?> de</strong></td>
|
||||||
|
<td class="StyleInfoData" width="500">
|
||||||
|
<b><?=$lien->nom?></b>
|
||||||
|
<?php if ( $lien->dirNom!='' ) {?>
|
||||||
|
<br/>représenté par <b><?=$lien->dirNom?></b>
|
||||||
|
<?php if( $lien->dirNaissDate && $lien->dirNaissDate!='0000-00-00' ) {?>
|
||||||
|
née le <?=substr($lien->dirNaissDate,8,2).'/'.substr($lien->dirNaissDate,5,2).'/'.substr($lien->dirNaissDate,0,4)?><?php }?>
|
||||||
|
<?php if( $lien->dirNaissLieu ) {?> à <b><?=$lien->dirNaissLieu?></b> <?php }?>
|
||||||
|
<?php }?>
|
||||||
|
</td>
|
||||||
|
<td class="StyleInfoData" width="150" valign="top">
|
||||||
|
<?php if ( !empty($lien->siren) && intval($lien->siren)!=0 ) {
|
||||||
|
$href = $this->url(array(
|
||||||
|
'controller' => 'identite',
|
||||||
|
'action' => 'fiche',
|
||||||
|
'siret' => $lien->siren
|
||||||
|
), null, true);
|
||||||
|
echo 'Siren <a href="'.$href.'">'.$this->SirenTexte($lien->siren).'</a>';
|
||||||
|
}?>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<?php }?>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<?php }?>
|
44
library/Scores/Partner/Templates/indiscore3/ratios.phtml
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
<h1>RATIOS</h1>
|
||||||
|
<div class="paragraph">
|
||||||
|
|
||||||
|
<?php if(!isset($this->tabResult)){?>
|
||||||
|
|
||||||
|
<?php } else {?>
|
||||||
|
<table id="ratios" style="border-collapse:collapse">
|
||||||
|
<tbody>
|
||||||
|
<?php foreach ($this->tabResult as $item) { ?>
|
||||||
|
<?php if (isset($item['ratio'])) { ?>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<a class="tooltip" title="<?=$item['comment']?>">
|
||||||
|
<?=$item['titre']?><br/><?=$item['stitre']?></a>
|
||||||
|
</td>
|
||||||
|
<td class="right"><?=$item['entrep']?></td>
|
||||||
|
<td class="right"><?=$item['secteur']?></td>
|
||||||
|
<td class="position">
|
||||||
|
<a class="rTip"
|
||||||
|
href=""
|
||||||
|
rel="<?=$this->url(array(
|
||||||
|
'controller'=>'finance',
|
||||||
|
'action'=>'ratiosgraph',
|
||||||
|
'siret' => $this->siret,
|
||||||
|
'id' => $this->id,
|
||||||
|
'ratio' => $item['ratio']
|
||||||
|
))?>" name="<?=$item['titre']?>">
|
||||||
|
<?=$item['position']?>
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<?php } else { ?>
|
||||||
|
<tr class="subhead">
|
||||||
|
<td class="center italique"><?=$item['titre']?></td>
|
||||||
|
<td>Entreprise</td>
|
||||||
|
<td>Secteur</td>
|
||||||
|
<td>Position</td>
|
||||||
|
</tr>
|
||||||
|
<?php } ?>
|
||||||
|
<?php } ?>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<?php }?>
|
||||||
|
</div>
|
76
library/Scores/Partner/Templates/indiscore3/synthese.phtml
Normal file
@ -0,0 +1,76 @@
|
|||||||
|
<h1>SYNTHÈSE</h1>
|
||||||
|
<?php if (!isset($this->tabResult)){?>
|
||||||
|
|
||||||
|
<div class="paragraph">
|
||||||
|
Aucun bilan disponible.
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php } else {?>
|
||||||
|
|
||||||
|
<div class="paragraph">
|
||||||
|
<table id="synthese">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th align="center">
|
||||||
|
<?php if (count($this->tabRatio)==1){?>
|
||||||
|
<a href="<?=$this->url(array('controller'=>'finance', 'action'=>'synthese', 'siret'=>$this->siret, 'id'=>$this->id), null, true)?>">
|
||||||
|
<img src="/themes/default/images/finance/char_bar.png" alt="Retour à la page complète" />
|
||||||
|
</a>
|
||||||
|
<?php }?>
|
||||||
|
</th>
|
||||||
|
<th class="date"><?=$this->tabResult[0]['dateCloture']?><br/><?=$this->tabResult[0]['duree']?></th>
|
||||||
|
<th class="date">Evolution</th>
|
||||||
|
<th class="date"><?=$this->tabResult[1]['dateCloture']?><br/><?=$this->tabResult[1]['duree']?></th>
|
||||||
|
<th class="date">Evolution</th>
|
||||||
|
<th class="date"><?=$this->tabResult[2]['dateCloture']?><br/><?=$this->tabResult[2]['duree']?></th>
|
||||||
|
<th class="date">Evolution</th>
|
||||||
|
<th> </th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<?php foreach($this->tabRatio as $ratio => $info) { ?>
|
||||||
|
<tr>
|
||||||
|
<td class="head">
|
||||||
|
<a class="tooltip" title="<?=$info['comment']?>"><?=$info['titre']?></a>
|
||||||
|
</td>
|
||||||
|
<td class="right"><?=$this->tabResult[0]['entrep'][$ratio]?></td>
|
||||||
|
<td class="right"><?=$this->tabResult[0]['entrepEvol'][$ratio]?></td>
|
||||||
|
<td class="right"><?=$this->tabResult[1]['entrep'][$ratio]?></td>
|
||||||
|
<td class="right"><?=$this->tabResult[1]['entrepEvol'][$ratio]?></td>
|
||||||
|
<td class="right"><?=$this->tabResult[2]['entrep'][$ratio]?></td>
|
||||||
|
<td class="right"><?=$this->tabResult[2]['entrepEvol'][$ratio]?></td>
|
||||||
|
<td>
|
||||||
|
<?php if ($this->graph): ?>
|
||||||
|
<a href="<?=$this->url(array(
|
||||||
|
'controller' => 'finance',
|
||||||
|
'action' => 'synthese',
|
||||||
|
'siret' => $this->siret,
|
||||||
|
'id' => $this->id,
|
||||||
|
'ratio' => $ratio,
|
||||||
|
))?>">
|
||||||
|
<img class="sTip" rel="<?=$this->url(array(
|
||||||
|
'controller' => 'finance',
|
||||||
|
'action' => 'synthesegraphevol',
|
||||||
|
'siret' => $this->siret,
|
||||||
|
'id' => $this->id,
|
||||||
|
'ratio' => $ratio,
|
||||||
|
))?>" title="<?=$info['titre']?>" src="/themes/default/images/finance/char_bar.png" alt="Visionner le graphique">
|
||||||
|
<?php endif;?>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<?php }?>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="paragraph">
|
||||||
|
<?php if ($this->graph) {?>
|
||||||
|
<?php //=$this->action('synthesegraphcompare', 'finance', null, array('siret'=>$this->siret, 'id'=>$this->id, 'typeBilan'=>$this->typeBilan))?>
|
||||||
|
<?php } else {?>
|
||||||
|
<b>Les informations sont insufisantes pour générer le graphique de synthèse.</b>
|
||||||
|
<?php }?>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<?php }?>
|
After Width: | Height: | Size: 95 B |
After Width: | Height: | Size: 673 B |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 500 B |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 743 B |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 477 B |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 404 B |
After Width: | Height: | Size: 8.0 KiB |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 9.2 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 496 B |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 2.5 KiB |
After Width: | Height: | Size: 8.6 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 6.3 KiB |
After Width: | Height: | Size: 7.2 KiB |
After Width: | Height: | Size: 4.7 KiB |
After Width: | Height: | Size: 6.7 KiB |
After Width: | Height: | Size: 847 B |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 529 B |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 7.1 KiB |
After Width: | Height: | Size: 364 B |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 463 B |
After Width: | Height: | Size: 595 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 845 B |
After Width: | Height: | Size: 828 B |
After Width: | Height: | Size: 836 B |
After Width: | Height: | Size: 839 B |
After Width: | Height: | Size: 86 KiB |
After Width: | Height: | Size: 42 KiB |
After Width: | Height: | Size: 545 B |
After Width: | Height: | Size: 599 B |
After Width: | Height: | Size: 545 B |
After Width: | Height: | Size: 420 B |
After Width: | Height: | Size: 453 B |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 541 B |