PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / trunk
GiveWP – Donation Plugin and Fundraising Platform vtrunk
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 / DonationForms / V2 / ListTable / Columns / LevelsColumn.php
give / src / DonationForms / V2 / ListTable / Columns Last commit date
DateCreatedColumn.php 3 years ago DonationCountColumn.php 8 months ago DonationRevenueColumn.php 1 year ago GoalColumn.php 1 year ago IdColumn.php 3 years ago LevelsColumn.php 3 years ago ShortcodeColumn.php 3 years ago StatusColumn.php 1 year ago TitleColumn.php 1 year ago
LevelsColumn.php
89 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace Give\DonationForms\V2\ListTable\Columns;
6
7 use Give\DonationForms\V2\Models\DonationForm;
8 use Give\Framework\ListTable\ModelColumn;
9
10 /**
11 * @since 2.24.0
12 *
13 * @extends ModelColumn<DonationForm>
14 */
15 class LevelsColumn extends ModelColumn
16 {
17
18 /**
19 * @since 2.24.0
20 *
21 * @inheritDoc
22 */
23 public static function getId(): string
24 {
25 return 'levels';
26 }
27
28 /**
29 * @since 2.24.0
30 *
31 * @inheritDoc
32 */
33 public function getLabel(): string
34 {
35 return __('Donation Levels', 'give');
36 }
37
38 /**
39 * @since 2.24.0
40 *
41 * @inheritDoc
42 *
43 * @param DonationForm $model
44 */
45 public function getCellValue($model, $locale = ''): string
46 {
47 if (empty($model->levels)) {
48 return __('No Levels', 'give');
49 }
50
51 return sprintf(
52 '<div class="amount"><span>%s</span></div>',
53 $this->getLevels($model->levels, $locale)
54 );
55 }
56
57 /**
58 * @since 2.24.0
59 *
60 * @param array $levels
61 * @param string $locale
62 *
63 * @return string
64 */
65 private function getLevels(array $levels, string $locale): string
66 {
67 if (count($levels) === 1) {
68 return $levels[0]->amount->formatToLocale($locale);
69 }
70
71 $levelsAmount = array_map(function ($level) use ($locale) {
72 return $level->amount->formatToDecimal();
73 }, $levels);
74
75 $min = $levels[array_search(min($levelsAmount), $levelsAmount)];
76 $max = $levels[array_search(max($levelsAmount), $levelsAmount)];
77
78 if ($min === $max) {
79 return $min->amount->formatToLocale($locale);
80 }
81
82 return sprintf(
83 '%s - %s',
84 $min->amount->formatToLocale($locale),
85 $max->amount->formatToLocale($locale)
86 );
87 }
88 }
89