Merge from branch 2.5

This commit is contained in:
Michael RICOIS 2014-01-16 10:47:25 +00:00
parent b78237e75b
commit a3f0d0b25b
42 changed files with 6414 additions and 838 deletions

View File

@ -23,22 +23,21 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
$view->doctype('HTML5'); $view->doctype('HTML5');
$view->headMeta() $view->headMeta()
->appendHttpEquiv('viewport', 'width=device-width, initial-scale=1.0') ->appendName('viewport', 'width=device-width, initial-scale=1.0')
->appendHttpEquiv('X-UA-Compatible', 'IE=edge')
->appendHttpEquiv('Content-Type', 'text/html; charset=UTF-8') ->appendHttpEquiv('Content-Type', 'text/html; charset=UTF-8')
->appendHttpEquiv('Content-Language', 'fr-FR'); ->appendHttpEquiv('Content-Language', 'fr-FR');
$view->headLink() $view->headLink()
->appendStylesheet('/libs/bootstrap-v3.0.2/css/bootstrap.min.css', 'all') ->appendStylesheet('/libs/bootstrap-v3.0.3/css/bootstrap.min.css', 'all')
->appendStylesheet('/themes/default/css/docs.css', 'all') ->appendStylesheet('/themes/default/css/docs.css', 'all')
->appendStylesheet('/themes/default/css/main.css', 'all'); ->appendStylesheet('/themes/default/css/main.css', 'all');
$view->headScript() $view->headScript()
->appendFile('/libs/html5shiv.js', 'text/javascript', array('conditional' => 'lt IE 9')) ->appendFile('/libs/html5shiv.js', 'text/javascript', array('conditional' => 'lt IE 9'))
->appendFile('/libs/respond.min.js', 'text/javascript', array('conditional' => 'lt IE 9')); ->appendFile('/libs/respond.min.js', 'text/javascript', array('conditional' => 'lt IE 9'))
->appendFile('/libs/jquery-1.10.2.min.js', 'text/javascript')
$view->inlineScript() ->appendFile('/libs/bootstrap-v3.0.3/js/bootstrap.min.js', 'text/javascript');
->appendFile('/libs/jquery-2.0.3.min.js', 'text/javascript')
->appendFile('/libs/bootstrap-v3.0.2/js/bootstrap.min.js', 'text/javascript');
$view->headTitle()->setSeparator(' - '); $view->headTitle()->setSeparator(' - ');
$view->headTitle('Web Service API - Scores & Decisions'); $view->headTitle('Web Service API - Scores & Decisions');

View File

@ -1,6 +0,0 @@
<?php
class Application_Model_Sdv1GreffeCommandes extends Zend_Db_Table_Abstract
{
protected $_name = 'greffe_commandes';
protected $_schema = 'sdv1';
}

View File

@ -0,0 +1,6 @@
<?php
class Application_Model_Sdv1GreffeCommandesAc extends Zend_Db_Table_Abstract
{
protected $_name = 'greffe_commandes_ac';
protected $_schema = 'sdv1';
}

View File

@ -0,0 +1,6 @@
<?php
class Application_Model_Sdv1GreffeCommandesBi extends Zend_Db_Table_Abstract
{
protected $_name = 'greffe_commandes_bi';
protected $_schema = 'sdv1';
}

View File

@ -88,6 +88,12 @@ class Metier_Infogreffe
*/ */
public $date_acte; public $date_acte;
/**
*
* @var unknown
*/
public $type_acte;
/** /**
* AC : Numéro de l'acte * AC : Numéro de l'acte
* @var string * @var string
@ -324,6 +330,7 @@ class Metier_Infogreffe
$commande->addChild('dossier_statut',$this->dossier_statut); $commande->addChild('dossier_statut',$this->dossier_statut);
$commande->addChild('dossier_chrono',$this->dossier_chrono); $commande->addChild('dossier_chrono',$this->dossier_chrono);
$commande->addChild('num_depot',$this->num_depot); $commande->addChild('num_depot',$this->num_depot);
//Date de cloture au format dd/MM/yyyy
$commande->addChild('date_cloture', $this->date_cloture); $commande->addChild('date_cloture', $this->date_cloture);
} }
// Commande de documents : actes // Commande de documents : actes
@ -358,7 +365,7 @@ class Metier_Infogreffe
$req = utf8_encode($this->xml); $req = utf8_encode($this->xml);
if ($this->debug) { if ($this->debug) {
file_put_contents($this->type_document.'-'.$this->siren.'-'.$this->mode_diffusion.'.query'); file_put_contents($this->type_document.'-'.$this->siren.'-'.$this->mode_diffusion.'.query', $this->xml);
} }
//Create XML request //Create XML request

View File

@ -88,9 +88,8 @@ class Metier_Infogreffe_Ac extends Metier_Infogreffe
$item->infos[] = $decisions; $item->infos[] = $decisions;
//@todo : si présence de fichier alors mode T
$mode_diffusion = explode(',', $row->mode_diffusion); $mode_diffusion = explode(',', $row->mode_diffusion);
if (in_array('T',$mode_diffusion)) { if (in_array('T',$mode_diffusion) || !empty($item->File)) {
$item->ModeDiffusion = 'T'; $item->ModeDiffusion = 'T';
} elseif (in_array('C',$mode_diffusion)) { } elseif (in_array('C',$mode_diffusion)) {
$item->ModeDiffusion = 'C'; $item->ModeDiffusion = 'C';
@ -189,20 +188,54 @@ class Metier_Infogreffe_Ac extends Metier_Infogreffe
return $filename; return $filename;
} }
public function getCommandeC($id) /**
*
* @param unknown $depotDate
* @param unknown $depotNum
* @param unknown $acteType
* @param unknown $acteDate
* @param unknown $acteNum
* @param string $reference
* @throws Exception
* @return boolean
*/
public function getCommandeC($depotDate, $depotNum, $acteType, $acteDate, $acteNum, $reference = '')
{ {
$this->mode_diffusion = 'C'; //Lire dans la base de données
$actesM = new Application_Model_JoGreffesActes();
$sql = $actesM->select()
->where('siren=?', $this->siren)
->where('num_depot=?', $depotNum)
->where('date_depot=?', $depotDate)
->where('num_acte=?', $acteNum)
->where('date_acte=?', $acteDate)
->where('type_acte=?', $acteType);
$row = $actesM->fetchRow($sql);
if ( null === $row ) {
throw new Exception('Not exist');
}
$this->reference_client = $reference;
//Enregistrer la commande dans la base de données //Générer les paramètres de commande depuis la base de données
$this->greffe = $row->numGreffe;
//Récupérer l'id de commande $this->dossier_millesime = substr($row->numRC,0,2);
$this->reference_client = 'G'.$id; $this->dossier_statut = substr($row->numRC,2,1);
$this->dossier_chrono = substr($row->numRC,3);
$this->num_depot = $row->num_depot;
$this->type_acte = $row->type_acte;
$this->date_acte = $row->date_acte;
$this->num = $row->num_acte;
//Faire la requete
try {
$xml = $this->callRequest(); $xml = $this->callRequest();
//@todo : } catch(Exception $e) {
//@todo : Gestion des erreurs
return false;
}
return true;
} }
/** /**

View File

@ -82,11 +82,14 @@ class Metier_Infogreffe_Bi extends Metier_Infogreffe
$item->Millesime = $row->millesime; $item->Millesime = $row->millesime;
$item->NumDepot = $row->num_depot; $item->NumDepot = $row->num_depot;
$item->DateCloture = $row->date_cloture; $item->DateCloture = $row->date_cloture;
if ( empty($type_comptes) ) {
$item->Type = 'sociaux';
} else {
$item->Type = $row->type_comptes; $item->Type = $row->type_comptes;
}
$mode_diffusion = explode(',', $row->mode_diffusion); $mode_diffusion = explode(',', $row->mode_diffusion);
//@todo : si présence de fichier alors mode T
if (in_array('T',$mode_diffusion)) { if (in_array('T',$mode_diffusion) || !empty($item->File)) {
$item->ModeDiffusion = 'T'; $item->ModeDiffusion = 'T';
} elseif (in_array('C',$mode_diffusion)) { } elseif (in_array('C',$mode_diffusion)) {
$item->ModeDiffusion = 'C'; $item->ModeDiffusion = 'C';

View File

@ -3557,7 +3557,7 @@ TOTAL : $dureeTot s\n";
if ($histo) { if ($histo) {
$bodacc=$this->iDb->select( $bodacc=$this->iDb->select(
'bodacc_dirigeants d, bodacc_detail b, bodacc_fonctions f', 'bodacc_dirigeants d, bodacc_detail b, bodacc_fonctions f',
'd.num, d.dateEffet, d.Rubrique, d.fonction, d.rs, d.nom, d.prenom, d.nomUsage, d.depart, d.dateInsert, f.libelle', 'd.num, d.dateEffet, d.Rubrique, d.fonction, d.dirSiren, d.rs, d.nom, d.prenom, d.nomUsage, d.depart, d.dateInsert, f.libelle',
"b.SIREN=$siren AND b.id=d.id AND b.typeEven NOT BETWEEN 5000 AND 5700 AND b.typeEven NOT BETWEEN 2700 AND 2900 AND d.fonction=f.codeFct GROUP BY d.fonction, d.rs, d.nom, d.prenom ORDER BY d.dateEffet DESC, d.fonction DESC", true, MYSQL_ASSOC); "b.SIREN=$siren AND b.id=d.id AND b.typeEven NOT BETWEEN 5000 AND 5700 AND b.typeEven NOT BETWEEN 2700 AND 2900 AND d.fonction=f.codeFct GROUP BY d.fonction, d.rs, d.nom, d.prenom ORDER BY d.dateEffet DESC, d.fonction DESC", true, MYSQL_ASSOC);
if (count($bodacc)>0) { if (count($bodacc)>0) {
foreach ($bodacc as $k=>$ann) { foreach ($bodacc as $k=>$ann) {
@ -3570,6 +3570,7 @@ TOTAL : $dureeTot s\n";
continue;*/ continue;*/
$tabRet[]=array( 'Fonction' => $ann['fonction'], $tabRet[]=array( 'Fonction' => $ann['fonction'],
'Titre' => $ann['libelle'], 'Titre' => $ann['libelle'],
'Siren' => $ann['dirSiren'],
'Societe' => $ann['rs'], 'Societe' => $ann['rs'],
'Nom' => trim(strtr($ann['nom'], array( "Modification d'"=>'', 'Nom' => trim(strtr($ann['nom'], array( "Modification d'"=>'',
"Modification de"=>'', "Modification de"=>'',
@ -3701,7 +3702,7 @@ TOTAL : $dureeTot s\n";
if (!$histo) { if (!$histo) {
$bodacc=$this->iDb->select( $bodacc=$this->iDb->select(
'bodacc_dirigeants d, bodacc_detail b, bodacc_fonctions f', 'bodacc_dirigeants d, bodacc_detail b, bodacc_fonctions f',
'd.num, d.dateEffet, d.Rubrique, d.fonction, d.rs, d.nom, d.prenom, d.nomUsage, d.depart, d.dateInsert, f.libelle', 'd.num, d.dateEffet, d.Rubrique, d.fonction, d.dirSiren, d.rs, d.nom, d.prenom, d.nomUsage, d.depart, d.dateInsert, f.libelle',
"b.SIREN=$siren AND b.id=d.id AND b.typeEven NOT BETWEEN 5000 AND 5700 AND b.typeEven NOT BETWEEN 2700 AND 2900 AND d.fonction=f.codeFct AND d.fonction BETWEEN 300 AND 304 GROUP BY d.fonction, d.rs, d.nom, d.prenom ORDER BY d.dateEffet DESC, d.fonction DESC", false, MYSQL_ASSOC); "b.SIREN=$siren AND b.id=d.id AND b.typeEven NOT BETWEEN 5000 AND 5700 AND b.typeEven NOT BETWEEN 2700 AND 2900 AND d.fonction=f.codeFct AND d.fonction BETWEEN 300 AND 304 GROUP BY d.fonction, d.rs, d.nom, d.prenom ORDER BY d.dateEffet DESC, d.fonction DESC", false, MYSQL_ASSOC);
if (count($bodacc)>0) { if (count($bodacc)>0) {
foreach ($bodacc as $k=>$ann) { foreach ($bodacc as $k=>$ann) {
@ -3722,6 +3723,7 @@ TOTAL : $dureeTot s\n";
//if ($rs==$nom) //if ($rs==$nom)
$tabRet[]=array('Fonction' => $ann['fonction'], $tabRet[]=array('Fonction' => $ann['fonction'],
'Titre' => $ann['libelle'], 'Titre' => $ann['libelle'],
'Siren' => $ann['dirSiren'],
'Societe' => $rs, 'Societe' => $rs,
'Nom' => $nom, 'Nom' => $nom,
'Prenom' => $prenom, 'Prenom' => $prenom,

View File

@ -1,3 +1,17 @@
Problème à debugger
===================
Version 411 :
FRANCHISE AMO ET SOFT
Commentaires
Faire disparaitre <BLOC>
Code 34810 supprimé espace sur ' {NOMEN}'
Code 9995 ajouté fin de balise </I>
Code 396000, ligne 20 : apostrophe
Code 740160, ligne 10 : apostrophe sur "les frais d'établissement"
Code 770061, ligne 10 : apostrophe sur "la durée moyenne d'extinction"
Code 770221, ligne : apostrophe sur "l'article"
Code 770222, ligne : apostrophe sur "l'article"
Amélioration des scores Amélioration des scores
======================= =======================

View File

@ -23,7 +23,7 @@ $tabCommentaires[8021][2][10] = "L'avis de Dissolution anticipée de la Sociét
$tabCommentaires[8101][2][10] = "<BR>{\"NOMEN\"} fait partie des 2000 plus grosses entreprises Françaises. La complexité de la structure du groupe limite la portée de l'analyse des Forces & Faiblesses de cette seule entité. L'analyse complète est désactivée mais nous conservons les tableaux synthétiques."; $tabCommentaires[8101][2][10] = "<BR>{\"NOMEN\"} fait partie des 2000 plus grosses entreprises Françaises. La complexité de la structure du groupe limite la portée de l'analyse des Forces & Faiblesses de cette seule entité. L'analyse complète est désactivée mais nous conservons les tableaux synthétiques.";
$tabCommentaires[8102][2][10] = "<BR>{\"NOMEN\"} fait partie des 2000 plus grosses entreprises Françaises. La complexité de la structure du groupe limite la portée de l'analyse des Forces & Faiblesses de cette seule entité. L'analyse complète est désactivée mais nous conservons les tableaux synthétiques."; $tabCommentaires[8102][2][10] = "<BR>{\"NOMEN\"} fait partie des 2000 plus grosses entreprises Françaises. La complexité de la structure du groupe limite la portée de l'analyse des Forces & Faiblesses de cette seule entité. L'analyse complète est désactivée mais nous conservons les tableaux synthétiques.";
$tabCommentaires[8103][2][10] = "<BR>{\"NOMEN\"} fait partie des 2000 plus grosses entreprises Françaises. La complexité de la structure du groupe limite la portée de l'analyse des Forces & Faiblesses de cette seule entité. L'analyse complète est désactivée mais nous conservons les tableaux synthétiques."; $tabCommentaires[8103][2][10] = "<BR>{\"NOMEN\"} fait partie des 2000 plus grosses entreprises Françaises. La complexité de la structure du groupe limite la portée de l'analyse des Forces & Faiblesses de cette seule entité. L'analyse complète est désactivée mais nous conservons les tableaux synthétiques.";
$tabCommentaires[9995][2][1] = "L'objet social publié dans les annonces légales est libellé comme : <I>\"{ANNONCEOBJET}\". $tabCommentaires[9995][2][1] = "L'objet social publié dans les annonces légales est libellé comme : <I>\"{ANNONCEOBJET}\"</I>.
"; ";
$tabCommentaires[9996][2][1] = "Au répertoire national l'activité est codifiée {APEENT(5)}, ({APEENT}). $tabCommentaires[9996][2][1] = "Au répertoire national l'activité est codifiée {APEENT(5)}, ({APEENT}).
"; ";
@ -1035,7 +1035,7 @@ $tabCommentaires[770040][2][10] = "<TR CLASS=\"NORMAL\"><TD>Annuité/recettes
$tabCommentaires[770050][2][10] = "<TR CLASS=\"NORMAL\"><TD>Ratio de surendettement (en-cours de la dette/produits de fonctionnement) </TD><TD>{RQ[829]} </TD><TD><I></I> </TD> </TR>"; $tabCommentaires[770050][2][10] = "<TR CLASS=\"NORMAL\"><TD>Ratio de surendettement (en-cours de la dette/produits de fonctionnement) </TD><TD>{RQ[829]} </TD><TD><I></I> </TD> </TR>";
$tabCommentaires[770051][2][10] = "<TR CLASS=\"NORMAL\"><TD>Ratio de surendettement (en-cours de la dette/produits de fonctionnement) </TD><TD>{RQ[829]} </TD><TD><I>Indique les marges de manœuvre pour les années à venir. Le seuil d'alerte est à 121 %</I> </TD> </TR>"; $tabCommentaires[770051][2][10] = "<TR CLASS=\"NORMAL\"><TD>Ratio de surendettement (en-cours de la dette/produits de fonctionnement) </TD><TD>{RQ[829]} </TD><TD><I>Indique les marges de manœuvre pour les années à venir. Le seuil d'alerte est à 121 %</I> </TD> </TR>";
$tabCommentaires[770060][2][10] = "<TR CLASS=\"NORMAL\"><TD>Durée d'extinction de la dette (dette/épargne brute) </TD><TD>{R[869]} </TD><TD><I> </I> </TD> </TR>"; $tabCommentaires[770060][2][10] = "<TR CLASS=\"NORMAL\"><TD>Durée d'extinction de la dette (dette/épargne brute) </TD><TD>{R[869]} </TD><TD><I> </I> </TD> </TR>";
$tabCommentaires[770061][2][10] = "<TR CLASS=\"NORMAL\"><TD>Durée d'extinction de la dette (dette/épargne brute) </TD><TD>{R[869]} </TD><TD><I> Pour les communes de plus de 10 000 hab , la durée moyenne d'extinction de la dette est de 5,8 années.</I> </TD> </TR>"; $tabCommentaires[770061][2][10] = "<TR   CLASS=\"NORMAL\"><TD>Durée d'extinction de la dette (dette/épargne brute) </TD><TD>{R[869]} </TD><TD><I> Pour les communes de plus de 10 000 hab , la durée moyenne d'extinction de la dette est de 5,8 années.</I> </TD> </TR>";
$tabCommentaires[770100][2][0] = "<H4>Analyse des charges"; $tabCommentaires[770100][2][0] = "<H4>Analyse des charges";
$tabCommentaires[770100][2][1] = "<TABLE CLASS=\"TABLEAUSIMPLEDROITE\" id=\"ANACHARGES\">"; $tabCommentaires[770100][2][1] = "<TABLE CLASS=\"TABLEAUSIMPLEDROITE\" id=\"ANACHARGES\">";
$tabCommentaires[770100][2][2] = "<TR CLASS=\"TITRES\"> <TH>année {COLLANNEE} </TH><TH>Ratio </TH><TH>Observations </TH></TR>"; $tabCommentaires[770100][2][2] = "<TR CLASS=\"TITRES\"> <TH>année {COLLANNEE} </TH><TH>Ratio </TH><TH>Observations </TH></TR>";

View File

@ -1,4 +1,4 @@
<?php <?
/** Ratios pour les collectivités **/ /** Ratios pour les collectivités **/
global $tabZones2Ratios; global $tabZones2Ratios;
@ -209,6 +209,7 @@
'R44c'=>'Rs[841]', 'R44c'=>'Rs[841]',
); );
/** Conversion des zones pour les collectivités **/ /** Conversion des zones pour les collectivités **/
function convertZones($codeR, $zonesDB) { function convertZones($codeR, $zonesDB) {
global $tabZones2Ratios; global $tabZones2Ratios;

View File

@ -254,7 +254,7 @@ function formatValeur($variable, $longeur=0, $fonction='')
return $variable; return $variable;
} else { } else {
if ($nomVar=='ZEMET') { if ($nomVar=='ZEMET') {
$strTmp=eval("return $valeur;"); global $RPEN;
if (isset($tabVariables['ZEMET'][$RPEN.$ZEMET]['art'])) if (isset($tabVariables['ZEMET'][$RPEN.$ZEMET]['art']))
return $tabVariables['ZEMET'][$RPEN.$ZEMET]['art']; return $tabVariables['ZEMET'][$RPEN.$ZEMET]['art'];
else else
@ -826,11 +826,11 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
$SOCIETE_COTE_ISIN=$tabIdentite['Isin']; $SOCIETE_COTE_ISIN=$tabIdentite['Isin'];
if ($SOCIETE_COTE_ISIN<>'') { if ($SOCIETE_COTE_ISIN<>'') {
$SOCIETE_COTE=true; $SOCIETE_COTE=true;
$SOCIETE_COTE_PLACE=$tabRet['Bourse']['placeCotation']; $SOCIETE_COTE_PLACE=$tabIdentite['Bourse']['placeCotation'];
$SOCIETE_COTE_MARCHE=$tabRet['Bourse']['marche']; $SOCIETE_COTE_MARCHE=$tabIdentite['Bourse']['marche'];
$SOCIETE_COTE_CAPITALISATION=$tabRet['Bourse']['capitalisation']; // Afficher en KE $SOCIETE_COTE_CAPITALISATION=$tabIdentite['Bourse']['capitalisation']; // Afficher en KE
$SOCIETE_COTE_COURS=$tabRet['Bourse']['derCoursCloture']; $SOCIETE_COTE_COURS=$tabIdentite['Bourse']['derCoursCloture'];
$SOCIETE_COTE_COURS_DATE=$tabRet['Bourse']['derCoursDate']; $SOCIETE_COTE_COURS_DATE=$tabIdentite['Bourse']['derCoursDate'];
$SOCIETE_COTE_COURS_MIN=0;//@todo:$tabRet['Bourse']['derCoursDate']; $SOCIETE_COTE_COURS_MIN=0;//@todo:$tabRet['Bourse']['derCoursDate'];
$SOCIETE_COTE_COURS_MAX=0;//@todo:$tabRet['Bourse']['derCoursDate']; $SOCIETE_COTE_COURS_MAX=0;//@todo:$tabRet['Bourse']['derCoursDate'];
} }

View File

@ -3,13 +3,13 @@ class Scores_Auth_Adapter_Ws implements Zend_Auth_Adapter_Interface
{ {
/** /**
* *
* @var unknown * @var string
*/ */
protected $_username; protected $_username;
/** /**
* *
* @var unknown * @var string
*/ */
protected $_password; protected $_password;

View File

@ -0,0 +1,77 @@
Graydon WebService
==================
Get the report, or place an order on a company.
- Store report in database
- Move the report to an history if a more recent is available
Identify item that can be interesting for us and our customer.
a CLI could assemble all items, from the differents partners Graydon, Giant, Interne in order to
create an international database.
How Graydon works
=================
http://localhost:9080/CompanyData_webservice/services/SOAPPort_v1_2
getCompanyMatchesByAll
getCompanyMatchesByIdentifier
getCompanyMatchesByKeyword
getCompanyMatchesByName
getCompanyMatchesByPostCode
getCompanyProducts
getCompanyReport
getCompanyMatchIdentifiers
getCompanyMatchMethods
getCountryAvailability
- By cli get regurlarly the available product by country (store it in database)
Country
Code
ServiceSpeed
enum { 'Normal', 'Express', 'Superflash', 'Immediate', 'ImmediateWithUpdate', 'Unknown', 'Delayed' }
Level
Type
enum { 'Database', 'Investigation', 'Unknown' }
DaysFrom
DaysTo
CompanyProductIdentifier => use in placeOrder
TypeHtml
TypeXml => is our prefer format
TypePdf
TypeDoc
getCountryStylesheets
placeOrder
checkOrders
getDemoCompanies
ping
Store report in database
========================
getCompanyReport
IN => OrderReference
MimeType (html, xml, doc, pdf)
OUT =>
Orders
======
placeOrder
IN => ClientReference
CompanyProductIdentifier
OUT =>
XML Data Schema
===============
http://www.graydon.co.uk/GraydonXMLSchema/xsd/GraydonUKCompanySchema.xsd
http://www.graydon.co.uk/GraydonXMLSchema/documentation/GraydonUKCompanySchema/GraydonUKCompanySchema.html

View File

@ -0,0 +1,51 @@
<?php
class SdMetier_Graydon_Service extends Zend_Soap_Client
{
protected $PartnerClientId = '32790';
protected $PartnerUserId = 'SESS38R7';
protected $ParterPassword = 'E88MSU4p';
public function __construct()
{
//Set the WSDL
$this->_wsdl = __DIR__ . DIRECTORY_SEPARATOR . 'GraydonCompanyData.wsdl';
//Set options
$options = array(
'features' => SOAP_USE_XSI_ARRAY_TYPE + SOAP_SINGLE_ELEMENT_ARRAYS,
'compression' => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP | SOAP_COMPRESSION_DEFLATE,
);
}
/**
*
* @return stdClass
*/
protected function _AuthenticationParameters()
{
$params = new stdClass();
$params->PartnerUserId = $this->PartnerUserId;
$params->PartnerPassword = $this->ParterPassword;
$params->PartnerClientId = '';
$params->SessionID = '';
return $params;
}
/**
*
* @param string $country
*/
public function getCountryAvailability( $country = null )
{
$client = $this->getSoapClient();
$params = new stdClass();
$params->Authentication_Parameters = $this->_AuthenticationParameters();
if ( $country !== null ) {
$params->Country = $country;
}
return $client->getCountryAvailability($params);
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,340 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Chris Boyce (Graydon UK Limited) -->
<schema targetNamespace="http://xml.graydon.co.uk/GraydonUKCommonTypes" xmlns:tns="http://xml.graydon.co.uk/GraydonUKCommonTypes" xmlns="http://www.w3.org/2001/XMLSchema">
<simpleType name="CompanyTypesType">
<restriction base="string">
<enumeration value="Associate"/>
<enumeration value="Branch"/>
<enumeration value="Client"/>
<enumeration value="Enquiry"/>
<enumeration value="Holding"/>
<enumeration value="Known_As"/>
<enumeration value="Lender"/>
<enumeration value="OtherDirectorship"/>
<enumeration value="Parent"/>
<enumeration value="Shareholder"/>
<enumeration value="Subject"/>
<enumeration value="Subsidiary"/>
<enumeration value="Trustee"/>
<enumeration value="UltimateHolding"/>
</restriction>
</simpleType>
<simpleType name="NameTypesType">
<restriction base="string"/>
</simpleType>
<simpleType name="CompanyIdTypesType">
<restriction base="string">
<enumeration value="Buyers_Number"/>
<enumeration value="Chamber_Of_Commerce"/>
<enumeration value="SIREN_Number"/>
<enumeration value="SIRET_Number"/>
<enumeration value="Unique_Company_Number"/>
<enumeration value="National2"/>
<enumeration value="VAT"/>
<enumeration value="Internal"/>
<enumeration value="National1"/>
<enumeration value="Web_Address"/>
<enumeration value="Fiscal_Code"/>
<enumeration value="National_Government_Business_Identification_Number"/>
<enumeration value="NIT"/>
<enumeration value="RIF"/>
<enumeration value="RUC_Number"/>
<enumeration value="TSR"/>
<enumeration value="Unknown"/>
<enumeration value="Company_Registration_Number"/>
</restriction>
</simpleType>
<simpleType name="CountryDialCodeType">
<restriction base="string"/>
</simpleType>
<simpleType name="CountryISOCodeType">
<restriction base="string"/>
</simpleType>
<simpleType name="CountryType" final="list">
<restriction base="string">
<minLength value="0"/>
<maxLength value="100"/>
<whiteSpace value="preserve"/>
</restriction>
</simpleType>
<complexType name="AddressType">
<sequence>
<element name="EntireAddress" type="string" minOccurs="0" maxOccurs="1"/>
<element name="Building" minOccurs="0" type="string"/>
<element name="Street" minOccurs="0" type="string"/>
<element name="Town" minOccurs="0" type="string"/>
<element name="City" minOccurs="0" type="tns:CityType"/>
<element name="County" minOccurs="0" type="string"/>
<element name="PostCode" minOccurs="0" type="tns:PostCodeType"/>
<element name="Country" type="tns:CountryType" minOccurs="0"/>
</sequence>
</complexType>
<simpleType name="FreeTextTypesType">
<restriction base="string">
<enumeration value="Accounts"/>
<enumeration value="Activities"/>
<enumeration value="Additional Info"/>
<enumeration value="Amount_Secured"/>
<enumeration value="Amount_Satisfied"/>
<enumeration value="Annual_Report"/>
<enumeration value="Auditors"/>
<enumeration value="Auditors_Qualification"/>
<enumeration value="Augur_Score_Description"/>
<enumeration value="Augur_Score_Explanation"/>
<enumeration value="Brief History"/>
<enumeration value="Capital"/>
<enumeration value="Credit_Score_Description"/>
<enumeration value="Credit_Score_Explanation"/>
<enumeration value="Current Scorecard"/>
<enumeration value="Description"/>
<enumeration value="Document_Description"/>
<enumeration value="Enquiry_Answer"/>
<enumeration value="Enquiry_Question"/>
<enumeration value="Error_Message"/>
<enumeration value="Financial Notes"/>
<enumeration value="Financial/commercial situation"/>
<enumeration value="Fixed_Assets"/>
<enumeration value="Gearing trend"/>
<enumeration value="General Info"/>
<enumeration value="Increase_in_CCJs_Or_Scottish_Decrees"/>
<enumeration value="Interview"/>
<enumeration value="Liquidity"/>
<enumeration value="Long_Term_Liabilities"/>
<enumeration value="Mortgage_Description"/>
<enumeration value="Nace_disclaimer"/>
<enumeration value="Net_Income"/>
<enumeration value="Net_Worth"/>
<enumeration value="No_Accounts_at_CRO"/>
<enumeration value="No_Pre_Tax"/>
<enumeration value="No_Pre-Tax_Profit"/>
<enumeration value="No_Turnover"/>
<enumeration value="Non_trading_position"/>
<enumeration value="Note"/>
<enumeration value="Occupation"/>
<enumeration value="Only_Turnover"/>
<enumeration value="Operating_Loss"/>
<enumeration value="Operating_Profit"/>
<enumeration value="Payment Trend"/>
<enumeration value="Payments"/>
<enumeration value="Position"/>
<enumeration value="Pre_Tax"/>
<enumeration value="Pre_Tax_Profit"/>
<enumeration value="Premises"/>
<enumeration value="Product_Description"/>
<enumeration value="Product_Secondary_Warning"/>
<enumeration value="Profit_or_Loss"/>
<enumeration value="Property_Details"/>
<enumeration value="Public Info"/>
<enumeration value="Reference"/>
<enumeration value="Registered_Objectives"/>
<enumeration value="Serviced_by"/>
<enumeration value="Share_Description"/>
<enumeration value="Summary"/>
<enumeration value="Total_Equity"/>
<enumeration value="Trade morality"/>
<enumeration value="Trade_Reference_Comment"/>
<enumeration value="Trend"/>
<enumeration value="Turnover"/>
<enumeration value="Working_Capital"/>
<enumeration value="Xseption"/>
<enumeration value="Xseption Description"/>
<enumeration value="Business trend"/>
</restriction>
</simpleType>
<simpleType name="DateTypesType">
<restriction base="string">
<enumeration value="Account_Opened"/>
<enumeration value="Accounting_Reference"/>
<enumeration value="Accounts"/>
<enumeration value="Accounts_Lodged"/>
<enumeration value="Age_of_Company"/>
<enumeration value="Annual_Return"/>
<enumeration value="Appointment"/>
<enumeration value="Current"/>
<enumeration value="Date_Created"/>
<enumeration value="Date_Fully_Satisfied"/>
<enumeration value="Date_of_Birth"/>
<enumeration value="Date_of_Document"/>
<enumeration value="Date_of_Latest_Mortgage_Created"/>
<enumeration value="Date_of_Latest_Satisfaction"/>
<enumeration value="Date_of_Issue"/>
<enumeration value="Date_Registered"/>
<enumeration value="Enquiry"/>
<enumeration value="Expirary"/>
<enumeration value="Filed_at_Companies_House"/>
<enumeration value="In"/>
<enumeration value="Incorporation"/>
<enumeration value="Latest_Accounts"/>
<enumeration value="Legal_Form_Since"/>
<enumeration value="Message"/>
<enumeration value="Out"/>
<enumeration value="Research"/>
<enumeration value="Resignation"/>
<enumeration value="Settled"/>
<enumeration value="Summary"/>
<enumeration value="Terms_in_Days"/>
<enumeration value="Generation"/>
<enumeration value="Order"/>
<enumeration value="Last database update"/>
<enumeration value="Latest_Accounts_at_CRO"/>
<enumeration value="Registered"/>
</restriction>
</simpleType>
<simpleType name="DateFormatType">
<restriction base="string">
<enumeration value="CCYY"/>
<enumeration value="CCYYMMDD"/>
<enumeration value="DD"/>
<enumeration value="DDMM"/>
<enumeration value="DDMMCCYY"/>
<enumeration value="MM"/>
<enumeration value="MMCCYY"/>
<enumeration value="MMDDCCYY"/>
<enumeration value="DD/MM/CCYY"/>
</restriction>
</simpleType>
<simpleType name="TimeTypesType">
<restriction base="string">
<enumeration value="HHMMSS"/>
<enumeration value="HHMM"/>
</restriction>
</simpleType>
<simpleType name="LanguageCodesType">
<restriction base="string">
<enumeration value="E"/>
<enumeration value="F"/>
<enumeration value="D"/>
</restriction>
</simpleType>
<simpleType name="CurrencyDescriptionType">
<restriction base="string">
<enumeration value="Euro"/>
<enumeration value="Japanese Yen"/>
<enumeration value="US Dollar"/>
</restriction>
</simpleType>
<simpleType name="TaxonomyTypesType">
<restriction base="string"/>
</simpleType>
<simpleType name="CommunicationTypesType">
<restriction base="string">
<enumeration value="Telephone"/>
<enumeration value="Fax"/>
<enumeration value="Email"/>
</restriction>
</simpleType>
<simpleType name="Credit_RatingTypesType">
<restriction base="string">
<enumeration value="Augur_Score"/>
<enumeration value="Credit_Rating"/>
<enumeration value="Credit_Score"/>
<enumeration value="Historical_Credit_Rating"/>
<enumeration value="Maximum_Credit_Guide"/>
<enumeration value="Monthly_Credit_Guide"/>
<enumeration value="Previous_Credit_Score"/>
<enumeration value="Requested_Credit_Amount"/>
<enumeration value="Risk_Category"/>
<enumeration value="Risk_Class"/>
</restriction>
</simpleType>
<simpleType name="DirectorsTypesType">
<restriction base="string">
<enumeration value="Director"/>
</restriction>
</simpleType>
<simpleType name="TitleTypesType">
<restriction base="string">
<enumeration value="Mr"/>
<enumeration value="Mrs"/>
</restriction>
</simpleType>
<simpleType name="EmployeesTypesType">
<restriction base="string">
<enumeration value="Employed"/>
<enumeration value="Full_Time_Employees"/>
<enumeration value="Head_Office_Employees"/>
<enumeration value="Staff_Employeed"/>
<enumeration value="Staff_Employees"/>
</restriction>
</simpleType>
<simpleType name="UnitsTypesType">
<restriction base="string">
<enumeration value="1"/>
<enumeration value="10"/>
<enumeration value="100"/>
<enumeration value="1000"/>
</restriction>
</simpleType>
<simpleType name="CurrencyType" final="list">
<restriction base="string">
<enumeration value="GBP"/>
<enumeration value="EUR"/>
<enumeration value="USD"/>
<enumeration value="JYP"/>
<enumeration value="DKK"/>
</restriction>
</simpleType>
<simpleType name="ProductCode">
<restriction base="int"/>
</simpleType>
<simpleType name="CompanyIdType">
<restriction base="string">
<minLength value="1"/>
<whiteSpace value="collapse"/>
</restriction>
</simpleType>
<simpleType name="CompanyNameType">
<restriction base="string">
<minLength value="0"/>
<maxLength value="60"/>
<whiteSpace value="preserve"/>
</restriction>
</simpleType>
<simpleType name="CityType">
<restriction base="string">
<minLength value="0"/>
<maxLength value="100"/>
<whiteSpace value="preserve"/>
</restriction>
</simpleType>
<simpleType name="PostCodeType">
<restriction base="string">
<minLength value="0"/>
<maxLength value="10"/>
<whiteSpace value="preserve"/>
</restriction>
</simpleType>
<simpleType name="MimeTypesType">
<restriction base="string">
<enumeration value="html"/>
<enumeration value="xml"/>
<enumeration value="pdf"/>
<enumeration value="doc"/>
</restriction>
</simpleType>
<simpleType name="CommunicationType">
<restriction base="string"/>
</simpleType>
<simpleType name="OrderReferenceType">
<annotation>
<documentation>Unique order reference assigned to the customer for company product ordered</documentation>
</annotation>
<restriction base="int">
<whiteSpace value="collapse"/>
</restriction>
</simpleType>
<simpleType name="ActivityTypesType">
<restriction base="string">
<enumeration value="NACE"/>
<enumeration value="SIC"/>
</restriction>
</simpleType>
</schema>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,33 @@
Graydon UK Web Services
This document explains the PHP scripts used to communicate with the Web Service functions.
Run Requests:
1) Install PHP onto the computer.
2) Add the php root directory to the system PATH.
3) From the command line run the php scripts passing the correct command line options.
Examples:
1) php checkorders.php <username> <password> Delivered 0 " " 2008-10-02
2) php getCompanyMatchesByKeyword.php <username> <password> "United Kingdom" Company " " " "
3) php companyproducts.php <username> <password> "UNITED KINGDOM:National1:GR064240"
Php version:
5.2.8
Web Service:
requests - checkorders: Returns a list of orders that match the search criteria.
- companyproducts: Returns a list of products for a company that match the company match identifier.
- getCompanyMatchesByKeyword: Returns a list of Companies that match the search criteria.
Command Line Arguments:
All the scripts use command line arguments, the two constant arguments for all scripts is the
username and password. Both the username and password are used by the web service to authenticate
the request.
argument 1 = Username
argument 2 = Password
argument 3 = Function parameters
. = Function parameters
. = Function parameters
. = Function parameters
argument x = Function parameters

View File

@ -0,0 +1,66 @@
<?php
/*
* Created on 12 Feb 2009
* This PHP script demonstrates how to consume a Graydon Web Service <companyproducts>.
* The output will consist of a list of the transaction identifier, the user id, the company name
* and a list of the product codes for that company.
* Command line arguments
* 1) Username
* 2) Password
* 3) Order State ( <Delivered>, <ReCompleted>, <Completed>, <Notified>, <Assigned>, <Initialised> )
* 4) Order Reference
* 5) Client Reference
* 6) Date ( YYYY-MM-DD xsd format )
*/
// Create a soap client
$client = new SoapClient("GraydonCompanyData.wsdl",array('features' => SOAP_SINGLE_ELEMENT_ARRAYS));
// Create the authentication parameters object
$authentication = new StdClass();
// Initialise the authentication parameters
$authentication->PartnerUserId = $argv[1];
$authentication->PartnerPassword = $argv[2];
$authentication->PartnerClientId = '';
$authentication->SessionID = '';
// Create a new request parameters object
$request = new StdClass();
// Initialise the parameters object
$request->Authentication_Parameters = $authentication;
$request->OrderState = $argv[3];
$request->OrderReference = $argv[4];
$request->ClientReference = $argv[5];
$request->DateFrom = $argv[6];
try
{
// Make request to the web service
$result = $client->checkOrders($request);
// Print out the result
print "\nThe Returned data: ";
print "\n * Service Log: ";
print "\n * Transaction Identifier - ";
print $result->Service_Log->TransactionIdentifier;
print "\n * Partner User Id - ";
print $result->Service_Log->PartnerUserId;
print "\n * Orders: ";
// Get the orders returned from the request
$orders = $result->CheckOrders->OrderStatus;
$count = count($orders);
// For each order
for($i = 0; $i < $count; $i ++)
{
// Print out the order details
print "\n *Order: ";
print print $orders[$i]->Order->Name;
print "\n * Order Reference - ";
print $orders[$i]->OrderReference;
print "\n * Order State - ";
print $orders[$i]->OrderState;
}
}
catch( SoapFault $exception )
{
// Print the exception
print "\n Exception ";
var_dump($exception->detail);
}
?>

View File

@ -0,0 +1,60 @@
<?php
/*
* Created on 11 Feb 2009
* This PHP script demonstrates how to consume a Graydon Web Service <companyproducts>.
* The output will consist of a list of the transaction identifier, the user id, the company name
* and a list of the product codes for that company.
* Command line arguments
* 1) Username
* 2) Password
* 3) Company Match Identifier
*/
// Create a soap client
$client = new SoapClient("GraydonCompanyData.wsdl");
// Create the authentication parameters object
$authentication = new StdClass();
// Initialise the authentication parameters
$authentication->PartnerUserId = $argv[1];
$authentication->PartnerPassword = $argv[2];
$authentication->PartnerClientId = '';
$authentication->SessionID = '';
// Create the company identifier object
$identifier = $argv[3];
// Create the getCompanyProducts parameters object
$parameters = new StdClass();
// Initialise the parameters
$parameters->Authentication_Parameters = $authentication;
$parameters->CompanyMatchIdentifier = $identifier;
try
{
// Make a request on the webservice
$result = $client->getCompanyProducts($parameters);
// Output the xml
print "\nThe Returned data: ";
print "\n * Service Log: ";
print "\n * Transaction Identifier - ";
print $result->Service_Log->TransactionIdentifier;
print "\n * Partner User Id - ";
print $result->Service_Log->PartnerUserId;
print "\n * Company: ";
print $result->Company->Name;
print "\n * Products: ";
$array = $result->Products->Product;
$count = count($array);
// For each Product
for($i = 0; $i < $count; $i ++)
{
// Output the product name
print "\n * Product Code - ";
print $array[$i]->Code;
}
}
catch( SoapFault $exception )
{
// Print the exception
print "\n Exception ";
var_dump($exception->detail);
}
?>

View File

@ -0,0 +1,69 @@
<?php
/*
* Created on 12 Feb 2009
* This PHP script demonstrates how to consume a Graydon Web Service <companyproducts>.
* The output will consist of the transaction identifier, the user id and for each company matching
* to the keyword its name and its CompanyMatchIdentifier.
* Command line arguments
* 1) Username
* 2) Password
* 3) Country
* 4) Keyword
* 5) City
* 6) PostCode
*/
// Create a soap client
$client = new SoapClient("GraydonCompanyData.wsdl");
// Create the authentication parameters object
$authentication = new StdClass();
// Initialise the authentication parameters
$authentication->PartnerUserId = $argv[1];
$authentication->PartnerPassword = $argv[2];
$authentication->PartnerClientId = '';
$authentication->SessionID = '';
// Create a new country parameters object
$company = new StdClass();
// Initialise the country object
$company->Country = $argv[3];
$company->ClientReference = '';
// Create the request parameters
$request = new StdClass();
// Initialise the request object
$request->Authentication_Parameters = $authentication;
$request->CompanyMatches_Parameters = $company;
$request->Keyword = $argv[4];
$request->City = $argv[5];
$request->PostCode = $argv[6];
try
{
// Make a request on the web service
$result = $client->getCompanyMatchesByKeyword($request);
// Print out the result
print "\nThe Returned data: ";
print "\n * Service Log: ";
print "\n * Transaction Identifier - ";
print $result->Service_Log->TransactionIdentifier;
print "\n * Partner User Id - ";
print $result->Service_Log->PartnerUserId;
print "\n * Companies: ";
// Get the list of companies
$companies = $result->CompanyMatches->Company;
$count = count($companies);
for($i = 0; $i < $count; $i ++)
{
print "\n * Company - ";
print $companies[$i]->Name;
print "\n * Company Match Identifier - ";
print $companies[$i]->CompanyMatchIdentifier;
}
}
catch( SoapFault $exception )
{
// Print the exception
print "\n Exception ";
var_dump($exception->detail);
}
?>

5
library/SdMetier/README Normal file
View File

@ -0,0 +1,5 @@
Scores & Decisions Working Libraries
====================================

View File

View File

@ -0,0 +1,987 @@
<?php
class SdMetier_Scoring_Vars
{
protected $ACTIFINSEE;
protected $ACTIFRNCS;
protected $ACTISURF;
protected $ACTIVNAT;
protected $ACTIVREG;
protected $ADRDOM;
protected $AGE;
protected $ANNEEp3;
protected $ANNEEp2;
protected $ANNEEp1;
protected $ANNEE;
protected $ANNEE1;
protected $ANNEE2;
protected $ANNEE3;
protected $ANNEE4;
protected $ANNEE5;
protected $ANNONCEADR;
protected $ANNONCEADRDATE;
protected $ANNONCEBOD;
protected $ANNONCEBODA;
protected $ANNONCEBODADATE;
protected $ANNONCEBODB;
protected $ANNONCEBODBDATE;
protected $ANNONCEBODC;
protected $ANNONCEBODCDATE;
protected $ANNONCEBODCMANQDATE;
protected $ANNONCEBODCMANQ_AA;
protected $ANNONCEBODCREGUL;
protected $ANNONCEBODDATE;
protected $ANNONCECAC;
protected $ANNONCECAC2;
protected $ANNONCECAC3;
protected $ANNONCECACDATE;
protected $ANNONCECAP;
protected $ANNONCECAPAUG;
protected $ANNONCECAPAUGDATE;
protected $ANNONCECAPAUGDIM;
protected $ANNONCECAPAUG_AAD;
protected $ANNONCECAPAUG_AAF;
protected $ANNONCECAPDATE;
protected $ANNONCECAPDIM;
protected $ANNONCECAPDIMAUG;
protected $ANNONCECAPDIMDATE;
protected $ANNONCECAPDIM_AAD;
protected $ANNONCECAPDIM_AAF;
protected $ANNONCECAPSIG;
protected $ANNONCECLODELAI;
protected $ANNONCEDATE;
protected $ANNONCEDER;
protected $ANNONCEDERDATE;
protected $ANNONCEDERSOURCE;
protected $ANNONCEDERTEXTE;
protected $ANNONCEDIR;
protected $ANNONCEDIRDATE;
protected $ANNONCEDISSO;
protected $ANNONCEDISSODATE;
protected $ANNONCEDISSONON;
protected $ANNONCEDISSONONDATE;
protected $ANNONCEFJUR;
protected $ANNONCEFJURDATE;
protected $ANNONCEFUS;
protected $ANNONCEFUSDATE;
protected $ANNONCEHISTDATE;
protected $ANNONCEHOM;
protected $ANNONCEHOMDATE;
protected $ANNONCEINTERDIT;
protected $ANNONCEINTERDITDATE;
protected $ANNONCELIM;
protected $ANNONCELJ;
protected $ANNONCELJDATE;
protected $ANNONCELJDELAI;
protected $ANNONCELOC;
protected $ANNONCELOCDATE;
protected $ANNONCEOBJET;
protected $ANNONCEPC;
protected $ANNONCEPCDATE;
protected $ANNONCEPCHISTO;
protected $ANNONCEPC_CESDATE;
protected $ANNONCEPC_INT1;
protected $ANNONCEPC_INT1_TIT;
protected $ANNONCEPC_INT2;
protected $ANNONCEPC_INT2_TIT;
protected $ANNONCEPC_NUM;
protected $ANNONCEPC_OBS;
protected $ANNONCEPLAN;
protected $ANNONCEPLANDATE;
protected $ANNONCEPLANDUREE;
protected $ANNONCEPLANFINDATE;
protected $ANNONCEPLANMODIFDATE;
protected $ANNONCEPOURS;
protected $ANNONCEPOURSDATE;
protected $ANNONCEPUB;
protected $ANNONCERECON;
protected $ANNONCERECONDATE;
protected $ANNONCERJ;
protected $ANNONCERJDATE;
protected $ANNONCESOMM;
protected $ANNONCESOMMDATE;
protected $ANNONCESV;
protected $ANNONCESVDATE;
protected $ANNONCEVC;
protected $ANNONCEVCDATE;
protected $ANNONCEVC_MT;
protected $ANNONCEVC_OBJ;
protected $APE4;
protected $APE5;
protected $APEAGRICPAC;
protected $APEENT;
protected $APEETAB;
protected $APEINSEE;
protected $APERNCS;
protected $AUXILT;
protected $AVIS3ANS;
protected $BILAN;
protected $BILANANNEE;
protected $BILANANNEE1;
protected $BILANANNEE2;
protected $BILANANNEE3;
protected $BILANANNEE4;
protected $BILANANNEE5;
protected $BILANANNEEp;
protected $BILANANNEEp2;
protected $BILANANNEEp3;
protected $BILANANNEEp4;
protected $BILANDATE;
protected $BILANDATEp;
protected $BILANDATEp2;
protected $BILANDATEp3;
protected $BILANDATEp4;
protected $BILANDERANNEE;
protected $BILANFACULT;
protected $BILANFJU;
protected $BILANMANQUE;
protected $BILANNONDIF;
protected $BILANVIEUX;
protected $BILANp;
protected $BILANp2;
protected $BILANp3;
protected $BILANp4;
protected $CABILAN;
protected $CABIOUES;
protected $CAESTIME;
protected $CADBAT_NB_TOT;
protected $CADTER_NB_TOT;
protected $CADBAT_NB_PROP;
protected $CADTER_NB_PROP;
protected $CADBAT_NB_NONPROP;
protected $CADTER_NB_NONPROP;
protected $CADBAT_SURF_CUM;
protected $CADBAT_SURF_TOT;
protected $CADTER_SURF_CUM;
protected $CADTER_SURF_TOT;
protected $CALCUL1;
protected $CALCUL2;
protected $CALCUL3;
protected $CALCUL4;
protected $CALCUL5;
protected $CALCUL6;
protected $CALCUL7;
protected $CALCUL8;
protected $CALCUL9;
protected $CAPITAL;
protected $CAPITAL_CREA;
protected $CAPITAL_PRE;
protected $CAPITAL_NBACTION;
protected $CAPITAL_MTACTION;
protected $CAPITAL_TYPE;
protected $CA_COEF;
protected $CA_TAUX;
protected $CA_Y;
protected $COTELIM;
protected $COTEOK;
protected $COTEOK_MMAA;
protected $COTETYPEHIS;
protected $COTETYPE_MMAA;
protected $CSFACTO;
protected $CSFACTO_MMAA;
protected $DATE;
protected $DATEp;
protected $DEPARTEMENT;
protected $DEPARTEMENT_DE;
protected $DCREN;
protected $DCREN_AA;
protected $DEFAUT_MMAA;
protected $DELAIPAY;
protected $DELAIPAY_MMAA;
protected $DELAIPAYp;
protected $DEPSIE;
protected $DEPSIE_DE;
protected $DIMMAT;
protected $DIMMAT_AA;
protected $DIR1_AGE;
protected $DIR1_FONC;
protected $DIR1_NOM;
protected $DIR1_TYPE;
protected $DIR2_AGE;
protected $DIR2_FONC;
protected $DIR2_NOM;
protected $DIR2_TYPE;
protected $DIR_NB;
protected $DOM_NB;
protected $DOM_NOM;
protected $DOM_SIREN;
protected $EFFBILAN;
protected $EFFECTIF;
protected $EFFECTIF_POPU;
protected $ELIMINE;
protected $ENCOURSDEM;
protected $ENCOURS; // Encours final attribué
protected $ENCOURSCALC; // Encours calculé sans cut-off
protected $ENQUETE;
protected $ENQUETELIM;
protected $ENQUETEMAXI;
protected $ENTREP_ALT;
protected $ETATINSEE;
protected $ETATINSEE_MMAA;
protected $EXPLEN;
protected $EXPLET;
protected $EXPORTRANG;
protected $EXPORTRANG_ARR;
protected $FJUR;
protected $FJUR1;
protected $FJUR2;
protected $FJUR4;
protected $FJURINSEE;
protected $FJURPUB;
protected $FJURRNCS;
protected $FJUR_PRE;
protected $FRANCHISE;
protected $FUSIONPROJET;
protected $FUSIONPROJET_DATE;
protected $FUSIONPROJET_SIREN;
protected $GERANTMAJ;
protected $GRANDGROUPE;
protected $HOLDING;
protected $IMPAYELOURD_MMAA;
protected $IMPAYE_MMAA;
protected $IMPORTRANG;
protected $IMPORTRANG_ARR;
protected $INFLA;
protected $INFLAMOY1;
protected $INFLAMOY2;
protected $INFLAMOY3;
protected $INFLATION;
protected $INFOCESSATION_MMAA;
protected $INFOFACTO;
protected $JOUR_DATE;
protected $JOUR_HEURE;
protected $LCASSUR_MMAA;
protected $LIBARTDEPSIE;
protected $LIEUACT;
protected $LISTEPRODUIT;
protected $MARCHE;
protected $MARCHEPART;
protected $MARCHEPARTEVOL;
protected $MARCHEPARTp;
protected $MARCHEPLACE;
protected $MARCHEPLACE_DEP;
protected $MARCHEVOL;
protected $MARCHEVOLUMEVOL;
protected $MARCHEp;
protected $MARCHESAL;
protected $MARCHESALp;
protected $MARCHENBENT;
protected $MARCHENBENTp;
protected $MARCHENBENT_DEP;
protected $MARCHENBENT_VILLE;
protected $MARCHEPUBLIC3_NB;
protected $MARCHEPUBLIC3_MT;
protected $MARCHEPUBLIC3_POURC;
protected $MARCHEPUBLICAPP3_NB; // Nombre dprotected $avis de marchés attribués par une administration sur les 3 dernières années
protected $MARCHEPUBLIC3APP_MT; // Montant des avis de marchés attribués par une administration sur les 3 dernières années
protected $MARCHEPUBLIC3APP_POURC; // % Par rapport au total des produits de fonctionnement
protected $MARCHEPUBLICDER_OBJ;
protected $MARCHEPUBLICDER_CLI;
protected $MARCHEPUBLICDER_MT;
protected $MARCHEPUBLICDER_DATE;
protected $MARCHEPUBLICDERAPP_OBJ; // @todo
protected $MARCHEPUBLICDERAPP_BEN; // Bénéficiaire
protected $MARCHEPUBLICDERAPP_MT; // ..
protected $MARCHEPUBLICDERAPP_DATE; // ..
protected $MARQUENB;
protected $MARQUENB_INT;
protected $MARQUENB_EUR;
protected $MARQUENB_FR;
protected $MARQUELISTE_INT;
protected $MARQUELISTE_EUR;
protected $MARQUELISTE_FR;
protected $MODEN;
protected $MODIFBILDATE;
protected $MODIFDERDATE;
protected $MODIFINSEE;
protected $MODIFINSEEDATE;
protected $MODIFPAIDATE;
protected $MODIFRNCS;
protected $MODIFRNCSDATE;
protected $MONOACT;
protected $MONOREG;
protected $NBBILAN;
protected $NBBILANMANQUE;
protected $NBBILANSEC;
protected $NBDIRLIEN;
protected $NBDIRSCI;
protected $NBDIRSCIADR;
protected $NBETEXPL;
protected $NBFILLE;
protected $NBINTERRO1;
protected $NBINTERRO12;
protected $NBINTERRO3;
protected $NBINTERRO6;
protected $NBNIC;
protected $NBSOCSEC;
protected $NBSOCSECPUB;
protected $NBSUIVICLI;
protected $NIC;
protected $NICFILLE;
protected $NICMERE;
protected $NIVEAU;
protected $NOMEN;
protected $NOMFILLE;
protected $NOMFUSION;
protected $NOMMERE;
protected $NOTE100;
protected $NOTECAP20;
protected $NOTECFI20;
protected $NOTEDEFPRO;
protected $NOTEDEFSEC;
protected $NOTELED20;
protected $NOTEMEX20;
protected $NOTERBT20;
protected $NOTESBRUTE;
protected $NOTESCORE;
protected $NOTETRES20;
protected $ORIASCAT;
protected $ORIASID;
protected $ORIASID_DATE;
protected $ORIGINE;
protected $PLAN;
protected $PLANMODIF;
protected $POPULATION;
protected $PPNONDIFF;
protected $PRESENTINSEE;
protected $PRESENTRNCS;
protected $PRIVILEGES;
protected $PRIVILEGESECU;
protected $PRIVILEGESECU_MT;
protected $PRIVILEGESURSSAF_MMAA;
protected $PRIVILEGES_MMAA;
protected $PRIVILEGETRES;
protected $PRIVILEGETRES_MT;
protected $PRODPART;
protected $R;
protected $RCAI_COEF;
protected $RCAI_TAUX;
protected $RCAI_Y;
protected $RECME;
protected $REGIMP;
protected $RISQUEACT;
protected $RISQUEACTBASSIN;
protected $RISQUEACT_NB;
protected $RISQUEANALYSE_MMAA;
protected $RISQUEGEO;
protected $RISQUEGEOARRETE;
protected $RISQUEGEOARRETE_AA;
protected $RISQUEGEOARRETE_DATE;
protected $RISQUEGEOARRETE_EVTDATE;
protected $RISQUEGEOARRETE_JODATE;
protected $RISQUEGEOARRETE_NB;
protected $RISQUEGEOARRETE_VILLE;
protected $RISQUEGEO_NB;
protected $RISQUEGROUPE_MMAA;
protected $RISQUEIMPAYE_MMAA;
protected $RJFILLE;
protected $RJMERE;
protected $ROUEDELARELANCE;
protected $RPEN;
protected $RPS_ACCORDDATE;
protected $RPS_INFODATE;
protected $RPS_NEGO;
protected $RPS_PLAN;
protected $Ra;
protected $Rap;
protected $Rdiff;
protected $Revol;
protected $Revolp;
protected $Revolp2;
protected $Revolp3;
protected $Revols;
protected $Rp;
protected $Rp2;
protected $Rp3;
protected $Rp4;
protected $Rs;
protected $Rsp;
protected $Rsp1;
protected $Rsp2;
protected $Rsp3;
protected $SAISONAT;
protected $SCORECONF;
protected $SCOREDEFTAUX;
protected $SCOREDIRI;
protected $SIREN;
protected $SIRENFILLE;
protected $SIRENMERE;
protected $SIRET;
protected $SIRETFILLE;
protected $SIRETMERE;
protected $SITUACT;
protected $SOCIETE_COTE;
protected $SOCIETE_COTE_CAPITALISATION;
protected $SOCIETE_COTE_COURS;
protected $SOCIETE_COTE_COURS_DATE;
protected $SOCIETE_COTE_COURS_MAX;
protected $SOCIETE_COTE_COURS_MIN;
protected $SOCIETE_COTE_ISIN;
protected $SOCIETE_COTE_MARCHE;
protected $SOCIETE_COTE_MARCHE_MERE;
protected $SOCIETE_COTE_PLACE;
protected $T;
protected $TAUXRA;
protected $TAUXRAMOY1;
protected $TAUXRAMOY2;
protected $TAUXRAMOY3;
protected $TCAEXP;
protected $TEMOINACT;
protected $TEMOINACT_MAX;
protected $TEMOINATT;
protected $TEMOINATT_MAX;
protected $TEMOINAVI;
protected $TEMOINAVI_MAX;
protected $TEMOINCAPFAIBLE;
protected $TEMOINCAPFAIBLE_MAX;
protected $TEMOINCLES;
protected $TEMOINCLES_MAX;
protected $TEMOINCONF;
protected $TEMOINCONF_MAX;
protected $TEMOINCYANO;
protected $TEMOINCYANO_MAX;
protected $TEMOINCYC;
protected $TEMOINCYC_MAX;
protected $TEMOINDEF;
protected $TEMOINDEF_MAX;
protected $TEMOINDIAG;
protected $TEMOINDIAG_MAX;
protected $TEMOINDIR;
protected $TEMOINDIR_MAX;
protected $TEMOINEXP;
protected $TEMOINEXP_MAX;
protected $TEMOINFAV;
protected $TEMOINFAV_MAX;
protected $TEMOINFIL;
protected $TEMOINFIL_MAX;
protected $TEMOINFIN;
protected $TEMOINFIN_MAX;
protected $TEMOINFLANO;
protected $TEMOINFLANO_MAX;
protected $TEMOINFLUX;
protected $TEMOINFLUX_MAX;
protected $TEMOINGRAPH;
protected $TEMOINGRAPH_MAX;
protected $TEMOINHIST;
protected $TEMOINHIST_MAX;
protected $TEMOINLOC;
protected $TEMOINLOC_MAX;
protected $TEMOINMAR;
protected $TEMOINMAR_MAX;
protected $TEMOINMARPUB;
protected $TEMOINMARPUB_MAX;
protected $TEMOINMOIN;
protected $TEMOINMOIN_MAX;
protected $TEMOINNORM;
protected $TEMOINNORM_MAX;
protected $TEMOINOBS;
protected $TEMOINOBS_MAX;
protected $TEMOINPAY;
protected $TEMOINPAY_MAX;
protected $TEMOINPLUS;
protected $TEMOINPLUS_MAX;
protected $TEMOINPROF;
protected $TEMOINPROF_MAX;
protected $TEMOINPROJ;
protected $TEMOINPROJ_MAX;
protected $TEMOINREPA;
protected $TEMOINREPA_MAX;
protected $TEMOINRES;
protected $TEMOINRES_MAX;
protected $TEMOINRIS;
protected $TEMOINRIS_MAX;
protected $TEMOINSTACTIF;
protected $TEMOINSTACTIF_MAX;
protected $TEMOINSTANO;
protected $TEMOINSTANO_MAX;
protected $TEMOINSTPASS;
protected $TEMOINSTPASS_MAX;
protected $TEMOINSTRUCT;
protected $TEMOINSTRUCT_MAX;
protected $TEMOINSTSYNT;
protected $TEMOINSTSYNT_MAX;
protected $TEMOINVUL;
protected $TEMOINVUL_MAX;
protected $TEMOINVALBIL;
protected $TEMOINVALBIL_MAX;
protected $TEMOINVALCONC;
protected $TEMOINVALCONC_MAX;
protected $TEMOINVALCR;
protected $TEMOINVALCR_MAX;
protected $TEMOINVALDIAG;
protected $TEMOINVALDIAG_MAX;
protected $TEMOINVALMETH;
protected $TEMOINVALMETH_MAX;
protected $TEMOINVALMRET;
protected $TEMOINVALMRET_MAX;
protected $TEMOINVALPATR;
protected $TEMOINVALPATR_MAX;
protected $TEMOINVALPOND;
protected $TEMOINVALPOND_MAX;
protected $TEMOINVALPRES;
protected $TEMOINVALPRES_MAX;
protected $TEMOINVALRESV;
protected $TEMOINVALRESV_MAX;
protected $TEMOINVALRETR;
protected $TEMOINVALRETR_MAX;
protected $TEMOINVALTABB;
protected $TEMOINVALTABB_MAX;
protected $TEMOINVALTABS;
protected $TEMOINVALTABS_MAX;
protected $TEMOINVALTABR;
protected $TEMOINVALTABR_MAX;
protected $TEMOINVALMINMAX;
protected $TEMOINVALMINMAX_MAX;
protected $TEMOINVALMAXMIN;
protected $TEMOINVALMAXMIN_MAX;
protected $TEMOINADIZES;
protected $TEMOINADIZES_MAX;
protected $TEMOINMRQ;
protected $TEMOINMRQ_MAX;
protected $TEMOINMRQLIST;
protected $TEMOINMRQLIST_MAX;
protected $TRIBUNAL_ACTUEL;
protected $TRIBUNAL_CREATION;
protected $TRIBUNAL_PROCOL;
protected $TU;
protected $TVAINTRA;
protected $TVAINTRAFACULT;
protected $TYPEMERE;
protected $VALCOEFMINCA; //Table baremCA
protected $VALCOEFMAXCA; // Table baremCA
protected $VAL319_EU;
protected $VAL320_EU;
protected $VAL322_EU;
protected $VAL598_EU;
protected $VAL970_EU;
protected $VAL971_EU;
protected $VAL974_EU;
protected $VAL975_EU;
protected $VAL976_EU;
protected $VAL977_EU;
protected $VAL978_EU;
protected $VAL979_EU;
protected $VAL980_EU;
protected $VAL981_EU;
protected $VAL982_EU;
protected $VAL983_EU;
protected $VAL984_EU;
protected $VAL985_EU;
protected $VAL986_EU;
protected $VAL987_EU;
protected $VAL988_EU;
protected $VAL989_EU;
protected $VAL990_EU;
protected $VAL991_EU;
protected $VAL992_EU;
protected $VAL993_EU;
protected $VAL994_EU;
protected $VAL995_EU;
protected $VAL996_EU;
protected $VAL997_EU;
protected $VAL998_EU;
protected $VAL999_EU;
protected $VILLE;
protected $VENTEMAX_VILLE_EU;
protected $VENTEMAX_VILLE_MT;
protected $VENTEMOY_VILLE_EU;
protected $VENTEMOY_VILLE_MT;
protected $VENTEMIN_VILLE_EU;
protected $VENTEMIN_VILLE_MT;
protected $VENTE_VILLE_NB;
protected $VENTEMAX_DEP_EU;
protected $VENTEMAX_DEP_MT;
protected $VENTEMOY_DEP_EU;
protected $VENTEMOY_DEP_MT;
protected $VENTEMIN_DEP_EU;
protected $VENTEMIN_DEP_MT;
protected $VENTE_DEP_NB;
protected $VENTEMAX_FRA_EU;
protected $VENTEMAX_FRA_MT;
protected $VENTEMOY_FRA_EU;
protected $VENTEMOY_FRA_MT;
protected $VENTEMIN_FRA_EU;
protected $VENTEMIN_FRA_MT;
protected $VENTE_FRA_NB;
protected $VENTEMAX_MT; // A supprimer après la 4.02
protected $VENTEMIN_MT; // A supprimer après la 4.02
protected $VENTE_NB; // A supprimer après la 4.02
protected $WALDEC;
protected $Y;
protected $ZEMET;
protected $ZONEPRI;
protected $ZONEPRIAFR;
protected $ZONEPRICUCS;
protected $ZONEPRIZFU;
protected $ZONEPRIZRR;
protected $ZONEPRIZRU;
protected $ZONEPRIZUS;
protected $nm;
protected $nmp;
protected $nmp2;
protected $nmp3;
protected $nmp4;
protected $regR;
protected $regRs;
/**
* Tableau de conversion des communes
* @var unknown
*/
protected $tabZones2Ratios = array(
'R01a'=>'R[801]',
'R01b'=>'Rh[801]',
'R01c'=>'Rs[801]',
'R02a'=>'R[802]',
'R02b'=>'Rh[802]',
'R02c'=>'Rs[802]',
'R02d'=>'Rq[802]',
'R02e'=>'Rt[802]',
'R03a'=>'R[803]',
'R03b'=>'Rh[803]',
'R03c'=>'Rs[803]',
'R03d'=>'Rq[803]',
'R03e'=>'Rt[803]',
'R04a'=>'R[804]',
'R04b'=>'Rh[804]',
'R04c'=>'Rs[804]',
'R04d'=>'Rq[804]',
'R04e'=>'Rt[804]',
'R05a'=>'R[805]',
'R05b'=>'Rh[805]',
'R05c'=>'Rs[805]',
'R06a'=>'R[806]',
'R06b'=>'Rh[806]',
'R06c'=>'Rs[806]',
'R06d'=>'Rq[806]',
'R06e'=>'Rt[806]',
'R07a'=>'R[807]',
'R07b'=>'Rh[807]',
'R07c'=>'Rs[807]',
'R07d'=>'Rq[807]',
'R07e'=>'Rt[807]',
'R08a'=>'R[808]',
'R08b'=>'Rh[808]',
'R08c'=>'Rs[808]',
'R08d'=>'Rq[808]',
'R08e'=>'Rt[808]',
'R09a'=>'R[809]',
'R09b'=>'Rh[809]',
'R09c'=>'Rs[809]',
'R09d'=>'Rq[809]',
'R09e'=>'Rt[809]',
'R10a'=>'R[810]',
'R10b'=>'Rh[810]',
'R10c'=>'Rs[810]',
'R10d'=>'Rq[810]',
'R10e'=>'Rt[810]',
'R11a'=>'R[811]',
'R11b'=>'Rh[811]',
'R11c'=>'Rs[811]',
'R12a'=>'R[812]',
'R12b'=>'Rh[812]',
'R12c'=>'Rs[812]',
'R13a'=>'R[813]',
'R13b'=>'Rh[813]',
'R13c'=>'Rs[813]',
'R13d'=>'Rq[813]',
'R13e'=>'Rt[813]',
'R14a'=>'R[814]',
'R14b'=>'Rh[814]',
'R14c'=>'Rs[814]',
'R14d'=>'Rq[814]',
'R14e'=>'Rt[814]',
'R15a'=>'R[815]',
'R15b'=>'Rh[815]',
'R15c'=>'Rs[815]',
'R15d'=>'Rq[815]',
'R15e'=>'Rt[815]',
'R16a'=>'R[816]',
'R16b'=>'Rh[816]',
'R16c'=>'Rs[816]',
'R16d'=>'Rq[816]',
'R16e'=>'Rt[816]',
'R17a'=>'R[817]',
'R17b'=>'Rh[817]',
'R17c'=>'Rs[817]',
'R18a'=>'R[818]',
'R18b'=>'Rh[818]',
'R18c'=>'Rs[818]',
'R18d'=>'Rq[818]',
'R18e'=>'Rt[818]',
'R19a'=>'R[819]',
'R19b'=>'Rh[819]',
'R19c'=>'Rs[819]',
'R19d'=>'Rq[819]',
'R19e'=>'Rt[819]',
'R20a'=>'R[820]',
'R20b'=>'Rh[820]',
'R20c'=>'Rs[820]',
'R20d'=>'Rq[820]',
'R20e'=>'Rt[820]',
'R21a'=>'R[821]',
'R21b'=>'Rh[821]',
'R21c'=>'Rs[821]',
'R21d'=>'Rq[821]',
'R21e'=>'Rt[821]',
'R22a'=>'R[822]',
'R22b'=>'Rh[822]',
'R22c'=>'Rs[822]',
'R23a'=>'R[823]',
'R23b'=>'Rh[823]',
'R23c'=>'Rs[823]',
'R24a'=>'R[824]',
'R24b'=>'Rh[824]',
'R24c'=>'Rs[824]',
'R25a'=>'R[825]',
'R25b'=>'Rh[825]',
'R25c'=>'Rs[825]',
'R26a'=>'R[826]',
'R26b'=>'Rh[826]',
'R26c'=>'Rs[826]',
'R26d'=>'Rq[826]',
'R26e'=>'Rt[826]',
'R27a'=>'R[827]',
'R27b'=>'Rh[827]',
'R27c'=>'Rs[827]',
'R27d'=>'Rq[827]',
'R27e'=>'Rt[827]',
'R28a'=>'R[828]',
'R28b'=>'Rh[828]',
'R28c'=>'Rs[828]',
'R28d'=>'Rq[828]',
'R28e'=>'Rt[828]',
'R29a'=>'R[829]',
'R29b'=>'Rh[829]',
'R29c'=>'Rs[829]',
'R29d'=>'Rq[829]',
'R29e'=>'Rt[829]',
'R30a'=>'R[830]',
'R30b'=>'Rh[830]',
'R30c'=>'Rs[830]',
'R30d'=>'Rq[830]',
'R30e'=>'Rt[830]',
'R31a'=>'R[843]',
'R31b'=>'Rh[843]',
'R31c'=>'Rs[843]',
'R31d'=>'Rq[843]',
'R31e'=>'Rt[843]',
'R32a'=>'R[831]',
'R32b'=>'Rh[831]',
'R32c'=>'Rs[831]',
'R33a'=>'R[832]',
'R33b'=>'Rh[832]',
'R33c'=>'Rs[832]',
'R33d'=>'R[845]',
'R33e'=>'Rh[845]',
'R33f'=>'Rs[845]',
'R34a'=>'R[833]',
'R34b'=>'Rh[833]',
'R34c'=>'Rs[833]',
'R34d'=>'R[846]',
'R34e'=>'Rh[846]',
'R34f'=>'Rs[846]',
'R35a'=>'R[834]',
'R35b'=>'Rh[834]',
'R35c'=>'Rs[834]',
'R35d'=>'R[847]',
'R35e'=>'Rh[847]',
'R35f'=>'Rs[847]',
'R36a'=>'R[835]',
'R36b'=>'Rh[835]',
'R36c'=>'Rs[835]',
'R36d'=>'R[849]',
'R36e'=>'Rh[849]',
'R36f'=>'Rs[849]',
'R37a'=>'R[844]',
'R37b'=>'Rh[844]',
'R37c'=>'Rs[844]',
'R37d'=>'R[848]',
'R37e'=>'Rh[848]',
'R37f'=>'Rs[848]',
'R38a'=>'R[836]',
'R38b'=>'Rh[836]',
'R38c'=>'Rs[836]',
'R38d'=>'Rq[836]',
'R38e'=>'Rt[836]',
'R39a'=>'R[837]',
'R39b'=>'Rh[837]',
'R39c'=>'Rs[837]',
'R39d'=>'Rq[837]',
'R39e'=>'Rt[837]',
'R40a'=>'R[838]',
'R40b'=>'Rh[838]',
'R40c'=>'Rs[838]',
'R40d'=>'Rq[838]',
'R40e'=>'Rt[838]',
'R41a'=>'R[842]',
'R41b'=>'Rh[842]',
'R41c'=>'Rs[842]',
'R41d'=>'Rq[842]',
'R41e'=>'Rt[842]',
'R42a'=>'R[839]',
'R42b'=>'Rh[839]',
'R42c'=>'Rs[839]',
'R42d'=>'Rq[839]',
'R42e'=>'Rt[839]',
'R43a'=>'R[840]',
'R43b'=>'Rh[840]',
'R43c'=>'Rs[840]',
'R43d'=>'Rq[840]',
'R43e'=>'Rt[840]',
'R44a'=>'R[841]',
'R44b'=>'Rh[841]',
'R44c'=>'Rs[841]',
);
public function __construct()
{
$this->ANNEE=date('Y')*1;
$this->ANNEEp3=$this->ANNEE-3;
$this->ANNEEp2=$this->ANNEE-2;
$this->ANNEEp=$this->ANNEE-1;
$this->ANNEE1=$this->ANNEE+1;
$this->ANNEE2=$this->ANNEE+2;
$this->ANNEE3=$this->ANNEE+3;
$this->ANNEE4=$this->ANNEE+4;
$this->ANNEE5=$this->ANNEE+5;
$this->JOUR_DATE=date('Y-m-d');
$this->JOUR_HEURE=date('H:i');
$this->MAX_TEMOINS=99;
// Variables modifiées directement par les commentaires
$this->TEMOINACT=0; // positionnement de présence d'éléments de commentaires du ACTIVITE
$this->TEMOINACT_MAX=$this->MAX_TEMOINS; // Nombre maxi de lignes ACTIVITE
$this->TEMOINATT=0; // Positionnement de présence d'éléments de commentaires du ATTENUATION DE LA NOTE
$this->TEMOINATT_MAX=$this->MAX_TEMOINS; // Nombre maxi de lignes ATTENUATION DE LA NOTE
$this->TEMOINAVI=0; // Positionnement de présence d'éléments de conclusion
$this->TEMOINAVI_MAX=$this->MAX_TEMOINS; // Nombre maxi d'élements de conclusion à afficher
$this->TEMOINCAPFAIBLE=0; // Nombre de cas de faible capital rencontrés
$this->TEMOINCAPFAIBLE_MAX=$this->MAX_TEMOINS; // Nombre maxi de lignes CAPITAL FAIBLE
$this->TEMOINCLES=0; // positionnement de présence d'éléments de commentaires de CHIFFRES CLES
$this->TEMOINCLES_MAX=$this->MAX_TEMOINS; // Nombre maxi de lignes CHIFFRES CLES
$this->TEMOINCONF=0; // positionnement de présence d'éléments de commentaires de CONFORMITE
$this->TEMOINCONF_MAX=$this->MAX_TEMOINS; // Nombre maxi de lignes CONFORMITE
$this->TEMOINCYANO=0; // Positionnement d'anomalies d'éléments "CYCLES"
$this->TEMOINCYANO_MAX=$this->MAX_TEMOINS; // Nombre maxi de lignes "CYCLES"
$this->TEMOINCYC=0; // Positionnement de présence d'éléments "CYCLE"
$this->TEMOINCYC_MAX=$this->MAX_TEMOINS; // Nombre maxi de lignes "CYCLE"
$this->TEMOINDEF=0; // Nb éléments défavorables
$this->TEMOINDEF_MAX=$this->MAX_TEMOINS; // Nombre maxi de lignes défavorables
$this->TEMOINDIAG=0; // positionnement de présence d'éléments de commentaires de DIAGNOSTIC STRATEGIQUE
$this->TEMOINDIAG_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes DIAGNOSTIC STRATEGIQUE
$this->TEMOINDIR=0; // positionnement de présence d'éléments de commentaires de DIRIGEANCE
$this->TEMOINDIR_MAX=$this->MAX_TEMOINS; // Nombre maxi de lignes DIRIGEANCE
$this->TEMOINEXP=0; // Nb de témoins du § Exploitation (ancien § Chiffres clefs)
$this->TEMOINEXP_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes "EXPLOITATION"
$this->TEMOINFAV=0; // Nb éléments favorables
$this->TEMOINFAV_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes favorables
$this->TEMOINFIL=0; // positionnement de présence d'éléments de commentaires de FILIALES
$this->TEMOINFIL_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes FINLIALES
$this->TEMOINFIN=0; // positionnement de présence d'éléments de commentaires de FINANCEMENT
$this->TEMOINFIN_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes FINANCEMENT
$this->TEMOINFLANO=0; // positionnement d'anomalies d'éléments "FLUX"
$this->TEMOINFLANO_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes anomalies "FLUX"
$this->TEMOINFLUX=0; // Témoins qui contrôle le tableau des flux
$this->TEMOINFLUX_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes tableaux de FLUX
$this->TEMOINGRAPH=0; // positionnement de présence de GRAPHIQUES en niveau 2
$this->TEMOINGRAPH_MAX=$this->MAX_TEMOINS; // nombre maxi de GRAPHIQUES en niveau 2
$this->TEMOINHIST=0; // positionnement de présence d'éléments "HISTOIRE"
$this->TEMOINHIST_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes "HISTOIRE"
$this->TEMOINLOC=0; // positionnement de présence d'éléments "LOCALISATION"
$this->TEMOINLOC_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes "LOCALISATION"
$this->TEMOINMAR=0; // positionnement de présence d'éléments marché
$this->TEMOINMAR_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes marche
$this->TEMOINMARPUB=0; // positionnement de présence d'éléments marchés publics
$this->TEMOINMARPUB_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes marchés publics
$this->TEMOINMOIN=0; // positionnement de présence du tableau de synthese MOINS
$this->TEMOINMOIN_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes les MOINS
$this->TEMOINNORM=0; // Nb éléménts du tableau de synthèse Les Normes
$this->TEMOINNORM_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes les NORMES
$this->TEMOINOBS=0; // Nb observations
$this->TEMOINOBS_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes observations
$this->TEMOINPAY=0; // Nb messages paiements
$this->TEMOINPAY_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes les PAIEMENTS
$this->TEMOINPLUS=0; // Nb éléménts du tableau de synthèse Les Plus
$this->TEMOINPLUS_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes les PLUS
$this->TEMOINPROF=0; // positionnement de présence d'éléments de commentaires du PROFIL JURIDIQUE
$this->TEMOINPROF_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes du PROFIL JURIDIQUE
$this->TEMOINPROJ=0; // positionnement de présence d'éléments "PROJECTION"
$this->TEMOINPROJ_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes "PROJECTION"
$this->TEMOINREPA=0; // positionnement de présence d'éléments "REPARTITION VA"
$this->TEMOINREPA_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes "REPARTITION VA"
$this->TEMOINRES=0; // positionnement de présence de commentaires réserves
$this->TEMOINRES_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes réserves
$this->TEMOINRIS=0; // Nb éléménts de commentaires risques
$this->TEMOINRIS_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes risques
$this->TEMOINSTACTIF=0; // positionnement de présence d'éléments de commentaires des ratios de stucture bilan ACTIF
$this->TEMOINSTACTIF_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes les STRUCTURE ACTIF
$this->TEMOINSTANO=0; // positionnement de présence d'éléments "STRUCTURE BILAN" (ANOMALIES)
$this->TEMOINSTANO_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes "STRUCTURE BILAN" (ANOMALIES)
$this->TEMOINSTPASS=0; // positionnement de présence d'éléments de commentaires des ratios de stucture bilan PASSIF
$this->TEMOINSTPASS_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes les STRUCTURE PASSIF
$this->TEMOINSTRUCT=0; // positionnement de présence d'éléments de commentaires des ratios de stucture bilan
$this->TEMOINSTRUCT_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes les STRUCTURE
$this->TEMOINSTSYNT=0; // Positionnement de présence d'éléments de commentaires des ratios de stucture bilan SYNTHESE
$this->TEMOINSTSYNT_MAX=$this->MAX_TEMOINS; // Nombre maxi de lignes les STRUCTURE SYNTHESE
$this->TEMOINVUL=0; // positionnement de présence d'éléments de commentaires de la VULNERABILITE
$this->TEMOINVUL_MAX=$this->MAX_TEMOINS; // Nombre maxi de lignes de la VULNERABILITE
$this->TEMOINADIZES=0; // positionnement de présence d'éléments de commentaires du MODELE Ichak ADIZES
$this->TEMOINADIZES_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes Ichak ADIZES
$this->TEMOINMRQ=0; // positionnement de présence de marques déposées
$this->TEMOINMRQ_MAX=$this->MAX_TEMOINS; // nombre maxi de commentaires marques déposées
$this->TEMOINMRQLIST=0; // positionnement de ligne de liste des marques déposées
$this->TEMOINMRQLIST_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes des listes des marques déposées
//@todo : Commentaires
$this->TEMOINVALBIL=0; // positionnement de ligne de liste des marques déposées
$this->TEMOINVALBIL_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes des listes des marques déposées
$this->TEMOINVALCONC=0; // positionnement de ligne de liste des marques déposées
$this->TEMOINVALCONC_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes des listes des marques déposées
$this->TEMOINVALCR=0; // positionnement de ligne de liste des marques déposées
$this->TEMOINVALCR_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes des listes des marques déposées
$this->TEMOINVALDIAG=0; // positionnement de ligne de liste des marques déposées
$this->TEMOINVALDIAG_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes des listes des marques déposées
$this->TEMOINVALMETH=0; // positionnement de ligne de liste des marques déposées
$this->TEMOINVALMETH_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes des listes des marques déposées
$this->TEMOINVALMRET=0; // positionnement de ligne de liste des marques déposées
$this->TEMOINVALMRET_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes des listes des marques déposées
$this->TEMOINVALPATR=0; // positionnement de ligne de liste des marques déposées
$this->TEMOINVALPATR_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes des listes des marques déposées
$this->TEMOINVALPOND=0; // positionnement de ligne de liste des marques déposées
$this->TEMOINVALPOND_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes des listes des marques déposées
$this->TEMOINVALPRES=0; // positionnement de ligne de liste des marques déposées
$this->TEMOINVALPRES_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes des listes des marques déposées
$this->TEMOINVALRESV=0; // positionnement de ligne de liste des marques déposées
$this->TEMOINVALRESV_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes des listes des marques déposées
$this->TEMOINVALRETR=0; // positionnement de ligne de liste des marques déposées
$this->TEMOINVALRETR_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes des listes des marques déposées
$this->TEMOINVALTABB=0; // positionnement de ligne de liste des marques déposées
$this->TEMOINVALTABB_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes des listes des marques déposées
$this->TEMOINVALTABS=0; // positionnement de ligne de liste des marques déposées
$this->TEMOINVALTABS_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes des listes des marques déposées
$this->TEMOINVALTABR=0; // positionnement de ligne de liste des marques déposées
$this->TEMOINVALTABR_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes des listes des marques déposées
$this->TEMOINVALMINMAX=0; // positionnement de ligne de liste des marques déposées
$this->TEMOINVALMINMAX_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes des listes des marques déposées
$this->TEMOINVALMAXMIN=0; // positionnement de ligne de liste des marques déposées
$this->TEMOINVALMAXMIN_MAX=$this->MAX_TEMOINS; // nombre maxi de lignes des listes des marques déposées
/** Zones utilisées dans les calculs **/
$this->CALCUL1=0;
$this->CALCUL2=0;
$this->CALCUL3=0;
$this->CALCUL4=0;
$this->CALCUL5=0;
$this->CALCUL6=0;
$this->CALCUL7=0;
$this->CALCUL8=0;
$this->CALCUL9=0;
$this->ENQUETELIM=6; // 6 mois de validités pour une note en provenance d'une enquête
$this->ENQUETEMAXI=90; // Score Maximum / 100 en provenance d'une enquête
}
}

View File

@ -215,20 +215,18 @@ class Pieces extends WsScore
* @param string $identifiant * @param string $identifiant
* SIREN ou autre identifiant * SIREN ou autre identifiant
* @param string $dateCloture * @param string $dateCloture
* Date de cloture du bilan (SSAAMMJJ) * Date de cloture du bilan (SSAA-MM-JJ)
* @param string $type * @param string $type
* Type de compte (null|sociaux|consolides) * Type de compte (null|sociaux|consolides)
* @param string $diffusion * @param string $diffusion
* Mode de diffusion (T|C) * Mode de diffusion (T|C)
* @param string $reference * @param string $reference
* Nom du fichier ou référence de commande * Nom du fichier ou référence de commande
* @param string $email
* email pour la réception de la commande (si différent du compte utilisateur)
* @throws SoapFault * @throws SoapFault
* @return string * @return string
* URL ou identifiant de commande * URL ou identifiant de commande
*/ */
public function getBilan($identifiant, $dateCloture, $type, $diffusion, $reference = '', $email = '') public function getBilan($identifiant, $dateCloture, $type, $diffusion, $reference = '')
{ {
$this->authenticate(); $this->authenticate();
$this->permission('actes'); $this->permission('actes');
@ -278,7 +276,6 @@ class Pieces extends WsScore
switch ( $diffusion ) { switch ( $diffusion ) {
case 'T': case 'T':
require_once 'Metier/Infogreffe/InfogreffeBi.php'; require_once 'Metier/Infogreffe/InfogreffeBi.php';
$infogreffe = new Metier_Infogreffe_Bi($identifiant); $infogreffe = new Metier_Infogreffe_Bi($identifiant);
$pdf = $infogreffe->getCommandeT($dateCloture, $type); $pdf = $infogreffe->getCommandeT($dateCloture, $type);
@ -295,12 +292,12 @@ class Pieces extends WsScore
$hostname.= ':'.$_SERVER['SERVER_PORT']; $hostname.= ':'.$_SERVER['SERVER_PORT'];
} }
$output = $hostname . '/data/greffes/' . basename($dest); // @todo : Chemin du fichier $output = $hostname . '/data/greffes/' . basename($dest); // @todo : Chemin du fichier
$this->wsLog('greffe_bilans', $siren, basename($dest)); $this->wsLog('greffe_bilans', $identifiant, basename($dest));
} else { } else {
throw new SoapFault('ERR', 'Fichier introuvable'); throw new SoapFault('ERR', 'Fichier introuvable');
} }
}
}
break; break;
case 'C': case 'C':
@ -312,27 +309,26 @@ class Pieces extends WsScore
$raisonSociale = $iInsee->getIdentiteLight($identifiant); $raisonSociale = $iInsee->getIdentiteLight($identifiant);
//Sauvegarde dans la base //Sauvegarde dans la base
$commandeM = new Application_Model_Sdv1GreffeCommandes(); $commandeM = new Application_Model_Sdv1GreffeCommandesBi();
$id = $commandeM->insert(array( $id = $commandeM->insert(array(
'refCommande' => $refCommande, 'refCommande' => $refCommande,
'login' => $this->tabInfoUser['login'], 'login' => $this->tabInfoUser['login'],
'email' => empty($email) ? $this->tabInfoUser['email'] : $email, 'email' => $this->tabInfoUser['email'],
'refClient' => $reference, 'refClient' => $reference,
'type' => 'C', 'mode' => 'C',
'siren' => $identifiant, 'siren' => $identifiant,
'raisonSociale' => $raisonSociale, 'raisonSociale' => $raisonSociale,
'documentType' => 'BI', 'bilanCloture' => $dateCloture,
'documentLib' => 'Bilan' . $type . ' ' . $dateCloture, 'bilanType' => $type,
'dateInsert' => date('YmdHis'), 'dateInsert' => date('YmdHis'),
)); ));
//Commande chez Infogreffe //Commande chez Infogreffe
require_once 'Metier/Infogreffe/InfogreffeBi.php'; require_once 'Metier/Infogreffe/InfogreffeBi.php';
$infogreffe = new Metier_Infogreffe_Bi($identifiant); $infogreffe = new Metier_Infogreffe_Bi($identifiant);
if ( $infogreffe->getCommandeC($dateCloture, $type, 'G'.$refCommande) ) { if ( $infogreffe->getCommandeC($dateCloture, $type, 'G-BI-'.$id) ) {
$commandeM->update(array( $commandeM->update( array('dateCommande' => date('YmdHis') ), 'id='.$id);
'dateCommande' => date('YmdHis'), $this->wsLog('greffe_bilans', $identifiant, $refCommande);
), 'id='.$id);
} }
return $refCommande; return $refCommande;
@ -346,10 +342,35 @@ class Pieces extends WsScore
/** /**
* Liste des actes au format image * Liste des actes au format image
* @param string $identifiant * @param string $identifiant
* SIREN ou autre identifiant
* @param int $position
* Numéro de page
* @param int $nbRep
* Nombre de réponse par page (max=200)
* @throws SoapFault
* @return Actes * @return Actes
*/ */
public function getActes($identifiant) public function getActes($identifiant, $position = 0, $nbRep = 200)
{ {
$this->authenticate();
if ( empty($position) ) {
$position = 0;
}
if ($nbRep > 200) {
$nbRep = 200;
}
if ( strlen($identifiant)!=9 ) {
$this->sendError('1010');
}
$iInsee = new MInsee();
$identite = $iInsee->getIdentiteLight($identifiant);
if (empty($identite['id'])){
$this->sendError('1020');
}
require_once 'Metier/Infogreffe/InfogreffeAc.php'; require_once 'Metier/Infogreffe/InfogreffeAc.php';
$infogreffe = new Metier_Infogreffe_Ac($identifiant); $infogreffe = new Metier_Infogreffe_Ac($identifiant);
$list = $infogreffe->getList(true); $list = $infogreffe->getList(true);
@ -416,7 +437,7 @@ class Pieces extends WsScore
require_once 'Metier/Infogreffe/InfogreffeAc.php'; require_once 'Metier/Infogreffe/InfogreffeAc.php';
$infogreffe = new Metier_Infogreffe_Ac($identifiant); $infogreffe = new Metier_Infogreffe_Ac($identifiant);
$pdf = $infogreffe->getCommandeT($depotNum, $depotDate, $acteType, $acteNum, $acteDate); $pdf = $infogreffe->getCommandeT($depotDate, $depotNum, $acteType, $acteDate, $acteNum);
if ( !empty($pdf) ) { if ( !empty($pdf) ) {
@ -448,27 +469,28 @@ class Pieces extends WsScore
$raisonSociale = $iInsee->getIdentiteLight($identifiant); $raisonSociale = $iInsee->getIdentiteLight($identifiant);
//Sauvegarde dans la base //Sauvegarde dans la base
$commandeM = new Application_Model_Sdv1GreffeCommandes(); $commandeM = new Application_Model_Sdv1GreffeCommandesAc();
$id = $commandeM->insert(array( $id = $commandeM->insert(array(
'refCommande' => $refCommande, 'refCommande' => $refCommande,
'login' => $this->tabInfoUser['login'], 'login' => $this->tabInfoUser['login'],
'email' => empty($email) ? $this->tabInfoUser['email'] : $email, 'email' => $this->tabInfoUser['email'],
'refClient' => $reference, 'refClient' => $reference,
'type' => 'C',
'siren' => $identifiant, 'siren' => $identifiant,
'mode' => 'C',
'raisonSociale' => $raisonSociale, 'raisonSociale' => $raisonSociale,
'documentType' => 'AC', 'depotNum' => $depotNum,
'documentLib' => '', 'depotDate' => $depotDate,
'acteType' => $acteType,
'acteDate' => $acteDate,
'acteNum' => $acteNum,
'dateInsert' => date('YmdHis'), 'dateInsert' => date('YmdHis'),
)); ));
//Commande chez Infogreffe //Commande chez Infogreffe
require_once 'Metier/Infogreffe/InfogreffeAc.php'; require_once 'Metier/Infogreffe/InfogreffeAc.php';
$infogreffe = new Metier_Infogreffe_Ac($identifiant); $infogreffe = new Metier_Infogreffe_Ac($identifiant);
if ( $infogreffe->getCommandeC($dateCloture, $type, 'G'.$refCommande) ) { if ( $infogreffe->getCommandeC($depotDate, $depotNum, $acteType, $acteDate, $acteNum, 'G-AC-'.$id) ) {
$commandeM->update(array( $commandeM->update( array('dateCommande' => date('YmdHis') ), 'id='.$id);
'dateCommande' => date('YmdHis'),
), 'id='.$id);
} }
return $refCommande; return $refCommande;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,9 +1,7 @@
/*! /*!
* Bootstrap v3.0.2 by @fat and @mdo * Bootstrap v3.0.3 (http://getbootstrap.com)
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
* Licensed under http://www.apache.org/licenses/LICENSE-2.0 * Licensed under http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world by @mdo and @fat.
*/ */
.btn-default, .btn-default,
@ -40,9 +38,7 @@
.btn-default { .btn-default {
text-shadow: 0 1px 0 #fff; text-shadow: 0 1px 0 #fff;
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#ffffff), to(#e0e0e0));
background-image: -webkit-linear-gradient(top, #ffffff 0%, #e0e0e0 100%); background-image: -webkit-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);
background-image: -moz-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);
background-image: linear-gradient(to bottom, #ffffff 0%, #e0e0e0 100%); background-image: linear-gradient(to bottom, #ffffff 0%, #e0e0e0 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
border-color: #dbdbdb; border-color: #dbdbdb;
@ -64,9 +60,7 @@
} }
.btn-primary { .btn-primary {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#2d6ca2));
background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%); background-image: -webkit-linear-gradient(top, #428bca 0%, #2d6ca2 100%);
background-image: -moz-linear-gradient(top, #428bca 0%, #2d6ca2 100%);
background-image: linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%); background-image: linear-gradient(to bottom, #428bca 0%, #2d6ca2 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
border-color: #2b669a; border-color: #2b669a;
@ -87,9 +81,7 @@
} }
.btn-success { .btn-success {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5cb85c), to(#419641));
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%); background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);
background-image: -moz-linear-gradient(top, #5cb85c 0%, #419641 100%);
background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%); background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
border-color: #3e8f3e; border-color: #3e8f3e;
@ -110,9 +102,7 @@
} }
.btn-warning { .btn-warning {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f0ad4e), to(#eb9316));
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
background-image: -moz-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);
background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%); background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
border-color: #e38d13; border-color: #e38d13;
@ -133,9 +123,7 @@
} }
.btn-danger { .btn-danger {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9534f), to(#c12e2a));
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%); background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
background-image: -moz-linear-gradient(top, #d9534f 0%, #c12e2a 100%);
background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%); background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
border-color: #b92c28; border-color: #b92c28;
@ -156,9 +144,7 @@
} }
.btn-info { .btn-info {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5bc0de), to(#2aabd2));
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
background-image: -moz-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);
background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%); background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
border-color: #28a4c9; border-color: #28a4c9;
@ -187,9 +173,7 @@
.dropdown-menu > li > a:hover, .dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus { .dropdown-menu > li > a:focus {
background-color: #e8e8e8; background-color: #e8e8e8;
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f5f5f5), to(#e8e8e8));
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -moz-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
@ -199,18 +183,14 @@
.dropdown-menu > .active > a:hover, .dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus { .dropdown-menu > .active > a:focus {
background-color: #357ebd; background-color: #357ebd;
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#357ebd));
background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%); background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
background-image: -moz-linear-gradient(top, #428bca 0%, #357ebd 100%);
background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%); background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
} }
.navbar-default { .navbar-default {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#ffffff), to(#f8f8f8));
background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%); background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);
background-image: -moz-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);
background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%); background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
border-radius: 4px; border-radius: 4px;
@ -221,9 +201,7 @@
} }
.navbar-default .navbar-nav > .active > a { .navbar-default .navbar-nav > .active > a {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#ebebeb), to(#f3f3f3));
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%); background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%);
background-image: -moz-linear-gradient(top, #ebebeb 0%, #f3f3f3 100%);
background-image: linear-gradient(to bottom, #ebebeb 0%, #f3f3f3 100%); background-image: linear-gradient(to bottom, #ebebeb 0%, #f3f3f3 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff3f3f3', GradientType=0);
@ -237,9 +215,7 @@
} }
.navbar-inverse { .navbar-inverse {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#3c3c3c), to(#222222));
background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222222 100%); background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222222 100%);
background-image: -moz-linear-gradient(top, #3c3c3c 0%, #222222 100%);
background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%); background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
@ -247,9 +223,7 @@
} }
.navbar-inverse .navbar-nav > .active > a { .navbar-inverse .navbar-nav > .active > a {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#222222), to(#282828));
background-image: -webkit-linear-gradient(top, #222222 0%, #282828 100%); background-image: -webkit-linear-gradient(top, #222222 0%, #282828 100%);
background-image: -moz-linear-gradient(top, #222222 0%, #282828 100%);
background-image: linear-gradient(to bottom, #222222 0%, #282828 100%); background-image: linear-gradient(to bottom, #222222 0%, #282828 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff282828', GradientType=0);
@ -275,9 +249,7 @@
} }
.alert-success { .alert-success {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#dff0d8), to(#c8e5bc));
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: -moz-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);
background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%); background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
border-color: #b2dba1; border-color: #b2dba1;
@ -285,9 +257,7 @@
} }
.alert-info { .alert-info {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9edf7), to(#b9def0));
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%); background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: -moz-linear-gradient(top, #d9edf7 0%, #b9def0 100%);
background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%); background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
border-color: #9acfea; border-color: #9acfea;
@ -295,9 +265,7 @@
} }
.alert-warning { .alert-warning {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#fcf8e3), to(#f8efc0));
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: -moz-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);
background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%); background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
border-color: #f5e79e; border-color: #f5e79e;
@ -305,9 +273,7 @@
} }
.alert-danger { .alert-danger {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f2dede), to(#e7c3c3));
background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: -moz-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);
background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%); background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
border-color: #dca7a7; border-color: #dca7a7;
@ -315,54 +281,42 @@
} }
.progress { .progress {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#ebebeb), to(#f5f5f5));
background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: -moz-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);
background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%); background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);
} }
.progress-bar { .progress-bar {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#3071a9));
background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%); background-image: -webkit-linear-gradient(top, #428bca 0%, #3071a9 100%);
background-image: -moz-linear-gradient(top, #428bca 0%, #3071a9 100%);
background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%); background-image: linear-gradient(to bottom, #428bca 0%, #3071a9 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff3071a9', GradientType=0);
} }
.progress-bar-success { .progress-bar-success {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5cb85c), to(#449d44));
background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%); background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: -moz-linear-gradient(top, #5cb85c 0%, #449d44 100%);
background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%); background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);
} }
.progress-bar-info { .progress-bar-info {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#5bc0de), to(#31b0d5));
background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: -moz-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);
background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%); background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);
} }
.progress-bar-warning { .progress-bar-warning {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f0ad4e), to(#ec971f));
background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: -moz-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);
background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%); background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);
} }
.progress-bar-danger { .progress-bar-danger {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9534f), to(#c9302c));
background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%); background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: -moz-linear-gradient(top, #d9534f 0%, #c9302c 100%);
background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%); background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);
@ -378,9 +332,7 @@
.list-group-item.active:hover, .list-group-item.active:hover,
.list-group-item.active:focus { .list-group-item.active:focus {
text-shadow: 0 -1px 0 #3071a9; text-shadow: 0 -1px 0 #3071a9;
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#3278b3));
background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%); background-image: -webkit-linear-gradient(top, #428bca 0%, #3278b3 100%);
background-image: -moz-linear-gradient(top, #428bca 0%, #3278b3 100%);
background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%); background-image: linear-gradient(to bottom, #428bca 0%, #3278b3 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
border-color: #3278b3; border-color: #3278b3;
@ -393,63 +345,49 @@
} }
.panel-default > .panel-heading { .panel-default > .panel-heading {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f5f5f5), to(#e8e8e8));
background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: -moz-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
} }
.panel-primary > .panel-heading { .panel-primary > .panel-heading {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#428bca), to(#357ebd));
background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%); background-image: -webkit-linear-gradient(top, #428bca 0%, #357ebd 100%);
background-image: -moz-linear-gradient(top, #428bca 0%, #357ebd 100%);
background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%); background-image: linear-gradient(to bottom, #428bca 0%, #357ebd 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff428bca', endColorstr='#ff357ebd', GradientType=0);
} }
.panel-success > .panel-heading { .panel-success > .panel-heading {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#dff0d8), to(#d0e9c6));
background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: -moz-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);
background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%); background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);
} }
.panel-info > .panel-heading { .panel-info > .panel-heading {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#d9edf7), to(#c4e3f3));
background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: -moz-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);
background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%); background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);
} }
.panel-warning > .panel-heading { .panel-warning > .panel-heading {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#fcf8e3), to(#faf2cc));
background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: -moz-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);
background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%); background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);
} }
.panel-danger > .panel-heading { .panel-danger > .panel-heading {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#f2dede), to(#ebcccc));
background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%); background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: -moz-linear-gradient(top, #f2dede 0%, #ebcccc 100%);
background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%); background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);
} }
.well { .well {
background-image: -webkit-gradient(linear, left 0%, left 100%, from(#e8e8e8), to(#f5f5f5));
background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: -moz-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);
background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%); background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);
background-repeat: repeat-x; background-repeat: repeat-x;
border-color: #dcdcdc; border-color: #dcdcdc;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 61 KiB

View File

@ -1,15 +1,13 @@
/*! /*!
* Bootstrap v3.0.2 by @fat and @mdo * Bootstrap v3.0.3 (http://getbootstrap.com)
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
* Licensed under http://www.apache.org/licenses/LICENSE-2.0 * Licensed under http://www.apache.org/licenses/LICENSE-2.0
*
* Designed and built with all the love in the world by @mdo and @fat.
*/ */
if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery") } if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery") }
/* ======================================================================== /* ========================================================================
* Bootstrap: transition.js v3.0.2 * Bootstrap: transition.js v3.0.3
* http://getbootstrap.com/javascript/#transitions * http://getbootstrap.com/javascript/#transitions
* ======================================================================== * ========================================================================
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
@ -66,7 +64,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: alert.js v3.0.2 * Bootstrap: alert.js v3.0.3
* http://getbootstrap.com/javascript/#alerts * http://getbootstrap.com/javascript/#alerts
* ======================================================================== * ========================================================================
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
@ -165,7 +163,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: button.js v3.0.2 * Bootstrap: button.js v3.0.3
* http://getbootstrap.com/javascript/#buttons * http://getbootstrap.com/javascript/#buttons
* ======================================================================== * ========================================================================
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
@ -220,15 +218,21 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
Button.prototype.toggle = function () { Button.prototype.toggle = function () {
var $parent = this.$element.closest('[data-toggle="buttons"]') var $parent = this.$element.closest('[data-toggle="buttons"]')
var changed = true
if ($parent.length) { if ($parent.length) {
var $input = this.$element.find('input') var $input = this.$element.find('input')
.prop('checked', !this.$element.hasClass('active')) if ($input.prop('type') === 'radio') {
.trigger('change') // see if clicking on current one
if ($input.prop('type') === 'radio') $parent.find('.active').removeClass('active') if ($input.prop('checked') && this.$element.hasClass('active'))
changed = false
else
$parent.find('.active').removeClass('active')
}
if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
} }
this.$element.toggleClass('active') if (changed) this.$element.toggleClass('active')
} }
@ -275,7 +279,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: carousel.js v3.0.2 * Bootstrap: carousel.js v3.0.3
* http://getbootstrap.com/javascript/#carousel * http://getbootstrap.com/javascript/#carousel
* ======================================================================== * ========================================================================
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
@ -345,7 +349,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
if (pos > (this.$items.length - 1) || pos < 0) return if (pos > (this.$items.length - 1) || pos < 0) return
if (this.sliding) return this.$element.one('slid', function () { that.to(pos) }) if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) })
if (activeIndex == pos) return this.pause().cycle() if (activeIndex == pos) return this.pause().cycle()
return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos])) return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos]))
@ -397,7 +401,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
if (this.$indicators.length) { if (this.$indicators.length) {
this.$indicators.find('.active').removeClass('active') this.$indicators.find('.active').removeClass('active')
this.$element.one('slid', function () { this.$element.one('slid.bs.carousel', function () {
var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()]) var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()])
$nextIndicator && $nextIndicator.addClass('active') $nextIndicator && $nextIndicator.addClass('active')
}) })
@ -415,7 +419,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
$next.removeClass([type, direction].join(' ')).addClass('active') $next.removeClass([type, direction].join(' ')).addClass('active')
$active.removeClass(['active', direction].join(' ')) $active.removeClass(['active', direction].join(' '))
that.sliding = false that.sliding = false
setTimeout(function () { that.$element.trigger('slid') }, 0) setTimeout(function () { that.$element.trigger('slid.bs.carousel') }, 0)
}) })
.emulateTransitionEnd(600) .emulateTransitionEnd(600)
} else { } else {
@ -424,7 +428,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
$active.removeClass('active') $active.removeClass('active')
$next.addClass('active') $next.addClass('active')
this.sliding = false this.sliding = false
this.$element.trigger('slid') this.$element.trigger('slid.bs.carousel')
} }
isCycling && this.cycle() isCycling && this.cycle()
@ -493,7 +497,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: collapse.js v3.0.2 * Bootstrap: collapse.js v3.0.3
* http://getbootstrap.com/javascript/#collapse * http://getbootstrap.com/javascript/#collapse
* ======================================================================== * ========================================================================
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
@ -673,7 +677,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: dropdown.js v3.0.2 * Bootstrap: dropdown.js v3.0.3
* http://getbootstrap.com/javascript/#dropdowns * http://getbootstrap.com/javascript/#dropdowns
* ======================================================================== * ========================================================================
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
@ -700,7 +704,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
var backdrop = '.dropdown-backdrop' var backdrop = '.dropdown-backdrop'
var toggle = '[data-toggle=dropdown]' var toggle = '[data-toggle=dropdown]'
var Dropdown = function (element) { var Dropdown = function (element) {
var $el = $(element).on('click.bs.dropdown', this.toggle) $(element).on('click.bs.dropdown', this.toggle)
} }
Dropdown.prototype.toggle = function (e) { Dropdown.prototype.toggle = function (e) {
@ -715,7 +719,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
if (!isActive) { if (!isActive) {
if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
// if mobile we we use a backdrop because click events don't delegate // if mobile we use a backdrop because click events don't delegate
$('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus) $('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus)
} }
@ -797,9 +801,9 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
$.fn.dropdown = function (option) { $.fn.dropdown = function (option) {
return this.each(function () { return this.each(function () {
var $this = $(this) var $this = $(this)
var data = $this.data('dropdown') var data = $this.data('bs.dropdown')
if (!data) $this.data('dropdown', (data = new Dropdown(this))) if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))
if (typeof option == 'string') data[option].call($this) if (typeof option == 'string') data[option].call($this)
}) })
} }
@ -828,7 +832,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: modal.js v3.0.2 * Bootstrap: modal.js v3.0.3
* http://getbootstrap.com/javascript/#modals * http://getbootstrap.com/javascript/#modals
* ======================================================================== * ========================================================================
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
@ -1075,7 +1079,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: tooltip.js v3.0.2 * Bootstrap: tooltip.js v3.0.3
* http://getbootstrap.com/javascript/#tooltip * http://getbootstrap.com/javascript/#tooltip
* Inspired by the original jQuery.tipsy by Jason Frame * Inspired by the original jQuery.tipsy by Jason Frame
* ======================================================================== * ========================================================================
@ -1462,7 +1466,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: popover.js v3.0.2 * Bootstrap: popover.js v3.0.3
* http://getbootstrap.com/javascript/#popovers * http://getbootstrap.com/javascript/#popovers
* ======================================================================== * ========================================================================
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
@ -1580,7 +1584,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: scrollspy.js v3.0.2 * Bootstrap: scrollspy.js v3.0.3
* http://getbootstrap.com/javascript/#scrollspy * http://getbootstrap.com/javascript/#scrollspy
* ======================================================================== * ========================================================================
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
@ -1694,7 +1698,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
.addClass('active') .addClass('active')
} }
active.trigger('activate') active.trigger('activate.bs.scrollspy')
} }
@ -1739,7 +1743,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: tab.js v3.0.2 * Bootstrap: tab.js v3.0.3
* http://getbootstrap.com/javascript/#tabs * http://getbootstrap.com/javascript/#tabs
* ======================================================================== * ========================================================================
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.
@ -1875,7 +1879,7 @@ if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery"
}(jQuery); }(jQuery);
/* ======================================================================== /* ========================================================================
* Bootstrap: affix.js v3.0.2 * Bootstrap: affix.js v3.0.3
* http://getbootstrap.com/javascript/#affix * http://getbootstrap.com/javascript/#affix
* ======================================================================== * ========================================================================
* Copyright 2013 Twitter, Inc. * Copyright 2013 Twitter, Inc.

File diff suppressed because one or more lines are too long

6
public/libs/jquery-1.10.2.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -305,30 +305,22 @@ if ($opts->acte) {
$sql = $acteM->select() $sql = $acteM->select()
->where('siren=?', $siren) ->where('siren=?', $siren)
->where('num_depot=?', $depot) ->where('num_depot=?', $depot)
->where('date_acte=?', $date) ->where('num_acte=?', $num);
->where('num_acte=?', $num)
->order('date_acte DESC')
->limit(1);
$item = $acteM->fetchRow($sql); $items = $acteM->fetchAll($sql);
/** if (count($items)==0) {
* ALTER TABLE `greffes_actes` ADD `pdfDate` DATE NOT NULL COMMENT 'Date de dernière mise à jour des infos PDF' AFTER `pdfPage` ;
* ALTER TABLE `greffes_actes` ADD `type_acte2` VARCHAR( 15 ) NOT NULL COMMENT 'Nouveau type d''acte (disponible lors de la liste)' AFTER `type_acte` ;
*
*/
if ($item === null) {
//If not find write the database //If not find write the database
$infogreffe = new Metier_Infogreffe_Ac($siren); $infogreffe = new Metier_Infogreffe_Ac($siren);
$infogreffe->getList(); $infogreffe->getList();
//And get again the item in database //And get again the item in database
$item = $acteM->fetchRow($sql); $items = $acteM->fetchAll($sql);
} }
if ($item === null) { if (count($items)==0) {
echo " = non trouvé."; echo " = non trouvé.";
} else { } else {
foreach($items as $item) {
if ($item->pdfDate == '0000-00-00') { if ($item->pdfDate == '0000-00-00') {
$infogreffe = new Metier_Infogreffe_Ac($siren); $infogreffe = new Metier_Infogreffe_Ac($siren);
@ -355,6 +347,7 @@ if ($opts->acte) {
} else { } else {
echo " = présent."; echo " = présent.";
} }
}
} }
echo PHP_EOL; echo PHP_EOL;

436
scripts/jobs/getGreffe.php Normal file
View File

@ -0,0 +1,436 @@
<?php
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../../application'));
// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/../library'),
get_include_path(),
)));
/** Zend_Application */
require_once 'Zend/Application.php';
// Create application, bootstrap, and run
$application = new Zend_Application(
APPLICATION_ENV,
APPLICATION_PATH . '/configs/application.ini'
);
try {
$opts = new Zend_Console_Getopt(
//Options
array(
'help|?' => "Affiche l'aide.",
'list' => "Liste les actes en attente disponible sur le FTP et affiche les informations",
'get-s' => "Recupère seulement les actes du FTP (un seul document si la référence est spécifier G<NNN> )",
'send-s' => "Récupère les actes et envoi un mail à chaque client (un seul acte si la référence est spécifier G<NNN>)",
'type-s' => "Type de document : bilan, acte",
'control' => "Control",
)
);
$opts->parse();
} catch (Zend_Console_Getopt_Exception $e) {
echo $e->getUsageMessage();
exit;
}
//Usage
if(count($opts->getOptions())==0 || isset($opts->help))
{
echo "Vérifie les actes numérisés reçus en provenance des Greffes.";
echo "\n\n";
echo $opts->getUsageMessage();
echo "\n";
exit;
}
$c = new Zend_Config($application->getOptions());
Zend_Registry::set('config', $c);
$test = false;
if (isset($opts->list)){
$test = true;
}
$types = array('bi', 'ac');
//Configuration FTP
define ('ACTES_IGNUM_FTP_URL', 'ftp2.scores-decisions.com');
define ('ACTES_IGNUM_FTP_USER', 'mpc2500');
define ('ACTES_IGNUM_FTP_PASS', 'passmpc78');
define ('ACTES_IGNUM_LOCAL_DIR', $c->profil->path->files.'/');
define ('PATH_DATA', $c->profil->infogreffe->storage->path);
$report_email = $c->profil->mail->email->support;
$report_subject = 'Traitement des actes '.date('Y-m-d H:i:s');
$report_txt = '';
function sendMail($commande, $nomCible){
$subject = "Actes ou Statuts disponible pour ".$commande['siren'];
$message = "Le document commandé pour le siren ".$commande['siren']." est disponible en téléchargement sur le site de Scores & Décisions à l'adresse suivante :\r\n\r\n";
$message.= "http://extranet.scores-decisions.com/fichier/pdf/$nomCible\r\n";
$headers = 'From: infoslegales@scores-decisions.com' . "\r\n" .
'Reply-To: infoslegales@scores-decisions.com';
if ( mail($commande['emailCommande'], $subject, utf8_decode($message), $headers) ){
echo date ('Y/m/d - H:i:s').' - Un email a été envoyé à '.$commande['emailCommande']." pour la commande $nomCible.\n";
return true;
} else {
echo date ('Y/m/d - H:i:s').' - ERREUR : Impossible d\'envoyer l\'email à '.$commande['emailCommande']." pour la commande $nomCible.\n";
return false;
}
}
/**
* Connexion à la base de données
*/
$db = Zend_Db::factory($c->profil->db->sdv1);
Zend_Db_Table_Abstract::setDefaultAdapter($db);
/**
* List actes files and check if an entry exist in the database
* greffes/actes/AAAA/MM
* preg_match('/^acte-([0-9]{9})-(ST)-([0-9]{8})-.*\.pdf/', $fichier, $matches)
* preg_match('/^acte-([0-9]{9})-([0-9a-zA-Z]{1,})-([0-9]{8})-.*-([0-9]{2})\.pdf/', $fichier, $matches)
*/
if ($opts->control) {
$dir = PATH_DATA.'/greffes/actes';
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
//Annee
while (($anneeDir = readdir($dh)) !== false) {
if ($anneeDir != '.' || $anneeDir != '..') {
echo "Dir ".$dir . DIRECTORY_SEPARATOR . $anneeDir."\n";
if ($dhAnneeDir = opendir($dir . DIRECTORY_SEPARATOR . $anneeDir)) {
//Mois
while (($moisDir = readdir($dhAnneeDir)) !== false) {
echo "Dir ".$dir . DIRECTORY_SEPARATOR . $anneeDir . DIRECTORY_SEPARATOR . $moisDir."\n";
if ($moisDir != '.' || $moisDir != '..') {
//Fichier
if ($dhFile = opendir($dir . DIRECTORY_SEPARATOR . $anneeDir . DIRECTORY_SEPARATOR . $moisDir)) {
while (($file = readdir($dhFile)) !== false) {
if ($file != '.' || $file != '..') {
if (preg_match('/^acte-([0-9]{9})-([0-9a-zA-Z]{1,})-([0-9]{8})-.*-([0-9]{2})\.pdf/', $file, $matches)) {
$siren = $matches[1];
$type = $matches[2];
$date = $matches[3];
$num = $matches[4];
$actesM = new Application_Model_ActesFiles();
$sql = $actesM->select()
->where('siren=?', $siren)
->where('type=?', $type)
->where('date=?', $date)
->where('num=?', $num);
$result = $actesM->fetchRow($sql);
if ( null === $result ) {
echo "Insert $file\n";
$actesM->insert(array(
'siren' => $siren,
'type' => $type,
'date' => $date,
'num' => $num,
'file' => $file,
));
}
}
}
}
closedir($dhFile);
}
}
}
closedir($dhAnneeDir);
}
}
}
closedir($dh);
}
}
exit;
}
/**
* Liste des commandes non traités depuis la base de données
*/
$acM = new Application_Model_Sdv1GreffeCommandesAc();
$biM = new Application_Model_Sdv1GreffeCommandesBi();
$tabCommandes = array();
if (in_array('ac', $types)) {
$sql = $acM->select()
->where('mode=?','C')
->where('dateCommande!=?', '0000-00-00 00:00:00')
->where('dateEnvoi=?', '0000-00-00 00:00:00');
$rows = $acM->fetchAll($sql);
if (count($rows)>0) {
foreach ($rows as $row) {
$tabCommandes['G-AC-'.$row->id] = $row;
}
}
}
if (in_array('bi', $types)) {
$sql = $biM->select()
->where('mode=?','C')
->where('dateCommande!=?', '0000-00-00 00:00:00')
->where('dateEnvoi=?', '0000-00-00 00:00:00');
$rows = $biM->fetchAll($sql);
if (count($rows)>0) {
foreach ($rows as $row) {
$tabCommandes['G-BI-'.$row->id] = $row;
}
}
}
$nbCommandes = count($tabCommandes);
echo date('Y/m/d - H:i:s') ." - Il y a $nbCommandes commandes en attente de réception courrier ou numérisation !\n";
/**
* Connexion au site FTP pour la récupération de la liste des fichiers au format pdf
*/
$conn_id = ftp_connect(ACTES_IGNUM_FTP_URL);
if (!$conn_id) {
echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de se connecter au serveur FTP (".ACTES_IGNUM_FTP_URL.") !\n";
exit;
}
$login_result = ftp_login($conn_id, ACTES_IGNUM_FTP_USER, ACTES_IGNUM_FTP_PASS);
if (!$login_result) {
echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de s'authentifier sur le serveur FTP (".ACTES_IGNUM_FTP_URL.")!\n";
exit;
}
$contents = ftp_nlist($conn_id, "*.pdf");
/**
* Liste de tout les fichiers disponible dans le repertoire
* et associe une clé pour faciliter le tri
*/
$tabFichiersFtp = array();
foreach ($contents as $filename){
$indice = 0;
if (preg_match('/[g-ac-|g-bi-][0-9]+\.pdf/', $filename)
|| preg_match('/[g-ac-|g-bi-][0-9]+-[0-9]{1,2}\.pdf/', $filename)){
list($ref, $indice) = explode('-', str_replace(array('.pdf', 'g-ac', 'g-bi'), array('','',''), $filename));
if(empty($indice)) $indice = 0;
$tabFichiersFtp[strtoupper($ref).'-'.$indice] = strtoupper($filename);
// Fichiers en anomalies
} else {
if ($test){
echo "Erreur : Anomalie fichier numérisé $filename\n";
} else {
$subject = "Erreur : Anomalie fichier numérisé";
$message = "Le fichier $filename a été trouvé et ne correspond pas au format attendu";
$headers = 'From: supportdev@scores-decisions.com' . "\r\n" .
'Reply-To: supportdev@scores-decisions.com';
mail('supportdev@scores-decisions.com', $subject, $message, $headers);
}
}
}
/**
* Tri des fichiers par ordre décroissant
* Les noms des fichiers sont incrémenté par 1
*/
krsort($tabFichiersFtp);
/**
* Dans le cas ou il y a eu une erreur de scan, la production passe a nouveau le
* document dans le scanner et le fichier est envoyé sur le ftp
* Le document est nommé G[ref],G[ref]-1,G[ref]-2,.....pdf.
* On garde donc le dernier document scanné.
*/
$lastRef = '';
$tabFichiersTemp = array();
foreach($tabFichiersFtp as $k => $val)
{
list($ref, $indice) = explode('-',$k);
if( $lastRef != $ref ) {
$tabFichiersTemp[$ref] = $val;
}
$lastRef = $ref;
}
$tabFichiers = $tabFichiersTemp;
unset($tabFichiersTemp);
/**
* Pour chaque commande, test de la présence d'un fichier associé
* Si le fichier correspond téléchargement du fichier
*/
foreach ($tabCommandes as $ref => $commande) {
foreach ($tabFichiers as $refAssocie => $fichier) {
if ($ref == $refAssocie) {
echo date ('Y/m/d - H:i:s')." - Traitement de la commande $ref\n";
if ($test){
echo date ('Y/m/d - H:i:s')." - Fichier $fichier \n";
} else {
//Récupération du fichier depuis le FTP (s'il n'existe pas déjà)
if (!file_exists(ACTES_IGNUM_LOCAL_DIR.$fichier)){
if (ftp_get($conn_id, ACTES_IGNUM_LOCAL_DIR.$fichier, $fichier, FTP_BINARY, 0)) {
echo date ('Y/m/d - H:i:s')." - Fichier $fichier téléchargé depuis le serveur FTP.\n";
} else {
echo date ('Y/m/d - H:i:s')." - ERREUR : Impossible de télécharger le fichier $fichier !\n";
}
}
switch (substr($ref,2,2)) {
case 'BI':
$infogreffe = new Metier_Infogreffe_Bi($commande->siren);
//Format date cloture
$dateCloture = substr($commande->bilanCloture,0,4) . substr($commande->bilanCloture,5,2) . substr($commande->bilanCloture,8,2);
$path = $infogreffe->getFilePath($commande->bilanType, $dateCloture);
$nomCible = $infogreffe->getFileName($commande->bilanType, $dateCloture);
if (file_exists(ACTES_IGNUM_LOCAL_DIR.$fichier) && !file_exists(PATH_DATA.$path.$nomCible)) {
if (rename(ACTES_IGNUM_LOCAL_DIR.$fichier, PATH_DATA.$path.$nomCible)){
$bilanM = new Application_Model_JoGreffesBilans();
$sql = $bilanM->select()
->where('siren=?',$siren)
->where('date_cloture=?', $dateCloture);
if ($commande->bilanType=='sociaux') {
$sql->where('type_comptes="" OR type_comptes="sociaux"');
} else {
$sql->where('type_comptes="consolides"');
}
$item = $bilanM->fetchRow($sql);
if ($item->pdfDate == '0000-00-00') {
$infos = $infogreffe->pdfInfos(PATH_DATA.$path.$nomCible);
if (false !== $infos) {
$data = array(
'pdfLink' => $file,
'pdfSize' => $infos['size'],
'pdfPage' => $infos['pages'],
'pdfVer' => $infos['version'],
'pdfDate' => date('Ymd'),
);
try {
$result = $bilanM->update($data, 'id='.$item->id);
} catch(Zend_Db_Adapter_Exception $e) {
echo $e->getMessage();
} catch(Zend_Db_Exception $e) {
echo $e->getMessage();
}
}
}
echo date ('Y/m/d - H:i:s')." - Fichier ".ACTES_IGNUM_LOCAL_DIR.$fichier." déplacé en ".PATH_DATA.$path.$nomCible.".\n";
} else {
echo date ('Y/m/d - H:i:s')." ERREUR - Impossible de déplacer ".ACTES_IGNUM_LOCAL_DIR.$fichier." en ".PATH_DATA.$path.$nomCible." !\n";
}
}
break;
case 'AC':
$acteM = new Application_Model_JoGreffesActes();
$sql = $acteM->select()
->where('siren=?', $commande->siren)
->where('num_depot=?', $commande->depotNum)
->where('num_acte=?', $commande->depotDate)
->where('type_acte=?',$commande->acteType);
$item = $acteM->fetchRow($sql);
$infogreffe = new Metier_Infogreffe_Ac($commande->siren);
$date = substr($commande->acteDate,0,4) . substr($commande->acteDate,5,2) . substr($commande->acteDate,8,2);
if (intval($date) == 0) {
$date = substr($commande->depotDate,0,4) . substr($commande->depotDate,5,2) . substr($commande->depotDate,8,2);
}
$path = $infogreffe->getFilePath($date);
//(Numéro du Greffe)-(dossier_millesime)-(dossier_statut)-(dossier_chrono)-(num_depot)
$options = $item->numGreffe . '-' . substr($item->numR,0,2) . '-' . substr($item->numR,2,1) . '-' . substr($item->numR,3) . '-' . $item->num_depot;
$nomCible = $infogreffe->getFileName($date, $commande->acteNum, $commande->acteType, $options);
if (file_exists(ACTES_IGNUM_LOCAL_DIR.$fichier) && !file_exists(PATH_DATA.$path.$nomCible)) {
if (rename(ACTES_IGNUM_LOCAL_DIR.$fichier, PATH_DATA.$path.$nomCible)){
if ($item->pdfDate == '0000-00-00') {
$infos = $infogreffe->pdfInfos(PATH_DATA.$path.$nomCible);
if (false !== $infos) {
$data = array(
'pdfLink' => $file,
'pdfSize' => $infos['size'],
'pdfPage' => $infos['pages'],
'pdfVer' => $infos['version'],
'pdfDate' => date('Ymd'),
);
try {
$result = $acteM->update($data, 'id='.$item->id);
echo " = enregistrement.";
} catch(Zend_Db_Adapter_Exception $e) {
echo $e->getMessage();
} catch(Zend_Db_Exception $e) {
echo $e->getMessage();
}
}
}
}
echo date ('Y/m/d - H:i:s')." - Fichier ".ACTES_IGNUM_LOCAL_DIR.$fichier." déplacé en ".PATH_DATA.$path.$nomCible.".\n";
} else {
echo date ('Y/m/d - H:i:s')." ERREUR - Impossible de déplacer ".ACTES_IGNUM_LOCAL_DIR.$fichier." en ".PATH_DATA.$path.$nomCible." !\n";
}
}
break;
}
//Envoi du mail et Mise à jour de la commande
$testMail = false;
if (file_exists(PATH_DATA.$path.$nomCible)){
if ($testMail){
echo "Envoi fichier $nomCible ($ref) à ".$commande['emailCommande'];
} else {
$report_txt.= "$ref intégré à l'extranet";
$isMailSent = false;
if (trim($commande['emailCommande'])!=''){
$isMailSent = sendMail($commande, $nomCible);
} else {
$isMailSent = true;
}
if ($isMailSent){
echo date ('Y/m/d - H:i:s')." - Commande $ref mise à jour\n";
$commandesM = new Application_Model_Commandes();
$data = array( 'dateReception' => date('YmdHis'));
$commandesM->update($data, 'idCommande='.$commande['idCommande']);
$report_txt.= ' - Email envoyé à '.$commande['emailCommande'];
} else {
$report_txt.= ' - Email non envoyé !';
echo date ('Y/m/d - H:i:s')." ERREUR - Email non envoyé et commande $ref non mise à jour\n";
}
$report_txt.= "\n";
}
}
break;
}
}
}
ftp_close($conn_id);
if (empty($report_txt)) {
$report_txt = "Aucun envoi.";
}
//Envoi du mail de rapport
if (!$test && !$testMail){
if (mail($report_email, $report_subject, utf8_decode($report_txt))){
echo date ('Y/m/d - H:i:s')." - Rapport envoyé.\n";
} else {
echo date ('Y/m/d - H:i:s')." - Erreur lors de l'envoir du rapport !\n";
}
}
?>