PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.0.4
GiveWP – Donation Plugin and Fundraising Platform v3.0.4
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 4 years ago LoginRoute.php 4 years ago LogoutRoute.php 4 years ago VerifyEmailRoute.php 4 years ago
LogoutRoute.php
94 lines
1 <?php
2
3 namespace Give\DonorDashboards\Routes;
4
5 use Give\API\RestRoute;
6 use Give\DonorDashboards\Helpers as DonorDashboardHelpers;
7 use WP_REST_Request;
8 use WP_REST_Response;
9
10
11 /**
12 * @since 2.10.0
13 */
14 class LogoutRoute implements RestRoute
15 {
16
17 /** @var string */
18 protected $endpoint = 'donor-dashboard/logout';
19
20 /**
21 * @inheritDoc
22 */
23 public function registerRoute()
24 {
25 register_rest_route(
26 'give-api/v2',
27 $this->endpoint,
28 [
29 [
30 'methods' => 'POST',
31 'callback' => [$this, 'handleRequest'],
32 'permission_callback' => [$this, 'permissionsCheck'],
33 ],
34 ]
35 );
36 }
37
38 /**
39 * Handles logout request
40 *
41 * @since 2.10.0
42 *
43 * @param WP_REST_Request $request
44 *
45 * @return WP_REST_Response
46 *
47 */
48 public function handleRequest(WP_REST_Request $request): WP_REST_Response
49 {
50 // Check if WP user is logged in
51 if (get_current_user_id() !== 0) {
52 // Handle logout logic for WP users
53
54 /**
55 * Fires before processing user logout.
56 *
57 * @since 1.0
58 */
59 do_action('give_before_user_logout');
60
61 // Logout user (and destroys current Give Session, via hook registered in Give_Session class)
62 wp_logout();
63
64 /**
65 * Fires after processing user logout.
66 *
67 * @since 1.0
68 */
69 do_action('give_after_user_logout');
70 } else {
71 // Destroy current Give Session
72 give()->session->destroy_session();
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 public function permissionsCheck(): bool
90 {
91 return DonorDashboardHelpers::isDonorLoggedIn();
92 }
93 }
94