aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--css/sharefile_style.css25
-rw-r--r--css/style.css30
-rw-r--r--loggedin.js26
-rw-r--r--php/.gitignore1
-rw-r--r--php/configuration.php2
-rw-r--r--php/share.php14
-rw-r--r--share_frontend.php27
7 files changed, 109 insertions, 16 deletions
diff --git a/css/sharefile_style.css b/css/sharefile_style.css
new file mode 100644
index 0000000..f7118fc
--- /dev/null
+++ b/css/sharefile_style.css
@@ -0,0 +1,25 @@
+body {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.content {
+ flex: 0 0 0;
+ display: flex;
+ flex-direction: column;
+ gap: 1rem;
+ align-items: center;
+ justify-content: center;
+}
+
+.h {
+ display: flex;
+ gap: 0.8rem;
+ align-items: center;
+ justify-content: center;
+}
+
+input[type=submit] {
+ margin-top: 0.5rem;
+}
diff --git a/css/style.css b/css/style.css
index 619c4d8..09456a3 100644
--- a/css/style.css
+++ b/css/style.css
@@ -1,3 +1,4 @@
+
html, body {
margin: 0;
height: 100%;
@@ -307,8 +308,32 @@ input[type=submit]:hover {
}
.filecontents {
- padding: 0.8rem;
- font-size: 1.1rem;
+ font-family: monospace;
+}
+
+.filecontents.imgview {
+ background-color: black;
+ background-repeat: no-repeat;
+ background-position: center;
+}
+
+.filecontentsroot, .foldercontents {
+ display: flex;
+ flex-direction: column;
+}
+
+.filecontents {
+ overflow-y: scroll;
+}
+[contenteditable] {
+ outline: 0px solid transparent;
+}
+
+pre {
+ font-size: 1.3rem;
+ min-height: 100%;
+ margin: 0.3rem;
+ box-sizing: border-box;
}
.window h3,
@@ -465,3 +490,4 @@ input[type=submit]:hover {
.close_button:hover {
background: white;
}
+
diff --git a/loggedin.js b/loggedin.js
index da894dd..9efbb75 100644
--- a/loggedin.js
+++ b/loggedin.js
@@ -311,25 +311,27 @@ function openfile_nondir() {
xhr.open('POST', '/php/readfile.php', true);
focus.filecontents.innerText = "";
- focus.filecontentsroot.style.display = 'block';
+ focus.filecontentsroot.style.display = 'flex';
focus.foldercontents.style.display = 'none';
if (mimetype.split("/")[0] == "image") {
xhr.responseType = 'arraybuffer';
xhr.onload = function () {
- var b = base64ArrayBuffer(xhr.response);
- var image = new Image();
- image.src = `data:image/png;base64,${b}`;
- image.style.minWidth = "0px";
- image.style.minHeight = "0px";
-
- focus.filecontents.appendChild(image);
- focus.filecontents.display = "flex";
+ let b = `data:image/png;base64,${base64ArrayBuffer(xhr.response)}`;
+ focus.filecontents.style.backgroundImage = `url('${b}')`;
+ focus.filecontents.classList.add('imgview');
+ focus.filecontents.innerText = "asdf";
}
}
else {
+ focus.filecontents.classList.remove('imgview');
+ focus.filecontents.style.backgroundImage = "unset";
+
+ var pre = mk(focus.filecontents, 'pre');
+
xhr.onload = function () {
- focus.filecontents.innerText = xhr.responseText;
+ pre.innerText = xhr.responseText;
+ pre.contentEditable = "true";
};
}
@@ -402,7 +404,7 @@ function opendir() {
xhr.send(data);
focus.filecontentsroot.style.display = 'none';
- focus.foldercontents.style.display = 'block';
+ focus.foldercontents.style.display = 'flex';
}
@@ -1020,4 +1022,4 @@ document.body.oncontextmenu = (e) => {
the_file.onchange = on_file_added;
-main(); \ No newline at end of file
+main();
diff --git a/php/.gitignore b/php/.gitignore
new file mode 100644
index 0000000..f980a0f
--- /dev/null
+++ b/php/.gitignore
@@ -0,0 +1 @@
+custom_configuration.php
diff --git a/php/configuration.php b/php/configuration.php
index 4a516f4..6cfef48 100644
--- a/php/configuration.php
+++ b/php/configuration.php
@@ -23,6 +23,6 @@ $password_hash_algo=PASSWORD_BCRYPT;
$has_email_verification=false;
-@include_once("$_SERVER[HOME]/.fileup.config.php");
+@include_once("custom_configuration.php");
?>
diff --git a/php/share.php b/php/share.php
index 8cc150a..c549c8a 100644
--- a/php/share.php
+++ b/php/share.php
@@ -69,11 +69,23 @@ if($_SERVER["REQUEST_METHOD"] == "POST")
}
$shared_node=$database->get_shared_node($code);
- if($shared_node==NULL || $shared_node->password!=$password)
+ if($shared_node==NULL)
{
http_response_code(409);
exit(0);
}
+ if ($shared_node->password!=$password) {
+ if ($password == "")
+ {
+ require_once("../share_frontend.php");
+ exit(0);
+ }else
+ {
+ echo "Invalid password";
+ http_response_code(409);
+ exit(0);
+ }
+ }
if(isset($_SESSION["user_object"]))
{
$user=$_SESSION["user_object"];
diff --git a/share_frontend.php b/share_frontend.php
new file mode 100644
index 0000000..0a13cd7
--- /dev/null
+++ b/share_frontend.php
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <head>
+ <meta charset="utf-8">
+ <link rel="preconnect" href="https://fonts.gstatic.com">
+ <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&display=swap" rel="stylesheet">
+ <link rel="shortcut icon" href="data:image/x-icon;," type="image/x-icon">
+ <title>shady file upload</title> <link rel="stylesheet" type="text/css" href="../css/style.css">
+ <title>shady file upload</title> <link rel="stylesheet" type="text/css" href="../css/sharefile_style.css">
+ </head>
+ </head>
+ <body>
+ <form method="GET" action="<?php echo "/php/share.php"; ?>">
+ <h2>Fileup</h2>
+ <div class="content">
+ This file is password protected.
+ <input type="hidden" name="file" value="<?php echo $_GET["file"];?>"><br>
+ <div class="h">
+ <span>Password</span>
+ <input type="password" name="password">
+ </div>
+ <input type="submit" value="Download">
+ </div>
+ </form>
+ </body>
+</html>