소스 검색

o PHP 4.0.4 seemed to have problems with the usort function being defined inline with another function. This should fix that.

gpadgham 24 년 전
부모
커밋
8d3c027c60
1개의 변경된 파일20개의 추가작업 그리고 19개의 파일을 삭제
  1. 20 19
      functions/addressbook.php

+ 20 - 19
functions/addressbook.php

@@ -13,6 +13,7 @@
    include("../functions/abook_local_file.php");
    include("../functions/abook_local_file.php");
    include("../functions/abook_ldap_server.php");
    include("../functions/abook_ldap_server.php");
 
 
+
    // Create and initialize an addressbook object. 
    // Create and initialize an addressbook object. 
    // Returns the created object
    // Returns the created object
    function addressbook_init($showerr = true, $onlylocal = false) {
    function addressbook_init($showerr = true, $onlylocal = false) {
@@ -53,6 +54,16 @@
       return $abook;
       return $abook;
    }
    }
 
 
+   
+   // Had to move this function outside of the Addressbook Class
+   // PHP 4.0.4 Seemed to be having problems with inline functions.
+   function cmp($a,$b) {   
+      if($a["backend"] > $b["backend"]) 
+	     return 1;
+	  else if($a["backend"] < $b["backend"]) 
+	     return -1;
+	  return (strtolower($a["name"]) > strtolower($b["name"])) ? 1 : -1;
+   }
 
 
 
 
   /**
   /**
@@ -60,6 +71,7 @@
    ** backends and provide services to the functions above.
    ** backends and provide services to the functions above.
    **
    **
    **/
    **/
+   
    class AddressBook { 
    class AddressBook { 
       var $backends    = array();
       var $backends    = array();
       var $numbackends = 0;
       var $numbackends = 0;
@@ -154,26 +166,15 @@
 	 return $ret;
 	 return $ret;
       }
       }
 
 
-
+      
       // Return a sorted search
       // Return a sorted search
       function s_search($expression, $bnum = -1) {
       function s_search($expression, $bnum = -1) {
-
-	 $ret = $this->search($expression, $bnum);
-	 if(!is_array($ret))
-	    return $ret;
-
-	 // Inline function - Not nice, but still.. 
-	 function cmp($a,$b) {   
-	    if($a["backend"] > $b["backend"]) 
-	       return 1;
-	    else if($a["backend"] < $b["backend"]) 
-	       return -1;
-	 
-	    return (strtolower($a["name"]) > strtolower($b["name"])) ? 1 : -1;
-	 }
-
-	 usort($ret, 'cmp');
-	 return $ret;
+	      
+    	 $ret = $this->search($expression, $bnum);
+    	 if(!is_array($ret))
+    	    return $ret;
+	     usort($ret, 'cmp');
+	     return $ret;
       }
       }
 
 
 
 
@@ -363,8 +364,8 @@
 	 return false;  // Not reached
 	 return false;  // Not reached
       } // end of modify()
       } // end of modify()
 
 
-   } // End of class Addressbook
 
 
+   } // End of class Addressbook
 
 
   /**
   /**
    ** Generic backend that all other backends extend
    ** Generic backend that all other backends extend