From aaf21f178df1c1824ef414ad32e04c3e80be1739 Mon Sep 17 00:00:00 2001 From: caoyanyi Date: Tue, 8 Feb 2022 01:32:33 +0000 Subject: [PATCH] * Finish task #48607. --- module/sonarqube/control.php | 2 +- module/sonarqube/lang/en.php | 6 ++++-- module/sonarqube/lang/zh-cn.php | 6 ++++-- module/sonarqube/model.php | 10 +++++++++- module/sonarqube/view/browse.html.php | 2 +- module/sonarqube/view/create.html.php | 2 +- module/sonarqube/view/edit.html.php | 2 +- 7 files changed, 21 insertions(+), 9 deletions(-) diff --git a/module/sonarqube/control.php b/module/sonarqube/control.php index f30170956e..e8e4c77a9f 100644 --- a/module/sonarqube/control.php +++ b/module/sonarqube/control.php @@ -165,7 +165,7 @@ class sonarqube extends control $token = base64_encode("{$sonarqube->account}:{$sonarqube->password}"); $result = $this->sonarqube->apiValidate($sonarqube->url, $token); - if(!isset($result->valid) or !$result->valid) return $this->send(array('result' => 'fail', 'message' => array('token' => array($this->lang->sonarqube->validError)))); + if(!empty($result)) return $this->send(array('result' => 'fail', 'message' => $result)); $this->post->set('token', $token); } diff --git a/module/sonarqube/lang/en.php b/module/sonarqube/lang/en.php index e3f1f3c00b..3da64b7a2d 100644 --- a/module/sonarqube/lang/en.php +++ b/module/sonarqube/lang/en.php @@ -29,8 +29,9 @@ $lang->sonarqube->editServer = 'Edit SonarQube Server'; $lang->sonarqube->createSuccess = 'Create success'; $lang->sonarqube->placeholder = new stdclass; -$lang->sonarqube->placeholder->name = ''; -$lang->sonarqube->placeholder->url = "Please fill in the access address of the SonarQube Server homepage, as: https://sonarqube.zentao.net."; +$lang->sonarqube->placeholder->name = ''; +$lang->sonarqube->placeholder->url = "Please fill in the access address of the SonarQube Server homepage, as: https://sonarqube.zentao.net."; +$lang->sonarqube->placeholder->account = "Please fill in the SonarQube user information with Administrator privileges"; $lang->sonarqube->nameRepeatError = "Server name already exists!"; $lang->sonarqube->urlRepeatError = 'Server address already exists!'; @@ -39,6 +40,7 @@ $lang->sonarqube->hostError = "Invalid SonarQube service address."; $lang->sonarqube->confirmDelete = 'Do you want to delete this SonarQube server?'; $lang->sonarqube->confirmDeleteProject = 'Do you want to delete this SonarQube project?'; $lang->sonarqube->noReport = "No Reprot"; +$lang->sonarqube->notAdminer = "Please fill in the SonarQube user information with Administrator privileges"; $lang->sonarqube->projectKey = 'Project Key'; $lang->sonarqube->projectName = 'Project Name'; diff --git a/module/sonarqube/lang/zh-cn.php b/module/sonarqube/lang/zh-cn.php index 583300c3cd..fcee0e2f52 100644 --- a/module/sonarqube/lang/zh-cn.php +++ b/module/sonarqube/lang/zh-cn.php @@ -29,8 +29,9 @@ $lang->sonarqube->editServer = '修改SonarQube服务器'; $lang->sonarqube->createSuccess = "创建成功"; $lang->sonarqube->placeholder = new stdclass; -$lang->sonarqube->placeholder->name = ''; -$lang->sonarqube->placeholder->url = "请填写SonarQube Server首页的访问地址,如:https://sonarqube.zentao.net。"; +$lang->sonarqube->placeholder->name = ''; +$lang->sonarqube->placeholder->url = "请填写SonarQube Server首页的访问地址,如:https://sonarqube.zentao.net。"; +$lang->sonarqube->placeholder->account = "请填写具有Administrator权限的SonarQube用户信息"; $lang->sonarqube->nameRepeatError = "服务器名称已存在!"; $lang->sonarqube->urlRepeatError = "服务器地址已存在!"; @@ -39,6 +40,7 @@ $lang->sonarqube->hostError = "无效的SonarQube服务地址。"; $lang->sonarqube->confirmDelete = '确认删除该SonarQube吗?'; $lang->sonarqube->confirmDeleteProject = '确认删除该SonarQube项目吗?'; $lang->sonarqube->noReport = "暂无报告"; +$lang->sonarqube->notAdminer = "请填写具有Administrator权限的SonarQube用户信息"; $lang->sonarqube->projectKey = '项目标识'; $lang->sonarqube->projectName = '项目名称'; diff --git a/module/sonarqube/model.php b/module/sonarqube/model.php index b01ca2f6f2..58a5e804eb 100644 --- a/module/sonarqube/model.php +++ b/module/sonarqube/model.php @@ -42,7 +42,15 @@ class sonarqubeModel extends model { $url = rtrim($host, '/') . "/api/authentication/validate"; $header = 'Authorization: Basic ' . $token; - return json_decode(commonModel::http($url, null, array(), $header)); + $result = json_decode(commonModel::http($url, null, array(), $header)); + if(!isset($result->valid) or !$result->valid) return array('password' => array($this->lang->sonarqube->validError)); + + $url = rtrim($host, '/') . "/api/user_groups/search"; + $header = 'Authorization: Basic ' . $token; + $adminer = json_decode(commonModel::http($url, null, array(), $header)); + if(empty($adminer) or isset($adminer->errors)) return array('account' => array($this->lang->sonarqube->notAdminer)); + + return array(); } /** diff --git a/module/sonarqube/view/browse.html.php b/module/sonarqube/view/browse.html.php index c41334e3be..39e6f551cd 100644 --- a/module/sonarqube/view/browse.html.php +++ b/module/sonarqube/view/browse.html.php @@ -43,7 +43,7 @@ name;?> - url;?> + url, $sonarqube->url, '_blank');?> ", '',"title='{$lang->sonarqube->browseProject}' class='btn btn-primary'"); diff --git a/module/sonarqube/view/create.html.php b/module/sonarqube/view/create.html.php index 2da3a05837..c52905396b 100644 --- a/module/sonarqube/view/create.html.php +++ b/module/sonarqube/view/create.html.php @@ -30,7 +30,7 @@ sonarqube->account;?> - + sonarqube->placeholder->account}'");?> sonarqube->password;?> diff --git a/module/sonarqube/view/edit.html.php b/module/sonarqube/view/edit.html.php index d35df609eb..3649ea1bc3 100644 --- a/module/sonarqube/view/edit.html.php +++ b/module/sonarqube/view/edit.html.php @@ -30,7 +30,7 @@ sonarqube->account;?> - account) ? $sonarqube->account : '', "class='form-control'");?> + account) ? $sonarqube->account : '', "class='form-control' placeholder='{$lang->sonarqube->placeholder->account}'");?> sonarqube->password;?>