X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=classes%2FOauth_application.php;h=15faffe2fb3fdf3518b214f13b1ce9f4160989c8;hb=9ca3c3d1c31ff2b30ecd7bbc2ec9ec3722173f7f;hp=748b6422006b4175311a7fade7f7d5aed3ca4f8f;hpb=057ec1fceacbfec1f755a5bc6700a188aa70e33f;p=quix0rs-gnu-social.git diff --git a/classes/Oauth_application.php b/classes/Oauth_application.php index 748b642200..15faffe2fb 100644 --- a/classes/Oauth_application.php +++ b/classes/Oauth_application.php @@ -4,7 +4,7 @@ */ require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; -class Oauth_application extends Memcached_DataObject +class Oauth_application extends Managed_DataObject { ###START_AUTOCODE /* the code below is auto generated do not remove the above tag */ @@ -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) @@ -110,7 +117,6 @@ class Oauth_application extends Memcached_DataObject * * @return void */ - function uploadLogo() { if ($_FILES['app_icon']['error'] == @@ -154,4 +160,34 @@ class Oauth_application extends Memcached_DataObject $oauser->delete(); } + public static function schemaDef() + { + return array( + 'description' => 'OAuth application registration record', + 'fields' => array( + 'id' => array('type' => 'serial', 'not null' => true, 'description' => 'unique identifier'), + 'owner' => array('type' => 'int', 'not null' => true, 'description' => 'owner of the application'), + 'consumer_key' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'application consumer key'), + 'name' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'name of the application'), + 'description' => array('type' => 'varchar', 'length' => 255, 'description' => 'description of the application'), + 'icon' => array('type' => 'varchar', 'length' => 255, 'not null' => true, 'description' => 'application icon'), + 'source_url' => array('type' => 'varchar', 'length' => 255, 'description' => 'application homepage - used for source link'), + 'organization' => array('type' => 'varchar', 'length' => 255, 'description' => 'name of the organization running the application'), + 'homepage' => array('type' => 'varchar', 'length' => 255, 'description' => 'homepage for the organization'), + 'callback_url' => array('type' => 'varchar', 'length' => 255, 'description' => 'url to redirect to after authentication'), + 'type' => array('type' => 'int', 'size' => 'tiny', 'default' => 0, 'description' => 'type of app, 1 = browser, 2 = desktop'), + 'access_type' => array('type' => 'int', 'size' => 'tiny', 'default' => 0, 'description' => 'default access type, bit 1 = read, bit 2 = write'), + 'created' => array('type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'), + 'modified' => array('type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'), + ), + 'primary key' => array('id'), + 'unique keys' => array( + 'oauth_application_name_key' => array('name'), // in the long run, we should perhaps not force these unique, and use another source id + ), + 'foreign keys' => array( + 'oauth_application_owner_fkey' => array('profile', array('owner' => 'id')), // Are remote users allowed to create oauth application records? + 'oauth_application_consumer_key_fkey' => array('consumer', array('consumer_key' => 'consumer_key')), + ), + ); + } }