377 lines
17 KiB
PHP
377 lines
17 KiB
PHP
#!/usr/bin/php -c/var/www/batch/config/php_batch_sd.ini
|
|
<?php
|
|
include_once(INCLUDE_PATH.'insee/classMInsee.php');
|
|
|
|
function getNomPrenom($strRaisonSociale) {
|
|
$tabRet=array();
|
|
$tabRet['Nom']=$tabRet['NomUsage']=$tabRet['Prenom']='';
|
|
if (preg_match("/(.*)\*(.*)\/(.*)/",$strRaisonSociale,$matches))
|
|
{
|
|
$tabRet['Nom']=$matches[1];
|
|
$tmp=explode('/', $matches[2]);
|
|
if (isset($tmp[1]) && trim($tmp[1])<>'') {
|
|
$tabRet['NomUsage']=$tmp[0];
|
|
$tabRet['Prenom']=$tmp[1];
|
|
} else
|
|
$tabRet['Prenom']=$matches[2];
|
|
}
|
|
return $tabRet;
|
|
}
|
|
|
|
$strInfoScript='Usage : '.basename($argv[0]). " <option> <fichier>
|
|
Chargement d'un fichier évènement Insee (ancien ou nouveau format).
|
|
|
|
Options :
|
|
-d Mode debug (Verbosité au maximum)
|
|
";/*
|
|
// -n:XXX Numéro du Bodacc
|
|
// -d:JJ/MM/AAAA Rechargement des annonces BODACC depuis cette date
|
|
// -f:JJ/MM/AAAA Rechargement des annonces BODACC jusqu'à cette date
|
|
" -l Derniers BODACC non intégrés uniquement (*)
|
|
-m Force la date d'insertion à celle de la récupération des fichiers Bodacc (cas d'un rechargement complet)
|
|
-r (inopérant) Rechargement des annonces déjà en base
|
|
-e EFFACEMENT DE TOUTES LES ANNONCES correspondantes déjà en base (et non mise à jour)
|
|
|
|
(*) Option par défaut si aucun argument n'est passé.
|
|
";*/
|
|
echo date ('Y/m/d - H:i:s') . " - Début du traitement de chargement des évènements INSEE\r\n";
|
|
flush();
|
|
$tabFichier=array();
|
|
$iDb=new WDB('insee');
|
|
$iInsee=new MInsee();
|
|
$nbSiretInvalides=0;
|
|
$modeDebug=false;
|
|
|
|
//Initialistation des variables
|
|
$argv=$_SERVER['argv'];
|
|
if ($_SERVER['argc']==1) die("Non géré pour l'instant : chargera les derniers fichiers EVEN non chargés !".EOL);
|
|
/*die('Usage : '.basename($argv[0]). " [OPTION]... FICHIER(S)
|
|
Charger un fichier au format Notice80 dans une base de données avec création de la table qui aura le nom du fichier chargé..
|
|
|
|
Options disponibles:
|
|
-d=nom_bdd Nom de la base de données
|
|
-t=nom_table Nom de la table
|
|
|
|
(*): Valeurs par défaut !
|
|
");*/
|
|
|
|
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': $db_table=substr($argv[$i],3); break;
|
|
default: die('Option '. $argv[$i] . " inconnue !\n");
|
|
}
|
|
} else $tabFichier[]=$argv[$i];
|
|
}
|
|
$db_table='insee_even';
|
|
//print_r($tabFichier);die();
|
|
|
|
for ($i=0; isset($tabFichier[$i]); $i++)
|
|
{
|
|
$nomFichier =$tabFichier[$i];
|
|
$idFlux=strtr(strtoupper(basename($nomFichier)),array('I_'=>'20','.DAT'=>''));
|
|
|
|
$fp=fopen($nomFichier, 'r');
|
|
if (!$fp) {
|
|
echo date ('Y/m/d - H:i:s')." - Erreur : Impossible d'ouvrir le fichier n°$i à traiter '".$nomFichier."'".EOL;
|
|
echo date ('Y/m/d - H:i:s') . " - Fin du traitement".EOL;
|
|
die();
|
|
}
|
|
|
|
$nbLignes=0; // Nombre de ligne du fichier
|
|
$ret=$iDb->select($db_table, 'count(idFlux) as nb', "idFlux='$idFlux'");
|
|
$nbLoaded=$ret[0][0];
|
|
if ($nbLoaded>0) {
|
|
while (!feof($fp))
|
|
{
|
|
$nbLignes++;
|
|
$a = trim(fgets($fp, 437));
|
|
}
|
|
if (--$nbLignes==$nbLoaded)
|
|
echo date ('Y/m/d - H:i:s')." - Le fichier n°$i, $nomFichier a déjà été chargé !".EOL;
|
|
else
|
|
die (date ('Y/m/d - H:i:s')." - ERREUR : le fichier n°$i, $nomFichier a été chargé partiellement $nbLignes<>$nbLoaded !".EOL);
|
|
continue;
|
|
}
|
|
|
|
echo date ('Y/m/d - H:i:s')." - Début du traitement du fichier n°$i, $nomFichier !".EOL;
|
|
flush();
|
|
$finFichier=false;
|
|
|
|
while (!feof($fp))
|
|
{
|
|
$nbLignes++;
|
|
$a = trim(fgets($fp, 437));
|
|
if ($finFichier) {
|
|
echo date ('Y/m/d - H:i:s') . " - Attention la fin de fichier a été trouvée à la ligne précédente !".EOL;//Nouveau format du fichier évènement (de Mai 2007) non géré !
|
|
die();
|
|
}
|
|
//unset($tabErreur); $nbErr=0;
|
|
$tabEve=array();
|
|
$tabEve['idFlux'] =$idFlux;
|
|
$tabEve['insSIREN'] =substr($a, 0, 9 ); // N° Siren de l'entreprise concernée par la mise à jour
|
|
$tabEve['insNIC'] =substr($a, 9, 5 ); // Identifiant de l'établissement
|
|
$tabEve['insLIBCOM'] =substr($a, 14, 26 ); // Libellé de la commune
|
|
$insAACRET =substr($a, 40, 4 ); // Année de création de l'établissement
|
|
$insMMCRET =substr($a, 44, 2 ); // Mois de création de l'établissement
|
|
$insJJCRET =substr($a, 46, 2 ); // Jour de création de l'établissement
|
|
$tabEve['insMMINTRET'] =substr($a, 48, 2 ); // Mois d'immatriculation (si dans l'année en cours)
|
|
$tabEve['insSIEGE'] =substr($a, 50, 1 ); // SIEGE (ancienne partie 1 de la variable STATUT)
|
|
$tabEve['insAUXILT'] =substr($a, 51, 1 ); // AUXILIARITE (ancienne partie 2 de la variable STATUT)
|
|
$tabEve['insORIGINE'] =substr($a, 52, 1 ); // Origine
|
|
$tabEve['insTEFET'] =substr($a, 53, 2 ); // Tranche d'effectif salarié
|
|
$tabEve['insAPET700'] =substr($a, 55, 4 ); // Activité de l'établissement
|
|
$tabEve['insAPRM'] =substr($a, 59, 5 ); // Activité artisanale principale
|
|
$tabEve['insMODET'] =substr($a, 64, 1 ); // Modalité de l'activité principale exercée
|
|
$tabEve['insMARCHET'] =substr($a, 65, 1 ); // Caractère marchand ou non
|
|
$tabEve['insSAISONAT'] =substr($a, 66, 1 ); // Saisonnalité
|
|
$tabEve['insACTIVNAT'] =substr($a, 67, 2 ); // Nature
|
|
$tabEve['insENSEIGNE'] =substr($a, 69, 40 ); // Nom de l'établissement
|
|
$tabEve['insL3_CADR'] =substr($a, 109, 26 ); // Complément d'adresse
|
|
$tabEve['insNUMVOIE'] =substr($a, 135, 4 ); // Numéro dans la voie
|
|
$tabEve['insINDREP'] =substr($a, 139, 1 ); // Indice de répétition
|
|
$tabEve['insTYPVOIE'] =substr($a, 140, 3 ); // Type de voie
|
|
$tabEve['insLIBVOIE'] =substr($a, 143, 26 ); // Libellé de voie
|
|
$tabEve['insL5_DISP'] =substr($a, 169, 26 ); // Distribution spéciale pour l'établissement
|
|
$tabEve['insL6_POSTE'] =substr($a, 195, 35 ); // Ligne d'acheminement postal pour l'établissement
|
|
$tabEve['insCODPOS'] =substr($a, 195, 5 ); // Code postal de la ligne d'acheminement postal
|
|
$tabEve['insTEL'] =substr($a, 230, 11 ); // Téléphone de l'établissement
|
|
$tabEve['insCJ'] =substr($a, 241, 4 ); // Catégorie juridique
|
|
$tabEve['insCIVILITE'] =substr($a, 245, 1 ); // Sexe pour une personne physique
|
|
$tabEve['insTEFEN'] =substr($a, 246, 2 ); // Tranche d'effectif de l'entreprise
|
|
$tabEve['insAPEN700'] =substr($a, 248, 4 ); // Activité principale exercée
|
|
$tabEve['insMODEN'] =substr($a, 252, 1 ); // Modalité de l'activité principale exercée
|
|
$tabEve['insMARCHEN'] =substr($a, 253, 1 ); // Caractère marchand ou non
|
|
$tabEve['insNOMEN'] =substr($a, 254, 40 ); // Nom ou raison sociale de l'entreprise
|
|
$tabEve['insTCA'] =substr($a, 294, 2 ); // Tranche de CA
|
|
$tabEve['insTYPCREH'] =substr($a, 296, 2 ); // Nature de la mise à jour ou type de création hebdo TYPCREH
|
|
$tabEve['insFiller1'] =substr($a, 298, 8 ); //
|
|
$tabEve['insEVE'] =substr($a, 306, 2 ); // Type d'événement dans la vie de l'entreprise
|
|
$tabEve['insDATEVE'] =substr($a, 308, 8 ); // Date de l'événement déclaré
|
|
$tabEve['insTRAN'] =substr($a, 316, 1 ); // En cas de transfert, situation de l'établissement (Départ ou Arrivée)
|
|
$tabEve['insNICTRAN'] =substr($a, 317, 5 ); // NIC de l'établissement lié par le transfert : Arrivée ANIC ou Départ DNIC
|
|
$tabEve['insMNICSIEGE'] =substr($a, 322, 1 ); // Indicateur de Transfert de siège
|
|
$tabEve['insMNOMEN'] =substr($a, 323, 1 ); // MAJ du nom de l'entreprise
|
|
$tabEve['insMCJ'] =substr($a, 324, 1 ); // MAJ de la CJ
|
|
$tabEve['insMAPEN'] =substr($a, 325, 1 ); // MAJ de l'activité SIREN
|
|
$tabEve['insFiller2'] =substr($a, 326, 1 ); //
|
|
$tabEve['insFiller3'] =substr($a, 327, 1 ); //
|
|
$tabEve['insMMARCHEN'] =substr($a, 328, 1 ); // MAJ du caractère marchand SIREN
|
|
$tabEve['insMORDIN'] =substr($a, 329, 1 ); // MAJ ordin
|
|
$tabEve['insEFENCENT'] =substr($a, 330, 6 ); // Effectif approché de l'entreprise
|
|
$tabEve['insSIGLE'] =substr($a, 336, 20 ); // Sigle
|
|
$tabEve['insNBETEXPL'] =substr($a, 356, 4 ); // Nombre d'établissements ordianaires actifs
|
|
$tabEve['insNICSIEGE'] =substr($a, 360, 5 ); // NIC de l'établissement siège
|
|
$tabEve['insDEPCOMEN'] =substr($a, 365, 5 ); // Localisation géographique du siège
|
|
$insAACREN =substr($a, 370, 4 ); // Année de création de l'entreprise
|
|
$insMMCREN =substr($a, 374, 2 ); // Mois de création de l'entreprise
|
|
$insJJCREN =substr($a, 376, 2 ); // Jour de création de l'entreprise
|
|
$tabEve['insFiller4'] =substr($a, 378, 1 ); //
|
|
$tabEve['insMENSEIGNE'] =substr($a, 379, 1 ); // MAJ du nom de l'établissement
|
|
$tabEve['insMAPET'] =substr($a, 380, 1 ); // MAJ de l'activité SIRET
|
|
$tabEve['insMNATURE'] =substr($a, 381, 1 ); // MAJ code Nature SIRET
|
|
$tabEve['insMADRESSE'] =substr($a, 382, 1 ); // MAJ adresse SIRET
|
|
$tabEve['insMEFET'] =substr($a, 383, 1 ); // MAJ effectif SIRET
|
|
$tabEve['insMSINGT'] =substr($a, 384, 1 ); // MAJ singularité SIRET
|
|
$tabEve['insMTELT'] =substr($a, 385, 1 ); // MAJ Tél SIRET
|
|
$tabEve['insMMARCHET'] =substr($a, 386, 1 ); // MAJ caractère marchand SIRET
|
|
$tabEve['insMAUXILT'] =substr($a, 387, 1 ); // MAJ code auxiliarité SIRET
|
|
$tabEve['insSINGT'] =substr($a, 388, 2 ); // Singularité
|
|
$tabEve['insEFETCENT'] =substr($a, 390, 6 ); // Effectif approché de l'établissement
|
|
$tabEve['insSIRETPS'] =substr($a, 396, 14 ); // Siret du précédent exploitant
|
|
$tabEve['insDEPCOM'] =substr($a, 410, 5 ); // TOPO : Département commune de l'étab
|
|
$tabEve['insCODEVOIE'] =substr($a, 415, 5 ); // TOPO : Implantation code voie topographique de l'établissement
|
|
$tabEve['insDESTINAT'] =substr($a, 420, 2 ); // Destination
|
|
$tabEve['insDATEMAJ'] =substr($a, 422, 13 ); // Identifiant informatique = Date de MAJ
|
|
|
|
if ($insAACRET*1>0)
|
|
$dateCrea=$insAACRET; // Année de création de l'établissement
|
|
else $dateCrea='0000';
|
|
if ($insMMCRET*1>0)
|
|
$dateCreaET=$dateCrea.$insMMCRET; // Année de création de l'établissement
|
|
else $dateCreaET=$dateCrea.'01';
|
|
if ($insJJCRET*1>0)
|
|
$dateCreaET.=$insJJCRET; // Année de création de l'établissement
|
|
else $dateCreaET.='01';
|
|
|
|
if (($tabEve['insMMINTRET']*1)>0)
|
|
$dateImmatET=$dateCrea.$tabEve['insMMINTRET'].'01';
|
|
else
|
|
$dateImmatET='00000000';
|
|
|
|
if ($insAACREN*1>0)
|
|
$dateCreaEN=$insAACREN; // Année de création de l'établissement
|
|
else $dateCreaEN='0000';
|
|
if ($insMMCREN*1>0)
|
|
$dateCreaEN.=$insMMCREN; // Année de création de l'établissement
|
|
else $dateCreaEN.='01';
|
|
if ($insJJCREN*1>0)
|
|
$dateCreaEN.=$insJJCREN; // Année de création de l'établissement
|
|
else $dateCreaEN.='01';
|
|
/*
|
|
echo "Siret=$insSIREN $insNIC, Création Etab : $insJJCRET/$insMMCRET/$insAACRET / Entrep : $insJJCREN/$insMMCREN/$insAACREN. Eve le $insDATE=$insEVE".EOL;
|
|
if ($insMNOMEN) echo " ---> MAJ du nom de l'entreprise".EOL;
|
|
if ($insMCJ) echo " ---> MAJ de la CJ".EOL;
|
|
if ($insMAPEN) echo " ---> MAJ de l'activité SIREN".EOL;
|
|
if ($insMMARCHEN) echo " ---> MAJ du caractère marchand SIREN".EOL;
|
|
if ($insMORDIN) echo " ---> MAJ ordin".EOL;
|
|
if ($insMNOMET) echo " ---> MAJ du nom de l'établissement".EOL;
|
|
if ($insMAPET) echo " ---> MAJ de l'activité SIRET".EOL;
|
|
if ($insMNATURE) echo " ---> MAJ code Nature SIRET".EOL;
|
|
if ($insMADRESSE) echo " ---> MAJ adresse SIRET".EOL;
|
|
if ($insMEFET) echo " ---> MAJ effectif SIRET".EOL;
|
|
if ($insMSINGT) echo " ---> MAJ singularité SIRET".EOL;
|
|
if ($insMTELT) echo " ---> MAJ Tél SIRET".EOL;
|
|
if ($insMMARCHET) echo " ---> MAJ caractère marchand SIRET".EOL;
|
|
if ($insMAUXILIAR) echo " ---> MAJ code auxiliarité SIRET".EOL;
|
|
*/
|
|
$insSIREN=$tabEve['insSIREN'];
|
|
$insNIC=$tabEve['insNIC'];
|
|
|
|
if (!$iInsee->valideSiren($insSIREN,$insNIC)) {
|
|
$tabEve['siretValide']=0;
|
|
$nbSiretInvalides++;
|
|
}
|
|
else
|
|
$tabEve['siretValide']=1;
|
|
|
|
$insNOMEN=$tabEve['insNOMEN'];
|
|
$tabNoms=getNomPrenom($insNOMEN);
|
|
$tabEve['dirNom']=$tabNoms['Nom'];
|
|
$tabEve['dirNomUsage']=$tabNoms['NomUsage'];
|
|
$tabEve['dirPrenom']=$tabNoms['Prenom'];
|
|
|
|
$tabEve['insDCRET']=$dateCreaET;
|
|
$tabEve['insDCREN']=$dateCreaEN;
|
|
|
|
if ($modeDebug)
|
|
echo "Siret=$insSIREN $insNIC : $insNOMEN. Eve le ".$tabEve['insDATE'].'='.$tabEve['insEVE'].EOL;
|
|
|
|
if (trim($insSIREN)<>'' && trim($insNIC)<>'') {
|
|
$finFichier=false;
|
|
$ret=$iDb->insert($db_table, $tabEve);
|
|
if ($ret===false) {
|
|
echo date ('Y/m/d - H:i:s') . " - ERREUR n°". mysql_errno()." à l'insertion du siret $insSIREN $insNIC : ".mysql_error().'!'.EOL;
|
|
flush();
|
|
}
|
|
} else $finFichier=true;
|
|
/* if ($tabErreur) {
|
|
echo date ('Y/m/d - H:i:s') . " - ATTENTION, ligne $nbLignes, problèmes pour le siret $insSIREN $insNIC !!!\r\n";
|
|
print_array($tabErreur,0,"txt");
|
|
flush();
|
|
}
|
|
*/
|
|
//unset($tabDataToInsert);
|
|
}
|
|
fclose ($fp);
|
|
|
|
/*
|
|
$strUpdate='';
|
|
|
|
for ($j=$nbFichiers+1; isset($tabFichDate[$j]); $j++)
|
|
$strUpdate.=$tabFichDate[$j].';';
|
|
$tabDataToUpdate=array( 'VALEUR'=>$strUpdate,
|
|
'CLE'=>'INSEE_FICHIERS_MAJ');
|
|
// $iparam->setParamValeur($tabDataToUpdate);
|
|
|
|
$totI=$vmajS+$vmajC+$vmajF;
|
|
$totS=$vmajE+$vmajI;
|
|
|
|
$messageInsertion.="Résumé du traitement du fichier n°$nbFichiers=$nomFichier du mois de $moisFichier !\r\n\r\n";
|
|
$messageInsertion.="Nombre de nouvelles insertion: ".$totI."\r\n";
|
|
$messageInsertion.=" - dont Changement de siège: ".$vmajS."\r\n";
|
|
$messageInsertion.=" - dont Entrée d'un SIRET - Immatriculation d'un nouvel établissement: ".$vmajC."\r\n";
|
|
$messageInsertion.=" - dont Etat final d'un SIRET modifié (après mise à jour): ".$vmajF."\r\n";
|
|
|
|
$messageSuppression.="Nombre de suppression: ".$totS."\r\n";
|
|
$messageSuppression.=" - dont Suppression d'un SIRET - Cessation d'activité d'un établissement: ".$vmajE."\r\n";
|
|
$messageSuppression.=" - dont Etat initial d'un SIRET modifié (avant mise à jour): ".$vmajI."\r\n\r\n";
|
|
|
|
echo date ('Y/m/d - H:i:s') ." - Nombre de nouvelles insertion: ".$totI."\r\n";
|
|
echo date ('Y/m/d - H:i:s') ." - | dont Changement de siège: ".$vmajS."\r\n";
|
|
echo date ('Y/m/d - H:i:s') ." - | dont Entrée d'un SIRET ou Immatriculation d'un nouvel établissement: ".$vmajC."\r\n";
|
|
echo date ('Y/m/d - H:i:s') ." - | dont Etat final d'un SIRET modifié (après mise à jour): ".$vmajF."\r\n";
|
|
echo date ('Y/m/d - H:i:s') ." - Nombre de suppression: ".$totS."\r\n";
|
|
echo date ('Y/m/d - H:i:s') ." - | dont Suppression d'un SIRET ou Cessation d'activité d'un établissement: ".$vmajE."\r\n";
|
|
echo date ('Y/m/d - H:i:s') ." - | dont Etat initial d'un SIRET modifié (avant mise à jour): ".$vmajI."\r\n";
|
|
echo date ('Y/m/d - H:i:s') ." - Fin du traitement du fichier n°$nbFichiers=$nomFichier du mois de $moisFichier !\r\n\r\n";
|
|
flush();
|
|
*/
|
|
}
|
|
echo date ('Y/m/d - H:i:s') . " - $nbLignes lignes traitées dont $nbSiretInvalides siret invalides !".EOL;
|
|
echo date ('Y/m/d - H:i:s') . " - Fin correcte du traitement.".EOL;
|
|
die();
|
|
|
|
/*
|
|
echo date ('Y/m/d - H:i:s')." - Création des index de recherche...\n";
|
|
|
|
$ret=$iDb->query("ALTER TABLE $db_table ADD INDEX idxSiret(insSIREN, insNIC);");
|
|
$ret=$iDb->query("ALTER TABLE $db_table ADD INDEX (insSIEGE);");
|
|
$ret=$iDb->query("ALTER TABLE $db_table ADD INDEX (insAPET700);");
|
|
$ret=$iDb->query("ALTER TABLE $db_table ADD INDEX (insAPET31);");
|
|
$ret=$iDb->query("ALTER TABLE $db_table ADD INDEX (insCJ);");
|
|
$ret=$iDb->query("ALTER TABLE $db_table ADD INDEX (insAPEN700);");
|
|
$ret=$iDb->query("ALTER TABLE $db_table ADD INDEX (insAPEN31);");
|
|
$ret=$iDb->query("ALTER TABLE $db_table ADD INDEX (SPEACT);");
|
|
$ret=$iDb->query("ALTER TABLE $db_table ADD INDEX (SORLJ_N);");
|
|
$ret=$iDb->query("ALTER TABLE $db_table ADD INDEX (SOEVT);");
|
|
$ret=$iDb->query("ALTER TABLE $db_table ADD INDEX (SOETEL);");
|
|
$ret=$iDb->query("ALTER TABLE $db_table ADD INDEX (SOEFAX);");
|
|
|
|
echo date ('Y/m/d - H:i:s')." - Création des index de recherche terminée !\n";
|
|
*/
|
|
// Mise à jour de la table PARAM
|
|
// -----------------------------
|
|
// 3 - pour la fin d'exécution du traitement en cours
|
|
/* $tabDataToUpdate=array('VALEUR'=>0,
|
|
'CLE'=>'INSEE_MAJ_ENCOURS');
|
|
// $iparam->setParamValeur($tabDataToUpdate);
|
|
$heureFin=date('H:i:s');
|
|
|
|
$tabDataToUpdateTraitement=array('NUM'=>$numScript,
|
|
'DATE_JOUR'=>$dateJour,
|
|
'HEURE_DEBUT'=>$heureDebut,
|
|
'HEURE_FIN'=>$heureFin,
|
|
'CODE_RETOUR'=>1,
|
|
'NB_MAIL'=>1,
|
|
'RESUME_EXEC'=>"traitement achevé correctement");
|
|
// $itraitement->setTraitement($tabDataToUpdateTraitement);
|
|
|
|
$tabDataMail= array('MAIL_OBJET'=>$sujetMail,
|
|
'MAIL_CORPS'=>"Traitement correct: \r\n".$messageInsertion."\r\n ".$messageSuppression."\r\n");
|
|
// $emailBatch=new EMailBatch($tabDataMail);
|
|
// $emailBatch->mailBatica($numScript);
|
|
echo date ('Y/m/d - H:i:s') . " - Fin correcte du traitement.\r\n";
|
|
exit();
|
|
|
|
function ecrireFichier($fichier,$texte){
|
|
$fp = fopen($fichier, "a");
|
|
fwrite($fp, $texte."\r\n");
|
|
fclose ($fp);
|
|
}
|
|
|
|
function valideSiret($SIRET) {
|
|
if (!is_numeric($SIRET))
|
|
return false;
|
|
|
|
$somme=0;
|
|
for ($i=0; $i<=12; $i+=2) { // Traitement PAIR
|
|
$var_tmp=(string)(2*((integer)substr($SIRET,$i,1)));
|
|
$som_tmp=0;
|
|
for($j=0;$j<strlen($var_tmp);$j++)
|
|
$som_tmp+=(integer)substr($var_tmp,$j,1);
|
|
$somme+=$som_tmp;
|
|
}
|
|
for ($i=1; $i<=13; $i+=2) // Traitement IMPAIR
|
|
$somme+=(integer)substr($SIRET,$i,1);
|
|
|
|
if ((integer)($somme/10)!=($somme/10))
|
|
return false;
|
|
|
|
return true;
|
|
}
|
|
*/
|
|
|
|
?>
|