diff --git a/bin/check.php b/bin/check.php index 01845fef2b..ba48229dbc 100755 --- a/bin/check.php +++ b/bin/check.php @@ -79,6 +79,7 @@ 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'; foreach(glob($moduleRoot . '*') as $modulePath) { @@ -118,15 +119,11 @@ foreach(glob($moduleRoot . '*') as $modulePath) } echo '-------------php5.4 synatax checking-----------------' . "\n"; -class app -{ - function loadLang() - { - } -} +class app {function loadLang() {}} $app = new app; +$lang = new stdclass(); -error_reporting(E_ALL ^ E_NOTICE); +error_reporting(E_WARNING | E_STRICT ); foreach(glob($moduleRoot . '*') as $modulePath) { $moduleName = basename($modulePath); @@ -134,6 +131,7 @@ foreach(glob($moduleRoot . '*') as $modulePath) $enLangFile = $modulePath . '/lang/en.php'; $configFile = $modulePath . '/config.php'; + if(!isset($lang->$moduleName)) $lang->$moduleName = new stdclass(); if(file_exists($cnLangFile)) include $cnLangFile; if(file_exists($enLangFile)) include $enLangFile; if(file_exists($configFile)) include $configFile; diff --git a/framework/router.class.php b/framework/router.class.php index 55ec30d433..cbd95fb3f2 100755 --- a/framework/router.class.php +++ b/framework/router.class.php @@ -1405,12 +1405,19 @@ class router } /* Merge from the db configs. */ - if(isset($config->system->$moduleName)) + if($moduleName != 'common' and isset($config->system->$moduleName)) { foreach($config->system->$moduleName as $item) { - if($item->section) $config->{$moduleName}->{$item->section}->{$item->key} = $item->value; - if(!$item->section) $config->{$moduleName}->{$item->key} = $item->value; + if($item->section) + { + if(!isset($config->{$moduleName}->{$item->section})) $config->{$moduleName}->{$item->section} = new stdclass(); + $config->{$moduleName}->{$item->section}->{$item->key} = $item->value; + } + else + { + if(!$item->section) $config->{$moduleName}->{$item->key} = $item->value; + } } } diff --git a/module/action/model.php b/module/action/model.php index 488cb8a048..092ac5d4a4 100644 --- a/module/action/model.php +++ b/module/action/model.php @@ -30,6 +30,8 @@ class actionModel extends model */ public function create($objectType, $objectID, $actionType, $comment = '', $extra = '') { + $action = new stdclass(); + $objectType = str_replace('`', '', $objectType); $action->objectType = strtolower($objectType); $action->objectID = $objectID; diff --git a/module/admin/config.php b/module/admin/config.php index dc2d0e35e7..11f2d2c8f1 100644 --- a/module/admin/config.php +++ b/module/admin/config.php @@ -1,4 +1,5 @@ url = new stdclass(); $config->url->community = 'http://www.zentao.net'; $config->url->ask = 'http://www.zentao.net/ask-browse.html'; $config->url->document = 'http://www.zentao.net/help-book-zentaopmshelp.html'; diff --git a/module/bug/config.php b/module/bug/config.php index fb403e1df9..bfe09aa2c4 100644 --- a/module/bug/config.php +++ b/module/bug/config.php @@ -82,10 +82,14 @@ $config->bug->search['params']['resolvedDate'] = array('operator' => '>=', $config->bug->search['params']['closedDate'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); $config->bug->search['params']['lastEditedDate']= array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->bug->create = new stdclass(); +$config->bug->edit = new stdclass(); +$config->bug->resolve = new stdclass(); $config->bug->create->requiredFields = 'title,openedBuild'; $config->bug->edit->requiredFields = $config->bug->create->requiredFields; $config->bug->resolve->requiredFields = 'resolution'; +$config->bug->list = new stdclass(); $config->bug->list->allFields = 'id, module, project, story, task, title, keywords, severity, pri, type, os, browser, hardware, found, steps, status, activatedCount, confirmed, mailto, @@ -111,5 +115,6 @@ $config->bug->list->exportFields = 'id, product, module, project, story, task, lastEditedBy, lastEditedDate, files'; +$config->bug->editor = new stdclass(); $config->bug->editor->create = array('id' => 'steps', 'tools' => 'bugTools'); $config->bug->editor->edit = array('id' => 'steps', 'tools' => 'bugTools'); diff --git a/module/bug/lang/en.php b/module/bug/lang/en.php index 31dd99f019..621622db5f 100644 --- a/module/bug/lang/en.php +++ b/module/bug/lang/en.php @@ -244,9 +244,10 @@ $lang->bug->resolutionList['willnotfix'] = "Won't fix"; $lang->bug->resolutionList['tostory'] = 'To story'; /* Report. */ -$lang->bug->report->common = 'Report'; -$lang->bug->report->select = 'Select'; -$lang->bug->report->create = 'Create'; +$lang->bug->report = new stdclass(); +$lang->bug->report->common = 'Report'; +$lang->bug->report->select = 'Select'; +$lang->bug->report->create = 'Create'; $lang->bug->report->charts['bugsPerProject'] = 'Project bugs'; $lang->bug->report->charts['bugsPerBuild'] = 'Build bugs'; @@ -266,6 +267,8 @@ $lang->bug->report->charts['bugsPerAssignedTo'] = 'AssignedTo'; //$lang->bug->report->charts['bugLiveDays'] = 'Bug处理时间统计'; //$lang->bug->report->charts['bugHistories'] = 'Bug处理步骤统计'; +$lang->bug->report->options = new stdclass(); +$lang->bug->report->options->graph = new stdclass(); $lang->bug->report->options->swf = 'pie2d'; $lang->bug->report->options->width = 'auto'; $lang->bug->report->options->height = 300; @@ -279,6 +282,42 @@ $lang->bug->report->options->graph->yAxisName = 'COUNT'; $lang->bug->report->options->graph->pieRadius = 100; $lang->bug->report->options->graph->showColumnShadow = 0; +$lang->bug->report->bugsPerProject = new stdclass(); +$lang->bug->report->bugsPerBuild = new stdclass(); +$lang->bug->report->bugsPerModule = new stdclass(); +$lang->bug->report->openedBugsPerDay = new stdclass(); +$lang->bug->report->resolvedBugsPerDay = new stdclass(); +$lang->bug->report->closedBugsPerDay = new stdclass(); +$lang->bug->report->openedBugsPerUser = new stdclass(); +$lang->bug->report->resolvedBugsPerUser = new stdclass(); +$lang->bug->report->closedBugsPerUser = new stdclass(); +$lang->bug->report->bugsPerSeverity = new stdclass(); +$lang->bug->report->bugsPerResolution = new stdclass(); +$lang->bug->report->bugsPerStatus = new stdclass(); +$lang->bug->report->bugsPerActivatedCount = new stdclass(); +$lang->bug->report->bugsPerType = new stdclass(); +$lang->bug->report->bugsPerAssignedTo = new stdclass(); +$lang->bug->report->bugLiveDays = new stdclass(); +$lang->bug->report->bugHistories = new stdclass(); + +$lang->bug->report->bugsPerProject->graph = new stdclass(); +$lang->bug->report->bugsPerBuild->graph = new stdclass(); +$lang->bug->report->bugsPerModule->graph = new stdclass(); +$lang->bug->report->openedBugsPerDay->graph = new stdclass(); +$lang->bug->report->resolvedBugsPerDay->graph = new stdclass(); +$lang->bug->report->closedBugsPerDay->graph = new stdclass(); +$lang->bug->report->openedBugsPerUser->graph = new stdclass(); +$lang->bug->report->resolvedBugsPerUser->graph = new stdclass(); +$lang->bug->report->closedBugsPerUser->graph = new stdclass(); +$lang->bug->report->bugsPerSeverity->graph = new stdclass(); +$lang->bug->report->bugsPerResolution->graph = new stdclass(); +$lang->bug->report->bugsPerStatus->graph = new stdclass(); +$lang->bug->report->bugsPerActivatedCount->graph = new stdclass(); +$lang->bug->report->bugsPerType->graph = new stdclass(); +$lang->bug->report->bugsPerAssignedTo->graph = new stdclass(); +$lang->bug->report->bugLiveDays->graph = new stdclass(); +$lang->bug->report->bugHistories->graph = new stdclass(); + $lang->bug->report->bugsPerProject->graph->xAxisName = 'Project'; $lang->bug->report->bugsPerBuild->graph->xAxisName = 'Build'; $lang->bug->report->bugsPerModule->graph->xAxisName = 'Module'; @@ -312,9 +351,11 @@ $lang->bug->report->bugLiveDays->graph->xAxisName = 'Live days'; $lang->bug->report->bugHistories->graph->xAxisName = 'Histories'; /* 操作记录。*/ +$lang->bug->action = new stdclass(); $lang->bug->action->resolved = array('main' => '$date, Resolved by $actor, resolution is $extra.', 'extra' => $lang->bug->resolutionList); $lang->bug->action->tostory = array('main' => '$date, To story by $actor, ID is $extra.'); $lang->bug->action->totask = array('main' => '$date, To task by $actor, ID is $extra.'); +$lang->bug->placeholder = new stdclass(); $lang->bug->placeholder->mailto = 'you can input the user account to select users to mail to.'; $lang->bug->placeholder->keywords = 'keywords'; diff --git a/module/bug/lang/zh-cn.php b/module/bug/lang/zh-cn.php index f4bcbfb60c..a7c684e5c3 100644 --- a/module/bug/lang/zh-cn.php +++ b/module/bug/lang/zh-cn.php @@ -244,9 +244,10 @@ $lang->bug->resolutionList['willnotfix'] = "不予解决"; $lang->bug->resolutionList['tostory'] = '转为需求'; /* 统计报表。*/ -$lang->bug->report->common = '报表'; -$lang->bug->report->select = '请选择报表类型'; -$lang->bug->report->create = '生成报表'; +$lang->bug->report = new stdclass(); +$lang->bug->report->common = '报表'; +$lang->bug->report->select = '请选择报表类型'; +$lang->bug->report->create = '生成报表'; $lang->bug->report->charts['bugsPerProject'] = '项目Bug数量'; $lang->bug->report->charts['bugsPerBuild'] = '版本Bug数量'; @@ -266,6 +267,8 @@ $lang->bug->report->charts['bugsPerAssignedTo'] = '指派给统计'; //$lang->bug->report->charts['bugLiveDays'] = 'Bug处理时间统计'; //$lang->bug->report->charts['bugHistories'] = 'Bug处理步骤统计'; +$lang->bug->report->options = new stdclass(); +$lang->bug->report->options->graph = new stdclass(); $lang->bug->report->options->swf = 'pie2d'; $lang->bug->report->options->width = 'auto'; $lang->bug->report->options->height = 300; @@ -279,6 +282,42 @@ $lang->bug->report->options->graph->yAxisName = 'COUNT'; $lang->bug->report->options->graph->pieRadius = 100; // 饼图直径。 $lang->bug->report->options->graph->showColumnShadow = 0; // 是否显示柱状图阴影。 +$lang->bug->report->bugsPerProject = new stdclass(); +$lang->bug->report->bugsPerBuild = new stdclass(); +$lang->bug->report->bugsPerModule = new stdclass(); +$lang->bug->report->openedBugsPerDay = new stdclass(); +$lang->bug->report->resolvedBugsPerDay = new stdclass(); +$lang->bug->report->closedBugsPerDay = new stdclass(); +$lang->bug->report->openedBugsPerUser = new stdclass(); +$lang->bug->report->resolvedBugsPerUser = new stdclass(); +$lang->bug->report->closedBugsPerUser = new stdclass(); +$lang->bug->report->bugsPerSeverity = new stdclass(); +$lang->bug->report->bugsPerResolution = new stdclass(); +$lang->bug->report->bugsPerStatus = new stdclass(); +$lang->bug->report->bugsPerActivatedCount = new stdclass(); +$lang->bug->report->bugsPerType = new stdclass(); +$lang->bug->report->bugsPerAssignedTo = new stdclass(); +$lang->bug->report->bugLiveDays = new stdclass(); +$lang->bug->report->bugHistories = new stdclass(); + +$lang->bug->report->bugsPerProject->graph = new stdclass(); +$lang->bug->report->bugsPerBuild->graph = new stdclass(); +$lang->bug->report->bugsPerModule->graph = new stdclass(); +$lang->bug->report->openedBugsPerDay->graph = new stdclass(); +$lang->bug->report->resolvedBugsPerDay->graph = new stdclass(); +$lang->bug->report->closedBugsPerDay->graph = new stdclass(); +$lang->bug->report->openedBugsPerUser->graph = new stdclass(); +$lang->bug->report->resolvedBugsPerUser->graph = new stdclass(); +$lang->bug->report->closedBugsPerUser->graph = new stdclass(); +$lang->bug->report->bugsPerSeverity->graph = new stdclass(); +$lang->bug->report->bugsPerResolution->graph = new stdclass(); +$lang->bug->report->bugsPerStatus->graph = new stdclass(); +$lang->bug->report->bugsPerActivatedCount->graph = new stdclass(); +$lang->bug->report->bugsPerType->graph = new stdclass(); +$lang->bug->report->bugsPerAssignedTo->graph = new stdclass(); +$lang->bug->report->bugLiveDays->graph = new stdclass(); +$lang->bug->report->bugHistories->graph = new stdclass(); + $lang->bug->report->bugsPerProject->graph->xAxisName = '项目'; $lang->bug->report->bugsPerBuild->graph->xAxisName = '版本'; $lang->bug->report->bugsPerModule->graph->xAxisName = '模块'; @@ -312,8 +351,10 @@ $lang->bug->report->bugLiveDays->graph->xAxisName = '处理时间'; $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->placeholder = new stdclass(); $lang->bug->placeholder->mailto = '输入用户名自动选择'; diff --git a/module/build/config.php b/module/build/config.php index 86c6b64a19..52496f86be 100644 --- a/module/build/config.php +++ b/module/build/config.php @@ -1,6 +1,10 @@ build = new stdclass(); +$config->build->create = new stdclass(); +$config->build->edit = new stdclass(); $config->build->create->requiredFields = 'product,name,builder,date'; $config->build->edit->requiredFields = 'product,name,builder,date'; +$config->build->editor = new stdclass(); $config->build->editor->create = array('id' => 'desc', 'tools' => 'simpleTools'); $config->build->editor->edit = array('id' => 'desc', 'tools' => 'simpleTools'); diff --git a/module/common/model.php b/module/common/model.php index fecf8cfa0c..990aae21c9 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -242,7 +242,8 @@ class commonModel extends model if(isset($lang->menuOrder)) { $menus = $lang->menu; - unset($lang->menu); + $lang->menu = new stdclass(); + ksort($lang->menuOrder, SORT_ASC); foreach($lang->menuOrder as $order) { @@ -256,7 +257,6 @@ class commonModel extends model } } - /* Print all main menus. */ foreach($lang->menu as $menuKey => $menu) { @@ -329,8 +329,9 @@ class commonModel extends model /* Sort the subMenu according to menuOrder. */ if(isset($lang->$moduleName->menuOrder)) { - $menus = $submenus; - unset($submenus); + $menus = $submenus; + $submenus = new stdclass(); + ksort($lang->$moduleName->menuOrder, SORT_ASC); if(isset($menus->list)) { @@ -481,7 +482,8 @@ class commonModel extends model */ public function getPreAndNextObject($type, $objectID) { - $table = ''; + $preAndNextObject = new stdClass(); + switch($type) { case 'story' : $table = TABLE_STORY; break; @@ -489,7 +491,7 @@ class commonModel extends model case 'bug' : $table = TABLE_BUG; break; case 'testcase' : $table = TABLE_CASE; break; case 'doc' : $table = TABLE_DOC; break; - default:break; + default : return $preAndNextObject; } $typeIDs = $type . 'IDs'; diff --git a/module/convert/lang/en.php b/module/convert/lang/en.php index 6ed3840c18..2ec3c9e055 100644 --- a/module/convert/lang/en.php +++ b/module/convert/lang/en.php @@ -71,6 +71,7 @@ $lang->convert->item = 'Imported items'; $lang->convert->count = 'Count'; $lang->convert->info = 'Info'; +$lang->convert->bugfree = new stdclass(); $lang->convert->bugfree->users = 'User'; $lang->convert->bugfree->projects = 'Project'; $lang->convert->bugfree->modules = 'Module'; @@ -80,6 +81,7 @@ $lang->convert->bugfree->results = 'Result'; $lang->convert->bugfree->actions = 'History'; $lang->convert->bugfree->files = 'File'; +$lang->convert->redmine = new stdclass(); $lang->convert->redmine->users = 'Users'; $lang->convert->redmine->groups = 'Groups'; $lang->convert->redmine->products = 'Products'; @@ -105,6 +107,9 @@ $lang->convert->errorCopyFailed = 'file %s copy failed.'; $lang->convert->setParam = 'Please set params'; +$lang->convert->statusType = new stdclass(); +$lang->convert->priType = new stdclass(); + $lang->convert->aimType = 'Issue types goto'; $lang->convert->statusType->bug = 'Status types goto(status of Bug)'; $lang->convert->statusType->story = 'Status types goto(status of story)'; @@ -113,6 +118,7 @@ $lang->convert->priType->bug = 'Priority types goto(priority of Bug)'; $lang->convert->priType->story = 'Priority types goto(priority of story)'; $lang->convert->priType->task = 'Priority types goto(priority of task)'; +$lang->convert->issue = new stdclass(); $lang->convert->issue->redmine = 'Redmine'; $lang->convert->issue->zentao = 'ZenTao'; $lang->convert->issue->goto = 'Goto'; diff --git a/module/convert/lang/zh-cn.php b/module/convert/lang/zh-cn.php index 38fa283bfc..cb5a2f7120 100644 --- a/module/convert/lang/zh-cn.php +++ b/module/convert/lang/zh-cn.php @@ -71,6 +71,7 @@ $lang->convert->item = '转换项'; $lang->convert->count = '转换数量'; $lang->convert->info = '转换信息'; +$lang->convert->bugfree = new stdclass(); $lang->convert->bugfree->users = '用户'; $lang->convert->bugfree->projects = '项目'; $lang->convert->bugfree->modules = '模块'; @@ -80,6 +81,7 @@ $lang->convert->bugfree->results = '测试结果'; $lang->convert->bugfree->actions = '历史记录'; $lang->convert->bugfree->files = '附件'; +$lang->convert->redmine = new stdclass(); $lang->convert->redmine->users = '用户'; $lang->convert->redmine->groups = '用户分组'; $lang->convert->redmine->products = '产品'; @@ -105,6 +107,9 @@ $lang->convert->errorCopyFailed = '文件 %s 拷贝失败'; $lang->convert->setParam = '请设置转换参数'; +$lang->convert->statusType = new stdclass(); +$lang->convert->priType = new stdclass(); + $lang->convert->aimType = '问题类型转换'; $lang->convert->statusType->bug = '状态类型转换(Bug状态)'; $lang->convert->statusType->story = '状态类型转换(Story状态)'; @@ -113,6 +118,7 @@ $lang->convert->priType->bug = '优先级类型转换(Bug状态)'; $lang->convert->priType->story = '优先级类型转换(Story状态)'; $lang->convert->priType->task = '优先级类型转换(Task状态)'; +$lang->convert->issue = new stdclass(); $lang->convert->issue->redmine = 'Redmine'; $lang->convert->issue->zentao = '禅道'; $lang->convert->issue->goto = '转换为'; diff --git a/module/dept/model.php b/module/dept/model.php index 05626fac99..36263f39c1 100644 --- a/module/dept/model.php +++ b/module/dept/model.php @@ -35,7 +35,12 @@ class deptModel extends model public function buildMenuQuery($rootDeptID) { $rootDept = $this->getByID($rootDeptID); - if(!$rootDept) $rootDept->path = ''; + if(!$rootDept) + { + $rootDept = new stdclass(); + $rootDept->path = ''; + } + return $this->dao->select('*')->from(TABLE_DEPT) ->beginIF($rootDeptID > 0)->where('path')->like($rootDept->path . '%')->fi() ->orderBy('grade desc, `order`') diff --git a/module/doc/config.php b/module/doc/config.php index 3db4a74af2..69cb8e1471 100644 --- a/module/doc/config.php +++ b/module/doc/config.php @@ -1,10 +1,18 @@ doc = new stdclass(); +$config->doc->createLib = new stdclass(); +$config->doc->editLib = new stdclass(); +$config->doc->create = new stdclass(); +$config->doc->edit = new stdclass(); + $config->doc->createLib->requiredFields = 'name'; $config->doc->editLib->requiredFields = 'name'; $config->doc->create->requiredFields = 'title'; $config->doc->edit->requiredFields = 'title'; +$config->doc->editor = new stdclass(); $config->doc->editor->create = array('id' => 'content', 'tools' => 'fullTools'); $config->doc->editor->edit = array('id' => 'content', 'tools' => 'fullTools'); diff --git a/module/doc/lang/en.php b/module/doc/lang/en.php index d87da9c74d..2a73a77090 100644 --- a/module/doc/lang/en.php +++ b/module/doc/lang/en.php @@ -67,4 +67,5 @@ $lang->doc->confirmDelete = "Are you sure to delete this doc?"; $lang->doc->confirmDeleteLib = " Are you sure to delete this doc library?"; $lang->doc->errorEditSystemDoc = "System doc library needn't edit"; +$lang->doc->placeholder = new stdclass(); $lang->doc->placeholder->url = 'url'; diff --git a/module/doc/lang/zh-cn.php b/module/doc/lang/zh-cn.php index fcd2a6f125..4a51bcd68b 100644 --- a/module/doc/lang/zh-cn.php +++ b/module/doc/lang/zh-cn.php @@ -67,4 +67,5 @@ $lang->doc->confirmDelete = "您确定删除该文档吗?"; $lang->doc->confirmDeleteLib = " 您确定删除该文档库吗?"; $lang->doc->errorEditSystemDoc = "系统文档库无需修改。"; +$lang->doc->placeholder = new stdclass(); $lang->doc->placeholder->url = '相应的链接地址'; diff --git a/module/extension/config.php b/module/extension/config.php index e2ae0dfc6a..e9eaece0c5 100644 --- a/module/extension/config.php +++ b/module/extension/config.php @@ -1,3 +1,4 @@ extension = new stdclass(); $config->extension->apiRoot = 'http://www.zentao.net/extension-'; $config->extension->extPathes = array('module', 'bin', 'www', 'library', 'config'); diff --git a/module/file/lang/en.php b/module/file/lang/en.php index 33d894a085..fa644e2285 100644 --- a/module/file/lang/en.php +++ b/module/file/lang/en.php @@ -9,6 +9,7 @@ * @version $Id$ * @link http://www.zentao.net */ +$lang->file = new stdclass(); $lang->file->common = 'File'; $lang->file->download = 'Download'; $lang->file->edit = 'Edit file name'; diff --git a/module/file/lang/zh-cn.php b/module/file/lang/zh-cn.php index e993780829..5a30d3a461 100644 --- a/module/file/lang/zh-cn.php +++ b/module/file/lang/zh-cn.php @@ -9,6 +9,7 @@ * @version $Id$ * @link http://www.zentao.net */ +$lang->file = new stdclass(); $lang->file->common = '附件'; $lang->file->download = '下载附件'; $lang->file->edit = '编辑附件名称'; diff --git a/module/group/config.php b/module/group/config.php index dc99108347..dda03629bd 100644 --- a/module/group/config.php +++ b/module/group/config.php @@ -1,3 +1,6 @@ group = new stdclass(); +$config->group->create = new stdclass(); +$config->group->edit = new stdclass(); $config->group->create->requiredFields = 'name'; $config->group->edit->requiredFields = 'name'; diff --git a/module/group/lang/resource.php b/module/group/lang/resource.php index df4829460e..dfe2990a80 100644 --- a/module/group/lang/resource.php +++ b/module/group/lang/resource.php @@ -52,12 +52,16 @@ $lang->moduleOrder[145] = 'api'; $lang->moduleOrder[150] = 'file'; $lang->moduleOrder[155] = 'misc'; +$lang->resource = new stdclass(); + /* Index module. */ +$lang->resource->index = new stdclass(); $lang->resource->index->index = 'index'; $lang->index->methodOrder[0] = 'index'; /* My module. */ +$lang->resource->my = new stdclass(); $lang->resource->my->index = 'index'; $lang->resource->my->todo = 'todo'; $lang->resource->my->task = 'task'; @@ -85,6 +89,7 @@ $lang->my->methodOrder[50] = 'editProfile'; $lang->my->methodOrder[55] = 'changePassword'; /* Todo. */ +$lang->resource->todo = new stdclass(); $lang->resource->todo->create = 'create'; $lang->resource->todo->batchCreate = 'batchCreate'; $lang->resource->todo->edit = 'edit'; @@ -105,6 +110,7 @@ $lang->todo->methodOrder[35] = 'mark'; $lang->todo->methodOrder[40] = 'import2Today'; /* Product. */ +$lang->resource->product = new stdclass(); $lang->resource->product->index = 'index'; $lang->resource->product->browse = 'browse'; $lang->resource->product->create = 'create'; @@ -134,6 +140,7 @@ $lang->product->methodOrder[55] = 'ajaxGetProjects'; $lang->product->methodOrder[60] = 'ajaxGetPlans'; /* Story. */ +$lang->resource->story = new stdclass(); $lang->resource->story->create = 'create'; $lang->resource->story->batchCreate = 'batchCreate'; $lang->resource->story->edit = 'edit'; @@ -168,6 +175,7 @@ $lang->story->methodOrder[70] = 'ajaxGetProjectStories'; $lang->story->methodOrder[75] = 'ajaxGetProductStories'; /* Product plan. */ +$lang->resource->productplan = new stdclass(); $lang->resource->productplan->browse = 'browse'; $lang->resource->productplan->create = 'create'; $lang->resource->productplan->edit = 'edit'; @@ -185,6 +193,7 @@ $lang->productplan->methodOrder[30] = 'linkStory'; $lang->productplan->methodOrder[35] = 'unlinkStory'; /* Release. */ +$lang->resource->release = new stdclass(); $lang->resource->release->browse = 'browse'; $lang->resource->release->create = 'create'; $lang->resource->release->edit = 'edit'; @@ -202,6 +211,7 @@ $lang->release->methodOrder[30] = 'ajaxGetStoriesAndBugs'; $lang->release->methodOrder[35] = 'export'; /* Project. */ +$lang->resource->project = new stdclass(); $lang->resource->project->index = 'index'; $lang->resource->project->view = 'view'; $lang->resource->project->browse = 'browse'; @@ -260,6 +270,7 @@ $lang->project->methodOrder[125] = 'unlinkStory'; $lang->project->methodOrder[130] = 'ajaxGetProducts'; /* Task. */ +$lang->resource->task = new stdclass(); $lang->resource->task->create = 'create'; $lang->resource->task->batchCreate = 'batchCreate'; $lang->resource->task->batchEdit = 'batchEdit'; @@ -299,6 +310,7 @@ $lang->task->methodOrder[85] = 'ajaxGetProjectTasks'; $lang->task->methodOrder[90] = 'report'; /* Build. */ +$lang->resource->build = new stdclass(); $lang->resource->build->create = 'create'; $lang->resource->build->edit = 'edit'; $lang->resource->build->delete = 'delete'; @@ -314,11 +326,13 @@ $lang->build->methodOrder[25] = 'ajaxGetProductBuilds'; $lang->build->methodOrder[30] = 'ajaxGetProjectBuilds'; /* QA. */ +$lang->resource->qa = new stdclass(); $lang->resource->qa->index = 'index'; $lang->qa->methodOrder[0] = 'index'; /* Bug. */ +$lang->resource->bug = new stdclass(); $lang->resource->bug->index = 'index'; $lang->resource->bug->browse = 'browse'; $lang->resource->bug->create = 'create'; @@ -361,6 +375,7 @@ $lang->bug->methodOrder[85] = 'ajaxGetUserBugs'; $lang->bug->methodOrder[90] = 'ajaxGetModuleOwner'; /* Test case. */ +$lang->resource->testcase = new stdclass(); $lang->resource->testcase->index = 'index'; $lang->resource->testcase->browse = 'browse'; $lang->resource->testcase->create = 'create'; @@ -383,6 +398,7 @@ $lang->testcase->methodOrder[35] = 'export'; $lang->testcase->methodOrder[40] = 'confirmStoryChange'; /* Test task. */ +$lang->resource->testtask = new stdclass(); $lang->resource->testtask->index = 'index'; $lang->resource->testtask->create = 'create'; $lang->resource->testtask->browse = 'browse'; @@ -410,6 +426,7 @@ $lang->testtask->methodOrder[50] = 'runcase'; $lang->testtask->methodOrder[55] = 'results'; /* Doc. */ +$lang->resource->doc = new stdclass(); $lang->resource->doc->index = 'index'; $lang->resource->doc->browse = 'browse'; $lang->resource->doc->createLib = 'createLib'; @@ -431,6 +448,7 @@ $lang->doc->methodOrder[35] = 'edit'; $lang->doc->methodOrder[40] = 'delete'; /* mail. */ +$lang->resource->mail = new stdclass(); $lang->resource->mail->index = 'index'; $lang->resource->mail->detect = 'detect'; $lang->resource->mail->edit = 'edit'; @@ -444,6 +462,7 @@ $lang->mail->methodOrder[20] = 'save'; $lang->mail->methodOrder[25] = 'test'; /* Subversion. */ +$lang->resource->svn = new stdclass(); $lang->resource->svn->diff = 'diff'; $lang->resource->svn->cat = 'cat'; $lang->resource->svn->apiSync = 'apiSync'; @@ -453,6 +472,7 @@ $lang->svn->methodOrder[10] = 'cat'; $lang->svn->methodOrder[15] = 'apiSync'; /* Company. */ +$lang->resource->company = new stdclass(); $lang->resource->company->index = 'index'; $lang->resource->company->browse = 'browse'; $lang->resource->company->create = 'create'; @@ -468,6 +488,7 @@ $lang->company->methodOrder[20] = 'delete'; $lang->company->methodOrder[25] = 'dynamic'; /* Department. */ +$lang->resource->dept = new stdclass(); $lang->resource->dept->browse = 'browse'; $lang->resource->dept->updateOrder = 'updateOrder'; $lang->resource->dept->manageChild = 'manageChild'; @@ -479,6 +500,7 @@ $lang->dept->methodOrder[15] = 'manageChild'; $lang->dept->methodOrder[20] = 'delete'; /* Group. */ +$lang->resource->group = new stdclass(); $lang->resource->group->browse = 'browse'; $lang->resource->group->create = 'create'; $lang->resource->group->edit = 'edit'; @@ -496,6 +518,7 @@ $lang->group->methodOrder[30] = 'managePriv'; $lang->group->methodOrder[35] = 'manageMember'; /* User. */ +$lang->resource->user = new stdclass(); $lang->resource->user->create = 'create'; $lang->resource->user->batchCreate = 'batchCreate'; $lang->resource->user->view = 'view'; @@ -524,6 +547,7 @@ $lang->user->methodOrder[55] = 'profile'; $lang->user->methodOrder[60] = 'ajaxGetUser'; /* Tree. */ +$lang->resource->tree = new stdclass(); $lang->resource->tree->browse = 'browse'; $lang->resource->tree->updateOrder = 'updateOrder'; $lang->resource->tree->manageChild = 'manageChild'; @@ -542,6 +566,7 @@ $lang->tree->methodOrder[30] = 'ajaxGetOptionMenu'; $lang->tree->methodOrder[35] = 'ajaxGetSonModules'; /* Report. */ +$lang->resource->report = new stdclass(); $lang->resource->report->index = 'index'; $lang->resource->report->projectDeviation = 'projectDeviation'; $lang->resource->report->productInfo = 'productInfo'; @@ -557,6 +582,7 @@ $lang->report->methodOrder[17] = 'bugSummary'; $lang->report->methodOrder[20] = 'workload'; /* Search. */ +$lang->resource->search = new stdclass(); $lang->resource->search->buildForm = 'buildForm'; $lang->resource->search->buildQuery = 'buildQuery'; $lang->resource->search->saveQuery = 'saveQuery'; @@ -570,6 +596,7 @@ $lang->search->methodOrder[20] = 'deleteQuery'; $lang->search->methodOrder[25] = 'select'; /* Admin. */ +$lang->resource->admin = new stdclass(); $lang->resource->admin->index = 'index'; $lang->resource->admin->checkDB = 'checkDB'; $lang->resource->admin->clearData = 'clearData'; @@ -579,6 +606,7 @@ $lang->admin->methodOrder[5] = 'checkDB'; $lang->admin->methodOrder[10] = 'clearData'; /* Extension. */ +$lang->resource->extension = new stdclass(); $lang->resource->extension->browse = 'browse'; $lang->resource->extension->obtain = 'obtain'; $lang->resource->extension->structure = 'structure'; @@ -601,7 +629,8 @@ $lang->extension->methodOrder[40] = 'upload'; $lang->extension->methodOrder[45] = 'erase'; $lang->extension->methodOrder[50] = 'upgrade'; -/* Editor . */ +/* Editor. */ +$lang->resource->editor = new stdclass(); $lang->resource->editor->index = 'index'; $lang->resource->editor->extend = 'extend'; $lang->resource->editor->edit = 'edit'; @@ -617,6 +646,7 @@ $lang->editor->methodOrder[25] = 'save'; $lang->editor->methodOrder[30] = 'delete'; /* Convert. */ +$lang->resource->convert = new stdclass(); $lang->resource->convert->index = 'index'; $lang->resource->convert->selectSource = 'selectSource'; $lang->resource->convert->setConfig = 'setConfig'; @@ -641,25 +671,28 @@ $lang->convert->methodOrder[45] = 'execute'; $lang->convert->methodOrder[50] = 'convertBugFree'; $lang->convert->methodOrder[55] = 'convertRedmine'; -//$lang->resource->webapp->index = 'index'; -//$lang->resource->webapp->obtain = 'obtain'; -//$lang->resource->webapp->create = 'create'; -//$lang->resource->webapp->edit = 'edit'; -//$lang->resource->webapp->install = 'install'; -//$lang->resource->webapp->uninstall = 'uninstall'; +$lang->resource->webapp = new stdclass(); +$lang->resource->webapp->index = 'index'; +$lang->resource->webapp->obtain = 'obtain'; +$lang->resource->webapp->create = 'create'; +$lang->resource->webapp->edit = 'edit'; +$lang->resource->webapp->install = 'install'; +$lang->resource->webapp->uninstall = 'uninstall'; -//$lang->webapp->methodOrder[5] = 'index'; -//$lang->webapp->methodOrder[10] = 'obtain'; -//$lang->webapp->methodOrder[15] = 'create'; -//$lang->webapp->methodOrder[20] = 'edit'; -//$lang->webapp->methodOrder[25] = 'install'; -//$lang->webapp->methodOrder[30] = 'uninstall'; +$lang->webapp->methodOrder[5] = 'index'; +$lang->webapp->methodOrder[10] = 'obtain'; +$lang->webapp->methodOrder[15] = 'create'; +$lang->webapp->methodOrder[20] = 'edit'; +$lang->webapp->methodOrder[25] = 'install'; +$lang->webapp->methodOrder[30] = 'uninstall'; /* Others. */ +$lang->resource->api = new stdclass(); $lang->resource->api->getModel = 'getModel'; $lang->api->methodOrder[5] = 'getModel'; +$lang->resource->file = new stdclass(); $lang->resource->file->download = 'download'; $lang->resource->file->edit = 'edit'; $lang->resource->file->delete = 'delete'; @@ -670,10 +703,12 @@ $lang->file->methodOrder[10] = 'edit'; $lang->file->methodOrder[15] = 'delete'; $lang->file->methodOrder[20] = 'ajaxUpload'; -$lang->resource->misc->ping = 'ping'; +$lang->resource->misc = new stdclass(); +$lang->resource->misc->ping = 'ping'; $lang->misc->methodOrder[5] = 'ping'; +$lang->resource->action = new stdclass(); $lang->resource->action->trash = 'trash'; $lang->resource->action->undelete = 'undelete'; $lang->resource->action->hide = 'hide'; diff --git a/module/group/model.php b/module/group/model.php index 4eb3559210..1414cc35b4 100644 --- a/module/group/model.php +++ b/module/group/model.php @@ -258,7 +258,7 @@ class groupModel extends model public function sortResource() { $resources = $this->lang->resource; - unset($this->lang->resource); + $this->lang->resource = new stdclass(); /* sort moduleOrder. */ ksort($this->lang->moduleOrder, SORT_ASC); @@ -276,7 +276,9 @@ class groupModel extends model /* sort methodOrder. */ foreach($this->lang->resource as $moduleName => $resources) { - $resources = (array)$resources; + $resources = (array)$resources; + $tmpResources = new stdclass(); + if(isset($this->lang->$moduleName->methodOrder)) { ksort($this->lang->$moduleName->methodOrder, SORT_ASC); diff --git a/module/mail/config.php b/module/mail/config.php index 46df89376c..2bfa9e35b9 100644 --- a/module/mail/config.php +++ b/module/mail/config.php @@ -1,16 +1,18 @@ mail->turnon = 0; // trun on email feature or not. +$config->mail = new stdclass(); +$config->mail->turnon = 0; // trun on email feature or not. $config->mail->fromAddress = ''; // The from address. -$config->mail->fromName = 'zentao'; // The from name. +$config->mail->fromName = 'zentao'; // The from name. $config->mail->mta = 'smtp'; // smtp|phpmail. /* SMTP settings. */ if($config->mail->mta == 'smtp') { + $config->mail->smtp = new stdclass(); $config->mail->smtp->debug = 0; // Debug level, 0,1,2. $config->mail->smtp->auth = true; // Need auth or not. - $config->mail->smtp->host = 'localhost'; // The smtp server host address. - $config->mail->smtp->port = '25'; // The smtp server host port. + $config->mail->smtp->host = 'localhost';// The smtp server host address. + $config->mail->smtp->port = '25'; // The smtp server host port. $config->mail->smtp->secure = ''; // The type to encode datas, 'ssl' or 'tls' allowed $config->mail->smtp->username = ''; // The smtp user, may be a full email adress. $config->mail->smtp->password = ''; // The smtp user's password. diff --git a/module/misc/ext/config/config1.php b/module/misc/ext/config/config1.php index f96b90bc33..d91923d0bc 100644 --- a/module/misc/ext/config/config1.php +++ b/module/misc/ext/config/config1.php @@ -1,2 +1,3 @@ misc = new stdclass(); $config->misc->key1 = 'value1'; diff --git a/module/misc/lang/en.php b/module/misc/lang/en.php index a6122919f6..aa897264d8 100644 --- a/module/misc/lang/en.php +++ b/module/misc/lang/en.php @@ -9,9 +9,11 @@ * @version $Id: English.php 824 2010-05-02 15:32:06Z wwccss $ * @link http://www.zentao.net */ -$lang->misc->common = 'Misc'; -$lang->misc->ping = 'Keep session'; +$lang->misc = new stdclass(); +$lang->misc->common = 'Misc'; +$lang->misc->ping = 'Keep session'; +$lang->misc->zentao = new stdclass(); $lang->misc->zentao->version = 'Version %s'; $lang->misc->zentao->labels['about'] = 'About'; $lang->misc->zentao->labels['support'] = 'Support'; diff --git a/module/misc/lang/zh-cn.php b/module/misc/lang/zh-cn.php index c85ecd31e5..249af5756b 100644 --- a/module/misc/lang/zh-cn.php +++ b/module/misc/lang/zh-cn.php @@ -9,9 +9,11 @@ * @version $Id$ * @link http://www.zentao.net */ -$lang->misc->common = '杂项'; -$lang->misc->ping = '防超时'; +$lang->misc = new stdclass(); +$lang->misc->common = '杂项'; +$lang->misc->ping = '防超时'; +$lang->misc->zentao = new stdclass(); $lang->misc->zentao->version = '版本%s'; $lang->misc->zentao->labels['about'] = '关于禅道'; $lang->misc->zentao->labels['support'] = '技术支持'; diff --git a/module/product/config.php b/module/product/config.php index bb0d8a804e..7d0a9ea4fe 100644 --- a/module/product/config.php +++ b/module/product/config.php @@ -1,4 +1,5 @@ product = new stdclass(); $config->product->orderBy = 'isClosed, `order`'; global $lang, $app; @@ -67,8 +68,11 @@ $config->product->search['params']['assignedDate'] = array('operator' => '>=', $config->product->search['params']['closedDate'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); $config->product->search['params']['lastEditedDate'] = array('operator' => '>=', 'control' => 'input', 'values' => '', 'class' => 'date'); +$config->product->create = new stdclass(); +$config->product->edit = new stdclass(); $config->product->create->requiredFields = 'name,code'; $config->product->edit->requiredFields = 'name,code'; +$config->product->editor = new stdclass(); $config->product->editor->create = array('id' => 'desc', 'tools' => 'simpleTools'); $config->product->editor->edit = array('id' => 'desc', 'tools' => 'simpleTools'); diff --git a/module/productplan/config.php b/module/productplan/config.php index f2e824cd80..c506aacdc0 100644 --- a/module/productplan/config.php +++ b/module/productplan/config.php @@ -1,6 +1,10 @@ productplan = new stdclass(); +$config->productplan->create = new stdclass(); +$config->productplan->edit = new stdclass(); $config->productplan->create->requiredFields = 'title,begin,end'; $config->productplan->edit->requiredFields = 'title,begin,end'; +$config->productplan->editor = new stdclass(); $config->productplan->editor->create = array('id' => 'desc', 'tools' => 'simpleTools'); $config->productplan->editor->edit = array('id' => 'desc', 'tools' => 'simpleTools'); diff --git a/module/productplan/lang/en.php b/module/productplan/lang/en.php index de99ae5ce0..534b2e3c5e 100644 --- a/module/productplan/lang/en.php +++ b/module/productplan/lang/en.php @@ -32,7 +32,3 @@ $lang->productplan->title = 'Title'; $lang->productplan->desc = 'Desc'; $lang->productplan->begin = 'Begin'; $lang->productplan->end = 'End'; - -$lang->productplan->placeholder->title = "shorter better."; -$lang->productplan->placeholder->begin = "begin date of this plan"; -$lang->productplan->placeholder->end = "end date of this plan"; diff --git a/module/project/config.php b/module/project/config.php index bbac82c823..ba10ec8c99 100644 --- a/module/project/config.php +++ b/module/project/config.php @@ -5,9 +5,12 @@ $config->project->orderBy = 'isDone, `order`, status'; global $lang, $app; $app->loadLang('task'); +$config->project->create = new stdclass(); +$config->project->edit = new stdclass(); $config->project->create->requiredFields = 'name,code,team,begin,end'; $config->project->edit->requiredFields = 'name,code,team,begin,end'; +$config->project->editor = new stdclass(); $config->project->editor->create = array('id' => 'desc,goal', 'tools' => 'simpleTools'); $config->project->editor->edit = array('id' => 'desc,goal', 'tools' => 'simpleTools'); diff --git a/module/release/config.php b/module/release/config.php index d9aa663065..7e52377cd7 100644 --- a/module/release/config.php +++ b/module/release/config.php @@ -1,6 +1,10 @@ release = new stdclass(); +$config->release->create = new stdclass(); +$config->release->edit = new stdclass(); $config->release->create->requiredFields = 'name,date'; $config->release->edit->requiredFields = 'name,date'; +$config->release->editor = new stdclass(); $config->release->editor->create = array('id' => 'desc', 'tools' => 'simpleTools'); $config->release->editor->edit = array('id' => 'desc', 'tools' => 'simpleTools'); diff --git a/module/search/config.php b/module/search/config.php index 2194553088..11ec905aee 100644 --- a/module/search/config.php +++ b/module/search/config.php @@ -1,2 +1,3 @@ search = new stdclass(); $config->search->groupItems = 3; diff --git a/module/search/lang/en.php b/module/search/lang/en.php index d5e07ed118..8bbc1907e2 100644 --- a/module/search/lang/en.php +++ b/module/search/lang/en.php @@ -9,6 +9,7 @@ * @version $Id$ * @link http://www.zentao.net */ +$lang->search = new stdclass(); $lang->search->common = 'Search'; $lang->search->reset = 'Reset'; $lang->search->more = 'More'; @@ -41,6 +42,7 @@ $lang->search->andor['or'] = 'Or'; $lang->search->null = 'Null'; +$lang->userquery = new stdclass(); $lang->userquery->title = 'Title'; $lang->userquery->myQueries = 'My queries'; $lang->userquery->execut = 'Execute'; diff --git a/module/search/lang/zh-cn.php b/module/search/lang/zh-cn.php index 29425f5965..002aa44321 100644 --- a/module/search/lang/zh-cn.php +++ b/module/search/lang/zh-cn.php @@ -9,6 +9,7 @@ * @version $Id$ * @link http://www.zentao.net */ +$lang->search = new stdclass(); $lang->search->common = '搜索'; $lang->search->reset = '重置'; $lang->search->more = '更多'; @@ -41,6 +42,7 @@ $lang->search->andor['or'] = '或者'; $lang->search->null = '空'; +$lang->userquery = new stdclass(); $lang->userquery->title = '查询标题'; $lang->userquery->myQueries = '我的查询'; $lang->userquery->execut = '执行'; diff --git a/module/story/config.php b/module/story/config.php index 8ea478d95a..cb0ec9600d 100644 --- a/module/story/config.php +++ b/module/story/config.php @@ -1,15 +1,25 @@ story = new stdclass(); + $config->story->batchCreate = 10; $config->story->affectedFixedNum = 7; + +$config->story->create = new stdclass(); +$config->story->edit = new stdclass(); +$config->story->change = new stdclass(); +$config->story->close = new stdclass(); +$config->story->review = new stdclass(); $config->story->create->requiredFields = 'title'; $config->story->edit->requiredFields = 'title'; $config->story->change->requiredFields = 'title'; $config->story->close->requiredFields = 'closedReason'; $config->story->review->requiredFields = 'assignedTo,reviewedBy,result'; +$config->story->editor = new stdclass(); $config->story->editor->create = array('id' => 'spec,verify', 'tools' => 'simpleTools'); $config->story->editor->change = array('id' => 'spec,verify', 'tools' => 'simpleTools'); +$config->story->list = new stdclass(); $config->story->list->exportFields = ' id, product, module, plan, source, title, spec, verify, keywords, pri, estimate, status, stage, diff --git a/module/story/lang/en.php b/module/story/lang/en.php index 81744686cc..1db50cc2a0 100644 --- a/module/story/lang/en.php +++ b/module/story/lang/en.php @@ -176,12 +176,14 @@ $lang->story->mustChoosePreVersion = 'Must select an version to revert'; $lang->story->ajaxGetProjectStories = 'API:Project stories'; $lang->story->ajaxGetProductStories = 'API:Product stories'; +$lang->story->form = new stdclass(); $lang->story->form->titleNote = 'A word to briefly express story content'; $lang->story->form->area = 'The story of their respective range'; $lang->story->form->desc = 'Description and standards, what stories? How to acceptance?'; $lang->story->form->resource = 'Allocation of resources, who completed? How long does it take?'; $lang->story->form->file = 'Attachments, if the demand for related documents, please click here to upload.'; +$lang->story->action = new stdclass(); $lang->story->action->reviewed = array('main' => '$date, reviewed by $actor, result is $extra.', 'extra' => $lang->story->reviewResultList); $lang->story->action->closed = array('main' => '$date, closed by $actor, reason is $extra.', 'extra' => $lang->story->reasonList); $lang->story->action->linked2plan = array('main' => '$date, linked to plan $extra by $actor.'); @@ -190,6 +192,7 @@ $lang->story->action->linked2project = array('main' => '$date, linked to pr $lang->story->action->unlinkedfromproject = array('main' => '$date, removed from project $extra by $actor.'); /* Report*/ +$lang->story->report = new stdclass(); $lang->story->report->common = 'Report'; $lang->story->report->select = 'Select'; $lang->story->report->create = 'Create'; @@ -207,6 +210,8 @@ $lang->story->report->charts['storysPerAssignedTo'] = 'Assigned to user'; $lang->story->report->charts['storysPerClosedReason'] = 'Storys for reason'; $lang->story->report->charts['storysPerChange'] = 'Story version'; +$lang->story->report->options = new stdclass(); +$lang->story->report->options->graph = new stdclass(); $lang->story->report->options->swf = 'pie2d'; $lang->story->report->options->width = 'auto'; $lang->story->report->options->height = 300; @@ -220,6 +225,32 @@ $lang->story->report->options->graph->yAxisName = 'COUNT'; $lang->story->report->options->graph->pieRadius = 100; $lang->story->report->options->graph->showColumnShadow = 0; +$lang->story->report->storysPerProduct = new stdclass(); +$lang->story->report->storysPerModule = new stdclass(); +$lang->story->report->storysPerSource = new stdclass(); +$lang->story->report->storysPerPlan = new stdclass(); +$lang->story->report->storysPerStatus = new stdclass(); +$lang->story->report->storysPerStage = new stdclass(); +$lang->story->report->storysPerPri = new stdclass(); +$lang->story->report->storysPerOpenedBy = new stdclass(); +$lang->story->report->storysPerAssignedTo = new stdclass(); +$lang->story->report->storysPerClosedReason = new stdclass(); +$lang->story->report->storysPerEstimate = new stdclass(); +$lang->story->report->storysPerChange = new stdclass(); + +$lang->story->report->storysPerProduct->graph = new stdclass(); +$lang->story->report->storysPerModule->graph = new stdclass(); +$lang->story->report->storysPerSource->graph = new stdclass(); +$lang->story->report->storysPerPlan->graph = new stdclass(); +$lang->story->report->storysPerStatus->graph = new stdclass(); +$lang->story->report->storysPerStage->graph = new stdclass(); +$lang->story->report->storysPerPri->graph = new stdclass(); +$lang->story->report->storysPerOpenedBy->graph = new stdclass(); +$lang->story->report->storysPerAssignedTo->graph = new stdclass(); +$lang->story->report->storysPerClosedReason->graph = new stdclass(); +$lang->story->report->storysPerEstimate->graph = new stdclass(); +$lang->story->report->storysPerChange->graph = new stdclass(); + $lang->story->report->storysPerProduct->graph->xAxisName = 'Product'; $lang->story->report->storysPerModule->graph->xAxisName = 'Module'; $lang->story->report->storysPerSource->graph->xAxisName = 'Source'; @@ -233,5 +264,6 @@ $lang->story->report->storysPerClosedReason->graph->xAxisName = 'Closed reason'; $lang->story->report->storysPerEstimate->graph->xAxisName = 'Estimate'; $lang->story->report->storysPerChange->graph->xAxisName = 'Change'; +$lang->story->placeholder = new stdclass(); $lang->story->placeholder->estimate = 'Estimate the story point.'; $lang->story->placeholder->mailto = 'Mail to'; diff --git a/module/story/lang/zh-cn.php b/module/story/lang/zh-cn.php index 9f5d577cc9..8b4b60da1a 100644 --- a/module/story/lang/zh-cn.php +++ b/module/story/lang/zh-cn.php @@ -176,12 +176,14 @@ $lang->story->mustChoosePreVersion = '必须选择回溯的版本'; $lang->story->ajaxGetProjectStories = '接口:获取项目需求列表'; $lang->story->ajaxGetProductStories = '接口:获取产品需求列表'; +$lang->story->form = new stdclass(); $lang->story->form->titleNote = '一句话简要表达需求内容'; $lang->story->form->area = '该需求所属范围'; $lang->story->form->desc = '描述及标准,什么需求?如何验收?'; $lang->story->form->resource = '资源分配,有谁完成?需要多少时间?'; $lang->story->form->file = '附件,如果该需求有相关文件,请点此上传。'; +$lang->story->action = new stdclass(); $lang->story->action->reviewed = array('main' => '$date, 由 $actor 记录评审结果,结果为 $extra。', 'extra' => $lang->story->reviewResultList); $lang->story->action->closed = array('main' => '$date, 由 $actor 关闭,原因为 $extra。', 'extra' => $lang->story->reasonList); $lang->story->action->linked2plan = array('main' => '$date, 由 $actor 关联到计划 $extra。'); @@ -190,6 +192,7 @@ $lang->story->action->linked2project = array('main' => '$date, 由 $lang->story->action->unlinkedfromproject = array('main' => '$date, 由 $actor 从项目 $extra 移除。'); /* 统计报表。*/ +$lang->story->report = new stdclass(); $lang->story->report->common = '报表'; $lang->story->report->select = '请选择报表类型'; $lang->story->report->create = '生成报表'; @@ -207,6 +210,8 @@ $lang->story->report->charts['storysPerAssignedTo'] = '当前指派来进行 $lang->story->report->charts['storysPerClosedReason'] = '关闭原因来进行统计'; $lang->story->report->charts['storysPerChange'] = '变更次数来进行统计'; +$lang->story->report->options = new stdclass(); +$lang->story->report->options->graph = new stdclass(); $lang->story->report->options->swf = 'pie2d'; $lang->story->report->options->width = 'auto'; $lang->story->report->options->height = 300; @@ -220,6 +225,32 @@ $lang->story->report->options->graph->yAxisName = 'COUNT'; $lang->story->report->options->graph->pieRadius = 100; // 饼图直径。 $lang->story->report->options->graph->showColumnShadow = 0; // 是否显示柱状图阴影。 +$lang->story->report->storysPerProduct = new stdclass(); +$lang->story->report->storysPerModule = new stdclass(); +$lang->story->report->storysPerSource = new stdclass(); +$lang->story->report->storysPerPlan = new stdclass(); +$lang->story->report->storysPerStatus = new stdclass(); +$lang->story->report->storysPerStage = new stdclass(); +$lang->story->report->storysPerPri = new stdclass(); +$lang->story->report->storysPerOpenedBy = new stdclass(); +$lang->story->report->storysPerAssignedTo = new stdclass(); +$lang->story->report->storysPerClosedReason = new stdclass(); +$lang->story->report->storysPerEstimate = new stdclass(); +$lang->story->report->storysPerChange = new stdclass(); + +$lang->story->report->storysPerProduct->graph = new stdclass(); +$lang->story->report->storysPerModule->graph = new stdclass(); +$lang->story->report->storysPerSource->graph = new stdclass(); +$lang->story->report->storysPerPlan->graph = new stdclass(); +$lang->story->report->storysPerStatus->graph = new stdclass(); +$lang->story->report->storysPerStage->graph = new stdclass(); +$lang->story->report->storysPerPri->graph = new stdclass(); +$lang->story->report->storysPerOpenedBy->graph = new stdclass(); +$lang->story->report->storysPerAssignedTo->graph = new stdclass(); +$lang->story->report->storysPerClosedReason->graph = new stdclass(); +$lang->story->report->storysPerEstimate->graph = new stdclass(); +$lang->story->report->storysPerChange->graph = new stdclass(); + $lang->story->report->storysPerProduct->graph->xAxisName = '产品'; $lang->story->report->storysPerModule->graph->xAxisName = '模块'; $lang->story->report->storysPerSource->graph->xAxisName = '来源'; @@ -233,5 +264,6 @@ $lang->story->report->storysPerClosedReason->graph->xAxisName = '关闭原因'; $lang->story->report->storysPerEstimate->graph->xAxisName = '预计时间'; $lang->story->report->storysPerChange->graph->xAxisName = '变更次数'; +$lang->story->placeholder = new stdclass(); $lang->story->placeholder->estimate = "完成该需求的工作量"; $lang->story->placeholder->mailto = '输入用户名自动完成'; diff --git a/module/task/config.php b/module/task/config.php index 13a6610671..f9eea0f9ad 100644 --- a/module/task/config.php +++ b/module/task/config.php @@ -1,11 +1,20 @@ task = new stdclass(); $config->task->batchCreate = 10; + +$config->task->create = new stdclass(); +$config->task->edit = new stdclass(); +$config->task->start = new stdclass(); +$config->task->finish = new stdclass(); +$config->task->activate = new stdclass(); + $config->task->create->requiredFields = 'name,type'; $config->task->edit->requiredFields = $config->task->create->requiredFields; $config->task->start->requiredFields = 'estimate'; $config->task->finish->requiredFields = 'consumed'; $config->task->activate->requiredFields = 'left'; +$config->task->editor = new stdclass(); $config->task->editor->create = array('id' => 'desc', 'tools' => 'simpleTools'); $config->task->editor->edit = array('id' => 'desc', 'tools' => 'simpleTools'); diff --git a/module/task/lang/en.php b/module/task/lang/en.php index 401ed4391f..7eef31788e 100644 --- a/module/task/lang/en.php +++ b/module/task/lang/en.php @@ -217,5 +217,6 @@ $lang->task->report->finishedTasksPerDay->height = 400; $lang->task->report->finishedTasksPerDay->graph->xAxisName = 'Date'; $lang->task->report->finishedTasksPerDay->graph->rotateNames = '1'; +$lang->task->placeholder = new stdclass(); $lang->task->placeholder->estimate = 'The estimated time for this task'; $lang->task->placeholder->mailto = 'Mail to'; diff --git a/module/testcase/config.php b/module/testcase/config.php index 89b3fef2f1..7accc985db 100644 --- a/module/testcase/config.php +++ b/module/testcase/config.php @@ -35,6 +35,8 @@ $config->testcase->search['params']['lastEditedDate'] = array('operator' => '>=' $config->testcase->defaultSteps = 3; $config->testcase->batchCreate = 10; +$config->testcase->create = new stdclass(); +$config->testcase->edit = new stdclass(); $config->testcase->create->requiredFields = 'title,type'; $config->testcase->edit->requiredFields = 'title,type'; diff --git a/module/testcase/lang/en.php b/module/testcase/lang/en.php index 06ecf411f2..7ccf4712ce 100644 --- a/module/testcase/lang/en.php +++ b/module/testcase/lang/en.php @@ -144,5 +144,3 @@ $lang->testcase->resultList['blocked'] = 'Blocked'; $lang->testcase->buttonEdit = 'Edit'; $lang->testcase->buttonToList = 'Back'; - -$lang->testcase->placeholder->keywords = 'keywords'; diff --git a/module/testtask/config.php b/module/testtask/config.php index 153580ae1d..8b15043c71 100644 --- a/module/testtask/config.php +++ b/module/testtask/config.php @@ -1,6 +1,10 @@ testtask = new stdclass(); +$config->testtask->create = new stdclass(); +$config->testtask->edit = new stdclass(); $config->testtask->create->requiredFields = 'project,build,begin,end,name'; $config->testtask->edit->requiredFields = 'project,build,begin,end,name'; +$config->testtask->editor = new stdclass(); $config->testtask->editor->create = array('id' => 'desc', 'tools' => 'simpleTools'); $config->testtask->editor->edit = array('id' => 'desc', 'tools' => 'simpleTools'); diff --git a/module/testtask/lang/en.php b/module/testtask/lang/en.php index 511e87d841..ec5ebf34e5 100644 --- a/module/testtask/lang/en.php +++ b/module/testtask/lang/en.php @@ -65,8 +65,12 @@ $lang->testtask->lblUnlinkCase = 'Remove case'; $lang->testtask->lblRunCase = 'Run'; $lang->testtask->lblResults = 'Result'; +$lang->testtask->placeholder = new stdclass(); $lang->testtask->placeholder->begin = 'begin date'; $lang->testtask->placeholder->end = 'end date'; +$lang->testtask->mail = new stdclass(); +$lang->testtask->mail->create = new stdclass(); +$lang->testtask->mail->edit = new stdclass(); $lang->testtask->mail->create->title = "%s created testtask #%s:%s"; $lang->testtask->mail->edit->title = "%s finished testtask #%s:%s"; diff --git a/module/testtask/lang/zh-cn.php b/module/testtask/lang/zh-cn.php index 6c8857dd58..6ff49d199b 100644 --- a/module/testtask/lang/zh-cn.php +++ b/module/testtask/lang/zh-cn.php @@ -65,8 +65,12 @@ $lang->testtask->lblUnlinkCase = '移除用例'; $lang->testtask->lblRunCase = '执行用例'; $lang->testtask->lblResults = '执行结果'; +$lang->testtask->placeholder = new stdclass(); $lang->testtask->placeholder->begin = '开始日期'; $lang->testtask->placeholder->end = '结束日期'; +$lang->testtask->mail = new stdclass(); +$lang->testtask->mail->create = new stdclass(); +$lang->testtask->mail->edit = new stdclass(); $lang->testtask->mail->create->title = "%s创建了测试任务 #%s:%s"; $lang->testtask->mail->edit->title = "%s编辑了测试任务 #%s:%s"; diff --git a/module/tree/control.php b/module/tree/control.php index 67d6e08528..f494c77076 100644 --- a/module/tree/control.php +++ b/module/tree/control.php @@ -43,7 +43,7 @@ class tree extends control $this->loadModel('doc'); if($rootID == 'product' or $rootID == 'project') { - $viewType = $rootID . 'doc'; + $lib = new stdclass(); $lib->id = $rootID; $lib->name = $this->lang->doc->systemLibs[$rootID]; $this->view->root = $lib; diff --git a/module/tree/lang/en.php b/module/tree/lang/en.php index 0d025eeb21..fc592ce81e 100644 --- a/module/tree/lang/en.php +++ b/module/tree/lang/en.php @@ -9,6 +9,7 @@ * @version $Id$ * @link http://www.zentao.net */ +$lang->tree = new stdclass(); $lang->tree->common = 'Module manage'; $lang->tree->add = 'Add'; $lang->tree->edit = 'Edit'; diff --git a/module/tree/lang/zh-cn.php b/module/tree/lang/zh-cn.php index e95ed4051b..5a4d2268c0 100644 --- a/module/tree/lang/zh-cn.php +++ b/module/tree/lang/zh-cn.php @@ -9,6 +9,7 @@ * @version $Id$ * @link http://www.zentao.net */ +$lang->tree = new stdclass(); $lang->tree->common = '模块维护'; $lang->tree->add = '添加'; $lang->tree->edit = '编辑';