Browse Source

Print plain error when the error page errors too

Signed-off-by: Joas Schilling <coding@schilljs.com>
tags/v18.0.0beta1
Joas Schilling 4 years ago
parent
commit
e53d5b2dbe
No account linked to committer's email address
1 changed files with 25 additions and 20 deletions
  1. 25
    20
      lib/base.php

+ 25
- 20
lib/base.php View File

@@ -652,30 +652,35 @@ class OC {
if (!defined('OC_CONSOLE')) {
$errors = OC_Util::checkServer(\OC::$server->getSystemConfig());
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'],
];
}

if (!self::$CLI) {
http_response_code(503);
OC_Util::addStyle('guest');
try {
\OC::$server->getConfig()->setAppValue('core', 'cronErrors', json_encode($staticErrors));
OC_Template::printGuestPage('', 'error', array('errors' => $errors));
exit;
} catch (\Exception $e) {
echo('Writing to database failed');
// In case any error happens when showing the error page, we simply fall back to posting the text.
// This might be the case when e.g. the data directory is broken and we can not load/write SCSS to/from it.
}
exit(1);
} else {
http_response_code(503);
OC_Util::addStyle('guest');
OC_Template::printGuestPage('', 'error', array('errors' => $errors));
exit;
}

// 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(1);
} elseif (self::$CLI && \OC::$server->getConfig()->getSystemValue('installed', false)) {
\OC::$server->getConfig()->deleteAppValue('core', 'cronErrors');
}

Loading…
Cancel
Save