PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 3.9.8
Tutor LMS – eLearning and online course solution v3.9.8
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
DateTimeHelper.php 9 months ago HttpHelper.php 11 months ago PluginInstaller.php 1 year ago QueryHelper.php 3 months ago SessionHelper.php 3 years ago TemplateImportHelper.php 11 months ago ValidationHelper.php 10 months 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