Index: includes/bootstrap.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/bootstrap.inc,v retrieving revision 1.60 diff -u -F^f -r1.60 bootstrap.inc --- includes/bootstrap.inc 5 Aug 2005 00:49:02 -0000 1.60 +++ includes/bootstrap.inc 17 Aug 2005 12:46:11 -0000 @@ -530,13 +530,25 @@ function drupal_get_path_alias($path) { if ($alias = drupal_lookup_path('source', $path)) { return $alias; } - elseif (function_exists('conf_url_rewrite')) { - return conf_url_rewrite($path, 'outgoing'); + return url_rewrite('outgoing', $path); +} + +function url_rewrite($op, &$path) { + static $modules; + if (!isset($modules)) { + $modules['outgoing'] = module_implements('url_rewrite'); + $modules['incoming'] = array_reverse($modules['outgoing']); } - else { - // No alias found. Return the normal path. + if (empty($modules[$op])) { return $path; } + else { + foreach($modules[$op] as $module) { + $function = $module .'_url_rewrite'; + // we can't use module_invoke because $path is a references + $function($op, $path); + } + } } /** @@ -680,6 +692,7 @@ function arg($index) { if (empty($arguments) || $q != $_GET['q']) { $arguments = explode('/', $_GET['q']); + $q = $_GET['q']; } if (isset($arguments[$index])) { Index: includes/common.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/common.inc,v retrieving revision 1.467 diff -u -F^f -r1.467 common.inc --- includes/common.inc 16 Aug 2005 18:06:18 -0000 1.467 +++ includes/common.inc 17 Aug 2005 12:46:12 -0000 @@ -138,12 +138,7 @@ function drupal_get_normal_path($path) { if ($src = drupal_lookup_path('alias', $path)) { return $src; } - elseif (function_exists('conf_url_rewrite')) { - return conf_url_rewrite($path, 'incoming'); - } - else { - return $path; - } + return url_rewrite('incoming', $path); } /**