/**
  * Get class instance.
  *
  * @return WP_Sessions
  */
 public static function instance()
 {
     if (!isset(self::$instance)) {
         self::$instance = new WP_Sessions();
     }
     return self::$instance;
 }
 public function test_session_handler_clean()
 {
     $_SESSION['name'] = 'Fredrik';
     session_commit();
     $session_handler = WP_Sessions::instance()->get_session_handler();
     $this->assertSame('name|s:7:"Fredrik";', $session_handler->read(session_id()));
     global $wpdb;
     $table = $wpdb->prefix . 'sessions';
     $wpdb->update($table, ['timestamp' => time() - HOUR_IN_SECONDS * 25], ['id' => session_id()], ['%d'], ['%s']);
     $this->assertSame('name|s:7:"Fredrik";', $session_handler->read(session_id()));
     $session_handler->clean();
     $this->assertEmpty($session_handler->read(session_id()));
 }
Exemple #3
0
<?php

/**
 * Plugin Name: Sessions
 * Description: Handling sessions in database.
 * Author: Fredrik Forsmo
 * Author URI: https://frozzare.com
 * Version: 1.0.0
 */
require_once __DIR__ . '/src/class-wp-session-handler.php';
require_once __DIR__ . '/src/class-wp-sessions.php';
// Bootstrap sessions.
WP_Sessions::instance();