Subversion Repositories eFlore/Applications.cel

Rev

Rev 1469 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1469 Rev 1527
Line 274... Line 274...
274
						break;
274
						break;
275
					case TRANSMETTRE:
275
					case TRANSMETTRE:
276
						$info_transmettre = $this->traiterTransmettre($line[TRANSMETTRE][$i]);
276
						$info_transmettre = $this->traiterTransmettre($line[TRANSMETTRE][$i]);
277
					break;
277
					break;
278
					case ESPECE:
278
					case ESPECE:
-
 
279
						// suppression des accents éventuels
-
 
280
						$line[ESPECE][$i] = remove_accent(cp1252_to_utf8($line[ESPECE][$i]));
279
						$resultat_recherche_espece = $this->chercheur_infos_taxon->rechercherInfosSurTexteCodeOuNumTax($line[ESPECE][$i]);
281
						$resultat_recherche_espece = $this->chercheur_infos_taxon->rechercherInfosSurTexteCodeOuNumTax($line[ESPECE][$i]);
280
	                    if (isset($resultat_recherche_espece['en_id_nom']) && $resultat_recherche_espece['en_id_nom'] != '') {
282
	                    if (isset($resultat_recherche_espece['en_id_nom']) && $resultat_recherche_espece['en_id_nom'] != '') {
281
	                    	$info_espece['nom_sel'] = $resultat_recherche_espece['nom_sel'];
283
	                    	$info_espece['nom_sel'] = $resultat_recherche_espece['nom_sel'];
282
	                    	$info_espece['nom_sel_nn'] = $resultat_recherche_espece['en_id_nom'];
284
	                    	$info_espece['nom_sel_nn'] = $resultat_recherche_espece['en_id_nom'];
283
	                        $complement = $this->chercheur_infos_taxon->rechercherInformationsComplementairesSurNumNom($resultat_recherche_espece['en_id_nom']);
285
	                        $complement = $this->chercheur_infos_taxon->rechercherInformationsComplementairesSurNumNom($resultat_recherche_espece['en_id_nom']);
Line 287... Line 289...
287
	                        $info_espece['famille'] = $complement['Famille'];
289
	                        $info_espece['famille'] = $complement['Famille'];
288
	                    } else {
290
	                    } else {
289
	                    	$info_espece['nom_sel'] = $line[ESPECE][$i];
291
	                    	$info_espece['nom_sel'] = $line[ESPECE][$i];
290
	                    }
292
	                    }
291
					case IMAGE:
293
					case IMAGE:
-
 
294
						if(isset($line[IMAGE])) {
292
						$info_image=$this->traiterImage($line[IMAGE][$i],$utilisateur); // Image separee par des / +  utilisateur
295
							$info_image=$this->traiterImage($line[IMAGE][$i],$utilisateur); // Image separee par des / +  utilisateur
-
 
296
						}
293
						break;
297
					break;
294
				}
298
				}
295
			}
299
			}
296
			else {	
300
			else {	
297
			 	switch($colonne) {
301
			 	switch($colonne) {
298
					case COMMUNE:
302
					case COMMUNE:
Line 383... Line 387...
383
	
387
	
384
		return $id_obs;
388
		return $id_obs;
Line 385... Line 389...
385
	}
389
	}
386
 
-
 
-
 
390
 
387
	function traiterLigneComplement($line,$i,$utilisateur, $id_obs = null) {
391
	function traiterLigneComplement($line,$i,$utilisateur, $id_obs = null) {
388
	
392
		if(isset($line[IMAGE])) {
389
		$info_image=$this->traiterImage($line[IMAGE][$i],$utilisateur); // Image separee par des / +  utilisateur	
393
			$info_image=$this->traiterImage($line[IMAGE][$i],$utilisateur); // Image separee par des / +  utilisateur	
390
		// creation lien image
394
			// creation lien image
391
		foreach ($info_image as $pic) {	
395
			foreach ($info_image as $pic) {	
392
			$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' ;	
396
				$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' ;	
393
			$resultat_liaison = $this->executer($requete);
397
				$resultat_liaison = $this->executer($requete);
394
	    	if ($resultat_liaison !== false) {
398
		    	if ($resultat_liaison !== false) {
395
	    		$this->cpt_images_liees++;
399
		    		$this->cpt_images_liees++;
396
	    	} else {
400
		    	} else {
-
 
401
		    		return false;
397
	    		return false;
402
		    	}
398
	    	}
403
			}
Line 399... Line 404...
399
		}
404
		}
400
	}
405
	}
Line 596... Line 601...
596
    }
601
    }
