Merge branch ztflow-liugang-release/21.7.1#liugang of zentao/zentaopms (#8899)
This commit is contained in:
@@ -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
@@ -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)
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user