diff options
author | Evan Prodromou <evan@controlyourself.ca> | 2009-06-22 14:51:17 -0700 |
---|---|---|
committer | Evan Prodromou <evan@controlyourself.ca> | 2009-06-22 14:51:17 -0700 |
commit | 0461aafeef55782056b02cd0d8702ae0a0e3812a (patch) | |
tree | 810c04d3cea406203432122a89d42e991f61c101 /lib/theme.php | |
parent | 5b96523c239609c97012834ec92e8162d868c9f7 (diff) | |
parent | 2c4486401d2303dddd55e4965d4e9770b7b75d45 (diff) |
Merge branch '0.8.x' into cmdline
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; } |