SAAS-922 - replace large conditionals with single public mime-type map
This commit is contained in:
parent
e246771af0
commit
776596d5b6
2 changed files with 33 additions and 50 deletions
|
@ -2,6 +2,25 @@
|
||||||
|
|
||||||
class FileDataHelper {
|
class FileDataHelper {
|
||||||
|
|
||||||
|
public static function getAudioMimeTypeArray() {
|
||||||
|
return array(
|
||||||
|
"audio/ogg" => "ogg",
|
||||||
|
"application/ogg" => "ogg",
|
||||||
|
"audio/vorbis" => "ogg",
|
||||||
|
"audio/mp3" => "mp3",
|
||||||
|
"audio/mpeg" => "mp3",
|
||||||
|
"audio/mpeg3" => "mp3",
|
||||||
|
"audio/mp4" => "mp4",
|
||||||
|
"audio/x-flac" => "flac",
|
||||||
|
"audio/wav" => "wav",
|
||||||
|
"audio/x-wav" => "wav",
|
||||||
|
"audio/mp2" => "mp2",
|
||||||
|
"audio/mp1" => "mp1",
|
||||||
|
"audio/x-ms-wma" => "wma",
|
||||||
|
"audio/basic" => "au",
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* We want to throw out invalid data and process the upload successfully
|
* We want to throw out invalid data and process the upload successfully
|
||||||
* at all costs, so check the data and sanitize it if necessary
|
* at all costs, so check the data and sanitize it if necessary
|
||||||
|
@ -30,28 +49,17 @@ class FileDataHelper {
|
||||||
*
|
*
|
||||||
* @param string $mime
|
* @param string $mime
|
||||||
*
|
*
|
||||||
* @return string file extension with(!) a dot
|
* @return string file extension with(!) a dot (for convenience)
|
||||||
*
|
*
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public static function getFileExtensionFromMime($mime)
|
public static function getFileExtensionFromMime($mime)
|
||||||
{
|
{
|
||||||
if ($mime == "audio/ogg" || $mime == "application/ogg" || $mime == "audio/vorbis") {
|
$mime = trim(strtolower($mime));
|
||||||
return ".ogg";
|
try {
|
||||||
} elseif ($mime == "audio/mp3" || $mime == "audio/mpeg" || $mime == "audio/mpeg3") {
|
return ('.' . static::getAudioMimeTypeArray()[$mime]);
|
||||||
return ".mp3";
|
} catch (Exception $e) {
|
||||||
} elseif ($mime == "audio/mp2") {
|
throw new Exception("Unknown file type: $mime");
|
||||||
return ".mp2";
|
|
||||||
} elseif ($mime == "audio/mp1") {
|
|
||||||
return ".mp1";
|
|
||||||
} elseif ($mime == "audio/x-flac") {
|
|
||||||
return ".flac";
|
|
||||||
} elseif ($mime == "audio/mp4") {
|
|
||||||
return ".mp4";
|
|
||||||
} elseif ($mime == "audio/wav" || $mime == "audio/x-wav") {
|
|
||||||
return ".wav";
|
|
||||||
} else {
|
|
||||||
throw new Exception("Unknown $mime");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -198,23 +198,10 @@ class AudiopreviewController extends Zend_Controller_Action
|
||||||
$elementMap['type'] = $track['type'];
|
$elementMap['type'] = $track['type'];
|
||||||
|
|
||||||
if ($track['type'] == 0) {
|
if ($track['type'] == 0) {
|
||||||
$mime = $track['mime'];
|
$mime = trim(strtolower($track['mime']));
|
||||||
//type is file
|
try {
|
||||||
if (strtolower($mime) === 'audio/mp3') {
|
$elementMap['element_' . FileDataHelper::getAudioMimeTypeArray()[$mime]] = $track['item_id'];
|
||||||
$elementMap['element_mp3'] = $track['item_id'];
|
} catch (Exception $e) {
|
||||||
} elseif (strtolower($mime) === 'audio/ogg') {
|
|
||||||
$elementMap['element_oga'] = $track['item_id'];
|
|
||||||
} elseif (strtolower($mime) === 'audio/vorbis') {
|
|
||||||
$elementMap['element_oga'] = $track['item_id'];
|
|
||||||
} elseif (strtolower($mime) === 'audio/mp4') {
|
|
||||||
$elementMap['element_m4a'] = $track['item_id'];
|
|
||||||
} elseif (strtolower($mime) === 'audio/wav') {
|
|
||||||
$elementMap['element_wav'] = $track['item_id'];
|
|
||||||
} elseif (strtolower($mime) === 'audio/x-wav') {
|
|
||||||
$elementMap['element_wav'] = $track['item_id'];
|
|
||||||
} elseif (strtolower($mime) === 'audio/x-flac') {
|
|
||||||
$elementMap['element_flac'] = $track['item_id'];
|
|
||||||
} else {
|
|
||||||
throw new Exception("Unknown file type: $mime");
|
throw new Exception("Unknown file type: $mime");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -288,22 +275,10 @@ class AudiopreviewController extends Zend_Controller_Action
|
||||||
|
|
||||||
$elementMap['type'] = $track['type'];
|
$elementMap['type'] = $track['type'];
|
||||||
if ($track['type'] == 0) {
|
if ($track['type'] == 0) {
|
||||||
$mime = $track['mime'];
|
$mime = trim(strtolower($track['mime']));
|
||||||
if (strtolower($mime) === 'audio/mp3') {
|
try {
|
||||||
$elementMap['element_mp3'] = $track['item_id'];
|
$elementMap['element_' . FileDataHelper::getAudioMimeTypeArray()[$mime]] = $track['item_id'];
|
||||||
} elseif (strtolower($mime) === 'audio/ogg') {
|
} catch (Exception $e) {
|
||||||
$elementMap['element_oga'] = $track['item_id'];
|
|
||||||
} elseif (strtolower($mime) === 'audio/vorbis') {
|
|
||||||
$elementMap['element_oga'] = $track['item_id'];
|
|
||||||
} elseif (strtolower($mime) === 'audio/mp4') {
|
|
||||||
$elementMap['element_m4a'] = $track['item_id'];
|
|
||||||
} elseif (strtolower($mime) === 'audio/wav') {
|
|
||||||
$elementMap['element_wav'] = $track['item_id'];
|
|
||||||
} elseif (strtolower($mime) === 'audio/x-wav') {
|
|
||||||
$elementMap['element_wav'] = $track['item_id'];
|
|
||||||
} elseif (strtolower($mime) === 'audio/x-flac') {
|
|
||||||
$elementMap['element_flac'] = $track['item_id'];
|
|
||||||
} else {
|
|
||||||
throw new Exception("Unknown file type: $mime");
|
throw new Exception("Unknown file type: $mime");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue