From 64880a3071cba916f4df82bc647be989e3d7cdb7 Mon Sep 17 00:00:00 2001 From: wangyidong Date: Wed, 23 Aug 2017 08:21:53 +0800 Subject: [PATCH 01/54] * fix for search in import case from lib. --- module/testcase/control.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/testcase/control.php b/module/testcase/control.php index 2dde1cac7d..41b2a8255e 100644 --- a/module/testcase/control.php +++ b/module/testcase/control.php @@ -1342,7 +1342,7 @@ class testcase extends control if(empty($libID) or !isset($libraries[$libID])) $libID = key($libraries); /* Build the search form. */ - $actionURL = $this->createLink('testcase', 'importFromLib', "productID=$productID&branch=$branch&libID=$libID&browseType=bySearch&queryID=myQueryID"); + $actionURL = $this->createLink('testcase', 'importFromLib', "productID=$productID&branch=$branch&libID=$libID&orderBy=$orderBy&browseType=bySearch&queryID=myQueryID"); $this->config->testcase->search['module'] = 'testsuite'; $this->config->testcase->search['onMenuBar'] = 'no'; $this->config->testcase->search['actionURL'] = $actionURL; From 0ee04f80d1a40a44e5d7f230e2373ae58e884aec Mon Sep 17 00:00:00 2001 From: wangyidong Date: Wed, 23 Aug 2017 09:53:09 +0800 Subject: [PATCH 02/54] * adjust for browse type style in show files page. --- module/doc/lang/en.php | 1 + module/doc/lang/zh-cn.php | 1 + module/doc/view/showfiles.html.php | 21 ++++++++++----------- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/module/doc/lang/en.php b/module/doc/lang/en.php index 290511696c..d23d5686bf 100644 --- a/module/doc/lang/en.php +++ b/module/doc/lang/en.php @@ -107,6 +107,7 @@ $lang->doc->browseType = 'Categories'; $lang->doc->browseTypeList['list'] = 'List'; $lang->doc->browseTypeList['menu'] = 'Menu'; $lang->doc->browseTypeList['tree'] = 'Tree'; +$lang->doc->browseTypeList['card'] = 'Card'; $lang->doc->confirmDelete = "Do you want to delete this document?"; $lang->doc->confirmDeleteLib = "Do you want to delete this Doc Lib?"; diff --git a/module/doc/lang/zh-cn.php b/module/doc/lang/zh-cn.php index b06834d3a3..5a1c9c3ced 100644 --- a/module/doc/lang/zh-cn.php +++ b/module/doc/lang/zh-cn.php @@ -107,6 +107,7 @@ $lang->doc->browseType = '浏览方式'; $lang->doc->browseTypeList['list'] = '列表'; $lang->doc->browseTypeList['menu'] = '目录'; $lang->doc->browseTypeList['tree'] = '树状图'; +$lang->doc->browseTypeList['card'] = '卡片'; $lang->doc->confirmDelete = "您确定删除该文档吗?"; $lang->doc->confirmDeleteLib = "您确定删除该文档库吗?"; diff --git a/module/doc/view/showfiles.html.php b/module/doc/view/showfiles.html.php index 7ccf5fc292..933add26a8 100644 --- a/module/doc/view/showfiles.html.php +++ b/module/doc/view/showfiles.html.php @@ -28,20 +28,21 @@ echo html::hidden('pageID', isset($this->get->pageID) ? $this->get->pageID : 0); } ?> -
+
get->title, "class='form-control search-query' placeholder='{$lang->doc->fileTitle}'");?> doc->search);?>
- -
- 切换界面布局"); - ?> +
+ +
+
@@ -65,11 +66,9 @@ pathname)) continue;?> - - id;?> - + id;?> - title;?> + objectID");?>'>title . '.' . $file->extension . ' [' . strtoupper($file->objectType) . ' #' . $file->objectID . ']';?> pathname;?> extension;?> From 202d76db45d22a730ec6e89505cb486ae9a20416 Mon Sep 17 00:00:00 2001 From: pengjiangxiu Date: Wed, 23 Aug 2017 13:08:06 +0800 Subject: [PATCH 03/54] * Adjust code. --- module/bug/model.php | 4 +- module/bug/view/browse.html.php | 6 +-- module/custom/control.php | 16 +++--- module/custom/lang/en.php | 2 +- module/custom/lang/zh-cn.php | 2 +- module/custom/lang/zh-tw.php | 2 +- module/doc/control.php | 2 - module/doc/view/showfiles.html.php | 84 ++++++++++++++---------------- module/product/control.php | 1 - module/sso/control.php | 10 ++-- module/story/model.php | 3 +- module/task/css/edit.css | 3 ++ module/task/view/edit.html.php | 26 ++++----- module/tree/model.php | 28 +++++----- 14 files changed, 94 insertions(+), 95 deletions(-) diff --git a/module/bug/model.php b/module/bug/model.php index 6a0114f9ed..20d38ed35d 100644 --- a/module/bug/model.php +++ b/module/bug/model.php @@ -1506,7 +1506,7 @@ class bugModel extends model { foreach($openBuildIDList as $buildID) { - if(isset($datas[$buildID])) + if(isset($datas[$buildID])) { $datas[$buildID]->value += $data->value; } @@ -1538,7 +1538,7 @@ class bugModel extends model { $datas = $this->dao->select('module as name, count(module) as value')->from(TABLE_BUG)->where($this->reportCondition())->groupBy('module')->orderBy('value DESC')->fetchAll('name'); if(!$datas) return array(); - $modules = $this->loadModel('tree')->getModulesName(array_keys($datas),true,true); + $modules = $this->loadModel('tree')->getModulesName(array_keys($datas), true, true); foreach($datas as $moduleID => $data) $data->name = isset($modules[$moduleID]) ? $modules[$moduleID] : '/'; return $datas; } diff --git a/module/bug/view/browse.html.php b/module/bug/view/browse.html.php index 61cfed72b5..59a865608d 100644 --- a/module/bug/view/browse.html.php +++ b/module/bug/view/browse.html.php @@ -193,15 +193,15 @@ js::set('branch', $branch); createLink('bug', 'batchConfirm'); - $misc = common::hasPriv('bug', 'batchConfirm') ? "onclick=\"setFormAction('$actionLink','hiddenwin')\"" : $class; + $misc = common::hasPriv('bug', 'batchConfirm') ? "onclick=\"setFormAction('$actionLink', 'hiddenwin')\"" : $class; if($misc) echo "
  • " . html::a('javascript:;', $lang->bug->confirmBug, '', $misc) . "
  • "; $actionLink = $this->createLink('bug', 'batchClose'); - $misc = common::hasPriv('bug', 'batchClose') ? "onclick=\"setFormAction('$actionLink','hiddenwin')\"" : $class; + $misc = common::hasPriv('bug', 'batchClose') ? "onclick=\"setFormAction('$actionLink', 'hiddenwin')\"" : $class; if($misc) echo "
  • " . html::a('javascript:;', $lang->bug->close, '', $misc) . "
  • "; $actionLink = $this->createLink('bug', 'batchActivate'); - $misc = common::hasPriv('bug', 'batchActivate') ? "onclick=\"setFormAction('$actionLink','hiddenwin')\"" : $class; + $misc = common::hasPriv('bug', 'batchActivate') ? "onclick=\"setFormAction('$actionLink', 'hiddenwin')\"" : $class; if($misc) echo "
  • " . html::a('javascript:;', $lang->bug->activate, '', $misc) . "
  • "; if(common::hasPriv('bug', 'batchChangeModule')) diff --git a/module/custom/control.php b/module/custom/control.php index 24a029c62e..5c1c67f003 100644 --- a/module/custom/control.php +++ b/module/custom/control.php @@ -12,8 +12,8 @@ class custom extends control { /** - * Index - * + * Index + * * @access public * @return void */ @@ -23,11 +23,11 @@ class custom extends control } /** - * Custom - * - * @param string $module - * @param string $field - * @param string $lang + * Custom + * + * @param string $module + * @param string $field + * @param string $lang * @access public * @return void */ @@ -107,7 +107,7 @@ class custom extends control /* Fix bug #942. */ if($field == 'priList' and !is_numeric($key)) die(js::alert($this->lang->custom->notice->priListKey)); if($module == 'bug' and $field == 'severityList' and !is_numeric($key)) die(js::alert($this->lang->custom->notice->severityListKey)); - if($module == 'bug' and $field == 'resolutionList' and !empty($key) and !validater::checkCode($key)) die(js::alert($this->lang->custom->notice->resolutionList)); + if(!empty($key) and !validater::checkCode($key)) die(js::alert($this->lang->custom->notice->keyList)); /* the length of role is 20, check it when save. */ if($module == 'user' and $field == 'roleList' and strlen($key) > 20) die(js::alert($this->lang->custom->notice->userRole)); diff --git a/module/custom/lang/en.php b/module/custom/lang/en.php index ef40bd2351..9c05bd96a4 100644 --- a/module/custom/lang/en.php +++ b/module/custom/lang/en.php @@ -79,7 +79,7 @@ $lang->custom->notice->canNotAdd = 'This item will be processed, so c $lang->custom->notice->forceReview = 'Review is required for %s submitted by certain assignee.'; $lang->custom->notice->longlife = 'List "Undone" bugs that are older than hold days from "Longlife" bugs.'; $lang->custom->notice->priListKey = 'Priority list key should be numbers!'; -$lang->custom->notice->resolutionList = 'Solution list key should be English or digital!'; +$lang->custom->notice->keyList = 'key should be English or digital!'; $lang->custom->notice->severityListKey = 'Bug severity list key should be numbers.'; $lang->custom->notice->indexPage['product'] = "ZenTao 8.2+ has Product Homepage. Do you want to enter Product Homepage?"; $lang->custom->notice->indexPage['project'] = "ZenTao 8.2+ has Project Homepage. Do you want to enter Project Homepage?"; diff --git a/module/custom/lang/zh-cn.php b/module/custom/lang/zh-cn.php index 79123328ba..144489a834 100644 --- a/module/custom/lang/zh-cn.php +++ b/module/custom/lang/zh-cn.php @@ -79,7 +79,7 @@ $lang->custom->notice->canNotAdd = '该项参与运算,不提供自 $lang->custom->notice->forceReview = "指定人提交的%s必须评审。"; $lang->custom->notice->longlife = 'Bug列表页面的久未处理标签中,列出设置天数之前未处理的Bug。'; $lang->custom->notice->priListKey = '优先级的键应当为数字!'; -$lang->custom->notice->resolutionList = '解决方案的键值应当为英文或数字'; +$lang->custom->notice->keyList = '键值应当为英文或数字'; $lang->custom->notice->severityListKey = 'Bug严重程度的键应当为数字!'; $lang->custom->notice->indexPage['product'] = "从8.2版本起增加了产品主页视图,是否默认进入产品主页?"; $lang->custom->notice->indexPage['project'] = "从8.2版本起增加了项目主页视图,是否默认进入项目主页?"; diff --git a/module/custom/lang/zh-tw.php b/module/custom/lang/zh-tw.php index 90227312f3..c10e4c3394 100644 --- a/module/custom/lang/zh-tw.php +++ b/module/custom/lang/zh-tw.php @@ -79,7 +79,7 @@ $lang->custom->notice->canNotAdd = '該項參與運算,不提供自 $lang->custom->notice->forceReview = "指定人提交的%s必須評審。"; $lang->custom->notice->longlife = 'Bug列表頁面的久未處理標籤中,列出設置天數之前未處理的Bug。'; $lang->custom->notice->priListKey = '優先順序的鍵應當為數字!'; -$lang->custom->notice->resolutionList = '解決方案的鍵值應當為英文或數字'; +$lang->custom->notice->keyList = '鍵值應當為英文或數字'; $lang->custom->notice->severityListKey = 'Bug嚴重程度的鍵應當為數字!'; $lang->custom->notice->indexPage['product'] = "從8.2版本起增加了產品主頁視圖,是否預設進入產品主頁?"; $lang->custom->notice->indexPage['project'] = "從8.2版本起增加了項目主頁視圖,是否預設進入項目主頁?"; diff --git a/module/doc/control.php b/module/doc/control.php index b0d9b2069b..9cb976bd6e 100644 --- a/module/doc/control.php +++ b/module/doc/control.php @@ -655,8 +655,6 @@ class doc extends control $this->view->viewType = $viewType; $this->view->orderBy = $orderBy; $this->view->objectID = $objectID; - $this->view->recTotal = $recTotal; - $this->view->recPerPage = $recPerPage; $this->display(); } diff --git a/module/doc/view/showfiles.html.php b/module/doc/view/showfiles.html.php index 933add26a8..16f5133739 100644 --- a/module/doc/view/showfiles.html.php +++ b/module/doc/view/showfiles.html.php @@ -47,52 +47,48 @@ -
    - - - - - - - - - - - - - - - - - pathname)) continue;?> - - - - - - - - - - - - - - - + + + + +
    doc->id);?> doc->fileTitle);?> doc->filePath);?> doc->extension);?> doc->size);?> doc->addedBy);?> doc->addedDate);?> actions;?>
    id;?> - objectID");?>'>title . '.' . $file->extension . ' [' . strtoupper($file->objectType) . ' #' . $file->objectID . ']';?> - pathname;?> extension;?>size / 1024 , 1) . 'K';?>addedBy) ? $file->addedBy : '';?>addedDate) ? substr($file->addedDate, 0, 10) : '';?> - id", $lang->doc->download, "data-toggle='modal'"); - common::printLink('file', 'delete', "fileID=$file->id", $lang->delete, 'hiddenwin'); - ?> -
    - show();?> + + + recTotal&recPerPage=$pager->recPerPage";?> + + + + + + + + + + + + + + pathname)) continue;?> + + + + + + + + + - -
    doc->id);?> doc->fileTitle);?> doc->filePath);?> doc->extension);?> doc->size);?> doc->addedBy);?> doc->addedDate);?> actions;?>
    id;?> + objectID");?>'>title . '.' . $file->extension . ' [' . strtoupper($file->objectType) . ' #' . $file->objectID . ']';?> + pathname;?> extension;?>size / 1024 , 1) . 'K';?>addedBy) ? $file->addedBy : '';?>addedDate) ? substr($file->addedDate, 0, 10) : '';?> + id", $lang->doc->download, "data-toggle='modal'"); + common::printLink('file', 'delete', "fileID=$file->id", $lang->delete, 'hiddenwin'); + ?>
    - + + +
    show();?>
    diff --git a/module/product/control.php b/module/product/control.php index 387c9a1c32..e82a8fec4a 100644 --- a/module/product/control.php +++ b/module/product/control.php @@ -138,7 +138,6 @@ class product extends control $moduleID = ($browseType == 'bymodule') ? (int)$param : ($browseType == 'bysearch' ? 0 : ($this->cookie->storyModule ? $this->cookie->storyModule : 0)); $queryID = ($browseType == 'bysearch') ? (int)$param : 0; - if($browseType == 'unclosed') $moduleID = 0; /* Set menu. */ $this->product->setMenu($this->products, $productID, $branch); diff --git a/module/sso/control.php b/module/sso/control.php index 5661eb1dda..4fbe1994ea 100644 --- a/module/sso/control.php +++ b/module/sso/control.php @@ -22,7 +22,6 @@ class sso extends control { $referer = empty($_GET['referer']) ? '' : $this->get->referer; $locate = empty($referer) ? getWebRoot() : base64_decode($referer); - if($this->loadModel('user')->isLogon()) die($this->locate($locate)); $this->app->loadConfig('sso'); if(!$this->config->sso->turnon) die($this->locate($locate)); @@ -40,9 +39,9 @@ class sso extends control if(strpos($location, '&') !== false) { $location = rtrim($location, '&') . "&token=$token&auth=$auth&userIP=$userIP&callback=$callback&referer=$referer"; - } + } else - { + { $location = rtrim($location, '?') . "?token=$token&auth=$auth&userIP=$userIP&callback=$callback&referer=$referer"; } $this->locate($location); @@ -63,6 +62,11 @@ class sso extends control $this->locate($this->createLink('sso', 'bind', "referer=" . helper::safe64Encode($locate))); } + if($this->loadModel('user')->isLogon()) + { + if($this->session->user && $this->session->user->account == $user->account) die($this->locate($locate)); + } + $this->user->cleanLocked($user->account); /* Authorize him and save to session. */ $user->rights = $this->user->authorize($user->account); diff --git a/module/story/model.php b/module/story/model.php index 3fd9b52788..fc12fc81be 100644 --- a/module/story/model.php +++ b/module/story/model.php @@ -1996,10 +1996,9 @@ class storyModel extends model foreach($datas as $key => $project) { if(!$project->branch) continue; - $branchIDList[] = $project->branch; + $branchIDList[$project->branch] = $project->branch; } - $branchIDList = array_unique($branchIDList); $branchs = $this->dao->select('id, name')->from(TABLE_BRANCH)->where('id')->in($branchIDList)->andWhere('deleted')->eq(0)->fetchALL('id'); $modules = $this->loadModel('tree')->getModulesName(array_keys($datas)); diff --git a/module/task/css/edit.css b/module/task/css/edit.css index 0ec48066f5..865ead609b 100644 --- a/module/task/css/edit.css +++ b/module/task/css/edit.css @@ -1,2 +1,5 @@ .col-side .chosen-container .chosen-drop {width: 216px!important} .col-side .chosen-container {width: 218px!important} +#finishedDate.form-control.form-date {width: 218px!important} +#canceledDate.form-control.form-date {width: 218px!important} +#closedDate.form-control.form-date {width: 218px!important} diff --git a/module/task/view/edit.html.php b/module/task/view/edit.html.php index 124a0a7386..04e7086b73 100644 --- a/module/task/view/edit.html.php +++ b/module/task/view/edit.html.php @@ -80,7 +80,7 @@ task->assignedTo;?> assignedTo, "class='form-control chosen'");?> - + task->type;?> task->typeList, $task->type, 'class=form-control');?> @@ -88,7 +88,7 @@ task->status;?> task->statusList, $task->status, 'class=form-control');?> - + task->pri;?> task->priList, $task->pri, 'class=form-control');?> @@ -101,27 +101,27 @@
    task->legendEffort;?> - +
    - + - + - + - + - + @@ -130,14 +130,14 @@
    task->legendLife;?> -
    task->estStarted;?> estStarted, "class='form-control form-date'");?>
    task->realStarted;?> realStarted, "class='form-control form-date'");?>
    task->deadline;?> deadline, "class='form-control form-date'");?>
    task->estimate;?> estimate, "class='form-control' autocomplete='off'");?>
    task->consumed;?> consumed . ' '; common::printIcon('task', 'recordEstimate', "taskID=$task->id", $task, 'list', '', '', 'iframe', true);?>
    task->left;?> left, "class='form-control' autocomplete='off'");?>
    +
    - + @@ -145,7 +145,7 @@ - + @@ -153,11 +153,11 @@ - + - + diff --git a/module/tree/model.php b/module/tree/model.php index bf188c0a96..4de81d4574 100644 --- a/module/tree/model.php +++ b/module/tree/model.php @@ -295,16 +295,16 @@ class treeModel extends model else { $treeMenu[$module->parent] = $moduleName; - } + } } } /** * Get the tree menu in html. - * - * @param int $rootID - * @param string $type - * @param int $startModule + * + * @param int $rootID + * @param string $type + * @param int $startModule * @param string $userFunc the function used to create link * @param string $extra extra params * @access public @@ -342,6 +342,7 @@ class treeModel extends model { $linkHtml = ($type == 'case' and !empty($extra)) ? $branch : $this->createBranchLink($type, $rootID, $branchID, $branch); $linkHtml = $manage ? html::a(inlink('browse', "root=$rootID&viewType=$type¤tModuleID=0&branch=$branchID"), $branch) : $linkHtml; + if($type == 'story' || $type == 'bug') $linkHtml = $branch; if($firstBranch and $product->type != 'normal') { $linkHtml = $this->lang->product->branchName[$product->type] . '
    • ' . $linkHtml; @@ -357,17 +358,17 @@ class treeModel extends model if(!$firstBranch) $lastMenu .= '
    '; $lastMenu = "
      $lastMenu
    \n"; - return $lastMenu; + return $lastMenu; } /** * Get the tree menu of task in html. - * - * @param int $rootID - * @param int $productID - * @param int $startModule - * @param int $userFunc - * @param string $extra + * + * @param int $rootID + * @param int $productID + * @param int $startModule + * @param int $userFunc + * @param string $extra * @access public * @return void */ @@ -1126,12 +1127,11 @@ class treeModel extends model foreach($paths as $path) $moduleName .= '/' . $allModules[$path]; $modulePairs[$module->id] = $moduleName; - if($module->branch) $branchIDList[] = $module->branch; + if($module->branch) $branchIDList[$module->branch] = $module->branch; } if(!$branchPath) return $modulePairs; - $branchIDList = array_unique($branchIDList); $branchs = $this->dao->select('id, name')->from(TABLE_BRANCH)->where('id')->in($branchIDList)->andWhere('deleted')->eq(0)->fetchALL('id'); foreach($modules as $module) { From 094c960bf41d8276096138e1ef853db4a67364be Mon Sep 17 00:00:00 2001 From: wangyidong Date: Wed, 23 Aug 2017 14:55:49 +0800 Subject: [PATCH 04/54] * finish task #3088. --- module/action/lang/en.php | 9 +++++++++ module/action/lang/zh-cn.php | 7 +++++++ module/block/lang/en.php | 8 ++++++++ module/block/lang/zh-cn.php | 8 ++++++++ module/branch/lang/en.php | 5 +++++ module/branch/lang/zh-cn.php | 5 +++++ module/build/lang/en.php | 3 ++- module/build/lang/zh-cn.php | 2 ++ module/company/lang/en.php | 1 + module/company/lang/zh-cn.php | 1 + module/custom/lang/en.php | 4 ++++ module/custom/lang/zh-cn.php | 4 ++++ module/dev/config.php | 26 ++++++++++++++++++++++++++ module/dev/lang/en.php | 1 + module/dev/lang/zh-cn.php | 1 + module/dev/model.php | 12 +++++++++--- module/doc/lang/en.php | 3 +++ module/doc/lang/zh-cn.php | 3 +++ module/extension/lang/en.php | 10 +++++++++- module/extension/lang/zh-cn.php | 10 +++++++++- module/file/lang/en.php | 9 +++++++++ module/file/lang/zh-cn.php | 9 +++++++++ module/group/lang/en.php | 2 ++ module/group/lang/zh-cn.php | 2 ++ module/mail/control.php | 2 +- module/mail/lang/en.php | 7 ++++--- module/mail/lang/zh-cn.php | 7 ++++--- module/mail/view/browse.html.php | 2 +- module/productplan/lang/en.php | 1 + module/productplan/lang/zh-cn.php | 1 + module/project/lang/en.php | 2 ++ module/project/lang/zh-cn.php | 1 + module/release/lang/en.php | 2 ++ module/release/lang/zh-cn.php | 2 ++ module/search/lang/en.php | 7 +++++++ module/search/lang/zh-cn.php | 7 +++++++ module/testcase/lang/en.php | 2 ++ module/testcase/lang/zh-cn.php | 2 ++ module/testreport/lang/en.php | 5 ++++- module/testreport/lang/zh-cn.php | 5 ++++- module/testreport/view/create.html.php | 2 +- module/testreport/view/edit.html.php | 2 +- module/testreport/view/view.html.php | 2 +- module/testtask/lang/en.php | 7 +++++++ module/testtask/lang/zh-cn.php | 7 +++++++ module/todo/lang/en.php | 1 + module/todo/lang/zh-cn.php | 1 + module/tree/lang/en.php | 4 ++++ module/tree/lang/zh-cn.php | 4 ++++ module/user/lang/en.php | 7 +++++++ module/user/lang/zh-cn.php | 7 +++++++ 51 files changed, 225 insertions(+), 19 deletions(-) diff --git a/module/action/lang/en.php b/module/action/lang/en.php index a5aa9f1920..385ca366c0 100755 --- a/module/action/lang/en.php +++ b/module/action/lang/en.php @@ -33,6 +33,13 @@ $lang->action->confirmHideAll = 'Do you want to hide all the records?'; $lang->action->needEdit = '%s you want to restore has already existed. Please edit it.'; $lang->action->historyEdit = 'The history editor cannot be empty.'; +$lang->action->history = new stdclass(); +$lang->action->history->action = 'Bound action'; +$lang->action->history->field = 'Field'; +$lang->action->history->old = 'Old value'; +$lang->action->history->new = 'New value'; +$lang->action->history->diff = 'Diff'; + $lang->action->dynamic = new stdclass(); $lang->action->dynamic->today = 'Today'; $lang->action->dynamic->yesterday = 'Yesterday'; @@ -168,6 +175,8 @@ $lang->action->label->suspended = 'Suspended'; $lang->action->label->login = 'Login'; $lang->action->label->logout = "Logout"; $lang->action->label->deleteestimate = "Deleted Man-Hour"; +$lang->action->label->linked2build = "Linked Build"; +$lang->action->label->linked2bug = "Linked Bug"; /* 用来生成相应对象的链接。*/ $lang->action->label->product = $lang->productCommon . '|product|view|productID=%s'; diff --git a/module/action/lang/zh-cn.php b/module/action/lang/zh-cn.php index 2a9707252b..eedcf955c6 100755 --- a/module/action/lang/zh-cn.php +++ b/module/action/lang/zh-cn.php @@ -33,6 +33,13 @@ $lang->action->confirmHideAll = '您确定要全部隐藏这些记录吗?'; $lang->action->needEdit = '要还原%s的名称或代号已经存在,请编辑更改。'; $lang->action->historyEdit = '历史记录编辑不能为空。'; +$lang->action->history = new stdclass(); +$lang->action->history->action = '关联日志'; +$lang->action->history->field = '字段'; +$lang->action->history->old = '旧值'; +$lang->action->history->new = '新值'; +$lang->action->history->diff = '不同'; + $lang->action->dynamic = new stdclass(); $lang->action->dynamic->today = '今天'; $lang->action->dynamic->yesterday = '昨天'; diff --git a/module/block/lang/en.php b/module/block/lang/en.php index 178f40a75a..db1ae32a0c 100644 --- a/module/block/lang/en.php +++ b/module/block/lang/en.php @@ -16,6 +16,14 @@ $lang->block->style = 'Style'; $lang->block->grid = 'Grid'; $lang->block->color = 'Color'; +$lang->block->account = 'Account'; +$lang->block->module = 'Module'; +$lang->block->title = 'Title'; +$lang->block->source = 'Source module'; +$lang->block->block = 'Source block'; +$lang->block->order = 'Order'; +$lang->block->height = 'Height'; + $lang->block->lblModule = 'Module'; $lang->block->lblBlock = 'Widget'; $lang->block->lblNum = 'Number'; diff --git a/module/block/lang/zh-cn.php b/module/block/lang/zh-cn.php index 4c7a63691b..0bbfe758ae 100644 --- a/module/block/lang/zh-cn.php +++ b/module/block/lang/zh-cn.php @@ -16,6 +16,14 @@ $lang->block->style = '外观'; $lang->block->grid = '宽度'; $lang->block->color = '颜色'; +$lang->block->account = '所属用户'; +$lang->block->module = '所属模块'; +$lang->block->title = '区块名称'; +$lang->block->source = '来源模块'; +$lang->block->block = '来源区块'; +$lang->block->order = '排序'; +$lang->block->height = '高度'; + $lang->block->lblModule = '模块'; $lang->block->lblBlock = '区块'; $lang->block->lblNum = '条数'; diff --git a/module/branch/lang/en.php b/module/branch/lang/en.php index 2d6f428b19..4e3208250c 100644 --- a/module/branch/lang/en.php +++ b/module/branch/lang/en.php @@ -7,5 +7,10 @@ $lang->branch->delete = 'Delete Branch'; $lang->branch->manageTitle = '%s Management'; $lang->branch->all = 'All'; +$lang->branch->id = 'ID'; +$lang->branch->product = 'Product'; +$lang->branch->name = 'Name'; +$lang->branch->order = 'Order'; + $lang->branch->confirmDelete = 'Do you want to delete this @branch@?'; $lang->branch->canNotDelete = 'There is data in @branch@. It cannot be deleted.'; diff --git a/module/branch/lang/zh-cn.php b/module/branch/lang/zh-cn.php index 3d327f9d12..3f8d2d374d 100644 --- a/module/branch/lang/zh-cn.php +++ b/module/branch/lang/zh-cn.php @@ -7,5 +7,10 @@ $lang->branch->delete = '分支删除'; $lang->branch->manageTitle = '%s管理'; $lang->branch->all = '所有'; +$lang->branch->id = '编号'; +$lang->branch->product = '所属产品'; +$lang->branch->name = '名称'; +$lang->branch->order = '排序'; + $lang->branch->confirmDelete = '是否删除该@branch@?'; $lang->branch->canNotDelete = '该@branch@下已经有数据,不能删除!'; diff --git a/module/build/lang/en.php b/module/build/lang/en.php index 45ec2696d2..a8d85a2806 100644 --- a/module/build/lang/en.php +++ b/module/build/lang/en.php @@ -13,7 +13,6 @@ $lang->build->common = "Build"; $lang->build->create = "Create"; $lang->build->edit = "Edit"; $lang->build->linkStory = "Link Story"; -$lang->build->linked2build = "Link build"; $lang->build->linkBug = "Link Bug"; $lang->build->delete = "Delete Build"; $lang->build->deleted = "Deleted"; @@ -30,6 +29,7 @@ $lang->build->basicInfo = 'Basic Info'; $lang->build->id = 'ID'; $lang->build->product = $lang->productCommon; +$lang->build->branch = 'Platform/Branch'; $lang->build->project = $lang->projectCommon; $lang->build->name = 'Name'; $lang->build->date = 'Date'; @@ -39,6 +39,7 @@ $lang->build->filePath = 'File Path'; $lang->build->desc = 'Description'; $lang->build->files = 'Upload Files'; $lang->build->last = 'Last Build'; +$lang->build->packageType = 'Package Type'; $lang->build->unlinkStory = 'Unlink Story'; $lang->build->unlinkBug = 'Unlink Bug'; $lang->build->stories = 'Finished Story'; diff --git a/module/build/lang/zh-cn.php b/module/build/lang/zh-cn.php index 4f6709773d..bc941c457d 100644 --- a/module/build/lang/zh-cn.php +++ b/module/build/lang/zh-cn.php @@ -29,6 +29,7 @@ $lang->build->basicInfo = '基本信息'; $lang->build->id = 'ID'; $lang->build->product = $lang->productCommon; +$lang->build->branch = '平台/分支'; $lang->build->project = '所属' . $lang->projectCommon; $lang->build->name = '名称编号'; $lang->build->date = '打包日期'; @@ -38,6 +39,7 @@ $lang->build->filePath = '下载地址'; $lang->build->desc = '描述'; $lang->build->files = '上传发行包'; $lang->build->last = '上个版本'; +$lang->build->packageType = '包类型'; $lang->build->unlinkStory = '移除需求'; $lang->build->unlinkBug = '移除Bug'; $lang->build->stories = '完成的需求'; diff --git a/module/company/lang/en.php b/module/company/lang/en.php index a0e5ff22e0..1f65792ae8 100644 --- a/module/company/lang/en.php +++ b/module/company/lang/en.php @@ -25,6 +25,7 @@ $lang->company->zipcode = 'Zip Code'; $lang->company->website = 'Website'; $lang->company->backyard = 'Intranet'; $lang->company->guest = 'Guest Login'; +$lang->company->admins = 'Administrators'; $lang->company->product = $lang->productCommon; $lang->company->project = $lang->projectCommon; diff --git a/module/company/lang/zh-cn.php b/module/company/lang/zh-cn.php index f4ff7c9f64..1d4ece70f4 100644 --- a/module/company/lang/zh-cn.php +++ b/module/company/lang/zh-cn.php @@ -25,6 +25,7 @@ $lang->company->zipcode = '邮政编码'; $lang->company->website = '官网'; $lang->company->backyard = '内网'; $lang->company->guest = '匿名登录'; +$lang->company->admins = '管理员'; $lang->company->product = $lang->productCommon; $lang->company->project = $lang->projectCommon; diff --git a/module/custom/lang/en.php b/module/custom/lang/en.php index ef40bd2351..074df7838f 100644 --- a/module/custom/lang/en.php +++ b/module/custom/lang/en.php @@ -9,6 +9,10 @@ $lang->custom->flow = 'Process'; $lang->custom->working = 'Working'; $lang->custom->select = 'Select Process'; $lang->custom->branch = 'Multi Branch'; +$lang->custom->owner = 'Owner'; +$lang->custom->module = 'Module'; +$lang->custom->section = 'Section'; +$lang->custom->lang = 'Language'; $lang->custom->object['story'] = 'Story'; $lang->custom->object['task'] = 'Task'; diff --git a/module/custom/lang/zh-cn.php b/module/custom/lang/zh-cn.php index 79123328ba..de09fda4e7 100644 --- a/module/custom/lang/zh-cn.php +++ b/module/custom/lang/zh-cn.php @@ -9,6 +9,10 @@ $lang->custom->flow = '流程'; $lang->custom->working = '工作方式'; $lang->custom->select = '请选择流程:'; $lang->custom->branch = '多分支'; +$lang->custom->owner = '所有者'; +$lang->custom->module = '模块'; +$lang->custom->section = '附加部分'; +$lang->custom->lang = '所属语言'; $lang->custom->object['story'] = '需求'; $lang->custom->object['task'] = '任务'; diff --git a/module/dev/config.php b/module/dev/config.php index 990a9f022c..db376d358a 100644 --- a/module/dev/config.php +++ b/module/dev/config.php @@ -25,6 +25,7 @@ $config->dev->group['testreport'] = 'qa'; $config->dev->group['testsuite'] = 'qa'; $config->dev->group['testresult'] = 'qa'; $config->dev->group['testrun'] = 'qa'; +$config->dev->group['suitecase'] = 'qa'; $config->dev->group['doc'] = 'doc'; $config->dev->group['doccontent'] = 'doc'; $config->dev->group['doclib'] = 'doc'; @@ -48,3 +49,28 @@ $config->dev->group['mail'] = 'admin'; $config->dev->group['backup'] = 'admin'; $config->dev->group['cron'] = 'admin'; $config->dev->group['dev'] = 'admin'; + +$config->dev->tableMap['storyspec'] = 'story'; +$config->dev->tableMap['storystage'] = 'story'; +$config->dev->tableMap['burn'] = 'task'; +$config->dev->tableMap['projectproduct'] = 'project'; +$config->dev->tableMap['projectstory'] = 'story'; +$config->dev->tableMap['taskestimate'] = 'task'; +$config->dev->tableMap['team'] = 'project'; +$config->dev->tableMap['case'] = 'testcase'; +$config->dev->tableMap['casestep'] = 'testcase'; +$config->dev->tableMap['testresult'] = 'testtask'; +$config->dev->tableMap['testrun'] = 'testtask'; +$config->dev->tableMap['doccontent'] = 'doc'; +$config->dev->tableMap['doclib'] = 'doc'; +$config->dev->tableMap['grouppriv'] = 'group'; +$config->dev->tableMap['usercontact'] = 'user-contacts'; +$config->dev->tableMap['usergroup'] = 'user'; +$config->dev->tableMap['userquery'] = 'search'; +$config->dev->tableMap['usertpl'] = 'user-tpl'; +$config->dev->tableMap['history'] = 'action-history'; +$config->dev->tableMap['lang'] = 'custom'; +$config->dev->tableMap['config'] = 'custom'; +$config->dev->tableMap['mailqueue'] = 'mail'; +$config->dev->tableMap['module'] = 'tree'; +$config->dev->tableMap['suitecase'] = 'testcase'; diff --git a/module/dev/lang/en.php b/module/dev/lang/en.php index 75511c7722..f623d5613d 100644 --- a/module/dev/lang/en.php +++ b/module/dev/lang/en.php @@ -89,6 +89,7 @@ $lang->dev->tableList['branch'] = 'Branch'; $lang->dev->tableList['doccontent'] = 'Doc Content'; $lang->dev->tableList['storystage'] = 'Story Stage'; $lang->dev->tableList['tutorial'] = 'Tutorial'; +$lang->dev->tableList['suitecase'] = 'Suite Case'; $lang->dev->groupList['my'] = 'Dashboard'; $lang->dev->groupList['product'] = $lang->productCommon; diff --git a/module/dev/lang/zh-cn.php b/module/dev/lang/zh-cn.php index 3649d63a02..b5fff62330 100644 --- a/module/dev/lang/zh-cn.php +++ b/module/dev/lang/zh-cn.php @@ -89,6 +89,7 @@ $lang->dev->tableList['branch'] = '平台/分支'; $lang->dev->tableList['doccontent'] = '文档内容'; $lang->dev->tableList['storystage'] = '需求阶段'; $lang->dev->tableList['tutorial'] = '新手教程'; +$lang->dev->tableList['suitecase'] = '套件用例'; $lang->dev->groupList['my'] = '我的地盘'; $lang->dev->groupList['product'] = $lang->productCommon; diff --git a/module/dev/model.php b/module/dev/model.php index 3f4cec0c36..7bbdd1ab47 100644 --- a/module/dev/model.php +++ b/module/dev/model.php @@ -35,11 +35,13 @@ class devModel extends model */ public function getFields($table) { - $module = substr($table, strpos($table, '_') + 1); + $module = substr($table, strpos($table, '_') + 1); + $aliasModule = $subLang = ''; try { - if($module == 'case') $module = 'testcase'; - $this->app->loadLang($module); + if(isset($this->config->dev->tableMap[$module])) $aliasModule = $this->config->dev->tableMap[$module]; + if(strpos($aliasModule, '-') !== false) list($aliasModule, $subLang) = explode('-', $aliasModule); + $this->app->loadLang($aliasModule ? $aliasModule : $module); } catch(PDOException $e) { @@ -57,6 +59,7 @@ class devModel extends model { $this->sqlError($e); } + foreach($rawFields as $rawField) { $firstPOS = strpos($rawField->type, '('); @@ -64,6 +67,9 @@ class devModel extends model $type = str_replace(array('big', 'small', 'medium', 'tiny'), '', $type); $field = array(); $field['name'] = isset($this->lang->$module->{$rawField->field}) ? $this->lang->$module->{$rawField->field} : ''; + if(empty($field['name']) and $aliasModule) $field['name'] = isset($this->lang->$aliasModule->{$rawField->field}) ? $this->lang->$aliasModule->{$rawField->field} : ''; + if($subLang) $field['name'] = isset($this->lang->$aliasModule->$subLang->{$rawField->field}) ? $this->lang->$aliasModule->$subLang->{$rawField->field} : $field['name']; + if(!is_string($field['name'])) $field['name'] = ''; $field['null'] = $rawField->null; if($type == 'enum' or $type == 'set') diff --git a/module/doc/lang/en.php b/module/doc/lang/en.php index d23d5686bf..7058ef7f62 100644 --- a/module/doc/lang/en.php +++ b/module/doc/lang/en.php @@ -40,6 +40,9 @@ $lang->doc->filePath = 'File Path'; $lang->doc->extension = 'Extension'; $lang->doc->size = 'Size'; $lang->doc->download = 'Download'; +$lang->doc->acl = 'Right'; +$lang->doc->groups = 'Groups'; +$lang->doc->users = 'Users'; $lang->doc->moduleDoc = 'By Module'; $lang->doc->searchDoc = 'By Search'; diff --git a/module/doc/lang/zh-cn.php b/module/doc/lang/zh-cn.php index 5a1c9c3ced..ce1c8c99d3 100644 --- a/module/doc/lang/zh-cn.php +++ b/module/doc/lang/zh-cn.php @@ -40,6 +40,9 @@ $lang->doc->filePath = '地址'; $lang->doc->extension = '类型'; $lang->doc->size = '大小'; $lang->doc->download = '下载'; +$lang->doc->acl = '权限'; +$lang->doc->groups = '分组'; +$lang->doc->users = '用户'; $lang->doc->moduleDoc = '按模块浏览'; $lang->doc->searchDoc = '搜索'; diff --git a/module/extension/lang/en.php b/module/extension/lang/en.php index f31993ef53..cfed75c605 100644 --- a/module/extension/lang/en.php +++ b/module/extension/lang/en.php @@ -30,8 +30,14 @@ $lang->extension->installed = 'Installed'; $lang->extension->deactivated = 'Deactivated'; $lang->extension->available = 'Downloaded'; +$lang->extension->name = 'Extension Name'; +$lang->extension->code = 'Code'; +$lang->extension->desc = 'Describe'; +$lang->extension->type = 'Type'; +$lang->extension->dirs = 'Directories'; +$lang->extension->files = 'Files'; +$lang->extension->status = 'Status'; $lang->extension->version = 'Version'; -$lang->extension->compatible = 'Compatible'; $lang->extension->latest = 'Latest:%s,need zentao %s'; $lang->extension->author = 'Author'; $lang->extension->license = 'License'; @@ -40,6 +46,8 @@ $lang->extension->downloads = 'Downloads'; $lang->extension->compatible = 'Compatibility'; $lang->extension->grade = 'Score'; $lang->extension->depends = 'Dependent'; +$lang->extension->zentaoCompatible = 'Compatible Version'; +$lang->extension->installedTime = 'Installed Time'; $lang->extension->publicList[0] = 'Manually'; $lang->extension->publicList[1] = 'Auto'; diff --git a/module/extension/lang/zh-cn.php b/module/extension/lang/zh-cn.php index 5146c709d7..c345b4f8be 100644 --- a/module/extension/lang/zh-cn.php +++ b/module/extension/lang/zh-cn.php @@ -30,8 +30,14 @@ $lang->extension->installed = '已安装'; $lang->extension->deactivated = '被禁用'; $lang->extension->available = '已下载'; +$lang->extension->name = '插件名称'; +$lang->extension->code = '代号'; +$lang->extension->desc = '描述'; +$lang->extension->type = '类型'; +$lang->extension->dirs = '安装目录'; +$lang->extension->files = '安装文件'; +$lang->extension->status = '状态'; $lang->extension->version = '版本'; -$lang->extension->compatible = '适用版本'; $lang->extension->latest = '最新版本%s,兼容禅道%s'; $lang->extension->author = '作者'; $lang->extension->license = '授权'; @@ -40,6 +46,8 @@ $lang->extension->downloads = '下载量'; $lang->extension->compatible = '兼容性'; $lang->extension->grade = '评分'; $lang->extension->depends = '依赖'; +$lang->extension->zentaoCompatible = '适用版本'; +$lang->extension->installedTime = '安装时间'; $lang->extension->publicList[0] = '手工下载'; $lang->extension->publicList[1] = '直接下载'; diff --git a/module/file/lang/en.php b/module/file/lang/en.php index 583952493c..48ee394ecc 100644 --- a/module/file/lang/en.php +++ b/module/file/lang/en.php @@ -30,6 +30,15 @@ $lang->file->addFile = 'Add File'; $lang->file->beginUpload = 'Start uploading'; $lang->file->uploadSuccess = 'uploaded Successfully'; +$lang->file->pathname = 'Path Name'; +$lang->file->title = 'Title'; +$lang->file->extension = 'Extension'; +$lang->file->size = 'Size'; +$lang->file->addedBy = 'Added By'; +$lang->file->addedDate = 'Added Date'; +$lang->file->downloads = 'Downloads'; +$lang->file->extra = 'Extra'; + $lang->file->dragFile = 'Please drag here.'; $lang->file->errorNotExists = "'%s' is not found."; $lang->file->errorCanNotWrite = "'%s' is not writable. Please change its permission. Enter sudo chmod -R 777 '%s' in Linux."; diff --git a/module/file/lang/zh-cn.php b/module/file/lang/zh-cn.php index d94ad3b1db..b54a47c0f0 100644 --- a/module/file/lang/zh-cn.php +++ b/module/file/lang/zh-cn.php @@ -30,6 +30,15 @@ $lang->file->addFile = '添加文件'; $lang->file->beginUpload = '开始上传'; $lang->file->uploadSuccess = '上传成功'; +$lang->file->pathname = '路径'; +$lang->file->title = '标题'; +$lang->file->extension = '扩展名'; +$lang->file->size = '大小'; +$lang->file->addedBy = '由谁添加'; +$lang->file->addedDate = '添加时间'; +$lang->file->downloads = '下载次数'; +$lang->file->extra = '备注'; + $lang->file->dragFile = '请拖拽文件到此处'; $lang->file->errorNotExists = "文件夹 '%s' 不存在"; $lang->file->errorCanNotWrite = "文件夹 '%s' 不可写,请改变文件夹的权限。在linux中输入指令:sudo chmod -R 777 %s"; diff --git a/module/group/lang/en.php b/module/group/lang/en.php index c7e3308dcb..624ae0db92 100644 --- a/module/group/lang/en.php +++ b/module/group/lang/en.php @@ -32,6 +32,8 @@ $lang->group->noticeVisit = 'N/A means access is not restricted.'; $lang->group->id = 'ID'; $lang->group->name = 'Name'; $lang->group->desc = 'Description'; +$lang->group->role = 'Role'; +$lang->group->acl = 'Right'; $lang->group->users = 'Users'; $lang->group->module = 'Module'; $lang->group->method = 'Method'; diff --git a/module/group/lang/zh-cn.php b/module/group/lang/zh-cn.php index cad53e028e..718df150d0 100644 --- a/module/group/lang/zh-cn.php +++ b/module/group/lang/zh-cn.php @@ -32,6 +32,8 @@ $lang->group->noticeVisit = '空代表访问没有访问限制'; $lang->group->id = '编号'; $lang->group->name = '分组名称'; $lang->group->desc = '分组描述'; +$lang->group->role = '角色'; +$lang->group->acl = '权限'; $lang->group->users = '用户列表'; $lang->group->module = '模块'; $lang->group->method = '方法'; diff --git a/module/mail/control.php b/module/mail/control.php index 29907e2042..93b1ffe344 100755 --- a/module/mail/control.php +++ b/module/mail/control.php @@ -265,7 +265,7 @@ class mail extends control } } - $this->mail->send($this->post->to, $this->lang->mail->subject, $this->lang->mail->content, "", true); + $this->mail->send($this->post->to, $this->lang->mail->testSubject, $this->lang->mail->testContent, "", true); if($this->mail->isError()) { $this->view->error = $this->mail->getError(); diff --git a/module/mail/lang/en.php b/module/mail/lang/en.php index 06e0cbb305..f497605c91 100755 --- a/module/mail/lang/en.php +++ b/module/mail/lang/en.php @@ -42,7 +42,8 @@ $lang->mail->sync = 'Synchronize'; $lang->mail->remove = 'Remove'; $lang->mail->toList = 'Addressee'; -$lang->mail->subjectName = 'Subject'; +$lang->mail->ccList = 'Copy to'; +$lang->mail->subject = 'Subject'; $lang->mail->addedBy = 'Sender'; $lang->mail->addedDate = 'Added Date'; $lang->mail->sendTime = 'Send Date'; @@ -74,8 +75,8 @@ $lang->mail->noticeResend = 'Sent it again!'; $lang->mail->inputFromEmail = 'Enter Email Address'; $lang->mail->nextStep = 'Next'; $lang->mail->successSaved = 'Configuration has been saved.'; -$lang->mail->subject = 'Testing Email'; -$lang->mail->content = 'Email configured!'; +$lang->mail->testSubject = 'Testing Email'; +$lang->mail->testContent = 'Email configured!'; $lang->mail->successSended = 'Sent!'; $lang->mail->confirmDelete = 'Do you want to delete it?'; $lang->mail->sendmailTips = 'Note: Email author will not receive this email.'; diff --git a/module/mail/lang/zh-cn.php b/module/mail/lang/zh-cn.php index eac8e03c83..47ea0a204f 100755 --- a/module/mail/lang/zh-cn.php +++ b/module/mail/lang/zh-cn.php @@ -42,7 +42,8 @@ $lang->mail->sync = '同步'; $lang->mail->remove = '移除'; $lang->mail->toList = '收信人'; -$lang->mail->subjectName = '主题'; +$lang->mail->ccList = '抄送给'; +$lang->mail->subject = '主题'; $lang->mail->addedBy = '发送者'; $lang->mail->addedDate = '创建时间'; $lang->mail->sendTime = '发送时间'; @@ -74,8 +75,8 @@ $lang->mail->noticeResend = '已经重新发信!'; $lang->mail->inputFromEmail = '请输入发信邮箱:'; $lang->mail->nextStep = '下一步'; $lang->mail->successSaved = '配置信息已经成功保存。'; -$lang->mail->subject = '测试邮件'; -$lang->mail->content = '邮箱设置成功'; +$lang->mail->testSubject = '测试邮件'; +$lang->mail->testContent = '邮箱设置成功'; $lang->mail->successSended = '成功发送!'; $lang->mail->confirmDelete = '是否删除邮件?'; $lang->mail->sendmailTips = '提示:系统不会为当前操作者发信。'; diff --git a/module/mail/view/browse.html.php b/module/mail/view/browse.html.php index a5bbd048a4..bd05ea74a5 100644 --- a/module/mail/view/browse.html.php +++ b/module/mail/view/browse.html.php @@ -22,7 +22,7 @@ - + diff --git a/module/productplan/lang/en.php b/module/productplan/lang/en.php index bab33a5916..846c1b5a45 100644 --- a/module/productplan/lang/en.php +++ b/module/productplan/lang/en.php @@ -39,6 +39,7 @@ $lang->productplan->confirmUnlinkBug = "Do you want to unlink this Bug?"; $lang->productplan->id = 'ID'; $lang->productplan->product = $lang->productCommon; +$lang->productplan->branch = 'Platform/Branch'; $lang->productplan->title = 'Title'; $lang->productplan->desc = 'Description'; $lang->productplan->begin = 'Begin'; diff --git a/module/productplan/lang/zh-cn.php b/module/productplan/lang/zh-cn.php index be461de55f..a78748b62e 100644 --- a/module/productplan/lang/zh-cn.php +++ b/module/productplan/lang/zh-cn.php @@ -39,6 +39,7 @@ $lang->productplan->confirmUnlinkBug = "您确认移除该Bug吗?"; $lang->productplan->id = '编号'; $lang->productplan->product = $lang->productCommon; +$lang->productplan->branch = '平台/分支'; $lang->productplan->title = '名称'; $lang->productplan->desc = '描述'; $lang->productplan->begin = '开始日期'; diff --git a/module/project/lang/en.php b/module/project/lang/en.php index 0aec04f2e9..e4b0628afb 100644 --- a/module/project/lang/en.php +++ b/module/project/lang/en.php @@ -51,6 +51,7 @@ $lang->project->mine = 'My Responsibility: '; $lang->project->other = 'Other:'; $lang->project->deleted = 'Deleted'; $lang->project->delayed = 'Delayed'; +$lang->project->product = $lang->project->products; $lang->project->start = 'Start'; $lang->project->activate = 'Activate'; @@ -197,6 +198,7 @@ $lang->project->confirmDelete = "Do you want to delete {$lang->projectCo $lang->project->confirmUnlinkMember = "Do you want to unlink this User from {$lang->projectCommon}?"; $lang->project->confirmUnlinkStory = "Do you want to unlink this Story from {$lang->projectCommon}?"; $lang->project->errorNoLinkedProducts = "No linked {$lang->productCommon} found in {$lang->projectCommon}. You will be directed to {$lang->productCommon}linked page."; +$lang->project->errorSameProducts = "{$lang->projectCommon} cannot be associated with multiple identical {$lang->productCommon}。"; $lang->project->accessDenied = "Access to {$lang->projectCommon} denied!"; $lang->project->tips = 'Note'; $lang->project->afterInfo = "{$lang->projectCommon} is created. Next you can "; diff --git a/module/project/lang/zh-cn.php b/module/project/lang/zh-cn.php index af7309cbbf..2ec73ee143 100644 --- a/module/project/lang/zh-cn.php +++ b/module/project/lang/zh-cn.php @@ -51,6 +51,7 @@ $lang->project->mine = '我负责:'; $lang->project->other = '其他:'; $lang->project->deleted = '已删除'; $lang->project->delayed = '已延期'; +$lang->project->product = $lang->project->products; $lang->project->start = '开始'; $lang->project->activate = '激活'; diff --git a/module/release/lang/en.php b/module/release/lang/en.php index fc5a3293b1..71d06752f7 100644 --- a/module/release/lang/en.php +++ b/module/release/lang/en.php @@ -31,6 +31,7 @@ $lang->release->basicInfo = 'Basic Info'; $lang->release->id = 'ID'; $lang->release->product = $lang->productCommon; +$lang->release->branch = 'Platform/Branch'; $lang->release->build = 'Build'; $lang->release->name = 'Name'; $lang->release->date = 'Date'; @@ -41,6 +42,7 @@ $lang->release->unlinkStory = 'Unlink Story'; $lang->release->unlinkBug = 'Unlink Bug'; $lang->release->stories = 'Finished Story'; $lang->release->bugs = 'Solved Bug'; +$lang->release->leftBugs = 'Remained Bug'; $lang->release->generatedBugs = 'Remained Bug'; $lang->release->finishStories = 'Finished %s Story'; $lang->release->resolvedBugs = 'Solved %s Bug'; diff --git a/module/release/lang/zh-cn.php b/module/release/lang/zh-cn.php index 287a5a3777..72e9a6f63e 100644 --- a/module/release/lang/zh-cn.php +++ b/module/release/lang/zh-cn.php @@ -31,6 +31,7 @@ $lang->release->basicInfo = '基本信息'; $lang->release->id = 'ID'; $lang->release->product = $lang->productCommon; +$lang->release->branch = '平台/分支'; $lang->release->build = '版本'; $lang->release->name = '发布名称'; $lang->release->date = '发布日期'; @@ -41,6 +42,7 @@ $lang->release->unlinkStory = '移除需求'; $lang->release->unlinkBug = '移除Bug'; $lang->release->stories = '完成的需求'; $lang->release->bugs = '解决的Bug'; +$lang->release->leftBugs = '遗留的Bug'; $lang->release->generatedBugs = '遗留的Bug'; $lang->release->finishStories = '本次共完成 %s 个需求'; $lang->release->resolvedBugs = '本次共解决 %s 个Bug'; diff --git a/module/search/lang/en.php b/module/search/lang/en.php index 43cae3d159..4564626295 100644 --- a/module/search/lang/en.php +++ b/module/search/lang/en.php @@ -25,6 +25,13 @@ $lang->search->me = 'Me'; $lang->search->noQuery = 'No query saved!'; $lang->search->onMenuBar = 'Show in Menu'; +$lang->search->account = 'Account'; +$lang->search->module = 'Module'; +$lang->search->title = 'Title'; +$lang->search->form = 'Form Field'; +$lang->search->sql = 'SQL Condition'; +$lang->search->shortcut = $lang->search->onMenuBar; + $lang->search->operators['='] = '='; $lang->search->operators['!='] = '!='; $lang->search->operators['>'] = '>'; diff --git a/module/search/lang/zh-cn.php b/module/search/lang/zh-cn.php index 6da06f6bfd..f0bce24da0 100644 --- a/module/search/lang/zh-cn.php +++ b/module/search/lang/zh-cn.php @@ -25,6 +25,13 @@ $lang->search->me = '自己'; $lang->search->noQuery = '还没有保存查询!'; $lang->search->onMenuBar = '显示在菜单栏'; +$lang->search->account = '用户名'; +$lang->search->module = '模块'; +$lang->search->title = '名称'; +$lang->search->form = '表单字段'; +$lang->search->sql = 'SQL条件'; +$lang->search->shortcut = $lang->search->onMenuBar; + $lang->search->operators['='] = '='; $lang->search->operators['!='] = '!='; $lang->search->operators['>'] = '>'; diff --git a/module/testcase/lang/en.php b/module/testcase/lang/en.php index 029daa62e1..552719118b 100644 --- a/module/testcase/lang/en.php +++ b/module/testcase/lang/en.php @@ -45,6 +45,8 @@ $lang->testcase->lastRunDate = 'Run Date'; $lang->testcase->assignedTo = 'Assigned To'; $lang->testcase->colorTag = 'Color Tag'; $lang->testcase->lastRunResult = 'Result'; +$lang->testcase->desc = 'Step'; +$lang->testcase->expect = 'Expect'; $lang->testcase->allProduct = "All {$lang->productCommon}"; $lang->testcase->fromBug = 'From Bug'; $lang->testcase->toBug = 'To Bug'; diff --git a/module/testcase/lang/zh-cn.php b/module/testcase/lang/zh-cn.php index 4e8c47dc89..0c5ff186ab 100644 --- a/module/testcase/lang/zh-cn.php +++ b/module/testcase/lang/zh-cn.php @@ -45,6 +45,8 @@ $lang->testcase->lastRunDate = '执行时间'; $lang->testcase->assignedTo = '指派给'; $lang->testcase->colorTag = '颜色标签'; $lang->testcase->lastRunResult = '结果'; +$lang->testcase->desc = '步骤'; +$lang->testcase->expect = '预期'; $lang->testcase->allProduct = "所有{$lang->productCommon}"; $lang->testcase->fromBug = '来源Bug'; $lang->testcase->toBug = '生成Bug'; diff --git a/module/testreport/lang/en.php b/module/testreport/lang/en.php index 4ebcb84472..778ce45e56 100644 --- a/module/testreport/lang/en.php +++ b/module/testreport/lang/en.php @@ -11,9 +11,12 @@ $lang->testreport->recreate = 'Re-Create'; $lang->testreport->title = 'Title'; $lang->testreport->project = 'Project'; $lang->testreport->testtask = 'Test Build'; +$lang->testreport->tasks = $lang->testreport->testtask; $lang->testreport->startEnd = 'Start and end'; $lang->testreport->owner = 'Owner'; -$lang->testreport->member = 'Members'; +$lang->testreport->members = 'Members'; +$lang->testreport->begin = 'Begin'; +$lang->testreport->end = 'End'; $lang->testreport->stories = 'Stories of Test'; $lang->testreport->bugs = 'Bugs'; $lang->testreport->builds = 'Build Info'; diff --git a/module/testreport/lang/zh-cn.php b/module/testreport/lang/zh-cn.php index 7597ddd23d..3609073879 100644 --- a/module/testreport/lang/zh-cn.php +++ b/module/testreport/lang/zh-cn.php @@ -11,9 +11,12 @@ $lang->testreport->recreate = '重新生成报告'; $lang->testreport->title = '标题'; $lang->testreport->project = '所属项目'; $lang->testreport->testtask = '测试版本'; +$lang->testreport->tasks = $lang->testreport->testtask; $lang->testreport->startEnd = '起止时间'; $lang->testreport->owner = '负责人'; -$lang->testreport->member = '参与人员'; +$lang->testreport->members = '参与人员'; +$lang->testreport->begin = '开始时间'; +$lang->testreport->end = '结束时间'; $lang->testreport->stories = '测试的需求'; $lang->testreport->bugs = '测试的Bug'; $lang->testreport->builds = '版本信息'; diff --git a/module/testreport/view/create.html.php b/module/testreport/view/create.html.php index 09fc989768..2cdfd794f0 100644 --- a/module/testreport/view/create.html.php +++ b/module/testreport/view/create.html.php @@ -51,7 +51,7 @@ - + diff --git a/module/testreport/view/edit.html.php b/module/testreport/view/edit.html.php index 66e0cc8de8..5a8f13445a 100644 --- a/module/testreport/view/edit.html.php +++ b/module/testreport/view/edit.html.php @@ -46,7 +46,7 @@ - + diff --git a/module/testreport/view/view.html.php b/module/testreport/view/view.html.php index 399f42c535..28d1db3a18 100644 --- a/module/testreport/view/view.html.php +++ b/module/testreport/view/view.html.php @@ -71,7 +71,7 @@ - + diff --git a/module/testtask/lang/en.php b/module/testtask/lang/en.php index 289a08add0..7c5f2d630c 100644 --- a/module/testtask/lang/en.php +++ b/module/testtask/lang/en.php @@ -61,6 +61,13 @@ $lang->testtask->lastRunTime = 'Time'; $lang->testtask->lastRunResult = 'Result'; $lang->testtask->reportField = 'Report'; $lang->testtask->files = 'Upload'; +$lang->testtask->case = 'Case'; +$lang->testtask->version = 'Version'; +$lang->testtask->caseResult = 'Case Result'; +$lang->testtask->stepResults = 'Step Results'; +$lang->testtask->lastRunner = 'Last Runner'; +$lang->testtask->lastRunDate = 'Last RunDate'; +$lang->testtask->date = 'Date'; $lang->testtask->legendDesc = 'Desc'; $lang->testtask->legendReport = 'Report'; diff --git a/module/testtask/lang/zh-cn.php b/module/testtask/lang/zh-cn.php index 9ad559d43e..a48b65fced 100644 --- a/module/testtask/lang/zh-cn.php +++ b/module/testtask/lang/zh-cn.php @@ -61,6 +61,13 @@ $lang->testtask->lastRunTime = '执行时间'; $lang->testtask->lastRunResult = '结果'; $lang->testtask->reportField = '测试总结'; $lang->testtask->files = '上传附件'; +$lang->testtask->case = '用例'; +$lang->testtask->version = '版本'; +$lang->testtask->caseResult = '测试结果'; +$lang->testtask->stepResults = '步骤结果'; +$lang->testtask->lastRunner = '最后执行人'; +$lang->testtask->lastRunDate = '最后执行时间'; +$lang->testtask->date = '测试时间'; $lang->testtask->legendDesc = '版本描述'; $lang->testtask->legendReport = '测试总结'; diff --git a/module/todo/lang/en.php b/module/todo/lang/en.php index a2d1fb6f61..23b29d927e 100644 --- a/module/todo/lang/en.php +++ b/module/todo/lang/en.php @@ -32,6 +32,7 @@ $lang->todo->end = 'End'; $lang->todo->beginAB = 'Begin'; $lang->todo->endAB = 'End'; $lang->todo->beginAndEnd = 'Time Frame'; +$lang->todo->idvalue = 'Linded ID'; $lang->todo->type = 'Type'; $lang->todo->pri = 'Priority'; $lang->todo->name = 'Name'; diff --git a/module/todo/lang/zh-cn.php b/module/todo/lang/zh-cn.php index 7ef53a8e1e..3c49f4ca73 100644 --- a/module/todo/lang/zh-cn.php +++ b/module/todo/lang/zh-cn.php @@ -32,6 +32,7 @@ $lang->todo->end = '结束'; $lang->todo->beginAB = '开始'; $lang->todo->endAB = '结束'; $lang->todo->beginAndEnd = '起止时间'; +$lang->todo->idvalue = '关联编号'; $lang->todo->type = '类型'; $lang->todo->pri = '优先级'; $lang->todo->name = '名称'; diff --git a/module/tree/lang/en.php b/module/tree/lang/en.php index 7fc99a02ed..922c6701c2 100644 --- a/module/tree/lang/en.php +++ b/module/tree/lang/en.php @@ -42,6 +42,10 @@ $lang->tree->successFixed = 'Fixed.'; $lang->tree->repeatName = 'The name "%s" has existed!'; $lang->tree->name = 'Name'; +$lang->tree->root = 'Root'; +$lang->tree->branch = 'Platform/Branch'; +$lang->tree->path = 'Path'; +$lang->tree->type = 'Type'; $lang->tree->parent = 'Parent'; $lang->tree->child = 'Child'; $lang->tree->owner = 'Owner'; diff --git a/module/tree/lang/zh-cn.php b/module/tree/lang/zh-cn.php index 4ae7a63213..6fabd33685 100644 --- a/module/tree/lang/zh-cn.php +++ b/module/tree/lang/zh-cn.php @@ -42,6 +42,10 @@ $lang->tree->successFixed = '成功修正数据!'; $lang->tree->repeatName = '模块名“%s”已经存在!'; $lang->tree->name = '模块名称'; +$lang->tree->root = '所属根'; +$lang->tree->branch = '平台/分支'; +$lang->tree->path = '路径'; +$lang->tree->type = '类型'; $lang->tree->parent = '上级模块'; $lang->tree->child = '子模块'; $lang->tree->owner = '负责人'; diff --git a/module/user/lang/en.php b/module/user/lang/en.php index 0a7c24d953..b5fed36cdd 100644 --- a/module/user/lang/en.php +++ b/module/user/lang/en.php @@ -121,6 +121,12 @@ $lang->user->statusList['delete'] = 'Deleted'; $lang->user->keepLogin['on'] = 'Keep login'; $lang->user->loginWithDemoUser = 'Login as Demo User:'; +$lang->user->tpl = new stdclass(); +$lang->user->tpl->type = 'Type'; +$lang->user->tpl->title = 'TPL Title'; +$lang->user->tpl->content = 'Content'; +$lang->user->tpl->public = 'Public'; + $lang->user->placeholder = new stdclass(); $lang->user->placeholder->account = 'must be contain letters, underline, and numbers,at lease three characters'; $lang->user->placeholder->password1 = 'must be at lease six characters'; @@ -146,6 +152,7 @@ $lang->user->error->originalPassword = "Old password is incorrect."; $lang->user->contacts = new stdclass(); $lang->user->contacts->common = 'Contact'; $lang->user->contacts->listName = 'List Name'; +$lang->user->contacts->userList = 'User List'; $lang->user->contacts->manage = 'Manage'; $lang->user->contacts->contactsList = 'Contacts'; diff --git a/module/user/lang/zh-cn.php b/module/user/lang/zh-cn.php index 4d219272ac..29107330fa 100644 --- a/module/user/lang/zh-cn.php +++ b/module/user/lang/zh-cn.php @@ -121,6 +121,12 @@ $lang->user->statusList['delete'] = '删除'; $lang->user->keepLogin['on'] = '保持登录'; $lang->user->loginWithDemoUser = '使用demo帐号登录:'; +$lang->user->tpl = new stdclass(); +$lang->user->tpl->type = '类型'; +$lang->user->tpl->title = '模板名'; +$lang->user->tpl->content = '内容'; +$lang->user->tpl->public = '是否公开'; + $lang->user->placeholder = new stdclass(); $lang->user->placeholder->account = '英文、数字和下划线的组合,三位以上'; $lang->user->placeholder->password1 = '六位以上'; @@ -146,6 +152,7 @@ $lang->user->error->originalPassword = "原密码不正确"; $lang->user->contacts = new stdclass(); $lang->user->contacts->common = '联系人'; $lang->user->contacts->listName = '列表名称'; +$lang->user->contacts->userList = '用户列表'; $lang->user->contacts->manage = '维护列表'; $lang->user->contacts->contactsList = '已有列表'; From 51d786989cf577ed6a7084c1864e8c5129b2af5d Mon Sep 17 00:00:00 2001 From: wangyidong Date: Wed, 23 Aug 2017 15:48:05 +0800 Subject: [PATCH 05/54] * adjust for action. --- module/action/lang/en.php | 5 +++-- module/action/lang/zh-cn.php | 5 +++-- module/action/model.php | 5 +++++ module/bug/lang/zh-cn.php | 6 +++--- www/theme/default/style.css | 2 +- 5 files changed, 15 insertions(+), 8 deletions(-) diff --git a/module/action/lang/en.php b/module/action/lang/en.php index 385ca366c0..05fd1dd1cb 100755 --- a/module/action/lang/en.php +++ b/module/action/lang/en.php @@ -113,6 +113,7 @@ $lang->action->desc->paused = '$date, paused by $actor. $lang->action->desc->diff1 = '%s has been changed. Its value was "%s" and the new value is "%s".
    ' . "\n"; $lang->action->desc->diff2 = '%s has been changed. The difference is ' . "\n" . "
    %s
    " . "\n"; $lang->action->desc->diff3 = 'File Name %s was changed to %s .' . "\n"; +$lang->action->desc->linked2bug = '$date Link to build $extra by $actor'; /* 关联用例和移除用例时的历史操作记录。*/ $lang->action->desc->linkrelatedcase = '$date, $actor linked relevant use case $extra.' . "\n"; @@ -175,8 +176,8 @@ $lang->action->label->suspended = 'Suspended'; $lang->action->label->login = 'Login'; $lang->action->label->logout = "Logout"; $lang->action->label->deleteestimate = "Deleted Man-Hour"; -$lang->action->label->linked2build = "Linked Build"; -$lang->action->label->linked2bug = "Linked Bug"; +$lang->action->label->linked2build = "Linked"; +$lang->action->label->linked2bug = "Linked"; /* 用来生成相应对象的链接。*/ $lang->action->label->product = $lang->productCommon . '|product|view|productID=%s'; diff --git a/module/action/lang/zh-cn.php b/module/action/lang/zh-cn.php index eedcf955c6..78f3a12eb0 100755 --- a/module/action/lang/zh-cn.php +++ b/module/action/lang/zh-cn.php @@ -113,6 +113,7 @@ $lang->action->desc->paused = '$date, 由 $actor 暂停 $lang->action->desc->diff1 = '修改了 %s,旧值为 "%s",新值为 "%s"。
    ' . "\n"; $lang->action->desc->diff2 = '修改了 %s,区别为:' . "\n" . "
    %s
    " . "\n"; $lang->action->desc->diff3 = '将文件名 %s 改为 %s 。' . "\n"; +$lang->action->desc->linked2bug = '$date 由 $actor 关联到版本 $extra'; /* 关联用例和移除用例时的历史操作记录。*/ $lang->action->desc->linkrelatedcase = '$date, 由 $actor 关联相关用例 $extra。' . "\n"; @@ -175,8 +176,8 @@ $lang->action->label->suspended = '挂起'; $lang->action->label->login = '登录系统'; $lang->action->label->logout = "退出登录"; $lang->action->label->deleteestimate = "删除了工时"; -$lang->action->label->linked2build = "关联版本"; -$lang->action->label->linked2bug = "关联BUG"; +$lang->action->label->linked2build = "关联了"; +$lang->action->label->linked2bug = "关联了"; /* 用来生成相应对象的链接。*/ $lang->action->label->product = $lang->productCommon . '|product|view|productID=%s'; diff --git a/module/action/model.php b/module/action/model.php index a95df52acf..ea946197c3 100755 --- a/module/action/model.php +++ b/module/action/model.php @@ -242,6 +242,11 @@ class actionModel extends model $name = $this->dao->select('name')->from(TABLE_BUILD)->where('id')->eq($action->extra)->fetch('name'); if($name) $action->extra = html::a(helper::createLink('build', 'view', "builID=$action->extra&type={$action->objectType}"), $name); } + elseif($actionName == 'linked2bug') + { + $name = $this->dao->select('name')->from(TABLE_BUILD)->where('id')->eq($action->extra)->fetch('name'); + if($name) $action->extra = html::a(helper::createLink('build', 'view', "builID=$action->extra&type={$action->objectType}"), $name); + } elseif($actionName == 'linked2release') { $name = $this->dao->select('name')->from(TABLE_RELEASE)->where('id')->eq($action->extra)->fetch('name'); diff --git a/module/bug/lang/zh-cn.php b/module/bug/lang/zh-cn.php index b65bf946a1..ffeb250587 100644 --- a/module/bug/lang/zh-cn.php +++ b/module/bug/lang/zh-cn.php @@ -342,9 +342,9 @@ $lang->bug->report->bugHistories->graph->xAxisName = '处理步骤'; /* 操作记录。*/ $lang->bug->action = new stdclass(); -$lang->bug->action->resolved = array('main' => '$date, 由 $actor 解决,方案为 $extra $appendLink。', 'extra' => 'resolutionList'); -$lang->bug->action->tostory = array('main' => '$date, 由 $actor 转为需求,编号为 $extra。'); -$lang->bug->action->totask = array('main' => '$date, 由 $actor 导入为任务,编号为 $extra。'); +$lang->bug->action->resolved = array('main' => '$date, 由 $actor 解决,方案为 $extra $appendLink。', 'extra' => 'resolutionList'); +$lang->bug->action->tostory = array('main' => '$date, 由 $actor 转为需求,编号为 $extra。'); +$lang->bug->action->totask = array('main' => '$date, 由 $actor 导入为任务,编号为 $extra。'); $lang->bug->action->linked2plan = array('main' => '$date, 由 $actor 关联到计划 $extra。'); $lang->bug->action->unlinkedfromplan = array('main' => '$date, 由 $actor 从计划 $extra 移除。'); $lang->bug->action->linked2build = array('main' => '$date, 由 $actor 关联到版本 $extra。'); diff --git a/www/theme/default/style.css b/www/theme/default/style.css index e1762cf5c8..cb440341e7 100644 --- a/www/theme/default/style.css +++ b/www/theme/default/style.css @@ -81,7 +81,7 @@ a,a:focus,a:active {text-decoration: none; outline:none;} .dropdown-menu > .active > a:before {content: '\e60d'; font-family: NewZenIcon; font-size: 14px; position: absolute; right: 8px; top: 4px; display: block; color: #808080; font-weight: normal;} .dropdown-submenu > a {min-width: 80px;} .dropdown-menu .divider {margin: 4px 0;} -.dropdown-submenu.left > .dropdown-menu{left: -100%;} +.dropdown-submenu.left > .dropdown-menu{left: -110px;} /* hr */ hr.small {margin: 10px 0} From 153006237e37199f01e5a712eca8e819e34baacf Mon Sep 17 00:00:00 2001 From: wangyidong Date: Wed, 23 Aug 2017 15:59:08 +0800 Subject: [PATCH 06/54] * not save session in json. --- module/my/control.php | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/module/my/control.php b/module/my/control.php index 0f35bf24ff..2ad901ab3b 100644 --- a/module/my/control.php +++ b/module/my/control.php @@ -53,9 +53,12 @@ class my extends control { /* Save session. */ $uri = $this->app->getURI(true); - $this->session->set('todoList', $uri); - $this->session->set('bugList', $uri); - $this->session->set('taskList', $uri); + if($this->app->viewType != 'json') + { + $this->session->set('todoList', $uri); + $this->session->set('bugList', $uri); + $this->session->set('taskList', $uri); + } /* Load pager. */ $this->app->loadClass('pager', $static = true); @@ -98,7 +101,7 @@ class my extends control public function story($type = 'assignedTo', $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1) { /* Save session. */ - $this->session->set('storyList', $this->app->getURI(true)); + if($this->app->viewType != 'json') $this->session->set('storyList', $this->app->getURI(true)); /* Load pager. */ $this->app->loadClass('pager', $static = true); @@ -136,8 +139,11 @@ class my extends control public function task($type = 'assignedTo', $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1) { /* Save session. */ - $this->session->set('taskList', $this->app->getURI(true)); - $this->session->set('storyList', $this->app->getURI(true)); + if($this->app->viewType != 'json') + { + $this->session->set('taskList', $this->app->getURI(true)); + $this->session->set('storyList', $this->app->getURI(true)); + } /* Load pager. */ $this->app->loadClass('pager', $static = true); @@ -176,7 +182,7 @@ class my extends control public function bug($type = 'assignedTo', $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1) { /* Save session. load Lang. */ - $this->session->set('bugList', $this->app->getURI(true)); + if($this->app->viewType != 'json') $this->session->set('bugList', $this->app->getURI(true)); $this->app->loadLang('bug'); /* Load pager. */ @@ -219,7 +225,7 @@ class my extends control $pager = pager::init($recTotal, $recPerPage, $pageID); /* Save session. */ - $this->session->set('testtaskList', $this->app->getURI(true)); + if($this->app->viewType != 'json') $this->session->set('testtaskList', $this->app->getURI(true)); $this->app->loadLang('testcase'); @@ -254,7 +260,7 @@ class my extends control public function testcase($type = 'assigntome', $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1) { /* Save session, load lang. */ - $this->session->set('caseList', $this->app->getURI(true)); + if($this->app->viewType != 'json') $this->session->set('caseList', $this->app->getURI(true)); $this->app->loadLang('testcase'); $this->app->loadLang('testtask'); From affcf9b642f58b86a0daae08d4117849f7dd430c Mon Sep 17 00:00:00 2001 From: wangyidong Date: Thu, 24 Aug 2017 09:20:45 +0800 Subject: [PATCH 07/54] * adjust for block safe. --- module/block/control.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/module/block/control.php b/module/block/control.php index 3366454bf0..2b6c9a5d1d 100644 --- a/module/block/control.php +++ b/module/block/control.php @@ -21,7 +21,7 @@ class block extends control { parent::__construct($moduleName, $methodName); /* Mark the call from zentao or ranzhi. */ - $this->selfCall = strpos($this->server->http_referer, common::getSysURL()) === 0 || $this->session->blockModule; + $this->selfCall = strpos($this->server->http_referer, common::getSysURL() . $this->config->webRoot) === 0 || $this->session->blockModule; if($this->methodName != 'admin' and $this->methodName != 'dashboard' and !$this->selfCall and !$this->loadModel('sso')->checkKey()) die(''); } @@ -197,7 +197,7 @@ class block extends control */ public function dashboard($module) { - $this->session->set('blockModule', $module); + if($this->loadModel('user')->isLogon()) $this->session->set('blockModule', $module); $blocks = $this->block->getBlockList($module); $inited = empty($this->config->$module->common->blockInited) ? '' : $this->config->$module->common->blockInited; From a96bb1775277f36ed54113ba5ace200a54e558f0 Mon Sep 17 00:00:00 2001 From: pengjiangxiu Date: Thu, 24 Aug 2017 09:40:53 +0800 Subject: [PATCH 08/54] * * Adjust for bug batch activate. --- module/bug/control.php | 59 ++++++++++++++------------ module/bug/js/common.js | 2 +- module/bug/model.php | 51 ++++++++++++++++++++++ module/bug/view/activate.html.php | 2 +- module/bug/view/batchactivate.html.php | 46 ++++++++++++++++++++ module/bug/view/browse.html.php | 4 +- module/common/lang/en.php | 2 +- module/common/lang/zh-cn.php | 2 +- module/common/lang/zh-tw.php | 2 +- module/user/model.php | 4 +- 10 files changed, 137 insertions(+), 37 deletions(-) create mode 100644 module/bug/view/batchactivate.html.php diff --git a/module/bug/control.php b/module/bug/control.php index 26461b31f1..685340f81d 100644 --- a/module/bug/control.php +++ b/module/bug/control.php @@ -513,18 +513,18 @@ class bug extends control } $bug = $this->bug->getById($bugID); - if($bug->toTask != 0) + if($bug->toTask != 0) { foreach($changes as $change) { - if($change['field'] == 'status') + if($change['field'] == 'status') { $confirmURL = $this->createLink('task', 'view', "taskID=$bug->toTask"); $cancelURL = $this->server->HTTP_REFERER; die(js::confirm(sprintf($this->lang->bug->remindTask, $bug->Task), $confirmURL, $cancelURL, 'parent', 'parent')); } } - } + } die(js::locate($this->createLink('bug', 'view', "bugID=$bugID"), 'parent')); } @@ -587,8 +587,8 @@ class bug extends control /** * Batch edit bug. - * - * @param int $productID + * + * @param int $productID * @access public * @return void */ @@ -618,7 +618,7 @@ class bug extends control die(js::confirm(sprintf($this->lang->bug->remindTask, $bug->task), $confirmURL, $cancelURL, 'parent', 'parent')); } } - } + } } die(js::locate($this->session->bugList, 'parent')); } @@ -933,8 +933,8 @@ class bug extends control /** * Activate a bug. - * - * @param int $bugID + * + * @param int $bugID * @access public * @return void */ @@ -1122,36 +1122,39 @@ class bug extends control } /** - * Batch activate bugs. - * + * Batch activate bugs. + * * @access public * @return void */ - public function batchActivate() + public function batchActivate($productID, $branch = 0) { - if($this->post->bugIDList) + if($this->post->statusList) { - $bugIDList = $this->post->bugIDList; - - /* Reset $_POST. Do not unset that because the function of close need that in model. */ - $_POST = array(); - - $bugs = $this->bug->getByList($bugIDList); - foreach($bugs as $bugID => $bug) + $activateBugs = $this->bug->batchActivate(); + foreach($activateBugs as $bugID => $bug) { - if($bug->status == 'active') - { - continue; - } - - $this->bug->activate($bugID); - - $actionID = $this->action->create('bug', $bugID, 'Activated'); + $actionID = $this->action->create('bug', $bugID, 'Activated', $bug['comment']); $this->bug->sendmail($bugID, $actionID); } + + die(js::locate($this->session->bugList, 'parent')); } - die(js::reload('parent')); + $bugIDList = $this->post->bugIDList ? $this->post->bugIDList : die(js::locate($this->session->bugList, 'parent')); + $bugs = $this->dao->select('id, title, status, resolvedBy, openedBuild')->from(TABLE_BUG)->where('id')->in($bugIDList)->fetchAll('id'); + + $this->bug->setMenu($this->products, $productID, $branch); + + $this->view->title = $this->products[$productID] . $this->lang->colon . $this->lang->bug->batchActivate; + $this->view->position[] = html::a($this->createLink('bug', 'browse', "productID=$productID"), $this->products[$productID]); + $this->view->position[] = $this->lang->bug->batchActivate; + + $this->view->bugs = $bugs; + $this->view->users = $this->user->getPairs(); + $this->view->builds = $this->loadModel('build')->getProductBuildPairs($productID, $branch, 'noempty'); + + $this->display(); } /** diff --git a/module/bug/js/common.js b/module/bug/js/common.js index 7734e9f505..fdd680d538 100644 --- a/module/bug/js/common.js +++ b/module/bug/js/common.js @@ -1,4 +1,4 @@ -$(function() +$(function() { setModal4List('iframe', 'bugList'); diff --git a/module/bug/model.php b/module/bug/model.php index 20d38ed35d..afd6ecbeac 100644 --- a/module/bug/model.php +++ b/module/bug/model.php @@ -658,6 +658,57 @@ class bugModel extends model return $allChanges; } + /** + * Batch active bugs. + * + * @access public + * @return array + */ + public function batchActivate() + { + $now = helper::now(); + $data = fixer::input('post')->get(); + + $activateBugs = array(); + $bugIDList = $data->bugIDList ? $data->bugIDList : array(); + + if(empty($bugIDList)) return $activateBugs; + + foreach($bugIDList as $bugID) + { + if($data->statusList[$bugID] == 'active') continue; + + $activateBugs[$bugID]['assignedTo'] = $data->assignedToList[$bugID]; + $activateBugs[$bugID]['openedBuild'] = $data->openedBuildList[$bugID]; + $activateBugs[$bugID]['comment'] = $data->commentList[$bugID]; + + $activateBugs[$bugID]['assignedDate'] = $now; + $activateBugs[$bugID]['resolution'] = ''; + $activateBugs[$bugID]['status'] = 'active'; + $activateBugs[$bugID]['resolvedDate'] = '0000-00-00'; + $activateBugs[$bugID]['resolvedBy'] = ''; + $activateBugs[$bugID]['resolvedBuild'] = ''; + $activateBugs[$bugID]['closedBy'] = ''; + $activateBugs[$bugID]['closedDate'] = '0000-00-00'; + $activateBugs[$bugID]['duplicateBug'] = 0; + $activateBugs[$bugID]['toTask'] = 0; + $activateBugs[$bugID]['toStory'] = 0; + $activateBugs[$bugID]['lastEditedBy'] = $this->app->user->account; + $activateBugs[$bugID]['lastEditedDate'] = $now; + } + + /* Update bugs. */ + foreach($activateBugs as $bugID => $bug) + { + $this->dao->update(TABLE_BUG)->data($bug, $skipFields = 'comment')->autoCheck()->where('id')->eq((int)$bugID)->exec(); + if(dao::isError()) die(js::error('bug#' . $bugID . dao::getError(true))); + + $this->dao->update(TABLE_BUG)->set('activatedCount = activatedCount + 1')->where('id')->eq((int)$bugID)->exec(); + } + + return $activateBugs; + } + /** * Assign a bug to a user again. * diff --git a/module/bug/view/activate.html.php b/module/bug/view/activate.html.php index 3326acbfe5..d9f5f27db7 100644 --- a/module/bug/view/activate.html.php +++ b/module/bug/view/activate.html.php @@ -37,7 +37,7 @@
    - + diff --git a/module/bug/view/batchactivate.html.php b/module/bug/view/batchactivate.html.php new file mode 100644 index 0000000000..141f022093 --- /dev/null +++ b/module/bug/view/batchactivate.html.php @@ -0,0 +1,46 @@ + + * @package bug + * @version $Id$ + * @link http://www.zentao.net + */ +?> + +
    +
    + bug->common . $lang->colon . $lang->bug->batchActivate;?> +
    +
    +"> +
    task->openedBy;?> openedBy];?>
    task->finishedBy;?>finishedBy, "class='form-control'");?>finishedBy, "class='form-control chosen'");?>
    task->finishedDate;?>
    task->canceledBy;?>canceledBy, 'class="form-control"');?>canceledBy, 'class="form-control chosen"');?>
    task->canceledDate;?>
    task->closedBy;?>closedBy, 'class="form-control"');?>closedBy, 'class="form-control chosen"');?>
    task->closedReason;?>task->reasonList, $task->closedReason, 'class="form-control"');?>task->reasonList, $task->closedReason, 'class="form-control chosen"');?>
    task->closedDate;?>
    idAB);?> mail->toList);?> mail->subjectName);?> mail->subject);?> mail->addedBy);?> mail->addedDate);?> mail->sendTime);?>
    testreport->member?>testreport->members?>
    testreport->member?>testreport->members?> members, "class='form-control chosen' multiple")?>
    owner);?>
    testreport->member?>testreport->members?> members) as $member)echo zget($users, $member) . '   ';?>
    bug->files;?> fetch('file', 'buildform');?>
    goback, $this->session->bugList);?>
    + + + + + + + + + + + + + + + + + + + + + + + +
    idAB;?>bug->title;?>bug->assignedTo;?>bug->openedBuild;?>bug->legendComment;?>
    id . html::hidden("bugIDList[$bug->id]", $bug->id);?>title . html::hidden("statusList[$bug->id]", $bug->status);?>id]", $users, $bug->resolvedBy, "class='form-control chosen'");?>id]", $builds, $bug->openedBuild, 'size=4 multiple=multiple class="form-control chosen"');?>id]", '', "class='form-control'");?>
    + + diff --git a/module/bug/view/browse.html.php b/module/bug/view/browse.html.php index 59a865608d..10e72a610e 100644 --- a/module/bug/view/browse.html.php +++ b/module/bug/view/browse.html.php @@ -200,8 +200,8 @@ js::set('branch', $branch); $misc = common::hasPriv('bug', 'batchClose') ? "onclick=\"setFormAction('$actionLink', 'hiddenwin')\"" : $class; if($misc) echo "
  • " . html::a('javascript:;', $lang->bug->close, '', $misc) . "
  • "; - $actionLink = $this->createLink('bug', 'batchActivate'); - $misc = common::hasPriv('bug', 'batchActivate') ? "onclick=\"setFormAction('$actionLink', 'hiddenwin')\"" : $class; + $actionLink = $this->createLink('bug', 'batchActivate', "productID=$productID&branch=$branch"); + $misc = common::hasPriv('bug', 'batchActivate') ? "onclick=\"setFormAction('$actionLink')\"" : $class; if($misc) echo "
  • " . html::a('javascript:;', $lang->bug->activate, '', $misc) . "
  • "; if(common::hasPriv('bug', 'batchChangeModule')) diff --git a/module/common/lang/en.php b/module/common/lang/en.php index 4a005913f3..98ccda78b1 100644 --- a/module/common/lang/en.php +++ b/module/common/lang/en.php @@ -249,7 +249,7 @@ $lang->bug = new stdclass(); $lang->bug->menu = new stdclass(); $lang->bug->menu->product = array('link' => '%s', 'fixed' => true); -$lang->bug->menu->bug = array('link' => 'Bug|bug|browse|productID=%s', 'alias' => 'view,create,batchcreate,edit,resolve,close,activate,report,batchedit,confirmbug,assignto', 'subModule' => 'tree'); +$lang->bug->menu->bug = array('link' => 'Bug|bug|browse|productID=%s', 'alias' => 'view,create,batchcreate,edit,resolve,close,activate,report,batchedit,batchactivate,confirmbug,assignto', 'subModule' => 'tree'); $lang->bug->menu->testcase = array('link' => 'Case|testcase|browse|productID=%s'); $lang->bug->menu->testtask = array('link' => 'Build|testtask|browse|productID=%s'); $lang->bug->menu->testsuite = array('link' => 'Suite|testsuite|browse|productID=%s'); diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php index 819b579a13..e42dadacef 100644 --- a/module/common/lang/zh-cn.php +++ b/module/common/lang/zh-cn.php @@ -249,7 +249,7 @@ $lang->bug = new stdclass(); $lang->bug->menu = new stdclass(); $lang->bug->menu->product = array('link' => '%s', 'fixed' => true); -$lang->bug->menu->bug = array('link' => 'Bug|bug|browse|productID=%s', 'alias' => 'view,create,batchcreate,edit,resolve,close,activate,report,batchedit,confirmbug,assignto', 'subModule' => 'tree'); +$lang->bug->menu->bug = array('link' => 'Bug|bug|browse|productID=%s', 'alias' => 'view,create,batchcreate,edit,resolve,close,activate,report,batchedit,batchactivate,confirmbug,assignto', 'subModule' => 'tree'); $lang->bug->menu->testcase = array('link' => '用例|testcase|browse|productID=%s'); $lang->bug->menu->testtask = array('link' => '版本|testtask|browse|productID=%s'); $lang->bug->menu->testsuite = array('link' => '套件|testsuite|browse|productID=%s'); diff --git a/module/common/lang/zh-tw.php b/module/common/lang/zh-tw.php index 20c8c793a1..fd0ba48c69 100644 --- a/module/common/lang/zh-tw.php +++ b/module/common/lang/zh-tw.php @@ -249,7 +249,7 @@ $lang->bug = new stdclass(); $lang->bug->menu = new stdclass(); $lang->bug->menu->product = array('link' => '%s', 'fixed' => true); -$lang->bug->menu->bug = array('link' => 'Bug|bug|browse|productID=%s', 'alias' => 'view,create,batchcreate,edit,resolve,close,activate,report,batchedit,confirmbug,assignto', 'subModule' => 'tree'); +$lang->bug->menu->bug = array('link' => 'Bug|bug|browse|productID=%s', 'alias' => 'view,create,batchcreate,edit,resolve,close,activate,report,batchedit,batchactivate,confirmbug,assignto', 'subModule' => 'tree'); $lang->bug->menu->testcase = array('link' => '用例|testcase|browse|productID=%s'); $lang->bug->menu->testtask = array('link' => '版本|testtask|browse|productID=%s'); $lang->bug->menu->testsuite = array('link' => '套件|testsuite|browse|productID=%s'); diff --git a/module/user/model.php b/module/user/model.php index 1830b69f6f..fae5d643c1 100644 --- a/module/user/model.php +++ b/module/user/model.php @@ -63,9 +63,9 @@ class userModel extends model /** * Get the account=>realname pairs. - * + * * @param string $params noletter|noempty|noclosed|withguest|pofirst|devfirst|qafirst|pmfirst|realname, can be sets of theme - * @param string $usersToAppended account1,account2 + * @param string $usersToAppended account1,account2 * @access public * @return array */ From 37b6e7eb5f649fe822757f77e911bd75cf3290d7 Mon Sep 17 00:00:00 2001 From: pengjiangxiu Date: Thu, 24 Aug 2017 10:46:37 +0800 Subject: [PATCH 09/54] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BA=86v9.5=20upgrade?= =?UTF-8?q?=E4=BF=A1=E6=81=AF.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- VERSION | 2 +- config/config.php | 18 ++++++++--------- doc/CHANGELOG | 38 +++++++++++++++++++++++------------ module/upgrade/control.php | 8 ++++---- module/upgrade/lang/en.php | 1 + module/upgrade/lang/zh-cn.php | 1 + module/upgrade/lang/zh-tw.php | 1 + module/upgrade/model.php | 36 ++++++++++++++++++++++++++------- 8 files changed, 71 insertions(+), 34 deletions(-) diff --git a/VERSION b/VERSION index 0359f24328..592f36ef3a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -9.4 +9.5 diff --git a/config/config.php b/config/config.php index 997c8eb030..53475a302a 100644 --- a/config/config.php +++ b/config/config.php @@ -16,20 +16,20 @@ if(!class_exists('config')){class config{}} if(!function_exists('getWebRoot')){function getWebRoot(){}} /* 基本设置。Basic settings. */ -$config->version = '9.4'; // ZenTaoPHP的版本。 The version of ZenTaoPHP. Don't change it. -$config->charset = 'UTF-8'; // ZenTaoPHP的编码。 The encoding of ZenTaoPHP. -$config->cookieLife = time() + 2592000; // Cookie的生存时间。The cookie life time. +$config->version = '9.5'; // ZenTaoPHP的版本。 The version of ZenTaoPHP. Don't change it. +$config->charset = 'UTF-8'; // ZenTaoPHP的编码。 The encoding of ZenTaoPHP. +$config->cookieLife = time() + 2592000; // Cookie的生存时间。The cookie life time. $config->timezone = 'Asia/Shanghai'; // 时区设置。 The time zone setting, for more see http://www.php.net/manual/en/timezones.php. $config->webRoot = ''; // URL根目录。 The root path of the url. /* 框架路由相关设置。Routing settings. */ $config->requestType = 'PATH_INFO'; // 请求类型:PATH_INFO|PATHINFO2|GET。 The request type: PATH_INFO|PATH_INFO2|GET. -$config->requestFix = '-'; // PATH_INFO和PATH_INFO2模式的分隔符。 The divider in the url when PATH_INFO|PATH_INFO2. -$config->moduleVar = 'm'; // 请求类型为GET:模块变量名。 requestType=GET: the module var name. -$config->methodVar = 'f'; // 请求类型为GET:模块变量名。 requestType=GET: the method var name. -$config->viewVar = 't'; // 请求类型为GET:视图变量名。 requestType=GET: the view var name. -$config->sessionVar = 'zentaosid'; // 请求类型为GET:session变量名。 requestType=GET: the session var name. -$config->views = ',html,json,mhtml,'; // 支持的视图类型。 Supported view formats. +$config->requestFix = '-'; // PATH_INFO和PATH_INFO2模式的分隔符。 The divider in the url when PATH_INFO|PATH_INFO2. +$config->moduleVar = 'm'; // 请求类型为GET:模块变量名。 requestType=GET: the module var name. +$config->methodVar = 'f'; // 请求类型为GET:模块变量名。 requestType=GET: the method var name. +$config->viewVar = 't'; // 请求类型为GET:视图变量名。 requestType=GET: the view var name. +$config->sessionVar = 'zentaosid'; // 请求类型为GET:session变量名。 requestType=GET: the session var name. +$config->views = ',html,json,mhtml,'; // 支持的视图类型。 Supported view formats. /* 支持的主题和语言。Supported thems and languages. */ $config->themes['default'] = 'default'; diff --git a/doc/CHANGELOG b/doc/CHANGELOG index 0de231abec..673c18a3f9 100644 --- a/doc/CHANGELOG +++ b/doc/CHANGELOG @@ -1,17 +1,29 @@ +2017-08-25 9.5 +3124 取消工时记录的255字数限制 +3123 导出增加对个数字段的支持 +3122 文档附件库默认按照时间从新到旧的顺序显示 +3121 测试bug增加批量激活功能 已完成 +3120 测试报告导出功能增加相应的权限 +3119 每日提醒异步邮件列表中的发送人改成后台发信配置中的发信人 +3118 测试-用例 从用例库导入用例的时候增加搜索功能 +3117 已删除用户默认不再列出 +3116 文档库的附件库增加列表展示方式 +以及修改了大量的已知BUG。 + 2017-07-24 9.4 -3078 将跳回然之框架的功能默认设置为关闭 -3077 bug导出增加对 截止日期 字段的支持 -3076 把禅道数据库中所有的mailto字段都修改成 text 类型 -3075 增加bug提交和编辑表单编辑器的高度 -3074 数据库受损修复增加超级管理员验证 -3073 计划列表默认显示全部。 -3071 集成到然之之后右上角个人中心的菜单向左展开 -3070 批量操作的滚动条将选择和编辑按钮的边框去掉 -3069 测试-版本关联用例的时候过滤掉未评审的用例 -3068 发布关联需求的时候给默认的推荐列表 -3067 调整产品发布关联需求页面的排版 -3066 创建计划时提示之前的计划名称 -3065 附件库继承产品或者项目的访问权限 +3078 将跳回然之框架的功能默认设置为关闭 +3077 bug导出增加对 截止日期 字段的支持 +3076 把禅道数据库中所有的mailto字段都修改成 text 类型 +3075 增加bug提交和编辑表单编辑器的高度 +3074 数据库受损修复增加超级管理员验证 +3073 计划列表默认显示全部。 +3071 集成到然之之后右上角个人中心的菜单向左展开 +3070 批量操作的滚动条将选择和编辑按钮的边框去掉 +3069 测试-版本关联用例的时候过滤掉未评审的用例 +3068 发布关联需求的时候给默认的推荐列表 +3067 调整产品发布关联需求页面的排版 +3066 创建计划时提示之前的计划名称 +3065 附件库继承产品或者项目的访问权限 2017-06-21 9.3.beta 3038 修改loadModel改为单例模式,提升性能 diff --git a/module/upgrade/control.php b/module/upgrade/control.php index 5ead4966e6..8052d9b7bf 100644 --- a/module/upgrade/control.php +++ b/module/upgrade/control.php @@ -13,7 +13,7 @@ class upgrade extends control { /** * The index page. - * + * * @access public * @return void */ @@ -29,18 +29,18 @@ class upgrade extends control /** * Check agree license. - * + * * @access public * @return void */ public function license() - { + { if($this->get->agree == true) $this->locate(inlink('backup')); $this->view->title = $this->lang->upgrade->common; $this->view->license = file_get_contents($this->app->getBasePath() . 'doc/LICENSE'); $this->display(); - } + } /** * Backup. diff --git a/module/upgrade/lang/en.php b/module/upgrade/lang/en.php index 4668c3ec59..c106dd5a0d 100644 --- a/module/upgrade/lang/en.php +++ b/module/upgrade/lang/en.php @@ -123,3 +123,4 @@ $lang->upgrade->fromVersions['9_1_2'] = '9.1.2'; $lang->upgrade->fromVersions['9_2'] = '9.2'; $lang->upgrade->fromVersions['9_2_1'] = '9.2.1'; $lang->upgrade->fromVersions['9_3_beta'] = '9.3.beta'; +$lang->upgrade->fromVersions['9_4'] = '9.4'; diff --git a/module/upgrade/lang/zh-cn.php b/module/upgrade/lang/zh-cn.php index 97aef5f586..f434f6813a 100644 --- a/module/upgrade/lang/zh-cn.php +++ b/module/upgrade/lang/zh-cn.php @@ -123,3 +123,4 @@ $lang->upgrade->fromVersions['9_1_2'] = '9.1.2'; $lang->upgrade->fromVersions['9_2'] = '9.2'; $lang->upgrade->fromVersions['9_2_1'] = '9.2.1'; $lang->upgrade->fromVersions['9_3_beta'] = '9.3.beta'; +$lang->upgrade->fromVersions['9_4'] = '9.4'; diff --git a/module/upgrade/lang/zh-tw.php b/module/upgrade/lang/zh-tw.php index dc42dd61f0..a2a367e3a5 100644 --- a/module/upgrade/lang/zh-tw.php +++ b/module/upgrade/lang/zh-tw.php @@ -123,3 +123,4 @@ $lang->upgrade->fromVersions['9_1_2'] = '9.1.2'; $lang->upgrade->fromVersions['9_2'] = '9.2'; $lang->upgrade->fromVersions['9_2_1'] = '9.2.1'; $lang->upgrade->fromVersions['9_3_beta'] = '9.3.beta'; +$lang->upgrade->fromVersions['9_4'] = '9.4'; diff --git a/module/upgrade/model.php b/module/upgrade/model.php index a1639dbaf4..93922771d2 100644 --- a/module/upgrade/model.php +++ b/module/upgrade/model.php @@ -23,8 +23,8 @@ class upgradeModel extends model /** * The execute method. According to the $fromVersion call related methods. - * - * @param string $fromVersion + * + * @param string $fromVersion * @access public * @return void */ @@ -182,6 +182,9 @@ class upgradeModel extends model case '9_2_1': case '9_3_beta': $this->execSQL($this->getUpgradeFile('9.3.beta')); + case '9_4': + $this->execSQL($this->getUpgradeFile('9.4')); + $this->adjustPriv9_4(); } $this->deletePatch(); @@ -277,6 +280,7 @@ class upgradeModel extends model case '9_2': case '9_2_1': case '9_3_beta': $confirmContent .= file_get_contents($this->getUpgradeFile('9.3.beta')); + case '9_4': $confirmContent .= file_get_contents($this->getUpgradeFile('9.4')); } return str_replace('zt_', $this->config->db->prefix, $confirmContent); } @@ -322,7 +326,7 @@ class upgradeModel extends model $bugs = $this->dao->select('id, steps')->from(TABLE_BUG)->fetchAll(); $userTemplates = $this->dao->select('id, content')->from($this->config->db->prefix . 'userTPL')->fetchAll(); - + foreach($bugs as $id => $bug) { $bug->steps = ubb::parseUBB($bug->steps); @@ -337,7 +341,7 @@ class upgradeModel extends model /** * Update nl to br from 1.2 version. - * + * * @access public * @return void */ @@ -996,7 +1000,7 @@ class upgradeModel extends model foreach($tables2Rename as $oldTable => $newTable) { if(!isset($tablesExists[$oldTable])) continue; - + $upgradebak = $newTable . '_othertablebak'; if(isset($tablesExists[$upgradebak])) $this->dbh->query("DROP TABLE `$upgradebak`"); if(isset($tablesExists[$newTable])) $this->dbh->query("RENAME TABLE `$newTable` TO `$upgradebak`"); @@ -1656,7 +1660,7 @@ class upgradeModel extends model /** * Adjust priv for 9.2. - * + * * @access public * @return void */ @@ -1698,9 +1702,27 @@ class upgradeModel extends model return true; } + /** + * Adjust priv for 9.4. + * + * @access public + * @return void + */ + public function adjustPriv9_4() + { + $groups = $this->dao->select('`group`')->from(TABLE_GROUPPRIV)->where('module')->eq('bug')->andWhere('method')->eq('activate')->fetchPairs('group', 'group'); + foreach($groups as $groupID) + { + $data = new stdclass(); + $data->group = $groupID; + $data->module = 'bug'; + $data->method = 'batchActivate'; + } + } + /** * Judge any error occers. - * + * * @access public * @return bool */ From 66eabe87170ee3098b29ec702de33dca4388129e Mon Sep 17 00:00:00 2001 From: wangyidong Date: Thu, 24 Aug 2017 13:54:58 +0800 Subject: [PATCH 10/54] * fix for mail no subject. --- lib/phpmailer/phpmailer.class.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/phpmailer/phpmailer.class.php b/lib/phpmailer/phpmailer.class.php index 7902a07c8a..19613f3828 100644 --- a/lib/phpmailer/phpmailer.class.php +++ b/lib/phpmailer/phpmailer.class.php @@ -1724,16 +1724,16 @@ class PHPMailer { switch (strtolower($position)) { case 'phrase': - $encoded = preg_replace("/([^A-Za-z0-9!*+\/ -])/e", "'='.sprintf('%02X', ord('\\1'))", $encoded); + $encoded = preg_replace_callback("/([^A-Za-z0-9!*+\/ -])/", array(&$this, 'ordChar'), $encoded); break; case 'comment': - $encoded = preg_replace("/([\(\)\"])/e", "'='.sprintf('%02X', ord('\\1'))", $encoded); + $encoded = preg_replace_callback("/([\(\)\"])/", array(&$this, 'ordChar'), $encoded); case 'text': default: // Replace every high ascii, control =, ? and _ characters //TODO using /e (equivalent to eval()) is probably not a good idea - $encoded = preg_replace('/([\000-\011\013\014\016-\037\075\077\137\177-\377])/e', - "'='.sprintf('%02X', ord('\\1'))", $encoded); + $encoded = preg_replace_callback('/([\000-\011\013\014\016-\037\075\077\137\177-\377])/', + array(&$this, 'ordChar'), $encoded); break; } @@ -2309,6 +2309,11 @@ class PHPMailer { call_user_func_array($this->action_function,$params); } } + + public function ordChar($match) + { + return '=' . sprintf('%02X', ord($match[1])); + } } class phpmailerException extends Exception { From ea306d3f3ba0c2480b586352b691cfb05c89011c Mon Sep 17 00:00:00 2001 From: pengjiangxiu Date: Thu, 24 Aug 2017 14:03:58 +0800 Subject: [PATCH 11/54] * change lang file. --- module/action/lang/zh-tw.php | 10 ++++++++++ module/block/lang/zh-tw.php | 8 ++++++++ module/branch/lang/zh-tw.php | 5 +++++ module/bug/lang/zh-tw.php | 12 ++++++------ module/build/lang/zh-tw.php | 3 ++- module/common/lang/en.php | 2 +- module/common/lang/zh-tw.php | 22 +++++++++++----------- module/company/lang/zh-tw.php | 1 + module/custom/lang/zh-tw.php | 4 ++++ module/dev/lang/zh-tw.php | 1 + module/doc/lang/zh-tw.php | 4 ++++ module/extension/lang/zh-tw.php | 10 +++++++++- module/file/lang/zh-tw.php | 13 +++++++++++-- module/group/lang/zh-tw.php | 2 ++ module/mail/lang/zh-tw.php | 7 ++++--- module/misc/lang/en.php | 2 +- module/misc/lang/zh-tw.php | 4 ++-- module/productplan/lang/en.php | 2 +- module/productplan/lang/zh-tw.php | 3 ++- module/project/lang/zh-tw.php | 2 ++ module/release/lang/zh-tw.php | 2 ++ module/report/lang/zh-tw.php | 1 + module/search/lang/zh-tw.php | 7 +++++++ module/sso/lang/zh-tw.php | 2 +- module/testcase/lang/zh-tw.php | 2 ++ module/testreport/lang/zh-tw.php | 5 ++++- module/testsuite/lang/zh-tw.php | 2 +- module/testtask/lang/zh-tw.php | 7 +++++++ module/todo/lang/zh-tw.php | 1 + module/tree/lang/zh-tw.php | 4 ++++ module/user/lang/zh-tw.php | 7 +++++++ 31 files changed, 124 insertions(+), 33 deletions(-) diff --git a/module/action/lang/zh-tw.php b/module/action/lang/zh-tw.php index 4ae7a62869..a5419411b8 100755 --- a/module/action/lang/zh-tw.php +++ b/module/action/lang/zh-tw.php @@ -33,6 +33,13 @@ $lang->action->confirmHideAll = '您確定要全部隱藏這些記錄嗎?'; $lang->action->needEdit = '要還原%s的名稱或代號已經存在,請編輯更改。'; $lang->action->historyEdit = '歷史記錄編輯不能為空。'; +$lang->action->history = new stdclass(); +$lang->action->history->action = '關聯日誌'; +$lang->action->history->field = '欄位'; +$lang->action->history->old = '舊值'; +$lang->action->history->new = '新值'; +$lang->action->history->diff = '不同'; + $lang->action->dynamic = new stdclass(); $lang->action->dynamic->today = '今天'; $lang->action->dynamic->yesterday = '昨天'; @@ -106,6 +113,7 @@ $lang->action->desc->paused = '$date, 由 $actor 暫停 $lang->action->desc->diff1 = '修改了 %s,舊值為 "%s",新值為 "%s"。
    ' . "\n"; $lang->action->desc->diff2 = '修改了 %s,區別為:' . "\n" . "
    %s
    " . "\n"; $lang->action->desc->diff3 = '將檔案名 %s 改為 %s 。' . "\n"; +$lang->action->desc->linked2bug = '$date 由 $actor 關聯到版本 $extra'; /* 關聯用例和移除用例時的歷史操作記錄。*/ $lang->action->desc->linkrelatedcase = '$date, 由 $actor 關聯相關用例 $extra。' . "\n"; @@ -168,6 +176,8 @@ $lang->action->label->suspended = '掛起'; $lang->action->label->login = '登錄系統'; $lang->action->label->logout = "退出登錄"; $lang->action->label->deleteestimate = "刪除了工時"; +$lang->action->label->linked2build = "關聯了"; +$lang->action->label->linked2bug = "關聯了"; /* 用來生成相應對象的連結。*/ $lang->action->label->product = $lang->productCommon . '|product|view|productID=%s'; diff --git a/module/block/lang/zh-tw.php b/module/block/lang/zh-tw.php index a29148c939..e4212b3b10 100644 --- a/module/block/lang/zh-tw.php +++ b/module/block/lang/zh-tw.php @@ -16,6 +16,14 @@ $lang->block->style = '外觀'; $lang->block->grid = '寬度'; $lang->block->color = '顏色'; +$lang->block->account = '所屬用戶'; +$lang->block->module = '所屬模組'; +$lang->block->title = '區塊名稱'; +$lang->block->source = '來源模組'; +$lang->block->block = '來源區塊'; +$lang->block->order = '排序'; +$lang->block->height = '高度'; + $lang->block->lblModule = '模組'; $lang->block->lblBlock = '區塊'; $lang->block->lblNum = '條數'; diff --git a/module/branch/lang/zh-tw.php b/module/branch/lang/zh-tw.php index df6d1a0844..32b3cc684d 100644 --- a/module/branch/lang/zh-tw.php +++ b/module/branch/lang/zh-tw.php @@ -7,5 +7,10 @@ $lang->branch->delete = '分支刪除'; $lang->branch->manageTitle = '%s管理'; $lang->branch->all = '所有'; +$lang->branch->id = '編號'; +$lang->branch->product = '所屬產品'; +$lang->branch->name = '名稱'; +$lang->branch->order = '排序'; + $lang->branch->confirmDelete = '是否刪除該@branch@?'; $lang->branch->canNotDelete = '該@branch@下已經有數據,不能刪除!'; diff --git a/module/bug/lang/zh-tw.php b/module/bug/lang/zh-tw.php index f00994e5d8..0bb076e27a 100644 --- a/module/bug/lang/zh-tw.php +++ b/module/bug/lang/zh-tw.php @@ -150,9 +150,9 @@ $lang->bug->applyTemplate = '應用模板'; $lang->bug->confirmDeleteTemplate = '您確認要刪除該模板嗎?'; /* 模板。*/ -$lang->bug->tplStep = "

    [步驟]

    \n"; -$lang->bug->tplResult = "

    [結果]

    \n"; -$lang->bug->tplExpect = "

    [期望]

    "; +$lang->bug->tplStep = "

    [步驟]

    "; +$lang->bug->tplResult = "

    [結果]

    "; +$lang->bug->tplExpect = "

    [期望]

    "; /* 各個欄位取值列表。*/ $lang->bug->severityList[3] = '3'; @@ -342,9 +342,9 @@ $lang->bug->report->bugHistories->graph->xAxisName = '處理步驟'; /* 操作記錄。*/ $lang->bug->action = new stdclass(); -$lang->bug->action->resolved = array('main' => '$date, 由 $actor 解決,方案為 $extra $appendLink。', 'extra' => 'resolutionList'); -$lang->bug->action->tostory = array('main' => '$date, 由 $actor 轉為需求,編號為 $extra。'); -$lang->bug->action->totask = array('main' => '$date, 由 $actor 導入為任務,編號為 $extra。'); +$lang->bug->action->resolved = array('main' => '$date, 由 $actor 解決,方案為 $extra $appendLink。', 'extra' => 'resolutionList'); +$lang->bug->action->tostory = array('main' => '$date, 由 $actor 轉為需求,編號為 $extra。'); +$lang->bug->action->totask = array('main' => '$date, 由 $actor 導入為任務,編號為 $extra。'); $lang->bug->action->linked2plan = array('main' => '$date, 由 $actor 關聯到計劃 $extra。'); $lang->bug->action->unlinkedfromplan = array('main' => '$date, 由 $actor 從計劃 $extra 移除。'); $lang->bug->action->linked2build = array('main' => '$date, 由 $actor 關聯到版本 $extra。'); diff --git a/module/build/lang/zh-tw.php b/module/build/lang/zh-tw.php index 396dd52dce..a1b2c948d1 100644 --- a/module/build/lang/zh-tw.php +++ b/module/build/lang/zh-tw.php @@ -13,7 +13,6 @@ $lang->build->common = "版本"; $lang->build->create = "創建版本"; $lang->build->edit = "編輯版本"; $lang->build->linkStory = "關聯需求"; -$lang->build->linked2build = "关联關聯版本"; $lang->build->linkBug = "關聯Bug"; $lang->build->delete = "刪除版本"; $lang->build->deleted = "已刪除"; @@ -30,6 +29,7 @@ $lang->build->basicInfo = '基本信息'; $lang->build->id = 'ID'; $lang->build->product = $lang->productCommon; +$lang->build->branch = '平台/分支'; $lang->build->project = '所屬' . $lang->projectCommon; $lang->build->name = '名稱編號'; $lang->build->date = '打包日期'; @@ -39,6 +39,7 @@ $lang->build->filePath = '下載地址'; $lang->build->desc = '描述'; $lang->build->files = '上傳發行包'; $lang->build->last = '上個版本'; +$lang->build->packageType = '包類型'; $lang->build->unlinkStory = '移除需求'; $lang->build->unlinkBug = '移除Bug'; $lang->build->stories = '完成的需求'; diff --git a/module/common/lang/en.php b/module/common/lang/en.php index 98ccda78b1..db3dcc5321 100644 --- a/module/common/lang/en.php +++ b/module/common/lang/en.php @@ -124,7 +124,7 @@ $lang->searchObjects['release'] = 'Release'; $lang->searchObjects['productplan'] = $lang->productCommon . 'Plan'; $lang->searchObjects['testtask'] = 'Test Task'; $lang->searchObjects['doc'] = 'Document'; -$lang->searchObjects['caselib'] = 'Case Library'; +$lang->searchObjects['testcase'] = 'Case Library'; $lang->searchObjects['testreport'] = 'Test Report'; $lang->searchTips = 'ID (ctrl+g)'; diff --git a/module/common/lang/zh-tw.php b/module/common/lang/zh-tw.php index fd0ba48c69..7c7ac5506e 100644 --- a/module/common/lang/zh-tw.php +++ b/module/common/lang/zh-tw.php @@ -124,7 +124,7 @@ $lang->searchObjects['release'] = '發佈'; $lang->searchObjects['productplan'] = $lang->productCommon . '計劃'; $lang->searchObjects['testtask'] = '測試版本'; $lang->searchObjects['doc'] = '文檔'; -$lang->searchObjects['caselib'] = '用例庫'; +$lang->searchObjects['testcase'] = '用例庫'; $lang->searchObjects['testreport'] = '測試報告'; $lang->searchTips = '編號(ctrl+g)'; @@ -449,16 +449,16 @@ $lang->browserNotice = '你目前使用的瀏覽器可能無法得到最佳 $lang->noticePasteImg = "可以在編輯器直接貼圖。"; /* 時間格式設置。*/ -define('DT_DATETIME1', 'Y-m-d H:i:s'); -define('DT_DATETIME2', 'y-m-d H:i'); -define('DT_MONTHTIME1', 'n/d H:i'); -define('DT_MONTHTIME2', 'n月d日 H:i'); -define('DT_DATE1', 'Y-m-d'); -define('DT_DATE2', 'Ymd'); -define('DT_DATE3', 'Y年m月d日'); -define('DT_DATE4', 'n月j日'); -define('DT_TIME1', 'H:i:s'); -define('DT_TIME2', 'H:i'); +if(!defined('DT_DATETIME1')) define('DT_DATETIME1', 'Y-m-d H:i:s'); +if(!defined('DT_DATETIME2')) define('DT_DATETIME2', 'y-m-d H:i'); +if(!defined('DT_MONTHTIME1'))define('DT_MONTHTIME1', 'n/d H:i'); +if(!defined('DT_MONTHTIME2'))define('DT_MONTHTIME2', 'n月d日 H:i'); +if(!defined('DT_DATE1')) define('DT_DATE1', 'Y-m-d'); +if(!defined('DT_DATE2')) define('DT_DATE2', 'Ymd'); +if(!defined('DT_DATE3')) define('DT_DATE3', 'Y年m月d日'); +if(!defined('DT_DATE4')) define('DT_DATE4', 'n月j日'); +if(!defined('DT_TIME1')) define('DT_TIME1', 'H:i:s'); +if(!defined('DT_TIME2')) define('DT_TIME2', 'H:i'); /* datepicker 時間*/ $lang->datepicker = new stdclass(); diff --git a/module/company/lang/zh-tw.php b/module/company/lang/zh-tw.php index 675a4d3030..5b1f8f4891 100644 --- a/module/company/lang/zh-tw.php +++ b/module/company/lang/zh-tw.php @@ -25,6 +25,7 @@ $lang->company->zipcode = '郵政編碼'; $lang->company->website = '官網'; $lang->company->backyard = '內網'; $lang->company->guest = '匿名登錄'; +$lang->company->admins = '管理員'; $lang->company->product = $lang->productCommon; $lang->company->project = $lang->projectCommon; diff --git a/module/custom/lang/zh-tw.php b/module/custom/lang/zh-tw.php index c10e4c3394..f90207046e 100644 --- a/module/custom/lang/zh-tw.php +++ b/module/custom/lang/zh-tw.php @@ -9,6 +9,10 @@ $lang->custom->flow = '流程'; $lang->custom->working = '工作方式'; $lang->custom->select = '請選擇流程:'; $lang->custom->branch = '多分支'; +$lang->custom->owner = '所有者'; +$lang->custom->module = '模組'; +$lang->custom->section = '附加部分'; +$lang->custom->lang = '所屬語言'; $lang->custom->object['story'] = '需求'; $lang->custom->object['task'] = '任務'; diff --git a/module/dev/lang/zh-tw.php b/module/dev/lang/zh-tw.php index 7ba3c4f3a7..8652c239a8 100644 --- a/module/dev/lang/zh-tw.php +++ b/module/dev/lang/zh-tw.php @@ -89,6 +89,7 @@ $lang->dev->tableList['branch'] = '平台/分支'; $lang->dev->tableList['doccontent'] = '文檔內容'; $lang->dev->tableList['storystage'] = '需求階段'; $lang->dev->tableList['tutorial'] = '新手教程'; +$lang->dev->tableList['suitecase'] = '套件用例'; $lang->dev->groupList['my'] = '我的地盤'; $lang->dev->groupList['product'] = $lang->productCommon; diff --git a/module/doc/lang/zh-tw.php b/module/doc/lang/zh-tw.php index 6404af8c1b..47903d006e 100644 --- a/module/doc/lang/zh-tw.php +++ b/module/doc/lang/zh-tw.php @@ -40,6 +40,9 @@ $lang->doc->filePath = '地址'; $lang->doc->extension = '類型'; $lang->doc->size = '大小'; $lang->doc->download = '下載'; +$lang->doc->acl = '權限'; +$lang->doc->groups = '分組'; +$lang->doc->users = '用戶'; $lang->doc->moduleDoc = '按模組瀏覽'; $lang->doc->searchDoc = '搜索'; @@ -107,6 +110,7 @@ $lang->doc->browseType = '瀏覽方式'; $lang->doc->browseTypeList['list'] = '列表'; $lang->doc->browseTypeList['menu'] = '目錄'; $lang->doc->browseTypeList['tree'] = '樹狀圖'; +$lang->doc->browseTypeList['card'] = '卡片'; $lang->doc->confirmDelete = "您確定刪除該文檔嗎?"; $lang->doc->confirmDeleteLib = "您確定刪除該文檔庫嗎?"; diff --git a/module/extension/lang/zh-tw.php b/module/extension/lang/zh-tw.php index 7792038a20..a46ce94094 100644 --- a/module/extension/lang/zh-tw.php +++ b/module/extension/lang/zh-tw.php @@ -30,8 +30,14 @@ $lang->extension->installed = '已安裝'; $lang->extension->deactivated = '被禁用'; $lang->extension->available = '已下載'; +$lang->extension->name = '插件名稱'; +$lang->extension->code = '代號'; +$lang->extension->desc = '描述'; +$lang->extension->type = '類型'; +$lang->extension->dirs = '安裝目錄'; +$lang->extension->files = '安裝檔案'; +$lang->extension->status = '狀態'; $lang->extension->version = '版本'; -$lang->extension->compatible = '適用版本'; $lang->extension->latest = '最新版本%s,兼容禪道%s'; $lang->extension->author = '作者'; $lang->extension->license = '授權'; @@ -40,6 +46,8 @@ $lang->extension->downloads = '下載量'; $lang->extension->compatible = '兼容性'; $lang->extension->grade = '評分'; $lang->extension->depends = '依賴'; +$lang->extension->zentaoCompatible = '適用版本'; +$lang->extension->installedTime = '安裝時間'; $lang->extension->publicList[0] = '手工下載'; $lang->extension->publicList[1] = '直接下載'; diff --git a/module/file/lang/zh-tw.php b/module/file/lang/zh-tw.php index bd1291e983..4ce0889ff1 100644 --- a/module/file/lang/zh-tw.php +++ b/module/file/lang/zh-tw.php @@ -30,9 +30,18 @@ $lang->file->addFile = '添加檔案'; $lang->file->beginUpload = '開始上傳'; $lang->file->uploadSuccess = '上傳成功'; +$lang->file->pathname = '路徑'; +$lang->file->title = '標題'; +$lang->file->extension = '副檔名'; +$lang->file->size = '大小'; +$lang->file->addedBy = '由誰添加'; +$lang->file->addedDate = '添加時間'; +$lang->file->downloads = '下載次數'; +$lang->file->extra = '備註'; + $lang->file->dragFile = '請拖拽檔案到此處'; $lang->file->errorNotExists = "檔案夾 '%s' 不存在"; -$lang->file->errorCanNotWrite = "檔案夾 '%s' 不可寫,請改變檔案夾的權限。在linux中輸入指令:sudo chmod -R 777 '%s'"; +$lang->file->errorCanNotWrite = "檔案夾 '%s' 不可寫,請改變檔案夾的權限。在linux中輸入指令:sudo chmod -R 777 %s"; $lang->file->confirmDelete = " 您確定刪除該附件嗎?"; $lang->file->errorFileSize = " 檔案大小已經超過限制,可能不能成功上傳!"; $lang->file->errorFileUpload = " 檔案上傳失敗,檔案大小可能超出限制"; @@ -41,4 +50,4 @@ $lang->file->errorFileMove = " 檔案上傳失敗,移動檔案時出錯"; $lang->file->dangerFile = " 您選擇的檔案存在安全風險,系統將不予上傳。"; $lang->file->errorSuffix = '壓縮包格式錯誤,只能上傳zip壓縮包!'; $lang->file->errorExtract = '解壓縮失敗!可能檔案已經損壞,或壓縮包裡含有非法上傳檔案。'; -$lang->file->uploadImagesExplain = '註:請上傳"jpg|jpeg|gif|png"格式的圖片,程序會以檔案名作為標題,以圖片作為內容。'; +$lang->file->uploadImagesExplain = '註:請上傳"jpg, jpeg, gif, png"格式的圖片,程序會以檔案名作為標題,以圖片作為內容。'; diff --git a/module/group/lang/zh-tw.php b/module/group/lang/zh-tw.php index 0823d2eeda..0e15f28fa5 100644 --- a/module/group/lang/zh-tw.php +++ b/module/group/lang/zh-tw.php @@ -32,6 +32,8 @@ $lang->group->noticeVisit = '空代表訪問沒有訪問限制'; $lang->group->id = '編號'; $lang->group->name = '分組名稱'; $lang->group->desc = '分組描述'; +$lang->group->role = '角色'; +$lang->group->acl = '權限'; $lang->group->users = '用戶列表'; $lang->group->module = '模組'; $lang->group->method = '方法'; diff --git a/module/mail/lang/zh-tw.php b/module/mail/lang/zh-tw.php index c5fef0ffeb..b92f30e3ac 100644 --- a/module/mail/lang/zh-tw.php +++ b/module/mail/lang/zh-tw.php @@ -42,7 +42,8 @@ $lang->mail->sync = '同步'; $lang->mail->remove = '移除'; $lang->mail->toList = '收信人'; -$lang->mail->subjectName = '主題'; +$lang->mail->ccList = '抄送給'; +$lang->mail->subject = '主題'; $lang->mail->addedBy = '發送者'; $lang->mail->addedDate = '創建時間'; $lang->mail->sendTime = '發送時間'; @@ -74,8 +75,8 @@ $lang->mail->noticeResend = '已經重新發信!'; $lang->mail->inputFromEmail = '請輸入發信郵箱:'; $lang->mail->nextStep = '下一步'; $lang->mail->successSaved = '配置信息已經成功保存。'; -$lang->mail->subject = '測試郵件'; -$lang->mail->content = '郵箱設置成功'; +$lang->mail->testSubject = '測試郵件'; +$lang->mail->testContent = '郵箱設置成功'; $lang->mail->successSended = '成功發送!'; $lang->mail->confirmDelete = '是否刪除郵件?'; $lang->mail->sendmailTips = '提示:系統不會為當前操作者發信。'; diff --git a/module/misc/lang/en.php b/module/misc/lang/en.php index 6c22eb34fe..7f6c6408cf 100644 --- a/module/misc/lang/en.php +++ b/module/misc/lang/en.php @@ -62,7 +62,7 @@ $lang->misc->tableName = "Table Name"; $lang->misc->tableStatus = "Status"; $lang->misc->novice = "First time to ZenTao? Do you want to start rookie mode?"; -$lang->user->noticeResetFile = "
    If you are not Administrator, please contact Administrator to repair table.
    +$lang->misc->noticeRepair = "
    If you are not Administrator, please contact Administrator to repair table.
    If you are, please login into your Zentao host and create the %s file.

    Note:

      diff --git a/module/misc/lang/zh-tw.php b/module/misc/lang/zh-tw.php index 390353c59a..70769c06d4 100644 --- a/module/misc/lang/zh-tw.php +++ b/module/misc/lang/zh-tw.php @@ -62,13 +62,13 @@ $lang->misc->tableName = "表名"; $lang->misc->tableStatus = "狀態"; $lang->misc->novice = "您可能初次使用禪道,是否進入新手模式?"; -$lang->user->noticeResetFile = "
      普通用戶請聯繫管理員進行修復
      +$lang->misc->noticeRepair = "
      普通用戶請聯繫管理員進行修復
      管理員請登錄禪道所在的伺服器,創建%s檔案。

      注意:

      1. 檔案內容為空。
      2. 如果之前檔案存在,刪除之後重新創建。
      3. -
      "; +
    "; $lang->misc->feature = new stdclass(); $lang->misc->feature->lastest = '最新版本'; diff --git a/module/productplan/lang/en.php b/module/productplan/lang/en.php index 846c1b5a45..65d05886b0 100644 --- a/module/productplan/lang/en.php +++ b/module/productplan/lang/en.php @@ -59,6 +59,6 @@ $lang->productplan->errorNoBegin = 'ID %s begin time should not be empty.'; $lang->productplan->errorNoEnd = 'ID %s end time should not be empty.'; $lang->productplan->beginGeEnd = 'ID %s begin time value should not be greater than t.'; -$lang->productplan->featureBar['browse']['unexpired'] = 'On Time'; $lang->productplan->featureBar['browse']['all'] = 'All'; +$lang->productplan->featureBar['browse']['unexpired'] = 'On Time'; $lang->productplan->featureBar['browse']['overdue'] = 'Overdue'; diff --git a/module/productplan/lang/zh-tw.php b/module/productplan/lang/zh-tw.php index bb17980dd0..2adf15a56c 100644 --- a/module/productplan/lang/zh-tw.php +++ b/module/productplan/lang/zh-tw.php @@ -39,6 +39,7 @@ $lang->productplan->confirmUnlinkBug = "您確認移除該Bug嗎?"; $lang->productplan->id = '編號'; $lang->productplan->product = $lang->productCommon; +$lang->productplan->branch = '平台/分支'; $lang->productplan->title = '名稱'; $lang->productplan->desc = '描述'; $lang->productplan->begin = '開始日期'; @@ -58,6 +59,6 @@ $lang->productplan->errorNoBegin = 'ID %s 開始時間不能為空'; $lang->productplan->errorNoEnd = 'ID %s 結束時間不能為空'; $lang->productplan->beginGeEnd = 'ID %s 開始時間不能大於結束時間'; -$lang->productplan->featureBar['browse']['unexpired'] = '未過期'; $lang->productplan->featureBar['browse']['all'] = '全部'; +$lang->productplan->featureBar['browse']['unexpired'] = '未過期'; $lang->productplan->featureBar['browse']['overdue'] = '已過期'; diff --git a/module/project/lang/zh-tw.php b/module/project/lang/zh-tw.php index 27b2d64a69..70face33d6 100644 --- a/module/project/lang/zh-tw.php +++ b/module/project/lang/zh-tw.php @@ -51,6 +51,7 @@ $lang->project->mine = '我負責:'; $lang->project->other = '其他:'; $lang->project->deleted = '已刪除'; $lang->project->delayed = '已延期'; +$lang->project->product = $lang->project->products; $lang->project->start = '開始'; $lang->project->activate = '激活'; @@ -197,6 +198,7 @@ $lang->project->confirmDelete = "您確定刪除{$lang->projectCommon}[% $lang->project->confirmUnlinkMember = "您確定從該{$lang->projectCommon}中移除該用戶嗎?"; $lang->project->confirmUnlinkStory = "您確定從該{$lang->projectCommon}中移除該需求嗎?"; $lang->project->errorNoLinkedProducts = "該{$lang->projectCommon}沒有關聯的{$lang->productCommon},系統將轉到{$lang->productCommon}關聯頁面"; +$lang->project->errorSameProducts = "{$lang->projectCommon}不能關聯多個相同的{$lang->productCommon}。"; $lang->project->accessDenied = "您無權訪問該{$lang->projectCommon}!"; $lang->project->tips = '提示'; $lang->project->afterInfo = "{$lang->projectCommon}添加成功,您現在可以進行以下操作:"; diff --git a/module/release/lang/zh-tw.php b/module/release/lang/zh-tw.php index 7dd45f4c18..768e300978 100644 --- a/module/release/lang/zh-tw.php +++ b/module/release/lang/zh-tw.php @@ -31,6 +31,7 @@ $lang->release->basicInfo = '基本信息'; $lang->release->id = 'ID'; $lang->release->product = $lang->productCommon; +$lang->release->branch = '平台/分支'; $lang->release->build = '版本'; $lang->release->name = '發佈名稱'; $lang->release->date = '發佈日期'; @@ -41,6 +42,7 @@ $lang->release->unlinkStory = '移除需求'; $lang->release->unlinkBug = '移除Bug'; $lang->release->stories = '完成的需求'; $lang->release->bugs = '解決的Bug'; +$lang->release->leftBugs = '遺留的Bug'; $lang->release->generatedBugs = '遺留的Bug'; $lang->release->finishStories = '本次共完成 %s 個需求'; $lang->release->resolvedBugs = '本次共解決 %s 個Bug'; diff --git a/module/report/lang/zh-tw.php b/module/report/lang/zh-tw.php index ca0a4c1bce..f9cecd1959 100644 --- a/module/report/lang/zh-tw.php +++ b/module/report/lang/zh-tw.php @@ -80,6 +80,7 @@ $lang->report->bugTitle = 'Bug標題'; $lang->report->taskName = '任務名稱'; $lang->report->todoName = '待辦名稱'; $lang->report->testTaskName = '版本名稱'; +$lang->report->deadline = '截止日期'; $lang->report->mailTitle = new stdclass(); $lang->report->mailTitle->begin = '提醒:您有'; diff --git a/module/search/lang/zh-tw.php b/module/search/lang/zh-tw.php index 4478df4ec8..4685cf2821 100644 --- a/module/search/lang/zh-tw.php +++ b/module/search/lang/zh-tw.php @@ -25,6 +25,13 @@ $lang->search->me = '自己'; $lang->search->noQuery = '還沒有保存查詢!'; $lang->search->onMenuBar = '顯示在菜單欄'; +$lang->search->account = '用戶名'; +$lang->search->module = '模組'; +$lang->search->title = '名稱'; +$lang->search->form = '表單欄位'; +$lang->search->sql = 'SQL條件'; +$lang->search->shortcut = $lang->search->onMenuBar; + $lang->search->operators['='] = '='; $lang->search->operators['!='] = '!='; $lang->search->operators['>'] = '>'; diff --git a/module/sso/lang/zh-tw.php b/module/sso/lang/zh-tw.php index 3ae1ed1aed..94cc6b6345 100644 --- a/module/sso/lang/zh-tw.php +++ b/module/sso/lang/zh-tw.php @@ -12,7 +12,7 @@ $lang->sso = new stdclass(); $lang->sso->settings = '配置'; $lang->sso->turnon = '是否打開'; -$lang->sso->redirect = '自動跳回然之'; +$lang->sso->redirect = '自動跳迥然之'; $lang->sso->code = '代號'; $lang->sso->key = '密鑰'; $lang->sso->addr = '介面地址'; diff --git a/module/testcase/lang/zh-tw.php b/module/testcase/lang/zh-tw.php index dfef8a9735..a5a4e46e70 100644 --- a/module/testcase/lang/zh-tw.php +++ b/module/testcase/lang/zh-tw.php @@ -45,6 +45,8 @@ $lang->testcase->lastRunDate = '執行時間'; $lang->testcase->assignedTo = '指派給'; $lang->testcase->colorTag = '顏色標籤'; $lang->testcase->lastRunResult = '結果'; +$lang->testcase->desc = '步驟'; +$lang->testcase->expect = '預期'; $lang->testcase->allProduct = "所有{$lang->productCommon}"; $lang->testcase->fromBug = '來源Bug'; $lang->testcase->toBug = '生成Bug'; diff --git a/module/testreport/lang/zh-tw.php b/module/testreport/lang/zh-tw.php index acb3e1fe84..a50f9e33e6 100644 --- a/module/testreport/lang/zh-tw.php +++ b/module/testreport/lang/zh-tw.php @@ -11,9 +11,12 @@ $lang->testreport->recreate = '重新生成報告'; $lang->testreport->title = '標題'; $lang->testreport->project = '所屬項目'; $lang->testreport->testtask = '測試版本'; +$lang->testreport->tasks = $lang->testreport->testtask; $lang->testreport->startEnd = '起止時間'; $lang->testreport->owner = '負責人'; -$lang->testreport->member = '參與人員'; +$lang->testreport->members = '參與人員'; +$lang->testreport->begin = '開始時間'; +$lang->testreport->end = '結束時間'; $lang->testreport->stories = '測試的需求'; $lang->testreport->bugs = '測試的Bug'; $lang->testreport->builds = '版本信息'; diff --git a/module/testsuite/lang/zh-tw.php b/module/testsuite/lang/zh-tw.php index d23319e3fe..df1eeb76fc 100644 --- a/module/testsuite/lang/zh-tw.php +++ b/module/testsuite/lang/zh-tw.php @@ -50,7 +50,7 @@ $lang->testsuite->authorList['private'] = '私有'; $lang->testsuite->authorList['public'] = '公開'; $lang->caselib->common = '公共用例庫'; -$lang->caselib->all = '所有公共庫'; +$lang->caselib->all = '所有用例庫'; $lang->testsuite->createLib = '創建庫'; $lang->testsuite->editLib = '編輯庫'; diff --git a/module/testtask/lang/zh-tw.php b/module/testtask/lang/zh-tw.php index 4056f4b45d..148e8f68ce 100644 --- a/module/testtask/lang/zh-tw.php +++ b/module/testtask/lang/zh-tw.php @@ -61,6 +61,13 @@ $lang->testtask->lastRunTime = '執行時間'; $lang->testtask->lastRunResult = '結果'; $lang->testtask->reportField = '測試總結'; $lang->testtask->files = '上傳附件'; +$lang->testtask->case = '用例'; +$lang->testtask->version = '版本'; +$lang->testtask->caseResult = '測試結果'; +$lang->testtask->stepResults = '步驟結果'; +$lang->testtask->lastRunner = '最後執行人'; +$lang->testtask->lastRunDate = '最後執行時間'; +$lang->testtask->date = '測試時間'; $lang->testtask->legendDesc = '版本描述'; $lang->testtask->legendReport = '測試總結'; diff --git a/module/todo/lang/zh-tw.php b/module/todo/lang/zh-tw.php index 7faf3b0e6b..cccafea734 100644 --- a/module/todo/lang/zh-tw.php +++ b/module/todo/lang/zh-tw.php @@ -32,6 +32,7 @@ $lang->todo->end = '結束'; $lang->todo->beginAB = '開始'; $lang->todo->endAB = '結束'; $lang->todo->beginAndEnd = '起止時間'; +$lang->todo->idvalue = '關聯編號'; $lang->todo->type = '類型'; $lang->todo->pri = '優先順序'; $lang->todo->name = '名稱'; diff --git a/module/tree/lang/zh-tw.php b/module/tree/lang/zh-tw.php index a2cd4fc635..68d056a9ef 100644 --- a/module/tree/lang/zh-tw.php +++ b/module/tree/lang/zh-tw.php @@ -42,6 +42,10 @@ $lang->tree->successFixed = '成功修正數據!'; $lang->tree->repeatName = '模組名“%s”已經存在!'; $lang->tree->name = '模組名稱'; +$lang->tree->root = '所屬根'; +$lang->tree->branch = '平台/分支'; +$lang->tree->path = '路徑'; +$lang->tree->type = '類型'; $lang->tree->parent = '上級模組'; $lang->tree->child = '子模組'; $lang->tree->owner = '負責人'; diff --git a/module/user/lang/zh-tw.php b/module/user/lang/zh-tw.php index f267f6993c..37d5be82f3 100644 --- a/module/user/lang/zh-tw.php +++ b/module/user/lang/zh-tw.php @@ -121,6 +121,12 @@ $lang->user->statusList['delete'] = '刪除'; $lang->user->keepLogin['on'] = '保持登錄'; $lang->user->loginWithDemoUser = '使用demo帳號登錄:'; +$lang->user->tpl = new stdclass(); +$lang->user->tpl->type = '類型'; +$lang->user->tpl->title = '模板名'; +$lang->user->tpl->content = '內容'; +$lang->user->tpl->public = '是否公開'; + $lang->user->placeholder = new stdclass(); $lang->user->placeholder->account = '英文、數字和下劃線的組合,三位以上'; $lang->user->placeholder->password1 = '六位以上'; @@ -146,6 +152,7 @@ $lang->user->error->originalPassword = "原密碼不正確"; $lang->user->contacts = new stdclass(); $lang->user->contacts->common = '聯繫人'; $lang->user->contacts->listName = '列表名稱'; +$lang->user->contacts->userList = '用戶列表'; $lang->user->contacts->manage = '維護列表'; $lang->user->contacts->contactsList = '已有列表'; From 0965b0520b7bdf9949c4bb9f8b201adff531a3b3 Mon Sep 17 00:00:00 2001 From: pengjiangxiu Date: Thu, 24 Aug 2017 14:21:23 +0800 Subject: [PATCH 12/54] * add version stable. --- VERSION | 2 +- doc/CHANGELOG | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/VERSION b/VERSION index 592f36ef3a..5992115771 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -9.5 +9.5.stable diff --git a/doc/CHANGELOG b/doc/CHANGELOG index 673c18a3f9..d105e98637 100644 --- a/doc/CHANGELOG +++ b/doc/CHANGELOG @@ -1,4 +1,4 @@ -2017-08-25 9.5 +2017-08-25 9.5.stable 3124 取消工时记录的255字数限制 3123 导出增加对个数字段的支持 3122 文档附件库默认按照时间从新到旧的顺序显示 From 3eb18b024f44a0926329644ec0a92e2219b176c6 Mon Sep 17 00:00:00 2001 From: wangyidong Date: Thu, 24 Aug 2017 17:27:11 +0800 Subject: [PATCH 13/54] * remove space in php file. --- module/bug/view/create.html.php | 2 +- module/story/model.php | 2 +- module/todo/view/edit.html.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/module/bug/view/create.html.php b/module/bug/view/create.html.php index 8c494ad113..337126c021 100644 --- a/module/bug/view/create.html.php +++ b/module/bug/view/create.html.php @@ -1,4 +1,4 @@ - - +
    From 49f8f606f62e62012c431488c212ebd8eec91e8b Mon Sep 17 00:00:00 2001 From: wangyidong Date: Fri, 25 Aug 2017 16:31:23 +0800 Subject: [PATCH 14/54] * fix bug for ajax form. --- module/common/model.php | 6 ++---- www/js/jquery/form/zentao.js | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/module/common/model.php b/module/common/model.php index d1d1ed2a8b..77e512eeb4 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -249,9 +249,7 @@ class commonModel extends model echo "
  • "; } - $isLeft = ($app->company->website and $app->company->backyard) ? '' : ' left'; - - echo "'; - echo "