]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/GNUsocialProfileExtensions/classes/GNUsocialProfileExtensionResponse.php
Merge commit 'refs/merge-requests/25' of https://gitorious.org/social/mainline into...
[quix0rs-gnu-social.git] / plugins / GNUsocialProfileExtensions / classes / GNUsocialProfileExtensionResponse.php
index fbf5af0dbb6ef2e53e71919f0295abab1d165327..7af6bb5051c396a55c1232734773ce72b5fa1348 100644 (file)
@@ -32,46 +32,36 @@ if (!defined('STATUSNET')) {
 
 require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
 
-class GNUsocialProfileExtensionResponse extends Memcached_DataObject
+class GNUsocialProfileExtensionResponse extends Managed_DataObject
 {
-    public $__table = 'GNUsocialProfileExtensionResponse';
+    public $__table = 'gnusocialprofileextensionresponse';
     public $id;           // int(11)
     public $extension_id; // int(11)
     public $profile_id;   // int(11)
     public $value;     // text
+    public $created;      // datetime()   not_null
+    public $modified;     // timestamp()   not_null default_CURRENT_TIMESTAMP
 
-    /**
-     *
-     * k key
-     * v value
-     */
-    function staticGet($k,$v=NULL)
+    public static function schemaDef()
     {
-        return Memcached_DataObject::staticGet('GNUsocialProfileExtensionResponse',$k,$v);
-    }
-
-
-    function table()
-    {
-        return array('id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
-                     'extension_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
-                     'profile_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
-                     'value' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL);
-    }
-    
-    function keys()
-    {
-        return array_keys($this->keyTypes());
-    }
-
-    function keyTypes()
-    {
-        return array('id' => 'K');
-    }
-
-    function sequenceKey()
-    {
-        return array(false, false, false);
+        return array(
+            'fields' => array(
+                'id' => array('type' => 'serial', 'not null' => true, 'description' => 'Unique ID for extension response'),
+                'extension_id' => array('type' => 'int', 'not null' => true, 'description' => 'The extension field ID'),
+                'profile_id' => array('type' => 'int', 'not null' => true, 'description' => 'Profile id that made the response'),
+                'value' => array('type' => 'text', 'not null' => true, 'description' => 'response entry'),
+                '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'),
+            'foreign keys' => array(
+                'gnusocialprofileextensionresponse_profile_id_fkey' => array('profile', array('profile_id' => 'id')),
+                'gnusocialprofileextensionresponse_extension_id_fkey' => array('gnusocialprofileextensionfield', array('extension_id' => 'id')),
+            ),
+            'indexes' => array(
+                'gnusocialprofileextensionresponse_extension_id_idx' => array('extension_id'),
+            ),
+        );
     }
 
     static function newResponse($extension_id, $profile_id, $value)
@@ -92,8 +82,8 @@ class GNUsocialProfileExtensionResponse extends Memcached_DataObject
 
     static function findResponsesByProfile($id)
     {
-        $extf = 'GNUsocialProfileExtensionField';
-        $extr = 'GNUsocialProfileExtensionResponse';
+        $extf = 'gnusocialprofileextensionfield';
+        $extr = 'gnusocialprofileextensionresponse';
         $sql = "SELECT $extr.*, $extf.title, $extf.description, $extf.type, $extf.systemname FROM $extr JOIN $extf ON $extr.extension_id=$extf.id WHERE $extr.profile_id = $id";
         $response = new GNUsocialProfileExtensionResponse();
         $response->query($sql);