- Delete invalid method.
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(__FILE__, 5) . '/test/lib/init.php';
|
||||
include dirname(__FILE__, 2) . '/repo.class.php';
|
||||
|
||||
/**
|
||||
|
||||
title=测试 repoTao::setHiddenProjects();
|
||||
timeout=0
|
||||
cid=1
|
||||
|
||||
- 测试将代码库里的项目隐藏 @1
|
||||
- 测试不覆盖已隐藏的代码库项目 @1
|
||||
- 测试给admin用户添加已隐藏的代码库项目 @1
|
||||
- 测试给system用户添加已隐藏的代码库项目 @1
|
||||
|
||||
*/
|
||||
|
||||
$repo = new repoTest();
|
||||
r($repo->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用户添加已隐藏的代码库项目
|
||||
+1
-1
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user