3 * Table Definition for avatar
5 require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
7 class Avatar extends Memcached_DataObject
10 /* the code below is auto generated do not remove the above tag */
12 public $__table = 'avatar'; // table name
13 public $profile_id; // int(4) primary_key not_null
14 public $original; // tinyint(1)
15 public $width; // int(4) primary_key not_null
16 public $height; // int(4) primary_key not_null
17 public $mediatype; // varchar(32) not_null
18 public $filename; // varchar(255)
19 public $url; // varchar(255) unique_key
20 public $created; // datetime() not_null
21 public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
24 function staticGet($k,$v=null)
25 { return Memcached_DataObject::staticGet('Avatar',$k,$v); }
27 /* the code above is auto generated do not remove the tag below */
30 static function pivotGet($keyCol, $keyVals, $otherCols)
32 return Memcached_DataObject::pivotGet('Avatar', $keyCol, $keyVals, $otherCols);
35 // We clean up the file, too
39 $filename = $this->filename;
40 if (parent::delete()) {
41 @unlink(Avatar::path($filename));
47 return Memcached_DataObject::pkeyGet('Avatar', $kv);
51 * Where should the avatar go for this user?
53 static function filename($id, $extension, $size=null, $extra=null)
56 return $id . '-' . $size . (($extra) ? ('-' . $extra) : '') . $extension;
58 return $id . '-original' . (($extra) ? ('-' . $extra) : '') . $extension;
62 static function path($filename)
64 $dir = common_config('avatar', 'dir');
66 if ($dir[strlen($dir)-1] != '/') {
70 return $dir . $filename;
73 static function url($filename)
75 $path = common_config('avatar', 'path');
77 if ($path[strlen($path)-1] != '/') {
81 if ($path[0] != '/') {
85 $server = common_config('avatar', 'server');
88 $server = common_config('site', 'server');
91 $ssl = common_config('avatar', 'ssl');
93 if (is_null($ssl)) { // null -> guess
94 if (common_config('site', 'ssl') == 'always' &&
95 !common_config('avatar', 'server')) {
102 $protocol = ($ssl) ? 'https' : 'http';
104 return $protocol.'://'.$server.$path.$filename;
107 function displayUrl()
109 $server = common_config('avatar', 'server');
110 if ($server && !empty($this->filename)) {
111 return Avatar::url($this->filename);
117 static function defaultImage($size)
119 static $sizenames = array(AVATAR_PROFILE_SIZE => 'profile',
120 AVATAR_STREAM_SIZE => 'stream',
121 AVATAR_MINI_SIZE => 'mini');
122 return Theme::path('default-avatar-'.$sizenames[$size].'.png');