Merge branch 'master' of https://github.com/easysoft/zentaopms
This commit is contained in:
@@ -67,6 +67,7 @@ zentaoxx:
|
||||
cp -r xuan/xxb/module/common/view/footer.modal.html.php zentaoxx/module/common/view
|
||||
mkdir -p zentaoxx/www/js/
|
||||
cp -r xuan/xxb/www/js/markedjs zentaoxx/www/js/
|
||||
cp -r xuan/xxb/www/x.php zentaoxx/www/
|
||||
mkdir zentaoxx/module/action
|
||||
cp -r xuan/xxb/module/action/ext zentaoxx/module/action
|
||||
cp -r xuanxuan/config/* zentaoxx/config/
|
||||
|
||||
@@ -112,8 +112,8 @@ class router extends baseRouter
|
||||
$productProject = $productProject->value;
|
||||
list($productCommon, $projectCommon) = explode('_', $productProject);
|
||||
}
|
||||
$lang->productCommon = isset($this->config->productCommonList[$this->clientLang][(int)$productCommon]) ? $this->config->productCommonList[$this->clientLang][(int)$productCommon] : $this->config->productCommonList['zh-cn'][0];
|
||||
$lang->projectCommon = isset($this->config->projectCommonList[$this->clientLang][(int)$projectCommon]) ? $this->config->projectCommonList[$this->clientLang][(int)$projectCommon] : $this->config->projectCommonList['zh-cn'][0];
|
||||
$lang->productCommon = isset($this->config->productCommonList[$this->clientLang][(int)$productCommon]) ? $this->config->productCommonList[$this->clientLang][(int)$productCommon] : $this->config->productCommonList['en'][0];
|
||||
$lang->projectCommon = isset($this->config->projectCommonList[$this->clientLang][(int)$projectCommon]) ? $this->config->projectCommonList[$this->clientLang][(int)$projectCommon] : $this->config->projectCommonList['en'][0];
|
||||
}
|
||||
|
||||
parent::loadLang($moduleName, $appName);
|
||||
|
||||
@@ -1052,7 +1052,7 @@ class actionModel extends model
|
||||
foreach($actions as $action)
|
||||
{
|
||||
$timeStamp = strtotime(isset($action->originalDate) ? $action->originalDate : $action->date);
|
||||
$date = $this->app->getClientLang() == 'en' ? date('M d', $timeStamp) : date(DT_DATE4, $timeStamp);
|
||||
$date = common::checkEnLang() ? date('M d', $timeStamp) : date(DT_DATE4, $timeStamp);
|
||||
$action->time = date(DT_TIME2, $timeStamp);
|
||||
$dateGroup[$date][] = $action;
|
||||
}
|
||||
|
||||
@@ -78,5 +78,5 @@ $lang->admin->safe->reasonList['birthday'] = 'Same as DOB';
|
||||
$lang->admin->safe->modifyPasswordList[1] = 'Yes';
|
||||
$lang->admin->safe->modifyPasswordList[0] = 'No';
|
||||
|
||||
$lang->admin->safe->noticeMode = 'Password will be checked when a user logs in, or a user is added and edited.';
|
||||
$lang->admin->safe->noticeMode = 'Password will be checked when a user logs in, or a user is added or edited.';
|
||||
$lang->admin->safe->noticeStrong = '';
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
<form class="load-indicator main-form form-ajax" method='post'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<?php $colWidth = $app->getClientLang() == 'en' ? 'w-300px' : 'w-130px';?>
|
||||
<?php $colWidth = common::checkEnLang() ? 'w-300px' : 'w-130px';?>
|
||||
<th class='<?php echo $colWidth;?>'><?php echo $lang->admin->safe->password?></th>
|
||||
<td class='w-250px'><?php echo html::radio('mode', $lang->admin->safe->modeList, isset($config->safe->mode) ? $config->safe->mode : 0, "onclick=showModeRule(this.value)")?></td>
|
||||
<td><?php echo $lang->admin->safe->noticeMode?></td>
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
<th class='w-150px'><?php echo $lang->backup->time?></th>
|
||||
<th><?php echo $lang->backup->files?></th>
|
||||
<th class='w-150px'><?php echo $lang->backup->size?></th>
|
||||
<?php $colWidth = $app->getClientLang() == 'en' ? 'w-140px' : 'w-110px';?>
|
||||
<?php $colWidth = common::checkEnLang() ? 'w-140px' : 'w-110px';?>
|
||||
<th class='<?php echo $colWidth;?>'><?php echo $lang->actions?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<th class='c-name text-left'><?php echo $lang->project->name;?></th>
|
||||
<th class="c-date"><?php echo $lang->project->end;?></th>
|
||||
<?php if($longBlock):?>
|
||||
<?php $thClass = ($app->getClientLang() == 'en') ? 'w-85px' : 'c-hours';?>
|
||||
<?php $thClass = common::checkEnLang() ? 'w-85px' : 'c-hours';?>
|
||||
<th class="c-status"><?php echo $lang->statusAB;?></th>
|
||||
<th class='<?php echo $thClass?>'><?php echo $lang->project->totalEstimate;?></th>
|
||||
<th class="c-hours"><?php echo $lang->project->totalConsumed;?></th>
|
||||
|
||||
@@ -21,7 +21,7 @@ if(!$selfCall) die(include('./todolist.html.php'));
|
||||
.block-todoes .todoes {padding: 0 10px 10px 10px; margin: 0 -20px; max-height: 350px; overflow: auto; overflow-x:hidden}
|
||||
.block-todoes .todoes > li {position: relative; padding: 5px 10px 5px 35px; list-style: none; white-space:nowrap; overflow: auto; overflow-x:hidden;}
|
||||
.block-todoes .todoes > li:hover {background-color: #e9f2fb;}
|
||||
.block-todoes .todo-title {padding: 5px;}
|
||||
.block-todoes .todo-title {padding: 5px 15px 5px 5px;}
|
||||
.block-todoes .todo-pri {margin: 0 5px;}
|
||||
.block-todoes .todo-time {display: inline-block; padding: 0 5px; font-size: 12px; color: #8e939a; width: 75px;}
|
||||
.block-todoes .todo-check {position: absolute; top: 5px; left: 10px; display: block; width: 20px; height: 20px; font-size: 20px; color: transparent; cursor: pointer; background: #fff; border: 2px solid #eee; border-radius: 50%;}
|
||||
@@ -41,7 +41,7 @@ if(!$selfCall) die(include('./todolist.html.php'));
|
||||
<form class="form-horizontal todoes-form layer" method='post' target='hiddenwin' action='<?php echo $this->createLink('todo', 'create', 'date=today&account=&from=block');?>'>
|
||||
<h3><?php echo $lang->todo->create;?></h3>
|
||||
<div class="form-group">
|
||||
<?php $leftWidth = $app->getClientLang() == 'en' ? 'col-sm-3' : 'col-sm-2';?>
|
||||
<?php $leftWidth = common::checkEnLang() ? 'col-sm-3' : 'col-sm-2';?>
|
||||
<label for="todoName" class="<?php echo $leftWidth;?>"><?php echo $lang->todo->name?></label>
|
||||
<div class="col-sm-9 required"><input type="text" class="form-control" autocomplete="off" name="name"></div>
|
||||
</div>
|
||||
|
||||
@@ -46,7 +46,7 @@ class branchModel extends model
|
||||
$product = $this->loadModel('product')->getById($productID);
|
||||
if(!$product or $product->type == 'normal') return array();
|
||||
|
||||
$space = $this->app->getClientLang() == 'en' ? ' ' : '';
|
||||
$space = common::checkEnLang() ? ' ' : '';
|
||||
$branches = array('0' => $this->lang->branch->all . $space . $this->lang->product->branchName[$product->type]) + $branches;
|
||||
}
|
||||
return $branches;
|
||||
@@ -107,7 +107,7 @@ class branchModel extends model
|
||||
}
|
||||
}
|
||||
|
||||
$space = $this->app->getClientLang() == 'en' ? ' ' : '';
|
||||
$space = common::checkEnLang() ? ' ' : '';
|
||||
foreach($products as $product)
|
||||
{
|
||||
if($product->type == 'normal') continue;
|
||||
|
||||
@@ -184,7 +184,7 @@ $config->bug->datatable->fieldList['pri']['required'] = 'no';
|
||||
|
||||
$config->bug->datatable->fieldList['confirmed']['title'] = 'confirmedAB';
|
||||
$config->bug->datatable->fieldList['confirmed']['fixed'] = 'left';
|
||||
$config->bug->datatable->fieldList['confirmed']['width'] = '60';
|
||||
$config->bug->datatable->fieldList['confirmed']['width'] = '50';
|
||||
$config->bug->datatable->fieldList['confirmed']['required'] = 'no';
|
||||
|
||||
$config->bug->datatable->fieldList['title']['title'] = 'title';
|
||||
|
||||
@@ -34,7 +34,7 @@ $lang->bug->activatedCount = '激活次数';
|
||||
$lang->bug->activatedCountAB = '激活次数';
|
||||
$lang->bug->activatedDate = '激活日期';
|
||||
$lang->bug->confirmed = '是否确认';
|
||||
$lang->bug->confirmedAB = '已确认';
|
||||
$lang->bug->confirmedAB = '确认';
|
||||
$lang->bug->toTask = '转任务';
|
||||
$lang->bug->toStory = '转需求';
|
||||
$lang->bug->mailto = '抄送给';
|
||||
|
||||
@@ -34,7 +34,7 @@ $lang->bug->activatedCount = '激活次數';
|
||||
$lang->bug->activatedCountAB = '激活次數';
|
||||
$lang->bug->activatedDate = '激活日期';
|
||||
$lang->bug->confirmed = '是否確認';
|
||||
$lang->bug->confirmedAB = '已確認';
|
||||
$lang->bug->confirmedAB = '確認';
|
||||
$lang->bug->toTask = '轉任務';
|
||||
$lang->bug->toStory = '轉需求';
|
||||
$lang->bug->mailto = '抄送給';
|
||||
|
||||
@@ -116,7 +116,7 @@ $currentBrowseType = isset($lang->bug->mySelects[$browseType]) && in_array($brow
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php if($app->getClientLang() != 'en'):?>
|
||||
<?php if(!common::checkEnLang()):?>
|
||||
<?php
|
||||
common::printLink('bug', 'batchCreate', "productID=$productID&branch=$branch&projectID=0&moduleID=$moduleID", "<i class='icon icon-plus'></i>" . $lang->bug->batchCreate, '', "class='btn btn-secondary'");
|
||||
if(commonModel::isTutorialMode())
|
||||
@@ -208,9 +208,9 @@ $currentBrowseType = isset($lang->bug->mySelects[$browseType]) && in_array($brow
|
||||
{
|
||||
if($value->show)
|
||||
{
|
||||
if($this->app->getClientLang() == 'en' and $value->id == 'severity') $value->name = $lang->bug->severity;
|
||||
if($this->app->getClientLang() == 'en' and $value->id == 'pri') $value->name = $lang->bug->pri;
|
||||
if($this->app->getClientLang() == 'en' and $value->id == 'confirmed') $value->name = $lang->bug->confirmed;
|
||||
if(common::checkEnLang() and $value->id == 'severity') $value->name = $lang->bug->severity;
|
||||
if(common::checkEnLang() and $value->id == 'pri') $value->name = $lang->bug->pri;
|
||||
if(common::checkEnLang() and $value->id == 'confirmed') $value->name = $lang->bug->confirmed;
|
||||
$this->datatable->printHead($value, $orderBy, $vars);
|
||||
$columns ++;
|
||||
}
|
||||
|
||||
@@ -211,7 +211,7 @@ js::set('oldResolvedBuild' , $bug->resolvedBuild);
|
||||
<table class='table table-form'>
|
||||
<tbody>
|
||||
<tr>
|
||||
<?php $colWidth = $app->getClientLang() == 'en' ? 'w-100px' : 'w-80px';?>
|
||||
<?php $colWidth = common::checkEnLang() ? 'w-100px' : 'w-80px';?>
|
||||
<th class='<?php echo $colWidth;?>'><?php echo $lang->bug->openedBy;?></th>
|
||||
<td><?php echo $users[$bug->openedBy];?></td>
|
||||
</tr>
|
||||
@@ -265,7 +265,7 @@ js::set('oldResolvedBuild' , $bug->resolvedBuild);
|
||||
<table class='table table-form'>
|
||||
<tbody>
|
||||
<tr class='text-top'>
|
||||
<?php $colWidth = $app->getClientLang() == 'en' ? 'w-100px' : 'w-80px';?>
|
||||
<?php $colWidth = common::checkEnLang() ? 'w-100px' : 'w-80px';?>
|
||||
<th class='<?php echo $colWidth;?>'><?php echo $lang->bug->linkBug;?></th>
|
||||
<td><?php echo html::a($this->createLink('bug', 'linkBugs', "bugID=$bug->id", '', true), $lang->bug->linkBugs, '', "class='text-primary' data-toggle='modal' data-type='iframe' data-width='95%'");?></td>
|
||||
</tr>
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
<?php echo html::a("javascript:changeChartType(\"$type\")", ($type == 'default' ? "<i class='icon icon-list-alt muted'></i> " : "<i class='icon icon-chart-{$type} muted'></i>") . $typeName, '', "class='btn btn-link " . ($type == $chartType ? 'btn-active-line' : '') . "'")?>
|
||||
<?php endforeach;?>
|
||||
</div>
|
||||
<div class='text-muted'><?php echo str_replace('%tab%', $lang->bug->unclosed . $lang->bug->common, $lang->report->notice->help);?></div>
|
||||
<div class='text-muted' style='padding-top:5px'><?php echo str_replace('%tab%', $lang->bug->unclosed . $lang->bug->common, $lang->report->notice->help);?></div>
|
||||
<?php foreach($charts as $chartType => $chartOption):?>
|
||||
<div class='table-row chart-row'>
|
||||
<div class='main-col'>
|
||||
|
||||
@@ -32,7 +32,7 @@ js::set('productID' , $bug->product);
|
||||
<form method='post' enctype='multipart/form-data' target='hiddenwin'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<?php $colWidth = $app->getClientLang() == 'en' ? 'w-130px' : 'w-100px';?>
|
||||
<?php $colWidth = common::checkEnLang() ? 'w-130px' : 'w-100px';?>
|
||||
<th class='<?php echo $colWidth;?>'><?php echo $lang->bug->resolution;?></th>
|
||||
<td class='w-p35-f'><?php echo html::select('resolution', $lang->bug->resolutionList, '', "class='form-control chosen' onchange=setDuplicate(this.value)");?></td>
|
||||
<td></td>
|
||||
|
||||
@@ -99,7 +99,7 @@
|
||||
</ul>
|
||||
<div class='tab-content'>
|
||||
<div class='tab-pane active' id='legendBasicInfo'>
|
||||
<?php $widthClass = $app->getClientLang() == 'en' ? 'w-110px' : 'w-70px';?>
|
||||
<?php $widthClass = common::checkEnLang() ? 'w-110px' : 'w-70px';?>
|
||||
<table class="table table-data">
|
||||
<tbody>
|
||||
<tr valign='middle'>
|
||||
@@ -268,7 +268,7 @@
|
||||
</ul>
|
||||
<div class='tab-content'>
|
||||
<div class='tab-pane active' id='legendLife'>
|
||||
<?php $widthClass = $app->getClientLang() == 'en' ? 'w-100px' : 'w-90px';?>
|
||||
<?php $widthClass = common::checkEnLang() ? 'w-100px' : 'w-90px';?>
|
||||
<table class="table table-data">
|
||||
<tbody>
|
||||
<tr>
|
||||
|
||||
@@ -30,7 +30,7 @@ $lang->profile = 'Profil';
|
||||
$lang->changePassword = 'Passwort';
|
||||
$lang->runInfo = "<div class='row'><div class='u-1 a-center' id='debugbar'>Time %s MS, Memory %s KB, Query %s. </div></div>";
|
||||
$lang->agreement = "I have read and agreed to the terms and conditions of <a href='http://zpl.pub/page/zplv12.html' target='_blank'> Z PUBLIC LICENSE 1.2 </a>. <span class='text-danger'>Without authorization, I should not remove, hide or cover any logos/links of ZenTao.</span>";
|
||||
$lang->designedByAIUX = "<a href='http://aiuxstudio.com/' class='link-aiux' target='_blank'>Designed by <strong>AIUX</strong></a>";
|
||||
$lang->designedByAIUX = "<a href='https://api.zentao.pm/goto.php?item=aiux' class='link-aiux' target='_blank'>Designed by <strong>AIUX</strong></a>";
|
||||
|
||||
$lang->reset = 'Zurücksetzen';
|
||||
$lang->cancel = 'Abbrechen';
|
||||
|
||||
@@ -30,7 +30,7 @@ $lang->profile = 'Profile';
|
||||
$lang->changePassword = 'Password';
|
||||
$lang->runInfo = "<div class='row'><div class='u-1 a-center' id='debugbar'>Time %s MS, Memory %s KB, Query %s. </div></div>";
|
||||
$lang->agreement = "I have read and agreed to the terms and conditions of <a href='http://zpl.pub/page/zplv12.html' target='_blank'> Z PUBLIC LICENSE 1.2 </a>. <span class='text-danger'>Without authorization, I should not remove, hide or cover any logos/links of ZenTao.</span>";
|
||||
$lang->designedByAIUX = "<a href='http://aiuxstudio.com/' class='link-aiux' target='_blank'>Designed by <strong>AIUX</strong></a>";
|
||||
$lang->designedByAIUX = "<a href='https://api.zentao.pm/goto.php?item=aiux' class='link-aiux' target='_blank'>Designed by <strong>AIUX</strong></a>";
|
||||
|
||||
$lang->reset = 'Reset';
|
||||
$lang->cancel = 'Cancel';
|
||||
|
||||
@@ -30,7 +30,7 @@ $lang->profile = '个人档案';
|
||||
$lang->changePassword = '更改密码';
|
||||
$lang->runInfo = "<div class='row'><div class='u-1 a-center' id='debugbar'>时间: %s 毫秒, 内存: %s KB, 查询: %s. </div></div>";
|
||||
$lang->agreement = "已阅读并同意<a href='http://zpl.pub/page/zplv12.html' target='_blank'>《Z PUBLIC LICENSE授权协议1.2》</a>。<span class='text-danger'>未经许可,不得去除、隐藏或遮掩禅道软件的任何标志及链接。</span>";
|
||||
$lang->designedByAIUX = "<a href='http://aiuxstudio.com/' class='link-aiux' target='_blank'>Designed by <strong>艾体验</strong></a>";
|
||||
$lang->designedByAIUX = "<a href='https://api.zentao.net/goto.php?item=aiux' class='link-aiux' target='_blank'>Designed by <strong>艾体验</strong></a>";
|
||||
|
||||
$lang->reset = '重填';
|
||||
$lang->cancel = '取消';
|
||||
|
||||
@@ -30,7 +30,7 @@ $lang->profile = '個人檔案';
|
||||
$lang->changePassword = '更改密碼';
|
||||
$lang->runInfo = "<div class='row'><div class='u-1 a-center' id='debugbar'>時間: %s 毫秒, 內存: %s KB, 查詢: %s. </div></div>";
|
||||
$lang->agreement = "已閲讀並同意<a href='http://zpl.pub/page/zplv12.html' target='_blank'>《Z PUBLIC LICENSE授權協議1.2》</a>。<span class='text-danger'>未經許可,不得去除、隱藏或遮掩禪道軟件的任何標誌及連結。</span>";
|
||||
$lang->designedByAIUX = "<a href='http://aiuxstudio.com/' class='link-aiux' target='_blank'>Designed by <strong>艾體驗</strong></a>";
|
||||
$lang->designedByAIUX = "<a href='https://api.zentao.net/goto.php?item=aiux' class='link-aiux' target='_blank'>Designed by <strong>艾體驗</strong></a>";
|
||||
|
||||
$lang->reset = '重填';
|
||||
$lang->cancel = '取消';
|
||||
|
||||
@@ -1726,6 +1726,19 @@ EOD;
|
||||
return $this->get->token == md5(md5($queryString) . $entry->key);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check English Lang.
|
||||
*
|
||||
* @static
|
||||
* @access public
|
||||
* @return bool
|
||||
*/
|
||||
public static function checkEnLang()
|
||||
{
|
||||
global $app;
|
||||
return strpos('|zh-cn|zh-tw|', '|' . $app->getClientLang() . '|') === false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Response.
|
||||
*
|
||||
|
||||
@@ -36,7 +36,9 @@ $onlybody = zget($_GET, 'onlybody', 'no');
|
||||
}
|
||||
else
|
||||
{
|
||||
css::import($defaultTheme . $this->cookie->lang . '.' . $this->cookie->theme . '.css');
|
||||
$minCssFile = $defaultTheme . $this->cookie->lang . '.' . $this->cookie->theme . '.css';
|
||||
if(!file_exists($this->app->getThemeRoot() . 'default/' . $this->cookie->lang . '.' . $this->cookie->theme . '.css')) $minCssFile = $defaultTheme . 'en.' . $this->cookie->theme . '.css';
|
||||
css::import($minCssFile);
|
||||
js::import($jsRoot . 'all.js');
|
||||
}
|
||||
if($this->app->getViewType() == 'xhtml') css::import($defaultTheme . 'x.style.css');
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
<?php $firstAction = '';?>
|
||||
<?php foreach($dateGroups as $date => $actions):?>
|
||||
<?php
|
||||
if($this->app->getClientLang() == 'en')
|
||||
if(common::checkEnLang())
|
||||
{
|
||||
$isToday = date('M d') == $date;
|
||||
}
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
<form class='main-form' method='post' target='hiddenwin'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<?php $colWidth = $app->getClientLang() == 'en' ? 'w-120px' : 'w-80px';?>
|
||||
<?php $colWidth = common::checkEnLang() ? 'w-120px' : 'w-80px';?>
|
||||
<th class='<?php echo $colWidth;?>'><?php echo $lang->company->name;?></th>
|
||||
<td><?php echo html::input('name', $company->name, "class='form-control'");?></td>
|
||||
</tr>
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<table class='table table-form mw-800px'>
|
||||
<?php $colWidth = $app->getClientLang() == 'en' ? 'w-250px' : 'w-120px';?>
|
||||
<?php $colWidth = common::checkEnLang() ? 'w-250px' : 'w-120px';?>
|
||||
<?php $i = 0;?>
|
||||
<?php foreach($requiredFields as $method => $requiredField):?>
|
||||
<tr>
|
||||
|
||||
@@ -54,7 +54,7 @@ EOT;
|
||||
<?php if(($module == 'story' or $module == 'testcase') and $field == 'review'):?>
|
||||
<table class='table table-form mw-800px'>
|
||||
<tr>
|
||||
<?php $colWidth = $app->getClientLang() == 'en' ? 'w-140px' : 'w-80px';?>
|
||||
<?php $colWidth = common::checkEnLang() ? 'w-140px' : 'w-80px';?>
|
||||
<th class='<?php echo $colWidth;?>'><?php echo $lang->custom->storyReview;?></th>
|
||||
<td><?php echo html::radio('needReview', $lang->custom->reviewList, $needReview);?></td>
|
||||
<td></td>
|
||||
|
||||
@@ -23,7 +23,7 @@ $jsRoot = $webRoot . "js/";
|
||||
<form action="<?php echo inlink('edit', 'deptID=' . $dept->id);?>" target='hiddenwin' method='post' class='mt-10px' id='dataform'>
|
||||
<table class='table table-form' style='width:100%'>
|
||||
<tr>
|
||||
<?php $colWidth = $app->getClientLang() == 'en' ? 'w-130px' : 'w-80px';?>
|
||||
<?php $colWidth = common::checkEnLang() ? 'w-130px' : 'w-80px';?>
|
||||
<th class='<?php echo $colWidth;?>'><?php echo $lang->dept->parent;?></th>
|
||||
<td><?php echo html::select('parent', $optionMenu, $dept->parent, "class='form-control chosen'");?></td>
|
||||
</tr>
|
||||
|
||||
@@ -26,8 +26,8 @@ $lang->doc->url = '文档URL';
|
||||
$lang->doc->files = '附件';
|
||||
$lang->doc->addedBy = '由谁添加';
|
||||
$lang->doc->addedDate = '添加时间';
|
||||
$lang->doc->editedBy = '由谁编辑';
|
||||
$lang->doc->editedDate = '编辑时间';
|
||||
$lang->doc->editedBy = '由谁更新';
|
||||
$lang->doc->editedDate = '更新时间';
|
||||
$lang->doc->version = '版本号';
|
||||
$lang->doc->basicInfo = '基本信息';
|
||||
$lang->doc->deleted = '已删除';
|
||||
|
||||
@@ -26,8 +26,8 @@ $lang->doc->url = '文檔URL';
|
||||
$lang->doc->files = '附件';
|
||||
$lang->doc->addedBy = '由誰添加';
|
||||
$lang->doc->addedDate = '添加時間';
|
||||
$lang->doc->editedBy = '由誰編輯';
|
||||
$lang->doc->editedDate = '編輯時間';
|
||||
$lang->doc->editedBy = '由誰更新';
|
||||
$lang->doc->editedDate = '更新時間';
|
||||
$lang->doc->version = '版本號';
|
||||
$lang->doc->basicInfo = '基本信息';
|
||||
$lang->doc->deleted = '已刪除';
|
||||
|
||||
@@ -1145,7 +1145,7 @@ class docModel extends model
|
||||
$projects = $mineProjects = $otherProjects = $closedProjects = array();
|
||||
foreach($libs as $lib)
|
||||
{
|
||||
if(!$this->app->user->admin and !$this->checkPrivLib($lib)) continue;
|
||||
if(!$this->app->user->admin and !$this->project->checkPriv($lib->id)) continue;
|
||||
if($lib->status != 'done' and $lib->status != 'closed' and $lib->PM == $this->app->user->account)
|
||||
{
|
||||
$mineProjects[$lib->id] = $lib;
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<div class="panel-title font-normal">
|
||||
<?php $panelTitle = zget($lang->doclib->tabList, $type);?>
|
||||
<i class="icon icon-folder-open-o text-muted"></i> <?php echo $panelTitle;?>
|
||||
<div class="btn-group">
|
||||
<div class="btn-group pull-right">
|
||||
<?php echo html::a('javascript:setBrowseType("bygrid")', "<i class='icon icon-cards-view'></i>", '', "title='{$lang->doc->browseTypeList['grid']}' class='btn btn-icon'");?>
|
||||
<?php echo html::a('javascript:setBrowseType("bylist")', "<i class='icon icon-bars'></i>", '', "title='{$lang->doc->browseTypeList['list']}' class='btn btn-icon text-primary'");?>
|
||||
</div>
|
||||
|
||||
@@ -96,7 +96,7 @@ var browseType = '<?php echo $browseType;?>';
|
||||
<th class="c-user"><?php echo $lang->doc->addedBy;?></th>
|
||||
<th class="c-datetime"><?php echo $lang->doc->addedDate;?></th>
|
||||
<th class="c-datetime"><?php echo $lang->doc->editedDate;?></th>
|
||||
<th class="w-90px"><?php echo $lang->actions;?></th>
|
||||
<th class="w-90px text-center"><?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
@@ -125,7 +125,7 @@
|
||||
<div class="col-sm-7">
|
||||
<div class="panel block-files block-sm" style="height: 290px;">
|
||||
<div class="panel-heading">
|
||||
<div class="panel-title"><?php echo $lang->project->undone . ($app->getClientLang() == 'en' ? ' ' : '') .($app->getClientLang()=='en'? "{$lang->projectCommon}s": "$lang->projectCommon");?></div>
|
||||
<div class="panel-title"><?php echo $lang->project->undone . (common::checkEnLang() ? ' ' : '') . (common::checkEnLang() ? "{$lang->projectCommon}s" : "$lang->projectCommon");?></div>
|
||||
<nav class="panel-actions nav nav-default">
|
||||
<li><?php echo html::a($this->createLink('doc', 'allLibs', 'type=project'), '<i class="icon icon-more icon-sm"></i>', '', "title='{$lang->more}'");?></li>
|
||||
</nav>
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
<tr>
|
||||
<th class="c-name"><?php echo $lang->doc->libName;?></th>
|
||||
<th class="c-num"><?php echo $lang->doc->num;?></th>
|
||||
<th class="w-120px"><?php echo $lang->actions;?></th>
|
||||
<th class="w-90px text-center"><?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
@@ -12,7 +12,7 @@ if($this->methodName != 'browse')
|
||||
$moduleID = '';
|
||||
}
|
||||
if(empty($type)) $type = 'product';
|
||||
$sideWidth = $app->getClientLang() == 'en' ? '270' : '238';
|
||||
$sideWidth = common::checkEnLang() ? '270' : '238';
|
||||
?>
|
||||
<div class="side-col" style="width:<?php echo $sideWidth;?>px" data-min-width="<?php echo $sideWidth;?>">
|
||||
<div class="cell">
|
||||
|
||||
@@ -15,8 +15,9 @@ class editor extends control
|
||||
{
|
||||
parent::__construct($moduleName, $methodName, $appName);
|
||||
|
||||
$remoteIP = helper::getRemoteIp();
|
||||
if($remoteIP != '127.0.0.1') die($this->display('editor', 'deny'));
|
||||
$this->active = helper::getRemoteIp() == '127.0.0.1';
|
||||
$methodName = $this->app->getMethodName();
|
||||
if(!$this->active and $methodName != 'index' and $methodName != 'extend') die($this->display('editor', 'deny'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -30,13 +30,13 @@ $lang->editor->deleteConfirm = 'Möchten Sie das löschen?';
|
||||
$lang->editor->extendConfirm = 'Möchten Sie den Originalcode verwenden?';
|
||||
$lang->editor->repeatFile = 'Datei existiert bereits';
|
||||
$lang->editor->repeatPage = 'Seite existiert bereits. Möchten Sie die Seite überschreiben?';
|
||||
$lang->editor->noticeOkFile = 'Aus Sicherheitsgründen muss Ihr Adminkonto bestätigt werden. \n Bitte melden Sie sich an und erstellen Sie die Datei %sFile.\n Hinweis:\n 1. Die Datei ist leer.\n 2. Wenn die Datei bereits existiert, löschen Sie sie und erstellen Sie eine neue Datei.';
|
||||
$lang->editor->noticeOkFile = 'Aus Sicherheitsgründen muss Ihr Adminkonto bestätigt werden. \n Bitte melden Sie sich an und erstellen Sie die Datei %s File.\n Hinweis:\n 1. Die Datei ist leer.\n 2. Wenn die Datei bereits existiert, löschen Sie sie und erstellen Sie eine neue Datei.';
|
||||
$lang->editor->editFileError = 'Sie können nur ZenTao Dateien verändern!';
|
||||
|
||||
$lang->editor->notWritable = "Nicht beschreibbar. Berechtigung erforderlich. Bitte versuchen Sie chmod 777 -R ";
|
||||
$lang->editor->notDelete = 'Kann nicht gelöscht werden. Bitte prüfen Sie Ihre Berechtigungen!';
|
||||
$lang->editor->emptyFileName = 'Bitte geben Sie einen Dateinamen an!';
|
||||
$lang->editor->onlyLocalVisit = 'This feature only works when the IP is 127.0.0.1.';
|
||||
$lang->editor->onlyLocalVisit = "This feature only works when the IP is 127.0.0.1. <a href='https://api.zentao.pm/goto.php?item=howtodevelop&from=en' target='_blank'>Document</a>";
|
||||
|
||||
$lang->editor->translate['config.php'] = 'config';
|
||||
$lang->editor->translate['control.php'] = 'control';
|
||||
|
||||
@@ -30,13 +30,13 @@ $lang->editor->deleteConfirm = 'Do you want to delete it?';
|
||||
$lang->editor->extendConfirm = 'Do you want to use original code?';
|
||||
$lang->editor->repeatFile = 'File Name Duplicated';
|
||||
$lang->editor->repeatPage = 'This page exists. Do you want to overwrite it?';
|
||||
$lang->editor->noticeOkFile = 'For security reasons, your Admin account has to be confirmed. \n Please login ZenTao server and create %sFile.\n Note:\n 1. File is blank.\n 2. If the file existed, delete it and then create a new one.';
|
||||
$lang->editor->noticeOkFile = 'For security reasons, your Admin account has to be confirmed. \n Please login ZenTao server and create %s File.\n Note:\n 1. File is blank.\n 2. If the file existed, delete it and then create a new one.';
|
||||
$lang->editor->editFileError = 'You can only modify ZenTao files!';
|
||||
|
||||
$lang->editor->notWritable = "Not wirtable. Permission is required. Please try chmod 777 -R ";
|
||||
$lang->editor->notDelete = 'Cannot be deleted. Please check your permissions!';
|
||||
$lang->editor->emptyFileName = 'Please enter a File Name!';
|
||||
$lang->editor->onlyLocalVisit = 'This feature only works when the IP is 127.0.0.1.';
|
||||
$lang->editor->onlyLocalVisit = "This feature only works when the IP is 127.0.0.1. <a href='https://api.zentao.pm/goto.php?item=howtodevelop&from=en' target='_blank'>Document</a>";
|
||||
|
||||
$lang->editor->translate['config.php'] = 'config';
|
||||
$lang->editor->translate['control.php'] = 'control';
|
||||
|
||||
@@ -36,7 +36,7 @@ $lang->editor->editFileError = '只能修改禅道文件!';
|
||||
$lang->editor->notWritable = "无法写入,可能没有权限。请尝试执行 chmod 777 -R ";
|
||||
$lang->editor->notDelete = '无法删除,请检查权限!';
|
||||
$lang->editor->emptyFileName = '请写入一个文件名!';
|
||||
$lang->editor->onlyLocalVisit = '该功能只能在IP:127.0.0.1下访问。';
|
||||
$lang->editor->onlyLocalVisit = "该功能只能在IP:127.0.0.1下访问。<a href='https://api.zentao.net/goto.php?item=howtodevelop' target='_blank'>说明文档</a>";
|
||||
|
||||
$lang->editor->translate['config.php'] = 'config';
|
||||
$lang->editor->translate['control.php'] = 'control';
|
||||
|
||||
@@ -36,7 +36,7 @@ $lang->editor->editFileError = '只能修改禪道檔案!';
|
||||
$lang->editor->notWritable = "無法寫入,可能沒有權限。請嘗試執行 chmod 777 -R ";
|
||||
$lang->editor->notDelete = '無法刪除,請檢查權限!';
|
||||
$lang->editor->emptyFileName = '請寫入一個檔案名!';
|
||||
$lang->editor->onlyLocalVisit = '該功能只能在IP:127.0.0.1下訪問。';
|
||||
$lang->editor->onlyLocalVisit = "該功能只能在IP:127.0.0.1下訪問。<a href='https://api.zentao.net/goto.php?item=howtodevelop' target='_blank'>說明文檔</a>";
|
||||
|
||||
$lang->editor->translate['config.php'] = 'config';
|
||||
$lang->editor->translate['control.php'] = 'control';
|
||||
|
||||
@@ -10,9 +10,14 @@
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../dev/view/header.html.php';?>
|
||||
<?php include '../../common/view/header.lite.html.php';?>
|
||||
<style>
|
||||
html{height:100%}
|
||||
body{height:100%;padding-bottom:0px;}
|
||||
#mainContent{height:100%}
|
||||
</style>
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='alert alert-warning'><?php echo $this->lang->editor->onlyLocalVisit;?></div>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
<?php include '../../common/view/footer.lite.html.php';?>
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<form class="load-indicator main-form form-ajax" id="manageViewForm" method="post" target='hiddenwin'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<?php $colWidth = $app->getClientLang() == 'en' ? 'w-130px' : 'w-100px';?>
|
||||
<?php $colWidth = common::checkEnLang() ? 'w-130px' : 'w-100px';?>
|
||||
<th class='text-bottom <?php echo $colWidth;?>'><?php echo $lang->group->viewList;?></th>
|
||||
<td class='text-bottom'>
|
||||
<?php foreach($lang->menu as $menuKey => $menu):?>
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tr class='<?php echo cycle('even, bg-gray');?>'>
|
||||
<?php $colWidth = $app->getClientLang() == 'en' ? 'w-160px' : 'w-150px';?>
|
||||
<?php $colWidth = common::checkEnLang() ? 'w-160px' : 'w-150px';?>
|
||||
<th class='text-right <?php echo $colWidth;?>'><?php echo $lang->my->common;?></th>
|
||||
<td id='my' class='pv-10px'>
|
||||
<div class='checkbox-primary'>
|
||||
@@ -73,7 +73,7 @@
|
||||
<table class='table table-hover table-striped table-bordered' id='privList'>
|
||||
<thead>
|
||||
<tr class='text-center'>
|
||||
<?php $colWidth = $app->getClientLang() == 'en' ? 'w-160px' : 'w-150px';?>
|
||||
<?php $colWidth = common::checkEnLang() ? 'w-160px' : 'w-150px';?>
|
||||
<th class='<?php echo $colWidth;?>'><?php echo $lang->group->module;?></th>
|
||||
<th><?php echo $lang->group->method;?></th>
|
||||
</tr>
|
||||
@@ -98,7 +98,7 @@
|
||||
}
|
||||
?>
|
||||
<tr class='<?php echo cycle('even, bg-gray');?>'>
|
||||
<?php $colWidth = $app->getClientLang() == 'en' ? 'w-160px' : 'w-150px';?>
|
||||
<?php $colWidth = common::checkEnLang() ? 'w-160px' : 'w-150px';?>
|
||||
<th class='text-middle text-right <?php echo $colWidth;?>'>
|
||||
<div class="checkbox-primary checkbox-inline checkbox-right check-all">
|
||||
<input type='checkbox' id='allChecker<?php echo $moduleName;?>'>
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
<table class='table table-form' id='selectmta'>
|
||||
<tr>
|
||||
<td class='text-center'>
|
||||
<?php if($this->app->getClientLang() != 'en' and common::hasPriv('mail', 'ztCloud')):?>
|
||||
<?php if(!common::checkEnLang() and common::hasPriv('mail', 'ztCloud')):?>
|
||||
<?php echo html::a(inlink('ztCloud'), $lang->mail->ztCloud, '', "class='btn w-120px'")?>
|
||||
<?php endif;?>
|
||||
<?php if(common::hasPriv('mail', 'detect')):?>
|
||||
|
||||
@@ -123,7 +123,7 @@ class messageModel extends model
|
||||
if($toList == $this->app->user->account) return false;
|
||||
|
||||
$moduleName = $objectType == 'case' ? 'testcase' : $objectType;
|
||||
$space = $this->app->getClientLang() == 'en' ? ' ' : '';
|
||||
$space = common::checkEnLang() ? ' ' : '';
|
||||
$data = $this->app->user->realname . $space . $this->lang->action->label->$actionType . $space . $this->lang->action->objectTypes[$objectType];
|
||||
$data .= ' ' . html::a(helper::createLink($moduleName, 'view', "id=$objectID"), "[#{$objectID}::{$object->$field}]");
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
<?php $idx++; ?>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<?php if($detailed and $this->app->getClientLang() != 'en'):?>
|
||||
<?php if($detailed and !common::checkEnLang()):?>
|
||||
<div id="details" class='article-content'>
|
||||
<a href='###' class="btn btn-link text-primary btn-block text-left" onclick="$('#details').toggleClass('show-details')"><i class="icon icon-angle-right"></i> <?php echo $lang->misc->feature->detailed;?></a>
|
||||
<div class='details-list'><?php echo $detailed;?></div>
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
</div>
|
||||
<form method='post' target='hiddenwin'>
|
||||
<table align='center' class='table table-form w-320px'>
|
||||
<?php $thWidth = ($app->getClientLang() == 'en') ? 'w-130px' : 'w-90px';?>
|
||||
<?php $thWidth = common::checkEnLang() ? 'w-130px' : 'w-90px';?>
|
||||
<tr>
|
||||
<th class='rowhead <?php echo $thWidth?>'><?php echo $lang->user->account;?></th>
|
||||
<td><?php echo $user->account . html::hidden('account',$user->account);?></td>
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php if($app->getClientLang() != 'en'):?>
|
||||
<?php if(!common::checkEnLang()):?>
|
||||
<?php if(common::hasPriv('story', 'batchCreate')) echo html::a($this->createLink('story', 'batchCreate', "productID=$productID&branch=$branch&moduleID=$moduleID"), "<i class='icon icon-plus'></i> {$lang->story->batchCreate}", '', "class='btn btn btn-secondary'");?>
|
||||
<?php
|
||||
if(commonModel::isTutorialMode())
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
<?php $firstAction = '';?>
|
||||
<?php foreach($dateGroups as $date => $actions):?>
|
||||
<?php
|
||||
if($this->app->getClientLang() == 'en')
|
||||
if(common::checkEnLang())
|
||||
{
|
||||
$isToday = date('M d') == $date;
|
||||
}
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
<?php $groupRoadmaps = zget($yearRoadmaps, $branchKey, array());?>
|
||||
<div class="release-path">
|
||||
<div class="release-head">
|
||||
<div class="title text-primary"><?php echo $year . (is_numeric($year) ? ($this->app->getClientLang() == 'en' ? '' : $lang->year) : '');?></div>
|
||||
<div class="title text-primary"><?php echo $year . (is_numeric($year) ? (common::checkEnLang() ? '' : $lang->year) : '');?></div>
|
||||
<div class="subtitle"><?php echo sprintf($lang->product->iterationInfo, count($groupRoadmaps, 1) - count($groupRoadmaps));?></div>
|
||||
</div>
|
||||
<?php $i = 0;?>
|
||||
|
||||
@@ -196,7 +196,7 @@
|
||||
<div class="detail-content">
|
||||
<table class="table table-data data-basic">
|
||||
<tbody>
|
||||
<?php $space = $this->app->getClientLang() == 'en' ? ' ' : '';?>
|
||||
<?php $space = common::checkEnLang() ? ' ' : '';?>
|
||||
<tr>
|
||||
<th><?php echo $lang->story->statusList['active'] . $space . $lang->story->common;?></th>
|
||||
<td><em><?php echo $product->stories['active']?></em></td>
|
||||
|
||||
@@ -902,7 +902,7 @@ class project extends control
|
||||
$chartData = $this->project->buildBurnData($projectID, $dateList, $type);
|
||||
|
||||
/* Set a space when assemble the string for english. */
|
||||
$space = $this->app->getClientLang() == 'en' ? ' ' : '';
|
||||
$space = common::checkEnLang() ? ' ' : '';
|
||||
$dayList = array_fill(1, floor($project->days / $this->config->project->maxBurnDay) + 5, '');
|
||||
foreach($dayList as $key => $val) $dayList[$key] = $this->lang->project->interval . $space . ($key + 1) . $space . $this->lang->day;
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
</th>
|
||||
<th><?php common::printOrderLink('name', $orderBy, $vars, $lang->project->name);?></th>
|
||||
<th class='w-100px'><?php common::printOrderLink('code', $orderBy, $vars, $lang->project->code);?></th>
|
||||
<?php $colWidth = $app->getClientLang() == 'en' ? 'w-130px' : '1-100px';?>
|
||||
<?php $colWidth = common::checkEnLang() ? 'w-130px' : '1-100px';?>
|
||||
<th class='<?php echo $colWidth;?>'><?php common::printOrderLink('PM', $orderBy, $vars, $lang->project->PM);?></th>
|
||||
<th class='w-90px'><?php common::printOrderLink('end', $orderBy, $vars, $lang->project->end);?></th>
|
||||
<th class='w-90px'><?php common::printOrderLink('status', $orderBy, $vars, $lang->project->status);?></th>
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
echo $lang->project->howToUpdateBurn;
|
||||
?>
|
||||
<?php if($interval):?>
|
||||
<div class='input-control <?php echo $this->app->getClientLang() == 'en' ? "w-150px" : "w-120px" ?>'>
|
||||
<div class='input-control <?php echo common::checkEnLang() ? "w-150px" : "w-120px" ?>'>
|
||||
<?php echo html::select('interval', $dayList, $interval, "class='form-control chosen'");?>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
<?php $firstAction = '';?>
|
||||
<?php foreach($dateGroups as $date => $actions):?>
|
||||
<?php
|
||||
if($this->app->getClientLang() == 'en')
|
||||
if(common::checkEnLang())
|
||||
{
|
||||
$isToday = date('M d') == $date;
|
||||
}
|
||||
|
||||
@@ -131,7 +131,7 @@ js::set('browseType', $browseType);
|
||||
$checkObject = new stdclass();
|
||||
$checkObject->project = $projectID;
|
||||
?>
|
||||
<?php if($app->getClientLang() != 'en'):?>
|
||||
<?php if(!common::checkEnLang()):?>
|
||||
<?php
|
||||
$link = $this->createLink('task', 'batchCreate', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : ''));
|
||||
if(common::hasPriv('task', 'batchCreate', $checkObject)) echo html::a($link, "<i class='icon icon-plus'></i> {$lang->task->batchCreate}", '', "class='btn btn btn-secondary'");
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
<th><?php echo $lang->team->hours;?></th>
|
||||
<th><?php echo $lang->team->totalHours;?></th>
|
||||
<th class='w-100px text-center'><?php echo $lang->team->limited;?></th>
|
||||
<th class='c-actions-1 w-80px'><?php echo $lang->actions;?></th>
|
||||
<th class='c-actions-1 w-80px text-center'><?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -72,7 +72,7 @@
|
||||
<td><?php echo $member->hours . $lang->project->workHour;?></td>
|
||||
<td><?php echo $memberHours . $lang->project->workHour;?></td>
|
||||
<td class="text-center"><?php echo $lang->team->limitedList[$member->limited];?></td>
|
||||
<td class='c-actions'>
|
||||
<td class='c-actions text-center'>
|
||||
<?php
|
||||
if (common::hasPriv('project', 'unlinkMember', $member))
|
||||
{
|
||||
|
||||
@@ -196,7 +196,7 @@
|
||||
<div class="detail-content">
|
||||
<table class="table table-data">
|
||||
<tbody>
|
||||
<?php $class = $this->app->getClientLang() == 'en' ? 'w-120px' : 'w-100px';?>
|
||||
<?php $class = common::checkEnLang() ? 'w-120px' : 'w-100px';?>
|
||||
<?php if($config->global->flow != 'onlyStory'):?>
|
||||
<?php if(!empty($fromBug)):?>
|
||||
<tr class='text-top'>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<?php include 'blockreportlist.html.php';?>
|
||||
<div class='panel panel-body' style='padding: 10px 6px'>
|
||||
<div class='text proversion'>
|
||||
<strong class='text-danger small text-latin'>PRO</strong> <span class='text-important'><?php echo $this->app->getClientLang() == 'en'? $lang->report->proVersionEn : $lang->report->proVersion; ?></span>
|
||||
<strong class='text-danger small text-latin'>PRO</strong> <span class='text-important'><?php echo common::checkEnLang() ? $lang->report->proVersionEn : $lang->report->proVersion; ?></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<?php include 'blockreportlist.html.php';?>
|
||||
<div class='panel panel-body' style='padding: 10px 6px'>
|
||||
<div class='text proversion'>
|
||||
<strong class='text-danger small text-latin'>PRO</strong> <span class='text-important'><?php echo $this->app->getClientLang() == 'en'? $lang->report->proVersionEn : $lang->report->proVersion; ?></span>
|
||||
<strong class='text-danger small text-latin'>PRO</strong> <span class='text-important'><?php echo common::checkEnLang() ? $lang->report->proVersionEn : $lang->report->proVersion; ?></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php if($this->app->getClientLang() == 'en'):?>
|
||||
<?php if(common::checkEnLang()):?>
|
||||
<style>#conditions .col-xs { width: 126px; }</style>
|
||||
<?php endif;?>
|
||||
<div id='mainContent' class='main-row'>
|
||||
@@ -7,7 +7,7 @@
|
||||
<?php include 'blockreportlist.html.php';?>
|
||||
<div class='panel panel-body' style='padding: 10px 6px'>
|
||||
<div class='text proversion'>
|
||||
<strong class='text-danger small text-latin'>PRO</strong> <span class='text-important'><?php echo $this->app->getClientLang() == 'en'? $lang->report->proVersionEn : $lang->report->proVersion; ?></span>
|
||||
<strong class='text-danger small text-latin'>PRO</strong> <span class='text-important'><?php echo common::checkEnLang() ? $lang->report->proVersionEn : $lang->report->proVersion; ?></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<?php include 'blockreportlist.html.php';?>
|
||||
<div class='panel panel-body' style='padding: 10px 6px'>
|
||||
<div class='text proversion'>
|
||||
<strong class='text-danger small text-latin'>PRO</strong> <span class='text-important'><?php echo $this->app->getClientLang() == 'en'? $lang->report->proVersionEn : $lang->report->proVersion; ?></span>
|
||||
<strong class='text-danger small text-latin'>PRO</strong> <span class='text-important'><?php echo common::checkEnLang() ? $lang->report->proVersionEn : $lang->report->proVersion; ?></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<?php include 'blockreportlist.html.php';?>
|
||||
<div class='panel panel-body' style='padding: 10px 6px'>
|
||||
<div class='text proversion'>
|
||||
<strong class='text-danger small text-latin'>PRO</strong> <span class='text-important'><?php echo $this->app->getClientLang() == 'en'? $lang->report->proVersionEn : $lang->report->proVersion; ?></span>
|
||||
<strong class='text-danger small text-latin'>PRO</strong> <span class='text-important'><?php echo common::checkEnLang() ? $lang->report->proVersionEn : $lang->report->proVersion; ?></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -15,8 +15,8 @@ $jsRoot = $this->app->getWebRoot() . "js/";
|
||||
include '../../common/view/datepicker.html.php';
|
||||
include '../../common/view/chosen.html.php';
|
||||
$formId = 'searchForm-' . uniqid('');
|
||||
$fieldWidth = $app->getClientLang() == 'en' ? 'w-130px' : 'w-110px';
|
||||
$operatorWidth = $app->getClientLang() == 'en' ? 'w-110px' : 'w-90px';
|
||||
$fieldWidth = common::checkEnLang() ? 'w-130px' : 'w-110px';
|
||||
$operatorWidth = common::checkEnLang() ? 'w-110px' : 'w-90px';
|
||||
?>
|
||||
<style>
|
||||
#selectPeriod {padding: 4px 0; height: 197px; min-width: 120px}
|
||||
@@ -25,7 +25,7 @@ $operatorWidth = $app->getClientLang() == 'en' ? 'w-110px' : 'w-90px';
|
||||
#<?php echo $formId;?> > table {margin: 0 auto;}
|
||||
#<?php echo $formId;?> > table > tbody > tr > td {padding: 8px;}
|
||||
#<?php echo $formId;?> .form-actions {padding-bottom: 20px; padding-top: 0;}
|
||||
<?php if($app->getClientLang() == 'en'):?>
|
||||
<?php if(common::checkEnLang()):?>
|
||||
#<?php echo $formId;?> [id^="valueBox"] .chosen-container .chosen-single {min-width: 70px;}
|
||||
<?php else:?>
|
||||
#<?php echo $formId;?> [id^="valueBox"] .chosen-container .chosen-single {min-width: 100px;}
|
||||
|
||||
@@ -1493,13 +1493,16 @@ class story extends control
|
||||
|
||||
/* Get related objects title or names. */
|
||||
$productsType = $this->dao->select('id, type')->from(TABLE_PRODUCT)->where('id')->in($relatedProductIdList)->fetchPairs();
|
||||
$relatedModules = $this->loadModel('tree')->getOptionMenu($productID);
|
||||
$relatedPlans = $this->dao->select('id, title')->from(TABLE_PRODUCTPLAN)->where('id')->in(join(',', $relatedPlanIdList))->fetchPairs();
|
||||
$relatedStories = $this->dao->select('id,title')->from(TABLE_STORY) ->where('id')->in($relatedStoryIdList)->fetchPairs();
|
||||
$relatedFiles = $this->dao->select('id, objectID, pathname, title')->from(TABLE_FILE)->where('objectType')->eq('story')->andWhere('objectID')->in(@array_keys($stories))->andWhere('extra')->ne('editor')->fetchGroup('objectID');
|
||||
$relatedSpecs = $this->dao->select('*')->from(TABLE_STORYSPEC)->where('`story`')->in(@array_keys($stories))->orderBy('version desc')->fetchGroup('story');
|
||||
$relatedBranch = array('0' => $this->lang->branch->all) + $this->dao->select('id, name')->from(TABLE_BRANCH)->where('id')->in($relatedBranchIdList)->fetchPairs();
|
||||
|
||||
$relatedModules = array();
|
||||
$this->loadModel('tree');
|
||||
foreach($relatedProductIdList as $relatedProductId) $relatedModules += $this->tree->getOptionMenu($relatedProductId);
|
||||
|
||||
foreach($stories as $story)
|
||||
{
|
||||
$story->spec = '';
|
||||
|
||||
@@ -110,7 +110,7 @@ $lang->story->total = "Total Stories";
|
||||
$lang->story->allStories = 'All Stories';
|
||||
$lang->story->unclosed = 'Unclosed';
|
||||
$lang->story->deleted = 'Deleted';
|
||||
$lang->story->released = 'Released Linked Stories';
|
||||
$lang->story->released = 'Released Stories';
|
||||
|
||||
$lang->story->ditto = 'Ditto';
|
||||
$lang->story->dittoNotice = 'This story is not linked to the same product as the last one is!';
|
||||
|
||||
@@ -110,7 +110,7 @@ $lang->story->total = '总需求';
|
||||
$lang->story->allStories = '所有需求';
|
||||
$lang->story->unclosed = '未关闭';
|
||||
$lang->story->deleted = '已删除';
|
||||
$lang->story->released = '已发布关联需求数';
|
||||
$lang->story->released = '已发布需求数';
|
||||
|
||||
$lang->story->ditto = '同上';
|
||||
$lang->story->dittoNotice = '该需求与上一需求不属于同一产品!';
|
||||
|
||||
@@ -110,7 +110,7 @@ $lang->story->total = '總需求';
|
||||
$lang->story->allStories = '所有需求';
|
||||
$lang->story->unclosed = '未關閉';
|
||||
$lang->story->deleted = '已刪除';
|
||||
$lang->story->released = '已發佈關聯需求數';
|
||||
$lang->story->released = '已發佈需求數';
|
||||
|
||||
$lang->story->ditto = '同上';
|
||||
$lang->story->dittoNotice = '該需求與上一需求不屬於同一產品!';
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<form method='post' target='hiddenwin'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<?php $colWidth = $app->getClientLang() == 'en' ? 'w-150px' : 'w-80px';?>
|
||||
<?php $colWidth = common::checkEnLang() ? 'w-150px' : 'w-80px';?>
|
||||
<th class='<?php echo $colWidth;?>'><?php echo $lang->story->closedReason;?></th>
|
||||
<td class='w-p25-f'><?php echo html::select('closedReason', $lang->story->reasonList, '', 'class="form-control" onchange="setStory(this.value)"');?></td><td></td>
|
||||
</tr>
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
?>
|
||||
<?php include './header.html.php';?>
|
||||
<?php js::set('holders', $lang->story->placeholder); ?>
|
||||
<?php if($this->app->getClientLang() == 'en'):?>
|
||||
<?php if(common::checkEnLang()):?>
|
||||
<style> .sourceTd > .input-group > .input-group > .input-group-addon:first-child{padding: 5px 18px} </style>
|
||||
<?php endif;?>
|
||||
<div id="mainContent" class="main-content">
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
<div class='detail-title'><?php echo $lang->story->legendBasicInfo;?></div>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<?php $colWidth = $app->getClientLang() == 'en' ? 'w-100px' : 'w-80px';?>
|
||||
<?php $colWidth = common::checkEnLang() ? 'w-100px' : 'w-80px';?>
|
||||
<th class='<?php echo $colWidth;?>'><?php echo $lang->story->product;?></th>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
@@ -207,7 +207,7 @@
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<tr>
|
||||
<?php $width = $this->app->getClientLang() == 'en' ? 'w-110px': 'w-70px'?>
|
||||
<?php $width = common::checkEnLang() ? 'w-110px': 'w-70px'?>
|
||||
<th class=<?php echo $width?>><?php echo $lang->story->linkStories;?></th>
|
||||
<td><?php echo html::a($this->createLink('story', 'linkStory', "storyID=$story->id&type=linkStories", '', true), $lang->story->linkStory, '', "data-toggle='modal' data-type='iframe' data-width='95%'");?></td>
|
||||
</tr>
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
<?php echo html::a("javascript:changeChartType(\"$type\")", "<i class='icon icon-chart-{$type} muted'> </i>" . $typeName, '', "class='btn btn-link " . ($type == $chartType ? 'btn-active-line' : '') . "'")?>
|
||||
<?php endforeach;?>
|
||||
</div>
|
||||
<div class='text-muted'><?php echo str_replace('%tab%', $lang->product->unclosed . $lang->story->common, $lang->report->notice->help);?></div>
|
||||
<div class='text-muted' style='padding-top:5px'><?php echo str_replace('%tab%', $lang->product->unclosed . $lang->story->common, $lang->report->notice->help);?></div>
|
||||
<?php foreach($charts as $chartType => $chartOption):?>
|
||||
<div class='table-row chart-row'>
|
||||
<div class='main-col'>
|
||||
|
||||
@@ -27,7 +27,7 @@ var assignedTo = '<?php $story->lastEditedBy ? print($story->lastEditedBy) : pri
|
||||
<form method='post' target='hiddenwin'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<?php $colWidth = $app->getClientLang() == 'en' ? 'w-110px' : 'w-80px';?>
|
||||
<?php $colWidth = common::checkEnLang() ? 'w-110px' : 'w-80px';?>
|
||||
<th class='<?php echo $colWidth;?>'><?php echo $lang->story->reviewedDate;?></th>
|
||||
<td class='w-p25-f'><?php echo html::input('reviewedDate', helper::today(), "class='form-control form-date'");?></td><td></td>
|
||||
</tr>
|
||||
|
||||
@@ -229,7 +229,7 @@
|
||||
</table>
|
||||
</div>
|
||||
<div class='tab-pane' id='legendLifeTime'>
|
||||
<?php $widthClass = $app->getClientLang() == 'en' ? 'w-100px' : 'w-70px';?>
|
||||
<?php $widthClass = common::checkEnLang() ? 'w-100px' : 'w-70px';?>
|
||||
<table class="table table-data">
|
||||
<tbody>
|
||||
<tr>
|
||||
@@ -311,7 +311,7 @@
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<div class="tab-pane <?php if($config->global->flow == 'onlyStory') echo 'active';?>" id='legendRelated'>
|
||||
<?php $widthClass = $app->getClientLang() == 'en' ? 'w-110px' : 'w-70px';?>
|
||||
<?php $widthClass = common::checkEnLang() ? 'w-110px' : 'w-70px';?>
|
||||
<table class="table table-data">
|
||||
<tbody>
|
||||
<?php if($config->global->flow != 'onlyStory'):?>
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
<th class='w-pri'> <?php common::printOrderLink('pri', $orderBy, $vars, $lang->priAB);?></th>
|
||||
<th class='w-p30'> <?php common::printOrderLink('title', $orderBy, $vars, $lang->story->title);?></th>
|
||||
<th> <?php common::printOrderLink('plan', $orderBy, $vars, $lang->story->planAB);?></th>
|
||||
<?php $colWidth = $app->getClientLang() == 'en' ? 'w-120px' : 'w-90px';?>
|
||||
<?php $colWidth = common::checkEnLang() ? 'w-120px' : 'w-90px';?>
|
||||
<th class='<?php echo $colWidth;?>'><?php common::printOrderLink('source', $orderBy, $vars, $lang->story->source);?></th>
|
||||
<th class='w-100px'><?php common::printOrderLink('openedBy', $orderBy, $vars, $lang->openedByAB);?></th>
|
||||
<th class='w-100px'><?php common::printOrderLink('assignedTo', $orderBy, $vars, $lang->assignedToAB);?></th>
|
||||
|
||||
@@ -113,7 +113,7 @@ $lang->task->deleteEstimate = 'Delete Estimates';
|
||||
$lang->task->colorTag = 'Color';
|
||||
$lang->task->files = 'Files';
|
||||
$lang->task->hasConsumed = 'Already Cost';
|
||||
$lang->task->multiple = 'Multiple User Task';
|
||||
$lang->task->multiple = 'Multiple Users';
|
||||
$lang->task->multipleAB = 'M';
|
||||
$lang->task->team = 'Team';
|
||||
$lang->task->transfer = 'Transfer';
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<form method='post' target='hiddenwin'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<?php $colWidth = $app->getClientLang() == 'en' ? 'w-90px' : 'w-70px';?>
|
||||
<?php $colWidth = common::checkEnLang() ? 'w-90px' : 'w-70px';?>
|
||||
<th class='<?php echo $colWidth;?>'><?php echo $lang->task->assignedTo;?></th>
|
||||
<td class='w-p25-f'><?php echo html::select('assignedTo', $members, $task->finishedBy, "class='form-control chosen'");?></td>
|
||||
<td></td>
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<?php js::set('confirmChangeProject', $lang->task->confirmChangeProject);?>
|
||||
<?php js::set('changeProjectConfirmed', false);?>
|
||||
<?php js::set('newRowCount', count($task->team) < 6 ? 6 - count($task->team) : 1);?>
|
||||
<?php $thWidth = $this->app->getClientLang() == 'en' ? 'w-85px' : 'w-70px';?>
|
||||
<?php $thWidth = common::checkEnLang() ? 'w-85px' : 'w-70px';?>
|
||||
<div class='main-content' id='mainContent'>
|
||||
<form method='post' enctype='multipart/form-data' target='hiddenwin' id='dataform'>
|
||||
<div class='main-header'>
|
||||
@@ -176,7 +176,7 @@
|
||||
</div>
|
||||
<div class='detail'>
|
||||
<div class='detail-title'><?php echo $lang->task->legendLife;?></div>
|
||||
<?php $thWidth = $this->app->getClientLang() == 'en' ? 'w-120px' : 'w-70px';?>
|
||||
<?php $thWidth = common::checkEnLang() ? 'w-120px' : 'w-70px';?>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th class=<?php echo $thWidth;?>><?php echo $lang->task->openedBy;?></th>
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
<form method='post' enctype='multipart/form-data' target='hiddenwin'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<?php $colWidth = $app->getClientLang() == 'en' ? 'w-120px' : 'w-100px';?>
|
||||
<?php $colWidth = common::checkEnLang() ? 'w-120px' : 'w-100px';?>
|
||||
<th class='<?php echo $colWidth;?>'><?php echo !empty($task->team) ? $lang->task->common . $lang->task->consumed : $lang->task->hasConsumed;?></th>
|
||||
<td class='w-p25-f'><?php echo $task->consumed;?> <?php echo $lang->workingHour;?></td>
|
||||
<td></td>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<?php $team = array_keys($task->team);?>
|
||||
<?php js::set('confirmRecord', (!empty($team) && $task->assignedTo != end($team)) ? $lang->task->confirmTransfer : $lang->task->confirmRecord);?>
|
||||
<?php js::set('noticeSaveRecord', $lang->task->noticeSaveRecord);?>
|
||||
<?php $colWidth = $app->getClientLang() == 'en' ? 'w-90px' : 'w-70px';?>
|
||||
<?php $colWidth = common::checkEnLang() ? 'w-90px' : 'w-70px';?>
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='center-block'>
|
||||
<div class='main-header'>
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
<?php echo html::a("javascript:changeChartType(\"$type\")", ($type == 'default' ? "<i class='icon icon-list-alt muted'></i> " : "<i class='icon icon-chart-{$type} muted'></i> ") . $typeName, '', "class='btn btn-link " . ($type == $chartType ? 'btn-active-line' : '') . "'")?>
|
||||
<?php endforeach;?>
|
||||
</div>
|
||||
<div class='text-muted'><?php echo str_replace('%tab%', $lang->project->unclosed . $lang->task->common, $lang->report->notice->help);?></div>
|
||||
<div class='text-muted' style='padding-top:5px'><?php echo str_replace('%tab%', $lang->project->unclosed . $lang->task->common, $lang->report->notice->help);?></div>
|
||||
<?php foreach($charts as $chartType => $chartOption):?>
|
||||
<div class='table-row chart-row'>
|
||||
<div class='main-col'>
|
||||
|
||||
@@ -285,7 +285,7 @@
|
||||
</table>
|
||||
</div>
|
||||
<div class='tab-pane' id='legendLife'>
|
||||
<?php $widthClass = $app->getClientLang() == 'en' ? 'w-100px' : 'w-70px';?>
|
||||
<?php $widthClass = common::checkEnLang() ? 'w-100px' : 'w-70px';?>
|
||||
<table class='table table-data'>
|
||||
<tr>
|
||||
<th class='<?php echo $widthClass;?>'><?php echo $lang->task->openedBy;?></th>
|
||||
@@ -341,7 +341,7 @@
|
||||
<summary class="detail-title"><?php echo $lang->task->legendEffort;?></summary>
|
||||
<div class="detail-content">
|
||||
<table class='table table-data'>
|
||||
<?php $widthClass = $app->getClientLang() == 'en' ? 'w-90px' : 'w-70px';?>
|
||||
<?php $widthClass = common::checkEnLang() ? 'w-90px' : 'w-70px';?>
|
||||
<tr>
|
||||
<th class='<?php echo $widthClass;?>'><?php echo $lang->task->estimate;?></th>
|
||||
<td><?php echo $task->estimate . $lang->workingHour;?></td>
|
||||
|
||||
@@ -158,7 +158,7 @@ $config->testcase->datatable->fieldList['lastRunResult']['required'] = 'no';
|
||||
|
||||
$config->testcase->datatable->fieldList['status']['title'] = 'statusAB';
|
||||
$config->testcase->datatable->fieldList['status']['fixed'] = 'no';
|
||||
$config->testcase->datatable->fieldList['status']['width'] = '70';
|
||||
$config->testcase->datatable->fieldList['status']['width'] = '90';
|
||||
$config->testcase->datatable->fieldList['status']['required'] = 'no';
|
||||
|
||||
$config->testcase->datatable->fieldList['lastEditedBy']['title'] = 'lastEditedBy';
|
||||
|
||||
@@ -1380,7 +1380,7 @@ class testcaseModel extends model
|
||||
case 'title':
|
||||
if($case->branch) echo "<span class='label label-info label-outline'>{$branches[$case->branch]}</span> ";
|
||||
if($modulePairs and $case->module) echo "<span class='label label-gray label-badge'>{$modulePairs[$case->module]}</span> ";
|
||||
echo $canView ? ($fromCaseID ? html::a($caseLink, $case->title, null, "style='color: $case->color'") . html::a(helper::createLink('testcase', 'view', "caseID=$fromCaseID"), "[<i class='icon icon-arrow-left' title='{$this->lang->testcase->fromCase}'></i>#$fromCaseID]") : html::a($caseLink, $case->title, null, "style='color: $case->color'")) : "<span style='color: $case->color'>$case->title</span>";
|
||||
echo $canView ? ($fromCaseID ? html::a($caseLink, $case->title, null, "style='color: $case->color'") . html::a(helper::createLink('testcase', 'view', "caseID=$fromCaseID"), "[<i class='icon icon-share' title='{$this->lang->testcase->fromCase}'></i>#$fromCaseID]") : html::a($caseLink, $case->title, null, "style='color: $case->color'")) : "<span style='color: $case->color'>$case->title</span>";
|
||||
break;
|
||||
case 'branch':
|
||||
echo $branches[$case->branch];
|
||||
@@ -1397,11 +1397,11 @@ class testcaseModel extends model
|
||||
case 'status':
|
||||
if($case->needconfirm)
|
||||
{
|
||||
print("<span class='status-story status-changed' title='{$this->lang->testcase->fromTesttask}'>{$this->lang->story->changed}</span>");
|
||||
print("<span class='status-story status-changed' title='{$this->lang->story->changed}'>{$this->lang->story->changed}</span>");
|
||||
}
|
||||
elseif(isset($case->fromCaseVersion) and $case->fromCaseVersion > $case->version and !$case->needconfirm)
|
||||
{
|
||||
print("<span class='status-story status-changed' title='{$this->lang->testcase->fromCaselib}'>{$this->lang->testcase->changed}</span>");
|
||||
print("<span class='status-story status-changed' title='{$this->lang->testcase->changed}'>{$this->lang->testcase->changed}</span>");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
</ul>
|
||||
</div>
|
||||
<?php $initModule = isset($moduleID) ? (int)$moduleID : 0;?>
|
||||
<?php if($app->getClientLang() != 'en'):?>
|
||||
<?php if(!common::checkEnLang()):?>
|
||||
<?php
|
||||
if(common::hasPriv('testcase', 'batchCreate'))
|
||||
{
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
<details class="detail" open>
|
||||
<summary class="detail-title"><?php echo $lang->testcase->legendBasicInfo;?></summary>
|
||||
<div class="detail-content">
|
||||
<?php $widthClass = $app->getClientLang() == 'en' ? 'w-90px' : 'w-60px';?>
|
||||
<?php $widthClass = common::checkEnLang() ? 'w-90px' : 'w-60px';?>
|
||||
<table class='table table-data'>
|
||||
<?php if($isLibCase):?>
|
||||
<tr>
|
||||
@@ -272,7 +272,7 @@
|
||||
<details class="detail" open>
|
||||
<summary class="detail-title"><?php echo $lang->testcase->legendLinkBugs;?></summary>
|
||||
<div class="detail-content">
|
||||
<?php $widthClass = $app->getClientLang() == 'en' ? 'w-90px' : 'w-60px';?>
|
||||
<?php $widthClass = common::checkEnLang() ? 'w-90px' : 'w-60px';?>
|
||||
<table class='table table-data'>
|
||||
<?php if($case->fromBug):?>
|
||||
<tr>
|
||||
@@ -302,7 +302,7 @@
|
||||
<details class="detail" open>
|
||||
<summary class="detail-title"><?php echo $lang->testcase->legendOpenAndEdit;?></summary>
|
||||
<div class="detail-content">
|
||||
<?php $widthClass = $app->getClientLang() == 'en' ? 'w-100px' : 'w-60px';?>
|
||||
<?php $widthClass = common::checkEnLang() ? 'w-100px' : 'w-60px';?>
|
||||
<table class='table table-data'>
|
||||
<tr>
|
||||
<th class='<?php echo $widthClass;?>'><?php echo $lang->testcase->openedBy;?></th>
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
<?php endforeach;?>
|
||||
</div>
|
||||
<?php $this->app->loadLang('testcase');?>
|
||||
<div class='text-muted'><?php echo str_replace('%tab%', $lang->testcase->featureBar['browse']['wait'] . $lang->testcase->common, $lang->report->notice->help);?></div>
|
||||
<div class='text-muted' style='padding-top:5px'><?php echo str_replace('%tab%', $lang->testcase->featureBar['browse']['wait'] . $lang->testcase->common, $lang->report->notice->help);?></div>
|
||||
<?php foreach($charts as $chartType => $chartOption):?>
|
||||
<div class='table-row chart-row'>
|
||||
<div class='main-col'>
|
||||
|
||||
@@ -59,7 +59,7 @@ $lang->todo->cycleMonth = 'Month';
|
||||
$lang->todo->deadline = 'Expiration';
|
||||
|
||||
$lang->todo->every = 'Every';
|
||||
$lang->todo->beforeDays = "<span class='input-group-addon'>Auto create a todo</span>%s<span class='input-group-addon'>days before</span>";
|
||||
$lang->todo->beforeDays = "<span class='input-group-addon'>Auto create the todo</span>%s<span class='input-group-addon'>days before</span>";
|
||||
$lang->todo->dayNames = array(1 => 'Monday', 2 => 'Tuesday', 3 => 'Wednesday', 4 => 'Thursday', 5 => 'Friday', 6 => 'Saturday', 0 => 'Sunday');
|
||||
|
||||
$lang->todo->confirmBug = 'This Todo is linked to Bug #%s. Do you want to edit it?';
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
<form method='post' target='hiddenwin' id='dataform'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<?php $colWidth = $app->getClientLang() == 'en' ? 'w-110px' : 'w-80px';?>
|
||||
<?php $colWidth = common::checkEnLang() ? 'w-110px' : 'w-80px';?>
|
||||
<th class='<?php echo $colWidth;?>'><?php echo $lang->todo->date;?></th>
|
||||
<td class='w-400px'>
|
||||
<div class='input-group'>
|
||||
@@ -76,7 +76,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<?php echo html::hidden('config[type]', 'day')?>
|
||||
<div class='input-group' style='width:<?php echo $app->getClientLang() == 'en' ? '270px' : '200px';?>; padding-top:5px;'>
|
||||
<div class='input-group' style='width:<?php echo common::checkEnLang() ? '270px' : '200px';?>; padding-top:5px;'>
|
||||
<?php printf($lang->todo->beforeDays, html::input('config[beforeDays]', 0, "class='form-control'"));?>
|
||||
</div>
|
||||
</td>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/datepicker.html.php';?>
|
||||
<?php include '../../common/view/kindeditor.html.php';?>
|
||||
<?php if($app->getClientLang() == 'en'):?>
|
||||
<?php if(common::checkEnLang()):?>
|
||||
<style> label.col-sm-1{width:100px;} </style>
|
||||
<?php endif;?>
|
||||
<div class="modal-content">
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
<div class='detail-content'>
|
||||
<table class='table table-data'>
|
||||
<tr>
|
||||
<?php $colWidth = $app->getClientLang() == 'en' ? 'w-100px' : 'w-80px';?>
|
||||
<?php $colWidth = common::checkEnLang() ? 'w-100px' : 'w-80px';?>
|
||||
<th class='<?php echo $colWidth;?>'><?php echo $lang->todo->pri;?></th>
|
||||
<td><span title="<?php echo zget($lang->todo->priList, $todo->pri);?>" class='label-pri <?php echo 'label-pri-' . $todo->pri;?>' title='<?php echo zget($lang->todo->priList, $todo->pri, $todo->pri);?>'><?php echo zget($lang->todo->priList, $todo->pri)?></span></td>
|
||||
</tr>
|
||||
@@ -137,7 +137,7 @@
|
||||
<div class='detail-content'>
|
||||
<table class='table table-data'>
|
||||
<tr>
|
||||
<?php $colWidth = $app->getClientLang() == 'en' ? 'w-100px' : 'w-80px';?>
|
||||
<?php $colWidth = common::checkEnLang() ? 'w-100px' : 'w-80px';?>
|
||||
<th class='<?php echo $colWidth;?>'><?php echo $lang->todo->beginAndEnd?></th>
|
||||
<td><?php echo $todo->config->begin . " ~ " . $todo->config->end;?></td>
|
||||
</tr>
|
||||
|
||||
@@ -23,8 +23,9 @@ class translate extends control
|
||||
{
|
||||
parent::__construct($moduleName, $methodName);
|
||||
|
||||
$remoteIP = helper::getRemoteIp();
|
||||
if($remoteIP != '127.0.0.1')
|
||||
$this->active = helper::getRemoteIp() == '127.0.0.1';
|
||||
if(!$this->active) $this->app->loadLang('editor');
|
||||
if(!$this->active and $this->app->getMethodName() != 'index')
|
||||
{
|
||||
$this->app->loadLang('editor');
|
||||
// die($this->display('translate', 'deny'));
|
||||
@@ -47,6 +48,14 @@ class translate extends control
|
||||
$statistics = $this->translate->getLangStatistics();
|
||||
$finishedLangs = $translatingLangs = array();
|
||||
foreach($this->config->translate->defaultLang as $defaultLang) $finishedLangs[$defaultLang] = $this->config->langs[$defaultLang];
|
||||
|
||||
$addLangs = json_decode($this->config->global->langs, true);
|
||||
foreach($this->config->langs as $langKey => $langName)
|
||||
{
|
||||
if(isset($finishedLangs[$langKey])) continue;
|
||||
if(!isset($addLangs[$langKey])) $finishedLangs[$langKey] = $langName;
|
||||
}
|
||||
|
||||
foreach($statistics as $translateLang => $data)
|
||||
{
|
||||
if($data->progress == 1)
|
||||
@@ -65,6 +74,7 @@ class translate extends control
|
||||
$this->view->finishedLangs = $finishedLangs;
|
||||
$this->view->translatingLangs = $translatingLangs;
|
||||
$this->view->itemCount = $itemCount;
|
||||
$this->view->active = $this->active;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
@@ -144,6 +154,7 @@ class translate extends control
|
||||
{
|
||||
if(in_array($module, $modules)) break;
|
||||
}
|
||||
|
||||
if(empty($referLang))
|
||||
{
|
||||
$langs = json_decode($this->config->global->langs, true);
|
||||
@@ -156,7 +167,7 @@ class translate extends control
|
||||
$referLang = $language == 'zh-cn' ? 'en' : 'zh-cn';
|
||||
}
|
||||
}
|
||||
$this->view->cmd = $this->translate->checkDirPriv($module);
|
||||
$this->view->cmd = $this->translate->checkDirPriv($module, $language);
|
||||
|
||||
if($_POST)
|
||||
{
|
||||
@@ -164,7 +175,7 @@ class translate extends control
|
||||
if($statusFile)
|
||||
{
|
||||
$this->app->loadLang('editor');
|
||||
$this->send(array('result' => 'fail', 'message' => str_replace('\n', '<br />', sprintf($this->lang->editor->noticeOkFile, $statusFile))));
|
||||
$this->send(array('result' => 'fail', 'callback' => 'bootAlert("' . str_replace('\n', '<br />', sprintf($this->lang->editor->noticeOkFile, $statusFile) . '")')));
|
||||
}
|
||||
|
||||
$this->translate->addTranslation($language, $module, $referLang);
|
||||
@@ -180,9 +191,12 @@ class translate extends control
|
||||
$this->view->position[] = html::a($this->createLink('translate', 'index'), $this->lang->translate->common);
|
||||
$this->view->position[] = $this->lang->translate->module;
|
||||
|
||||
$translations = $this->translate->getTranslations($language, $module);
|
||||
if(empty($translations)) $translations = $this->translate->getModuleLangs($module, $language);
|
||||
|
||||
$this->view->referItems = $referItems;
|
||||
$this->view->translations = $this->translate->getTranslations($language, $module);
|
||||
$this->view->moduleGroup = $moduleGroup;
|
||||
$this->view->translations = $translations;
|
||||
$this->view->currentModule = $module;
|
||||
$this->view->currentGroup = $group;
|
||||
$this->view->language = $language;
|
||||
@@ -323,6 +337,17 @@ class translate extends control
|
||||
if(file_exists($modulePath . "/lang/{$language}.php")) copy($modulePath . "/lang/{$language}.php", $downloadPath . "module/{$moduleName}/lang/{$language}.php");
|
||||
}
|
||||
|
||||
mkdir($downloadPath . 'config/ext/', 0777, true);
|
||||
$langConfig = "<?php\n";
|
||||
$langConfig .= "\$config->langs['$language'] = '" . addslashes($this->config->langs[$language]) . "';\n";
|
||||
$langConfig .= "\$config->productCommonList['$language'][0] = '" . $this->config->productCommonList['en'][0] . "';\n";
|
||||
$langConfig .= "\$config->productCommonList['$language'][1] = '" . $this->config->productCommonList['en'][1] . "';\n";
|
||||
$langConfig .= "\$config->projectCommonList['$language'][0] = '" . $this->config->projectCommonList['en'][0] . "';\n";
|
||||
$langConfig .= "\$config->projectCommonList['$language'][1] = '" . $this->config->projectCommonList['en'][1] . "';\n";
|
||||
$langConfig .= "\$config->charsets['$language']['utf-8'] = 'UTF-8';\n";
|
||||
$langConfig .= "\$config->charsets['$language']['GBK'] = 'GBK';\n";
|
||||
file_put_contents($downloadPath . "config/ext/{$language}.php", $langConfig);
|
||||
|
||||
$this->app->loadClass('pclzip', true);
|
||||
$zip = new pclzip($downloadFile);
|
||||
$zip->create($downloadPath, PCLZIP_OPT_REMOVE_PATH, dirname($downloadPath));
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#mainMenu{font-size:14px;padding:5px 0px; line-height: 25px;}
|
||||
.row{margin-bottom:10px;}
|
||||
.panel{margin-bottom:0px; border:0px;}
|
||||
.panel .panel-heading{border-bottom:1px solid #ddd;}
|
||||
.panel .panel-body{padding-bottom:5px;}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
function adjustKeyWidth()
|
||||
{
|
||||
var maxWidth = 0;
|
||||
var maxWidth = 30;
|
||||
$('.table-data tbody tr').each(function()
|
||||
{
|
||||
keyWidth = $(this).find('td').eq(1).find('nobr').width();
|
||||
|
||||
@@ -28,7 +28,7 @@ $lang->translate->status = '状态';
|
||||
$lang->translate->refreshPage = '刷新';
|
||||
$lang->translate->reason = '拒绝原因';
|
||||
|
||||
$lang->translate->reviewTurnon = '评审流程';
|
||||
$lang->translate->reviewTurnon = '审校流程';
|
||||
$lang->translate->reviewTurnonList['1'] = '开启';
|
||||
$lang->translate->reviewTurnonList['0'] = '关闭';
|
||||
|
||||
@@ -54,7 +54,7 @@ $lang->translate->allItems = '所有的语言条目数:%s条';
|
||||
|
||||
$lang->translate->statusList['waiting'] = '未翻译';
|
||||
$lang->translate->statusList['translated'] = '已翻译';
|
||||
$lang->translate->statusList['reviewed'] = '已评审';
|
||||
$lang->translate->statusList['reviewed'] = '已审校';
|
||||
$lang->translate->statusList['rejected'] = '已拒绝';
|
||||
$lang->translate->statusList['changed'] = '已改变';
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ $lang->translate->status = '狀態';
|
||||
$lang->translate->refreshPage = '刷新';
|
||||
$lang->translate->reason = '拒絶原因';
|
||||
|
||||
$lang->translate->reviewTurnon = '評審流程';
|
||||
$lang->translate->reviewTurnon = '審校流程';
|
||||
$lang->translate->reviewTurnonList['1'] = '開啟';
|
||||
$lang->translate->reviewTurnonList['0'] = '關閉';
|
||||
|
||||
@@ -54,7 +54,7 @@ $lang->translate->allItems = '所有的語言條目數:%s條';
|
||||
|
||||
$lang->translate->statusList['waiting'] = '未翻譯';
|
||||
$lang->translate->statusList['translated'] = '已翻譯';
|
||||
$lang->translate->statusList['reviewed'] = '已評審';
|
||||
$lang->translate->statusList['reviewed'] = '已審校';
|
||||
$lang->translate->statusList['rejected'] = '已拒絶';
|
||||
$lang->translate->statusList['changed'] = '已改變';
|
||||
|
||||
|
||||
@@ -210,7 +210,7 @@ class translateModel extends model
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function checkDirPriv($moduleName = '')
|
||||
public function checkDirPriv($moduleName = '', $language = '')
|
||||
{
|
||||
$cmd = '';
|
||||
$moduleRoot = $this->app->getModuleRoot();
|
||||
@@ -219,6 +219,7 @@ class translateModel extends model
|
||||
{
|
||||
if(is_dir($modulePath . '/lang') and !is_writable($modulePath . '/lang')) $cmd .= "chmod 777 {$modulePath}/lang <br />";
|
||||
if(is_dir($modulePath . '/ext/lang') and !is_writable($modulePath . '/ext/lang')) $cmd .= "chmod -R 777 {$modulePath}/ext/lang <br />";
|
||||
if($language and file_exists($modulePath . "/lang/{$language}.php") and !is_writable($modulePath . "/lang/{$language}.php")) $cmd .= "chmod 777 {$modulePath}/lang/{$language}.php <br />";
|
||||
}
|
||||
return $cmd;
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
<?php if($config->translate->needReview):?>
|
||||
<th class='w-90px'><?php echo $lang->translate->reviewedProgress;?></th>
|
||||
<?php endif;?>
|
||||
<th class='<?php echo $app->getClientLang() == 'en' ? 'w-150px' : 'w-110px';?>'><?php echo $lang->actions;?></th>
|
||||
<th class='<?php echo common::checkEnLang() ? 'w-150px' : 'w-110px';?>'><?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class='text-center'>
|
||||
@@ -75,8 +75,8 @@
|
||||
<?php endif;?>
|
||||
<td>
|
||||
<?php
|
||||
if(common::hasPriv('translate', 'module')) echo html::a($this->createLink('translate', 'module', "language=$language&module=$module"), $lang->translate->common, '', "class='btn btn-sm btn-success'");
|
||||
if(common::hasPriv('translate', 'review') and $config->translate->needReview) echo html::a($this->createLink('translate', 'review', "language=$language&module=$module"), $lang->translate->review, '', "class='btn btn-sm btn-info'");
|
||||
if(common::hasPriv('translate', 'module')) echo html::a($this->createLink('translate', 'module', "language=$language&module=$module"), $lang->translate->common, '', "class='btn btn-sm btn-primary'");
|
||||
if(common::hasPriv('translate', 'review') and $config->translate->needReview) echo html::a($this->createLink('translate', 'review', "language=$language&module=$module"), $lang->translate->review, '', "class='btn btn-sm btn-primary'");
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php $disabled = $active ? '' : "disabled";?>
|
||||
<div class='center-block mw-800px'>
|
||||
<div id="mainMenu" class="clearfix">
|
||||
<?php printf($lang->translate->allItems, $itemCount);?>
|
||||
<div class='pull-right'>
|
||||
<?php echo html::a(inlink('setting'), "<i class='icon icon-cog'></i>", '', "class='iframe btn btn-sm btn-link'");?>
|
||||
</div>
|
||||
<?php printf($lang->translate->allItems, $itemCount);?>
|
||||
<div class='pull-right'>
|
||||
<?php echo html::a(inlink('setting'), "<i class='icon icon-cog'></i>", '', "class='iframe btn btn-sm btn-link $disabled'");?>
|
||||
</div>
|
||||
</div>
|
||||
<div class='row'>
|
||||
<div class='col-sm-6' id='finishedLangs'>
|
||||
@@ -24,8 +25,8 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
echo html::a(inlink('chooseModule', "language=$langKey"), $lang->translate->common, '', "class='btn btn-sm'");
|
||||
echo html::a(inlink('export', "language=$langKey"), $lang->export, '', "class='btn btn-sm iframe'");
|
||||
echo html::a(inlink('chooseModule', "language=$langKey"), $lang->translate->common, '', "class='btn btn-sm $disabled'");
|
||||
echo html::a(inlink('export', "language=$langKey"), $lang->export, '', "class='btn btn-sm iframe $disabled'");
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
@@ -47,19 +48,22 @@
|
||||
<tr>
|
||||
<th class='text-left'><?php echo $data->name;?></th>
|
||||
<td class='text-progress text-center'><?php printf($lang->translate->progress, ($data->progress * 100) . '%');?></td>
|
||||
<td class='actions <?php echo $app->getClientLang() == 'en' ? 'w-130px' : 'w-95px';?>'>
|
||||
<td class='actions <?php echo common::checkEnLang() ? 'w-130px' : 'w-95px';?>'>
|
||||
<?php
|
||||
echo html::a(inlink('chooseModule', "language=$langKey"), $lang->translate->common, '', "class='btn btn-sm'");
|
||||
echo html::a(inlink('export', "language=$langKey"), $lang->export, '', "class='btn btn-sm iframe'");
|
||||
echo html::a(inlink('chooseModule', "language=$langKey"), $lang->translate->common, '', "class='btn btn-sm $disabled'");
|
||||
echo html::a(inlink('export', "language=$langKey"), $lang->export, '', "class='btn btn-sm iframe $disabled'");
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
</table>
|
||||
</div>
|
||||
<p class='text-center'><?php echo html::a(inlink('addLang'), $lang->translate->addLang, '', "class='btn btn-primary'");?></p>
|
||||
<p class='text-center'><?php echo html::a(inlink('addLang'), $lang->translate->addLang, '', "class='btn btn-primary $disabled'");?></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php if(!$active):?>
|
||||
<div class='alert alert-warning'><?php echo $this->lang->editor->onlyLocalVisit;?></div>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user