aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--css/style.css102
-rw-r--r--index.html65
-rw-r--r--index.php50
-rw-r--r--js/arrows.js37
-rw-r--r--js/validate_hero.js58
-rw-r--r--loggedin.php102
-rw-r--r--login.html55
-rw-r--r--loginregister.js101
-rw-r--r--loginregister.php53
-rw-r--r--mimeicons/application-octet-stream.pngbin0 -> 642 bytes
-rw-r--r--mimeicons/application-pdf.pngbin0 -> 2510 bytes
-rw-r--r--mimeicons/application-rss_xml.pngbin0 -> 2072 bytes
-rw-r--r--mimeicons/application-x-bittorrent.pngbin0 -> 955 bytes
-rw-r--r--mimeicons/application-x-cd-image.pngbin0 -> 3996 bytes
-rw-r--r--mimeicons/application-x-executable.pngbin0 -> 2621 bytes
-rw-r--r--mimeicons/application-x-object.pngbin0 -> 2913 bytes
-rw-r--r--mimeicons/audio-x-generic.pngbin0 -> 1205 bytes
-rw-r--r--mimeicons/font-x-generic.pngbin0 -> 2564 bytes
-rw-r--r--mimeicons/image-x-generic.pngbin0 -> 494 bytes
-rw-r--r--mimeicons/package-x-generic.pngbin0 -> 539 bytes
-rw-r--r--mimeicons/text-html.pngbin0 -> 3293 bytes
-rw-r--r--mimeicons/text-vnd.trolltech.linguist.pngbin0 -> 2815 bytes
-rw-r--r--mimeicons/text-x-changelog.pngbin0 -> 1329 bytes
-rw-r--r--mimeicons/text-x-chdr.pngbin0 -> 2077 bytes
-rw-r--r--mimeicons/text-x-cpp.pngbin0 -> 2354 bytes
-rw-r--r--mimeicons/text-x-csrc.pngbin0 -> 3152 bytes
-rw-r--r--mimeicons/text-x-css.pngbin0 -> 1531 bytes
-rw-r--r--mimeicons/text-x-generic.pngbin0 -> 1027 bytes
-rw-r--r--mimeicons/text-x-go.pngbin0 -> 4613 bytes
-rw-r--r--mimeicons/text-x-javascript.pngbin0 -> 3046 bytes
-rw-r--r--mimeicons/text-x-preview.pngbin0 -> 521 bytes
-rw-r--r--mimeicons/text-x-python.pngbin0 -> 3255 bytes
-rw-r--r--mimeicons/text-x-script.pngbin0 -> 1130 bytes
-rw-r--r--mimeicons/text-x-vala.pngbin0 -> 2669 bytes
-rw-r--r--mimeicons/video-x-generic.pngbin0 -> 728 bytes
-rw-r--r--mimeicons/x-office-calendar.pngbin0 -> 1487 bytes
-rw-r--r--mimeicons/x-office-document-template.pngbin0 -> 2596 bytes
-rw-r--r--mimeicons/x-office-document.pngbin0 -> 1207 bytes
-rw-r--r--mimeicons/x-office-drawing-template.pngbin0 -> 3690 bytes
-rw-r--r--mimeicons/x-office-drawing.pngbin0 -> 2994 bytes
-rw-r--r--mimeicons/x-office-presentation-template.pngbin0 -> 2432 bytes
-rw-r--r--mimeicons/x-office-presentation.pngbin0 -> 1446 bytes
-rw-r--r--mimeicons/x-office-spreadsheet-template.pngbin0 -> 2009 bytes
-rw-r--r--mimeicons/x-office-spreadsheet.pngbin0 -> 762 bytes
-rw-r--r--php/configuration.php16
-rw-r--r--php/database.php8
-rw-r--r--php/login.php7
-rw-r--r--php/logout.php10
-rw-r--r--php/misc.php5
-rw-r--r--php/register.php11
-rw-r--r--php/upload.php1
51 files changed, 446 insertions, 235 deletions
diff --git a/css/style.css b/css/style.css
index 31778c4..aa29cf6 100644
--- a/css/style.css
+++ b/css/style.css
@@ -23,13 +23,38 @@ body {
#header {
background: white;
margin: 0;
- padding: 1rem;
+ padding: 0;
+ height: 3rem;
font-size: 2em;
+ display: flex;
+ align-items: stretch;
+ user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+}
+
+#topmenu {
+ font-size: 1.3rem;
+ list-style-type: none;
+ display: flex;
+ margin: 0;
+ padding: 0;
+}
+
+#topmenu > li {
+ cursor: pointer;
+ padding: 10px;
+}
+
+#topmenu > li:hover {
+ background: #eee;
}
.logo {
font-family: monospace;
margin: 0;
+ align-self: center;
+ padding-left: 2rem;
}
#hero {
@@ -70,7 +95,6 @@ body {
font-weight: bold;
}
-
form {
background: white;
margin: 4.5rem;
@@ -111,6 +135,7 @@ form > .content {
justify-content: center;
}
+.filesystem > h2,
form > h2 {
color: #4d4d4d;
margin: 0;
@@ -140,7 +165,8 @@ form p {
from { opacity: 0; }
to { opacity: 1; }
}
-input {
+
+input:not([type=file]) {
min-width: 300px;
border: 1px solid #bbb;
padding: 0.5rem;
@@ -195,3 +221,73 @@ input[type=submit]:hover {
bottom: 0;
z-index: -200;
}
+
+#loginform {
+ display: none;
+}
+
+.filesystem {
+ background: #fafafa;
+ margin: 1rem;
+ padding: 0;
+ box-shadow: 0 0.8rem 1.3rem rgba(0,0,0,0.2);
+ border-radius: 0.5rem;
+ border-radius: 0.5rem;
+ border: 1px solid #b9b9b9;
+
+ display: block;
+}
+
+.files {
+ padding: 1rem;
+ display: grid;
+
+ grid-gap: 20px;
+ grid-auto-rows: 10rem;
+ grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr));
+}
+
+.file {
+ padding: 0.5rem;
+ cursor: pointer;
+ color: #333;
+ user-select: none;
+ -webkit-user-select: none;
+ -ms-user-select: none;
+
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ border: 1px solid #fafafa;
+ border-radius: 0.3rem;
+}
+
+.file:hover {
+ padding: 0.5rem;
+ background: white;
+ color: black;
+ border-color: #ddd;
+}
+
+.file:hover > img {
+ filter: brightness(150%);
+}
+
+.path {
+ font-size: 1.5rem;
+}
+
+.path > a {
+ color: #333;
+ text-decoration: none;
+}
+
+.path > a:hover {
+ text-decoration: underline;
+}
+
+.filesystem > h2 {
+ display: flex;
+ align-items: baseline;
+ font-weight: normal;
+}
diff --git a/index.html b/index.html
deleted file mode 100644
index 6a2018b..0000000
--- a/index.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>shady file upload</title>
- <link rel="stylesheet" type="text/css" href="css/style.css">
- </head>
-
- <body>
- <div class="overlay" style="height: 100%;">
- <div class="vert2">
- <div id="header">
- <p class="logo">shady_file_upload</p>
- </div>
-
- <div id="page">
- <div id="hero" class="overlay">
- <div id="arrows">
- <img src="svg/arrow.svg" id="protoarrow" style="display: none">
- </div>
-
- <div class="vcenter">
- <p>file upload service</p>
- <p class="big">that <span class="blue">just about works</span></p>
- <p>most of the time</p>
- </div>
- </div>
-
- <div class="vcenter">
- <form name="hero_form" action="/php/register.php" method="post" onsubmit="return validate_hero_form()">
- <h2>Get started</h2>
- <div class="content">
- <p>Username</p>
- <input type="text" id="username" name="username">
- <p id="username-length-error" class="hero_form_error" hidden>Please specify a username</p>
-
- <p>Email address</p>
- <input type="text" id="email" name="email">
- <p id="email-error" class="hero_form_error" hidden>Invalid email address</p>
-
- <p>Password</p>
- <input type="password" id="password" name="password">
- <p id="password-length-error" class="hero_form_error" hidden>Please provide a password</p>
-
- <p>Repeat Password</p>
- <input type="password" id="password2" name="password2">
- <p id="password-match-error" class="hero_form_error" hidden>Passwords didn't match</p>
- <input type="submit" value="Sign up">
- <p style="font-size: 1.1em;">Don't have an account? <a href="login.html">Log in</a>
- </div>
- </form>
- </div>
-
-
- </div>
- </div>
-
- <img src="svg/bottom.svg" class="bgbottom">
- </div>
-
- <script src="js/arrows.js"></script>
- <script src="js/validate_hero.js"></script>
-
- </body>
- <html>
diff --git a/index.php b/index.php
new file mode 100644
index 0000000..645e31f
--- /dev/null
+++ b/index.php
@@ -0,0 +1,50 @@
+<?php
+ session_start();
+?>
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>shady file upload</title> <link rel="stylesheet" type="text/css" href="css/style.css">
+ </head>
+
+ <body>
+ <div class="overlay" style="height: 100%;">
+ <div class="vert2">
+ <div id="header">
+ <p class="logo">shady_file_upload</p>
+
+ <div style="flex: 1 0 0;"></div>
+ <ul id="topmenu">
+
+ <?php if (array_key_exists("username", $_SESSION)) { ?>
+
+ <li><?php echo $_SESSION['username'];?></li>
+ <li onclick="window.location.href='/php/logout.php'">Sign out</li>
+
+ <?php } else {?>
+
+ <li onclick="showLogin(false)">Sign up</li>
+ <li onclick="showLogin(true)">Log in</li>
+
+ <?php }?>
+ </ul>
+
+ </div>
+
+ <div id="page">
+
+<?php
+ if (array_key_exists("username", $_SESSION)) {
+ require_once("loggedin.php");
+ } else {
+ require_once("loginregister.php");
+ }
+?>
+
+ </div>
+ </div>
+ <img src="svg/bottom.svg" class="bgbottom">
+ </div>
+ </body>
+<html>
diff --git a/js/arrows.js b/js/arrows.js
deleted file mode 100644
index 10ad416..0000000
--- a/js/arrows.js
+++ /dev/null
@@ -1,37 +0,0 @@
-
-arrows = [];
-
-const minSpeed = 3;
-const maxSpeed = 8;
-const delay = 1500;
-const lifetime = 20000;
-
-function make_arrow() {
- const svg = document.getElementById("protoarrow").cloneNode();
- svg.style.left = Math.random() * 100 + '%';
- svg.style.display = 'block';
- document.getElementById('arrows').append(svg);
- const ob = {
- y: -800,
- svg: svg,
- speed: Math.random() * (maxSpeed - minSpeed) + minSpeed
- };
- arrows.push(ob);
- setTimeout(make_arrow, delay);
- setTimeout(() => {
- svg.remove();
- arrows.shift();
- }, lifetime);
-}
-
-function update() {
- for (const arrow of arrows) {
- arrow.y += arrow.speed;
- arrow.svg.style.bottom = arrow.y + 'px';
- }
-
- window.requestAnimationFrame(update);
-}
-
-make_arrow();
-update();
diff --git a/js/validate_hero.js b/js/validate_hero.js
deleted file mode 100644
index ecd5195..0000000
--- a/js/validate_hero.js
+++ /dev/null
@@ -1,58 +0,0 @@
-
-function clear_hero_errors()
-{
- let errors = document.getElementsByClassName("hero_form_error");
- let i;
- for (i = 0; i < errors.length; i++)
- {
- errors[i].hidden = true;
- }
-}
-function validate_hero_login_form()
-{
- let username=document.forms["hero_form"]["username"].value;
- let flag=true;
- clear_hero_errors();
-
- if(username.length==0)
- {
- document.getElementById("username-length-error").hidden=false;
- flag=false;
- }
- document.activeElement.blur();
- return flag;
-}
-function validate_hero_form()
-{
- let username=document.forms["hero_form"]["username"].value;
- let email=document.forms["hero_form"]["email"].value;
- let password=document.forms["hero_form"]["password"].value;
- let password2=document.forms["hero_form"]["password2"].value;
-
- let flag=true;
- clear_hero_errors();
-
- if(username.length==0)
- {
- document.getElementById("username-length-error").hidden=false;
- flag=false;
- }
- if(!email.match(/\S+@\S+/))
- {
- document.getElementById("email-error").hidden=false;
- flag=false;
- }
- if(password.length==0)
- {
- document.getElementById("password-length-error").hidden=false;
- flag=false;
- }
- if(password !== password2)
- {
- document.getElementById("password-match-error").hidden=false;
- flag=false;
- }
- document.activeElement.blur();
- return flag;
-
-}
diff --git a/loggedin.php b/loggedin.php
new file mode 100644
index 0000000..dd3a94f
--- /dev/null
+++ b/loggedin.php
@@ -0,0 +1,102 @@
+<div>
+ <div class="filesystem">
+
+ <h2>
+ <div class="path">
+ <a class="pathentry" href="#"> <?php echo $_SESSION['username'] ?>'s files/</a><a class="pathentry" href="#">foo/</a><a class="pathentry" href="#">bar</a></div>
+ <input type="button" value="New Folder">
+ </h2>
+
+ <div class="files">
+ <div class="file">
+ <img src="/mimeicons/application-pdf.png">
+ <div class="filename">asdf</div>
+ </div>
+ <div class="file">
+ <img src="/mimeicons/application-pdf.png">
+ <div class="filename">asdf</div>
+ </div>
+ <div class="file">
+ <img src="/mimeicons/application-pdf.png">
+ <div class="filename">asdf</div>
+ </div>
+ <div class="file">
+ <img src="/mimeicons/application-pdf.png">
+ <div class="filename">asdf</div>
+ </div>
+ <div class="file">
+ <img src="/mimeicons/application-pdf.png">
+ <div class="filename">asdf</div>
+ </div>
+ <div class="file">
+ <img src="/mimeicons/application-pdf.png">
+ <div class="filename">asdf</div>
+ </div>
+ <div class="file">
+ <img src="/mimeicons/application-pdf.png">
+ <div class="filename">asdf</div>
+ </div>
+ <div class="file">
+ <img src="/mimeicons/application-pdf.png">
+ <div class="filename">asdf</div>
+ </div>
+ <div class="file">
+ <img src="/mimeicons/application-pdf.png">
+ <div class="filename">asdf</div>
+ </div>
+ <div class="file">
+ <img src="/mimeicons/application-pdf.png">
+ <div class="filename">asdf</div>
+ </div>
+ <div class="file">
+ <img src="/mimeicons/application-pdf.png">
+ <div class="filename">asdf</div>
+ </div>
+ <div class="file">
+ <img src="/mimeicons/application-pdf.png">
+ <div class="filename">asdf</div>
+ </div>
+ <div class="file">
+ <img src="/mimeicons/application-pdf.png">
+ <div class="filename">asdf</div>
+ </div>
+ <div class="file">
+ <img src="/mimeicons/application-pdf.png">
+ <div class="filename">asdf</div>
+ </div>
+ <div class="file">
+ <img src="/mimeicons/application-pdf.png">
+ <div class="filename">asdf</div>
+ </div>
+ <div class="file">
+ <img src="/mimeicons/application-pdf.png">
+ <div class="filename">asdf</div>
+ </div>
+ <div class="file">
+ <img src="/mimeicons/application-pdf.png">
+ <div class="filename">asdf</div>
+ </div>
+ <div class="file">
+ <img src="/mimeicons/application-pdf.png">
+ <div class="filename">asdf</div>
+ </div>
+ <div class="file">
+ <img src="/mimeicons/application-pdf.png">
+ <div class="filename">asdf</div>
+ </div>
+ <div class="file">
+ <img src="/mimeicons/application-pdf.png">
+ <div class="filename">asdf</div>
+ </div>
+ <div class="file">
+ <img src="/mimeicons/application-pdf.png">
+ <div class="filename">asdf</div>
+ </div>
+ </div>
+ </div>
+
+
+</div>
+
+
+
diff --git a/login.html b/login.html
deleted file mode 100644
index 525358f..0000000
--- a/login.html
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>shady file upload</title>
- <link rel="stylesheet" type="text/css" href="css/style.css">
- </head>
-
- <body>
- <div class="overlay" style="height: 100%;">
- <div class="vert2">
- <div id="header">
- <p class="logo">shady_file_upload</p>
- </div>
-
- <div id="page">
- <div id="hero" class="overlay">
- <div id="arrows">
- <img src="svg/arrow.svg" id="protoarrow" style="display: none">
- </div>
-
- <div class="vcenter">
- <p>file upload service</p>
- <p class="big">that <span class="blue">just about works</span></p>
- <p>most of the time</p>
- </div>
- </div>
-
- <div class="vcenter">
- <form name="hero_form" action="/php/login.php" method="post" onsubmit="return validate_hero_login_form()">
- <h2>Login</h2>
- <div class="content">
- <p>Username</p>
- <input type="text" id="username" name="username">
- <p id="username-length-error" class="hero_form_error" hidden>Please enter a username</p>
- <p>Password</p>
- <input type="password" id="password" name="password">
- <input type="submit" value="Login">
- <p style="font-size: 1.1em;">Already have an account? <a href="index.html">Sign up</a>
- </div>
- </form>
- </div>
-
-
- </div>
- </div>
-
- <img src="svg/bottom.svg" class="bgbottom">
- </div>
-
- <script src="js/arrows.js"></script>
- <script src="js/validate_hero.js"></script>
-
- </body>
- <html>
diff --git a/loginregister.js b/loginregister.js
new file mode 100644
index 0000000..cb87444
--- /dev/null
+++ b/loginregister.js
@@ -0,0 +1,101 @@
+arrows = [];
+
+const minSpeed = 3;
+const maxSpeed = 8;
+const delay = 1500;
+const lifetime = 20000;
+
+function make_arrow() {
+ const svg = document.getElementById("protoarrow").cloneNode();
+ svg.style.left = Math.random() * 100 + '%';
+ svg.style.display = 'block';
+ document.getElementById('arrows').append(svg);
+ const ob = {
+ y: -800,
+ svg: svg,
+ speed: Math.random() * (maxSpeed - minSpeed) + minSpeed
+ };
+ arrows.push(ob);
+ setTimeout(make_arrow, delay);
+ setTimeout(() => {
+ svg.remove();
+ arrows.shift();
+ }, lifetime);
+}
+
+function update() {
+ for (const arrow of arrows) {
+ arrow.y += arrow.speed;
+ arrow.svg.style.bottom = arrow.y + 'px';
+ }
+
+ window.requestAnimationFrame(update);
+}
+
+make_arrow();
+update();
+
+
+
+
+function clear_hero_errors()
+{
+ let errors = document.getElementsByClassName("hero_form_error");
+ for (let i = 0; i < errors.length; i++)
+ {
+ errors[i].hidden = true;
+ }
+}
+function validate_hero_login_form()
+{
+ let username=document.forms["login_form"]["username"].value;
+ let flag=true;
+ clear_hero_errors();
+
+ if(username.length==0)
+ {
+ document.getElementById("username-length-error").hidden=false;
+ flag=false;
+ }
+ document.activeElement.blur();
+ return flag;
+}
+function validate_hero_form()
+{
+ let username=document.forms["register_form"]["username"].value;
+ let email=document.forms["register_form"]["email"].value;
+ let password=document.forms["register_form"]["password"].value;
+ let password2=document.forms["register_form"]["password2"].value;
+
+ let flag=true;
+ clear_hero_errors();
+
+ if(username.length==0)
+ {
+ document.getElementById("username-length-error").hidden=false;
+ flag=false;
+ }
+ if(!email.match(/\S+@\S+/))
+ {
+ document.getElementById("email-error").hidden=false;
+ flag=false;
+ }
+ if(password.length==0)
+ {
+ document.getElementById("password-length-error").hidden=false;
+ flag=false;
+ }
+ if(password !== password2)
+ {
+ document.getElementById("password-match-error").hidden=false;
+ flag=false;
+ }
+ document.activeElement.blur();
+ return flag;
+
+}
+
+function showLogin(l) {
+ document.getElementById("loginform").style.display = l ? "flex" : "none";
+ document.getElementById("signupform").style.display = l ? "none" : "flex";
+}
diff --git a/loginregister.php b/loginregister.php
new file mode 100644
index 0000000..8068b35
--- /dev/null
+++ b/loginregister.php
@@ -0,0 +1,53 @@
+<div id="hero" class="overlay">
+ <div id="arrows">
+ <img src="svg/arrow.svg" id="protoarrow" style="display: none">
+ </div>
+
+ <div class="vcenter">
+ <p>file upload service</p>
+ <p class="big">that <span class="blue">just about works</span></p>
+ <p>most of the time</p>
+ </div>
+</div>
+
+<div class="vcenter" id="signupform">
+ <form name="register_form" action="/php/register.php" method="post" onsubmit="return validate_hero_form()">
+ <h2>Get started</h2>
+ <div class="content">
+ <p>Username</p>
+ <input type="text" id="username" name="username">
+ <p id="username-length-error" class="hero_form_error" hidden>Please specify a username</p>
+
+ <p>Email address</p>
+ <input type="text" id="email" name="email">
+ <p id="email-error" class="hero_form_error" hidden>Invalid email address</p>
+
+ <p>Password</p>
+ <input type="password" id="password" name="password">
+ <p id="password-length-error" class="hero_form_error" hidden>Please provide a password</p>
+
+ <p>Repeat Password</p>
+ <input type="password" id="password2" name="password2">
+ <p id="password-match-error" class="hero_form_error" hidden>Passwords didn't match</p>
+ <input type="submit" value="Sign up">
+ <p style="font-size: 1.1em;">Already have an account? <a href="#" onclick="showLogin(true)">Log in</a>
+ </div>
+ </form>
+</div>
+
+<div class="vcenter" id="loginform">
+ <form name="login_form" action="/php/login.php" method="post" onsubmit="return validate_hero_login_form()">
+ <h2>Login</h2>
+ <div class="content">
+ <p>Username</p>
+ <input type="text" id="username" name="username">
+ <p id="username-length-error" class="hero_form_error" hidden>Please enter a username</p>
+ <p>Password</p>
+ <input type="password" id="password" name="password">
+ <input type="submit" value="Login">
+ <p style="font-size: 1.1em;">Don't have an account? <a href="#" onclick="showLogin(false)">Sign up</a>
+ </div>
+ </form>
+</div>
+
+<script src="loginregister.js"></script>
diff --git a/mimeicons/application-octet-stream.png b/mimeicons/application-octet-stream.png
new file mode 100644
index 0000000..741abd2
--- /dev/null
+++ b/mimeicons/application-octet-stream.png
Binary files differ
diff --git a/mimeicons/application-pdf.png b/mimeicons/application-pdf.png
new file mode 100644
index 0000000..a5589da
--- /dev/null
+++ b/mimeicons/application-pdf.png
Binary files differ
diff --git a/mimeicons/application-rss_xml.png b/mimeicons/application-rss_xml.png
new file mode 100644
index 0000000..22095de
--- /dev/null
+++ b/mimeicons/application-rss_xml.png
Binary files differ
diff --git a/mimeicons/application-x-bittorrent.png b/mimeicons/application-x-bittorrent.png
new file mode 100644
index 0000000..f1d5ddd
--- /dev/null
+++ b/mimeicons/application-x-bittorrent.png
Binary files differ
diff --git a/mimeicons/application-x-cd-image.png b/mimeicons/application-x-cd-image.png
new file mode 100644
index 0000000..562c663
--- /dev/null
+++ b/mimeicons/application-x-cd-image.png
Binary files differ
diff --git a/mimeicons/application-x-executable.png b/mimeicons/application-x-executable.png
new file mode 100644
index 0000000..7c65294
--- /dev/null
+++ b/mimeicons/application-x-executable.png
Binary files differ
diff --git a/mimeicons/application-x-object.png b/mimeicons/application-x-object.png
new file mode 100644
index 0000000..e8e1a9a
--- /dev/null
+++ b/mimeicons/application-x-object.png
Binary files differ
diff --git a/mimeicons/audio-x-generic.png b/mimeicons/audio-x-generic.png
new file mode 100644
index 0000000..624c09c
--- /dev/null
+++ b/mimeicons/audio-x-generic.png
Binary files differ
diff --git a/mimeicons/font-x-generic.png b/mimeicons/font-x-generic.png
new file mode 100644
index 0000000..ab3d469
--- /dev/null
+++ b/mimeicons/font-x-generic.png
Binary files differ
diff --git a/mimeicons/image-x-generic.png b/mimeicons/image-x-generic.png
new file mode 100644
index 0000000..17071bb
--- /dev/null
+++ b/mimeicons/image-x-generic.png
Binary files differ
diff --git a/mimeicons/package-x-generic.png b/mimeicons/package-x-generic.png
new file mode 100644
index 0000000..1fca710
--- /dev/null
+++ b/mimeicons/package-x-generic.png
Binary files differ
diff --git a/mimeicons/text-html.png b/mimeicons/text-html.png
new file mode 100644
index 0000000..31ba1bd
--- /dev/null
+++ b/mimeicons/text-html.png
Binary files differ
diff --git a/mimeicons/text-vnd.trolltech.linguist.png b/mimeicons/text-vnd.trolltech.linguist.png
new file mode 100644
index 0000000..3cd52b3
--- /dev/null
+++ b/mimeicons/text-vnd.trolltech.linguist.png
Binary files differ
diff --git a/mimeicons/text-x-changelog.png b/mimeicons/text-x-changelog.png
new file mode 100644
index 0000000..0d3f7bf
--- /dev/null
+++ b/mimeicons/text-x-changelog.png
Binary files differ
diff --git a/mimeicons/text-x-chdr.png b/mimeicons/text-x-chdr.png
new file mode 100644
index 0000000..adfc066
--- /dev/null
+++ b/mimeicons/text-x-chdr.png
Binary files differ
diff --git a/mimeicons/text-x-cpp.png b/mimeicons/text-x-cpp.png
new file mode 100644
index 0000000..fa76ba0
--- /dev/null
+++ b/mimeicons/text-x-cpp.png
Binary files differ
diff --git a/mimeicons/text-x-csrc.png b/mimeicons/text-x-csrc.png
new file mode 100644
index 0000000..6a9f2e8
--- /dev/null
+++ b/mimeicons/text-x-csrc.png
Binary files differ
diff --git a/mimeicons/text-x-css.png b/mimeicons/text-x-css.png
new file mode 100644
index 0000000..6d3b7e7
--- /dev/null
+++ b/mimeicons/text-x-css.png
Binary files differ
diff --git a/mimeicons/text-x-generic.png b/mimeicons/text-x-generic.png
new file mode 100644
index 0000000..924a5eb
--- /dev/null
+++ b/mimeicons/text-x-generic.png
Binary files differ
diff --git a/mimeicons/text-x-go.png b/mimeicons/text-x-go.png
new file mode 100644
index 0000000..3ca93a6
--- /dev/null
+++ b/mimeicons/text-x-go.png
Binary files differ
diff --git a/mimeicons/text-x-javascript.png b/mimeicons/text-x-javascript.png
new file mode 100644
index 0000000..a37deb8
--- /dev/null
+++ b/mimeicons/text-x-javascript.png
Binary files differ
diff --git a/mimeicons/text-x-preview.png b/mimeicons/text-x-preview.png
new file mode 100644
index 0000000..b86d1ca
--- /dev/null
+++ b/mimeicons/text-x-preview.png
Binary files differ
diff --git a/mimeicons/text-x-python.png b/mimeicons/text-x-python.png
new file mode 100644
index 0000000..05a7a7c
--- /dev/null
+++ b/mimeicons/text-x-python.png
Binary files differ
diff --git a/mimeicons/text-x-script.png b/mimeicons/text-x-script.png
new file mode 100644
index 0000000..e476856
--- /dev/null
+++ b/mimeicons/text-x-script.png
Binary files differ
diff --git a/mimeicons/text-x-vala.png b/mimeicons/text-x-vala.png
new file mode 100644
index 0000000..81595dd
--- /dev/null
+++ b/mimeicons/text-x-vala.png
Binary files differ
diff --git a/mimeicons/video-x-generic.png b/mimeicons/video-x-generic.png
new file mode 100644
index 0000000..167c9d0
--- /dev/null
+++ b/mimeicons/video-x-generic.png
Binary files differ
diff --git a/mimeicons/x-office-calendar.png b/mimeicons/x-office-calendar.png
new file mode 100644
index 0000000..5da8bd3
--- /dev/null
+++ b/mimeicons/x-office-calendar.png
Binary files differ
diff --git a/mimeicons/x-office-document-template.png b/mimeicons/x-office-document-template.png
new file mode 100644
index 0000000..834ebbe
--- /dev/null
+++ b/mimeicons/x-office-document-template.png
Binary files differ
diff --git a/mimeicons/x-office-document.png b/mimeicons/x-office-document.png
new file mode 100644
index 0000000..20f5939
--- /dev/null
+++ b/mimeicons/x-office-document.png
Binary files differ
diff --git a/mimeicons/x-office-drawing-template.png b/mimeicons/x-office-drawing-template.png
new file mode 100644
index 0000000..34aa16d
--- /dev/null
+++ b/mimeicons/x-office-drawing-template.png
Binary files differ
diff --git a/mimeicons/x-office-drawing.png b/mimeicons/x-office-drawing.png
new file mode 100644
index 0000000..7239629
--- /dev/null
+++ b/mimeicons/x-office-drawing.png
Binary files differ
diff --git a/mimeicons/x-office-presentation-template.png b/mimeicons/x-office-presentation-template.png
new file mode 100644
index 0000000..d1e9bff
--- /dev/null
+++ b/mimeicons/x-office-presentation-template.png
Binary files differ
diff --git a/mimeicons/x-office-presentation.png b/mimeicons/x-office-presentation.png
new file mode 100644
index 0000000..dfc73b4
--- /dev/null
+++ b/mimeicons/x-office-presentation.png
Binary files differ
diff --git a/mimeicons/x-office-spreadsheet-template.png b/mimeicons/x-office-spreadsheet-template.png
new file mode 100644
index 0000000..dcec754
--- /dev/null
+++ b/mimeicons/x-office-spreadsheet-template.png
Binary files differ
diff --git a/mimeicons/x-office-spreadsheet.png b/mimeicons/x-office-spreadsheet.png
new file mode 100644
index 0000000..03e7755
--- /dev/null
+++ b/mimeicons/x-office-spreadsheet.png
Binary files differ
diff --git a/php/configuration.php b/php/configuration.php
index 90face8..425dd10 100644
--- a/php/configuration.php
+++ b/php/configuration.php
@@ -3,15 +3,29 @@
$domain_name="localhost";
+<<<<<<< HEAD
+=======
+if (file_exists("/home/alex")) {
+ $database_name="alex";
+ $database_username="alex";
+ $database_password="lol";
+ $database_location="127.0.0.1";
+>>>>>>> f1cd0085cd8dba8b25818fc998d315b28e6c13a5
+
+ $storage_root = "/home/alex/fileup_storage";
+}
+else {
+
$database_name="fileup_testing";
$database_username="outsider";
$database_password="parola123";
$database_location="localhost";
+ $storage_root = "/tmp/fileup_storage";
+}
$password_hash_algo=PASSWORD_BCRYPT;
-
$has_email_verification=false;
?>
diff --git a/php/database.php b/php/database.php
index ef2b825..f472cbf 100644
--- a/php/database.php
+++ b/php/database.php
@@ -16,14 +16,8 @@ require_once "misc.php";
global $database_username;
global $database_password;
global $database_location;
- try
- {
+
$this->pdo=new PDO("mysql:dbname={$database_name};host={$database_location}",$database_username,$database_password);
- }catch(PDOException $e)
- {
- error_log("Could not get database {$database_name} from {$database_location}, {$e} ");
- die("The cow bought the farm");
- }
}
/*returns false if this isn't a user, otherwise returns the user*/
diff --git a/php/login.php b/php/login.php
index e6d44dc..536a5bf 100644
--- a/php/login.php
+++ b/php/login.php
@@ -3,6 +3,8 @@ require_once "user.php";
require_once "database.php";
require_once "misc.php";
+session_start();
+
$username=$_POST["username"];
$password=$_POST["password"];
/*server side verification*/
@@ -18,8 +20,7 @@ if(!$user)
die("Password or username is incorrect");
}
-echo "Username: {$user->username}\n";
-echo "Email: {$user->email_address}";
-
+$_SESSION['username'] = $user->username;
+header('Location: /');
?>
diff --git a/php/logout.php b/php/logout.php
new file mode 100644
index 0000000..9a4cdd7
--- /dev/null
+++ b/php/logout.php
@@ -0,0 +1,10 @@
+<?php
+// TODO
+// This is dangerous and stupid
+// Right now every webpage can redirect any of its users to http://shady.upload/logout
+// which will log the user out of our webpage
+
+session_start();
+unset($_SESSION['username']);
+header('Location: /');
+?>
diff --git a/php/misc.php b/php/misc.php
index 3ab0277..69cd654 100644
--- a/php/misc.php
+++ b/php/misc.php
@@ -1,11 +1,6 @@
<?php
require_once "user.php";
-function validate_credentials(string $username,string $email,string $password,string $password2) : bool
-{
- return true;
-}
-
function generate_email_verification_link()
{
/*TODO*/
diff --git a/php/register.php b/php/register.php
index b6b164c..1d31a91 100644
--- a/php/register.php
+++ b/php/register.php
@@ -8,6 +8,13 @@ $password=$_POST["password"];
$password2=$_POST["password2"];
$email=$_POST["email"];
+
+function validate_credentials(string $username,string $email,string $password,string $password2) : bool
+{
+ return true;
+}
+
+
/*check if we are given shady credentials*/
if(!validate_credentials($username,$email,$password,$password2))
{
@@ -24,4 +31,8 @@ if($database->register_user($username,$password,$email))
echo "didn't register";
}
+
+$_SESSION['username'] = $username;
+header('Location: /');
+
?>
diff --git a/php/upload.php b/php/upload.php
index 93fa778..d9110c7 100644
--- a/php/upload.php
+++ b/php/upload.php
@@ -5,7 +5,6 @@ if (!array_key_exists('uf', $_FILES)) {
exit();
}
-
$file = $_FILES['uf'];