From d0c9795c338ed0ccf5c71270c13b43b0e2cfe2e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Hojtsy?= Date: Mon, 18 Jun 2007 06:59:11 +0000 Subject: #150049 by Moshe Weitzman: empower custom url rewriting with url() options --- includes/common.inc | 7 +++++++ includes/path.inc | 8 +++----- 2 files changed, 10 insertions(+), 5 deletions(-) (limited to 'includes') diff --git a/includes/common.inc b/includes/common.inc index 2bd402a05..d0d8bad0b 100644 --- a/includes/common.inc +++ b/includes/common.inc @@ -1227,11 +1227,18 @@ function url($path = NULL, $options = array()) { $base = $options['absolute'] ? $base_url .'/' : base_path(); + // Preserve the original path before aliasing. + $original_path = $path; + // The special path '' links to the default front page. if (!empty($path) && $path != '') { if (!$options['alias']) { $path = drupal_get_path_alias($path); } + if (function_exists('custom_url_rewrite_outbound')) { + // Modules may alter outbound links by reference. + custom_url_rewrite_outbound($path, $options, $original_path); + } $path = drupal_urlencode($path); if (!$clean_url) { if ($options['query']) { diff --git a/includes/path.inc b/includes/path.inc index 9efee799a..898b39048 100644 --- a/includes/path.inc +++ b/includes/path.inc @@ -110,9 +110,6 @@ function drupal_get_path_alias($path, $path_language = '') { if ($alias = drupal_lookup_path('alias', $path, $path_language)) { $result = $alias; } - if (function_exists('custom_url_rewrite')) { - $result = custom_url_rewrite('alias', $result, $path, $path_language); - } return $result; } @@ -133,8 +130,9 @@ function drupal_get_normal_path($path, $path_language = '') { if ($src = drupal_lookup_path('source', $path, $path_language)) { $result = $src; } - if (function_exists('custom_url_rewrite')) { - $result = custom_url_rewrite('source', $result, $path, $path_language); + if (function_exists('custom_url_rewrite_inbound')) { + // Modules may alter the inbound request path by reference. + custom_url_rewrite_inbound($result, $path, $path_language); } return $result; } -- cgit v1.2.3