* Finish task #91014.

This commit is contained in:
hufangzhou
2023-04-12 15:42:00 +08:00
parent 71898e32ae
commit 900df86cc5
6 changed files with 339 additions and 0 deletions
+203
View File
@@ -541,3 +541,206 @@ $lang->changelog['16.4'][] = 'sonarqube-browseIssue';
$lang->changelog['16.5_beta1'][] = 'productplan-batchChangeStatus';
$lang->changelog['16.5_beta1'][] = 'custom-required';
$lang->changelog['17.0.beta2'][] = 'kanban-activateSpace';
$lang->changelog['17.0.beta2'][] = 'kanban-activate';
$lang->changelog['17.0.beta2'][] = 'doc-updateOrder';
$lang->changelog['17.0.beta2'][] = 'custom-kanban';
$lang->changelog['17.1'][] = 'kanban-editLaneColor';
$lang->changelog['17.1'][] = 'kanban-editLaneName';
$lang->changelog['17.1'][] = 'kanban-editColumn';
$lang->changelog['17.1'][] = 'testcase-linkBugs';
$lang->changelog['17.2'][] = 'execution-storyView';
$lang->changelog['17.2'][] = 'testcase-importToLib';
$lang->changelog['17.2'][] = 'doc-sortLibs';
$lang->changelog['17.2'][] = 'admin-resetPWDSetting';
$lang->changelog['17.3'][] = 'execution-CFD';
$lang->changelog['17.3'][] = 'execution-computeCFD';
$lang->changelog['17.3'][] = 'repo-downloadCode';
$lang->changelog['17.3'][] = 'gitlab-browseBranchPriv';
$lang->changelog['17.3'][] = 'gitlab-browseTagPriv';
$lang->changelog['17.3'][] = 'gitea-browse';
$lang->changelog['17.3'][] = 'gitea-create';
$lang->changelog['17.3'][] = 'gitea-edit';
$lang->changelog['17.3'][] = 'gitea-view';
$lang->changelog['17.3'][] = 'gitea-delete';
$lang->changelog['17.3'][] = 'gitea-bindUser';
$lang->changelog['17.3'][] = 'app-serverLink';
$lang->changelog['17.4'][] = 'custom-code';
$lang->changelog['17.5'][] = 'story-linkStoriesAB';
$lang->changelog['17.5'][] = 'kanban-setting';
$lang->changelog['17.5'][] = 'execution-setKanban';
$lang->changelog['17.5'][] = 'testcase-exportTemplate';
$lang->changelog['17.5'][] = 'caselib-exportTemplate';
$lang->changelog['17.5'][] = 'compile-syncCompile';
$lang->changelog['17.5'][] = 'gogs-browse';
$lang->changelog['17.5'][] = 'gogs-create';
$lang->changelog['17.5'][] = 'gogs-edit';
$lang->changelog['17.5'][] = 'gogs-view';
$lang->changelog['17.5'][] = 'gogs-delete';
$lang->changelog['17.5'][] = 'gogs-bindUser';
$lang->changelog['17.6'][] = 'product-track';
$lang->changelog['17.6'][] = 'story-submitReview';
$lang->changelog['17.6'][] = 'story-recallAction';
$lang->changelog['17.6'][] = 'testcase-zeroCase';
$lang->changelog['17.6'][] = 'admin-tableEngine';
$lang->changelog['17.6.1'][] = 'repo-linkStory';
$lang->changelog['17.6.1'][] = 'repo-linkBug';
$lang->changelog['17.6.1'][] = 'repo-linkTask';
$lang->changelog['17.6.1'][] = 'repo-unlink';
$lang->changelog['17.7'][] = 'project-manageRepo';
$lang->changelog['17.7'][] = 'projectplan-browse';
$lang->changelog['17.7'][] = 'projectplan-create';
$lang->changelog['17.7'][] = 'projectplan-edit';
$lang->changelog['17.7'][] = 'projectplan-view';
$lang->changelog['17.7'][] = 'report-viewEveryoneAnnual';
$lang->changelog['17.8'][] = 'my-audit';
$lang->changelog['17.8'][] = 'execution-treeViewTask';
$lang->changelog['17.8'][] = 'execution-treeViewStory';
$lang->changelog['18.0.beta1'][] = 'projectbuild-create';
$lang->changelog['18.0.beta1'][] = 'projectbuild-edit';
$lang->changelog['18.0.beta1'][] = 'projectbuild-view';
$lang->changelog['18.0.beta1'][] = 'projectbuild-delete';
$lang->changelog['18.0.beta1'][] = 'projectbuild-linkStory';
$lang->changelog['18.0.beta1'][] = 'projectbuild-unlinkStory';
$lang->changelog['18.0.beta1'][] = 'projectbuild-batchUnlinkStory';
$lang->changelog['18.0.beta1'][] = 'projectbuild-linkBug';
$lang->changelog['18.0.beta1'][] = 'projectbuild-unlinkBug';
$lang->changelog['18.0.beta1'][] = 'projectbuild-batchUnlinkBug';
$lang->changelog['18.0.beta1'][] = 'zahost-browse';
$lang->changelog['18.0.beta1'][] = 'zahost-create';
$lang->changelog['18.0.beta1'][] = 'zahost-editAction';
$lang->changelog['18.0.beta1'][] = 'zahost-deleteAction';
$lang->changelog['18.0.beta1'][] = 'zahost-browseTemplate';
$lang->changelog['18.0.beta1'][] = 'zahost-createTemplate';
$lang->changelog['18.0.beta1'][] = 'zahost-editTemplate';
$lang->changelog['18.0.beta1'][] = 'zahost-deleteTemplate';
$lang->changelog['18.0.beta1'][] = 'executionnode-browse';
$lang->changelog['18.0.beta1'][] = 'executionnode-create';
$lang->changelog['18.0.beta1'][] = 'executionnode-destroy';
$lang->changelog['18.0.beta1'][] = 'executionnode-reboot';
$lang->changelog['18.0.beta1'][] = 'executionnode-suspend';
$lang->changelog['18.0.beta1'][] = 'executionnode-resume';
$lang->changelog['18.0.beta1'][] = 'executionnode-getVNC';
$lang->changelog['18.0.beta1'][] = 'repo-linkStory';
$lang->changelog['18.0.beta1'][] = 'repo-linkBug';
$lang->changelog['18.0.beta1'][] = 'repo-linkTask';
$lang->changelog['18.0.beta1'][] = 'repo-unlink';
$lang->changelog['18.0.beta2'][] = 'testcase-showScript';
$lang->changelog['18.0.beta2'][] = 'testcase-automation';
$lang->changelog['18.0.beta2'][] = 'zanode-browse';
$lang->changelog['18.0.beta2'][] = 'zanode-create';
$lang->changelog['18.0.beta2'][] = 'zanode-destroy';
$lang->changelog['18.0.beta2'][] = 'zanode-reboot';
$lang->changelog['18.0.beta2'][] = 'zanode-suspend';
$lang->changelog['18.0.beta2'][] = 'zanode-resume';
$lang->changelog['18.0.beta2'][] = 'zanode-getVNC';
$lang->changelog['18.0.beta3'][] = 'story-relievedTwins';
$lang->changelog['18.0.beta3'][] = 'automation-browse';
$lang->changelog['18.0.beta3'][] = 'screen-browse';
$lang->changelog['18.0.beta3'][] = 'screen-view';
$lang->changelog['18.0.beta3'][] = 'report-preview';
$lang->changelog['18.0'][] = 'testcase-showScript';
$lang->changelog['18.0'][] = 'testcase-automation';
$lang->changelog['18.0'][] = 'zahost-browse';
$lang->changelog['18.0'][] = 'zahost-create';
$lang->changelog['18.0'][] = 'zahost-editAction';
$lang->changelog['18.0'][] = 'zahost-deleteAction';
$lang->changelog['18.0'][] = 'zahost-view';
$lang->changelog['18.0'][] = 'zahost-browseImage';
$lang->changelog['18.0'][] = 'zahost-downloadImage';
$lang->changelog['18.0'][] = 'zahost-cancel';
$lang->changelog['18.0'][] = 'zanode-browse';
$lang->changelog['18.0'][] = 'zanode-create';
$lang->changelog['18.0'][] = 'zanode-edit';
$lang->changelog['18.0'][] = 'zanode-destroy';
$lang->changelog['18.0'][] = 'zanode-reboot';
$lang->changelog['18.0'][] = 'zanode-suspend';
$lang->changelog['18.0'][] = 'zanode-resume';
$lang->changelog['18.0'][] = 'zanode-getVNC';
$lang->changelog['18.0'][] = 'zanode-boot';
$lang->changelog['18.0'][] = 'zanode-shutdown';
$lang->changelog['18.0'][] = 'zanode-view';
$lang->changelog['18.0'][] = 'zanode-createImage';
$lang->changelog['18.0'][] = 'repo-linkStory';
$lang->changelog['18.0'][] = 'repo-linkBug';
$lang->changelog['18.0'][] = 'repo-linkTask';
$lang->changelog['18.0'][] = 'repo-unlink';
$lang->changelog['18.1'][] = 'zanode-browseSnapshot';
$lang->changelog['18.1'][] = 'zanode-createSnapshot';
$lang->changelog['18.1'][] = 'zanode-editSnapshot';
$lang->changelog['18.1'][] = 'zanode-restoreSnapshot';
$lang->changelog['18.1'][] = 'zanode-deleteSnapshot';
$lang->changelog['18.1'][] = 'custom-productName';
$lang->changelog['18.1'][] = 'holiday-createAction';
$lang->changelog['18.1'][] = 'holiday-editAction';
$lang->changelog['18.1'][] = 'holiday-deleteAction';
$lang->changelog['18.1'][] = 'holiday-browse';
$lang->changelog['18.1'][] = 'holiday-importAction';
$lang->changelog['18.2'][] = 'projectbuild-create';
$lang->changelog['18.2'][] = 'stage-plusBrowse';
$lang->changelog['18.2'][] = 'execution-batchChangeStatus';
$lang->changelog['18.2'][] = 'custom-executionCommon';
$lang->changelog['18.3'][] = 'custom-hours';
$lang->changelog['18.3'][] = 'custom-percent';
$lang->changelog['18.3'][] = 'custom-beginAndEndDate';
$lang->changelog['18.3'][] = 'group-editManagePriv';
$lang->changelog['18.3'][] = 'group-managePrivPackage';
$lang->changelog['18.3'][] = 'group-createPrivPackage';
$lang->changelog['18.3'][] = 'group-editPrivPackage';
$lang->changelog['18.3'][] = 'group-deletePrivPackage';
$lang->changelog['18.3'][] = 'group-sortPrivPackages';
$lang->changelog['18.3'][] = 'group-addRelation';
$lang->changelog['18.3'][] = 'group-deleteRelation';
$lang->changelog['18.3'][] = 'group-batchDeleteRelation';
$lang->changelog['18.3'][] = 'group-createPriv';
$lang->changelog['18.3'][] = 'group-editPriv';
$lang->changelog['18.3'][] = 'group-deletePriv';
$lang->changelog['18.3'][] = 'editor-index';
$lang->changelog['18.3'][] = 'editor-extend';
$lang->changelog['18.3'][] = 'editor-edit';
$lang->changelog['18.3'][] = 'editor-newPage';
$lang->changelog['18.3'][] = 'editor-save';
$lang->changelog['18.3'][] = 'editor-delete';
$lang->changelog['18.4'][] = 'doc-mySpace';
$lang->changelog['18.4'][] = 'doc-myView';
$lang->changelog['18.4'][] = 'doc-myCollection';
$lang->changelog['18.4'][] = 'doc-myCreation';
$lang->changelog['18.4'][] = 'doc-view';
$lang->changelog['18.4'][] = 'doc-productSpace';
$lang->changelog['18.4'][] = 'doc-projectSpace';
$lang->changelog['18.4'][] = 'doc-teamSpace';
$lang->changelog['18.4'][] = 'doc-addCatalog';
$lang->changelog['18.4'][] = 'doc-editCatalog';
$lang->changelog['18.4'][] = 'doc-deleteCatalog';
$lang->changelog['18.4'][] = 'doc-displaySetting';
$lang->changelog['18.4'][] = 'group-batchChangePackage';
$lang->changelog['18.4'][] = 'screen-annualData';
$lang->changelog['18.4'][] = 'screen-allAnnualData';
$lang->changelog['18.4'][] = 'pivot-preview';
$lang->changelog['18.4'][] = 'pivot-productSummary';
$lang->changelog['18.4'][] = 'pivot-projectDeviation';
$lang->changelog['18.4'][] = 'pivot-bugCreate';
$lang->changelog['18.4'][] = 'pivot-bugAssign';
$lang->changelog['18.4'][] = 'pivot-workload';
$lang->changelog['18.4'][] = 'chart-preview';
$lang->changelog['18.4'][] = 'api-addCatalog';
$lang->changelog['18.4'][] = 'api-editCatalog';
$lang->changelog['18.4'][] = 'api-deleteCatalog';
+18
View File
@@ -121,6 +121,24 @@ $lang->group->copyOptions['copyPriv'] = 'Rechte kopieren';
$lang->group->copyOptions['copyUser'] = 'Benutzer kopieren';
$lang->group->versions[''] = 'Verlauf';
$lang->group->versions['18_4'] = 'ZenTao18.4';
$lang->group->versions['18_3'] = 'ZenTao18.3';
$lang->group->versions['18_2'] = 'ZenTao18.2';
$lang->group->versions['18_1'] = 'ZenTao18.1';
$lang->group->versions['18_0'] = 'ZenTao18.0';
$lang->group->versions['18_0_beta3'] = 'ZenTao18.0.beta3';
$lang->group->versions['18_0_beta2'] = 'ZenTao18.0.beta2';
$lang->group->versions['18_0_beta1'] = 'ZenTao18.0.beta1';
$lang->group->versions['17_8'] = 'ZenTao17.8';
$lang->group->versions['17_7'] = 'ZenTao17.7';
$lang->group->versions['17_6_1'] = 'ZenTao17.6.1';
$lang->group->versions['17_6'] = 'ZenTao17.6';
$lang->group->versions['17_5'] = 'ZenTao17.5';
$lang->group->versions['17_4'] = 'ZenTao17.4';
$lang->group->versions['17_3'] = 'ZenTao17.3';
$lang->group->versions['17_2'] = 'ZenTao17.2';
$lang->group->versions['17_1'] = 'ZenTao17.1';
$lang->group->versions['17_0_beta2'] = 'ZenTao17.0.beta2';
$lang->group->versions['16_5_beta1'] = 'ZenTao16.5.beta1';
$lang->group->versions['16_4'] = 'ZenTao16.4';
$lang->group->versions['16_3'] = 'ZenTao16.3';
+18
View File
@@ -121,6 +121,24 @@ $lang->group->copyOptions['copyPriv'] = 'Copy Privileges';
$lang->group->copyOptions['copyUser'] = 'Copy Users';
$lang->group->versions[''] = 'History';
$lang->group->versions['18_4'] = 'ZenTao18.4';
$lang->group->versions['18_3'] = 'ZenTao18.3';
$lang->group->versions['18_2'] = 'ZenTao18.2';
$lang->group->versions['18_1'] = 'ZenTao18.1';
$lang->group->versions['18_0'] = 'ZenTao18.0';
$lang->group->versions['18_0_beta3'] = 'ZenTao18.0.beta3';
$lang->group->versions['18_0_beta2'] = 'ZenTao18.0.beta2';
$lang->group->versions['18_0_beta1'] = 'ZenTao18.0.beta1';
$lang->group->versions['17_8'] = 'ZenTao17.8';
$lang->group->versions['17_7'] = 'ZenTao17.7';
$lang->group->versions['17_6_1'] = 'ZenTao17.6.1';
$lang->group->versions['17_6'] = 'ZenTao17.6';
$lang->group->versions['17_5'] = 'ZenTao17.5';
$lang->group->versions['17_4'] = 'ZenTao17.4';
$lang->group->versions['17_3'] = 'ZenTao17.3';
$lang->group->versions['17_2'] = 'ZenTao17.2';
$lang->group->versions['17_1'] = 'ZenTao17.1';
$lang->group->versions['17_0_beta2'] = 'ZenTao17.0.beta2';
$lang->group->versions['16_5_beta1'] = 'ZenTao16.5.beta1';
$lang->group->versions['16_4'] = 'ZenTao16.4';
$lang->group->versions['16_3'] = 'ZenTao16.3';
+18
View File
@@ -121,6 +121,24 @@ $lang->group->copyOptions['copyPriv'] = 'Copier Privilèges';
$lang->group->copyOptions['copyUser'] = 'Copier Utilisateurs';
$lang->group->versions[''] = 'History';
$lang->group->versions['18_4'] = 'ZenTao18.4';
$lang->group->versions['18_3'] = 'ZenTao18.3';
$lang->group->versions['18_2'] = 'ZenTao18.2';
$lang->group->versions['18_1'] = 'ZenTao18.1';
$lang->group->versions['18_0'] = 'ZenTao18.0';
$lang->group->versions['18_0_beta3'] = 'ZenTao18.0.beta3';
$lang->group->versions['18_0_beta2'] = 'ZenTao18.0.beta2';
$lang->group->versions['18_0_beta1'] = 'ZenTao18.0.beta1';
$lang->group->versions['17_8'] = 'ZenTao17.8';
$lang->group->versions['17_7'] = 'ZenTao17.7';
$lang->group->versions['17_6_1'] = 'ZenTao17.6.1';
$lang->group->versions['17_6'] = 'ZenTao17.6';
$lang->group->versions['17_5'] = 'ZenTao17.5';
$lang->group->versions['17_4'] = 'ZenTao17.4';
$lang->group->versions['17_3'] = 'ZenTao17.3';
$lang->group->versions['17_2'] = 'ZenTao17.2';
$lang->group->versions['17_1'] = 'ZenTao17.1';
$lang->group->versions['17_0_beta2'] = 'ZenTao17.0.beta2';
$lang->group->versions['16_5_beta1'] = 'ZenTao16.5.beta1';
$lang->group->versions['16_4'] = 'ZenTao16.4';
$lang->group->versions['16_3'] = 'ZenTao16.3';
+18
View File
@@ -121,6 +121,24 @@ $lang->group->copyOptions['copyPriv'] = '复制权限';
$lang->group->copyOptions['copyUser'] = '复制用户';
$lang->group->versions[''] = '修改历史';
$lang->group->versions['18_4'] = '禅道18.4';
$lang->group->versions['18_3'] = '禅道18.3';
$lang->group->versions['18_2'] = '禅道18.2';
$lang->group->versions['18_1'] = '禅道18.1';
$lang->group->versions['18_0'] = '禅道18.0';
$lang->group->versions['18_0_beta3'] = '禅道18.0.beta3';
$lang->group->versions['18_0_beta2'] = '禅道18.0.beta2';
$lang->group->versions['18_0_beta1'] = '禅道18.0.beta1';
$lang->group->versions['17_8'] = '禅道17.8';
$lang->group->versions['17_7'] = '禅道17.7';
$lang->group->versions['17_6_1'] = '禅道17.6.1';
$lang->group->versions['17_6'] = '禅道17.6';
$lang->group->versions['17_5'] = '禅道17.5';
$lang->group->versions['17_4'] = '禅道17.4';
$lang->group->versions['17_3'] = '禅道17.3';
$lang->group->versions['17_2'] = '禅道17.2';
$lang->group->versions['17_1'] = '禅道17.1';
$lang->group->versions['17_0_beta2'] = '禅道17.0.beta2';
$lang->group->versions['16_5_beta1'] = '禅道16.5.beta1';
$lang->group->versions['16_4'] = '禅道16.4';
$lang->group->versions['16_3'] = '禅道16.3';
+64
View File
@@ -0,0 +1,64 @@
<?php
$sinceVersion = $argv[1];
$untilVersion = $argv[2];
if(empty($sinceVersion) or empty($untilVersion)) die("Please enter the since and until version. Usage: php privchangelog 16.5 18.3.");
include '../module/misc/lang/zh-cn.php';
$releaseDates = array();
foreach($lang->misc->releaseDate as $releaseVersion => $releaseDate)
{
if(version_compare($releaseVersion, $sinceVersion, ">=") and version_compare($releaseVersion, $untilVersion, '<=')) $releaseDates[$releaseVersion] = $releaseDate;
}
if(empty($releaseDates)) exit;
asort($releaseDates);
$changelogFile = '../module/group/lang/changelog.php';
$resourceFile = '../module/group/lang/resource.php';
$oldDate = current($releaseDates);
$oldVersion = key($releaseDates);
file_put_contents($changelogFile, "\n", FILE_APPEND);
foreach($releaseDates as $version => $releaseDate)
{
if($version == $oldVersion) continue;
$oldVersionCommit = trim(shell_exec("git log --oneline --until='$oldDate' --pretty=format:'%h' $resourceFile | head -n 1"), "\n");
$newVersionCommit = trim(shell_exec("git log --oneline --until='$releaseDate' --pretty=format:'%h' $resourceFile | head -n 1"), "\n");
if($oldVersionCommit == $newVersionCommit)
{
$oldDate = $releaseDate;
$oldVersion = $version;
continue;
}
$addPrivileges = trim(shell_exec("git diff --ignore-space-change {$oldVersionCommit} {$newVersionCommit} -- $resourceFile | grep '+\$lang->resource' | grep -v 'stdclass'"), "\n");
$addPrivileges = str_replace('+$lang', '$lang', $addPrivileges);
if(empty($addPrivileges))
{
$oldDate = $releaseDate;
$oldVersion = $version;
continue;
}
$privList = explode("\n", $addPrivileges);
foreach($privList as $priv)
{
preg_match("/(\\\$lang\->resource)\->(.*)\->(.*)= '(.*)';/", $priv, $matches);
$module = $matches[2];
$methodLang = $matches[4];
$content = "\$lang->changelog['$version'][] = '$module-$methodLang';";
file_put_contents($changelogFile, $content . "\n", FILE_APPEND);
}
$oldDate = $releaseDate;
$oldVersion = $version;
file_put_contents($changelogFile, "\n", FILE_APPEND);
}
exec("sed '\$d' $changelogFile");