]> scripts.mit.edu Git - autoinstalls/mediawiki.git/blob - includes/search/PerRowAugmentor.php
MediaWiki 1.30.2-scripts2
[autoinstalls/mediawiki.git] / includes / search / PerRowAugmentor.php
1 <?php
2
3 /**
4  * Perform augmentation of each row and return composite result,
5  * indexed by ID.
6  */
7 class PerRowAugmentor implements ResultSetAugmentor {
8
9         /**
10          * @var ResultAugmentor
11          */
12         private $rowAugmentor;
13
14         /**
15          * @param ResultAugmentor $augmentor Per-result augmentor to use.
16          */
17         public function __construct( ResultAugmentor $augmentor ) {
18                 $this->rowAugmentor = $augmentor;
19         }
20
21         /**
22          * Produce data to augment search result set.
23          * @param SearchResultSet $resultSet
24          * @return array Data for all results
25          */
26         public function augmentAll( SearchResultSet $resultSet ) {
27                 $data = [];
28                 foreach ( $resultSet->extractResults() as $result ) {
29                         $id = $result->getTitle()->getArticleID();
30                         if ( !$id ) {
31                                 continue;
32                         }
33                         $data[$id] = $this->rowAugmentor->augment( $result );
34                 }
35                 return $data;
36         }
37 }