diff options
author | Jeffery To <jeffery.to@gmail.com> | 2009-06-24 01:18:35 +0800 |
---|---|---|
committer | Jeffery To <jeffery.to@gmail.com> | 2009-06-24 01:18:35 +0800 |
commit | 65f784120b45dc187e28313fa2c2dca2c976c150 (patch) | |
tree | cf1cb3e34483466d4f4a312c528579292e7603fc /lib/theme.php | |
parent | f7d488d4b2bfdc8dfa6b5a2bc2931dbf824509a0 (diff) | |
parent | eb40fbc17ad1efb0a4c51ee00b1e9408d2af382f (diff) |
Merge branch '0.8.x' into notice-search-no-results
Diffstat (limited to 'lib/theme.php')
-rw-r--r-- | lib/theme.php | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/lib/theme.php b/lib/theme.php index 0d8824822..2fe6ab69b 100644 --- a/lib/theme.php +++ b/lib/theme.php @@ -43,10 +43,14 @@ if (!defined('LACONICA')) { function theme_file($relative, $theme=null) { - if (!$theme) { + if (empty($theme)) { $theme = common_config('site', 'theme'); } - return INSTALLDIR.'/theme/'.$theme.'/'.$relative; + $dir = common_config('theme', 'dir'); + if (empty($dir)) { + $dir = INSTALLDIR.'/theme'; + } + return $dir.'/'.$theme.'/'.$relative; } /** @@ -60,13 +64,31 @@ function theme_file($relative, $theme=null) function theme_path($relative, $theme=null) { - if (!$theme) { + if (empty($theme)) { $theme = common_config('site', 'theme'); } + + $path = common_config('theme', 'path'); + + if (empty($path)) { + $path = common_config('site', 'path') . '/theme/'; + } + + if ($path[strlen($path)-1] != '/') { + $path .= '/'; + } + + if ($path[0] != '/') { + $path = '/'.$path; + } + $server = common_config('theme', 'server'); - if ($server) { - return 'http://'.$server.'/'.$theme.'/'.$relative; - } else { - return common_path('theme/'.$theme.'/'.$relative); + + if (empty($server)) { + $server = common_config('site', 'server'); } + + // XXX: protocol + + return 'http://'.$server.$path.$theme.'/'.$relative; } |