diff options
author | Morris Jobke <hey@morrisjobke.de> | 2021-03-24 15:53:25 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-24 15:53:25 +0300 |
commit | ae1d6fb2e232e51b96dcab7e50a7bba2334619ac (patch) | |
tree | 5540d9b7f761ccc123e8e4f749c11ebf9affcd86 | |
parent | c331866031f7ac2b520399e59564b4f162e886bb (diff) | |
parent | 6fc451573aa660613808bd1d4ae71f8898c58670 (diff) |
Merge pull request #362 from nextcloud/enh/noid/no-maintenance-mode-active-in-webv24.0.0beta2v24.0.0beta1v23.0.9rc1v23.0.9v23.0.8rc1v23.0.8v23.0.7rc2v23.0.7rc1v23.0.7v23.0.6rc1v23.0.6v23.0.5rc1v23.0.5v23.0.4rc1v23.0.4v23.0.3rc2v23.0.3rc1v23.0.3v23.0.2rc1v23.0.2v23.0.1rc3v23.0.1rc2v23.0.1rc1v23.0.11rc1v23.0.11v23.0.10rc1v23.0.10v23.0.1v23.0.0rc3v23.0.0rc2v23.0.0rc1v23.0.0beta3v23.0.0beta2v23.0.0beta1v23.0.0v22.2.9rc1v22.2.9v22.2.8rc1v22.2.8v22.2.7rc1v22.2.7v22.2.6rc2v22.2.6rc1v22.2.6v22.2.5rc1v22.2.5v22.2.4rc3v22.2.4rc2v22.2.4rc1v22.2.4v22.2.3v22.2.2v22.2.1rc1v22.2.10rc2v22.2.10rc1v22.2.10v22.2.1v22.2.0rc2v22.2.0v22.1.1rc2v22.1.1rc1v22.1.1v22.1.0rc1v22.1.0v22.0.0rc2v22.0.0rc1v22.0.0beta5v22.0.0beta4v22.0.0beta3v22.0.0beta2v22.0.0beta1v22.0.022.1.0stable23stable22
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; ?> |