PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.0.4
GiveWP – Donation Plugin and Fundraising Platform v3.0.4
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 / Subscriptions / ListTable / Columns / StatusColumn.php
give / src / Subscriptions / ListTable / Columns Last commit date
AmountColumn.php 3 years ago BillingPeriodColumn.php 3 years ago DonorColumn.php 3 years ago FormColumn.php 3 years ago IdColumn.php 3 years ago RenewalDateColumn.php 3 years ago StatusColumn.php 3 years ago
StatusColumn.php
114 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace Give\Subscriptions\ListTable\Columns;
6
7 use Give\Framework\ListTable\ModelColumn;
8 use Give\Subscriptions\Models\Subscription;
9
10 /**
11 * @since 2.24.0
12 *
13 * @extends ModelColumn<Subscription>
14 */
15 class StatusColumn extends ModelColumn
16 {
17 protected $sortColumn = 'status';
18
19 /**
20 * @since 2.24.0
21 *
22 * @inheritDoc
23 */
24 public static function getId(): string
25 {
26 return 'status';
27 }
28
29 /**
30 * @since 2.24.0
31 *
32 * @inheritDoc
33 */
34 public function getLabel(): string
35 {
36 return __('Status', 'give');
37 }
38
39 /**
40 * @since 2.24.0
41 *
42 * @inheritDoc
43 *
44 * @param Subscription $model
45 */
46 public function getCellValue($model): string
47 {
48 $template = '
49 <div class="subscriptionStatus">
50 <div class="statusBadge statusBadge--%1$s"><div>%2$s</div></div>
51 %3$s
52 </div>
53 ';
54
55 $extraTemplate = '
56 <div class="subscriptionStatus__container">
57 <img src="%1$s" alt="%2$s"/>
58 <div class="subscriptionStatus__message subscriptionStatus__message--%3$s">
59 <img src="%1$s" alt="%2$s"/>
60 <p>%4$s</p>
61 </div>
62 </div>
63 ';
64
65 if ($model->status->isFailing()) {
66 $extra = [
67 'label' => __('failed', 'give'),
68 'status' => 'failed',
69 'text' => __('This subscription has <strong>failed</strong>', 'give'),
70 ];
71 } elseif ($model->isIndefinite()) {
72 $extra = [
73 'label' => __('indefinite', 'give'),
74 'status' => 'indefinite',
75 'text' => __('This subscription continues <strong>indefinitely</strong>', 'give'),
76 ];
77 } elseif ($model->hasExceededTheMaxInstallments()) {
78 $extra = [
79 'label' => __('exceeded', 'give'),
80 'status' => 'exceeded',
81 'text' => __('This subscription has <strong>exceeded</strong> the expected donations. Try syncing with the gateway and cancelling if necessary.',
82 'give'),
83 ];
84 } elseif (0 < ($remainingInstallments = $model->remainingInstallments())) {
85 $extra = [
86 'label' => __('limited', 'give'),
87 'status' => 'limited',
88 'text' => sprintf(
89 _n(
90 'This subscription has <strong>%s</strong> remaining donation',
91 'This subscription has <strong>%s</strong> remaining donations',
92 $remainingInstallments,
93 'give'
94 ),
95 $remainingInstallments
96 ),
97 ];
98 }
99
100 return sprintf(
101 $template,
102 $model->status,
103 $model->status->label(),
104 isset($extra) ? sprintf(
105 $extraTemplate,
106 GIVE_PLUGIN_URL . 'assets/dist/images/list-table/' . $extra['status'] . '-subscription-icon.svg',
107 $extra['label'],
108 $extra['status'],
109 $extra['text']
110 ) : ''
111 );
112 }
113 }
114