#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
Mise à jour des tribunaux compétents pour les codes insee des communes depuis le site du ministère de la justice.
/**@todo : Il faudrait penser à mettre à jour en automatique la liste des communes depuis le site de l'insee !!!**/
Options :
-d Mode debug (Verbosité au maximum et fonctionnement sans timer ni contraintes temporelles)
-t Pas de timer du tout
-n=XXX Nombre de millésimes à récupérer
-r Afficher les ratios
";/* -i:XXXXX Reprendre au code commune Insee XXXXX
";*/
$argv=$_SERVER['argv'];
$tabComIn=array();
$ratio=false;
$nbMillesime=999;
for ($i=1,$j=0; isset($argv[$i]); $i++) {
if (substr($argv[$i],0,1)=='-') {
switch (substr($argv[$i],1,1)) {
case 'd': $modeDebug=true; break;
case 't': $noTimer=true; break;
case 'n': $nbMillesime=substr($argv[$i],3); break;
case 'r': $ratio=true; break;
case '-':
case '?': die($strInfoScript); break;
default: die('Option '. $argv[$i] . " inconnue !\n");
}
} else $tabComIn[]=$argv[$i];
}
/** URL = http://www.justice.gouv.fr/recherche-juridictions/popup.php?insee=01053&type=all
** referer = http://www.justice.gouv.fr/recherche-juridictions/consult.php
**
** URL = http://www.insee.fr/fr/nom_def_met/nomenclatures/cog/cog.telechargement.annee.asp?annee=2007
**/
echo date ('Y/m/d - H:i:s')." - Début de la mise à jour des juridictions par communes...".EOL;
$referer='http://www.justice.gouv.fr/recherche-juridictions/consult.php';
$iDb=new WDB();
$iInsee=new MInsee();
$tabVilles=$tabTri=array();
$table='bilansM14';
$tabZones=array(
'millesime'=>'
ANALYSE DES EQUILIBRES FINANCIERS FONDAMENTAUX | (.*) | ',
'depLib'=>'DEPARTEMENT : (.*) | ',
'comLib'=>'DEPARTEMENT : (?:.*)(.*) | ',
'popLeg'=>'Population légale en vigueur au 1er janvier de l\'exercice : (.*)habitants',
'popInf'=>'communes de(.*)hab
',
'fiscalite'=>'communes de(?:.*)hab
(.*)',
'R01a'=>'(.*) | (?:.*)(?:.*)(?:.*)TOTAL DES PRODUITS DE FONCTIONNEMENT = A',
'R01b'=>'(?:.*) | (.*)(?:.*)(?:.*)TOTAL DES PRODUITS DE FONCTIONNEMENT = A',
'R01c'=>'(?:.*) | (?:.*)(.*)(?:.*)TOTAL DES PRODUITS DE FONCTIONNEMENT = A',
'R02a'=>'(.*) | (?:.*)(?:.*)(?:.*)dont : Impôts Locaux(?:.*)(?:.*)',
'R02b'=>'(?:.*) | (.*)(?:.*)(?:.*)dont : Impôts Locaux(?:.*)(?:.*)',
'R02c'=>'(?:.*) | (?:.*)(.*)(?:.*)dont : Impôts Locaux(?:.*)(?:.*)',
'R02d'=>'(?:.*) | (?:.*)(?:.*)(?:.*)dont : Impôts Locaux(.*)(?:.*)',
'R02e'=>'(?:.*) | (?:.*)(?:.*)(?:.*)dont : Impôts Locaux(?:.*)(.*)',
'R03a'=>'Impôts Locaux(?:.*)
(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Autres impôts et taxes(?:.*)(?:.*)',
'R03b'=>'Impôts Locaux(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Autres impôts et taxes(?:.*)(?:.*)',
'R03c'=>'Impôts Locaux(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Autres impôts et taxes(?:.*)(?:.*)',
'R03d'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Autres impôts et taxes(.*)(?:.*)',
'R03e'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Autres impôts et taxes(?:.*)(.*)',
'R04a'=>'Autres impôts et taxes(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Dotation globale de fonctionnement(?:.*)(?:.*)',
'R04b'=>'Autres impôts et taxes(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Dotation globale de fonctionnement(?:.*)(?:.*)',
'R04c'=>'Autres impôts et taxes(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Dotation globale de fonctionnement(?:.*)(?:.*)',
'R04d'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Dotation globale de fonctionnement(.*)(?:.*)',
'R04e'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Dotation globale de fonctionnement(?:.*)(.*)',
'R05a'=>'Dotation globale de fonctionnement(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)TOTAL DES CHARGES DE FONCTIONNEMENT = B',
'R05b'=>'Dotation globale de fonctionnement(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)TOTAL DES CHARGES DE FONCTIONNEMENT = B',
'R05c'=>'Dotation globale de fonctionnement(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)TOTAL DES CHARGES DE FONCTIONNEMENT = B',
'R06a'=>'CHARGES DE FONCTIONNEMENT(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)dont : Charges de personnel(?:.*)(?:.*)',
'R06b'=>'CHARGES DE FONCTIONNEMENT(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)dont : Charges de personnel(?:.*)(?:.*)',
'R06c'=>'CHARGES DE FONCTIONNEMENT(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)dont : Charges de personnel(?:.*)(?:.*)',
'R06d'=>'(?:.*) | (?:.*)(?:.*)(?:.*)dont : Charges de personnel(.*)(?:.*)',
'R06e'=>'(?:.*) | (?:.*)(?:.*)(?:.*)dont : Charges de personnel(?:.*)(.*)',
'R07a'=>'Charges de personnel(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Achats et charges externes(?:.*)(?:.*)',
'R07b'=>'Charges de personnel(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Achats et charges externes(?:.*)(?:.*)',
'R07c'=>'Charges de personnel(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Achats et charges externes(?:.*)(?:.*)',
'R07d'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Achats et charges externes(.*)(?:.*)',
'R07e'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Achats et charges externes(?:.*)(.*)',
'R08a'=>'Achats et charges externes(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Charges financières(?:.*)(?:.*)',
'R08b'=>'Achats et charges externes(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Charges financières(?:.*)(?:.*)',
'R08c'=>'Achats et charges externes(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Charges financières(?:.*)(?:.*)',
'R08d'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Charges financières(.*)(?:.*)',
'R08e'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Charges financières(?:.*)(.*)',
'R09a'=>'Charges financières(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Contingents(?:.*)(?:.*)',
'R09b'=>'Charges financières(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Contingents(?:.*)(?:.*)',
'R09c'=>'Charges financières(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Contingents(?:.*)(?:.*)',
'R09d'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Contingents(.*)(?:.*)',
'R09e'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Contingents(?:.*)(.*)',
'R10a'=>'Contingents(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Subventions versées(?:.*)(?:.*)',
'R10b'=>'Contingents(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Subventions versées(?:.*)(?:.*)',
'R10c'=>'Contingents(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Subventions versées(?:.*)(?:.*)',
'R10d'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Subventions versées(.*)(?:.*)',
'R10e'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Subventions versées(?:.*)(.*)',
'R11a'=>'Subventions versées(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)RESULTAT COMPTABLE = A - B = R',
'R11b'=>'Subventions versées(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)RESULTAT COMPTABLE = A - B = R',
'R11c'=>'Subventions versées(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)RESULTAT COMPTABLE = A - B = R',
'R12a'=>'RESULTAT COMPTABLE = A - B = R(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)TOTAL DES RESSOURCES D\'INVESTISSEMENT = C',
'R12b'=>'RESULTAT COMPTABLE = A - B = R(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)TOTAL DES RESSOURCES D\'INVESTISSEMENT = C',
'R12c'=>'RESULTAT COMPTABLE = A - B = R(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)TOTAL DES RESSOURCES D\'INVESTISSEMENT = C',
'R13a'=>'TOTAL DES RESSOURCES D\'INVESTISSEMENT = C(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)dont : Emprunts bancaires et dettes assimilées(?:.*)(?:.*)',
'R13b'=>'TOTAL DES RESSOURCES D\'INVESTISSEMENT = C(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)dont : Emprunts bancaires et dettes assimilées(?:.*)(?:.*)',
'R13c'=>'TOTAL DES RESSOURCES D\'INVESTISSEMENT = C(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)dont : Emprunts bancaires et dettes assimilées(?:.*)(?:.*)',
'R13d'=>'(?:.*) | (?:.*)(?:.*)(?:.*)dont : Emprunts bancaires et dettes assimilées(.*)(?:.*)',
'R13e'=>'(?:.*) | (?:.*)(?:.*)(?:.*)dont : Emprunts bancaires et dettes assimilées(?:.*)(.*)',
'R14a'=>'dont : Emprunts bancaires et dettes assimilées(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Subventions reçues(?:.*)(?:.*)',
'R14b'=>'dont : Emprunts bancaires et dettes assimilées(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Subventions reçues(?:.*)(?:.*)',
'R14c'=>'dont : Emprunts bancaires et dettes assimilées(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Subventions reçues(?:.*)(?:.*)',
'R14d'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Subventions reçues(.*)(?:.*)',
'R14e'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Subventions reçues(?:.*)(.*)',
'R15a'=>'Subventions reçues(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)FCTVA(?:.*)(?:.*)',
'R15b'=>'Subventions reçues(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)FCTVA(?:.*)(?:.*)',
'R15c'=>'Subventions reçues(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)FCTVA(?:.*)(?:.*)',
'R15d'=>'(?:.*) | (?:.*)(?:.*)(?:.*)FCTVA(.*)(?:.*)',
'R15e'=>'(?:.*) | (?:.*)(?:.*)(?:.*)FCTVA(?:.*)(.*)',
'R16a'=>'FCTVA(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Retour de biens affectés, concédés, ...(?:.*)(?:.*)',
'R16b'=>'FCTVA(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Retour de biens affectés, concédés, ...(?:.*)(?:.*)',
'R16c'=>'FCTVA(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Retour de biens affectés, concédés, ...(?:.*)(?:.*)',
'R16d'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Retour de biens affectés, concédés, ...(.*)(?:.*)',
'R16e'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Retour de biens affectés, concédés, ...(?:.*)(.*)',
'R17a'=>'Retour de biens affectés, concédés, ...(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)TOTAL DES EMPLOIS D\'INVESTISSEMENT = D',
'R17b'=>'Retour de biens affectés, concédés, ...(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)TOTAL DES EMPLOIS D\'INVESTISSEMENT = D',
'R17c'=>'Retour de biens affectés, concédés, ...(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)TOTAL DES EMPLOIS D\'INVESTISSEMENT = D',
'R18a'=>'TOTAL DES EMPLOIS D\'INVESTISSEMENT = D(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)dont : Dépenses d\'équipement(?:.*)(?:.*)',
'R18b'=>'TOTAL DES EMPLOIS D\'INVESTISSEMENT = D(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)dont : Dépenses d\'équipement(?:.*)(?:.*)',
'R18c'=>'TOTAL DES EMPLOIS D\'INVESTISSEMENT = D(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)dont : Dépenses d\'équipement(?:.*)(?:.*)',
'R18d'=>'(?:.*) | (?:.*)(?:.*)(?:.*)dont : Dépenses d\'équipement(.*)(?:.*)',
'R18e'=>'(?:.*) | (?:.*)(?:.*)(?:.*)dont : Dépenses d\'équipement(?:.*)(.*)',
'R19a'=>'dont : Dépenses d\'équipement(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Remboursement d\'emprunts et dettes assimilées(?:.*)(?:.*)',
'R19b'=>'dont : Dépenses d\'équipement(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Remboursement d\'emprunts et dettes assimilées(?:.*)(?:.*)',
'R19c'=>'dont : Dépenses d\'équipement(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Remboursement d\'emprunts et dettes assimilées(?:.*)(?:.*)',
'R19d'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Remboursement d\'emprunts et dettes assimilées(.*)(?:.*)',
'R19e'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Remboursement d\'emprunts et dettes assimilées(?:.*)(.*)',
'R20a'=>'Remboursement d\'emprunts et dettes assimilées(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Charges à répartir(?:.*)(?:.*)',
'R20b'=>'Remboursement d\'emprunts et dettes assimilées(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Charges à répartir(?:.*)(?:.*)',
'R20c'=>'Remboursement d\'emprunts et dettes assimilées(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Charges à répartir(?:.*)(?:.*)',
'R20d'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Charges à répartir(.*)(?:.*)',
'R20e'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Charges à répartir(?:.*)(.*)',
'R21a'=>'Charges à répartir(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Immobilisations affectées, concédées, ...(?:.*)(?:.*)',
'R21b'=>'Charges à répartir(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Immobilisations affectées, concédées, ...(?:.*)(?:.*)',
'R21c'=>'Charges à répartir(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Immobilisations affectées, concédées, ...(?:.*)(?:.*)',
'R21d'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Immobilisations affectées, concédées, ...(.*)(?:.*)',
'R21e'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Immobilisations affectées, concédées, ...(?:.*)(.*)',
'R22a'=>'Immobilisations affectées, concédées, ...(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Besoin ou capacité de financement Résiduel de la section d\'investissement = D - C',
'R22b'=>'Immobilisations affectées, concédées, ...(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Besoin ou capacité de financement Résiduel de la section d\'investissement = D - C',
'R22c'=>'Immobilisations affectées, concédées, ...(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Besoin ou capacité de financement Résiduel de la section d\'investissement = D - C',
'R23a'=>'Besoin ou capacité de financement Résiduel de la section d\'investissement = D - C(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)+ Solde des opérations pour le compte de tiers',
'R23b'=>'Besoin ou capacité de financement Résiduel de la section d\'investissement = D - C(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)+ Solde des opérations pour le compte de tiers',
'R23c'=>'Besoin ou capacité de financement Résiduel de la section d\'investissement = D - C(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)+ Solde des opérations pour le compte de tiers',
'R24a'=>'Solde des opérations pour le compte de tiers(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)= Besoin ou capacité de financement de la section d\'investissement = E',
'R24b'=>'Solde des opérations pour le compte de tiers(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)= Besoin ou capacité de financement de la section d\'investissement = E',
'R24c'=>'Solde des opérations pour le compte de tiers(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)= Besoin ou capacité de financement de la section d\'investissement = E',
'R25a'=>'Besoin ou capacité de financement de la section d\'investissement = E(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Résultat d\'ensemble = R - E',
'R25b'=>'Besoin ou capacité de financement de la section d\'investissement = E(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Résultat d\'ensemble = R - E',
'R25c'=>'Besoin ou capacité de financement de la section d\'investissement = E(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Résultat d\'ensemble = R - E',
'R26a'=>'Résultat d\'ensemble = R - E(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Excédent brut de fonctionnement(?:.*)(?:.*)',
'R26b'=>'Résultat d\'ensemble = R - E(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Excédent brut de fonctionnement(?:.*)(?:.*)',
'R26c'=>'Résultat d\'ensemble = R - E(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Excédent brut de fonctionnement(?:.*)(?:.*)',
'R26d'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Excédent brut de fonctionnement(.*)(?:.*)',
'R26e'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Excédent brut de fonctionnement(?:.*)(.*)',
'R27a'=>'Excédent brut de fonctionnement(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Capacité d\'autofinancement = CAF(?:.*)(?:.*)',
'R27b'=>'Excédent brut de fonctionnement(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Capacité d\'autofinancement = CAF(?:.*)(?:.*)',
'R27c'=>'Excédent brut de fonctionnement(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Capacité d\'autofinancement = CAF(?:.*)(?:.*)',
'R27d'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Capacité d\'autofinancement = CAF(.*)(?:.*)',
'R27e'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Capacité d\'autofinancement = CAF(?:.*)(.*)',
'R28a'=>'Capacité d\'autofinancement = CAF(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)CAF nette du remboursement en capital des emprunts(?:.*)(?:.*)',
'R28b'=>'Capacité d\'autofinancement = CAF(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)CAF nette du remboursement en capital des emprunts(?:.*)(?:.*)',
'R28c'=>'Capacité d\'autofinancement = CAF(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)CAF nette du remboursement en capital des emprunts(?:.*)(?:.*)',
'R28d'=>'(?:.*) | (?:.*)(?:.*)(?:.*)CAF nette du remboursement en capital des emprunts(.*)(?:.*)',
'R28e'=>'(?:.*) | (?:.*)(?:.*)(?:.*)CAF nette du remboursement en capital des emprunts(?:.*)(.*)',
'R29a'=>'CAF nette du remboursement en capital des emprunts(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Encours total de la dette au 31/12/N(?:.*)(?:.*)',
'R29b'=>'CAF nette du remboursement en capital des emprunts(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Encours total de la dette au 31/12/N(?:.*)(?:.*)',
'R29c'=>'CAF nette du remboursement en capital des emprunts(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Encours total de la dette au 31/12/N(?:.*)(?:.*)',
'R29d'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Encours total de la dette au 31/12/N(.*)(?:.*)',
'R29e'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Encours total de la dette au 31/12/N(?:.*)(.*)',
'R30a'=>'Encours total de la dette au 31/12/N(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Annuité de la dette(?:.*)(?:.*)',
'R30b'=>'Encours total de la dette au 31/12/N(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Annuité de la dette(?:.*)(?:.*)',
'R30c'=>'Encours total de la dette au 31/12/N(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Annuité de la dette(?:.*)(?:.*)',
'R30d'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Annuité de la dette(.*)(?:.*)',
'R30e'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Annuité de la dette(?:.*)(.*)',
'R31a'=>'Annuité de la dette(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Avances du Trésor au 31/12/N(?:.*)(?:.*)',
'R31b'=>'Annuité de la dette(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Avances du Trésor au 31/12/N(?:.*)(?:.*)',
'R31c'=>'Annuité de la dette(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Avances du Trésor au 31/12/N(?:.*)(?:.*)',
'R31d'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Avances du Trésor au 31/12/N(.*)(?:.*)',
'R31e'=>'(?:.*) | (?:.*)(?:.*)(?:.*)Avances du Trésor au 31/12/N(?:.*)(.*)',
'R32a'=>'(?:Avances du Trésor|Annuité de la dette)(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)FONDS DE ROULEMENT',
'R32b'=>'(?:Avances du Trésor|Annuité de la dette)(?:.*)(?:.*)(?:.*) | (.*)(?:.*)(?:.*)FONDS DE ROULEMENT',
'R32c'=>'(?:Avances du Trésor|Annuité de la dette)(?:.*)(?:.*)(?:.*) | (?:.*)(.*)(?:.*)FONDS DE ROULEMENT',
'R33a'=>'ELEMENTS DE FISCALITE DIRECTE LOCALE(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Taxe d\'habitation',
'R33b'=>'ELEMENTS DE FISCALITE DIRECTE LOCALE(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Taxe d\'habitation',
'R33c'=>'ELEMENTS DE FISCALITE DIRECTE LOCALE(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Taxe d\'habitation',
'R33d'=>'Taxe d\'habitation(?:.*)(.*)(?:.*)(?:.*)',
'R33e'=>'Taxe d\'habitation(?:.*)(?:.*)(.*)(?:.*)',
'R33f'=>'Taxe d\'habitation(?:.*)(?:.*)(?:.*)(.*)',
'R34a'=>'Taxe d\'habitation(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Taxe foncière sur les propriétés bâties',
'R34b'=>'Taxe d\'habitation(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Taxe foncière sur les propriétés bâties',
'R34c'=>'Taxe d\'habitation(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Taxe foncière sur les propriétés bâties',
'R34d'=>'Taxe foncière sur les propriétés bâties(.*)(?:.*)(?:.*)',
'R34e'=>'Taxe foncière sur les propriétés bâties(?:.*)(.*)(?:.*)',
'R34f'=>'Taxe foncière sur les propriétés bâties(?:.*)(?:.*)(.*)',
'R35a'=>'Taxe foncière sur les propriétés bâties(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Taxe foncière sur les propriétés non bâties',
'R35b'=>'Taxe foncière sur les propriétés bâties(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Taxe foncière sur les propriétés non bâties',
'R35c'=>'Taxe foncière sur les propriétés bâties(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Taxe foncière sur les propriétés non bâties',
'R35d'=>'Taxe foncière sur les propriétés non bâties(.*)(?:.*)(?:.*)',
'R35e'=>'Taxe foncière sur les propriétés non bâties(?:.*)(.*)(?:.*)',
'R35f'=>'Taxe foncière sur les propriétés non bâties(?:.*)(?:.*)(.*)',
'R36a'=>'Taxe foncière sur les propriétés non bâties(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Cotisation foncière des entreprises',
'R36b'=>'Taxe foncière sur les propriétés non bâties(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Cotisation foncière des entreprises',
'R36c'=>'Taxe foncière sur les propriétés non bâties(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Cotisation foncière des entreprises',
'R36d'=>'Cotisation foncière des entreprises(?:.*)(.*)(?:.*)(?:.*)',
'R36e'=>'Cotisation foncière des entreprises(?:.*)(?:.*)(.*)(?:.*)',
'R36f'=>'Cotisation foncière des entreprises(?:.*)(?:.*)(?:.*)(.*)',
'R37a'=>'Taxe foncière sur les propriétés non bâties(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Taxe professionnelle',
'R37b'=>'Taxe foncière sur les propriétés non bâties(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Taxe professionnelle',
'R37c'=>'Taxe foncière sur les propriétés non bâties(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Taxe professionnelle',
'R37d'=>'Taxe professionnelle(?:.*)(.*)(?:.*)(?:.*)',
'R37e'=>'Taxe professionnelle(?:.*)(?:.*)(.*)(?:.*)',
'R37f'=>'Taxe professionnelle(?:.*)(?:.*)(?:.*)(.*)',
'R38a'=>'Les taux et les produits de la fiscalité directe locale(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Taxe d\'habitation',
'R38b'=>'Les taux et les produits de la fiscalité directe locale(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Taxe d\'habitation',
'R38c'=>'Les taux et les produits de la fiscalité directe locale(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Taxe d\'habitation',
'R38d'=>'Produits des impôts locaux(?:.*)Taxe d\'habitation(?:.*)(.*)(?:.*)',
'R38e'=>'Produits des impôts locaux(?:.*)Taxe d\'habitation(?:.*)(?:.*)(.*)',
'R39a'=>'Produits des impôts locaux(?:.*)Taxe d\'habitation(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Taxe foncière sur les propriétés bâties',
'R39b'=>'Produits des impôts locaux(?:.*)Taxe d\'habitation(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Taxe foncière sur les propriétés bâties',
'R39c'=>'Produits des impôts locaux(?:.*)Taxe d\'habitation(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Taxe foncière sur les propriétés bâties',
'R39d'=>'Produits des impôts locaux(?:.*)Taxe foncière sur les propriétés bâties(?:.*)(.*)(?:.*)',
'R39e'=>'Produits des impôts locaux(?:.*)Taxe foncière sur les propriétés bâties(?:.*)(?:.*)(.*)',
'R40a'=>'Produits des impôts locaux(?:.*)Taxe foncière sur les propriétés bâties(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Taxe foncière sur les propriétés non bâties',
'R40b'=>'Produits des impôts locaux(?:.*)Taxe foncière sur les propriétés bâties(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Taxe foncière sur les propriétés non bâties',
'R40c'=>'Produits des impôts locaux(?:.*)Taxe foncière sur les propriétés bâties(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Taxe foncière sur les propriétés non bâties',
'R40d'=>'Produits des impôts locaux(?:.*)Taxe foncière sur les propriétés non bâties(?:.*)(.*)(?:.*)',
'R40e'=>'Produits des impôts locaux(?:.*)Taxe foncière sur les propriétés non bâties(?:.*)(?:.*)(.*)',
'R41a'=>'Produits des impôts locaux(?:.*)Taxe foncière sur les propriétés non bâties(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Taxe professionnelle',
'R41b'=>'Produits des impôts locaux(?:.*)Taxe foncière sur les propriétés non bâties(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Taxe professionnelle',
'R41c'=>'Produits des impôts locaux(?:.*)Taxe foncière sur les propriétés non bâties(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Taxe professionnelle',
'R41d'=>'Produits des impôts locaux(?:.*)Taxe professionnelle(?:.*)(.*)(?:.*)',
'R41e'=>'Produits des impôts locaux(?:.*)Taxe professionnelle(?:.*)(?:.*)(.*)',
'R42a'=>'Produits des impôts locaux(?:.*)Taxe foncière sur les propriétés non bâties(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Compensation-Relais',
'R42b'=>'Produits des impôts locaux(?:.*)Taxe foncière sur les propriétés non bâties(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Compensation-Relais',
'R42c'=>'Produits des impôts locaux(?:.*)Taxe foncière sur les propriétés non bâties(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Compensation-Relais',
'R42d'=>'Produits des impôts locaux(?:.*)Compensation-Relais(?:.*)(.*)(?:.*)',
'R42e'=>'Produits des impôts locaux(?:.*)Compensation-Relais(?:.*)(?:.*)(.*)',
'R43a'=>'Produits des impôts locaux(?:.*)Compensation-Relais(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Cotisation foncière des entreprises',
'R43b'=>'Produits des impôts locaux(?:.*)Compensation-Relais(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Cotisation foncière des entreprises',
'R43c'=>'Produits des impôts locaux(?:.*)Compensation-Relais(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Cotisation foncière des entreprises',
'R43d'=>'Produits des impôts locaux(?:.*)Cotisation foncière des entreprises(?:.*)(.*)(?:.*)',
'R43e'=>'Produits des impôts locaux(?:.*)Cotisation foncière des entreprises(?:.*)(?:.*)(.*)',
'R44a'=>'Produits des impôts locaux(?:.*)FIN LIGNES TABLEAU UNIQUEMENT POUR APRES 2009(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Potentiel fiscal',
'R44b'=>'Produits des impôts locaux(?:.*)FIN LIGNES TABLEAU UNIQUEMENT POUR APRES 2009(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Potentiel fiscal',
'R44c'=>'Produits des impôts locaux(?:.*)FIN LIGNES TABLEAU UNIQUEMENT POUR APRES 2009(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Potentiel fiscal',
'popFisc'=>'Potentiel fiscal(?:.*)population(?:.*)=(.*)habitants',
// R841 - POTENTIEL FISCAL
'R44a_'=>'ELEMENTS DE FISCALITE(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Potentiel fiscal',
'R44b_'=>'ELEMENTS DE FISCALITE(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Potentiel fiscal',
'R44c_'=>'ELEMENTS DE FISCALITE(?:.*)(?:.*) | (?:.*)(?:.*)(.*)Potentiel fiscal',
// R836 - Produits Taxe Habitation
'R38a_'=>'Potentiel fiscal(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Produits taxe d\'habitation',
'R38b_'=>'Potentiel fiscal(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Produits taxe d\'habitation',
'R38c_'=>'Potentiel fiscal(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Produits taxe d\'habitation',
'R38d_'=>'Produits taxe d\'habitation(?:.*)(.*)(?:.*)',
'R38e_'=>'Produits taxe d\'habitation(?:.*)(?:.*)(.*)',
// R837 - Produits foncier bâti
'R39a_'=>'Produits taxe d\'habitation(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Produits foncier bâti',
'R39b_'=>'Produits taxe d\'habitation(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Produits foncier bâti',
'R39c_'=>'Produits taxe d\'habitation(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Produits foncier bâti',
'R39d_'=>'Produits foncier bâti(?:.*)(.*)(?:.*)',
'R39e_'=>'Produits foncier bâti(?:.*)(?:.*)(.*)',
// R838 - Produits foncier non bâti
'R40a_'=>'Produits foncier bâti(?:.*)(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Produits foncier non bâti',
'R40b_'=>'Produits foncier bâti(?:.*)
(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Produits foncier non bâti',
'R40c_'=>'Produits foncier bâti(?:.*)
(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Produits foncier non bâti',
'R40d_'=>'Produits foncier non bâti(?:.*)(.*)(?:.*)',
'R40e_'=>'Produits foncier non bâti(?:.*)(?:.*)(.*)',
// R842 - Produits taxe professionnelle
'R41a_'=>'Produits foncier non bâti(?:.*)(.*) | (?:.*)(?:.*)(?:.*)Produits taxe professionnelle',
'R41b_'=>'Produits foncier non bâti(?:.*)(?:.*) | (.*)(?:.*)(?:.*)Produits taxe professionnelle',
'R41c_'=>'Produits foncier non bâti(?:.*)(?:.*) | (?:.*)(.*)(?:.*)Produits taxe professionnelle',
'R41d_'=>'Produits taxe professionnelle(?:.*)(.*)(?:.*)',
'R41e_'=>'Produits taxe professionnelle(?:.*)(?:.*)(.*)',
// 'activite[actCode,actLib]'=>'\t\t\t\t\t\t\t(.*) :(.*)',
);
if ($ratio) {
$lstCom=$iDb->select(
'bilansM14',
'millesime, dep, com, depA, siren, sirenValide, depLib, comLib, popLeg, popInf, fiscalite, popFisc, R01a, R01b, R01c, R02a, R02b, R02c, R02d, R02e, R03a, R03b, R03c, R03d, R03e, R04a, R04b, R04c, R04d, R04e, R05a, R05b, R05c, R06a, R06b, R06c, R06d, R06e, R07a, R07b, R07c, R07d, R07e, R08a, R08b, R08c, R08d, R08e, R09a, R09b, R09c, R09d, R09e, R10a, R10b, R10c, R10d, R10e, R11a, R11b, R11c, R12a, R12b, R12c, R13a, R13b, R13c, R13d, R13e, R14a, R14b, R14c, R14d, R14e, R15a, R15b, R15c, R15d, R15e, R16a, R16b, R16c, R16d, R16e, R17a, R17b, R17c, R18a, R18b, R18c, R18d, R18e, R19a, R19b, R19c, R19d, R19e, R20a, R20b, R20c, R20d, R20e, R21a, R21b, R21c, R21d, R21e, R22a, R22b, R22c, R23a, R23b, R23c, R24a, R24b, R24c, R25a, R25b, R25c, R26a, R26b, R26c, R26d, R26e, R27a, R27b, R27c, R27d, R27e, R28a, R28b, R28c, R28d, R28e, R29a, R29b, R29c, R29d, R29e, R30a, R30b, R30c, R30d, R30e, R31a, R31b, R31c, R31d, R31e, R32a, R32b, R32c, R33a, R33b, R33c, R33d, R33e, R33f, R34a, R34b, R34c, R34d, R34e, R34f, R35a, R35b, R35c, R35d, R35e, R35f, R36a, R36b, R36c, R36d, R36e, R36f, R37a, R37b, R37c, R37d, R37e, R37f, R38a, R38b, R38c, R38d, R38e, R39a, R39b, R39c, R39d, R39e, R40a, R40b, R40c, R40d, R40e, R41a, R41b, R41c, R41d, R41e, R42a, R42b, R42c, R42d, R42e, R43a, R43b, R43c, R43d, R43e, R44a, R44b, R44c, dateInsert',
"siren=212902324 ORDER BY millesime DESC LIMIT 0,5", false, MYSQL_ASSOC);
foreach ($lstCom as $i=>$tabCom) {
$R[]=convertZones('R', $tabCom);
}
print_r($R);
die();
}
$strCodeInsee='';
if (count($tabComIn)>0) {
if (strlen($tabComIn[0])<4) // @todo pas clean car ne gere qu'un seul dept
$strCodeInsee=" AND codeInsee LIKE '".$tabComIn[0]."%'";
else
$strCodeInsee=" AND codeInsee IN('".implode("','", $tabComIn)."')";
}
$lstCom=$iDb->select('villes', 'codeInsee, TRIM(CONCAT(ARTMAJ,NCC)) as LibCom',"1 $strCodeInsee /*DATEDIFF(NOW(), majTribunaux)>90*/ GROUP BY codeInsee", false);
foreach ($lstCom as $i=>$tabCom) {
$tabVilles['_'.$tabCom['codeInsee']]=trim($tabCom['LibCom']);
$tabTri[]='_'.$tabCom['codeInsee'];
}
$nbVilles=count($tabVilles);
shuffle($tabTri);
$lstCom=$iDb->select('etablissements_act', 'siren, codeCommune, raisonSociale',"siren BETWEEN 210000000 AND 219999999 AND cj=7210 AND siege=1", false);
foreach ($lstCom as $i=>$tabCom)
$tabSiret['_'.$tabCom['codeCommune']]=$tabCom['siren'];
$nbSiret=count($tabSiret);
echo date ('Y/m/d - H:i:s')." - Il y a $nbSiret siret en base.".EOL;
/*
$lstCom=$iDb->select('bilansM14','siren, COUNT(*) AS nb', "GROUP BY siren HAVING nb=11", false);
foreach ($lstCom as $i=>$tabCom) {
// Suppression des siren connus
/*foreach ($tabSiret as $codeCom=>$siren)
if ($tabCom['siren']==$siren) {
unset($tabSiret[$codeCom]);
}*
// Suppression des codes Communes connus
foreach ($tabTri as $j=>$codeCom)
if ($codeCom=$siren) {
unset($tabSiret[$codeCom]);
}
}*/
// Analyse sans sections
//$ini_array = parse_ini_file("/var/www/batch/config/bilans_alize.ini");
//print_r($ini_array);
// Analyse avec sections
//$ini_array = parse_ini_file("sample.ini", true);
//print_r($ini_array);
//die();
echo date ('Y/m/d - H:i:s')." - Il y a $nbVilles communes à mettre à jour...".EOL;
if ($modeDebug) $tempsEstime=round((22*$nbVilles)/60,1).' minutes';
else $tempsEstime=round((150*$nbVilles)/3600,1).' heures';
echo date ('Y/m/d - H:i:s')." - Temps estimé : $tempsEstime...".EOL;
foreach ($tabTri as $i=>$codeInsee) {
/*101 Guadeloupe
102 Guyane
103 Martinique
104 La réunion
75 Paris !!!
02A
02B
*/
$numInsee=substr($codeInsee,1,5);
$dep=substr($numInsee,0,2);
$com=substr($numInsee,2,3);
$depA=0;
$sir2=false;
if ($dep<10) { $dep=dep*1; $sir="210".$dep."0$com"; $dep="00$dep"; }
elseif ($dep==75) { $dep='075'; $com='056'; $sir="21750001"; }
elseif ($dep=='2A') { $dep='02A'; $sir="21200$com"; }
elseif ($dep=='2B') { $dep='02B'; $sir="21200$com"; }
elseif ($dep<96) { $sir="21$dep"."0$com"; $sir2="21$dep"."$com".'0'; $dep="0$dep"; }
elseif ($dep==97) {
$dep=substr($numInsee,0,3);
$sir="21$dep".'0'.substr($com,1,2);
if ($dep==971) $depA=101; // Guadeloupe
elseif ($dep==972) $depA=102; // Guyane
elseif ($dep==973) $depA=103; // Martinique
elseif ($dep==974) $depA=104; // La réunion
else continue;
}
else continue;
if ($depA==0) $depA=$dep;
$libInsee=@$tabVilles[$codeInsee];
$lettre=strtoupper(substr($libInsee,0,1));
$referer="http://alize2.finances.gouv.fr/communes/eneuro/RDep.php?dep=$dep&type=BPS&lettre=$lettre";
$url="http://alize2.finances.gouv.fr/communes/eneuro/tableau.php?icom=$com&dep=$dep&type=BPS¶m=0";
$page=getUrl($url, '', '', $referer, false);
$body=$page['body'];
if (preg_match_all('/&type=BPS¶m=0&exercice=(.*)"/Uis', $body, $matches)) {
$tabAnnees=array_unique($matches[1]);
} else {
echo "Ne trouve pas les années pour $dep $com $libInsee".EOL;
continue;
}
$referer=$url;
foreach ($tabAnnees as $j=>$millesime) {
if ($j>=$nbMillesime) continue;
$ret=$iDb->select($table, 'count(*)', "dep='$dep' AND com=$com AND millesime=$millesime", false);
if (@$ret[0][0]>0) continue;
// $com=232;
// $dep='029';
$tabInsert=array('dep'=>$dep,'depA'=>$depA,'com'=>$com);
$url="http://alize2.finances.gouv.fr/communes/eneuro/detail.php?icom=$com&dep=$dep&type=BPS¶m=0&exercice=$millesime";
// http://alize2.finances.gouv.fr/communes/eneuro/detail.php?icom=002&dep=02B&type=BPS¶m=0&exercice=2010
$page=getUrl($url, '', '', $referer, false);
$body=$page['body'];
$tabHtml=html2array($body, $tabZones);
foreach ($tabHtml as $zone=>$data) {
if ($zone=='popLeg' || $zone=='popFisc' || substr($zone,0,1)=='R') {
if (substr($zone,-1)=='_') {
if (isset($tabHtml[substr($zone,0,4)])) continue;
else
$zone=substr($zone,0,4);
}
$tabInsert[$zone]=strtr($data,array(' '=>'',','=>'.','%'=>''));
}
else $tabInsert[$zone]=$data;
}
if (count($tabInsert)<10)
continue;
/*
$sirenDeb=$sir.'0';
$sirenFin=$sir.'9';
$tabTmp=$iDb->select('etablissements', 'siren, nic, raisonSociale, cj', "siren BETWEEN $sirenDeb AND $sirenFin ORDER BY siege DESC, actif DESC LIMIT 0,1", false,MYSQL_ASSOC);
$siren=@$tabTmp[0]['siren']*1;
if ($siren==0 && $sir2) {
$sirenDeb=$sir2.'0';
$sirenFin=$sir2.'9';
$tabTmp=$iDb->select('etablissements', 'siren, nic, raisonSociale, cj', "siren BETWEEN $sirenDeb AND $sirenFin ORDER BY siege DESC, actif DESC LIMIT 0,1", false,MYSQL_ASSOC);
$siren=@$tabTmp[0]['siren']*1;
}
$rsInsee=$tabTmp[0]['raisonSociale'];
$nic=$tabTmp[0]['nic'];
$cj=$tabTmp[0]['cj'];
$lev=levenshtein('COMMUNE DE '.$libInsee, $rsInsee);
if ($lev<5) {
// OK le siren est cohérent
if (!$iInsee->valideSiren($siren,$nic)) {
$tabInsert['sirenValide']=0;
$tabInsert['siren']=$siren;
$tabInsert['comLibInsee']=$rsInsee;
$tabInsert['cj']=$cj;
} else
$tabInsert['sirenValide']=1;
} else
$tabInsert['sirenValide']=0;
*/
$siren=$tabSiret[$codeInsee];
if ($iInsee->valideSiren($siren)) {
$tabInsert['sirenValide']=1;
$tabInsert['siren']=$siren;
//$tabInsert['comLibInsee']=$rsInsee;
}
$tabInsert['dateInsert']=date('YmdHis');
if (!$iDb->insert($table, $tabInsert, false)) {
if (mysql_errno()==1062) {
unset($tabInsert['dateInsert']);
$iDb->update($table, $tabInsert, "id=$i", false);
} else {
print_r($tabInsert);
die(mysql_error());
}
}
$nb=count($tabInsert);
$comLib=$tabInsert['comLib'];
$millesime=$tabInsert['millesime'];
$popu=@$tabInsert['popFisc'];
if ($popu==0) $popu=@$tabInsert['popLeg'];
echo date('Y/m/d H:i:s')." - $i/$nbVilles - $dep $com : $siren $comLib ($millesime) = $popu habs. / $nb zones".EOL;
if ($modeDebug) randsleep(1,2);
else randsleep(7,21);
}
continue;
/*
print_r($tabHtml);
die();
die($body);
//$body2=preg_replace("//s",'',$body);
$parser = new htmlParser($body);
$ar = $parser->toArray();
//print_r($ar);
/*
$idxDep=@array_tree_search_key($ar, '-{}-1-11-{}-');
$idxCom=@array_tree_search_key($ar, '-{}-1-12-{}-');
*
$depLu=getMultiArrayValueByKey($ar, '-{}-1-11-{}-');
$comLu=getMultiArrayValueByKey($ar, '-{}-1-12-{}-');
$popLu=getMultiArrayValueByKey($ar, '-{}-1-14-{}-');
$tailleLu=getMultiArrayValueByKey($ar, '-{}-3-9-{}-');
foreach($ini_array as $iRatio=>$idRatio) {
$R[$iRatio]=getMultiArrayValueByKey($ar, $idRatio);
}
print_r($R);
echo "$depLu.EOL.$comLu.EOL.$popLu.EOL.$tailleLu.EOL";
//die("$numInsee=$dep,$com: $libInsee".EOL.print_r($body,1));
}
/*
http://alize2.finances.gouv.fr/communes/eneuro/detail.php?icom=557&dep=0782010
*/
die();
$majCommune=false;
if (strpos($body, "Votre recherche d'une ou plusieurs juridictions n'a pu aboutir ! ")==0)
{
$tabTmp=explode('
',$body);
$sleep=false;
foreach ($tabTmp as $j=>$tabTrib) {
if (preg_match('/(.*)<\/strong><\/font>/i', $tabTrib, $results)) {
$libTri=strip_tags($results[1]);
if (preg_match("/^Cour d'Appel (.*)/i", $libTri, $results2)) $typeTri='L';
elseif (preg_match("/^Tribunal Administratif (.*)/i", $libTri, $results2)) $typeTri='D';
elseif (preg_match("/^Tribunal pour Enfants (.*)/i", $libTri, $results2)) $typeTri='E';
elseif (preg_match("/^Conseil de Prud'hommes (.*)/i", $libTri, $results2)) $typeTri='H';
elseif (preg_match("/^Tribunal de Grande Instance à Compétence Commerciale (.*)/i",
$libTri, $results2)) $typeTri='G';//cc';
elseif (preg_match("/^Tribunal de Grande Instance (.*)/i", $libTri, $results2)) $typeTri='G';
elseif (preg_match("/^Tribunal de Commerce (.*)/i", $libTri, $results2)) $typeTri='C';
elseif (preg_match("/^Tribunal d'Instance (.*)/i", $libTri, $results2)) $typeTri='I';
elseif (preg_match("/^Cour Administrative d'Appel (.*)/i", $libTri, $results2)) $typeTri='V';
elseif (preg_match("/^Tribunal Mixte de Commerce (.*)/i", $libTri, $results2)) $typeTri='M';
elseif (preg_match("/^Chambre Détachée de la Cour d'Appel (.*)/i",
$libTri, $results2)) $typeTri='L';
else die("Libellé de tribunal '$libTri' inconnue !");
$nomTri=preg_replace("/^de /i",'',$results2[1]);
// @todo Trouver l'identifiant BODACC et le n°interne SD
} elseif ($j==count($tabTmp)-1) {
break; // Car il ne s'agit plus de la liste
} else die('Erreur fatale');
if (preg_match_all('/(.*)<\/st(?:r|)ong>/i', $tabTrib, $results)) {
$tabAdr=$results[1];
$tabTmp2=explode('br',$tabAdr[0]);
$adresse1=trim(strtr(strip_tags($tabTmp2[0]),'><',' '));
$adresse2=trim(strtr(strip_tags(@$tabTmp2[1]),'><',' '));
$adresse3=trim(strtr(strip_tags(@$tabTmp2[2]),'><',' '));
$cpVille=strip_tags($tabAdr[1]);
if (preg_match('/^([\d]{4,5}) (.*)/i', $cpVille, $results2)) {
$cp=trim($results2[1]);
$ville=trim(strtoupper($results2[2]));
$villeFind=trim(strtr(' '.$ville.' ', array('0'=>'','1'=>'','2'=>'','3'=>'','4'=>'','5'=>'','6'=>'','7'=>'','8'=>'','9'=>'', "'"=>'',
' CEDEX '=>'',
' LE '=>'',
' LES '=>'',
' DU '=>'',
' DES '=>'',
' ST '=>'',
' STE '=>'',
' SAINT '=>'',
' SAINTE '=>'')));
}
if (preg_match('/Tél:(.*)
/Ui', $tabAdr[2], $results2))
$tel=str_replace(' ','',$results2[1])*1;
if (preg_match('/Fax:(.*)
/Ui', $tabAdr[2], $results2))
$fax=str_replace(' ','',$results2[1])*1;
}
$trib=$iDb->select('tribunaux', 'triId, triCode, triType, triNom, triCP, triTel, triFax', "triType='$typeTri' AND triStatut='Actif' AND ( (triTel='$tel' AND triTel<>0) OR (triFax='$fax' AND triFax<>0) )");
if (isset($trib[0]['triId'])) {
$id=$trib[0]['triId'];
$code=$trib[0]['triCode'];
$nom=$trib[0]['triNom'];
} else {
$trib=$iDb->select('tribunaux', 'triId, triCode, triType, triNom, triCP, triTel, triFax', "triType='$typeTri' AND triStatut='Actif' AND triNom LIKE '%".addslashes($nomTri)."%'");
if (isset($trib[0]['triId'])) {
$id=$trib[0]['triId'];
$code=$trib[0]['triCode'];
$nom=$trib[0]['triNom'];
} elseif ($villeFind<>'') {
$trib=$iDb->select('tribunaux', 'triId, triCode, triType, triNom, triCP, triTel, triFax, triStatut', "triType='$typeTri' AND triVille LIKE '%".addslashes($villeFind)."%'");
if (isset($trib[0]['triId'])) {
$id=$trib[0]['triId'];
$code=$trib[0]['triCode'];
$nom=$trib[0]['triNom'];
} else {
$id=0;
$code=$nom='';
echo "Tribunal $nomTri ($typeTri) inconnu ?".EOL;
if ($modeDebug) $line = trim(fgets(STDIN));
else die();
}
}
}
$str="$numInsee;1;$id;$libInsee;$libTri;$nom;$typeTri";//;$adresse1;$adresse2;$adresse3;$cp;$ville;$tel;$fax;$code;$nom\n";
echo $str;
if ($id>0) {
$ret=$iDb->insert('tribunauxInsee', array('CodeInsee'=>$numInsee,'triId'=>$id));
if (!$ret) {
echo ' Déjà en base.';
}
else {
$majCommune=true;
echo ' ===> INSERE !!!';
}
}
echo EOL;
}
} else {
$str="$numInsee;0;;$libInsee".EOL;
echo $str;
}
/** On marque la mise à jour de la liste des tribunaux de la commune **/
$ret=$iDb->update('villes', array('majTribunaux'=>date('Ymd')), "CodeInsee='$numInsee'");
if (date('Hi')*1>=1930) die(date ('Y/m/d - H:i:s')." - Fin du traitement".EOL);
elseif (!$modeDebug && !$noTimer) randsleep(21,63);
elseif (!$noTimer) randsleep(7,21);
}
function array_tree_search_key($a, $subkey) {
foreach (array_keys($a) as $i=>$k) {
if ($k == $subkey) {
return array($i);
}
elseif ($pos = array_tree_search_key($a[$k], $subkey)) {
return array_merge(array($i), $pos);
}
}
}
function getPosition(array $arr, $key) {
$it = new RecursiveIteratorIterator(new RecursiveArrayIterator($arr),
RecursiveIteratorIterator::SELF_FIRST);
$pos = array();
foreach ($it as $k => $v) {
if (count($pos) - 1 > $it->getDepth()) {
array_pop($pos);
$pos[$it->getDepth()]++;
}
elseif (count($pos) - 1 < $it->getDepth()) {
array_push($pos, 0);
}
else {
$pos[$it->getDepth()]++;
}
if ($k === $key) {
return $pos;
}
}
}
function getElementKey(array $arr, array $position) {
$cur = $arr;
$curkey = null;
foreach ($position as $p) {
reset($cur);
for ($i = 0; $i < $p; $i++) {
next($cur);
}
$curkey = key($cur);
$cur = current($cur);
}
return $curkey;
}
function getMultiArrayValueByKey($tableau, $key)
{
$getInnerHTML=false;
// on fait une boucle qui lit les éléments du tableau
foreach ($tableau as $cle=>$valeur)
{
// si l'un des éléments est lui même un tableau
// alors on applique la fonction à ce tableau
if(is_array($valeur))
{
// on affiche le nom de la clé et
// le début d'une liste pour
// décaler le contenu vers la droite
// echo $cle.' : ';
// ici se réalise la récursivité
// c'est à dire qu'on applique la fonction
// à l'élément en cours car c'est lui aussi un tableau
$valRet=getMultiArrayValueByKey($valeur, $key);
if ($valRet<>NULL)
return $valRet;
// on ferme la liste
// echo '
';
}
// si ce n'est pas un tableau
// alors on affiche le contenu de l'élément
else
{
if ($cle=='id') {
if ($valeur==$key) {
$getInnerHTML=true;
}
}
}
if ($getInnerHTML && $cle=='innerHTML') return $valeur;
}
return NULL;
}
?>