Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 1746 Rev 1765
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;