]> git.sur5r.net Git - contagged/blobdiff - index.php
fixed problem with Ajax tag editing
[contagged] / index.php
index 93954d4f19fa8ada557417972313c4d5fb927fbc..5bd4fca712ba37020553766e7bde7e8841b1b763 100644 (file)
--- a/index.php
+++ b/index.php
@@ -1,5 +1,6 @@
-<?
-  require_once('init.php');
+<?php
+
+  require_once('inc/init.php');
   ldap_login();
 
   //prepare filter
@@ -17,7 +18,7 @@
   }else{
     $result2 = '';
   }
-  
+
   $result = array_merge((array)$result1,(array)$result2);
 
   // select entry template
 
   //prepare templates
   tpl_std();
-  tpl_markers(); //FIXME not needed anymore!?
-  tpl_categories();
-  tpl_timezone();
-  tpl_country();
   if (empty($_REQUEST['filter'])) $_REQUEST['filter']='';
   if (empty($_REQUEST['marker'])) $_REQUEST['marker']='';
   if (empty($_REQUEST['search'])) $_REQUEST['search']='';
    */
   function _namesort($a,$b){
     global $result;
-    if (empty($result[$a]['givenName'])) { $result[$a]['givenName']=''; }
-    if (empty($result[$b]['givenName'])) { $result[$b]['givenName']=''; }
-    $x = $result[$a]['sn'][0].$result[$a]['givenName'][0];
-    $y = $result[$b]['sn'][0].$result[$b]['givenName'][0];
+    global $FIELDS;
+    if (empty($result[$a][$FIELDS['givenname']])) { $result[$a][$FIELDS['givenname']]=''; }
+    if (empty($result[$b][$FIELDS['givenname']])) { $result[$b][$FIELDS['givenname']]=''; }
+    $x = $result[$a][$FIELDS['name']][0].$result[$a][$FIELDS['givenname']][0];
+    $y = $result[$b][$FIELDS['name']][0].$result[$b][$FIELDS['givenname']][0];
     return(strcasecmp($x,$y));
   }
 
    * Creates an LDAP filter from given request variables search or filter
    */
   function _makeldapfilter(){
+    global $FIELDS;
+
     //handle given filter
 
     if (empty($_REQUEST['filter'])) { $_REQUEST['filter']=''; }
     if (empty($_REQUEST['search'])) { $_REQUEST['search']=''; }
     if (empty($_REQUEST['org'])) { $_REQUEST['org']=''; }
     if (empty($_REQUEST['marker'])) { $_REQUEST['marker']=''; }
-    if (empty($_REQUEST['categories'])) { $_REQUEST['categories']=''; }
     $filter = ldap_filterescape($_REQUEST['filter']);
     $search = ldap_filterescape($_REQUEST['search']);
     $org    = ldap_filterescape($_REQUEST['org']);
     $marker = ldap_filterescape($_REQUEST['marker']);
-    $categories = ldap_filterescape($_REQUEST['categories']);
     $_SESSION['ldapab']['filter'] = $_REQUEST['filter'];
     if(empty($filter)) $filter='a';
 
     if(!empty($marker)){
+      // Search by tag
       $ldapfilter = '(&(objectClass=contactPerson)';
       $marker = explode(',',$marker);
       foreach($marker as $m){
         $m = trim($m);
-        $ldapfilter .= "(marker=$m)";
+        $ldapfilter .= '('.$FIELDS['_marker'].'='.$m.')';
       }
       $ldapfilter .= ')';
-    }elseif(!empty($categories)){
-      $ldapfilter = "(&(objectClass=OXUserObject)(OXUserCategories=$categories))";
     }elseif(!empty($search)){
+      // Search name and organization
       $search = trim($search);
       $words=preg_split('/\s+/',$search);
       $filter='';
       foreach($words as $word){
-        $filter .= "(|(|(sn=*$word*)(givenName=*$word*))(o=*$word*))";
+        $filter .= '(|(|('.$FIELDS['name'].'=*'.$word.'*)('.
+                   $FIELDS['givenname'].'=*'.$word.'*))('.
+                   $FIELDS['organization'].'=*'.$word.'*))';
       }
       $ldapfilter = "(&(objectClass=inetOrgPerson)$filter)";
     }elseif(!empty($org)){
-      $ldapfilter = "(&(objectClass=inetOrgPerson)(o=$org))";
+      // List organization members
+      $ldapfilter = '(&(objectClass=inetOrgPerson)('.$FIELDS['organization']."=$org))";
     }elseif($filter=='other'){
+      // Alphabetic listing of last names
       $other='';
       for ($i=ord('a');$i<=ord('z');$i++){
-        $other .= '(!(sn='.chr($i).'*))';
+        $other .= '(!('.$FIELDS['name'].'='.chr($i).'*))';
       }
       $ldapfilter = "(&(objectClass=inetOrgPerson)$other)";
-    }elseif($filter=='*'){
+    }elseif($filter=='\2a'){ //escaped asterisk
+      // List all
       $ldapfilter = "(objectClass=inetOrgPerson)";
     }else{
-      $ldapfilter = "(&(objectClass=inetOrgPerson)(sn=$filter*))";
+      // Search by last name start
+      $ldapfilter = '(&(objectClass=inetOrgPerson)('.$FIELDS['name']."=$filter*))";
     }
     return $ldapfilter;
   }