PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.16.6
GiveWP – Donation Plugin and Fundraising Platform v4.16.6
4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.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 / Tabs / EditProfileTab / PasswordRoute.php
give / src / DonorDashboards / Tabs / EditProfileTab Last commit date
AvatarRoute.php 2 years ago LocationRoute.php 4 years ago PasswordRoute.php 2 weeks ago ProfileRoute.php 4 years ago Tab.php 2 years ago
PasswordRoute.php
87 lines
1 <?php
2
3 namespace Give\DonorDashboards\Tabs\EditProfileTab;
4
5 use Give\Donors\Models\Donor;
6 use Give\DonorDashboards\Tabs\Contracts\Route as RouteAbstract;
7 use WP_REST_Request;
8 use WP_REST_Response;
9
10 /**
11 * @since 2.10.0
12 */
13 class PasswordRoute extends RouteAbstract
14 {
15
16 /**
17 * @inheritdoc
18 */
19 public function endpoint()
20 {
21 return 'password';
22 }
23
24 /**
25 * @inheritdoc
26 */
27 public function args()
28 {
29 return [
30 'newPassword' => [
31 'type' => 'string',
32 'required' => true,
33 'sanitize_callback' => 'sanitize_text_field',
34 ],
35 ];
36 }
37
38 /**
39 * Handles password update.
40 *
41 * @since 4.16.6 added password validation
42 * @since 3.3.0
43 *
44 * @param WP_REST_Request $request
45 *
46 * @return array|WP_REST_Response
47 */
48 public function handleRequest(WP_REST_Request $request)
49 {
50 $newPassword = trim($request->get_param('newPassword'));
51
52 if (empty($newPassword)) {
53 return new WP_REST_Response(
54 [
55 'status' => 400,
56 'response' => 'invalid_password',
57 'body_response' => [
58 'message' => esc_html__('Please enter a valid password.', 'give'),
59 ],
60 ]
61 );
62 }
63
64 $donorId = give()->donorDashboard->getId();
65
66 $donor = Donor::find($donorId);
67
68 if ( ! $donor || empty($donor->userId)) {
69 return new WP_REST_Response(
70 [
71 'status' => 400,
72 'response' => 'no_user_account',
73 'body_response' => [
74 'message' => esc_html__('Unable to update password. Contact a site administrator.', 'give'),
75 ],
76 ]
77 );
78 }
79
80 wp_set_password($newPassword, $donor->userId);
81
82 return [
83 'success' => true,
84 ];
85 }
86 }
87