params->get('module', 'reporting')); $reportsByModule = []; foreach (ReportHook::getReports() as $class => $report) { $moduleName = $report->getModuleName(); if (! isset($reportsByModule[$moduleName])) { $reportsByModule[$moduleName] = []; } $reportsByModule[$moduleName][$class] = $report; } $editor = Html::tag('div', ['class' => 'editor']); $nav = []; $cards = []; foreach ($reportsByModule as $moduleName => $reports) { $link = Html::tag('a', ['href' => Url::fromRequest(['module' => $moduleName])], $moduleName); $nav[] = $link; if ($moduleName !== $moduleToShow) { continue; } $link->getAttributes()->add('class', 'active'); foreach ($reports as $report) { $cards[] = Html::tag( 'div', ['class' => 'card'], [ Html::tag('div', ['class' => 'card-top'], $report->getPreview()), Html::tag( 'div', ['class' => 'card-content'], Html::tag('h5', ['class' => 'card-title'], $report->getName()), Html::tag('p', ['class' => 'card-text'], $report->getDescription()) ) ] ); } } $editor->add(Html::tag('div', ['class' => 'editor-nav'], $nav)); $editor->add(Html::tag('div', ['class' => 'editor-content'], $cards)); $this->addContent($editor); $this->addContent(Html::tag('a', ['href' => 'plug', 'class' => 'modal-toggle', 'data-base-target' => 'modal-container'], 'Modal')); } }