]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - classes/Session.php
Merge branch 'master' of gitorious.org:social/mainline
[quix0rs-gnu-social.git] / classes / Session.php
index b9daf364dba58e7b5e7881cef4ed2ffab214595a..a54151c2dfbca166e1d6732c4eab2d8022f7c8a6 100644 (file)
@@ -23,7 +23,7 @@ if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
 
 require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
 
-class Session extends Memcached_DataObject
+class Session extends Managed_DataObject
 {
     ###START_AUTOCODE
     /* the code below is auto generated do not remove the above tag */
@@ -34,12 +34,25 @@ class Session extends Memcached_DataObject
     public $created;                         // datetime()   not_null
     public $modified;                        // timestamp()   not_null default_CURRENT_TIMESTAMP
 
-    /* Static get */
-    function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('Session',$k,$v); }
-
     /* the code above is auto generated do not remove the tag below */
     ###END_AUTOCODE
 
+    public static function schemaDef()
+    {
+        return array(
+            'fields' => array(
+                'id' => array('type' => 'varchar', 'length' => 32, 'not null' => true, 'description' => 'session ID'),
+                'session_data' => array('type' => 'text', 'description' => 'session data'),
+                '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'),
+            'indexes' => array(
+                'session_modified_idx' => array('modified'),
+            ),
+        );
+    }
+
     static function logdeb($msg)
     {
         if (common_config('sessions', 'debug')) {
@@ -61,7 +74,7 @@ class Session extends Memcached_DataObject
     {
         self::logdeb("Fetching session '$id'");
 
-        $session = Session::staticGet('id', $id);
+        $session = Session::getKV('id', $id);
 
         if (empty($session)) {
             self::logdeb("Couldn't find '$id'");
@@ -78,7 +91,7 @@ class Session extends Memcached_DataObject
     {
         self::logdeb("Writing session '$id'");
 
-        $session = Session::staticGet('id', $id);
+        $session = Session::getKV('id', $id);
 
         if (empty($session)) {
             self::logdeb("'$id' doesn't yet exist; inserting.");
@@ -87,7 +100,6 @@ class Session extends Memcached_DataObject
             $session->id           = $id;
             $session->session_data = $session_data;
             $session->created      = common_sql_now();
-            $session->modified     = common_sql_now();
 
             $result = $session->insert();
 
@@ -109,7 +121,6 @@ class Session extends Memcached_DataObject
                 $orig = clone($session);
 
                 $session->session_data = $session_data;
-                $session->modified     = common_sql_now();
 
                 $result = $session->update($orig);
 
@@ -129,7 +140,7 @@ class Session extends Memcached_DataObject
     {
         self::logdeb("Deleting session $id");
 
-        $session = Session::staticGet('id', $id);
+        $session = Session::getKV('id', $id);
 
         if (empty($session)) {
             self::logdeb("Can't find '$id' to delete.");