Configurable avatar directory
Avatar directory and path are configurable.
This commit is contained in:
parent
eb6a60ef88
commit
c077ad0775
6
README
6
README
@ -1008,6 +1008,12 @@ avatar
|
|||||||
|
|
||||||
For configuring avatar access.
|
For configuring avatar access.
|
||||||
|
|
||||||
|
dir: Directory to look for avatar files and to put them into.
|
||||||
|
Defaults to avatar subdirectory of install directory; if
|
||||||
|
you change it, make sure to change path, too.
|
||||||
|
path: Path to avatars. Defaults to path for avatar subdirectory,
|
||||||
|
but you can change it if you wish. Note that this will
|
||||||
|
be included with the avatar server, too.
|
||||||
server: If set, defines another server where avatars are stored in the
|
server: If set, defines another server where avatars are stored in the
|
||||||
root directory. Note that the 'avatar' subdir still has to be
|
root directory. Note that the 'avatar' subdir still has to be
|
||||||
writeable. You'd typically use this to split HTTP requests on
|
writeable. You'd typically use this to split HTTP requests on
|
||||||
|
@ -55,19 +55,43 @@ class Avatar extends Memcached_DataObject
|
|||||||
|
|
||||||
static function path($filename)
|
static function path($filename)
|
||||||
{
|
{
|
||||||
return INSTALLDIR . '/avatar/' . $filename;
|
$dir = common_config('avatar', 'dir');
|
||||||
|
|
||||||
|
if ($dir[strlen($dir)-1] != '/') {
|
||||||
|
$dir .= '/';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $dir . $filename;
|
||||||
}
|
}
|
||||||
|
|
||||||
static function url($filename)
|
static function url($filename)
|
||||||
{
|
{
|
||||||
return common_path('avatar/'.$filename);
|
$path = common_config('avatar', 'path');
|
||||||
|
|
||||||
|
if ($path[strlen($path)-1] != '/') {
|
||||||
|
$path .= '/';
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($path[0] != '/') {
|
||||||
|
$path = '/'.$path;
|
||||||
|
}
|
||||||
|
|
||||||
|
$server = common_config('avatar', 'server');
|
||||||
|
|
||||||
|
if (empty($server)) {
|
||||||
|
$server = common_config('site', 'server');
|
||||||
|
}
|
||||||
|
|
||||||
|
// XXX: protocol
|
||||||
|
|
||||||
|
return 'http://'.$server.$path.$filename;
|
||||||
}
|
}
|
||||||
|
|
||||||
function displayUrl()
|
function displayUrl()
|
||||||
{
|
{
|
||||||
$server = common_config('avatar', 'server');
|
$server = common_config('avatar', 'server');
|
||||||
if ($server) {
|
if ($server) {
|
||||||
return 'http://'.$server.'/'.$this->filename;
|
return Avatar::url($this->filename);
|
||||||
} else {
|
} else {
|
||||||
return $this->url;
|
return $this->url;
|
||||||
}
|
}
|
||||||
|
@ -108,7 +108,9 @@ $config =
|
|||||||
'profile' =>
|
'profile' =>
|
||||||
array('banned' => array()),
|
array('banned' => array()),
|
||||||
'avatar' =>
|
'avatar' =>
|
||||||
array('server' => null),
|
array('server' => null,
|
||||||
|
'dir' => INSTALLDIR . '/avatar/',
|
||||||
|
'path' => $_path . '/avatar/'),
|
||||||
'public' =>
|
'public' =>
|
||||||
array('localonly' => true,
|
array('localonly' => true,
|
||||||
'blacklist' => array(),
|
'blacklist' => array(),
|
||||||
|
Loading…
Reference in New Issue
Block a user