summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
Diffstat (limited to 'includes')
-rw-r--r--includes/common.inc7
-rw-r--r--includes/path.inc8
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;
}