Bottom row color changed
[squirrelmail.git] / functions / abook_ldap_server.php
index d95b1ab3736c0e161a91d171b700dbd6ce1334fc..5db39cc10780ba6804edc75c15556c43c1f0cd5d 100644 (file)
 
        // Encode the expression
        $expr = $this->charset_encode($expr);
-       if(!ereg('\\*', $expr)) 
+       if(strstr($expr, "*") === false)
         $expr = "*$expr*";
        $expression = "cn=$expr";
 
         else $surname = $this->charset_decode($row['sn'][0]);
 
         // Add one row to result for each e-mail address
-        for($j = 0 ; $j < $row['mail']['count'] ; $j++) {
-          array_push($ret, array('nickname'  => $nickname,
-                                 'name'      => $fullname,
-                                 'firstname' => $firstname,
-                                 'lastname'  => $surname,
-                                 'email'     => $row['mail'][$j],
-                                 'label'     => $label,
-                                 'phone'     => $phone,
-                                 'backend'   => $this->bnum,
-                                 'source'    => &$this->sname));
-
-          // Limit number of hits
-          $returned_rows++;
-          if(($returned_rows >= $this->maxrows) && 
-             ($this->maxrows > 0) ) {
-            ldap_free_result($sret);
-            return $ret;
-          }
-
-        }
+        if(isset($row['mail']['count'])) {
+          for($j = 0 ; $j < $row['mail']['count'] ; $j++) {
+            array_push($ret, array('nickname'  => $nickname,
+                                   'name'      => $fullname,
+                                   'firstname' => $firstname,
+                                   'lastname'  => $surname,
+                                   'email'     => $row['mail'][$j],
+                                   'label'     => $label,
+                                   'phone'     => $phone,
+                                   'backend'   => $this->bnum,
+                                   'source'    => &$this->sname));
+            
+            // Limit number of hits
+            $returned_rows++;
+            if(($returned_rows >= $this->maxrows) && 
+               ($this->maxrows > 0) ) {
+              ldap_free_result($sret);
+              return $ret;
+            }
+
+          } // for($j ...)
+
+        } // isset($row['mail']['count'])
+
        }
 
        ldap_free_result($sret);
        return $ret;
      } // end search()
 
+
+     // If you run a tiny LDAP server and you want the "List All" button
+     // to show EVERYONE, then uncomment this tiny block of code:
+     //
+     // function list_addr() {
+     //    return $this->search("*");
+     // }
+     //
+     // Careful with this -- it could get quite large for big sites.
    }
 ?>