]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - classes/User_username.php
Don't abort on too long notices in Notice::saveActivity
[quix0rs-gnu-social.git] / classes / User_username.php
index ae7785cc9f95c9fa623bc270a84bfcf417e1e071..0173a6efc4a0d647c76122014841363d2ce47946 100644 (file)
@@ -4,27 +4,41 @@
  */
 require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
 
-class User_username extends Memcached_DataObject
+class User_username extends Managed_DataObject
 {
     ###START_AUTOCODE
     /* the code below is auto generated do not remove the above tag */
 
     public $__table = 'user_username';                     // table name
     public $user_id;                        // int(4)  not_null
-    public $provider_name;                  // varchar(255)  primary_key not_null
-    public $username;                       // varchar(255)  primary_key not_null
+    public $provider_name;                  // varchar(191)  primary_key not_null   not 255 because utf8mb4 takes more space
+    public $username;                       // varchar(191)  primary_key not_null   not 255 because utf8mb4 takes more space
     public $created;                        // datetime()   not_null
     public $modified;                       // timestamp()   not_null default_CURRENT_TIMESTAMP
 
-    /* Static get */
-    function staticGet($k,$v=null)
-    {
-        return Memcached_DataObject::staticGet('User_username',$k,$v);
-    }
-
     /* the code above is auto generated do not remove the tag below */
     ###END_AUTOCODE
 
+    public static function schemaDef()
+    {
+        return array(
+            'fields' => array(
+                'provider_name' => array('type' => 'varchar', 'length' => 191, 'description' => 'provider name'),
+                'username' => array('type' => 'varchar', 'length' => 191, 'description' => 'username'),
+                'user_id' => array('type' => 'int', 'not null' => true, 'description' => 'notice id this title relates 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('provider_name', 'username'),
+            'indexes' => array(
+                'user_id_idx' => array('user_id')
+            ),
+            'foreign keys' => array(
+                'user_username_user_id_fkey' => array('user', array('user_id' => 'id')),
+            ),
+        );
+    }
+
     /**
     * Register a user with a username on a given provider
     * @param User User object
@@ -38,7 +52,7 @@ class User_username extends Memcached_DataObject
         $user_username->user_id = $user->id;
         $user_username->provider_name = $provider_name;
         $user_username->username = $username;
-        $user_username->created = DB_DataObject_Cast::dateTime();
+        $user_username->created = common_sql_now();
 
         if($user_username->insert()){
             return $user_username;
@@ -46,18 +60,4 @@ class User_username extends Memcached_DataObject
             return false;
         }
     }
-
-    function table() {
-        return array(
-            'user_id'     => DB_DATAOBJECT_INT,
-            'username'   => DB_DATAOBJECT_STR,
-            'provider_name'   => DB_DATAOBJECT_STR ,
-            'created'   => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME
-        );
-    }
-
-    // now define the keys.
-    function keys() {
-        return array('provider_name' => 'K', 'username' => 'K');
-    }
 }