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); |
|