]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/OpenID/User_openid.php
Merge branch '1.1.x'
[quix0rs-gnu-social.git] / plugins / OpenID / User_openid.php
index c24a1ee9a411cb9a7bc30c01ce3acd7926f2676f..03a0b0ccd993b8a676201d12a8a074a5716f7563 100644 (file)
@@ -2,7 +2,10 @@
 /**
  * Table Definition for user_openid
  */
-require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
+
+if (!defined('STATUSNET')) {
+    exit(1);
+}
 
 class User_openid extends Memcached_DataObject
 {
@@ -23,23 +26,41 @@ class User_openid extends Memcached_DataObject
     /* the code above is auto generated do not remove the tag below */
     ###END_AUTOCODE
 
-    function table() {
-
-        global $_DB_DATAOBJECT;
-        $dbtype = $_DB_DATAOBJECT['CONNECTIONS'][$this->_database_dsn_md5]->dsn['phptype'];
+    function table()
+    {
+        $db = $this->getDatabaseConnection();
+        $dbtype = $db->phptype; // Database type is stored here. Crazy but true.
 
         return array('canonical' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
                      'display'   => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
                      'user_id'   => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
                      'created'   => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL,
-                     'modified'  => ($dbtype == 'mysql') ?
-                     DB_DATAOBJECT_MYSQLTIMESTAMP :
+                     'modified'  => ($dbtype == 'mysql' || $dbtype == 'mysqli') ?
+                     DB_DATAOBJECT_MYSQLTIMESTAMP + DB_DATAOBJECT_NOTNULL :
                      DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME
                      );
     }
 
-    function keys() {
-        return array('canonical' => 'K', 'display' => 'U');
+    /**
+     * List primary and unique keys in this table.
+     * Unique keys used for lookup *MUST* be listed to ensure proper caching.
+     */
+    function keys()
+    {
+        return array_keys($this->keyTypes());
+    }
+
+    function keyTypes()
+    {
+        return array('canonical' => 'K', 'display' => 'U', 'user_id' => 'U');
+    }
+
+    /**
+     * No sequence keys in this table.
+     */
+    function sequenceKey()
+    {
+        return array(false, false, false);
     }
 
     static function hasOpenID($user_id)