Merge branch '15.0.beta3' of https://gitlab.zcorp.cc/easycorp/zentaopms into 15.0.beta3
This commit is contained in:
@@ -1,226 +1,15 @@
|
||||
VERSION = $(shell head -n 1 VERSION)
|
||||
XUANPATH = $(shell head -n 1 XUANPATH)
|
||||
XUANVERSION = $(shell head -n 1 XUANVERSION)
|
||||
XVERSION = $(shell head -n 1 XVERSION)
|
||||
|
||||
all: pms
|
||||
all: flow
|
||||
clean:
|
||||
rm -fr zentaopms
|
||||
rm -fr zentaostory
|
||||
rm -fr zentaotask
|
||||
rm -fr zentaotest
|
||||
rm -fr *.tar.gz
|
||||
rm -fr max
|
||||
rm -fr *.zip
|
||||
rm -fr api*
|
||||
rm -fr build/linux/lampp
|
||||
rm -fr lampp
|
||||
common:
|
||||
mkdir zentaopms
|
||||
cp -fr bin zentaopms/
|
||||
cp -fr config zentaopms/ && rm -fr zentaopms/config/my.php
|
||||
cp -fr db zentaopms/
|
||||
cp -fr doc zentaopms/ && rm -fr zentaopms/doc/phpdoc && rm -fr zentaopms/doc/doxygen
|
||||
cp -fr framework zentaopms/
|
||||
cp -fr lib zentaopms/
|
||||
cp -fr module zentaopms/
|
||||
cp -fr sdk zentaopms/
|
||||
cp -fr www zentaopms && rm -fr zentaopms/www/data/ && mkdir -p zentaopms/www/data/upload
|
||||
mkdir zentaopms/tmp
|
||||
mkdir zentaopms/tmp/cache/
|
||||
mkdir zentaopms/tmp/extension/
|
||||
mkdir zentaopms/tmp/log/
|
||||
mkdir zentaopms/tmp/model/
|
||||
mv zentaopms/www/install.php.tmp zentaopms/www/install.php
|
||||
mv zentaopms/www/upgrade.php.tmp zentaopms/www/upgrade.php
|
||||
cp VERSION zentaopms/
|
||||
# create index.html of each folder.
|
||||
for path in `find zentaopms/ -type d`; do touch "$$path/index.html"; done
|
||||
rm zentaopms/www/index.html
|
||||
# combine js and css files.
|
||||
cp -fr tools zentaopms/tools && cd zentaopms/tools/ && php ./minifyfront.php
|
||||
rm -fr zentaopms/tools
|
||||
# create the restart file for svn.
|
||||
# touch zentaopms/module/svn/restart
|
||||
# delee the unused files.
|
||||
find zentaopms -name .gitkeep |xargs rm -fr
|
||||
find zentaopms -name tests |xargs rm -fr
|
||||
# notify.zip.
|
||||
mkdir zentaopms/www/data/notify/
|
||||
zentaoxx:
|
||||
#xuanxuan
|
||||
mkdir -p zentaoxx/config/ext
|
||||
mkdir -p zentaoxx/lib
|
||||
mkdir -p zentaoxx/module
|
||||
mkdir -p zentaoxx/framework
|
||||
mkdir -p zentaoxx/db
|
||||
mkdir -p zentaoxx/www
|
||||
mkdir -p zentaoxx/module/common/ext/model/
|
||||
cd $(XUANPATH); git archive --format=zip --prefix=xuan/ $(XUANVERSION) > xuan.zip
|
||||
mv $(XUANPATH)/xuan.zip .
|
||||
unzip xuan.zip
|
||||
cp xuan/xxb/config/ext/xuanxuan.php zentaoxx/config/ext/
|
||||
cp -r xuan/xxb/lib/phpaes zentaoxx/lib/
|
||||
cp -r xuan/xxb/framework/xuanxuan.class.php zentaoxx/framework/
|
||||
cp -r xuan/xxb/db/*.sql zentaoxx/db/
|
||||
cp -r xuan/xxb/module/im zentaoxx/module/
|
||||
cp -r xuan/xxb/module/client zentaoxx/module/
|
||||
cp -r xuan/xxb/module/license zentaoxx/module/
|
||||
cp -r xuan/xxb/module/owt zentaoxx/module/
|
||||
mkdir -p zentaoxx/module/common/view
|
||||
cp -r xuan/xxb/module/common/view/header.modal.html.php zentaoxx/module/common/view
|
||||
cp -r xuan/xxb/module/common/view/marked.html.php zentaoxx/module/common/view
|
||||
cp -r xuan/xxb/module/common/view/footer.modal.html.php zentaoxx/module/common/view
|
||||
cp -r xuan/xxb/module/common/view/version.html.php zentaoxx/module/common/view
|
||||
cp -r xuan/xxb/module/license zentaoxx/module/
|
||||
mkdir -p zentaoxx/www/js/
|
||||
cp -r xuan/xxb/www/js/markedjs zentaoxx/www/js/
|
||||
cp -r xuan/xxb/www/js/version.js 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 xuan/xxb/config/ext/xxb.php zentaoxx/config/ext/
|
||||
cp -r xuan/xxb/config/ext/maps.php zentaoxx/config/ext/
|
||||
cp -r xuanxuan/config/* zentaoxx/config/
|
||||
cp -r xuanxuan/module/* zentaoxx/module/
|
||||
cp -r xuanxuan/www/* zentaoxx/www/
|
||||
mv zentaoxx/db/ zentaoxx/db_bak
|
||||
mkdir zentaoxx/db/
|
||||
cp zentaoxx/db_bak/upgradexuanxuan*.sql zentaoxx/db_bak/xuanxuan.sql zentaoxx/db/
|
||||
rm -rf zentaoxx/db_bak/
|
||||
sed -i 's/XXBVERSION/$(XVERSION)/g' zentaoxx/config/ext/xuanxuan.php
|
||||
sed -i "/\$$config->xuanxuan->backend /c\\\$$config->xuanxuan->backend = 'zentao';" zentaoxx/config/ext/xuanxuan.php
|
||||
sed -i 's/site,//' zentaoxx/module/im/model/user.php
|
||||
sed -i 's/admin, g/g/' zentaoxx/module/im/model/user.php
|
||||
sed -i '/password = md5/d' zentaoxx/module/im/model/user.php
|
||||
sed -i 's/md5(\$$user->password.*$$/\$$user->password;/g' zentaoxx/module/im/model/user.php
|
||||
sed -i '/getSignedTime/d' zentaoxx/module/im/control.php
|
||||
sed -i "/loadModel('push')/d" zentaoxx/module/im/control.php
|
||||
sed -i "/this->push/d" zentaoxx/module/im/control.php
|
||||
sed -i "s/'yahoo', //g" zentaoxx/module/im/config.php
|
||||
sed -i "s/'gtalk', //g" zentaoxx/module/im/config.php
|
||||
sed -i "s/'wangwang', //g" zentaoxx/module/im/config.php
|
||||
sed -i "s/'site', //g" zentaoxx/module/im/config.php
|
||||
sed -i "s/'reload'/inlink('browse')/g" zentaoxx/module/client/control.php
|
||||
sed -i 's/tree/dept/' zentaoxx/module/im/model.php
|
||||
sed -i 's/tree/dept/' zentaoxx/module/im/control.php
|
||||
sed -i 's/im_/zt_im_/g' zentaoxx/db/*.sql
|
||||
sed -i 's/xxb_user/zt_user/g' zentaoxx/db/*.sql
|
||||
sed -i 's/xxb_file/zt_file/g' zentaoxx/db/*.sql
|
||||
sed -i '/xxb_entry/d' zentaoxx/db/*.sql
|
||||
sed -i '/deviceToken/d' zentaoxx/db/*.sql
|
||||
sed -i '/deviceType/d' zentaoxx/db/*.sql
|
||||
sed -i "/fetch('push', 'pushMessage');/d" zentaoxx/module/im/control.php
|
||||
sed -i "s/marked\.html\.php';?>/marked\.html\.php';?>\n<div id='mainMenu' class='clearfix'><div class='btn-toolbar pull-left'><?php common::printAdminSubMenu('xuanxuan');?><\/div><\/div>/g" zentaoxx/module/client/view/checkupgrade.html.php
|
||||
sed -i '/var serverVersions/d' zentaoxx/module/client/js/checkupgrade.js
|
||||
sed -i '/var currentVersion/d' zentaoxx/module/client/js/checkupgrade.js
|
||||
sed -i '/setRequiredFields(/d' zentaoxx/module/common/view/header.modal.html.php
|
||||
sed -i 's/header.html.php/header.lite.html.php/g' zentaoxx/module/common/view/header.modal.html.php
|
||||
sed -i 's/footer.html.php/footer.lite.html.php/g' zentaoxx/module/common/view/footer.modal.html.php
|
||||
sed -i 's/v\.//g' zentaoxx/module/im/js/debug.js
|
||||
sed -i 's/helper::jsonEncode(/json_encode(/g' zentaoxx/framework/xuanxuan.class.php
|
||||
sed -i "s/lang->goback,/lang->goback, '',/g" zentaoxx/module/im/view/debug.html.php
|
||||
sed -i 's/v\.//g' zentaoxx/module/client/js/checkupgrade.js
|
||||
sed -i 's/xxb_/zt_/g' zentaoxx/db/*.sql
|
||||
mkdir zentaoxx/tools; cp tools/cn2tw.php zentaoxx/tools; cd zentaoxx/tools; php cn2tw.php
|
||||
cp tools/en2de.php zentaoxx/tools; cd zentaoxx/tools; php en2de.php ../
|
||||
rm -rf zentaoxx/tools
|
||||
zip -rqm -9 zentaoxx.$(VERSION).zip zentaoxx/*
|
||||
rm -rf xuan.zip xuan zentaoxx
|
||||
package:
|
||||
# change mode.
|
||||
chmod -R 777 zentaopms/tmp/
|
||||
chmod -R 777 zentaopms/www/data
|
||||
chmod -R 777 zentaopms/config
|
||||
chmod 777 zentaopms/module
|
||||
chmod 777 zentaopms/www
|
||||
chmod a+rx zentaopms/bin/*
|
||||
if [ ! -d "zentaopms/config/ext" ]; then mkdir zentaopms/config/ext; fi
|
||||
for module in `ls zentaopms/module/`; do if [ ! -d "zentaopms/module/$$module/ext" ]; then mkdir zentaopms/module/$$module/ext; fi done
|
||||
find zentaopms/ -name ext |xargs chmod -R 777
|
||||
mkdir zentaopms/tools; cp tools/cn2tw.php zentaopms/tools; cd zentaopms/tools; php cn2tw.php
|
||||
#rm -r zentaopms/module/misc/ext
|
||||
rm -rf zentaopms/tools
|
||||
pms:
|
||||
make common
|
||||
make zentaoxx
|
||||
unzip zentaoxx.*.zip
|
||||
cp zentaoxx/* zentaopms/ -r
|
||||
cat zentaoxx/db/xuanxuan.sql >> zentaopms/db/zentao.sql
|
||||
make package
|
||||
zip -rq -9 ZenTaoPMS.$(VERSION).zip zentaopms
|
||||
rm -fr zentaopms zentaoxx zentaoxx.*.zip
|
||||
deb:
|
||||
mkdir buildroot
|
||||
cp -r build/debian/DEBIAN buildroot
|
||||
sed -i '/^Version/cVersion: ${VERSION}' buildroot/DEBIAN/control
|
||||
mkdir buildroot/opt
|
||||
mkdir buildroot/etc/apache2/sites-enabled/ -p
|
||||
cp build/debian/zentaopms.conf buildroot/etc/apache2/sites-enabled/
|
||||
cp ZenTaoPMS.${VERSION}.zip buildroot/opt
|
||||
cd buildroot/opt; unzip ZenTaoPMS.${VERSION}.zip; mv zentaopms zentao; rm ZenTaoPMS.${VERSION}.zip
|
||||
sed -i 's/index.php/\/zentao\/index.php/' buildroot/opt/zentao/www/.htaccess
|
||||
sudo dpkg -b buildroot/ ZenTaoPMS_${VERSION}_1_all.deb
|
||||
rm -rf buildroot
|
||||
rpm:
|
||||
mkdir ~/rpmbuild/SPECS -p
|
||||
cp build/rpm/zentaopms.spec ~/rpmbuild/SPECS
|
||||
sed -i '/^Version/cVersion:${VERSION}' ~/rpmbuild/SPECS/zentaopms.spec
|
||||
mkdir ~/rpmbuild/SOURCES
|
||||
cp ZenTaoPMS.${VERSION}.zip ~/rpmbuild/SOURCES
|
||||
mkdir ~/rpmbuild/SOURCES/etc/httpd/conf.d/ -p
|
||||
cp build/debian/zentaopms.conf ~/rpmbuild/SOURCES/etc/httpd/conf.d/
|
||||
mkdir ~/rpmbuild/SOURCES/opt/ -p
|
||||
cd ~/rpmbuild/SOURCES; unzip ZenTaoPMS.${VERSION}.zip; mv zentaopms opt/zentao;
|
||||
sed -i 's/index.php/\/zentao\/index.php/' ~/rpmbuild/SOURCES/opt/zentao/www/.htaccess
|
||||
cd ~/rpmbuild/SOURCES; tar -czvf zentaopms-${VERSION}.tar.gz etc opt; rm -rf ZenTaoPMS.${VERSION}.zip etc opt;
|
||||
rpmbuild -ba ~/rpmbuild/SPECS/zentaopms.spec
|
||||
cp ~/rpmbuild/RPMS/noarch/zentaopms-${VERSION}-1.noarch.rpm ./
|
||||
rm -rf ~/rpmbuild
|
||||
en:
|
||||
make common
|
||||
cd zentaopms/; grep -rl 'zentao.net'|xargs sed -i 's/zentao.net/zentao.pm/g';
|
||||
cd zentaopms/; grep -rl 'http://www.zentao.pm'|xargs sed -i 's/http:\/\/www.zentao.pm/https:\/\/www.zentao.pm/g';
|
||||
cd zentaopms/config/; echo >> config.php; echo '$$config->isINT = true;' >> config.php
|
||||
make package
|
||||
mv zentaopms zentaoalm
|
||||
zip -r -9 ZenTaoALM.$(VERSION).int.zip zentaoalm
|
||||
rm -fr zentaoalm
|
||||
echo $(VERSION).int > VERSION
|
||||
make endeb
|
||||
make enrpm
|
||||
echo $(VERSION) > VERSION
|
||||
endeb:
|
||||
mkdir buildroot
|
||||
cp -r build/debian/DEBIAN buildroot
|
||||
sed -i '/^Version/cVersion: ${VERSION}' buildroot/DEBIAN/control
|
||||
mkdir buildroot/opt
|
||||
mkdir buildroot/etc/apache2/sites-enabled/ -p
|
||||
cp build/debian/zentaopms.conf buildroot/etc/apache2/sites-enabled/
|
||||
cp ZenTaoALM.${VERSION}.zip buildroot/opt
|
||||
cd buildroot/opt; unzip ZenTaoALM.${VERSION}.zip; mv zentaoalm zentao; rm ZenTaoALM.${VERSION}.zip
|
||||
sed -i 's/index.php/\/zentao\/index.php/' buildroot/opt/zentao/www/.htaccess
|
||||
sudo dpkg -b buildroot/ ZenTaoALM_${VERSION}_1_all.deb
|
||||
rm -rf buildroot
|
||||
enrpm:
|
||||
mkdir ~/rpmbuild/SPECS -p
|
||||
cp build/rpm/zentaopms.spec ~/rpmbuild/SPECS
|
||||
sed -i '/^Version/cVersion:${VERSION}' ~/rpmbuild/SPECS/zentaopms.spec
|
||||
sed -i '/^Name:/cName:zentaoalm' ~/rpmbuild/SPECS/zentaopms.spec
|
||||
mkdir ~/rpmbuild/SOURCES
|
||||
cp ZenTaoALM.${VERSION}.zip ~/rpmbuild/SOURCES
|
||||
mkdir ~/rpmbuild/SOURCES/etc/httpd/conf.d/ -p
|
||||
cp build/debian/zentaopms.conf ~/rpmbuild/SOURCES/etc/httpd/conf.d/zentaoalm.conf
|
||||
mkdir ~/rpmbuild/SOURCES/opt/ -p
|
||||
cd ~/rpmbuild/SOURCES; unzip ZenTaoALM.${VERSION}.zip; mv zentaoalm opt/zentao;
|
||||
sed -i 's/index.php/\/zentao\/index.php/' ~/rpmbuild/SOURCES/opt/zentao/www/.htaccess
|
||||
cd ~/rpmbuild/SOURCES; tar -czvf zentaoalm-${VERSION}.tar.gz etc opt; rm -rf ZenTaoALM.${VERSION}.zip etc opt;
|
||||
rpmbuild -ba ~/rpmbuild/SPECS/zentaopms.spec
|
||||
cp ~/rpmbuild/RPMS/noarch/zentaoalm-${VERSION}-1.noarch.rpm ./
|
||||
rm -rf ~/rpmbuild
|
||||
patchphpdoc:
|
||||
sudo cp misc/doc/phpdoc/*.tpl /usr/share/php/data/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/phphtmllib/templates/
|
||||
phpdoc:
|
||||
phpdoc -d bin,framework,config,lib,module,www -t api -o HTML:frames:phphtmllib -ti ZenTaoPMSAPI参考手册 -s on -pp on -i *test*
|
||||
phpdoc -d bin,framework,config,lib,module,www -t api.chm -o chm:default:default -ti ZenTaoPMSAPI参考手册 -s on -pp on -i *test*
|
||||
doxygen:
|
||||
doxygen doc/doxygen/doxygen.conf
|
||||
flow:
|
||||
ifneq ($(wildcard ranzhi),)
|
||||
rm ranzhi -r
|
||||
endif
|
||||
mkdir -p max/www
|
||||
# move max extension to max.
|
||||
cp -fr config max
|
||||
cp -fr db max
|
||||
cp -fr module max
|
||||
cp -fr www/* max/www
|
||||
cp www/favicon.ico max/www
|
||||
|
||||
@@ -32,6 +32,9 @@ $lang->action->editComment = '修改备注';
|
||||
$lang->action->create = '添加备注';
|
||||
$lang->action->comment = '备注';
|
||||
|
||||
$lang->action->undeleteAction = '还原数据';
|
||||
$lang->action->hideOneAction = '隐藏数据';
|
||||
|
||||
$lang->action->trashTips = '提示:为了保证系统的完整性,禅道系统的删除都是标记删除。';
|
||||
$lang->action->textDiff = '文本格式';
|
||||
$lang->action->original = '原始格式';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
$lang->backup->common = '备份';
|
||||
$lang->backup->common = '系统备份';
|
||||
$lang->backup->index = '备份首页';
|
||||
$lang->backup->history = '备份历史';
|
||||
$lang->backup->delete = '删除备份';
|
||||
@@ -8,6 +8,9 @@ $lang->backup->restore = '还原';
|
||||
$lang->backup->change = '保留时间';
|
||||
$lang->backup->changeAB = '修改';
|
||||
$lang->backup->rmPHPHeader = '去除安全设置';
|
||||
$lang->backup->setting = '设置';
|
||||
|
||||
$lang->backup->settingAction = '备份设置';
|
||||
|
||||
$lang->backup->time = '备份时间';
|
||||
$lang->backup->files = '备份文件';
|
||||
@@ -19,7 +22,6 @@ $lang->backup->status = '状态';
|
||||
$lang->backup->statusList['success'] = '成功';
|
||||
$lang->backup->statusList['fail'] = '失败';
|
||||
|
||||
$lang->backup->setting = '设置';
|
||||
$lang->backup->settingDir = '备份目录';
|
||||
$lang->backup->settingList['nofile'] = '不备份附件和代码';
|
||||
$lang->backup->settingList['nosafe'] = '不需要防下载PHP文件头';
|
||||
|
||||
@@ -1150,9 +1150,10 @@ class bugModel extends model
|
||||
$openedBuilds = $this->post->openedBuild;
|
||||
if($openedBuilds)
|
||||
{
|
||||
$this->loadModel('build');
|
||||
foreach($openedBuilds as $openedBuild)
|
||||
{
|
||||
$build = $this->getByID($openedBuild);
|
||||
$build = $this->build->getByID($openedBuild);
|
||||
$build->bugs = trim(str_replace(",$bugID,", ',', ",$build->bugs,"), ',');
|
||||
$this->dao->update(TABLE_BUILD)->set('bugs')->eq($build->bugs)->where('id')->eq((int)$openedBuild)->exec();
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@ $lang->caselib->all = '所有用例库';
|
||||
$lang->caselib->index = "用例库首页";
|
||||
$lang->caselib->create = "创建用例库";
|
||||
$lang->caselib->edit = '编辑用例库';
|
||||
$lang->caselib->browse = '浏览库用例';
|
||||
$lang->caselib->browse = '浏览用例库';
|
||||
$lang->caselib->view = '查看库概况';
|
||||
$lang->caselib->createCase = '创建用例';
|
||||
$lang->caselib->delete = "删除";
|
||||
@@ -24,9 +24,13 @@ $lang->caselib->deleted = '已删除';
|
||||
$lang->caselib->exportTemplet = '导出模板';
|
||||
$lang->caselib->batchCreateCase = '批量创建用例';
|
||||
$lang->caselib->import = '导入';
|
||||
$lang->caselib->importAction = '导入用例';
|
||||
$lang->caselib->showImport = '显示导入数据';
|
||||
|
||||
$lang->caselib->browseAction = '用例库列表';
|
||||
$lang->caselib->deleteAction = "删除用例库";
|
||||
$lang->caselib->importAction = '导入用例';
|
||||
$lang->caselib->linkVersion = "版本";
|
||||
|
||||
$lang->caselib->id = '编号';
|
||||
$lang->caselib->name = '名称';
|
||||
$lang->caselib->desc = '描述';
|
||||
|
||||
@@ -457,22 +457,15 @@ $lang->navGroup->productplan = 'product';
|
||||
$lang->navGroup->release = 'product';
|
||||
$lang->navGroup->branch = 'product';
|
||||
$lang->navGroup->story = 'product';
|
||||
$lang->navGroup->tree = 'product';
|
||||
|
||||
$lang->navGroup->project = 'project';
|
||||
$lang->navGroup->testcase = 'project';
|
||||
$lang->navGroup->testtask = 'project';
|
||||
$lang->navGroup->testreport = 'project';
|
||||
$lang->navGroup->testsuite = 'project';
|
||||
$lang->navGroup->caselib = 'project';
|
||||
$lang->navGroup->feedback = 'project';
|
||||
$lang->navGroup->deploy = 'project';
|
||||
$lang->navGroup->stakeholder = 'project';
|
||||
|
||||
$lang->navGroup->projectbuild = 'project';
|
||||
$lang->navGroup->projectstory = 'project';
|
||||
$lang->navGroup->review = 'project';
|
||||
$lang->navGroup->reviewissue = 'project';
|
||||
$lang->navGroup->milestone = 'project';
|
||||
$lang->navGroup->pssp = 'project';
|
||||
$lang->navGroup->auditplan = 'project';
|
||||
$lang->navGroup->cm = 'project';
|
||||
@@ -480,6 +473,7 @@ $lang->navGroup->nc = 'project';
|
||||
$lang->navGroup->projectrelease = 'project';
|
||||
$lang->navGroup->build = 'project';
|
||||
$lang->navGroup->measrecord = 'project';
|
||||
$lang->navGroup->milestone = 'project';
|
||||
|
||||
$lang->navGroup->execution = 'execution';
|
||||
$lang->navGroup->task = 'execution';
|
||||
@@ -494,12 +488,20 @@ $lang->navGroup->bug = 'qa';
|
||||
$lang->navGroup->testcase = 'qa';
|
||||
$lang->navGroup->testtask = 'qa';
|
||||
$lang->navGroup->automation = 'qa';
|
||||
$lang->navGroup->testreport = 'qa';
|
||||
$lang->navGroup->testcase = 'qa';
|
||||
$lang->navGroup->testtask = 'qa';
|
||||
$lang->navGroup->testsuite = 'qa';
|
||||
$lang->navGroup->caselib = 'qa';
|
||||
|
||||
$lang->navGroup->devops = 'devops';
|
||||
$lang->navGroup->repo = 'devops';
|
||||
$lang->navGroup->job = 'devops';
|
||||
$lang->navGroup->jenkins = 'devops';
|
||||
$lang->navGroup->compile = 'devops';
|
||||
$lang->navGroup->ci = 'devops';
|
||||
$lang->navGroup->svn = 'devops';
|
||||
$lang->navGroup->git = 'devops';
|
||||
|
||||
$lang->navGroup->company = 'system';
|
||||
$lang->navGroup->sqlbuilder = 'system';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
$lang->cron->common = '计划任务';
|
||||
$lang->cron->common = '定时任务';
|
||||
$lang->cron->index = '首页';
|
||||
$lang->cron->list = '任务列表';
|
||||
$lang->cron->create = '添加';
|
||||
|
||||
@@ -82,6 +82,8 @@ $lang->doc->collect = '收藏';
|
||||
$lang->doc->cancelCollection = '取消收藏';
|
||||
$lang->doc->deleteFile = '删除附件';
|
||||
|
||||
$lang->doc->collectAction = '收藏文档';
|
||||
|
||||
$lang->doc->libName = '文档库名称';
|
||||
$lang->doc->libType = '文档库类型';
|
||||
$lang->doc->custom = '自定义文档库';
|
||||
|
||||
@@ -198,9 +198,9 @@ $lang->execution->deleteAB = "删除执行";
|
||||
$lang->execution->browse = "浏览执行";
|
||||
$lang->execution->list = "{$lang->executionCommon}列表";
|
||||
$lang->execution->edit = "编辑{$lang->executionCommon}";
|
||||
$lang->execution->editAB = "编辑执行";
|
||||
$lang->execution->editAction = "编辑执行";
|
||||
$lang->execution->batchEdit = "编辑";
|
||||
$lang->execution->batchEditAB = "批量编辑";
|
||||
$lang->execution->batchEditAction = "批量编辑";
|
||||
$lang->execution->manageMembers = '团队管理';
|
||||
$lang->execution->unlinkMember = '移除成员';
|
||||
$lang->execution->unlinkStory = "移除{$lang->SRCommon}";
|
||||
|
||||
@@ -29,6 +29,8 @@ $lang->extension->eraseAction = '清除插件';
|
||||
$lang->extension->upgrade = '升级插件';
|
||||
$lang->extension->agreeLicense = '我同意该授权';
|
||||
|
||||
$lang->extension->browseAction = '插件列表';
|
||||
|
||||
$lang->extension->structure = '目录结构';
|
||||
$lang->extension->structureAction = '目录结构';
|
||||
$lang->extension->installed = '已安装';
|
||||
@@ -95,7 +97,7 @@ $lang->extension->noticeOkFile = '<h5>为了安全起见,系统需
|
||||
<ol>
|
||||
<li>文件内容为空。</li>
|
||||
<li>如果之前文件存在,删除之后重新创建。</li>
|
||||
</ol>';
|
||||
</ol>';
|
||||
|
||||
$lang->extension->upgradeExt = '升级';
|
||||
$lang->extension->installExt = '安装';
|
||||
|
||||
@@ -146,6 +146,13 @@ class group extends control
|
||||
$this->view->projects = $this->dao->select('*')->from(TABLE_PROJECT)->where('deleted')->eq('0')->andWhere('type')->eq('project')->orderBy('order_desc')->fetchPairs('id', 'name');
|
||||
$this->view->products = $this->dao->select('*')->from(TABLE_PRODUCT)->where('deleted')->eq('0')->orderBy('order_desc')->fetchPairs('id', 'name');
|
||||
|
||||
$navGroup = array();
|
||||
foreach($this->lang->navGroup as $moduleName => $groupName)
|
||||
{
|
||||
if($groupName == $moduleName) continue;
|
||||
$navGroup[$groupName][$moduleName] = $moduleName;
|
||||
}
|
||||
$this->view->navGroup = $navGroup;
|
||||
|
||||
$this->display();
|
||||
}
|
||||
|
||||
+124
-105
@@ -21,9 +21,9 @@ $lang->moduleOrder[25] = 'product';
|
||||
$lang->moduleOrder[30] = 'story';
|
||||
$lang->moduleOrder[35] = 'productplan';
|
||||
$lang->moduleOrder[40] = 'release';
|
||||
$lang->moduleOrder[45] = 'projectstory';
|
||||
|
||||
$lang->moduleOrder[50] = 'project';
|
||||
$lang->moduleOrder[45] = 'project';
|
||||
$lang->moduleOrder[50] = 'projectstory';
|
||||
$lang->moduleOrder[55] = 'execution';
|
||||
$lang->moduleOrder[60] = 'task';
|
||||
$lang->moduleOrder[65] = 'build';
|
||||
@@ -73,26 +73,28 @@ $lang->index->methodOrder[0] = 'index';
|
||||
|
||||
/* My module. */
|
||||
$lang->resource->my = new stdclass();
|
||||
$lang->resource->my->index = 'index';
|
||||
$lang->resource->my->index = 'indexAction';
|
||||
$lang->resource->my->todo = 'todo';
|
||||
$lang->resource->my->calendar = 'calendar';
|
||||
$lang->resource->my->work = 'work';
|
||||
$lang->resource->my->contribute = 'contribute';
|
||||
$lang->resource->my->calendar = 'calendarAction';
|
||||
$lang->resource->my->work = 'workAction';
|
||||
$lang->resource->my->contribute = 'contributeAction';
|
||||
$lang->resource->my->project = 'project';
|
||||
$lang->resource->my->profile = 'profile';
|
||||
$lang->resource->my->profile = 'profileAction';
|
||||
$lang->resource->my->uploadAvatar = 'uploadAvatar';
|
||||
$lang->resource->my->preference = 'preference';
|
||||
$lang->resource->my->dynamic = 'dynamic';
|
||||
$lang->resource->my->dynamic = 'dynamicAction';
|
||||
$lang->resource->my->editProfile = 'editProfile';
|
||||
$lang->resource->my->changePassword = 'changePassword';
|
||||
$lang->resource->my->manageContacts = 'manageContacts';
|
||||
$lang->resource->my->deleteContacts = 'deleteContacts';
|
||||
$lang->resource->my->score = 'score';
|
||||
$lang->resource->my->unbind = 'unbind';
|
||||
$lang->resource->my->team = 'team';
|
||||
$lang->resource->my->story = 'story';
|
||||
$lang->resource->my->task = 'task';
|
||||
$lang->resource->my->bug = 'bug';
|
||||
$lang->resource->my->doc = 'doc';
|
||||
$lang->resource->my->issue = 'issue';
|
||||
$lang->resource->my->risk = 'risk';
|
||||
$lang->resource->my->testtask = 'testtask';
|
||||
$lang->resource->my->testcase = 'testcase';
|
||||
$lang->resource->my->execution = 'execution';
|
||||
@@ -119,6 +121,9 @@ $lang->my->methodOrder[90] = 'bug';
|
||||
$lang->my->methodOrder[95] = 'testtask';
|
||||
$lang->my->methodOrder[100] = 'testcase';
|
||||
$lang->my->methodOrder[105] = 'execution';
|
||||
$lang->my->methodOrder[110] = 'doc';
|
||||
$lang->my->methodOrder[115] = 'issue';
|
||||
$lang->my->methodOrder[120] = 'risk';
|
||||
|
||||
/* Todo. */
|
||||
$lang->resource->todo = new stdclass();
|
||||
@@ -145,6 +150,7 @@ if($config->systemMode == 'new')
|
||||
/* Program. */
|
||||
$lang->resource->program = new stdclass();
|
||||
$lang->resource->program->browse = 'browse';
|
||||
$lang->resource->program->view = 'view';
|
||||
$lang->resource->program->product = 'product';
|
||||
$lang->resource->program->create = 'create';
|
||||
$lang->resource->program->edit = 'edit';
|
||||
@@ -158,16 +164,18 @@ if($config->systemMode == 'new')
|
||||
$lang->resource->program->createStakeholder = 'createStakeholder';
|
||||
$lang->resource->program->unlinkStakeholder = 'unlinkStakeholder';
|
||||
$lang->resource->program->batchUnlinkStakeholders = 'batchUnlinkStakeholders';
|
||||
$lang->resource->program->unbindWhitelist = 'unbindWhitelist';
|
||||
$lang->resource->program->export = 'export';
|
||||
|
||||
$lang->program->methodOrder[10] = 'browse';
|
||||
$lang->program->methodOrder[15] = 'product';
|
||||
$lang->program->methodOrder[20] = 'create';
|
||||
$lang->program->methodOrder[25] = 'edit';
|
||||
$lang->program->methodOrder[30] = 'start';
|
||||
$lang->program->methodOrder[35] = 'suspend';
|
||||
$lang->program->methodOrder[40] = 'close';
|
||||
$lang->program->methodOrder[45] = 'activate';
|
||||
$lang->program->methodOrder[30] = 'view';
|
||||
$lang->program->methodOrder[35] = 'start';
|
||||
$lang->program->methodOrder[40] = 'suspend';
|
||||
$lang->program->methodOrder[45] = 'close';
|
||||
$lang->program->methodOrder[50] = 'activate';
|
||||
$lang->program->methodOrder[55] = 'delete';
|
||||
$lang->program->methodOrder[60] = 'project';
|
||||
$lang->program->methodOrder[65] = 'stakeholder';
|
||||
@@ -175,46 +183,47 @@ if($config->systemMode == 'new')
|
||||
$lang->program->methodOrder[70] = 'unlinkStakeholder';
|
||||
$lang->program->methodOrder[75] = 'batchUnlinkStakeholders';
|
||||
$lang->program->methodOrder[80] = 'export';
|
||||
$lang->program->methodOrder[85] = 'unbindWhitelist';
|
||||
|
||||
/* Project. */
|
||||
$lang->resource->project = new stdclass();
|
||||
$lang->resource->project->index = 'index';
|
||||
$lang->resource->project->browse = 'browse';
|
||||
$lang->resource->project->programTitle = 'moduleOpen';
|
||||
$lang->resource->project->create = 'create';
|
||||
$lang->resource->project->edit = 'edit';
|
||||
$lang->resource->project->batchEdit = 'batchEdit';
|
||||
$lang->resource->project->group = 'group';
|
||||
$lang->resource->project->createGroup = 'createGroup';
|
||||
$lang->resource->project->manageView = 'manageView';
|
||||
$lang->resource->project->managePriv = 'managePriv';
|
||||
$lang->resource->project->manageMembers = 'manageMembers';
|
||||
$lang->resource->project->manageGroupMember = 'manageGroupMember';
|
||||
$lang->resource->project->copyGroup = 'copyGroup';
|
||||
$lang->resource->project->editGroup = 'editGroup';
|
||||
$lang->resource->project->start = 'start';
|
||||
$lang->resource->project->suspend = 'suspend';
|
||||
$lang->resource->project->close = 'close';
|
||||
$lang->resource->project->activate = 'activate';
|
||||
$lang->resource->project->delete = 'delete';
|
||||
$lang->resource->project->view = 'view';
|
||||
$lang->resource->project->whitelist = 'whitelist';
|
||||
$lang->resource->project->addWhitelist = 'addWhitelist';
|
||||
$lang->resource->project->unbindWhitelist = 'unbindWhitelist';
|
||||
$lang->resource->project->manageProducts = 'manageProducts';
|
||||
$lang->resource->project->view = 'view';
|
||||
$lang->resource->project->dynamic = 'dynamic';
|
||||
$lang->resource->project->build = 'build';
|
||||
$lang->resource->project->qa = 'qa';
|
||||
$lang->resource->project->bug = 'bug';
|
||||
$lang->resource->project->testcase = 'testcase';
|
||||
$lang->resource->project->testtask = 'testtask';
|
||||
$lang->resource->project->execution = 'execution';
|
||||
$lang->resource->project->testreport = 'testreport';
|
||||
$lang->resource->project->index = 'index';
|
||||
$lang->resource->project->browse = 'browse';
|
||||
$lang->resource->project->projectTitle = 'moduleOpen';
|
||||
$lang->resource->project->create = 'create';
|
||||
$lang->resource->project->edit = 'edit';
|
||||
$lang->resource->project->batchEdit = 'batchEdit';
|
||||
$lang->resource->project->group = 'group';
|
||||
$lang->resource->project->createGroup = 'createGroup';
|
||||
$lang->resource->project->manageView = 'manageView';
|
||||
$lang->resource->project->managePriv = 'managePriv';
|
||||
$lang->resource->project->manageMembers = 'manageMembers';
|
||||
$lang->resource->project->manageGroupMember = 'manageGroupMember';
|
||||
$lang->resource->project->copyGroup = 'copyGroup';
|
||||
$lang->resource->project->editGroup = 'editGroup';
|
||||
$lang->resource->project->start = 'start';
|
||||
$lang->resource->project->suspend = 'suspend';
|
||||
$lang->resource->project->close = 'close';
|
||||
$lang->resource->project->activate = 'activate';
|
||||
$lang->resource->project->delete = 'delete';
|
||||
$lang->resource->project->view = 'view';
|
||||
$lang->resource->project->whitelist = 'whitelist';
|
||||
$lang->resource->project->addWhitelist = 'addWhitelist';
|
||||
$lang->resource->project->unbindWhitelist = 'unbindWhitelist';
|
||||
$lang->resource->project->manageProducts = 'manageProducts';
|
||||
$lang->resource->project->dynamic = 'dynamic';
|
||||
$lang->resource->project->build = 'build';
|
||||
$lang->resource->project->qa = 'qa';
|
||||
$lang->resource->project->bug = 'bug';
|
||||
$lang->resource->project->testcase = 'testcase';
|
||||
$lang->resource->project->testtask = 'testtask';
|
||||
$lang->resource->project->execution = 'execution';
|
||||
$lang->resource->project->export = 'export';
|
||||
$lang->resource->project->createGuide = 'createGuide';
|
||||
|
||||
$lang->project->methodOrder[0] = 'index';
|
||||
$lang->project->methodOrder[5] = 'browse';
|
||||
$lang->project->methodOrder[10] = 'programTitle';
|
||||
$lang->project->methodOrder[10] = 'projectTitle';
|
||||
$lang->project->methodOrder[15] = 'create';
|
||||
$lang->project->methodOrder[20] = 'edit';
|
||||
$lang->project->methodOrder[25] = 'batchEdit';
|
||||
@@ -246,6 +255,13 @@ if($config->systemMode == 'new')
|
||||
$lang->project->methodOrder[155] = 'testtask';
|
||||
$lang->project->methodOrder[160] = 'execution';
|
||||
$lang->project->methodOrder[165] = 'testreport';
|
||||
$lang->project->methodOrder[170] = 'export';
|
||||
$lang->project->methodOrder[175] = 'createGuide';
|
||||
|
||||
$lang->resource->projectbuild = new stdclass();
|
||||
$lang->resource->projectbuild->browse = 'browse';
|
||||
|
||||
$lang->projectbuild->methodOrder[5] = 'browse';
|
||||
|
||||
/* Personnel . */
|
||||
$lang->resource->personnel = new stdclass();
|
||||
@@ -264,7 +280,7 @@ if($config->systemMode == 'new')
|
||||
/* Project Story. */
|
||||
$lang->resource->projectstory = new stdclass();
|
||||
$lang->resource->projectstory->story = 'story';
|
||||
$lang->resource->projectstory->track = 'track';
|
||||
$lang->resource->projectstory->track = 'trackAction';
|
||||
$lang->resource->projectstory->view = 'view';
|
||||
$lang->resource->projectstory->linkStory = 'linkStory';
|
||||
$lang->resource->projectstory->unlinkStory = 'unlinkStory';
|
||||
@@ -279,7 +295,7 @@ if($config->systemMode == 'new')
|
||||
|
||||
/* Release. */
|
||||
$lang->resource->projectrelease = new stdclass();
|
||||
$lang->resource->projectrelease->browse = 'browse';
|
||||
$lang->resource->projectrelease->browse = 'browseAction';
|
||||
$lang->resource->projectrelease->create = 'create';
|
||||
$lang->resource->projectrelease->edit = 'edit';
|
||||
$lang->resource->projectrelease->delete = 'delete';
|
||||
@@ -310,7 +326,7 @@ if($config->systemMode == 'new')
|
||||
|
||||
/* Product. */
|
||||
$lang->resource->product = new stdclass();
|
||||
$lang->resource->product->index = 'index';
|
||||
$lang->resource->product->index = 'indexAction';
|
||||
$lang->resource->product->browse = 'browse';
|
||||
$lang->resource->product->create = 'create';
|
||||
$lang->resource->product->view = 'view';
|
||||
@@ -369,9 +385,9 @@ $lang->resource->stakeholder->create = 'create';
|
||||
$lang->resource->stakeholder->batchCreate = 'batchCreate';
|
||||
$lang->resource->stakeholder->edit = 'edit';
|
||||
$lang->resource->stakeholder->delete = 'delete';
|
||||
$lang->resource->stakeholder->view = 'view';
|
||||
$lang->resource->stakeholder->view = 'viewAction';
|
||||
$lang->resource->stakeholder->issue = 'issue';
|
||||
$lang->resource->stakeholder->viewIssue = 'viewIssue';
|
||||
$lang->resource->stakeholder->viewIssue = 'viewIssueAction';
|
||||
$lang->resource->stakeholder->communicate = 'communicate';
|
||||
$lang->resource->stakeholder->expect = 'expect';
|
||||
$lang->resource->stakeholder->expectation = 'expectation';
|
||||
@@ -400,26 +416,26 @@ $lang->stakeholder->methodOrder[80] = 'userIssue';
|
||||
|
||||
/* Story. */
|
||||
$lang->resource->story = new stdclass();
|
||||
$lang->resource->story->create = 'create';
|
||||
$lang->resource->story->batchCreate = 'batchCreate';
|
||||
$lang->resource->story->edit = 'editAB';
|
||||
$lang->resource->story->linkStory = 'linkStory';
|
||||
$lang->resource->story->batchEdit = 'batchEdit';
|
||||
$lang->resource->story->export = 'exportAction';
|
||||
$lang->resource->story->delete = 'deleteAction';
|
||||
$lang->resource->story->view = 'view';
|
||||
$lang->resource->story->change = 'changeAction';
|
||||
$lang->resource->story->review = 'reviewAction';
|
||||
$lang->resource->story->batchReview = 'batchReview';
|
||||
$lang->resource->story->assignTo = 'assignAction';
|
||||
$lang->resource->story->close = 'closeAction';
|
||||
$lang->resource->story->batchClose = 'batchClose';
|
||||
$lang->resource->story->activate = 'activateAction';
|
||||
$lang->resource->story->tasks = 'tasks';
|
||||
$lang->resource->story->bugs = 'bugs';
|
||||
$lang->resource->story->cases = 'cases';
|
||||
$lang->resource->story->zeroCase = 'zeroCase';
|
||||
$lang->resource->story->report = 'reportAction';
|
||||
$lang->resource->story->create = 'create';
|
||||
$lang->resource->story->batchCreate = 'batchCreate';
|
||||
$lang->resource->story->edit = 'editAction';
|
||||
$lang->resource->story->linkStory = 'linkStory';
|
||||
$lang->resource->story->batchEdit = 'batchEdit';
|
||||
$lang->resource->story->export = 'exportAction';
|
||||
$lang->resource->story->delete = 'deleteAction';
|
||||
$lang->resource->story->view = 'view';
|
||||
$lang->resource->story->change = 'changeAction';
|
||||
$lang->resource->story->review = 'reviewAction';
|
||||
$lang->resource->story->batchReview = 'batchReview';
|
||||
$lang->resource->story->assignTo = 'assignAction';
|
||||
$lang->resource->story->close = 'closeAction';
|
||||
$lang->resource->story->batchClose = 'batchClose';
|
||||
$lang->resource->story->activate = 'activateAction';
|
||||
$lang->resource->story->tasks = 'tasks';
|
||||
$lang->resource->story->bugs = 'bugs';
|
||||
$lang->resource->story->cases = 'cases';
|
||||
$lang->resource->story->zeroCase = 'zeroCase';
|
||||
$lang->resource->story->report = 'reportAction';
|
||||
$lang->resource->story->batchChangePlan = 'batchChangePlan';
|
||||
$lang->resource->story->batchChangeBranch = 'batchChangeBranch';
|
||||
$lang->resource->story->batchChangeStage = 'batchChangeStage';
|
||||
@@ -521,8 +537,8 @@ $lang->resource->execution->index = 'index';
|
||||
$lang->resource->execution->view = 'view';
|
||||
$lang->resource->execution->browse = 'browse';
|
||||
$lang->resource->execution->create = 'createExec';
|
||||
$lang->resource->execution->edit = 'editAB';
|
||||
$lang->resource->execution->batchedit = 'batchEditAB';
|
||||
$lang->resource->execution->edit = 'editAction';
|
||||
$lang->resource->execution->batchedit = 'batchEditAction';
|
||||
$lang->resource->execution->start = 'startAction';
|
||||
$lang->resource->execution->activate = 'activateAction';
|
||||
$lang->resource->execution->putoff = 'delayAction';
|
||||
@@ -648,7 +664,7 @@ $lang->resource->task->delete = 'deleteAction';
|
||||
$lang->resource->task->view = 'view';
|
||||
$lang->resource->task->export = 'exportAction';
|
||||
$lang->resource->task->confirmStoryChange = 'confirmStoryChange';
|
||||
$lang->resource->task->recordEstimate = 'recordEstimate';
|
||||
$lang->resource->task->recordEstimate = 'recordEstimateAction';
|
||||
$lang->resource->task->editEstimate = 'editEstimate';
|
||||
$lang->resource->task->deleteEstimate = 'deleteEstimate';
|
||||
$lang->resource->task->report = 'reportChart';
|
||||
@@ -703,13 +719,12 @@ $lang->build->methodOrder[50] = 'batchUnlinkBug';
|
||||
|
||||
/* QA. */
|
||||
$lang->resource->qa = new stdclass();
|
||||
$lang->resource->qa->index = 'index';
|
||||
$lang->resource->qa->index = 'indexAction';
|
||||
|
||||
$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';
|
||||
$lang->resource->bug->batchCreate = 'batchCreate';
|
||||
@@ -761,7 +776,6 @@ $lang->bug->methodOrder[110] = 'batchChangeBranch';
|
||||
|
||||
/* Test case. */
|
||||
$lang->resource->testcase = new stdclass();
|
||||
$lang->resource->testcase->index = 'index';
|
||||
$lang->resource->testcase->browse = 'browse';
|
||||
$lang->resource->testcase->groupCase = 'groupCase';
|
||||
$lang->resource->testcase->create = 'create';
|
||||
@@ -816,11 +830,10 @@ $lang->testcase->methodOrder[115] = 'batchCaseTypeChange';
|
||||
|
||||
/* Test task. */
|
||||
$lang->resource->testtask = new stdclass();
|
||||
$lang->resource->testtask->index = 'index';
|
||||
$lang->resource->testtask->create = 'create';
|
||||
$lang->resource->testtask->browse = 'browse';
|
||||
$lang->resource->testtask->view = 'view';
|
||||
$lang->resource->testtask->cases = 'cases';
|
||||
$lang->resource->testtask->view = 'viewAction';
|
||||
$lang->resource->testtask->cases = 'casesAction';
|
||||
$lang->resource->testtask->groupCase = 'groupCase';
|
||||
$lang->resource->testtask->edit = 'edit';
|
||||
$lang->resource->testtask->start = 'startAction';
|
||||
@@ -899,10 +912,10 @@ $lang->testsuite->methodOrder[40] = 'batchUnlinkCases';
|
||||
|
||||
$lang->resource->caselib = new stdclass();
|
||||
$lang->resource->caselib->index = 'index';
|
||||
$lang->resource->caselib->browse = 'browse';
|
||||
$lang->resource->caselib->browse = 'browseAction';
|
||||
$lang->resource->caselib->create = 'create';
|
||||
$lang->resource->caselib->edit = 'edit';
|
||||
$lang->resource->caselib->delete = 'delete';
|
||||
$lang->resource->caselib->delete = 'deleteAction';
|
||||
$lang->resource->caselib->view = 'view';
|
||||
$lang->resource->caselib->createCase = 'createCase';
|
||||
$lang->resource->caselib->batchCreateCase = 'batchCreateCase';
|
||||
@@ -928,7 +941,7 @@ $lang->resource->automation->browse = 'browse';
|
||||
$lang->automation->methodOrder[0] = 'browse';
|
||||
|
||||
$lang->resource->repo = new stdclass();
|
||||
$lang->resource->repo->browse = 'browse';
|
||||
$lang->resource->repo->browse = 'browseAction';
|
||||
$lang->resource->repo->view = 'view';
|
||||
$lang->resource->repo->log = 'log';
|
||||
$lang->resource->repo->revision = 'revisionAction';
|
||||
@@ -938,7 +951,7 @@ $lang->resource->repo->edit = 'editAction';
|
||||
$lang->resource->repo->delete = 'delete';
|
||||
$lang->resource->repo->showSyncCommit = 'showSyncCommit';
|
||||
$lang->resource->repo->diff = 'diffAction';
|
||||
$lang->resource->repo->download = 'download';
|
||||
$lang->resource->repo->download = 'downloadAction';
|
||||
$lang->resource->repo->maintain = 'maintain';
|
||||
$lang->resource->repo->setRules = 'setRules';
|
||||
|
||||
@@ -969,10 +982,10 @@ $lang->compile->methodOrder[5] = 'browse';
|
||||
$lang->compile->methodOrder[10] = 'logs';
|
||||
|
||||
$lang->resource->jenkins = new stdclass();
|
||||
$lang->resource->jenkins->browse = 'browse';
|
||||
$lang->resource->jenkins->browse = 'browseAction';
|
||||
$lang->resource->jenkins->create = 'create';
|
||||
$lang->resource->jenkins->edit = 'edit';
|
||||
$lang->resource->jenkins->delete = 'delete';
|
||||
$lang->resource->jenkins->delete = 'deleteAction';
|
||||
|
||||
$lang->jenkins->methodOrder[5] = 'browse';
|
||||
$lang->jenkins->methodOrder[10] = 'create';
|
||||
@@ -980,7 +993,7 @@ $lang->jenkins->methodOrder[15] = 'edit';
|
||||
$lang->jenkins->methodOrder[20] = 'delete';
|
||||
|
||||
$lang->resource->job = new stdclass();
|
||||
$lang->resource->job->browse = 'browse';
|
||||
$lang->resource->job->browse = 'browseAction';
|
||||
$lang->resource->job->create = 'create';
|
||||
$lang->resource->job->edit = 'edit';
|
||||
$lang->resource->job->delete = 'delete';
|
||||
@@ -1009,7 +1022,7 @@ $lang->resource->doc->allLibs = 'allLibs';
|
||||
$lang->resource->doc->objectLibs = 'objectLibs';
|
||||
$lang->resource->doc->showFiles = 'showFiles';
|
||||
$lang->resource->doc->sort = 'sort';
|
||||
$lang->resource->doc->collect = 'collect';
|
||||
$lang->resource->doc->collect = 'collectAction';
|
||||
//$lang->resource->doc->diff = 'diff';
|
||||
|
||||
$lang->doc->methodOrder[0] = 'index';
|
||||
@@ -1073,6 +1086,7 @@ $lang->resource->custom->timezone = 'timezone';
|
||||
$lang->resource->custom->setStoryConcept = 'setStoryConcept';
|
||||
$lang->resource->custom->editStoryConcept = 'editStoryConcept';
|
||||
$lang->resource->custom->browseStoryConcept = 'browseStoryConcept';
|
||||
$lang->resource->custom->setDefaultConcept = 'setDefaultConcept';
|
||||
$lang->resource->custom->deleteStoryConcept = 'deleteStoryConcept';
|
||||
|
||||
$lang->custom->methodOrder[5] = 'index';
|
||||
@@ -1084,10 +1098,11 @@ $lang->custom->methodOrder[30] = 'flow';
|
||||
$lang->custom->methodOrder[35] = 'working';
|
||||
$lang->custom->methodOrder[40] = 'setPublic';
|
||||
$lang->custom->methodOrder[45] = 'timezone';
|
||||
$lang->custom->methodOrder[50] = 'setStoryContcept';
|
||||
$lang->custom->methodOrder[55] = 'editStoryContcept';
|
||||
$lang->custom->methodOrder[60] = 'browseStoryContcept';
|
||||
$lang->custom->methodOrder[65] = 'deleteStoryContcept';
|
||||
$lang->custom->methodOrder[50] = 'setStoryConcept';
|
||||
$lang->custom->methodOrder[55] = 'editStoryConcept';
|
||||
$lang->custom->methodOrder[60] = 'browseStoryConcept';
|
||||
$lang->custom->methodOrder[65] = 'setDefaultConcept';
|
||||
$lang->custom->methodOrder[70] = 'deleteStoryConcept';
|
||||
|
||||
$lang->resource->datatable = new stdclass();
|
||||
$lang->resource->datatable->setGlobal = 'setGlobal';
|
||||
@@ -1182,6 +1197,8 @@ $lang->resource->user->cropAvatar = 'cropAvatar';
|
||||
$lang->resource->user->profile = 'profile';
|
||||
$lang->resource->user->batchEdit = 'batchEdit';
|
||||
$lang->resource->user->unbind = 'unbind';
|
||||
$lang->resource->user->issue = 'issue';
|
||||
$lang->resource->user->risk = 'risk';
|
||||
$lang->resource->user->setPublicTemplate = 'setPublicTemplate';
|
||||
|
||||
$lang->user->methodOrder[5] = 'create';
|
||||
@@ -1194,12 +1211,14 @@ $lang->user->methodOrder[30] = 'todo';
|
||||
$lang->user->methodOrder[35] = 'task';
|
||||
$lang->user->methodOrder[40] = 'bug';
|
||||
$lang->user->methodOrder[45] = 'project';
|
||||
$lang->user->methodOrder[50] = 'dynamic';
|
||||
$lang->user->methodOrder[55] = 'cropAvatar';
|
||||
$lang->user->methodOrder[60] = 'profile';
|
||||
$lang->user->methodOrder[65] = 'batchEdit';
|
||||
$lang->user->methodOrder[70] = 'unbind';
|
||||
$lang->user->methodOrder[75] = 'setPublicTemplate';
|
||||
$lang->user->methodOrder[50] = 'issue';
|
||||
$lang->user->methodOrder[55] = 'risk';
|
||||
$lang->user->methodOrder[60] = 'dynamic';
|
||||
$lang->user->methodOrder[65] = 'cropAvatar';
|
||||
$lang->user->methodOrder[70] = 'profile';
|
||||
$lang->user->methodOrder[75] = 'batchEdit';
|
||||
$lang->user->methodOrder[80] = 'unbind';
|
||||
$lang->user->methodOrder[85] = 'setPublicTemplate';
|
||||
|
||||
/* Tree. */
|
||||
$lang->resource->tree = new stdclass();
|
||||
@@ -1271,7 +1290,7 @@ $lang->admin->methodOrder[30] = 'ztCompany';
|
||||
|
||||
/* Extension. */
|
||||
$lang->resource->extension = new stdclass();
|
||||
$lang->resource->extension->browse = 'browse';
|
||||
$lang->resource->extension->browse = 'browseAction';
|
||||
$lang->resource->extension->obtain = 'obtain';
|
||||
$lang->resource->extension->structure = 'structureAction';
|
||||
$lang->resource->extension->install = 'install';
|
||||
@@ -1295,11 +1314,11 @@ $lang->extension->methodOrder[50] = 'upgrade';
|
||||
|
||||
/* Webhook. */
|
||||
$lang->resource->webhook = new stdclass();
|
||||
$lang->resource->webhook->browse = 'browse';
|
||||
$lang->resource->webhook->browse = 'list';
|
||||
$lang->resource->webhook->create = 'create';
|
||||
$lang->resource->webhook->edit = 'edit';
|
||||
$lang->resource->webhook->delete = 'delete';
|
||||
$lang->resource->webhook->log = 'log';
|
||||
$lang->resource->webhook->log = 'logAction';
|
||||
$lang->resource->webhook->bind = 'bind';
|
||||
$lang->resource->webhook->chooseDept = 'chooseDept';
|
||||
|
||||
@@ -1350,8 +1369,8 @@ $lang->message->methodOrder[15] = 'setting';
|
||||
|
||||
$lang->resource->action = new stdclass();
|
||||
$lang->resource->action->trash = 'trash';
|
||||
$lang->resource->action->undelete = 'undelete';
|
||||
$lang->resource->action->hideOne = 'hideOne';
|
||||
$lang->resource->action->undelete = 'undeleteAction';
|
||||
$lang->resource->action->hideOne = 'hideOneAction';
|
||||
$lang->resource->action->hideAll = 'hideAll';
|
||||
$lang->resource->action->comment = 'comment';
|
||||
$lang->resource->action->editComment = 'editComment';
|
||||
@@ -1369,7 +1388,7 @@ $lang->resource->backup->backup = 'backup';
|
||||
$lang->resource->backup->restore = 'restore';
|
||||
$lang->resource->backup->change = 'change';
|
||||
$lang->resource->backup->delete = 'delete';
|
||||
$lang->resource->backup->setting = 'setting';
|
||||
$lang->resource->backup->setting = 'settingAction';
|
||||
$lang->resource->backup->rmPHPHeader = 'rmPHPHeader';
|
||||
|
||||
$lang->backup->methodOrder[5] = 'index';
|
||||
|
||||
@@ -92,13 +92,14 @@
|
||||
<table class='table table-form'>
|
||||
<?php foreach($lang->mainNav as $module => $title):?>
|
||||
<?php if(!is_string($title)) continue;?>
|
||||
<?php if(!isset($lang->action->dynamicAction->$module) and !isset($navGroup[$module])) continue;?>
|
||||
<?php if($module == 'admin') continue;?>
|
||||
<tr id='<?php echo "{$module}ActionBox";?>'>
|
||||
<th class='w-100px text-left text-top'>
|
||||
<div class='action-item'>
|
||||
<div class='checkbox-primary'>
|
||||
<input type="checkbox" id='allchecker' onclick="selectAll(this)"/>
|
||||
<label class='priv' for='allchecker'><?php echo $module == 'project' ? "<i class='icon icon-menu-doc'></i> " . $lang->executionCommon : substr($title, 0, strpos($title, '|'));?></label>
|
||||
<label class='priv' for='allchecker'><?php echo substr($title, 0, strpos($title, '|'));?></label>
|
||||
</div>
|
||||
</div>
|
||||
</th>
|
||||
@@ -115,6 +116,8 @@
|
||||
<?php endforeach;?>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<?php if(isset($navGroup[$module])):?>
|
||||
<?php foreach($navGroup[$module] as $subModule):?>
|
||||
<?php if(isset($lang->action->dynamicAction->$subModule)):?>
|
||||
<div class='clearfix'>
|
||||
<?php foreach($lang->action->dynamicAction->$subModule as $action => $actionTitle):?>
|
||||
@@ -127,6 +130,8 @@
|
||||
<?php endforeach;?>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<?php endforeach;?>
|
||||
<?php endif;?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
|
||||
@@ -56,14 +56,14 @@
|
||||
<?php foreach($lang->mainNav as $module => $title):?>
|
||||
<?php if(!is_string($title)) continue;?>
|
||||
<?php $active = $menu == $module ? 'btn-active-text' : '';?>
|
||||
<?php echo html::a(inlink('managePriv', sprintf($params, $module)), "<span class='text'>" . substr($title, 0, strpos($title, '|')) . '</span>', '', "class='btn btn-link $active'")?>
|
||||
<?php echo html::a(inlink('managePriv', sprintf($params, $module)), "<span class='text'>" . strip_tags(substr($title, 0, strpos($title, '|'))) . '</span>', '', "class='btn btn-link $active'")?>
|
||||
<?php endforeach;?>
|
||||
|
||||
<?php $active = $menu == 'other' ? 'btn-active-text' : '';?>
|
||||
<?php echo html::a(inlink('managePriv', sprintf($params, 'other')), "<span class='text'>{$lang->group->other}</span>", '', "class='btn btn-link $active'");?>
|
||||
|
||||
<div class='input-control space w-150px'>
|
||||
<?php echo html::select('version', $this->lang->group->versions, $version, "onchange=showPriv(this.value) class='form-control chosen'");?>
|
||||
<?php echo html::select('version', $this->lang->group->versions, $version, "onchange=showPriv(this.value) class='form-control chosen'");?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -6,6 +6,9 @@ $lang->jenkins->edit = '编辑Jenkins';
|
||||
$lang->jenkins->delete = '删除';
|
||||
$lang->jenkins->confirmDelete = '确认删除该Jenkins吗?';
|
||||
|
||||
$lang->jenkins->browseAction = 'Jenkins列表';
|
||||
$lang->jenkins->deleteAction = '删除Jenkins';
|
||||
|
||||
$lang->jenkins->id = 'ID';
|
||||
$lang->jenkins->name = '名称';
|
||||
$lang->jenkins->url = '服务地址';
|
||||
|
||||
@@ -10,6 +10,8 @@ $lang->job->confirmDelete = '确认删除该构建任务';
|
||||
$lang->job->dirChange = '目录改动';
|
||||
$lang->job->buildTag = '打标签';
|
||||
|
||||
$lang->job->browseAction = '构建任务列表';
|
||||
|
||||
$lang->job->id = 'ID';
|
||||
$lang->job->name = '名称';
|
||||
$lang->job->repo = '代码库';
|
||||
|
||||
@@ -41,6 +41,13 @@ $lang->my->testtask = '我的测试单';
|
||||
$lang->my->testcase = '我的用例';
|
||||
$lang->my->storyConcept = $config->URAndSR ? '默认需求概念组合' : '默认需求概念';
|
||||
|
||||
$lang->my->indexAction = '地盘仪表盘';
|
||||
$lang->my->calendarAction = '我的日程';
|
||||
$lang->my->workAction = '我的待处理';
|
||||
$lang->my->contributeAction = '我的贡献';
|
||||
$lang->my->profileAction = '个人档案';
|
||||
$lang->my->dynamicAction = '动态';
|
||||
|
||||
$lang->my->myExecutions = "我参与的阶段/冲刺/迭代";
|
||||
$lang->my->name = '名称';
|
||||
$lang->my->code = '代号';
|
||||
|
||||
@@ -9,29 +9,33 @@
|
||||
* @version $Id: zh-cn.php 5091 2013-07-10 06:06:46Z chencongzhi520@gmail.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->product->index = $lang->productCommon . '主页';
|
||||
$lang->product->browse = "{$lang->SRCommon}列表";
|
||||
$lang->product->dynamic = $lang->productCommon . '动态';
|
||||
$lang->product->view = "{$lang->productCommon}概况";
|
||||
$lang->product->edit = "编辑{$lang->productCommon}";
|
||||
$lang->product->batchEdit = '批量编辑';
|
||||
$lang->product->create = "添加{$lang->productCommon}";
|
||||
$lang->product->delete = "删除{$lang->productCommon}";
|
||||
$lang->product->deleted = '已删除';
|
||||
$lang->product->close = '关闭';
|
||||
$lang->product->index = $lang->productCommon . '主页';
|
||||
$lang->product->browse = "{$lang->SRCommon}列表";
|
||||
$lang->product->dynamic = $lang->productCommon . '动态';
|
||||
$lang->product->view = "{$lang->productCommon}概况";
|
||||
$lang->product->edit = "编辑{$lang->productCommon}";
|
||||
$lang->product->batchEdit = '批量编辑';
|
||||
$lang->product->create = "添加{$lang->productCommon}";
|
||||
$lang->product->delete = "删除{$lang->productCommon}";
|
||||
$lang->product->deleted = '已删除';
|
||||
$lang->product->close = '关闭';
|
||||
$lang->product->select = "请选择{$lang->productCommon}";
|
||||
$lang->product->mine = '我负责:';
|
||||
$lang->product->other = '其他:';
|
||||
$lang->product->closed = '已关闭';
|
||||
$lang->product->updateOrder = '排序';
|
||||
$lang->product->all = "所有{$lang->productCommon}";
|
||||
$lang->product->manageLine = "维护{$lang->productCommon}线";
|
||||
$lang->product->export = '导出数据';
|
||||
$lang->product->dashboard = "{$lang->productCommon}仪表盘";
|
||||
$lang->product->changeProgram = "{$lang->productCommon}调整所属项目集影响范围确认";
|
||||
$lang->product->addWhitelist = '添加白名单';
|
||||
$lang->product->unbindWhitelist = '移除白名单';
|
||||
|
||||
$lang->product->indexAction = "所有{$lang->productCommon}仪表盘";
|
||||
$lang->product->closeAction = "关闭{$lang->productCommon}";
|
||||
$lang->product->select = "请选择{$lang->productCommon}";
|
||||
$lang->product->mine = '我负责:';
|
||||
$lang->product->other = '其他:';
|
||||
$lang->product->closed = '已关闭';
|
||||
$lang->product->updateOrder = '排序';
|
||||
$lang->product->orderAction = "{$lang->productCommon}排序";
|
||||
$lang->product->all = "所有{$lang->productCommon}";
|
||||
$lang->product->manageLine = "维护{$lang->productCommon}线";
|
||||
$lang->product->export = '导出数据';
|
||||
$lang->product->exportAction = "导出{$lang->productCommon}";
|
||||
$lang->product->dashboard = "{$lang->productCommon}仪表盘";
|
||||
$lang->product->changeProgram = "{$lang->productCommon}调整所属项目集影响范围确认";
|
||||
|
||||
$lang->product->basicInfo = '基本信息';
|
||||
$lang->product->otherInfo = '其他信息';
|
||||
@@ -90,8 +94,6 @@ $lang->product->QD = '测试负责人';
|
||||
$lang->product->RD = '发布负责人';
|
||||
$lang->product->acl = '访问控制';
|
||||
$lang->product->whitelist = '白名单';
|
||||
$lang->product->addWhitelist = '添加白名单';
|
||||
$lang->product->unbindWhitelist = '删除白名单';
|
||||
$lang->product->branch = '所属%s';
|
||||
$lang->product->qa = '测试';
|
||||
$lang->product->release = '发布';
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
<?php
|
||||
if($config->systemMode == 'new')
|
||||
{
|
||||
echo html::a($this->createLink('project', explode('-', $config->projectLink)[1], 'project=' . $project->id, '', false, $project->id), $project->name, '_parent');
|
||||
echo html::a($this->createLink('project', 'index', 'project=' . $project->id, '', false, $project->id), $project->name, '_parent');
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -43,6 +43,8 @@ $lang->program->confirmBatchUnlink = "您确定要批量移除这些干系
|
||||
$lang->program->stakeholderType = '干系人类型';
|
||||
$lang->program->isStakeholderKey = '关键干系人';
|
||||
$lang->program->importStakeholder = '从父项目集导入';
|
||||
$lang->program->unbindWhitelist = '移除白名单';
|
||||
$lang->program->importStakeholder = '从父项目集导入';
|
||||
$lang->program->manageMembers = '项目集团队';
|
||||
$lang->program->beyondParentBudget = '已超出所属项目集的剩余预算';
|
||||
$lang->program->parentBudget = '所属项目集剩余预算:';
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
/**
|
||||
* The project build module en file of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2020 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Yuchun Li <liyuchun@cnezsoft.com>
|
||||
* @package projectrelease
|
||||
* @version $Id: zh-cn.php 4129 2020-11-27 01:58:14Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->projectbuild->common = 'Project Build';
|
||||
$lang->projectbuild->browse = 'Build List';
|
||||
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
/**
|
||||
* The project build module en file of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2020 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Yuchun Li <liyuchun@cnezsoft.com>
|
||||
* @package projectrelease
|
||||
* @version $Id: zh-cn.php 4129 2020-11-27 01:58:14Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->projectbuild->common = 'Project Build';
|
||||
$lang->projectbuild->browse = 'Build List';
|
||||
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
/**
|
||||
* The project build module en file of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2020 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Yuchun Li <liyuchun@cnezsoft.com>
|
||||
* @package projectrelease
|
||||
* @version $Id: zh-cn.php 4129 2020-11-27 01:58:14Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->projectbuild->common = 'Project Build';
|
||||
$lang->projectbuild->browse = 'Build List';
|
||||
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
/**
|
||||
* The project build module en file of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2020 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Yuchun Li <liyuchun@cnezsoft.com>
|
||||
* @package projectrelease
|
||||
* @version $Id: zh-cn.php 4129 2020-11-27 01:58:14Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->projectbuild->common = 'Project Build';
|
||||
$lang->projectbuild->browse = 'Build List';
|
||||
@@ -0,0 +1,13 @@
|
||||
<?php
|
||||
/**
|
||||
* The project build module zh-cn file of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2020 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Yuchun Li <liyuchun@cnezsoft.com>
|
||||
* @package projectrelease
|
||||
* @version $Id: zh-cn.php 4129 2020-11-27 01:58:14Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->projectbuild->common = '项目版本';
|
||||
$lang->projectbuild->browse = '版本列表';
|
||||
@@ -0,0 +1,27 @@
|
||||
<?php
|
||||
/**
|
||||
* The release module zh-tw file of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2020 青島易軟天創網絡科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Yuchun Li <liyuchun@cnezsoft.com>
|
||||
* @package release
|
||||
* @version $Id: zh-tw.php 4129 2020-11-27 01:58:14Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->projectrelease->common = '項目發佈';
|
||||
$lang->projectrelease->create = "創建發佈";
|
||||
$lang->projectrelease->edit = "編輯發佈";
|
||||
$lang->projectrelease->linkStory = "關聯{$lang->SRCommon}";
|
||||
$lang->projectrelease->linkBug = "關聯Bug";
|
||||
$lang->projectrelease->delete = "刪除發佈";
|
||||
$lang->projectrelease->deleted = '已刪除';
|
||||
$lang->projectrelease->view = "發佈詳情";
|
||||
$lang->projectrelease->browse = "瀏覽發佈";
|
||||
$lang->projectrelease->changeStatus = "修改狀態";
|
||||
$lang->projectrelease->batchUnlink = "批量移除";
|
||||
$lang->projectrelease->batchUnlinkStory = "批量移除{$lang->SRCommon}";
|
||||
$lang->projectrelease->batchUnlinkBug = "批量移除Bug";
|
||||
$lang->projectrelease->unlinkStory = "移除{$lang->SRCommon}";
|
||||
$lang->projectrelease->unlinkBug = '移除Bug';
|
||||
$lang->projectrelease->export = '導出HTML';
|
||||
@@ -25,3 +25,5 @@ $lang->projectrelease->batchUnlinkBug = "批量移除Bug";
|
||||
$lang->projectrelease->unlinkStory = "移除{$lang->SRCommon}";
|
||||
$lang->projectrelease->unlinkBug = '移除Bug';
|
||||
$lang->projectrelease->export = '导出HTML';
|
||||
|
||||
$lang->projectrelease->browseAction = "发布列表";
|
||||
|
||||
@@ -9,6 +9,8 @@ $lang->projectstory->unlinkStory = '移除' . $lang->SRCommon;
|
||||
$lang->projectstory->importplanstories = '按计划关联' . $lang->SRCommon;
|
||||
$lang->projectstory->whyNoStories = "看起来没有{$lang->SRCommon}可以关联。请检查下项目关联的{$lang->productCommon}中有没有{$lang->SRCommon},而且要确保它们已经审核通过。";
|
||||
|
||||
$lang->projectstory->trackAction = '跟踪矩阵';
|
||||
|
||||
global $app;
|
||||
$app->loadLang('product');
|
||||
$lang->projectstory->featureBar['story']['allstory'] = $lang->product->allStory;
|
||||
|
||||
@@ -10,3 +10,5 @@
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->qa->index = '测试主页';
|
||||
|
||||
$lang->qa->indexAction = '测试仪表盘';
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
* @version $Id: en.php 4129 2013-01-18 01:58:14Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->release->common = 'Release';
|
||||
$lang->release->common = 'Product Release';
|
||||
$lang->release->create = "Erstellen";
|
||||
$lang->release->edit = "Bearbeiten";
|
||||
$lang->release->linkStory = "Story verknüpfen";
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
* @version $Id: en.php 4129 2013-01-18 01:58:14Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->release->common = 'Release';
|
||||
$lang->release->common = 'Product Release';
|
||||
$lang->release->create = "Create Release";
|
||||
$lang->release->edit = "Edit Release";
|
||||
$lang->release->linkStory = "Link Story";
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
* @version $Id: en.php 4129 2013-01-18 01:58:14Z wwccss $
|
||||
* @link https://www.zentao.pm
|
||||
*/
|
||||
$lang->release->common = 'Release';
|
||||
$lang->release->common = 'Product Release';
|
||||
$lang->release->create = "Créer Release";
|
||||
$lang->release->edit = "Editer Release";
|
||||
$lang->release->linkStory = "Intégrer Story";
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
* @version $Id: vi.php 4129 2013-01-18 01:58:14Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->release->common = 'Phát hành';
|
||||
$lang->release->common = 'Product Release';
|
||||
$lang->release->create = "Tạo phát hành";
|
||||
$lang->release->edit = "Sửa phát hành";
|
||||
$lang->release->linkStory = "Liên kết câu chuyện";
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
* @version $Id: zh-cn.php 4129 2013-01-18 01:58:14Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->release->common = '发布';
|
||||
$lang->release->common = '产品发布';
|
||||
$lang->release->create = "创建发布";
|
||||
$lang->release->edit = "编辑发布";
|
||||
$lang->release->linkStory = "关联{$lang->SRCommon}";
|
||||
|
||||
@@ -4,19 +4,14 @@ $lang->repo->browse = '浏览';
|
||||
$lang->repo->viewRevision = '查看修订';
|
||||
$lang->repo->product = '所属产品';
|
||||
$lang->repo->create = '创建';
|
||||
$lang->repo->createAction = '创建版本库';
|
||||
$lang->repo->maintain = '版本库列表';
|
||||
$lang->repo->edit = '编辑';
|
||||
$lang->repo->editAction = '编辑版本库';
|
||||
$lang->repo->delete = '删除版本库';
|
||||
$lang->repo->showSyncCommit = '显示同步进度';
|
||||
$lang->repo->ajaxSyncCommit = '接口:AJAX同步注释';
|
||||
$lang->repo->setRules = '指令配置';
|
||||
$lang->repo->download = '下载';
|
||||
$lang->repo->downloadDiff = '下载Diff';
|
||||
$lang->repo->diffAction = '版本对比';
|
||||
$lang->repo->revisionAction = '版本详情';
|
||||
$lang->repo->blameAction = '版本追溯';
|
||||
$lang->repo->addBug = '添加评审';
|
||||
$lang->repo->editBug = '编辑评审';
|
||||
$lang->repo->deleteBug = '删除评审';
|
||||
@@ -24,6 +19,15 @@ $lang->repo->addComment = '添加备注';
|
||||
$lang->repo->editComment = '编辑备注';
|
||||
$lang->repo->deleteComment = '删除备注';
|
||||
|
||||
$lang->repo->browseAction = '浏览版本库';
|
||||
$lang->repo->createAction = '创建版本库';
|
||||
$lang->repo->editAction = '编辑版本库';
|
||||
$lang->repo->diffAction = '版本对比';
|
||||
$lang->repo->downloadAction = '下载代码库文件';
|
||||
$lang->repo->revisionAction = '版本详情';
|
||||
$lang->repo->blameAction = '版本追溯';
|
||||
$lang->repo->reviewAction = '评审列表';
|
||||
|
||||
$lang->repo->submit = '提交';
|
||||
$lang->repo->cancel = '取消';
|
||||
$lang->repo->addComment = '添加评论';
|
||||
|
||||
@@ -26,6 +26,9 @@ $lang->stakeholder->issue = '问题管理';
|
||||
$lang->stakeholder->viewIssue = '活动问题列表';
|
||||
$lang->stakeholder->userIssue = '干系人问题列表';
|
||||
|
||||
$lang->stakeholder->viewAction = '干系人详情';
|
||||
$lang->stakeholder->viewIssueAction = '问题列表';
|
||||
|
||||
/* Fields. */
|
||||
$lang->stakeholder->id = '编号';
|
||||
$lang->stakeholder->user = '用户';
|
||||
|
||||
@@ -747,11 +747,10 @@ class story extends control
|
||||
* Change a story.
|
||||
*
|
||||
* @param int $storyID
|
||||
* @param string $from product|project
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
public function change($storyID, $from = 'product')
|
||||
public function change($storyID)
|
||||
{
|
||||
if(!empty($_POST))
|
||||
{
|
||||
@@ -771,7 +770,7 @@ class story extends control
|
||||
|
||||
$this->executeHooks($storyID);
|
||||
|
||||
$module = $from == 'project' ? 'projectstory' : 'story';
|
||||
$module = $this->app->openApp == 'project' ? 'projectstory' : 'story';
|
||||
die(js::locate($this->createLink($module, 'view', "storyID=$storyID"), 'parent'));
|
||||
}
|
||||
|
||||
|
||||
+11
-10
@@ -22,16 +22,12 @@ $lang->story->affectedStories = "影响的{$lang->story->story}";
|
||||
|
||||
$lang->story->batchCreate = "批量创建";
|
||||
$lang->story->change = "变更";
|
||||
$lang->story->changeAction = "变更{$lang->SRCommon}";
|
||||
$lang->story->changed = "{$lang->SRCommon}变更";
|
||||
$lang->story->assignTo = '指派';
|
||||
$lang->story->assignAction = "指派{$lang->SRCommon}";
|
||||
$lang->story->review = '评审';
|
||||
$lang->story->reviewAction = "评审{$lang->SRCommon}";
|
||||
$lang->story->needReview = '需要评审';
|
||||
$lang->story->batchReview = '批量评审';
|
||||
$lang->story->edit = "编辑";
|
||||
$lang->story->editAB = "编辑{$lang->SRCommon}";
|
||||
$lang->story->batchEdit = "批量编辑";
|
||||
$lang->story->subdivide = '细分';
|
||||
$lang->story->link = '关联';
|
||||
@@ -39,15 +35,11 @@ $lang->story->unlink = '移除';
|
||||
$lang->story->track = '跟踪矩阵';
|
||||
$lang->story->trackAB = '矩阵';
|
||||
$lang->story->processStoryChange = '处理需求变更';
|
||||
$lang->story->subdivideAction = "细分{$lang->SRCommon}";
|
||||
$lang->story->splitRequirent = '拆分';
|
||||
$lang->story->close = '关闭';
|
||||
$lang->story->closeAction = "关闭{$lang->SRCommon}";
|
||||
$lang->story->batchClose = '批量关闭';
|
||||
$lang->story->activate = '激活';
|
||||
$lang->story->activateAction = "激活{$lang->SRCommon}";
|
||||
$lang->story->delete = "删除";
|
||||
$lang->story->deleteAction = "删除{$lang->SRCommon}";
|
||||
$lang->story->view = "{$lang->SRCommon}详情";
|
||||
$lang->story->setting = "设置";
|
||||
$lang->story->tasks = "相关任务";
|
||||
@@ -62,11 +54,9 @@ $lang->story->caseCountAB = 'C';
|
||||
$lang->story->linkStory = "关联{$lang->SRCommon}";
|
||||
$lang->story->unlinkStory = "移除相关{$lang->SRCommon}";
|
||||
$lang->story->export = "导出数据";
|
||||
$lang->story->exportAction = "导出{$lang->SRCommon}";
|
||||
$lang->story->zeroCase = "零用例{$lang->SRCommon}";
|
||||
$lang->story->zeroTask = "只列零任务{$lang->SRCommon}";
|
||||
$lang->story->reportChart = "统计报表";
|
||||
$lang->story->reportAction = "统计报表";
|
||||
$lang->story->copyTitle = "同{$lang->SRCommon}名称";
|
||||
$lang->story->batchChangePlan = "批量修改计划";
|
||||
$lang->story->batchChangeBranch = "批量修改分支";
|
||||
@@ -78,6 +68,17 @@ $lang->story->toTask = '转任务';
|
||||
$lang->story->batchToTask = '批量转任务';
|
||||
$lang->story->convertRelations = '换算关系';
|
||||
|
||||
$lang->story->editAction = "编辑{$lang->SRCommon}";
|
||||
$lang->story->changeAction = "变更{$lang->SRCommon}";
|
||||
$lang->story->assignAction = "指派{$lang->SRCommon}";
|
||||
$lang->story->reviewAction = "评审{$lang->SRCommon}";
|
||||
$lang->story->subdivideAction = "细分{$lang->SRCommon}";
|
||||
$lang->story->closeAction = "关闭{$lang->SRCommon}";
|
||||
$lang->story->activateAction = "激活{$lang->SRCommon}";
|
||||
$lang->story->deleteAction = "删除{$lang->SRCommon}";
|
||||
$lang->story->exportAction = "导出{$lang->SRCommon}";
|
||||
$lang->story->reportAction = "统计报表";
|
||||
|
||||
$lang->story->skipStory = '需求:%s 为父需求,将不会被关闭。';
|
||||
$lang->story->closedStory = '需求:%s 已关闭,将不会被关闭。';
|
||||
$lang->story->batchToTaskTips = "此操作会创建与所选{$lang->SRCommon}同名的任务,并将{$lang->SRCommon}关联到任务中,已关闭的需求不会转为任务。";
|
||||
|
||||
@@ -131,6 +131,8 @@ $lang->task->lblPri = 'P';
|
||||
$lang->task->lblHour = '(h)';
|
||||
$lang->task->lblTestStory = "测试{$lang->SRCommon}";
|
||||
|
||||
$lang->task->recordEstimateAction = '添加工时';
|
||||
|
||||
$lang->task->ditto = '同上';
|
||||
$lang->task->dittoNotice = "该任务与上一任务不属于同一%s!";
|
||||
$lang->task->selectTestStory = "选择测试{$lang->SRCommon}";
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
$lang->testtask->index = "测试单首页";
|
||||
$lang->testtask->create = "提交测试";
|
||||
$lang->testtask->reportChart = '报表统计';
|
||||
$lang->testtask->reportAction = '用例报表统计';
|
||||
$lang->testtask->delete = "删除测试单";
|
||||
$lang->testtask->importUnitResult = "导入单元测试结果";
|
||||
$lang->testtask->importunitresult = "导入单元测试"; //Fix bug custom required testtask.
|
||||
@@ -29,7 +28,6 @@ $lang->testtask->batchAssign = "批量指派";
|
||||
$lang->testtask->runCase = "执行";
|
||||
$lang->testtask->batchRun = "批量执行";
|
||||
$lang->testtask->results = "结果";
|
||||
$lang->testtask->resultsAction = "用例结果";
|
||||
$lang->testtask->createBug = "提Bug";
|
||||
$lang->testtask->assign = '指派';
|
||||
$lang->testtask->cases = '用例';
|
||||
@@ -37,14 +35,10 @@ $lang->testtask->groupCase = "分组浏览用例";
|
||||
$lang->testtask->pre = '上一个';
|
||||
$lang->testtask->next = '下一个';
|
||||
$lang->testtask->start = "开始";
|
||||
$lang->testtask->startAction = "开始测试单";
|
||||
$lang->testtask->close = "关闭";
|
||||
$lang->testtask->closeAction = "关闭测试单";
|
||||
$lang->testtask->wait = "待测测试单";
|
||||
$lang->testtask->block = "阻塞";
|
||||
$lang->testtask->blockAction = "阻塞测试单";
|
||||
$lang->testtask->activate = "激活";
|
||||
$lang->testtask->activateAction = "激活测试单";
|
||||
$lang->testtask->testing = "测试中测试单";
|
||||
$lang->testtask->blocked = "被阻塞测试单";
|
||||
$lang->testtask->done = "已测测试单";
|
||||
@@ -54,6 +48,15 @@ $lang->testtask->allTasks = '所有测试';
|
||||
$lang->testtask->collapseAll = '全部折叠';
|
||||
$lang->testtask->expandAll = '全部展开';
|
||||
|
||||
$lang->testtask->viewAction = "测试单概况";
|
||||
$lang->testtask->casesAction = '查看用例';
|
||||
$lang->testtask->activateAction = "激活测试单";
|
||||
$lang->testtask->blockAction = "阻塞测试单";
|
||||
$lang->testtask->closeAction = "关闭测试单";
|
||||
$lang->testtask->startAction = "开始测试单";
|
||||
$lang->testtask->resultsAction = "用例结果";
|
||||
$lang->testtask->reportAction = '用例报表统计';
|
||||
|
||||
$lang->testtask->id = '编号';
|
||||
$lang->testtask->common = '测试单';
|
||||
$lang->testtask->product = '所属' . $lang->productCommon;
|
||||
|
||||
@@ -134,6 +134,12 @@ $(function()
|
||||
})
|
||||
|
||||
$('#dataform .chosen').chosen();
|
||||
$("#dataform .picker-select[data-pickertype!='remote']").picker({chosenMode: true});
|
||||
$("#dataform [data-pickertype='remote']").each(function()
|
||||
{
|
||||
var pickerremote = $(this).attr('data-pickerremote');
|
||||
$(this).picker({chosenMode: true, remote: pickerremote});
|
||||
})
|
||||
|
||||
// hide #parent chosen dropdown on root dropdown show
|
||||
$('#root').on('chosen:showing_dropdown', function()
|
||||
@@ -144,8 +150,8 @@ $(function()
|
||||
|
||||
/**
|
||||
* Load branches by product.
|
||||
*
|
||||
* @param object $obj
|
||||
*
|
||||
* @param object $obj
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
|
||||
@@ -3965,6 +3965,82 @@ class upgradeModel extends model
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adjust priv 15.0.
|
||||
*
|
||||
* @access public
|
||||
* @return true
|
||||
*/
|
||||
public function adjustPriv15_0()
|
||||
{
|
||||
$this->dao->update(TABLE_GROUPPRIV)->set('module')->eq('execution')->where('module')->eq('project')->exec();
|
||||
|
||||
$stmt = $this->dao->select('*')->from(TABLE_GROUPPRIV)->where('module')->eq('program')->andWhere('method')->like('PGM%')->query();
|
||||
while($grouppriv = $stmt->fetch())
|
||||
{
|
||||
$this->dao->delete()->from(TABLE_GROUPPRIV)->where('module')->eq($grouppriv->module)->andWhere('method')->eq($grouppriv->method)->exec();
|
||||
$grouppriv->method = strtolower(str_ireplace('PGM', '', $grouppriv->method));
|
||||
$this->dao->replace(TABLE_GROUPPRIV)->data($grouppriv)->exec();
|
||||
|
||||
$grouppriv->method = 'index';
|
||||
$this->dao->replace(TABLE_GROUPPRIV)->data($grouppriv)->exec();
|
||||
}
|
||||
|
||||
$stmt = $this->dao->select('*')->from(TABLE_GROUPPRIV)->where('module')->eq('program')->andWhere('method')->like('PRJ%')->query();
|
||||
while($grouppriv = $stmt->fetch())
|
||||
{
|
||||
$this->dao->delete()->from(TABLE_GROUPPRIV)->where('module')->eq($grouppriv->module)->andWhere('method')->eq($grouppriv->method)->exec();
|
||||
$grouppriv->module = 'project';
|
||||
$grouppriv->method = strtolower(str_ireplace('PRJ', '', $grouppriv->method));
|
||||
$this->dao->replace(TABLE_GROUPPRIV)->data($grouppriv)->exec();
|
||||
|
||||
$grouppriv->method = 'index';
|
||||
$this->dao->replace(TABLE_GROUPPRIV)->data($grouppriv)->exec();
|
||||
}
|
||||
|
||||
$stmt = $this->dao->select('*')->from(TABLE_GROUPPRIV)->where('module')->eq('project')->andWhere('method')->eq('story')->query();
|
||||
while($grouppriv = $stmt->fetch())
|
||||
{
|
||||
$grouppriv->module = 'projectstory';
|
||||
$grouppriv->method = 'story';
|
||||
$this->dao->replace(TABLE_GROUPPRIV)->data($grouppriv)->exec();
|
||||
}
|
||||
|
||||
$stmt = $this->dao->select('*')->from(TABLE_GROUPPRIV)->where('module')->eq('story')->andWhere('method')->eq('view')->query();
|
||||
while($grouppriv = $stmt->fetch())
|
||||
{
|
||||
$grouppriv->module = 'projectstory';
|
||||
$grouppriv->method = 'view';
|
||||
$this->dao->replace(TABLE_GROUPPRIV)->data($grouppriv)->exec();
|
||||
}
|
||||
|
||||
$stmt = $this->dao->select('*')->from(TABLE_GROUPPRIV)->where('module')->eq('project')->andWhere('method')->eq('linkstory')->query();
|
||||
while($grouppriv = $stmt->fetch())
|
||||
{
|
||||
$grouppriv->module = 'projectstory';
|
||||
$grouppriv->method = 'linkstory';
|
||||
$this->dao->replace(TABLE_GROUPPRIV)->data($grouppriv)->exec();
|
||||
}
|
||||
|
||||
$stmt = $this->dao->select('*')->from(TABLE_GROUPPRIV)->where('module')->eq('project')->andWhere('method')->eq('unlinkstory')->query();
|
||||
while($grouppriv = $stmt->fetch())
|
||||
{
|
||||
$grouppriv->module = 'projectstory';
|
||||
$grouppriv->method = 'unlinkstory';
|
||||
$this->dao->replace(TABLE_GROUPPRIV)->data($grouppriv)->exec();
|
||||
}
|
||||
|
||||
$stmt = $this->dao->select('*')->from(TABLE_GROUPPRIV)->where('module')->eq('execution')->andWhere('method')->eq('all')->query();
|
||||
while($grouppriv = $stmt->fetch())
|
||||
{
|
||||
$grouppriv->module = 'project';
|
||||
$grouppriv->method = 'execution';
|
||||
$this->dao->replace(TABLE_GROUPPRIV)->data($grouppriv)->exec();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Save Logs.
|
||||
*
|
||||
|
||||
@@ -814,6 +814,7 @@ class userModel extends model
|
||||
|
||||
$user->rights = $this->authorize($account);
|
||||
$user->groups = $this->getGroups($account);
|
||||
$user->view = $this->grantUserView($user->account, $user->rights['acls']);
|
||||
$this->session->set('user', $user);
|
||||
$this->app->user = $this->session->user;
|
||||
$this->loadModel('action')->create('user', $user->id, 'login');
|
||||
@@ -836,6 +837,7 @@ class userModel extends model
|
||||
|
||||
$user->rights = $this->authorize($account);
|
||||
$user->groups = $this->getGroups($account);
|
||||
$user->view = $this->grantUserView($user->account, $user->rights['acls']);
|
||||
$this->session->set('user', $user);
|
||||
$this->app->user = $this->session->user;
|
||||
$this->loadModel('action')->create('user', $user->id, 'login');
|
||||
|
||||
@@ -9,6 +9,8 @@ $lang->webhook->chooseDept = '选择同步部门';
|
||||
$lang->webhook->assigned = '指派给';
|
||||
$lang->webhook->setting = '设置';
|
||||
|
||||
$lang->webhook->logAction = 'Webhook日志';
|
||||
|
||||
$lang->webhook->browse = '浏览Webhook';
|
||||
$lang->webhook->create = '添加Webhook';
|
||||
$lang->webhook->edit = '编辑Webhook';
|
||||
|
||||
+4
-3
@@ -11,6 +11,7 @@ $config->programLink = '-';
|
||||
$config->productLink = '-';
|
||||
$config->projectLink = '-';
|
||||
$config->executionLink = '-';
|
||||
$config->systemMode = 'new';
|
||||
|
||||
/* set module root path and included the resource of group module. */
|
||||
$moduleRoot = '../module/';
|
||||
@@ -48,8 +49,8 @@ $whiteList[] = 'help-field';
|
||||
$whiteList[] = 'index-testext';
|
||||
$whiteList[] = 'productplan-commonaction';
|
||||
$whiteList[] = 'project-managechilds';
|
||||
$whiteList[] = 'project-tips';
|
||||
$whiteList[] = 'project-commonaction';
|
||||
$whiteList[] = 'execution-tips';
|
||||
$whiteList[] = 'execution-commonaction';
|
||||
$whiteList[] = 'project-sendmail';
|
||||
$whiteList[] = 'release-commonaction';
|
||||
$whiteList[] = 'task-commonaction';
|
||||
@@ -293,7 +294,7 @@ foreach($demoSQL as $line => $sql)
|
||||
|
||||
if(strpos($sql, $config->db->prefix . 'config') !== false or
|
||||
strpos($sql, $config->db->prefix . 'company') !== false or
|
||||
strpos($sql, $config->db->prefix . 'group') !== false)
|
||||
strpos($sql, $config->db->prefix . 'group') !== false)
|
||||
{
|
||||
die('line ' . ($line + 1) . " has error\n");
|
||||
}
|
||||
|
||||
@@ -50,6 +50,7 @@ KindEditor.lang({
|
||||
unlink : '取消超级链接',
|
||||
fullscreen : '全屏显示',
|
||||
about : '关于',
|
||||
holder: '插入系统数据',
|
||||
print : '打印(Ctrl+P)',
|
||||
filemanager : '文件空间',
|
||||
code : '插入程序代码',
|
||||
@@ -122,13 +123,11 @@ KindEditor.lang({
|
||||
'flash.upload' : '上传',
|
||||
'flash.viewServer' : '文件空间',
|
||||
'media.url' : 'URL',
|
||||
'media.urlTip': '多个 URL 使用英文逗号分隔',
|
||||
'media.width' : '宽度',
|
||||
'media.height' : '高度',
|
||||
'media.autostart' : '自动播放',
|
||||
'media.upload' : '上传',
|
||||
'media.viewServer' : '文件空间',
|
||||
'media.controls': '播放控件',
|
||||
'image.remoteImage' : '网络图片',
|
||||
'image.localImage' : '本地上传',
|
||||
'image.remoteUrl' : '图片地址',
|
||||
@@ -213,8 +212,6 @@ KindEditor.lang({
|
||||
'FangSong_GB2312' : '仿宋_GB2312',
|
||||
'KaiTi_GB2312' : '楷体_GB2312',
|
||||
'SimHei' : '黑体',
|
||||
'Source Han Sans': '思源黑体',
|
||||
'Source Han Serif': '思源宋体',
|
||||
'Microsoft YaHei' : '微软雅黑',
|
||||
'Arial' : 'Arial',
|
||||
'Arial Black' : 'Arial Black',
|
||||
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
@@ -191,7 +191,7 @@
|
||||
<glyph unicode="" glyph-name="more-alt" d="M36.571 804.571v-1024M73.143 804.571v-1024M109.714 804.571v-1024M146.286 804.571v-1024M182.857 804.571v-1024M219.429 804.571v-1024M256 804.571v-1024M292.571 804.571v-1024M329.143 804.571v-1024M365.714 804.571v-1024M402.286 804.571v-1024M438.857 804.571v-1024M475.429 804.571v-1024M512 804.571v-1024M548.571 804.571v-1024M585.143 804.571v-1024M621.714 804.571v-1024M658.286 804.571v-1024M694.857 804.571v-1024M731.429 804.571v-1024M768 804.571v-1024M804.571 804.571v-1024M841.143 804.571v-1024M877.714 804.571v-1024M914.286 804.571v-1024M950.857 804.571v-1024M987.429 804.571v-1024M0 768h1024M0 731.428h1024M0 694.857h1024M0 658.285h1024M0 621.714h1024M0 585.142h1024M0 548.571h1024M0 512h1024M0 475.428h1024M0 438.857h1024M0 402.285h1024M0 365.714h1024M0 329.142h1024M0 292.571h1024M0 256h1024M0 219.428h1024M0 182.857h1024M0 146.285h1024M0 109.714h1024M0 73.142h1024M0 36.571h1024M0 0h1024M0-36.572h1024M0-73.143h1024M0-109.715h1024M0-146.286h1024M0-182.858h1024M512-219.429c-282.331 0-512 229.669-512 512s229.669 512 512 512c282.331 0 512-229.669 512-512s-229.669-512-512-512zM512 731.428c-242.003 0-438.857-196.854-438.857-438.857s196.854-438.857 438.857-438.857c242.001 0 438.857 196.854 438.857 438.857s-196.854 438.857-438.857 438.857zM742.857 270.107c0-3.707-1.851-7.878-4.626-10.659l-215.59-215.957c-2.776-2.781-6.94-4.634-10.641-4.634s-7.865 1.854-10.641 4.634l-215.59 215.957c-2.776 2.781-4.626 6.951-4.626 10.659s1.851 7.878 4.626 10.659l23.132 23.171c2.776 2.781 6.477 4.634 10.641 4.634 3.701 0 7.865-1.854 10.641-4.634l181.817-182.127 181.817 182.127c2.776 2.781 6.94 4.634 10.641 4.634s7.865-1.854 10.641-4.634l23.132-23.171c2.776-2.781 4.626-6.951 4.626-10.659zM742.857 473.535c0-3.707-1.851-7.878-4.626-10.659l-215.59-215.957c-2.776-2.781-6.94-4.634-10.641-4.634s-7.865 1.854-10.641 4.634l-215.59 215.957c-2.776 2.781-4.626 6.951-4.626 10.659s1.851 7.878 4.626 10.659l23.132 23.171c2.776 2.781 6.477 4.634 10.641 4.634 3.701 0 7.865-1.854 10.641-4.634l181.817-182.127 181.817 182.127c2.776 2.781 6.94 4.634 10.641 4.634s7.865-1.854 10.641-4.634l23.132-23.171c2.776-2.781 4.626-6.951 4.626-10.659z" />
|
||||
<glyph unicode="" glyph-name="list, format-list-bulleted" d="M74.278 678.363c-41.028 0-74.278-33.069-74.278-73.84s33.25-73.83 74.278-73.83c41.028 0 74.278 33.059 74.278 73.83s-33.25 73.84-74.278 73.84zM993.42 682.6h-730.258c-16.912 0-30.58-13.615-30.58-30.398v-84.171c0-16.793 13.667-30.398 30.58-30.398h730.258c16.89 0 30.58 13.605 30.58 30.398v84.171c0 16.784-13.692 30.398-30.58 30.398zM993.42 360.399h-730.258c-16.912 0-30.58-13.605-30.58-30.408v-84.172c0-16.783 13.667-30.398 30.58-30.398h730.258c16.89 0 30.58 13.615 30.58 30.398v84.172c0 16.806-13.692 30.408-30.58 30.408zM993.42 38.187h-730.258c-16.912 0-30.58-13.604-30.58-30.388v-84.172c0-16.781 13.667-30.407 30.58-30.407h730.258c16.89 0 30.58 13.626 30.58 30.407v84.172c0 16.783-13.692 30.388-30.58 30.388zM74.278 356.161c-41.028 0-74.278-33.058-74.278-73.841 0-40.773 33.25-73.83 74.278-73.83s74.278 33.058 74.278 73.83c0 40.781-33.25 73.841-74.278 73.841v0zM74.278 33.947c-41.028 0-74.278-33.058-74.278-73.828 0-40.773 33.25-73.83 74.278-73.83s74.278 33.058 74.278 73.83c0 40.771-33.25 73.828-74.278 73.828z" />
|
||||
<glyph unicode="" glyph-name="run" d="M748.118 179.312l-132.404 64.575c44.564 15.435 103.161 50.2 103.048 126.351v7.566c7.566 6.809 15.132 13.58 22.697 20.428 26.48 23.757 23.681 58.9-5.675 78.572-55.231 36.998-110.803 73.465-166.11 110.386v0c-11.761 8.195-26.594 10.641-40.364 6.658-55.534-15.397-111.030-31.021-166.072-48.006v0c-10.618-3.971-19.828-10.985-26.48-20.163-12.030-15.888-10.214-38.737 1.475-54.324v0c12.265-16.322 33.46-23.18 52.962-17.137 44.942 12.522 89.656 25.724 134.636 38.057v0c5.216 1.174 10.682 0.351 15.321-2.308 25.989-16.494 51.486-33.706 77.135-50.73 4.35-2.875 8.511-5.977 13.391-9.419-3.783-3.783-6.771-6.544-9.836-9.306l-43.277-38.587h-416.202v-23.265h390.402c-27.112-24.161-54.21-48.359-81.295-72.595v0c-9.441-7.941-16.149-18.646-19.179-30.604h-452.292v-23.416h453.578c4.274-12.333 14.299-23.379 29.999-31.058 36.821-18.032 73.68-35.988 110.576-53.87 23.114-11.349 46.228-22.697 70.325-34.463-2.572-4.464-4.539-8.020-6.658-11.349-30.491-49.456-60.994-98.912-91.509-148.368-19.709-32.118-4.426-68.093 31.777-75.659 18.688-3.783 37.83 5.41 49.746 24.665 41.184 66.529 82.267 133.11 123.25 199.741 19.974 32.496 11.614 60.754-22.962 77.627v0.001zM585.866 259.058l14.489 13.013c31.423 28.019 62.861 56.038 94.31 84.057-8.209-65.71-73.806-89.165-108.799-97.033v-0.037zM429.857 219.374c-3.405-4.88-5.826-8.209-8.057-11.651-21.639-33.479-43.050-67.109-65.067-100.324v0c-4.152-6.226-9.63-11.459-16.040-15.321-71.385-41.613-143.109-83.035-214.646-124.838-25.081-14.602-32.95-42.937-19.218-66.581s42.672-30.756 67.299-16.645c77.273 44.564 154.433 89.291 231.48 134.181v0c8.396 5.093 15.575 11.962 21.033 20.125 24.703 36.922 48.497 74.449 72.595 111.749 1.551 2.383 2.762 4.956 4.464 8.057-29.621 14.602-61.511 25.119-73.843 61.247v0zM818.329 483.613v0c62.155-0.146 112.662 50.123 112.808 112.279s-50.123 112.662-112.279 112.808c-62.155 0.146-112.662-50.123-112.808-112.279 0-0.164 0-0.328 0-0.491v0.001c0.187-61.938 50.34-112.109 112.278-112.318h0.001zM1022.609 488.985c-4.313 18.461-15.813 31.247-34.274 36.014-19.218 4.956-35.901-0.302-49.481-15.132-31.814-34.954-63.781-69.758-95.747-104.94l-52.28 34.765c1.929-39.267-21.261-61.965-48.46-83.225 29.81-19.861 57.69-39.57 86.705-57.388 18.082-11.122 41.613-6.507 56.291 9.571 42.47 46.001 84.688 92.342 126.654 139.024v0c10.363 11.053 14.358 26.635 10.592 41.31h0.001z" />
|
||||
<glyph unicode="" glyph-name="program" d="M356.409 332h-236.327c-65.188 0.094-118.023 52.891-118.164 118.078v236.327c0 65.134 53.029 118.164 118.164 118.164h236.327c65.134 0 118.078-53.029 118.078-118.164v-236.327c0-65.134-52.943-118.078-118.078-118.078v0zM120.082 725.879v0c-21.767-0.048-39.388-17.706-39.388-39.473v-236.327c0-21.655 17.648-39.388 39.388-39.388h236.327c21.734 0.046 39.341 17.654 39.388 39.388v236.327c-0.046 21.734-17.654 39.341-39.388 39.388l-236.327 0.086zM356.409-219.429h-236.327c-65.221 0.094-118.070 52.942-118.164 118.164v236.327c0 65.134 53.029 118.164 118.164 118.164h236.327c65.134 0 118.078-53.029 118.078-118.164v-236.327c0-65.134-52.943-118.164-118.078-118.164v0zM120.082 174.535v0c-21.753 0-39.388-17.635-39.388-39.388v-236.327c0-21.74 17.648-39.388 39.388-39.388h236.327c21.753 0 39.388 17.635 39.388 39.388v236.242c0 21.753-17.635 39.388-39.388 39.388l-236.327 0.085zM903.917 332.087h-236.327c-65.188 0.094-118.023 52.891-118.164 118.078v236.242c0 65.134 53.029 118.164 118.164 118.164h236.327c65.134 0 118.164-53.029 118.164-118.164v-236.327c0-65.134-53.029-118.078-118.164-118.078v0.085zM667.59 725.88v0c-21.753 0-39.388-17.635-39.388-39.388 0-0.029 0-0.057 0-0.086v-236.327c0-21.655 17.648-39.388 39.388-39.388h236.327c21.753 0 39.388 17.635 39.388 39.388v236.327c0 21.753-17.635 39.388-39.388 39.388 0 0 0 0 0 0l-236.327 0.086zM903.917-219.428h-236.327c-65.221 0.094-118.070 52.942-118.164 118.164v236.327c0 65.134 53.029 118.164 118.164 118.164h236.327c65.134 0 118.164-53.029 118.164-118.164v-236.327c0-65.134-53.029-118.164-118.164-118.164v0zM667.59 174.536v0c-21.753 0-39.388-17.635-39.388-39.388v-236.327c0-21.74 17.648-39.388 39.388-39.388h236.327c21.753 0 39.388 17.635 39.388 39.388v236.242c0 21.753-17.635 39.388-39.388 39.388l-236.327 0.085z" />
|
||||
<glyph unicode="" glyph-name="program" d="M378.639 326.367h-202.57c-55.876 0.076-101.163 45.335-101.284 101.21v202.57c0 55.828 45.448 101.284 101.284 101.284h202.57c55.828 0 101.21-45.448 101.21-101.284v-202.57c0-55.828-45.376-101.21-101.21-101.21v0zM176.072 663.975v0c-18.652-0.040-33.76-15.172-33.76-33.832v-202.57c0-18.556 15.124-33.76 33.76-33.76h202.57c18.628 0.040 33.721 15.132 33.76 33.76v202.57c-0.040 18.628-15.132 33.721-33.76 33.76l-202.57 0.074zM378.639-146.288h-202.57c-55.9 0.076-101.205 45.376-101.284 101.284v202.57c0 55.828 45.448 101.284 101.284 101.284h202.57c55.828 0 101.21-45.448 101.21-101.284v-202.57c0-55.828-45.376-101.284-101.21-101.284v0zM176.072 191.396v0c-18.64 0-33.76-15.112-33.76-33.76v-202.57c0-18.634 15.124-33.76 33.76-33.76h202.57c18.64 0 33.76 15.112 33.76 33.76v202.498c0 18.64-15.112 33.76-33.76 33.76l-202.57 0.073zM847.929 326.439h-202.57c-55.876 0.076-101.163 45.335-101.284 101.21v202.498c0 55.828 45.448 101.284 101.284 101.284h202.57c55.828 0 101.284-45.448 101.284-101.284v-202.57c0-55.828-45.448-101.21-101.284-101.21v0.073zM645.361 663.975v0c-18.64 0-33.76-15.112-33.76-33.76 0-0.025 0-0.049 0-0.074v-202.57c0-18.556 15.124-33.76 33.76-33.76h202.57c18.64 0 33.76 15.112 33.76 33.76v202.57c0 18.64-15.112 33.76-33.76 33.76 0 0 0 0 0 0l-202.57 0.074zM847.929-146.286h-202.57c-55.9 0.076-101.205 45.376-101.284 101.284v202.57c0 55.828 45.448 101.284 101.284 101.284h202.57c55.828 0 101.284-45.448 101.284-101.284v-202.57c0-55.828-45.448-101.284-101.284-101.284v0zM645.361 191.397v0c-18.64 0-33.76-15.112-33.76-33.76v-202.57c0-18.634 15.124-33.76 33.76-33.76h202.57c18.64 0 33.76 15.112 33.76 33.76v202.498c0 18.64-15.112 33.76-33.76 33.76l-202.57 0.073z" />
|
||||
<glyph unicode="" glyph-name="alter" d="M207.461-190.178l200.355 202.59h-148.075v332.852c0 20.361 16.506 36.866 36.866 36.866h371.016v97.533h-425.961c-24.062 0-46.609-11.74-60.406-31.453-4.477-6.398-8.065-12.407-10.762-18.029-6.749-14.067-10.023-30.084-9.823-48.051v0-369.718h-160.671l207.461-202.59zM816.539 775.319l-200.355-202.59h148.075v-332.852c0-20.361-16.506-36.866-36.866-36.866h-371.016v-97.533h443.634c28.279 0 52.263 20.776 56.294 48.767l5.769 40.051c0.836 5.803 1.255 11.658 1.255 17.52v360.913h160.671l-207.461 202.59z" />
|
||||
<glyph unicode="" glyph-name="file, file-empty" horiz-adv-x="878" d="M838.857 587.428c21.143-21.143 38.857-63.429 38.857-93.714v-658.286c0-30.286-24.571-54.857-54.857-54.857h-768c-30.286 0-54.857 24.571-54.857 54.857v914.286c0 30.286 24.571 54.857 54.857 54.857h512c30.286 0 72.571-17.714 93.714-38.857zM585.143 726.857v-214.857h214.857c-3.429 9.714-8.571 19.429-12.571 23.429l-178.857 178.857c-4 4-13.714 9.143-23.429 12.571zM804.571-146.286v585.143h-237.714c-30.286 0-54.857 24.571-54.857 54.857v237.714h-438.857v-877.714h731.429z" />
|
||||
<glyph unicode="" glyph-name="book" d="M948.764 510.653c13.529-19.482 17.318-44.918 9.741-69.81l-148.822-490.3c-13.529-45.999-61.152-81.716-107.693-81.716h-499.501c-55.199 0-114.186 43.835-134.21 100.116-8.658 24.352-8.658 48.165-1.083 68.728 1.083 10.823 3.248 21.647 3.789 34.635 0.541 8.658-4.329 15.694-3.248 22.188 2.165 12.988 13.529 22.188 22.188 36.799 16.235 27.058 34.635 70.893 40.587 99.033 2.706 10.281-2.706 22.188 0 31.388 2.706 10.281 12.988 17.859 18.401 27.6 14.612 24.894 33.554 73.058 36.259 98.493 1.083 11.364-4.329 23.811-1.083 32.471 3.789 12.447 15.694 17.859 23.811 28.682 12.988 17.859 34.635 69.269 37.881 97.952 1.083 9.199-4.329 18.401-2.706 28.14 2.165 10.281 15.153 21.106 23.811 33.554 22.728 33.554 27.058 107.693 95.787 88.211l-0.541-1.623c9.199 2.165 18.401 4.871 27.6 4.871h411.831c25.434 0 48.165-11.364 61.694-30.306 14.070-19.482 17.318-44.918 9.741-70.352l-148.281-490.3c-25.434-83.34-39.505-101.74-108.235-101.74h-470.277c-7.035 0-15.694-1.623-20.565-8.117-4.329-6.495-4.871-11.364-0.541-23.269 10.823-31.388 48.165-37.881 77.93-37.881h499.501c20.024 0 43.293 11.364 49.247 30.846l162.352 534.135c3.248 10.281 3.248 21.106 2.706 30.846 12.447-4.871 23.811-12.447 31.929-23.269zM372.959 509.57c-3.248-9.741 2.165-17.318 11.905-17.318h329.032c9.199 0 19.482 7.576 22.728 17.318l11.364 34.635c3.248 9.741-2.165 17.318-11.905 17.318h-329.032c-9.199 0-19.482-7.576-22.728-17.318zM328.043 371.031c-3.248-9.741 2.165-17.318 11.905-17.318h329.032c9.199 0 19.482 7.576 22.728 17.318l11.364 34.635c3.248 9.741-2.165 17.318-11.905 17.318h-329.032c-9.199 0-19.482-7.576-22.728-17.318z" />
|
||||
|
||||
|
Before Width: | Height: | Size: 189 KiB After Width: | Height: | Size: 189 KiB |
Binary file not shown.
Binary file not shown.
@@ -1,4 +1,4 @@
|
||||
<?php
|
||||
$lang->client->menu = $lang->admin->menu;
|
||||
$lang->client->common = '客户端版本更新';
|
||||
|
||||
$lang->client->browseVersion = '版本列表';
|
||||
|
||||
@@ -3,14 +3,17 @@ $lang->xuanxuan = new stdclass();
|
||||
$lang->admin->menu->xuanxuan = array('link' => '客户端|admin|xuanxuan', 'subModule' => 'client,setting');
|
||||
$lang->admin->menuOrder[6] = 'xuanxuan';
|
||||
|
||||
$lang->admin->subMenu->xuanxuan = new stdclass();
|
||||
$lang->admin->subMenu->xuanxuan->index = array('link' => '首页|admin|xuanxuan');
|
||||
$lang->admin->subMenu->xuanxuan->setting = array('link' => '参数|setting|xuanxuan');
|
||||
$lang->admin->subMenu->xuanxuan->update = array('link' => '更新|client|browse', 'subModule' => 'client');
|
||||
$lang->admin->subMenuOrder->xuanxuan[0] = 'index';
|
||||
$lang->admin->subMenuOrder->xuanxuan[5] = 'setting';
|
||||
$lang->admin->subMenuOrder->xuanxuan[10] = 'update';
|
||||
$lang->admin->menu->xuanxuan['subMenu'] = new stdclass();
|
||||
$lang->admin->menu->xuanxuan['subMenu']->index = array('link' => '首页|admin|xuanxuan');
|
||||
$lang->admin->menu->xuanxuan['subMenu']->setting = array('link' => '参数|setting|xuanxuan');
|
||||
$lang->admin->menu->xuanxuan['subMenu']->update = array('link' => '更新|client|browse', 'subModule' => 'client');
|
||||
|
||||
$lang->menugroup->client = 'admin';
|
||||
$lang->admin->menu->xuanxuan['menuOrder'][0] = 'index';
|
||||
$lang->admin->menu->xuanxuan['menuOrder'][5] = 'setting';
|
||||
$lang->admin->menu->xuanxuan['menuOrder'][10] = 'update';
|
||||
|
||||
$lang->navGroup->im = 'admin';
|
||||
$lang->navGroup->setting = 'admin';
|
||||
$lang->navGroup->client = 'admin';
|
||||
|
||||
$lang->confirmDelete = '您确定要执行删除操作吗?';
|
||||
|
||||
Reference in New Issue
Block a user