]> source.dussan.org Git - nextcloud-server.git/commitdiff
mark current section
authorArthur Schiwon <blizzz@arthur-schiwon.de>
Fri, 12 Aug 2016 15:08:32 +0000 (17:08 +0200)
committerLukas Reschke <lukas@statuscode.ch>
Tue, 16 Aug 2016 19:10:00 +0000 (21:10 +0200)
settings/Controller/AdminSettingsController.php
settings/templates/admin/frame.php

index 271aa05265bac483893799b046666c40dcd64734..3efe481ca9ef9fb9dc26f0e2e052b4568276327b 100644 (file)
@@ -72,7 +72,7 @@ class AdminSettingsController extends Controller {
                $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);
@@ -126,15 +126,20 @@ class AdminSettingsController extends Controller {
                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,
+                               ];
                        }
                }
 
index e0fee1555a3ddde2e5db3b17bcfbbbdab4c326af..1d9f6dc7a7845a85d73efa84ccf8d6b6f7a25da3 100644 (file)
@@ -36,7 +36,8 @@ vendor_style('select2/select2');
                        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>