* task#982.
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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 = '输入用户名自动选择';
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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 = '转换为';
|
||||
|
||||
@@ -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`')
|
||||
|
||||
@@ -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');
|
||||
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -67,4 +67,5 @@ $lang->doc->confirmDelete = "您确定删除该文档吗?";
|
||||
$lang->doc->confirmDeleteLib = " 您确定删除该文档库吗?";
|
||||
$lang->doc->errorEditSystemDoc = "系统文档库无需修改。";
|
||||
|
||||
$lang->doc->placeholder = new stdclass();
|
||||
$lang->doc->placeholder->url = '相应的链接地址';
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->file = new stdclass();
|
||||
$lang->file->common = '附件';
|
||||
$lang->file->download = '下载附件';
|
||||
$lang->file->edit = '编辑附件名称';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
<?php
|
||||
$config->misc = new stdclass();
|
||||
$config->misc->key1 = 'value1';
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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'] = '技术支持';
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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');
|
||||
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
<?php
|
||||
$config->search = new stdclass();
|
||||
$config->search->groupItems = 3;
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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 = '执行';
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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 = '输入用户名自动完成';
|
||||
|
||||
@@ -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');
|
||||
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -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';
|
||||
|
||||
|
||||
@@ -144,5 +144,3 @@ $lang->testcase->resultList['blocked'] = 'Blocked';
|
||||
|
||||
$lang->testcase->buttonEdit = 'Edit';
|
||||
$lang->testcase->buttonToList = 'Back';
|
||||
|
||||
$lang->testcase->placeholder->keywords = 'keywords';
|
||||
|
||||
@@ -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');
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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";
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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';
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->tree = new stdclass();
|
||||
$lang->tree->common = '模块维护';
|
||||
$lang->tree->add = '添加';
|
||||
$lang->tree->edit = '编辑';
|
||||
|
||||
Reference in New Issue
Block a user