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 / GoalColumn.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
GoalColumn.php
109 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace Give\DonationForms\V2\ListTable\Columns;
6
7 use Give\DonationForms\Repositories\DonationFormDataRepository;
8 use Give\DonationForms\V2\Models\DonationForm;
9 use Give\Framework\ListTable\ModelColumn;
10
11 /**
12 * @since 2.24.0
13 *
14 * @extends ModelColumn<DonationForm>
15 */
16 class GoalColumn extends ModelColumn
17 {
18 /**
19 * @since 2.24.0
20 *
21 * @inheritDoc
22 */
23 public static function getId(): string
24 {
25 return 'goal';
26 }
27
28 /**
29 * @since 2.24.0
30 *
31 * @inheritDoc
32 */
33 public function getLabel(): string
34 {
35 return __('Goal', 'give');
36 }
37
38 /**
39 * @since 4.3.0 use DonationFormDataRepository
40 * @since 4.2.0 convert goal data to v3 form format
41 * @since 3.16.0 Remove "give_get_form_earnings_stats" filter logic and add filters to change the cell value content
42 * @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
43 * @since 2.24.0
44 *
45 * @inheritDoc
46 *
47 * @param DonationForm $model
48 */
49 public function getCellValue($model): string
50 {
51 if (! $model->goalSettings->enableDonationGoal) {
52 return __('No Goal Set', 'give');
53 }
54
55 /**
56 * @var DonationFormDataRepository $donationFormData
57 */
58 $donationFormData = $this->getListTableData();
59
60 $goalData = $donationFormData->getGoalData($model);
61
62 $stats = apply_filters('give_goal_progress_stats', [
63 'raw_actual' => $goalData['actual'],
64 'raw_goal' => $goalData['goal'],
65 'progress' => $goalData['percentage'],
66 'actual' => $goalData['actualFormatted'] ,
67 'goal' => $goalData['goalFormatted'],
68 'format' => $goalData['typeIsMoney'] ? 'percentage' : 'amount',
69 'form_id' => $model->id,
70 ]);
71
72
73 $template = '
74 <div
75 role="progressbar"
76 aria-labelledby="giveDonationFormsProgressBar-%1$d"
77 aria-valuenow="%2$s"
78 aria-valuemin="0"
79 aria-valuemax="100"
80 class="goalProgress"
81 >
82 <span style="width: %2$s%%"></span>
83 </div>
84 <div id="giveDonationFormsProgressBar-%1$d">
85 <span class="goal">%3$s</span>%4$s %5$s
86 </div>
87 ';
88
89 return sprintf(
90 $template,
91 $model->id,
92 $stats['progress'],
93 $stats['actual'],
94 sprintf(
95 ' %s %s',
96 __('of', 'give'),
97 $stats['goal']
98 ),
99 sprintf(
100 '<span style="opacity:%1$s" class="goalProgress--achieved"><img src="%2$s" alt="%3$s" />%4$s</span>',
101 apply_filters('givewp_list_table_goal_progress_achieved_opacity', $stats['progress'] >= 100 ? 1 : 0),
102 GIVE_PLUGIN_URL . 'build/assets/dist/images/list-table/star-icon.svg',
103 __('Goal achieved icon', 'give'),
104 __('Goal achieved!', 'give')
105 )
106 );
107 }
108 }
109