From 592d324997ef9234cee4dc8ab771d416d183b68d Mon Sep 17 00:00:00 2001 From: Kevin Duret <kduret@centreon.com> Date: Tue, 7 Nov 2017 10:46:31 +0100 Subject: [PATCH] fix(kb): update migration script to get all pages --- .../centreon-knowledge/wikiApi.class.php | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/www/class/centreon-knowledge/wikiApi.class.php b/www/class/centreon-knowledge/wikiApi.class.php index 4ebac0aa37..32759cd838 100644 --- a/www/class/centreon-knowledge/wikiApi.class.php +++ b/www/class/centreon-knowledge/wikiApi.class.php @@ -266,17 +266,24 @@ class WikiApi 'format' => 'json', 'action' => 'query', 'list' => 'allpages', - 'aplimit' => '1000' + 'aplimit' => '10' ); - curl_setopt($this->curl, CURLOPT_POSTFIELDS, $postfields); - $result = curl_exec($this->curl); - $result = json_decode($result); - $pages = array(); - foreach ($result->query->allpages as $page) { - $pages[] = $page->title; - } + do { + curl_setopt($this->curl, CURLOPT_POSTFIELDS, $postfields); + $result = curl_exec($this->curl); + $result = json_decode($result); + + foreach ($result->query->allpages as $page) { + $pages[] = $page->title; + } + + // Get next page if exists + if (isset($result->{'query-continue'}->allpages->apcontinue)) { + $postfields['apfrom'] = $result->{'query-continue'}->allpages->apcontinue; + } + } while (isset($result->{'query-continue'}->allpages->apcontinue)); return $pages; } -- GitLab