Allow to enforce update via web UI
* adds a disclaimer that an update via web UI is on own risk * allows to skip the warning * fixes #4353 Signed-off-by: Morris Jobke <hey@morrisjobke.de>
This commit is contained in:
parent
23b6f0e4d7
commit
3fa604cc5e
|
@ -178,6 +178,17 @@ input.updateButton,
|
||||||
input.update-continue {
|
input.update-continue {
|
||||||
padding: 10px 20px; /* larger log in and installation buttons */
|
padding: 10px 20px; /* larger log in and installation buttons */
|
||||||
}
|
}
|
||||||
|
.updateAnyways a.updateAnywaysButton {
|
||||||
|
font-size: 14px;
|
||||||
|
padding: 10px 20px;
|
||||||
|
color: #666 !important;
|
||||||
|
display: inline-block;
|
||||||
|
border-radius: 3px;
|
||||||
|
margin: 15px 5px;
|
||||||
|
}
|
||||||
|
.updateAnyways a.updateAnywaysButton:hover {
|
||||||
|
color: #222 !important;
|
||||||
|
}
|
||||||
input.primary,
|
input.primary,
|
||||||
button.primary {
|
button.primary {
|
||||||
border: 1px solid #0082c9;
|
border: 1px solid #0082c9;
|
||||||
|
@ -442,6 +453,9 @@ form #selectDbType label.ui-state-active {
|
||||||
border-radius: 3px;
|
border-radius: 3px;
|
||||||
cursor: default;
|
cursor: default;
|
||||||
}
|
}
|
||||||
|
.warning.updateAnyways {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
.warning legend,
|
.warning legend,
|
||||||
.warning a,
|
.warning a,
|
||||||
.error a {
|
.error a {
|
||||||
|
|
|
@ -11,4 +11,13 @@
|
||||||
print_unescaped($l->t('For help, see the <a target="_blank" rel="noreferrer" href="%s">documentation</a>.', [link_to_docs('admin-cli-upgrade')])); ?><br><br>
|
print_unescaped($l->t('For help, see the <a target="_blank" rel="noreferrer" href="%s">documentation</a>.', [link_to_docs('admin-cli-upgrade')])); ?><br><br>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<?php if ($_['tooBig']) { ?>
|
||||||
|
<div class="warning updateAnyways">
|
||||||
|
<?php p($l->t('I know that if I continue doing the update via web UI has the risk, that the request runs into a timeout and could cause data loss, but I have a backup and know how to restore my instance in case of a failure.' )); ?>
|
||||||
|
<a href="?IKnowThatThisIsABigInstanceAndTheUpdateRequestCouldRunIntoATimeoutAndHowToRestoreABackup=IAmSuperSureToDoThis" class="button updateAnywaysButton"><?php p($l->t('Upgrade via web on my own risk' )); ?></a>
|
||||||
|
</div>
|
||||||
|
<?php } ?>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -343,7 +343,10 @@ class OC {
|
||||||
$tooBig = ($totalUsers > 50);
|
$tooBig = ($totalUsers > 50);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($disableWebUpdater || $tooBig) {
|
$ignoreTooBigWarning = isset($_GET['IKnowThatThisIsABigInstanceAndTheUpdateRequestCouldRunIntoATimeoutAndHowToRestoreABackup']) &&
|
||||||
|
$_GET['IKnowThatThisIsABigInstanceAndTheUpdateRequestCouldRunIntoATimeoutAndHowToRestoreABackup'] === 'IAmSuperSureToDoThis';
|
||||||
|
|
||||||
|
if ($disableWebUpdater || ($tooBig && !$ignoreTooBigWarning)) {
|
||||||
// send http status 503
|
// send http status 503
|
||||||
header('HTTP/1.1 503 Service Temporarily Unavailable');
|
header('HTTP/1.1 503 Service Temporarily Unavailable');
|
||||||
header('Status: 503 Service Temporarily Unavailable');
|
header('Status: 503 Service Temporarily Unavailable');
|
||||||
|
|
Loading…
Reference in New Issue