PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.3.2
GiveWP – Donation Plugin and Fundraising Platform v4.3.2
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 1 year ago ListSubscriptions.php 2 years ago SubscriptionActions.php 1 year ago SwitchSubscriptionView.php 3 years ago
Endpoint.php
86 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 4.3.1 updates permissions
54 * @since 2.20.0
55 *
56 * @return bool|WP_Error
57 */
58 public function permissionsCheck()
59 {
60 if (current_user_can('manage_options') || current_user_can('edit_give_payments')) {
61 return true;
62 }
63
64 return new WP_Error(
65 'rest_forbidden',
66 esc_html__("You don't have permission to view Subscriptions", 'give'),
67 ['status' => is_user_logged_in() ? 403 : 401]
68 );
69 }
70
71 /**
72 * Sets up the proper HTTP status code for authorization.
73 * @since 2.20.0
74 *
75 * @return int
76 */
77 public function authorizationStatusCode()
78 {
79 if (is_user_logged_in()) {
80 return 403;
81 }
82
83 return 401;
84 }
85 }
86