/** * @return stdClass|bool */ protected function fetchSiteMatrix() { $data = kfApiRequest('https://meta.wikimedia.org', array('action' => 'sitematrix', 'smlangprop' => 'site', 'smsiteprop' => 'url|dbname|code')); // Sample: /* "286": { "code": "zu", "name": "isiZulu", "site": [ { "url": "http://zu.wikipedia.org", "dbname": "zuwiki", "sitename": "Wikipedia" }, { "url": "http://zu.wiktionary.org", .. } ] }, "specials": [ { "url": "http://advisory.wikimedia.org", }, */ return $data ? $data->sitematrix : false; }
/** * @return object|bool */ protected function fetchSiteInfo() { $section = new KfLogSection(__METHOD__); $wikiInfo = $this->getWikiInfo(); $data = kfApiRequest($wikiInfo['url'], array('meta' => 'siteinfo', 'siprop' => implode('|', self::$siprops))); foreach (self::$siprops as $siprop) { if (!isset($data->query->{$siprop})) { return false; } } return $data->query; }