summaryrefslogtreecommitdiff
path: root/inc
diff options
context:
space:
mode:
authorAnika Henke <anika@selfthinker.org>2011-07-31 00:52:10 +0100
committerAnika Henke <anika@selfthinker.org>2011-07-31 00:52:10 +0100
commit872a6d295eacbfa8abad2877ec4e367930da3692 (patch)
tree3f2bf7583cd0ea578c0fdff4bc28fad384ded0ae /inc
parent4f616b5f20590d5f3a592bd53f2fc932968940d8 (diff)
downloadrpg-872a6d295eacbfa8abad2877ec4e367930da3692.tar.gz
rpg-872a6d295eacbfa8abad2877ec4e367930da3692.tar.bz2
added apple-touch-icon (aka 'mobile favicon')
Diffstat (limited to 'inc')
-rw-r--r--inc/template.php41
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;
}