PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.14.0
GiveWP – Donation Plugin and Fundraising Platform v2.14.0
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 / src / DonorDashboards / Routes / LogoutRoute.php
give / src / DonorDashboards / Routes Last commit date
Captcha 5 years ago LoginRoute.php 5 years ago LogoutRoute.php 5 years ago VerifyEmailRoute.php 5 years ago
LogoutRoute.php
95 lines
1 <?php
2
3 namespace Give\DonorDashboards\Routes;
4
5 use WP_REST_Request;
6 use WP_REST_Response;
7 use Give\API\RestRoute;
8 use WP_Error;
9
10 /**
11 * @since 2.10.0
12 */
13 class LogoutRoute implements RestRoute {
14
15 /** @var string */
16 protected $endpoint = 'donor-dashboard/logout';
17
18 /**
19 * @inheritDoc
20 */
21 public function registerRoute() {
22 register_rest_route(
23 'give-api/v2',
24 $this->endpoint,
25 [
26 [
27 'methods' => 'POST',
28 'callback' => [ $this, 'handleRequest' ],
29 'permission_callback' => [ $this, 'permissionsCheck' ],
30 ],
31 ]
32 );
33 }
34
35 /**
36 * Handles logout request
37 *
38 * @param WP_REST_Request $request
39 *
40 * @return WP_REST_Request
41 *
42 * @since 2.10.0
43 */
44 public function handleRequest( WP_REST_Request $request ) {
45
46 // Check if WP user is logged in
47 if ( get_current_user_id() !== 0 ) {
48
49 // Handle logout logic for WP users
50
51 /**
52 * Fires before processing user logout.
53 *
54 * @since 1.0
55 */
56 do_action( 'give_before_user_logout' );
57
58 // Logout user (and destroys current Give Session, via hook registered in Give_Session class)
59 wp_logout();
60
61 /**
62 * Fires after processing user logout.
63 *
64 * @since 1.0
65 */
66 do_action( 'give_after_user_logout' );
67
68 } else {
69
70 // Destroy current Give Session
71 give()->session->destroy_session();
72
73 }
74
75 return new WP_REST_Response(
76 [
77 'status' => 200,
78 'response' => 'logout_successful',
79 'body_response' => [
80 'message' => __( 'User was logged out successfully.', 'give' ),
81 ],
82 ]
83 );
84 }
85
86 /**
87 * Check permissions
88 *
89 * @return bool
90 */
91 public function permissionsCheck() {
92 return Give()->session->get_session_expiration() !== false || is_user_logged_in();
93 }
94 }
95