PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.15.0
GiveWP – Donation Plugin and Fundraising Platform v3.15.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 / Donations / CustomFields / Views / DonationDetailsView.php
give / src / Donations / CustomFields / Views Last commit date
DonationDetailsView.php 2 years ago
DonationDetailsView.php
101 lines
1 <?php
2
3 namespace Give\Donations\CustomFields\Views;
4
5 use Give\Donations\Models\Donation;
6 use Give\Framework\FieldsAPI\Field;
7 use Give\Framework\FieldsAPI\Types;
8
9 /**
10 * @since 3.0.0
11 */
12 class DonationDetailsView
13 {
14 /** @var Donation */
15 protected $donation;
16
17 /** @var Field[] */
18 protected $fields;
19
20 /**
21 * @since 3.0.0
22 *
23 * @param Donation $donation
24 * @param array|Field[] $fields
25 */
26 public function __construct(Donation $donation, array $fields)
27 {
28 $this->donation = $donation;
29 $this->fields = $fields;
30 }
31
32 /**
33 * @since 3.0.0
34 *
35 * @return string
36 */
37 public function render(): string
38 {
39 return "<div class='postbox' style='padding-bottom: 15px;'>
40 <h3 class='handle'>{$this->getTitle()}</h3>
41 <div class='inside'>{$this->getContents()}</div>
42 </div>";
43 }
44
45 /**
46 * @since 3.0.0
47 *
48 * @return string
49 */
50 protected function getTitle(): string
51 {
52 return __('Custom Fields', 'give');
53 }
54
55 /**
56 * @since 3.0.0
57 *
58 * @return string
59 */
60 protected function getContents(): string
61 {
62 return array_reduce($this->fields, function ($output, Field $field) {
63 $value = $this->getFieldValue($field);
64 $label = method_exists($field, 'getLabel') ? $field->getLabel() : $field->getName();
65
66 if (empty($value)) {
67 return $output;
68 }
69
70 return $output . "
71 <div>
72 <strong>{$label}:</strong>&nbsp;
73 {$value}
74 </div>
75 ";
76 }, '');
77 }
78
79 /**
80 * @since 3.0.0
81 *
82 * @param Field $field
83 *
84 * @return mixed
85 */
86 protected function getFieldValue(Field $field)
87 {
88 $metaValue = give()->payment_meta->get_meta($this->donation->id, $field->getName(), true);
89
90 if (empty($metaValue)) {
91 return '';
92 }
93
94 if ($field->getType() === Types::FILE) {
95 return wp_get_attachment_link($metaValue);
96 }
97
98 return $metaValue;
99 }
100 }
101