summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--includes/common.inc24
-rw-r--r--includes/theme.inc15
-rw-r--r--themes/chameleon/chameleon.theme3
-rw-r--r--themes/engines/phptemplate/phptemplate.engine5
4 files changed, 22 insertions, 25 deletions
diff --git a/includes/common.inc b/includes/common.inc
index 9f82fe440..5548ae68b 100644
--- a/includes/common.inc
+++ b/includes/common.inc
@@ -114,11 +114,8 @@ function drupal_set_html_head($data = NULL) {
* Retrieve output to be displayed in the head tag of the HTML page.
*/
function drupal_get_html_head() {
- global $base_path;
-
$output = "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n";
- $output .= theme('stylesheet_import', $base_path .'misc/drupal.css');
-
+ $output .= theme('stylesheet_import', base_path() .'misc/drupal.css');
return $output . drupal_set_html_head();
}
@@ -237,7 +234,6 @@ function drupal_goto($path = '', $query = NULL, $fragment = NULL) {
exit();
}
-
/**
* Generates a site off-line message
*/
@@ -918,7 +914,7 @@ function url($path = NULL, $query = NULL, $fragment = NULL, $absolute = FALSE) {
return $path . $fragment;
}
- global $base_url, $base_path;
+ global $base_url;
static $script;
static $clean_url;
@@ -934,7 +930,7 @@ function url($path = NULL, $query = NULL, $fragment = NULL, $absolute = FALSE) {
$clean_url = (bool)variable_get('clean_url', '0');
}
- $base = ($absolute ? $base_url . '/' : $base_path);
+ $base = ($absolute ? $base_url . '/' : base_path());
// The special path '<front>' links to the default front page.
if (isset($path) && $path != '<front>') {
@@ -1111,6 +1107,14 @@ function drupal_get_path($type, $name) {
}
/**
+ * Returns the base URL path of the Drupal installation.
+ * At the very least, this will always default to /.
+ */
+function base_path() {
+ return $GLOBALS['base_path'];
+}
+
+/**
* Provide a substitute clone() function for PHP4.
*/
function drupal_clone($object) {
@@ -1124,7 +1128,6 @@ function drupal_add_link($attributes) {
drupal_set_html_head('<link'. drupal_attributes($attributes) ." />\n");
}
-
/**
* Add a JavaScript file to the output.
*
@@ -1133,15 +1136,14 @@ function drupal_add_link($attributes) {
* depends on the 'killswitch' inside it.
*/
function drupal_add_js($file) {
- global $base_path;
static $sent = array();
if (!isset($sent['misc/drupal.js'])) {
- drupal_set_html_head('<script type="text/javascript" src="'. $base_path .'misc/drupal.js"></script>');
+ drupal_set_html_head('<script type="text/javascript" src="'. base_path() .'misc/drupal.js"></script>');
$sent['misc/drupal.js'] = true;
}
if (!isset($sent[$file])) {
- drupal_set_html_head('<script type="text/javascript" src="'. check_url($base_path . $file) .'"></script>');
+ drupal_set_html_head('<script type="text/javascript" src="'. check_url(base_path() . $file) .'"></script>');
$sent[$file] = true;
}
}
diff --git a/includes/theme.inc b/includes/theme.inc
index 29da91fe3..1fd10cde8 100644
--- a/includes/theme.inc
+++ b/includes/theme.inc
@@ -280,7 +280,7 @@ function theme_get_settings($key = NULL) {
* The value of the requested setting, NULL if the setting does not exist.
*/
function theme_get_setting($setting_name, $refresh = FALSE) {
- global $theme_key, $base_path;
+ global $theme_key;
static $settings;
if (empty($settings) || $refresh) {
@@ -298,7 +298,7 @@ function theme_get_setting($setting_name, $refresh = FALSE) {
}
if ($settings['toggle_logo']) {
- $settings['logo'] = $base_path;
+ $settings['logo'] = base_path();
if ($settings['default_logo']) {
$settings['logo'] .= dirname($theme_object->filename) .'/logo.png';
}
@@ -308,7 +308,7 @@ function theme_get_setting($setting_name, $refresh = FALSE) {
}
if ($settings['toggle_favicon']) {
- $settings['favicon'] = $base_path;
+ $settings['favicon'] = base_path();
if ($settings['default_favicon']) {
if (file_exists($favicon = dirname($theme_object->filename) .'/favicon.ico')) {
$settings['favicon'] .= $favicon;
@@ -331,12 +331,11 @@ function theme_get_setting($setting_name, $refresh = FALSE) {
* drupal_set_html_head() to enforce the correct CSS cascading order.
*/
function theme_add_style($path = '', $media = 'all') {
- global $base_path;
static $styles = array();
if ($path && !isset($styles["$media:$path"])) {
$style = new stdClass();
- $style->path = $base_path. $path;
+ $style->path = base_path() . $path;
$style->media = $media;
$styles["$media:$path"] = $style;
}
@@ -427,10 +426,9 @@ function theme_page($content) {
}
function theme_maintenance_page($content) {
- global $base_path;
drupal_set_header('Content-Type: text/html; charset=utf-8');
theme('add_style', 'misc/maintenance.css');
- drupal_set_html_head('<link rel="shortcut icon" href="'. $base_path .'misc/favicon.ico" type="image/x-icon" />');
+ drupal_set_html_head('<link rel="shortcut icon" href="'. base_path() .'misc/favicon.ico" type="image/x-icon" />');
$output = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n";
$output .= '<html xmlns="http://www.w3.org/1999/xhtml">';
$output .= '<head>';
@@ -515,10 +513,9 @@ function theme_links($links, $delimiter = ' | ') {
* A string containing the image tag.
*/
function theme_image($path, $alt = '', $title = '', $attributes = NULL, $getsize = TRUE) {
- global $base_path;
if (!$getsize || (is_file($path) && (list($width, $height, $type, $image_attributes) = @getimagesize($path)))) {
$attributes = drupal_attributes($attributes);
- return '<img src="'. check_url($base_path. $path) .'" alt="'. check_plain($alt) .'" title="'. check_plain($title) .'" '. $image_attributes . $attributes .' />';
+ return '<img src="'. check_url(base_path() . $path) .'" alt="'. check_plain($alt) .'" title="'. check_plain($title) .'" '. $image_attributes . $attributes .' />';
}
}
diff --git a/themes/chameleon/chameleon.theme b/themes/chameleon/chameleon.theme
index 52f278be4..44965ef06 100644
--- a/themes/chameleon/chameleon.theme
+++ b/themes/chameleon/chameleon.theme
@@ -22,7 +22,6 @@ function chameleon_regions() {
}
function chameleon_page($content) {
- global $base_path;
$language = $GLOBALS['locale'];
if (theme_get_setting('toggle_favicon')) {
@@ -43,7 +42,7 @@ function chameleon_page($content) {
$output .= " <div id=\"header\">";
if ($logo = theme_get_setting('logo')) {
- $output .= " <a href=\"$base_path\" title=\"". t('Home') ."\"><img src=\"$logo\" alt=\"". t('Home') ."\" /></a>";
+ $output .= " <a href=\"". base_path() ."\" title=\"". t('Home') ."\"><img src=\"$logo\" alt=\"". t('Home') ."\" /></a>";
}
if (theme_get_setting('toggle_name')) {
$output .= " <h1 class=\"site-name title\">". l(variable_get('site_name', 'drupal'), ""). "</h1>";
diff --git a/themes/engines/phptemplate/phptemplate.engine b/themes/engines/phptemplate/phptemplate.engine
index 6aa99f7f2..d28423acf 100644
--- a/themes/engines/phptemplate/phptemplate.engine
+++ b/themes/engines/phptemplate/phptemplate.engine
@@ -140,9 +140,8 @@ function phptemplate_features() {
* into a pluggable template engine.
*/
function phptemplate_page($content) {
- global $base_path;
- /* Set title and breadcrumb to declared values */
+ /* Set title and breadcrumb to declared values */
if ($_GET['q'] == variable_get('site_frontpage', 'node')) {
$mission = theme_get_setting('mission');
$frontpage = true;
@@ -186,7 +185,7 @@ function phptemplate_page($content) {
}
$variables = array(
- 'base_path' => $base_path,
+ 'base_path' => base_path(),
'breadcrumb' => theme('breadcrumb', drupal_get_breadcrumb()),
'closure' => theme('closure'),
'content' => '<!-- begin content -->' . $content . '<!-- end content -->',