| 
									
										
										
										
											2008-05-15 12:28:44 -04:00
										 |  |  | <?php | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * Table Definition for avatar | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2008-09-26 12:18:24 -04:00
										 |  |  | require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; | 
					
						
							| 
									
										
										
										
											2008-05-15 12:28:44 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-06 03:13:08 -05:00
										 |  |  | class Avatar extends Memcached_DataObject | 
					
						
							| 
									
										
										
										
											2008-05-15 12:28:44 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     ###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
 | 
					
						
							| 
									
										
										
										
											2009-02-06 03:13:08 -05:00
										 |  |  |     public $original;                        // tinyint(1)
 | 
					
						
							| 
									
										
										
										
											2008-05-15 12:28:44 -04:00
										 |  |  |     public $width;                           // int(4)  primary_key not_null
 | 
					
						
							|  |  |  |     public $height;                          // int(4)  primary_key not_null
 | 
					
						
							|  |  |  |     public $mediatype;                       // varchar(32)   not_null
 | 
					
						
							| 
									
										
										
										
											2009-02-06 03:13:08 -05:00
										 |  |  |     public $filename;                        // varchar(255)
 | 
					
						
							| 
									
										
										
										
											2008-05-19 09:40:57 -04:00
										 |  |  |     public $url;                             // varchar(255)  unique_key
 | 
					
						
							|  |  |  |     public $created;                         // datetime()   not_null
 | 
					
						
							|  |  |  |     public $modified;                        // timestamp()   not_null default_CURRENT_TIMESTAMP
 | 
					
						
							| 
									
										
										
										
											2008-05-15 12:28:44 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /* Static get */ | 
					
						
							| 
									
										
										
										
											2008-12-23 14:33:23 -05:00
										 |  |  |     function staticGet($k,$v=null) | 
					
						
							|  |  |  |     { return Memcached_DataObject::staticGet('Avatar',$k,$v); } | 
					
						
							| 
									
										
										
										
											2008-05-15 12:28:44 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  |     /* the code above is auto generated do not remove the tag below */ | 
					
						
							|  |  |  |     ###END_AUTOCODE
 | 
					
						
							| 
									
										
										
										
											2008-06-05 15:37:08 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-03-22 11:54:23 -04:00
										 |  |  |     // We clean up the file, too
 | 
					
						
							| 
									
										
										
										
											2008-07-09 18:46:30 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-12-23 14:33:23 -05:00
										 |  |  |     function delete() | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |         $filename = $this->filename; | 
					
						
							|  |  |  |         if (parent::delete()) { | 
					
						
							| 
									
										
										
										
											2009-02-06 03:13:08 -05:00
										 |  |  |             @unlink(Avatar::path($filename)); | 
					
						
							| 
									
										
										
										
											2008-12-23 14:19:07 -05:00
										 |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2009-02-06 03:13:08 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-06 14:28:40 -08:00
										 |  |  |     function pkeyGet($kv) | 
					
						
							| 
									
										
										
										
											2008-12-25 09:46:01 -05:00
										 |  |  |     { | 
					
						
							|  |  |  |         return Memcached_DataObject::pkeyGet('Avatar', $kv); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-09-28 23:21:09 +02:00
										 |  |  |     /** | 
					
						
							|  |  |  |      * Where should the avatar go for this user? | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2009-02-06 03:13:08 -05:00
										 |  |  |     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) | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2009-06-15 10:45:50 -07:00
										 |  |  |         $dir = common_config('avatar', 'dir'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if ($dir[strlen($dir)-1] != '/') { | 
					
						
							|  |  |  |             $dir .= '/'; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         return $dir . $filename; | 
					
						
							| 
									
										
										
										
											2009-02-06 03:13:08 -05:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     static function url($filename) | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2009-06-15 10:45:50 -07:00
										 |  |  |         $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'); | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2009-11-25 19:22:09 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-11 16:51:15 -05:00
										 |  |  |         $ssl = common_config('avatar', 'ssl'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if (is_null($ssl)) { // null -> guess
 | 
					
						
							|  |  |  |             if (common_config('site', 'ssl') == 'always' && | 
					
						
							|  |  |  |                 !common_config('avatar', 'server')) { | 
					
						
							|  |  |  |                 $ssl = true; | 
					
						
							|  |  |  |             } else { | 
					
						
							|  |  |  |                 $ssl = false; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         $protocol = ($ssl) ? 'https' : 'http'; | 
					
						
							| 
									
										
										
										
											2009-06-15 10:45:50 -07:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-02-11 16:51:15 -05:00
										 |  |  |         return $protocol.'://'.$server.$path.$filename; | 
					
						
							| 
									
										
										
										
											2009-02-06 03:13:08 -05:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function displayUrl() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         $server = common_config('avatar', 'server'); | 
					
						
							| 
									
										
										
										
											2011-04-18 16:59:17 -04:00
										 |  |  |         if ($server && !empty($this->filename)) { | 
					
						
							| 
									
										
										
										
											2009-06-15 10:45:50 -07:00
										 |  |  |             return Avatar::url($this->filename); | 
					
						
							| 
									
										
										
										
											2009-02-06 03:13:08 -05:00
										 |  |  |         } else { | 
					
						
							|  |  |  |             return $this->url; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-06 04:03:03 -05:00
										 |  |  |     static function defaultImage($size) | 
					
						
							| 
									
										
										
										
											2009-02-06 03:13:08 -05:00
										 |  |  |     { | 
					
						
							|  |  |  |         static $sizenames = array(AVATAR_PROFILE_SIZE => 'profile', | 
					
						
							|  |  |  |                                   AVATAR_STREAM_SIZE => 'stream', | 
					
						
							|  |  |  |                                   AVATAR_MINI_SIZE => 'mini'); | 
					
						
							| 
									
										
										
										
											2009-11-08 17:04:46 -05:00
										 |  |  |         return Theme::path('default-avatar-'.$sizenames[$size].'.png'); | 
					
						
							| 
									
										
										
										
											2009-02-06 03:13:08 -05:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2008-05-15 12:28:44 -04:00
										 |  |  | } |