From 50404f3b23b7fd6aeae4c9d2f6df0ea25e984e66 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Tue, 3 May 2016 19:03:09 +0200 Subject: WIP --- modules-available/main/category-icons.json | 7 ++ modules-available/main/config.json | 3 + modules-available/main/lang/de/module.json | 4 + .../main/lang/de/templates/dialog-generic.json | 3 + .../main/lang/de/templates/main-menu.json | 22 ++++ .../main/lang/de/templates/messagebox-error.json | 3 + .../main/lang/de/templates/messagebox-info.json | 1 + .../main/lang/de/templates/messagebox-success.json | 1 + .../main/lang/de/templates/messagebox-warning.json | 1 + .../main/lang/de/templates/page-main-guest.json | 7 ++ .../main/lang/de/templates/page-main.json | 11 ++ modules-available/main/lang/en/categories.json | 6 ++ modules-available/main/lang/en/module.json | 13 +++ .../main/lang/en/templates/dialog-generic.json | 3 + .../main/lang/en/templates/main-menu.json | 28 ++++++ .../main/lang/en/templates/messagebox-warning.json | 2 + .../main/lang/en/templates/page-main-guest.json | 7 ++ .../main/lang/en/templates/page-main.json | 11 ++ modules-available/main/lang/pt/module.json | 14 +++ modules-available/main/page.inc.php | 64 ++++++++++++ .../main/templates/dialog-generic.html | 13 +++ modules-available/main/templates/footer.html | 2 + modules-available/main/templates/main-menu.html | 72 +++++++++++++ .../main/templates/messagebox-error.html | 1 + .../main/templates/messagebox-info.html | 1 + .../main/templates/messagebox-success.html | 1 + .../main/templates/messagebox-warning.html | 1 + modules-available/main/templates/page-login.html | 11 ++ .../main/templates/page-main-guest.html | 15 +++ modules-available/main/templates/page-main.html | 36 +++++++ .../main/templates/page-minilinux.html | 14 +++ modules-available/main/templates/page-news.html | 57 +++++++++++ modules-available/main/templates/page-syslog.html | 58 +++++++++++ modules-available/main/templates/page-vmstore.html | 111 +++++++++++++++++++++ modules-available/main/templates/pagenav.html | 16 +++ .../main/templates/tm-callback-trigger.html | 15 +++ 36 files changed, 635 insertions(+) create mode 100644 modules-available/main/category-icons.json create mode 100644 modules-available/main/config.json create mode 100644 modules-available/main/lang/de/module.json create mode 100644 modules-available/main/lang/de/templates/dialog-generic.json create mode 100644 modules-available/main/lang/de/templates/main-menu.json create mode 100644 modules-available/main/lang/de/templates/messagebox-error.json create mode 100644 modules-available/main/lang/de/templates/messagebox-info.json create mode 100644 modules-available/main/lang/de/templates/messagebox-success.json create mode 100644 modules-available/main/lang/de/templates/messagebox-warning.json create mode 100644 modules-available/main/lang/de/templates/page-main-guest.json create mode 100644 modules-available/main/lang/de/templates/page-main.json create mode 100644 modules-available/main/lang/en/categories.json create mode 100644 modules-available/main/lang/en/module.json create mode 100644 modules-available/main/lang/en/templates/dialog-generic.json create mode 100644 modules-available/main/lang/en/templates/main-menu.json create mode 100644 modules-available/main/lang/en/templates/messagebox-warning.json create mode 100644 modules-available/main/lang/en/templates/page-main-guest.json create mode 100644 modules-available/main/lang/en/templates/page-main.json create mode 100644 modules-available/main/lang/pt/module.json create mode 100644 modules-available/main/page.inc.php create mode 100644 modules-available/main/templates/dialog-generic.html create mode 100644 modules-available/main/templates/footer.html create mode 100644 modules-available/main/templates/main-menu.html create mode 100644 modules-available/main/templates/messagebox-error.html create mode 100644 modules-available/main/templates/messagebox-info.html create mode 100644 modules-available/main/templates/messagebox-success.html create mode 100644 modules-available/main/templates/messagebox-warning.html create mode 100644 modules-available/main/templates/page-login.html create mode 100644 modules-available/main/templates/page-main-guest.html create mode 100644 modules-available/main/templates/page-main.html create mode 100644 modules-available/main/templates/page-minilinux.html create mode 100644 modules-available/main/templates/page-news.html create mode 100644 modules-available/main/templates/page-syslog.html create mode 100644 modules-available/main/templates/page-vmstore.html create mode 100644 modules-available/main/templates/pagenav.html create mode 100644 modules-available/main/templates/tm-callback-trigger.html (limited to 'modules-available/main') 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 @@ +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 @@ + \ 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 @@ +
+ \ 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 @@ +
+
+ {{#dbupdate}} + DB-Update + {{/dbupdate}} + {{#warning}} + {{lang_warning}} + {{/warning}} + {{#needsSetup}} + {{lang_needsSetup}} + {{/needsSetup}} +
+
+ + 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 @@ +
{{{message}}}
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 @@ +
{{{message}}}
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 @@ +
{{{message}}}
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 @@ +
{{{message}}}
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 @@ +
+

{{lang_enter}}

+ + + + + {{lang_register}} + +
\ 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 @@ +
+
+

{{lang_welcome}}

+

{{lang_introGuest}}

+ {{#register}} + + {{/register}} +

{{lang_login}} »

+
+
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 @@ +
+

{{lang_welcome}}, {{user}}

+

{{lang_intro}}

+ +
+ 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 @@ +
+
{{lang_listObtained}}
+
+ + \ 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 @@ +
+
+ {{lang_editNews}} +
+
+

{{lang_newsIntro}}

+
+
+ + +
+
+ + +
+

{{lang_latestUpdate}}: {{latestDate}}

+ + +
+
+
+ +
+
+ {{lang_newsOld}} +
+
+
+
+ + + + + + + + + + + + {{#list}} + + + + + + + {{/list}} + +
{{lang_date}}{{lang_title}}{{lang_content}}
{{date}}{{title}}{{content}} + {{lang_show}} + +
+
+
+
+
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 @@ +

{{lang_clientLog}}

+
+ +
+ {{lang_filter}} + + + {{lang_not}} + + + + +
+
+{{{pagenav}}} + + + + + + + + + + {{#list}} + + + + + + + + {{/list}} + +
{{lang_when}}{{lang_client}}{{lang_event}}{{lang_details}}
{{date}}{{clientip}}{{description}}{{#extra}} + » + + {{/extra}}
+{{{pagenav}}} + + + + 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 @@ +
+ + + + +
+
+ {{lang_vmLocation}} +
+
+

{{lang_vmLocationChoose}}

+
+
+ {{lang_intern}} +
+
+ {{lang_noAdditionalInformation}} +
+
+
+
+ NFS + +
+
+ + +
+
+
+
+ CIFS +
+
+ + +
+ +
+ + {{lang_username}} + + + + {{lang_password}} + + +
+
+ +
+ + {{lang_username}} + + + + {{lang_password}} + + +
+
+
+ +
+
+
+ + + + 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 @@ + +
\ 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 @@ + \ No newline at end of file -- cgit v1.2.3-55-g7522