diff --git a/classes/File_thumbnail.php b/classes/File_thumbnail.php index 925a3b2429..3f36e26563 100644 --- a/classes/File_thumbnail.php +++ b/classes/File_thumbnail.php @@ -134,7 +134,8 @@ class File_thumbnail extends Managed_DataObject throw new ClientException(_('Invalid filename.')); } - $dir = common_config('thumbnail', 'dir') ?: File::path('thumb'); + // NOTE: If this is empty, it will be set to File::path('thumb') + $dir = common_config('thumbnail', 'dir'); if (!in_array($dir[mb_strlen($dir)-1], ['/', '\\'])) { $dir .= DIRECTORY_SEPARATOR; diff --git a/lib/gnusocial.php b/lib/gnusocial.php index f07d2c2446..3450b04888 100644 --- a/lib/gnusocial.php +++ b/lib/gnusocial.php @@ -141,6 +141,7 @@ class GNUsocial // Load settings from database; note we need autoload for this Config::loadSettings(); + self::fillConfigVoids(); self::verifyLoadedConfig(); self::initPlugins(); @@ -420,6 +421,14 @@ class GNUsocial } } + static function fillConfigVoids() + { + // special cases on empty configuration options + if (!common_config('thumbnail', 'dir')) { + common_config_set('thumbnail', 'dir', File::path('thumb')); + } + } + /** * Verify that the loaded config is good. Not complete, but will * throw exceptions on common configuration problems I hope.