Merge pull request #14593 from owncloud/fix/13994
Add detection for invalid CLI configuration for settings page
This commit is contained in:
commit
4009f15255
17
lib/base.php
17
lib/base.php
|
@ -575,15 +575,30 @@ class OC {
|
|||
$errors = OC_Util::checkServer(\OC::$server->getConfig());
|
||||
if (count($errors) > 0) {
|
||||
if (self::$CLI) {
|
||||
// Convert l10n string into regular string for usage in database
|
||||
$staticErrors = [];
|
||||
foreach ($errors as $error) {
|
||||
echo $error['error'] . "\n";
|
||||
echo $error['hint'] . "\n\n";
|
||||
$staticErrors[] = [
|
||||
'error' => (string) $error['error'],
|
||||
'hint' => (string) $error['hint'],
|
||||
];
|
||||
}
|
||||
|
||||
try {
|
||||
\OC::$server->getConfig()->setAppValue('core', 'cronErrors', json_encode($staticErrors));
|
||||
} catch(\Exception $e) {
|
||||
echo('Writing to database failed');
|
||||
}
|
||||
exit();
|
||||
} else {
|
||||
OC_Response::setStatus(OC_Response::STATUS_SERVICE_UNAVAILABLE);
|
||||
OC_Template::printGuestPage('', 'error', array('errors' => $errors));
|
||||
exit;
|
||||
}
|
||||
exit;
|
||||
} elseif(self::$CLI && \OC::$server->getConfig()->getSystemValue('installed', false)) {
|
||||
\OC::$server->getConfig()->deleteAppValue('core', 'cronErrors');
|
||||
}
|
||||
|
||||
//try to set the session lifetime
|
||||
|
|
|
@ -80,6 +80,7 @@ $template->assign('allowMailNotification', $appConfig->getValue('core', 'shareap
|
|||
$template->assign('onlyShareWithGroupMembers', \OC\Share\Share::shareWithGroupMembersOnly());
|
||||
$databaseOverload = (strpos(\OCP\Config::getSystemValue('dbtype'), 'sqlite') !== false);
|
||||
$template->assign('databaseOverload', $databaseOverload);
|
||||
$template->assign('cronErrors', $appConfig->getValue('core', 'cronErrors'));
|
||||
|
||||
// warn if Windows is used
|
||||
$template->assign('WindowsWarning', OC_Util::runningOnWindows());
|
||||
|
|
|
@ -212,7 +212,29 @@ if ($_['suggestedOverwriteCliUrl']) {
|
|||
</div>
|
||||
<?php
|
||||
}
|
||||
|
||||
if ($_['cronErrors']) {
|
||||
?>
|
||||
<div class="section">
|
||||
<h2><?php p($l->t('Cronjob encountered misconfiguration'));?></h2>
|
||||
|
||||
<span class="connectionwarning">
|
||||
<?php p($l->t('It was not possible to execute the cronjob via CLI. The following technical errors have appeared:')); ?>
|
||||
<br/>
|
||||
<ol>
|
||||
<?php foreach(json_decode($_['cronErrors']) as $error) { if(isset($error->error)) {?>
|
||||
<li><?php p($error->error) ?></li>
|
||||
<ul><li><?php p($error->hint) ?></li></ul>
|
||||
|
||||
<?php }};?>
|
||||
</ol>
|
||||
</span>
|
||||
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
<div id="postsetupchecks" class="section">
|
||||
<h2><?php p($l->t('Configuration Checks'));?></h2>
|
||||
<div class="loading"></div>
|
||||
|
|
Loading…
Reference in New Issue