Line 133... |
Line 133... |
133 |
// 1 : Traitement lignes
|
133 |
// 1 : Traitement lignes
|
134 |
$cpt_obs=0;
|
134 |
$cpt_obs=0;
|
135 |
$cpt_img=0;
|
135 |
$cpt_img=0;
|
Line 136... |
Line 136... |
136 |
|
136 |
|
137 |
/* Recherche dernier numero d'ordre utilise : pas de mise a jour concurente a priori */
|
137 |
/* Recherche dernier numero d'ordre utilise : pas de mise a jour concurente a priori */
|
138 |
$requete = "SELECT MAX(ordre) AS ordre FROM cel_obs WHERE ce_utilisateur = ".$this->proteger($pairs['utilisateur'])." ";
|
138 |
$requete = "SELECT MAX(ordre) AS ordre FROM cel_obs WHERE ce_utilisateur = ".Cel::db()->proteger($pairs['utilisateur'])." ";
|
Line 139... |
Line 139... |
139 |
$resultat = $this->requeter($requete);
|
139 |
$resultat = Cel::db()->requeter($requete);
|
140 |
|
140 |
|
141 |
if(is_array($resultat) && count($resultat) > 0) {
|
141 |
if(is_array($resultat) && count($resultat) > 0) {
|
Line 339... |
Line 339... |
339 |
"nom_sel,nom_sel_nn,nom_ret,nom_ret_nn,nt,famille,".
|
339 |
"nom_sel,nom_sel_nn,nom_ret,nom_ret_nn,nt,famille,".
|
340 |
"zone_geo,ce_zone_geo,".
|
340 |
"zone_geo,ce_zone_geo,".
|
341 |
"date_observation,".
|
341 |
"date_observation,".
|
342 |
"lieudit,station, milieu, commentaire, transmission, ".
|
342 |
"lieudit,station, milieu, commentaire, transmission, ".
|
343 |
"date_creation,date_modification,latitude,longitude) ".
|
343 |
"date_creation,date_modification,latitude,longitude) ".
|
344 |
" VALUES(".$this->proteger($utilisateur).",".
|
344 |
" VALUES(".Cel::db()->proteger($utilisateur).",".
|
345 |
$this->proteger($this->utilisateur['prenom']).",".
|
345 |
Cel::db()->proteger($this->utilisateur['prenom']).",".
|
346 |
$this->proteger($this->utilisateur['nom']).",".
|
346 |
Cel::db()->proteger($this->utilisateur['nom']).",".
|
347 |
$this->proteger($this->utilisateur['courriel']).",".
|
347 |
Cel::db()->proteger($this->utilisateur['courriel']).",".
|
348 |
$this->proteger($this->dernier_ordre).",".
|
348 |
Cel::db()->proteger($this->dernier_ordre).",".
|
349 |
$this->proteger($info_espece['nom_sel']).",".
|
349 |
Cel::db()->proteger($info_espece['nom_sel']).",".
|
350 |
$this->proteger($info_espece['nom_sel_nn']).",".
|
350 |
Cel::db()->proteger($info_espece['nom_sel_nn']).",".
|
351 |
$this->proteger($info_espece['nom_ret']).",".
|
351 |
Cel::db()->proteger($info_espece['nom_ret']).",".
|
352 |
$this->proteger($info_espece['nom_ret_nn']).",".
|
352 |
Cel::db()->proteger($info_espece['nom_ret_nn']).",".
|
353 |
$this->proteger($info_espece['nt']).",".
|
353 |
Cel::db()->proteger($info_espece['nt']).",".
|
354 |
$this->proteger($info_espece['famille']).",".
|
354 |
Cel::db()->proteger($info_espece['famille']).",".
|
355 |
$this->proteger($info_commune['nom']).",".
|
355 |
Cel::db()->proteger($info_commune['nom']).",".
|
356 |
$this->proteger('INSEE-C:'.$info_commune['code']).",".
|
356 |
Cel::db()->proteger('INSEE-C:'.$info_commune['code']).",".
|
357 |
$this->proteger($info_dateobs).",".
|
357 |
Cel::db()->proteger($info_dateobs).",".
|
358 |
$this->proteger($info_lieudit).",".
|
358 |
Cel::db()->proteger($info_lieudit).",".
|
359 |
$this->proteger($info_station).",".
|
359 |
Cel::db()->proteger($info_station).",".
|
360 |
$this->proteger($info_milieu).",".
|
360 |
Cel::db()->proteger($info_milieu).",".
|
361 |
$this->proteger($info_notes).",".
|
361 |
Cel::db()->proteger($info_notes).",".
|
362 |
$this->proteger($info_transmettre).",".
|
362 |
Cel::db()->proteger($info_transmettre).",".
|
363 |
"now() , now(),".
|
363 |
"now() , now(),".
|
364 |
$this->proteger($info_latitude).",".
|
364 |
Cel::db()->proteger($info_latitude).",".
|
365 |
$this->proteger($info_longitude).")";
|
365 |
Cel::db()->proteger($info_longitude).")";
|
Line 366... |
Line 366... |
366 |
|
366 |
|
Line 367... |
Line 367... |
367 |
$insertion = $this->executer($requete);
|
367 |
$insertion = Cel::db()->executer($requete);
|
368 |
|
368 |
|
Line 369... |
Line 369... |
369 |
$requete_id_obs = 'SELECT id_observation FROM cel_obs WHERE ordre = '.$this->proteger($this->dernier_ordre).' AND ce_utilisateur = '.$this->proteger($utilisateur);
|
369 |
$requete_id_obs = 'SELECT id_observation FROM cel_obs WHERE ordre = '.Cel::db()->proteger($this->dernier_ordre).' AND ce_utilisateur = '.Cel::db()->proteger($utilisateur);
|
Line 370... |
Line 370... |
370 |
$resultat_id_obs = $this->requeter($requete_id_obs);
|
370 |
$resultat_id_obs = Cel::db()->requeter($requete_id_obs);
|
371 |
|
371 |
|
Line 372... |
Line 372... |
372 |
$id_obs = $resultat_id_obs[0]['id_observation'];
|
372 |
$id_obs = $resultat_id_obs[0]['id_observation'];
|
373 |
|
373 |
|
374 |
// creation lien image
|
374 |
// creation lien image
|
375 |
foreach ($info_image as $pic) {
|
375 |
foreach ($info_image as $pic) {
|
376 |
|
376 |
|
377 |
$requete_liaison = 'INSERT INTO cel_obs_images (id_image, id_observation ) VALUES ('.$this->proteger($pic['id_image']).', '.$id_obs.') ON DUPLICATE KEY UPDATE id_image = id_image ';
|
377 |
$requete_liaison = 'INSERT INTO cel_obs_images (id_image, id_observation ) VALUES ('.Cel::db()->proteger($pic['id_image']).', '.$id_obs.') ON DUPLICATE KEY UPDATE id_image = id_image ';
|
378 |
$liaison = $this->executer($requete_liaison);
|
378 |
$liaison = Cel::db()->executer($requete_liaison);
|
Line 389... |
Line 389... |
389 |
function traiterLigneComplement($line,$i,$utilisateur, $id_obs = null) {
|
389 |
function traiterLigneComplement($line,$i,$utilisateur, $id_obs = null) {
|
390 |
if(isset($line[IMAGE])) {
|
390 |
if(isset($line[IMAGE])) {
|
391 |
$info_image=$this->traiterImage($line[IMAGE][$i],$utilisateur); // Image separee par des / + utilisateur
|
391 |
$info_image=$this->traiterImage($line[IMAGE][$i],$utilisateur); // Image separee par des / + utilisateur
|
392 |
// creation lien image
|
392 |
// creation lien image
|
393 |
foreach ($info_image as $pic) {
|
393 |
foreach ($info_image as $pic) {
|
394 |
$requete = 'INSERT INTO cel_obs_images (id_image, id_observation) VALUES ('.$this->proteger($pic['id_image']).', '.$this->proteger($id_obs).') ON DUPLICATE KEY UPDATE id_image = id_image' ;
|
394 |
$requete = 'INSERT INTO cel_obs_images (id_image, id_observation) VALUES ('.Cel::db()->proteger($pic['id_image']).', '.Cel::db()->proteger($id_obs).') ON DUPLICATE KEY UPDATE id_image = id_image' ;
|
395 |
$resultat_liaison = $this->executer($requete);
|
395 |
$resultat_liaison = Cel::db()->executer($requete);
|
396 |
if ($resultat_liaison !== false) {
|
396 |
if ($resultat_liaison !== false) {
|
397 |
$this->cpt_images_liees++;
|
397 |
$this->cpt_images_liees++;
|
398 |
} else {
|
398 |
} else {
|
399 |
return false;
|
399 |
return false;
|
400 |
}
|
400 |
}
|
Line 409... |
Line 409... |
409 |
preg_match('/(.*) \(([0-9][0-9]*)\)/',$identifiant_commune,$elements);
|
409 |
preg_match('/(.*) \(([0-9][0-9]*)\)/',$identifiant_commune,$elements);
|
Line 410... |
Line 410... |
410 |
|
410 |
|
411 |
if (isset($elements[1])) { // commune + departement : montpellier (34)
|
411 |
if (isset($elements[1])) { // commune + departement : montpellier (34)
|
412 |
$nom_commune=$elements[1];
|
412 |
$nom_commune=$elements[1];
|
413 |
$code_commune=$elements[2];
|
413 |
$code_commune=$elements[2];
|
414 |
$requete="SELECT DISTINCT nom, code FROM cel_zones_geo WHERE nom = ".$this->proteger($nom_commune)." AND code LIKE ".$this->proteger($code_commune.'%');
|
414 |
$requete="SELECT DISTINCT nom, code FROM cel_zones_geo WHERE nom = ".Cel::db()->proteger($nom_commune)." AND code LIKE ".Cel::db()->proteger($code_commune.'%');
|
415 |
}
|
415 |
}
|
416 |
else { // Code insee seul
|
416 |
else { // Code insee seul
|
417 |
preg_match('/([0-9][0-9]*)|(2A[0-9][0-9]*)|(2B[0-9][0-9]*)/',$identifiant_commune,$elements);
|
417 |
preg_match('/([0-9][0-9]*)|(2A[0-9][0-9]*)|(2B[0-9][0-9]*)/',$identifiant_commune,$elements);
|
418 |
if (isset($elements[1])) { // code insee commune
|
418 |
if (isset($elements[1])) { // code insee commune
|
419 |
$code_insee_commune=$elements[1];
|
419 |
$code_insee_commune=$elements[1];
|
420 |
$requete="SELECT DISTINCT nom, code FROM cel_zones_geo WHERE code = ".$this->proteger($code_insee_commune);
|
420 |
$requete="SELECT DISTINCT nom, code FROM cel_zones_geo WHERE code = ".Cel::db()->proteger($code_insee_commune);
|
421 |
}
|
421 |
}
|
422 |
else { // Commune seule (le departement sera recupere dans la colonne departement si elle est presente, on prend le risque ici de retourner une mauvaise
|
422 |
else { // Commune seule (le departement sera recupere dans la colonne departement si elle est presente, on prend le risque ici de retourner une mauvaise
|
423 |
// Commune
|
423 |
// Commune
|
424 |
preg_match('/(.*)/',$identifiant_commune,$elements);
|
424 |
preg_match('/(.*)/',$identifiant_commune,$elements);
|
425 |
if (isset($elements[1])) { // commune
|
425 |
if (isset($elements[1])) { // commune
|
426 |
$nom_commune=$elements[1];
|
426 |
$nom_commune=$elements[1];
|
427 |
$nom_commune=trim($nom_commune);
|
427 |
$nom_commune=trim($nom_commune);
|
428 |
$nom_commune=iconv('UTF-8', 'ASCII//TRANSLIT', $nom_commune);
|
428 |
$nom_commune=iconv('UTF-8', 'ASCII//TRANSLIT', $nom_commune);
|
429 |
$nom_commune=preg_replace("/ /","%",$nom_commune);
|
429 |
$nom_commune=preg_replace("/ /","%",$nom_commune);
|
430 |
$requete="SELECT DISTINCT nom, code FROM cel_zones_geo WHERE nom like ".$this->proteger($nom_commune.'%');
|
430 |
$requete="SELECT DISTINCT nom, code FROM cel_zones_geo WHERE nom like ".Cel::db()->proteger($nom_commune.'%');
|
431 |
}
|
431 |
}
|
432 |
}
|
432 |
}
|
Line 433... |
Line 433... |
433 |
}
|
433 |
}
|
Line 434... |
Line 434... |
434 |
|
434 |
|
435 |
$resultat_commune = $this->requeter($requete);
|
435 |
$resultat_commune = Cel::db()->requeter($requete);
|
436 |
|
436 |
|
437 |
// cas de la commune introuvable dans le référentiel
|
437 |
// cas de la commune introuvable dans le référentiel
|
Line 508... |
Line 508... |
508 |
function traiterImage($images,$utilisateur) { // recherche id image de ce nom
|
508 |
function traiterImage($images,$utilisateur) { // recherche id image de ce nom
|
509 |
$liste_images = explode("/",$images) ;
|
509 |
$liste_images = explode("/",$images) ;
|
510 |
$row =array();
|
510 |
$row =array();
|
511 |
foreach($liste_images as $image) {
|
511 |
foreach($liste_images as $image) {
|
512 |
$image = iconv('UTF-8', 'ASCII//TRANSLIT', $image);
|
512 |
$image = iconv('UTF-8', 'ASCII//TRANSLIT', $image);
|
513 |
$requete = "SELECT * FROM cel_images WHERE ce_utilisateur = ".$this->proteger($utilisateur)." AND nom_original= ".$this->proteger($image);
|
513 |
$requete = "SELECT * FROM cel_images WHERE ce_utilisateur = ".Cel::db()->proteger($utilisateur)." AND nom_original= ".Cel::db()->proteger($image);
|
514 |
$ligne = $this->requeter($requete);
|
514 |
$ligne = Cel::db()->requeter($requete);
|
515 |
if(is_array($ligne) && !empty($ligne)) {
|
515 |
if(is_array($ligne) && !empty($ligne)) {
|
516 |
$row[] = $ligne[0];
|
516 |
$row[] = $ligne[0];
|
517 |
}
|
517 |
}
|
518 |
}
|
518 |
}
|
519 |
return $row;
|
519 |
return $row;
|