* [bug#60232,done,2h] Process builds of release.

This commit is contained in:
daitingting
2025-03-11 14:09:50 +08:00
committed by 谢杞钰
parent 66f79fccda
commit f9178f2aae
4 changed files with 68 additions and 1 deletions
+50
View File
@@ -1688,4 +1688,54 @@ class docZen extends doc
$this->view->gradeGroup = $gradeGroup;
}
/**
* 处理发布列表展示数据。
* Process release list display data.
*
* @param array $releaseList
* @param array $childReleases
* @access protected
* @return array
*/
protected function processReleaseListData(array $releaseList, array $childReleases): array
{
$releases = array();
foreach($releaseList as $release)
{
$release->rowID = $release->id;
$release->rowspan = count($release->builds);
if(!empty($release->builds))
{
foreach($release->builds as $build)
{
$releaseInfo = clone $release;
$releaseInfo->build = $build;
$releases[] = $releaseInfo;
}
}
else
{
$releases[] = $release;
}
if(empty($release->releases)) continue;
foreach(explode(',', $release->releases) as $childID)
{
if(isset($childReleases[$childID]))
{
$child = clone $childReleases[$childID];
$child = current($this->processReleaseListData(array($child)));
$child->rowID = "{$release->id}-{$childID}";
$child->parent = $release->id;
$releases[$child->rowID] = $child;
}
}
}
return $releases;
}
}