X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=classes%2FUser_im_prefs.php;h=16fd030bb42ce43c35307ef4d8826fb3fa5fd263;hb=1ae5ea8f4cf40113a14a183b754101177f99ba32;hp=8ecdfe9fab74494d3e29ea1a7069066de872ebce;hpb=39392e03a71d94d6b984033b994b417edfc2d8d6;p=quix0rs-gnu-social.git diff --git a/classes/User_im_prefs.php b/classes/User_im_prefs.php index 8ecdfe9fab..16fd030bb4 100644 --- a/classes/User_im_prefs.php +++ b/classes/User_im_prefs.php @@ -29,15 +29,15 @@ require_once INSTALLDIR.'/classes/Memcached_DataObject.php'; -class User_im_prefs extends Memcached_DataObject +class User_im_prefs extends Managed_DataObject { ###START_AUTOCODE /* the code below is auto generated do not remove the above tag */ public $__table = 'user_im_prefs'; // table name public $user_id; // int(4) primary_key not_null - public $screenname; // varchar(255) not_null - public $transport; // varchar(255) not_null + public $screenname; // varchar(191) not_null not 255 because utf8mb4 takes more space + public $transport; // varchar(191) not_null not 255 because utf8mb4 takes more space public $notify; // tinyint(1) public $replies; // tinyint(1) public $microid; // tinyint(1) @@ -45,27 +45,31 @@ class User_im_prefs extends Memcached_DataObject public $created; // datetime not_null default_0000-00-00%2000%3A00%3A00 public $modified; // timestamp not_null default_CURRENT_TIMESTAMP - /* Static get */ - function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('User_im_prefs',$k,$v); } - - function pkeyGet($kv) - { - return Memcached_DataObject::pkeyGet('User_im_prefs', $kv); - } - /* the code above is auto generated do not remove the tag below */ ###END_AUTOCODE - /* - DB_DataObject calculates the sequence key(s) by taking the first key returned by the keys() function. - In this case, the keys() function returns user_id as the first key. user_id is not a sequence, but - DB_DataObject's sequenceKey() will incorrectly think it is. Then, since the sequenceKey() is a numeric - type, but is not set to autoincrement in the database, DB_DataObject will create a _seq table and - manage the sequence itself. This is not the correct behavior for the user_id in this class. - So we override that incorrect behavior, and simply say there is no sequence key. - */ - function sequenceKey() + public static function schemaDef() { - return array(false,false); + return array( + 'fields' => array( + 'user_id' => array('type' => 'int', 'not null' => true, 'description' => 'user'), + 'screenname' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'screenname on this service'), + 'transport' => array('type' => 'varchar', 'length' => 191, 'not null' => true, 'description' => 'transport (ex xmpp, aim)'), + 'notify' => array('type' => 'int', 'size' => 'tiny', 'not null' => true, 'default' => 0, 'description' => 'Notify when a new notice is sent'), + 'replies' => array('type' => 'int', 'size' => 'tiny', 'not null' => true, 'default' => 0, 'description' => 'Send replies from people not subscribed to'), + 'microid' => array('type' => 'int', 'size' => 'tiny', 'not null' => true, 'default' => 1, 'description' => 'Publish a MicroID'), + 'updatefrompresence' => array('type' => 'int', 'size' => 'tiny', 'not null' => true, 'default' => 0, 'description' => 'Send replies from people not subscribed to.'), + '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('user_id', 'transport'), + 'unique keys' => array( + 'transport_screenname_key' => array('transport', 'screenname'), + ), + 'foreign keys' => array( + 'user_im_prefs_user_id_fkey' => array('user', array('user_id' => 'id')), + ), + ); } + }