68,6 → 68,10 |
**/ |
function createElement($pairs) { |
|
if(!isset($pairs['utilisateur']) || trim($pairs['utilisateur']) == '') { |
echo '0'; exit; |
} |
|
if(!isset($_SESSION)) {session_start();} |
$this->controleUtilisateur($pairs['utilisateur']); |
|
145,8 → 149,8 |
$i++; |
} |
while (($this->analyserLigne($line,$i)==LIGNE_NORMALE) && ($i<=$rowcount)) { |
$ordre=$this->traiterLigne($line,$i,$pairs['utilisateur']); |
if ($ordre>0) { |
$id_obs = $this->traiterLigne($line,$i,$pairs['utilisateur']); |
if ($this->dernier_ordre > 0) { |
$cpt_obs++; // Compteur d'observations crees |
} |
$i++; |
153,7 → 157,7 |
// On saute les lignes vide ou on traite les lignes suivantes contenant des informations sur image seulement |
while ((in_array($retour_analyse=$this->analyserLigne($line,$i),array(LIGNE_IMAGE_SEULEMENT, LIGNE_VIDE))) && ($i<=$rowcount)) { |
if ($retour_analyse==LIGNE_IMAGE_SEULEMENT) { |
$this->traiterLigneComplement($line,$i,$pairs['utilisateur'],$ordre); // images supplementaires |
$this->traiterLigneComplement($line,$i,$pairs['utilisateur'],$id_obs); // images supplementaires |
} |
else { |
// print "vide"; |
220,11 → 224,13 |
$info_transmettre = "0"; |
$info_espece = array('en_id_nom' => '', |
'nom_sel' => '', |
'nom_sel_nn' => '', |
'nom_ret' => '', |
'nom_ret_nn' => '', |
'nt' => '', |
'famille' => '' |
); |
$info_commune = array('nom' => '', 'code' => ''); |
|
foreach ($this->format_observation as $colonne) { |
if (isset ($line[$colonne][$i]) && $line[$colonne][$i]!='') { |
242,7 → 248,10 |
$info_milieu = $this->traiterMilieu($line[MILIEU][$i]); |
break; |
case DEPARTEMENT: |
$info_commune['code'] = $this->traiterDepartement($line[DEPARTEMENT][$i]); |
$dpt = $this->traiterDepartement($line[DEPARTEMENT][$i]); |
if(is_numeric($dpt) && strlen($dpt == 5) && $info_commune['code'] == 'NULL') { |
$info_commune['code'] = $dpt; |
} |
break; |
case LATITUDE: |
$info_latitude = $this->traiterLatitude($line[LATITUDE][$i]); |
333,7 → 342,7 |
$this->proteger($info_espece['nt']).",". |
$this->proteger($info_espece['famille']).",". |
$this->proteger($info_commune['nom']).",". |
$this->proteger($info_commune['code']).",". |
$this->proteger('INSEE-C:'.$info_commune['code']).",". |
$this->proteger($info_dateobs).",". |
$this->proteger($info_lieudit).",". |
$this->proteger($info_station).",". |
346,11 → 355,15 |
|
$insertion = $this->executer($requete); |
|
$requete_id_obs = 'SELECT id_observation FROM cel_obs WHERE ordre = '.$this->proteger($this->dernier_ordre).' AND ce_utilisateur = '.$this->proteger($utilisateur); |
$resultat_id_obs = $this->requeter($requete_id_obs); |
|
$id_obs = $resultat_id_obs[0]['id_observation']; |
|
// creation lien image |
foreach ($info_image as $pic) { |
|
$requete_liaison = 'INSERT INTO cel_obs_images (id_image, id_utilisateur, id_observation ) VALUES ('.$this->proteger($pic['id_image']).','.$this->proteger($utilisateur).', '.$this->proteger($this->dernier_ordre).') ON DUPLICATE KEY UPDATE id_image = id_image '; |
|
|
$requete_liaison = 'INSERT INTO cel_obs_images (id_image, id_utilisateur, id_observation ) VALUES ('.$this->proteger($pic['id_image']).','.$this->proteger($utilisateur).', '.$id_obs.') ON DUPLICATE KEY UPDATE id_image = id_image '; |
$liaison = $this->executer($requete_liaison); |
if ($liaison !== false) { |
$this->cpt_images_liees++; |
359,15 → 372,15 |
} |
} |
|
return $this->dernier_ordre; |
return $id_obs; |
} |
|
function traiterLigneComplement($line,$i,$utilisateur, $ordre = null) { |
function traiterLigneComplement($line,$i,$utilisateur, $id_obs = null) { |
|
$info_image=$this->traiterImage($line[IMAGE][$i],$utilisateur); // Image separee par des / + utilisateur |
// creation lien image |
foreach ($info_image as $pic) { |
$requete = 'INSERT INTO cel_obs_images (id_image, id_utilisateur, id_observations) VALUES ('.$this->proteger($pic['id_image']).','.$this->proteger($utilisateur).', '.$this->proteger($this->dernier_ordre).') ON DUPLICATE KEY UPDATE id_image = id_image' ; |
$requete = 'INSERT INTO cel_obs_images (id_image, id_utilisateur, id_observation) VALUES ('.$this->proteger($pic['id_image']).','.$this->proteger($utilisateur).', '.$this->proteger($id_obs).') ON DUPLICATE KEY UPDATE id_image = id_image' ; |
$resultat_liaison = $this->executer($requete); |
if ($resultat_liaison !== false) { |
$this->cpt_images_liees++; |
443,12 → 456,7 |
|
function traiterDepartement($departement) { |
// texte libre |
if(is_numeric($departement) && strlen($departement) == 5) { |
$departement = substr($departement,0,2); |
} |
|
if(is_numeric($departement) && strlen($departement) == 4) { |
$departement = substr($departement,0,1); |
$departement = "0"+$departement; |
} |
|
455,6 → 463,7 |
if(is_numeric($departement) && $departement <= 9) { |
$departement = "0"+$departement; |
} |
|
return utf8_encode(trim($departement)); |
} |
|