From 136b52d9206677a927d696f57807e385c49f3048 Mon Sep 17 00:00:00 2001 From: Daniel Winzen Date: Sat, 22 May 2021 21:23:51 +0200 Subject: [PATCH] Catch error in get_setting function, if database is not yet initialized --- chat.php | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/chat.php b/chat.php index 4d0ee14..54fa507 100644 --- a/chat.php +++ b/chat.php @@ -4285,12 +4285,16 @@ function get_setting(string $setting) : string { global $db, $memcached; $value = ''; if($db instanceof PDO && ( !MEMCACHED || ! ($value = $memcached->get(DBNAME . '-' . PREFIX . "settings-$setting") ) ) ){ - $stmt = $db->prepare('SELECT value FROM ' . PREFIX . 'settings WHERE setting=?;'); - $stmt->execute([$setting]); - $stmt->bindColumn(1, $value); - $stmt->fetch(PDO::FETCH_BOUND); - if(MEMCACHED){ - $memcached->set(DBNAME . '-' . PREFIX . "settings-$setting", $value); + try { + $stmt = $db->prepare( 'SELECT value FROM ' . PREFIX . 'settings WHERE setting=?;' ); + $stmt->execute( [ $setting ] ); + $stmt->bindColumn( 1, $value ); + $stmt->fetch( PDO::FETCH_BOUND ); + if ( MEMCACHED ) { + $memcached->set( DBNAME . '-' . PREFIX . "settings-$setting", $value ); + } + } catch (Exception $e){ + return ''; } } return $value;