summaryrefslogtreecommitdiffstats
path: root/settings
diff options
context:
space:
mode:
Diffstat (limited to 'settings')
-rw-r--r--settings/Controller/AdminSettingsController.php8
-rw-r--r--settings/css/settings.css10
-rw-r--r--settings/templates/admin/frame.php23
3 files changed, 35 insertions, 6 deletions
diff --git a/settings/Controller/AdminSettingsController.php b/settings/Controller/AdminSettingsController.php
index ef70caf5690..4bc986e708e 100644
--- a/settings/Controller/AdminSettingsController.php
+++ b/settings/Controller/AdminSettingsController.php
@@ -28,7 +28,9 @@ use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\TemplateResponse;
use OCP\INavigationManager;
use OCP\IRequest;
+use OCP\Settings\IIconSection;
use OCP\Settings\IManager as ISettingsManager;
+use OCP\Settings\ISection;
use OCP\Template;
/**
@@ -133,10 +135,16 @@ class AdminSettingsController extends Controller {
/** @var \OC\Settings\Section[] $prioritizedSections */
foreach($sections as $prioritizedSections) {
foreach ($prioritizedSections as $section) {
+ $icon = '';
+ if ($section instanceof IIconSection) {
+ $icon = $section->getIcon();
+ }
+
$templateParameters[] = [
'anchor' => $section->getID(),
'section-name' => $section->getName(),
'active' => $section->getID() === $currentSection,
+ 'icon' => $icon,
];
}
}
diff --git a/settings/css/settings.css b/settings/css/settings.css
index f3aa079e35f..b9b5570bc7e 100644
--- a/settings/css/settings.css
+++ b/settings/css/settings.css
@@ -727,6 +727,16 @@ table.grid td.date{
/* ADMIN */
+/* Navigation icons */
+#app-navigation img {
+ margin-bottom: -3px;
+ margin-right: 6px;
+ width: 16px;
+}
+#app-navigation li span.no-icon {
+ padding-left: 25px;
+}
+
/* icons for sidebar */
.nav-icon-server {
background-image: url('../img/admin.svg?v=1');
diff --git a/settings/templates/admin/frame.php b/settings/templates/admin/frame.php
index 7ae6b5fa012..2b234f4cd9b 100644
--- a/settings/templates/admin/frame.php
+++ b/settings/templates/admin/frame.php
@@ -29,18 +29,29 @@ script('files', 'jquery.fileupload');
?>
<div id="app-navigation">
- <ul class="with-icon">
- <?php foreach($_['forms'] as $form) {
+ <ul>
+ <?php
+ foreach($_['forms'] as $form) {
if (isset($form['anchor'])) {
$anchor = \OC::$server->getURLGenerator()->linkToRoute('settings.AdminSettings.index', ['section' => $form['anchor']]);
$class = 'nav-icon-' . $form['anchor'];
$sectionName = $form['section-name'];
$active = $form['active'] ? ' class="active"' : '';
- print_unescaped(sprintf("<li%s><a href='%s' class='%s'>%s</a></li>", $active, \OCP\Util::sanitizeHTML($anchor),
- \OCP\Util::sanitizeHTML($class),
- \OCP\Util::sanitizeHTML($sectionName)));
+ ?>
+ <li <?php print_unescaped($form['active'] ? ' class="active"' : ''); ?>>
+ <a href="<?php p($anchor); ?>">
+ <?php if (!empty($form['icon'])) { ?>
+ <img alt="" src="<?php print_unescaped($form['icon']); ?>">
+ <span><?php p($form['section-name']); ?></span>
+ <?php } else { ?>
+ <span class="no-icon"><?php p($form['section-name']); ?></span>
+ <?php } ?>
+ </a>
+ </li>
+ <?php
}
- }?>
+ }
+ ?>
</ul>
</div>