From 5be7ec6214aa072d8b9ea746f123def445364c23 Mon Sep 17 00:00:00 2001 From: xia0ta0 Date: Mon, 5 Aug 2013 09:23:15 +0800 Subject: [PATCH 01/12] * code for task#1581. --- module/sso/lang/en.php | 32 ++++++++++++++++++++++++-------- module/sso/lang/zh-cn.php | 16 ++++++++-------- 2 files changed, 32 insertions(+), 16 deletions(-) diff --git a/module/sso/lang/en.php b/module/sso/lang/en.php index 4127d3846a..f00156a215 100644 --- a/module/sso/lang/en.php +++ b/module/sso/lang/en.php @@ -1,20 +1,20 @@ sso->common = 'SSO'; -$lang->sso->browse = 'Auth list'; -$lang->sso->create = 'Create auth'; -$lang->sso->edit = 'Edit auth'; -$lang->sso->delete = 'Delete auth'; +$lang->sso->browse = 'App list'; +$lang->sso->create = 'Create App'; +$lang->sso->edit = 'Edit App'; +$lang->sso->delete = 'Delete App'; $lang->sso->code = 'Code'; $lang->sso->title = 'Name'; $lang->sso->key = 'Key'; $lang->sso->ip = 'IP list'; -$lang->sso->createKey = 'Get new key'; +$lang->sso->createKey = 'New one'; -$lang->sso->confirmDelete = 'Are you sure to delete this auth?'; +$lang->sso->confirmDelete = 'Are you sure to delete this App?'; $lang->sso->note = new stdClass(); -$lang->sso->note->title = 'site name'; -$lang->sso->note->code = 'site code'; +$lang->sso->note->title = 'app name'; +$lang->sso->note->code = 'app code'; $lang->sso->note->ip = "Use comma between two IPs, and support IP segment, for example 192.168.1.*"; $lang->sso->error = new stdClass(); @@ -24,4 +24,20 @@ $lang->sso->error->key = 'Please input key'; $lang->sso->error->ip = 'Please input IP'; $lang->sso->instruction = <<Example:Name is 'Test'", Code is 'test', Key is '20c8eb0d522d2e1a09d4ea18e4df3a59',IP list is "192.168.11.*,127.0.0.1"。

+

1.User Auth

+

Application request API of user auth, check if the account and password is correct, to realize single sign-on (SSO).

+

The API is from sso module, auth method. POST data is account and encrypted string [md5(md5(password) + key)]. Return user info(json) if success, return fail if fail.

+

Example: url is 'http:://www.demo.com/sso-auth-test',POST string is 'account=admin&authcode=c44c577432230ad8e67160d3f9f0b91c'.

+

    Note: 'test' is App code, 'c44c577432230ad8e67160d3f9f0b91' is md5(md5('123456') + '20c8eb0d522d2e1a09d4ea18e4df3a59')

+

2.Get User List

+

Application request API of user list, get all user info of zentao.

+

The API if from sso module, users method. POST data is key. Return user list (json) if success, return fail if fail.

+

Example:url is 'http:://www.demo.com/sso-users-test', POST string is 'key=20c8eb0d522d2e1a09d4ea18e4df3a59'.

+

    Note: 'test' is App code, '20c8eb0d522d2e1a09d4ea18e4df3a59' is App key.

+

3.Get Dept List

+

Application request API of dept list, get all dept info of zentao.

+

The API if from sso module, depts method. POST data is key. Return dept list (json) if success, return fail if fail.

+

Example:url is 'http:://www.demo.com/sso-depts-test', POST string is 'key=20c8eb0d522d2e1a09d4ea18e4df3a59'.

+

    Note: 'test' is App code, '20c8eb0d522d2e1a09d4ea18e4df3a59' is App key.

