/**
* Get general info of an issue
* @param Issue $issue The issue
* @param bool $isManager if true: show MgrEffortEstim column
* @param bool $displaySupport If true, display support
* @return mixed[]
*/
public static function getIssueGeneralInfo(Issue $issue, $isManager = false, $displaySupport = false)
{
$withSupport = true;
// include support in elapsed & Drift
$drift = $issue->getDrift($withSupport);
$issueGeneralInfo = array("issueId" => $issue->getId(), "issueSummary" => htmlspecialchars(preg_replace('![\\t\\r\\n]+!', ' ', $issue->getSummary())), "issueType" => $issue->getType(), "issueDescription" => htmlspecialchars($issue->getDescription()), "projectName" => $issue->getProjectName(), "categoryName" => $issue->getCategoryName(), "issueExtRef" => $issue->getTcId(), 'mantisURL' => Tools::mantisIssueURL($issue->getId(), NULL, true), 'issueURL' => Tools::mantisIssueURL($issue->getId()), 'statusName' => $issue->getCurrentStatusName(), 'priorityName' => $issue->getPriorityName(), 'severityName' => $issue->getSeverityName(), 'handlerName' => UserCache::getInstance()->getUser($issue->getHandlerId())->getName(), "issueEffortTitle" => $issue->getEffortEstim() . ' + ' . $issue->getEffortAdd(), "issueEffort" => $issue->getEffortEstim() + $issue->getEffortAdd(), "issueReestimated" => $issue->getReestimated(), "issueBacklog" => $issue->getBacklog(), "issueDriftColor" => $issue->getDriftColor($drift), "issueDrift" => round($drift, 2), "progress" => round(100 * $issue->getProgress()), 'relationships' => self::getFormattedRelationshipsInfo($issue));
if ($isManager) {
$issueGeneralInfo['issueMgrEffortEstim'] = $issue->getMgrEffortEstim();
$driftMgr = $issue->getDriftMgr($withSupport);
$issueGeneralInfo['issueDriftMgrColor'] = $issue->getDriftColor($driftMgr);
$issueGeneralInfo['issueDriftMgr'] = round($driftMgr, 2);
}
if ($withSupport) {
$issueGeneralInfo['issueElapsed'] = $issue->getElapsed();
} else {
$issueGeneralInfo['issueElapsed'] = $issue->getElapsed() - $issue->getElapsed(Jobs::JOB_SUPPORT);
}
if ($displaySupport) {
if ($isManager) {
$driftMgr = $issue->getDriftMgr(!$withSupport);
$issueGeneralInfo['issueDriftMgrSupportColor'] = $issue->getDriftColor($driftMgr);
$issueGeneralInfo['issueDriftMgrSupport'] = round($driftMgr, 2);
}
$drift = $issue->getDrift(!$withSupport);
$issueGeneralInfo['issueDriftSupportColor'] = $issue->getDriftColor($drift);
$issueGeneralInfo['issueDriftSupport'] = round($drift, 2);
}
return $issueGeneralInfo;
}