diff options
author | Simon Rettberg | 2016-05-03 19:03:09 +0200 |
---|---|---|
committer | Simon Rettberg | 2016-05-03 19:03:09 +0200 |
commit | 50404f3b23b7fd6aeae4c9d2f6df0ea25e984e66 (patch) | |
tree | 05e99fdffa696434960d7c77966c0bc36d6339e8 /modules-available/main | |
parent | Second half of merge.... (diff) | |
download | slx-admin-50404f3b23b7fd6aeae4c9d2f6df0ea25e984e66.tar.gz slx-admin-50404f3b23b7fd6aeae4c9d2f6df0ea25e984e66.tar.xz slx-admin-50404f3b23b7fd6aeae4c9d2f6df0ea25e984e66.zip |
WIP
Diffstat (limited to 'modules-available/main')
36 files changed, 635 insertions, 0 deletions
diff --git a/modules-available/main/category-icons.json b/modules-available/main/category-icons.json new file mode 100644 index 00000000..97b76eac --- /dev/null +++ b/modules-available/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-available/main/config.json b/modules-available/main/config.json new file mode 100644 index 00000000..4da67ef8 --- /dev/null +++ b/modules-available/main/config.json @@ -0,0 +1,3 @@ +{ + "enabled":"true" +} diff --git a/modules-available/main/lang/de/module.json b/modules-available/main/lang/de/module.json new file mode 100644 index 00000000..f03e52ad --- /dev/null +++ b/modules-available/main/lang/de/module.json @@ -0,0 +1,4 @@ +{ + "module_name": "Dashboard", + "page_title": "Startseite" +} diff --git a/modules-available/main/lang/de/templates/dialog-generic.json b/modules-available/main/lang/de/templates/dialog-generic.json new file mode 100644 index 00000000..ff429fdd --- /dev/null +++ b/modules-available/main/lang/de/templates/dialog-generic.json @@ -0,0 +1,3 @@ +{ + "lang_next": "Weiter" +}
\ No newline at end of file diff --git a/modules-available/main/lang/de/templates/main-menu.json b/modules-available/main/lang/de/templates/main-menu.json new file mode 100644 index 00000000..057bfcf2 --- /dev/null +++ b/modules-available/main/lang/de/templates/main-menu.json @@ -0,0 +1,22 @@ +{ + "lang_configurationBasic": "PXE\/Boot", + "lang_configurationVariables": "KonfigurationsVariablen", + "lang_dozmod": "Dozentenmodul", + "lang_eventLog": "Server Log", + "lang_internetAccess": "Internetzugriff", + "lang_language": "Sprachen", + "lang_localization": "Lokalisierung + Integration", + "lang_locations": "R\u00e4ume\/Orte", + "lang_login": "Anmelden", + "lang_logout": "Abmelden", + "lang_needsSetup": "Einrichtung unvollst\u00e4ndig", + "lang_news": "vmChooser News", + "lang_server": "Server", + "lang_serverStatus": "Server Status", + "lang_settings": "Einstellungen", + "lang_status": "Status", + "lang_translations": "\u00dcbersetzungen", + "lang_vmLocation": "VM Speicherort", + "lang_warning": "Warnung", + "lang_webInterface": "Web-Schnittstelle" +} diff --git a/modules-available/main/lang/de/templates/messagebox-error.json b/modules-available/main/lang/de/templates/messagebox-error.json new file mode 100644 index 00000000..c44dc44f --- /dev/null +++ b/modules-available/main/lang/de/templates/messagebox-error.json @@ -0,0 +1,3 @@ +[ + +]
\ No newline at end of file diff --git a/modules-available/main/lang/de/templates/messagebox-info.json b/modules-available/main/lang/de/templates/messagebox-info.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/modules-available/main/lang/de/templates/messagebox-info.json @@ -0,0 +1 @@ +{} diff --git a/modules-available/main/lang/de/templates/messagebox-success.json b/modules-available/main/lang/de/templates/messagebox-success.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/modules-available/main/lang/de/templates/messagebox-success.json @@ -0,0 +1 @@ +{} diff --git a/modules-available/main/lang/de/templates/messagebox-warning.json b/modules-available/main/lang/de/templates/messagebox-warning.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/modules-available/main/lang/de/templates/messagebox-warning.json @@ -0,0 +1 @@ +{} diff --git a/modules-available/main/lang/de/templates/page-main-guest.json b/modules-available/main/lang/de/templates/page-main-guest.json new file mode 100644 index 00000000..876fccac --- /dev/null +++ b/modules-available/main/lang/de/templates/page-main-guest.json @@ -0,0 +1,7 @@ +{ + "lang_introGuest": "Dies ist das Administrations-Interface der lokalen bwLehrpool-Installation. Bitte authentifizieren Sie sich, um Einstellungen vorzunehmen.", + "lang_login": "Anmelden", + "lang_noExistingAccount": "Es existiert noch kein Administrator-Zugang f\u00fcr diesen Satelliten-Server.", + "lang_register": "Registrieren", + "lang_welcome": "Willkommen" +}
\ No newline at end of file diff --git a/modules-available/main/lang/de/templates/page-main.json b/modules-available/main/lang/de/templates/page-main.json new file mode 100644 index 00000000..a927e4ce --- /dev/null +++ b/modules-available/main/lang/de/templates/page-main.json @@ -0,0 +1,11 @@ +{ + "lang_bootMenuWarning": "Das Bootmen\u00fc ist veraltet oder wurde noch nicht generiert.", + "lang_configure": "Konfigurieren", + "lang_intro": "Dies ist die bwLehrpool Konfigurationsoberfl\u00e4che.", + "lang_minilinuxMissing": "Wichtige Dateien der MiniLinux-Installation fehlen.", + "lang_numerOfImagesMarkedForDeletion": "Zur L\u00f6schung markierte Abbilder", + "lang_systemConfiguration": "Systemkonfiguration", + "lang_systemConfigurationNotChosen": "Es wurde noch keine Systemkonfiguration ausgew\u00e4hlt.", + "lang_vmLocationNotSet": "Es ist noch kein Speicherort f\u00fcr die Virtuellen Maschinen festgelegt.", + "lang_welcome": "Willkommen" +}
\ No newline at end of file diff --git a/modules-available/main/lang/en/categories.json b/modules-available/main/lang/en/categories.json new file mode 100644 index 00000000..3d67bcfd --- /dev/null +++ b/modules-available/main/lang/en/categories.json @@ -0,0 +1,6 @@ +{ + "settings": "Settings", + "status": "Status", + "content": "Content", + "users": "Users" +} diff --git a/modules-available/main/lang/en/module.json b/modules-available/main/lang/en/module.json new file mode 100644 index 00000000..613213d9 --- /dev/null +++ b/modules-available/main/lang/en/module.json @@ -0,0 +1,13 @@ +{ + "lang_intro": "Esta \u00e9 a interface de configura\u00e7\u00e3o do OpenSLX.", + "lang_introGuest": "This is the administration interface of the local bwLehrpool intallation. Please authenticate yourself to adjust settings.", + "lang_language": "Language", + "lang_login": "Login", + "lang_logout": "Logout", + "lang_needsSetup": "Setup incomplete", + "lang_next": "Next", + "lang_noExistingAccount": "No account has been created yet. Sign up to become the administrator.", + "lang_register": "Register", + "lang_warning": "Warning", + "lang_welcome": "Welcome" +}
\ No newline at end of file diff --git a/modules-available/main/lang/en/templates/dialog-generic.json b/modules-available/main/lang/en/templates/dialog-generic.json new file mode 100644 index 00000000..c7551ed3 --- /dev/null +++ b/modules-available/main/lang/en/templates/dialog-generic.json @@ -0,0 +1,3 @@ +{ + "lang_next": "Next" +}
\ No newline at end of file diff --git a/modules-available/main/lang/en/templates/main-menu.json b/modules-available/main/lang/en/templates/main-menu.json new file mode 100644 index 00000000..635c7aa8 --- /dev/null +++ b/modules-available/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-available/main/lang/en/templates/messagebox-warning.json b/modules-available/main/lang/en/templates/messagebox-warning.json new file mode 100644 index 00000000..2c63c085 --- /dev/null +++ b/modules-available/main/lang/en/templates/messagebox-warning.json @@ -0,0 +1,2 @@ +{ +} diff --git a/modules-available/main/lang/en/templates/page-main-guest.json b/modules-available/main/lang/en/templates/page-main-guest.json new file mode 100644 index 00000000..6526f5bd --- /dev/null +++ b/modules-available/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-available/main/lang/en/templates/page-main.json b/modules-available/main/lang/en/templates/page-main.json new file mode 100644 index 00000000..8031ac1c --- /dev/null +++ b/modules-available/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-available/main/lang/pt/module.json b/modules-available/main/lang/pt/module.json new file mode 100644 index 00000000..e4e35acd --- /dev/null +++ b/modules-available/main/lang/pt/module.json @@ -0,0 +1,14 @@ +{ + "lang_intro": "Esta \u00e9 a interface de configura\u00e7\u00e3o do OpenSLX.", + "lang_introGuest": "Esta \u00e9 a interface de administra\u00e7\u00e3o da instala\u00e7\u00e3o local do bwLehrpool. Por favor, autentique-se para ajustar op\u00e7\u00f5es.", + "lang_language": "L\u00edngua", + "lang_login": "Entrar", + "lang_logout": "Sair", + "lang_needsSetup": "Instala\u00e7\u00e3o incompleta", + "lang_next": "Pr\u00f3ximo", + "lang_noExistingAccount": "Nenhuma conta foi criada ainda. Registre-se para se tornar administrador.", + "lang_register": "Registrar", + "lang_translations": "Tradu\u00e7\u00f5es", + "lang_warning": "Aten\u00e7\u00e3o", + "lang_welcome": "Bem-vindo" +} diff --git a/modules-available/main/page.inc.php b/modules-available/main/page.inc.php new file mode 100644 index 00000000..369d4b54 --- /dev/null +++ b/modules-available/main/page.inc.php @@ -0,0 +1,64 @@ +<?php + +class Page_Main extends Page +{ + + private $sysconfig; + private $minilinux; + private $vmstore; + private $ipxe; + private $delPending; + + protected function doPreprocess() + { + User::load(); + if (User::isLoggedIn()) { + $this->sysconfig = !file_exists(CONFIG_HTTP_DIR . '/default/config.tgz'); + $this->minilinux = !file_exists(CONFIG_HTTP_DIR . '/default/kernel') || !file_exists(CONFIG_HTTP_DIR . '/default/initramfs-stage31') || !file_exists(CONFIG_HTTP_DIR . '/default/stage32.sqfs'); + $this->vmstore = !is_array(Property::getVmStoreConfig()); + $this->ipxe = !preg_match('/^\d+\.\d+\.\d+\.\d+$/', Property::getServerIp()); + Property::setNeedsSetup(($this->sysconfig || $this->minilinux || $this->vmstore || $this->ipxe) ? 1 : 0); + $res = Database::queryFirst("SELECT Count(*) AS cnt FROM sat.imageversion WHERE deletestate = 'SHOULD_DELETE'", array(), true); + $this->delPending = isset($res['cnt']) ? $res['cnt'] : 0; + } + } + + 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) + )); + return; + } + // Logged in here + + // Load news + $lines = array(); + $paginate = new Paginate("SELECT newsid, dateline, title, content FROM news ORDER BY dateline DESC", 10); + $res = $paginate->exec(); + while ($row = $res->fetch(PDO::FETCH_ASSOC)) { + if(count($lines) >= 3) break; + $lines[] = $row; + } + + Render::addTemplate('page-main', array( + 'user' => User::getName(), + 'sysconfig' => $this->sysconfig, + 'minilinux' => $this->minilinux, + 'vmstore' => $this->vmstore, + 'ipxe' => $this->ipxe, + 'delpending' => $this->delPending, + 'news' => $lines + )); + } + + protected function doAjax() + { + User::isLoggedIn(); + die('Status: DB running'); + } + +} diff --git a/modules-available/main/templates/dialog-generic.html b/modules-available/main/templates/dialog-generic.html new file mode 100644 index 00000000..5face8ce --- /dev/null +++ b/modules-available/main/templates/dialog-generic.html @@ -0,0 +1,13 @@ +<div class="modal-dialog slx-dialog"> + <div class="modal-content"> + <div class="modal-header"> + <h4 class="modal-title">{{title}}</h4> + </div> + <div class="modal-body"> + {{{body}}} + </div> + <div class="modal-footer"> + {{#next}}<a class="btn btn-primary" href="{{next}}">{{lang_next}} »</a>{{/next}} + </div> + </div> +</div>
\ No newline at end of file diff --git a/modules-available/main/templates/footer.html b/modules-available/main/templates/footer.html new file mode 100644 index 00000000..8cf71a5c --- /dev/null +++ b/modules-available/main/templates/footer.html @@ -0,0 +1,2 @@ +<hr> +<div class="pull-right slx-footer">{{text}}</div>
\ No newline at end of file diff --git a/modules-available/main/templates/main-menu.html b/modules-available/main/templates/main-menu.html new file mode 100644 index 00000000..65085ee6 --- /dev/null +++ b/modules-available/main/templates/main-menu.html @@ -0,0 +1,72 @@ +<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="#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="#">OpenSLX</a> + </div> + <!-- 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"> + {{#categories}} + <li class="dropdown"> + <a href="#" class="dropdown-toggle slx-nopointer" 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" 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}}&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"> + <button class="btn btn-default btn-xs" type="submit">{{lang_logout}}</button> + </form> + </li> + {{/user}} + {{^user}} + <li><a href="?do=Session&action=login">{{lang_login}}</a></li> + {{/user}} + </ul> + </div> + </div> +</nav> diff --git a/modules-available/main/templates/messagebox-error.html b/modules-available/main/templates/messagebox-error.html new file mode 100644 index 00000000..873716c9 --- /dev/null +++ b/modules-available/main/templates/messagebox-error.html @@ -0,0 +1 @@ +<div class="alert alert-danger"><span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> {{{message}}}</div> diff --git a/modules-available/main/templates/messagebox-info.html b/modules-available/main/templates/messagebox-info.html new file mode 100644 index 00000000..eb9d518a --- /dev/null +++ b/modules-available/main/templates/messagebox-info.html @@ -0,0 +1 @@ +<div class="alert alert-info"><span class="glyphicon glyphicon-exclamation-sign" aria-hidden="true"></span> {{{message}}}</div> diff --git a/modules-available/main/templates/messagebox-success.html b/modules-available/main/templates/messagebox-success.html new file mode 100644 index 00000000..93674d69 --- /dev/null +++ b/modules-available/main/templates/messagebox-success.html @@ -0,0 +1 @@ +<div class="alert alert-success"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span> {{{message}}}</div> diff --git a/modules-available/main/templates/messagebox-warning.html b/modules-available/main/templates/messagebox-warning.html new file mode 100644 index 00000000..b02e2e8a --- /dev/null +++ b/modules-available/main/templates/messagebox-warning.html @@ -0,0 +1 @@ +<div class="alert alert-warning"><span class="glyphicon glyphicon-warning" aria-hidden="true"></span> {{{message}}}</div> diff --git a/modules-available/main/templates/page-login.html b/modules-available/main/templates/page-login.html new file mode 100644 index 00000000..247e9a55 --- /dev/null +++ b/modules-available/main/templates/page-login.html @@ -0,0 +1,11 @@ +<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-main-guest.html b/modules-available/main/templates/page-main-guest.html new file mode 100644 index 00000000..28b0d04c --- /dev/null +++ b/modules-available/main/templates/page-main-guest.html @@ -0,0 +1,15 @@ +<div class="col-md-10" style="float:none; margin: 0 auto;"> + <div class="jumbotron"> + <h1>{{lang_welcome}}</h1> + <p>{{lang_introGuest}}</p> + {{#register}} + <ul class="list-group"> + <li class="list-group-item list-group-item-info"> + {{lang_noExistingAccount}} + <a href="?do=AddUser" class="btn btn-primary btn-lg">{{lang_register}} »</a> + </li> + </ul> + {{/register}} + <p><a href="?do=Session&action=login" class="btn btn-primary btn-lg">{{lang_login}} »</a></p> + </div> +</div> diff --git a/modules-available/main/templates/page-main.html b/modules-available/main/templates/page-main.html new file mode 100644 index 00000000..39e4e74e --- /dev/null +++ b/modules-available/main/templates/page-main.html @@ -0,0 +1,36 @@ +<div class="jumbotron"> + <h1>{{lang_welcome}}, {{user}}</h1> + <p>{{lang_intro}}</p> + +</div> +<ul class="list-group"> +{{#vmstore}} + <li class="list-group-item list-group-item-text"> + {{lang_vmLocationNotSet}} + <a class="btn btn-sm btn-primary" href="?do=VmStore">{{lang_configure}} »</a> + </li> +{{/vmstore}} +{{#ipxe}} + <li class="list-group-item list-group-item-text"> + {{lang_bootMenuWarning}} + <a class="btn btn-sm btn-primary" href="?do=ServerSetup">{{lang_configure}} »</a> + </li> +{{/ipxe}} +{{#minilinux}} + <li class="list-group-item list-group-item-text"> + {{lang_minilinuxMissing}} + <a class="btn btn-sm btn-primary" href="?do=MiniLinux">MiniLinux »</a> + </li> +{{/minilinux}} +{{#sysconfig}} + <li class="list-group-item list-group-item-text"> + {{lang_systemConfigurationNotChosen}} + <a class="btn btn-sm btn-primary" href="?do=SysConfig">{{lang_systemConfiguration}} »</a> + </li> +{{/sysconfig}} +{{#delpending}} + <li class="list-group-item list-group-item-text"> + <a href="?do=DozMod">{{lang_numerOfImagesMarkedForDeletion}}: {{delpending}}</a> + </li> +{{/delpending}} +</ul> diff --git a/modules-available/main/templates/page-minilinux.html b/modules-available/main/templates/page-minilinux.html new file mode 100644 index 00000000..dc13e6b0 --- /dev/null +++ b/modules-available/main/templates/page-minilinux.html @@ -0,0 +1,14 @@ +<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 new file mode 100644 index 00000000..8e400498 --- /dev/null +++ b/modules-available/main/templates/page-news.html @@ -0,0 +1,57 @@ +<div class="panel panel-default"> + <div class="panel-heading"> + {{lang_editNews}} + </div> + <div class="panel-body"> + <p>{{lang_newsIntro}}</p> + <form action="?do=News&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&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&newsid={{newsid}}&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 new file mode 100644 index 00000000..98e94291 --- /dev/null +++ b/modules-available/main/templates/page-syslog.html @@ -0,0 +1,58 @@ +<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">»</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">×</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 new file mode 100644 index 00000000..fe2c5225 --- /dev/null +++ b/modules-available/main/templates/page-vmstore.html @@ -0,0 +1,111 @@ +<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> diff --git a/modules-available/main/templates/pagenav.html b/modules-available/main/templates/pagenav.html new file mode 100644 index 00000000..93194999 --- /dev/null +++ b/modules-available/main/templates/pagenav.html @@ -0,0 +1,16 @@ +<ul class="pagination pagination-sm pull-right"> + {{#pages}} + {{#current}} + <li class="active"><a href="{{url}}page={{page}}">{{text}} <span class="sr-only">(current)</span></a></li> + {{/current}} + {{^current}} + {{#text}} + <li><a href="{{url}}page={{page}}">{{text}}</a></li> + {{/text}} + {{^text}} + <li class="disabled"><a href="#">…</a></li> + {{/text}} + {{/current}} + {{/pages}} +</ul> +<div class="clearfix"></div>
\ No newline at end of file diff --git a/modules-available/main/templates/tm-callback-trigger.html b/modules-available/main/templates/tm-callback-trigger.html new file mode 100644 index 00000000..cd03a1fe --- /dev/null +++ b/modules-available/main/templates/tm-callback-trigger.html @@ -0,0 +1,15 @@ +<script type="text/javascript"> + var slxCbCooldown = 0; + function slxCheckCallbacks() { + $.post('api.php?do=cb', { token: TOKEN }, function(data) { + if ( data.indexOf('True') >= 0 ) { + slxCbCooldown = 0; + } else { + slxCbCooldown++; + } + if (slxCbCooldown < 4) + setTimeout(slxCheckCallbacks, (slxCbCooldown + 1) * 1500); + }, 'text'); + } + document.addEventListener("DOMContentLoaded", slxCheckCallbacks, false); +</script>
\ No newline at end of file |