PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.19.3
GiveWP – Donation Plugin and Fundraising Platform v3.19.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 / DonationForms / V2 / ListTable / Columns / GoalColumn.php
give / src / DonationForms / V2 / ListTable / Columns Last commit date
DateCreatedColumn.php 3 years ago DonationCountColumn.php 1 year 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 3 years ago TitleColumn.php 2 years ago
GoalColumn.php
92 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 GoalColumn extends ModelColumn
16 {
17 /**
18 * @since 2.24.0
19 *
20 * @inheritDoc
21 */
22 public static function getId(): string
23 {
24 return 'goal';
25 }
26
27 /**
28 * @since 2.24.0
29 *
30 * @inheritDoc
31 */
32 public function getLabel(): string
33 {
34 return __('Goal', 'give');
35 }
36
37 /**
38 * @since 3.16.0 Remove "give_get_form_earnings_stats" filter logic and add filters to change the cell value content
39 * @since 3.14.0 Use the "give_get_form_earnings_stats" filter to ensure the correct value will be displayed in the form progress bar
40 * @since 2.24.0
41 *
42 * @inheritDoc
43 *
44 * @param DonationForm $model
45 */
46 public function getCellValue($model): string
47 {
48 if ( ! $model->goalOption) {
49 return __('No Goal Set', 'give');
50 }
51
52 $goal = give_goal_progress_stats($model->id);
53 $goalPercentage = ('percentage' === $goal['format']) ? str_replace('%', '',
54 $goal['actual']) : max(min($goal['progress'], 100), 0);
55
56 $template = '
57 <div
58 role="progressbar"
59 aria-labelledby="giveDonationFormsProgressBar-%1$d"
60 aria-valuenow="%2$s"
61 aria-valuemin="0"
62 aria-valuemax="100"
63 class="goalProgress"
64 >
65 <span style="width: %2$s%%"></span>
66 </div>
67 <div id="giveDonationFormsProgressBar-%1$d">
68 <span class="goal">%3$s</span>%4$s %5$s
69 </div>
70 ';
71
72 return sprintf(
73 $template,
74 $model->id,
75 $goalPercentage,
76 $goal['actual'],
77 sprintf(
78 ($goal['format'] !== 'percentage' ? ' %s %s' : ''),
79 __('of', 'give'),
80 $goal['goal']
81 ),
82 sprintf(
83 '<span style="opacity:%1$s" class="goalProgress--achieved"><img src="%2$s" alt="%3$s" />%4$s</span>',
84 apply_filters('givewp_list_table_goal_progress_achieved_opacity', $goal['progress'] >= 100 ? 1 : 0),
85 GIVE_PLUGIN_URL . 'assets/dist/images/list-table/star-icon.svg',
86 __('Goal achieved icon', 'give'),
87 __('Goal achieved!', 'give')
88 )
89 );
90 }
91 }
92