/trunk/jrest/services/Del.php |
---|
389,6 → 389,24 |
return mktime((int) $heure[0], (int) $heure[1], (int) $heure[2], (int) $date[1], (int) $date[2], (int) $date[0]); |
} |
protected function formaterChaineMinusculeSansAccents($chaine) { |
$chaine = $this->supprimerAccents($chaine); |
$chaine = str_replace(' ','_',$chaine); |
$chaine = str_replace('-','_',$chaine); |
return mb_strtolower($chaine); |
} |
protected function supprimerAccents($str, $charset='utf-8') { |
$str = htmlentities($str, ENT_NOQUOTES, $charset); |
$str = preg_replace('#&([A-za-z])(?:acute|cedil|circ|grave|orn|ring|slash|th|tilde|uml);#', '\1', $str); |
$str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str); // pour les ligatures e.g. 'œ' |
$str = preg_replace('#&[^;]+;#', '', $str); // supprime les autres caractères |
return $str; |
} |
protected function etreNull($valeur) { |
$etre_null = false; |
if ($valeur == '' || $valeur == null || $valeur == '000null' || $valeur == 'null' || $valeur == '*') { |
/trunk/jrest/services/Images.php |
---|
135,8 → 135,7 |
switch($critere) { |
case "recherche": |
$correspond = (substr($ligne_image->observation->ce_zone_geo, 0, 2) == $valeur) | |
$ligne_image->observation->ce_zone_geo == $valeur | |
$correspond = $this->correspondAChampDepartement($ligne_image, $valeur) | |
stristr($ligne_image->observation->nom_sel, $valeur) != '' | |
stristr($ligne_image->observation->nom_ret, $valeur) != '' | |
stristr($ligne_image->observation->nom_sel, $valeur) != '' | |
152,8 → 151,7 |
stristr($ligne_image->courriel_utilisateur, $valeur) != '' ; |
break; |
case "dpt": |
$correspond = (substr($ligne_image->observation->ce_zone_geo, 0, 2) == $valeur) | |
$ligne_image->observation->ce_zone_geo == $valeur; |
$correspond = $this->correspondAChampDepartement($ligne_image, $valeur); |
break; |
case "taxon": |
$correspond = stristr($ligne_image->observation->nom_sel, $valeur) != '' | |
192,6 → 190,30 |
return $correspond; |
} |
private function correspondAChampDepartement($ligne_image, $valeur) { |
$correspond = false; |
if(!is_numeric($valeur)) { |
$valeur = $this->obtenirCodeDepartementPourNom($valeur); |
} |
$correspond = (substr($ligne_image->observation->ce_zone_geo, 0, 2) == $valeur) | |
$ligne_image->observation->ce_zone_geo == $valeur; |
return $correspond; |
} |
private function obtenirCodeDepartementPourNom($nom) { |
$nom = $this->formaterChaineMinusculeSansAccents($nom); |
$tableau_communes = (array)$this->getTableauCorrespondanceDepartement(); |
$code = isset($tableau_communes[$nom]) ? $tableau_communes[$nom] : false; |
return $code; |
} |
private function getTableauCorrespondanceDepartement() { |
return json_decode(file_get_contents(realpath(dirname(__FILE__)).'/departementsmock.json')); |
} |
private function comparerObservations($image_a, $image_b) { |
$valeur_tri = null; |
/trunk/jrest/services/departementsmock.json |
---|
New file |
0,0 → 1,104 |
{ |
"ain": "01", |
"aisne": "02", |
"allier": "03", |
"alpes_de_haute_provence": "04", |
"hautes_alpes": "05", |
"alpes_maritimes": "06", |
"ardeche": "07", |
"ardennes": "08", |
"ariege": "09", |
"aube": "10", |
"aude": "11", |
"aveyron": "12", |
"bouches_du_rhone": "13", |
"calvados": "14", |
"cantal": "15", |
"charente": "16", |
"charente_maritime": "17", |
"cher": "18", |
"correze": "19", |
"corse_du_sud": "2A", |
"haute_corse": "2B", |
"cote_d'or": "21", |
"cotes_d'armor": "22", |
"creuse": "23", |
"dordogne": "24", |
"doubs": "25", |
"drome": "26", |
"eure": "27", |
"eure_et_loir": "28", |
"finistere": "29", |
"gard": "30", |
"haute_garonne": "31", |
"gers": "32", |
"gironde": "33", |
"herault": "34", |
"ille_et_vilaine": "35", |
"indre": "36", |
"indre_et_loire": "37", |
"isere": "38", |
"jura": "39", |
"landes": "40", |
"loir_et_cher": "41", |
"loire": "42", |
"haute_loire": "43", |
"loire_atlantique": "44", |
"loiret": "45", |
"lot": "46", |
"lot_et_garonne": "47", |
"lozere": "48", |
"maine_et_loire": "49", |
"manche": "50", |
"marne": "51", |
"haute_marne": "52", |
"mayenne": "53", |
"meurthe_et_moselle": "54", |
"meuse": "55", |
"morbihan": "56", |
"moselle": "57", |
"nievre": "58", |
"nord": "59", |
"oise": "60", |
"orne": "61", |
"pas_de_calais": "62", |
"puy_de_dome": "63", |
"pyrenees_atlantiques": "64", |
"hautes_pyrenees": "65", |
"pyrenees_orientales": "66", |
"bas_rhin": "67", |
"haut_rhin": "68", |
"rhone": "69", |
"haute_saone": "70", |
"saone_et_loire": "71", |
"sarthe": "72", |
"savoie": "73", |
"haute_savoie": "74", |
"paris": "75", |
"seine_maritime": "76", |
"seine_et_marne": "77", |
"yvelines": "78", |
"deux_sevres": "79", |
"somme": "80", |
"tarn": "81", |
"tarn_et_garonne": "82", |
"var": "83", |
"vaucluse": "84", |
"vendee": "85", |
"vienne": "86", |
"haute_vienne": "87", |
"vosges": "88", |
"yonne": "89", |
"territoire_de_belfort": "90", |
"essonne": "91", |
"hauts_de_seine": "92", |
"seine_saint_denis": "93", |
"val_de_marne": "94", |
"val_d'oise": "95", |
"guadeloupe": "971", |
"martinique": "972", |
"guyane": "973", |
"la_reunion": "974" |
} |
/trunk/jrest/services/Observations.php |
---|
123,8 → 123,7 |
switch($critere) { |
case "recherche": |
$correspond = (substr($ligne_observation->ce_zone_geo, 0, 2) == $valeur) | |
$ligne_observation->ce_zone_geo == $valeur | |
$correspond = $this->correspondAChampDepartement($ligne_observation, $valeur) | |
stristr($ligne_observation->nom_sel, $valeur) != '' | |
stristr($ligne_observation->nom_ret, $valeur) != '' | |
stristr($ligne_observation->nom_sel, $valeur) != '' | |
143,8 → 142,7 |
} |
break; |
case "dpt": |
$correspond = (substr($ligne_observation->ce_zone_geo, 0, 2) == $valeur) | |
$ligne_observation->ce_zone_geo == $valeur; |
$correspond = $this->correspondAChampDepartement($ligne_observation, $valeur); |
break; |
case "taxon": |
$correspond = stristr($ligne_observation->nom_sel, $valeur) != '' | |
187,6 → 185,30 |
return $correspond; |
} |
private function correspondAChampDepartement($ligne_image, $valeur) { |
$correspond = false; |
if(!is_numeric($valeur)) { |
$valeur = $this->obtenirCodeDepartementPourNom($valeur); |
} |
$correspond = (substr($ligne_observation->ce_zone_geo, 0, 2) == $valeur) | |
$ligne_observation->ce_zone_geo == $valeur; |
return $correspond; |
} |
private function obtenirCodeDepartementPourNom($nom) { |
$nom = $this->formaterChaineMinusculeSansAccents($nom); |
$tableau_communes = (array)$this->getTableauCorrespondanceDepartement(); |
$code = isset($tableau_communes[$nom]) ? $tableau_communes[$nom] : false; |
return $code; |
} |
private function getTableauCorrespondanceDepartement() { |
return json_decode(file_get_contents(realpath(dirname(__FILE__)).'/departementsmock.json')); |
} |
private function comparerObservations($observation_a, $observation_b) { |