* change for upgrade.
This commit is contained in:
+1
-1
@@ -16,7 +16,7 @@ if(!class_exists('config')){class config{}}
|
||||
if(!function_exists('getWebRoot')){function getWebRoot(){}}
|
||||
|
||||
/* 基本设置。Basic settings. */
|
||||
$config->version = '9.7'; // ZenTaoPHP的版本。 The version of ZenTaoPHP. Don't change it.
|
||||
$config->version = '9.8'; // 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.
|
||||
|
||||
+18
-1
@@ -545,7 +545,7 @@ CREATE TABLE IF NOT EXISTS `zt_story` (
|
||||
`estimate` float unsigned NOT NULL,
|
||||
`status` enum('','changed','active','draft','closed') NOT NULL default '',
|
||||
`color` char(7) NOT NULL,
|
||||
`stage` enum('','wait','planned','projected','developing','developed','testing','tested','verified','released') NOT NULL DEFAULT 'wait',
|
||||
`stage` enum('','wait','planned','projected','developing','developed','testing','tested','verified','released', 'closed') NOT NULL DEFAULT 'wait',
|
||||
`mailto` text,
|
||||
`openedBy` varchar(30) NOT NULL default '',
|
||||
`openedDate` datetime NOT NULL,
|
||||
@@ -1088,6 +1088,8 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(1, 'mail', 'reset'),
|
||||
(1, 'mail', 'save'),
|
||||
(1, 'mail', 'test'),
|
||||
(1, 'message', 'index'),
|
||||
(1, 'message', 'setting'),
|
||||
(1, 'misc', 'ping'),
|
||||
(1, 'my', 'bug'),
|
||||
(1, 'my', 'changePassword'),
|
||||
@@ -1155,6 +1157,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(1, 'project', 'index'),
|
||||
(1, 'project', 'all'),
|
||||
(1, 'project', 'linkStory'),
|
||||
(1, 'project', 'importPlanStories'),
|
||||
(1, 'project', 'manageMembers'),
|
||||
(1, 'project', 'manageProducts'),
|
||||
(1, 'project', 'order'),
|
||||
@@ -1318,6 +1321,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(1, 'todo', 'batchEdit'),
|
||||
(1, 'todo', 'batchFinish'),
|
||||
(1, 'todo', 'create'),
|
||||
(1, 'todo', 'createCycle'),
|
||||
(1, 'todo', 'delete'),
|
||||
(1, 'todo', 'edit'),
|
||||
(1, 'todo', 'export'),
|
||||
@@ -1512,6 +1516,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(2, 'todo', 'batchEdit'),
|
||||
(2, 'todo', 'batchFinish'),
|
||||
(2, 'todo', 'create'),
|
||||
(2, 'todo', 'createCycle'),
|
||||
(2, 'todo', 'delete'),
|
||||
(2, 'todo', 'edit'),
|
||||
(2, 'todo', 'export'),
|
||||
@@ -1730,6 +1735,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(3, 'todo', 'batchEdit'),
|
||||
(3, 'todo', 'batchFinish'),
|
||||
(3, 'todo', 'create'),
|
||||
(3, 'todo', 'createCycle'),
|
||||
(3, 'todo', 'delete'),
|
||||
(3, 'todo', 'edit'),
|
||||
(3, 'todo', 'export'),
|
||||
@@ -1867,6 +1873,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(4, 'project', 'index'),
|
||||
(4, 'project', 'all'),
|
||||
(4, 'project', 'linkStory'),
|
||||
(4, 'project', 'importPlanStories'),
|
||||
(4, 'project', 'manageMembers'),
|
||||
(4, 'project', 'manageProducts'),
|
||||
(4, 'project', 'order'),
|
||||
@@ -1954,6 +1961,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(4, 'todo', 'batchEdit'),
|
||||
(4, 'todo', 'batchFinish'),
|
||||
(4, 'todo', 'create'),
|
||||
(4, 'todo', 'createCycle'),
|
||||
(4, 'todo', 'delete'),
|
||||
(4, 'todo', 'edit'),
|
||||
(4, 'todo', 'export'),
|
||||
@@ -2110,6 +2118,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(5, 'project', 'index'),
|
||||
(5, 'project', 'all'),
|
||||
(5, 'project', 'linkStory'),
|
||||
(5, 'project', 'importPlanStories'),
|
||||
(5, 'project', 'manageMembers'),
|
||||
(5, 'project', 'manageProducts'),
|
||||
(5, 'project', 'order'),
|
||||
@@ -2214,6 +2223,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(5, 'todo', 'batchEdit'),
|
||||
(5, 'todo', 'batchFinish'),
|
||||
(5, 'todo', 'create'),
|
||||
(5, 'todo', 'createCycle'),
|
||||
(5, 'todo', 'delete'),
|
||||
(5, 'todo', 'edit'),
|
||||
(5, 'todo', 'export'),
|
||||
@@ -2361,6 +2371,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(6, 'project', 'index'),
|
||||
(6, 'project', 'all'),
|
||||
(6, 'project', 'linkStory'),
|
||||
(6, 'project', 'importPlanStories'),
|
||||
(6, 'project', 'manageMembers'),
|
||||
(6, 'project', 'manageProducts'),
|
||||
(6, 'project', 'order'),
|
||||
@@ -2446,6 +2457,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(6, 'todo', 'batchEdit'),
|
||||
(6, 'todo', 'batchFinish'),
|
||||
(6, 'todo', 'create'),
|
||||
(6, 'todo', 'createCycle'),
|
||||
(6, 'todo', 'delete'),
|
||||
(6, 'todo', 'edit'),
|
||||
(6, 'todo', 'export'),
|
||||
@@ -2592,6 +2604,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(7, 'project', 'index'),
|
||||
(7, 'project', 'all'),
|
||||
(7, 'project', 'linkStory'),
|
||||
(7, 'project', 'importPlanStories'),
|
||||
(7, 'project', 'manageProducts'),
|
||||
(7, 'project', 'story'),
|
||||
(7, 'project', 'task'),
|
||||
@@ -2690,6 +2703,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(7, 'todo', 'batchEdit'),
|
||||
(7, 'todo', 'batchFinish'),
|
||||
(7, 'todo', 'create'),
|
||||
(7, 'todo', 'createCycle'),
|
||||
(7, 'todo', 'delete'),
|
||||
(7, 'todo', 'edit'),
|
||||
(7, 'todo', 'export'),
|
||||
@@ -2946,6 +2960,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(8, 'todo', 'batchEdit'),
|
||||
(8, 'todo', 'batchFinish'),
|
||||
(8, 'todo', 'create'),
|
||||
(8, 'todo', 'createCycle'),
|
||||
(8, 'todo', 'delete'),
|
||||
(8, 'todo', 'edit'),
|
||||
(8, 'todo', 'export'),
|
||||
@@ -3115,6 +3130,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(9, 'todo', 'batchEdit'),
|
||||
(9, 'todo', 'batchFinish'),
|
||||
(9, 'todo', 'create'),
|
||||
(9, 'todo', 'createCycle'),
|
||||
(9, 'todo', 'delete'),
|
||||
(9, 'todo', 'edit'),
|
||||
(9, 'todo', 'export'),
|
||||
@@ -3232,6 +3248,7 @@ INSERT INTO `zt_grouppriv` (`group`, `module`, `method`) VALUES
|
||||
(10, 'todo', 'batchEdit'),
|
||||
(10, 'todo', 'batchFinish'),
|
||||
(10, 'todo', 'create'),
|
||||
(10, 'todo', 'createCycle'),
|
||||
(10, 'todo', 'delete'),
|
||||
(10, 'todo', 'edit'),
|
||||
(10, 'todo', 'export'),
|
||||
|
||||
+20
-15
@@ -29,6 +29,7 @@ $lang->block->lblBlock = 'Block';
|
||||
$lang->block->lblNum = 'Number';
|
||||
$lang->block->lblHtml = 'HTML';
|
||||
$lang->block->dynamic = 'Dynamic';
|
||||
$lang->block->assignToMe = 'Assign To Me';
|
||||
$lang->block->lblFlowchart = 'Workflow';
|
||||
|
||||
$lang->block->assignToMeList['todo'] = 'Todo';
|
||||
@@ -117,21 +118,25 @@ $lang->block->default['full']['my']['2']['grid'] = 4;
|
||||
$lang->block->default['full']['my']['2']['source'] = '';
|
||||
$lang->block->default['full']['my']['3'] = $lang->block->default['project']['1'];
|
||||
$lang->block->default['full']['my']['3']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['4']['title'] = 'My Todo';
|
||||
$lang->block->default['full']['my']['4']['block'] = 'list';
|
||||
$lang->block->default['full']['my']['4']['grid'] = 4;
|
||||
$lang->block->default['full']['my']['4']['source'] = 'todo';
|
||||
$lang->block->default['full']['my']['4']['params']['num'] = '20';
|
||||
$lang->block->default['full']['my']['5'] = $lang->block->default['product']['1'];
|
||||
$lang->block->default['full']['my']['5']['source'] = 'product';
|
||||
$lang->block->default['full']['my']['6'] = $lang->block->default['project']['2'];
|
||||
$lang->block->default['full']['my']['6']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['7'] = $lang->block->default['qa']['1'];
|
||||
$lang->block->default['full']['my']['7']['source'] = 'qa';
|
||||
$lang->block->default['full']['my']['8'] = $lang->block->default['product']['2'];
|
||||
$lang->block->default['full']['my']['8']['source'] = 'product';
|
||||
$lang->block->default['full']['my']['9'] = $lang->block->default['qa']['2'];
|
||||
$lang->block->default['full']['my']['9']['source'] = 'qa';
|
||||
$lang->block->default['full']['my']['4']['title'] = '指派给我';
|
||||
$lang->block->default['full']['my']['4']['block'] = 'assigntome';
|
||||
$lang->block->default['full']['my']['4']['grid'] = 8;
|
||||
$lang->block->default['full']['my']['4']['source'] = '';
|
||||
$lang->block->default['full']['my']['5']['title'] = 'My Todo';
|
||||
$lang->block->default['full']['my']['5']['block'] = 'list';
|
||||
$lang->block->default['full']['my']['5']['grid'] = 4;
|
||||
$lang->block->default['full']['my']['5']['source'] = 'todo';
|
||||
$lang->block->default['full']['my']['5']['params']['num'] = '20';
|
||||
$lang->block->default['full']['my']['6'] = $lang->block->default['product']['1'];
|
||||
$lang->block->default['full']['my']['6']['source'] = 'product';
|
||||
$lang->block->default['full']['my']['7'] = $lang->block->default['project']['2'];
|
||||
$lang->block->default['full']['my']['7']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['8'] = $lang->block->default['qa']['1'];
|
||||
$lang->block->default['full']['my']['8']['source'] = 'qa';
|
||||
$lang->block->default['full']['my']['9'] = $lang->block->default['product']['2'];
|
||||
$lang->block->default['full']['my']['9']['source'] = 'product';
|
||||
$lang->block->default['full']['my']['10'] = $lang->block->default['qa']['2'];
|
||||
$lang->block->default['full']['my']['10']['source'] = 'qa';
|
||||
|
||||
$lang->block->default['onlyTest']['my']['1'] = $lang->block->default['qa']['1'];
|
||||
$lang->block->default['onlyTest']['my']['1']['source'] = 'qa';
|
||||
|
||||
+26
-15
@@ -29,8 +29,15 @@ $lang->block->lblBlock = '區塊';
|
||||
$lang->block->lblNum = '條數';
|
||||
$lang->block->lblHtml = 'HTML內容';
|
||||
$lang->block->dynamic = '最新動態';
|
||||
$lang->block->assignToMe = '指派給我';
|
||||
$lang->block->lblFlowchart = '流程圖';
|
||||
|
||||
$lang->block->assignToMeList['todo'] = '待辦';
|
||||
$lang->block->assignToMeList['story'] = '需求';
|
||||
$lang->block->assignToMeList['task'] = '任務';
|
||||
$lang->block->assignToMeList['bug'] = 'Bug';
|
||||
$lang->block->assignToMeList['case'] = '用例';
|
||||
|
||||
$lang->block->params = new stdclass();
|
||||
$lang->block->params->name = '參數名稱';
|
||||
$lang->block->params->value = '參數值';
|
||||
@@ -111,21 +118,25 @@ $lang->block->default['full']['my']['2']['grid'] = 4;
|
||||
$lang->block->default['full']['my']['2']['source'] = '';
|
||||
$lang->block->default['full']['my']['3'] = $lang->block->default['project']['1'];
|
||||
$lang->block->default['full']['my']['3']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['4']['title'] = '我的待辦';
|
||||
$lang->block->default['full']['my']['4']['block'] = 'list';
|
||||
$lang->block->default['full']['my']['4']['grid'] = 4;
|
||||
$lang->block->default['full']['my']['4']['source'] = 'todo';
|
||||
$lang->block->default['full']['my']['4']['params']['num'] = '20';
|
||||
$lang->block->default['full']['my']['5'] = $lang->block->default['product']['1'];
|
||||
$lang->block->default['full']['my']['5']['source'] = 'product';
|
||||
$lang->block->default['full']['my']['6'] = $lang->block->default['project']['2'];
|
||||
$lang->block->default['full']['my']['6']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['7'] = $lang->block->default['qa']['1'];
|
||||
$lang->block->default['full']['my']['7']['source'] = 'qa';
|
||||
$lang->block->default['full']['my']['8'] = $lang->block->default['product']['2'];
|
||||
$lang->block->default['full']['my']['8']['source'] = 'product';
|
||||
$lang->block->default['full']['my']['9'] = $lang->block->default['qa']['2'];
|
||||
$lang->block->default['full']['my']['9']['source'] = 'qa';
|
||||
$lang->block->default['full']['my']['4']['title'] = '指派給我';
|
||||
$lang->block->default['full']['my']['4']['block'] = 'assigntome';
|
||||
$lang->block->default['full']['my']['4']['grid'] = 8;
|
||||
$lang->block->default['full']['my']['4']['source'] = '';
|
||||
$lang->block->default['full']['my']['5']['title'] = '我的待辦';
|
||||
$lang->block->default['full']['my']['5']['block'] = 'list';
|
||||
$lang->block->default['full']['my']['5']['grid'] = 4;
|
||||
$lang->block->default['full']['my']['5']['source'] = 'todo';
|
||||
$lang->block->default['full']['my']['5']['params']['num'] = '20';
|
||||
$lang->block->default['full']['my']['6'] = $lang->block->default['product']['1'];
|
||||
$lang->block->default['full']['my']['6']['source'] = 'product';
|
||||
$lang->block->default['full']['my']['7'] = $lang->block->default['project']['2'];
|
||||
$lang->block->default['full']['my']['7']['source'] = 'project';
|
||||
$lang->block->default['full']['my']['8'] = $lang->block->default['qa']['1'];
|
||||
$lang->block->default['full']['my']['8']['source'] = 'qa';
|
||||
$lang->block->default['full']['my']['9'] = $lang->block->default['product']['2'];
|
||||
$lang->block->default['full']['my']['9']['source'] = 'product';
|
||||
$lang->block->default['full']['my']['10'] = $lang->block->default['qa']['2'];
|
||||
$lang->block->default['full']['my']['10']['source'] = 'qa';
|
||||
|
||||
$lang->block->default['onlyTest']['my']['1'] = $lang->block->default['qa']['1'];
|
||||
$lang->block->default['onlyTest']['my']['1']['source'] = 'qa';
|
||||
|
||||
@@ -107,7 +107,6 @@ $lang->bug->openedByMe = 'Created By Me';
|
||||
$lang->bug->resolvedByMe = 'Resolved By Me';
|
||||
$lang->bug->closedByMe = 'Closed By Me';
|
||||
$lang->bug->assignToNull = 'Unassigned';
|
||||
$lang->bug->unConfirmed = 'Unconfirmed';
|
||||
$lang->bug->unResolved = 'Unresolved';
|
||||
$lang->bug->toClosed = 'WaitForClose';
|
||||
$lang->bug->unclosed = 'Active';
|
||||
|
||||
@@ -86,9 +86,9 @@ $lang->loading = '稍候...';
|
||||
$lang->notFound = '抱歉,您訪問的對象並不存在!';
|
||||
$lang->showAll = '[[全部顯示]]';
|
||||
|
||||
$lang->future = '未來';
|
||||
$lang->year = '年';
|
||||
$lang->workingHour = '工時';
|
||||
$lang->future = '未來';
|
||||
$lang->year = '年';
|
||||
$lang->workingHour = '工時';
|
||||
|
||||
$lang->idAB = 'ID';
|
||||
$lang->priAB = 'P';
|
||||
@@ -102,14 +102,14 @@ $lang->common->common = '公有模組';
|
||||
|
||||
/* 主導航菜單。*/
|
||||
$lang->menu = new stdclass();
|
||||
$lang->menu->my = '<i class="icon-home"></i><span> 我的地盤</span>|my|index';
|
||||
$lang->menu->product = $lang->productCommon . '|product|index';
|
||||
$lang->menu->project = $lang->projectCommon . '|project|index';
|
||||
$lang->menu->qa = '測試|qa|index';
|
||||
$lang->menu->doc = '文檔|doc|index';
|
||||
$lang->menu->report = '統計|report|index';
|
||||
$lang->menu->company = '組織|company|index';
|
||||
$lang->menu->admin = '後台|admin|index';
|
||||
$lang->menu->my = '<i class="icon-home"></i><span> 我的地盤</span>|my|index';
|
||||
$lang->menu->product = $lang->productCommon . '|product|index';
|
||||
$lang->menu->project = $lang->projectCommon . '|project|index';
|
||||
$lang->menu->qa = '測試|qa|index';
|
||||
$lang->menu->doc = '文檔|doc|index';
|
||||
$lang->menu->report = '統計|report|index';
|
||||
$lang->menu->company = '組織|company|index';
|
||||
$lang->menu->admin = '後台|admin|index';
|
||||
|
||||
/* 查詢條中可以選擇的對象列表。*/
|
||||
$lang->searchObjects['bug'] = 'Bug';
|
||||
@@ -145,12 +145,12 @@ $lang->exportTypeList['selected'] = '選中記錄';
|
||||
$lang->lang = 'Language';
|
||||
|
||||
/* 風格列表。*/
|
||||
$lang->theme = '主題';
|
||||
$lang->themes['default'] = '預設';
|
||||
$lang->themes['green'] = '綠色';
|
||||
$lang->themes['red'] = '紅色';
|
||||
$lang->themes['lightblue'] = '亮藍';
|
||||
$lang->themes['blackberry'] = '黑莓';
|
||||
$lang->theme = '主題';
|
||||
$lang->themes['default'] = '預設';
|
||||
$lang->themes['green'] = '綠色';
|
||||
$lang->themes['red'] = '紅色';
|
||||
$lang->themes['lightblue'] = '亮藍';
|
||||
$lang->themes['blackberry'] = '黑莓';
|
||||
|
||||
/* 首頁菜單設置。*/
|
||||
$lang->index = new stdclass();
|
||||
@@ -187,20 +187,20 @@ $lang->score->menu = $lang->my->menu;
|
||||
$lang->product = new stdclass();
|
||||
$lang->product->menu = new stdclass();
|
||||
|
||||
$lang->product->menu->list = array('link' => '%s', 'fixed' => true);
|
||||
$lang->product->menu->story = array('link' => '需求|product|browse|productID=%s', 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
$lang->product->menu->dynamic = '動態|product|dynamic|productID=%s';
|
||||
$lang->product->menu->plan = array('link' => '計劃|productplan|browse|productID=%s', 'subModule' => 'productplan');
|
||||
$lang->product->menu->release = array('link' => '發佈|release|browse|productID=%s', 'subModule' => 'release');
|
||||
$lang->product->menu->roadmap = '路線圖|product|roadmap|productID=%s';
|
||||
$lang->product->menu->doc = array('link' => '文檔|doc|objectLibs|type=product&objectID=%s&from=product', 'subModule' => 'doc');
|
||||
$lang->product->menu->branch = '@branch@|branch|manage|productID=%s';
|
||||
$lang->product->menu->module = '模組|tree|browse|productID=%s&view=story';
|
||||
$lang->product->menu->view = array('link' => '概況|product|view|productID=%s', 'alias' => 'edit');
|
||||
$lang->product->menu->project = "{$lang->projectCommon}|product|project|status=all&productID=%s";
|
||||
$lang->product->menu->create = array('link' => "<i class='icon-plus'></i> 添加{$lang->productCommon}|product|create", 'float' => 'right');
|
||||
$lang->product->menu->all = array('link' => "<i class='icon-cubes'></i> 所有{$lang->productCommon}|product|all|productID=%s", 'float' => 'right');
|
||||
$lang->product->menu->index = array('link' => "<i class='icon-home'></i>{$lang->productCommon}主頁|product|index|locate=no", 'float' => 'right');
|
||||
$lang->product->menu->list = array('link' => '%s', 'fixed' => true);
|
||||
$lang->product->menu->story = array('link' => '需求|product|browse|productID=%s', 'alias' => 'batchedit', 'subModule' => 'story');
|
||||
$lang->product->menu->dynamic = '動態|product|dynamic|productID=%s';
|
||||
$lang->product->menu->plan = array('link' => '計劃|productplan|browse|productID=%s', 'subModule' => 'productplan');
|
||||
$lang->product->menu->release = array('link' => '發佈|release|browse|productID=%s', 'subModule' => 'release');
|
||||
$lang->product->menu->roadmap = '路線圖|product|roadmap|productID=%s';
|
||||
$lang->product->menu->doc = array('link' => '文檔|doc|objectLibs|type=product&objectID=%s&from=product', 'subModule' => 'doc');
|
||||
$lang->product->menu->branch = '@branch@|branch|manage|productID=%s';
|
||||
$lang->product->menu->module = '模組|tree|browse|productID=%s&view=story';
|
||||
$lang->product->menu->view = array('link' => '概況|product|view|productID=%s', 'alias' => 'edit');
|
||||
$lang->product->menu->project = "{$lang->projectCommon}|product|project|status=all&productID=%s";
|
||||
$lang->product->menu->create = array('link' => "<i class='icon-plus'></i> 添加{$lang->productCommon}|product|create", 'float' => 'right');
|
||||
$lang->product->menu->all = array('link' => "<i class='icon-cubes'></i> 所有{$lang->productCommon}|product|all|productID=%s", 'float' => 'right');
|
||||
$lang->product->menu->index = array('link' => "<i class='icon-home'></i>{$lang->productCommon}主頁|product|index|locate=no", 'float' => 'right');
|
||||
|
||||
$lang->story = new stdclass();
|
||||
$lang->productplan = new stdclass();
|
||||
@@ -216,20 +216,20 @@ $lang->release->menu = $lang->product->menu;
|
||||
$lang->project = new stdclass();
|
||||
$lang->project->menu = new stdclass();
|
||||
|
||||
$lang->project->menu->list = array('link' => '%s', 'fixed' => true);
|
||||
$lang->project->menu->task = array('link' => '任務|project|task|projectID=%s', 'subModule' => 'task,tree', 'alias' => 'grouptask,importtask,burn,importbug,kanban,printkanban,tree');
|
||||
$lang->project->menu->story = array('link' => '需求|project|story|projectID=%s', 'subModule' => 'story', 'alias' => 'linkstory,storykanban');
|
||||
$lang->project->menu->bug = 'Bug|project|bug|projectID=%s';
|
||||
$lang->project->menu->dynamic = '動態|project|dynamic|projectID=%s';
|
||||
$lang->project->menu->build = array('link' => '版本|project|build|projectID=%s', 'subModule' => 'build');
|
||||
$lang->project->menu->testtask = array('link' => '測試單|project|testtask|projectID=%s');
|
||||
$lang->project->menu->team = array('link' => '團隊|project|team|projectID=%s', 'alias' => 'managemembers');
|
||||
$lang->project->menu->doc = array('link' => '文檔|doc|objectLibs|type=project&objectID=%s&from=project', 'subModule' => 'doc');
|
||||
$lang->project->menu->product = $lang->productCommon . '|project|manageproducts|projectID=%s';
|
||||
$lang->project->menu->view = array('link' => '概況|project|view|projectID=%s', 'alias' => 'edit,start,suspend,putoff,close');
|
||||
$lang->project->menu->create = array('link' => "<i class='icon-plus'></i> 添加{$lang->projectCommon}|project|create", 'float' => 'right');
|
||||
$lang->project->menu->all = array('link' => "<i class='icon-th-large'></i> 所有{$lang->projectCommon}|project|all|status=undone&projectID=%s", 'float' => 'right');
|
||||
$lang->project->menu->index = array('link' => "<i class='icon-home'></i>{$lang->projectCommon}主頁|project|index|locate=no", 'float' => 'right');
|
||||
$lang->project->menu->list = array('link' => '%s', 'fixed' => true);
|
||||
$lang->project->menu->task = array('link' => '任務|project|task|projectID=%s', 'subModule' => 'task,tree', 'alias' => 'grouptask,importtask,burn,importbug,kanban,printkanban,tree');
|
||||
$lang->project->menu->story = array('link' => '需求|project|story|projectID=%s', 'subModule' => 'story', 'alias' => 'linkstory,storykanban');
|
||||
$lang->project->menu->bug = 'Bug|project|bug|projectID=%s';
|
||||
$lang->project->menu->dynamic = '動態|project|dynamic|projectID=%s';
|
||||
$lang->project->menu->build = array('link' => '版本|project|build|projectID=%s', 'subModule' => 'build');
|
||||
$lang->project->menu->testtask = array('link' => '測試單|project|testtask|projectID=%s');
|
||||
$lang->project->menu->team = array('link' => '團隊|project|team|projectID=%s', 'alias' => 'managemembers');
|
||||
$lang->project->menu->doc = array('link' => '文檔|doc|objectLibs|type=project&objectID=%s&from=project', 'subModule' => 'doc');
|
||||
$lang->project->menu->product = $lang->productCommon . '|project|manageproducts|projectID=%s';
|
||||
$lang->project->menu->view = array('link' => '概況|project|view|projectID=%s', 'alias' => 'edit,start,suspend,putoff,close');
|
||||
$lang->project->menu->create = array('link' => "<i class='icon-plus'></i> 添加{$lang->projectCommon}|project|create", 'float' => 'right');
|
||||
$lang->project->menu->all = array('link' => "<i class='icon-th-large'></i> 所有{$lang->projectCommon}|project|all|status=undone&projectID=%s", 'float' => 'right');
|
||||
$lang->project->menu->index = array('link' => "<i class='icon-home'></i>{$lang->projectCommon}主頁|project|index|locate=no", 'float' => 'right');
|
||||
|
||||
$lang->task = new stdclass();
|
||||
$lang->build = new stdclass();
|
||||
@@ -296,9 +296,9 @@ $lang->caselib->menu->index = array('link' => "<i class='icon-home'></i>測
|
||||
$lang->doc = new stdclass();
|
||||
$lang->doc->menu = new stdclass();
|
||||
|
||||
$lang->doc->menu->list = array('link' => '%s', 'fixed' => true);
|
||||
$lang->doc->menu->crumb = array('link' => '%s', 'fixed' => true);
|
||||
$lang->doc->menu->create = array('link' => '<i class="icon-plus"></i> 添加文檔庫|doc|createLib', 'float' => 'right');
|
||||
$lang->doc->menu->list = array('link' => '%s', 'fixed' => true);
|
||||
$lang->doc->menu->crumb = array('link' => '%s', 'fixed' => true);
|
||||
$lang->doc->menu->create = array('link' => '<i class="icon-plus"></i> 添加文檔庫|doc|createLib', 'float' => 'right');
|
||||
|
||||
/* 統計視圖菜單設置。*/
|
||||
$lang->report = new stdclass();
|
||||
@@ -339,13 +339,12 @@ $lang->admin->menu = new stdclass();
|
||||
$lang->admin->menu->index = array('link' => '首頁|admin|index', 'alias' => 'register,certifytemail,certifyztmobile,ztcompany');
|
||||
$lang->admin->menu->extension = array('link' => '插件|extension|browse', 'subModule' => 'extension');
|
||||
$lang->admin->menu->custom = array('link' => '自定義|custom|set', 'subModule' => 'custom');
|
||||
$lang->admin->menu->mail = array('link' => '發信|mail|index', 'subModule' => 'mail');
|
||||
$lang->admin->menu->message = array('link' => '消息|message|index', 'subModule' => 'message,mail,webhook');
|
||||
$lang->admin->menu->backup = array('link' => '備份|backup|index', 'subModule' => 'backup');
|
||||
$lang->admin->menu->safe = array('link' => '安全|admin|safe', 'alias' => 'checkweak');
|
||||
$lang->admin->menu->cron = array('link' => '計劃任務|cron|index', 'subModule' => 'cron');
|
||||
$lang->admin->menu->trashes = array('link' => '資源回收筒|action|trash', 'subModule' => 'action');
|
||||
$lang->admin->menu->dev = array('link' => '二次開發|dev|api', 'alias' => 'db', 'subModule' => 'dev,editor');
|
||||
$lang->admin->menu->api = array('link' => '介面|webhook|browse', 'alias' => 'create,edit', 'subModule' => 'entry,webhook');
|
||||
$lang->admin->menu->sso = '然之整合|admin|sso';
|
||||
|
||||
$lang->convert = new stdclass();
|
||||
@@ -360,6 +359,7 @@ $lang->cron = new stdclass();
|
||||
$lang->dev = new stdclass();
|
||||
$lang->entry = new stdclass();
|
||||
$lang->webhook = new stdclass();
|
||||
$lang->message = new stdclass();
|
||||
$lang->search = new stdclass();
|
||||
|
||||
$lang->convert->menu = $lang->admin->menu;
|
||||
@@ -374,6 +374,7 @@ $lang->mail->menu = $lang->admin->menu;
|
||||
$lang->dev->menu = $lang->admin->menu;
|
||||
$lang->entry->menu = $lang->admin->menu;
|
||||
$lang->webhook->menu = $lang->admin->menu;
|
||||
$lang->message->menu = $lang->admin->menu;
|
||||
|
||||
/* 菜單分組。*/
|
||||
$lang->menugroup = new stdclass();
|
||||
@@ -407,6 +408,7 @@ $lang->menugroup->mail = 'admin';
|
||||
$lang->menugroup->dev = 'admin';
|
||||
$lang->menugroup->entry = 'admin';
|
||||
$lang->menugroup->webhook = 'admin';
|
||||
$lang->menugroup->message = 'admin';
|
||||
|
||||
/* 錯誤提示信息。*/
|
||||
$lang->error = new stdclass();
|
||||
@@ -466,31 +468,32 @@ $lang->pager->previousPage = "上一頁";
|
||||
$lang->pager->nextPage = "下一頁";
|
||||
$lang->pager->summery = "第 <strong>%s-%s</strong> 項,共 <strong>%s</strong> 項";
|
||||
|
||||
$lang->proVersion = "<a href='http://api.zentao.net/goto.php?item=proversion&from=footer' target='_blank' id='proLink' class='text-important'>專業版 <i class='text-danger icon-pro-version'></i></a> ";
|
||||
$lang->downNotify = "下載桌面提醒";
|
||||
$lang->proVersion = "<a href='http://api.zentao.net/goto.php?item=proversion&from=footer' target='_blank' id='proLink' class='text-important'>專業版 <i class='text-danger icon-pro-version'></i></a> ";
|
||||
$lang->downNotify = "下載桌面提醒";
|
||||
$lang->website = "http://www.zentao.net";
|
||||
|
||||
$lang->suhosinInfo = "警告:數據太多,請在php.ini中修改<font color=red>sohusin.post.max_vars</font>和<font color=red>sohusin.request.max_vars</font>(大於%s的數)。 保存並重新啟動apache或php-fpm,否則會造成部分數據無法保存。";
|
||||
$lang->maxVarsInfo = "警告:數據太多,請在php.ini中修改<font color=red>max_input_vars</font>(大於%s的數)。 保存並重新啟動apache或php-fpm,否則會造成部分數據無法保存。";
|
||||
$lang->pasteTextInfo = "粘貼文本到文本域中,每行文字作為一條數據的標題。";
|
||||
$lang->noticeImport = "<p style='font-size:14px'>導入數據中,含有已經存在系統的數據,請確認這些數據要覆蓋或者全新插入</p><p><a href='javascript:submitForm(\"cover\")' class='btn btn-mini'>覆蓋</a> <a href='javascript:submitForm(\"insert\")' class='btn btn-mini'>全新插入</a></p>";
|
||||
|
||||
$lang->noResultsMatch = "沒有匹配結果";
|
||||
$lang->searchMore = "搜索此關鍵字的更多結果:";
|
||||
$lang->chooseUsersToMail = "選擇要發信通知的用戶...";
|
||||
$lang->browserNotice = '你目前使用的瀏覽器可能無法得到最佳瀏覽效果,建議使用Chrome、火狐、IE9+、Opera、Safari瀏覽器。';
|
||||
$lang->noticePasteImg = "可以在編輯器直接貼圖。";
|
||||
$lang->noResultsMatch = "沒有匹配結果";
|
||||
$lang->searchMore = "搜索此關鍵字的更多結果:";
|
||||
$lang->chooseUsersToMail = "選擇要發信通知的用戶...";
|
||||
$lang->browserNotice = '你目前使用的瀏覽器可能無法得到最佳瀏覽效果,建議使用Chrome、火狐、IE9+、Opera、Safari瀏覽器。';
|
||||
$lang->noticePasteImg = "可以在編輯器直接貼圖。";
|
||||
|
||||
/* 時間格式設置。*/
|
||||
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');
|
||||
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();
|
||||
@@ -608,7 +611,7 @@ if(isset($config->global->flow) and $config->global->flow == 'onlyStory')
|
||||
/* Adjust sub menu of product module. */
|
||||
unset($lang->product->menu->project);
|
||||
unset($lang->product->menu->doc);
|
||||
|
||||
|
||||
/* Rename product module. */
|
||||
$lang->menu->product = "{$lang->productCommon}|product|index";
|
||||
|
||||
@@ -761,15 +764,15 @@ if(isset($config->global->flow) and $config->global->flow == 'onlyTest')
|
||||
$lang->testtask->menu->report = array('link' => '報告|testreport|browse', 'alias' => 'view,create,edit');
|
||||
$lang->testtask->menu->create = array('link' => "<i class='icon-plus'></i> 提交測試|testtask|create|productID=%s", 'float' => 'right');
|
||||
|
||||
$lang->testtask->menuOrder[5] = 'product';
|
||||
$lang->testtask->menuOrder[10] = 'scope';
|
||||
$lang->testtask->menuOrder[15] = 'wait';
|
||||
$lang->testtask->menuOrder[20] = 'doing';
|
||||
$lang->testtask->menuOrder[25] = 'blocked';
|
||||
$lang->testtask->menuOrder[30] = 'done';
|
||||
$lang->testtask->menuOrder[35] = 'totalStatus';
|
||||
$lang->testtask->menuOrder[40] = 'report';
|
||||
$lang->testtask->menuOrder[45] = 'create';
|
||||
$lang->testtask->menuOrder[5] = 'product';
|
||||
$lang->testtask->menuOrder[10] = 'scope';
|
||||
$lang->testtask->menuOrder[15] = 'wait';
|
||||
$lang->testtask->menuOrder[20] = 'doing';
|
||||
$lang->testtask->menuOrder[25] = 'blocked';
|
||||
$lang->testtask->menuOrder[30] = 'done';
|
||||
$lang->testtask->menuOrder[35] = 'totalStatus';
|
||||
$lang->testtask->menuOrder[40] = 'report';
|
||||
$lang->testtask->menuOrder[45] = 'create';
|
||||
|
||||
$lang->testreport->menu = $lang->testtask->menu;
|
||||
$lang->testreport->menuOrder = $lang->testtask->menuOrder;
|
||||
@@ -806,7 +809,7 @@ if(isset($config->global->flow) and $config->global->flow == 'onlyTest')
|
||||
|
||||
$lang->build->menu = $lang->product->menu;
|
||||
$lang->build->menuOrder = $lang->product->menuOrder;
|
||||
|
||||
|
||||
/* Adjust menu group. */
|
||||
$lang->menugroup->bug = 'bug';
|
||||
$lang->menugroup->testcase = 'testcase';
|
||||
@@ -814,8 +817,8 @@ if(isset($config->global->flow) and $config->global->flow == 'onlyTest')
|
||||
$lang->menugroup->testsuite = 'testsuite';
|
||||
$lang->menugroup->testreport = 'testtask';
|
||||
$lang->menugroup->build = 'product';
|
||||
|
||||
/* Adjust search objects. */
|
||||
|
||||
/* Adjust search objects. */
|
||||
unset($lang->searchObjects['story']);
|
||||
unset($lang->searchObjects['task']);
|
||||
unset($lang->searchObjects['release']);
|
||||
|
||||
@@ -93,6 +93,8 @@ $lang->dev->tableList['suitecase'] = '套件用例';
|
||||
$lang->dev->tableList['score'] = '積分';
|
||||
$lang->dev->tableList['entry'] = '應用';
|
||||
$lang->dev->tableList['webhook'] = 'WebHook';
|
||||
$lang->dev->tableList['webhookdatas'] = 'WebHook數據';
|
||||
$lang->dev->tableList['log'] = '介面日誌';
|
||||
|
||||
$lang->dev->groupList['my'] = '我的地盤';
|
||||
$lang->dev->groupList['product'] = $lang->productCommon;
|
||||
|
||||
@@ -48,6 +48,7 @@ $lang->group->copyOptions['copyPriv'] = 'Copy Privilege';
|
||||
$lang->group->copyOptions['copyUser'] = 'Copy User';
|
||||
|
||||
$lang->group->versions[''] = 'History';
|
||||
$lang->group->versions['9_8'] = 'ZenTao9.8';
|
||||
$lang->group->versions['9_6'] = 'ZenTao9.6';
|
||||
$lang->group->versions['9_5'] = 'ZenTao9.5';
|
||||
$lang->group->versions['9_2'] = 'ZenTao9.2';
|
||||
|
||||
@@ -58,6 +58,7 @@ $lang->moduleOrder[180] = 'misc';
|
||||
$lang->moduleOrder[185] = 'backup';
|
||||
$lang->moduleOrder[190] = 'cron';
|
||||
$lang->moduleOrder[195] = 'dev';
|
||||
$lang->moduleOrder[200] = 'message';
|
||||
|
||||
$lang->resource = new stdclass();
|
||||
|
||||
@@ -106,6 +107,7 @@ $lang->my->methodOrder[80] = 'score';
|
||||
/* Todo. */
|
||||
$lang->resource->todo = new stdclass();
|
||||
$lang->resource->todo->create = 'create';
|
||||
$lang->resource->todo->createcycle = 'createCycle';
|
||||
$lang->resource->todo->batchCreate = 'batchCreate';
|
||||
$lang->resource->todo->edit = 'edit';
|
||||
$lang->resource->todo->batchEdit = 'batchEdit';
|
||||
@@ -120,13 +122,14 @@ $lang->resource->todo->activate = 'activate';
|
||||
$lang->resource->todo->close = 'close';
|
||||
|
||||
$lang->todo->methodOrder[5] = 'create';
|
||||
$lang->todo->methodOrder[10] = 'batchCreate';
|
||||
$lang->todo->methodOrder[15] = 'edit';
|
||||
$lang->todo->methodOrder[20] = 'view';
|
||||
$lang->todo->methodOrder[25] = 'delete';
|
||||
$lang->todo->methodOrder[30] = 'export';
|
||||
$lang->todo->methodOrder[35] = 'finish';
|
||||
$lang->todo->methodOrder[40] = 'import2Today';
|
||||
$lang->todo->methodOrder[10] = 'createCycle';
|
||||
$lang->todo->methodOrder[15] = 'batchCreate';
|
||||
$lang->todo->methodOrder[20] = 'edit';
|
||||
$lang->todo->methodOrder[25] = 'view';
|
||||
$lang->todo->methodOrder[30] = 'delete';
|
||||
$lang->todo->methodOrder[35] = 'export';
|
||||
$lang->todo->methodOrder[40] = 'finish';
|
||||
$lang->todo->methodOrder[45] = 'import2Today';
|
||||
|
||||
/* Product. */
|
||||
$lang->resource->product = new stdclass();
|
||||
@@ -287,50 +290,51 @@ $lang->release->methodOrder[70] = 'changeStatus';
|
||||
|
||||
/* Project. */
|
||||
$lang->resource->project = new stdclass();
|
||||
$lang->resource->project->index = 'index';
|
||||
$lang->resource->project->view = 'view';
|
||||
$lang->resource->project->browse = 'browse';
|
||||
$lang->resource->project->create = 'create';
|
||||
$lang->resource->project->edit = 'edit';
|
||||
$lang->resource->project->batchedit = 'batchEdit';
|
||||
$lang->resource->project->start = 'start';
|
||||
$lang->resource->project->activate = 'activate';
|
||||
$lang->resource->project->putoff = 'putoff';
|
||||
$lang->resource->project->suspend = 'suspend';
|
||||
$lang->resource->project->close = 'close';
|
||||
$lang->resource->project->delete = 'delete';
|
||||
$lang->resource->project->task = 'task';
|
||||
$lang->resource->project->grouptask = 'groupTask';
|
||||
$lang->resource->project->importtask = 'importTask';
|
||||
$lang->resource->project->importBug = 'importBug';
|
||||
$lang->resource->project->story = 'story';
|
||||
$lang->resource->project->build = 'build';
|
||||
$lang->resource->project->testtask = 'testtask';
|
||||
$lang->resource->project->bug = 'bug';
|
||||
$lang->resource->project->burn = 'burn';
|
||||
$lang->resource->project->computeBurn = 'computeBurn';
|
||||
$lang->resource->project->fixFirst = 'fixFirst';
|
||||
$lang->resource->project->burnData = 'burnData';
|
||||
$lang->resource->project->team = 'team';
|
||||
$lang->resource->project->doc = 'doc';
|
||||
$lang->resource->project->dynamic = 'dynamic';
|
||||
$lang->resource->project->manageProducts = 'manageProducts';
|
||||
$lang->resource->project->index = 'index';
|
||||
$lang->resource->project->view = 'view';
|
||||
$lang->resource->project->browse = 'browse';
|
||||
$lang->resource->project->create = 'create';
|
||||
$lang->resource->project->edit = 'edit';
|
||||
$lang->resource->project->batchedit = 'batchEdit';
|
||||
$lang->resource->project->start = 'start';
|
||||
$lang->resource->project->activate = 'activate';
|
||||
$lang->resource->project->putoff = 'putoff';
|
||||
$lang->resource->project->suspend = 'suspend';
|
||||
$lang->resource->project->close = 'close';
|
||||
$lang->resource->project->delete = 'delete';
|
||||
$lang->resource->project->task = 'task';
|
||||
$lang->resource->project->grouptask = 'groupTask';
|
||||
$lang->resource->project->importtask = 'importTask';
|
||||
$lang->resource->project->importplanstories = 'importPlanStories';
|
||||
$lang->resource->project->importBug = 'importBug';
|
||||
$lang->resource->project->story = 'story';
|
||||
$lang->resource->project->build = 'build';
|
||||
$lang->resource->project->testtask = 'testtask';
|
||||
$lang->resource->project->bug = 'bug';
|
||||
$lang->resource->project->burn = 'burn';
|
||||
$lang->resource->project->computeBurn = 'computeBurn';
|
||||
$lang->resource->project->fixFirst = 'fixFirst';
|
||||
$lang->resource->project->burnData = 'burnData';
|
||||
$lang->resource->project->team = 'team';
|
||||
$lang->resource->project->doc = 'doc';
|
||||
$lang->resource->project->dynamic = 'dynamic';
|
||||
$lang->resource->project->manageProducts = 'manageProducts';
|
||||
//$lang->resource->project->manageChilds = 'manageChilds';
|
||||
$lang->resource->project->manageMembers = 'manageMembers';
|
||||
$lang->resource->project->unlinkMember = 'unlinkMember';
|
||||
$lang->resource->project->linkStory = 'linkStory';
|
||||
$lang->resource->project->unlinkStory = 'unlinkStory';
|
||||
$lang->resource->project->batchUnlinkStory = 'batchUnlinkStory';
|
||||
$lang->resource->project->updateOrder = 'updateOrder';
|
||||
$lang->resource->project->kanban = 'kanban';
|
||||
$lang->resource->project->printKanban = 'printKanban';
|
||||
$lang->resource->project->tree = 'tree';
|
||||
$lang->resource->project->all = 'all';
|
||||
$lang->resource->project->kanbanHideCols = 'kanbanHideCols';
|
||||
$lang->resource->project->kanbanColsColor = 'kanbanColsColor';
|
||||
$lang->resource->project->export = 'export';
|
||||
$lang->resource->project->storyKanban = 'storyKanban';
|
||||
$lang->resource->project->storySort = 'storySort';
|
||||
$lang->resource->project->manageMembers = 'manageMembers';
|
||||
$lang->resource->project->unlinkMember = 'unlinkMember';
|
||||
$lang->resource->project->linkStory = 'linkStory';
|
||||
$lang->resource->project->unlinkStory = 'unlinkStory';
|
||||
$lang->resource->project->batchUnlinkStory = 'batchUnlinkStory';
|
||||
$lang->resource->project->updateOrder = 'updateOrder';
|
||||
$lang->resource->project->kanban = 'kanban';
|
||||
$lang->resource->project->printKanban = 'printKanban';
|
||||
$lang->resource->project->tree = 'tree';
|
||||
$lang->resource->project->all = 'all';
|
||||
$lang->resource->project->kanbanHideCols = 'kanbanHideCols';
|
||||
$lang->resource->project->kanbanColsColor = 'kanbanColsColor';
|
||||
$lang->resource->project->export = 'export';
|
||||
$lang->resource->project->storyKanban = 'storyKanban';
|
||||
$lang->resource->project->storySort = 'storySort';
|
||||
|
||||
$lang->project->methodOrder[0] = 'index';
|
||||
$lang->project->methodOrder[5] = 'view';
|
||||
@@ -347,16 +351,17 @@ $lang->project->methodOrder[60] = 'delete';
|
||||
$lang->project->methodOrder[65] = 'task';
|
||||
$lang->project->methodOrder[70] = 'grouptask';
|
||||
$lang->project->methodOrder[75] = 'importtask';
|
||||
$lang->project->methodOrder[80] = 'importBug';
|
||||
$lang->project->methodOrder[85] = 'story';
|
||||
$lang->project->methodOrder[90] = 'build';
|
||||
$lang->project->methodOrder[95] = 'testtask';
|
||||
$lang->project->methodOrder[100] = 'bug';
|
||||
$lang->project->methodOrder[105] = 'burn';
|
||||
$lang->project->methodOrder[110] = 'computeBurn';
|
||||
$lang->project->methodOrder[115] = 'fixFirst';
|
||||
$lang->project->methodOrder[120] = 'burnData';
|
||||
$lang->project->methodOrder[125] = 'team';
|
||||
$lang->project->methodOrder[80] = 'importplanstories';
|
||||
$lang->project->methodOrder[85] = 'importBug';
|
||||
$lang->project->methodOrder[90] = 'story';
|
||||
$lang->project->methodOrder[95] = 'build';
|
||||
$lang->project->methodOrder[100] = 'testtask';
|
||||
$lang->project->methodOrder[105] = 'bug';
|
||||
$lang->project->methodOrder[110] = 'burn';
|
||||
$lang->project->methodOrder[115] = 'computeBurn';
|
||||
$lang->project->methodOrder[120] = 'fixFirst';
|
||||
$lang->project->methodOrder[125] = 'burnData';
|
||||
$lang->project->methodOrder[130] = 'team';
|
||||
//$lang->project->methodOrder[130] = 'doc';
|
||||
$lang->project->methodOrder[135] = 'dynamic';
|
||||
$lang->project->methodOrder[140] = 'manageProducts';
|
||||
@@ -1007,6 +1012,13 @@ $lang->resource->misc->ping = 'ping';
|
||||
|
||||
$lang->misc->methodOrder[5] = 'ping';
|
||||
|
||||
$lang->resource->message = new stdclass();
|
||||
$lang->resource->message->index = 'index';
|
||||
$lang->resource->message->setting = 'setting';
|
||||
|
||||
$lang->message->methodOrder[5] = 'index';
|
||||
$lang->message->methodOrder[10] = 'setting';
|
||||
|
||||
$lang->resource->action = new stdclass();
|
||||
$lang->resource->action->trash = 'trash';
|
||||
$lang->resource->action->undelete = 'undelete';
|
||||
@@ -1363,6 +1375,11 @@ $lang->changelog['9.6'][] = 'project-export';
|
||||
$lang->changelog['9.6'][] = 'project-storyKanban';
|
||||
$lang->changelog['9.6'][] = 'project-storySort';
|
||||
|
||||
$lang->changelog['9.8'][] = 'message-index';
|
||||
$lang->changelog['9.8'][] = 'message-setting';
|
||||
$lang->changelog['9.8'][] = 'todo-createCycle';
|
||||
$lang->changelog['9.8'][] = 'project-importPlanStories';
|
||||
|
||||
global $config;
|
||||
if($config->global->flow != 'full')
|
||||
{
|
||||
|
||||
@@ -48,6 +48,7 @@ $lang->group->copyOptions['copyPriv'] = '复制权限';
|
||||
$lang->group->copyOptions['copyUser'] = '复制用户';
|
||||
|
||||
$lang->group->versions[''] = '修改历史';
|
||||
$lang->group->versions['9_8'] = '禅道9.8';
|
||||
$lang->group->versions['9_6'] = '禅道9.6';
|
||||
$lang->group->versions['9_5'] = '禅道9.5';
|
||||
$lang->group->versions['9_2'] = '禅道9.2';
|
||||
|
||||
@@ -48,6 +48,7 @@ $lang->group->copyOptions['copyPriv'] = '複製權限';
|
||||
$lang->group->copyOptions['copyUser'] = '複製用戶';
|
||||
|
||||
$lang->group->versions[''] = '修改歷史';
|
||||
$lang->group->versions['9_8'] = '禪道9.8';
|
||||
$lang->group->versions['9_6'] = '禪道9.6';
|
||||
$lang->group->versions['9_5'] = '禪道9.5';
|
||||
$lang->group->versions['9_2'] = '禪道9.2';
|
||||
|
||||
@@ -158,6 +158,7 @@ $lang->install->cronList['moduleName=backup&methodName=backup'] = '備份
|
||||
$lang->install->cronList['moduleName=mail&methodName=asyncSend'] = '非同步發信';
|
||||
$lang->install->cronList['moduleName=webhook&methodName=asyncSend'] = '非同步發送Webhook';
|
||||
$lang->install->cronList['moduleName=admin&methodName=deleteLog'] = '刪除過期日誌';
|
||||
$lang->install->cronList['moduleName=todo&methodName=createCycle'] = '生成周期性待辦';
|
||||
|
||||
$lang->install->success = "安裝成功";
|
||||
$lang->install->login = '登錄禪道管理系統';
|
||||
|
||||
@@ -46,8 +46,8 @@ $lang->mail->remove = 'Remove';
|
||||
$lang->mail->toList = 'Addressee';
|
||||
$lang->mail->ccList = 'Copy to';
|
||||
$lang->mail->subject = 'Subject';
|
||||
$lang->mail->addedBy = 'Sender';
|
||||
$lang->mail->addedDate = 'Added Date';
|
||||
$lang->mail->createdBy = 'Sender';
|
||||
$lang->mail->createdDate = 'Added Date';
|
||||
$lang->mail->sendTime = 'Send Date';
|
||||
$lang->mail->status = 'Status';
|
||||
$lang->mail->failReason = 'Fail Reason';
|
||||
|
||||
@@ -4,7 +4,7 @@ $lang->mail->index = '首頁';
|
||||
$lang->mail->detect = '檢測';
|
||||
$lang->mail->edit = '編輯配置';
|
||||
$lang->mail->save = '保存';
|
||||
$lang->mail->saveSuccess = '成功保存';
|
||||
$lang->mail->saveSuccess = '保存成功';
|
||||
$lang->mail->test = '測試發信';
|
||||
$lang->mail->reset = '重置';
|
||||
$lang->mail->resend = '重發';
|
||||
@@ -46,14 +46,14 @@ $lang->mail->remove = '移除';
|
||||
$lang->mail->toList = '收信人';
|
||||
$lang->mail->ccList = '抄送給';
|
||||
$lang->mail->subject = '主題';
|
||||
$lang->mail->addedBy = '發送者';
|
||||
$lang->mail->addedDate = '創建時間';
|
||||
$lang->mail->createdBy = '發送者';
|
||||
$lang->mail->createdDate = '創建時間';
|
||||
$lang->mail->sendTime = '發送時間';
|
||||
$lang->mail->status = '狀態';
|
||||
$lang->mail->failReason = '失敗原因';
|
||||
|
||||
$lang->mail->statusList['send'] = '成功';
|
||||
$lang->mail->statusList['fail'] = '失敗';
|
||||
$lang->mail->statusList['sended'] = '成功';
|
||||
$lang->mail->statusList['fail'] = '失敗';
|
||||
|
||||
$lang->mail->turnonList[1] = '打開';
|
||||
$lang->mail->turnonList[0] = '關閉';
|
||||
|
||||
@@ -19,7 +19,16 @@ class message extends control
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$this->locate($this->createLink('mail', 'index'));
|
||||
foreach($this->lang->message->typeList as $type => $typeName)
|
||||
{
|
||||
if(isset($config->message->typeLink[$type]))
|
||||
{
|
||||
list($moduleName, $methodName) = explode('|', $this->config->message->typeLink[$type]);
|
||||
$this->locate($this->createLink($moduleName, $methodName));
|
||||
}
|
||||
}
|
||||
|
||||
$this->locate($this->createLink('message', 'setting'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
$lang->message->common = 'Message';
|
||||
$lang->message->index = 'Index';
|
||||
$lang->message->setting = 'Setting';
|
||||
|
||||
$lang->message->typeList['mail'] = 'Mail';
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
$lang->message->common = '消息';
|
||||
$lang->message->index = '首页';
|
||||
$lang->message->setting = '设置';
|
||||
|
||||
$lang->message->typeList['mail'] = '邮件';
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
<?php
|
||||
$lang->message->common = '消息';
|
||||
$lang->message->index = '首頁';
|
||||
$lang->message->setting = '設置';
|
||||
|
||||
$lang->message->typeList['mail'] = '郵件';
|
||||
$lang->message->typeList['message'] = '消息';
|
||||
$lang->message->typeList['webhook'] = 'Webhook';
|
||||
@@ -7,6 +7,6 @@
|
||||
<li id='<?php echo $type?>Tab'><?php echo html::a($this->createLink($moduleName, $methodName), $typeName)?></li>
|
||||
<?php endif;?>
|
||||
<?php endforeach;?>
|
||||
<li id='settingTab'><?php echo html::a($this->createLink('message', 'setting'), $lang->message->setting)?></li>
|
||||
<li id='settingTab'><?php if(common::hasPriv('message', 'setting')) echo html::a($this->createLink('message', 'setting'), $lang->message->setting)?></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
$lang->misc = new stdclass();
|
||||
$lang->misc->common = '雜項';
|
||||
$lang->misc->ping = '防超時';
|
||||
$lang->misc->api = 'http://api.zentao.net';
|
||||
|
||||
$lang->misc->zentao = new stdclass();
|
||||
$lang->misc->zentao->version = '版本%s';
|
||||
@@ -52,7 +53,7 @@ $lang->misc->zentao->service['servicemore']= '更多服務...';
|
||||
|
||||
$lang->misc->mobile = "手機訪問";
|
||||
$lang->misc->noGDLib = "請用手機瀏覽器訪問:<strong>%s</strong>";
|
||||
$lang->misc->copyright = "© 2009 - 2016 <a href='http://www.cnezsoft.com' target='_blank'>青島易軟天創網絡科技有限公司</a> 電話:4006-8899-23 Email:<a href='mailto:co@zentao.net'>co@zentao.net</a> QQ:1492153927";
|
||||
$lang->misc->copyright = "© 2009 - 2018 <a href='http://www.cnezsoft.com' target='_blank'>青島易軟天創網絡科技有限公司</a> 電話:4006-8899-23 Email:<a href='mailto:co@zentao.net'>co@zentao.net</a> QQ:1492153927";
|
||||
$lang->misc->checkTable = "檢查修復數據表";
|
||||
$lang->misc->needRepair = "修復表";
|
||||
$lang->misc->repairTable = "資料庫表可能因為斷電原因損壞,需要檢查修復!!";
|
||||
@@ -67,12 +68,26 @@ $lang->misc->noticeRepair = "<h5>普通用戶請聯繫管理員進行修復</h5>
|
||||
<ol>
|
||||
<li>檔案內容為空。</li>
|
||||
<li>如果之前檔案存在,刪除之後重新創建。</li>
|
||||
</ol>";
|
||||
</ol>";
|
||||
|
||||
$lang->misc->feature = new stdclass();
|
||||
$lang->misc->feature->lastest = '最新版本';
|
||||
$lang->misc->feature->detailed = '詳情';
|
||||
|
||||
$lang->misc->feature->all['9.7.stable'][] = array('title'=>'調整國際版,增加英文Demo數據。', 'desc' => '');
|
||||
|
||||
$lang->misc->feature->all['9.6.stable'][] = array('title'=>'新增了webhook功能', 'desc' => '實現與倍冾、釘釘的消息通知介面');
|
||||
$lang->misc->feature->all['9.6.stable'][] = array('title'=>'新增禪道操作獲取積分的功能', 'desc' => '');
|
||||
$lang->misc->feature->all['9.6.stable'][] = array('title'=>'項目任務新增了多人任務和子任務功能', 'desc' => '');
|
||||
$lang->misc->feature->all['9.6.stable'][] = array('title'=>'產品視圖新增了產品綫功能', 'desc' => '');
|
||||
|
||||
$lang->misc->feature->all['9.5.1'][] = array('title'=>'新增受限操作', 'desc' => '');
|
||||
|
||||
$lang->misc->feature->all['9.3.beta'][] = array('title'=>'升級框架,增強程序安全', 'desc' => '');
|
||||
|
||||
$lang->misc->feature->all['9.1.stable'][] = array('title'=>'完善測試視圖', 'desc' => '<p>增加測試套件、公共測試庫和測試總結功能</p>');
|
||||
$lang->misc->feature->all['9.1.stable'][] = array('title'=>'支持測試步驟分組', 'desc' => '');
|
||||
|
||||
$lang->misc->feature->all['9.0.beta'][] = array('title'=>'增加禪道雲發信功能', 'desc' => '<p>禪道雲發信是禪道聯合SendCloud推出的一項免費發信服務,只有用戶綁定禪道,並通過驗證即可使用。</p>');
|
||||
$lang->misc->feature->all['9.0.beta'][] = array('title'=>'優化富文本編輯器和markdown編輯器', 'desc' => '');
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ $lang->productplan->edit = "編輯計劃";
|
||||
$lang->productplan->delete = "刪除計劃";
|
||||
$lang->productplan->view = "計劃詳情";
|
||||
$lang->productplan->bugSummary = "本頁共 <strong>%s</strong> 個Bug";
|
||||
$lang->productplan->info = '信息';
|
||||
$lang->productplan->info = '信息';
|
||||
$lang->productplan->batchEdit = '批量編輯';
|
||||
|
||||
$lang->productplan->batchUnlink = "批量移除";
|
||||
@@ -46,14 +46,20 @@ $lang->productplan->desc = '描述';
|
||||
$lang->productplan->begin = '開始日期';
|
||||
$lang->productplan->end = '結束日期';
|
||||
$lang->productplan->last = '上次計劃';
|
||||
$lang->productplan->future = '待定';
|
||||
$lang->productplan->stories = '需求數';
|
||||
$lang->productplan->bugs = 'Bug數';
|
||||
$lang->productplan->hour = '工時';
|
||||
$lang->productplan->project = $lang->projectCommon;
|
||||
|
||||
$lang->productplan->endList[7] = '一星期';
|
||||
$lang->productplan->endList[14] = '兩星期';
|
||||
$lang->productplan->endList[31] = '一個月';
|
||||
$lang->productplan->endList[62] = '兩個月';
|
||||
$lang->productplan->endList[93] = '三個月';
|
||||
$lang->productplan->endList[186] = '半年';
|
||||
$lang->productplan->endList[365] = '一年';
|
||||
$lang->productplan->endList[7] = '一星期';
|
||||
$lang->productplan->endList[14] = '兩星期';
|
||||
$lang->productplan->endList[31] = '一個月';
|
||||
$lang->productplan->endList[62] = '兩個月';
|
||||
$lang->productplan->endList[93] = '三個月';
|
||||
$lang->productplan->endList[186] = '半年';
|
||||
$lang->productplan->endList[365] = '一年';
|
||||
$lang->productplan->endList[9999] = '待定';
|
||||
|
||||
$lang->productplan->errorNoTitle = 'ID %s 標題不能為空';
|
||||
$lang->productplan->errorNoBegin = 'ID %s 開始時間不能為空';
|
||||
|
||||
+41
-40
@@ -100,46 +100,47 @@ $lang->project->aclList['private'] = 'Private (Only team members can access.)';
|
||||
$lang->project->aclList['custom'] = 'Whitelist (Team members and the whitelist members can access.)';
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->project->index = "Home";
|
||||
$lang->project->task = 'Tasks';
|
||||
$lang->project->groupTask = 'View by Group';
|
||||
$lang->project->story = 'Stories';
|
||||
$lang->project->bug = 'Bugs';
|
||||
$lang->project->dynamic = 'Dynamic';
|
||||
$lang->project->build = 'Builds';
|
||||
$lang->project->testtask = 'Test Tasks';
|
||||
$lang->project->burn = 'Burndown';
|
||||
$lang->project->baseline = 'Base Line';
|
||||
$lang->project->computeBurn = 'Update';
|
||||
$lang->project->burnData = 'Burndown Data';
|
||||
$lang->project->fixFirst = 'Edit 1st Day Man-hour';
|
||||
$lang->project->team = 'Team Member';
|
||||
$lang->project->doc = 'Doc';
|
||||
$lang->project->manageProducts = 'Link ' . $lang->productCommon;
|
||||
$lang->project->linkStory = 'Linked Story';
|
||||
$lang->project->linkPlan = 'Linked Plan';
|
||||
$lang->project->linkStoryByPlan = 'Linked Story From Plan';
|
||||
$lang->project->unlinkStoryTasks = 'Unlinked';
|
||||
$lang->project->linkedProducts = 'Linked Products';
|
||||
$lang->project->unlinkedProducts = 'Unlinked Products';
|
||||
$lang->project->view = "Overview";
|
||||
$lang->project->create = "Create Project";
|
||||
$lang->project->copy = "Copy {$lang->projectCommon}";
|
||||
$lang->project->delete = "Delete";
|
||||
$lang->project->browse = "Browse";
|
||||
$lang->project->edit = "Edit";
|
||||
$lang->project->batchEdit = "Batch Edit";
|
||||
$lang->project->manageMembers = 'Manange Team';
|
||||
$lang->project->unlinkMember = 'Unlink Member';
|
||||
$lang->project->unlinkStory = 'Unlink Story';
|
||||
$lang->project->batchUnlinkStory = 'Batch Unlink Story';
|
||||
$lang->project->importTask = 'Import Task';
|
||||
$lang->project->importBug = 'Import Bug';
|
||||
$lang->project->updateOrder = 'Order';
|
||||
$lang->project->tree = 'Tree';
|
||||
$lang->project->storyKanban = 'Story Kanban';
|
||||
$lang->project->storySort = 'Sort Story';
|
||||
$lang->project->importPlanStory = 'Import the stories with the plan?';
|
||||
$lang->project->index = "Home";
|
||||
$lang->project->task = 'Tasks';
|
||||
$lang->project->groupTask = 'View by Group';
|
||||
$lang->project->story = 'Stories';
|
||||
$lang->project->bug = 'Bugs';
|
||||
$lang->project->dynamic = 'Dynamic';
|
||||
$lang->project->build = 'Builds';
|
||||
$lang->project->testtask = 'Test Tasks';
|
||||
$lang->project->burn = 'Burndown';
|
||||
$lang->project->baseline = 'Base Line';
|
||||
$lang->project->computeBurn = 'Update';
|
||||
$lang->project->burnData = 'Burndown Data';
|
||||
$lang->project->fixFirst = 'Edit 1st Day Man-hour';
|
||||
$lang->project->team = 'Team Member';
|
||||
$lang->project->doc = 'Doc';
|
||||
$lang->project->manageProducts = 'Link ' . $lang->productCommon;
|
||||
$lang->project->linkStory = 'Linked Story';
|
||||
$lang->project->linkStoryByPlan = 'Linked Story From Plan';
|
||||
$lang->project->linkPlan = 'Linked Plan';
|
||||
$lang->project->unlinkStoryTasks = 'Unlinked';
|
||||
$lang->project->linkedProducts = 'Linked Products';
|
||||
$lang->project->unlinkedProducts = 'Unlinked Products';
|
||||
$lang->project->view = "Overview";
|
||||
$lang->project->create = "Create Project";
|
||||
$lang->project->copy = "Copy {$lang->projectCommon}";
|
||||
$lang->project->delete = "Delete";
|
||||
$lang->project->browse = "Browse";
|
||||
$lang->project->edit = "Edit";
|
||||
$lang->project->batchEdit = "Batch Edit";
|
||||
$lang->project->manageMembers = 'Manange Team';
|
||||
$lang->project->unlinkMember = 'Unlink Member';
|
||||
$lang->project->unlinkStory = 'Unlink Story';
|
||||
$lang->project->batchUnlinkStory = 'Batch Unlink Story';
|
||||
$lang->project->importTask = 'Import Task';
|
||||
$lang->project->importPlanStories = 'Link Story By Plan';
|
||||
$lang->project->importBug = 'Import Bug';
|
||||
$lang->project->updateOrder = 'Order';
|
||||
$lang->project->tree = 'Tree';
|
||||
$lang->project->storyKanban = 'Story Kanban';
|
||||
$lang->project->storySort = 'Sort Story';
|
||||
$lang->project->importPlanStory = 'Import the stories with the plan?';
|
||||
|
||||
/* 分组浏览。*/
|
||||
$lang->project->allTasks = 'All';
|
||||
|
||||
@@ -100,46 +100,47 @@ $lang->project->aclList['private'] = "私有{$lang->projectCommon}(只有{$lang-
|
||||
$lang->project->aclList['custom'] = "自定义白名单(团队成员和白名单的成员可以访问)";
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->project->index = "{$lang->projectCommon}首页";
|
||||
$lang->project->task = '任务列表';
|
||||
$lang->project->groupTask = '分组浏览任务';
|
||||
$lang->project->story = '需求列表';
|
||||
$lang->project->bug = 'Bug列表';
|
||||
$lang->project->dynamic = '动态';
|
||||
$lang->project->build = '版本列表';
|
||||
$lang->project->testtask = '测试任务';
|
||||
$lang->project->burn = '燃尽图';
|
||||
$lang->project->baseline = '基准线';
|
||||
$lang->project->computeBurn = '更新';
|
||||
$lang->project->burnData = '燃尽图数据';
|
||||
$lang->project->fixFirst = '修改首天工时';
|
||||
$lang->project->team = '团队成员';
|
||||
$lang->project->doc = '文档列表';
|
||||
$lang->project->manageProducts = '关联' . $lang->productCommon;
|
||||
$lang->project->linkStory = '关联需求';
|
||||
$lang->project->linkStoryByPlan = '按照计划关联';
|
||||
$lang->project->linkPlan = '关联计划';
|
||||
$lang->project->unlinkStoryTasks = '未关联需求任务';
|
||||
$lang->project->linkedProducts = '已关联';
|
||||
$lang->project->unlinkedProducts = '未关联';
|
||||
$lang->project->view = "{$lang->projectCommon}概况";
|
||||
$lang->project->create = "添加{$lang->projectCommon}";
|
||||
$lang->project->copy = "复制{$lang->projectCommon}";
|
||||
$lang->project->delete = "删除{$lang->projectCommon}";
|
||||
$lang->project->browse = "浏览{$lang->projectCommon}";
|
||||
$lang->project->edit = "编辑{$lang->projectCommon}";
|
||||
$lang->project->batchEdit = "批量编辑";
|
||||
$lang->project->manageMembers = '团队管理';
|
||||
$lang->project->unlinkMember = '移除成员';
|
||||
$lang->project->unlinkStory = '移除需求';
|
||||
$lang->project->batchUnlinkStory = '批量移除需求';
|
||||
$lang->project->importTask = '转入任务';
|
||||
$lang->project->importBug = '导入Bug';
|
||||
$lang->project->updateOrder = '排序';
|
||||
$lang->project->tree = '树状图';
|
||||
$lang->project->storyKanban = '需求看板';
|
||||
$lang->project->storySort = '需求排序';
|
||||
$lang->project->importPlanStory = '是否导入计划关联的相关需求?';
|
||||
$lang->project->index = "{$lang->projectCommon}首页";
|
||||
$lang->project->task = '任务列表';
|
||||
$lang->project->groupTask = '分组浏览任务';
|
||||
$lang->project->story = '需求列表';
|
||||
$lang->project->bug = 'Bug列表';
|
||||
$lang->project->dynamic = '动态';
|
||||
$lang->project->build = '版本列表';
|
||||
$lang->project->testtask = '测试任务';
|
||||
$lang->project->burn = '燃尽图';
|
||||
$lang->project->baseline = '基准线';
|
||||
$lang->project->computeBurn = '更新';
|
||||
$lang->project->burnData = '燃尽图数据';
|
||||
$lang->project->fixFirst = '修改首天工时';
|
||||
$lang->project->team = '团队成员';
|
||||
$lang->project->doc = '文档列表';
|
||||
$lang->project->manageProducts = '关联' . $lang->productCommon;
|
||||
$lang->project->linkStory = '关联需求';
|
||||
$lang->project->linkStoryByPlan = '按照计划关联';
|
||||
$lang->project->linkPlan = '关联计划';
|
||||
$lang->project->unlinkStoryTasks = '未关联需求任务';
|
||||
$lang->project->linkedProducts = '已关联';
|
||||
$lang->project->unlinkedProducts = '未关联';
|
||||
$lang->project->view = "{$lang->projectCommon}概况";
|
||||
$lang->project->create = "添加{$lang->projectCommon}";
|
||||
$lang->project->copy = "复制{$lang->projectCommon}";
|
||||
$lang->project->delete = "删除{$lang->projectCommon}";
|
||||
$lang->project->browse = "浏览{$lang->projectCommon}";
|
||||
$lang->project->edit = "编辑{$lang->projectCommon}";
|
||||
$lang->project->batchEdit = "批量编辑";
|
||||
$lang->project->manageMembers = '团队管理';
|
||||
$lang->project->unlinkMember = '移除成员';
|
||||
$lang->project->unlinkStory = '移除需求';
|
||||
$lang->project->batchUnlinkStory = '批量移除需求';
|
||||
$lang->project->importTask = '转入任务';
|
||||
$lang->project->importPlanStories = '按计划关联需求';
|
||||
$lang->project->importBug = '导入Bug';
|
||||
$lang->project->updateOrder = '排序';
|
||||
$lang->project->tree = '树状图';
|
||||
$lang->project->storyKanban = '需求看板';
|
||||
$lang->project->storySort = '需求排序';
|
||||
$lang->project->importPlanStory = '是否导入计划关联的相关需求?';
|
||||
|
||||
/* 分组浏览。*/
|
||||
$lang->project->allTasks = '所有';
|
||||
|
||||
@@ -66,13 +66,13 @@ $lang->project->typeList['sprint'] = "短期$lang->projectCommon";
|
||||
$lang->project->typeList['waterfall'] = "長期$lang->projectCommon";
|
||||
$lang->project->typeList['ops'] = "運維$lang->projectCommon";
|
||||
|
||||
$lang->project->endList[7] = '一星期';
|
||||
$lang->project->endList[14] = '兩星期';
|
||||
$lang->project->endList[31] = '一個月';
|
||||
$lang->project->endList[62] = '兩個月';
|
||||
$lang->project->endList[93] = '三個月';
|
||||
$lang->project->endList[186] = '半年';
|
||||
$lang->project->endList[365] = '一年';
|
||||
$lang->project->endList[7] = '一星期';
|
||||
$lang->project->endList[14] = '兩星期';
|
||||
$lang->project->endList[31] = '一個月';
|
||||
$lang->project->endList[62] = '兩個月';
|
||||
$lang->project->endList[93] = '三個月';
|
||||
$lang->project->endList[186] = '半年';
|
||||
$lang->project->endList[365] = '一年';
|
||||
|
||||
$lang->team = new stdclass();
|
||||
$lang->team->account = '用戶';
|
||||
@@ -100,43 +100,47 @@ $lang->project->aclList['private'] = "私有{$lang->projectCommon}(只有{$lang-
|
||||
$lang->project->aclList['custom'] = "自定義白名單(團隊成員和白名單的成員可以訪問)";
|
||||
|
||||
/* 方法列表。*/
|
||||
$lang->project->index = "{$lang->projectCommon}首頁";
|
||||
$lang->project->task = '任務列表';
|
||||
$lang->project->groupTask = '分組瀏覽任務';
|
||||
$lang->project->story = '需求列表';
|
||||
$lang->project->bug = 'Bug列表';
|
||||
$lang->project->dynamic = '動態';
|
||||
$lang->project->build = '版本列表';
|
||||
$lang->project->testtask = '測試任務';
|
||||
$lang->project->burn = '燃盡圖';
|
||||
$lang->project->baseline = '基準綫';
|
||||
$lang->project->computeBurn = '更新';
|
||||
$lang->project->burnData = '燃盡圖數據';
|
||||
$lang->project->fixFirst = '修改首天工時';
|
||||
$lang->project->team = '團隊成員';
|
||||
$lang->project->doc = '文檔列表';
|
||||
$lang->project->manageProducts = '關聯' . $lang->productCommon;
|
||||
$lang->project->linkStory = '關聯需求';
|
||||
$lang->project->unlinkStoryTasks = '未關聯需求任務';
|
||||
$lang->project->linkedProducts = '已關聯';
|
||||
$lang->project->unlinkedProducts = '未關聯';
|
||||
$lang->project->view = "{$lang->projectCommon}概況";
|
||||
$lang->project->create = "添加{$lang->projectCommon}";
|
||||
$lang->project->copy = "複製{$lang->projectCommon}";
|
||||
$lang->project->delete = "刪除{$lang->projectCommon}";
|
||||
$lang->project->browse = "瀏覽{$lang->projectCommon}";
|
||||
$lang->project->edit = "編輯{$lang->projectCommon}";
|
||||
$lang->project->batchEdit = "批量編輯";
|
||||
$lang->project->manageMembers = '團隊管理';
|
||||
$lang->project->unlinkMember = '移除成員';
|
||||
$lang->project->unlinkStory = '移除需求';
|
||||
$lang->project->batchUnlinkStory = '批量移除需求';
|
||||
$lang->project->importTask = '轉入任務';
|
||||
$lang->project->importBug = '導入Bug';
|
||||
$lang->project->updateOrder = '排序';
|
||||
$lang->project->tree = '樹狀圖';
|
||||
$lang->project->storyKanban = '需求看板';
|
||||
$lang->project->storySort = '需求排序';
|
||||
$lang->project->index = "{$lang->projectCommon}首頁";
|
||||
$lang->project->task = '任務列表';
|
||||
$lang->project->groupTask = '分組瀏覽任務';
|
||||
$lang->project->story = '需求列表';
|
||||
$lang->project->bug = 'Bug列表';
|
||||
$lang->project->dynamic = '動態';
|
||||
$lang->project->build = '版本列表';
|
||||
$lang->project->testtask = '測試任務';
|
||||
$lang->project->burn = '燃盡圖';
|
||||
$lang->project->baseline = '基準綫';
|
||||
$lang->project->computeBurn = '更新';
|
||||
$lang->project->burnData = '燃盡圖數據';
|
||||
$lang->project->fixFirst = '修改首天工時';
|
||||
$lang->project->team = '團隊成員';
|
||||
$lang->project->doc = '文檔列表';
|
||||
$lang->project->manageProducts = '關聯' . $lang->productCommon;
|
||||
$lang->project->linkStory = '關聯需求';
|
||||
$lang->project->linkStoryByPlan = '按照計劃關聯';
|
||||
$lang->project->linkPlan = '關聯計劃';
|
||||
$lang->project->unlinkStoryTasks = '未關聯需求任務';
|
||||
$lang->project->linkedProducts = '已關聯';
|
||||
$lang->project->unlinkedProducts = '未關聯';
|
||||
$lang->project->view = "{$lang->projectCommon}概況";
|
||||
$lang->project->create = "添加{$lang->projectCommon}";
|
||||
$lang->project->copy = "複製{$lang->projectCommon}";
|
||||
$lang->project->delete = "刪除{$lang->projectCommon}";
|
||||
$lang->project->browse = "瀏覽{$lang->projectCommon}";
|
||||
$lang->project->edit = "編輯{$lang->projectCommon}";
|
||||
$lang->project->batchEdit = "批量編輯";
|
||||
$lang->project->manageMembers = '團隊管理';
|
||||
$lang->project->unlinkMember = '移除成員';
|
||||
$lang->project->unlinkStory = '移除需求';
|
||||
$lang->project->batchUnlinkStory = '批量移除需求';
|
||||
$lang->project->importTask = '轉入任務';
|
||||
$lang->project->importPlanStories = '按計劃關聯需求';
|
||||
$lang->project->importBug = '導入Bug';
|
||||
$lang->project->updateOrder = '排序';
|
||||
$lang->project->tree = '樹狀圖';
|
||||
$lang->project->storyKanban = '需求看板';
|
||||
$lang->project->storySort = '需求排序';
|
||||
$lang->project->importPlanStory = '是否導入計劃關聯的相關需求?';
|
||||
|
||||
/* 分組瀏覽。*/
|
||||
$lang->project->allTasks = '所有';
|
||||
@@ -283,10 +287,10 @@ $lang->project->featureBar['task']['needconfirm'] = '需求變動';
|
||||
$lang->project->featureBar['task']['status'] = $lang->project->statusSelects[''];
|
||||
|
||||
$lang->project->treeLevel = array();
|
||||
$lang->project->treeLevel['root'] = '全部摺疊';
|
||||
$lang->project->treeLevel['story'] = '顯示需求';
|
||||
$lang->project->treeLevel['task'] = '顯示任務';
|
||||
$lang->project->treeLevel['all'] = '全部展開';
|
||||
$lang->project->treeLevel['root'] = '全部摺疊';
|
||||
$lang->project->treeLevel['story'] = '顯示需求';
|
||||
$lang->project->treeLevel['task'] = '顯示任務';
|
||||
$lang->project->treeLevel['all'] = '全部展開';
|
||||
|
||||
global $config;
|
||||
if($config->global->flow == 'onlyTask')
|
||||
|
||||
@@ -54,12 +54,15 @@
|
||||
{
|
||||
echo "<div class='btn-group' id='createActionMenu'>";
|
||||
common::printIcon('project', 'linkStory', "project=$project->id", '', 'button', 'link', '', 'link-story-btn');
|
||||
echo "<button type='button' class='btn dropdown-toggle' data-toggle='dropdown'>";
|
||||
echo "<span class='caret'></span>";
|
||||
echo '</button>';
|
||||
echo "<ul class='dropdown-menu pull-right'>";
|
||||
echo "<li>" . html::a('###', $lang->project->linkStoryByPlan, '', 'data-toggle="linkStoryByPlan"') . "</li>";
|
||||
echo '</ul>';
|
||||
if(common::hasPriv('project', 'importPlanStories'))
|
||||
{
|
||||
echo "<button type='button' class='btn dropdown-toggle' data-toggle='dropdown'>";
|
||||
echo "<span class='caret'></span>";
|
||||
echo '</button>';
|
||||
echo "<ul class='dropdown-menu pull-right'>";
|
||||
echo "<li>" . html::a('###', $lang->project->linkStoryByPlan, '', 'data-toggle="linkStoryByPlan"') . "</li>";
|
||||
echo '</ul>';
|
||||
}
|
||||
echo '</div>';
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -31,6 +31,9 @@ $lang->report->colors[] = '008ED6';
|
||||
$lang->report->colors[] = '9D080D';
|
||||
$lang->report->colors[] = 'A186BE';
|
||||
|
||||
$lang->report->isAssign[0] = '未指派';
|
||||
$lang->report->isAssign[1] = '已指派';
|
||||
|
||||
$lang->report->singleColor[] = 'F6BD0F';
|
||||
|
||||
$lang->report->projectDeviation = $lang->projectCommon . '偏差報表';
|
||||
@@ -72,6 +75,11 @@ $lang->report->unplanned = '未計劃';
|
||||
$lang->report->workday = '每天工時';
|
||||
$lang->report->diffDays = '工作日天數';
|
||||
|
||||
$lang->report->typeList[''] = '預設';
|
||||
$lang->report->typeList['pie'] = '餅圖';
|
||||
$lang->report->typeList['bar'] = '柱狀圖';
|
||||
$lang->report->typeList['line'] = '折線圖';
|
||||
|
||||
$lang->report->conditions = '篩選條件:';
|
||||
$lang->report->closedProduct = '關閉' . $lang->productCommon;
|
||||
$lang->report->overduePlan = '過期計劃';
|
||||
|
||||
@@ -114,6 +114,7 @@ $lang->story->stageList['testing'] = '測試中';
|
||||
$lang->story->stageList['tested'] = '測試完畢';
|
||||
$lang->story->stageList['verified'] = '已驗收';
|
||||
$lang->story->stageList['released'] = '已發佈';
|
||||
$lang->story->stageList['closed'] = '已關閉';
|
||||
|
||||
$lang->story->reasonList[''] = '';
|
||||
$lang->story->reasonList['done'] = '已完成';
|
||||
|
||||
@@ -36,8 +36,8 @@ $lang->testcase->stage = '適用階段';
|
||||
$lang->testcase->reviewedBy = '由誰評審';
|
||||
$lang->testcase->reviewedDate = '評審時間';
|
||||
$lang->testcase->reviewResult = '評審結果';
|
||||
$lang->testcase->reviewedByAB = '評審者';
|
||||
$lang->testcase->reviewedDateAB = '時間';
|
||||
$lang->testcase->reviewedByAB = '評審人';
|
||||
$lang->testcase->reviewedDateAB = '日期';
|
||||
$lang->testcase->reviewResultAB = '結果';
|
||||
$lang->testcase->forceNotReview = '不需要評審';
|
||||
$lang->testcase->lastEditedByAB = '修改者';
|
||||
@@ -111,23 +111,23 @@ $lang->testcase->deleteStep = '刪除';
|
||||
$lang->testcase->insertBefore = '之前添加';
|
||||
$lang->testcase->insertAfter = '之後添加';
|
||||
|
||||
$lang->testcase->assignToMe = '給我的用例';
|
||||
$lang->testcase->openedByMe = '我建的用例';
|
||||
$lang->testcase->allCases = '所有';
|
||||
$lang->testcase->needConfirm = '需求變動';
|
||||
$lang->testcase->bySearch = '搜索';
|
||||
$lang->testcase->assignToMe = '給我的用例';
|
||||
$lang->testcase->openedByMe = '我建的用例';
|
||||
$lang->testcase->allCases = '所有';
|
||||
$lang->testcase->needConfirm = '需求變動';
|
||||
$lang->testcase->bySearch = '搜索';
|
||||
|
||||
$lang->testcase->lblStory = '相關需求';
|
||||
$lang->testcase->lblLastEdited = '最後編輯';
|
||||
$lang->testcase->lblTypeValue = '類型可選值列表';
|
||||
$lang->testcase->lblStageValue = '階段可選值列表';
|
||||
$lang->testcase->lblStatusValue = '狀態可選值列表';
|
||||
$lang->testcase->lblStory = '相關需求';
|
||||
$lang->testcase->lblLastEdited = '最後編輯';
|
||||
$lang->testcase->lblTypeValue = '類型可選值列表';
|
||||
$lang->testcase->lblStageValue = '階段可選值列表';
|
||||
$lang->testcase->lblStatusValue = '狀態可選值列表';
|
||||
|
||||
$lang->testcase->legendBasicInfo = '基本信息';
|
||||
$lang->testcase->legendAttatch = '附件';
|
||||
$lang->testcase->legendLinkBugs = '相關Bug';
|
||||
$lang->testcase->legendOpenAndEdit = '創建編輯';
|
||||
$lang->testcase->legendComment = '備註';
|
||||
$lang->testcase->legendBasicInfo = '基本信息';
|
||||
$lang->testcase->legendAttatch = '附件';
|
||||
$lang->testcase->legendLinkBugs = '相關Bug';
|
||||
$lang->testcase->legendOpenAndEdit = '創建編輯';
|
||||
$lang->testcase->legendComment = '備註';
|
||||
|
||||
$lang->testcase->confirmDelete = '您確認要刪除該測試用例嗎?';
|
||||
$lang->testcase->confirmBatchDelete = '您確認要批量刪除這些測試用例嗎?';
|
||||
|
||||
@@ -64,6 +64,7 @@ $lang->testreport->foundBugTip = "影響版本在測試輪次內,並且創
|
||||
$lang->testreport->legacyBugTip = "Bug狀態是激活,或Bug的解決時間在測試結束時間之後。";
|
||||
$lang->testreport->fromCaseBugTip = "測試時間範圍內,用例執行失敗後創建的Bug";
|
||||
$lang->testreport->errorTrunk = "主幹版本不能創建測試報告,請修改關聯版本!";
|
||||
$lang->testreport->moreProduct = "只能對同一個產品生成測試報告。";
|
||||
|
||||
$lang->testreport->bugSummary = <<<EOD
|
||||
共發現<strong>%s</strong>個Bug <a data-toggle='tooltip' class='text-warning' title='{$lang->testreport->foundBugTip}'><i class='icon-info-sign'></i></a>,
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
$lang->todo->common = 'Todo';
|
||||
$lang->todo->index = "Home";
|
||||
$lang->todo->create = "Create Todo";
|
||||
$lang->todo->createCycle = "Create Cycle Todo";
|
||||
$lang->todo->assignTo = "Assign";
|
||||
$lang->todo->activate = "Activate";
|
||||
$lang->todo->batchCreate = "Batch Create";
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
$lang->todo->common = '待办';
|
||||
$lang->todo->index = "待办一览";
|
||||
$lang->todo->create = "新增";
|
||||
$lang->todo->createCycle = "创建周期待办";
|
||||
$lang->todo->assignTo = "指派";
|
||||
$lang->todo->activate = "激活";
|
||||
$lang->todo->batchCreate = "批量添加";
|
||||
|
||||
@@ -12,17 +12,28 @@
|
||||
$lang->todo->common = '待辦';
|
||||
$lang->todo->index = "待辦一覽";
|
||||
$lang->todo->create = "新增";
|
||||
$lang->todo->createCycle = "創建周期待辦";
|
||||
$lang->todo->assignTo = "指派";
|
||||
$lang->todo->activate = "激活";
|
||||
$lang->todo->batchCreate = "批量添加";
|
||||
$lang->todo->edit = "更新待辦";
|
||||
$lang->todo->edit = "編輯";
|
||||
$lang->todo->close = "關閉";
|
||||
$lang->todo->batchEdit = "批量編輯";
|
||||
$lang->todo->view = "待辦詳情";
|
||||
$lang->todo->finish = "完成";
|
||||
$lang->todo->batchFinish = "批量完成";
|
||||
$lang->todo->export = "導出";
|
||||
$lang->todo->delete = "刪除待辦";
|
||||
$lang->todo->delete = "刪除";
|
||||
$lang->todo->import2Today = "導入到今天";
|
||||
$lang->todo->import = "導入";
|
||||
$lang->todo->legendBasic = "基本信息";
|
||||
$lang->todo->cycle = "周期";
|
||||
$lang->todo->cycleConfig = "周期設置";
|
||||
|
||||
$lang->todo->reasonList['story'] = "轉需求";
|
||||
$lang->todo->reasonList['task'] = "轉任務";
|
||||
$lang->todo->reasonList['bug'] = "轉Bug";
|
||||
$lang->todo->reasonList['done'] = "完成";
|
||||
|
||||
$lang->todo->id = '編號';
|
||||
$lang->todo->account = '所有者';
|
||||
@@ -39,14 +50,23 @@ $lang->todo->name = '名稱';
|
||||
$lang->todo->status = '狀態';
|
||||
$lang->todo->desc = '描述';
|
||||
$lang->todo->private = '私人事務';
|
||||
$lang->todo->cycleDay = '天';
|
||||
$lang->todo->cycleWeek = '周';
|
||||
$lang->todo->cycleMonth = '月';
|
||||
$lang->todo->deadline = '過期時間';
|
||||
|
||||
$lang->todo->every = '間隔';
|
||||
$lang->todo->beforeDays = "<span class='input-group-addon'>提前</span>%s<span class='input-group-addon'>天生成待辦</span>";
|
||||
$lang->todo->dayNames = array(1 => '星期一', 2 => '星期二', 3 => '星期三', 4 => '星期四', 5 => '星期五', 6 => '星期六', 0 => '星期日');
|
||||
|
||||
$lang->todo->confirmBug = '該Todo關聯的是Bug #%s,需要修改它嗎?';
|
||||
$lang->todo->confirmTask = '該Todo關聯的是Task #%s,需要修改它嗎?';
|
||||
$lang->todo->confirmStory = '該Todo關聯的是Story #%s,需要修改它嗎?';
|
||||
|
||||
$lang->todo->statusList['wait'] = '未開始';
|
||||
$lang->todo->statusList['doing'] = '進行中';
|
||||
$lang->todo->statusList['done'] = '已完成';
|
||||
$lang->todo->statusList['wait'] = '未開始';
|
||||
$lang->todo->statusList['doing'] = '進行中';
|
||||
$lang->todo->statusList['done'] = '已完成';
|
||||
$lang->todo->statusList['closed'] = '已關閉';
|
||||
//$lang->todo->statusList['cancel'] = '已取消';
|
||||
//$lang->todo->statusList['postpone'] = '已延期';
|
||||
|
||||
@@ -57,6 +77,7 @@ $lang->todo->priList[4] = '最低';
|
||||
$lang->todo->priList[0] = '';
|
||||
|
||||
$lang->todo->typeList['custom'] = '自定義';
|
||||
$lang->todo->typeList['cycle'] = '周期';
|
||||
$lang->todo->typeList['bug'] = 'Bug';
|
||||
$lang->todo->typeList['task'] = $lang->projectCommon . '任務';
|
||||
$lang->todo->typeList['story'] = $lang->projectCommon . '需求';
|
||||
@@ -68,7 +89,9 @@ if($config->global->flow == 'onlyTask' or $config->global->flow == 'onlyStory')
|
||||
$lang->todo->confirmDelete = "您確定要刪除這條待辦嗎?";
|
||||
$lang->todo->thisIsPrivate = '這是一條私人事務。:)';
|
||||
$lang->todo->lblDisableDate = '暫時不設定時間';
|
||||
$lang->todo->lblBeforeDays = "提前%s天生成待辦";
|
||||
$lang->todo->noTodo = '該類型沒有待辦事務';
|
||||
$lang->todo->noAssignedTo = '被指派人不能為空';
|
||||
|
||||
$lang->todo->periods['today'] = '今日';
|
||||
$lang->todo->periods['yesterday'] = '昨日';
|
||||
@@ -81,7 +104,8 @@ $lang->todo->periods['thisYear'] = '本年';
|
||||
$lang->todo->periods['future'] = '待定';
|
||||
$lang->todo->periods['before'] = '未完';
|
||||
$lang->todo->periods['all'] = '所有';
|
||||
$lang->todo->periods['cycle'] = '周期';
|
||||
|
||||
$lang->todo->action = new stdclass();
|
||||
$lang->todo->action->finished = array('main' => '$date, 由 <strong>$actor</strong>完成');
|
||||
$lang->todo->action->finished = array('main' => '$date, 由 <strong>$actor</strong> $extra。$appendLink', 'extra' => 'reasonList');
|
||||
$lang->todo->action->marked = array('main' => '$date, 由 <strong>$actor</strong> 標記為<strong>$extra</strong>。', 'extra' => 'statusList');
|
||||
|
||||
@@ -130,3 +130,4 @@ $lang->upgrade->fromVersions['9_6'] = '9.6';
|
||||
$lang->upgrade->fromVersions['9_6_1'] = '9.6.1';
|
||||
$lang->upgrade->fromVersions['9_6_2'] = '9.6.2';
|
||||
$lang->upgrade->fromVersions['9_6_3'] = '9.6.3';
|
||||
$lang->upgrade->fromVersions['9_7'] = '9.7';
|
||||
|
||||
@@ -130,3 +130,4 @@ $lang->upgrade->fromVersions['9_6'] = '9.6';
|
||||
$lang->upgrade->fromVersions['9_6_1'] = '9.6.1';
|
||||
$lang->upgrade->fromVersions['9_6_2'] = '9.6.2';
|
||||
$lang->upgrade->fromVersions['9_6_3'] = '9.6.3';
|
||||
$lang->upgrade->fromVersions['9_7'] = '9.7';
|
||||
|
||||
@@ -130,3 +130,4 @@ $lang->upgrade->fromVersions['9_6'] = '9.6';
|
||||
$lang->upgrade->fromVersions['9_6_1'] = '9.6.1';
|
||||
$lang->upgrade->fromVersions['9_6_2'] = '9.6.2';
|
||||
$lang->upgrade->fromVersions['9_6_3'] = '9.6.3';
|
||||
$lang->upgrade->fromVersions['9_7'] = '9.7';
|
||||
|
||||
@@ -202,7 +202,9 @@ class upgradeModel extends model
|
||||
$this->adjustPriv9_7();
|
||||
$this->changeStoryWidth();
|
||||
case '9_7':
|
||||
$this->execSQL($this->getUpgradeFile('9.7'));
|
||||
$this->changeTeamFields();
|
||||
$this->moveData2Notify();
|
||||
}
|
||||
|
||||
$this->deletePatch();
|
||||
@@ -305,6 +307,7 @@ class upgradeModel extends model
|
||||
case '9_6_1':
|
||||
case '9_6_2':
|
||||
case '9_6_3': $confirmContent .= file_get_contents($this->getUpgradeFile('9.6.3'));
|
||||
case '9_7': $confirmContent .= file_get_contents($this->getUpgradeFile('9.7'));
|
||||
}
|
||||
return str_replace('zt_', $this->config->db->prefix, $confirmContent);
|
||||
}
|
||||
@@ -1741,6 +1744,7 @@ class upgradeModel extends model
|
||||
$data->group = $groupID;
|
||||
$data->module = 'bug';
|
||||
$data->method = 'batchActivate';
|
||||
$this->dao->replace(TABLE_GROUPPRIV)->data($data)->exec();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
@@ -1979,11 +1983,20 @@ class upgradeModel extends model
|
||||
*/
|
||||
public function changeTeamFields()
|
||||
{
|
||||
$this->dao->exec("ALTER TABLE `" . TABLE_TEAM . "` DROP PRIMARY KEY");
|
||||
$this->dao->exec("ALTER TABLE `" . TABLE_TEAM . "` CHANGE `project` `root` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0'");
|
||||
$this->dao->exec("ALTER TABLE `" . TABLE_TEAM . "` ADD `type` ENUM('project', 'task') NOT NULL DEFAULT 'project' AFTER `root`");
|
||||
$this->dao->exec("UPDATE `" . TABLE_TEAM . "` SET `root` = `task`, `type` = 'task' WHERE `task` > '0'");
|
||||
$this->dao->exec("ALTER TABLE `" . TABLE_TEAM . "` DROP `task`");
|
||||
$desc = $this->dao->query('DESC ' . TABLE_TEAM)->fetchAll();
|
||||
$fields = array();
|
||||
foreach($desc as $field)
|
||||
{
|
||||
$fieldName = $field->Field;
|
||||
$fields[$fieldName] = $fieldName;
|
||||
}
|
||||
if(isset($fields['root'])) return true;
|
||||
|
||||
$this->dao->exec("ALTER TABLE " . TABLE_TEAM . " CHANGE `project` `root` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0'");
|
||||
$this->dao->exec("ALTER TABLE " . TABLE_TEAM . " ADD `type` ENUM('project', 'task') NOT NULL DEFAULT 'project' AFTER `root`");
|
||||
$this->dao->exec("UPDATE " . TABLE_TEAM . " SET `root` = `task`, `type` = 'task' WHERE `task` > '0'");
|
||||
$this->dao->exec("ALTER TABLE " . TABLE_TEAM . " DROP PRIMARY KEY");
|
||||
$this->dao->exec("ALTER TABLE " . TABLE_TEAM . " DROP `task`");
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -2030,4 +2043,44 @@ class upgradeModel extends model
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adjust priv 9.8.
|
||||
*
|
||||
* @access public
|
||||
* @return bool
|
||||
*/
|
||||
public function adjustPriv9_8()
|
||||
{
|
||||
$groups = $this->dao->select('id')->from(TABLE_GROUP)->fetchPairs('id', 'id');
|
||||
foreach($groups as $group)
|
||||
{
|
||||
$groupPriv = new stdclass();
|
||||
$groupPriv->group = $groupID;
|
||||
$groupPriv->module = 'todo';
|
||||
$groupPriv->method = 'createcycle';
|
||||
$this->dao->replace(TABLE_GROUPPRIV)->data($data)->exec();
|
||||
}
|
||||
|
||||
$groups = $this->dao->select('*')->from(TABLE_GROUPPRIV)->where('module')->eq('mail')->orWhere('module')->eq('webhook')->fetchPairs('group', 'group');
|
||||
foreach($groups as $group)
|
||||
{
|
||||
$groupPriv = new stdclass();
|
||||
$groupPriv->group = $groupID;
|
||||
$groupPriv->module = 'message';
|
||||
$groupPriv->method = 'index';
|
||||
$this->dao->replace(TABLE_GROUPPRIV)->data($data)->exec();
|
||||
}
|
||||
|
||||
$groups = $this->dao->select('*')->from(TABLE_GROUPPRIV)->where('module')->eq('project')->andWhere('method')->eq('linkStory')->fetchPairs('group', 'group');
|
||||
foreach($groups as $group)
|
||||
{
|
||||
$groupPriv = new stdclass();
|
||||
$groupPriv->group = $groupID;
|
||||
$groupPriv->module = 'project';
|
||||
$groupPriv->method = 'importPlanStories';
|
||||
$this->dao->replace(TABLE_GROUPPRIV)->data($data)->exec();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user