]> git.sur5r.net Git - contagged/blobdiff - index.php
fixed search by tags
[contagged] / index.php
index 7fcf106a9d1dc464785e6d972cfd26ae3e8d0f0c..5a9ab819da54fab7dd2615819abf63be3d31c1bf 100644 (file)
--- a/index.php
+++ b/index.php
@@ -12,6 +12,8 @@
     $entrytpl = 'list_entry.tpl';
   }
 
+  tpl_std();
+
   // check which fields are needed
   $fields = get_fields_from_template($entrytpl);
 
@@ -37,7 +39,6 @@
   }
 
   //prepare templates
-  tpl_std();
   if (empty($_REQUEST['filter'])) $_REQUEST['filter']='';
   if (empty($_REQUEST['marker'])) $_REQUEST['marker']='';
   if (empty($_REQUEST['search'])) $_REQUEST['search']='';
@@ -94,6 +95,7 @@
    */
   function _makeldapfilter(){
     global $FIELDS;
+    global $conf;
 
     //handle given filter
 
 
     if(!empty($marker)){
       // Search by tag
-      $ldapfilter = '(&(objectClass=contactPerson)';
+      $ldapfilter = '(&( |(objectClass=evolutionPerson)(objectClass=contactPerson) )';
       $marker = explode(',',$marker);
       foreach($marker as $m){
         $m = trim($m);
       $words=preg_split('/\s+/',$search);
       $filter='';
       foreach($words as $word){
-        $filter .= '(|(|('.$FIELDS['name'].'=*'.$word.'*)('.
-                   $FIELDS['givenname'].'=*'.$word.'*))('.
-                   $FIELDS['organization'].'=*'.$word.'*))';
+        $wordfilter='';
+        foreach($conf['searchfields'] as $field) {
+          $wordfilter .= '('.$field.'=*'.$word.'*)';
+        }
+        for($i=0; $i <count($conf['searchfields']); $i++){
+          $wordfilter = '(|'.$wordfilter.')';
+        }
+        $filter .= '(&'.$wordfilter.')';
       }
       $ldapfilter = "(&(objectClass=inetOrgPerson)$filter)";
     }elseif(!empty($org)){