PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.1.5
GiveWP – Donation Plugin and Fundraising Platform v2.1.5
4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / includes / libraries / sessions / wp-session.php
give / includes / libraries / sessions Last commit date
class-recursive-arrayaccess.php 8 years ago class-wp-session-utils.php 8 years ago class-wp-session.php 8 years ago wp-session.php 8 years ago
wp-session.php
160 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 * @since 3.7.0
11 */
12
13 /**
14 * Return the current cache expire setting.
15 *
16 * @return int
17 */
18 function wp_session_cache_expire() {
19 $wp_session = WP_Session::get_instance();
20
21 return $wp_session->cache_expiration();
22 }
23
24 /**
25 * Alias of wp_session_write_close()
26 */
27 function wp_session_commit() {
28 wp_session_write_close();
29 }
30
31 /**
32 * Load a JSON-encoded string into the current session.
33 *
34 * @param string $data
35 */
36 function wp_session_decode( $data ) {
37 $wp_session = WP_Session::get_instance();
38
39 return $wp_session->json_in( $data );
40 }
41
42 /**
43 * Encode the current session's data as a JSON string.
44 *
45 * @return string
46 */
47 function wp_session_encode() {
48 $wp_session = WP_Session::get_instance();
49
50 return $wp_session->json_out();
51 }
52
53 /**
54 * Regenerate the session ID.
55 *
56 * @param bool $delete_old_session
57 *
58 * @return bool
59 */
60 function wp_session_regenerate_id( $delete_old_session = false ) {
61 $wp_session = WP_Session::get_instance();
62
63 $wp_session->regenerate_id( $delete_old_session );
64
65 return true;
66 }
67
68 /**
69 * Start new or resume existing session.
70 *
71 * Resumes an existing session based on a value sent by the _wp_session cookie.
72 *
73 * @return bool
74 */
75 function wp_session_start() {
76 $wp_session = WP_Session::get_instance();
77 do_action( 'wp_session_start' );
78
79 return $wp_session->session_started();
80 }
81 if ( ! defined( 'WP_CLI' ) || false === WP_CLI ) {
82 add_action( 'plugins_loaded', 'wp_session_start' );
83 }
84
85 /**
86 * Return the current session status.
87 *
88 * @return int
89 */
90 function wp_session_status() {
91 $wp_session = WP_Session::get_instance();
92
93 if ( $wp_session->session_started() ) {
94 return PHP_SESSION_ACTIVE;
95 }
96
97 return PHP_SESSION_NONE;
98 }
99
100 /**
101 * Unset all session variables.
102 */
103 function wp_session_unset() {
104 $wp_session = WP_Session::get_instance();
105
106 $wp_session->reset();
107 }
108
109 /**
110 * Write session data and end session
111 */
112 function wp_session_write_close() {
113 $wp_session = WP_Session::get_instance();
114
115 $wp_session->write_data();
116 do_action( 'wp_session_commit' );
117 }
118 if ( ! defined( 'WP_CLI' ) || false === WP_CLI ) {
119 add_action( 'shutdown', 'wp_session_write_close' );
120 }
121
122 /**
123 * Clean up expired sessions by removing data and their expiration entries from
124 * the WordPress options table.
125 *
126 * This method should never be called directly and should instead be triggered as part
127 * of a scheduled task or cron job.
128 */
129 function wp_session_cleanup() {
130 if ( defined( 'WP_SETUP_CONFIG' ) ) {
131 return;
132 }
133
134 if ( ! defined( 'WP_INSTALLING' ) ) {
135 /**
136 * Determine the size of each batch for deletion.
137 *
138 * @param int
139 */
140 $batch_size = apply_filters( 'wp_session_delete_batch_size', 1000 );
141
142 // Delete a batch of old sessions
143 WP_Session_Utils::delete_old_sessions( $batch_size );
144 }
145
146 // Allow other plugins to hook in to the garbage collection process.
147 do_action( 'wp_session_cleanup' );
148 }
149 add_action( 'wp_session_garbage_collection', 'wp_session_cleanup' );
150
151 /**
152 * Register the garbage collector as a twice daily event.
153 */
154 function wp_session_register_garbage_collection() {
155 if ( ! wp_next_scheduled( 'wp_session_garbage_collection' ) ) {
156 wp_schedule_event( time(), 'hourly', 'wp_session_garbage_collection' );
157 }
158 }
159 add_action( 'wp', 'wp_session_register_garbage_collection' );
160