Fix for #3087, server backup and restore with key in URL.

Ylian Saint-Hilaire committed Sep 1, 2021 at 09:55 UTC b66e124983894be2d5d5c32529831e5749d34843
1 file changed +5 -2
views/default.handlebars
+5 -2
@@ -517,7 +517,7 @@
517 <div id="p2ServerActions">
518 <p><strong>Server actions</strong></p>
519 <div style="margin-left:25px">
520 - <div id="p2ServerActionsBackup"><div class="p2AccountActions"><span style="display:none"><strong>&#x2713;</strong></span></div><a href="{{{domainurl}}}backup.zip" rel="noreferrer noopener" target="_blank">Download server backup</a></div>
520 + <div id="p2ServerActionsBackup"><div class="p2AccountActions"><span style="display:none"><strong>&#x2713;</strong></span></div><a id="p6backuplink" href="{{{domainurl}}}backup.zip" rel="noreferrer noopener" target="_blank">Download server backup</a></div>
521 <div id="p2ServerActionsRestore"><div class="p2AccountActions"><span style="display:none"><strong>&#x2713;</strong></span></div><a href=# onclick="return server_showRestoreDlg()">Restore server with backup</a></div>
522 <div id="p2ServerActionsGoogleBackup" style="display:none"><div class="p2AccountActions"><span id="p2ServerActionsGoogleBackupCheck" style="display:none"><strong>&#x2713;</strong></span></div><span><a href=# onclick="return server_setupGoogleDriveBackup()">Google Drive backup</a><br /></span></div>
523 <div id="p2ServerActionsVersion"><div class="p2AccountActions"><span style="display:none"><strong>&#x2713;</strong></span></div><a href=# onclick="return server_showVersionDlg()">Check server version</a></div>
@@ -1597,6 +1597,9 @@
1597
1598 // Make the dialog box movable
1599 dialogBoxDrag();
1600 +
1601 + // Fix links
1602 + if (urlargs.key) { Q('p6backuplink').href += '?key=' + urlargs.key; }
1603 }
1604
1605 function refreshCookieSession() {
@@ -11108,7 +11111,7 @@
11111 function server_showRestoreDlg() {
11112 if (xxdialogMode) return false;
11113 var x = "Restore the server using a backup, <span style=color:red>this will delete the existing server data</span>. Only do this if you know what you are doing." + '<br /><br />';
11111 - x += '<form action="/restoreserver.ashx" enctype="multipart/form-data" method="post"><div>';
11114 + x += '<form action="/restoreserver.ashx' + ((urlargs.key)?('?key=' + urlargs.key):'') + '" enctype="multipart/form-data" method="post"><div>';
11115 x += '<input type=hidden name=auth value=' + authCookie + '>';
11116 x += '<input id=account_dlgFileInput type=file name=datafile style=width:100% accept=".zip,application/octet-stream,application/zip,application/x-zip,application/x-zip-compressed" onchange=account_validateServerRestore()><br /><br />';
11117 x += '<input id=account_dlgCancelButton type=button value=' + "Cancel" + ' style=float:right;width:80px;margin-left:5px onclick=dialogclose(0)>';