Merge branch ztflow-liugang-release/21.7.1#liugang of zentao/zentaopms (#8899)

This commit is contained in:
刘刚
2025-05-26 17:45:01 +08:00
committed by Gitfox
6 changed files with 37 additions and 29 deletions
+1 -1
View File
@@ -3403,7 +3403,7 @@ class baseRouter
$fh = fopen($sqlLog, 'a');
fwrite($fh, date('Ymd H:i:s') . ": " . $this->getURI() . "\n");
foreach(dao::$querys as $query) fwrite($fh, " $query\n");
foreach(dbh::$queries as $query) fwrite($fh, " $query\n");
fwrite($fh, "\n");
fclose($fh);
}
+15 -6
View File
@@ -90,15 +90,24 @@ class dbh
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$queries = [];
/* Mysql driver include mysql and oceanbase. */
if($driver == 'mysql')
{
$pdo->exec("SET NAMES {$config->encoding}");
if(isset($config->strictMode) and $config->strictMode == false) $pdo->exec("SET @@sql_mode= ''");
$queries[] = "SET NAMES {$config->encoding}";
if(isset($config->strictMode) && empty($config->strictMode)) $queries[] = "SET @@sql_mode= ''";
}
else if($setSchema)
{
$pdo->exec("SET SCHEMA {$config->name}");
$queries[] = "SET SCHEMA {$config->name}";
}
if(!empty($queries))
{
foreach($queries as $query)
{
$pdo->exec($query);
dbh::$queries[] = "[$flag] " . $query;
}
}
$this->pdo = $pdo;
@@ -136,7 +145,7 @@ class dbh
try
{
if(class_exists('dao')) dao::$querys[] = "[$this->flag] " . dao::processKeywords($sql);
dbh::$queries[] = "[$this->flag] " . dao::processKeywords($sql);
return $this->pdo->exec($sql);
}
catch(PDOException $e)
@@ -158,7 +167,7 @@ class dbh
$sql = $this->formatSQL($sql);
try
{
if(class_exists('dao')) dao::$querys[] = "[$this->flag] " . dao::processKeywords($sql);
dbh::$queries[] = "[$this->flag] " . dao::processKeywords($sql);
return $this->pdo->query($sql);
}
catch(PDOException $e)
@@ -225,7 +234,7 @@ class dbh
{
try
{
if(class_exists('dao')) dao::$querys[] = "[$this->flag] " . dao::processKeywords($sql);
dbh::$queries[] = "[$this->flag] " . dao::processKeywords($sql);
return $this->pdo->query($sql);
}
catch(PDOException $e)
+2 -2
View File
@@ -43,7 +43,7 @@ class trace
'method' => $this->app->server->request_method,
'timeUsed' => round(getTime() - $this->app->startTime, 4) * 1000,
'memory' => round(memory_get_peak_usage() / 1024, 1),
'querys' => count(dao::$querys),
'querys' => count(dbh::$queries),
'caches' => 0,
'files' => count(get_included_files()),
'session' => session_id(),
@@ -70,7 +70,7 @@ class trace
*/
public function getRequestSqls()
{
$this->trace['sqlQuery'] = dao::$querys;
$this->trace['sqlQuery'] = dbh::$queries;
}
/**
+1 -1
View File
@@ -516,7 +516,7 @@ class commonModel extends model
{
$info['timeUsed'] = round(getTime() - $startTime, 4) * 1000;
$info['memory'] = round(memory_get_peak_usage() / 1024, 1);
$info['querys'] = count(dao::$querys);
$info['querys'] = count(dbh::$queries);
vprintf($this->lang->runInfo, $info);
return $info;
}
-1
View File
@@ -391,7 +391,6 @@ class todoModel extends model
*/
public function activate(int $todoID): bool
{
$oldTodo = $this->fetchByID($todoID);
$this->dao->update(TABLE_TODO)->set('status')->eq('wait')->where('id')->eq($todoID)->exec();
$todo = $this->fetchByID($todoID);
+18 -18
View File
@@ -301,7 +301,7 @@ class userModel extends model
unset($this->config->user->moreLink);
if($maxCount && $maxCount == $userCount)
{
if(is_array($usersToAppended)) $usersToAppended = join(',', $usersToAppended);
if(is_array($usersToAppended)) $usersToAppended = implode(',', $usersToAppended);
$moreLinkParams = "params={$params}&usersToAppended={$usersToAppended}";
$moreLink = helper::createLink('user', 'ajaxGetMore');
@@ -749,7 +749,7 @@ class userModel extends model
sort($oldGroups);
sort($newGroups);
if(join(',', $oldGroups) == join(',', $newGroups)) return false;
if(implode(',', $oldGroups) == implode(',', $newGroups)) return false;
/* 如果权限组发生变化,则删除原有的权限组,重新创建并更新用户视图。*/
/* If the group changed, delete the old group, create new group and update user view. */
@@ -1711,7 +1711,7 @@ class userModel extends model
$programView = '';
if(!empty($manageObjects['programs']['isAdmin']))
{
$programView = join(',', array_keys($allPrograms));
$programView = implode(',', array_keys($allPrograms));
}
else
{
@@ -1730,7 +1730,7 @@ class userModel extends model
/* 如果有某个项目集的管理权限,也可以访问该项目集。 */
if(strpos(",$managePrograms,", ",$programID,") !== false) $programs[$programID] = $programID;
}
$programView = join(',', $programs);
$programView = implode(',', $programs);
}
return $programView;
@@ -1752,7 +1752,7 @@ class userModel extends model
$productView = '';
if(!empty($manageObjects['products']['isAdmin']))
{
$productView = join(',', array_keys($allProducts));
$productView = implode(',', array_keys($allProducts));
}
else
{
@@ -1771,7 +1771,7 @@ class userModel extends model
/* 如果有某个产品的管理权限,也可以访问该产品。 */
if(strpos(",$manageProducts,", ",$productID,") !== false) $products[$productID] = $productID;
}
$productView = join(',', $products);
$productView = implode(',', $products);
}
return $productView;
@@ -1796,7 +1796,7 @@ class userModel extends model
$projectView = '';
if(!empty($manageObjects['projects']['isAdmin']))
{
$projectView = join(',', array_keys($allProjects));
$projectView = implode(',', array_keys($allProjects));
}
else
{
@@ -1814,7 +1814,7 @@ class userModel extends model
/* 如果有某个项目管理权限,也可以访问该项目。 */
if(strpos(",$manageProjects,", ",$projectID,") !== false) $projects[$projectID] = $projectID;
}
$projectView = join(',', $projects);
$projectView = implode(',', $projects);
}
return $projectView;
@@ -1838,7 +1838,7 @@ class userModel extends model
$sprintView = '';
if(!empty($manageObjects['executions']['isAdmin']))
{
$sprintView = join(',', array_keys($allSprints));
$sprintView = implode(',', array_keys($allSprints));
}
else
{
@@ -1855,7 +1855,7 @@ class userModel extends model
/* 如果有某个迭代管理权限,也可以访问该迭代。 */
if(strpos(",$manageExecutions,", ",$sprintID,") !== false) $sprints[$sprintID] = $sprintID;
}
$sprintView = join(',', $sprints);
$sprintView = implode(',', $sprints);
}
return $sprintView;
@@ -1923,10 +1923,10 @@ class userModel extends model
$isAdmin = strpos($this->app->company->admins, ',' . $account . ',') !== false;
if($isAdmin)
{
$userView->programs = join(',', array_keys($allPrograms));
$userView->products = join(',', array_keys($allProducts));
$userView->projects = join(',', array_keys($allProjects));
$userView->sprints = join(',', array_keys($allSprints));
$userView->programs = implode(',', array_keys($allPrograms));
$userView->products = implode(',', array_keys($allProducts));
$userView->projects = implode(',', array_keys($allProjects));
$userView->sprints = implode(',', array_keys($allSprints));
}
else
{
@@ -2088,9 +2088,9 @@ class userModel extends model
$openedPrograms = array_keys($this->loadModel('project')->getListByAclAndType('open', 'program'));
$openedProjects = array_keys($this->project->getListByAclAndType('open', 'project'));
$userView->products = rtrim($userView->products, ',') . ',' . join(',', $openedProducts);
$userView->programs = rtrim($userView->programs, ',') . ',' . join(',', $openedPrograms);
$userView->projects = rtrim($userView->projects, ',') . ',' . join(',', $openedProjects);
$userView->products = rtrim($userView->products, ',') . ',' . implode(',', $openedProducts);
$userView->programs = rtrim($userView->programs, ',') . ',' . implode(',', $openedPrograms);
$userView->projects = rtrim($userView->projects, ',') . ',' . implode(',', $openedProjects);
/* 合并用户视图权限到用户访问权限。 */
$userView = $this->mergeAclsToUserView($account, $userView, $acls, $projects);
@@ -2136,7 +2136,7 @@ class userModel extends model
$openedSprints = $this->loadModel('project')->getListByAclAndType('open', 'sprint,stage,kanban');
$openedSprints = array_filter(array_map(function($sprint) use ($userView) { if(strpos(",{$userView->projects},", ",{$sprint->project},") !== false) return $sprint->id; }, $openedSprints));
$userView->sprints = rtrim($userView->sprints, ',') . ',' . join(',', $openedSprints);
$userView->sprints = rtrim($userView->sprints, ',') . ',' . implode(',', $openedSprints);
$canViewSprints = $this->dao->select('executions')->from(TABLE_PROJECTADMIN)->where('account')->eq($account)->fetch('executions');
if($canViewSprints != 'all') $userView->sprints .= ',' . $canViewSprints;