X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=classes%2FOauth_application.php;h=f1d4fb7a6f3a12e44a6bc1e38c0f3015fc3451a1;hb=cfff80a730803b3e419b8363db41ec69fce42594;hp=d4de6d82e1639fc04f684c813b44eb9b4119c3c1;hpb=b14a97f5f95e809c6b5bffa6dab8eba06509a3dc;p=quix0rs-gnu-social.git diff --git a/classes/Oauth_application.php b/classes/Oauth_application.php index d4de6d82e1..f1d4fb7a6f 100644 --- a/classes/Oauth_application.php +++ b/classes/Oauth_application.php @@ -27,7 +27,7 @@ class Oauth_application extends Memcached_DataObject /* Static get */ function staticGet($k,$v=NULL) { - return Memcached_DataObject::staticGet('Oauth_application',$k,$v); + return Memcached_DataObject::staticGet('Oauth_application',$k,$v); } /* the code above is auto generated do not remove the tag below */ ###END_AUTOCODE @@ -46,12 +46,19 @@ class Oauth_application extends Memcached_DataObject static function maxDesc() { - $desclimit = common_config('application', 'desclimit'); - // null => use global limit (distinct from 0!) - if (is_null($desclimit)) { - $desclimit = common_config('site', 'textlimit'); + // This used to default to textlimit or allow unlimited descriptions, + // but this isn't part of a notice and the field's limited to 255 chars + // in the DB, so those seem silly. + // + // Now just defaulting to 255 max unless a smaller application desclimit + // is actually set. Setting to 0 will use the maximum. + $max = 255; + $desclimit = intval(common_config('application', 'desclimit')); + if ($desclimit > 0 && $desclimit < $max) { + return $desclimit; + } else { + return $max; } - return $desclimit; } static function descriptionTooLong($desc) @@ -88,4 +95,68 @@ class Oauth_application extends Memcached_DataObject return $this->update($orig); } + static function getByConsumerKey($key) + { + 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 + */ + function uploadLogo() + { + if ($_FILES['app_icon']['error'] == + UPLOAD_ERR_OK) { + + 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); + } + } + + function delete() + { + $this->_deleteAppUsers(); + + $consumer = $this->getConsumer(); + $consumer->delete(); + + parent::delete(); + } + + function _deleteAppUsers() + { + $oauser = new Oauth_application_user(); + $oauser->application_id = $this->id; + $oauser->delete(); + } }