Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
| Total | |
0.00% |
0 / 11 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 1 |
| MobileFrontendHookHandlers | |
0.00% |
0 / 11 |
|
0.00% |
0 / 1 |
42 | |
0.00% |
0 / 1 |
| onSpecialMobileEditWatchlist__images | |
0.00% |
0 / 11 |
|
0.00% |
0 / 1 |
42 | |||
| 1 | <?php |
| 2 | |
| 3 | // phpcs:disable MediaWiki.NamingConventions.LowerCamelFunctionsName.FunctionName |
| 4 | |
| 5 | namespace PageImages\Hooks; |
| 6 | |
| 7 | use MediaWiki\Context\IContextSource; |
| 8 | use MediaWiki\Title\Title; |
| 9 | use MobileFrontend\Hooks\SpecialMobileEditWatchlistImagesHook; |
| 10 | use PageImages\PageImages; |
| 11 | |
| 12 | /** |
| 13 | * Hooks from MobileFrontend extension, |
| 14 | * which is optional to use with this extension. |
| 15 | */ |
| 16 | class MobileFrontendHookHandlers implements SpecialMobileEditWatchlistImagesHook { |
| 17 | |
| 18 | /** |
| 19 | * SpecialMobileEditWatchlist::images hook handler, adds images to mobile watchlist A-Z view |
| 20 | * |
| 21 | * @param IContextSource $context Context object. Ignored |
| 22 | * @param array[] &$watchlist Array of relevant pages on the watchlist, sorted by namespace |
| 23 | * @param array[] &$images Array of images to populate |
| 24 | */ |
| 25 | public function onSpecialMobileEditWatchlist__images( |
| 26 | IContextSource $context, array &$watchlist, array &$images |
| 27 | ) { |
| 28 | $ids = []; |
| 29 | foreach ( $watchlist as $ns => $pages ) { |
| 30 | foreach ( array_keys( $pages ) as $dbKey ) { |
| 31 | $title = Title::makeTitle( $ns, $dbKey ); |
| 32 | // Getting page ID here is safe because SpecialEditWatchlist::getWatchlistInfo() |
| 33 | // uses LinkBatch |
| 34 | $id = $title->getArticleID(); |
| 35 | if ( $id ) { |
| 36 | $ids[$id] = $dbKey; |
| 37 | } |
| 38 | } |
| 39 | } |
| 40 | |
| 41 | $data = PageImages::getImages( array_keys( $ids ) ); |
| 42 | foreach ( $data as $id => $page ) { |
| 43 | if ( isset( $page['pageimage'] ) ) { |
| 44 | $images[ $page['ns'] ][ $ids[$id] ] = $page['pageimage']; |
| 45 | } |
| 46 | } |
| 47 | } |
| 48 | |
| 49 | } |