]> git.sur5r.net Git - contagged/blobdiff - index.php
contrib script for importing Thunderbird LDIF exports
[contagged] / index.php
index 8fdc91cb3752524e9ae4458c9c65d33beb09cd47..e41237a56767aaa3517a7df551707844fc55b468 100644 (file)
--- a/index.php
+++ b/index.php
@@ -25,7 +25,7 @@
   $list = '';
   if(count($result)==1 && $_REQUEST['search']){
     //only one result on a search -> display page
-    header("Location: entry.php?dn=".$result[0]['dn']);
+    header("Location: entry.php?dn=".rawurlencode($result[0]['dn']));
     exit;
   }elseif(count($result)){
     $keys = array_keys($result);
     if (empty($_REQUEST['search'])) { $_REQUEST['search']=''; }
     if (empty($_REQUEST['org'])) { $_REQUEST['org']=''; }
     if (empty($_REQUEST['marker'])) { $_REQUEST['marker']=''; }
+    if(is_numeric($_REQUEST['search'])) $number = $_REQUEST['search'];
     $filter = ldap_filterescape($_REQUEST['filter']);
     $search = ldap_filterescape($_REQUEST['search']);
     $org    = ldap_filterescape($_REQUEST['org']);
         $ldapfilter .= '('.$FIELDS['_marker'].'='.$m.')';
       }
       $ldapfilter .= ')';
+    }elseif($number){
+      // Search by telephone number
+      $filter = '';
+      // add wildcards between digits to compensate for any formatting
+      $length = strlen($number);
+      for($i=0; $i <$length; $i++){
+        $filter .= '*'.$number{$i};
+      }
+      $filter .= '*';
+      $ldapfilter = '(&'.
+                        '(objectClass=inetOrgPerson)'.
+                        '(|'.
+                            '(|'.
+                                '('.$FIELDS['phone'].'='.$filter.')'.
+                                '('.$FIELDS['homephone'].'='.$filter.')'.
+                            ')'.
+                            '('.$FIELDS['mobile'].'='.$filter.')'.
+                        ')'.
+                    ')';
     }elseif(!empty($search)){
       // Search name and organization
       $search = trim($search);