PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / trunk
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress vtrunk
4.16.18 4.16.17 4.16.16 trunk 1.0 1.0.1 1.0.2 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.5a 1.1.6 1.1.7 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.4 1.4.1 1.4.2 1.5 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.6 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.7 1.7.1 1.7.2 1.8 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 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 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.1.9 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 2.2.15 2.2.16 2.2.2 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 3.0 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.14 3.2.15 3.2.16 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.13.3 4.13.4 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.15.0 4.15.1 4.15.10 4.15.11 4.15.12 4.15.13 4.15.14 4.15.15 4.15.16 4.15.17 4.15.18 4.15.19 4.15.2 4.15.20 4.15.20.1 4.15.21 4.15.22 4.15.23 4.15.24 4.15.25 4.15.3 4.15.4 4.15.5 4.15.6 4.15.7 4.15.8 4.15.9 4.16.0 4.16.1 4.16.10 4.16.11 4.16.12 4.16.13 4.16.14 4.16.15 4.16.2 4.16.3 4.16.4 4.16.5 4.16.6 4.16.7 4.16.8 4.16.9 4.2.0 4.3.0 4.3.1 4.3.2 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.6.0 4.7.0 4.8.0 4.9.0
wp-user-avatar / src / lib / wp_session / wp-session.php
wp-user-avatar / src / lib / wp_session Last commit date
class-recursive-arrayaccess.php 3 years ago class-wp-session-utils.php 3 years ago class-wp-session.php 3 years ago wp-session.php 3 years ago
wp-session.php
188 lines
1 <?php
2 /**
3 * WordPress session managment.
4 *
5 * Standardizes WordPress session data and uses either database transients or in-memory caching
6 * for storing user session information.
7 *
8 * @package WordPress
9 * @subpackage Session
10 */
11
12 /**
13 * Return the current cache expire setting.
14 *
15 * @return int
16 */
17 function wp_ppress_session_cache_expire()
18 {
19 $wp_session = WP_PPress_Session::get_instance();
20
21 return $wp_session->cache_expiration();
22 }
23
24 /**
25 * Alias of wp_ppress_session_write_close()
26 */
27 function wp_ppress_session_commit()
28 {
29 wp_ppress_session_write_close();
30 }
31
32 /**
33 * Load a JSON-encoded string into the current session.
34 *
35 * @param string $data
36 */
37 function wp_ppress_session_decode($data)
38 {
39 $wp_session = WP_PPress_Session::get_instance();
40
41 return $wp_session->json_in($data);
42 }
43
44 /**
45 * Encode the current session's data as a JSON string.
46 *
47 * @return string
48 */
49 function wp_ppress_session_encode()
50 {
51 $wp_session = WP_PPress_Session::get_instance();
52
53 return $wp_session->json_out();
54 }
55
56 /**
57 * Regenerate the session ID.
58 *
59 * @param bool $delete_old_session
60 *
61 * @return bool
62 */
63 function wp_ppress_session_regenerate_id($delete_old_session = false)
64 {
65 $wp_session = WP_PPress_Session::get_instance();
66
67 $wp_session->regenerate_id($delete_old_session);
68
69 return true;
70 }
71
72 /**
73 * Start new or resume existing session.
74 *
75 * Resumes an existing session based on a value sent by the _wp_session cookie.
76 *
77 * @return bool
78 */
79 function wp_ppress_session_start()
80 {
81 $wp_session = WP_PPress_Session::get_instance();
82
83 /**
84 * Session has started
85 *
86 * Allow other plugins to hook in once the session store has been
87 * initialized.
88 */
89 do_action('wp_ppress_session_start');
90
91 return $wp_session->session_started();
92 }
93
94 add_action('plugins_loaded', 'wp_ppress_session_start');
95
96 /**
97 * Return the current session status.
98 *
99 * @return int
100 */
101 function wp_ppress_session_status()
102 {
103 $wp_session = WP_PPress_Session::get_instance();
104
105 if ($wp_session->session_started()) {
106 return PHP_SESSION_ACTIVE;
107 }
108
109 return PHP_SESSION_NONE;
110 }
111
112 /**
113 * Unset all session variables.
114 */
115 function wp_ppress_session_unset()
116 {
117 $wp_session = WP_PPress_Session::get_instance();
118
119 $wp_session->reset();
120 }
121
122 /**
123 * Write session data and end session
124 */
125 function wp_ppress_session_write_close()
126 {
127 $wp_session = WP_PPress_Session::get_instance();
128
129 $wp_session->write_data();
130
131 /**
132 * Session has been written to the database
133 *
134 * The session needs to be persisted to the database automatically
135 * when the request closes. Once data has been written, other operations
136 * might need to run to clean things up and purge memory. Give them the
137 * opportunity to clean up after commit.
138 */
139 do_action('wp_ppress_session_commit');
140 }
141
142 add_action('shutdown', 'wp_ppress_session_write_close');
143
144 /**
145 * Clean up expired sessions by removing data and their expiration entries from
146 * the WordPress options table.
147 *
148 * This method should never be called directly and should instead be triggered as part
149 * of a scheduled task or cron job.
150 */
151 function wp_ppress_session_cleanup()
152 {
153 if (defined('WP_SETUP_CONFIG')) {
154 return;
155 }
156
157 if ( ! defined('WP_INSTALLING')) {
158 /**
159 * Determine the size of each batch for deletion.
160 *
161 * @param int
162 */
163 $batch_size = apply_filters('wp_ppress_session_delete_batch_size', 1000);
164
165 // Delete a batch of old sessions
166 WP_PPress_Session_Utils::delete_old_sessions($batch_size);
167 }
168
169 /**
170 * Allow other plugins to hook in to the garbage collection process.
171 */
172 do_action('wp_ppress_session_cleanup');
173 }
174
175 add_action('wp_ppress_session_garbage_collection', 'wp_ppress_session_cleanup');
176
177 /**
178 * Register the garbage collector as a twice daily event.
179 */
180 function wp_ppress_session_register_garbage_collection()
181 {
182 if ( ! wp_next_scheduled('wp_ppress_session_garbage_collection')) {
183 wp_schedule_event(time(), 'hourly', 'wp_ppress_session_garbage_collection');
184 }
185 }
186
187 add_action('wp', 'wp_ppress_session_register_garbage_collection');
188