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