diff --git a/html/sirenage/index.php b/html/sirenage/index.php
new file mode 100644
index 00000000..bf2a8fbc
--- /dev/null
+++ b/html/sirenage/index.php
@@ -0,0 +1,650 @@
+select( 'sdv1.utilisateurs',
+ 'id, email',
+ "login='$user' AND password='$pwd' AND idClient IN (1,147) AND actif=1 AND deleted=0");
+$_SESSION['userId']=$tabTmp[0][0];
+$_SESSION['userMail']=$tabTmp[0][1];
+
+ if ( $_SESSION['userId'] ) {//&& $_SESSION['auth']) {
+ $authorized = true;
+ }
+} else {
+
+//if (isset($_GET["login"]) && (! $authorized)) {
+ header('WWW-Authenticate: Basic Realm="Login please"');
+ header('HTTP/1.0 401 Unauthorized');
+ $_SESSION['auth'] = true;
+ print('Login now or forever hold your clicks...');
+ exit;
+}
+
+if (!$authorized) {
+?>
you have echo ($authorized) ? '' : 'not'; ?> logged!
+} else {
+
+set_time_limit(1800);
+
+if (isset($_REQUEST['getFile']) && $_REQUEST['getFile']<>'') {
+ $tmp=explode('-', $_REQUEST['getFile']);
+ $idFlux=$tmp[1];
+ $idClient=$tmp[0];
+ $tabTmp=$iDb->select( 'jo.sirenage_clients',
+ 'refClient, nom, siren, IF(sirenValide>0,1,0) AS sirenValide, nic, IF(nicValide>0,1,0) AS nicValide, enseigne, adresse1, adresse2, adresse3, cp, ville, IF(sirenValide>0,IF(idSirenage>0,1,0),0) AS auto',
+ "idClient=$idClient AND idFlux=$idFlux");
+ header("Content-Type: application/csv-tab-delimited-table");
+ header("Content-disposition: filename=sirenageClient-$idClient-$idFlux.csv");
+ echo 'refClient, nom, siren, sirenValide, nic, nicValide, enseigne, adresse1, adresse2, adresse3, cp, ville, telephone, auto'.EOL;
+ foreach($tabTmp as $tmp) {
+ echo $tmp['refClient'].','.
+ $tmp['nom'].','.
+ $tmp['siren'].','.
+ $tmp['sirenValide'].','.
+ $tmp['nic'].','.
+ $tmp['nicValide'].','.
+ $tmp['enseigne'].','.
+ $tmp['adresse1'].','.
+ $tmp['adresse2'].','.
+ $tmp['adresse3'].','.
+ $tmp['cp'].','.
+ $tmp['ville'].','.
+ $tmp['telephone'].','.
+ $tmp['auto'].EOL;
+ }
+ die();
+} elseif (isset($_REQUEST['newFile']) && $_REQUEST['newFile']==1 && @!$_REQUEST['uploaded']) {
+ ?>
+Mettre en sirenage client un fichier CSV (séparateur virgule)
+La première ligne du fichier doit contenir les noms de zones avec au moins les zones :
+refClient, nom, siren, nic, enseigne, adresse1, adresse2, adresse3, cp, ville
+Les champs en gras sont obligatoires
+Avec :
+- refClient = référence communiqué par le client (unique par ligne de sirenage)
+- nom = raison sociale, nom ou sigle de l'entreprise
+- siret, siren, nic = Siren ou Siret (facultatif)
+- enseigne = enseigne de l'établissement (facultatif)
+- adresse1, adresse2, adresse3 = lignes d'adresse de l'établissement
+- cp = code postal de l'établissement
+- ville = ville de l'établissement
+- telephone = téléphone de l'établissement
+
+
+
+Liste des sirenage client en cours/terminés :
+
+Ref | Nom du client | Volume restant/Total (Manuel) | Début | Fin |
+select( 'jo.sirenage_clients',
+ 'idClient, idFlux, DATE(dateInsert) as dateDeb, DATE(dateUpdate) as dateFin, COUNT(*) AS nbLignes,
+ SUM(IF(idSirenage>0,1,0)) AS sirenageMan, SUM(IF(sirenValide>0,1,0)) AS sirenValide',
+ '1 GROUP BY idClient, idFlux ORDER BY dateDeb');
+foreach($tabTmp as $tmp) {
+ $idFlux=$tmp['idFlux'];
+ $idClient=$tmp['idClient'];
+ $nom=$tabClients[$idClient];
+ $nb=$tmp['nbLignes'];
+ $sirenManuel=$tmp['sirenageMan'];
+ $sirenValide=$tmp['sirenValide'];
+ $sirenRestant=$nb-$sirenValide;
+ $deb=$tmp['dateDeb'];
+ $fin=$tmp['dateFin'];
+ echo "$idClient-$idFlux | $nom | $sirenRestant / $nb ($sirenManuel) | $deb | $fin |
";
+}
+ echo "
$titre) {
+ switch (strtoupper(strtr($titre, array('"'=>'', "'"=>'')))) {
+ case 'NOM': $pos['NOM']=$j; break;
+ case 'SIREN': $pos['SIREN']=$j; break;
+ case 'SIRET': $pos['SIRET']=$j; break;
+ case 'NIC': $pos['NIC']=$j; break;
+ case 'REFCLIENT': $pos['REFCLIENT']=$j; break;
+ case 'ENSEIGNE': $pos['ENSEIGNE']=$j; break;
+ case 'ADRESSE1': $pos['ADRESSE1']=$j; break;
+ case 'ADRESSE2': $pos['ADRESSE2']=$j; break;
+ case 'ADRESSE3': $pos['ADRESSE3']=$j; break;
+ case 'CP': $pos['CP']=$j; break;
+ case 'VILLE': $pos['VILLE']=$j; break;
+ case 'TELEPHONE': $pos['TELEPHONE']=$j; break;
+ default: break;
+ }
+ }
+ $nb=count($tabFich);
+ echo "$csvFile : $nb lignes, le $dateHeure ($size Ko)
";
+ $strId=implode(', ', array_keys($pos));
+ $strPo=implode(', ', $pos);
+ echo "Colonnes $strId trouvées en positions $strPo
";
+}
+
+if (isset($_SESSION['csvFile']) && file_exists($_SESSION['csvFile']))
+ $csvFile=$_SESSION['csvFile'];
+elseif (!isset($csvFile))
+ $csvFile=$_REQUEST['csvFile'];
+
+ $tabFich=file($csvFile);
+
+ $mesError=$mesUpdate=$mesInsert=0;
+ $tabTmp=$iDb->select('sirenage_clients', 'MAX(idFlux)+1 AS newIdFlux','1', false, MYSQL_ASSOC);
+ $idFlux=$tabTmp[0]['newIdFlux'];
+ $idClient=$_REQUEST['idClient'];
+
+ $nbSirenValide=$nbNicValide=0;
+ $nbSirenExiste=$nbNicExiste=0;
+ $nbSirenAvalider=0;
+
+ echo "Client n°$idClient : référence du lot de sirenage $idClient-$idFlux
";
+
+ foreach ($tabFich as $i=>$ligne) {
+ $ligne=trim($ligne);
+ $str['data']=$str['etab']=$str['identite']=$str['notice']=$str['rncs_entrep']=$str['rncs_etab']=$str['infos']='';
+ if ($i==0) {
+ $lib=explode(',', $ligne);
+ foreach ($lib as $j=>$titre) {
+ switch (strtoupper(strtr($titre, array('"'=>'', "'"=>'')))) {
+ case 'NOM': $pos['NOM']=$j; break;
+ case 'SIRET': $pos['SIRET']=$j; break;
+ case 'SIREN': $pos['SIREN']=$j; break;
+ case 'NIC': $pos['NIC']=$j; break;
+ case 'REFCLIENT': $pos['REFCLIENT']=$j; break;
+ case 'ENSEIGNE': $pos['ENSEIGNE']=$j; break;
+ case 'ADRESSE1': $pos['ADRESSE1']=$j; break;
+ case 'ADRESSE2': $pos['ADRESSE2']=$j; break;
+ case 'ADRESSE3': $pos['ADRESSE3']=$j; break;
+ case 'CP': $pos['CP']=$j; break;
+ case 'VILLE': $pos['VILLE']=$j; break;
+ case 'TELEPHONE': $pos['TELEPHONE']=$j; break;
+ default: break;
+ }
+ }
+ }
+ else {
+ $cel=preg_split('/(,|;|\t)/', $ligne);
+ $cel2=array();
+ foreach ($cel as $idx=>$cell)
+ $cel2[$idx]=preg_replace('/(^"|"$)/','', trim($cell));
+ $cel=$cel2;
+
+ $siret=$cel[$pos['SIRET']];
+ $siren=$cel[$pos['SIREN']];
+ $nic=$cel[$pos['NIC']];
+ if ($siret*1>10000 && $siren*1==0 && $nic*1==0) {
+ $siren=substr(''.$siret,0,9);
+ $nic=substr(''.$siret,9,5);
+ }
+ if ($siren>0) $nbSirenIn++;
+ if ($nic>0) $nbNicIn++;
+ $refClient=$cel[$pos['REFCLIENT']];
+ $nom=$cel[$pos['NOM']];
+ $enseigne=$cel[$pos['ENSEIGNE']];
+ $adresse1=$cel[$pos['ADRESSE1']];
+ $adresse2=$cel[$pos['ADRESSE2']];
+ $adresse3=$cel[$pos['ADRESSE3']];
+ $cp=$cel[$pos['CP']];
+ $ville=$cel[$pos['VILLE']];
+ $telephone=$cel[$pos['TELEPHONE']];
+ //$tabSources[$source]++;
+ //$tabClients[$client]++;
+ //$tabEmails[$email]++;
+
+ $tabUnique["$idClient-$idFlux-$refClient"]++;
+ if ($tabUnique["$idClient-$idFlux-$refClient"]>1)
+ echo "Ligne $ligneAff : Doublon sur la clef '$idClient-$idFlux-$refClient' !
";
+ //if (@count($_POST['identite'])>0) {
+
+ $sirenValide=$nicValide=0;
+ $sirenExiste=$nicExiste=0;
+ if ($iInsee->valideSiren($siren, $nic)) {
+ $sirenValide=1;
+ $nicValide=1;
+ if ($siren>1000) $tabIdI=$iInsee->getIdentiteLight($siren, $nic);
+ } elseif ($iInsee->valideSiren($siren)) {
+ $sirenValide=1;
+ if ($siren>1000) $tabIdI=$iInsee->getIdentiteLight($siren);
+ }
+
+ if ($siren>1000 && $siren==$tabIdI['Siren']) $sirenExiste=1;
+ if ($nic>9 && $nic==$tabIdI['Nic']) $nicExiste=1;
+
+ $resirener=false;
+ if ($sirenExiste /*&& $nicExiste*/) {
+ $raisonSociale =trim(strtoupper(trimAccent(strtr($nom, array('/'=>' ','*'=>' ','('=>'', ')'=>'', '.'=>'', '-'=>'', "Nom d'usage"=>'', 'Pseudonyme'=>'', "'"=>'', ':'=>'',' Né '=>' ',' Née '=>' ','/ACHE/'=>' ','Précédent propriétaire'=>' ')))));
+ $raisonSociale=strtr($raisonSociale, array('SOCIETE EN LIQUIDATION'=>'', 'EN LIQUIDATION'=>'', 'SOCIETE A RESPONSABILITE LIMITEE'=>'SARL','DENOMINATION'=>'', 'SUCCESSION'=>''));
+ $raisonSocialeI=trim(strtoupper(strtr(trimAccent($tabIdI['Nom']), array('/'=>' ','*'=>' ','('=>'', ')'=>'', '.'=>'', '-'=>'', "Nom d'usage"=>'', "'"=>'', ':'=>''))));
+ $len =strlen($raisonSociale);
+ $tabMots=preg_split('/ +/', $raisonSociale);
+ $mots=count($tabMots);
+ $levI=levenshtein(str_replace(' ','',$raisonSociale),str_replace(' ','',$raisonSocialeI));
+ $delI=$levI/$len;
+ $lenI=strlen($raisonSocialeI);
+ $tabMotsI=preg_split('/ +/', $raisonSocialeI);
+ $motsI=count(array_diff($tabMots,$tabMotsI));
+ $diffI=$motsI/$mots;
+ if ($delI>=0.5 && $diffI>0.5) {
+ $tabIdR=$iRncs->getInfosEntrep($siren);
+ if (@$tabIdR['raisonSociale']=='') {
+ $resirener=true;
+ }
+ else {
+ $raisonSocialeR=trim(strtoupper(strtr(trimAccent($tabIdR['raisonSociale']), array('/'=>' ','*'=>' ','('=>'', ')'=>'', '.'=>'', '-'=>'', "Nom d'usage"=>'', "'"=>'', ':'=>''))));
+ $levR=levenshtein(str_replace(' ','',$raisonSociale),str_replace(' ','',$raisonSocialeR));
+ $delR=$levR/$len;
+ $tabMotsR=preg_split('/ +/', $raisonSocialeR);
+ $motsR=count(array_diff($tabMots,$tabMotsR));
+ $diffR=$motsR/$mots;
+ if ($delR>0.5 && $diffR>0.5)
+ $resirener=true;
+ }
+ }
+ if ($resirener) {
+ $nbSirenAvalider++;
+ $sirenValide=0;
+ $nicValide=0;
+ }
+ }
+ if ($sirenValide) $nbSirenValide++;
+ if ($sirenExiste) $nbSirenExiste++;
+ if ($nicValide) $nbNicValide++;
+ if (nicExiste) $nbNicExiste++;
+
+ $tabInsert=array( 'idClient' => $idClient,
+ 'idFlux' => $idFlux,
+ 'refClient' => $refClient,
+ 'nom' => $nom,
+ 'siren' => $siren,
+ 'nic' => $nic,
+ 'enseigne' => $enseigne,
+ 'adresse1' => $adresse1,
+ 'adresse2' => $adresse2,
+ 'adresse3' => $adresse3,
+ 'cp' => $cp,
+ 'ville' => $ville,
+ 'telephone' => $telephone,
+ 'sirenValide' => $sirenValide,
+ 'sirenExiste' => $sirenExiste,
+ 'nicValide' => $nicValide,
+ 'nicExiste' => $nicExiste,
+ 'idSirenage' => 0,
+ 'dateInsert' => $dateInsert,
+ );
+ //print_r($tabInsert);
+ //die();
+ if (!$iDb->insert('sirenage_clients', $tabInsert)) {
+ $mesError++;
+ echo "Ligne $ligneAff : $refClient, $nom, $siren, $nic - Erreur lors de la mise en sirenage ".mysql_error()."
";
+ } else $mesInsert++;
+ }
+ }
+ //fclose($fp);
+
+ $size=round(filesize($csvFile)/1024);
+ $dateHeure=date('d/m/Y H:i:s', filemtime($csvFile));
+
+ echo ''.$csvFile." $i lignes, le $dateHeure ($size Ko)
";
+ echo 'Sources :
';
+ foreach ($tabSources as $source=>$nb) {
+ echo "- Source '$source' : $nb lignes
";
+ }
+ echo 'Clients :
';
+ foreach ($tabClients as $login=>$nb) {
+ echo "- Login '$login' : $nb lignes
";
+ }
+ foreach ($tabEmails as $email=>$nb) {
+ echo "- Email '$email' : $nb lignes
";
+ }
+
+ echo "Mise en surveillance :
";
+ echo "- $mesInsert ajouts
";
+ echo "- $mesUpdate mises à jour
";
+ echo "- $mesError erreurs
";
+ echo "- $nbSirenIn siren en entrée et $nbNicIn nic en entrée
";
+ echo "- $nbSirenValide siren valides et $nbNicValide nic valides
";
+ echo "- $nbSirenExiste siren existants $nbNicExiste nic existants
";
+ echo "- $nbSirenAvalider siren communiqués avec Raison Sociale incohérente
";
+ echo "
";
+
+ ?>
+
Retourner à la page précédente
+
+//}
+?>
+
+
+}
+?>
\ No newline at end of file