]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Some minor refactoring on session handler
authorDiogo Cordeiro <diogo@fc.up.pt>
Fri, 26 Apr 2019 23:28:05 +0000 (00:28 +0100)
committerDiogo Cordeiro <diogo@fc.up.pt>
Fri, 26 Apr 2019 23:28:05 +0000 (00:28 +0100)
classes/Session.php
lib/util.php

index a54151c2dfbca166e1d6732c4eab2d8022f7c8a6..c519f812229ce913c70e938aeda7ebd5a2ec8942 100644 (file)
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-if (!defined('STATUSNET') && !defined('LACONICA')) { exit(1); }
+if (!defined('STATUSNET') && !defined('LACONICA')) {
+    exit(1);
+}
 
-require_once INSTALLDIR.'/classes/Memcached_DataObject.php';
+require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
 
 class Session extends Managed_DataObject
 {
     ###START_AUTOCODE
     /* the code below is auto generated do not remove the above tag */
 
-    public $__table = 'session';                         // table name
+    public $__table = 'session';             // table name
     public $id;                              // varchar(32)  primary_key not_null
     public $session_data;                    // text()
     public $created;                         // datetime()   not_null
-    public $modified;                        // timestamp()   not_null default_CURRENT_TIMESTAMP
+    public $modified;                        // timestamp()  not_null default_CURRENT_TIMESTAMP
 
     /* 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')) {
-            common_debug("Session: " . $msg);
-        }
+        return [
+            'fields' => [
+                'id'           => ['type' => 'varchar', 'length' => 32, 'not null' => true, 'description' => 'session ID'],
+                'session_data' => ['type' => 'text', 'description' => 'session data'],
+                'created'      => ['type' => 'datetime', 'not null' => true, 'description' => 'date this record was created'],
+                'modified'     => ['type' => 'timestamp', 'not null' => true, 'description' => 'date this record was modified'],
+            ],
+            'primary key' => ['id'],
+            'indexes' => [
+                'session_modified_idx' => ['modified'],
+            ],
+        ];
     }
 
     static function open($save_path, $session_name)
@@ -87,6 +82,13 @@ class Session extends Managed_DataObject
         }
     }
 
+    static function logdeb($msg)
+    {
+        if (common_config('sessions', 'debug')) {
+            common_debug("Session: " . $msg);
+        }
+    }
+
     static function write($id, $session_data)
     {
         self::logdeb("Writing session '$id'");
@@ -97,9 +99,9 @@ class Session extends Managed_DataObject
             self::logdeb("'$id' doesn't yet exist; inserting.");
             $session = new Session();
 
-            $session->id           = $id;
+            $session->id = $id;
             $session->session_data = $session_data;
-            $session->created      = common_sql_now();
+            $session->created = common_sql_now();
 
             $result = $session->insert();
 
@@ -136,36 +138,16 @@ class Session extends Managed_DataObject
         }
     }
 
-    static function destroy($id)
-    {
-        self::logdeb("Deleting session $id");
-
-        $session = Session::getKV('id', $id);
-
-        if (empty($session)) {
-            self::logdeb("Can't find '$id' to delete.");
-        } else {
-            $result = $session->delete();
-            if (!$result) {
-                common_log_db_error($session, 'DELETE', __FILE__);
-                self::logdeb("Failed to delete '$id'.");
-            } else {
-                self::logdeb("Successfully deleted '$id' (result = $result).");
-            }
-            return $result;
-        }
-    }
-
     static function gc($maxlifetime)
     {
         self::logdeb("garbage collection (maxlifetime = $maxlifetime)");
 
         $epoch = common_sql_date(time() - $maxlifetime);
 
-        $ids = array();
+        $ids = [];
 
         $session = new Session();
-        $session->whereAdd('modified < "'.$epoch.'"');
+        $session->whereAdd('modified < "' . $epoch . '"');
         $session->selectAdd();
         $session->selectAdd('id');
 
@@ -192,6 +174,27 @@ class Session extends Managed_DataObject
         }
     }
 
+    static function destroy($id)
+    {
+        self::logdeb("Deleting session $id");
+
+        $session = Session::getKV('id', $id);
+
+        if (empty($session)) {
+            self::logdeb("Can't find '$id' to delete.");
+            return false;
+        } else {
+            $result = $session->delete();
+            if (!$result) {
+                common_log_db_error($session, 'DELETE', __FILE__);
+                self::logdeb("Failed to delete '$id'.");
+            } else {
+                self::logdeb("Successfully deleted '$id' (result = $result).");
+            }
+            return $result;
+        }
+    }
+
     static function setSaveHandler()
     {
         self::logdeb("setting save handlers");
@@ -204,7 +207,7 @@ class Session extends Managed_DataObject
         // Registering an explicit shutdown function should take care of this before
         // everything breaks on us.
         register_shutdown_function('Session::cleanup');
-        
+
         return $result;
     }
 
index f8ca92920983572a3d6cc7901c34e172d1907ffd..9466d9c0524457afd1c244a9bddb7e815ee49275 100644 (file)
@@ -285,14 +285,14 @@ function common_ensure_session()
         if (common_config('sessions', 'handle')) {
             Session::setSaveHandler();
         }
-       if (array_key_exists(session_name(), $_GET)) {
-           $id = $_GET[session_name()];
-       } else if (array_key_exists(session_name(), $_COOKIE)) {
-           $id = $_COOKIE[session_name()];
-       }
-       if (isset($id)) {
-           session_id($id);
-       }
+        if (array_key_exists(session_name(), $_GET)) {
+            $id = $_GET[session_name()];
+        } else if (array_key_exists(session_name(), $_COOKIE)) {
+            $id = $_COOKIE[session_name()];
+        }
+        if (isset($id)) {
+            session_id($id);
+        }
         @session_start();
         if (!isset($_SESSION['started'])) {
             $_SESSION['started'] = time();