@@ -31,8 +31,9 @@
|
||||
</div>
|
||||
</aside>
|
||||
<main>
|
||||
<form action="./upload.php" method="POST" class="hidden" id="form">
|
||||
<input type="file" name="videoFile" id="videoFile">
|
||||
<form action="./upload.php" method="POST" class="hidden" id="form" enctype="multipart/form-data">
|
||||
<input type="file" name="videoFile" id="videoFile" accept="video/*">
|
||||
<input type="text" name="xmlFile" hidden id="xmlFile">
|
||||
</form>
|
||||
<video controls id="video" preload="auto" class="hidden"></video>
|
||||
<div class="video-controls hidden" id="video-controls">
|
||||
|
||||
@@ -24,6 +24,7 @@ class Controller {
|
||||
);
|
||||
} else {
|
||||
this.view.showAddVideo();
|
||||
this.addEventListenersToAddVideo();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,6 +38,13 @@ class Controller {
|
||||
);
|
||||
}
|
||||
|
||||
addEventListenersToAddVideo() {
|
||||
let form = document.getElementById("form");
|
||||
form.addEventListener("submit", function () {
|
||||
document.getElementById("xmlFile").value = this.view.editor.getValue();
|
||||
}.bind(this));
|
||||
}
|
||||
|
||||
// Přidání listenerů
|
||||
addEventListenersToVideoControls() {
|
||||
const video = document.getElementById("video");
|
||||
|
||||
66
upload.php
Normal file
66
upload.php
Normal file
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
||||
$allowedExts = array("mp4", "mov", "wmv", "flv", "avi", "avchd", "webm", "mkv");
|
||||
$extension = pathinfo($_FILES['videoFile']['name'], PATHINFO_EXTENSION);
|
||||
|
||||
if ((($_FILES["videoFile"]["type"] == "video/mp4")
|
||||
|| ($_FILES["videoFile"]["type"] == "video/x-msvideo")
|
||||
|| ($_FILES["videoFile"]["type"] == "video/mpeg")
|
||||
|| ($_FILES["videoFile"]["type"] == "video/ogg")
|
||||
|| ($_FILES["videoFile"]["type"] == "video/mp2t")
|
||||
|| ($_FILES["videoFile"]["type"] == "video/webm")
|
||||
|| ($_FILES["videoFile"]["type"] == "video/3gpp")
|
||||
|| ($_FILES["videoFile"]["type"] == "video/x-matroska")
|
||||
|| ($_FILES["videoFile"]["type"] == "video/3gpp2"))
|
||||
|
||||
&& ($_FILES["videoFile"]["size"] < 500000000)
|
||||
&& in_array($extension, $allowedExts)
|
||||
&& isset($_POST["xmlFile"])
|
||||
) {
|
||||
if ($_FILES["videoFile"]["error"] > 0) {
|
||||
redirect("?e='" . $_FILES["videoFile"]["error"] . "'");
|
||||
} else {
|
||||
do {
|
||||
$generatedFileName = generateRandomString();
|
||||
} while (file_exists("videos/" . $generatedFileName . "." . $extension));
|
||||
|
||||
move_uploaded_file(
|
||||
$_FILES["videoFile"]["tmp_name"],
|
||||
"videos/R-" .
|
||||
$generatedFileName . "." . $extension
|
||||
);
|
||||
writeToFile("videos/" . $generatedFileName . ".xml", $_POST["xmlFile"]);
|
||||
shell_exec("./transcode.sh > /dev/null 2>&1 &");
|
||||
redirect("?v=" . $generatedFileName);
|
||||
}
|
||||
} else {
|
||||
redirect("?e='invalid file'");
|
||||
}
|
||||
} else {
|
||||
redirect();
|
||||
}
|
||||
|
||||
function writeToFile($file, $xml) {
|
||||
$myfile = fopen($file, "w") or die("Unable to open file!");
|
||||
$txt = "John Doe\n";
|
||||
fwrite($myfile, $xml);
|
||||
fclose($myfile);
|
||||
}
|
||||
|
||||
function redirect($videoID = null)
|
||||
{
|
||||
header("Location: index.html" . $videoID);
|
||||
die();
|
||||
}
|
||||
|
||||
function generateRandomString($length = 4)
|
||||
{
|
||||
$characters = 'abcdefghijklmnopqrstuvwxyz';
|
||||
$charactersLength = strlen($characters);
|
||||
$randomString = '';
|
||||
for ($i = 0; $i < $length; $i++) {
|
||||
$randomString .= $characters[rand(0, $charactersLength - 1)];
|
||||
}
|
||||
return $randomString;
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user