Changed regexps
[squirrelmail.git] / functions / array.php
index cf5f23d..a64eb60 100644 (file)
@@ -5,6 +5,7 @@
     **  This contains functions that work with array manipulation.  They
     **  will help sort, and do other types of things with arrays
     **
+    **  $Id$
     **/
 
    $array_php = true;
       // These should be $this->col and $this->dir in a class
       // Would beat using globals
       if(!is_array($col)){
-         $col = array("$col");
+         $col = array($col);
       }
-      $GLOBALS["col"] = $col;  // Column or Columns as an array
-      $GLOBALS["dir"] = $dir;  // Direction, a positive number for ascending a negative for descending
+      $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;
-         if ($a["$col[$i]"] == $b["$col[$i]"]){
+         if ($a[$col[$i]] == $b[$col[$i]]){
             $r = 0;
             while($i < $c && $r == 0){
                $i++;
                $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;
+         } elseif($a[$col[$i]] < $b[$col[$i]]){
+            return (- $dir);
+         } 
+        return $dir;
       }
 
    function removeElement($array, $element) {
@@ -57,7 +60,7 @@
     $key=0;
     $array2 = array();
     while ($key < count($array1)) {
-        array_push($array2, strtolower($array1[$key]["$column"]));
+        array_push($array2, $array1[$key][$column]);
         $key++;
     }