public function getFrontPage($issue, $output)
{
/* @var $issue Issue */
$issueId = $issue;
if ($issue instanceof Issue) {
$issueId = $issue->getId();
} else {
$issue = $this->getIssueService()->getById($issueId);
}
$publicationId = $issue->getPublicationId();
$outputId = $output;
if ($output instanceof Output) {
$outputId = $output->getId();
}
$em = $this->getManager();
$q = $em->createQueryBuilder();
$q->select(array('oi', 'ot'))->from(OutputSettingsTheme::NAME, 'ot')->from(OutputSettingsIssue::NAME_1, 'oi')->where('ot.themePath = oi.themePath')->andWhere('ot.publication = :publication')->andWhere('ot.output = :output')->andWhere('oi.output = :output')->andWhere('oi.issue = :issue')->setParameter('output', $outputId)->setParameter('issue', $issueId)->setParameter('publication', $publicationId);
$results = $q->getQuery()->getResult();
if (count($results) < 2) {
return '';
}
/* @var $outputSettingTheme OutputSettingsTheme */
list(, $outputSettingTheme) = each($results);
/* @var $outputSettingIssue OutputSettingsIssue */
list(, $outputSettingIssue) = each($results);
if (!is_null($resource = $outputSettingIssue->getFrontPage())) {
return $this->getResourceFullPath($resource);
}
return $this->getResourceFullPath($outputSettingTheme->getFrontPage());
}