summaryrefslogtreecommitdiffstats
path: root/modules/main
diff options
context:
space:
mode:
authorSimon Rettberg2016-04-28 21:31:15 +0200
committerSimon Rettberg2016-04-28 21:31:15 +0200
commit95db8e184b378534db0ac08d14ae8500ee5090c3 (patch)
treef39cee8160ef4266e49dbe04d3e8fe6400ce2133 /modules/main
parentMerge branch 'master' into modularization (diff)
downloadslx-admin-95db8e184b378534db0ac08d14ae8500ee5090c3.tar.gz
slx-admin-95db8e184b378534db0ac08d14ae8500ee5090c3.tar.xz
slx-admin-95db8e184b378534db0ac08d14ae8500ee5090c3.zip
Implemented new menu, added logic for defining dependencies, move translation files around
Diffstat (limited to 'modules/main')
-rw-r--r--modules/main/category-icons.json7
-rw-r--r--modules/main/config.json1
-rw-r--r--modules/main/lang/en/categories.json6
-rw-r--r--modules/main/lang/en/templates/dialog-generic.json3
-rw-r--r--modules/main/lang/en/templates/main-menu.json28
-rw-r--r--modules/main/lang/en/templates/messagebox-warning.json2
-rw-r--r--modules/main/lang/en/templates/page-main-guest.json7
-rw-r--r--modules/main/lang/en/templates/page-main.json11
-rw-r--r--modules/main/page.inc.php (renamed from modules/main/module.inc.php)0
-rw-r--r--modules/main/templates/main-menu.html63
-rw-r--r--modules/main/templates/main-menu.html.topnavbar92
11 files changed, 106 insertions, 114 deletions
diff --git a/modules/main/category-icons.json b/modules/main/category-icons.json
new file mode 100644
index 00000000..97b76eac
--- /dev/null
+++ b/modules/main/category-icons.json
@@ -0,0 +1,7 @@
+{
+ "cities":"tower",
+ "content":"th",
+ "settings":"cog",
+ "status":"tasks",
+ "users":"user"
+} \ No newline at end of file
diff --git a/modules/main/config.json b/modules/main/config.json
index d5da4cc8..4da67ef8 100644
--- a/modules/main/config.json
+++ b/modules/main/config.json
@@ -1,4 +1,3 @@
{
- "category":"hidden",
"enabled":"true"
}
diff --git a/modules/main/lang/en/categories.json b/modules/main/lang/en/categories.json
new file mode 100644
index 00000000..3d67bcfd
--- /dev/null
+++ b/modules/main/lang/en/categories.json
@@ -0,0 +1,6 @@
+{
+ "settings": "Settings",
+ "status": "Status",
+ "content": "Content",
+ "users": "Users"
+}
diff --git a/modules/main/lang/en/templates/dialog-generic.json b/modules/main/lang/en/templates/dialog-generic.json
new file mode 100644
index 00000000..c7551ed3
--- /dev/null
+++ b/modules/main/lang/en/templates/dialog-generic.json
@@ -0,0 +1,3 @@
+{
+ "lang_next": "Next"
+} \ No newline at end of file
diff --git a/modules/main/lang/en/templates/main-menu.json b/modules/main/lang/en/templates/main-menu.json
new file mode 100644
index 00000000..635c7aa8
--- /dev/null
+++ b/modules/main/lang/en/templates/main-menu.json
@@ -0,0 +1,28 @@
+{
+ "lang_backup": "Backup\/Restore",
+ "lang_client": "Client",
+ "lang_clientLog": "Client Log",
+ "lang_clientStats": "Client statistics",
+ "lang_configurationBasic": "PXE\/Boot",
+ "lang_configurationVariables": "Configuration Variables",
+ "lang_dozmod": "Tutor module",
+ "lang_eventLog": "Server Log",
+ "lang_internetAccess": "Internet access",
+ "lang_language": "Language",
+ "lang_localization": "Localization",
+ "lang_locations": "Rooms\/Locations",
+ "lang_login": "Login",
+ "lang_logout": "Logout",
+ "lang_needsSetup": "Setup incomplete",
+ "lang_news": "vmChooser news",
+ "lang_server": "Server",
+ "lang_serverStatus": "Server status",
+ "lang_settings": "Settings",
+ "lang_status": "Status",
+ "lang_translations": "Translations",
+ "lang_vmLocation": "VM Location",
+ "lang_warning": "Warning",
+ "lang_webInterface": "Web interface",
+ "lang_loggedInPrefix": "Logged in as",
+ "lang_loggedInSuffix": " "
+}
diff --git a/modules/main/lang/en/templates/messagebox-warning.json b/modules/main/lang/en/templates/messagebox-warning.json
new file mode 100644
index 00000000..2c63c085
--- /dev/null
+++ b/modules/main/lang/en/templates/messagebox-warning.json
@@ -0,0 +1,2 @@
+{
+}
diff --git a/modules/main/lang/en/templates/page-main-guest.json b/modules/main/lang/en/templates/page-main-guest.json
new file mode 100644
index 00000000..6526f5bd
--- /dev/null
+++ b/modules/main/lang/en/templates/page-main-guest.json
@@ -0,0 +1,7 @@
+{
+ "lang_introGuest": "This is the administration interface of the local bwLehrpool intallation. Please authenticate yourself to adjust settings.",
+ "lang_login": "Login",
+ "lang_noExistingAccount": "No account has been created yet. Sign up to become the administrator.",
+ "lang_register": "Register",
+ "lang_welcome": "Welcome"
+} \ No newline at end of file
diff --git a/modules/main/lang/en/templates/page-main.json b/modules/main/lang/en/templates/page-main.json
new file mode 100644
index 00000000..8031ac1c
--- /dev/null
+++ b/modules/main/lang/en/templates/page-main.json
@@ -0,0 +1,11 @@
+{
+ "lang_bootMenuWarning": "The boot menu is outdated or has not been generated.",
+ "lang_configure": "Configure",
+ "lang_intro": "This is the bwLehrpool configuration interface.",
+ "lang_minilinuxMissing": "Important files from the mini Linux installation are missing.",
+ "lang_numerOfImagesMarkedForDeletion": "Images marked for deletion",
+ "lang_systemConfiguration": "System Configuration",
+ "lang_systemConfigurationNotChosen": "A system configuration has not been chosen yet.",
+ "lang_vmLocationNotSet": "A location for the virtual machine is not set yet.",
+ "lang_welcome": "Welcome"
+} \ No newline at end of file
diff --git a/modules/main/module.inc.php b/modules/main/page.inc.php
index 369d4b54..369d4b54 100644
--- a/modules/main/module.inc.php
+++ b/modules/main/page.inc.php
diff --git a/modules/main/templates/main-menu.html b/modules/main/templates/main-menu.html
index c4534c2f..556548e9 100644
--- a/modules/main/templates/main-menu.html
+++ b/modules/main/templates/main-menu.html
@@ -1,42 +1,64 @@
-<!-- Fixed navbar -->
-<div class="navbar navbar-inverse navbar-fixed-top">
- <div class="container-fluid">
+<div class="slx-topbar">
+ <div>
+ {{#dbupdate}}
+ <a href="api.php?do=update"><span class="slx-warning-badge badge"><span class="glyphicon glyphicon-exclamation-sign"></span> DB-Update</span></a>
+ {{/dbupdate}}
+ {{#warning}}
+ <a href="?do=EventLog"><span class="slx-warning-badge badge"><span class="glyphicon glyphicon-exclamation-sign"></span> {{lang_warning}}</span></a>
+ {{/warning}}
+ {{#needsSetup}}
+ <a href="?do=Main"><span class="slx-warning-badge badge"><span class="glyphicon glyphicon-exclamation-sign"></span> {{lang_needsSetup}}</span></a>
+ {{/needsSetup}}
+ </div>
+</div>
+<div class="sidebar-bg"></div>
+<nav class="navbar navbar-inverse sidebar" role="navigation">
+ <div class="container-fluid">
+ <!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
- <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+ <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-sidebar-navbar-collapse-1">
+ <span class="sr-only">{{lang_toggleNavigation}}</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
- <a class="navbar-brand" href="?do=Main">OpenSLX Admin</a>
+ <a class="navbar-brand" href="#">OpenSLX</a>
</div>
- <div class="navbar-collapse collapse">
+ <!-- Collect the nav links, forms, and other content for toggling -->
+ <div class="collapse navbar-collapse" id="bs-sidebar-navbar-collapse-1">
<ul class="nav navbar-nav">
- {{#dbupdate}}
- <li><a href="api.php?do=update"><span class="slx-warning-badge badge"><span class="glyphicon glyphicon-exclamation-sign"></span> DB-Update</span></a></li>
- {{/dbupdate}}
- {{#warning}}
- <li><a href="?do=EventLog"><span class="slx-warning-badge badge"><span class="glyphicon glyphicon-exclamation-sign"></span> {{lang_warning}}</span></a></li>
- {{/warning}}
- {{#needsSetup}}
- <li><a href="?do=Main"><span class="slx-warning-badge badge"><span class="glyphicon glyphicon-exclamation-sign"></span> {{lang_needsSetup}}</span></a></li>
- {{/needsSetup}}
- </ul>
- <ul class="nav navbar-nav navbar-right">
+ {{#categories}}
+ <li class="dropdown">
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown"><span class="sidebar-visible-inline {{icon}}"></span> {{displayName}}<b class="caret sidebar-hide"></b></a>
+ <ul class="dropdown-menu sidebar-visible-block" role="menu">
+ {{#modules}}
+ <li class="{{className}}"><a href="?do={{identifier}}">{{displayName}}</a></li>
+ {{/modules}}
+ </ul>
+ </li>
+ {{/categories}}
<li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown"><img src="lang/{{current_lang}}/flag.png"><b class="caret"></b></a>
+ <a href="#" class="dropdown-toggle" data-toggle="dropdown">
+ <img src="lang/{{current_lang}}/flag.png" alt="{{current_lang}}">
+ <span class="sidebar-visible-inline">{{lang_language}}</span>
+ <b class="caret"></b>
+ </a>
<ul class="dropdown-menu">
+ <li><a href="?do=Translation">{{lang_translations}}</a></li>
<li class="dropdown-header">{{lang_language}}</li>
{{#langs}}
<li><a href="?lang={{cc}}&amp;url={{url}}"><img src="lang/{{cc}}/flag.png" alt="{{name}}"> {{name}}</a></li>
{{/langs}}
</ul>
</li>
+ </ul>
+ <ul class="nav navbar-nav navbar-right">
{{#user}}
+ <li><span>{{lang_loggedInPrefix}} {{user}} {{lang_loggedInSuffix}}</span></li>
<li>
<form method="post" action="?do=Session">
<input type="hidden" name="token" value="{{token}}">
<input type="hidden" name="action" value="logout">
- <b>{{user}}</b>
<button class="btn btn-default btn-xs" type="submit">{{lang_logout}}</button>
</form>
</li>
@@ -47,5 +69,4 @@
</ul>
</div>
</div>
-</div>
-
+</nav>
diff --git a/modules/main/templates/main-menu.html.topnavbar b/modules/main/templates/main-menu.html.topnavbar
deleted file mode 100644
index 8da8edd0..00000000
--- a/modules/main/templates/main-menu.html.topnavbar
+++ /dev/null
@@ -1,92 +0,0 @@
-<!-- Fixed navbar -->
-<div class="navbar navbar-default navbar-fixed-top">
- <div class="container">
- <div class="navbar-header">
- <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- <span class="icon-bar"></span>
- </button>
- <a class="navbar-brand" href="?do=Main">OpenSLX Admin</a>
- </div>
- <div class="navbar-collapse collapse">
- <ul class="nav navbar-nav">
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{lang_settings}}<b class="caret"></b></a>
- <ul class="dropdown-menu">
- <li class="dropdown-header">{{lang_client}}</li>
- <li><a href="?do=News">{{lang_news}}</a></li>
- <li><a href="?do=SysConfig">{{lang_localization}}</a></li>
- <li><a href="?do=MiniLinux">bwLehrpool Mini-Linux</a></li>
- <li><a href="?do=BaseConfig">{{lang_configurationVariables}}</a></li>
- <li><a href="?do=Locations">{{lang_locations}}</a></li>
- <li class="divider"></li>
- <li class="dropdown-header">{{lang_server}}</li>
- <li><a href="?do=ServerSetup">{{lang_configurationBasic}}</a></li>
- <li><a href="?do=InternetAccess">{{lang_internetAccess}}</a></li>
- <li><a href="?do=VmStore">{{lang_vmLocation}}</a></li>
- <li><a href="?do=WebInterface">{{lang_webInterface}}</a></li>
- <li><a href="?do=Backup">{{lang_backup}}</a></li>
- </ul>
- </li>
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{lang_status}}<b class="caret"></b></a>
- <ul class="dropdown-menu">
- <li><a href="?do=SystemStatus">{{lang_serverStatus}}</a></li>
- <li><a href="?do=EventLog">{{lang_eventLog}}</a></li>
- <li class="divider"></li>
- <li><a href="?do=SysLog">{{lang_clientLog}}</a></li>
- <li><a href="?do=Statistics">{{lang_clientStats}}</a></li>
- </ul>
- </li>
- <li>
- <a href="?do=DozMod">{{lang_dozmod}}</a>
- </li>
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown"><img src="lang/{{current_lang}}/flag.png" alt="{{current_lang}}"><b class="caret"></b></a>
- <ul class="dropdown-menu">
- <li><a href="?do=Translation">{{lang_translations}}</a></li>
- <li class="dropdown-header">{{lang_language}}</li>
- {{#langs}}
- <li><a href="?lang={{cc}}&amp;url={{url}}"><img src="lang/{{cc}}/flag.png" alt="{{name}}"> {{name}}</a></li>
- {{/langs}}
- </ul>
- </li>
- {{#dbupdate}}
- <li><a href="api.php?do=update"><span class="slx-warning-badge badge"><span class="glyphicon glyphicon-exclamation-sign"></span> DB-Update</span></a></li>
- {{/dbupdate}}
- {{#warning}}
- <li><a href="?do=EventLog"><span class="slx-warning-badge badge"><span class="glyphicon glyphicon-exclamation-sign"></span> {{lang_warning}}</span></a></li>
- {{/warning}}
- {{#needsSetup}}
- <li><a href="?do=Main"><span class="slx-warning-badge badge"><span class="glyphicon glyphicon-exclamation-sign"></span> {{lang_needsSetup}}</span></a></li>
- {{/needsSetup}}
- </ul>
- <ul class="nav navbar-nav navbar-right">
- <li class="dropdown">
- <a href="#" class="dropdown-toggle" data-toggle="dropdown"><img src="lang/{{current_lang}}/flag.png"><b class="caret"></b></a>
- <ul class="dropdown-menu">
- <li class="dropdown-header">{{lang_language}}</li>
- {{#langs}}
- <li><a href="?lang={{cc}}&amp;url={{url}}"><img src="lang/{{cc}}/flag.png" alt="{{name}}"> {{name}}</a></li>
- {{/langs}}
- </ul>
- </li>
- {{#user}}
- <li>
- <form method="post" action="?do=Session">
- <input type="hidden" name="token" value="{{token}}">
- <input type="hidden" name="action" value="logout">
- <b>{{user}}</b>
- <button class="btn btn-default btn-xs" type="submit">{{lang_logout}}</button>
- </form>
- </li>
- {{/user}}
- {{^user}}
- <li><a href="?do=Session&amp;action=login">{{lang_login}}</a></li>
- {{/user}}
- </ul>
- </div>
- </div>
-</div>
-