Conditions | 5 |
Paths | 6 |
Total Lines | 23 |
Code Lines | 16 |
Lines | 0 |
Ratio | 0 % |
Changes | 0 |
1 | <?php |
||
43 | public function loadUncached(): array |
||
44 | { |
||
45 | $res = $this->guzzle->request('GET', 'https://meta.wikimedia.org/w/api.php', [ |
||
46 | 'query' => [ |
||
47 | 'format' => 'json', |
||
48 | 'formatversion' => 2, |
||
49 | 'action' => 'sitematrix', |
||
50 | 'smlangprop' => 'site', |
||
51 | 'smsiteprop' => 'url|dbname', |
||
52 | ] |
||
53 | ]); |
||
54 | $decoded = json_decode($res->getBody()->getContents(), true)['sitematrix']; |
||
55 | $lookup = []; |
||
56 | foreach ($decoded as $k => $v) { |
||
57 | if ($k === 'count') { |
||
58 | continue; |
||
59 | } |
||
60 | $sites = $k === 'specials' ? $v : $v['site']; |
||
61 | foreach ($sites as $site) { |
||
62 | $lookup[$site['dbname']] = parse_url($site['url'], PHP_URL_HOST); |
||
63 | } |
||
64 | } |
||
65 | return $lookup; |
||
66 | } |
||
68 |