Adds phone number search
authorGuillaume Bandet <guillaume.bandet@polytechnique.org>
Mon, 16 Jun 2008 14:04:28 +0000 (16:04 +0200)
committerGuillaume Bandet <guillaume.bandet@polytechnique.org>
Thu, 10 Jul 2008 21:44:11 +0000 (23:44 +0200)
modules/search/classes.inc.php
modules/search/search.inc.php
templates/search/adv.form.tpl

index abb6e54..6eab490 100644 (file)
@@ -495,6 +495,26 @@ class RefSField extends SField
 // }}}
 
 // {{{ class RefSFieldMultipleTable
+class PhoneSField extends RefSField
+{
+    function PhoneSField($_fieldFormName, $_fieldDbName='', $_refTable, $_refAlias, $_refCondition)
+    {
+        $this->RefSField($_fieldFormName, $_fieldDbName, $_refTable, $_refAlias, $_refCondition, true);
+    }
+
+    function get_request()
+    {
+        require_once("profil.func.inc.php");
+        $this->value = trim(Env::v($this->fieldFormName));
+        $this->value = format_phone_number($this->value);
+    }
+
+    function compare()
+    {
+        return " LIKE '" . addslashes($this->value) . "%'";
+    }
+}
+
 class MapSField extends RefSField
 {
     var $mapId;
index 52575b5..e621ca2 100644 (file)
@@ -79,6 +79,7 @@ function advancedSearchFromInput()
     } else {
         $nwTypeField     = new RefSField('networking_type', array('nwe.name'), 'profile_networking_enum', 'nwe', 'nwe.network_type = nw.network_type', true);
     }
+    $nwPhoneField  = new PhoneSField('phone_number', array('t.search_tel'), 'telephone', 't', 't.uid=u.user_id');
     return array(
                 $nameField, $firstnameField, $nicknameField, $promo1Field,
                 $promo2Field, $womanField, $subscriberField, $aliveField,
@@ -86,7 +87,7 @@ function advancedSearchFromInput()
                 $posteField, $secteurField, $cvField, $natField, $binetField,
                 $groupexField, $sectionField, $schoolField, $diplomaField,
                 $freeField, $fonctionField, $nwAddressField, $nwTypeField,
-                $referentField);
+                $nwPhoneField, $referentField);
 }
 
 // }}}
index c1ef43a..5e61843 100644 (file)
@@ -405,6 +405,10 @@ checked="checked"{/if}/>Chercher uniquement les adresses où les camarades sont
       <td><input type="text" name="free" size="32" value="{$smarty.request.free}" /></td>
     </tr>
     <tr>
+      <td>Numéro de téléphone</td>
+      <td><input type="text" name="phone_number" size="32" value="{$smarty.request.phone_number}"/></td>
+    </tr>
+    <tr>
       <td colspan="2">Messageries, networking et sites webs</td>
     </tr>
     <tr>