summaryrefslogtreecommitdiffstats
path: root/modules/backup.inc.php
diff options
context:
space:
mode:
authorSimon Rettberg2014-11-28 18:03:57 +0100
committerSimon Rettberg2014-11-28 18:03:57 +0100
commit1da8eeb6246efe22d0121b58063e7b98a527980b (patch)
treea914fb98f478eaf9fffcf6d83d1557e03045530a /modules/backup.inc.php
parentReturn status code 500 on Util::traceError() (diff)
downloadslx-admin-1da8eeb6246efe22d0121b58063e7b98a527980b.tar.gz
slx-admin-1da8eeb6246efe22d0121b58063e7b98a527980b.tar.xz
slx-admin-1da8eeb6246efe22d0121b58063e7b98a527980b.zip
Wait for reboot to complete after restoring a configuration backup
Diffstat (limited to 'modules/backup.inc.php')
-rw-r--r--modules/backup.inc.php13
1 files changed, 12 insertions, 1 deletions
diff --git a/modules/backup.inc.php b/modules/backup.inc.php
index e35aeed2..61964d47 100644
--- a/modules/backup.inc.php
+++ b/modules/backup.inc.php
@@ -78,7 +78,7 @@ class Page_Backup extends Page
Message::addError('upload-failed', Util::uploadErrorString($_FILES['backupfile']['error']));
Util::redirect('?do=Backup');
}
- $tempfile = '/tmp/bwlp-' . mt_rand(1, 100000) . '-' . crc32($_SERVER['REMOTE_HOST']) . '.tgz';
+ $tempfile = '/tmp/bwlp-' . mt_rand(1, 100000) . '-' . crc32($_SERVER['REMOTE_ADDR']) . '.tgz';
if (!move_uploaded_file($_FILES['backupfile']['tmp_name'], $tempfile)) {
Message::addError('error-write', $tempfile);
Util::redirect('?do=Backup');
@@ -107,11 +107,22 @@ class Page_Backup extends Page
$this->templateData['restoreid'] = $task['id'];
$parent = $task['id'];
}
+ // TODO: Trigger::rebuildAdModules();
+ // Wait a bit
+ $task = Taskmanager::submit('SleepTask', array(
+ 'seconds' => 3,
+ 'parentTask' => $parent,
+ 'failOnParentFail' => false
+ ));
+ if (isset($task['id']))
+ $parent = $task['id'];
// Reboot
$task = Taskmanager::submit('Reboot', array(
'parentTask' => $parent,
'failOnParentFail' => false
));
+ // Leave this comment so the i18n scanner finds it:
+ // Message::addSuccess('restore-done');
if (isset($task['id']))
$this->templateData['rebootid'] = $task['id'];
}