mirror of
https://github.com/sbrl/Pepperminty-Wiki.git
synced 2024-11-26 05:32:59 +00:00
Fill in video and audio previews.
This commit is contained in:
parent
18012c82fe
commit
ef28bc4902
4 changed files with 49 additions and 15 deletions
|
@ -203,7 +203,7 @@ $settings->upload_allowed_file_types = [
|
||||||
"video/mp4",
|
"video/mp4",
|
||||||
"video/webm",
|
"video/webm",
|
||||||
"audio/mp4",
|
"audio/mp4",
|
||||||
"audio/mp3"
|
"audio/mpeg"
|
||||||
];
|
];
|
||||||
|
|
||||||
// The default file type for previews.
|
// The default file type for previews.
|
||||||
|
@ -221,7 +221,8 @@ $settings->mime_extension_mappings_location = "/etc/mime.types";
|
||||||
// Used to override the above file if it assigns weird extensions
|
// Used to override the above file if it assigns weird extensions
|
||||||
// to any mime types.
|
// to any mime types.
|
||||||
$settings->mime_mappings_overrides = [
|
$settings->mime_mappings_overrides = [
|
||||||
"text/plain" => "txt"
|
"text/plain" => "txt",
|
||||||
|
"audio/mpeg" => "mp3"
|
||||||
];
|
];
|
||||||
|
|
||||||
// The minimum and maximum allowed sizes of generated preview images in pixels.
|
// The minimum and maximum allowed sizes of generated preview images in pixels.
|
||||||
|
@ -316,7 +317,7 @@ input[type=button], input[type=submit] { cursor: pointer; }
|
||||||
.sidebar li:before { content: \"\"; position: absolute; width: 1rem; top: 0.8rem; left: -1.2rem; border-bottom: 2px dashed rgba(50, 50, 50, 0.4); }
|
.sidebar li:before { content: \"\"; position: absolute; width: 1rem; top: 0.8rem; left: -1.2rem; border-bottom: 2px dashed rgba(50, 50, 50, 0.4); }
|
||||||
|
|
||||||
.preview { text-align: center; }
|
.preview { text-align: center; }
|
||||||
.preview img { max-width: 100%; }
|
.preview img, .preview video, .preview audio { max-width: 100%; }
|
||||||
.image-controls ul { list-style-type: none; margin: 5px; padding: 5px; }
|
.image-controls ul { list-style-type: none; margin: 5px; padding: 5px; }
|
||||||
.image-controls li { display: inline-block; margin: 5px; padding: 5px; }
|
.image-controls li { display: inline-block; margin: 5px; padding: 5px; }
|
||||||
.link-display { margin-left: 0.5rem; }
|
.link-display { margin-left: 0.5rem; }
|
||||||
|
@ -2674,9 +2675,18 @@ register_module([
|
||||||
|
|
||||||
case "video":
|
case "video":
|
||||||
case "audio":
|
case "audio":
|
||||||
$im = errorimage("TODO: Proxy the video / audio through");
|
// Get the file size
|
||||||
header("image/png");
|
$filesize = filesize($filepath);
|
||||||
imagepng($im);
|
|
||||||
|
// Send some headers
|
||||||
|
header("content-length: $filesize");
|
||||||
|
header("content-type: $mime_type");
|
||||||
|
|
||||||
|
// Open the file and send it to the user
|
||||||
|
$handle = fopen($filepath, "rb");
|
||||||
|
fpassthru($handle);
|
||||||
|
fclose($handle);
|
||||||
|
exit();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -2744,8 +2754,15 @@ register_module([
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "video":
|
case "video":
|
||||||
$preview_html .= "<video src='$previewUrl' controls preload='metadata'>Your browser doesn't support the HTML5 video tag, but you can still <a href='$previewUrl'>download it</a> if you'd like.</video>";
|
$preview_html .= "\t\t\t<figure class='preview'>
|
||||||
|
<video src='$previewUrl' controls preload='metadata'>Your browser doesn't support HTML5 video, but you can still <a href='$previewUrl'>download it</a> if you'd like.</video>
|
||||||
|
</figure>";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "audio":
|
||||||
|
$preview_html .= "\t\t\t<figure class='preview'>
|
||||||
|
<audio src='$previewUrl' controls preload='metadata'>Your browser doesn't support HTML5 audio, but you can still <a href='$previewUrl'>download it</a> if you'd like.</audio>
|
||||||
|
</figure>";
|
||||||
}
|
}
|
||||||
|
|
||||||
$fileInfo = [];
|
$fileInfo = [];
|
||||||
|
|
|
@ -68,7 +68,7 @@
|
||||||
"author": "Starbeamrainbowlabs",
|
"author": "Starbeamrainbowlabs",
|
||||||
"description": "Adds the ability to upload files to Pepperminty Wiki. Uploaded files act as pages and have the special 'File:' prefix.",
|
"description": "Adds the ability to upload files to Pepperminty Wiki. Uploaded files act as pages and have the special 'File:' prefix.",
|
||||||
"id": "feature-upload",
|
"id": "feature-upload",
|
||||||
"lastupdate": 1460046939,
|
"lastupdate": 1460047934,
|
||||||
"optional": false
|
"optional": false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -255,9 +255,18 @@ register_module([
|
||||||
|
|
||||||
case "video":
|
case "video":
|
||||||
case "audio":
|
case "audio":
|
||||||
$im = errorimage("TODO: Proxy the video / audio through");
|
// Get the file size
|
||||||
header("image/png");
|
$filesize = filesize($filepath);
|
||||||
imagepng($im);
|
|
||||||
|
// Send some headers
|
||||||
|
header("content-length: $filesize");
|
||||||
|
header("content-type: $mime_type");
|
||||||
|
|
||||||
|
// Open the file and send it to the user
|
||||||
|
$handle = fopen($filepath, "rb");
|
||||||
|
fpassthru($handle);
|
||||||
|
fclose($handle);
|
||||||
|
exit();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -325,8 +334,15 @@ register_module([
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "video":
|
case "video":
|
||||||
$preview_html .= "<video src='$previewUrl' controls preload='metadata'>Your browser doesn't support the HTML5 video tag, but you can still <a href='$previewUrl'>download it</a> if you'd like.</video>";
|
$preview_html .= "\t\t\t<figure class='preview'>
|
||||||
|
<video src='$previewUrl' controls preload='metadata'>Your browser doesn't support HTML5 video, but you can still <a href='$previewUrl'>download it</a> if you'd like.</video>
|
||||||
|
</figure>";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "audio":
|
||||||
|
$preview_html .= "\t\t\t<figure class='preview'>
|
||||||
|
<audio src='$previewUrl' controls preload='metadata'>Your browser doesn't support HTML5 audio, but you can still <a href='$previewUrl'>download it</a> if you'd like.</audio>
|
||||||
|
</figure>";
|
||||||
}
|
}
|
||||||
|
|
||||||
$fileInfo = [];
|
$fileInfo = [];
|
||||||
|
|
|
@ -200,7 +200,7 @@ $settings->upload_allowed_file_types = [
|
||||||
"video/mp4",
|
"video/mp4",
|
||||||
"video/webm",
|
"video/webm",
|
||||||
"audio/mp4",
|
"audio/mp4",
|
||||||
"audio/mp3"
|
"audio/mpeg"
|
||||||
];
|
];
|
||||||
|
|
||||||
// The default file type for previews.
|
// The default file type for previews.
|
||||||
|
@ -218,7 +218,8 @@ $settings->mime_extension_mappings_location = "/etc/mime.types";
|
||||||
// Used to override the above file if it assigns weird extensions
|
// Used to override the above file if it assigns weird extensions
|
||||||
// to any mime types.
|
// to any mime types.
|
||||||
$settings->mime_mappings_overrides = [
|
$settings->mime_mappings_overrides = [
|
||||||
"text/plain" => "txt"
|
"text/plain" => "txt",
|
||||||
|
"audio/mpeg" => "mp3"
|
||||||
];
|
];
|
||||||
|
|
||||||
// The minimum and maximum allowed sizes of generated preview images in pixels.
|
// The minimum and maximum allowed sizes of generated preview images in pixels.
|
||||||
|
@ -313,7 +314,7 @@ input[type=button], input[type=submit] { cursor: pointer; }
|
||||||
.sidebar li:before { content: \"\"; position: absolute; width: 1rem; top: 0.8rem; left: -1.2rem; border-bottom: 2px dashed rgba(50, 50, 50, 0.4); }
|
.sidebar li:before { content: \"\"; position: absolute; width: 1rem; top: 0.8rem; left: -1.2rem; border-bottom: 2px dashed rgba(50, 50, 50, 0.4); }
|
||||||
|
|
||||||
.preview { text-align: center; }
|
.preview { text-align: center; }
|
||||||
.preview img { max-width: 100%; }
|
.preview img, .preview video, .preview audio { max-width: 100%; }
|
||||||
.image-controls ul { list-style-type: none; margin: 5px; padding: 5px; }
|
.image-controls ul { list-style-type: none; margin: 5px; padding: 5px; }
|
||||||
.image-controls li { display: inline-block; margin: 5px; padding: 5px; }
|
.image-controls li { display: inline-block; margin: 5px; padding: 5px; }
|
||||||
.link-display { margin-left: 0.5rem; }
|
.link-display { margin-left: 0.5rem; }
|
||||||
|
|
Loading…
Reference in a new issue