PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.24.0
GiveWP – Donation Plugin and Fundraising Platform v2.24.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 / DonationForms / ListTable / Columns / LevelsColumn.php
give / src / DonationForms / ListTable / Columns Last commit date
DateCreatedColumn.php 3 years ago DonationCountColumn.php 3 years ago DonationRevenueColumn.php 3 years ago GoalColumn.php 3 years ago IdColumn.php 3 years ago LevelsColumn.php 3 years ago ShortcodeColumn.php 3 years ago StatusColumn.php 3 years ago TitleColumn.php 3 years ago
LevelsColumn.php
89 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace Give\DonationForms\ListTable\Columns;
6
7 use Give\DonationForms\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 return sprintf(
48 '<div class="amount"><span>%s</span></div>',
49 $this->getLevels($model->levels, $locale)
50 );
51 }
52
53 /**
54 * @since 2.24.0
55 *
56 * @param array $levels
57 * @param string $locale
58 *
59 * @return string
60 */
61 private function getLevels(array $levels, string $locale): string
62 {
63 if ( empty($levels) ) {
64 return __('No Levels', 'give');
65 }
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