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