summaryrefslogtreecommitdiffstats
path: root/modules-available/backup
diff options
context:
space:
mode:
authorSimon Rettberg2017-11-14 15:22:20 +0100
committerSimon Rettberg2017-11-14 15:22:20 +0100
commit0069cd4feef49116af7819fcfc7fbc4aae9628f0 (patch)
treeaa6aabad821afa12cdfe8d32de8f709f0fc3ff0b /modules-available/backup
parent[exams/roomplanner] Smarter coordination of run mode (exam mode on/off etc) (diff)
downloadslx-admin-0069cd4feef49116af7819fcfc7fbc4aae9628f0.tar.gz
slx-admin-0069cd4feef49116af7819fcfc7fbc4aae9628f0.tar.xz
slx-admin-0069cd4feef49116af7819fcfc7fbc4aae9628f0.zip
[backup] Show warning on main page when last backup was more than 30 days ago
Diffstat (limited to 'modules-available/backup')
-rw-r--r--modules-available/backup/hooks/main-warning.inc.php8
-rw-r--r--modules-available/backup/lang/de/messages.json2
-rw-r--r--modules-available/backup/lang/de/template-tags.json2
-rw-r--r--modules-available/backup/lang/en/messages.json2
-rw-r--r--modules-available/backup/lang/en/template-tags.json2
-rw-r--r--modules-available/backup/page.inc.php11
-rw-r--r--modules-available/backup/templates/_page.html5
7 files changed, 31 insertions, 1 deletions
diff --git a/modules-available/backup/hooks/main-warning.inc.php b/modules-available/backup/hooks/main-warning.inc.php
new file mode 100644
index 00000000..0a0be7cc
--- /dev/null
+++ b/modules-available/backup/hooks/main-warning.inc.php
@@ -0,0 +1,8 @@
+<?php
+
+$last = Property::get('backup.last-time', 0);
+if ($last === 0) {
+ Message::addWarning('backup.last-time-unknown', true);
+} elseif ($last + (30 * 86400) < time()) {
+ Message::addWarning('backup.last-time', true, date('d.m.Y', $last));
+}
diff --git a/modules-available/backup/lang/de/messages.json b/modules-available/backup/lang/de/messages.json
index 6d16f366..36581b2a 100644
--- a/modules-available/backup/lang/de/messages.json
+++ b/modules-available/backup/lang/de/messages.json
@@ -1,5 +1,7 @@
{
"backup-failed": "Erstellen des Backups fehlgeschlagen",
+ "last-time": "Das letzte Backup wurde am {{0}} gemacht. Es wird empfohlen, regelm\u00e4\u00dfig ein Backup des Servers herunterzuladen.",
+ "last-time-unknown": "Es wird empfohlen, regelm\u00e4\u00dfig ein Backup des Servers herunterzuladen.",
"missing-file": "Es wurde keine Datei ausgew\u00e4hlt!",
"restore-done": "Wiederherstellung abgeschlossen",
"upload-failed": "Upload schlug fehl: {{0}}"
diff --git a/modules-available/backup/lang/de/template-tags.json b/modules-available/backup/lang/de/template-tags.json
index 770e34d2..1e41abbc 100644
--- a/modules-available/backup/lang/de/template-tags.json
+++ b/modules-available/backup/lang/de/template-tags.json
@@ -5,6 +5,7 @@
"lang_browseForFile": "Durchsuchen",
"lang_download": "Herunterladen",
"lang_dozmodExplanation": "Die Datenbank des Dozentenmoduls wiederherstellen. Dazu geh\u00f6ren die Metadaten der Virtuellen Maschinen, die Veranstaltungen, etc. Bitte beachten Sie, dass hierzu auf dem konfigurierten VM-Store die passenden VM-Abbilder vorliegen m\u00fcssen, da diese extern gespeichert werden. Wenn sich der Servername oder die -adresse ge\u00e4ndert haben stellen Sie bitte sicher, dass die relativen Pfade innerhalb des Netzlaufwerks gleich geblieben sind. Ansonsten werden die wiederhergestellten VMs nicht verwendbar sein.",
+ "lang_lastBackup": "Letzte Sicherung",
"lang_reboot": "Systemneustart",
"lang_restore": "Hochladen",
"lang_restoreConfig": "Konfiguration wiederherstellen",
@@ -15,5 +16,6 @@
"lang_selectFile": "Bitte w\u00e4hlen Sie ein Backup-Archiv",
"lang_stopping": "Stoppe",
"lang_systemExplanation": "Die Grundkonfiguration des Satelliten wiederherstellen: Authentifizierungmethode, Passw\u00f6rter, Proxies, VM-Storage, etc.\r\nACHTUNG: Wenn Sie ein Backup von vor WS15\/16 einspielen (Backup-Format vor Version 10), wird die Systemkonfiguration in jedem Fall wiederhergestellt, auch wenn Sie diesen Haken nicht setzen.",
+ "lang_unknown": "Unbekannt",
"lang_waitReboot": "Warte auf Reboot."
} \ No newline at end of file
diff --git a/modules-available/backup/lang/en/messages.json b/modules-available/backup/lang/en/messages.json
index 944cc80f..4c9685d5 100644
--- a/modules-available/backup/lang/en/messages.json
+++ b/modules-available/backup/lang/en/messages.json
@@ -1,5 +1,7 @@
{
"backup-failed": "Backup failed!",
+ "last-time": "Last backup was downloaded on {{0}}. It's recommended to download a server backup regularly.",
+ "last-time-unknown": "It's recommended to download a server backup regularly.",
"missing-file": "There was no file selected!",
"restore-done": "Restore done",
"upload-failed": "Upload failed: {{0}}"
diff --git a/modules-available/backup/lang/en/template-tags.json b/modules-available/backup/lang/en/template-tags.json
index cb8aced2..027510f0 100644
--- a/modules-available/backup/lang/en/template-tags.json
+++ b/modules-available/backup/lang/en/template-tags.json
@@ -5,6 +5,7 @@
"lang_browseForFile": "Browse",
"lang_download": "Download",
"lang_dozmodExplanation": "This restores all the virtual machine and lecture meta data created using the \"Dozentenmodul\". Please make sure the VM-storage configured still contains all the VM-Images associated with the virtual machines. If the location of the storage changed, make sure the relative pathes on the share are still the same, otherwise the virtual machines won't be usable.",
+ "lang_lastBackup": "Last backup",
"lang_reboot": "System reboot",
"lang_restore": "Upload",
"lang_restoreConfig": "Restore config",
@@ -15,5 +16,6 @@
"lang_selectFile": "Please select a backup archive",
"lang_stopping": "Stopping",
"lang_systemExplanation": "Restore basic configuration like authentication method, passwords, vm storage location, proxy config, etc. WARNING: If you restore a configuration backup that was made before WS15\/16 (backup format version <10), the system configuration will be restored regardless of this check mark.",
+ "lang_unknown": "Unknown",
"lang_waitReboot": "Waiting for reboot."
} \ No newline at end of file
diff --git a/modules-available/backup/page.inc.php b/modules-available/backup/page.inc.php
index 34777db8..77d677c7 100644
--- a/modules-available/backup/page.inc.php
+++ b/modules-available/backup/page.inc.php
@@ -3,6 +3,8 @@
class Page_Backup extends Page
{
+ const LAST_BACKUP_PROP = 'backup.last-time';
+
private $action = false;
private $templateData = array();
@@ -26,7 +28,13 @@ class Page_Backup extends Page
if ($this->action === 'restore') {
Render::addTemplate('restore', $this->templateData);
} else {
- Render::addTemplate('_page');
+ $lastBackup = (int)Property::get(self::LAST_BACKUP_PROP, 0);
+ if ($lastBackup === 0) {
+ $lastBackup = false;
+ } else {
+ $lastBackup = date('d.m.Y', $lastBackup);
+ }
+ Render::addTemplate('_page', ['last_backup' => $lastBackup]);
}
}
@@ -64,6 +72,7 @@ class Page_Backup extends Page
}
@fclose($fh);
@unlink($task['data']['backupFile']);
+ Property::set(self::LAST_BACKUP_PROP, time());
die();
}
diff --git a/modules-available/backup/templates/_page.html b/modules-available/backup/templates/_page.html
index 47b5a174..0f609f1d 100644
--- a/modules-available/backup/templates/_page.html
+++ b/modules-available/backup/templates/_page.html
@@ -8,6 +8,11 @@
<div class="panel-body">
<p>{{lang_backupDescription}}</p>
<button class="btn btn-primary" type="submit">{{lang_download}}</button>
+ <div class="text-right">
+ {{lang_lastBackup}}:
+ {{^last_backup}}{{lang_unknown}}{{/last_backup}}
+ {{last_backup}}
+ </div>
</div>
</div>
</form>