Catch error in get_setting function, if database is not yet initialized

This commit is contained in:
Daniel Winzen
2021-05-22 21:23:51 +02:00
parent 726aea996d
commit 136b52d920

View File

@ -4285,6 +4285,7 @@ function get_setting(string $setting) : string {
global $db, $memcached;
$value = '';
if($db instanceof PDO && ( !MEMCACHED || ! ($value = $memcached->get(DBNAME . '-' . PREFIX . "settings-$setting") ) ) ){
try {
$stmt = $db->prepare( 'SELECT value FROM ' . PREFIX . 'settings WHERE setting=?;' );
$stmt->execute( [ $setting ] );
$stmt->bindColumn( 1, $value );
@ -4292,6 +4293,9 @@ function get_setting(string $setting) : string {
if ( MEMCACHED ) {
$memcached->set( DBNAME . '-' . PREFIX . "settings-$setting", $value );
}
} catch (Exception $e){
return '';
}
}
return $value;
}