summaryrefslogtreecommitdiff
path: root/app/Http/RequestHandlers/ManageMediaData.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Http/RequestHandlers/ManageMediaData.php')
-rw-r--r--app/Http/RequestHandlers/ManageMediaData.php9
1 files changed, 6 insertions, 3 deletions
diff --git a/app/Http/RequestHandlers/ManageMediaData.php b/app/Http/RequestHandlers/ManageMediaData.php
index 8295ce1c16..9ae9a3b942 100644
--- a/app/Http/RequestHandlers/ManageMediaData.php
+++ b/app/Http/RequestHandlers/ManageMediaData.php
@@ -159,15 +159,18 @@ class ManageMediaData implements RequestHandlerInterface
->on('media.m_file', '=', 'media_file.m_file')
->on('media.m_id', '=', 'media_file.m_id');
})
- ->join('gedcom_setting', 'gedcom_id', '=', 'media.m_file')
- ->where('setting_name', '=', 'MEDIA_DIRECTORY')
+ ->leftJoin('gedcom_setting', static function (JoinClause $join): void {
+ $join
+ ->on('gedcom_setting.gedcom_id', '=', 'media.m_file')
+ ->where('setting_name', '=', 'MEDIA_DIRECTORY');
+ })
->where('multimedia_file_refn', 'NOT LIKE', 'http://%')
->where('multimedia_file_refn', 'NOT LIKE', 'https://%')
->select([
'media.*',
'multimedia_file_refn',
'descriptive_title',
- 'setting_value AS media_folder',
+ new Expression("COALESCE(setting_value, 'media/') AS media_folder"),
]);
$query->where(new Expression('setting_value || multimedia_file_refn'), 'LIKE', $media_folder . '%');