private function setupIssueSections(Issue $issue)
{
$sections = [];
foreach ($issue->getJournal()->getSections() as $section) {
$sectionHaveIssueArticle = false;
foreach ($section->getArticles() as $article) {
if ($article->getIssue() !== null) {
if ($article->getIssue()->getId() == $issue->getId()) {
$sectionHaveIssueArticle = true;
}
}
}
if ($sectionHaveIssueArticle) {
$sections[] = $section;
}
}
//order sections by section order
uasort($sections, function ($a, $b) {
return (int) $a->getSectionOrder() > (int) $b->getSectionOrder() ? 1 : -1;
});
return $sections;
}