[BUGFIX] fix file previewing

- avoid previewing text/*
- javascript side more clear

closes #264

Signed-off-by: Jerome Jutteau <jerome@jutteau.fr>
This commit is contained in:
Jerome Jutteau 2021-05-18 09:15:34 +02:00
parent 8665ea5fc1
commit 03f216f58d
2 changed files with 12 additions and 7 deletions

View File

@ -183,10 +183,10 @@ function show_link (reference, delete_code, crypt_key, date)
// Test if content can be previewed
type = document.getElementById('file_select').files[0].type;
if (type.indexOf("image") > -1 ||
type.indexOf("audio") > -1 ||
type.indexOf("text") > -1 ||
type.indexOf("video") > -1)
if (type.startsWith('image/') ||
type.startsWith('audio') ||
type.startsWith('text/plain') ||
type.startsWith('video/'))
{
document.getElementById('preview_link').href = preview_link_href;
document.getElementById('preview_link_text').innerHTML = web_root + preview_link_href;

View File

@ -509,10 +509,15 @@ function jirafeau_upload($file, $one_time_download, $key, $time, $ip, $crypt, $l
function jirafeau_is_viewable($mime)
{
if (!empty($mime)) {
/* Actually, verify if mime-type is an image or a text. */
$viewable = array('image', 'text', 'video', 'audio');
$viewable = array('image', 'video', 'audio');
$decomposed = explode('/', $mime);
return in_array($decomposed[0], $viewable);
if (in_array($decomposed[0], $viewable)) {
return true;
}
$viewable = array('text/plain');
if (in_array($mime, $viewable)) {
return true;
}
}
return false;
}