--- includes/menu.inc	Sat Jan 17 17:22:37 2004
+++ includes/menu.inc	Sat Jan 17 16:53:47 2004
@@ -139,12 +139,19 @@
   $path = menu_get_active_item();
 
   if ($_list[$path]["callback"]) {
-    $arg = substr($_GET["q"], strlen($path) + 1);
-    if (empty($arg)) {
-      return call_user_func($_list[$path]["callback"]);
+    if (is_array($_list[$path]["callback"])) {
+      $args = $_list[$path]["callback"];
+      $callback = array_shift($args);
+      return call_user_func_array($callback, $args);
     }
     else {
-      return call_user_func_array($_list[$path]["callback"], explode("/", $arg));
+      $arg = substr($_GET["q"], strlen($path) + 1);
+      if (empty($arg)) {
+        return call_user_func($_list[$path]["callback"]);
+      }
+      else {
+        return call_user_func_array($_list[$path]["callback"], explode("/", $arg));
+      }
     }
   }
 }
@@ -153,8 +160,13 @@
   global $_list;
 
   $path = menu_get_active_item();
-
-  return function_exists($_list[$path]["callback"]);
+  
+  if (is_array($_list[$path]["callback"])) {
+    return function_exists($_list[$path]["callback"][0]);  
+  }
+  else {
+    return function_exists($_list[$path]["callback"]);  
+  }
 }
 
 /**