EOT; diff --git a/module/sso/lang/zh-cn.php b/module/sso/lang/zh-cn.php index 19f97c2df7..5520d0237d 100644 --- a/module/sso/lang/zh-cn.php +++ b/module/sso/lang/zh-cn.php @@ -1,21 +1,21 @@ sso->common = '单点登录'; -$lang->sso->browse = '授权列表'; -$lang->sso->create = '创建授权'; -$lang->sso->edit = '编辑授权'; -$lang->sso->delete = '删除授权'; +$lang->sso->browse = '应用列表'; +$lang->sso->create = '添加应用'; +$lang->sso->edit = '编辑应用'; +$lang->sso->delete = '删除应用'; $lang->sso->code = '代号'; $lang->sso->title = '名称'; $lang->sso->key = '密钥'; $lang->sso->ip = 'IP列表'; $lang->sso->createKey = '重新生成密钥'; -$lang->sso->confirmDelete = '您确定删除该授权吗?'; +$lang->sso->confirmDelete = '您确定删除该应用吗?'; $lang->sso->note = new stdClass(); -$lang->sso->note->title = '授权站点名称'; -$lang->sso->note->code = '授权站点代号'; -$lang->sso->note->ip = "允许该站点使用这些ip访问,多个ip使用逗号隔开。支持IP段,如192.168.1.*"; +$lang->sso->note->title = '授权应用名称'; +$lang->sso->note->code = '授权应用代号'; +$lang->sso->note->ip = "允许该应用使用这些ip访问,多个ip使用逗号隔开。支持IP段,如192.168.1.*"; $lang->sso->error = new stdClass(); $lang->sso->error->title = '名称不能为空'; From 5e2622260896496e8f56ef08ebddd9b476a52fb5 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Mon, 5 Aug 2013 09:43:06 +0800 Subject: [PATCH 02/12] * adjust code and fix bug. --- module/project/control.php | 2 +- module/project/view/task.html.php | 1 + module/project/view/taskheader.html.php | 2 +- www/js/my.full.js | 2 ++ 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/module/project/control.php b/module/project/control.php index f7a9ed096d..569705e5d7 100644 --- a/module/project/control.php +++ b/module/project/control.php @@ -713,7 +713,7 @@ class project extends control $baselineJSON = '[]'; if($projectInfo->days <= $maxDays) { - $firstBurn = reset($sets); + $firstBurn = empty($sets) ? 0 : reset($sets); $firstTime = isset($firstBurn->value) ? $firstBurn->value : 0; $days = count($dateList) - 1; $rate = $firstTime / $days; diff --git a/module/project/view/task.html.php b/module/project/view/task.html.php index eb08a1c04a..34465ac24f 100644 --- a/module/project/view/task.html.php +++ b/module/project/view/task.html.php @@ -16,6 +16,7 @@ + diff --git a/module/project/view/taskheader.html.php b/module/project/view/taskheader.html.php index 87356a9b8a..826209656c 100644 --- a/module/project/view/taskheader.html.php +++ b/module/project/view/taskheader.html.php @@ -1,4 +1,4 @@ - +app->getModuleRoot() . 'common/view/dropmenu.html.php';?>
Date: Mon, 5 Aug 2013 10:22:07 +0800 Subject: [PATCH 03/12] * change for new version. --- config/config.php | 2 +- db/zentao.sql | 1 + module/action/lang/en.php | 9 ++++--- module/action/lang/zh-cn.php | 9 ++++--- module/action/lang/zh-tw.php | 10 ++++--- module/admin/lang/zh-tw.php | 8 +++--- module/api/lang/zh-tw.php | 14 +++++++++- module/bug/lang/zh-tw.php | 13 +++++++--- module/build/lang/zh-tw.php | 2 -- module/common/lang/zh-tw.php | 37 +++++++++++++++----------- module/dept/lang/zh-tw.php | 4 +++ module/editor/lang/zh-tw.php | 21 +++++---------- module/extension/lang/en.php | 5 ++++ module/extension/lang/zh-tw.php | 8 +++++- module/group/lang/resource.php | 6 +++++ module/install/lang/zh-tw.php | 2 -- module/mail/lang/zh-tw.php | 1 + module/misc/lang/zh-tw.php | 3 ++- module/product/lang/zh-tw.php | 35 +++++++++++++------------ module/productplan/lang/zh-tw.php | 29 ++++++++++++++------- module/project/lang/zh-tw.php | 42 ++++++++++++++++-------------- module/qa/lang/zh-tw.php | 1 + module/report/lang/zh-tw.php | 6 ++--- module/sso/lang/zh-tw.php | 43 +++++++++++++++++++++++++++++++ module/story/lang/en.php | 2 ++ module/story/lang/zh-cn.php | 2 ++ module/story/lang/zh-tw.php | 23 +++++++++++++++-- module/task/lang/zh-tw.php | 16 +++++++++++- module/testcase/lang/en.php | 1 - module/testcase/lang/zh-tw.php | 15 ++++++++++- module/testtask/lang/zh-tw.php | 8 +++++- module/todo/lang/zh-tw.php | 1 + module/upgrade/lang/en.php | 1 + module/upgrade/lang/zh-tw.php | 5 +++- module/upgrade/model.php | 1 + module/user/lang/zh-tw.php | 2 ++ tools/check.php | 6 ++--- 37 files changed, 277 insertions(+), 117 deletions(-) diff --git a/config/config.php b/config/config.php index ec646ba334..e1dcc42680 100644 --- a/config/config.php +++ b/config/config.php @@ -17,7 +17,7 @@ if(!function_exists('getWebRoot')){function getWebRoot(){}} /* Basic settings. */ $config = new config(); -$config->version = '4.2.beta'; // The version of zentaopms. Don't change it. +$config->version = '4.3.beta'; // The version of zentaopms. Don't change it. $config->charset = 'UTF-8'; // The charset of zentaopms. $config->cookieLife = time() + 2592000; // The cookie life time. $config->timezone = 'Asia/Shanghai'; // The time zone setting, for more see http://www.php.net/manual/en/timezones.php diff --git a/db/zentao.sql b/db/zentao.sql index 918e27515d..2f2e7af25f 100644 --- a/db/zentao.sql +++ b/db/zentao.sql @@ -19,6 +19,7 @@ CREATE TABLE IF NOT EXISTS `zt_bug` ( `product` mediumint(8) unsigned NOT NULL default '0', `module` mediumint(8) unsigned NOT NULL default '0', `project` mediumint(8) unsigned NOT NULL default '0', + `plan` mediumint(8) unsigned NOT NULL default '0', `story` mediumint(8) unsigned NOT NULL default '0', `storyVersion` smallint(6) NOT NULL default '1', `task` mediumint(8) unsigned NOT NULL default '0', diff --git a/module/action/lang/en.php b/module/action/lang/en.php index ba85b78faf..bd3da97934 100644 --- a/module/action/lang/en.php +++ b/module/action/lang/en.php @@ -20,10 +20,11 @@ $lang->action->action = 'Action'; $lang->action->actionID = 'ActionID'; $lang->action->date = 'Date'; -$lang->action->trash = 'Trash'; -$lang->action->undelete = 'Undelete'; -$lang->action->hideOne = 'Hide'; -$lang->action->hideAll = 'Hide all'; +$lang->action->trash = 'Trash'; +$lang->action->undelete = 'Undelete'; +$lang->action->hideOne = 'Hide'; +$lang->action->hideAll = 'Hide all'; +$lang->action->editComment = 'Edit comment'; $lang->action->trashTips = "Tips:The deleting actions in zentao are all logic"; $lang->action->textDiff = 'Text mode'; diff --git a/module/action/lang/zh-cn.php b/module/action/lang/zh-cn.php index c594b0596f..4fdb662e10 100644 --- a/module/action/lang/zh-cn.php +++ b/module/action/lang/zh-cn.php @@ -20,10 +20,11 @@ $lang->action->action = '动作'; $lang->action->actionID = '记录ID'; $lang->action->date = '日期'; -$lang->action->trash = '回收站'; -$lang->action->undelete = '还原'; -$lang->action->hideOne = '隐藏'; -$lang->action->hideAll = '全部隐藏'; +$lang->action->trash = '回收站'; +$lang->action->undelete = '还原'; +$lang->action->hideOne = '隐藏'; +$lang->action->hideAll = '全部隐藏'; +$lang->action->editComment = '修改备注'; $lang->action->trashTips = '提示:为了保证系统的完整性,禅道系统的删除都是标记删除。'; $lang->action->textDiff = '文本格式'; diff --git a/module/action/lang/zh-tw.php b/module/action/lang/zh-tw.php index d6b8acd10e..0ae62589ad 100644 --- a/module/action/lang/zh-tw.php +++ b/module/action/lang/zh-tw.php @@ -20,10 +20,11 @@ $lang->action->action = '動作'; $lang->action->actionID = '記錄ID'; $lang->action->date = '日期'; -$lang->action->trash = '資源回收筒'; -$lang->action->undelete = '還原'; -$lang->action->hideOne = '隱藏'; -$lang->action->hideAll = '全部隱藏'; +$lang->action->trash = '資源回收筒'; +$lang->action->undelete = '還原'; +$lang->action->hideOne = '隱藏'; +$lang->action->hideAll = '全部隱藏'; +$lang->action->editComment = '修改備註'; $lang->action->trashTips = '提示:為了保證系統的完整性,禪道系統的刪除都是標記刪除。'; $lang->action->textDiff = '文本格式'; @@ -77,6 +78,7 @@ $lang->action->desc->commented = '$date, 由 $actor 添加 $lang->action->desc->activated = '$date, 由 $actor 激活。' . "\n"; $lang->action->desc->moved = '$date, 由 $actor 移動,之前為 "$extra"。' . "\n"; $lang->action->desc->confirmed = '$date, 由 $actor 確認需求變動,最新版本為#$extra。' . "\n"; +$lang->action->desc->caseconfirmed = '$date, 由 $actor 確認用例變動,最新版本為#$extra。' . "\n"; $lang->action->desc->bugconfirmed = '$date, 由 $actor 確認Bug。' . "\n"; $lang->action->desc->frombug = '$date, 由 $actor Bug轉化而來,Bug編號為 $extra。'; $lang->action->desc->started = '$date, 由 $actor 啟動。' . "\n"; diff --git a/module/admin/lang/zh-tw.php b/module/admin/lang/zh-tw.php index f5abbe1d91..1c6da2e614 100644 --- a/module/admin/lang/zh-tw.php +++ b/module/admin/lang/zh-tw.php @@ -58,9 +58,9 @@ $lang->admin->bind->success = "關聯賬戶成功"; $lang->admin->selectFlow = '您計劃如何使用禪道?'; -$lang->admin->flowList['full'] = '所有功能(包括產品、項目、需求、計劃、發佈、任務、Bug、用例、測試任務和文檔等功能。)'; -$lang->admin->flowList['onlyTest'] = '僅測試管理(包括產品、版本、Bug、用例、測試任務和文檔管理等功能。)'; -$lang->admin->flowList['onlyTask'] = '僅任務管理(包括項目、任務和文檔管理。)'; -$lang->admin->flowList['onlyStory'] = '僅需求管理(包括產品、需求、計劃、發佈和文檔管理等功能。)'; +$lang->admin->flowList['full'] = '所有功能(包括產品、項目、需求、計劃、發佈、任務、Bug、用例、測試任務和文檔等功能。)'; +$lang->admin->flowList['zentaotest'] = '僅測試管理(包括產品、版本、Bug、用例、測試任務和文檔管理等功能。)'; +$lang->admin->flowList['zentaotask'] = '僅任務管理(包括項目、任務和文檔管理。)'; +$lang->admin->flowList['zentaostory'] = '僅需求管理(包括產品、需求、計劃、發佈和文檔管理等功能。)'; $lang->admin->flowNotice = "註:如果您使用的不是所有功能,後續可以到“管理->插件”中,卸載相應的插件,即可重新使用禪道所有功能。"; diff --git a/module/api/lang/zh-tw.php b/module/api/lang/zh-tw.php index b8c0e34796..953170babb 100644 --- a/module/api/lang/zh-tw.php +++ b/module/api/lang/zh-tw.php @@ -6,9 +6,21 @@ * @license LGPL (http://www.gnu.org/licenses/lgpl.html) * @author Chunsheng Wang * @package api - * @version $Id: zh-tw.php 4344 2013-02-06 04:10:55Z wwccss $ + * @version $Id: zh-tw.php 5129 2013-07-15 00:16:07Z zhujinyonging@gmail.com $ * @link http://www.zentao.net */ $lang->api = new stdclass(); $lang->api->common = 'API介面'; $lang->api->getModel = '超級model調用介面'; + +$lang->api->position = '位置'; +$lang->api->startLine = "%s,%s行"; +$lang->api->desc = '描述'; +$lang->api->debug = '調試'; +$lang->api->submit = '提交'; +$lang->api->url = '請求地址'; +$lang->api->result = '返回結果'; +$lang->api->status = '狀態'; +$lang->api->data = '內容'; +$lang->api->noParam = 'GET方式調試不需要輸入參數,'; +$lang->api->post = 'POST方式調試請參照頁面表單'; diff --git a/module/bug/lang/zh-tw.php b/module/bug/lang/zh-tw.php index 1a9a9926f9..7611b86ea6 100644 --- a/module/bug/lang/zh-tw.php +++ b/module/bug/lang/zh-tw.php @@ -13,6 +13,7 @@ $lang->bug->common = 'Bug'; $lang->bug->id = 'Bug編號'; $lang->bug->product = '所屬產品'; +$lang->bug->productplan = '所屬計劃'; $lang->bug->module = '所屬模組'; $lang->bug->path = '模組路徑'; $lang->bug->project = '所屬項目'; @@ -25,6 +26,7 @@ $lang->bug->severityAB = '級別'; $lang->bug->pri = '優先順序'; $lang->bug->type = 'Bug類型'; $lang->bug->os = '操作系統'; +$lang->bug->plan = '所屬計劃'; $lang->bug->hardware = '硬件平台'; $lang->bug->browser = '瀏覽器'; $lang->bug->machine = '機器硬件'; @@ -69,6 +71,7 @@ $lang->bug->toCase = '生成用例'; /* 方法列表。*/ $lang->bug->index = '首頁'; $lang->bug->create = '提Bug'; +$lang->bug->batchCreate = '批量添加'; $lang->bug->confirmBug = '確認'; $lang->bug->edit = '編輯'; $lang->bug->batchEdit = '批量編輯'; @@ -352,9 +355,11 @@ $lang->bug->report->bugHistories->graph->xAxisName = '處理步驟'; /* 操作記錄。*/ $lang->bug->action = new stdclass(); -$lang->bug->action->resolved = array('main' => '$date, 由 $actor 解決,方案為 $extra。', 'extra' => $lang->bug->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。', 'extra' => $lang->bug->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->placeholder = new stdclass(); -$lang->bug->placeholder->mailto = '輸入用戶名自動選擇'; +$lang->bug->placeholder->chooseBuilds = '選擇相關版本...'; diff --git a/module/build/lang/zh-tw.php b/module/build/lang/zh-tw.php index fe75e47ed3..78a6957084 100644 --- a/module/build/lang/zh-tw.php +++ b/module/build/lang/zh-tw.php @@ -38,5 +38,3 @@ $lang->build->bugs = '已關聯Bug'; $lang->build->finishStories = '本次共完成需求%s個'; $lang->build->resolvedBugs = '本次共解決Bug%s個'; - -$lang->build->notice = '版本請到[項目視圖]-[版本]創建。'; diff --git a/module/common/lang/zh-tw.php b/module/common/lang/zh-tw.php index e716490e90..305fe16796 100644 --- a/module/common/lang/zh-tw.php +++ b/module/common/lang/zh-tw.php @@ -6,7 +6,7 @@ * @license LGPL (http://www.gnu.org/licenses/lgpl.html) * @author Chunsheng Wang * @package ZenTaoPMS - * @version $Id: zh-tw.php 5029 2013-07-06 03:00:01Z chencongzhi520@gmail.com $ + * @version $Id: zh-tw.php 5116 2013-07-12 06:37:48Z chencongzhi520@gmail.com $ * @link http://www.zentao.net */ $lang->arrow = '  '; @@ -15,6 +15,7 @@ $lang->comma = ','; $lang->dot = '。'; $lang->at = ' 于 '; $lang->downArrow = '↓'; +$lang->null = '空'; $lang->zentaoPMS = '禪道管理'; $lang->welcome = "歡迎使用『%s』{$lang->colon} {$lang->zentaoPMS}"; @@ -27,6 +28,7 @@ $lang->todayIs = '今天是%s,'; $lang->runInfo = "
時間: %s 毫秒, 內存: %s KB, 查詢: %s.
"; $lang->reset = '重填'; +$lang->refresh = '刷新'; $lang->edit = '編輯'; $lang->copy = '複製'; $lang->delete = '刪除'; @@ -137,10 +139,10 @@ $lang->my->menu = new stdclass(); $lang->my->menu->account = ' %s' . $lang->arrow; $lang->my->menu->index = '首頁|my|index'; $lang->my->menu->todo = array('link' => '待辦|my|todo|', 'subModule' => 'todo'); -$lang->my->menu->task = '任務|my|task|'; -$lang->my->menu->bug = 'Bug|my|bug|'; -$lang->my->menu->testtask = array('link' => '測試|my|testtask|', 'alias' => 'testcase'); -$lang->my->menu->story = '需求|my|story|'; +$lang->my->menu->task = array('link' => '任務|my|task|', 'subModule' => 'task'); +$lang->my->menu->bug = array('link' => 'Bug|my|bug|', 'subModule' => 'bug'); +$lang->my->menu->testtask = array('link' => '測試|my|testtask|', 'subModule' => 'testcase,testtask', 'alias' => 'testcase'); +$lang->my->menu->story = array('link' => '需求|my|story|', 'subModule' => 'story'); $lang->my->menu->myProject = '項目|my|project|'; $lang->my->menu->dynamic = '動態|my|dynamic|'; $lang->my->menu->profile = array('link' => '檔案|my|profile|', 'alias' => 'editprofile'); @@ -202,7 +204,7 @@ $lang->bug = new stdclass(); $lang->bug->menu = new stdclass(); $lang->bug->menu->product = '%s'; -$lang->bug->menu->bug = array('link' => 'Bug|bug|browse|productID=%s', 'alias' => 'view,create,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,confirmbug,assignto', 'subModule' => 'tree'); $lang->bug->menu->testcase = array('link' => '用例|testcase|browse|productID=%s', 'alias' => 'view,create,edit'); $lang->bug->menu->testtask = array('link' => '測試任務|testtask|browse|productID=%s'); @@ -211,7 +213,7 @@ $lang->testcase->menu = new stdclass(); $lang->testcase->menu->product = '%s'; $lang->testcase->menu->bug = array('link' => 'Bug|bug|browse|productID=%s'); -$lang->testcase->menu->testcase = array('link' => '用例|testcase|browse|productID=%s', 'alias' => 'view,create,batchcreate,edit,batchedit', 'subModule' => 'tree'); +$lang->testcase->menu->testcase = array('link' => '用例|testcase|browse|productID=%s', 'alias' => 'view,create,batchcreate,edit,batchedit,showimport', 'subModule' => 'tree'); $lang->testcase->menu->testtask = array('link' => '測試任務|testtask|browse|productID=%s', 'alias' => 'view,create,edit,linkcase,cases,start,close,batchrun'); $lang->testtask = new stdclass(); @@ -254,7 +256,7 @@ $lang->company->menu->browseGroup = array('link' => '權限|group|browse', 'sub $lang->company->menu->view = array('link' => '公司|company|view', 'alias' => 'edit'); $lang->company->menu->dynamic = '動態|company|dynamic|'; $lang->company->menu->addGroup = array('link' => ' 添加分組|group|create', 'float' => 'right'); -$lang->company->menu->batchAddUser = array('link' => ' 批量添加|user|batchCreate', 'subModule' => 'user', 'float' => 'right'); +$lang->company->menu->batchAddUser = array('link' => ' 批量添加|user|batchCreate|dept=%s', 'subModule' => 'user', 'float' => 'right'); $lang->company->menu->addUser = array('link' => ' 添加用戶|user|create|dept=%s', 'subModule' => 'user', 'float' => 'right'); $lang->dept = new stdclass(); @@ -269,12 +271,12 @@ $lang->user->menu = $lang->company->menu; $lang->admin = new stdclass(); $lang->admin->menu = new stdclass(); $lang->admin->menu->index = array('link' => '首頁|admin|index'); -$lang->admin->menu->extension = array('link' => '插件|extension|browse', 'subModule' => 'extension'); -$lang->admin->menu->editor = array('link' => '擴展編輯器|editor|index', 'subModule' => 'editor'); +$lang->admin->menu->extension = array('link' => '擴展|extension|browse', 'subModule' => 'extension,editor'); $lang->admin->menu->mail = array('link' => '發信|mail|index', 'subModule' => 'mail'); $lang->admin->menu->clearData = array('link' => '清除數據|admin|cleardata'); $lang->admin->menu->convert = array('link' => '導入|convert|index', 'subModule' => 'convert'); $lang->admin->menu->trashes = array('link' => '資源回收筒|action|trash', 'subModule' => 'action'); +$lang->admin->menu->sso = array('link' => '單點登錄|sso|browse', 'subModule' => 'sso'); $lang->convert = new stdclass(); $lang->upgrade = new stdclass(); @@ -282,6 +284,7 @@ $lang->action = new stdclass(); $lang->extension = new stdclass(); $lang->editor = new stdclass(); $lang->mail = new stdclass(); +$lang->sso = new stdclass(); $lang->convert->menu = $lang->admin->menu; $lang->upgrade->menu = $lang->admin->menu; @@ -289,6 +292,7 @@ $lang->action->menu = $lang->admin->menu; $lang->extension->menu = $lang->admin->menu; $lang->editor->menu = $lang->admin->menu; $lang->mail->menu = $lang->admin->menu; +$lang->sso->menu = $lang->admin->menu; /* 菜單分組。*/ $lang->menugroup = new stdclass(); @@ -311,6 +315,7 @@ $lang->menugroup->action = 'admin'; $lang->menugroup->extension = 'admin'; $lang->menugroup->editor = 'admin'; $lang->menugroup->mail = 'admin'; +$lang->menugroup->sso = 'admin'; /* 錯誤提示信息。*/ $lang->error = new stdclass(); @@ -331,6 +336,7 @@ $lang->error->account = "『%s』應當為合法的用戶名。"; $lang->error->passwordsame = "兩次密碼應當相等。"; $lang->error->passwordrule = "密碼應該符合規則,長度至少為六位。"; $lang->error->accessDenied = '您沒有訪問權限'; +$lang->error->noData = '沒有數據'; /* 分頁信息。*/ $lang->pager = new stdclass(); @@ -343,15 +349,16 @@ $lang->pager->last = "末頁"; $lang->pager->locate = "GO!"; $lang->zentaoSite = "官方網站"; -$lang->chinaScrum = "Scrum社區 "; -$lang->agileTraining = "培訓 "; -$lang->donate = "捐贈 "; -$lang->proVersion = "購買專業版(特惠)! "; +$lang->chinaScrum = "Scrum社區 "; +$lang->agileTraining = "培訓 "; +$lang->donate = "捐贈 "; +$lang->proVersion = "購買專業版(特惠)! "; $lang->downNotify = "下載桌面提醒"; $lang->suhosinInfo = "警告:數據太多,請在php.ini中修改sohusin.post.max_vars和sohusin.request.max_vars(設置更大的數)。 保存並重新啟動apache,否則會造成部分數據無法保存。"; -$lang->noResultsMatch = "沒有匹配結果"; +$lang->noResultsMatch = "沒有匹配結果"; +$lang->chooseUsersToMail = "選擇要發信通知的用戶..."; /* 時間格式設置。*/ define('DT_DATETIME1', 'Y-m-d H:i:s'); diff --git a/module/dept/lang/zh-tw.php b/module/dept/lang/zh-tw.php index 5efecb26fc..0c520b2c19 100644 --- a/module/dept/lang/zh-tw.php +++ b/module/dept/lang/zh-tw.php @@ -21,3 +21,7 @@ $lang->dept->users = "成員列表"; $lang->dept->saveButton = " 保存 (S) "; $lang->dept->confirmDelete = " 您確定刪除該部門嗎?"; + +$lang->dept->error = new stdclass(); +$lang->dept->error->hasSons = '該部門有子部門,不能刪除!'; +$lang->dept->error->hasUsers = '該部門有職員,不能刪除!'; diff --git a/module/editor/lang/zh-tw.php b/module/editor/lang/zh-tw.php index d8440d7ffd..8fb414a075 100644 --- a/module/editor/lang/zh-tw.php +++ b/module/editor/lang/zh-tw.php @@ -1,8 +1,10 @@ editor->common = '擴展編輯器'; +$lang->editor->common = '編輯器'; +$lang->editor->api = 'API'; $lang->editor->index = '首頁'; $lang->editor->newMethod = '新增方法'; $lang->editor->extend = '擴展'; +$lang->editor->api = 'API'; $lang->editor->newLang = '新增語言'; $lang->editor->newConfig = '新增配置'; $lang->editor->newHook = '新增鈎子'; @@ -33,20 +35,9 @@ $lang->editor->notWritable = "無法寫入,可能沒有權限。請嘗試執 $lang->editor->notDelete = '無法刪除,請檢查權限!'; $lang->editor->emptyFileName = '請寫入一個檔案名!'; -$lang->editor->translate['config.php'] = '配置檔案'; -$lang->editor->translate['config'] = '配置擴展'; -$lang->editor->translate['control.php'] = '控制檔案'; -$lang->editor->translate['control'] = '控制擴展'; -$lang->editor->translate['model.php'] = '模型檔案'; -$lang->editor->translate['model'] = '模型擴展'; -$lang->editor->translate['view'] = '模板檔案'; -$lang->editor->translate['lang'] = '語言檔案'; -$lang->editor->translate['en'] = '英文'; -$lang->editor->translate['zh-tw'] = '中文簡體'; -$lang->editor->translate['zh-tw'] = '中文繁體'; -$lang->editor->translate['js'] = 'JS腳本'; -$lang->editor->translate['css'] = 'CSS樣式'; -$lang->editor->translate['ext'] = '擴展檔案'; +$lang->editor->translate['config.php'] = 'config'; +$lang->editor->translate['control.php'] = 'control'; +$lang->editor->translate['model.php'] = 'model'; $lang->editor->modules['action'] = '系統日誌'; $lang->editor->modules['admin'] = '後台管理'; diff --git a/module/extension/lang/en.php b/module/extension/lang/en.php index a9fd672a89..85d8e4994c 100644 --- a/module/extension/lang/en.php +++ b/module/extension/lang/en.php @@ -63,6 +63,7 @@ $lang->extension->bySearch = 'Search'; $lang->extension->byCategory = 'By Category'; $lang->extension->installFailed = '%s failed, the reason is:'; +$lang->extension->uninstallFailed = 'Uninstall failed, the reason is:'; $lang->extension->installFinished = 'Good, the extension has been %s successfully.'; $lang->extension->refreshPage = 'Refresh'; $lang->extension->uninstallFinished = 'Extension has been successfully uninstalled.'; @@ -97,3 +98,7 @@ $lang->extension->errorPackageNotFound = 'The package file %s extension->errorTargetPathNotWritable = 'Target path %s not writable.'; $lang->extension->errorTargetPathNotExists = 'Target path %s not exists'; $lang->extension->errorInstallDB = 'Execute database sql failed, the error is: %s'; +$lang->extension->errorConflicts = 'With plug-in "%s" Conflict!'; +$lang->extension->errorDepends = 'The following dependency plugin is not installed or the version is incorrect:

%s'; +$lang->extension->errorIncompatible = 'The plug-in with your ZenTao incompatible version'; +$lang->extension->errorUninstallDepends = 'Plugin "%s" relying on the plug-in, can not uninstall'; diff --git a/module/extension/lang/zh-tw.php b/module/extension/lang/zh-tw.php index c80affc9c4..f176f01aca 100644 --- a/module/extension/lang/zh-tw.php +++ b/module/extension/lang/zh-tw.php @@ -36,7 +36,7 @@ $lang->extension->name = '名稱'; $lang->extension->code = '插件代號'; $lang->extension->version = '版本'; $lang->extension->compatible = '適用版本'; -$lang->extension->latest = '最新版本%s,兼容禪道%s'; +$lang->extension->latest = '最新版本%s,兼容禪道%s'; $lang->extension->author = '作者'; $lang->extension->license = '授權'; $lang->extension->intro = '詳情'; @@ -48,6 +48,7 @@ $lang->extension->downloads = '下載量'; $lang->extension->public = '下載方式'; $lang->extension->compatible = '兼容性'; $lang->extension->grade = '評分'; +$lang->extension->depends = '依賴'; $lang->extension->publicList[0] = '手工下載'; $lang->extension->publicList[1] = '直接下載'; @@ -62,6 +63,7 @@ $lang->extension->bySearch = '搜索'; $lang->extension->byCategory = '分類瀏覽'; $lang->extension->installFailed = '%s失敗,錯誤原因如下:'; +$lang->extension->uninstallFailed = '卸載失敗,錯誤原因如下:'; $lang->extension->installFinished = '恭喜您,插件順利的%s成功!'; $lang->extension->refreshPage = '刷新頁面'; $lang->extension->uninstallFinished = '插件已經成功卸載'; @@ -96,3 +98,7 @@ $lang->extension->errorPackageNotFound = '包檔案 %s $lang->extension->errorTargetPathNotWritable = '目標路徑 %s 不可寫。'; $lang->extension->errorTargetPathNotExists = '目標路徑 %s 不存在。'; $lang->extension->errorInstallDB = '執行資料庫語句失敗。錯誤信息如下:%s'; +$lang->extension->errorConflicts = '與插件“%s”衝突!'; +$lang->extension->errorDepends = '以下依賴插件沒有安裝或版本不正確:

%s'; +$lang->extension->errorIncompatible = '該插件與您的禪道版本不兼容'; +$lang->extension->errorUninstallDepends = '插件“%s”依賴該插件,不能卸載'; diff --git a/module/group/lang/resource.php b/module/group/lang/resource.php index 81c723992e..b04e4137db 100644 --- a/module/group/lang/resource.php +++ b/module/group/lang/resource.php @@ -159,6 +159,8 @@ $lang->resource->story->batchClose = 'batchClose'; $lang->resource->story->activate = 'lblActivate'; $lang->resource->story->tasks = 'tasks'; $lang->resource->story->report = 'reportChart'; +$lang->resource->story->batchChangePlan = 'batchChangePlan'; +$lang->resource->story->batchChangeStage = 'batchChangeStage'; $lang->story->methodOrder[5] = 'create'; $lang->story->methodOrder[10] = 'batchCreate'; @@ -398,6 +400,9 @@ $lang->resource->testcase->edit = 'edit'; $lang->resource->testcase->batchEdit = 'batchEdit'; $lang->resource->testcase->delete = 'delete'; $lang->resource->testcase->export = 'export'; +$lang->resource->testcase->exportTemplet = 'exportTemplet'; +$lang->resource->testcase->import = 'import'; +$lang->resource->testcase->showImport = 'showImport'; $lang->resource->testcase->confirmChange = 'confirmChange'; $lang->resource->testcase->confirmStoryChange = 'confirmStoryChange'; @@ -750,6 +755,7 @@ $lang->resource->action->trash = 'trash'; $lang->resource->action->undelete = 'undelete'; $lang->resource->action->hideOne = 'hideOne'; $lang->resource->action->hideAll = 'hideAll'; +$lang->resource->action->editComment = 'editComment'; $lang->action->methodOrder[5] = 'trash'; $lang->action->methodOrder[10] = 'undelete'; diff --git a/module/install/lang/zh-tw.php b/module/install/lang/zh-tw.php index 4c2d0b1254..a49b856139 100644 --- a/module/install/lang/zh-tw.php +++ b/module/install/lang/zh-tw.php @@ -102,8 +102,6 @@ $lang->install->errorNotSaveConfig = '還沒有保存配置檔案'; $lang->install->getPriv = '設置帳號'; $lang->install->company = '公司名稱'; -$lang->install->pms = 'PMS地址'; -$lang->install->pmsNote = '即通過什麼地址可以訪問到禪道項目管理,設置域名或者IP地址即可,不需要http'; $lang->install->account = '管理員帳號'; $lang->install->password = '管理員密碼'; $lang->install->errorEmptyPassword = '密碼不能為空'; diff --git a/module/mail/lang/zh-tw.php b/module/mail/lang/zh-tw.php index df7bb99d4f..fdd7d99fd5 100644 --- a/module/mail/lang/zh-tw.php +++ b/module/mail/lang/zh-tw.php @@ -5,6 +5,7 @@ $lang->mail->detect = '檢測'; $lang->mail->edit = '編輯配置'; $lang->mail->save = '成功保存'; $lang->mail->test = '測試發信'; +$lang->mail->reset = '重置'; $lang->mail->turnon = '是否打開'; $lang->mail->fromAddress = '發信郵箱'; diff --git a/module/misc/lang/zh-tw.php b/module/misc/lang/zh-tw.php index 21efc5d178..b8baf59427 100644 --- a/module/misc/lang/zh-tw.php +++ b/module/misc/lang/zh-tw.php @@ -6,7 +6,7 @@ * @license LGPL (http://www.gnu.org/licenses/lgpl.html) * @author Chunsheng Wang * @package misc - * @version $Id: zh-tw.php 4129 2013-01-18 01:58:14Z wwccss $ + * @version $Id: zh-tw.php 5128 2013-07-13 08:59:49Z chencongzhi520@gmail.com $ * @link http://www.zentao.net */ $lang->misc = new stdclass(); @@ -46,4 +46,5 @@ $lang->misc->zentao->service['install'] = '禪道安裝服務'; $lang->misc->zentao->service['fixissue'] = '禪道問題解決'; $lang->misc->zentao->service['servicemore']= '更多服務...'; +$lang->misc->noGDLib = "找不到GD庫,請用手機瀏覽器直接訪問:%s"; $lang->misc->copyright = "版權所有 ©2009-2013
青島易軟天創網絡科技有限公司"; diff --git a/module/product/lang/zh-tw.php b/module/product/lang/zh-tw.php index 225efec8ec..4355911ae9 100644 --- a/module/product/lang/zh-tw.php +++ b/module/product/lang/zh-tw.php @@ -6,23 +6,24 @@ * @license LGPL (http://www.gnu.org/licenses/lgpl.html) * @author Chunsheng Wang * @package product - * @version $Id: zh-tw.php 5029 2013-07-06 03:00:01Z chencongzhi520@gmail.com $ + * @version $Id: zh-tw.php 5091 2013-07-10 06:06:46Z chencongzhi520@gmail.com $ * @link http://www.zentao.net */ -$lang->product->common = '產品視圖'; -$lang->product->index = "產品首頁"; -$lang->product->browse = "瀏覽產品"; -$lang->product->dynamic= "動態"; -$lang->product->view = "產品信息"; -$lang->product->edit = "編輯產品"; -$lang->product->create = "新增產品"; -$lang->product->read = "產品詳情"; -$lang->product->delete = "刪除產品"; -$lang->product->close = "關閉"; -$lang->product->select = '--請選擇產品--'; -$lang->product->mine = '我負責:'; -$lang->product->other = '其他:'; -$lang->product->closed = '已關閉»'; +$lang->product->common = '產品視圖'; +$lang->product->index = "產品首頁"; +$lang->product->browse = "瀏覽產品"; +$lang->product->dynamic = "動態"; +$lang->product->view = "產品信息"; +$lang->product->edit = "編輯產品"; +$lang->product->batchEdit = "批量編輯"; +$lang->product->create = "新增產品"; +$lang->product->read = "產品詳情"; +$lang->product->delete = "刪除產品"; +$lang->product->close = "關閉"; +$lang->product->select = '--請選擇產品--'; +$lang->product->mine = '我負責:'; +$lang->product->other = '其他:'; +$lang->product->closed = '已關閉»'; $lang->product->basicInfo = '基本信息'; $lang->product->otherInfo = '其他信息'; @@ -86,5 +87,5 @@ $lang->product->aclList['open'] = '預設設置(有產品視圖權限,即 $lang->product->aclList['private'] = '私有產品(只有項目團隊成員才能訪問)'; $lang->product->aclList['custom'] = '自定義白名單(團隊成員和白名單的成員可以訪問)'; -$lang->product->storySummary = "本頁共 %s 個需求,預計 %s 個工時。"; -$lang->product->noMatchedProduct = '找不到與"%s"相關的產品'; +$lang->product->storySummary = "本頁共 %s 個需求,預計 %s 個工時,用例覆蓋率%s。"; +$lang->product->noMatched = '找不到包含"%s"的產品'; diff --git a/module/productplan/lang/zh-tw.php b/module/productplan/lang/zh-tw.php index 9dc2426390..7b964729fe 100644 --- a/module/productplan/lang/zh-tw.php +++ b/module/productplan/lang/zh-tw.php @@ -9,23 +9,32 @@ * @version $Id: zh-tw.php 4659 2013-04-17 06:45:08Z chencongzhi520@gmail.com $ * @link http://www.zentao.net */ -$lang->productplan->common = '產品計劃'; -$lang->productplan->browse = "瀏覽計劃"; -$lang->productplan->index = "計劃列表"; -$lang->productplan->create = "創建計劃"; -$lang->productplan->edit = "編輯計劃"; -$lang->productplan->delete = "刪除計劃"; -$lang->productplan->view = "計劃詳情"; +$lang->productplan->common = '產品計劃'; +$lang->productplan->browse = "瀏覽計劃"; +$lang->productplan->index = "計劃列表"; +$lang->productplan->create = "創建計劃"; +$lang->productplan->edit = "編輯計劃"; +$lang->productplan->delete = "刪除計劃"; +$lang->productplan->view = "計劃詳情"; +$lang->productplan->bugSummary = "本頁共 %s 個Bug"; +$lang->productplan->basicInfo = '基本信息'; + +$lang->productplan->batchUnlink = "批量移除"; $lang->productplan->linkStory = "關聯需求"; $lang->productplan->unlinkStory = "移除需求"; -$lang->productplan->batchUnlinkStory = "批量移除"; +$lang->productplan->batchUnlinkStory = "批量移除需求"; $lang->productplan->linkedStories = '已關聯需求列表'; $lang->productplan->unlinkedStories = '未關聯需求列表'; +$lang->productplan->linkBug = "關聯Bug"; +$lang->productplan->unlinkBug = "移除Bug"; +$lang->productplan->batchUnlinkBug = "批量移除Bug"; +$lang->productplan->linkedBugs = '已關聯Bug列表'; +$lang->productplan->unlinkedBugs = '未關聯Bug列表'; + $lang->productplan->confirmDelete = "您確認刪除該計劃嗎?"; $lang->productplan->confirmUnlinkStory = "您確認移除該需求嗎?"; - -$lang->productplan->basicInfo ='基本信息'; +$lang->productplan->confirmUnlinkBug = "您確認移除該Bug嗎?"; $lang->productplan->id = '編號'; $lang->productplan->product = '產品'; diff --git a/module/project/lang/zh-tw.php b/module/project/lang/zh-tw.php index 50f995189b..d205b18809 100644 --- a/module/project/lang/zh-tw.php +++ b/module/project/lang/zh-tw.php @@ -6,7 +6,7 @@ * @license LGPL (http://www.gnu.org/licenses/lgpl.html) * @author Chunsheng Wang * @package project - * @version $Id: zh-tw.php 5029 2013-07-06 03:00:01Z chencongzhi520@gmail.com $ + * @version $Id: zh-tw.php 5094 2013-07-10 08:46:15Z chencongzhi520@gmail.com $ * @link http://www.zentao.net */ /* 欄位列表。*/ @@ -118,6 +118,7 @@ $lang->project->copy = "複製項目"; $lang->project->delete = "刪除項目"; $lang->project->browse = "瀏覽項目"; $lang->project->edit = "編輯項目"; +$lang->project->batchEdit = "批量編輯"; $lang->project->manageMembers = '團隊管理'; $lang->project->unlinkMember = '移除成員'; $lang->project->unlinkStory = '移除需求'; @@ -162,23 +163,23 @@ $lang->project->aboveAllProduct = '以上所有產品'; $lang->project->aboveAllProject = '以上所有項目'; /* 頁面提示。*/ -$lang->project->selectProject = "請選擇項目"; -$lang->project->beginAndEnd = '起止時間'; -$lang->project->lblStats = '工時統計'; -$lang->project->stats = '可用工時%s工時
總共預計%s工時
已經消耗%s工時
預計剩餘%s工時'; -$lang->project->oneLineStats = "項目%s, 代號為%s, 相關產品為%s,%s開始,%s結束,總預計%s工時,已消耗%s工時,預計剩餘%s工時。"; -$lang->project->taskSummary = "本頁共 %s 個任務,未開始%s,進行中%s,總預計%s工時,已消耗%s工時,剩餘%s工時。"; -$lang->project->memberHours = "%s共有 %s 個可用工時,"; -$lang->project->groupSummary = "本組共 %s 個任務,未開始%s,進行中%s,總預計%s工時,已消耗%s工時,剩餘%s工時。"; -$lang->project->wbs = "分解任務"; -$lang->project->batchWBS = "批量分解"; -$lang->project->largeBurnChart = '點擊查看大圖'; -$lang->project->howToUpdateBurn = "如何更新?"; -$lang->project->whyNoStories = "看起來沒有需求可以關聯。請檢查下項目關聯的產品中有沒有需求,而且要確保它們已經審核通過。"; -$lang->project->doneProjects = '已結束'; -$lang->project->unDoneProjects = '未結束'; -$lang->project->copyTeam = '複製團隊'; -$lang->product->noMatchedProject = '找不到與"%s"相關的項目'; +$lang->project->selectProject = "請選擇項目"; +$lang->project->beginAndEnd = '起止時間'; +$lang->project->lblStats = '工時統計'; +$lang->project->stats = '可用工時%s工時
總共預計%s工時
已經消耗%s工時
預計剩餘%s工時'; +$lang->project->oneLineStats = "項目%s, 代號為%s, 相關產品為%s,%s開始,%s結束,總預計%s工時,已消耗%s工時,預計剩餘%s工時。"; +$lang->project->taskSummary = "本頁共 %s 個任務,未開始%s,進行中%s,總預計%s工時,已消耗%s工時,剩餘%s工時。"; +$lang->project->memberHours = "%s共有 %s 個可用工時,"; +$lang->project->groupSummary = "本組共 %s 個任務,未開始%s,進行中%s,總預計%s工時,已消耗%s工時,剩餘%s工時。"; +$lang->project->wbs = "分解任務"; +$lang->project->batchWBS = "批量分解"; +$lang->project->largeBurnChart = '點擊查看大圖'; +$lang->project->howToUpdateBurn = "如何更新?"; +$lang->project->whyNoStories = "看起來沒有需求可以關聯。請檢查下項目關聯的產品中有沒有需求,而且要確保它們已經審核通過。"; +$lang->project->doneProjects = '已結束'; +$lang->project->unDoneProjects = '未結束'; +$lang->project->copyTeam = '複製團隊'; +$lang->product->noMatched = '找不到包含"%s"的項目'; /* 交互提示。*/ $lang->project->confirmDelete = '您確定刪除項目[%s]嗎?'; @@ -191,7 +192,10 @@ $lang->project->afterInfo = '項目添加成功,您現在可以進 $lang->project->setTeam = '設置團隊'; $lang->project->linkStory = '關聯需求'; $lang->project->createTask = '添加任務'; -$lang->project->goback = '返回項目首頁(5秒後將自動跳轉)'; +$lang->project->goback = '返回項目首頁'; +$lang->project->linkProduct = '選擇產品關聯...'; +$lang->project->withWeekend = '顯示周末'; +$lang->project->noWeekend = '去除周末'; /* 統計。*/ $lang->project->charts = new stdclass(); diff --git a/module/qa/lang/zh-tw.php b/module/qa/lang/zh-tw.php index 3dda2b596d..c512f9c2c7 100644 --- a/module/qa/lang/zh-tw.php +++ b/module/qa/lang/zh-tw.php @@ -9,5 +9,6 @@ * @version $Id: zh-tw.php 4129 2013-01-18 01:58:14Z wwccss $ * @link http://www.zentao.net */ +$lang->qa = new stdclass(); $lang->qa->common = '測試視圖'; $lang->qa->index = "測試首頁"; diff --git a/module/report/lang/zh-tw.php b/module/report/lang/zh-tw.php index aa1f7304ed..bc24b08818 100644 --- a/module/report/lang/zh-tw.php +++ b/module/report/lang/zh-tw.php @@ -6,7 +6,7 @@ * @license LGPL (http://www.gnu.org/licenses/lgpl.html) * @author Chunsheng Wang * @package report - * @version $Id: zh-tw.php 4955 2013-07-02 01:47:21Z chencongzhi520@gmail.com $ + * @version $Id: zh-tw.php 5080 2013-07-10 00:46:59Z wyd621@gmail.com $ * @link http://www.zentao.net */ $lang->report->common = '統計視圖'; @@ -69,7 +69,7 @@ $lang->report->taskTotal = "總任務數"; $lang->report->manhourTotal = "總工時"; $lang->report->bugTotal = "共%s個Bug"; $lang->report->validRate = "有效率"; -$lang->report->validRateTips = "方案為已解決或延期/狀態為已解決"; +$lang->report->validRateTips = "方案為已解決或延期/狀態為已解決或已關閉"; $lang->report->unplanned = '未計劃'; /* daily reminder. */ @@ -84,4 +84,4 @@ $lang->report->mailtitle->bug = " Bugs(%s),"; $lang->report->mailtitle->task = " 任務(%s),"; $lang->report->mailtitle->todo = " 待辦(%s),"; -$lang->report->proVersion = '更多精彩,盡在專業版!'; +$lang->report->proVersion = '更多精彩,盡在專業版!'; diff --git a/module/sso/lang/zh-tw.php b/module/sso/lang/zh-tw.php index e69de29bb2..b6b208c353 100644 --- a/module/sso/lang/zh-tw.php +++ b/module/sso/lang/zh-tw.php @@ -0,0 +1,43 @@ +sso->common = '單點登錄'; +$lang->sso->browse = '應用列表'; +$lang->sso->create = '添加應用'; +$lang->sso->edit = '編輯應用'; +$lang->sso->delete = '刪除應用'; +$lang->sso->code = '代號'; +$lang->sso->title = '名稱'; +$lang->sso->key = '密鑰'; +$lang->sso->ip = 'IP列表'; +$lang->sso->createKey = '重新生成密鑰'; + +$lang->sso->confirmDelete = '您確定刪除該應用嗎?'; + +$lang->sso->note = new stdClass(); +$lang->sso->note->title = '授權應用名稱'; +$lang->sso->note->code = '授權應用代號'; +$lang->sso->note->ip = "允許該應用使用這些ip訪問,多個ip使用逗號隔開。支持IP段,如192.168.1.*"; + +$lang->sso->error = new stdClass(); +$lang->sso->error->title = '名稱不能為空'; +$lang->sso->error->code = '代號不能為空'; +$lang->sso->error->key = '密鑰不能為空'; +$lang->sso->error->ip = 'IP列表不能為空'; + +$lang->sso->instruction = <<示例應用:名稱為"測試",代號為"test",密鑰為"20c8eb0d522d2e1a09d4ea18e4df3a59",IP列表為"192.168.11.*,127.0.0.1"。

+

1.用戶驗證

+

授權應用請求禪道的用戶驗證API,檢查用戶在該應用輸入的用戶名和密碼是否正確,實現單點登錄。

+

API地址為sso模組的auth方法,POST數據為登錄用戶的用戶名account和密碼與密鑰形成的加密字元串md5(md5(password) + key),成功則返回用戶信息(json格式),失敗則返回fail。

+

示例:請求地址 http:://www.demo.com/sso-auth-test,POST字元串 account=admin&authcode=c44c577432230ad8e67160d3f9f0b91c。

+

    註:test為應用代號,c44c577432230ad8e67160d3f9f0b91為md5(md5('123456') + '20c8eb0d522d2e1a09d4ea18e4df3a59')

+

2.獲取用戶列表

+

授權應用訪問禪道的用戶列表API,獲取禪道所有用戶信息。

+

API地址為sso模組的users方法,POST數據為應用密鑰,成功返回用戶列表(json格式),失敗返回fail。

+

示例:請求地址 http:://www.demo.com/sso-users-test,POST字元串 key=20c8eb0d522d2e1a09d4ea18e4df3a59。

+

    註:test為應用代號,20c8eb0d522d2e1a09d4ea18e4df3a59為應用密鑰

+

3.獲取部門列表

+

授權應用訪問禪道的部門列表API,獲取禪道所有部門信息。

+

API地址為sso模組的depts方法,POST數據為應用密鑰,成功返回用戶列表(json格式),失敗返回fail。

+

示例:請求地址 http:://www.demo.com/sso-depts-test,POST字元串 key=20c8eb0d522d2e1a09d4ea18e4df3a59。

+

    註:test為應用代號,20c8eb0d522d2e1a09d4ea18e4df3a59為應用密鑰

+EOT; diff --git a/module/story/lang/en.php b/module/story/lang/en.php index 2d9fadf106..7efd42928b 100644 --- a/module/story/lang/en.php +++ b/module/story/lang/en.php @@ -30,6 +30,8 @@ $lang->story->bugs = "Bug"; $lang->story->linkStory = 'Related story'; $lang->story->export = "Export"; $lang->story->reportChart = "Report"; +$lang->story->batchChangePlan = "Batch change plan"; +$lang->story->batchChangeStage = "Batch change stage"; $lang->story->common = 'Story'; $lang->story->id = 'ID'; diff --git a/module/story/lang/zh-cn.php b/module/story/lang/zh-cn.php index 52bd9502c1..0a0728d689 100644 --- a/module/story/lang/zh-cn.php +++ b/module/story/lang/zh-cn.php @@ -30,6 +30,8 @@ $lang->story->bugs = "Bug"; $lang->story->linkStory = '关联需求'; $lang->story->export = "导出"; $lang->story->reportChart = "统计报表"; +$lang->story->batchChangePlan = "批量修改计划"; +$lang->story->batchChangeStage = "批量修改阶段"; $lang->story->common = '需求'; $lang->story->id = '编号'; diff --git a/module/story/lang/zh-tw.php b/module/story/lang/zh-tw.php index 3fddd06781..e182186108 100644 --- a/module/story/lang/zh-tw.php +++ b/module/story/lang/zh-tw.php @@ -6,7 +6,7 @@ * @license LGPL (http://www.gnu.org/licenses/lgpl.html) * @author Chunsheng Wang * @package story - * @version $Id: zh-tw.php 4684 2013-04-27 05:49:28Z chencongzhi520@gmail.com $ + * @version $Id: zh-tw.php 5141 2013-07-15 05:57:15Z chencongzhi520@gmail.com $ * @link http://www.zentao.net */ $lang->story->browse = "需求列表"; @@ -16,6 +16,7 @@ $lang->story->batchCreate = "批量添加"; $lang->story->change = "變更"; $lang->story->changed = '需求變更'; $lang->story->review = '評審'; +$lang->story->batchReview = '批量評審'; $lang->story->edit = "編輯"; $lang->story->batchEdit = "批量編輯"; $lang->story->close = '關閉'; @@ -29,6 +30,8 @@ $lang->story->bugs = "Bug"; $lang->story->linkStory = '關聯需求'; $lang->story->export = "導出"; $lang->story->reportChart = "統計報表"; +$lang->story->batchChangePlan = "批量修改計劃"; +$lang->story->batchChangeStage = "批量修改階段"; $lang->story->common = '需求'; $lang->story->id = '編號'; @@ -194,6 +197,7 @@ $lang->story->report = new stdclass(); $lang->story->report->common = '報表'; $lang->story->report->select = '請選擇報表類型'; $lang->story->report->create = '生成報表'; +$lang->story->report->value = '需求數'; $lang->story->report->charts['storysPerProduct'] = '產品需求數量'; $lang->story->report->charts['storysPerModule'] = '模組需求數量'; @@ -236,6 +240,19 @@ $lang->story->report->storysPerClosedReason = new stdclass(); $lang->story->report->storysPerEstimate = new stdclass(); $lang->story->report->storysPerChange = new stdclass(); +$lang->story->report->storysPerProduct->item = '產品'; +$lang->story->report->storysPerModule->item = '模組'; +$lang->story->report->storysPerSource->item = '來源'; +$lang->story->report->storysPerPlan->item = '計劃'; +$lang->story->report->storysPerStatus->item = '狀態'; +$lang->story->report->storysPerStage->item = '階段'; +$lang->story->report->storysPerPri->item = '優先順序'; +$lang->story->report->storysPerOpenedBy->item = '用戶'; +$lang->story->report->storysPerAssignedTo->item = '用戶'; +$lang->story->report->storysPerClosedReason->item = '原因'; +$lang->story->report->storysPerEstimate->item = '預計工時'; +$lang->story->report->storysPerChange->item = '變更次數'; + $lang->story->report->storysPerProduct->graph = new stdclass(); $lang->story->report->storysPerModule->graph = new stdclass(); $lang->story->report->storysPerSource->graph = new stdclass(); @@ -264,4 +281,6 @@ $lang->story->report->storysPerChange->graph->xAxisName = '變更次數'; $lang->story->placeholder = new stdclass(); $lang->story->placeholder->estimate = "完成該需求的工作量"; -$lang->story->placeholder->mailto = '輸入用戶名自動完成'; + +$lang->story->chosen = new stdClass(); +$lang->story->chosen->reviewedBy = '選擇評審人...'; diff --git a/module/task/lang/zh-tw.php b/module/task/lang/zh-tw.php index 191fb1d9c2..8f6beef9e6 100644 --- a/module/task/lang/zh-tw.php +++ b/module/task/lang/zh-tw.php @@ -155,6 +155,7 @@ $lang->task->report = new stdclass(); $lang->task->report->common = '報表'; $lang->task->report->select = '請選擇報表類型'; $lang->task->report->create = '生成報表'; +$lang->task->report->value = '任務數'; $lang->task->report->charts['tasksPerProject'] = '項目任務數統計'; $lang->task->report->charts['tasksPerModule'] = '模組任務數統計'; @@ -199,6 +200,20 @@ $lang->task->report->tasksPerFinishedBy = new stdclass(); $lang->task->report->tasksPerClosedReason = new stdclass(); $lang->task->report->finishedTasksPerDay = new stdclass(); +$lang->task->report->tasksPerProject->item ='項目'; +$lang->task->report->tasksPerModule->item ='模組'; +$lang->task->report->tasksPerAssignedTo->item ='用戶'; +$lang->task->report->tasksPerType->item ='類型'; +$lang->task->report->tasksPerPri->item ='優先順序'; +$lang->task->report->tasksPerStatus->item ='狀態'; +$lang->task->report->tasksPerDeadline->item ='日期'; +$lang->task->report->tasksPerEstimate->item ='預計'; +$lang->task->report->tasksPerLeft->item ='剩餘'; +$lang->task->report->tasksPerConsumed->item ='消耗'; +$lang->task->report->tasksPerFinishedBy->item ='用戶'; +$lang->task->report->tasksPerClosedReason->item ='原因'; +$lang->task->report->finishedTasksPerDay->item ='日期'; + $lang->task->report->tasksPerProject->graph = new stdclass(); $lang->task->report->tasksPerModule->graph = new stdclass(); $lang->task->report->tasksPerAssignedTo->graph = new stdclass(); @@ -233,4 +248,3 @@ $lang->task->report->finishedTasksPerDay->graph->rotateNames = '1'; $lang->task->placeholder = new stdclass(); $lang->task->placeholder->estimate = '對該任務最初的預計'; -$lang->task->placeholder->mailto = '輸入用戶名進行選擇'; diff --git a/module/testcase/lang/en.php b/module/testcase/lang/en.php index da4c2833f2..5b2a8a9d42 100644 --- a/module/testcase/lang/en.php +++ b/module/testcase/lang/en.php @@ -66,7 +66,6 @@ $lang->testcase->importID = "Linenum"; $lang->testcase->showImport = "Show import"; $lang->testcase->exportTemplet = "Export templet"; $lang->testcase->export = "Export"; -$lang->testcase->export = "Export"; $lang->testcase->confirmChange = 'Confirm case change'; $lang->testcase->confirmStoryChange = 'Confirm story change'; diff --git a/module/testcase/lang/zh-tw.php b/module/testcase/lang/zh-tw.php index 93fd0e11bd..4f18d5b153 100644 --- a/module/testcase/lang/zh-tw.php +++ b/module/testcase/lang/zh-tw.php @@ -28,6 +28,7 @@ $lang->testcase->lastEditedBy = '最後修改者'; $lang->testcase->lastEditedDate = '最後修改日期'; $lang->testcase->version = '用例版本'; $lang->testcase->result = '測試結果'; +$lang->testcase->lastRunResult = '結果'; $lang->testcase->real = '實際情況'; $lang->testcase->keywords = '關鍵詞'; $lang->testcase->files = '附件'; @@ -43,6 +44,7 @@ $lang->testcase->lastEditedDateAB = '修改日期'; $lang->testcase->allProduct = '所有產品'; $lang->testcase->fromBug = '來源Bug'; $lang->testcase->toBug = '生成Bug'; +$lang->testcase->changed = '用例變更'; $lang->case = $lang->testcase; // 用於DAO檢查時使用。因為case是系統關鍵字,所以無法定義該模組為case,只能使用testcase,但表還是使用的case。 $lang->testcase->stepID = '編號'; @@ -59,10 +61,19 @@ $lang->testcase->edit = "編輯"; $lang->testcase->batchEdit = "批量編輯 "; $lang->testcase->delete = "刪除"; $lang->testcase->browse = "用例列表"; -$lang->testcase->import = "導入用例"; +$lang->testcase->import = "導入"; +$lang->testcase->importID = "行號"; +$lang->testcase->showImport = "顯示導入內容"; +$lang->testcase->exportTemplet = "導出模板"; $lang->testcase->export = "導出"; +$lang->testcase->confirmChange = '確認用例變動'; $lang->testcase->confirmStoryChange = '確認需求變動'; +$lang->testcase->editHaved = '修改已有用例'; +$lang->testcase->addNew = '添加新用例'; + +$lang->testcase->num = '導入用例個數:'; + $lang->testcase->deleteStep = '刪除'; $lang->testcase->insertBefore = '之前添加'; $lang->testcase->insertAfter = '之後添加'; @@ -143,3 +154,5 @@ $lang->testcase->resultList['blocked'] = '阻塞'; $lang->testcase->buttonEdit = '編輯'; $lang->testcase->buttonToList = '返回'; + +$lang->testcase->errorEncode = '無數據,請選擇正確的編碼重新上傳!'; diff --git a/module/testtask/lang/zh-tw.php b/module/testtask/lang/zh-tw.php index 35344b19f7..641e6d3102 100644 --- a/module/testtask/lang/zh-tw.php +++ b/module/testtask/lang/zh-tw.php @@ -49,6 +49,10 @@ $lang->testtask->lastRunTime = '執行時間'; $lang->testtask->lastRunResult = '結果'; $lang->testtask->report = '測試總結'; +$lang->testtask->legendDesc = '任務描述'; +$lang->testtask->legendReport = '測試總結'; +$lang->testtask->legendBasicInfo = '基本信息'; + $lang->testtask->statusList['wait'] = '未開始'; $lang->testtask->statusList['doing'] = '進行中'; $lang->testtask->statusList['done'] = '已完成'; @@ -64,11 +68,13 @@ $lang->testtask->unlinkedCases = '未關聯'; $lang->testtask->linkedCases = '已關聯'; $lang->testtask->linkByStory = '按需求關聯'; $lang->testtask->linkByBug = '按Bug關聯'; -$lang->testtask->confirmDelete = '您確認要刪除該測試任務嗎?'; $lang->testtask->passAll = '全部通過'; $lang->testtask->pass = '通過'; $lang->testtask->fail = '失敗'; +$lang->testtask->confirmDelete = '您確認要刪除該測試任務嗎?'; +$lang->testtask->confirmUnlinkCase = '您確認要移除該用例嗎?'; + $lang->testtask->byModule = '按模組'; $lang->testtask->assignedToMe = '指派給我'; $lang->testtask->allCases = '所有用例'; diff --git a/module/todo/lang/zh-tw.php b/module/todo/lang/zh-tw.php index bbc16c1110..0a5ed76c85 100644 --- a/module/todo/lang/zh-tw.php +++ b/module/todo/lang/zh-tw.php @@ -23,6 +23,7 @@ $lang->todo->export = "導出"; $lang->todo->delete = "刪除待辦"; $lang->todo->browse = "瀏覽待辦"; $lang->todo->import2Today = "導入到今天"; +$lang->todo->import = "導入到"; $lang->todo->changeStatus = "更改"; $lang->todo->id = '編號'; diff --git a/module/upgrade/lang/en.php b/module/upgrade/lang/en.php index e15810cddf..330c1d004f 100644 --- a/module/upgrade/lang/en.php +++ b/module/upgrade/lang/en.php @@ -38,6 +38,7 @@ $lang->upgrade->toVersion = 'To version'; $lang->upgrade->confirm = 'Confirm the sql to executed.'; $lang->upgrade->sureExecute = 'Execute'; $lang->upgrade->forbiddenExt = 'Because it is incompatible with this version, the following extension automatically disabled, :'; +$lang->upgrade->checkExtension = 'Checking plugin compatibility, please wait ...'; $lang->upgrade->fromVersions['0_3beta'] = '0.3 BETA'; $lang->upgrade->fromVersions['0_4beta'] = '0.4 BETA'; diff --git a/module/upgrade/lang/zh-tw.php b/module/upgrade/lang/zh-tw.php index 6ebb1c8865..36e3161374 100644 --- a/module/upgrade/lang/zh-tw.php +++ b/module/upgrade/lang/zh-tw.php @@ -6,7 +6,7 @@ * @license LGPL (http://www.gnu.org/licenses/lgpl.html) * @author Chunsheng Wang * @package upgrade - * @version $Id: zh-tw.php 4989 2013-07-03 07:05:45Z zhujinyonging@gmail.com $ + * @version $Id: zh-tw.php 5119 2013-07-12 08:06:42Z wyd621@gmail.com $ * @link http://www.zentao.net */ $lang->upgrade->common = '升級'; @@ -37,6 +37,8 @@ $lang->upgrade->fromVersion = '原來的版本'; $lang->upgrade->toVersion = '升級到'; $lang->upgrade->confirm = '確認要執行的SQL語句'; $lang->upgrade->sureExecute = '確認執行'; +$lang->upgrade->forbiddenExt = '以下插件與新版本不兼容,已經自動禁用:'; +$lang->upgrade->checkExtension = '正在檢查插件的兼容性,請稍後 ...'; $lang->upgrade->fromVersions['0_3beta'] = '0.3 BETA'; $lang->upgrade->fromVersions['0_4beta'] = '0.4 BETA'; @@ -69,3 +71,4 @@ $lang->upgrade->fromVersions['4_0_beta2'] = '4.0 BETA2'; $lang->upgrade->fromVersions['4_0'] = '4.0'; $lang->upgrade->fromVersions['4_0_1'] = '4.0.1'; $lang->upgrade->fromVersions['4_1'] = '4.1'; +$lang->upgrade->fromVersions['4_2_beta'] = '4.2.beta'; diff --git a/module/upgrade/model.php b/module/upgrade/model.php index e797e71033..27edd4eba1 100644 --- a/module/upgrade/model.php +++ b/module/upgrade/model.php @@ -142,6 +142,7 @@ class upgradeModel extends model case '4_0': $confirmContent .= file_get_contents($this->getUpgradeFile('4.0')); case '4_0_1': $confirmContent .= file_get_contents($this->getUpgradeFile('4.0.1')); case '4_1': $confirmContent .= file_get_contents($this->getUpgradeFile('4.1')); + case '4_2_beta': $confirmContent .= file_get_contents($this->getUpgradeFile('4.2')); } return str_replace('zt_', $this->config->db->prefix, $confirmContent); } diff --git a/module/user/lang/zh-tw.php b/module/user/lang/zh-tw.php index 6f6ef280a7..c8af0508c1 100644 --- a/module/user/lang/zh-tw.php +++ b/module/user/lang/zh-tw.php @@ -124,6 +124,8 @@ $lang->user->loginWithDemoUser = '使用demo賬號登錄:'; $lang->user->placeholder = new stdclass(); $lang->user->placeholder->account = '英文、數字和下劃線的組合,三位以上'; $lang->user->placeholder->password1 = '六位以上'; +$lang->user->placeholder->role = '角色影響內容和用戶列表的順序。'; +$lang->user->placeholder->group = '分組決定用戶的權限列表。'; $lang->user->placeholder->join = '入職日期'; $lang->user->placeholder->commiter = '版本控制系統(subversion)中的帳號'; diff --git a/tools/check.php b/tools/check.php index 5ac62db33c..66f750ce0d 100755 --- a/tools/check.php +++ b/tools/check.php @@ -111,8 +111,8 @@ foreach(glob($moduleRoot . '*') as $modulePath) /* checking actions of every module. */ echo '-------------lang checking-----------------' . "\n"; -include '../../module/common/lang/zh-cn.php'; -include '../../config/config.php'; +include '../module/common/lang/zh-cn.php'; +include '../config/config.php'; foreach(glob($moduleRoot . '*') as $modulePath) { unset($lang); @@ -142,7 +142,7 @@ foreach(glob($moduleRoot . '*') as $modulePath) $key = trim($key); $lineNO = $lineNO + 1; echo "module $moduleName need checking, command is:"; - echo " vim -O +$lineNO ../../module/$moduleName/lang/zh-cn.php +$lineNO ../../module/$moduleName/lang/en.php \n"; + echo " vim -O +$lineNO ../module/$moduleName/lang/zh-cn.php +$lineNO ../module/$moduleName/lang/en.php \n"; break; } } From c80ef1e1fd8ecd38ff39a18f3bcfadfaa4ae3901 Mon Sep 17 00:00:00 2001 From: azhi Date: Mon, 5 Aug 2013 10:38:30 +0800 Subject: [PATCH 04/12] * adjust align. --- module/bug/lang/zh-cn.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/bug/lang/zh-cn.php b/module/bug/lang/zh-cn.php index c6a80c45d1..2c0a2c4f11 100644 --- a/module/bug/lang/zh-cn.php +++ b/module/bug/lang/zh-cn.php @@ -74,7 +74,7 @@ $lang->bug->create = '提Bug'; $lang->bug->batchCreate = '批量添加'; $lang->bug->confirmBug = '确认'; $lang->bug->edit = '编辑'; -$lang->bug->batchEdit = '批量编辑'; +$lang->bug->batchEdit = '批量编辑'; $lang->bug->assignTo = '指派'; $lang->bug->browse = 'Bug列表'; $lang->bug->view = 'Bug详情'; From 45f94c0f220b4c3c39214a6208c878c1572ef9b8 Mon Sep 17 00:00:00 2001 From: azhi Date: Mon, 5 Aug 2013 14:07:51 +0800 Subject: [PATCH 05/12] * code for task#1669. --- db/update4.3.sql | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 db/update4.3.sql diff --git a/db/update4.3.sql b/db/update4.3.sql new file mode 100644 index 0000000000..487f80922f --- /dev/null +++ b/db/update4.3.sql @@ -0,0 +1,7 @@ +REATE TABLE `demoTTT`.`zt_customLang` ( + `id` MEDIUMINT( 8 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , + `lang` VARCHAR( 30 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , + `module` VARCHAR( 30 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , + `key` VARCHAR( 60 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , + `value` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL +) ENGINE = MYISAM; From d05f18aa38f3b8cc3429bde08a8ac0648f887ff5 Mon Sep 17 00:00:00 2001 From: azhi Date: Mon, 5 Aug 2013 14:10:43 +0800 Subject: [PATCH 06/12] * finish task#1666. --- config/config.php | 2 +- module/common/lang/en.php | 3 +++ module/common/lang/menuOrder.php | 12 +++++++----- module/common/lang/zh-cn.php | 3 +++ module/lang/control.php | 24 ++++++++++++++++++++++++ module/lang/model.php | 15 +++++++++++++++ module/lang/view/index.html.php | 15 +++++++++++++++ 7 files changed, 68 insertions(+), 6 deletions(-) create mode 100644 module/lang/control.php create mode 100644 module/lang/model.php create mode 100644 module/lang/view/index.html.php diff --git a/config/config.php b/config/config.php index e1dcc42680..d6bd0803c3 100644 --- a/config/config.php +++ b/config/config.php @@ -17,7 +17,7 @@ if(!function_exists('getWebRoot')){function getWebRoot(){}} /* Basic settings. */ $config = new config(); -$config->version = '4.3.beta'; // The version of zentaopms. Don't change it. +$config->version = '4.2'; // The version of zentaopms. Don't change it. $config->charset = 'UTF-8'; // The charset of zentaopms. $config->cookieLife = time() + 2592000; // The cookie life time. $config->timezone = 'Asia/Shanghai'; // The time zone setting, for more see http://www.php.net/manual/en/timezones.php diff --git a/module/common/lang/en.php b/module/common/lang/en.php index 6bf934b244..468cd6d20d 100644 --- a/module/common/lang/en.php +++ b/module/common/lang/en.php @@ -272,6 +272,7 @@ $lang->admin = new stdclass(); $lang->admin->menu = new stdclass(); $lang->admin->menu->index = array('link' => 'Index|admin|index'); $lang->admin->menu->extension = array('link' => 'Extension|extension|browse', 'subModule' => 'extension,editor'); +$lang->admin->menu->lang = array('link' => 'Custom lang|lang|index', 'subModule' => 'lang'); $lang->admin->menu->mail = array('link' => 'Email|mail|index', 'subModule' => 'mail'); $lang->admin->menu->clearData = array('link' => 'Clear data|admin|cleardata'); $lang->admin->menu->convert = array('link' => 'Import|convert|index', 'subModule' => 'convert'); @@ -282,6 +283,7 @@ $lang->convert = new stdclass(); $lang->upgrade = new stdclass(); $lang->action = new stdclass(); $lang->extension = new stdclass(); +$lang->lang = new stdclass(); $lang->editor = new stdclass(); $lang->mail = new stdclass(); $lang->sso = new stdclass(); @@ -290,6 +292,7 @@ $lang->convert->menu = $lang->admin->menu; $lang->upgrade->menu = $lang->admin->menu; $lang->action->menu = $lang->admin->menu; $lang->extension->menu = $lang->admin->menu; +$lang->lang->menu = $lang->admin->menu; $lang->editor->menu = $lang->admin->menu; $lang->mail->menu = $lang->admin->menu; $lang->sso->menu = $lang->admin->menu; diff --git a/module/common/lang/menuOrder.php b/module/common/lang/menuOrder.php index bd9e626afa..a22330d2d0 100644 --- a/module/common/lang/menuOrder.php +++ b/module/common/lang/menuOrder.php @@ -108,15 +108,17 @@ $lang->user->menuOrder = $lang->company->menuOrder; /* admin menu order. */ $lang->admin->menuOrder[5] = 'index'; $lang->admin->menuOrder[10] = 'extension'; -$lang->admin->menuOrder[15] = 'editor'; -$lang->admin->menuOrder[20] = 'mail'; -$lang->admin->menuOrder[25] = 'sso'; -$lang->admin->menuOrder[30] = 'convert'; -$lang->admin->menuOrder[35] = 'trashes'; +$lang->admin->menuOrder[15] = 'lang'; +$lang->admin->menuOrder[20] = 'editor'; +$lang->admin->menuOrder[25] = 'mail'; +$lang->admin->menuOrder[30] = 'sso'; +$lang->admin->menuOrder[35] = 'convert'; +$lang->admin->menuOrder[40] = 'trashes'; $lang->convert->menuOrder = $lang->admin->menuOrder; $lang->upgrade->menuOrder = $lang->admin->menuOrder; $lang->action->menuOrder = $lang->admin->menuOrder; $lang->extension->menuOrder = $lang->admin->menuOrder; +$lang->lang->menuOrder = $lang->admin->menuOrder; $lang->editor->menuOrder = $lang->admin->menuOrder; $lang->mail->menuOrder = $lang->admin->menuOrder; $lang->sso->menuOrder = $lang->admin->menuOrder; diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php index d4b4d523c5..1259c0d29b 100644 --- a/module/common/lang/zh-cn.php +++ b/module/common/lang/zh-cn.php @@ -272,6 +272,7 @@ $lang->admin = new stdclass(); $lang->admin->menu = new stdclass(); $lang->admin->menu->index = array('link' => '首页|admin|index'); $lang->admin->menu->extension = array('link' => '扩展|extension|browse', 'subModule' => 'extension,editor'); +$lang->admin->menu->lang = array('link' => '语言配置|lang|index', 'subModule' => 'lang'); $lang->admin->menu->mail = array('link' => '发信|mail|index', 'subModule' => 'mail'); $lang->admin->menu->clearData = array('link' => '清除数据|admin|cleardata'); $lang->admin->menu->convert = array('link' => '导入|convert|index', 'subModule' => 'convert'); @@ -282,6 +283,7 @@ $lang->convert = new stdclass(); $lang->upgrade = new stdclass(); $lang->action = new stdclass(); $lang->extension = new stdclass(); +$lang->lang = new stdclass(); $lang->editor = new stdclass(); $lang->mail = new stdclass(); $lang->sso = new stdclass(); @@ -290,6 +292,7 @@ $lang->convert->menu = $lang->admin->menu; $lang->upgrade->menu = $lang->admin->menu; $lang->action->menu = $lang->admin->menu; $lang->extension->menu = $lang->admin->menu; +$lang->lang->menu = $lang->admin->menu; $lang->editor->menu = $lang->admin->menu; $lang->mail->menu = $lang->admin->menu; $lang->sso->menu = $lang->admin->menu; diff --git a/module/lang/control.php b/module/lang/control.php new file mode 100644 index 0000000000..d882503c4d --- /dev/null +++ b/module/lang/control.php @@ -0,0 +1,24 @@ + + * @package xxx + * @version $Id$ + * @link http://www.zentao.net + */ +class lang extends control +{ + public function __construct() + { + parent::__construct(); + } + + public function index() + { + $this->display(); + } +} + diff --git a/module/lang/model.php b/module/lang/model.php new file mode 100644 index 0000000000..737e6c73b8 --- /dev/null +++ b/module/lang/model.php @@ -0,0 +1,15 @@ + + * @package xxx + * @version $Id$ + * @link http://www.zentao.net + */ +class langModel extends model +{ +} + diff --git a/module/lang/view/index.html.php b/module/lang/view/index.html.php new file mode 100644 index 0000000000..a802d36786 --- /dev/null +++ b/module/lang/view/index.html.php @@ -0,0 +1,15 @@ + + * @package xxx + * @version $Id$ + * @link http://www.zentao.net + */ +?> + +asdfasdf + From b9a380a658f029de9926f69e2db83318c27f2cfa Mon Sep 17 00:00:00 2001 From: wyd621 Date: Mon, 5 Aug 2013 14:13:42 +0800 Subject: [PATCH 07/12] * change for 4.3.beta. --- doc/CHANGELOG | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/doc/CHANGELOG b/doc/CHANGELOG index cbc6e41928..2998730889 100644 --- a/doc/CHANGELOG +++ b/doc/CHANGELOG @@ -1,3 +1,87 @@ +2013-8-5 4.3.beta + +完成的功能: +1156 在确认bug的时候可以设置bug的优先级 +1155 处理发信逻辑,已经删除的用户不要再发送邮件 +1154 参考论坛用户的建议,考虑实现浏览器贴图上传功能 +1152 备注中添加的超链接在显示的时候被过滤掉了 +1151 在禅道中增加对浏览器支持的说明 +1150 用例导入模板页面,显示模板编号用于比对。 +1127 打包的时候把扩展目录下面的css,js也都生成 +1116 显示燃尽图的时候默认将周末去掉。 +1111 web应用安装之后,页面不用刷新。改用ajax修改安装按钮的状态。 +1108 从计划中移除需求的时候,正确处理其所处的阶段 +1105 zentaotest, zentaotask,zentaostory单独设置flow。 +1103 发信应该可以重新设置。 +1102 调整组织视图用户界面各个功能页面的样式,保持统一 +1101 完善升级逻辑,增加插件的兼容性处理。 +1100 增加不兼容插件功能 +1099 安装插件的时候,将确认按钮放在上面 +1096 桌面提醒增加繁体版本 +1088 在创建附件目录的时候,自动创建一个空白的index.html +1080 整理使用到的session列表 +1078 禅道中有开始和结束日期的地方增加结束日期不能小于开始日期的检查 +1074 作为测试人员,我需要在测试任务的详情里方便的查看测试版本需求 +1072 用例的批量添加页面需要处理。 +1070 项目视图的需求列表页面增加创建用例的链接 +1069 添加完项目之后的弹出页面停留。 +1068 在添加对象的时候,如果某个字段没有取值列表,给出相应的链接,并可局部刷新 +1067 创建新的计划的时候选择最新的一个计划结束日期开始。 +1066 创建应用的时候,判断是否有http:// +1065 批量添加用户的时候,第一个密码的同上按钮去掉。 +1064 用户列表里面的最后登录时间去掉1970。 +1063 添加用户的时候,没有带部门条件。(包括批量添加) +1062 部门的排序给默认数字。 +1061 安装成功之后的首页,将项目和产品区块的背景色去掉。 +1060 init.bat生成的ztcli.bat错误 +1059 调整和修复任务、测试和需求扩展模块的代码 +1057 重新梳理默认的权限列表 +1056 没有批量编辑权限的情况下,把多选框去掉 +1055 查看组织日志/TODO时,横向滚动时,锁定前两列的部门及员工姓名。 +1053 启动任务的时候自动修改指派者 +1052 测试任务的用例列表增加搜索功能 1049 备注编辑功能,只有最后一个备注才可以修改或者删除。 +1045 详情页面的操作图标都加上提示。 +1043 dao.class.php查询sql的时候自动增加deleted=0的条件 +1042 增加bug的批量添加功能 +1039 我的地盘里面的我的任务,bug,需求等增加批量操作。 +1037 返回的按钮改为<<这种形式的? +1030 插件增加是否是官方出品字段 +1029 创建项目的时候,关联产品使用chosen实现 +1026 测试任务关联的用例版本发生变化之后,应当给予提示和确认。 +1025 我的地盘中的用例增加执行功能,要判断是否是在测试任务中。 +1022 添加需求,任务,bug,文档的时候判断是否重复。 +1017 修复文档库当内容比较多的时候的页面框架变形的问题。 +1010 我的地盘中的待办列表页面可以选择日期导入 +1006 整理每个页面的标题和position +1005 各个列表页面的模块都可以折叠隐藏 +1003 和禅道服务器进行交互的api都改为二级域名。 +1002 和禅道服务器进行交互的api都加上语言选项 +1000 从项目提交测试的bug自动修改其解决方案 +994 重新设计项目列表的折叠和隐藏功能 +986 批量添加的时候,将input改为textarea +981 调整各个对象编辑页面的标题文本框的排版 +979 调整测试任务的详情页面,和其他的详情页面保持一致 +971 将扩展编辑器放在插件菜单下面。 +967 任务列表增加导入按钮 +925 创建产品、需求的时候 复责人、评审人建议过滤closed +918 草稿需求阶段在取消计划和取消项目关联的时候没有处理 +872 测试用例导出的数据 没有用例的执行结果 +871 测试人员创建bug的时候可以选择没有权限的项目,但是创建bug之后却看不到,导致重复提交 +853 实现需求测试用例覆盖率功能 +826 在禅道中提供api方面的实际例子 +746 使用ajax实现列表页面的删除或者移除功能 +680 增加依赖插件的功能 +586 优化批量添加用例时的需求列表 +562 测试用例增加csv格式的导入功能 +404 调整统计报表的展示形式 +379 完善部门删除的逻辑 +130 完善需求列表页面增加批量操作 +122 计划中关联bug + +修复的BUG: +451 【查询用例】执行用例的时候,不方便查看上一次的用例执行结果,建议将用例执行结果表单链接在用例的下方 +453 激活bug时备注内容没有处理html代码,导致保存后页面布局严重混乱。 + 2013-7-8 4.2.beta 完成的功能: From 980902940c1ae93988c440e80fc3f363764c3bc4 Mon Sep 17 00:00:00 2001 From: azhi Date: Mon, 5 Aug 2013 14:37:36 +0800 Subject: [PATCH 08/12] * finish task#1667. --- module/common/lang/en.php | 48 +++++++++---------- module/common/lang/menuOrder.php | 18 +++---- module/common/lang/zh-cn.php | 48 +++++++++---------- module/customlang/config.php | 8 ++++ module/{lang => customlang}/control.php | 2 +- module/customlang/lang/en.php | 8 ++++ module/customlang/lang/zh-cn.php | 8 ++++ module/{lang => customlang}/model.php | 2 +- module/customlang/view/header.html.php | 15 ++++++ .../{lang => customlang}/view/index.html.php | 3 +- 10 files changed, 99 insertions(+), 61 deletions(-) create mode 100644 module/customlang/config.php rename module/{lang => customlang}/control.php (93%) create mode 100644 module/customlang/lang/en.php create mode 100644 module/customlang/lang/zh-cn.php rename module/{lang => customlang}/model.php (91%) create mode 100755 module/customlang/view/header.html.php rename module/{lang => customlang}/view/index.html.php (87%) diff --git a/module/common/lang/en.php b/module/common/lang/en.php index 468cd6d20d..10bf4a6765 100644 --- a/module/common/lang/en.php +++ b/module/common/lang/en.php @@ -270,32 +270,32 @@ $lang->user->menu = $lang->company->menu; /* Admin menu. */ $lang->admin = new stdclass(); $lang->admin->menu = new stdclass(); -$lang->admin->menu->index = array('link' => 'Index|admin|index'); -$lang->admin->menu->extension = array('link' => 'Extension|extension|browse', 'subModule' => 'extension,editor'); -$lang->admin->menu->lang = array('link' => 'Custom lang|lang|index', 'subModule' => 'lang'); -$lang->admin->menu->mail = array('link' => 'Email|mail|index', 'subModule' => 'mail'); -$lang->admin->menu->clearData = array('link' => 'Clear data|admin|cleardata'); -$lang->admin->menu->convert = array('link' => 'Import|convert|index', 'subModule' => 'convert'); -$lang->admin->menu->trashes = array('link' => 'Trash|action|trash', 'subModule' => 'action'); -$lang->admin->menu->sso = array('link' => 'SSO|sso|browse', 'subModule' => 'sso'); +$lang->admin->menu->index = array('link' => 'Index|admin|index'); +$lang->admin->menu->extension = array('link' => 'Extension|extension|browse', 'subModule' => 'extension,editor'); +$lang->admin->menu->customlang = array('link' => 'Custom lang|customlang|index', 'subModule' => 'customlang'); +$lang->admin->menu->mail = array('link' => 'Email|mail|index', 'subModule' => 'mail'); +$lang->admin->menu->clearData = array('link' => 'Clear data|admin|cleardata'); +$lang->admin->menu->convert = array('link' => 'Import|convert|index', 'subModule' => 'convert'); +$lang->admin->menu->trashes = array('link' => 'Trash|action|trash', 'subModule' => 'action'); +$lang->admin->menu->sso = array('link' => 'SSO|sso|browse', 'subModule' => 'sso'); -$lang->convert = new stdclass(); -$lang->upgrade = new stdclass(); -$lang->action = new stdclass(); -$lang->extension = new stdclass(); -$lang->lang = new stdclass(); -$lang->editor = new stdclass(); -$lang->mail = new stdclass(); -$lang->sso = new stdclass(); +$lang->convert = new stdclass(); +$lang->upgrade = new stdclass(); +$lang->action = new stdclass(); +$lang->extension = new stdclass(); +$lang->customlang = new stdclass(); +$lang->editor = new stdclass(); +$lang->mail = new stdclass(); +$lang->sso = new stdclass(); -$lang->convert->menu = $lang->admin->menu; -$lang->upgrade->menu = $lang->admin->menu; -$lang->action->menu = $lang->admin->menu; -$lang->extension->menu = $lang->admin->menu; -$lang->lang->menu = $lang->admin->menu; -$lang->editor->menu = $lang->admin->menu; -$lang->mail->menu = $lang->admin->menu; -$lang->sso->menu = $lang->admin->menu; +$lang->convert->menu = $lang->admin->menu; +$lang->upgrade->menu = $lang->admin->menu; +$lang->action->menu = $lang->admin->menu; +$lang->extension->menu = $lang->admin->menu; +$lang->customlang->menu = $lang->admin->menu; +$lang->editor->menu = $lang->admin->menu; +$lang->mail->menu = $lang->admin->menu; +$lang->sso->menu = $lang->admin->menu; /* Groups. */ $lang->menugroup = new stdclass(); diff --git a/module/common/lang/menuOrder.php b/module/common/lang/menuOrder.php index a22330d2d0..1df47d8c05 100644 --- a/module/common/lang/menuOrder.php +++ b/module/common/lang/menuOrder.php @@ -108,17 +108,17 @@ $lang->user->menuOrder = $lang->company->menuOrder; /* admin menu order. */ $lang->admin->menuOrder[5] = 'index'; $lang->admin->menuOrder[10] = 'extension'; -$lang->admin->menuOrder[15] = 'lang'; +$lang->admin->menuOrder[15] = 'customlang'; $lang->admin->menuOrder[20] = 'editor'; $lang->admin->menuOrder[25] = 'mail'; $lang->admin->menuOrder[30] = 'sso'; $lang->admin->menuOrder[35] = 'convert'; $lang->admin->menuOrder[40] = 'trashes'; -$lang->convert->menuOrder = $lang->admin->menuOrder; -$lang->upgrade->menuOrder = $lang->admin->menuOrder; -$lang->action->menuOrder = $lang->admin->menuOrder; -$lang->extension->menuOrder = $lang->admin->menuOrder; -$lang->lang->menuOrder = $lang->admin->menuOrder; -$lang->editor->menuOrder = $lang->admin->menuOrder; -$lang->mail->menuOrder = $lang->admin->menuOrder; -$lang->sso->menuOrder = $lang->admin->menuOrder; +$lang->convert->menuOrder = $lang->admin->menuOrder; +$lang->upgrade->menuOrder = $lang->admin->menuOrder; +$lang->action->menuOrder = $lang->admin->menuOrder; +$lang->extension->menuOrder = $lang->admin->menuOrder; +$lang->customlang->menuOrder = $lang->admin->menuOrder; +$lang->editor->menuOrder = $lang->admin->menuOrder; +$lang->mail->menuOrder = $lang->admin->menuOrder; +$lang->sso->menuOrder = $lang->admin->menuOrder; diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php index 1259c0d29b..26b747a785 100644 --- a/module/common/lang/zh-cn.php +++ b/module/common/lang/zh-cn.php @@ -270,32 +270,32 @@ $lang->user->menu = $lang->company->menu; /* 后台管理菜单设置。*/ $lang->admin = new stdclass(); $lang->admin->menu = new stdclass(); -$lang->admin->menu->index = array('link' => '首页|admin|index'); -$lang->admin->menu->extension = array('link' => '扩展|extension|browse', 'subModule' => 'extension,editor'); -$lang->admin->menu->lang = array('link' => '语言配置|lang|index', 'subModule' => 'lang'); -$lang->admin->menu->mail = array('link' => '发信|mail|index', 'subModule' => 'mail'); -$lang->admin->menu->clearData = array('link' => '清除数据|admin|cleardata'); -$lang->admin->menu->convert = array('link' => '导入|convert|index', 'subModule' => 'convert'); -$lang->admin->menu->trashes = array('link' => '回收站|action|trash', 'subModule' => 'action'); -$lang->admin->menu->sso = array('link' => '单点登录|sso|browse', 'subModule' => 'sso'); +$lang->admin->menu->index = array('link' => '首页|admin|index'); +$lang->admin->menu->extension = array('link' => '扩展|extension|browse', 'subModule' => 'extension,editor'); +$lang->admin->menu->customlang = array('link' => '语言配置|customlang|index', 'subModule' => 'customlang'); +$lang->admin->menu->mail = array('link' => '发信|mail|index', 'subModule' => 'mail'); +$lang->admin->menu->clearData = array('link' => '清除数据|admin|cleardata'); +$lang->admin->menu->convert = array('link' => '导入|convert|index', 'subModule' => 'convert'); +$lang->admin->menu->trashes = array('link' => '回收站|action|trash', 'subModule' => 'action'); +$lang->admin->menu->sso = array('link' => '单点登录|sso|browse', 'subModule' => 'sso'); -$lang->convert = new stdclass(); -$lang->upgrade = new stdclass(); -$lang->action = new stdclass(); -$lang->extension = new stdclass(); -$lang->lang = new stdclass(); -$lang->editor = new stdclass(); -$lang->mail = new stdclass(); -$lang->sso = new stdclass(); +$lang->convert = new stdclass(); +$lang->upgrade = new stdclass(); +$lang->action = new stdclass(); +$lang->extension = new stdclass(); +$lang->customlang = new stdclass(); +$lang->editor = new stdclass(); +$lang->mail = new stdclass(); +$lang->sso = new stdclass(); -$lang->convert->menu = $lang->admin->menu; -$lang->upgrade->menu = $lang->admin->menu; -$lang->action->menu = $lang->admin->menu; -$lang->extension->menu = $lang->admin->menu; -$lang->lang->menu = $lang->admin->menu; -$lang->editor->menu = $lang->admin->menu; -$lang->mail->menu = $lang->admin->menu; -$lang->sso->menu = $lang->admin->menu; +$lang->convert->menu = $lang->admin->menu; +$lang->upgrade->menu = $lang->admin->menu; +$lang->action->menu = $lang->admin->menu; +$lang->extension->menu = $lang->admin->menu; +$lang->customlang->menu = $lang->admin->menu; +$lang->editor->menu = $lang->admin->menu; +$lang->mail->menu = $lang->admin->menu; +$lang->sso->menu = $lang->admin->menu; /* 菜单分组。*/ $lang->menugroup = new stdclass(); diff --git a/module/customlang/config.php b/module/customlang/config.php new file mode 100644 index 0000000000..c71e9504b9 --- /dev/null +++ b/module/customlang/config.php @@ -0,0 +1,8 @@ +lang->custom->story = ''; +$config->lang->custom->task = ''; +$config->lang->custom->bug = ''; +$config->lang->custom->testcase = ''; +$config->lang->custom->testtask = ''; +$config->lang->custom->todo = ''; +$config->lang->custom->user = ''; diff --git a/module/lang/control.php b/module/customlang/control.php similarity index 93% rename from module/lang/control.php rename to module/customlang/control.php index d882503c4d..a43b3d090f 100644 --- a/module/lang/control.php +++ b/module/customlang/control.php @@ -9,7 +9,7 @@ * @version $Id$ * @link http://www.zentao.net */ -class lang extends control +class customlang extends control { public function __construct() { diff --git a/module/customlang/lang/en.php b/module/customlang/lang/en.php new file mode 100644 index 0000000000..cfc5a0687b --- /dev/null +++ b/module/customlang/lang/en.php @@ -0,0 +1,8 @@ +customlang->story = 'Story'; +$lang->customlang->task = 'Task'; +$lang->customlang->bug = 'Bug'; +$lang->customlang->testcase = 'Test case'; +$lang->customlang->testtask = 'Test task'; +$lang->customlang->todo = 'Todo'; +$lang->customlang->user = 'User'; diff --git a/module/customlang/lang/zh-cn.php b/module/customlang/lang/zh-cn.php new file mode 100644 index 0000000000..26460183a6 --- /dev/null +++ b/module/customlang/lang/zh-cn.php @@ -0,0 +1,8 @@ +customlang->story = '需求'; +$lang->customlang->task = '任务'; +$lang->customlang->bug = 'Bug'; +$lang->customlang->testcase = '测试用例'; +$lang->customlang->testtask = '测试任务'; +$lang->customlang->todo = '待办'; +$lang->customlang->user = '用户'; diff --git a/module/lang/model.php b/module/customlang/model.php similarity index 91% rename from module/lang/model.php rename to module/customlang/model.php index 737e6c73b8..2eae7b7713 100644 --- a/module/lang/model.php +++ b/module/customlang/model.php @@ -9,7 +9,7 @@ * @version $Id$ * @link http://www.zentao.net */ -class langModel extends model +class customlangModel extends model { } diff --git a/module/customlang/view/header.html.php b/module/customlang/view/header.html.php new file mode 100755 index 0000000000..3ff938570c --- /dev/null +++ b/module/customlang/view/header.html.php @@ -0,0 +1,15 @@ + +
+
+ "; common::printLink('lang', 'story', "", $lang->customlang->story); echo ''; + echo ""; common::printLink('lang', 'task', "", $lang->customlang->task); echo ''; + echo ""; common::printLink('lang', 'bug', "", $lang->customlang->bug); echo ''; + echo ""; common::printLink('lang', 'testcase', "", $lang->customlang->testcase); echo ''; + echo ""; common::printLink('lang', 'testtask', "", $lang->customlang->testtask); echo ''; + echo ""; common::printLink('lang', 'todo', "", $lang->customlang->todo); echo '' ; + echo ""; common::printLink('lang', 'user', "", $lang->customlang->user); echo ''; + echo ""; + ?> +
+
diff --git a/module/lang/view/index.html.php b/module/customlang/view/index.html.php similarity index 87% rename from module/lang/view/index.html.php rename to module/customlang/view/index.html.php index a802d36786..9b0b0fc9d9 100644 --- a/module/lang/view/index.html.php +++ b/module/customlang/view/index.html.php @@ -10,6 +10,5 @@ * @link http://www.zentao.net */ ?> - -asdfasdf + From 7e891b1056ff9dfa8655320fe8957d76de1dc3e6 Mon Sep 17 00:00:00 2001 From: azhi Date: Mon, 5 Aug 2013 17:04:07 +0800 Subject: [PATCH 09/12] * code for task#1670. --- config/config.php | 2 ++ db/update4.3.sql | 2 +- module/common/lang/en.php | 2 +- module/common/lang/zh-cn.php | 2 +- module/customlang/config.php | 25 +++++++++++----- module/customlang/control.php | 22 +++++++++++++- module/customlang/lang/en.php | 2 ++ module/customlang/lang/zh-cn.php | 2 ++ module/customlang/model.php | 26 +++++++++++++++++ module/customlang/view/header.html.php | 14 ++++----- module/customlang/view/index.html.php | 14 --------- module/customlang/view/story.html.php | 40 ++++++++++++++++++++++++++ 12 files changed, 121 insertions(+), 32 deletions(-) delete mode 100644 module/customlang/view/index.html.php create mode 100644 module/customlang/view/story.html.php diff --git a/config/config.php b/config/config.php index d6bd0803c3..086f7c2e26 100644 --- a/config/config.php +++ b/config/config.php @@ -134,6 +134,7 @@ define('TABLE_FILE', '`' . $config->db->prefix . 'file`'); define('TABLE_HISTORY', '`' . $config->db->prefix . 'history`'); define('TABLE_EXTENSION', '`' . $config->db->prefix . 'extension`'); define('TABLE_WEBAPP', '`' . $config->db->prefix . 'webapp`'); +define('TABLE_CUSTOMLANG', '`' . $config->db->prefix . 'customLang`'); $config->objectTables['product'] = TABLE_PRODUCT; $config->objectTables['story'] = TABLE_STORY; @@ -150,6 +151,7 @@ $config->objectTables['user'] = TABLE_USER; $config->objectTables['doc'] = TABLE_DOC; $config->objectTables['doclib'] = TABLE_DOCLIB; $config->objectTables['todo'] = TABLE_TODO; +$config->objectTables['customlang'] = TABLE_CUSTOMLANG; /* Include extension config files. */ $extConfigFiles = glob($configRoot . 'ext/*.php'); diff --git a/db/update4.3.sql b/db/update4.3.sql index 487f80922f..feb60a2460 100644 --- a/db/update4.3.sql +++ b/db/update4.3.sql @@ -1,7 +1,7 @@ REATE TABLE `demoTTT`.`zt_customLang` ( `id` MEDIUMINT( 8 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , `lang` VARCHAR( 30 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , - `module` VARCHAR( 30 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , + `object` VARCHAR( 30 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `key` VARCHAR( 60 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , `value` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ) ENGINE = MYISAM; diff --git a/module/common/lang/en.php b/module/common/lang/en.php index 10bf4a6765..57fa053e15 100644 --- a/module/common/lang/en.php +++ b/module/common/lang/en.php @@ -272,7 +272,7 @@ $lang->admin = new stdclass(); $lang->admin->menu = new stdclass(); $lang->admin->menu->index = array('link' => 'Index|admin|index'); $lang->admin->menu->extension = array('link' => 'Extension|extension|browse', 'subModule' => 'extension,editor'); -$lang->admin->menu->customlang = array('link' => 'Custom lang|customlang|index', 'subModule' => 'customlang'); +$lang->admin->menu->customlang = array('link' => 'Custom lang|customlang|story', 'subModule' => 'customlang'); $lang->admin->menu->mail = array('link' => 'Email|mail|index', 'subModule' => 'mail'); $lang->admin->menu->clearData = array('link' => 'Clear data|admin|cleardata'); $lang->admin->menu->convert = array('link' => 'Import|convert|index', 'subModule' => 'convert'); diff --git a/module/common/lang/zh-cn.php b/module/common/lang/zh-cn.php index 26b747a785..f24188e87a 100644 --- a/module/common/lang/zh-cn.php +++ b/module/common/lang/zh-cn.php @@ -272,7 +272,7 @@ $lang->admin = new stdclass(); $lang->admin->menu = new stdclass(); $lang->admin->menu->index = array('link' => '首页|admin|index'); $lang->admin->menu->extension = array('link' => '扩展|extension|browse', 'subModule' => 'extension,editor'); -$lang->admin->menu->customlang = array('link' => '语言配置|customlang|index', 'subModule' => 'customlang'); +$lang->admin->menu->customlang = array('link' => '语言配置|customlang|story', 'subModule' => 'customlang'); $lang->admin->menu->mail = array('link' => '发信|mail|index', 'subModule' => 'mail'); $lang->admin->menu->clearData = array('link' => '清除数据|admin|cleardata'); $lang->admin->menu->convert = array('link' => '导入|convert|index', 'subModule' => 'convert'); diff --git a/module/customlang/config.php b/module/customlang/config.php index c71e9504b9..969e01960a 100644 --- a/module/customlang/config.php +++ b/module/customlang/config.php @@ -1,8 +1,19 @@ lang->custom->story = ''; -$config->lang->custom->task = ''; -$config->lang->custom->bug = ''; -$config->lang->custom->testcase = ''; -$config->lang->custom->testtask = ''; -$config->lang->custom->todo = ''; -$config->lang->custom->user = ''; +$config->customlang = new stdClass(); + +$config->customlang->story = new stdClass(); +$config->customlang->story->fields['priList'] = '优先级'; +$config->customlang->story->fields['sourceList'] = '来源'; +$config->customlang->story->fields['reasonList'] = '关闭原因'; +$config->customlang->story->fields['reviewResultList'] = '评审结果'; +$config->customlang->story->fields['statusList'] = '状态'; +$config->customlang->story->fields['stageList'] = '阶段'; +$config->customlang->story->canAdd = 'reasonList,reviewResultList,sourceList,priList'; + +$config->customlang->task = ''; +$config->customlang->bug = ''; +$config->customlang->testcase = ''; +$config->customlang->testtask = ''; +$config->customlang->todo = ''; +$config->customlang->user = ''; + diff --git a/module/customlang/control.php b/module/customlang/control.php index a43b3d090f..847a20444f 100644 --- a/module/customlang/control.php +++ b/module/customlang/control.php @@ -16,8 +16,28 @@ class customlang extends control parent::__construct(); } - public function index() + public function story($field = 'priList') { + if(!empty($_POST)) + { + $this->customlang->update('story', $field); + if(!dao::getError()) die(js::reload('parent')); + } + + $this->app->loadLang('story'); + $fieldList = array(); + $standardList = $this->lang->story->$field; + $fieldList = $this->customlang->getLang('', $this->app->getClientLang(), 'story', $field); + $fieldList = $fieldList ? unserialize($fieldList->value) + $standardList: $standardList; + + $this->view->title = $this->lang->customlang->common . $this->lang->colon . $this->lang->customlang->story; + $this->view->position[] = $this->lang->customlang->common; + $this->view->position[] = $this->lang->customlang->story; + $this->view->standardList = $standardList; + $this->view->fieldList = $fieldList; + $this->view->field = $field; + $this->view->canAdd = strpos($this->config->customlang->story->canAdd, $field) !== false; + $this->display(); } } diff --git a/module/customlang/lang/en.php b/module/customlang/lang/en.php index cfc5a0687b..40cf1af301 100644 --- a/module/customlang/lang/en.php +++ b/module/customlang/lang/en.php @@ -1,4 +1,6 @@ customlang->common = 'Custom lang'; + $lang->customlang->story = 'Story'; $lang->customlang->task = 'Task'; $lang->customlang->bug = 'Bug'; diff --git a/module/customlang/lang/zh-cn.php b/module/customlang/lang/zh-cn.php index 26460183a6..216ad80438 100644 --- a/module/customlang/lang/zh-cn.php +++ b/module/customlang/lang/zh-cn.php @@ -1,4 +1,6 @@ customlang->common = '语言配置'; + $lang->customlang->story = '需求'; $lang->customlang->task = '任务'; $lang->customlang->bug = 'Bug'; diff --git a/module/customlang/model.php b/module/customlang/model.php index 2eae7b7713..85479a0a0d 100644 --- a/module/customlang/model.php +++ b/module/customlang/model.php @@ -11,5 +11,31 @@ */ class customlangModel extends model { + public function getLang($id, $lang, $object, $key, $value) + { + return $this->dao->select('*')->from(TABLE_CUSTOMLANG) + ->where('1=1') + ->beginIF($id)->andWhere('id')->eq($id)->fi() + ->beginIF($lang)->andWhere('lang')->eq($lang)->fi() + ->beginIF($object)->andWhere('object')->eq($object)->fi() + ->beginIF($key)->andWhere('`key`')->eq($key)->fi() + ->beginIF($value)->andWhere('value')->eq($value)->fi() + ->fetch(); + } + + public function update($object, $field) + { + $item = new stdClass(); + $item->lang = $this->app->getClientLang(); + $item->object = $object; + $item->key = $field; + $item->value = serialize($this->post->$field); + $oldItem = $this->getLang('', $item->lang, $item->object, $item->key); + if($oldItem) + { + return $this->dao->update(TABLE_CUSTOMLANG)->set('value')->eq($item->value)->where('id')->eq($oldItem->id)->exec(); + } + return $this->dao->insert(TABLE_CUSTOMLANG)->data($item)->exec(); + } } diff --git a/module/customlang/view/header.html.php b/module/customlang/view/header.html.php index 3ff938570c..d280894543 100755 --- a/module/customlang/view/header.html.php +++ b/module/customlang/view/header.html.php @@ -2,13 +2,13 @@
"; common::printLink('lang', 'story', "", $lang->customlang->story); echo ''; - echo ""; common::printLink('lang', 'task', "", $lang->customlang->task); echo ''; - echo ""; common::printLink('lang', 'bug', "", $lang->customlang->bug); echo ''; - echo ""; common::printLink('lang', 'testcase', "", $lang->customlang->testcase); echo ''; - echo ""; common::printLink('lang', 'testtask', "", $lang->customlang->testtask); echo ''; - echo ""; common::printLink('lang', 'todo', "", $lang->customlang->todo); echo '' ; - echo ""; common::printLink('lang', 'user', "", $lang->customlang->user); echo ''; + echo ""; common::printLink('customlang', 'story', "", $lang->customlang->story); echo ''; + echo ""; common::printLink('customlang', 'task', "", $lang->customlang->task); echo ''; + echo ""; common::printLink('customlang', 'bug', "", $lang->customlang->bug); echo ''; + echo ""; common::printLink('customlang', 'testcase', "", $lang->customlang->testcase); echo ''; + echo ""; common::printLink('customlang', 'testtask', "", $lang->customlang->testtask); echo ''; + echo ""; common::printLink('customlang', 'todo', "", $lang->customlang->todo); echo '' ; + echo ""; common::printLink('customlang', 'user', "", $lang->customlang->user); echo ''; echo ""; ?>
diff --git a/module/customlang/view/index.html.php b/module/customlang/view/index.html.php deleted file mode 100644 index 9b0b0fc9d9..0000000000 --- a/module/customlang/view/index.html.php +++ /dev/null @@ -1,14 +0,0 @@ - - * @package xxx - * @version $Id$ - * @link http://www.zentao.net - */ -?> - - diff --git a/module/customlang/view/story.html.php b/module/customlang/view/story.html.php new file mode 100644 index 0000000000..32467c8d7d --- /dev/null +++ b/module/customlang/view/story.html.php @@ -0,0 +1,40 @@ + + * @package xxx + * @version $Id$ + * @link http://www.zentao.net + */ +?> + +
+
+ config->customlang->story->fields as $key => $value) + { + echo "" . html::a(inlink('story', "field=$key"), $value) . ""; + } + ?> +
+
+
+ + + + + + $value):?> + + + + + + +
键值
+
+ + From 159cae41207bf683d85bb19e2de9e567bbc5d809 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Tue, 6 Aug 2013 08:51:09 +0800 Subject: [PATCH 10/12] * fix a bug for upgrade. --- tools/minifyfront.php | 2 ++ www/upgrade.php | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/minifyfront.php b/tools/minifyfront.php index 747ce05f8d..8bf7b82796 100755 --- a/tools/minifyfront.php +++ b/tools/minifyfront.php @@ -21,6 +21,7 @@ $jsFiles[] = $jqueryRoot . 'datepicker/date.js'; $jsFiles[] = $jqueryRoot . 'datepicker/min.js'; $jsFiles[] = $jqueryRoot . 'alert/min.js'; $jsFiles[] = $jqueryRoot . 'colorize/min.js'; +$jsFiles[] = $jqueryRoot . 'dropmenu/dropmenu.js'; /* Combine these js files. */ $allJSFile = $jsRoot . 'all.js'; @@ -70,6 +71,7 @@ foreach($langs as $lang) $cssCode .= file_get_contents($themeRoot . 'default/treeview.css'); $cssCode .= file_get_contents($themeRoot . 'default/datepicker.css'); $cssCode .= file_get_contents($themeRoot . 'default/alert.css'); + $cssCode .= file_get_contents($themeRoot . 'default/dropmenu.css'); /* Css file for current lang and current them. */ $cssCode .= file_get_contents($themeRoot . "lang/$lang.css"); diff --git a/www/upgrade.php b/www/upgrade.php index 9f1d1518af..e2bad61d14 100644 --- a/www/upgrade.php +++ b/www/upgrade.php @@ -37,7 +37,7 @@ $app->setDebug(); /* Check the installed version is the latest or not. */ $config->installedVersion = $common->loadModel('setting')->getVersion(); -if(version_compare($config->version, $config->installedVersion) <= 0) die(header('location: index.php')); +if(!$_SERVER['HTTP_X_REQUESTED_WITH'] and version_compare($config->version, $config->installedVersion) <= 0) die(header('location: index.php')); /* Run it. */ $app->parseRequest(); From fb7fb60ac7c8ef1cb6f023a949cc0e6fedfa2466 Mon Sep 17 00:00:00 2001 From: azhi Date: Tue, 6 Aug 2013 08:51:30 +0800 Subject: [PATCH 11/12] * fix bug: wrong colspan. --- module/task/view/batchedit.html.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/module/task/view/batchedit.html.php b/module/task/view/batchedit.html.php index 3d3b8eb054..beaf4af3f5 100755 --- a/module/task/view/batchedit.html.php +++ b/module/task/view/batchedit.html.php @@ -72,7 +72,8 @@ - + type != 'sprint')) ? $this->config->task->batchEdit->columns + 1 : $this->config->task->batchEdit->columns;?> + From 0fdf9dd1ec2d89908000fe44802644ab8f4bc291 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Tue, 6 Aug 2013 10:50:06 +0800 Subject: [PATCH 12/12] * fix a bug #448. --- framework/router.class.php | 1 + 1 file changed, 1 insertion(+) diff --git a/framework/router.class.php b/framework/router.class.php index 707ea028ef..aa529cb38b 100755 --- a/framework/router.class.php +++ b/framework/router.class.php @@ -1218,6 +1218,7 @@ class router /* If the not strict mode, the keys of passed params and defaaul params msut be the same. */ if(!isset($this->config->strictParams) or $this->config->strictParams == false) { + unset($passedParams['onlybody']); $passedParams = array_values($passedParams); $i = 0; foreach($defaultParams as $key => $defaultValue)