diff options
author | Anika Henke <anika@selfthinker.org> | 2011-07-31 00:52:10 +0100 |
---|---|---|
committer | Anika Henke <anika@selfthinker.org> | 2011-07-31 00:52:10 +0100 |
commit | 872a6d295eacbfa8abad2877ec4e367930da3692 (patch) | |
tree | 3f2bf7583cd0ea578c0fdff4bc28fad384ded0ae /inc/template.php | |
parent | 4f616b5f20590d5f3a592bd53f2fc932968940d8 (diff) | |
download | rpg-872a6d295eacbfa8abad2877ec4e367930da3692.tar.gz rpg-872a6d295eacbfa8abad2877ec4e367930da3692.tar.bz2 |
added apple-touch-icon (aka 'mobile favicon')
Diffstat (limited to 'inc/template.php')
-rw-r--r-- | inc/template.php | 41 |
1 files changed, 35 insertions, 6 deletions
diff --git a/inc/template.php b/inc/template.php index a476e78ab..5184929b8 100644 --- a/inc/template.php +++ b/inc/template.php @@ -1340,21 +1340,50 @@ function tpl_flush(){ /** - * 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. * + * @param bool $abs - if to use absolute URL + * @param string $fileName - file name of icon * @author Anika Henke <anika@selfthinker.org> */ -function tpl_getFavicon($abs=false) { - if (file_exists(mediaFN('favicon.ico'))) { - return ml('favicon.ico', '', true, '', $abs); +function tpl_getFavicon($abs=false, $fileName='favicon.ico') { + if (file_exists(mediaFN($fileName))) { + return ml($fileName, '', true, '', $abs); } if($abs) { - return DOKU_URL.substr(DOKU_TPL.'images/favicon.ico', strlen(DOKU_REL)); + 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 DOKU_TPL.'images/favicon.ico'; + return $return; } |