diff --git a/module/repo/tao.php b/module/repo/tao.php index 3fa4d1fa1f..9db2217ee5 100644 --- a/module/repo/tao.php +++ b/module/repo/tao.php @@ -336,68 +336,4 @@ class repoTao extends repoModel $this->dao->insert(TABLE_REPOFILES)->data($copyFile)->exec(); } } - - /** - * Get the hidden projects for the user. - * - * @param string $user - * @return array - */ - protected function getHiddenProjects(string $user = '') - { - if(empty($user)) $user = 'system'; - - $hiddenProjects = $this->dao->select('`value`')->from(TABLE_CONFIG) - ->where('module')->eq('repo') - ->beginIF($user)->andWhere('owner')->eq($user)->fi() - ->andWhere('`key`')->eq('hiddenProjects') - ->fetch('value'); - - if($hiddenProjects) return json_decode($hiddenProjects, true); - - return array(); - } - - /** - * Set hidden projects of the server for the user. - * - * @param string|int $server - * @param string|array $projects - * @param string $user - * @param bool $override - * @return bool - */ - protected function setHiddenProjects(string|int $server, string|array $projects, string $user = '', bool $override = true) - { - if(empty($user)) $user = 'system'; - - $hiddenProjects = $this->getHiddenProjects($user); - - if(is_string($projects) && strpos($projects, ',') !== false) $projects = explode(',', $projects); - - $server = (string) $server; - if(isset($hiddenProjects[$server]) || !empty($hiddenProjects)) - { - $hiddenProjects[$server] = $override ? $projects : array_unique(array_merge($hiddenProjects[$server], $projects)); - - $this->dao->update(TABLE_CONFIG)->set('`value`')->eq(json_encode($hiddenProjects)) - ->where('module')->eq('repo') - ->beginIF($user)->andWhere('owner')->eq($user)->fi() - ->andWhere('`key`')->eq('hiddenProjects') - ->exec(); - } - else - { - $hiddenProjects[$server] = $projects; - $hiddenProjectData = new stdclass; - $hiddenProjectData->vision = $this->config->vision; - $hiddenProjectData->owner = $user; - $hiddenProjectData->module = 'repo'; - $hiddenProjectData->key = 'hiddenProjects'; - $hiddenProjectData->value = json_encode($hiddenProjects); - $this->dao->insert(TABLE_CONFIG)->data($hiddenProjectData)->autoCheck()->exec(); - } - - return !dao::isError(); - } } diff --git a/module/repo/test/repo.class.php b/module/repo/test/repo.class.php index 3cf99dfdbf..b420aff9ae 100755 --- a/module/repo/test/repo.class.php +++ b/module/repo/test/repo.class.php @@ -880,26 +880,4 @@ class repoTest { return $this->objectModel->buildTree($files); } - - /** - * Test::Set hidden projects of the server for the user. - * - * @param string|int $server - * @param string|array $projects - * @param string $user - * @param bool $override - * @return bool - */ - public function setHiddenProjectsTest(string|int $server, string|array $projects, string $user = '', bool $override = true) - { - $created = $this->objectModel->setHiddenProjects($server, $projects, $user, $override); - if(!$created) return false; - - $hiddenProjects = $this->objectModel->getHiddenProjects($user); - - if(is_string($projects)) $projects = array_map('intval', explode(',', $projects)); - if(empty(array_diff($projects, $hiddenProjects[$server], ))) return true; - - return false; - } } diff --git a/module/repo/test/tao/sethiddenprojects.php b/module/repo/test/tao/sethiddenprojects.php deleted file mode 100644 index 40f54f40c1..0000000000 --- a/module/repo/test/tao/sethiddenprojects.php +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env php -setHiddenProjectsTest(1, '1,2,3')) && p() && e('1'); // 测试将代码库里的项目隐藏 -r($repo->setHiddenProjectsTest(1, [2,3,4], 'admin', false)) && p() && e('1'); // 测试不覆盖已隐藏的代码库项目 -r($repo->setHiddenProjectsTest(1, [1,2,3], 'admin')) && p() && e('1'); // 测试给admin用户添加已隐藏的代码库项目 -r($repo->setHiddenProjectsTest(1, [1,2,3], 'system')) && p() && e('1'); // 测试给system用户添加已隐藏的代码库项目 diff --git a/module/repo/zen.php b/module/repo/zen.php index 6b74dd2208..1ff9b2a3b1 100644 --- a/module/repo/zen.php +++ b/module/repo/zen.php @@ -570,7 +570,7 @@ class repoZen extends repo $url = rtrim($server->url, '/') . '/api/graphql' . "?private_token={$server->token}"; while($hasNextPage) { - $query = 'query { projects(after: "' . $endCursor . '") {pageInfo {endCursor hasNextPage} nodes {nameWithNamespace id}}}'; + $query = 'query { projects(after: "' . $endCursor . '") {pageInfo {endCursor hasNextPage} nodes {nameWithNamespace id name}}}'; $response = json_decode(commonModel::http($url, array('query' => $query), array(CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1))); if(!$endCursor && !isset($response->data->projects->nodes)) return array();