From 0cac8ebfeac611f786104de80c1b5f5138c64fc0 Mon Sep 17 00:00:00 2001 From: Anika Henke Date: Fri, 12 Oct 2012 01:21:58 +0100 Subject: [PATCH] removed fallback for tpl_sidebar() and updated other old fallback functions --- tpl_functions.php | 193 +++++++++++++++++++++++----------------------- 1 file changed, 95 insertions(+), 98 deletions(-) diff --git a/tpl_functions.php b/tpl_functions.php index 71e4d94..74df26a 100644 --- a/tpl_functions.php +++ b/tpl_functions.php @@ -111,100 +111,10 @@ function _tpl_action($type, $link=0, $wrapper=0) { -/* deprecated functions for backwards compatibility +/* fallbacks for things missing in older DokuWiki versions ********************************************************************/ -/** - * Returns icon from data/media root directory if it exists, otherwise - * the one in the template's image directory. - * @deprecated superseded by core tpl_getFavicon() - * - * @param bool $abs - if to use absolute URL - * @param string $fileName - file name of icon - * @author Anika Henke - */ -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/'.$fileName, strlen(DOKU_REL)); - } - return DOKU_TPL.'images/'.$fileName; -} - -/* use core function if available, otherwise the custom one */ -if (!function_exists('tpl_getFavicon')) { - function tpl_getFavicon($abs=false, $fileName='favicon.ico') { - _tpl_getFavicon($abs, $fileName); - } -} - - -/** - * Returns tag for various icon types (favicon|mobile|generic) - * @deprecated superseded by core tpl_favicon() - * - * @param array $types - list of icon types to display (favicon|mobile|generic) - * @author Anika Henke - */ -function _tpl_favicon($types=array('favicon')) { - - $return = ''; - - foreach ($types as $type) { - switch($type) { - case 'favicon': - $return .= ''.NL; - break; - case 'mobile': - $return .= ''.NL; - break; - case 'generic': - // ideal world solution, which doesn't work in any browser yet - $return .= ''.NL; - break; - } - } - - return $return; -} - -/* use core function if available, otherwise the custom one */ -if (!function_exists('tpl_favicon')) { - function tpl_favicon($types=array('favicon')) { - _tpl_favicon($types); - } -} - - -/** - * Include additional html file from conf directory if it exists, otherwise use - * file in the template's root directory. - * @deprecated superseded by core tpl_includeFile() - * - * @author Anika Henke - */ -function _tpl_include($fn) { - $confFile = DOKU_CONF.$fn; - $tplFile = dirname(__FILE__).'/'.$fn; - - if (file_exists($confFile)) - include($confFile); - else if (file_exists($tplFile)) - include($tplFile); -} - -/* use core function if available, otherwise the custom one */ -if (!function_exists('tpl_includeFile')) { - function tpl_includeFile($fn) { - _tpl_include($fn); - } -} - - /* if newer settings exist in the core, use them, otherwise fall back to template settings */ if (!isset($conf['tagline'])) { @@ -215,13 +125,6 @@ if (!isset($conf['sidebar'])) { $conf['sidebar'] = tpl_getConf('sidebarID'); } -if (!function_exists('tpl_sidebar')) { - function tpl_sidebar() { - /* includes the given wiki page; not exactly the same as in the core */ - tpl_include_page($conf['sidebar']); - } -} - /* these $lang strings are now in the core */ if (!isset($lang['user_tools'])) { @@ -236,3 +139,97 @@ if (!isset($lang['page_tools'])) { if (!isset($lang['skip_to_content'])) { $lang['skip_to_content'] = tpl_getLang('skip_to_content'); } + + +/** + * copied from core (available since Adora Belle) + */ +if (!function_exists('tpl_getMediaFile')) { + function tpl_getMediaFile($search, $abs = false, &$imginfo = null) { + $img = ''; + $file = ''; + $ismedia = false; + // loop through candidates until a match was found: + foreach($search as $img) { + if(substr($img, 0, 1) == ':') { + $file = mediaFN($img); + $ismedia = true; + } else { + $file = tpl_incdir().$img; + $ismedia = false; + } + + if(file_exists($file)) break; + } + + // fetch image data if requested + if(!is_null($imginfo)) { + $imginfo = getimagesize($file); + } + + // build URL + if($ismedia) { + $url = ml($img, '', true, '', $abs); + } else { + $url = tpl_basedir().$img; + if($abs) $url = DOKU_URL.substr($url, strlen(DOKU_REL)); + } + + return $url; + } +} + +/** + * copied from core (available since Angua) + */ +if (!function_exists('tpl_favicon')) { + function tpl_favicon($types = array('favicon')) { + + $return = ''; + + foreach($types as $type) { + switch($type) { + case 'favicon': + $look = array(':wiki:favicon.ico', ':favicon.ico', 'images/favicon.ico'); + $return .= ''.NL; + break; + case 'mobile': + $look = array(':wiki:apple-touch-icon.png', ':apple-touch-icon.png', 'images/apple-touch-icon.png'); + $return .= ''.NL; + break; + case 'generic': + // ideal world solution, which doesn't work in any browser yet + $look = array(':wiki:favicon.svg', ':favicon.svg', 'images/favicon.svg'); + $return .= ''.NL; + break; + } + } + + return $return; + } +} + +/** + * copied from core (available since Adora Belle) + */ +if (!function_exists('tpl_includeFile')) { + function tpl_includeFile($file) { + global $config_cascade; + foreach(array('protected', 'local', 'default') as $config_group) { + if(empty($config_cascade['main'][$config_group])) continue; + foreach($config_cascade['main'][$config_group] as $conf_file) { + $dir = dirname($conf_file); + if(file_exists("$dir/$file")) { + include("$dir/$file"); + return; + } + } + } + + // still here? try the template dir + $file = tpl_incdir().$file; + if(file_exists($file)) { + include($file); + } + } +}