Subversion Repositories eFlore/Applications.cel

Rev

Rev 996 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 996 Rev 1081
Line 132... Line 132...
132
                    $line[$colonne]=$selection;
132
                    $line[$colonne]=$selection;
133
                    break;
133
                    break;
Line 134... Line 134...
134
 
134
 
135
            }
135
            }
136
        } 
-
 
137
 
-
 
138
//	print_r($line[COMMUNE]);
-
 
139
//		print_r($line[LIEUDIT]);
-
 
140
//		print_r($line[STATION]);
-
 
141
//		print_r($line[MILIEU]);
-
 
142
//		print_r($line[DEPARTEMENT]);
-
 
143
//		print_r($line[LATITUDE]);
-
 
144
//		print_r($line[LONGITUDE]);
-
 
145
//		print_r($line[NOTES]);
-
 
146
//		print_r($line[DATEOBS]);
-
 
147
//		print_r($line[ESPECE]);
-
 
148
//		print_r($line[IMAGE]);
-
 
149
	
-
 
150
 
136
        } 
151
// 1 : Traitement lignes
-
 
152
 
137
		// 1 : Traitement lignes
153
		$cpt_obs=0;
138
		$cpt_obs=0;
Line 154... Line -...
154
		$cpt_img=0;
-
 
155
 
139
		$cpt_img=0;
156
 
-
 
157
        /* Recherche dernier numero d'ordre utilise : pas de mise a jour concurente a priori */
-
 
158
 
140
 
159
 
141
        /* Recherche dernier numero d'ordre utilise : pas de mise a jour concurente a priori */
Line 160... Line 142...
160
        $DB=$this->connectDB($this->config,'database_cel'); 
142
        $DB=$this->connectDB($this->config,'database_cel'); 
161
        $query="SELECT MAX(ordre) AS ordre FROM cel_inventory WHERE identifiant='".$DB->escapeSimple($pairs['utilisateur'])."' ";
143
        $query="SELECT MAX(ordre) AS ordre FROM cel_inventory WHERE identifiant='".$DB->escapeSimple($pairs['utilisateur'])."' ";
Line 198... Line 180...
198
				}	
180
				}	
199
			}
181
			}
Line 200... Line 182...
200
			
182
			
201
	
-
 
202
		}
183
	
Line 203... Line 184...
203
		//print $cpt_obs ." nouvelle(s) observation(s) !";
184
		}
204
		$message = '';
185
		$message = '';
205
		
186
		
Line 224... Line 205...
224
		
205
		
225
		if($i < 1) {
206
		if($i < 1) {
226
			$ligne_identique_sauf_image = false;
207
			$ligne_identique_sauf_image = false;
Line -... Line 208...
-
 
208
		} else {
227
		} else {
209
			
228
			
210
			if($colonne!= IMAGE && isset($line[$colonne]) && isset($line[$colonne][$i - 1]) && isset($line[$colonne][$i]) 
229
			if($colonne!= IMAGE && $line[$colonne][$i - 1] != $line[$colonne][$i] && $line[$colonne][$i] != '') {
211
				&& $line[$colonne][$i - 1] != $line[$colonne][$i] && $line[$colonne][$i] != '') {
230
				$ligne_identique_sauf_image = false;
212
				$ligne_identique_sauf_image = false;
Line 231... Line 213...
231
			}
213
			}
Line 310... Line 292...
310
		}
292
		}
