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 / DonationHistoryWidget.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
DonationHistoryWidget.php
322 lines
1 <?php
2
3 namespace Give\ThirdPartySupport\Elementor\Widgets\V1;
4
5 use Elementor\Widget_Base;
6
7 /**
8 * Elementor Donation History Widget.
9 *
10 * Elementor widget that inserts the GiveWP [donation_history] shortcode to output a donor's full donation history table.
11 *
12 * @since 4.7.0 migrated from givewp-elementor-widgets
13 */
14
15 class DonationHistoryWidget extends Widget_Base
16 {
17 /**
18 * Get widget name.
19 *
20 * Retrieve Donation History 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 'Donation History';
30 }
31
32 /**
33 * Get widget title.
34 *
35 * Retrieve Donation History 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 Donation History (Legacy)', 'give');
45 }
46
47 /**
48 * Get widget icon.
49 *
50 * Retrieve Donation History 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 Donation History 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 * Register Donation History 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 'donation_history_settings',
102 [
103 'label' => __('Donation History Widget', 'give'),
104 'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
105 ]
106 );
107
108 $this->add_control(
109 'form_id',
110 [
111 'label' => __('ID', 'give'),
112 'type' => \Elementor\Controls_Manager::SWITCHER,
113 'description' => __('Show or hide the "ID" column.', 'give'),
114 'label_on' => __('Show', 'give'),
115 'label_off' => __('Hide', 'give'),
116 'default' => 'yes'
117 ]
118 );
119
120 $this->add_control(
121 'date',
122 [
123 'label' => __('Date', 'give'),
124 'type' => \Elementor\Controls_Manager::SWITCHER,
125 'description' => __('Show or hide a column with the date of the donation.', 'give'),
126 'label_on' => __('Show', 'give'),
127 'label_off' => __('Hide', 'give'),
128 'default' => 'yes'
129 ]
130 );
131
132 $this->add_control(
133 'donor',
134 [
135 'label' => __('Donor', 'give'),
136 'type' => \Elementor\Controls_Manager::SWITCHER,
137 'description' => __('Show or hide a column with the donors full name.', 'give'),
138 'label_on' => __('Show', 'give'),
139 'label_off' => __('Hide', 'give'),
140 'default' => 'no'
141 ]
142 );
143
144 $this->add_control(
145 'amount',
146 [
147 'label' => __('Amount', 'give'),
148 'type' => \Elementor\Controls_Manager::SWITCHER,
149 'description' => __('Show or hide a column with the amount of the donation.', 'give'),
150 'label_on' => __('Show', 'give'),
151 'label_off' => __('Hide', 'give'),
152 'default' => 'yes'
153 ]
154 );
155
156 $this->add_control(
157 'status',
158 [
159 'label' => __('Status', 'give'),
160 'type' => \Elementor\Controls_Manager::SWITCHER,
161 'description' => __('Show or hide a column with the status of the payment.', 'give'),
162 'label_on' => __('Show', 'give'),
163 'label_off' => __('Hide', 'give'),
164 'default' => 'no'
165 ]
166 );
167
168 $this->add_control(
169 'method',
170 [
171 'label' => __('Payment Method', 'give'),
172 'type' => \Elementor\Controls_Manager::SWITCHER,
173 'description' => __('Show or hide a column with the name of the payment method.', 'give'),
174 'label_on' => __('Show', 'give'),
175 'label_off' => __('Hide', 'give'),
176 'default' => 'no'
177 ]
178 );
179
180 $this->add_control(
181 'give_history_info',
182 [
183 'label' => '',
184 'type' => \Elementor\Controls_Manager::RAW_HTML,
185 'content_classes' => 'give-info',
186 'raw' => '
187 <div class="give">
188 <p class="info-head">
189 ' . __('GIVEWP DONATION HISTORY WIDGET', 'give') . '</p>
190 <p class="info-message">' . __('This is the GiveWP Donation History widget. Choose which columns you want to have appear for your donors history.', 'give') . '</p>
191 <p class="give-docs-links">
192 <a href="https://givewp.com/documentation/core/shortcodes/donation_history/?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 Donation History.', 'give') . '</a>
193 </p>
194 </div>'
195 ]
196 );
197
198 $this->end_controls_section();
199 }
200
201 /**
202 * Render the [donation_history] output on the frontend.
203 *
204 * Written in PHP and used to generate the final HTML.
205 *
206 * @since 4.7.0 migrated from givewp-elementor-widgets
207 * @access protected
208 */
209 protected function render()
210 {
211 $settings = $this->get_settings_for_display();
212
213 $id = ('yes' === $settings['form_id'] ? '' : 'id="false"');
214 $donor = ('yes' === $settings['donor'] ? 'donor="true"' : '');
215 $date = ('yes' === $settings['date'] ? '' : 'date="false"');
216 $amount = ('yes' === $settings['amount'] ? '' : 'amount="false"');
217 $status = ('yes' === $settings['status'] ? 'status="true"' : '');
218 $method = ('yes' === $settings['method'] ? 'payment_method="true"' : '');
219
220 if (!\Elementor\Plugin::$instance->editor->is_edit_mode()) {
221 $html = do_shortcode(
222 '
223 [donation_history '
224 . $id . ' '
225 . $donor . ' '
226 . $date . ' '
227 . $amount . ' '
228 . $status . ' '
229 . $method .
230 ']'
231 );
232 } else {
233 ob_start(); ?>
234 <style>
235 .give-mobile-title {display:none;}
236 </style>
237 <table id="give_user_history" class="give-table">
238 <thead>
239 <tr class="give-donation-row">
240 <?php if ($settings['form_id'] === 'yes'): ?><th scope="col" class="give-donation-id>">ID</th><?php endif; ?>
241 <?php if ($settings['date'] === 'yes'): ?><th scope="col" class="give-donation-date>">Date</th><?php endif; ?>
242 <?php if ($settings['donor'] === 'yes'): ?><th scope="col" class="give-donation-donor>">Donor</th><?php endif; ?>
243 <?php if ($settings['amount'] === 'yes'): ?><th scope="col" class="give-donation-amount>">Amount</th><?php endif; ?>
244 <?php if ($settings['status'] === 'yes'): ?><th scope="col" class="give-donation-status>">Status</th><?php endif; ?>
245 <?php if ($settings['method'] === 'yes'): ?><th scope="col" class="give-donation-payment_method>">Payment Method</th><?php endif; ?>
246 <th scope="col" class="give-donation-details>">Details</th>
247 </tr>
248 </thead>
249 <tbody>
250 <tr class="give-donation-row">
251 <?php if ($settings['form_id'] === 'yes'): ?><td class="give-donation-id"><span class="give-mobile-title">ID</span>57</td><?php endif; ?>
252 <?php if ($settings['date'] === 'yes'): ?><td class="give-donation-date"><span class="give-mobile-title">Date</span>April 28, 2020</td><?php endif; ?>
253 <?php if ($settings['donor'] === 'yes'): ?><td class="give-donation-donor"><span class="give-mobile-title">Donor</span>Test Donor</td><?php endif; ?>
254 <?php if ($settings['amount'] === 'yes'): ?><td class="give-donation-amount">
255 <span class="give-mobile-title">Amount</span> <span class="give-donation-amount">
256 $500.00 </span>
257 </td><?php endif; ?>
258
259 <?php if ($settings['status'] === 'yes'): ?><td class="give-donation-status"><span class="give-mobile-title">Status</span>Complete</td><?php endif; ?>
260 <?php if ($settings['method'] === 'yes'): ?><td class="give-donation-payment-method"><span class="give-mobile-title">Payment Method</span>Test Donation</td><?php endif; ?>
261 <td class="give-donation-details">
262 <span class="give-mobile-title">Details</span><a href="#">View Receipt »</a> </td>
263 </tr>
264 <tr class="give-donation-row">
265 <?php if ($settings['form_id'] === 'yes'): ?><td class="give-donation-id"><span class="give-mobile-title">ID</span>41</td><?php endif; ?>
266 <?php if ($settings['date'] === 'yes'): ?><td class="give-donation-date"><span class="give-mobile-title">Date</span>January 2, 2020</td><?php endif; ?>
267 <?php if ($settings['donor'] === 'yes'): ?><td class="give-donation-donor"><span class="give-mobile-title">Donor</span>Test Donor</td><?php endif; ?>
268 <?php if ($settings['amount'] === 'yes'): ?><td class="give-donation-amount">
269 <span class="give-mobile-title">Amount</span> <span class="give-donation-amount">
270 $25.00 </span>
271 </td><?php endif; ?>
272
273 <?php if ($settings['status'] === 'yes'): ?><td class="give-donation-status"><span class="give-mobile-title">Status</span>Complete</td><?php endif; ?>
274 <?php if ($settings['method'] === 'yes'): ?><td class="give-donation-payment-method"><span class="give-mobile-title">Payment Method</span>Test Donation</td><?php endif; ?>
275 <td class="give-donation-details">
276 <span class="give-mobile-title">Details</span><a href="#">View Receipt »</a> </td>
277 </tr>
278 <tr class="give-donation-row">
279 <?php if ($settings['form_id'] === 'yes'): ?><td class="give-donation-id"><span class="give-mobile-title">ID</span>38</td><?php endif; ?>
280 <?php if ($settings['date'] === 'yes'): ?><td class="give-donation-date"><span class="give-mobile-title">Date</span>December 15, 2019</td><?php endif; ?>
281 <?php if ($settings['donor'] === 'yes'): ?><td class="give-donation-donor"><span class="give-mobile-title">Donor</span>Test Donor</td><?php endif; ?>
282 <?php if ($settings['amount'] === 'yes'): ?><td class="give-donation-amount">
283 <span class="give-mobile-title">Amount</span> <span class="give-donation-amount">
284 $50.00 </span>
285 </td><?php endif; ?>
286
287 <?php if ($settings['status'] === 'yes'): ?><td class="give-donation-status"><span class="give-mobile-title">Status</span>Complete</td><?php endif; ?>
288 <?php if ($settings['method'] === 'yes'): ?><td class="give-donation-payment-method"><span class="give-mobile-title">Payment Method</span>Test Donation</td><?php endif; ?>
289 <td class="give-donation-details">
290 <span class="give-mobile-title">Details</span><a href="#">View Receipt »</a> </td>
291 </tr>
292 <tr class="give-donation-row">
293 <?php if ($settings['form_id'] === 'yes'): ?><td class="give-donation-id"><span class="give-mobile-title">ID</span>25</td><?php endif; ?>
294 <?php if ($settings['date'] === 'yes'): ?><td class="give-donation-date"><span class="give-mobile-title">Date</span>October 23, 2019</td><?php endif; ?>
295 <?php if ($settings['donor'] === 'yes'): ?><td class="give-donation-donor"><span class="give-mobile-title">Donor</span>Test Donor</td><?php endif; ?>
296 <?php if ($settings['amount'] === 'yes'): ?><td class="give-donation-amount">
297 <span class="give-mobile-title">Amount</span> <span class="give-donation-amount">
298 $28.00 </span>
299 </td><?php endif; ?>
300
301 <?php if ($settings['status'] === 'yes'): ?><td class="give-donation-status"><span class="give-mobile-title">Status</span>Complete</td><?php endif; ?>
302 <?php if ($settings['method'] === 'yes'): ?><td class="give-donation-payment-method"><span class="give-mobile-title">Payment Method</span>Test Donation</td><?php endif; ?>
303 <td class="give-donation-details">
304 <span class="give-mobile-title">Details</span><a href="#">View Receipt »</a> </td>
305 </tr>
306
307 </tbody>
308 </table>
309
310 <?php
311 ob_get_contents();
312 $html = ob_get_clean();
313 }
314
315 echo '<div class="givewp-elementor-widget donation-history">';
316
317 echo $html;
318
319 echo '</div>';
320 }
321 }
322