diff --git a/framework/base/router.class.php b/framework/base/router.class.php index 0af23871f7..102e191318 100644 --- a/framework/base/router.class.php +++ b/framework/base/router.class.php @@ -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); } diff --git a/lib/dbh/dbh.class.php b/lib/dbh/dbh.class.php index 74bcc77b06..3ca545287b 100644 --- a/lib/dbh/dbh.class.php +++ b/lib/dbh/dbh.class.php @@ -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) diff --git a/lib/trace/trace.class.php b/lib/trace/trace.class.php index 974b988987..4fdbedad30 100644 --- a/lib/trace/trace.class.php +++ b/lib/trace/trace.class.php @@ -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; } /** diff --git a/module/common/model.php b/module/common/model.php index 34f83cf79f..a4faa6f1eb 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -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; } diff --git a/module/todo/model.php b/module/todo/model.php index 075283c99e..17bffc7f54 100755 --- a/module/todo/model.php +++ b/module/todo/model.php @@ -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); diff --git a/module/user/model.php b/module/user/model.php index 2f1473ac6a..cba2cac97b 100644 --- a/module/user/model.php +++ b/module/user/model.php @@ -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;