Update
This commit is contained in:
@@ -1,144 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>Kakubovna: Upload</title>
|
|
||||||
<link rel="stylesheet" href="/css/style.css">
|
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Geologica:wght@800&display=swap" rel="stylesheet">
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<div class="flex-container">
|
|
||||||
<div id="upload" class="container vertical">
|
|
||||||
<div class="dropZoneContainer">
|
|
||||||
<input type="file" title="" id="drop_zone" class="FileUpload" onchange="addFiles(this.files)" multiple/>
|
|
||||||
<div class="dropZoneOverlay"><p>Drag and drop your files <br />or<br />Click to add</p></div>
|
|
||||||
</div>
|
|
||||||
<div class="list">
|
|
||||||
<table class="filelist"></table>
|
|
||||||
</div>
|
|
||||||
<button style="vertical-align:middle" class="button" onclick="startUpload()"><span>Upload </span></button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<canvas id="c" style="width: 100%; height: 100%; position: absolute;"></canvas>
|
|
||||||
|
|
||||||
<script src="js/socket.io.js"></script>
|
|
||||||
<script src="js/siofu-client.js"></script>
|
|
||||||
<script>
|
|
||||||
var selectedFiles = [];
|
|
||||||
|
|
||||||
function addFiles(files) {
|
|
||||||
Array.from(files).forEach(file => {
|
|
||||||
addFile(file);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function addFile(file) {
|
|
||||||
console.log(selectedFiles.find((element) => element.name == file.name))
|
|
||||||
if(selectedFiles.find((element) => element.name == file.name) == undefined) {
|
|
||||||
selectedFiles.push(file);
|
|
||||||
}
|
|
||||||
updateFileList();
|
|
||||||
}
|
|
||||||
|
|
||||||
function shortString(str, maxlen = 13) {
|
|
||||||
if(str.length > maxlen) {
|
|
||||||
shortstr = str.slice(0, (maxlen-3)/2)+"..."+str.slice(-(maxlen-3)/2);
|
|
||||||
} else {
|
|
||||||
shortstr = str;
|
|
||||||
}
|
|
||||||
return shortstr;
|
|
||||||
}
|
|
||||||
|
|
||||||
function updateFileList(maxlen = 30) {
|
|
||||||
filelist = document.getElementsByClassName("filelist")[0];
|
|
||||||
filelist.innerHTML = "";
|
|
||||||
i = 0
|
|
||||||
selectedFiles.forEach(file => {
|
|
||||||
filelist.innerHTML += "<tr title=\""+file.name+"\"><td>"+shortString(file.name, maxlen)+"</td></tr>";
|
|
||||||
i++;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
var socket = io.connect(
|
|
||||||
{
|
|
||||||
forceNew: true,
|
|
||||||
extraHeaders: {
|
|
||||||
Authorization: "bsadsds"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
);
|
|
||||||
var uploader = new SocketIOFileUpload(socket);
|
|
||||||
uploader.addEventListener("choose", function (event) {
|
|
||||||
console.log("Files Chosen: " + event.files);
|
|
||||||
});
|
|
||||||
uploader.addEventListener("progress", function (event) {
|
|
||||||
console.log("Files Chosen: " + event.bytesLoaded / event.file.size);
|
|
||||||
});
|
|
||||||
|
|
||||||
function startUpload() {
|
|
||||||
uploader.submitFiles(selectedFiles);
|
|
||||||
}
|
|
||||||
socket.once("linkCreated", (hash, adminhash) => {
|
|
||||||
console.log("Link Created");
|
|
||||||
window.location.href = document.location.protocol+"//"+document.location.host+"/api/download/"+hash+'/'
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<script>
|
|
||||||
// geting canvas by Boujjou Achraf
|
|
||||||
var c = document.getElementById("c");
|
|
||||||
var ctx = c.getContext("2d");
|
|
||||||
|
|
||||||
//making the canvas full screen
|
|
||||||
c.height = window.innerHeight;
|
|
||||||
c.width = window.innerWidth;
|
|
||||||
|
|
||||||
//chinese characters - taken from the unicode charset
|
|
||||||
var matrix = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789@#$%^&*()*&^%+-/~{[|`]}";
|
|
||||||
//converting the string into an array of single characters
|
|
||||||
matrix = matrix.split("");
|
|
||||||
|
|
||||||
var font_size = 10;
|
|
||||||
var columns = c.width / font_size; //number of columns for the rain
|
|
||||||
//an array of drops - one per column
|
|
||||||
var drops = [];
|
|
||||||
//x below is the x coordinate
|
|
||||||
//1 = y co-ordinate of the drop(same for every drop initially)
|
|
||||||
for (var x = 0; x < columns; x++)
|
|
||||||
drops[x] = 1;
|
|
||||||
|
|
||||||
//drawing the characters
|
|
||||||
function draw() {
|
|
||||||
rainbow = ['#ff0000', '#ffa500', '#ffff00', '#008000', '#00FFFF', '#4b0082', '#ee82ee'];
|
|
||||||
//Black BG for the canvas
|
|
||||||
//translucent BG to show trail
|
|
||||||
ctx.fillStyle = "rgba(0, 0, 0, 0.04)";
|
|
||||||
ctx.fillRect(0, 0, c.width, c.height);
|
|
||||||
|
|
||||||
ctx.fillStyle = rainbow[Math.floor(Math.random() * 5)];//green text
|
|
||||||
ctx.font = font_size + "px arial";
|
|
||||||
//looping over drops
|
|
||||||
for (var i = 0; i < drops.length; i++) {
|
|
||||||
//a random chinese character to print
|
|
||||||
var text = matrix[Math.floor(Math.random() * matrix.length)];
|
|
||||||
//x = i*font_size, y = value of drops[i]*font_size
|
|
||||||
ctx.fillText(text, i * font_size, drops[i] * font_size);
|
|
||||||
|
|
||||||
//sending the drop back to the top randomly after it has crossed the screen
|
|
||||||
//adding a randomness to the reset to make the drops scattered on the Y axis
|
|
||||||
if (drops[i] * font_size > c.height && Math.random() > 0.975)
|
|
||||||
drops[i] = 0;
|
|
||||||
|
|
||||||
//incrementing Y coordinate
|
|
||||||
drops[i]++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
setInterval(draw, 35);
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
Reference in New Issue
Block a user