#!/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; } ?>