PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.15.0
GiveWP – Donation Plugin and Fundraising Platform v3.15.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 / Promotions / FreeAddonModal / Controllers / CompleteRestApiEndpoint.php
give / src / Promotions / FreeAddonModal / Controllers Last commit date
CompleteRestApiEndpoint.php 4 years ago
CompleteRestApiEndpoint.php
57 lines
1 <?php
2
3 namespace Give\Promotions\FreeAddonModal\Controllers;
4
5 use WP_REST_Request;
6 use WP_REST_Response;
7 use WP_REST_Server;
8
9 class CompleteRestApiEndpoint
10 {
11 public function __invoke()
12 {
13 register_rest_route('give/v1', '/promotions/free-addon-modal/complete', [
14 'methods' => WP_REST_Server::EDITABLE,
15 'callback' => [$this, 'handleModalCompletion'],
16 'permission_callback' => function () {
17 return current_user_can('manage_options');
18 },
19 'args' => [
20 'reason' => [
21 'required' => true,
22 'type' => 'string',
23 'enum' => ['subscribed', 'rejected'],
24 ],
25 ],
26
27 ]);
28 }
29
30 public function handleModalCompletion(WP_REST_Request $request)
31 {
32 $reason = $request['reason'];
33 $iteration = 1;
34
35 if ( 'rejected' === $reason ) {
36 // If the user has rejected the modal before, increase the iteration.
37 $status = get_option('give_free_addon_modal_displayed');
38
39 if ( !empty($status) ) {
40 // The value will be something like rejected:1:1.18.0. The first number is the number of versions the modal has appeared
41 // in, and the second number is the version number of the plugin at the time of last display.
42 list($status, $iteration, $version) = explode(':', $status);
43
44 $iteration++;
45 }
46 }
47
48 update_option('give_free_addon_modal_displayed', implode(':', [
49 $request['reason'],
50 $iteration,
51 GIVE_VERSION,
52 ]));
53
54 return new WP_REST_Response(['success' => true]);
55 }
56 }
57