597
    return $outstr;
602
    return $outstr;
598
}
603
}
Line 599... Line 604...
599
 
604
 
-
 
605
function remove_accent($str) {
600
function remove_accent($str) {
606
  return supprimerAccents($str);
601
  $a = array('À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î',
607
  $a = array('À', 'Á', 'Â', 'Ã', 'Ä', 'Å', 'Æ', 'Ç', 'È', 'É', 'Ê', 'Ë', 'Ì', 'Í', 'Î',
602
             'Ï', 'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'ß',
608
             'Ï', 'Ð', 'Ñ', 'Ò', 'Ó', 'Ô', 'Õ', 'Ö', 'Ø', 'Ù', 'Ú', 'Û', 'Ü', 'Ý', 'ß',
603
             'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î',
609
             'à', 'á', 'â', 'ã', 'ä', 'å', 'æ', 'ç', 'è', 'é', 'ê', 'ë', 'ì', 'í', 'î',
604
             'ï', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', 'ø', 'ù', 'ú', 'û', 'ü', 'ý', 'ÿ', 'Ā',
610
             'ï', 'ñ', 'ò', 'ó', 'ô', 'õ', 'ö', 'ø', 'ù', 'ú', 'û', 'ü', 'ý', 'ÿ', 'Ā',
Line 627... Line 633...
627
             'y', 'Y', 'Z', 'z', 'Z', 'z', 'Z', 'z', 's', 'f', 'O', 'o', 'U', 'u', 'A', 'a', 'I',
633
             'y', 'Y', 'Z', 'z', 'Z', 'z', 'Z', 'z', 's', 'f', 'O', 'o', 'U', 'u', 'A', 'a', 'I',
628
             'i', 'O', 'o', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'A', 'a', 'AE', 'ae', 'O', 'o');
634
             'i', 'O', 'o', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'U', 'u', 'A', 'a', 'AE', 'ae', 'O', 'o');
629
  return str_replace($a, $b, $str);
635
  return str_replace($a, $b, $str);
630
}
636
}
Line -... Line 637...
-
 
637
 
-
 
638
//TODO: déplacer les fonctions ci dessus et dessous dans une classe
-
 
639
// utilitaire
-
 
640
function supprimerAccents($str, $charset = 'UTF-8')
-
 
641
{
-
 
642
	$str = htmlentities($str, ENT_NOQUOTES, $charset);
-
 
643
	$str = preg_replace('#&([A-za-z])(?:acute|cedil|circ|grave|orn|ring|slash|th|tilde|uml);#', '\1', $str);
-
 
644
	$str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str); // pour les ligatures e.g. 'œ'
-
 
645
	$str = preg_replace('#&[^;]+;#', '', $str); // supprime les autres caractères
-
 
646
 
-
 
647
	return $str;
-
 
648
}
631
 
649
 
632
function cp1252_to_utf8($str) {
650
function cp1252_to_utf8($str) {
633
	$cp1252_map = array ("\xc2\x80" => "\xe2\x82\xac",
651
	$cp1252_map = array ("\xc2\x80" => "\xe2\x82\xac",
634
		"\xc2\x82" => "\xe2\x80\x9a",
652
		"\xc2\x82" => "\xe2\x80\x9a",
635
		"\xc2\x83" => "\xc6\x92",    
653
		"\xc2\x83" => "\xc6\x92",