PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.16.7.2
GiveWP – Donation Plugin and Fundraising Platform v4.16.7.2
4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 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 / Campaigns / Shortcodes / CampaignFormShortcode.php
give / src / Campaigns / Shortcodes Last commit date
CampaignCommentsShortcode.php 2 months ago CampaignDonationsShortcode.php 1 year ago CampaignDonorsShortcode.php 1 year ago CampaignFormShortcode.php 1 year ago CampaignGoalShortcode.php 1 year ago CampaignGridShortcode.php 1 year ago CampaignShortcode.php 1 year ago CampaignStatsShortcode.php 1 year ago ShortcodeRenderController.php 1 year ago
CampaignFormShortcode.php
97 lines
1 <?php
2
3 namespace Give\Campaigns\Shortcodes;
4
5 use Give\Framework\Support\Facades\Scripts\ScriptAsset;
6 use Give\Helpers\Language;
7
8 /**
9 * @since 4.3.0
10 */
11 class CampaignFormShortcode
12 {
13 /**
14 * @since 4.7.0 updated to use ShortcodeRenderController
15 * @since 4.3.0
16 *
17 * @param array $atts
18 *
19 * @return string
20 */
21 public function renderShortcode($atts): string
22 {
23 $this->loadAssets();
24 $attributes = $this->parseAttributes($atts);
25
26 $renderFile = GIVE_PLUGIN_DIR . 'src/Campaigns/Blocks/CampaignForm/render.php';
27
28 return ShortcodeRenderController::renderWithBlockContext(
29 $renderFile,
30 'givewp/campaign-form-block',
31 $attributes
32 );
33 }
34
35 /**
36 * @since 4.3.0
37 */
38 public function loadAssets()
39 {
40 $handleName = 'givewp-campaign-form-app';
41 $asset = ScriptAsset::get(GIVE_PLUGIN_DIR . 'build/campaignFormBlockApp.asset.php');
42
43 wp_enqueue_script(
44 $handleName,
45 GIVE_PLUGIN_URL . 'build/campaignFormBlockApp.js',
46 $asset['dependencies'],
47 $asset['version'],
48 true
49 );
50
51 Language::setScriptTranslations($handleName);
52
53 wp_enqueue_style(
54 $handleName,
55 GIVE_PLUGIN_URL . 'build/campaignFormBlockApp.css',
56 [],
57 $asset['version']
58 );
59
60 wp_enqueue_style('givewp-design-system-foundation');
61 }
62
63 /**
64 * @since 4.3.0
65 */
66 private function parseAttributes($atts): array
67 {
68 $atts = shortcode_atts([
69 'campaign_id' => 0,
70 'block_id' => '',
71 'prev_id' => 0,
72 'id' => 0,
73 'display_style' => 'onpage',
74 'continue_button_title' => __('Donate Now', 'give'),
75 'show_title' => true,
76 'content_display' => 'above',
77 'show_goal' => true,
78 'show_content' => true,
79 'use_default_form' => true,
80 ], $atts, 'givewp_campaign_form');
81
82 return [
83 'campaignId' => (int) $atts['campaign_id'],
84 'blockId' => (string) $atts['block_id'],
85 'prevId' => (int) $atts['prev_id'],
86 'id' => (int) $atts['id'],
87 'displayStyle' => $atts['display_style'],
88 'continueButtonTitle' => sanitize_text_field($atts['continue_button_title']),
89 'showTitle' => filter_var($atts['show_title'], FILTER_VALIDATE_BOOLEAN),
90 'contentDisplay' => $atts['content_display'],
91 'showGoal' => filter_var($atts['show_goal'], FILTER_VALIDATE_BOOLEAN),
92 'showContent' => filter_var($atts['show_content'], FILTER_VALIDATE_BOOLEAN),
93 'useDefaultForm' => filter_var($atts['use_default_form'], FILTER_VALIDATE_BOOLEAN),
94 ];
95 }
96 }
97