Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 1
CRAP
0.00% covered (danger)
0.00%
0 / 1
EchoNewsletterUserLocator
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 1
6
0.00% covered (danger)
0.00%
0 / 1
 locateNewsletterSubscribedUsers
0.00% covered (danger)
0.00%
0 / 5
0.00% covered (danger)
0.00%
0 / 1
6
1<?php
2
3namespace MediaWiki\Extension\Newsletter\Notifications;
4
5use EchoEvent;
6use MediaWiki\Extension\Newsletter\Newsletter;
7use MediaWiki\User\UserArray;
8use MediaWiki\User\UserArrayFromResult;
9
10class EchoNewsletterUserLocator {
11
12    /**
13     * Locate all users subscribed to a newsletter.
14     *
15     * @param EchoEvent $event
16     * @return UserArrayFromResult|array empty if the newsletter has been deleted/invalid
17     */
18    public static function locateNewsletterSubscribedUsers( EchoEvent $event ) {
19        $extra = $event->getExtra();
20        $newsletter = Newsletter::newFromID( (int)$extra['newsletter-id'] );
21        if ( !$newsletter ) {
22            return [];
23        }
24
25        return UserArray::newFromIDs( $newsletter->getSubscribers() );
26    }
27
28}