Subversion Repositories eFlore/Applications.cel

Compare Revisions

Ignore whitespace Rev 1080 → Rev 1081

/trunk/jrest/services/InventoryImportExcel.php
134,29 → 134,11
 
}
}
// print_r($line[COMMUNE]);
// print_r($line[LIEUDIT]);
// print_r($line[STATION]);
// print_r($line[MILIEU]);
// print_r($line[DEPARTEMENT]);
// print_r($line[LATITUDE]);
// print_r($line[LONGITUDE]);
// print_r($line[NOTES]);
// print_r($line[DATEOBS]);
// print_r($line[ESPECE]);
// print_r($line[IMAGE]);
 
// 1 : Traitement lignes
 
// 1 : Traitement lignes
$cpt_obs=0;
$cpt_img=0;
 
 
/* Recherche dernier numero d'ordre utilise : pas de mise a jour concurente a priori */
 
 
$DB=$this->connectDB($this->config,'database_cel');
$query="SELECT MAX(ordre) AS ordre FROM cel_inventory WHERE identifiant='".$DB->escapeSimple($pairs['utilisateur'])."' ";
 
200,7 → 182,6
}
//print $cpt_obs ." nouvelle(s) observation(s) !";
$message = '';
if($this->cpt_images_liees > 0) {
226,7 → 207,8
$ligne_identique_sauf_image = false;
} else {
if($colonne!= IMAGE && $line[$colonne][$i - 1] != $line[$colonne][$i] && $line[$colonne][$i] != '') {
if($colonne!= IMAGE && isset($line[$colonne]) && isset($line[$colonne][$i - 1]) && isset($line[$colonne][$i])
&& $line[$colonne][$i - 1] != $line[$colonne][$i] && $line[$colonne][$i] != '') {
$ligne_identique_sauf_image = false;
}
}
312,7 → 294,6
switch($colonne) {
case COMMUNE:
$info_commune['name']="000null";
$info_commune['code']="000null";
break;
case LIEUDIT:
$info_lieudit="000null";
324,9 → 305,9
$info_milieu="000null";
break;
case DEPARTEMENT:
/*if (!isset ($info_commune['code']) || $info_commune['code']=='') {
if (!isset ($info_commune['code']) || $info_commune['code']=='') {
$info_commune['code']="000null";
}*/
}
break;
case LATITUDE:
$info_latitude="000null";
334,7 → 315,9
case LONGITUDE:
$info_longitude="000null";
break;
case NOTES:
$info_notes='';
break;
case TRANSMETTRE:
$info_transmettre = "0";
break;
389,8 → 372,6
}
}
 
 
 
return $this->dernier_ordre;
 
 
417,25 → 398,21
}
function traiterCommune($identifiant_commune) { // Recherche correspondance sur nom, si pas unique, correspondance dep. sinon code insee
 
$identifiant_commune=trim($identifiant_commune);
$identifiant_commune=utf8_encode($identifiant_commune); // FIXME : devrait deja etre en utf8 a ce niveau
 
$identifiant_commune=trim($identifiant_commune);
preg_match('/(.*) \(([0-9][0-9]*)\)/',$identifiant_commune,$elements);
 
$identifiant_commune=utf8_encode($identifiant_commune); // FIXME : devrait deja etre en utf8 a ce niveau
$DB=$this->connectDB($this->config,'database_cel'); // FIXME regarder si opportun ici
 
preg_match('/(.*) \(([0-9][0-9]*)\)/',$identifiant_commune,$elements);
 
$DB=$this->connectDB($this->config,'database_cel'); // FIXME regarder si opportun ici
 
if ($elements[1]) { // commune + departement : montpellier (34)
if (isset($elements[1])) { // commune + departement : montpellier (34)
$nom_commune=$elements[1];
$code_commune=$elements[2];
 
$query="SELECT DISTINCT name, code FROM locations WHERE name = '".$DB->escapeSimple($nom_commune)."' AND code ='".$DB->escapeSimple($code_commune)."'";
$query="SELECT DISTINCT name, code FROM locations WHERE name = '".$DB->escapeSimple($nom_commune)."' AND code ='".$DB->escapeSimple($code_commune)."'";
}
else { // Code insee seul
preg_match('/([0-9][0-9]*)|(2A[0-9][0-9]*)|(2B[0-9][0-9]*)/',$identifiant_commune,$elements);
if ($elements[1]) { // code insee commune
if (isset($elements[1])) { // code insee commune
$code_insee_commune=$elements[1];
$query="SELECT DISTINCT name, code FROM locations WHERE insee_code ='".$DB->escapeSimple($code_insee_commune)."'";
}
442,7 → 419,7
else { // Commune seule (le departement sera recupere dans la colonne departement si elle est presente, on prend le risque ici de retourner une mauvaise
// Commune
preg_match('/(.*)/',$identifiant_commune,$elements);
if ($elements[1]) { // commune
if (isset($elements[1])) { // commune
$nom_commune=$elements[1];
$nom_commune=trim($nom_commune);
$nom_commune=utf8_decode($nom_commune);
455,16 → 432,18
}
 
$res =& $DB->query($query);
 
if (DB::isError($res)) {
if (DB::isError($res)) {
die($res->getMessage());
}
 
return $res->fetchrow(DB_FETCHMODE_ASSOC);
 
 
 
$commune_code = $res->fetchrow(DB_FETCHMODE_ASSOC);
// cas de la commune introuvable dans le référentiel
if(!is_array($commune_code) || count($commune_code) == 0) {
$commune_code['name'] = fix_latin($identifiant_commune);
$commune_code['code'] = '000null';
}
return $commune_code;
}
 
function traiterLieudit($lieudit) { // texte libre
496,6 → 475,10
$departement = substr($departement,0,1);
$departement = "0"+$departement;
}
 
if(is_numeric($departement) && $departement <= 9) {
$departement = "0"+$departement;
}
return utf8_encode(trim($departement));
}
 
540,7 → 523,7
 
preg_match('/BDNFFnn([0-9][0-9]*)/',$identifiant_espece,$elements);
if ($elements[1]) { // Numero nomenclatural
if (isset($elements[1])) { // Numero nomenclatural
 
 
// Recherche du nom associe
581,7 → 564,7
else { // Numero taxonomique ou nom scientifique
preg_match('/BDNFFnt([0-9][0-9]*)/',$identifiant_espece,$elements);
if ($elements[1]) { // Numero taxonomique
if (isset($elements[1])) { // Numero taxonomique
$DB=$this->connectDB($this->config);