| 
									
										
										
										
											2009-11-10 17:10:56 -08:00
										 |  |  | <?php | 
					
						
							|  |  |  | /** | 
					
						
							|  |  |  |  * Table Definition for oauth_application | 
					
						
							|  |  |  |  */ | 
					
						
							| 
									
										
										
										
											2009-11-12 19:34:13 -08:00
										 |  |  | require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; | 
					
						
							| 
									
										
										
										
											2009-11-10 17:10:56 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-12 19:34:13 -08:00
										 |  |  | class Oauth_application extends Memcached_DataObject | 
					
						
							| 
									
										
										
										
											2009-11-10 17:10:56 -08:00
										 |  |  | { | 
					
						
							|  |  |  |     ###START_AUTOCODE
 | 
					
						
							|  |  |  |     /* the code below is auto generated do not remove the above tag */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     public $__table = 'oauth_application';               // table name
 | 
					
						
							|  |  |  |     public $id;                              // int(4)  primary_key not_null
 | 
					
						
							| 
									
										
										
										
											2009-11-12 19:34:13 -08:00
										 |  |  |     public $owner;                           // int(4)   not_null
 | 
					
						
							| 
									
										
										
										
											2009-11-10 17:10:56 -08:00
										 |  |  |     public $consumer_key;                    // varchar(255)   not_null
 | 
					
						
							|  |  |  |     public $name;                            // varchar(255)   not_null
 | 
					
						
							| 
									
										
										
										
											2009-11-12 19:34:13 -08:00
										 |  |  |     public $description;                     // varchar(255)
 | 
					
						
							| 
									
										
										
										
											2009-11-10 17:10:56 -08:00
										 |  |  |     public $icon;                            // varchar(255)   not_null
 | 
					
						
							| 
									
										
										
										
											2009-11-12 19:34:13 -08:00
										 |  |  |     public $source_url;                      // varchar(255)
 | 
					
						
							|  |  |  |     public $organization;                    // varchar(255)
 | 
					
						
							|  |  |  |     public $homepage;                        // varchar(255)
 | 
					
						
							| 
									
										
										
										
											2009-11-10 17:10:56 -08:00
										 |  |  |     public $callback_url;                    // varchar(255)   not_null
 | 
					
						
							| 
									
										
										
										
											2009-11-12 19:34:13 -08:00
										 |  |  |     public $type;                            // tinyint(1)
 | 
					
						
							|  |  |  |     public $access_type;                     // tinyint(1)
 | 
					
						
							| 
									
										
										
										
											2009-11-10 17:10:56 -08:00
										 |  |  |     public $created;                         // datetime   not_null
 | 
					
						
							|  |  |  |     public $modified;                        // timestamp   not_null default_CURRENT_TIMESTAMP
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /* Static get */ | 
					
						
							| 
									
										
										
										
											2009-11-12 19:34:13 -08:00
										 |  |  |     function staticGet($k,$v=NULL) { | 
					
						
							| 
									
										
										
										
											2010-01-13 01:22:37 +00:00
										 |  |  |     return Memcached_DataObject::staticGet('Oauth_application',$k,$v); | 
					
						
							| 
									
										
										
										
											2009-11-12 19:34:13 -08:00
										 |  |  |     } | 
					
						
							| 
									
										
										
										
											2009-11-10 17:10:56 -08:00
										 |  |  |     /* the code above is auto generated do not remove the tag below */ | 
					
						
							|  |  |  |     ###END_AUTOCODE
 | 
					
						
							| 
									
										
										
										
											2009-11-16 16:58:49 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  |     // Bit flags
 | 
					
						
							|  |  |  |     public static $readAccess  = 1; | 
					
						
							|  |  |  |     public static $writeAccess = 2; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     public static $browser = 1; | 
					
						
							|  |  |  |     public static $desktop = 2; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function getConsumer() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         return Consumer::staticGet('consumer_key', $this->consumer_key); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     static function maxDesc() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         $desclimit = common_config('application', 'desclimit'); | 
					
						
							|  |  |  |         // null => use global limit (distinct from 0!)
 | 
					
						
							|  |  |  |         if (is_null($desclimit)) { | 
					
						
							|  |  |  |             $desclimit = common_config('site', 'textlimit'); | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |         return $desclimit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     static function descriptionTooLong($desc) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         $desclimit = self::maxDesc(); | 
					
						
							|  |  |  |         return ($desclimit > 0 && !empty($desc) && (mb_strlen($desc) > $desclimit)); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     function setAccessFlags($read, $write) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         if ($read) { | 
					
						
							|  |  |  |             $this->access_type |= self::$readAccess; | 
					
						
							|  |  |  |         } else { | 
					
						
							|  |  |  |             $this->access_type &= ~self::$readAccess; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         if ($write) { | 
					
						
							|  |  |  |             $this->access_type |= self::$writeAccess; | 
					
						
							|  |  |  |         } else { | 
					
						
							|  |  |  |             $this->access_type &= ~self::$writeAccess; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-07 01:55:57 -08:00
										 |  |  |     function setOriginal($filename) | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         $imagefile = new ImageFile($this->id, Avatar::path($filename)); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         // XXX: Do we want to have a bunch of different size icons? homepage, stream, mini?
 | 
					
						
							|  |  |  |         // or just one and control size via CSS? --Zach
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         $orig = clone($this); | 
					
						
							|  |  |  |         $this->icon = Avatar::url($filename); | 
					
						
							|  |  |  |         common_debug(common_log_objstring($this)); | 
					
						
							|  |  |  |         return $this->update($orig); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-11 01:11:50 -08:00
										 |  |  |     static function getByConsumerKey($key) | 
					
						
							|  |  |  |     { | 
					
						
							| 
									
										
										
										
											2010-01-13 01:22:37 +00:00
										 |  |  |         if (empty($key)) { | 
					
						
							|  |  |  |             return null; | 
					
						
							|  |  |  |         } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         $app = new Oauth_application(); | 
					
						
							|  |  |  |         $app->consumer_key = $key; | 
					
						
							|  |  |  |         $app->limit(1); | 
					
						
							|  |  |  |         $result = $app->find(true); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         return empty($result) ? null : $app; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /** | 
					
						
							|  |  |  |      * Handle an image upload | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * Does all the magic for handling an image upload, and crops the | 
					
						
							|  |  |  |      * image by default. | 
					
						
							|  |  |  |      * | 
					
						
							|  |  |  |      * @return void | 
					
						
							|  |  |  |      */ | 
					
						
							| 
									
										
										
										
											2010-01-11 01:11:50 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-13 01:22:37 +00:00
										 |  |  |     function uploadLogo() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         if ($_FILES['app_icon']['error'] == | 
					
						
							|  |  |  |             UPLOAD_ERR_OK) { | 
					
						
							| 
									
										
										
										
											2010-01-11 01:11:50 -08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-13 01:22:37 +00:00
										 |  |  |             try { | 
					
						
							|  |  |  |                 $imagefile = ImageFile::fromUpload('app_icon'); | 
					
						
							|  |  |  |             } catch (Exception $e) { | 
					
						
							|  |  |  |                 common_debug("damn that sucks"); | 
					
						
							|  |  |  |                 $this->showForm($e->getMessage()); | 
					
						
							|  |  |  |                 return; | 
					
						
							|  |  |  |             } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             $filename = Avatar::filename($this->id, | 
					
						
							|  |  |  |                                          image_type_to_extension($imagefile->type), | 
					
						
							|  |  |  |                                          null, | 
					
						
							|  |  |  |                                          'oauth-app-icon-'.common_timestamp()); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             $filepath = Avatar::path($filename); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             move_uploaded_file($imagefile->filepath, $filepath); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             $this->setOriginal($filename); | 
					
						
							|  |  |  |         } | 
					
						
							| 
									
										
										
										
											2010-01-11 01:11:50 -08:00
										 |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-10 17:10:56 -08:00
										 |  |  | } |