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
//}
?>
}
?>