* fix bug *18722

This commit is contained in:
Zongjun Lan
2022-04-12 10:58:35 +08:00
parent 6af3e182b0
commit 8ef47e9292
2 changed files with 49 additions and 1 deletions
+42 -1
View File
@@ -1801,7 +1801,11 @@ class productModel extends model
->andWhere('status')->eq('normal')
->fetchGroup('product', 'id');
return array('programList' => $programList, 'productList' => $productList, 'planList' => $planList, 'projectList' => $projectList, 'executionList' => $executionList, 'projectProduct' => $projectProduct, 'projectLatestExecutions' => $projectLatestExecutions, 'hourList' => $hourList, 'releaseList' => $releaseList);
/* Convert predefined HTML entities to characters. */
$statsData = array('programList' => $programList, 'productList' => $productList, 'planList' => $planList, 'projectList' => $projectList, 'executionList' => $executionList, 'projectProduct' => $projectProduct, 'projectLatestExecutions' => $projectLatestExecutions, 'hourList' => $hourList, 'releaseList' => $releaseList);
$statsData = $this->covertHtmlSpecialChars($statsData);
return $statsData;
}
/**
@@ -2256,4 +2260,41 @@ class productModel extends model
$this->lang->product->branch = sprintf($this->lang->product->branch, $this->lang->product->branchName[$product->type]);
}
}
/**
* Convert predefined HTML entities to characters
*
* @param array $statsData
* @return array
*/
public function covertHtmlSpecialChars($statsData)
{
if(empty($statsData)) return array();
foreach($statsData as $key => $data)
{
if($key == 'productList' || $key == 'projectList')
{
!empty($data) && array_map(function($item)
{
return $item->name = htmlspecialchars_decode($item->name, ENT_QUOTES);
},
$data);
}
if($key == 'planList')
{
foreach($data as $productID => $plan)
{
!empty($plan) && array_map(function($planItem)
{
return $planItem->title = htmlspecialchars_decode($planItem->title, ENT_QUOTES);
},
$plan);
}
}
}
return $statsData;
}
}
+7
View File
@@ -247,6 +247,7 @@ class programModel extends model
return $planVal->title = htmlspecialchars_decode($planVal->title, ENT_QUOTES);
},
$product->plans);
$product->name = htmlspecialchars_decode($product->name, ENT_QUOTES);
$product->releases = zget($releases, $product->id, array());
$projects = zget($projectGroup, $product->id, array());
@@ -265,6 +266,9 @@ class programModel extends model
$project->execution = $execution;
$project->hours['progress'] = zget($projectHours, $project->id, array());
/* Convert predefined HTML entities to characters. */
$project->name = htmlspecialchars_decode($project->name, ENT_QUOTES);
$product->projects[$status][] = $project;
}
}
@@ -1368,6 +1372,9 @@ class programModel extends model
$project->leftTasks = isset($leftTasks[$project->id]) ? $leftTasks[$project->id]->tasks : '—';
$project->teamMembers = isset($teamMembers[$project->id]) ? array_keys($teamMembers[$project->id]) : array();
/* Convert predefined HTML entities to characters. */
$project->name = htmlspecialchars_decode($project->name, ENT_QUOTES);
$stats[$key] = $project;
}
return $stats;