311
		else {	
293
		else {	
312
		 	switch($colonne) {
294
		 	switch($colonne) {
313
				case COMMUNE:
295
				case COMMUNE:
314
					$info_commune['name']="000null";
296
					$info_commune['name']="000null";
315
					$info_commune['code']="000null";
-
 
316
					break;
297
					break;
317
				case LIEUDIT:
298
				case LIEUDIT:
318
					$info_lieudit="000null";
299
					$info_lieudit="000null";
319
					break;
300
					break;
320
				case STATION:
301
				case STATION:
Line 322... Line 303...
322
					break;
303
					break;
323
				case MILIEU:
304
				case MILIEU:
324
					$info_milieu="000null";
305
					$info_milieu="000null";
325
					break;
306
					break;
326
				case DEPARTEMENT:
307
				case DEPARTEMENT:
327
		            /*if (!isset ($info_commune['code']) || $info_commune['code']=='') {
308
		            if (!isset ($info_commune['code']) || $info_commune['code']=='') {
328
					    $info_commune['code']="000null";
309
					    $info_commune['code']="000null";
329
                    }*/
310
                    }
330
					break;
311
					break;
331
				case LATITUDE:
312
				case LATITUDE:
332
					$info_latitude="000null";
313
					$info_latitude="000null";
333
					break;
314
					break;
334
				case LONGITUDE:
315
				case LONGITUDE:
335
					$info_longitude="000null";
316
					$info_longitude="000null";
336
					break;
317
					break;
-
 
318
				case NOTES:
-
 
319
					$info_notes='';
337
					
320
					break;
338
				case TRANSMETTRE:
321
				case TRANSMETTRE:
339
					$info_transmettre = "0";
322
					$info_transmettre = "0";
340
				break;
323
				break;
Line 341... Line 324...
341
 
324
 
Line 387... Line 370...
387
                } else {
370
                } else {
388
                	$this->cpt_images_liees++;
371
                	$this->cpt_images_liees++;
389
                }
372
                }
390
	}
373
	}
Line 391... Line -...
391
 
-
 
392
 
-
 
393
 
374
 
Line 394... Line 375...
394
		return $this->dernier_ordre;
375
		return $this->dernier_ordre;
Line 415... Line 396...
415
    	}
396
    	}
416
	}
397
	}
417
}
398
}
418
function traiterCommune($identifiant_commune) {  // Recherche correspondance sur nom, si pas unique, correspondance dep. sinon code insee
399
function traiterCommune($identifiant_commune) {  // Recherche correspondance sur nom, si pas unique, correspondance dep. sinon code insee
Line -... Line 400...
-
 
400
 
-
 
401
    $identifiant_commune=trim($identifiant_commune);
Line 419... Line -...
419
 
-
 
420
 
-
 
421
        $identifiant_commune=trim($identifiant_commune);
-
 
422
 
-
 
423
        $identifiant_commune=utf8_encode($identifiant_commune); // FIXME : devrait deja etre en utf8 a ce niveau
402
    $identifiant_commune=utf8_encode($identifiant_commune); // FIXME : devrait deja etre en utf8 a ce niveau
Line 424... Line 403...
424
 
403
 
Line 425... Line 404...
425
		preg_match('/(.*) \(([0-9][0-9]*)\)/',$identifiant_commune,$elements);
404
	preg_match('/(.*) \(([0-9][0-9]*)\)/',$identifiant_commune,$elements);
426
 
405
 
427
        $DB=$this->connectDB($this->config,'database_cel'); // FIXME regarder si opportun ici
406
    $DB=$this->connectDB($this->config,'database_cel'); // FIXME regarder si opportun ici
428
 
-
 
429
	if ($elements[1]) { // commune + departement : montpellier (34)
407
 
430
		$nom_commune=$elements[1];
-
 
431
		$code_commune=$elements[2];
408
	if (isset($elements[1])) { // commune + departement : montpellier (34)
432
 
409
		$nom_commune=$elements[1];
433
 	        $query="SELECT DISTINCT name, code  FROM locations WHERE name = '".$DB->escapeSimple($nom_commune)."' AND code ='".$DB->escapeSimple($code_commune)."'";
410
		$code_commune=$elements[2];
434
 
411
 	    $query="SELECT DISTINCT name, code  FROM locations WHERE name = '".$DB->escapeSimple($nom_commune)."' AND code ='".$DB->escapeSimple($code_commune)."'";
435
	}
412
	}
436
	else { // Code insee seul 
413
	else { // Code insee seul 
437
        preg_match('/([0-9][0-9]*)|(2A[0-9][0-9]*)|(2B[0-9][0-9]*)/',$identifiant_commune,$elements);
414
        preg_match('/([0-9][0-9]*)|(2A[0-9][0-9]*)|(2B[0-9][0-9]*)/',$identifiant_commune,$elements);
438
        if ($elements[1]) { // code insee  commune
415
        if (isset($elements[1])) { // code insee  commune
439
            $code_insee_commune=$elements[1];
416
            $code_insee_commune=$elements[1];
440
            $query="SELECT DISTINCT name, code  FROM locations WHERE insee_code ='".$DB->escapeSimple($code_insee_commune)."'";
417
            $query="SELECT DISTINCT name, code  FROM locations WHERE insee_code ='".$DB->escapeSimple($code_insee_commune)."'";
441
        }	
418
        }	
442
        else { // Commune seule (le departement sera recupere dans la colonne departement si elle est presente, on prend le risque ici de retourner une mauvaise
419
        else { // Commune seule (le departement sera recupere dans la colonne departement si elle est presente, on prend le risque ici de retourner une mauvaise
443
               // Commune
420
               // Commune
444
            preg_match('/(.*)/',$identifiant_commune,$elements);
421
            preg_match('/(.*)/',$identifiant_commune,$elements);
445
            if ($elements[1]) { // commune 
422
            if (isset($elements[1])) { // commune 
446
                $nom_commune=$elements[1];
423
                $nom_commune=$elements[1];
Line 453... Line 430...
453
            }
430
            }
454
        }
431
        }
455
	}
432
	}
Line 456... Line 433...
456
 
433
 
457
	$res =& $DB->query($query);
-
 
458
 
434
	$res =& $DB->query($query);
459
        if (DB::isError($res)) {
435
    if (DB::isError($res)) {
460
		 die($res->getMessage());
436
		 die($res->getMessage());
461
	}
-
 
462
 
-
 
463
	return $res->fetchrow(DB_FETCHMODE_ASSOC);
-
 
Line -... Line 437...
-
 
437
	}
464
 
438
	
-
 
439
	$commune_code = $res->fetchrow(DB_FETCHMODE_ASSOC);
-
 
440
	
-
 
441
	// cas de la commune introuvable dans le référentiel
-
 
442
	if(!is_array($commune_code) || count($commune_code) == 0) {
465
	
443
		$commune_code['name'] = fix_latin($identifiant_commune);
-
 
444
		$commune_code['code'] = '000null';
466
 
445
	}
Line 467... Line 446...
467
 
446
	return $commune_code;
Line 468... Line 447...
468
}
447
}
Line 494... Line 473...
494
	
