From a10130df5c4a398bc329b71734c208bafa8a79ba Mon Sep 17 00:00:00 2001 From: Guanxiying Date: Wed, 9 Jun 2021 19:49:43 +0800 Subject: [PATCH] * Add getProjectsByID function. --- module/gitlab/model.php | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/module/gitlab/model.php b/module/gitlab/model.php index f1838c8ac8..6e090fb271 100644 --- a/module/gitlab/model.php +++ b/module/gitlab/model.php @@ -89,4 +89,27 @@ class gitlabModel extends model if(isset($response->is_admin) and $response->is_admin == true) return array('result' => 'success'); return array('result' => 'fail', 'message' => array('token' => array($this->lang->gitlab->tokenError))); } + + /** + * Get projects of one gitlab. + * + * @param int $id + * @access public + * @return void + */ + public function getProjectsByID($id) + { + $gitlab = $this->getByID($id); + $host = rtrim($gitlab->url, '/'); + $host .= '/api/v4/projects'; + + $allResults = array(); + for($page = 1; true; $page ++) + { + $results = json_decode(file_get_contents($host . "?private_token={$gitlab->token}&simple=true&membership=true&page={$page}&per_page=100")); + if(empty($results) or $page > 10) break; + $allResults = $allResults + $results; + } + return $allResults; + } }