PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.17.1
GiveWP – Donation Plugin and Fundraising Platform v2.17.1
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 / Utils.php
give / src / Helpers / Form Last commit date
Template 4 years ago Template.php 4 years ago Utils.php 4 years ago
Utils.php
246 lines
1 <?php
2
3 namespace Give\Helpers\Form;
4
5 use Give\Controller\Form;
6 use Give\Helpers\Form\Template\Utils\Frontend;
7 use Give\Helpers\Utils as GlobalUtils;
8
9 class Utils
10 {
11 /**
12 * Get result if we are viewing embed form or not
13 *
14 * @since 2.7.0
15 * @return bool
16 */
17 public static function isViewingForm()
18 {
19 $base = Give()->routeForm->getBase();
20
21 return (
22 $base === get_query_var('url_prefix') ||
23 (wp_doing_ajax() && false !== strpos(wp_get_referer(), "/{$base}/")) // for ajax
24 );
25 }
26
27 /**
28 * Get result if we are processing embed form or not
29 *
30 * @since 2.7.0
31 * @return bool
32 */
33 public static function isProcessingForm()
34 {
35 $base = Give()->routeForm->getBase();
36 $formName = get_post_field('post_name', Frontend::getFormId());
37 $referer = trailingslashit(wp_get_referer()) ?: '';
38
39 return ! empty($_REQUEST['give_embed_form']) ||
40 false !== strpos($referer, "/{$base}/{$formName}/") ||
41 self::inIframe() ||
42 false !== strpos($referer, 'giveDonationFormInIframe');
43 }
44
45 /**
46 * Get result whether or not performing Give core action on ajax or not.
47 *
48 * @since 2.7.0
49 * @return bool
50 */
51 public static function isProcessingGiveActionOnAjax()
52 {
53 $action = isset($_REQUEST['action']) ? give_clean($_REQUEST['action']) : '';
54 $whiteListedAction = ['get_receipt'];
55
56 return $action && wp_doing_ajax() && (0 === strpos($action, 'give_') || in_array(
57 $action,
58 $whiteListedAction,
59 true
60 ));
61 }
62
63 /**
64 * Get result whether or not show failed transaction error.
65 *
66 * @since 2.7.0
67 * @return bool
68 */
69 public static function canShowFailedDonationError()
70 {
71 return ! empty($_REQUEST['showFailedDonationError']);
72 }
73
74 /**
75 * This function check whether or not given url is of iframe parent failed page.
76 *
77 * @since 2.7.0
78 *
79 * @param string $url
80 *
81 * @return string
82 */
83 public static function isIframeParentFailedPageURL($url)
84 {
85 $action = GlobalUtils::getQueryParamFromURL($url, 'giveDonationAction');
86
87 return $action && 'failedDonation' === $action;
88 }
89
90 /**
91 * This function check whether or not given url is of iframe parent success page.
92 *
93 * @since 2.7.0
94 *
95 * @param string $url
96 *
97 * @return string
98 */
99 public static function isIframeParentSuccessPageURL($url)
100 {
101 $action = GlobalUtils::getQueryParamFromURL($url, 'giveDonationAction');
102
103 return $action && 'showReceipt' === $action;
104 }
105
106 /**
107 * This function will create success page URL.
108 *
109 * Note: this function is use to get success page url for parent page when perform donation with off-site checkout.
110 *
111 * @since 2.7.0
112 *
113 * @param array $args
114 * @param string|null $url
115 *
116 * @return string
117 */
118 public static function createSuccessPageURL($url, $args = [])
119 {
120 $args = array_merge($args, ['giveDonationAction' => 'showReceipt']);
121
122 return add_query_arg(
123 $args,
124 $url
125 );
126 }
127
128 /**
129 * Get Iframe parent page URL.
130 *
131 * Note: must be use only inside iframe logic.
132 *
133 * @since 2.7.0
134 */
135 public static function getIframeParentURL()
136 {
137 return isset($_REQUEST['give-current-url']) ? give_clean($_REQUEST['give-current-url']) : '';
138 }
139
140 /**
141 * Return legacy failed page url.
142 *
143 * Wrapper function for give_get_failed_transaction_uri and without embed form filter
144 *
145 * @since 2.7.0
146 * @return string
147 */
148 public static function getLegacyFailedPageURL()
149 {
150 remove_filter('give_get_failed_transaction_uri', [Form::class, 'editFailedPageURI']);
151 $url = give_get_failed_transaction_uri();
152 add_filter('give_get_failed_transaction_uri', [Form::class, 'editFailedPageURI']);
153
154 return $url;
155 }
156
157 /**
158 * Return success page url.
159 *
160 * Wrapper function for give_get_success_page_uri and without embed form filter.
161 *
162 * @since 2.7.0
163 * @return string
164 */
165 public static function getSuccessPageURL()
166 {
167 remove_filter('give_get_success_page_uri', [Form::class, 'editSuccessPageURI']);
168 $url = give_get_success_page_uri();
169 add_filter('give_get_success_page_uri', [Form::class, 'editSuccessPageURI']);
170
171 return $url;
172 }
173
174 /**
175 * Get result if we are viewing embed form receipt or not
176 *
177 * @since 2.7.0
178 * @return bool
179 */
180 public static function isViewingFormReceipt()
181 {
182 return give_is_success_page();
183 }
184
185 /**
186 * This function will create failed transaction page URL.
187 *
188 * Note: this function is use to get failed page url for parent page when perform donation with off-site checkout.
189 *
190 * @since 2.7.0
191 *
192 * @param array $args
193 * @param string|null $url
194 *
195 * @return string
196 */
197 public static function createFailedPageURL($url, $args = [])
198 {
199 $args = array_merge($args, ['giveDonationAction' => 'failedDonation']);
200
201 return add_query_arg(
202 $args,
203 $url
204 );
205 }
206
207 /**
208 * Return if current URL loading in iframe or not.
209 *
210 * @since 2.7.0
211 * @return bool
212 */
213 public static function inIframe()
214 {
215 return ! empty($_GET['giveDonationFormInIframe']);
216 }
217
218 /**
219 * Returns whether or not the given form uses the legacy form template
220 *
221 * @since 2.7.0
222 *
223 * @param int|null $formID
224 *
225 * @return bool
226 */
227 public static function isLegacyForm($formID = null)
228 {
229 $formID = $formID ?: Frontend::getFormId();
230 $formTemplate = Template::getActiveID($formID);
231
232 return ! $formTemplate || 'legacy' === Template::getActiveID($formID);
233 }
234
235 /**
236 * Return whether or not disable donate now button.
237 *
238 * @since 2.7.0
239 * @return bool
240 */
241 public static function canDisableDonationNowButton()
242 {
243 return ! empty($_GET['giveDisableDonateNowButton']);
244 }
245 }
246