Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1697 Rev 1709
Line 717... Line 717...
717
	 * Retourne un tableau prêt à être utilisé par coordGuess(), c'est à dire initialisant toutes
717
	 * Retourne un tableau prêt à être utilisé par coordGuess(), c'est à dire initialisant toutes
718
	 * les clefs nécessaires (même si NULL) et disposant systématiquement d'un pays.
718
	 * les clefs nécessaires (même si NULL) et disposant systématiquement d'un pays.
719
	 * Cela à partir d'un tableau au format de clefs prédéterminé.
719
	 * Cela à partir d'un tableau au format de clefs prédéterminé.
720
	 * S'occupe du filtrage basique des éléments pour maximiser les chances de détection.
720
	 * S'occupe du filtrage basique des éléments pour maximiser les chances de détection.
721
	 *
721
	 *
722
	 * @param data: un tableau associatif contenant les clefs telles que nommées à l'issue du
722
	 * @param in: un tableau associatif contenant les clefs telles que nommées à l'issue du
-
 
723
	 * 				du formulaire de saisie: 'cs_adresse_01', 'cs_code_postal', 'cs_ville'
-
 
724
	 * @param db: une db optionnelle, utilisée si nécessaire pour converir les code pays
723
	 * 				du formulaire de saisie: 'cs_adresse_01', 'cs_code_postal', 'cs_ville'
725
	 * 				du formulaire de saisie: 'cs_adresse_01', 'cs_code_postal', 'cs_ville'
724
	 * @return un tableau associatif contenant une ou plusieurs des clefs suivantes:
726
	 * @return un tableau associatif contenant une ou plusieurs des clefs suivantes:
725
	 *			'adresse', 'cp', 'ville', 'pays'
727
	 *			'adresse', 'cp', 'ville', 'pays'
726
	 */
728
	 */
727
	static function addrReStruct(Array $in) {
729
	static function addrReStruct(Array $in, $db = NULL) {
728
		// TODO: fixer le bug des pays ...
730
        $pays = FALSE;
729
		if(is_numeric($in['cs_ce_truk_pays'])) {
731
		if(is_numeric(@$in['cs_ce_truk_pays'])) {
730
			switch($in['cs_ce_truk_pays']) {
-
 
731
			case '2654':
732
            if($db) {
732
				$pays = 'france';
733
                $pays= $db->query(sprintf(
733
				break;
-
 
734
			case '2717':
734
                    "SELECT cmlv_nom FROM coel_meta_liste_valeur ".
-
 
735
                    "WHERE cmlv_ce_parent = 1074 AND cmlv_id_valeur = %d",
735
				$pays = 'émirats arabe unis';
736
                    intval($in['cs_ce_truk_pays'])))->fetchColumn();
736
				break;
-
 
737
			default:
-
 
738
				$pays = '';
737
            }
739
			}
738
        }
740
		} else $pays = @trim($in['cs_ce_truk_pays']);
739
        else $pays = @trim($in['cs_ce_truk_pays']);
Line 741... Line 740...
741
 
740
 
742
		// pas de précision au n°, mais Nominatim peine avec des préfixes trop élaborés
741
		// pas de précision au n°, mais Nominatim peine avec des préfixes trop élaborés
743
		// coupons jusqu'à un élément reconnaissable s'il existe
742
		// coupons jusqu'à un élément reconnaissable s'il existe
744
		$adresse = @trim($in['cs_adresse_01']);
743
		$adresse = @trim($in['cs_adresse_01']);