Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 29 |
|
0.00% |
0 / 2 |
CRAP | |
0.00% |
0 / 1 |
EventPageDecoratorFactory | |
0.00% |
0 / 29 |
|
0.00% |
0 / 2 |
6 | |
0.00% |
0 / 1 |
__construct | |
0.00% |
0 / 12 |
|
0.00% |
0 / 1 |
2 | |||
newDecorator | |
0.00% |
0 / 17 |
|
0.00% |
0 / 1 |
2 |
1 | <?php |
2 | |
3 | declare( strict_types=1 ); |
4 | |
5 | namespace MediaWiki\Extension\CampaignEvents\EventPage; |
6 | |
7 | use Language; |
8 | use MediaWiki\Extension\CampaignEvents\Event\PageEventLookup; |
9 | use MediaWiki\Extension\CampaignEvents\MWEntity\CampaignsCentralUserLookup; |
10 | use MediaWiki\Extension\CampaignEvents\MWEntity\CampaignsPageFactory; |
11 | use MediaWiki\Extension\CampaignEvents\MWEntity\UserLinker; |
12 | use MediaWiki\Extension\CampaignEvents\Organizers\OrganizersStore; |
13 | use MediaWiki\Extension\CampaignEvents\Participants\ParticipantsStore; |
14 | use MediaWiki\Extension\CampaignEvents\Permissions\PermissionChecker; |
15 | use MediaWiki\Extension\CampaignEvents\Questions\EventQuestionsRegistry; |
16 | use MediaWiki\Extension\CampaignEvents\Time\EventTimeFormatter; |
17 | use MediaWiki\Linker\LinkRenderer; |
18 | use MediaWiki\Output\OutputPage; |
19 | use MediaWiki\Permissions\Authority; |
20 | use Wikimedia\Message\IMessageFormatterFactory; |
21 | |
22 | class EventPageDecoratorFactory { |
23 | public const SERVICE_NAME = 'CampaignEventsEventPageDecoratorFactory'; |
24 | |
25 | private PageEventLookup $pageEventLookup; |
26 | private ParticipantsStore $participantsStore; |
27 | private OrganizersStore $organizersStore; |
28 | private PermissionChecker $permissionChecker; |
29 | private IMessageFormatterFactory $messageFormatterFactory; |
30 | private LinkRenderer $linkRenderer; |
31 | private CampaignsPageFactory $campaignsPageFactory; |
32 | private CampaignsCentralUserLookup $centralUserLookup; |
33 | private UserLinker $userLinker; |
34 | private EventTimeFormatter $eventTimeFormatter; |
35 | private EventPageCacheUpdater $eventPageCacheUpdater; |
36 | private EventQuestionsRegistry $eventQuestionsRegistry; |
37 | |
38 | /** |
39 | * @param PageEventLookup $pageEventLookup |
40 | * @param ParticipantsStore $participantsStore |
41 | * @param OrganizersStore $organizersStore |
42 | * @param PermissionChecker $permissionChecker |
43 | * @param IMessageFormatterFactory $messageFormatterFactory |
44 | * @param LinkRenderer $linkRenderer |
45 | * @param CampaignsPageFactory $campaignsPageFactory |
46 | * @param CampaignsCentralUserLookup $centralUserLookup |
47 | * @param UserLinker $userLinker |
48 | * @param EventTimeFormatter $eventTimeFormatter |
49 | * @param EventPageCacheUpdater $eventPageCacheUpdater |
50 | * @param EventQuestionsRegistry $eventQuestionsRegistry |
51 | * |
52 | */ |
53 | public function __construct( |
54 | PageEventLookup $pageEventLookup, |
55 | ParticipantsStore $participantsStore, |
56 | OrganizersStore $organizersStore, |
57 | PermissionChecker $permissionChecker, |
58 | IMessageFormatterFactory $messageFormatterFactory, |
59 | LinkRenderer $linkRenderer, |
60 | CampaignsPageFactory $campaignsPageFactory, |
61 | CampaignsCentralUserLookup $centralUserLookup, |
62 | UserLinker $userLinker, |
63 | EventTimeFormatter $eventTimeFormatter, |
64 | EventPageCacheUpdater $eventPageCacheUpdater, |
65 | EventQuestionsRegistry $eventQuestionsRegistry |
66 | ) { |
67 | $this->pageEventLookup = $pageEventLookup; |
68 | $this->participantsStore = $participantsStore; |
69 | $this->organizersStore = $organizersStore; |
70 | $this->permissionChecker = $permissionChecker; |
71 | $this->messageFormatterFactory = $messageFormatterFactory; |
72 | $this->linkRenderer = $linkRenderer; |
73 | $this->campaignsPageFactory = $campaignsPageFactory; |
74 | $this->centralUserLookup = $centralUserLookup; |
75 | $this->userLinker = $userLinker; |
76 | $this->eventTimeFormatter = $eventTimeFormatter; |
77 | $this->eventPageCacheUpdater = $eventPageCacheUpdater; |
78 | $this->eventQuestionsRegistry = $eventQuestionsRegistry; |
79 | } |
80 | |
81 | public function newDecorator( |
82 | Language $language, |
83 | Authority $viewingAuthority, |
84 | OutputPage $out |
85 | ): EventPageDecorator { |
86 | return new EventPageDecorator( |
87 | $this->pageEventLookup, |
88 | $this->participantsStore, |
89 | $this->organizersStore, |
90 | $this->permissionChecker, |
91 | $this->messageFormatterFactory, |
92 | $this->linkRenderer, |
93 | $this->campaignsPageFactory, |
94 | $this->centralUserLookup, |
95 | $this->userLinker, |
96 | $this->eventTimeFormatter, |
97 | $this->eventPageCacheUpdater, |
98 | $this->eventQuestionsRegistry, |
99 | $language, |
100 | $viewingAuthority, |
101 | $out |
102 | ); |
103 | } |
104 | } |