From a5afc23cda6811904e6a6f4cc96557b4fb3c074f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ste=CC=81phane=20Goetz?= Date: Fri, 17 Jul 2015 18:29:54 +0200 Subject: [PATCH] Bugfix on confluence API --- libs/Format/Confluence/Api.php | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/libs/Format/Confluence/Api.php b/libs/Format/Confluence/Api.php index a82d9c8..23309df 100644 --- a/libs/Format/Confluence/Api.php +++ b/libs/Format/Confluence/Api.php @@ -121,9 +121,12 @@ class Api */ public function getHierarchy($rootPage) { + $increment = 15; + //We do a limit of 15 as it appears that confluence has //a bug when retrieving more than 20 entries with "body.storage" - $url = "content/$rootPage/child/page?expand=version,body.storage&limit=15"; + $base_url = $url = "content/$rootPage/child/page?expand=version,body.storage&limit=$increment"; + $start = 0; $children = []; @@ -143,12 +146,12 @@ class Api "children" => $this->getHierarchy($result['id']) ]; } + + //We don't use _links->next as after ~30 elements it doesn't show any new elements + $start += $increment; + $url = "$base_url&start=$start"; - if (array_key_exists('next', $hierarchy['_links'])) { - $url = $hierarchy['_links']['next']; - } - - } while (array_key_exists('next', $hierarchy['_links'])); + } while (!empty($hierarchy['results'])); return $children; }