ソースを参照

Changed regexps
Altered function names to make them possibly collide with other functions
less frequently
Altered code for sorting to hopefully improve speed

Tyler Akins 24 年 前
コミット
47505bdd6d
2 ファイル変更14 行追加12 行削除
  1. 5 5
      functions/addressbook.php
  2. 9 7
      functions/array.php

+ 5 - 5
functions/addressbook.php

@@ -58,7 +58,7 @@
    
    // 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) {   
+   function addressbook_cmp($a,$b) {   
       if($a['backend'] > $b['backend']) 
 	     return 1;
 	  else if($a['backend'] < $b['backend']) 
@@ -106,7 +106,7 @@
       // See each of the backend classes for valid parameters.
       function add_backend($backend, $param = '') {
 	 $backend_name = 'abook_' . $backend;
-	 eval("\$newback = new $backend_name(\$param);");
+	 eval('$newback = new ' . $backend_name . '($param);');
 	 if(!empty($newback->error)) {
 	    $this->error = $newback->error;
 	    return false;
@@ -174,7 +174,7 @@
     	 $ret = $this->search($expression, $bnum);
     	 if(!is_array($ret))
     	    return $ret;
-	     usort($ret, 'cmp');
+	     usort($ret, 'addressbook_cmp');
 	     return $ret;
       }
 
@@ -260,7 +260,7 @@
 	    $userdata['nickname'] = $userdata['email'];
 	 }
 
-	 if(eregi("[\: \|\#\"\!]", $userdata['nickname'])) {
+	 if(eregi('[\\: \\|\\#\"\\!]', $userdata['nickname'])) {
 	    $this->error = _("Nickname contain illegal characters");
 	    return false;
 	 }
@@ -338,7 +338,7 @@
 	    return false;
 	 }
 
-	 if(eregi("[\: \|\#\"\!]", $userdata['nickname'])) {
+	 if(eregi('[\\: \\|\\#"\\!]', $userdata['nickname'])) {
 	    $this->error = _("Nickname contain illegal characters");
 	    return false;
 	 }

+ 9 - 7
functions/array.php

@@ -18,13 +18,17 @@
          $col = array($col);
       }
       $GLOBALS['col'] = $col;  // Column or Columns as an array
+      if ($dir > 0)
+          $dir = 1;
+      else
+          $dir = -1;
       $GLOBALS['dir'] = $dir;  // Direction, a positive number for ascending a negative for descending
 
-      usort($ary,'comp2');
+      usort($ary,'array_comp2');
       return $ary;
   }
 
-  function comp2($a,$b,$i = 0) {
+  function array_comp2($a,$b,$i = 0) {
          global $col;
          global $dir;
          $c = count($col) -1;
@@ -35,11 +39,9 @@
                $r = comp2($a,$b,$i);
             }
          } elseif($a[$col[$i]] < $b[$col[$i]]){
-            $r = -1 * $dir; // Im not sure why you must * dir here, but it wont work just before the return...
-         } else {
-            $r = 1 * $dir;
-         }
-         return $r;
+            return (- $dir);
+         } 
+	 return $dir;
       }
 
    function removeElement($array, $element) {