Commit 24057c3d authored by webchick's avatar webchick

#531476 by aaron and mfb: Add favicon mimetype as a theme setting to avoid...

#531476 by aaron and mfb: Add favicon mimetype as a theme setting to avoid expensive calls to file system.
parent 3fa324a1
......@@ -1041,6 +1041,8 @@ function theme_get_settings($key = NULL) {
'logo_path' => '',
'default_favicon' => 1,
'favicon_path' => '',
// Use the IANA-registered MIME type for ICO files as default.
'favicon_mimetype' => 'image/vnd.microsoft.icon',
'main_menu' => 1,
'secondary_menu' => 1,
'toggle_logo' => 1,
......@@ -1888,11 +1890,7 @@ function template_preprocess_page(&$variables) {
// Add favicon.
if (theme_get_setting('toggle_favicon')) {
$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';
}
$type = theme_get_setting('favicon_mimetype');
drupal_add_html_head('<link rel="shortcut icon" href="' . check_url($favicon) . '" type="' . check_plain($type) . '" />');
}
......
......@@ -216,11 +216,7 @@ function template_preprocess_maintenance_page(&$variables) {
// Add favicon
if (theme_get_setting('toggle_favicon')) {
$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';
}
$type = theme_get_setting('favicon_mimetype');
drupal_add_html_head('<link rel="shortcut icon" href="' . check_url($favicon) . '" type="' . check_plain($type) . '" />');
}
......
......@@ -513,6 +513,13 @@ function system_theme_settings(&$form_state, $key = '') {
*/
function system_theme_settings_submit($form, &$form_state) {
$values = $form_state['values'];
if (empty($values['default_favicon']) && !empty($values['favicon_path'])) {
$mimetype = file_get_mimetype($values['favicon_path']);
// Use the default MIME type for favicons if no other was found.
if ($mimetype != 'application/octet-stream') {
$values['favicon_mimetype'] = $mimetype;
}
}
$key = $values['var'];
// Exclude unnecessary elements before saving.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment