From f417e52349810e812bc7637eaa2bed09f4f46d57 Mon Sep 17 00:00:00 2001 From: sunguangming Date: Thu, 16 May 2024 15:32:06 +0800 Subject: [PATCH] * Fix bug #49662. --- module/execution/tao.php | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/module/execution/tao.php b/module/execution/tao.php index 4ac3eca014..b12944a99e 100644 --- a/module/execution/tao.php +++ b/module/execution/tao.php @@ -370,7 +370,7 @@ class executionTao extends executionModel $node->type = 'module'; $stories = isset($storyGroups[$node->root][$node->id]) ? $storyGroups[$node->root][$node->id] : array(); - $node->children = $this->buildStoryTree($stories, $taskGroups, $executionID, $node); + $this->buildStoryTree($stories, $taskGroups, $executionID, $node); /* Append for task of no story && node is not root. */ if($node->id && isset($taskGroups[$node->id][0])) @@ -395,13 +395,12 @@ class executionTao extends executionModel * @access protected * @return array */ - protected function buildStoryTree(array $stories, array $taskGroups, int $executionID, object $node, int $parentID = 0): array + protected function buildStoryTree(array $stories, array $taskGroups, int $executionID, object $node, int $parentID = 0) { static $users, $avatarPairs; if(empty($users)) $users = $this->loadModel('user')->getPairs('noletter'); if(empty($avatarPairs)) $avatarPairs = $this->loadModel('user')->getAvatarPairs(); - $tree = array(); foreach($stories as $story) { if($story->parent != $parentID) continue; @@ -433,12 +432,9 @@ class executionTao extends executionModel $storyItem->children = $taskItems; } - $children = $this->buildStoryTree($stories, $taskGroups, $executionID, $node, $story->id); - if($children) $storyItem->children = $children; - $tree[] = $storyItem; + $node->children[] = $storyItem; + $this->buildStoryTree($stories, $taskGroups, $executionID, $node, $story->id); } - - return $tree; } /**