Replaces search on sublocalities by search on postal codes, as gmaps sublocalities...
authorStéphane Jacob <sj@m4x.org>
Fri, 10 Jun 2011 14:16:51 +0000 (16:16 +0200)
committerStéphane Jacob <sj@m4x.org>
Fri, 10 Jun 2011 14:16:51 +0000 (16:16 +0200)
Signed-off-by: Stéphane Jacob <sj@m4x.org>
classes/direnum.php
classes/userfilter/conditions.inc.php
htdocs/javascript/search.js
include/ufbuilder.inc.php
modules/search.php
templates/search/adv.form.tpl

index 48fc3ba..793d742 100644 (file)
@@ -616,6 +616,12 @@ class DE_Sublocalities extends DE_AddressesComponents
     protected $ac_where  = 'profile_addresses_components.type = \'home\' AND FIND_IN_SET(\'sublocality\', profile_addresses_components_enum.types)';
 }
 
+class DE_Postalcodes extends DE_AddressesComponents
+{
+    protected $where = 'WHERE  FIND_IN_SET(\'postal_code\', profile_addresses_components_enum.types)';
+    protected $ac_where  = 'profile_addresses_components.type = \'home\' AND FIND_IN_SET(\'postal_code\', profile_addresses_components_enum.types)';
+}
+
 // }}}
 
 /** JOBS
index ad4dfb2..149ee22 100644 (file)
@@ -1080,7 +1080,7 @@ abstract class UFC_Address extends UserFilterCondition
  */
 class UFC_AddressComponent extends UFC_Address
 {
-    static $components = array('sublocality', 'locality', 'administrative_area_level_3', 'administrative_area_level_2', 'administrative_area_level_1', 'country');
+    static $components = array('postal_code', 'locality', 'administrative_area_level_3', 'administrative_area_level_2', 'administrative_area_level_1', 'country');
 
     /** Data of the filter
      */
index ad700bc..6ad9c4a 100644 (file)
@@ -21,7 +21,7 @@
 // {{{ Page initialization
 
 var baseurl = $.plURL('search/');
-var address_types = new Array('country', 'administrative_area_level_1', 'administrative_area_level_2', 'locality', 'sublocality');
+var address_types = new Array('country', 'administrative_area_level_1', 'administrative_area_level_2', 'locality', 'postal_code');
 var address_types_count = address_types.length;
 
 function load_advanced_search(request)
@@ -45,7 +45,7 @@ function load_advanced_search(request)
                                    request['administrative_area_level_1'],
                                    request['administrative_area_level_2'],
                                    request['locality'],
-                                   request['sublocality'])
+                                   request['postal_code'])
         );
     } else {
         for (var i = 1; i < address_types_count; ++i) {
index 8c12a66..5d52807 100644 (file)
@@ -347,7 +347,7 @@ class UFB_AdvancedSearch extends UserFilterBuilder
             new UFBF_HasEmailRedirect('has_email_redirect', 'A une redirection active'),
             new UFBF_Dead('alive', 'En vie'),
 
-            new UFBF_AddressIndex('sublocality', 'Arrondissement', 'SUBLOCALITIES'),
+            new UFBF_AddressIndex('postal_code', 'Code postal', 'POSTALCODES'),
             new UFBF_AddressIndex('administrative_area_level_3', 'Canton', 'ADMNISTRATIVEAREAS3'),
             new UFBF_AddressIndex('administrative_area_level_2', 'Département', 'ADMNISTRATIVEAREAS2'),
             new UFBF_AddressIndex('administrative_area_level_1', 'Région', 'ADMNISTRATIVEAREAS1'),
index ff3d8b8..d3c9164 100644 (file)
@@ -314,7 +314,7 @@ class SearchModule extends PLModule
           case 'administrative_area_level_2':
           case 'locality':
             $page->assign('onchange', 'changeAddressComponents(\'' . $type . '\', this.value)');
-          case 'sublocality':
+          case 'postal_code':
             $ids = XDB::iterator("SELECT  pace1.id, pace1.long_name AS field
                                     FROM  profile_addresses_components_enum AS pace1
                               INNER JOIN  profile_addresses_components      AS pac1  ON (pac1.component_id = pace1.id)
index 4df0e1d..d1e8d20 100644 (file)
       <td><input type="text" class="autocomplete" name="locality_text" size="32" value="{$smarty.request.locality_text}" /></td>
     </tr>
     {include file="search/adv.form.address_component.tpl" description="Ville" name="locality" value=$smarty.request.locality}
-    {include file="search/adv.form.address_component.tpl" description="Arrondissement, quartier…" name="sublocality" value=$smarty.request.sublocality}
+    {include file="search/adv.form.address_component.tpl" description="Code postal" name="postal_code" value=$smarty.request.postal_code}
     <tr>
       <td colspan="2">
         <label for="only_current">