PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 3.12.0
GiveWP – Donation Plugin and Fundraising Platform v3.12.0
4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 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 All 253 releases
give / src / EventTickets / ListTable / Columns / SalesCountColumn.php
SalesCountColumn.php
58 lines 1.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare(strict_types=1);
4
5 namespace Give\EventTickets\ListTable\Columns;
6
7 use Give\EventTickets\Models\Event;
8 use Give\Framework\ListTable\ModelColumn;
9
10 /**
11 * @since 3.6.0
12 *
13 * @extends ModelColumn<Event>
14 */
15 class SalesCountColumn extends ModelColumn
16 {
17 /**
18 * @inheritDoc
19 *
20 * @since 3.6.0
21 */
22 public static function getId(): string
23 {
24 return 'salesCount';
25 }
26
27 /**
28 * @inheritDoc
29 *
30 * @since 3.6.0
31 */
32 public function getLabel(): string
33 {
34 return __('No. of tickets sold', 'give');
35 }
36
37 /**
38 * @inheritDoc
39 *
40 * @since 3.6.0
41 *
42 * @param Event $model
43 */
44 public function getCellValue($model): string
45 {
46 $soldTicketsCount = $model->eventTickets()->count() ?? 0;
47 $capacity = array_reduce($model->ticketTypes()->getAll() ?? [], function (int $carry, $ticketType) {
48 return $carry + $ticketType->capacity;
49 }, 0);
50
51 return sprintf(
52 __('%1$d out of %2$d', 'give'),
53 $soldTicketsCount,
54 $capacity
55 );
56 }
57 }
58