From c27c4375ede68d9b10ebba0dc7152190db3c28e7 Mon Sep 17 00:00:00 2001 From: liyuchun <563917701@qq.com> Date: Tue, 2 Aug 2022 05:29:09 +0000 Subject: [PATCH] * Finish task #62870. --- module/gogs/model.php | 15 +++++++++++++-- module/repo/config.php | 2 +- module/repo/lang/de.php | 1 + module/repo/lang/en.php | 1 + module/repo/lang/fr.php | 1 + module/repo/lang/vi.php | 1 + module/repo/lang/zh-cn.php | 1 + module/repo/lang/zh-tw.php | 1 + 8 files changed, 20 insertions(+), 3 deletions(-) diff --git a/module/gogs/model.php b/module/gogs/model.php index a59d916237..72ba3c1311 100644 --- a/module/gogs/model.php +++ b/module/gogs/model.php @@ -260,8 +260,19 @@ class gogsModel extends model $url = sprintf($apiRoot, "/user"); $httpData = commonModel::httpWithHeader($url); $user = json_decode($httpData['body']); - if(empty($user)) return false; - if(isset($users->message) or isset($users->error)) return null; + if(empty($httpData['header'])) return false; + if(empty($user)) return null; + + /* Check whether the token belongs to the administrator by edit user. */ + $editUserUrl = sprintf($apiRoot, "/admin/users/" . $user->username); + $data = new stdclass(); + $data->login_name = $user->login; + $data->email = $user->email; + + $result = commonModel::http($editUserUrl, $data, array(), array(), 'data', 'PATCH'); + $user = json_decode($result); + if(empty($user)) return null; + return true; } diff --git a/module/repo/config.php b/module/repo/config.php index 13855f8028..d96ba3129f 100644 --- a/module/repo/config.php +++ b/module/repo/config.php @@ -52,7 +52,7 @@ $config->repo->gitlab->apiPath = "%s/api/v4/projects/%s/repository/"; $config->repo->gitea = new stdclass; $config->repo->gitea->apiPath = "%s/api/v1/repos/%s/"; -$config->repo->gitServiceList = array('gitlab', 'gitea'); +$config->repo->gitServiceList = array('gitlab', 'gitea', 'gogs'); $config->repo->rules['module']['task'] = 'Task'; $config->repo->rules['module']['bug'] = 'Bug'; diff --git a/module/repo/lang/de.php b/module/repo/lang/de.php index 54c8aad4ea..eef3df7db5 100644 --- a/module/repo/lang/de.php +++ b/module/repo/lang/de.php @@ -142,6 +142,7 @@ $lang->repo->encodingList['utf_8'] = 'UTF-8'; $lang->repo->encodingList['gbk'] = 'GBK'; $lang->repo->scmList['Gitlab'] = 'GitLab'; +$lang->repo->scmList['Gogs'] = 'Gogs'; $lang->repo->scmList['Gitea'] = 'Gitea'; $lang->repo->scmList['Git'] = 'Git'; $lang->repo->scmList['Subversion'] = 'SVN'; diff --git a/module/repo/lang/en.php b/module/repo/lang/en.php index 5d9b5bbd87..025d4901ab 100644 --- a/module/repo/lang/en.php +++ b/module/repo/lang/en.php @@ -142,6 +142,7 @@ $lang->repo->encodingList['utf_8'] = 'UTF-8'; $lang->repo->encodingList['gbk'] = 'GBK'; $lang->repo->scmList['Gitlab'] = 'GitLab'; +$lang->repo->scmList['Gogs'] = 'Gogs'; $lang->repo->scmList['Gitea'] = 'Gitea'; $lang->repo->scmList['Git'] = 'Git'; $lang->repo->scmList['Subversion'] = 'SVN'; diff --git a/module/repo/lang/fr.php b/module/repo/lang/fr.php index ff2f8c8246..28e405a979 100644 --- a/module/repo/lang/fr.php +++ b/module/repo/lang/fr.php @@ -142,6 +142,7 @@ $lang->repo->encodingList['utf_8'] = 'UTF-8'; $lang->repo->encodingList['gbk'] = 'GBK'; $lang->repo->scmList['Gitlab'] = 'GitLab'; +$lang->repo->scmList['Gogs'] = 'Gogs'; $lang->repo->scmList['Gitea'] = 'Gitea'; $lang->repo->scmList['Git'] = 'Git'; $lang->repo->scmList['Subversion'] = 'Subversion'; diff --git a/module/repo/lang/vi.php b/module/repo/lang/vi.php index 16eb83b534..aa05c51e62 100644 --- a/module/repo/lang/vi.php +++ b/module/repo/lang/vi.php @@ -142,6 +142,7 @@ $lang->repo->encodingList['utf_8'] = 'UTF-8'; $lang->repo->encodingList['gbk'] = 'GBK'; $lang->repo->scmList['Gitlab'] = 'GitLab'; +$lang->repo->scmList['Gogs'] = 'Gogs'; $lang->repo->scmList['Gitea'] = 'Gitea'; $lang->repo->scmList['Git'] = 'Git'; $lang->repo->scmList['Subversion'] = 'SVN'; diff --git a/module/repo/lang/zh-cn.php b/module/repo/lang/zh-cn.php index f94930c892..e791a70c1d 100644 --- a/module/repo/lang/zh-cn.php +++ b/module/repo/lang/zh-cn.php @@ -142,6 +142,7 @@ $lang->repo->encodingList['utf_8'] = 'UTF-8'; $lang->repo->encodingList['gbk'] = 'GBK'; $lang->repo->scmList['Gitlab'] = 'GitLab'; +$lang->repo->scmList['Gogs'] = 'Gogs'; $lang->repo->scmList['Gitea'] = 'Gitea'; $lang->repo->scmList['Git'] = '本地 Git'; $lang->repo->scmList['Subversion'] = 'Subversion'; diff --git a/module/repo/lang/zh-tw.php b/module/repo/lang/zh-tw.php index 9811b114f1..b900b9cd6d 100644 --- a/module/repo/lang/zh-tw.php +++ b/module/repo/lang/zh-tw.php @@ -135,6 +135,7 @@ $lang->repo->encodingList['utf_8'] = 'UTF-8'; $lang->repo->encodingList['gbk'] = 'GBK'; $lang->repo->scmList['Gitlab'] = 'GitLab'; +$lang->repo->scmList['Gogs'] = 'Gogs'; $lang->repo->scmList['Gitea'] = 'Gitea'; $lang->repo->scmList['Git'] = '本地 Git'; $lang->repo->scmList['Subversion'] = 'Subversion';