PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.30.0
GiveWP – Donation Plugin and Fundraising Platform v2.30.0
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 / Subscriptions / Endpoints / Endpoint.php
give / src / Subscriptions / Endpoints Last commit date
Endpoint.php 3 years ago ListSubscriptions.php 3 years ago SubscriptionActions.php 3 years ago SwitchSubscriptionView.php 3 years ago
Endpoint.php
85 lines
1 <?php
2
3 namespace Give\Subscriptions\Endpoints;
4
5 use Give\API\RestRoute;
6 use WP_Error;
7 use WP_REST_Request;
8
9 abstract class Endpoint implements RestRoute
10 {
11 /**
12 * @var string
13 */
14 protected $endpoint;
15
16 /**
17 * @param string $value
18 * @since 2.20.0
19 *
20 * @return bool
21 */
22 public function validateInt($value)
23 {
24 return filter_var($value, FILTER_VALIDATE_INT);
25 }
26
27 /**
28 * @param string $param
29 * @param WP_REST_Request $request
30 * @param string $key
31 * @since 2.20.0
32 *
33 * @return bool
34 */
35 public function validateDate($param, $request, $key)
36 {
37 // Check that date is valid, and formatted YYYY-MM-DD
38 list($year, $month, $day) = explode('-', $param);
39 $valid = checkdate($month, $day, $year);
40
41 // If checking end date, check that it is after start date
42 if ('end' === $key) {
43 $start = date_create($request->get_param('start'));
44 $end = date_create($request->get_param('end'));
45 $valid = $start <= $end ? $valid : false;
46 }
47
48 return $valid;
49 }
50
51 /**
52 * Check user permissions
53 * @since 2.20.0
54 *
55 * @return bool|WP_Error
56 */
57 public function permissionsCheck()
58 {
59 if (!current_user_can('edit_posts')) {
60 return new WP_Error(
61 'rest_forbidden',
62 esc_html__('You dont have the right permissions to view Donors', 'give'),
63 ['status' => $this->authorizationStatusCode()]
64 );
65 }
66
67 return true;
68 }
69
70 /**
71 * Sets up the proper HTTP status code for authorization.
72 * @since 2.20.0
73 *
74 * @return int
75 */
76 public function authorizationStatusCode()
77 {
78 if (is_user_logged_in()) {
79 return 403;
80 }
81
82 return 401;
83 }
84 }
85