PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 2.7.3
Tutor LMS – eLearning and online course solution v2.7.3
3.9.14 3.9.13 3.9.12 3.9.11 trunk 1.0.0 1.0.0-alpha 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.2.0 1.2.1 1.2.11 1.2.12 1.2.13 1.2.20 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.8.0 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.15 1.9.16 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.0 2.4.0 2.5.0 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.1.0 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.8.0 3.8.1 3.8.2 3.8.3 3.9.0 3.9.1 3.9.10 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9
tutor / helpers / SessionHelper.php
tutor / helpers Last commit date
QueryHelper.php 2 years ago SessionHelper.php 3 years ago ValidationHelper.php 2 years ago
SessionHelper.php
112 lines
1 <?php
2 /**
3 * Session Management Helper Class.
4 *
5 * @package Tutor\Helper
6 * @author Themeum <support@themeum.com>
7 * @link https://themeum.com
8 * @since 2.1.9
9 */
10
11 namespace Tutor\Helpers;
12
13 /**
14 * SessionHelper class
15 *
16 * @since 2.1.9
17 */
18 class SessionHelper {
19 /**
20 * Start the session if no session ID exist.
21 *
22 * @since 2.1.9
23 *
24 * @return void
25 */
26 private function start_session() {
27 if ( ! session_id() ) {
28 session_start();
29 }
30 }
31
32 /**
33 * Get session data by a key.
34 *
35 * @since 2.1.9
36 *
37 * @param string $key session key.
38 * @param mixed $default default data if key not exist in session.
39 *
40 * @return mixed
41 */
42 public static function get( $key, $default = null ) {
43 ( new self() )->start_session();
44
45 if ( isset( $_SESSION[ $key ] ) ) {
46 return maybe_unserialize( $_SESSION[ $key ] );
47 } else {
48 return $default;
49 }
50 }
51
52 /**
53 * Set data in specific session key.
54 *
55 * @since 2.1.9
56 *
57 * @param string $key session key.
58 * @param mixed $value value.
59 *
60 * @return void
61 */
62 public static function set( $key, $value ) {
63 ( new self() )->start_session();
64
65 $_SESSION[ $key ] = maybe_serialize( $value );
66 }
67
68 /**
69 * Unset a specific session key.
70 *
71 * @since 2.1.9
72 *
73 * @param string $key session key.
74 *
75 * @return bool
76 */
77 public static function unset( $key ) {
78 ( new self() )->start_session();
79
80 if ( isset( $_SESSION[ $key ] ) ) {
81 unset( $_SESSION[ $key ] );
82 return true;
83 } else {
84 return false;
85 }
86 }
87
88 /**
89 * Reset all session keys without reset the session ID.
90 *
91 * @since 2.1.9
92 *
93 * @return void
94 */
95 public static function reset() {
96 ( new self() )->start_session();
97 session_unset();
98 }
99
100 /**
101 * Destroy session data.
102 *
103 * @since 2.1.9
104 *
105 * @return void
106 */
107 public static function destroy() {
108 ( new self() )->start_session();
109 session_destroy();
110 }
111 }
112