get('mail.driver') === 'smtp') { $this->keys = array_merge($this->keys, $this->emailKeys); } try { $values = $settings->all()->mapWithKeys(function ($setting) { return [$setting->key => $setting->value]; })->toArray(); } catch (QueryException $exception) { $log->notice('A query exception was encountered while trying to load settings from the database: ' . $exception->getMessage()); return; } foreach ($this->keys as $key) { $value = array_get($values, 'settings::' . $key, $config->get(str_replace(':', '.', $key))); if (in_array($key, self::$encrypted)) { try { $value = $encrypter->decrypt($value); } catch (DecryptException $exception) { } } switch (strtolower($value)) { case 'true': case '(true)': $value = true; break; case 'false': case '(false)': $value = false; break; case 'empty': case '(empty)': $value = ''; break; case 'null': case '(null)': $value = null; } $config->set(str_replace(':', '.', $key), $value); } } /** * @return array */ public static function getEncryptedKeys(): array { return self::$encrypted; } }