summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2009-05-17 10:42:16 +0000
committerDries Buytaert <dries@buytaert.net>2009-05-17 10:42:16 +0000
commitd4a7074294d9e2a3c58d61b9fd0a078430446ace (patch)
treee28d59020118e3034a006b4deb2eeddb4012595d
parent556f62f81a35dbef8b648fde1c23a71a3487a7b6 (diff)
downloadbrdo-d4a7074294d9e2a3c58d61b9fd0a078430446ace.tar.gz
brdo-d4a7074294d9e2a3c58d61b9fd0a078430446ace.tar.bz2
- Patch #415710 by dixon_, JohnAlbin, BMDan: fix favicon mime-type handling.
-rw-r--r--includes/file.inc2
-rw-r--r--includes/theme.inc8
-rw-r--r--includes/theme.maintenance.inc8
3 files changed, 15 insertions, 3 deletions
diff --git a/includes/file.inc b/includes/file.inc
index 58b3e1b20..a8aaf9848 100644
--- a/includes/file.inc
+++ b/includes/file.inc
@@ -1798,7 +1798,7 @@ function file_get_mimetype($filename, $mapping = NULL) {
'cdr' => 'image/x-coreldraw',
'pat' => 'image/x-coreldrawpattern',
'cdt' => 'image/x-coreldrawtemplate',
- 'ico' => 'image/x-icon',
+ 'ico' => 'image/vnd.microsoft.icon',
'art' => 'image/x-jg',
'jng' => 'image/x-jng',
'bmp' => 'image/x-ms-bmp',
diff --git a/includes/theme.inc b/includes/theme.inc
index 66f82caaf..1a8dd1747 100644
--- a/includes/theme.inc
+++ b/includes/theme.inc
@@ -1769,7 +1769,13 @@ function template_preprocess_page(&$variables) {
// Add favicon.
if (theme_get_setting('toggle_favicon')) {
- drupal_add_html_head('<link rel="shortcut icon" href="' . check_url(theme_get_setting('favicon')) . '" type="image/x-icon" />');
+ $favicon = theme_get_setting('favicon');
+ $type = file_get_mimetype($favicon);
+ // Use the genereic MIME type for favicons if no other was found.
+ if ($type == 'application/octet-stream') {
+ $type = 'image/x-icon';
+ }
+ drupal_add_html_head('<link rel="shortcut icon" href="' . check_url($favicon) . '" type="' . check_plain($type) . '" />');
}
// Set up layout variable.
diff --git a/includes/theme.maintenance.inc b/includes/theme.maintenance.inc
index 92fefeece..d36ad3950 100644
--- a/includes/theme.maintenance.inc
+++ b/includes/theme.maintenance.inc
@@ -206,7 +206,13 @@ function theme_update_page($content, $show_messages = TRUE) {
function template_preprocess_maintenance_page(&$variables) {
// Add favicon
if (theme_get_setting('toggle_favicon')) {
- drupal_add_html_head('<link rel="shortcut icon" href="' . check_url(theme_get_setting('favicon')) . '" type="image/x-icon" />');
+ $favicon = theme_get_setting('favicon');
+ $type = file_get_mimetype($favicon);
+ // Use the genereic MIME type for favicons if no other was found.
+ if ($type == 'application/octet-stream') {
+ $type = 'image/x-icon';
+ }
+ drupal_add_html_head('<link rel="shortcut icon" href="' . check_url($favicon) . '" type="' . check_plain($type) . '" />');
}
global $theme;