473
	
495
	if(is_numeric($departement) && strlen($departement) == 4) {
474
	if(is_numeric($departement) && strlen($departement) == 4) {
496
		$departement = substr($departement,0,1);
475
		$departement = substr($departement,0,1);
497
		$departement = "0"+$departement;
476
		$departement = "0"+$departement;
-
 
477
	}
-
 
478
 
-
 
479
	if(is_numeric($departement) && $departement <= 9) {
-
 
480
		$departement = "0"+$departement;
498
	}
481
	}
499
	return utf8_encode(trim($departement));
482
	return utf8_encode(trim($departement));
Line 500... Line 483...
500
}
483
}
501
 
484
 
Line 538... Line 521...
538
 
521
 
Line 539... Line 522...
539
        $identifiant_espece=utf8_encode($identifiant_espece); // FIXME : devrait deja etre en utf8 a ce niveau
522
        $identifiant_espece=utf8_encode($identifiant_espece); // FIXME : devrait deja etre en utf8 a ce niveau
Line 540... Line 523...
540
 
523
 
Line 541... Line 524...
541
	    preg_match('/BDNFFnn([0-9][0-9]*)/',$identifiant_espece,$elements);
524
	    preg_match('/BDNFFnn([0-9][0-9]*)/',$identifiant_espece,$elements);
542
	
525
	
543
		if ($elements[1]) { // Numero nomenclatural 
526
		if (isset($elements[1])) { // Numero nomenclatural 
Line 579... Line 562...
579
		}
562
		}
Line 580... Line 563...
580
 
563
 
581
		else { //  Numero taxonomique ou nom scientifique
564
		else { //  Numero taxonomique ou nom scientifique
Line 582... Line 565...
582
	        preg_match('/BDNFFnt([0-9][0-9]*)/',$identifiant_espece,$elements);
565
	        preg_match('/BDNFFnt([0-9][0-9]*)/',$identifiant_espece,$elements);
Line 583... Line 566...
583
			
566
			
Line 584... Line 567...
584
		    if ($elements[1]) { // Numero taxonomique
567
		    if (isset($elements[1])) { // Numero taxonomique
585
    
568