Merge pull request #17163 from nextcloud/bugfix/noid/print-error-on-data-dir-error
Print error on data dir error
This commit is contained in:
commit
48a00b88e1
47
lib/base.php
47
lib/base.php
|
@ -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'],
|
||||
];
|
||||
}
|
||||
|
||||
try {
|
||||
\OC::$server->getConfig()->setAppValue('core', 'cronErrors', json_encode($staticErrors));
|
||||
} catch (\Exception $e) {
|
||||
echo('Writing to database failed');
|
||||
}
|
||||
exit(1);
|
||||
} else {
|
||||
if (!self::$CLI) {
|
||||
http_response_code(503);
|
||||
OC_Util::addStyle('guest');
|
||||
OC_Template::printGuestPage('', 'error', array('errors' => $errors));
|
||||
exit;
|
||||
try {
|
||||
OC_Template::printGuestPage('', 'error', array('errors' => $errors));
|
||||
exit;
|
||||
} catch (\Exception $e) {
|
||||
// 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.
|
||||
}
|
||||
}
|
||||
|
||||
// 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');
|
||||
}
|
||||
|
|
|
@ -266,7 +266,7 @@ class OC_Template extends \OC\Template\Base {
|
|||
* @return bool
|
||||
*/
|
||||
public static function printGuestPage( $application, $name, $parameters = array() ) {
|
||||
$content = new OC_Template( $application, $name, "guest" );
|
||||
$content = new OC_Template($application, $name, $name === 'error' ? $name : 'guest');
|
||||
foreach( $parameters as $key => $value ) {
|
||||
$content->assign( $key, $value );
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue