summaryrefslogtreecommitdiffstats
path: root/modules-available/main
diff options
context:
space:
mode:
authorSimon Rettberg2016-05-10 16:57:06 +0200
committerSimon Rettberg2016-05-10 16:57:06 +0200
commit2fa2bb665d8ca5e837147f85267f865f1b8b0503 (patch)
treeb2e49bb825e1cc421597a681351d04b97c91834c /modules-available/main
parentMessage string editing works now (diff)
downloadslx-admin-2fa2bb665d8ca5e837147f85267f865f1b8b0503.tar.gz
slx-admin-2fa2bb665d8ca5e837147f85267f865f1b8b0503.tar.xz
slx-admin-2fa2bb665d8ca5e837147f85267f865f1b8b0503.zip
Translating module strings and custom sections works
Diffstat (limited to 'modules-available/main')
-rw-r--r--modules-available/main/hooks/translation.inc.php30
-rw-r--r--modules-available/main/lang/de/categories.json6
-rw-r--r--modules-available/main/lang/de/template-tags.json17
-rw-r--r--modules-available/main/lang/en/template-tags.json19
-rw-r--r--modules-available/main/lang/pt/categories.json6
-rw-r--r--modules-available/main/page.inc.php2
-rw-r--r--modules-available/main/templates/page-login.html11
-rw-r--r--modules-available/main/templates/page-minilinux.html14
-rw-r--r--modules-available/main/templates/page-news.html57
-rw-r--r--modules-available/main/templates/page-syslog.html58
-rw-r--r--modules-available/main/templates/page-vmstore.html111
11 files changed, 46 insertions, 285 deletions
diff --git a/modules-available/main/hooks/translation.inc.php b/modules-available/main/hooks/translation.inc.php
new file mode 100644
index 00000000..8c0e4b51
--- /dev/null
+++ b/modules-available/main/hooks/translation.inc.php
@@ -0,0 +1,30 @@
+<?php
+
+$HANDLER = array();
+
+/**
+ * List of valid subsections
+ */
+$HANDLER['subsections'] = array(
+ 'categories'
+);
+
+/*
+ * Handlers for the subsections that will return an array of expected tags.
+ * This is optional, if you don't want to define expected tags, don't create a function.
+ */
+
+/**
+ * Configuration categories
+ */
+$HANDLER['grep_categories'] = function($module) {
+ $skip = strlen($module->getIdentifier()) + 1;
+ $want = array();
+ foreach (Module::getAll() as $module) {
+ $cat = $module->getCategory();
+ if (is_string($cat)) {
+ $want[substr($cat, $skip)] = true;
+ }
+ }
+ return $want;
+};
diff --git a/modules-available/main/lang/de/categories.json b/modules-available/main/lang/de/categories.json
new file mode 100644
index 00000000..3d9b50a3
--- /dev/null
+++ b/modules-available/main/lang/de/categories.json
@@ -0,0 +1,6 @@
+{
+ "content": "Inhalt",
+ "settings": "Einstellungen",
+ "status": "Status",
+ "users": "Benutzer"
+} \ No newline at end of file
diff --git a/modules-available/main/lang/de/template-tags.json b/modules-available/main/lang/de/template-tags.json
index d31fb64d..e9b829e8 100644
--- a/modules-available/main/lang/de/template-tags.json
+++ b/modules-available/main/lang/de/template-tags.json
@@ -1,35 +1,24 @@
{
"lang_bootMenuWarning": "Das Bootmen\u00fc ist veraltet oder wurde noch nicht generiert.",
- "lang_configurationBasic": "PXE\/Boot",
- "lang_configurationVariables": "KonfigurationsVariablen",
"lang_configure": "Konfigurieren",
- "lang_dozmod": "Dozentenmodul",
- "lang_eventLog": "Server Log",
- "lang_internetAccess": "Internetzugriff",
"lang_intro": "Dies ist die bwLehrpool Konfigurationsoberfl\u00e4che.",
"lang_introGuest": "Dies ist das Administrations-Interface der lokalen bwLehrpool-Installation. Bitte authentifizieren Sie sich, um Einstellungen vorzunehmen.",
"lang_language": "Sprachen",
- "lang_localization": "Lokalisierung + Integration",
- "lang_locations": "R\u00e4ume\/Orte",
+ "lang_loggedInPrefix": "Angemeldet als",
+ "lang_loggedInSuffix": " ",
"lang_login": "Anmelden",
"lang_logout": "Abmelden",
"lang_minilinuxMissing": "Wichtige Dateien der MiniLinux-Installation fehlen.",
"lang_needsSetup": "Einrichtung unvollst\u00e4ndig",
- "lang_news": "vmChooser News",
"lang_next": "Weiter",
"lang_noExistingAccount": "Es existiert noch kein Administrator-Zugang f\u00fcr diesen Satelliten-Server.",
"lang_numerOfImagesMarkedForDeletion": "Zur L\u00f6schung markierte Abbilder",
"lang_register": "Registrieren",
- "lang_server": "Server",
- "lang_serverStatus": "Server Status",
- "lang_settings": "Einstellungen",
- "lang_status": "Status",
"lang_systemConfiguration": "Systemkonfiguration",
"lang_systemConfigurationNotChosen": "Es wurde noch keine Systemkonfiguration ausgew\u00e4hlt.",
+ "lang_toggleNavigation": "Navigation ein\/ausblenden",
"lang_translations": "\u00dcbersetzungen",
- "lang_vmLocation": "VM Speicherort",
"lang_vmLocationNotSet": "Es ist noch kein Speicherort f\u00fcr die Virtuellen Maschinen festgelegt.",
"lang_warning": "Warnung",
- "lang_webInterface": "Web-Schnittstelle",
"lang_welcome": "Willkommen"
} \ No newline at end of file
diff --git a/modules-available/main/lang/en/template-tags.json b/modules-available/main/lang/en/template-tags.json
index f368e8b8..3483bcfe 100644
--- a/modules-available/main/lang/en/template-tags.json
+++ b/modules-available/main/lang/en/template-tags.json
@@ -1,41 +1,24 @@
{
- "lang_backup": "Backup\/Restore",
"lang_bootMenuWarning": "The boot menu is outdated or has not been generated.",
- "lang_client": "Client",
- "lang_clientLog": "Client Log",
- "lang_clientStats": "Client statistics",
- "lang_configurationBasic": "PXE\/Boot",
- "lang_configurationVariables": "Configuration Variables",
"lang_configure": "Configure",
- "lang_dozmod": "Tutor module",
- "lang_eventLog": "Server Log",
- "lang_internetAccess": "Internet access",
"lang_intro": "This is the bwLehrpool configuration interface.",
"lang_introGuest": "This is the administration interface of the local bwLehrpool intallation. Please authenticate yourself to adjust settings.",
"lang_language": "Language",
- "lang_localization": "Localization",
- "lang_locations": "Rooms\/Locations",
"lang_loggedInPrefix": "Logged in as",
"lang_loggedInSuffix": " ",
"lang_login": "Login",
"lang_logout": "Logout",
"lang_minilinuxMissing": "Important files from the mini Linux installation are missing.",
"lang_needsSetup": "Setup incomplete",
- "lang_news": "vmChooser news",
"lang_next": "Next",
"lang_noExistingAccount": "No account has been created yet. Sign up to become the administrator.",
"lang_numerOfImagesMarkedForDeletion": "Images marked for deletion",
"lang_register": "Register",
- "lang_server": "Server",
- "lang_serverStatus": "Server status",
- "lang_settings": "Settings",
- "lang_status": "Status",
"lang_systemConfiguration": "System Configuration",
"lang_systemConfigurationNotChosen": "A system configuration has not been chosen yet.",
+ "lang_toggleNavigation": "toggle navigation",
"lang_translations": "Translations",
- "lang_vmLocation": "VM Location",
"lang_vmLocationNotSet": "A location for the virtual machine is not set yet.",
"lang_warning": "Warning",
- "lang_webInterface": "Web interface",
"lang_welcome": "Welcome"
} \ No newline at end of file
diff --git a/modules-available/main/lang/pt/categories.json b/modules-available/main/lang/pt/categories.json
new file mode 100644
index 00000000..4b6ed82f
--- /dev/null
+++ b/modules-available/main/lang/pt/categories.json
@@ -0,0 +1,6 @@
+{
+ "content": "Conte\u00fado",
+ "settings": "Configura\u00e7\u00f5es",
+ "status": "Status",
+ "users": "Usu\u00e1rios"
+}
diff --git a/modules-available/main/page.inc.php b/modules-available/main/page.inc.php
index 369d4b54..0a9acd81 100644
--- a/modules-available/main/page.inc.php
+++ b/modules-available/main/page.inc.php
@@ -25,8 +25,6 @@ class Page_Main extends Page
protected function doRender()
{
- // Render::setTitle('abc');
-
if (!User::isLoggedIn()) {
Render::addTemplate('page-main-guest', array(
'register' => (Database::queryFirst('SELECT userid FROM user LIMIT 1') === false)
diff --git a/modules-available/main/templates/page-login.html b/modules-available/main/templates/page-login.html
deleted file mode 100644
index 247e9a55..00000000
--- a/modules-available/main/templates/page-login.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<form class="form-signin" action="?do=Session" method="post">
- <h2 class="form-signin-heading">{{lang_enter}}</h2>
- <input type="text" name="user" class="form-control" placeholder="{{lang_username}}" autofocus>
- <input type="password" name="pass" class="form-control" placeholder="{{lang_password}}">
- <!--label class="checkbox">
- <input type="checkbox" name="remember" value="remember-me"> {{lang_rememberID}}
- </label-->
- <button class="btn btn-lg btn-primary btn-block" type="submit">{{lang_login}}</button>
- <a class="btn btn-lg btn-primary btn-block" href="?do=AddUser">{{lang_register}}</a>
- <input type="hidden" name="action" value="login">
-</form> \ No newline at end of file
diff --git a/modules-available/main/templates/page-minilinux.html b/modules-available/main/templates/page-minilinux.html
deleted file mode 100644
index dc13e6b0..00000000
--- a/modules-available/main/templates/page-minilinux.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<div id="systemlist">
- <div class="panel panel-default">{{lang_listObtained}}</div>
-</div>
-
-<script type="text/javascript"><!--
- function loadSystemList(version) {
- $('#systemlist').load('{{{listurl}}}', { token: TOKEN, version: version }, function( response, status, xhr ) {
- if ( status === "error" ) {
- var msg = "{{lang_errorGetting}}";
- $( "#systemlist" ).html( msg + xhr.status + " " + xhr.statusText );
- }
- });
- }
-// --></script> \ No newline at end of file
diff --git a/modules-available/main/templates/page-news.html b/modules-available/main/templates/page-news.html
deleted file mode 100644
index 8e400498..00000000
--- a/modules-available/main/templates/page-news.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<div class="panel panel-default">
- <div class="panel-heading">
- {{lang_editNews}}
- </div>
- <div class="panel-body">
- <p>{{lang_newsIntro}}</p>
- <form action="?do=News&amp;action=save" method="post">
- <div class="form-group">
- <label for="news-title-id">{{lang_title}}</label>
- <input type="text" name="news-title" id ="news-title-id" class="form-control" placeholder="{{welcome}}" value="{{latestTitle}}">
- </div>
- <div class="form-group">
- <label for="news-content-id">{{lang_content}}</label>
- <textarea name="news-content" id ="news-content-id" class="form-control" rows="5" cols="30" placeholder="">{{latestContent}}</textarea>
- </div>
- <p>{{lang_latestUpdate}}: {{latestDate}}</p>
- <button class="btn btn-primary btn-sm" type="submit">{{lang_save}}</button>
- <input type="hidden" name="token" value="{{token}}">
- </form>
- </div>
-</div>
-
-<div class="panel panel-default">
- <div class="panel-heading">
- {{lang_newsOld}}
- </div>
- <div class="panel-body">
- <div class="table-responsive">
- <form method="post" action="?do=News&amp;action=delete">
- <input type="hidden" name="token" value="{{token}}">
- <table class="table table-stripped table-condensed">
- <thead>
- <tr>
- <th>{{lang_date}}</th>
- <th>{{lang_title}}</th>
- <th>{{lang_content}}</th>
- <th></th>
- </tr>
- </thead>
- <tbody>
- {{#list}}
- <tr {{#active}}class="active"{{/active}}>
- <td class="text-left nowrap">{{date}}</td>
- <td class="slx-ellipsis">{{title}}</td>
- <td class="slx-ellipsis">{{content}}</td>
- <td>
- <a class="btn btn-primary btn-xs" href="?do=news&amp;newsid={{newsid}}&amp;action=show"><span class="glyphicon glyphicon-share-alt"></span> {{lang_show}}</a>
- <button class="btn btn-danger btn-xs" type="submit" name="newsid" value="{{newsid}}"><span class="glyphicon glyphicon-remove"></span> {{lang_delete}}</button>
- </td>
- </tr>
- {{/list}}
- </tbody>
- </table>
- </form>
- </div>
- </div>
-</div>
diff --git a/modules-available/main/templates/page-syslog.html b/modules-available/main/templates/page-syslog.html
deleted file mode 100644
index 98e94291..00000000
--- a/modules-available/main/templates/page-syslog.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<h1>{{lang_clientLog}}</h1>
-<form method="post" action="?do=SysLog">
- <input type="hidden" name="token" value="{{token}}">
- <div class="input-group">
- <span class="input-group-addon">{{lang_filter}}</span>
- <input id="filterstring" type="text" placeholder="id" value="{{filter}}" name="filter" data-role="tagsinput" />
- <span class="input-group-addon">
- <input type="checkbox" name="not" {{#not}}checked="checked"{{/not}}> {{lang_not}}
- </span>
- <span class="input-group-btn">
- <button class="btn btn-default" type="submit">{{lang_go}}</button>
- </span>
- </div>
-</form>
-{{{pagenav}}}
-<table class="table table-striped table-condensed">
- <thead>
- <th width="1"></th>
- <th>{{lang_when}}</th>
- <th>{{lang_client}}</th>
- <th>{{lang_event}}</th>
- <th width="1">{{lang_details}}</th>
- </thead>
- <tbody>
- {{#list}}
- <tr>
- <td><span class="glyphicon {{icon}}" title="{{logtypeid}}" onclick="$('#filterstring').tagsinput('add', '{{logtypeid}}')"></span></td>
- <td class="text-right" nowrap="nowrap">{{date}}</td>
- <td>{{clientip}}</td>
- <td>{{description}}</td>
- <td>{{#extra}}
- <a class="btn btn-default btn-xs pull-left" onclick="$('#details-body').html($('#extra-{{logid}}').html())" data-toggle="modal" data-target="#myModal">&raquo;</a>
- <div class="hidden" id="extra-{{logid}}">{{extra}}</div>
- {{/extra}}</td>
- </tr>
- {{/list}}
- </tbody>
-</table>
-{{{pagenav}}}
-
-<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
- <div class="modal-dialog modal-lg">
- <div class="modal-content">
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
- <h4 class="modal-title" id="myModalLabel">{{lang_details}}</h4>
- </div>
- <div class="modal-body">
- <pre id="details-body"></pre>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
- </div>
- </div>
- </div>
-</div>
-
-
diff --git a/modules-available/main/templates/page-vmstore.html b/modules-available/main/templates/page-vmstore.html
deleted file mode 100644
index fe2c5225..00000000
--- a/modules-available/main/templates/page-vmstore.html
+++ /dev/null
@@ -1,111 +0,0 @@
-<form role="form" method="post" action="?do=VmStore">
- <input type="text" name="prevent_autofill" id="prevent_autofill" value="" style="display:none;">
- <input type="password" name="password_fake" id="password_fake" value="" style="display:none;">
- <input type="hidden" name="token" value="{{token}}">
- <input type="hidden" name="action" value="setstore">
- <div class="panel panel-default">
- <div class="panel-heading">
- {{lang_vmLocation}} <a class="btn btn-default" data-toggle="modal" data-target="#help-store"><span class="glyphicon glyphicon-question-sign"></span></a>
- </div>
- <div class="panel-body slx-md-width">
- <p>{{lang_vmLocationChoose}}</p>
- <div class="panel panel-default">
- <div class="panel-heading">
- <input type="radio" name="storetype" value="internal" {{pre-internal}}> {{lang_intern}}
- </div>
- <div class="panel-body">
- {{lang_noAdditionalInformation}}
- </div>
- </div>
- <div class="panel panel-default">
- <div class="panel-heading">
- <input type="radio" name="storetype" value="nfs" {{pre-nfs}}> NFS
- <a class="btn btn-default btn-sm" data-toggle="modal" data-target="#help-nfs"><span class="glyphicon glyphicon-question-sign"></span></a>
- </div>
- <div class="panel-body">
- <label for="nfsaddr">NFS-Export</label>
- <input type="text" class="form-control" name="nfsaddr" value="{{nfsaddr}}" placeholder="1.2.3.4:/export/bwlp" id="nfsaddr">
- </div>
- </div>
- <div class="panel panel-default">
- <div class="panel-heading">
- <input type="radio" name="storetype" value="cifs" {{pre-cifs}}> CIFS
- </div>
- <div class="panel-body">
- <label for="cifsaddr">UNC-Pfad</label>
- <input type="text" class="form-control" name="cifsaddr" value="{{cifsaddr}}" placeholder="\\samba.server.example.com\bwlp" id="cifsaddr">
- <br>
- <label for="cifsuser">{{lang_readWrite}}</label>
- <div class="input-group">
- <span class="input-group-addon slx-ga">
- {{lang_username}}
- </span>
- <input type="text" class="form-control" name="cifsuser" value="{{cifsuser}}" placeholder="{{lang_username}}" id="cifsuser">
- <span class="input-group-addon">
- {{lang_password}}
- </span>
- <input type="{{password_type}}" class="form-control" name="cifspasswd" value="{{cifspasswd}}" placeholder="{{lang_password}}">
- </div>
- <br>
- <label for="cifsuserro">{{lang_readOnly}}</label>
- <div class="input-group">
- <span class="input-group-addon slx-ga">
- {{lang_username}}
- </span>
- <input type="text" class="form-control" name="cifsuserro" value="{{cifsuserro}}" placeholder="{{lang_username}}" id="cifsuserro">
- <span class="input-group-addon">
- {{lang_password}}
- </span>
- <input type="{{password_type}}" class="form-control" name="cifspasswdro" value="{{cifspasswdro}}" placeholder="{{lang_password}}">
- </div>
- </div>
- </div>
- <button class="btn btn-primary" type="submit">{{lang_save}}</button>
- </div>
- </div>
-</form>
-
-<div class="modal fade" id="help-store" tabindex="-1" role="dialog">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="modal-header">{{lang_vmLocation}}</div>
- <div class="modal-body">
- <p>
- {{lang_vmLocationHelp1}}
- </p>
- <p>
- {{lang_vmLocationHelp2}}
- </p>
- <p>
- {{lang_vmLocationHelp3}}
- </p>
- </div>
- <div class="modal-footer"><a class="btn btn-primary" data-dismiss="modal">{{lang_close}}</a></div>
- </div>
- </div>
-</div>
-
-<div class="modal fade" id="help-nfs" tabindex="-1" role="dialog">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="modal-header">NFS</div>
- <div class="modal-body">
- <p>
- {{lang_nfsHelp1}}
- </p>
- <pre>
-/mnt/images 1.2.3.4(rw,no_root_squash,async)
-/mnt/images *(ro,async,nolock)
- </pre>
- <p>
- {{lang_nfsHelp2}}
- </p>
- <pre>
-/mnt/images 1.2.3.4(rw,all_squash,anon_uid=1234,async)
-/mnt/images *(ro,async,nolock)
- </pre>
- </div>
- <div class="modal-footer"><a class="btn btn-primary" data-dismiss="modal">{{lang_close}}</a></div>
- </div>
- </div>
-</div>