From 39e8a3fae77d082e946afeec7100cc2d67495bd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E7=8E=89=E6=98=A5?= <563917701@qq.com> Date: Thu, 20 Jan 2022 05:42:05 +0000 Subject: [PATCH] Revert "Merge branch 'devops_caoyanyi' into 'master'" This reverts merge request !1515 --- module/gitlab/control.php | 2 +- module/gitlab/model.php | 35 +++++++++++++++-------------------- module/job/model.php | 2 -- module/mr/view/view.html.php | 4 ++-- 4 files changed, 18 insertions(+), 25 deletions(-) diff --git a/module/gitlab/control.php b/module/gitlab/control.php index f06fbc76e0..c87ba7772b 100644 --- a/module/gitlab/control.php +++ b/module/gitlab/control.php @@ -820,7 +820,7 @@ class gitlab extends control $this->app->loadClass('pager', $static = true); $recTotal = count($branches); $pager = new pager($recTotal, $recPerPage, $pageID); - $branchList = is_array($branches) ? array_chunk($branches, $pager->recPerPage) : array(); + $branchList = array_chunk($branches, $pager->recPerPage); $this->view->keyword = $keyword; $this->view->pager = $pager; diff --git a/module/gitlab/model.php b/module/gitlab/model.php index b279152f34..63bcf7207e 100644 --- a/module/gitlab/model.php +++ b/module/gitlab/model.php @@ -56,23 +56,15 @@ class gitlabModel extends model /** * Get gitlab api base url by gitlab id. * - * @param int $gitlabID + * @param int $id * @access public * @return string */ - public function getApiRoot($gitlabID) + public function getApiRoot($id) { - $gitlab = $this->getByID($gitlabID); + $gitlab = $this->getByID($id); if(!$gitlab) return ''; - - $sudoParam = ''; - if(!$this->app->user->admin) - { - $openID = $this->getUserIDByZentaoAccount($gitlabID, $this->app->user->account); - if($openID) $sudoParam = "&sudo={$openID}"; - } - - return rtrim($gitlab->url, '/') . '/api/v4%s' . "?private_token={$gitlab->token}" . $sudoParam; + return rtrim($gitlab->url, '/') . '/api/v4%s' . "?private_token={$gitlab->token}"; } /** @@ -621,15 +613,17 @@ class gitlabModel extends model */ public function apiGetProjectsPager($gitlabID, $keyword = '', $orderBy = 'id_desc', $pager = null) { - $apiRoot = $this->getApiRoot($gitlabID); - if(!$apiRoot) return array(); + $gitlab = $this->getByID($gitlabID); + if(!$gitlab) return array(); - $url = sprintf($apiRoot, "/projects"); + $host = rtrim($gitlab->url, '/'); + $host .= '/api/v4/projects'; /* Parse order string. */ $order = explode('_', $orderBy); - $result = commonModel::httpWithHeader($url . "&simple=true&&per_page={$pager->recPerPage}&order_by={$order[0]}&sort={$order[1]}&page={$pager->pageID}&search={$keyword}&search_namespaces=true"); + $keyword = urlencode($keyword); + $result = commonModel::httpWithHeader($host . "?private_token={$gitlab->token}&simple=true&&per_page={$pager->recPerPage}&order_by={$order[0]}&sort={$order[1]}&page={$pager->pageID}&search={$keyword}&search_namespaces=true"); $header = $result['header']; $recTotal = $header['X-Total']; @@ -648,15 +642,16 @@ class gitlabModel extends model */ public function apiGetProjects($gitlabID) { - $apiRoot = $this->getApiRoot($gitlabID); - if(!$apiRoot) return array(); + $gitlab = $this->getByID($gitlabID); + if(!$gitlab) return array(); - $url = sprintf($apiRoot, "/projects"); + $host = rtrim($gitlab->url, '/'); + $host .= '/api/v4/projects'; $allResults = array(); for($page = 1; true; $page++) { - $results = json_decode(commonModel::http($host . "&simple=true&page={$page}&per_page=100")); + $results = json_decode(commonModel::http($host . "?private_token={$gitlab->token}&simple=true&page={$page}&per_page=100")); if(!is_array($results)) break; if(!empty($results)) $allResults = array_merge($allResults, $results); if(count($results)<100 or $page > 10) break; diff --git a/module/job/model.php b/module/job/model.php index d679f7400e..d9b60f64b5 100644 --- a/module/job/model.php +++ b/module/job/model.php @@ -21,8 +21,6 @@ class jobModel extends model public function getByID($id) { $job = $this->dao->select('*')->from(TABLE_JOB)->where('id')->eq($id)->fetch(); - if(empty($job)) return new stdClass(); - if(strtolower($job->engine) == 'gitlab') { $pipeline = json_decode($job->pipeline); diff --git a/module/mr/view/view.html.php b/module/mr/view/view.html.php index 8bbe649941..019476a3d1 100644 --- a/module/mr/view/view.html.php +++ b/module/mr/view/view.html.php @@ -139,9 +139,9 @@