static function resultGrouping(entities\Issue $issue, $groupby, $cc, $prevgroup_id) { $i18n = framework\Context::getI18n(); $showtablestart = false; $showheader = false; $groupby_id = 0; $groupby_description = ''; if ($cc == 1) { $showtablestart = true; } if ($groupby != '') { switch ($groupby) { case 'category': if ($issue->getCategory() instanceof entities\Category) { $groupby_id = $issue->getCategory()->getID(); $groupby_description = $issue->getCategory()->getName(); } else { $groupby_id = 0; $groupby_description = $i18n->__('Unknown'); } break; case 'status': if ($issue->getStatus() instanceof entities\Status) { $groupby_id = $issue->getStatus()->getID(); $groupby_description = $issue->getStatus()->getName(); } else { $groupby_id = 0; $groupby_description = $i18n->__('Unknown'); } break; case 'severity': if ($issue->getSeverity() instanceof entities\Severity) { $groupby_id = $issue->getSeverity()->getID(); $groupby_description = $issue->getSeverity()->getName(); } else { $groupby_id = 0; $groupby_description = $i18n->__('Unknown'); } break; case 'resolution': if ($issue->getResolution() instanceof entities\Resolution) { $groupby_id = $issue->getResolution()->getID(); $groupby_description = $issue->getResolution()->getName(); } else { $groupby_id = 0; $groupby_description = $i18n->__('Unknown'); } break; case 'edition': if ($issue->getEditions()) { $groupby_id = $issue->getFirstAffectedEdition()->getID(); $groupby_description = $issue->getFirstAffectedEdition()->getName(); } else { $groupby_id = 0; $groupby_description = $i18n->__('None'); } break; case 'build': if ($issue->getBuilds()) { $groupby_id = $issue->getFirstAffectedBuild()->getID(); $groupby_description = $issue->getFirstAffectedBuild()->getName(); } else { $groupby_id = 0; $groupby_description = $i18n->__('None'); } break; case 'component': if ($issue->getComponents()) { $groupby_id = $issue->getFirstAffectedComponent()->getID(); $groupby_description = $issue->getFirstAffectedComponent()->getName(); } else { $groupby_id = 0; $groupby_description = $i18n->__('None'); } break; case 'priority': if ($issue->getPriority() instanceof entities\Priority) { $groupby_id = $issue->getPriority()->getID(); $groupby_description = $issue->getPriority()->getName(); } else { $groupby_id = 0; $groupby_description = $i18n->__('Unknown'); } break; case 'issuetype': if ($issue->getIssueType() instanceof entities\Issuetype) { $groupby_id = $issue->getIssueType()->getID(); $groupby_description = $issue->getIssueType()->getName(); } else { $groupby_id = 0; $groupby_description = $i18n->__('Unknown'); } break; case 'milestone': if ($issue->getMilestone() instanceof entities\Milestone) { $groupby_id = $issue->getMilestone()->getID(); $groupby_description = $issue->getMilestone()->getName(); } else { $groupby_id = 0; $groupby_description = $i18n->__('Not targetted'); } break; case 'assignee': if ($issue->getAssignee() instanceof entities\common\Identifiable) { $groupby_id = $issue->getAssignee()->getID(); $groupby_description = $issue->getAssignee()->getName(); } else { $groupby_id = 0; $groupby_description = $i18n->__('Not assigned'); } break; case 'state': if ($issue->isClosed()) { $groupby_id = entities\Issue::STATE_CLOSED; $groupby_description = $i18n->__('Closed'); } else { $groupby_id = entities\Issue::STATE_OPEN; $groupby_description = $i18n->__('Open'); } break; } if ($groupby_id !== $prevgroup_id) { $showtablestart = true; $showheader = true; } $prevgroup_id = $groupby_id; } return array($showtablestart, $showheader, $prevgroup_id, $groupby_description); }