Librairies Metier : upgrade

This commit is contained in:
Michael RICOIS 2014-03-13 14:33:41 +00:00
parent 4669f48118
commit 23fd0606b9
16 changed files with 2062 additions and 1301 deletions

View File

@ -88,6 +88,12 @@ class Metier_Infogreffe
*/
public $date_acte;
/**
*
* @var unknown
*/
public $type_acte;
/**
* AC : Numéro de l'acte
* @var string
@ -106,6 +112,11 @@ class Metier_Infogreffe
*/
protected $xml = '';
/**
* Cache delay
* @var unknown
*/
protected $cacheFiletime;
/**
* Initialize configuration
@ -118,12 +129,14 @@ class Metier_Infogreffe
if ( null === $this->config ) {
throw new Exception('Unable to load configuration file.');
}
$this->cacheFiletime = $c->profil->infogreffe->cache->time;
}
public function callRequest()
{
$fromCache = false;
if ( $this->mode_diffusion == 'XL' && $this->fileIsCache($name) ){
if ( $this->mode_diffusion == 'XL' && $this->fileIsCache() ){
$fromCache = true;
}
@ -131,15 +144,14 @@ class Metier_Infogreffe
$xml = $this->fileFromCache();
} else {
$xml = $this->getProduitsXML();
$this->error($xml);
}
$this->error($xml);
if ( $this->mode_diffusion == 'XL' ){
$this->fileTocache($xml);
}
$this->error($xml);
return $xml;
}
@ -168,10 +180,9 @@ class Metier_Infogreffe
/**
*
* @param string $xml
* @return boolean
*/
protected function fileIsCache($xml)
protected function fileIsCache()
{
$filename = $this->type_document . '-' . $this->siren . '.xml';
$file = $file = $this->config->cache->path . DIRECTORY_SEPARATOR . $filename;
@ -204,23 +215,20 @@ class Metier_Infogreffe
*/
protected function error($xml)
{
if (!empty($xml))
{
if ( !empty($xml) ) {
$doc = new DOMDocument();
$load = $doc->loadXML($xml, LIBXML_NOERROR | LIBXML_NOWARNING);
if (!$load) {
if ( !$load ) {
$tmp = explode('-', $xml);
$errNum = intval($tmp[0]);
$errMsg = $tmp[1];
if( $errNum == '5' ){
$errMsg = 'Service partenaire indisponible.';
}
throw new Exception($errNum . '-' . $errMsg);
throw new Exception($errMsg, $errNum);
}
}
else
{
throw new Exception('Fichier vide');
else {
throw new Exception('XML content is empty.');
}
}
@ -233,17 +241,24 @@ class Metier_Infogreffe
*/
protected function download($url, $filename)
{
$file = $file = $this->config->storage->path . DIRECTORY_SEPARATOR . $filename;
$fp = fopen($file, 'w');
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_FILE, $fp);
$data = curl_exec($ch);
if( curl_errno($ch) ) {
throw new Exception( curl_error($ch) );
$file = $this->config->storage->path . '/' . $filename;
try {
$client = new Zend_Http_Client($url);
$client->setStream();
$response = $client->request('GET');
if ( $response->isSuccessful() && substr($response->getBody(),0,4)=='%PDF' ) {
if ( copy($response->getStreamName(), $file) ) {
return $file;
} else {
throw new Exception( "Erreur lors de l'ecriture du fichier" );
}
} else {
throw new Exception( "Fichier non PDF" );
}
} catch (Zend_Http_Client_Exception $e) {
throw new Exception( $e->getMessage() );
}
curl_close($ch);
fclose($fp);
return $file;
}
/**
@ -288,8 +303,6 @@ class Metier_Infogreffe
$emetteur->addChild('code_abonne', $this->config->user);
$emetteur->addChild('mot_passe', $this->config->password);
//Set Command ID
$emetteur->addChild('reference_client', $this->reference_client);
$code_requete = $emetteur->addChild('code_requete');
$code_requete->addChild('type_profil', 'A');
$code_requete->addChild('origine_emetteur', 'IC');
@ -320,26 +333,32 @@ class Metier_Infogreffe
// Commande de documents : bilan saisie ou bilan complet
if ( ($this->type_document=='BS' || $this->type_document=='BI') )
{
$commande->addChild('greffe',$this->greffe);
$commande->addChild('dossier_millesime',$this->dossier_millesime);
$commande->addChild('dossier_statut',$this->dossier_statut);
$commande->addChild('dossier_chrono',$this->dossier_chrono);
$num_gest = $commande->addChild('num_gest');
$num_gest->addChild('greffe',$this->greffe);
$num_gest->addChild('dossier_millesime',$this->dossier_millesime);
$num_gest->addChild('dossier_statut',$this->dossier_statut);
$num_gest->addChild('dossier_chrono',$this->dossier_chrono);
$commande->addChild('num_depot',$this->num_depot);
//Date de cloture au format dd/MM/yyyy
$commande->addChild('date_cloture', $this->date_cloture);
}
// Commande de documents : actes
elseif ( $this->type_document=='AC' )
{
$commande->addChild('greffe',$this->greffe);
$commande->addChild('dossier_millesime',$this->dossier_millesime);
$commande->addChild('dossier_statut',$this->dossier_statut);
$commande->addChild('dossier_chrono',$this->dossier_chrono);
$num_gest = $commande->addChild('num_gest');
$num_gest->addChild('greffe',$this->greffe);
$num_gest->addChild('dossier_millesime',$this->dossier_millesime);
$num_gest->addChild('dossier_statut',$this->dossier_statut);
$num_gest->addChild('dossier_chrono',$this->dossier_chrono);
$commande->addChild('num_depot',$this->num_depot);
$liste_actes = $commande->addChild('liste_actes');
$liste_actes->addChild('acte')->addAttribute('num', $this->num);
}
}
//Set Command ID
$commande->addChild('reference_client', $this->reference_client);
$xml = str_replace('<?xml version="1.0"?>', '', $xml->asXML());
$this->xml = $xml;
@ -355,11 +374,10 @@ class Metier_Infogreffe
{
$this->setXML();
//Be sure it's in UTF-8
$req = utf8_encode($this->xml);
$req = $this->xml;
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
@ -394,6 +412,10 @@ class Metier_Infogreffe
$response = str_replace("<?xml version='1.0' encoding='UTF-8'?><SOAP-ENV:Envelope xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/' xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'><SOAP-ENV:Body><ns0:getProduitsWebServicesXMLResponse xmlns:ns0='urn:local' SOAP-ENV:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'><return xsi:type='xsd:string'>", '', $response);
$response = str_replace('</return></ns0:getProduitsWebServicesXMLResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>','', $response);
if ($this->debug) {
file_put_contents($this->type_document.'-'.$this->siren.'-'.$this->mode_diffusion.'.response', $response);
}
return $response;
}
}

View File

@ -19,8 +19,6 @@ class Metier_Infogreffe_Ac extends Metier_Infogreffe
*/
public function __construct($siren, $db = null)
{
//@todo : Inject db in batch
parent::__construct();
//Set type
@ -31,7 +29,7 @@ class Metier_Infogreffe_Ac extends Metier_Infogreffe
//Get defaut database adapter
if ($db === null) {
$this->db = Zend_Db_Table_Abstract::getDefaultAdapter();
$this->db = Zend_Db_Table_Abstract::getDefaultAdapter();
} else {
$this->db = $db;
}
@ -46,19 +44,31 @@ class Metier_Infogreffe_Ac extends Metier_Infogreffe
$this->mode_diffusion = 'XL';
$this->reference_client = 'list-' . $this->siren;
$actesM = new Application_Model_JoGreffesActes($this->db);
//Requete WebService
$actesXML = null;
if ( $onlyDb === false ) {
$this->debug = true;
//Infogreffe webservice
$xml = $this->callRequest();
$actesM->update(array('actif' => 0), 'siren='.$this->siren);
//Infogreffe webservice
try {
$xml = $this->callRequest();
} catch( Exception $e ) {
//file_put_contents('debug.log', $e->getMessage());
//@todo : get error message
//echo $e->getMessage();
return array();
}
$actesXML = $this->formatList($xml);
}
//Lecture de la base de données
$actesM = new Application_Model_JoGreffesActes($this->db);
$sql = $actesM->select()
->where('siren=?', $this->siren)
->where('actif=1')
->order('date_depot DESC')
->order('num_depot DESC')
->order('num_acte ASC')
->order('date_acte DESC');
$rows = $actesM->fetchAll($sql);
@ -71,7 +81,7 @@ class Metier_Infogreffe_Ac extends Metier_Infogreffe
$item->FileNumberOfPages = $row->pdfPage;
$item->DepotNum = $row->num_depot;
$item->DepotDate = $row->date_depot;
$item->ActeNum = $row->num_acte;
$item->ActeNum = str_pad($row->num_acte, 2, '0', STR_PAD_LEFT);
$item->ActeDate = $row->date_acte;
$item->ActeNumberOfPages = $row->nbpages_acte;
$item->ActeType = $row->type_acte;
@ -85,9 +95,8 @@ class Metier_Infogreffe_Ac extends Metier_Infogreffe
$item->infos[] = $decisions;
//@todo : si présence de fichier alors mode T
$mode_diffusion = explode(',', $row->mode_diffusion);
if (in_array('T',$mode_diffusion)) {
if (in_array('T',$mode_diffusion) || !empty($item->File)) {
$item->ModeDiffusion = 'T';
} elseif (in_array('C',$mode_diffusion)) {
$item->ModeDiffusion = 'C';
@ -109,20 +118,16 @@ class Metier_Infogreffe_Ac extends Metier_Infogreffe
* @param string $acteType
* @param string $acteDate
* @param int $acteNum
* @param int $orderId
* @throws Exception
* @return string
* Return the full path of the file
*/
public function getCommandeT($depotDate, $depotNum, $acteType, $acteDate, $acteNum)
public function getCommandeT($depotDate, $depotNum, $acteType, $acteDate, $acteNum, $orderId = null)
{
$this->mode_diffusion = 'T';
$this->reference_client = 'T'.date('YmdHis');
//Lire dans la base de données
$actesM = new Application_Model_JoGreffesActes($this->db);
//@todo : set vars
$sql = $actesM->select()
->where('siren=?', $this->siren)
->where('num_depot=?', $depotNum)
@ -136,40 +141,69 @@ class Metier_Infogreffe_Ac extends Metier_Infogreffe
throw new Exception('Not exist');
}
//Needed element for filename
$date = $row->date_acte;
$type = $row->type_acte;
$num = $row->num_acte;
$options = $row->numGreffe . '-' . substr($row->numR,0,2) . '-' . substr($row->numR,2,1) . '-' . substr($row->numR,3) . '-' . $row->num_depot;
$this->mode_diffusion = 'T';
$this->reference_client = 'T'.date('YmdHis');
$this->greffe = $row->numGreffe;
$this->dossier_millesime = substr($row->numRC,0,2);
$this->dossier_statut = substr($row->numRC,2,1);
$this->dossier_chrono = substr($row->numRC,3);
$this->date_depot = $row->date_depot;
$this->num_depot = $row->num_depot;
$this->date_acte = $row->date_acte;
$this->num = str_pad($row->num_acte, 2, '0', STR_PAD_LEFT);
//Needed element for filename
$date = $row->date_acte;
$type = $row->type_acte;
$num = $row->num_acte;
$options = $row->numGreffe . '-' . substr($row->numRC,0,2) . '-' . substr($row->numRC,2,1) . '-' . substr($row->numRC,3) . '-' . $row->num_depot;
//Set filename
$filename = $this->getFilePath($date) . '/' . $this->getFileName($date, $num, $type, $options);
if ( $row->pdfLink != '' ) {
//Set the filename
$filename = $this->getFilePath($date) . DIRECTORY_SEPARATOR . $this->getFileName($date, $num, $type, $options);
$filename = $this->getFilePath($date) . '/' . $row->pdfLink;
//Check if filename exist
if ( !file_exists($this->config->storage->path . DIRECTORY_SEPARATOR . $filename) ) {
if ( !file_exists($this->config->storage->path . '/' . $filename) ) {
throw new Exception('File not found');
}
} else {
} elseif ( file_exists($this->config->storage->path . '/' . $filename) ) {
//Analyser le fichier - Nombre de page et taille
$infos = $this->pdfInfos($this->config->storage->path . '/' . $filename);
//Enregistrer les infos du fichier dans la base de données
if (false !== $infos) {
$this->dbSetFile(basename($filename), $infos['size'], $infos['pages'], $infos['version']);
} else {
$this->dbSetFile(basename($filename));
}
} else {
try {
$xml = $this->callRequest();
} catch(Exception $e) {
throw new Exception($e->getMessage(), $e->getCode());
}
$xml = $this->callRequest();
$acte = $this->formatItem($xml);
$url = $acte['url_acces'];
$url = $acte['actes'][0]['url_acces'];
if (empty($url)) {
throw new Exception('File url not given');
}
//Set the filename
$filename = $this->getFilePath($date) . DIRECTORY_SEPARATOR . $this->getFileName($date, $num, $type, $options);
if ( $orderId !== null ) {
$commandeM = new Application_Model_Sdv1GreffeCommandesAc();
$commandeM->update(array(
'cmdUrl'=> $url,
'dateCommande' => date('YmdHis'),
), 'id='.$orderId);
}
//Récupérer le fichier
$getfile = $this->download($url, $filename);
@ -179,27 +213,66 @@ class Metier_Infogreffe_Ac extends Metier_Infogreffe
//Enregistrer les infos du fichier dans la base de données
if (false !== $infos) {
$this->dbSetFile($filename, $infos['size'], $infos['pages'], $infos['version']);
$this->dbSetFile(basename($filename), $infos['size'], $infos['pages'], $infos['version']);
} else {
$this->dbSetFile(basename($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 = '')
{
//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->mode_diffusion = 'C';
$this->reference_client = $reference;
//Générer les paramètres de commande depuis la base de données
$this->greffe = $row->numGreffe;
$this->dossier_millesime = substr($row->numRC,0,2);
$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 = str_pad($row->num_acte, 2, '0', STR_PAD_LEFT);
//Enregistrer la commande dans la base de données
//Récupérer l'id de commande
$this->reference_client = 'G'.$id;
$xml = $this->callRequest();
//@todo :
//Faire la requete
try {
$xml = $this->callRequest();
} catch(Exception $e) {
//La prise en charge du courrier est effective
if ( $e->getCode() != 17 ) {
throw new Exception($e->getMessage());
}
}
return true;
}
/**
@ -227,7 +300,11 @@ class Metier_Infogreffe_Ac extends Metier_Infogreffe
*/
public function getFilePath($date)
{
return 'actes' . DIRECTORY_SEPARATOR . substr($date,0,4) . DIRECTORY_SEPARATOR . substr($date,5,2);
$dir = 'actes/' . substr($date,0,4) . '/' . substr($date,5,2);
if ( !file_exists( $this->config->storage->path . '/' . $dir ) ) {
mkdir($this->config->storage->path . '/' . $dir, 0777, true);
}
return $dir;
}
/**
@ -264,6 +341,9 @@ class Metier_Infogreffe_Ac extends Metier_Infogreffe
{
$actenum = array();
$actenum['date_acte'] = $infoActe->getElementsByTagName('date_acte')->item(0)->nodeValue;
if ($infoActe->getElementsByTagName('date_acte')->item(0)->nodeValue == '') {
$actenum['date_acte'] = '0000-00-00';
}
$actenum['num_acte'] = $infoActe->getElementsByTagName('num_acte')->item(0)->nodeValue;
$actenum['type_acte'] = $infoActe->getElementsByTagName('type_acte')->item(0)->nodeValue;
$actenum['type_acte_libelle'] = $infoActe->getElementsByTagName('type_acte_libelle')->item(0)->nodeValue;
@ -370,61 +450,77 @@ class Metier_Infogreffe_Ac extends Metier_Infogreffe
*/
protected function dbUpdateItem($list)
{
//siren
//numRC
//numGreffe
//num_depot
//date_depot
//date_acte
//num_acte
//type_acte => Attention garder la version 1 et 2
//type_acte_libelle
//nbpages_acte
//decision_nature
//decision_libelle
//mode_diffusion
foreach ($list['depot'] as $depot) {
$data = array(
'siren' => $list['num_siren'],
'numRC' => $list['num_gest']['dossier_millesime'].
$list['num_gest']['dossier_statut'].$list['num_gest']['dossier_chrono'],
'numGreffe' => $list['num_gest']['greffe'],
'num_depot' => $list['num_depot'],
'date_depot' => $list['date_depot'],
'date_acte' => $depot['date_acte'],
'num_acte' => $depot['num_acte'],
'type_acte' => $depot['type_acte'],
'type_acte_libelle' => $depot['type_acte_libelle'],
'nbpages_acte' => $depot['nbpages_acte'],
'decision_nature' => empty($depot['decision']['nature']) ? '' : $depot['decision']['nature'] ,
'decision_libelle' => empty($depot['decision']['libelle']) ? '' : $depot['decision']['libelle'] ,
'mode_diffusion' => join(',',$depot['mode_diffusion']),
'actif' => 1,
);
$data = array(
'siren' => $list['siren'],
'numRC' => $list['num_gest']['dossier_millesime'].
$list['num_gest']['dossier_statut'].$list['num_gest']['dossier_chrono'],
'numGreffe' => $list['num_gest']['greffe'],
'num_depot' => $list['num_depot'],
'date_depot' => $list['date_depot'],
'date_acte' => $list['date_acte'],
'num_acte' => $list['num_acte'],
'type_acte' => $list['type_acte'],
'type_acte_libelle' => $list['type_acte_libelle'],
'nbpages_acte' => $list['nbpages_acte'],
'decision_nature' => $list['decision']['nature'],
'decision_libelle' => $list['decision']['libelle'],
'mode_diffusion' => join(',',$list['mode_diffusion']),
);
//Only new element are inserted
try {
$acteM = new Application_Model_JoGreffesActes($this->db);
$acteM->select()
->where('siren=?', $list['siren'])
->where('num_depot=?', $list['num_depot'])
->where('date_depot=?', $list['date_depot'])
->where('date_acte=?', $list['date_acte'])
->where('num_acte=?', $list['num_acte'])
->where('type_acte=?', $list['type_acte']); //Attention type lors du téléchargement
if ( null === $acteM->fetchRow($sql) ) {
$result = $acteM->insert($data);
//Only new element are inserted
try {
$acteM = new Application_Model_JoGreffesActes($this->db);
$sql = $acteM->select()
->where('siren=?', $list['num_siren'])
->where('num_depot=?', intval($list['num_depot']))
//->where('date_depot=?', $list['date_depot'])
//->where('date_acte=?', $depot['date_acte'])
->where('num_acte=?', intval($depot['num_acte']))
->order('dateInsert DESC');
$rows = $acteM->fetchAll($sql);
} catch(Zend_Db_Adapter_Exception $e) {
throw new Exception($e->getMessage());
}
} catch(Zend_Db_Adapter_Exception $e) {
throw new Exception($e->getMessage());
} catch(Zend_Db_Exception $e) {
throw new Exception($e->getMessage());
//Insert new element
if ( count($rows)==0 ) {
try {
//Add dateInsert
$data['dateInsert'] = date('YmdHis');
$result = $acteM->insert($data);
} catch(Zend_Exception $e) {
throw new Exception($e->getMessage());
}
}
//Update information
else {
//Correct multiple item
$item = $rows[0];
if ( count($rows) > 1 ) {
try {
$result = $acteM->delete(array(
'siren='.$this->siren,
'num_depot='.intval($list['num_depot']),
'num_acte='.intval($depot['num_acte']),
'id!='.$item->id,
));
} catch(Zend_Exception $e) {
throw new Exception($e->getMessage());
}
}
try {
$result = $acteM->update($data, 'id='.$item->id);
} catch(Zend_Exception $e) {
throw new Exception($e->getMessage());
}
}
}
if ($result) {
return true;
}
return false;
return true;
}
/**
@ -435,21 +531,22 @@ class Metier_Infogreffe_Ac extends Metier_Infogreffe
* @param string $version
* @return boolean
*/
protected function dbSetFile($filename, $size, $numberOfPage, $version)
protected function dbSetFile($filename, $size = 0, $numberOfPage = '', $version = '')
{
$data = array(
'pdfLink' => $filename,
'pdfSize' => $size,
'pdfPage' => $numberOfPage,
'pdfVer' => $version
'pdfVer' => $version,
'pdfDate' => date('Ymd'),
);
$where = array(
'siren="'.$this->siren."'",
'num_depot' => $this->num_depot,
'date_depot' => $this->date_depot,
'date_acte' => $this->date_acte,
'num_acte' => $this->num,
'siren='.$this->siren,
'num_depot='.$this->num_depot,
'date_depot="'.$this->date_depot.'"',
'date_acte="'.$this->date_acte.'"',
'num_acte='.$this->num,
);
try {

View File

@ -42,6 +42,7 @@ class Metier_Infogreffe_Bi extends Metier_Infogreffe
}
/**
*
* @param $onlyDb
* @return array
*/
@ -50,20 +51,33 @@ class Metier_Infogreffe_Bi extends Metier_Infogreffe
$this->mode_diffusion = 'XL';
$this->reference_client = 'list-' . $this->siren;
$bilansM = new Application_Model_JoGreffesBilans();
//Requete WebService
$bilansXML = null;
if ( $onlyDb === false ) {
$this->debug = true;
//Set All line state to 0
try {
$bilansM->update(array('actif' => 0), 'siren='.$this->siren);
} catch(Zend_Db_Exception $e) {}
//Infogreffe webservice
$xml = $this->callRequest();
try {
$xml = $this->callRequest();
} catch( Exception $e ) {
//@todo : get error message
return array();
}
$bilansXML = $this->formatList($xml);
}
//Lecture de la base de données
$bilansM = new Application_Model_JoGreffesBilans();
$sql = $bilansM->select()
->where('siren=?', $this->siren)
->order('date_cloture DESC');
->where('actif=1')
->order('date_cloture DESC')
->order('num_depot DESC')
->order('dateInsert DESC');
//GROUP BY type_comptes, date_cloture AND ORDER BY num_depot DESC
$rows = $bilansM->fetchAll($sql);
$bilans = array();
@ -76,11 +90,14 @@ class Metier_Infogreffe_Bi extends Metier_Infogreffe
$item->Millesime = $row->millesime;
$item->NumDepot = $row->num_depot;
$item->DateCloture = $row->date_cloture;
$item->Type = $row->type_comptes;
if ( empty($row->type_comptes) ) {
$item->Type = 'sociaux';
} else {
$item->Type = $row->type_comptes;
}
$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';
} elseif (in_array('C',$mode_diffusion)) {
$item->ModeDiffusion = 'C';
@ -88,6 +105,33 @@ class Metier_Infogreffe_Bi extends Metier_Infogreffe
$item->ModeDiffusion = '';
}
$item->DureeExercice = $row->duree_exercice;
$item->SaisieDate = $row->saisie_date;
$item->SaisieCode = $row->saisie_code;
switch ( $row->saisie_code ) {
case '00': $item->SaisieLabel = "Bilan saisi sans anomalie"; break;
case '01': $item->SaisieLabel = "Bilan saisi avec des incohérences comptables à la source du document (issues du remettant)"; break;
case '02': $item->SaisieLabel = "Bilan avec Actif, Passif ou Compte de Résultat nul"; break;
case '03': $item->SaisieLabel = "Bilan incomplet (des pages manquent)"; break;
case '04': $item->SaisieLabel = "Bilan complet non détaillé (seuls les totaux et sous totaux sont renseignés)"; break;
case '05': $item->SaisieLabel = "Bilan reçu en double exemplaire"; break;
case '06': $item->SaisieLabel = "Bilan intermédiaire - Situation provisoire"; break;
case '07': $item->SaisieLabel = "Bilan illisible"; break;
case 'A7': $item->SaisieLabel = "Bilan illisible, présentant un cadre gris très foncés (dans lesquels sont inscrits en général les totaux)"; break;
case 'B7': $item->SaisieLabel = "Bilan manuscrits"; break;
case 'C7': $item->SaisieLabel = "Bilan illisible, présentant des caractères trop gras"; break;
case 'D7': $item->SaisieLabel = "Bilan scanné en biais ou qui présentent des pages rognées"; break;
case 'E7': $item->SaisieLabel = "Bilan numérisés trop clairement (comme une imprimante dont la cartouche est presque vide)"; break;
case 'F7': $item->SaisieLabel = "Bilan illisible"; break;
case '08': $item->SaisieLabel = "Bilan consolidé"; break;
case '09': $item->SaisieLabel = "Déclaration d'impôts"; break;
case '10': $item->SaisieLabel = "Document autre que bilan"; break;
case '11': $item->SaisieLabel = "Bilan de clôture de liquidation"; break;
case '12': $item->SaisieLabel = "Bilan de Société financière"; break;
case '13': $item->SaisieLabel = "Bilan de Société d'assurance"; break;
case '14': $item->SaisieLabel = "Bilan de Société immobilière"; break;
case '15': $item->SaisieLabel = "Bilan de Société étrangère"; break;
default: $item->SaisieLabel = ""; break;
}
$bilans[] = $item;
}
}
@ -102,70 +146,86 @@ class Metier_Infogreffe_Bi extends Metier_Infogreffe
* Format AAAA-MM-DD
* @param string $type
* sociaux ou consolides
* @params int $orderId
* Id de commande pour l'enregistrement dans la table de gestion
* @throws Exception
* @return string
* Return path (not complete) and filename
*/
public function getCommandeT($dateCloture = null, $type = 'sociaux')
public function getCommandeT($dateCloture = null, $type = 'sociaux', $orderId = null)
{
$this->mode_diffusion = 'T';
$this->reference_client = 'T'.date('YmdHis');
//Lire dans la base de données
$bilansM = new Application_Model_JoGreffesBilans();
$sql = $bilansM->select()
->where('siren=?', $this->siren)
->where('date_cloture=?', $dateCloture);
if ( $type == 'sociaux' || $type == '' ) {
$sql->where("(type='sociaux' OR type='')");
$sql->where("(type_comptes='sociaux' OR type_comptes='')");
} else {
$sql->where('type=?',$type);
$sql->where('type_comptes=?',$type);
}
$sql->order('dateInsert DESC')->order('num_depot DESC')->limit(1);
$row = $bilansM->fetchRow($sql);
if ( null === $row ) {
throw new Exception('Not exist');
throw new Exception("Element doesn't exist");
}
$this->mode_diffusion = 'T';
$this->reference_client = 'T'.date('YmdHis');
$this->greffe = $row->numGreffe;
$this->dossier_millesime = substr($row->numRC,0,2);
$this->dossier_statut = substr($row->numRC,2,1);
$this->dossier_chrono = substr($row->numRC,3);
$this->num_depot = $row->num_depot;
$this->date_cloture = $row->date_cloture;
//Set the filename
$filename = $this->getFilePath($type, $dateCloture) . '/' . $this->getFileName($type, $dateCloture);
if ($row->pdfLink != '') {
//Set filename
$filename = $this->getFilePath($type, $dateCloture) .
DIRECTORY_SEPARATOR .
$this->getFileName($type, $dateCloture);
$filename = $this->getFilePath($type, $dateCloture) . '/' . $this->getFileName($type, $dateCloture);
//Check if filename exist
if ( !file_exists($this->config->storage->path . DIRECTORY_SEPARATOR . $filename) ) {
if ( !file_exists($this->config->storage->path . '/' . $filename) ) {
throw new Exception('File not found');
}
}elseif ( file_exists($this->config->storage->path . '/' . $filename) ) {
//Analyser le fichier - Nombre de page et taille
$infos = $this->pdfInfos($this->config->storage->path . '/' . $filename);
//Enregistrer les infos du fichier dans la base de données
if (false !== $infos) {
$this->dbSetFile(basename($filename), $infos['size'], $infos['pages'], $infos['version']);
} else {
$this->dbSetFile(basename($filename));
}
} else {
$this->greffe = $row->numGreffe;
$this->dossier_millesime = substr($row->numRC,0,2);
$this->dossier_statut = substr($row->numRC,2,1);
$this->dossier_chrono = substr($row->numRC,3);
$this->num_depot = $row->num_depot;
$this->date_cloture = $row->date_cloture;
try {
$xml = $this->callRequest();
} catch(Exception $e) {
//@todo : Error
//Erreur commande webservice
throw new Exception($e->getMessage(), $e->getCode());
}
$bilan = $this->formatItem($xml);
$url = $bilan['url_acces'];
if (empty($url)) {
if ( empty($url) ) {
throw new Exception('File url not given');
}
//Set the filename
$filename = $this->getFilePath($type, $dateCloture) .
DIRECTORY_SEPARATOR .
$this->getFileName($type, $dateCloture);
if ( $orderId !== null ) {
$commandeM = new Application_Model_Sdv1GreffeCommandesBi();
$commandeM->update(array(
'cmdUrl'=> $url,
'dateCommande' => date('YmdHis'),
), 'id='.$orderId);
}
//Récupérer le fichier
$getfile = $this->download($url, $filename);
@ -175,7 +235,9 @@ class Metier_Infogreffe_Bi extends Metier_Infogreffe
//Enregistrer les infos du fichier dans la base de données
if (false !== $infos) {
$this->dbSetFile($filename, $infos['size'], $infos['pages'], $infos['version']);
$this->dbSetFile(basename($filename), $infos['size'], $infos['pages'], $infos['version']);
} else {
$this->dbSetFile(basename($filename));
}
}
@ -200,9 +262,9 @@ class Metier_Infogreffe_Bi extends Metier_Infogreffe
->where('siren=?', $this->siren)
->where('date_cloture=?', $dateCloture);
if ($type=='sociaux') {
$sql->where("(type='sociaux' OR type='')");
$sql->where("(type_comptes='sociaux' OR type_comptes='')");
} else {
$sql->where('type=?',$type);
$sql->where('type_comptes=?',$type);
}
$row = $bilansM->fetchRow($sql);
if ( null === $row ) {
@ -223,8 +285,10 @@ class Metier_Infogreffe_Bi extends Metier_Infogreffe
try {
$xml = $this->callRequest();
} catch(Exception $e) {
//@todo : Gestion des erreurs
return false;
//La prise en charge du courrier est effective
if ( $e->getCode() != 17 ) {
throw new Exception($e->getMessage());
}
}
return true;
@ -234,7 +298,7 @@ class Metier_Infogreffe_Bi extends Metier_Infogreffe
* Name of file
* @param string $type
* @param string $dateCloture
* Format : AAAAMMJJ
* Format : AAAA-MM-JJ
* @return string
*/
public function getFileName($type, $dateCloture)
@ -242,7 +306,9 @@ class Metier_Infogreffe_Bi extends Metier_Infogreffe
if ($type=='') {
$type = 'sociaux';
}
return 'bilan-' . $this->siren . '-' . $type . '-' . $dateCloture . '.pdf';
$date = substr($dateCloture,0,4).substr($dateCloture,5,2).substr($dateCloture,8,2);
return 'bilan-' . $this->siren . '-' . $type . '-' . $date . '.pdf';
}
/**
@ -257,10 +323,13 @@ class Metier_Infogreffe_Bi extends Metier_Infogreffe
if ($type=='') {
$type = 'sociaux';
}
return 'bilans' . DIRECTORY_SEPARATOR . $type . DIRECTORY_SEPARATOR . substr($dateCloture,0,4);
$dir = 'bilans' . '/' . $type . '/' . substr($dateCloture,0,4);
if ( !file_exists( $this->config->storage->path . '/' . $dir ) ) {
mkdir($this->config->storage->path . '/' . $dir, 0777, true);
}
return $dir;
}
/**
* Format XML to Array for a list of items
* @param string $xml
@ -358,33 +427,69 @@ class Metier_Infogreffe_Bi extends Metier_Infogreffe
'numRC' => $list['num_gest']['dossier_millesime'].
$list['num_gest']['dossier_statut'].$list['num_gest']['dossier_chrono'],
//'numRC2' => '',
'numGreffe' => $list['num_gest']['greffe'],
'numGreffe' => intval($list['num_gest']['greffe']),
'millesime' => $list['millesime'],
'num_depot' => $list['num_depot'],
'date_cloture' => $list['date_cloture_iso'],
'type_comptes' => $list['type_comptes'],
'mode_diffusion' => join(',',$list['mode_diffusion']),
'actif' => 1,
);
$this->db->getProfiler()->setEnabled(true);
try {
$bilanM = new Application_Model_JoGreffesBilans();
$sql = $bilanM->select()
->where('siren=?', $this->siren)
->where('date_cloture=?', $list['date_cloture_iso']);
if ( null === $bilanM->fetchRow($sql) ) {
$result = $bilanM->insert($data);
} else {
$result = $bilanM->update($data, array(
'siren="'.$list['num_siren'].'"',
'date_cloture="'.$list['date_cloture_iso'].'"',
));
}
} catch(Zend_Db_Adapter_Exception $e) {
throw new Exception($e->getMessage());
->where('num_depot=?', $list['num_depot'])
->where('date_cloture=?', $list['date_cloture_iso'])
//->where('type_comptes=?', $list['type_comptes'])
->order('dateInsert ASC');
$rows = $bilanM->fetchAll($sql);
} catch(Zend_Db_Exception $e) {
/*echo $query = $this->db->getProfiler()->getLastQueryProfile()->getQuery();
echo "\n";
$queryParams = $this->db->getProfiler()->getLastQueryProfile()->getQueryParams();
print_r($queryParams);
echo "\n";*/
throw new Exception($e->getMessage());
}
$this->db->getProfiler()->setEnabled(false);
if ( count($rows) == 0 ) {
//Add dateInsert
$data['dateInsert'] = date('YmdHis');
try {
$result = $bilanM->insert($data);
} catch(Zend_Exception $e) {
throw new Exception($e->getMessage());
}
} else {
//Correct multiple item
$item = $rows[0];
if ( count($rows) > 1 ) {
try {
$result = $bilanM->delete(array(
$bilanM->getAdapter()->quoteInto('siren=?', $this->siren),
$bilanM->getAdapter()->quoteInto('num_depot=?', $list['num_depot']),
$bilanM->getAdapter()->quoteInto('date_cloture=?', $list['date_cloture_iso']),
$bilanM->getAdapter()->quoteInto('type_comptes=?', $list['type_comptes']),
'id!='.$item->id,
));
} catch(Zend_Exception $e) {
throw new Exception($e->getMessage());
}
}
try {
$result = $bilanM->update($data, 'id='.$item->id);
} catch(Zend_Exception $e) {
throw new Exception($e->getMessage());
}
}
if ($result) {
return true;
}
@ -400,7 +505,7 @@ class Metier_Infogreffe_Bi extends Metier_Infogreffe
* @param string $version
* @return boolean
*/
public function dbSetFile($filename, $size, $numberOfPage, $version)
public function dbSetFile($filename, $size = 0, $numberOfPage = '', $version = '')
{
$data = array(
'pdfLink' => $filename,
@ -412,7 +517,7 @@ class Metier_Infogreffe_Bi extends Metier_Infogreffe
$where = array(
'siren='.$this->siren,
'date_cloture="'.substr($this->date_cloture,0,4).'-'.substr($this->date_cloture,4,2).'-'.substr($this->date_cloture,6,2).'"',
'date_cloture="'.$this->date_cloture.'"',
'type_comptes="'.$this->type_comptes.'"',
);

View File

@ -0,0 +1,80 @@
<definitions
targetNamespace="java:com.experian.webserv.infogreffe"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:tns="java:com.experian.webserv.infogreffe"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>
<types>
<schema targetNamespace='java:com.experian.webserv.infogreffe'
xmlns='http://www.w3.org/2001/XMLSchema'>
</schema>
</types>
<message name="getProduitsWebServicesXMLRequest">
<part name="arg0" type="xsd:string" />
</message>
<message name="getProduitsWebServicesXMLResponse">
<part name="return" type="xsd:string" />
</message>
<message name="getProduitsWebServicesRequest">
<part name="arg0" type="xsd:string" />
<part name="arg1" type="xsd:string" />
<part name="arg2" type="xsd:string" />
<part name="arg3" type="xsd:string" />
<part name="arg4" type="xsd:string" />
<part name="arg5" type="xsd:string" />
<part name="arg6" type="xsd:string" />
<part name="arg7" type="xsd:string" />
<part name="arg8" type="xsd:string" />
<part name="arg9" type="xsd:string" />
<part name="arg10" type="xsd:string" />
</message>
<message name="getProduitsWebServicesResponse">
<part name="return" type="xsd:string" />
</message>
<message name="getVersionRequest">
</message>
<message name="getVersionResponse">
<part name="return" type="xsd:string" />
</message>
<portType name="WebServicesProduitsPortType">
<operation name="getProduitsWebServicesXML">
<input message="tns:getProduitsWebServicesXMLRequest"/>
<output message="tns:getProduitsWebServicesXMLResponse"/>
</operation>
<operation name="getProduitsWebServices">
<input message="tns:getProduitsWebServicesRequest"/>
<output message="tns:getProduitsWebServicesResponse"/>
</operation>
<operation name="getVersion">
<input message="tns:getVersionRequest"/>
<output message="tns:getVersionResponse"/>
</operation>
</portType>
<binding name="WebServicesProduitsBinding" type="tns:WebServicesProduitsPortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="getProduitsWebServicesXML">
<soap:operation soapAction="urn:getProduitsWebServicesXML"/>
<input><soap:body use="encoded" namespace='urn:WebServicesProduits' encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
<output><soap:body use="encoded" namespace='urn:WebServicesProduits' encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
</operation>
<operation name="getProduitsWebServices">
<soap:operation soapAction="urn:getProduitsWebServices"/>
<input><soap:body use="encoded" namespace='urn:WebServicesProduits' encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
<output><soap:body use="encoded" namespace='urn:WebServicesProduits' encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
</operation>
<operation name="getVersion">
<soap:operation soapAction="urn:getVersion"/>
<input><soap:body use="encoded" namespace='urn:Version' encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
<output><soap:body use="encoded" namespace='urn:Version' encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
</operation>
</binding>
<service name="WebServicesProduits">
<documentation>Service Soap Experian, Service Produit</documentation>
<port name="WebServicesProduitsPort" binding="tns:WebServicesProduitsBinding">
<soap:address location="https://wsrcte.extelia.fr:80/WSContextInfogreffe/INFOGREFFE"/>
</port>
</service>
</definitions>

View File

@ -16,7 +16,7 @@ class Metier_Search_Engine
if ($version == 1){
require_once 'Vendors/sphinxapi/sphinxapi-0.9.9.php';
} elseif ($version == 2){
require_once 'Vendors/sphinxapi/sphinxapi-2.1.2.php';
require_once 'Vendors/sphinxapi/sphinxapi-2.1.5.php';
}
}

View File

@ -896,6 +896,20 @@ return array(
'Version' => 12,
'LienEtab' => 0,
),
'2103' => array(
'libEven' => "Transformation du capital fixe en variable",
'Bodacc_Code' => "BODB",
'Rubrique' => "mmd",
'Version' => 18,
'LienEtab' => 0,
),
'2104' => array(
'libEven' => "Transformation du capital variable en capital fixe",
'Bodacc_Code' => "BODB",
'Rubrique' => "mmd",
'Version' => 18,
'LienEtab' => 0,
),
'2200' => array(
'libEven' => "Cessation d'activité",
'Bodacc_Code' => "BODB",
@ -1561,6 +1575,13 @@ return array(
'Version' => 12,
'LienEtab' => 1,
),
'2893' => array(
'libEven' => "Location gérance relative à une partie du fonds",
'Bodacc_Code' => "BODB",
'Rubrique' => "mmd",
'Version' => 18,
'LienEtab' => 1,
),
'2900' => array(
'libEven' => "Transfert d'établissement",
'Bodacc_Code' => "BODB",
@ -1841,6 +1862,13 @@ return array(
'Version' => 12,
'LienEtab' => 1,
),
'5106' => array(
'libEven' => "Cession de l'exploitation agricole",
'Bodacc_Code' => "BODA",
'Rubrique' => "ventes",
'Version' => 18,
'LienEtab' => 1,
),
'5200' => array(
'libEven' => "Branche ou Partie d'activité",
'Bodacc_Code' => "BODA",
@ -1989,7 +2017,7 @@ return array(
'LienEtab' => 1,
),
'5600' => array(
'libEven' => "Entreprise « Précédent exploitant »",
'libEven' => "Entreprise « Précédent exploitant »",
'Bodacc_Code' => "BODA",
'Rubrique' => "ventes",
'Version' => 12,

File diff suppressed because it is too large Load Diff

View File

@ -2,8 +2,8 @@
ini_set('soap.wsdl_cache_enabled', 0);
ini_set('default_socket_timeout', 30);
class MAmabis {
class MAmabis
{
private $client;
function __construct()
@ -19,7 +19,8 @@ class MAmabis {
));
}
function getZonage($adrNum, $adrIndRep, $adrTypeVoie, $adrLibVoie, $cp, $ville='', $codeRivoli='', $rnvp=false, $raisonSociale='TEST', $debug=false) {
function getZonage($adrNum, $adrIndRep, $adrTypeVoie, $adrLibVoie, $cp, $ville='', $codeRivoli='', $rnvp=false, $raisonSociale='TEST', $debug=false)
{
$tabRep=array();
if (!$rnvp) {
if ($cp<10000) $cp='0'.$cp;
@ -27,7 +28,7 @@ class MAmabis {
$dep3=substr($cp,0,3)*1;
switch ($dep2) {
case 0:
case 5:
/*case 5:
case 9:
case 15:
case 19:
@ -35,7 +36,7 @@ class MAmabis {
case 32:
case 46:
case 48:
case 82:
case 82:*/
case 97: // DOM
case 98: // TOM
case 99: // Etranger
@ -50,10 +51,19 @@ class MAmabis {
$iDb=new WDB();
$adresse=addslashes(trim(preg_replace('/ +/',' ', "$adrNum $adrIndRep $adrTypeVoie $adrLibVoie")));
$ville=addslashes($ville);
$ret=$iDb->select( 'zonage', 'zus, zru, zfu, cucs', "address='$adresse' AND adr_cp='$cp' AND adr_ville='$ville'",false, MYSQL_ASSOC);
$majForcee=false;
$ret=$iDb->select( 'zonage', 'zus, zru, zfu, cucs, rnvpStatut, rnvpCorr, rnvpTrt, adr3, adr4, adr5, adr6, adr7, numVoieA, indRepA,
typeVoieAlong, typeVoieAcourt, corpVoie, motDir, motDirD, libVoieSec, adr4n32, adr4n38, clePostaleVoie,
secteur, cleRoutage, cpx, cleAd, codPaysIso2, codPaysIso3, libPays, codeInsee',
"address='$adresse' AND adr_cp='$cp' AND adr_ville='$ville'",false, MYSQL_ASSOC);
$zones=@$ret[0];
if (count($ret)>0) {
$zones=$ret[0];
if ($zones['rnvpStatut']===null && $rnvp) $majForcee=true;
$tabRep['ZUS']=$tabRep['ZFU']=$tabRep['ZRU']=$tabRep['CUCS']='NON';
//$tabRep['NZUS']=$tabRep['NZFU']=$tabRep['NZRU']=$tabRep['NCUCS']='';
if (trim($zones['zus'])<>'') {
if (trim($zones['zus'])=='NSP') $tabRep['ZUS']='NSP';
else $tabRep['ZUS']='OUI';
@ -74,9 +84,26 @@ class MAmabis {
else $tabRep['CUCS']='OUI';
$tabRep['NCUCS']=$zones['cucs'];
}
//return $tabRep;
} else {
/** Autres Informations de la RNVP
**/
if ($rnvp) {
//$tabRep['ADR1']=@trim($tabZones['ADR1']);
//$tabRep['ADR2']=@trim($tabZones['ADR2']);
if (strtoupper(@trim($zones['adr7']))=='FRANCE') $zones['adr7']='';
$tabRep['ADR3']=@trim($zones['adr3']);
$tabRep['ADR4']=@trim($zones['adr4']);
$tabRep['ADR5']=@trim($zones['adr5']);
$tabRep['ADR6']=@trim($zones['adr6']);
$tabRep['ADR7']=trim($zones['adr7']);
}
}
if (count($ret)==0 || $majForcee) {
try {
if (trim($raisonSociale)=='') $raisonSociale='TEST'; // Le RNVP ne fonctionne pas sans la Raison Sociale qui est la 1ère ligne d'adresse
$rep=$this->client->zonage( new SoapParam(strtr("$raisonSociale:$adresse:$cp:$ville",
@ -101,60 +128,137 @@ class MAmabis {
if (trim($tabTmp[0])<>'')
$tabRep[$tabTmp[0]]=$tabTmp[1];
}
if ($tabRep['ZUS']=='NSP') $tabRep['NZUS']='NSP';
if ($tabRep['ZRU']=='NSP') $tabRep['NZRU']='NSP';
if ($tabRep['ZFU']=='NSP') $tabRep['NZFU']='NSP';
if ($tabRep['CUCS']=='NSP') $tabRep['NCUCS']='NSP';
if (@$tabRep['ZUS']=='NSP') $tabRep['NZUS']='NSP';
if (@$tabRep['ZRU']=='NSP') $tabRep['NZRU']='NSP';
if (@$tabRep['ZFU']=='NSP') $tabRep['NZFU']='NSP';
if (@$tabRep['CUCS']=='NSP') $tabRep['NCUCS']='NSP';
$adresse=stripslashes(trim(preg_replace('/ +/',' ', "$adrNum $adrIndRep $adrTypeVoie $adrLibVoie")));
$ville=stripslashes($ville);
$tabInsert=array( 'address'=>$adresse,
'adr_cp'=>$cp,
'adr_ville'=>$ville,
'zus'=>$tabRep['NZUS'],
'zru'=>$tabRep['NZRU'],
'zfu'=>$tabRep['NZFU'],
'cucs'=>$tabRep['NCUCS'],
'adrNum'=>$adrNum,
'adrIndRep'=>$adrIndRep,
'adrTypeVoie'=>$adrTypeVoie,
'adrLibVoie'=>$adrLibVoie,
'rivoli'=>$codeRivoli,
);
$iDb->insert('zonage', $tabInsert);
$tabRepTmp=array();
$tabTmp=explode('=',utf8_decode($rep['objdesc']));
//print_r($tabTmp);
//die();
$tabZones=array();
foreach ($tabTmp as $iZone=>$zone) {
$pos=strrpos($zone,',');
if ($iZone==0) {
$nomZoneSuiv=$zone;
continue;
}
$tabZones[$nomZoneSuiv]=substr($zone,0,$pos);
$nomZoneSuiv=substr($zone,$pos+1);
}
if (strtoupper(@trim($tabZones['ADR7']))=='FRANCE') $tabZones['ADR7']='';
$tabTmp=explode('|', $tabZones['VOIEA']);
$typeVoieAcourt=@trim($tabTmp[1]);
$tabInsert=array(
'address'=>$adresse,
'adr_cp'=>$cp,
'adr_ville'=>$ville,
'zus'=>@$tabRep['NZUS'],
'zru'=>@$tabRep['NZRU'],
'zfu'=>@$tabRep['NZFU'],
'cucs'=>@$tabRep['NCUCS'],
);
$tabUpdate=array(
'adrNum'=>$adrNum,
'adrIndRep'=>$adrIndRep,
'adrTypeVoie'=>$adrTypeVoie,
'adrLibVoie'=>$adrLibVoie,
'rivoli'=>$codeRivoli,
// Ajouté le 16/12/2013
'rnvpStatut' => substr($tabZones['STATUTC'],0,2),
'rnvpCorr' => substr($tabZones['STATUTC'],2,1),
'rnvpTrt' => trim(substr($tabZones['STATUTC'],3,2)),
'adr3' => @trim($tabZones['ADR3']),
'adr4' => @trim($tabZones['ADR4']),
'adr5' => @trim($tabZones['ADR5']),
'adr6' => @trim($tabZones['ADR6']),
'adr7' => trim($tabZones['ADR7']),
'numVoieA' => @trim($tabZones['NUM1']),
'indRepA' => @trim($tabZones['BTQC1']),
'typeVoieAlong' => @trim($tabZones['TYPVOIEL']),
'typeVoieAcourt' => $typeVoieAcourt,
'corpVoie' => @trim($tabZones['CORPSVOIE']),
'motDir' => @trim($tabZones['MOTDIR']),
'motDirD' => @trim($tabZones['MOTDIRD']),
'libVoieSec' => @trim($tabZones['VOIREFLIBS']),
'adr4n32' => @trim($tabZones['VOIREFLIBPOS']),
'adr4n38' => @trim($tabZones['VOIREFLIBPOS2']),
'clePostaleVoie' => @trim($tabZones['VOIREFCLEPOST']),
'secteur' => @trim($tabZones['SECTEUR']),
'cleRoutage' => @trim($tabZones['CLER']),
'cpx' => @trim($tabZones['CPX']),
'cleAd' => @trim($tabZones['CLEAD']),
'codPaysIso2' => @trim($tabZones['NATREFISO2']),
'codPaysIso3' => @trim($tabZones['NATREFISO3']),
'libPays' => @trim($tabZones['NATREFLIB']),
'codeInsee' => @trim($tabZones['LOCREFCLEO']),
'source' => 'Amabis',
);
$dateInsert=0;
if ($majForcee) {
$adresseL=addslashes($adresse);
$villeL=addslashes($ville);
$ret=$iDb->select('zonage', 'dateInsert*1 as dateInsert', "address='$adresseL' AND adr_cp='$cp' AND adr_ville='$villeL'", false);
$dateInsert=@$ret[0]['dateInsert']*1;
$iDb->update('zonage', array_merge($tabUpdate,array('dateInsert'=>$dateInsert)), "address='$adresseL' AND adr_cp='$cp' AND adr_ville='$villeL'", false);
//echo "Mise à jour de l'adresse du $dateInsert pour address='$adresseL' AND adr_cp='$cp' AND adr_ville='$villeL'".EOL;
}
if ($dateInsert==0) {
$iDb->insert('zonage', array_merge($tabInsert,$tabUpdate), false);
//echo "Insertion de l'adresse (".$zones['rnvpStatut'].")!".EOL;
}
$tabTmp[0]=explode(',', $tabZones['LOCREFCLEP']);
$tabTmp[1]=explode(',', $tabZones['LOCREFCP']);
$tabTmp[2]=explode(',', $tabZones['LOCREFTYPP']);
$tabTmp[3]=explode(',', $tabZones['LOCREFLIBD']);
$tabTmp[4]=explode(',', $tabZones['LOCREFLIBD2']);
foreach($tabTmp[0] as $iCleP=>$cleP) {
$tabInsert=array(
'codeInsee' => @trim($tabZones['LOCREFCLEO']),
'villeLib' => @trim($tabZones['LOCREFLIBP']),
'villePopu' => @trim($tabZones['LOCREFPOP']),
'cleAchPost'=> $cleP,
'codePostal'=> $tabTmp[1][$iCleP],
'typePostal'=> $tabTmp[2][$iCleP],
'libAchP32' => @preg_replace('/^\//','',$tabTmp[3][$iCleP]),
'libAchP38' => @preg_replace('/^\//','',$tabTmp[4][$iCleP]),
'source' => 'Amabis',
'dateInsert'=> date('YmdHis'),
);
$iDb->insert('villesCP', $tabInsert);
//echo mysql_error().EOL;
}
/** Autres Informations de la RNVP
**/
if ($rnvp || $debug) {
$tabRepTmp=array();
$tabZones=explode(',',$rep['objdesc']);
foreach ($tabZones as $zone) {
$tabTmp=explode('=',$zone);
if (trim($tabTmp[0])<>'')
$tabRepTmp[$tabTmp[0]]=$tabTmp[1];
}
if (!$debug) {
$tabRep['ADR1']=@$tabRepTmp['ADR1'];
$tabRep['ADR2']=@$tabRepTmp['ADR2'];
$tabRep['ADR3']=@$tabRepTmp['ADR3'];
$tabRep['ADR4']=@$tabRepTmp['ADR4'];
$tabRep['ADR5']=@$tabRepTmp['ADR5'];
$tabRep['ADR6']=@$tabRepTmp['ADR6'];
$tabRep['ADR7']=@$tabRepTmp['ADR7'];
} else {
$tabRep=array_merge($tabRep, $tabRepTmp);
}
if ($rnvp) {
//$tabRep['ADR1']=@trim($tabZones['ADR1']);
//$tabRep['ADR2']=@trim($tabZones['ADR2']);
$tabRep['ADR3']=@trim($tabZones['ADR3']);
$tabRep['ADR4']=@trim($tabZones['ADR4']);
$tabRep['ADR5']=@trim($tabZones['ADR5']);
$tabRep['ADR6']=@trim($tabZones['ADR6']);
$tabRep['ADR7']=trim($tabZones['ADR7']);
}
} catch (SoapFault $fault) {
echo 'ERREUR SOAP :'.EOL;
print_r($fault);
echo $this->client->__getLastRequest()."\n";
echo $this->client->__getLastResponse()."\n";
//echo 'ERREUR SOAP :'.EOL;
//print_r($fault);
//echo $this->client->__getLastRequest()."\n";
//echo $this->client->__getLastResponse()."\n";
$fp=fopen(LOG_PATH.'/amabis.log', 'a');
fwrite($fp, date('d-m-Y H:i:s').' - ERREUR SOAP : Requete = '.$this->client->__getLastRequest()."\n Reponse = ".$this->client->__getLastResponse()."\n============================================================================\n");
fclose($fp);
}
//return $tabRep;
}
/** Zonages AFR et ZRR
**/
$codeInsee=substr($codeRivoli,0,5);
$ret=$iDb->select( 'zonageInsee', 'typeZone, arreteDate, decretDate, decretNum, decretModifieDate, decretModifieNum, dateDebut, dateFin', "codeInsee='$codeInsee'",false, MYSQL_ASSOC);
$tabRep['ZRR']=$tabRep['AFR']='NON';

View File

@ -115,6 +115,9 @@ class MLiens2
}
}
//Don't display deleted - anomaly
$sql->where('l.dateSuppr=?', '0000-00-00 00:00:00');
$liens = $this->db->fetchAll($sql, null, Zend_Db::FETCH_OBJ);
} catch (Zend_Db_Exception $e) {
throw new Exception(__METHOD__ . ': ' . $e->getMessage());
@ -171,6 +174,9 @@ class MLiens2
}
}
//Don't display deleted - anomaly
$sql->where('l.dateSuppr=?', '0000-00-00 00:00:00');
$liens = $this->db->fetchAll($sql, null, Zend_Db::FETCH_OBJ);
} catch (Zend_Db_Exception $e) {
throw new Exception(__METHOD__ . ': ' . $e->getMessage());

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
=======================

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[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[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}).
";
@ -71,7 +71,7 @@ $tabCommentaires[31070][2][0] = "Les activités principales des établissements
$tabCommentaires[34800][2][10] = "\" {NOMEN}\" est identifiée avec le n° SIREN: {SIREN}, son siège n'a pas changé d'adresse depuis sa création.";
$tabCommentaires[34801][2][10] = "\" {NOMEN}\" est identifiée avec le n° SIREN: {SIREN}, son siège a déjà changé d'adresse depuis sa création mais il est revenu à son adresse d'origine.";
$tabCommentaires[34802][2][10] = "\" {NOMEN}\" est identifiée avec le n° SIREN: {SIREN}, son siège, n'a pas changé d'adresse depuis sa création. Les opérations de fusions intervenues peuvent masquer d'éventuels changements d'adresse des sociétés absorbées.";
$tabCommentaires[34810][2][10] = "\" {NOMEN}\" est identifiée avec le n° SIREN: {SIREN}, son siège a déjà changé d'adresse depuis sa création.";
$tabCommentaires[34810][2][10] = "\"{NOMEN}\" est identifiée avec le n° SIREN: {SIREN}, son siège a déjà changé d'adresse depuis sa création.";
$tabCommentaires[34819][2][10] = "\" {NOMEN}\" est identifiée avec le n° SIREN: {SIREN}.";
$tabCommentaires[34820][2][10] = "Elle est aussi répertoriée au Registre des Intermédiaires en Assurance (ORIAS) avec le N° {ORIASID}, comme {ORIASCAT}.";
$tabCommentaires[34830][2][10] = "Elle est aussi répertoriée au Registre des Intermédiaires en Assurance (ORIAS) avec le N° {ORIASID}.";
@ -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[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[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][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>";

View File

@ -1,226 +1,227 @@
<?php
/** Ratios pour les collectivités **/
global $tabZones2Ratios;
/** Tableau de conversion des communes **/
$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]',
);
/** Conversion des zones pour les collectivités **/
function convertZones($codeR, $zonesDB) {
global $tabZones2Ratios;
foreach($tabZones2Ratios as $oldR=>$newR) {
if (preg_match('/(\D+)\[(\d+)\]/Uis', $newR, $matches) && $matches[1]==$codeR) {
$iRatio=$matches[2];
if ($codeR=='R')
$ret[$iRatio]=$zonesDB[$oldR]*1000;
else
$ret[$iRatio]=$zonesDB[$oldR];
}
}
return $ret;
}
?>
<?
/** Ratios pour les collectivités **/
global $tabZones2Ratios;
/** Tableau de conversion des communes **/
$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]',
);
/** Conversion des zones pour les collectivités **/
function convertZones($codeR, $zonesDB) {
global $tabZones2Ratios;
foreach($tabZones2Ratios as $oldR=>$newR) {
if (preg_match('/(\D+)\[(\d+)\]/Uis', $newR, $matches) && $matches[1]==$codeR) {
$iRatio=$matches[2];
if ($codeR=='R')
$ret[$iRatio]=$zonesDB[$oldR]*1000;
else
$ret[$iRatio]=$zonesDB[$oldR];
}
}
return $ret;
}
?>

View File

@ -8,6 +8,8 @@ require_once 'Metier/scores/classMRegression.php';
require_once 'Metier/partenaires/classMLiens2.php';
require_once 'Metier/scores/classMSolvabilite.php';
require_once 'Metier/scores/Variables/configMRatios.php';
define('INDISCORE_DEBUG', false);
@ -254,7 +256,7 @@ function formatValeur($variable, $longeur=0, $fonction='')
return $variable;
} else {
if ($nomVar=='ZEMET') {
$strTmp=eval("return $valeur;");
global $RPEN;
if (isset($tabVariables['ZEMET'][$RPEN.$ZEMET]['art']))
return $tabVariables['ZEMET'][$RPEN.$ZEMET]['art'];
else
@ -637,7 +639,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
$tabCommentaires = $tabTri = $tabTriAff = array();
switch( $type ) {
case 'scores':
$version = '405';
$version = '411';
require_once 'Metier/scores/Variables/CommentsIndiscore'.$version.'.php';
break;
case 'valo':
@ -826,11 +828,11 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
$SOCIETE_COTE_ISIN=$tabIdentite['Isin'];
if ($SOCIETE_COTE_ISIN<>'') {
$SOCIETE_COTE=true;
$SOCIETE_COTE_PLACE=$tabRet['Bourse']['placeCotation'];
$SOCIETE_COTE_MARCHE=$tabRet['Bourse']['marche'];
$SOCIETE_COTE_CAPITALISATION=$tabRet['Bourse']['capitalisation']; // Afficher en KE
$SOCIETE_COTE_COURS=$tabRet['Bourse']['derCoursCloture'];
$SOCIETE_COTE_COURS_DATE=$tabRet['Bourse']['derCoursDate'];
$SOCIETE_COTE_PLACE=$tabIdentite['Bourse']['placeCotation'];
$SOCIETE_COTE_MARCHE=$tabIdentite['Bourse']['marche'];
$SOCIETE_COTE_CAPITALISATION=$tabIdentite['Bourse']['capitalisation']; // Afficher en KE
$SOCIETE_COTE_COURS=$tabIdentite['Bourse']['derCoursCloture'];
$SOCIETE_COTE_COURS_DATE=$tabIdentite['Bourse']['derCoursDate'];
$SOCIETE_COTE_COURS_MIN=0;//@todo:$tabRet['Bourse']['derCoursDate'];
$SOCIETE_COTE_COURS_MAX=0;//@todo:$tabRet['Bourse']['derCoursDate'];
}
@ -2981,7 +2983,7 @@ function calculIndiScore($siren, $nic=0, $accesDist=false, $cycleClient=2, $mail
|| $tabIdentite['SituationJuridique'] == 'P'
|| $tabIdentite['SituationJuridique'] == 'PL')
$classeRisque=9;
elseif ($ENCOURS=='N/A') $classeRisque=8;
elseif ($ENCOURS==='N/A') $classeRisque=8;
/** Fin note **/
$NOTE100=$noteSolvabilite; // Note finale sur 100

View File

@ -657,7 +657,7 @@ function clientSphinx(&$formR)
require_once 'Vendors/sphinxapi/sphinxapi-0.9.9.php';
break;
case 2:
require_once 'Vendors/sphinxapi/sphinxapi-2.1.2.php';
require_once 'Vendors/sphinxapi/sphinxapi-2.1.5.php';
break;
}
@ -770,6 +770,8 @@ function reponse(&$resSphinx, &$resDB, $criteres, $time, $formR, $form2crit,
}
}
$ret['reponses'][$i]['Pertinence'] = $pertinence;
$ret['reponses'][$i]['Source'] = $ligne['source'];
$ret['reponses'][$i]['SourceId'] = $ligne['source_id'];
$ret['reponses'][$i]['Siret'] = $ligne['siret'];
$ret['reponses'][$i]['Siren'] = $ligne['siren'];
$ret['reponses'][$i]['Nic'] = $ligne['nic'];
@ -784,11 +786,11 @@ function reponse(&$resSphinx, &$resDB, $criteres, $time, $formR, $form2crit,
} else {
$adresse = $ligne['adr_num'].' '.$ligne['adr_typeVoie'].' '.$ligne['adr_libVoie'];
}
$ret['reponses'][$i]['Adresse'] = $adresse;
$ret['reponses'][$i]['Adresse'] = $adresse;
$ret['reponses'][$i]['Adresse2'] = $ligne['adr_comp'];
$ret['reponses'][$i]['CP'] = $ligne['adr_cp'];
$ret['reponses'][$i]['Ville'] = $ligne['adr_ville'];
$ret['reponses'][$i]['Pays'] = $ligne['pays'];
$ret['reponses'][$i]['Pays'] = empty($ligne['pays']) ? 'France' : $ligne['pays'] ;
$ret['reponses'][$i]['Tel'] = $ligne['tel'];
$ret['reponses'][$i]['Fax'] = $ligne['fax'];
$ret['reponses'][$i]['FJ'] = $ligne['cj'];
@ -955,6 +957,8 @@ function rechercheDir(&$formR, $deb, $nbRep, $max)
d.naissance_lieu,
l.libelle AS fonction_lib,
e.id, CONCAT(e.siren,e.nic) AS siret,
e.source,
e.source_id,
e.siren,
e.nic,
e.siege,
@ -1596,7 +1600,7 @@ function rechercheEnt(&$formR, $deb, $nbRep, $max, $sirenValide = false)
afficheDB($resSphinx, $formR, $form2crit, 'etablissements', $base2form, $deb, $nbRep);
}
//file_put_contents('test.log', print_r($resSphinx,1));
//file_put_contents('test.log', print_r($resSphinx,1));
// Reponse
if ($gDatabaseJO == false) {
@ -1615,6 +1619,8 @@ function rechercheEnt(&$formR, $deb, $nbRep, $max, $sirenValide = false)
}
$requeteDB = 'SELECT
id,
source,
source_id,
CONCAT(siren,nic) AS siret,
siren,
nic,
@ -1648,6 +1654,8 @@ function rechercheEnt(&$formR, $deb, $nbRep, $max, $sirenValide = false)
$requeteDB.= ') ORDER BY sirenValide DESC, actif DESC, siege DESC, rang DESC';
//file_put_contents('test.log', $requeteDB);
debugln();
debugln("requeteDB='$requeteDB'");
$resDB = $gDatabaseJO->query($requeteDB);

View File

@ -1,93 +1,122 @@
<?php
class WDB
{
/**
* @var Zend_Db_Adapter_Abstract
*/
protected $db = null;
class WDB {
/**
*
* @var unknown
*/
protected $result = null;
private $host;
private $database;
private $user;
private $password;
private $con_id; // Connection ID with MySQL
private $result;
protected $errorCode;
public function __construct($database='', $host='', $user='', $password='') {
protected $errorMsg;
if ($host=='') $this->host=MYSQL_HOST;
else $this->host=$host;
if ($user=='') $this->user=MYSQL_USER;
else $this->user=$user;
if ($password=='') $this->password=MYSQL_PASS;
else $this->password=$password;
if ($database=='') $this->database=MYSQL_DEFAULT_DB;
else $this->database=$database;
public function __construct( $database = null, $host = null, $user = null, $password = null )
{
if ( $database === null ) {
$database = 'jo';
}
//if (defined(MYSQL_PORT)) $this->host = $this->host.':'.MYSQL_PORT;
$this->host = $this->host.':53336';
if ( $host === null ) {
$c = Zend_Registry::get('config');
$config = new Zend_Config(array(
'adapter' => $c->profil->db->metier->adapter,
'params' => array(
'host' => $c->profil->db->metier->params->host,
'username'=> $c->profil->db->metier->params->username,
'password'=> $c->profil->db->metier->params->password,
'dbname'=> $database,
'driver_options' => array(
MYSQLI_INIT_COMMAND => "SET NAMES utf8",
),
),
));
//Server is far away try to compress data
$flags = MYSQL_CLIENT_COMPRESS;
} else {
$config = new Zend_Config(array(
'adapter' => 'mysqli',
'params' => array(
'host' => $host,
'username'=> $user,
'password'=> $password,
'dbname'=> $database,
'driver_options' => array(
MYSQLI_INIT_COMMAND => "SET NAMES utf8",
),
),
));
}
$this->con_id = mysql_connect($this->host, $this->user, $this->password, false, $flags);
if (!($this->con_id === false)) {
if (mysql_select_db($this->database, $this->con_id) === false) {
echo date('Y/m/d - H:i:s') ." - ERREUR ".mysql_errno()." : Connection à la base de données impossible !".EOL;
echo date ('Y/m/d - H:i:s'). mysql_error();
die();
}
}
return mysql_query("SET NAMES 'utf8';", $this->con_id);
try {
$this->db = Zend_Db::factory($config);
} catch ( Exception $e ) {
file_put_contents('debug.log', $e->getMessage()."\n", FILE_APPEND);
exit;
}
}
public function setCharSet($charSet) {
return (mysql_query("SET CHARACTER SET $charSet;", $this->con_id));
}
private function setDB() {
return (mysql_query("USE $this->database;", $this->con_id));
}
/** INSERTION d'un tableau dans une table.
** Les index doivent avoir les mêmes noms que les champs.
** @param string Table
** @param array Valeurs insérer
** @return int Dernière valeur de l'auto-incrément, 1 si pas d'auto-incrément et 0 si erreur
**/
public function insert($table, $toAdd, $debug=false, $low_priority=false){
$this->setDB();
$fields = implode(array_keys($toAdd), '`,`');
/**
* INSERTION d'un tableau dans une table.
* Les index doivent avoir les mêmes noms que les champs.
* @param string Table
* @param array Valeurs insérer
* @return int Dernière valeur de l'auto-incrément, 1 si pas d'auto-incrément et 0 si erreur
*/
public function insert($table, $toAdd, $debug=false, $low_priority=false)
{
$fields = implode(array_keys($toAdd), '`,`');
foreach (array_values($toAdd) as $key=>$array_values)
$tmp[$key]=checkaddslashes($array_values);
$values = "'".implode(array_values($tmp), "','")."'"; # better
$values = str_replace("'NULL'", 'NULL', $values);
if ($low_priority)
$query = 'INSERT DELAYED INTO `'.$table.'` (`'.$fields.'`) VALUES ('.$values.');';
else
$query = 'INSERT INTO `'.$table.'` (`'.$fields.'`) VALUES ('.$values.');';
if ($low_priority)
$query = 'INSERT DELAYED INTO `'.$table.'` (`'.$fields.'`) VALUES ('.$values.');';
else
$query = 'INSERT INTO `'.$table.'` (`'.$fields.'`) VALUES ('.$values.');';
if ($debug) $tdeb=microtime_float();
try {
$stmt = $this->db->query($query);
$res = $this->db->lastInsertId();
if ( $res == 0 ) {
$res = true;
}
} catch(Zend_Db_Exception $e) {
$res = false;
}
if ($debug) $this->trace($query, $res, $tdeb);
if ($debug) $tdeb=microtime(true);
$res = mysql_query($query, $this->con_id);
if ($res!==false)
{
if (mysql_insert_id()>0)
$res=mysql_insert_id();
else
$res=true;
}
if ($debug) $this->trace($query, $res, $tdeb);
return $res;
}
public function update($table, $update, $where, $debug=false, $limit=0, $low_priority=false){
$this->setDB();
/**
*
* @param unknown $table
* @param unknown $update
* @param unknown $where
* @param string $debug
* @param number $limit
* @param string $low_priority
* @return resource
*/
public function update($table, $update, $where, $debug=false, $limit=0, $low_priority=false)
{
$fields = array_keys($update);
$values = array_values($update);
$i=0;
if ($low_priority)
$query='UPDATE LOW_PRIORITY `'.$table.'` SET ';
else
$query='UPDATE `'.$table.'` SET ';
if ($low_priority)
$query='UPDATE LOW_PRIORITY `'.$table.'` SET ';
else
$query='UPDATE `'.$table.'` SET ';
while(isset($fields[$i])){
if($i>0) { $query.=', '; }
$query.=' `'.$fields[$i]."`='".checkaddslashes($values[$i])."'";
@ -96,116 +125,209 @@ public function update($table, $update, $where, $debug=false, $limit=0, $low_pri
$query = str_replace("'NULL'", 'NULL', $query);
$query.=' WHERE '.$where;
if ($limit>0) $query.=" LIMIT $limit";
if ($debug) $tdeb=microtime(true);
$res=mysql_query($query, $this->con_id);
if ($debug) $this->trace($query, $res, $tdeb);
if ($debug) $tdeb=microtime_float();
try {
$stmt = $this->db->query($query);
$res = $this->db->lastInsertId();
if ( $res == 0 ) {
$res = true;
}
} catch(Zend_Db_Exception $e) {
$res = false;
}
if ($debug) $this->trace($query, $res, $tdeb);
return $res;
}
public function delete($table, $where, $debug=false, $low_priority=false) {
$this->setDB();
if ($low_priority)
$query='DELETE LOW_PRIORITY QUICK FROM `'.$table.'` WHERE '.$where.' LIMIT 1;';
else
$query='DELETE FROM `'.$table.'` WHERE '.$where.' LIMIT 1;';
if ($debug) $tdeb=microtime(true);
$res=mysql_query($query, $this->con_id);
if ($debug) $this->trace($query, $res, $tdeb);
/**
*
* @param unknown $table
* @param unknown $where
* @param string $debug
* @param string $low_priority
* @return resource
*/
public function delete($table, $where, $debug=false, $low_priority=false)
{
if ($low_priority)
$query='DELETE LOW_PRIORITY QUICK FROM `'.$table.'` WHERE '.$where.' LIMIT 1;';
else
$query='DELETE FROM `'.$table.'` WHERE '.$where.' LIMIT 1;';
if ($debug) $tdeb=microtime_float();
try {
$stmt = $this->db->query($query);
$res = $this->db->lastInsertId();
if ( $res == 0 ) {
$res = true;
}
} catch(Zend_Db_Exception $e) {
$this->errorCode = $e->getCode();
$this->errorMsg = $e->getMessage();
$res = false;
}
if ($debug) $this->trace($query, $res, $tdeb);
return $res;
}
public function select($table, $fields, $where, $debug=false, $assoc=MYSQL_BOTH, $huge=false) {
$this->setDB();
if (mysql_select_db($this->database, $this->con_id) === false) {
echo date('Y/m/d - H:i:s') ." - ERREUR ".mysql_errno()." : Connection à la base de données impossible !".EOL;
echo date ('Y/m/d - H:i:s'). mysql_error();
die();
}
/**
*
* @param unknown $table
* @param unknown $fields
* @param unknown $where
* @param string $debug
* @param string $assoc
* @param string $huge
* @return boolean|multitype:multitype: |number
*/
public function select($table, $fields, $where, $debug=false, $assoc=MYSQL_BOTH, $huge=false)
{
$query="SELECT $fields FROM $table WHERE $where;";
if ($debug) $tdeb=microtime(true);
$this->result=mysql_query($query, $this->con_id);// or die(mysql_error());
if (mysql_errno()) {
$fpErr=fopen(LOG_PATH.'/sqlerror.log','a');
fwrite($fpErr, date('YmdHis'). ' - '.$query .EOL);
fwrite($fpErr, date('YmdHis'). ' - '.mysql_errno() .' - '. mysql_error().EOL);
return false;
}
// echo ;
if (!$huge) {
$tab=array();
while ($ligne = mysql_fetch_array($this->result, $assoc))
$tab[]=$ligne;
if ($debug) $this->trace($query, sizeof($tab), $tdeb);
return $tab;
if ($debug) $tdeb=microtime_float();
try {
$stmt = $this->db->query($query);
} catch(Zend_Db_Exception $e) {
$this->errorCode = $e->getCode();
$this->errorMsg = $e->getMessage();
$fpErr = fopen(LOG_PATH.'/sqlerror.log','a');
fwrite($fpErr, date('YmdHis'). ' - '.$query .EOL);
fwrite($fpErr, date('YmdHis'). ' - '.$e->getCode().' - '. $e->getMessage().PHP_EOL);
return false;
}
if ( !$huge ) {
switch($assoc) {
case MYSQL_NUM:
$mode = Zend_Db::FETCH_NUM;
break;
case MYSQL_ASSOC:
$mode = Zend_Db::FETCH_ASSOC;
break;
case MYSQL_BOTH:
$mode = Zend_Db::FETCH_BOTH;
break;
}
$tab = $stmt->fetchAll($mode);
if ($debug) $this->trace($query, sizeof($tab), $tdeb);
return $tab;
} else {
$nbRows=mysql_num_rows($this->result);
if ($debug) $this->trace($query, $nbRows, $tdeb);
return $nbRows;
$nbRows = $stmt->rowCount();
if ($debug) $this->trace($query, $nbRows, $tdeb);
return $nbRows;
}
}
public function fetch($assoc=MYSQL_BOTH) {
return mysql_fetch_array($this->result, $assoc);
/**
*
* @param string $assoc
* @return multitype:
*/
public function fetch($assoc=MYSQL_BOTH)
{
switch($assoc) {
case MYSQL_NUM:
$mode = Zend_Db::FETCH_NUM;
break;
case MYSQL_ASSOC:
$mode = Zend_Db::FETCH_ASSOC;
break;
case MYSQL_BOTH:
$mode = Zend_Db::FETCH_BOTH;
break;
}
return $this->result->fetch($mode);
}
public function trace($query, $res='', $tdeb=-1) {
/*if (!$fp=fopen(LOG_PATH.'/mysql_insert.log', 'a'))
return false;
$errnum=mysql_errno($this->con_id);
if ($tdeb>-1) $duree=substr(''.microtime(true)-$tdeb, 0, 5);
else $duree='N/D';
if (!fwrite($fp, date('Y/m/d - H:i:s') ." - $errnum - $res - $duree - $query\n"))
return false;
if (!fclose($fp))
return false;
return true;*/
/**
*
* @param unknown $query
* @param string $res
* @param unknown $tdeb
* @return boolean
*/
public function trace($query, $res='', $tdeb=-1)
{
if (!$fp=fopen(LOG_PATH.'/mysql_insert.log', 'a'))
return false;
$errnum=mysql_errno($this->con_id);
if ($tdeb>-1) $duree=substr(''.microtime_float()-$tdeb, 0, 5);
else $duree='N/D';
if (!fwrite($fp, date('Y/m/d - H:i:s') ." - $errnum - $res - $duree - $query\n"))
return false;
if (!fclose($fp))
return false;
return true;
}
/** Exécute la requête passé en paramètre **/
public function query($query, $debug=false){
$this->setDB();
$this->result=mysql_query($query, $this->con_id);
/**
* Exécute la requête passé en paramètre
*/
public function query($query, $debug=false)
{
try {
$stmt = $this->db->query($query);
$this->result = $stmt;
} catch(Zend_Db_Exception $e) {
$this->errorCode = $e->getCode();
$this->errorMsg = $e->getMessage();
return false;
}
return $this->result;
}
/** Retourne le nombre de records de la dernière requête de sélection **
public function getNumRows() {
return mysql_num_rows($this->con_id);
}
*/
/** Retourne le libellé de la dernière erreur **/
public function getLastErrorMsg() {
return mysql_error($this->con_id);
public function getLastErrorMsg()
{
return $this->errorMsg;
}
/** Retourne le numéro de la dernière erreur **/
public function getLastErrorNum() {
return mysql_errno($this->con_id);
/**
* Retourne le numéro de la dernière erreur
*/
public function getLastErrorNum()
{
return $this->errorCode;
}
/** Retourne le libellé et le numéro de la dernière erreur **/
public function getLastError() {
return mysql_error($this->con_id).' ('.mysql_errno($this->con_id).')';
public function getLastError()
{
return $this->errorMsg.' ('.$this->errorCode.')';
}
/** Retourne le nombre de lignes modifiées par la dernière requête **/
public function getAffectedRows() {
return mysql_affected_rows($this->con_id);
public function getAffectedRows()
{
return $this->result->rowCount();
}
/** Génère le fichier CSV pour la requete SQL
**
** @param string $query
** @param string $fileCsv
** @return bool
/**
* Génère le fichier CSV pour la requete SQL
*
* @param string $query
* @param string $fileCsv
* @return bool
*/
public function exportCSV($query, $fileCsv, $sep=',', $eol=EOL) {
public function exportCSV($query, $fileCsv, $sep=',', $eol=EOL)
{
$i=$c=0;
$fp = fopen($fileCsv, 'w');
if (!$fp) return false;
$res=$this->query($query);
$nbLignes=mysql_num_rows($res);
$res = $this->query($query);
$nbLignes = $res->rowCount();;
while ($ligne=$this->fetch(MYSQL_ASSOC)) {
if ($i==0) {
@ -227,8 +349,8 @@ public function delete($table, $where, $debug=false, $low_priority=false) {
$i++;
}
fclose($fp);
return $nbLignes;//$this->getAffectedRows();
}
return $nbLignes;
}
}
?>

View File

@ -1,4 +1,4 @@
<?
<?php
require_once 'framework/common/mysql.php';
require_once 'framework/common/strings.php';
//include_once(FWK_PATH.'common/dates.php');
@ -135,7 +135,7 @@
$str = utf8_decode($str);
$str = strtr($str,$tabReplace);
return utf8_encode($str);
//require_once 'i18n/cleanchar.php';
//require_once 'i18n/cleanchar.php';
//return fixEncoding($str);
}