PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.10.4
GiveWP – Donation Plugin and Fundraising Platform v2.10.4
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 / LoginRoute.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
LoginRoute.php
103 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
9 /**
10 * @since 2.10.0
11 */
12 class LoginRoute implements RestRoute {
13
14 /** @var string */
15 protected $endpoint = 'donor-dashboard/login';
16
17 /**
18 * @inheritDoc
19 */
20 public function registerRoute() {
21 register_rest_route(
22 'give-api/v2',
23 $this->endpoint,
24 [
25 [
26 'methods' => 'POST',
27 'callback' => [ $this, 'handleRequest' ],
28 'permission_callback' => '__return_true',
29 ],
30 'args' => [
31 'login' => [
32 'type' => 'string',
33 'required' => true,
34 'sanitize_callback' => 'sanitize_text_field',
35 ],
36 'password' => [
37 'type' => 'string',
38 'required' => true,
39 'sanitize_callback' => 'sanitize_text_field',
40 ],
41 ],
42 ]
43 );
44 }
45
46 /**
47 * Handles login request
48 *
49 * @param WP_REST_Request $request
50 *
51 * @return array
52 *
53 * @since 2.10.0
54 */
55 public function handleRequest( WP_REST_Request $request ) {
56
57 $login = $request->get_param( 'login' );
58 $password = $request->get_param( 'password' );
59
60 $user = get_user_by( 'login', $login );
61
62 if ( ! $user ) {
63 $user = get_user_by( 'email', $login );
64 }
65
66 if ( $user ) {
67 if ( wp_check_password( $password, $user->user_pass, $user->ID ) ) {
68 give_log_user_in( $user->ID, $login, $password );
69 return new WP_REST_Response(
70 [
71 'status' => 200,
72 'response' => 'login_successful',
73 'body_response' => [
74 'login' => $user->login,
75 'id' => $user->ID,
76 ],
77 ]
78 );
79 } else {
80 return new WP_REST_Response(
81 [
82 'status' => 400,
83 'response' => 'incorrect_password',
84 'body_response' => [
85 'message' => __( 'The provided password was incorrect.', 'give' ),
86 ],
87 ]
88 );
89 }
90 } else {
91 return new WP_REST_Response(
92 [
93 'status' => 400,
94 'response' => 'unidentified_login',
95 'body_response' => [
96 'message' => sprintf( __( 'A record for the provided login (%s) could not be found.', 'give' ), $login ),
97 ],
98 ]
99 );
100 }
101 }
102 }
103