* Finish task 29162,29163

This commit is contained in:
xiawenlong
2021-11-18 15:31:26 +08:00
parent ccfb8c4831
commit c7081db530
7 changed files with 149 additions and 14 deletions

View File

@@ -572,11 +572,13 @@ class gitlabModel extends model
/**
* Get projects of one gitlab.
*
* @param int $gitlabID
* @param int $gitlabID
* @param string $keyword
* @param object $pager
* @access public
* @return array
*/
public function apiGetProjects($gitlabID)
public function apiGetProjects($gitlabID, $keyword = '', $pager)
{
$gitlab = $this->getByID($gitlabID);
if(!$gitlab) return array();
@@ -584,15 +586,14 @@ class gitlabModel extends model
$host = rtrim($gitlab->url, '/');
$host .= '/api/v4/projects';
$allResults = array();
for($page = 1; true; $page++)
{
$results = json_decode(commonModel::http($host . "?private_token={$gitlab->token}&simple=true&page={$page}&per_page=100"));
if(!empty($results)) $allResults = array_merge($allResults, $results);
if(count($results)<100 or $page > 10) break;
}
$result = commonModel::httpWithHeader($host . "?private_token={$gitlab->token}&simple=true&&per_page={$pager->recPerPage}&order_by=id&page={$pager->pageID}&search={$keyword}");
return $allResults;
$header = $result['header'];
$recTotal = $header['X-Total'];
$recPerPage = $header['X-Per-Page'];
$pager = pager::init($recTotal, $recPerPage, $pager->pageID);
return array('pager' => $pager, 'projects' => json_decode($result['body']));
}
/**