From f137be09a1b2b1509768fa50960f02dbb04edeb1 Mon Sep 17 00:00:00 2001 From: Jonas L Date: Wed, 27 Jul 2022 09:52:09 +0200 Subject: [PATCH] fix(legacy): sanitize track_type_id when updating file (#2003) Fixes #2000 --- legacy/application/common/FileDataHelper.php | 3 +++ legacy/application/models/StoredFile.php | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/legacy/application/common/FileDataHelper.php b/legacy/application/common/FileDataHelper.php index a5846daf0..63a7e80af 100644 --- a/legacy/application/common/FileDataHelper.php +++ b/legacy/application/common/FileDataHelper.php @@ -49,6 +49,9 @@ class FileDataHelper // This will convert floats to ints too. $data['bpm'] = intval($data['bpm']); } + if (array_key_exists('track_type_id', $data)) { + $data['track_type_id'] = intval($data['track_type_id']); + } } /** diff --git a/legacy/application/models/StoredFile.php b/legacy/application/models/StoredFile.php index 0996ba26e..a9197ed7a 100644 --- a/legacy/application/models/StoredFile.php +++ b/legacy/application/models/StoredFile.php @@ -229,6 +229,12 @@ class Application_Model_StoredFile if ($dbColumn == 'track_number' && empty($mdValue)) { $mdValue = null; } + + // We need to set track_type_id to null if it is an empty string or 0 + if ($dbColumn == 'track_type_id' && ($mdValue == 0 || empty($mdValue))) { + $mdValue = null; + } + $this->_file->{$method}($mdValue); } }