$this->navigationManager->setActiveEntry('admin');
$templateParams = [];
- $templateParams = array_merge($templateParams, $this->getNavigationParameters());
+ $templateParams = array_merge($templateParams, $this->getNavigationParameters($section));
$templateParams = array_merge($templateParams, $this->getSettings($section));
return new TemplateResponse('settings', 'admin/frame', $templateParams);
return ['content' => $out->fetchPage()];
}
- private function getNavigationParameters() {
- $a = 'anchor';
- $name = 'section-name';
-
+ /**
+ * @param string $currentSection
+ * @return array
+ */
+ private function getNavigationParameters($currentSection) {
$sections = $this->settingsManager->getAdminSections();
$templateParameters = [];
foreach($sections as $prioritizedSections) {
foreach ($prioritizedSections as $section) {
- $templateParameters[] = [$a => $section->getID(), $name => $section->getName()];
+ $templateParameters[] = [
+ 'anchor' => $section->getID(),
+ 'section-name' => $section->getName(),
+ 'active' => $section->getID() === $currentSection,
+ ];
}
}
if (isset($form['anchor'])) {
$anchor = \OC::$server->getURLGenerator()->linkToRoute('settings.AdminSettings.index', ['section' => $form['anchor']]);
$sectionName = $form['section-name'];
- print_unescaped(sprintf("<li><a href='%s'>%s</a></li>", \OCP\Util::sanitizeHTML($anchor), \OCP\Util::sanitizeHTML($sectionName)));
+ $active = $form['active'] ? ' class="active"' : '';
+ print_unescaped(sprintf("<li%s><a href='%s'>%s</a></li>", $active, \OCP\Util::sanitizeHTML($anchor), \OCP\Util::sanitizeHTML($sectionName)));
}
}?>
</ul>