X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Ftheme.php;h=08e3e85383b18fc92d5241891d1acb1dff8f57b0;hb=b4b992bca77d34b8643910e8d590b5be7fede94b;hp=6f365bd9925c2db0d06dd0e987bf14c6214d7d35;hpb=2d456a15e5652a0c0e2c0f9f50221eed2d16e109;p=quix0rs-gnu-social.git diff --git a/lib/theme.php b/lib/theme.php index 6f365bd992..08e3e85383 100644 --- a/lib/theme.php +++ b/lib/theme.php @@ -1,9 +1,12 @@ . + * + * @category Paths + * @package StatusNet + * @author Evan Prodromou + * @author Sarven Capadisli + * @copyright 2008 StatusNet, Inc. + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('STATUSNET') && !defined('LACONICA')) { + exit(1); +} + +/** + * Gets the full path of a file in a theme dir based on its relative name + * + * @param string $relative relative path within the theme directory + * @param string $theme name of the theme; defaults to current theme + * + * @return string File path to the theme file + */ -function theme_file($relative) +function theme_file($relative, $theme=null) { - $theme = common_config('site', 'theme'); - return INSTALLDIR.'/theme/'.$theme.'/'.$relative; + if (empty($theme)) { + $theme = common_config('site', 'theme'); + } + $dir = common_config('theme', 'dir'); + if (empty($dir)) { + $dir = INSTALLDIR.'/theme'; + } + return $dir.'/'.$theme.'/'.$relative; } -function theme_path($relative) +/** + * Gets the full URL of a file in a theme dir based on its relative name + * + * @param string $relative relative path within the theme directory + * @param string $theme name of the theme; defaults to current theme + * + * @return string URL of the file + */ + +function theme_path($relative, $theme=null) { - $theme = common_config('site', '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'); } -} \ No newline at end of file + + // XXX: protocol + + return 'http://'.$server.$path.$theme.'/'.$relative; +}