PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.24.0
GiveWP – Donation Plugin and Fundraising Platform v2.24.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 / Views / Form / Templates / Sequoia / Sequoia.php
give / src / Views / Form / Templates / Sequoia Last commit date
assets 3 years ago sections 4 years ago views 3 years ago Actions.php 4 years ago Sequoia.php 4 years ago optionConfig.php 4 years ago
Sequoia.php
474 lines
1 <?php
2
3 namespace Give\Views\Form\Templates\Sequoia;
4
5 use Give\Form\Template;
6 use Give\Form\Template\Hookable;
7 use Give\Form\Template\Scriptable;
8 use Give\Helpers\Form\Template as FormTemplateUtils;
9 use Give\Helpers\Utils;
10 use Give\Receipt\DonationReceipt;
11 use Give_Donate_Form as DonationForm;
12 use Give_Scripts;
13
14 use function give_do_email_tags as formatContent;
15 use function give_is_setting_enabled;
16
17 /**
18 * Class Sequoia
19 *
20 * @package Give\Views\Form\Templates
21 */
22 class Sequoia extends Template implements Hookable, Scriptable
23 {
24 /**
25 * @inheritDoc
26 */
27 public function getFormStartingHeight($formId)
28 {
29 $form = new DonationForm($formId);
30 $templateOptions = FormTemplateUtils::getOptions($formId);
31 if ($templateOptions['introduction']['enabled'] === 'disabled') {
32 return 645;
33 }
34 $goalHeight = ! $form->has_goal() ? 0 : 123;
35 $imageHeight = empty($templateOptions['introduction']['image']) && empty(
36 get_post_thumbnail_id(
37 $formId
38 )
39 ) ? 0 : 175;
40
41 return 423 + $goalHeight + $imageHeight;
42 }
43
44 /**
45 * @inheritDoc
46 */
47 public function getLoadingView()
48 {
49 return GIVE_PLUGIN_DIR . 'src/Views/Form/Templates/Sequoia/views/loading.php';
50 }
51
52 /**
53 * @inheritDoc
54 */
55 public function getReceiptView()
56 {
57 return wp_doing_ajax(
58 ) ? GIVE_PLUGIN_DIR . 'src/Views/Form/Templates/Sequoia/views/receipt.php' : parent::getReceiptView();
59 }
60
61 /**
62 * @inheritDoc
63 */
64 public function loadHooks()
65 {
66 $actions = new Actions();
67 $actions->init();
68 }
69
70 /**
71 * @inheritDoc
72 * @since 2.16.0 Load google fonts if "enabled".
73 */
74 public function loadScripts()
75 {
76 // Localize Template options
77 $templateOptions = FormTemplateUtils::getOptions();
78
79 // Set defaults
80 $templateOptions['visual_appearance']['google-fonts'] = ! empty($templateOptions['visual_appearance']['google-fonts']) ? $templateOptions['visual_appearance']['google-fonts'] : 'enabled';
81 $templateOptions['introduction']['donate_label'] = ! empty($templateOptions['introduction']['donate_label']) ? $templateOptions['introduction']['donate_label'] : __(
82 'Donate Now',
83 'give'
84 );
85 $templateOptions['visual_appearance']['primary_color'] = ! empty($templateOptions['visual_appearance']['primary_color']) ? $templateOptions['visual_appearance']['primary_color'] : '#28C77B';
86 $templateOptions['payment_amount']['next_label'] = ! empty($templateOptions['payment_amount']['next_label']) ? $templateOptions['payment_amount']['next_label'] : __(
87 'Continue',
88 'give'
89 );
90 $templateOptions['payment_amount']['header_label'] = ! empty($templateOptions['payment_amount']['header_label']) ? $templateOptions['payment_amount']['header_label'] : __(
91 'Choose Amount',
92 'give'
93 );
94 $templateOptions['payment_information']['header_label'] = ! empty($templateOptions['payment_information']['header_label']) ? $templateOptions['payment_information']['header_label'] : __(
95 'Add Your Information',
96 'give'
97 );
98 $templateOptions['payment_information']['checkout_label'] = ! empty($templateOptions['payment_information']['checkout_label']) ? $templateOptions['payment_information']['checkout_label'] : __(
99 'Process Donation',
100 'give'
101 );
102
103 $isGoogleFontEnabled = give_is_setting_enabled($templateOptions['visual_appearance']['google-fonts']);
104
105 if ($isGoogleFontEnabled) {
106 wp_enqueue_style(
107 'give-google-font-montserrat',
108 'https://fonts.googleapis.com/css?family=Montserrat:400,500,600,700&display=swap',
109 [],
110 GIVE_VERSION
111 );
112 }
113
114 // If default Give styles are disabled globally, enqueue Give default styles here
115 if (! give_is_setting_enabled(give_get_option('css'))) {
116 wp_enqueue_style('give-styles', (new Give_Scripts())->get_frontend_stylesheet_uri(), [], GIVE_VERSION, 'all');
117 }
118
119 // Enqueue Sequoia template styles
120 wp_enqueue_style(
121 'give-sequoia-template-css',
122 GIVE_PLUGIN_URL . 'assets/dist/css/give-sequoia-template.css',
123 ['give-styles'],
124 GIVE_VERSION
125 );
126
127 $primaryColor = $templateOptions['visual_appearance']['primary_color'];
128 $dynamicCss = sprintf(
129 '
130 .seperator {
131 background: %1$s !important;
132 }
133 .give-btn {
134 border: 2px solid %1$s !important;
135 background: %1$s !important;
136 }
137 .give-btn:hover {
138 background: %1$s !important;
139 }
140 .give-btn:focus {
141 box-shadow: 0 0 8px %1$s;
142 }
143 .payment .give-gateway-option-selected:focus-within .give-gateway-option::before,
144 .choose-amount .give-total-wrap .give-donation-amount:focus-within {
145 border-color: %1$s !important;
146 }
147 .give-donation-level-btn {
148 border: 2px solid %1$s !important;
149 }
150 .give-donation-level-btn.give-default-level {
151 color: %1$s !important;
152 background: #fff !important;
153 transition: background 0.2s ease, color 0.2s ease;
154 }
155 .give-donation-level-btn.give-default-level:hover {
156 color: %1$s !important; background: #fff !important;
157 }
158 .give-input:focus, .give-select:focus {
159 border: 1px solid %1$s !important;
160 }
161 .checkmark {
162 border-color: %1$s !important;
163 color: %1$s !important;
164 }
165 input[type=\'radio\'] + label::after,
166 [data-field-type=\'radio\'] label::after{
167 background: %1$s !important;
168 }
169 input[type=\'radio\']:focus + label::before{
170 border-color: %1$s;
171 }
172 a {
173 color: %1$s;
174 }
175 .give-square-cc-fields:focus,
176 .give-stripe-cc-field:focus,
177 .give-stripe-single-cc-field-wrap:focus,
178 form[id*="give-form"] .form-row textarea:focus,
179 form[id*="give-form"] .form-row textarea.required:focus,
180 form[id*="give-form"] .form-row input:focus,
181 form[id*="give-form"] .form-row input.required:focus,
182 #give-recurring-form .form-row textarea:focus,
183 #give-recurring-form .form-row textarea.required:focus,
184 #give-recurring-form .form-row input:focus,
185 #give-recurring-form .form-row input.required:focus,
186 form.give-form .form-row textarea:focus,
187 form.give-form .form-row textarea.required:focus,
188 form.give-form .form-row input:focus,
189 form.give-form .form-row input.required:focus,
190 .form-row select, #give-recurring-form .form-row select:focus,
191 form.give-form .form-row select:focus,
192 .form-row select.required:focus,
193 #give-recurring-form .form-row select.required:focus,
194 form.give-form .form-row select.required:focus,
195 .give-select:focus,
196 .give-input-field-wrapper.has-focus,
197 [data-field-type="checkbox"] label:focus-within::before,
198 [data-field-type="radio"] label:focus-within::before {
199 border-color: %1$s !important;
200 }
201 ',
202 $primaryColor
203 );
204
205 $rawColor = trim($primaryColor, '#');
206 $dynamicCss .= "
207 .payment [id*='give-create-account-wrap-'] label::after {
208 background-image: url(\"data:image/svg+xml,%3Csvg width='15' height='11' viewBox='0 0 15 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.73047 10.7812C6.00391 11.0547 6.46875 11.0547 6.74219 10.7812L14.7812 2.74219C15.0547 2.46875 15.0547 2.00391 14.7812 1.73047L13.7969 0.746094C13.5234 0.472656 13.0859 0.472656 12.8125 0.746094L6.25 7.30859L3.16016 4.24609C2.88672 3.97266 2.44922 3.97266 2.17578 4.24609L1.19141 5.23047C0.917969 5.50391 0.917969 5.96875 1.19141 6.24219L5.73047 10.7812Z' fill='%23{$rawColor}'/%3E%3C/svg%3E%0A\");
209 }
210 #give_terms_agreement:hover,
211 #give_terms_agreement:focus-within,
212 #give_terms_agreement.active {
213 border: 1px solid {$primaryColor} !important;
214 }
215 #give_terms_agreement input[type='checkbox']:focus + label::before {
216 border-color: {$primaryColor};
217 }
218 #give_terms_agreement input[type='checkbox'] + label::after,
219 #give-anonymous-donation-wrap label::after,
220 [data-field-type='checkbox'] label.active:after {
221 background-image: url(\"data:image/svg+xml,%3Csvg width='15' height='11' viewBox='0 0 15 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.73047 10.7812C6.00391 11.0547 6.46875 11.0547 6.74219 10.7812L14.7812 2.74219C15.0547 2.46875 15.0547 2.00391 14.7812 1.73047L13.7969 0.746094C13.5234 0.472656 13.0859 0.472656 12.8125 0.746094L6.25 7.30859L3.16016 4.24609C2.88672 3.97266 2.44922 3.97266 2.17578 4.24609L1.19141 5.23047C0.917969 5.50391 0.917969 5.96875 1.19141 6.24219L5.73047 10.7812Z' fill='%23{$rawColor}'/%3E%3C/svg%3E%0A\") !important;
222 }
223 #give-anonymous-donation-wrap label:focus-within::before {
224 border-color: {$primaryColor} !important;
225 }
226 ";
227
228 if (Utils::isPluginActive('give-recurring/give-recurring.php')) {
229 $dynamicCss .= "
230 .give-recurring-donors-choice:hover,
231 .give-recurring-donors-choice:focus-within,
232 .give-recurring-donors-choice.active {
233 border: 1px solid {$primaryColor};
234 }
235 .give-recurring-donors-choice .give-recurring-donors-choice-period:focus,
236 .give-recurring-donors-choice input[type='checkbox']:focus + label::before {
237 border-color: {$primaryColor};
238 }
239 .give-recurring-donors-choice input[type='checkbox'] + label::after {
240 background-image: url(\"data:image/svg+xml,%3Csvg width='15' height='11' viewBox='0 0 15 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.73047 10.7812C6.00391 11.0547 6.46875 11.0547 6.74219 10.7812L14.7812 2.74219C15.0547 2.46875 15.0547 2.00391 14.7812 1.73047L13.7969 0.746094C13.5234 0.472656 13.0859 0.472656 12.8125 0.746094L6.25 7.30859L3.16016 4.24609C2.88672 3.97266 2.44922 3.97266 2.17578 4.24609L1.19141 5.23047C0.917969 5.50391 0.917969 5.96875 1.19141 6.24219L5.73047 10.7812Z' fill='%23{$rawColor}'/%3E%3C/svg%3E%0A\");
241 }
242 ";
243 }
244
245 if (Utils::isPluginActive('give-fee-recovery/give-fee-recovery.php')) {
246 $dynamicCss .= "
247 .give-fee-recovery-donors-choice.give-fee-message:hover,
248 .give-fee-recovery-donors-choice.give-fee-message:focus-within,
249 .give-fee-recovery-donors-choice.give-fee-message.active {
250 border: 1px solid {$primaryColor};
251 }
252 .give-fee-message-label input[type='checkbox']:focus + span::before {
253 border-color: {$primaryColor};
254 }
255 .give-fee-recovery-donors-choice.give-fee-message input[type='checkbox'] + .give-fee-message-label-text::after {
256 background-image: url(\"data:image/svg+xml,%3Csvg width='15' height='11' viewBox='0 0 15 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.73047 10.7812C6.00391 11.0547 6.46875 11.0547 6.74219 10.7812L14.7812 2.74219C15.0547 2.46875 15.0547 2.00391 14.7812 1.73047L13.7969 0.746094C13.5234 0.472656 13.0859 0.472656 12.8125 0.746094L6.25 7.30859L3.16016 4.24609C2.88672 3.97266 2.44922 3.97266 2.17578 4.24609L1.19141 5.23047C0.917969 5.50391 0.917969 5.96875 1.19141 6.24219L5.73047 10.7812Z' fill='%23{$rawColor}'/%3E%3C/svg%3E%0A\");
257 }
258 ";
259 }
260
261 if (Utils::isPluginActive('give-activecampaign/give-activecampaign.php')) {
262 $dynamicCss .= "
263 .give-activecampaign-fieldset:hover,
264 .give-activecampaign-fieldset:focus-within,
265 .give-activecampaign-fieldset.active {
266 border: 1px solid {$primaryColor} !important;
267 }
268 .give-activecampaign-fieldset input[type='checkbox']:focus + span::before {
269 border-color: {$primaryColor};
270 }
271 .give-activecampaign-fieldset input[type='checkbox'] + span::after {
272 background-image: url(\"data:image/svg+xml,%3Csvg width='15' height='11' viewBox='0 0 15 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.73047 10.7812C6.00391 11.0547 6.46875 11.0547 6.74219 10.7812L14.7812 2.74219C15.0547 2.46875 15.0547 2.00391 14.7812 1.73047L13.7969 0.746094C13.5234 0.472656 13.0859 0.472656 12.8125 0.746094L6.25 7.30859L3.16016 4.24609C2.88672 3.97266 2.44922 3.97266 2.17578 4.24609L1.19141 5.23047C0.917969 5.50391 0.917969 5.96875 1.19141 6.24219L5.73047 10.7812Z' fill='%23{$rawColor}'/%3E%3C/svg%3E%0A\") !important;
273 }
274 ";
275 }
276
277 if (Utils::isPluginActive('give-mailchimp/give-mailchimp.php')) {
278 $dynamicCss .= "
279 .give-mailchimp-fieldset:hover,
280 .give-mailchimp-fieldset:focus-within,
281 .give-mailchimp-fieldset.active {
282 border: 1px solid {$primaryColor} !important;
283 }
284 .give-mailchimp-fieldset input[type='checkbox']:focus + span::before {
285 border-color: {$primaryColor};
286 }
287 .give-mailchimp-fieldset input[type='checkbox'] + span::after {
288 background-image: url(\"data:image/svg+xml,%3Csvg width='15' height='11' viewBox='0 0 15 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.73047 10.7812C6.00391 11.0547 6.46875 11.0547 6.74219 10.7812L14.7812 2.74219C15.0547 2.46875 15.0547 2.00391 14.7812 1.73047L13.7969 0.746094C13.5234 0.472656 13.0859 0.472656 12.8125 0.746094L6.25 7.30859L3.16016 4.24609C2.88672 3.97266 2.44922 3.97266 2.17578 4.24609L1.19141 5.23047C0.917969 5.50391 0.917969 5.96875 1.19141 6.24219L5.73047 10.7812Z' fill='%23{$rawColor}'/%3E%3C/svg%3E%0A\") !important;
289 }
290 ";
291 }
292
293 if (Utils::isPluginActive('give-constant-contact/give-constant-contact.php')) {
294 $dynamicCss .= "
295 .give-constant-contact-fieldset:hover,
296 .give-constant-contact-fieldset:focus-within,
297 .give-constant-contact-fieldset.active {
298 border: 1px solid {$primaryColor} !important;
299 }
300 .give-constant-contact-fieldset input[type='checkbox']:focus + span::before {
301 border-color: {$primaryColor};
302 }
303 .give-constant-contact-fieldset input[type='checkbox'] + span::after {
304 background-image: url(\"data:image/svg+xml,%3Csvg width='15' height='11' viewBox='0 0 15 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.73047 10.7812C6.00391 11.0547 6.46875 11.0547 6.74219 10.7812L14.7812 2.74219C15.0547 2.46875 15.0547 2.00391 14.7812 1.73047L13.7969 0.746094C13.5234 0.472656 13.0859 0.472656 12.8125 0.746094L6.25 7.30859L3.16016 4.24609C2.88672 3.97266 2.44922 3.97266 2.17578 4.24609L1.19141 5.23047C0.917969 5.50391 0.917969 5.96875 1.19141 6.24219L5.73047 10.7812Z' fill='%23{$rawColor}'/%3E%3C/svg%3E%0A\") !important;
305 }
306 ";
307 }
308
309 if (Utils::isPluginActive('give-form-field-manager/give-ffm.php')) {
310 $dynamicCss .= "
311 .ffm-checkbox-field label.checked::after {
312 background-image: url(\"data:image/svg+xml,%3Csvg width='15' height='11' viewBox='0 0 15 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M5.73047 10.7812C6.00391 11.0547 6.46875 11.0547 6.74219 10.7812L14.7812 2.74219C15.0547 2.46875 15.0547 2.00391 14.7812 1.73047L13.7969 0.746094C13.5234 0.472656 13.0859 0.472656 12.8125 0.746094L6.25 7.30859L3.16016 4.24609C2.88672 3.97266 2.44922 3.97266 2.17578 4.24609L1.19141 5.23047C0.917969 5.50391 0.917969 5.96875 1.19141 6.24219L5.73047 10.7812Z' fill='%23{$rawColor}'/%3E%3C/svg%3E%0A\");
313 }
314 .ffm-radio-field label::after {
315 background: {$primaryColor};
316 }
317 .ffm-attachment-upload-filelist:focus-within,
318 .ffm-checkbox-field label:focus-within::before,
319 .ffm-radio-field label:focus-within::before {
320 border-color: {$primaryColor};
321 }
322 ";
323 }
324
325 if (Utils::isPluginActive('give-tributes/give-tributes.php')) {
326 $dynamicCss .= "
327 .give-tributes-type-button-list input[type='radio']:checked + label.give-tribute-type-button {
328 color: {$primaryColor} !important;
329 }
330 ";
331 }
332
333 if ($isGoogleFontEnabled) {
334 $dynamicCss .= "body, button, input, select{font-family: 'Montserrat', sans-serif;}";
335 }
336
337 wp_add_inline_style('give-sequoia-template-css', $dynamicCss);
338
339 wp_enqueue_script(
340 'give-sequoia-template-js',
341 GIVE_PLUGIN_URL . 'assets/dist/js/give-sequoia-template.js',
342 ['give'],
343 GIVE_VERSION,
344 true
345 );
346 wp_localize_script('give-sequoia-template-js', 'sequoiaTemplateOptions', $templateOptions);
347 wp_localize_script(
348 'give-sequoia-template-js',
349 'sequoiaTemplateL10n',
350 [
351 'optionalLabel' => sprintf('&nbsp;(%s)', esc_html__('optional', 'give')),
352 ]
353 );
354 }
355
356 /**
357 * @inheritDoc
358 */
359 public function getID()
360 {
361 return 'sequoia';
362 }
363
364 /**
365 * @inheritDoc
366 */
367 public function getName()
368 {
369 return __('Multi-Step Form', 'give');
370 }
371
372 /**
373 * @inheritDoc
374 */
375 public function getImage()
376 {
377 return GIVE_PLUGIN_URL . 'assets/dist/images/admin/template-preview-multi-step.png';
378 }
379
380 /**
381 * @inheritDoc
382 */
383 public function getOptionsConfig()
384 {
385 return require 'optionConfig.php';
386 }
387
388 /**
389 * @inheritDoc
390 * @since 2.15.0 Allow HTML in thank you message.
391 */
392 public function getReceiptDetails($donationId)
393 {
394 $receipt = new DonationReceipt($donationId);
395 $options = FormTemplateUtils::getOptions();
396
397 $receipt->heading = esc_html($options['thank-you']['headline']);
398 $receipt->message = wp_kses_post(
399 formatContent($options['thank-you']['description'], ['payment_id' => $donationId])
400 );
401
402 /**
403 * Fire the action for receipt object.
404 *
405 * @since 2.7.0
406 */
407 do_action('give_new_receipt', $receipt);
408
409 return $receipt;
410 }
411
412 /**
413 * Get form heading
414 *
415 * @since 2.7.0
416 *
417 * @param int $formId
418 *
419 * @return string
420 */
421 public function getFormHeading($formId)
422 {
423 $templateOptions = FormTemplateUtils::getOptions($formId);
424
425 return ! empty($templateOptions['introduction']['headline']) ?
426 $templateOptions['introduction']['headline'] :
427 get_the_title($formId);
428 }
429
430 /**
431 * Get form image
432 *
433 * @since 2.7.0
434 *
435 * @param int $formId
436 *
437 * @return string
438 */
439 public function getFormFeaturedImage($formId)
440 {
441 $templateOptions = FormTemplateUtils::getOptions($formId);
442
443 return ! empty($templateOptions['introduction']['image']) ?
444 $templateOptions['introduction']['image'] :
445 get_the_post_thumbnail_url($formId, 'full');
446 }
447
448 /**
449 * Get form excerpt
450 *
451 * @since 2.7.0
452 *
453 * @since 2.19.6 Form excerpt has precedence over form description
454 *
455 * @param int|null $formId
456 *
457 * @return string|void
458 */
459 public function getFormExcerpt($formId)
460 {
461 $excerpt = get_the_excerpt($formId);
462 $templateOptions = FormTemplateUtils::getOptions($formId);
463
464 if ( ! empty($excerpt)) {
465 return $excerpt;
466 }
467
468 // Backward compatibility
469 if ( ! empty($templateOptions['introduction']['description']) ) {
470 return $templateOptions['introduction']['description'];
471 }
472 }
473 }
474