diff options
author | Jeffery To <jeffery.to@gmail.com> | 2009-06-26 15:31:42 +0800 |
---|---|---|
committer | Jeffery To <jeffery.to@gmail.com> | 2009-06-26 15:31:42 +0800 |
commit | 6328add622641e5f5721cc34d27d4d872c86a561 (patch) | |
tree | 31be2d91646bc3deed194f7c7e8ad64c9ee17971 /lib/theme.php | |
parent | 6d308f6ffe3f894c60fafaea3ceaef86d30dfe1d (diff) | |
parent | 97ee517680979bf12e82eab99ecf943712fe97c9 (diff) |
Merge branch '0.8.x' into invite-enabled
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; } |