implemented latest tpl_favicon()

This commit is contained in:
Anika Henke 2011-11-20 16:49:58 +00:00
parent a20b22fdaf
commit ffb6110488
2 changed files with 42 additions and 7 deletions

View file

@ -19,7 +19,7 @@ $showTools = !tpl_getConf('hideTools') || ( tpl_getConf('hideTools') && $_SERVER
<title><?php tpl_pagetitle() ?> [<?php echo strip_tags($conf['title']) ?>]</title> <title><?php tpl_pagetitle() ?> [<?php echo strip_tags($conf['title']) ?>]</title>
<?php tpl_metaheaders() ?> <?php tpl_metaheaders() ?>
<meta name="viewport" content="width=device-width,initial-scale=1" /> <meta name="viewport" content="width=device-width,initial-scale=1" />
<link rel="shortcut icon" href="<?php echo _tpl_getFavicon() /* DW versions > 2010-11-12 can use the core function tpl_getFavicon() */ ?>" /> <?php echo _tpl_favicon(array('favicon', 'mobile')) /* DW versions > 2011-07-31 can use the core function tpl_favicon() */ ?>
<?php _tpl_include('meta.html') ?> <?php _tpl_include('meta.html') ?>
</head> </head>

View file

@ -110,18 +110,53 @@ function _tpl_action($type,$link=0,$wrapper=0) {
} }
/** /**
* Use favicon.ico from data/media root directory if it exists, otherwise use * Returns icon from data/media root directory if it exists, otherwise
* the one in the template's image directory. * the one in the template's image directory.
* DW versions > 2010-11-12 can use the core function tpl_getFavicon()
* *
* @param bool $abs - if to use absolute URL
* @param string $fileName - file name of icon
* @author Anika Henke <anika@selfthinker.org> * @author Anika Henke <anika@selfthinker.org>
*/ */
function _tpl_getFavicon() { function _tpl_getFavicon($abs=false, $fileName='favicon.ico') {
if (file_exists(mediaFN('favicon.ico'))) if (file_exists(mediaFN($fileName))) {
return ml('favicon.ico'); return ml($fileName, '', true, '', $abs);
return DOKU_TPL.'images/favicon.ico'; }
if($abs) {
return DOKU_URL.substr(DOKU_TPL.'images/'.$fileName, strlen(DOKU_REL));
}
return DOKU_TPL.'images/'.$fileName;
} }
/**
* Returns <link> tag for various icon types (favicon|mobile|generic)
*
* @param array $types - list of icon types to display (favicon|mobile|generic)
* @author Anika Henke <anika@selfthinker.org>
*/
function _tpl_favicon($types=array('favicon')) {
$return = '';
foreach ($types as $type) {
switch($type) {
case 'favicon':
$return .= '<link rel="shortcut icon" href="'.tpl_getFavicon().'" />'.NL;
break;
case 'mobile':
$return .= '<link rel="apple-touch-icon" href="'.tpl_getFavicon(false, 'apple-touch-icon.png').'" />'.NL;
break;
case 'generic':
// ideal world solution, which doesn't work in any browser yet
$return .= '<link rel="icon" href="'.tpl_getFavicon(false, 'icon.svg').'" type="image/svg+xml" />'.NL;
break;
}
}
return $return;
}
/** /**
* Include additional html file from conf directory if it exists, otherwise use * Include additional html file from conf directory if it exists, otherwise use
* file in the template's root directory. * file in the template's root directory.