* task#982.

This commit is contained in:
wangchunsheng
2012-12-12 02:18:16 +00:00
parent e9f11a3287
commit 0f963343f6
46 changed files with 346 additions and 54 deletions

View File

@@ -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;

View File

@@ -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;
}
}
}

View File

@@ -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;

View File

@@ -1,4 +1,5 @@
<?php
$config->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';

View File

@@ -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');

View File

@@ -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 <strong>$actor</strong>, resolution is <strong>$extra</strong>.', 'extra' => $lang->bug->resolutionList);
$lang->bug->action->tostory = array('main' => '$date, To story by <strong>$actor</strong>, ID is <strong>$extra</strong>.');
$lang->bug->action->totask = array('main' => '$date, To task by <strong>$actor</strong>, ID is <strong>$extra</strong>.');
$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';

View File

@@ -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, 由 <strong>$actor</strong> 解决,方案为 <strong>$extra</strong>。', 'extra' => $lang->bug->resolutionList);
$lang->bug->action->tostory = array('main' => '$date, 由 <strong>$actor</strong> 转为<strong>需求</strong>,编号为 <strong>$extra</strong>。');
$lang->bug->action->totask = array('main' => '$date, 由 <strong>$actor</strong> 导入为<strong>任务</strong>,编号为 <strong>$extra</strong>。');
$lang->bug->placeholder = new stdclass();
$lang->bug->placeholder->mailto = '输入用户名自动选择';

View File

@@ -1,6 +1,10 @@
<?php
$config->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');

View File

@@ -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';

View File

@@ -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';

View File

@@ -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 = '转换为';

View File

@@ -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`')

View File

@@ -1,10 +1,18 @@
<?php
global $lang;
$config->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');

View File

@@ -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';

View File

@@ -67,4 +67,5 @@ $lang->doc->confirmDelete = "您确定删除该文档吗?";
$lang->doc->confirmDeleteLib = " 您确定删除该文档库吗?";
$lang->doc->errorEditSystemDoc = "系统文档库无需修改。";
$lang->doc->placeholder = new stdclass();
$lang->doc->placeholder->url = '相应的链接地址';

View File

@@ -1,3 +1,4 @@
<?php
$config->extension = new stdclass();
$config->extension->apiRoot = 'http://www.zentao.net/extension-';
$config->extension->extPathes = array('module', 'bin', 'www', 'library', 'config');

View File

@@ -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';

View File

@@ -9,6 +9,7 @@
* @version $Id$
* @link http://www.zentao.net
*/
$lang->file = new stdclass();
$lang->file->common = '附件';
$lang->file->download = '下载附件';
$lang->file->edit = '编辑附件名称';

View File

@@ -1,3 +1,6 @@
<?php
$config->group = new stdclass();
$config->group->create = new stdclass();
$config->group->edit = new stdclass();
$config->group->create->requiredFields = 'name';
$config->group->edit->requiredFields = 'name';

View File

@@ -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';

View File

@@ -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);

View File

@@ -1,16 +1,18 @@
<?php
$config->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.

View File

@@ -1,2 +1,3 @@
<?php
$config->misc = new stdclass();
$config->misc->key1 = 'value1';

View File

@@ -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';

View File

@@ -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'] = '技术支持';

View File

@@ -1,4 +1,5 @@
<?php
$config->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');

View File

@@ -1,6 +1,10 @@
<?php
$config->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');

View File

@@ -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";

View File

@@ -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');

View File

@@ -1,6 +1,10 @@
<?php
$config->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');

View File

@@ -1,2 +1,3 @@
<?php
$config->search = new stdclass();
$config->search->groupItems = 3;

View File

@@ -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';

View File

@@ -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 = '执行';

View File

@@ -1,15 +1,25 @@
<?php
$config->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,

View File

@@ -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 <strong>$actor</strong>, result is <strong>$extra</strong>.', 'extra' => $lang->story->reviewResultList);
$lang->story->action->closed = array('main' => '$date, closed by <strong>$actor</strong>, reason is <strong>$extra</strong>.', 'extra' => $lang->story->reasonList);
$lang->story->action->linked2plan = array('main' => '$date, linked to plan <strong>$extra</strong> by <strong>$actor</strong>.');
@@ -190,6 +192,7 @@ $lang->story->action->linked2project = array('main' => '$date, linked to pr
$lang->story->action->unlinkedfromproject = array('main' => '$date, removed from project <strontg>$extra</strong> by <strong>$actor</strong>.');
/* 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';

View File

@@ -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, 由 <strong>$actor</strong> 记录评审结果,结果为 <strong>$extra</strong>。', 'extra' => $lang->story->reviewResultList);
$lang->story->action->closed = array('main' => '$date, 由 <strong>$actor</strong> 关闭,原因为 <strong>$extra</strong>。', 'extra' => $lang->story->reasonList);
$lang->story->action->linked2plan = array('main' => '$date, 由 <strong>$actor</strong> 关联到计划 <strong>$extra</strong>。');
@@ -190,6 +192,7 @@ $lang->story->action->linked2project = array('main' => '$date, 由 <strong>
$lang->story->action->unlinkedfromproject = array('main' => '$date, 由 <strong>$actor</strong> 从项目 <strong>$extra</strong> 移除。');
/* 统计报表。*/
$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 = '输入用户名自动完成';

View File

@@ -1,11 +1,20 @@
<?php
$config->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');

View File

@@ -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';

View File

@@ -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';

View File

@@ -144,5 +144,3 @@ $lang->testcase->resultList['blocked'] = 'Blocked';
$lang->testcase->buttonEdit = 'Edit';
$lang->testcase->buttonToList = 'Back';
$lang->testcase->placeholder->keywords = 'keywords';

View File

@@ -1,6 +1,10 @@
<?php
$config->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');

View File

@@ -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";

View File

@@ -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";

View File

@@ -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;

View File

@@ -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';

View File

@@ -9,6 +9,7 @@
* @version $Id$
* @link http://www.zentao.net
*/
$lang->tree = new stdclass();
$lang->tree->common = '模块维护';
$lang->tree->add = '添加';
$lang->tree->edit = '编辑';