diff options
author | Dries Buytaert <dries@buytaert.net> | 2005-05-14 09:23:47 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2005-05-14 09:23:47 +0000 |
commit | 139ef4027ceae2691eb9c5cc2e1f21df44caa145 (patch) | |
tree | 54ab1f79c06cd9f2f9607319365ec69c2614d0b4 /includes/common.inc | |
parent | 229e2e4f234fc7b3380e8bf192e3dae48aaabc16 (diff) | |
download | brdo-139ef4027ceae2691eb9c5cc2e1f21df44caa145.tar.gz brdo-139ef4027ceae2691eb9c5cc2e1f21df44caa145.tar.bz2 |
- Patch #22035 by mathias/mikeryan: improved performance of path aliases.
Diffstat (limited to 'includes/common.inc')
-rw-r--r-- | includes/common.inc | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/includes/common.inc b/includes/common.inc index 61be3f5a1..2511e70c6 100644 --- a/includes/common.inc +++ b/includes/common.inc @@ -80,18 +80,19 @@ function drupal_get_html_head() { } /** - * Regenerate the path map from the information in the database. + * Reset the static variable which holds the aliases mapped for this request. */ -function drupal_rebuild_path_map() { - drupal_get_path_map('rebuild'); +function drupal_clear_path_cache() { + drupal_lookup_path('wipe'); } /** * Given a path alias, return the internal path it represents. */ function drupal_get_normal_path($path) { - if (($map = drupal_get_path_map()) && isset($map[$path])) { - return $map[$path]; + //drupal_get_path_alias($path); + if ($src = drupal_lookup_path('alias', $path)) { + return $src; } elseif (function_exists('conf_url_rewrite')) { return conf_url_rewrite($path, 'incoming'); @@ -1531,7 +1532,7 @@ function url($path = NULL, $query = NULL, $fragment = NULL, $absolute = FALSE) { * An HTML string ready for insertion in a tag. */ function drupal_attributes($attributes = array()) { - if ($attributes) { + if (is_array($attributes)) { $t = array(); foreach ($attributes as $key => $value) { $t[] = $key .'="'. check_plain($value) .'"'; @@ -1551,7 +1552,8 @@ function drupal_attributes($attributes = array()) { * @param $text * The text to be enclosed with the anchor tag. * @param $path - * The Drupal path being linked to, such as "admin/node". + * The Drupal path being linked to, such as "admin/node". Note, this must be a + * system URL as the url() function will generate the alias. * @param $attributes * An associative array of HTML attributes to apply to the anchor tag. * @param $query @@ -1567,7 +1569,7 @@ function drupal_attributes($attributes = array()) { * an HTML string containing a link to the given path. */ function l($text, $path, $attributes = array(), $query = NULL, $fragment = NULL, $absolute = FALSE, $html = FALSE) { - if (drupal_get_normal_path($path) == $_GET['q']) { + if ($path == $_GET['q']) { if (isset($attributes['class'])) { $attributes['class'] .= ' active'; } |