PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.14.2
GiveWP – Donation Plugin and Fundraising Platform v4.14.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 / Helpers / Form / Template / Utils / Frontend.php
give / src / Helpers / Form / Template / Utils Last commit date
Admin.php 4 years ago Frontend.php 5 months ago
Frontend.php
97 lines
1 <?php
2
3 namespace Give\Helpers\Form\Template\Utils;
4
5 use Give\Framework\Permissions\Facades\UserPermissions;
6 use Give\Session\SessionDonation\DonationAccessor;
7 use WP_Post;
8
9 class Frontend
10 {
11 /**
12 * This function will return form id.
13 *
14 * There are two ways to auto detect form id:
15 * 1. If global $post is give_forms post type then we assume that we are on donation form page and return id.
16 * 2. if we are not on donation form page and process donation then we will return form id from submitted donation form data.
17 * 3. if we are not on donation form page then we will get donation form id from session.
18 *
19 * This function can be use in donation processing flow i.e from donation form to receipt/failed transaction
20 *
21 * @since 2.7.0
22 * @return int|null
23 * @global WP_Post $post
24 */
25 public static function getFormId()
26 {
27 global $post;
28
29 if ('give_forms' === get_post_type($post)) {
30 return $post->ID;
31 }
32
33 if ($formId = Give()->routeForm->getQueriedFormID()) {
34 return $formId;
35 }
36
37 // Check if admin previewing donation form.
38 if ($formId = self::getPreviewDonationFormId()) {
39 return $formId;
40 }
41
42 // Get form Id on ajax request.
43 if (isset($_REQUEST['give_form_id']) && ($formId = absint($_REQUEST['give_form_id']))) {
44 return $formId;
45 }
46
47 // Get form Id on ajax request.
48 if (isset($_REQUEST['form_id']) && ($formId = absint($_REQUEST['form_id']))) {
49 return $formId;
50 }
51
52 // Get form id on ajax request by donation id.
53 if (
54 ! empty($_REQUEST['donation_id']) &&
55 ($donationId = absint($_REQUEST['donation_id']))
56 ) {
57 return give_get_payment_form_id($donationId);
58 }
59
60 // Get form id from donor purchase session.
61 $session = new DonationAccessor();
62 $formId = $session->getFormId();
63
64 if ($formId) {
65 return $formId;
66 }
67
68 return null;
69 }
70
71 /**
72 * Return form id if admin previewing donation form.
73 * Note: only for internal use. This function can be update or remove in future.
74 *
75 * @since 4.14.0 update permission capability to use facade
76 * @since 2.7.0
77 * @return int|null
78 */
79 public static function getPreviewDonationFormId()
80 {
81 if ( ! UserPermissions::donationForms()->canEdit()) {
82 return null;
83 }
84
85 if (
86 isset($_GET['preview'], $_GET['p'], $_GET['post_type']) &&
87 filter_var($_GET['preview'], FILTER_VALIDATE_BOOLEAN) &&
88 ('give_forms' === give_clean($_GET['post_type'])) &&
89 ($formId = absint($_GET['p']))
90 ) {
91 return $formId;
92 }
93
94 return null;
95 }
96 }
97