diff options
author | Morris Jobke <hey@morrisjobke.de> | 2021-03-24 16:58:56 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-24 16:58:56 +0300 |
commit | 6350483450b2280992d9873ad20f7f68c5039cd6 (patch) | |
tree | 5540d9b7f761ccc123e8e4f749c11ebf9affcd86 | |
parent | ef4d572f1e797d2c004ab8724599a263331c5232 (diff) | |
parent | 0be2644d2b83549968ae744a53f9f94788395ef5 (diff) |
Merge pull request #363 from nextcloud/backport/362/stable21v21.0.9rc1v21.0.9v21.0.8rc3v21.0.8rc2v21.0.8rc1v21.0.8v21.0.7v21.0.6rc1v21.0.6v21.0.5rc1v21.0.5v21.0.4rc1v21.0.4v21.0.3rc1v21.0.3v21.0.2RC1v21.0.2v21.0.1RC1v21.0.1stable21
[stable21] Do not allow to keep maintenance mode active in web updater
-rw-r--r-- | index.php | 43 |
1 files changed, 19 insertions, 24 deletions
@@ -1791,10 +1791,9 @@ if(strpos($updaterUrl, 'index.php') === false) { <div class="output hidden"></div> </li> <li id="step-maintenance-mode" class="step <?php if($stepNumber >= 11) { echo 'passed-step'; }?>"> - <h2>Keep maintenance mode active?</h2> + <h2>Continue with web based updater</h2> <div class="output hidden"> - <button id="maintenance-enable">Yes (for usage with command line tool)</button> - <button id="maintenance-disable">No (for usage of the web based updater)</button> + <button id="maintenance-disable">Disable maintenance mode and continue in the web based updater</button> </div> </li> <li id="step-done" class="step <?php if($stepNumber >= 12) { echo 'passed-step'; }?>"> @@ -2128,6 +2127,8 @@ if(strpos($updaterUrl, 'index.php') === false) { } }, 12: function (response) { + done = true; + window.removeEventListener('beforeunload', confirmExit); if (response.proceed === true) { successStep('step-done'); @@ -2135,10 +2136,16 @@ if(strpos($updaterUrl, 'index.php') === false) { var el = document.getElementById('step-done') .getElementsByClassName('output')[0]; el.classList.remove('hidden'); + + // above is the fallback if the Javascript redirect doesn't work + window.location.href = "<?php echo htmlspecialchars(str_replace('/index.php', '/../', $updaterUrl), ENT_QUOTES); ?>"; } else { - errorStep('step-done', 11); + errorStep('step-done', 12); + var text = escapeHTML(response.response); + text += '<br><details><summary>Show detailed response</summary><pre><code>' + + escapeHTML(response.detailedResponseText) + '</code></pre></details>'; + addStepText('step-done', text); } - done = true; }, }; @@ -2169,19 +2176,12 @@ if(strpos($updaterUrl, 'index.php') === false) { startUpdate(); } - function askForMaintenance(keepActive) { + function askForMaintenance() { var el = document.getElementById('step-maintenance-mode') .getElementsByClassName('output')[0]; - if (keepActive) { - el.innerHTML = 'Maintenance mode will kept active.<br>Now trigger the migration via command line: <code>./occ upgrade</code><br>'; - successStep('step-maintenance-mode'); - currentStep('step-done'); - performStep(12, performStepCallbacks[12]); - } else { - el.innerHTML = 'Maintenance mode will get disabled.<br>'; - currentStep('step-maintenance-mode'); - performStep(11, performStepCallbacks[11]); - } + el.innerHTML = 'Maintenance mode will get disabled.<br>'; + currentStep('step-maintenance-mode'); + performStep(11, performStepCallbacks[11]); } if(document.getElementById('startUpdateButton')) { @@ -2197,26 +2197,21 @@ if(strpos($updaterUrl, 'index.php') === false) { retryUpdate(); }; } - if(document.getElementById('maintenance-enable')) { - document.getElementById('maintenance-enable').onclick = function (e) { - e.preventDefault(); - askForMaintenance(true); - }; - } if(document.getElementById('maintenance-disable')) { document.getElementById('maintenance-disable').onclick = function (e) { e.preventDefault(); - askForMaintenance(false); + askForMaintenance(); }; } // Show a popup when user tries to close page - window.onbeforeunload = confirmExit; function confirmExit() { if (done === false && started === true) { return 'Update is in progress. Are you sure, you want to close?'; } } + // this is unregistered in step 12 + window.addEventListener('beforeunload', confirmExit); </script> <?php endif; ?> |