PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 4.16.3
GiveWP – Donation Plugin and Fundraising Platform v4.16.3
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 / ThirdPartySupport / Elementor / Widgets / V1 / GiveGoalWidget.php
give / src / ThirdPartySupport / Elementor / Widgets / V1 Last commit date
resources 10 months ago DonationHistoryWidget.php 10 months ago DonationReceiptWidget.php 10 months ago GiveDonorWallWidget.php 10 months ago GiveFormGridWidget.php 9 months ago GiveFormWidget.php 10 months ago GiveGoalWidget.php 10 months ago GiveLoginWidget.php 10 months ago GiveMultiFormGoalWidget.php 10 months ago GiveProfileEditorWidget.php 10 months ago GiveRegisterWidget.php 10 months ago GiveSubscriptionsWidget.php 10 months ago GiveTotalsWidget.php 10 months ago
GiveGoalWidget.php
189 lines
1 <?php
2
3 namespace Give\ThirdPartySupport\Elementor\Widgets\V1;
4
5 use Elementor\Widget_Base;
6
7 /**
8 * Elementor Give Goal Widget.
9 *
10 * Elementor widget that inserts the GiveWP [give_goal] shortcode to output a login form.
11 *
12 * @since 4.7.0 migrated from givewp-elementor-widgets
13 */
14
15 class GiveGoalWidget extends Widget_Base
16 {
17 /**
18 * Get widget name.
19 *
20 * Retrieve Give Goal widget name.
21 *
22 * @since 4.7.0 migrated from givewp-elementor-widgets
23 * @access public
24 *
25 * @return string Widget name.
26 */
27 public function get_name()
28 {
29 return 'Give Goal';
30 }
31
32 /**
33 * Get widget title.
34 *
35 * Retrieve Give Goal widget title.
36 *
37 * @since 4.7.0 migrated from givewp-elementor-widgets
38 * @access public
39 *
40 * @return string Widget title.
41 */
42 public function get_title()
43 {
44 return __('Give Goal (Legacy)', 'give');
45 }
46
47 /**
48 * Get widget icon.
49 *
50 * Retrieve Give Goal widget icon.
51 *
52 * @since 4.7.0 migrated from givewp-elementor-widgets
53 * @access public
54 *
55 * @return string Widget icon.
56 */
57 public function get_icon()
58 {
59 return 'give-icon';
60 }
61
62 /**
63 * Get widget categories.
64 *
65 * Retrieve the list of categories the Give Goal widget belongs to.
66 *
67 * @since 4.7.0 migrated from givewp-elementor-widgets
68 * @access public
69 *
70 * @return array Widget categories.
71 */
72 public function get_categories()
73 {
74 return ['givewp-category-legacy'];
75 }
76
77 /**
78 * Widget inner wrapper.
79 *
80 * Use optimized DOM structure, without the inner wrapper.
81 *
82 * @since 4.7.0 migrated from givewp-elementor-widgets
83 * @access public
84 */
85 public function has_widget_inner_wrapper(): bool
86 {
87 return false;
88 }
89
90 /**
91 * Goal Give Goal widget controls.
92 *
93 * Adds different input fields to allow the user to change and customize the widget settings.
94 *
95 * @since 4.7.0 migrated from givewp-elementor-widgets
96 * @access protected
97 */
98 protected function register_controls()
99 {
100 $this->start_controls_section(
101 'give_login_settings',
102 [
103 'label' => __('GiveWP Goal Widget', 'give'),
104 'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
105 ]
106 );
107
108 $this->add_control(
109 'form_id',
110 [
111 'label' => __('Form ID', 'give'),
112 'type' => \Elementor\Controls_Manager::TEXT,
113 'input_type' => 'number'
114 ]
115 );
116
117 $this->add_control(
118 'show_text',
119 [
120 'label' => __('Show Text', 'give'),
121 'type' => \Elementor\Controls_Manager::SWITCHER,
122 'description' => __('Show or hide the goal text.', 'give'),
123 'label_on' => __('Show', 'give'),
124 'label_off' => __('Hide', 'give'),
125 'default' => 'yes'
126 ]
127 );
128
129 $this->add_control(
130 'show_bar',
131 [
132 'label' => __('Show Progress Bar', 'give'),
133 'type' => \Elementor\Controls_Manager::SWITCHER,
134 'description' => __('Show or hide progress bar.', 'give'),
135 'label_on' => __('Show', 'give'),
136 'label_off' => __('Hide', 'give'),
137 'default' => 'yes'
138 ]
139 );
140
141 $this->add_control(
142 'give_goal_info',
143 [
144 'label' => '',
145 'type' => \Elementor\Controls_Manager::RAW_HTML,
146 'content_classes' => 'give-info',
147 'raw' => '
148 <div class="give">
149 <p class="info-head">
150 ' . __('GIVEWP GOAL WIDGET', 'give') . '</p>
151 <p class="info-message">' . __('This is the GiveWP Goal widget. Choose how you want your form goal to be displayed. Note that this widget only supports forms that have a goal enabled. If you want to show progress of any form or multiple forms, use the "GiveWP Totals" widget instead.', 'give') . '</p>
152 <p class="give-docs-links">
153 <a href="https://givewp.com/documentation/core/shortcodes/give_goal/?utm_source=plugin_settings&utm_medium=referral&utm_campaign=Free_Addons&utm_content=givelementor" rel="noopener noreferrer" target="_blank"><i class="fa fa-book" aria-hidden="true"></i>' . __('Visit the GiveWP Docs for more info on the GiveWP Goal.', 'give') . '</a>
154 </p>
155 </div>'
156 ]
157 );
158
159 $this->end_controls_section();
160 }
161
162 /**
163 * Render the [give_goal] output on the frontend.
164 *
165 * Written in PHP and used to generate the final HTML.
166 *
167 * @since 4.7.0 migrated from givewp-elementor-widgets
168 * @access protected
169 */
170 protected function render()
171 {
172 $settings = $this->get_settings_for_display();
173
174 $id = esc_html($settings['form_id']);
175 $showText = esc_html($settings['show_text']);
176 $showBar = esc_html($settings['show_bar']);
177
178 $html = do_shortcode(
179 '[give_goal
180 id="' . $id . '"
181 show_text="' . $showText . '"
182 show_bar="' . $showBar . '"
183 ]'
184 );
185
186 echo '<div class="givewp-elementor-widget give-login-shortcode-wrap">' . $html . '</div>';
187 }
188 }
189