PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.1.1
GiveWP – Donation Plugin and Fundraising Platform v3.1.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 / Form / Template.php
give / src / Form Last commit date
LegacyConsumer 2 years ago Template 3 years ago LoadTemplate.php 4 years ago Template.php 4 years ago Templates.php 3 years ago
Template.php
343 lines
1 <?php
2
3 /**
4 * Handle basic setup of form template
5 *
6 * @package Give
7 * @since 2.7.0
8 */
9
10 namespace Give\Form;
11
12 use Give\Form\Template\Options;
13 use Give\Helpers\Form\Utils as FormUtils;
14 use Give\Receipt\DonationReceipt;
15
16 defined('ABSPATH') || exit;
17
18 /**
19 * Template class.
20 *
21 * @since 2.7.0
22 */
23 abstract class Template
24 {
25 /**
26 * Flag to check whether or not open success page in iframe.
27 *
28 * @var bool $openSuccessPageInIframe If set to false then success page will open in window instead of iframe.
29 */
30 public $openSuccessPageInIframe = true;
31
32 /**
33 * Flag to check whether or not open failed page in iframe.
34 *
35 * @var bool $openFailedPageInIframe If set to false then failed page will open in window instead of iframe.
36 */
37 public $openFailedPageInIframe = true;
38
39 /**
40 * Determines how the form is rendered to the page.
41 *
42 * Acceptable values:
43 * - button (show a button that displays the form when clicked)
44 * - onpage (render the form right on the page)
45 *
46 * @var string
47 */
48 public $donationFormStyle = 'button';
49
50 /**
51 * Determines how the form amount choices are rendered to the page.
52 *
53 * Acceptable values:
54 * - buttons (render donation amount choices as button )
55 * - radio (render donation amount choices as radio )
56 * - dropdown (render donation amount choices in dropdown (select) )
57 *
58 * @var string
59 */
60 public $donationFormLevelsStyle = 'buttons';
61
62 /**
63 * Determines how the form field labels render on the page.
64 *
65 * Acceptable values:
66 * - true (render with floating label style)
67 * - false (render as is)
68 *
69 * @var bool
70 */
71 public $floatingLabelsStyle = false;
72
73 /**
74 * Determines whether or not render form content on page.
75 *
76 * Acceptable values:
77 * - true (render form content on page )
78 * - false (do not render form content on page)
79 *
80 * @var bool
81 */
82 public $showDonationIntroductionContent = false;
83
84 /**
85 * Get starting form height
86 *
87 * Returns starting height for iframe (in pixels), this is used to predict iframe height before the iframe loads
88 * Implemented in includes/shortcodes.php:
89 *
90 * @param int $formId Form ID
91 *
92 * @return int
93 **/
94 public function getFormStartingHeight($formId)
95 {
96 return 600;
97 }
98
99 /**
100 * Get form receipt height
101 *
102 * Returns receipt height for iframe (in pixels), this is used to predict iframe height before the iframe loads
103 * Implemented in includes/shortcodes.php:
104 * Implemented in form donation processing view
105 *
106 * @return int
107 **/
108 public function getFormReceiptHeight()
109 {
110 return 977;
111 }
112
113 /**
114 * Get loading view filepath
115 *
116 * @since 2.7.0
117 *
118 * @return string
119 */
120 public function getLoadingView()
121 {
122 return GIVE_PLUGIN_DIR . 'src/Views/Form/defaultLoadingView.php';
123 }
124
125 /**
126 * Renders the loading view
127 *
128 * @since 2.9.2
129 *
130 * @param int $formId
131 */
132 public function renderLoadingView($formId = null)
133 {
134 include $this->getLoadingView();
135 }
136
137 /**
138 * Get form view filepath
139 *
140 * @since 2.7.0
141 *
142 * @return string
143 */
144 public function getFormView()
145 {
146 return GIVE_PLUGIN_DIR . 'src/Views/Form/defaultFormTemplate.php';
147 }
148
149 /**
150 * Get receipt view filepath
151 *
152 * @since 2.7.0
153 *
154 * @return string
155 */
156 public function getReceiptView()
157 {
158 return GIVE_PLUGIN_DIR . 'src/Views/Form/defaultFormReceiptTemplate.php';
159 }
160
161 /**
162 * return form template ID.
163 *
164 * @since 2.7.0
165 * @return string
166 */
167 abstract public function getID();
168
169 /**
170 * Get form template name.
171 *
172 * @since 2.7.0
173 * @return string
174 */
175 abstract public function getName();
176
177 /**
178 * Get form template image.
179 *
180 * @since 2.7.0
181 * @return string
182 */
183 abstract public function getImage();
184
185 /**
186 * Get options config
187 *
188 * @since 2.7.0
189 * @return array
190 */
191 abstract public function getOptionsConfig();
192
193 /**
194 * Get form template options
195 *
196 * @return Options
197 */
198 public function getOptions()
199 {
200 return Options::fromArray($this->getOptionsConfig());
201 }
202
203 /**
204 * Get failed/cancelled donation message.
205 *
206 * @since 2.7.0
207 * @return string
208 */
209 public function getFailedDonationMessage()
210 {
211 return esc_html__(
212 'We\'re sorry, your donation failed to process. Please try again or contact site support.',
213 'give'
214 );
215 }
216
217 /**
218 * Get failed donation page URL.
219 *
220 * @since 2.7.0
221 *
222 * @param int $formId
223 *
224 * @return mixed
225 */
226 public function getFailedPageURL($formId)
227 {
228 return FormUtils::createFailedPageURL(Give()->routeForm->getURL(get_post_field('post_name', $formId)));
229 }
230
231 /**
232 * Get donate now button label text.
233 *
234 * @since 2.7.0
235 * @return string
236 */
237 public function getDonateNowButtonLabel()
238 {
239 return __('Donate Now', 'give');
240 }
241
242 /**
243 * Get continue to donation form button label text.
244 *
245 * @since 2.7.0
246 * @return string
247 */
248 public function getContinueToDonationFormLabel()
249 {
250 return __('Donate Now', 'give');
251 }
252
253 /**
254 * Get donation introduction text.
255 *
256 * @since 2.7.0
257 * @return string|null
258 */
259 public function getDonationIntroductionContent()
260 {
261 return null;
262 }
263
264 /**
265 * Return content position on donation form.
266 *
267 * Note: Even you are free to add introduction content at any place on donation form
268 * But still this depends upon form template style and configuration on which places you are allowed to show display introduction content.
269 *
270 * @since 2.7.0
271 * @return string|null
272 */
273 public function getDonationIntroductionContentPosition()
274 {
275 return null;
276 }
277
278 /**
279 * Get receipt details.
280 *
281 * @since 2.7.0
282 *
283 * @param int $donationId
284 *
285 * @return DonationReceipt
286 */
287 public function getReceiptDetails($donationId)
288 {
289 $receipt = new DonationReceipt($donationId);
290
291 /**
292 * Fire the action for receipt object.
293 *
294 * @since 2.7.0
295 */
296 do_action('give_new_receipt', $receipt);
297
298 return $receipt;
299 }
300
301 /**
302 * Get form heading
303 *
304 * @since 2.7.0
305 *
306 * @param int $formId
307 *
308 * @return string
309 */
310 public function getFormHeading($formId)
311 {
312 return get_the_title($formId);
313 }
314
315 /**
316 * Get form image
317 *
318 * @since 2.7.0
319 *
320 * @param int $formId
321 *
322 * @return string
323 */
324 public function getFormFeaturedImage($formId)
325 {
326 return get_the_post_thumbnail_url($formId, 'full');
327 }
328
329 /**
330 * Get form excerpt
331 *
332 * @since 2.7.0
333 *
334 * @param int|null $formId
335 *
336 * @return string
337 */
338 public function getFormExcerpt($formId)
339 {
340 return get_the_excerpt($formId);
341 }
342 }
343