forked from GNUsocial/gnu-social
343cd6f205
Moved the common_avatar_* functions to the Avatar class. Typically either as methods on the object or as static methods. Replaced all the uses of the functions in other modules.
84 lines
2.5 KiB
PHP
84 lines
2.5 KiB
PHP
<?php
|
|
/**
|
|
* Table Definition for avatar
|
|
*/
|
|
require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
|
|
|
|
class Avatar extends Memcached_DataObject
|
|
{
|
|
###START_AUTOCODE
|
|
/* the code below is auto generated do not remove the above tag */
|
|
|
|
public $__table = 'avatar'; // table name
|
|
public $profile_id; // int(4) primary_key not_null
|
|
public $original; // tinyint(1)
|
|
public $width; // int(4) primary_key not_null
|
|
public $height; // int(4) primary_key not_null
|
|
public $mediatype; // varchar(32) not_null
|
|
public $filename; // varchar(255)
|
|
public $url; // varchar(255) unique_key
|
|
public $created; // datetime() not_null
|
|
public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
|
|
|
|
/* Static get */
|
|
function staticGet($k,$v=null)
|
|
{ return Memcached_DataObject::staticGet('Avatar',$k,$v); }
|
|
|
|
/* the code above is auto generated do not remove the tag below */
|
|
###END_AUTOCODE
|
|
|
|
# We clean up the file, too
|
|
|
|
function delete()
|
|
{
|
|
$filename = $this->filename;
|
|
if (parent::delete()) {
|
|
@unlink(Avatar::path($filename));
|
|
}
|
|
}
|
|
|
|
function &pkeyGet($kv)
|
|
{
|
|
return Memcached_DataObject::pkeyGet('Avatar', $kv);
|
|
}
|
|
|
|
// where should the avatar go for this user?
|
|
|
|
static function filename($id, $extension, $size=null, $extra=null)
|
|
{
|
|
if ($size) {
|
|
return $id . '-' . $size . (($extra) ? ('-' . $extra) : '') . $extension;
|
|
} else {
|
|
return $id . '-original' . (($extra) ? ('-' . $extra) : '') . $extension;
|
|
}
|
|
}
|
|
|
|
static function path($filename)
|
|
{
|
|
return INSTALLDIR . '/avatar/' . $filename;
|
|
}
|
|
|
|
static function url($filename)
|
|
{
|
|
return common_path('avatar/'.$filename);
|
|
}
|
|
|
|
function displayUrl()
|
|
{
|
|
$server = common_config('avatar', 'server');
|
|
if ($server) {
|
|
return 'http://'.$server.'/'.$this->filename;
|
|
} else {
|
|
return $this->url;
|
|
}
|
|
}
|
|
|
|
static function defaultAvatar($size)
|
|
{
|
|
static $sizenames = array(AVATAR_PROFILE_SIZE => 'profile',
|
|
AVATAR_STREAM_SIZE => 'stream',
|
|
AVATAR_MINI_SIZE => 'mini');
|
|
return theme_path('default-avatar-'.$sizenames[$size].'.png');
|
|
}
|
|
}
|