diff options
author | Gábor Hojtsy <gabor@hojtsy.hu> | 2007-06-18 06:59:11 +0000 |
---|---|---|
committer | Gábor Hojtsy <gabor@hojtsy.hu> | 2007-06-18 06:59:11 +0000 |
commit | d0c9795c338ed0ccf5c71270c13b43b0e2cfe2e1 (patch) | |
tree | 9b2be29f906f045c48de9ad08a77594a4db32729 /includes | |
parent | 64707c09e9ae2eb6a388c2c3c081c848555cc2b3 (diff) | |
download | brdo-d0c9795c338ed0ccf5c71270c13b43b0e2cfe2e1.tar.gz brdo-d0c9795c338ed0ccf5c71270c13b43b0e2cfe2e1.tar.bz2 |
#150049 by Moshe Weitzman: empower custom url rewriting with url() options
Diffstat (limited to 'includes')
-rw-r--r-- | includes/common.inc | 7 | ||||
-rw-r--r-- | includes/path.inc | 8 |
2 files changed, 10 insertions, 5 deletions
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 '<front>' links to the default front page. if (!empty($path) && $path != '<front>') { 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; } |