Completed
Pull Request — master (#51)
by
unknown
01:25
created
src/HybridSession.php 2 patches
Doc Comments   +2 added lines patch added patch discarded remove patch
@@ -25,6 +25,7 @@  discard block
 block discarded – undo
25 25
 
26 26
     /**
27 27
      * @param SessionHandlerInterface[]
28
+     * @param BaseStore[] $handlers
28 29
      *
29 30
      * @return $this
30 31
      */
@@ -38,6 +39,7 @@  discard block
 block discarded – undo
38 39
 
39 40
     /**
40 41
      * @param string
42
+     * @param string $key
41 43
      *
42 44
      * @return $this
43 45
      */
Please login to merge, or discard this patch.
Indentation   +148 added lines, -148 removed lines patch added patch discarded remove patch
@@ -9,152 +9,152 @@
 block discarded – undo
9 9
 class HybridSession extends BaseStore
10 10
 {
11 11
 
12
-    /**
13
-     * List of session handlers
14
-     *
15
-     * @var array
16
-     */
17
-    protected $handlers = [];
18
-
19
-    /**
20
-     * True if this session store has been initialised
21
-     *
22
-     * @var bool
23
-     */
24
-    protected static $enabled = false;
25
-
26
-    /**
27
-     * @param SessionHandlerInterface[]
28
-     *
29
-     * @return $this
30
-     */
31
-    public function setHandlers($handlers)
32
-    {
33
-        $this->handlers = $handlers;
34
-        $this->setKey($this->getKey());
35
-
36
-        return $this;
37
-    }
38
-
39
-    /**
40
-     * @param string
41
-     *
42
-     * @return $this
43
-     */
44
-    public function setKey($key)
45
-    {
46
-        parent::setKey($key);
47
-
48
-        foreach ($this->getHandlers() as $handler) {
49
-            $handler->setKey($key);
50
-        }
51
-
52
-        return $this;
53
-    }
54
-
55
-    /**
56
-     * @return SessionHandlerInterface[]
57
-     */
58
-    public function getHandlers()
59
-    {
60
-        return $this->handlers ?: [];
61
-    }
62
-
63
-    /**
64
-     * @param string $save_path
65
-     * @param string $name
66
-     *
67
-     * @return bool
68
-     */
69
-    public function open($save_path, $name)
70
-    {
71
-        foreach ($this->getHandlers() as $handler) {
72
-            $handler->open($save_path, $name);
73
-        }
74
-
75
-        return true;
76
-    }
77
-
78
-    /**
79
-     * @return bool
80
-     */
81
-    public function close()
82
-    {
83
-        foreach ($this->getHandlers() as $handler) {
84
-            $handler->close();
85
-        }
86
-
87
-        return true;
88
-    }
89
-
90
-    /**
91
-     * @param string $session_id
92
-     *
93
-     * @return string
94
-     */
95
-    public function read($session_id)
96
-    {
97
-        foreach ($this->getHandlers() as $handler) {
98
-            if ($data = $handler->read($session_id)) {
99
-                return $data;
100
-            }
101
-        }
102
-
103
-        return '';
104
-    }
105
-
106
-    public function write($session_id, $session_data)
107
-    {
108
-        foreach ($this->getHandlers() as $handler) {
109
-            if ($handler->write($session_id, $session_data)) {
110
-                return true;
111
-            }
112
-        }
113
-
114
-        return false;
115
-    }
116
-
117
-    public function destroy($session_id)
118
-    {
119
-        foreach ($this->getHandlers() as $handler) {
120
-            $handler->destroy($session_id);
121
-        }
122
-
123
-        return true;
124
-    }
125
-
126
-    public function gc($maxlifetime)
127
-    {
128
-        foreach ($this->getHandlers() as $handler) {
129
-            $handler->gc($maxlifetime);
130
-        }
131
-    }
132
-
133
-    /**
134
-     * Register the session handler as the default
135
-     *
136
-     * @param string $key Desired session key
137
-     */
138
-    public static function init($key = null)
139
-    {
140
-        $instance = Injector::inst()->get(__CLASS__);
141
-
142
-        if (empty($key)) {
143
-            user_error(
144
-                'HybridSession::init() was not given a $key. Disabling cookie-based storage',
145
-                E_USER_WARNING
146
-            );
147
-        } else {
148
-            $instance->setKey($key);
149
-        }
150
-
151
-        session_set_save_handler($instance, true);
152
-
153
-        self::$enabled = true;
154
-    }
155
-
156
-    public static function is_enabled()
157
-    {
158
-        return self::$enabled;
159
-    }
12
+	/**
13
+	 * List of session handlers
14
+	 *
15
+	 * @var array
16
+	 */
17
+	protected $handlers = [];
18
+
19
+	/**
20
+	 * True if this session store has been initialised
21
+	 *
22
+	 * @var bool
23
+	 */
24
+	protected static $enabled = false;
25
+
26
+	/**
27
+	 * @param SessionHandlerInterface[]
28
+	 *
29
+	 * @return $this
30
+	 */
31
+	public function setHandlers($handlers)
32
+	{
33
+		$this->handlers = $handlers;
34
+		$this->setKey($this->getKey());
35
+
36
+		return $this;
37
+	}
38
+
39
+	/**
40
+	 * @param string
41
+	 *
42
+	 * @return $this
43
+	 */
44
+	public function setKey($key)
45
+	{
46
+		parent::setKey($key);
47
+
48
+		foreach ($this->getHandlers() as $handler) {
49
+			$handler->setKey($key);
50
+		}
51
+
52
+		return $this;
53
+	}
54
+
55
+	/**
56
+	 * @return SessionHandlerInterface[]
57
+	 */
58
+	public function getHandlers()
59
+	{
60
+		return $this->handlers ?: [];
61
+	}
62
+
63
+	/**
64
+	 * @param string $save_path
65
+	 * @param string $name
66
+	 *
67
+	 * @return bool
68
+	 */
69
+	public function open($save_path, $name)
70
+	{
71
+		foreach ($this->getHandlers() as $handler) {
72
+			$handler->open($save_path, $name);
73
+		}
74
+
75
+		return true;
76
+	}
77
+
78
+	/**
79
+	 * @return bool
80
+	 */
81
+	public function close()
82
+	{
83
+		foreach ($this->getHandlers() as $handler) {
84
+			$handler->close();
85
+		}
86
+
87
+		return true;
88
+	}
89
+
90
+	/**
91
+	 * @param string $session_id
92
+	 *
93
+	 * @return string
94
+	 */
95
+	public function read($session_id)
96
+	{
97
+		foreach ($this->getHandlers() as $handler) {
98
+			if ($data = $handler->read($session_id)) {
99
+				return $data;
100
+			}
101
+		}
102
+
103
+		return '';
104
+	}
105
+
106
+	public function write($session_id, $session_data)
107
+	{
108
+		foreach ($this->getHandlers() as $handler) {
109
+			if ($handler->write($session_id, $session_data)) {
110
+				return true;
111
+			}
112
+		}
113
+
114
+		return false;
115
+	}
116
+
117
+	public function destroy($session_id)
118
+	{
119
+		foreach ($this->getHandlers() as $handler) {
120
+			$handler->destroy($session_id);
121
+		}
122
+
123
+		return true;
124
+	}
125
+
126
+	public function gc($maxlifetime)
127
+	{
128
+		foreach ($this->getHandlers() as $handler) {
129
+			$handler->gc($maxlifetime);
130
+		}
131
+	}
132
+
133
+	/**
134
+	 * Register the session handler as the default
135
+	 *
136
+	 * @param string $key Desired session key
137
+	 */
138
+	public static function init($key = null)
139
+	{
140
+		$instance = Injector::inst()->get(__CLASS__);
141
+
142
+		if (empty($key)) {
143
+			user_error(
144
+				'HybridSession::init() was not given a $key. Disabling cookie-based storage',
145
+				E_USER_WARNING
146
+			);
147
+		} else {
148
+			$instance->setKey($key);
149
+		}
150
+
151
+		session_set_save_handler($instance, true);
152
+
153
+		self::$enabled = true;
154
+	}
155
+
156
+	public static function is_enabled()
157
+	{
158
+		return self::$enabled;
159
+	}
160 160
 }
Please login to merge, or discard this patch.
tests/HybridSessionTest.php 1 patch
Indentation   +79 added lines, -79 removed lines patch added patch discarded remove patch
@@ -9,83 +9,83 @@
 block discarded – undo
9 9
 
10 10
 class HybridSessionTest extends SapphireTest
11 11
 {
12
-    /**
13
-     * @var BaseStore
14
-     */
15
-    protected $handler;
16
-
17
-    /**
18
-     * @var HybridSession
19
-     */
20
-    protected $instance;
21
-
22
-    protected function setUp()
23
-    {
24
-        parent::setUp();
25
-
26
-        $this->handler = $this->createMock(TestCookieStore::class);
27
-
28
-        $this->instance = new HybridSession();
29
-    }
30
-
31
-    public function testSetHandlersAlsoSetsKeyToEachHandler()
32
-    {
33
-        $this->instance->setKey('foobar');
34
-        $this->handler->expects($this->once())->method('setKey')->with('foobar');
35
-        $this->instance->setHandlers([$this->handler]);
36
-    }
37
-
38
-    public function testOpenDelegatesToAllHandlers()
39
-    {
40
-        $this->handler->expects($this->once())->method('open')->with('foo', 'bar');
41
-        $this->instance->setHandlers([$this->handler]);
42
-        $this->assertTrue($this->instance->open('foo', 'bar'), 'Method returns true after delegation');
43
-    }
44
-
45
-    public function testCloseDelegatesToAllHandlers()
46
-    {
47
-        $this->handler->expects($this->once())->method('close');
48
-        $this->instance->setHandlers([$this->handler]);
49
-        $this->assertTrue($this->instance->close(), 'Method returns true after delegation');
50
-    }
51
-
52
-    public function testReadReturnsEmptyStringWithNoHandlers()
53
-    {
54
-        $this->handler->expects($this->once())->method('read')->with('foosession')->willReturn(false);
55
-        $this->instance->setHandlers([$this->handler]);
56
-        $this->assertSame('', $this->instance->read('foosession'));
57
-    }
58
-
59
-    public function testReadReturnsHandlerDelegateResult()
60
-    {
61
-        $this->handler->expects($this->once())->method('read')->with('foo.session')->willReturn('success!');
62
-        $this->instance->setHandlers([$this->handler]);
63
-        $this->assertSame('success!', $this->instance->read('foo.session'));
64
-    }
65
-
66
-    public function testWriteDelegatesToHandlerAndReturnsTrue()
67
-    {
68
-        $this->handler->expects($this->once())->method('write')->with('foo', 'bar')->willReturn(true);
69
-        $this->instance->setHandlers([$this->handler]);
70
-        $this->assertTrue($this->instance->write('foo', 'bar'));
71
-    }
72
-
73
-    public function testWriteReturnsFalseWithNoHandlers()
74
-    {
75
-        $this->assertFalse($this->instance->write('no', 'handlers'));
76
-    }
77
-
78
-    public function testDestroyDelegatesToHandler()
79
-    {
80
-        $this->handler->expects($this->once())->method('destroy')->with('sessid1234');
81
-        $this->instance->setHandlers([$this->handler]);
82
-        $this->assertTrue($this->instance->destroy('sessid1234'), 'Method returns true after delegation');
83
-    }
84
-
85
-    public function testGcDelegatesToHandlers()
86
-    {
87
-        $this->handler->expects($this->once())->method('gc')->with(12345);
88
-        $this->instance->setHandlers([$this->handler]);
89
-        $this->instance->gc(12345);
90
-    }
12
+	/**
13
+	 * @var BaseStore
14
+	 */
15
+	protected $handler;
16
+
17
+	/**
18
+	 * @var HybridSession
19
+	 */
20
+	protected $instance;
21
+
22
+	protected function setUp()
23
+	{
24
+		parent::setUp();
25
+
26
+		$this->handler = $this->createMock(TestCookieStore::class);
27
+
28
+		$this->instance = new HybridSession();
29
+	}
30
+
31
+	public function testSetHandlersAlsoSetsKeyToEachHandler()
32
+	{
33
+		$this->instance->setKey('foobar');
34
+		$this->handler->expects($this->once())->method('setKey')->with('foobar');
35
+		$this->instance->setHandlers([$this->handler]);
36
+	}
37
+
38
+	public function testOpenDelegatesToAllHandlers()
39
+	{
40
+		$this->handler->expects($this->once())->method('open')->with('foo', 'bar');
41
+		$this->instance->setHandlers([$this->handler]);
42
+		$this->assertTrue($this->instance->open('foo', 'bar'), 'Method returns true after delegation');
43
+	}
44
+
45
+	public function testCloseDelegatesToAllHandlers()
46
+	{
47
+		$this->handler->expects($this->once())->method('close');
48
+		$this->instance->setHandlers([$this->handler]);
49
+		$this->assertTrue($this->instance->close(), 'Method returns true after delegation');
50
+	}
51
+
52
+	public function testReadReturnsEmptyStringWithNoHandlers()
53
+	{
54
+		$this->handler->expects($this->once())->method('read')->with('foosession')->willReturn(false);
55
+		$this->instance->setHandlers([$this->handler]);
56
+		$this->assertSame('', $this->instance->read('foosession'));
57
+	}
58
+
59
+	public function testReadReturnsHandlerDelegateResult()
60
+	{
61
+		$this->handler->expects($this->once())->method('read')->with('foo.session')->willReturn('success!');
62
+		$this->instance->setHandlers([$this->handler]);
63
+		$this->assertSame('success!', $this->instance->read('foo.session'));
64
+	}
65
+
66
+	public function testWriteDelegatesToHandlerAndReturnsTrue()
67
+	{
68
+		$this->handler->expects($this->once())->method('write')->with('foo', 'bar')->willReturn(true);
69
+		$this->instance->setHandlers([$this->handler]);
70
+		$this->assertTrue($this->instance->write('foo', 'bar'));
71
+	}
72
+
73
+	public function testWriteReturnsFalseWithNoHandlers()
74
+	{
75
+		$this->assertFalse($this->instance->write('no', 'handlers'));
76
+	}
77
+
78
+	public function testDestroyDelegatesToHandler()
79
+	{
80
+		$this->handler->expects($this->once())->method('destroy')->with('sessid1234');
81
+		$this->instance->setHandlers([$this->handler]);
82
+		$this->assertTrue($this->instance->destroy('sessid1234'), 'Method returns true after delegation');
83
+	}
84
+
85
+	public function testGcDelegatesToHandlers()
86
+	{
87
+		$this->handler->expects($this->once())->method('gc')->with(12345);
88
+		$this->instance->setHandlers([$this->handler]);
89
+		$this->instance->gc(12345);
90
+	}
91 91
 }
Please login to merge, or discard this patch.
tests/Store/TestCookieStore.php 1 patch
Indentation   +15 added lines, -15 removed lines patch added patch discarded remove patch
@@ -7,21 +7,21 @@
 block discarded – undo
7 7
 
8 8
 class TestCookieStore extends CookieStore implements TestOnly
9 9
 {
10
-    /**
11
-     * Override value of 'headers_sent' but only if running tests.
12
-     *
13
-     * Set to true or false, or null to not override
14
-     *
15
-     * @var string
16
-     */
17
-    public static $override_headers_sent = null;
10
+	/**
11
+	 * Override value of 'headers_sent' but only if running tests.
12
+	 *
13
+	 * Set to true or false, or null to not override
14
+	 *
15
+	 * @var string
16
+	 */
17
+	public static $override_headers_sent = null;
18 18
 
19
-    protected function canWrite()
20
-    {
21
-        if (self::$override_headers_sent !== null) {
22
-            return !self::$override_headers_sent;
23
-        }
19
+	protected function canWrite()
20
+	{
21
+		if (self::$override_headers_sent !== null) {
22
+			return !self::$override_headers_sent;
23
+		}
24 24
 
25
-        parent::canWrite();
26
-    }
25
+		parent::canWrite();
26
+	}
27 27
 }
Please login to merge, or discard this patch.
tests/OpenSSLCryptoTest.php 2 patches
Indentation   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -8,20 +8,20 @@
 block discarded – undo
8 8
 
9 9
 class OpenSSLCryptoTest extends SapphireTest
10 10
 {
11
-    /**
12
-     * @requires extension openssl
13
-     */
14
-    public function testIntegrity()
15
-    {
16
-        $key = random_bytes(8);
17
-        $salt = random_bytes(16);
11
+	/**
12
+	 * @requires extension openssl
13
+	 */
14
+	public function testIntegrity()
15
+	{
16
+		$key = random_bytes(8);
17
+		$salt = random_bytes(16);
18 18
 
19
-        $handler = new OpenSSLCrypto($key, $salt);
19
+		$handler = new OpenSSLCrypto($key, $salt);
20 20
 
21
-        for ($i=0; $i<1000; ++$i) {
22
-            $data = random_bytes(1024 * 4);
21
+		for ($i=0; $i<1000; ++$i) {
22
+			$data = random_bytes(1024 * 4);
23 23
 
24
-            $this->assertEquals($data, $handler->decrypt($handler->encrypt($data)));
25
-        }
26
-    }
24
+			$this->assertEquals($data, $handler->decrypt($handler->encrypt($data)));
25
+		}
26
+	}
27 27
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -18,7 +18,7 @@
 block discarded – undo
18 18
 
19 19
         $handler = new OpenSSLCrypto($key, $salt);
20 20
 
21
-        for ($i=0; $i<1000; ++$i) {
21
+        for ($i = 0; $i < 1000; ++$i) {
22 22
             $data = random_bytes(1024 * 4);
23 23
 
24 24
             $this->assertEquals($data, $handler->decrypt($handler->encrypt($data)));
Please login to merge, or discard this patch.
tests/McryptCryptoTest.php 2 patches
Indentation   +13 added lines, -13 removed lines patch added patch discarded remove patch
@@ -8,20 +8,20 @@
 block discarded – undo
8 8
 
9 9
 class McryptCryptoTest extends SapphireTest
10 10
 {
11
-    /**
12
-     * @requires extension mcrypt
13
-     */
14
-    public function testIntegrity()
15
-    {
16
-        $key = random_bytes(8);
17
-        $salt = random_bytes(16);
11
+	/**
12
+	 * @requires extension mcrypt
13
+	 */
14
+	public function testIntegrity()
15
+	{
16
+		$key = random_bytes(8);
17
+		$salt = random_bytes(16);
18 18
 
19
-        $handler = new McryptCrypto($key, $salt);
19
+		$handler = new McryptCrypto($key, $salt);
20 20
 
21
-        for ($i=0; $i<1000; ++$i) {
22
-            $data = random_bytes(1024 * 4);
21
+		for ($i=0; $i<1000; ++$i) {
22
+			$data = random_bytes(1024 * 4);
23 23
 
24
-            $this->assertEquals($data, $handler->decrypt($handler->encrypt($data)));
25
-        }
26
-    }
24
+			$this->assertEquals($data, $handler->decrypt($handler->encrypt($data)));
25
+		}
26
+	}
27 27
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -18,7 +18,7 @@
 block discarded – undo
18 18
 
19 19
         $handler = new McryptCrypto($key, $salt);
20 20
 
21
-        for ($i=0; $i<1000; ++$i) {
21
+        for ($i = 0; $i < 1000; ++$i) {
22 22
             $data = random_bytes(1024 * 4);
23 23
 
24 24
             $this->assertEquals($data, $handler->decrypt($handler->encrypt($data)));
Please login to merge, or discard this patch.
src/Store/DatabaseStore/BinaryDataJsonCodec.php 1 patch
Indentation   +30 added lines, -30 removed lines patch added patch discarded remove patch
@@ -11,38 +11,38 @@
 block discarded – undo
11 11
  */
12 12
 trait BinaryDataJsonCodec
13 13
 {
14
-    /**
15
-     * Encode binary data into ASCII string (a subset of UTF-8)
16
-     *
17
-     * @param string $data This is a binary blob
18
-     *
19
-     * @return string
20
-     */
21
-    public function binary_data_json_encode($data) {
22
-        return json_encode([
23
-            self::class,
24
-            base64_encode($data)
25
-        ]);
26
-    }
14
+	/**
15
+	 * Encode binary data into ASCII string (a subset of UTF-8)
16
+	 *
17
+	 * @param string $data This is a binary blob
18
+	 *
19
+	 * @return string
20
+	 */
21
+	public function binary_data_json_encode($data) {
22
+		return json_encode([
23
+			self::class,
24
+			base64_encode($data)
25
+		]);
26
+	}
27 27
 
28
-    /**
29
-     * Decode ASCII string into original binary data (a php string)
30
-     *
31
-     * @param string $text
32
-     *
33
-     * @param null|string
34
-     */
35
-    public function binary_data_json_decode($text) {
36
-        $struct = json_decode($text, true, 2);
28
+	/**
29
+	 * Decode ASCII string into original binary data (a php string)
30
+	 *
31
+	 * @param string $text
32
+	 *
33
+	 * @param null|string
34
+	 */
35
+	public function binary_data_json_decode($text) {
36
+		$struct = json_decode($text, true, 2);
37 37
 
38
-        if (!is_array($struct) || count($struct) !== 2) {
39
-            return null;
40
-        }
38
+		if (!is_array($struct) || count($struct) !== 2) {
39
+			return null;
40
+		}
41 41
 
42
-        if (!isset($struct[0]) || !isset($struct[1]) || $struct[0] !== self::class) {
43
-            return null;
44
-        }
42
+		if (!isset($struct[0]) || !isset($struct[1]) || $struct[0] !== self::class) {
43
+			return null;
44
+		}
45 45
 
46
-        return base64_decode($struct[1]);
47
-    }
46
+		return base64_decode($struct[1]);
47
+	}
48 48
 }
Please login to merge, or discard this patch.
src/Store/DatabaseStore.php 1 patch
Indentation   +84 added lines, -84 removed lines patch added patch discarded remove patch
@@ -12,96 +12,96 @@
 block discarded – undo
12 12
 
13 13
 class DatabaseStore extends BaseStore
14 14
 {
15
-    use BinaryDataJsonCodec;
16
-
17
-    /**
18
-     * Determine if the DB is ready to use.
19
-     *
20
-     * @return bool
21
-     * @throws Exception
22
-     */
23
-    protected function isDatabaseReady()
24
-    {
25
-        // Such as during setup of testsession prior to DB connection.
26
-        if (!DB::is_active()) {
27
-            return false;
28
-        }
29
-
30
-        // If we have a DB of the wrong type then complain
31
-        if (!(DB::get_conn() instanceof MySQLDatabase)) {
32
-            throw new Exception('HybridSessions\Store\DatabaseStore currently only works with MySQL databases');
33
-        }
34
-
35
-        // Prevent freakout during dev/build
36
-        return ClassInfo::hasTable('HybridSessionDataObject');
37
-    }
38
-
39
-    public function open($save_path, $name)
40
-    {
41
-        // no-op
42
-    }
43
-
44
-    public function close()
45
-    {
46
-        // no-op
47
-    }
48
-
49
-    public function read($session_id)
50
-    {
51
-        if (!$this->isDatabaseReady()) {
52
-            return null;
53
-        }
54
-
55
-        $query = sprintf(
56
-            'SELECT "Data" FROM "HybridSessionDataObject"
15
+	use BinaryDataJsonCodec;
16
+
17
+	/**
18
+	 * Determine if the DB is ready to use.
19
+	 *
20
+	 * @return bool
21
+	 * @throws Exception
22
+	 */
23
+	protected function isDatabaseReady()
24
+	{
25
+		// Such as during setup of testsession prior to DB connection.
26
+		if (!DB::is_active()) {
27
+			return false;
28
+		}
29
+
30
+		// If we have a DB of the wrong type then complain
31
+		if (!(DB::get_conn() instanceof MySQLDatabase)) {
32
+			throw new Exception('HybridSessions\Store\DatabaseStore currently only works with MySQL databases');
33
+		}
34
+
35
+		// Prevent freakout during dev/build
36
+		return ClassInfo::hasTable('HybridSessionDataObject');
37
+	}
38
+
39
+	public function open($save_path, $name)
40
+	{
41
+		// no-op
42
+	}
43
+
44
+	public function close()
45
+	{
46
+		// no-op
47
+	}
48
+
49
+	public function read($session_id)
50
+	{
51
+		if (!$this->isDatabaseReady()) {
52
+			return null;
53
+		}
54
+
55
+		$query = sprintf(
56
+			'SELECT "Data" FROM "HybridSessionDataObject"
57 57
             WHERE "SessionID" = \'%s\' AND "Expiry" >= %s',
58
-            Convert::raw2sql($session_id),
59
-            $this->getNow()
60
-        );
58
+			Convert::raw2sql($session_id),
59
+			$this->getNow()
60
+		);
61 61
 
62
-        $result = DB::query($query);
62
+		$result = DB::query($query);
63 63
 
64
-        if ($result && $result->numRecords()) {
65
-            $data = $result->first();
66
-            $decoded = $this->binary_data_json_decode($data['Data']);
67
-            return is_null($decoded) ? $data['Data'] : $decoded;
68
-        }
69
-    }
64
+		if ($result && $result->numRecords()) {
65
+			$data = $result->first();
66
+			$decoded = $this->binary_data_json_decode($data['Data']);
67
+			return is_null($decoded) ? $data['Data'] : $decoded;
68
+		}
69
+	}
70 70
 
71
-    public function write($session_id, $session_data)
72
-    {
73
-        if (!$this->isDatabaseReady()) {
74
-            return false;
75
-        }
71
+	public function write($session_id, $session_data)
72
+	{
73
+		if (!$this->isDatabaseReady()) {
74
+			return false;
75
+		}
76 76
 
77
-        $expiry = $this->getNow() + $this->getLifetime();
77
+		$expiry = $this->getNow() + $this->getLifetime();
78 78
 
79
-        DB::query($str = sprintf(
80
-            'INSERT INTO "HybridSessionDataObject" ("SessionID", "Expiry", "Data")
79
+		DB::query($str = sprintf(
80
+			'INSERT INTO "HybridSessionDataObject" ("SessionID", "Expiry", "Data")
81 81
             VALUES (\'%1$s\', %2$u, \'%3$s\')
82 82
             ON DUPLICATE KEY UPDATE "Expiry" = %2$u, "Data" = \'%3$s\'',
83
-            Convert::raw2sql($session_id),
84
-            $expiry,
85
-            Convert::raw2sql($this->binary_data_json_encode($session_data))
86
-        ));
87
-
88
-        return true;
89
-    }
90
-
91
-    public function destroy($session_id)
92
-    {
93
-        // NOP
94
-    }
95
-
96
-    public function gc($maxlifetime)
97
-    {
98
-        if (!$this->isDatabaseReady()) {
99
-            return;
100
-        }
101
-
102
-        DB::query(sprintf(
103
-            'DELETE FROM "HybridSessionDataObject" WHERE "Expiry" < %u',
104
-            $this->getNow()
105
-        ));
106
-    }
83
+			Convert::raw2sql($session_id),
84
+			$expiry,
85
+			Convert::raw2sql($this->binary_data_json_encode($session_data))
86
+		));
87
+
88
+		return true;
89
+	}
90
+
91
+	public function destroy($session_id)
92
+	{
93
+		// NOP
94
+	}
95
+
96
+	public function gc($maxlifetime)
97
+	{
98
+		if (!$this->isDatabaseReady()) {
99
+			return;
100
+		}
101
+
102
+		DB::query(sprintf(
103
+			'DELETE FROM "HybridSessionDataObject" WHERE "Expiry" < %u',
104
+			$this->getNow()
105
+		));
106
+	}
107 107
 }
Please login to merge, or discard this patch.
tests/Store/BinaryDataJsonCodecImplementation.php 1 patch
Indentation   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -7,5 +7,5 @@
 block discarded – undo
7 7
 
8 8
 class BinaryDataJsonCodecImplementation implements TestOnly
9 9
 {
10
-    use BinaryDataJsonCodec;
10
+	use BinaryDataJsonCodec;
11 11
 }
Please login to merge, or discard this patch.
tests/DatabaseStoreTest.php 2 patches
Indentation   +21 added lines, -21 removed lines patch added patch discarded remove patch
@@ -11,31 +11,31 @@
 block discarded – undo
11 11
 
12 12
 class DatabaseStoreTest extends AbstractTest
13 13
 {
14
-    protected function setUp()
15
-    {
16
-        parent::setUp();
14
+	protected function setUp()
15
+	{
16
+		parent::setUp();
17 17
 
18
-        if (!DB::get_conn() instanceof MySQLDatabase) {
19
-            $this->markTestSkipped('Only MySQL databases are supported');
20
-        }
21
-    }
18
+		if (!DB::get_conn() instanceof MySQLDatabase) {
19
+			$this->markTestSkipped('Only MySQL databases are supported');
20
+		}
21
+	}
22 22
 
23
-    protected function getStore()
24
-    {
25
-        $store = Injector::inst()->get(DatabaseStore::class);
26
-        $store->setKey(uniqid());
23
+	protected function getStore()
24
+	{
25
+		$store = Injector::inst()->get(DatabaseStore::class);
26
+		$store->setKey(uniqid());
27 27
 
28
-        return $store;
29
-    }
28
+		return $store;
29
+	}
30 30
 
31
-    public function testDataCodecIntegrity()
32
-    {
33
-        $codec = new BinaryDataJsonCodecImplementation;
31
+	public function testDataCodecIntegrity()
32
+	{
33
+		$codec = new BinaryDataJsonCodecImplementation;
34 34
 
35
-        for ($i=0; $i<1000; ++$i) {
36
-            $data = random_bytes(1024 * 4);
35
+		for ($i=0; $i<1000; ++$i) {
36
+			$data = random_bytes(1024 * 4);
37 37
 
38
-            $this->assertEquals($data, $codec->binary_data_json_decode($codec->binary_data_json_encode($data)));
39
-        }
40
-    }
38
+			$this->assertEquals($data, $codec->binary_data_json_decode($codec->binary_data_json_encode($data)));
39
+		}
40
+	}
41 41
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -32,7 +32,7 @@
 block discarded – undo
32 32
     {
33 33
         $codec = new BinaryDataJsonCodecImplementation;
34 34
 
35
-        for ($i=0; $i<1000; ++$i) {
35
+        for ($i = 0; $i < 1000; ++$i) {
36 36
             $data = random_bytes(1024 * 4);
37 37
 
38 38
             $this->assertEquals($data, $codec->binary_data_json_decode($codec->binary_data_json_encode($data)));
Please login to merge, or discard this patch.