As you can see in the following output of ack, there are several locations where lib/tpl is hardcoded although it isn't needed (in opensearch.php there is the problem that canonical urls are needed, but this shouldn't be a real problem):
lib/exe/opensearch.php
15-
16-// try to be clever about the favicon location
17-if(file_exists(DOKU_INC.'favicon.ico')){
18- $ico = DOKU_URL.'favicon.ico';
19-}elseif(file_exists(DOKU_TPLINC.'images/favicon.ico')){
20: $ico = DOKU_URL.'lib/tpl/'.$conf['template'].'/images/favicon.ico';
21-}elseif(file_exists(DOKU_TPLINC.'favicon.ico')){
22: $ico = DOKU_URL.'lib/tpl/'.$conf['template'].'/favicon.ico';
23-}else{
24: $ico = DOKU_URL.'lib/tpl/default/images/favicon.ico';
25-}
26-
27-// output
28-header('Content-Type: application/opensearchdescription+xml; charset=utf-8');
29-echo '<?xml version="1.0"?>'.NL;
inc/template.php
15- * @author Andreas Gohr <
andi@splitbrain.org>
16- */
17-function template($tpl){
18- global $conf;
19-
20: if(@is_readable(DOKU_INC.'lib/tpl/'.$conf['template'].'/'.$tpl))
21: return DOKU_INC.'lib/tpl/'.$conf['template'].'/'.$tpl;
22-
23: return DOKU_INC.'lib/tpl/default/'.$tpl;
24-}
25-
26-/**
27- * Print the content
28- *
Additionally it would be cool to have a template basedir that could be used in
lib/plugins/config/settings/config.metadata.php
85-
86-$meta['_basic'] = array('fieldset');
87-$meta['title'] = array('string');
88-$meta['start'] = array('string','_pattern' => '!^[^:;/]+$!'); // don't accept namespaces
89-$meta['lang'] = array('dirchoice','_dir' => DOKU_INC.'inc/lang/');
90:$meta['template'] = array('dirchoice','_dir' => DOKU_INC.'lib/tpl/','_pattern' => '/^[\w-]+$/');
91-$meta['license'] = array('license');
92-$meta['savedir'] = array('savedir');
93-$meta['basedir'] = array('string');
94-$meta['baseurl'] = array('string');
95-$meta['dmode'] = array('numeric','_pattern' => '/0[0-7]{3,4}/'); // only accept octal representation
and
lib/exe/css.php
42- break;
43- }
44-
45- $tpl = trim(preg_replace('/[^\w-]+/','',$_REQUEST['t']));
46- if($tpl){
47: $tplinc = DOKU_INC.'lib/tpl/'.$tpl.'/';
48: $tpldir = DOKU_BASE.'lib/tpl/'.$tpl.'/';
49- }else{
50- $tplinc = DOKU_TPLINC;
51- $tpldir = DOKU_TPL;
52- }
53-
This changes would allow farms more easily to have separate templates for each animal.