diff options
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 Binary files differnew file mode 100644 index 0000000..741abd2 --- /dev/null +++ b/mimeicons/application-octet-stream.png diff --git a/mimeicons/application-pdf.png b/mimeicons/application-pdf.png Binary files differnew file mode 100644 index 0000000..a5589da --- /dev/null +++ b/mimeicons/application-pdf.png diff --git a/mimeicons/application-rss_xml.png b/mimeicons/application-rss_xml.png Binary files differnew file mode 100644 index 0000000..22095de --- /dev/null +++ b/mimeicons/application-rss_xml.png diff --git a/mimeicons/application-x-bittorrent.png b/mimeicons/application-x-bittorrent.png Binary files differnew file mode 100644 index 0000000..f1d5ddd --- /dev/null +++ b/mimeicons/application-x-bittorrent.png diff --git a/mimeicons/application-x-cd-image.png b/mimeicons/application-x-cd-image.png Binary files differnew file mode 100644 index 0000000..562c663 --- /dev/null +++ b/mimeicons/application-x-cd-image.png diff --git a/mimeicons/application-x-executable.png b/mimeicons/application-x-executable.png Binary files differnew file mode 100644 index 0000000..7c65294 --- /dev/null +++ b/mimeicons/application-x-executable.png diff --git a/mimeicons/application-x-object.png b/mimeicons/application-x-object.png Binary files differnew file mode 100644 index 0000000..e8e1a9a --- /dev/null +++ b/mimeicons/application-x-object.png diff --git a/mimeicons/audio-x-generic.png b/mimeicons/audio-x-generic.png Binary files differnew file mode 100644 index 0000000..624c09c --- /dev/null +++ b/mimeicons/audio-x-generic.png diff --git a/mimeicons/font-x-generic.png b/mimeicons/font-x-generic.png Binary files differnew file mode 100644 index 0000000..ab3d469 --- /dev/null +++ b/mimeicons/font-x-generic.png diff --git a/mimeicons/image-x-generic.png b/mimeicons/image-x-generic.png Binary files differnew file mode 100644 index 0000000..17071bb --- /dev/null +++ b/mimeicons/image-x-generic.png diff --git a/mimeicons/package-x-generic.png b/mimeicons/package-x-generic.png Binary files differnew file mode 100644 index 0000000..1fca710 --- /dev/null +++ b/mimeicons/package-x-generic.png diff --git a/mimeicons/text-html.png b/mimeicons/text-html.png Binary files differnew file mode 100644 index 0000000..31ba1bd --- /dev/null +++ b/mimeicons/text-html.png diff --git a/mimeicons/text-vnd.trolltech.linguist.png b/mimeicons/text-vnd.trolltech.linguist.png Binary files differnew file mode 100644 index 0000000..3cd52b3 --- /dev/null +++ b/mimeicons/text-vnd.trolltech.linguist.png diff --git a/mimeicons/text-x-changelog.png b/mimeicons/text-x-changelog.png Binary files differnew file mode 100644 index 0000000..0d3f7bf --- /dev/null +++ b/mimeicons/text-x-changelog.png diff --git a/mimeicons/text-x-chdr.png b/mimeicons/text-x-chdr.png Binary files differnew file mode 100644 index 0000000..adfc066 --- /dev/null +++ b/mimeicons/text-x-chdr.png diff --git a/mimeicons/text-x-cpp.png b/mimeicons/text-x-cpp.png Binary files differnew file mode 100644 index 0000000..fa76ba0 --- /dev/null +++ b/mimeicons/text-x-cpp.png diff --git a/mimeicons/text-x-csrc.png b/mimeicons/text-x-csrc.png Binary files differnew file mode 100644 index 0000000..6a9f2e8 --- /dev/null +++ b/mimeicons/text-x-csrc.png diff --git a/mimeicons/text-x-css.png b/mimeicons/text-x-css.png Binary files differnew file mode 100644 index 0000000..6d3b7e7 --- /dev/null +++ b/mimeicons/text-x-css.png diff --git a/mimeicons/text-x-generic.png b/mimeicons/text-x-generic.png Binary files differnew file mode 100644 index 0000000..924a5eb --- /dev/null +++ b/mimeicons/text-x-generic.png diff --git a/mimeicons/text-x-go.png b/mimeicons/text-x-go.png Binary files differnew file mode 100644 index 0000000..3ca93a6 --- /dev/null +++ b/mimeicons/text-x-go.png diff --git a/mimeicons/text-x-javascript.png b/mimeicons/text-x-javascript.png Binary files differnew file mode 100644 index 0000000..a37deb8 --- /dev/null +++ b/mimeicons/text-x-javascript.png diff --git a/mimeicons/text-x-preview.png b/mimeicons/text-x-preview.png Binary files differnew file mode 100644 index 0000000..b86d1ca --- /dev/null +++ b/mimeicons/text-x-preview.png diff --git a/mimeicons/text-x-python.png b/mimeicons/text-x-python.png Binary files differnew file mode 100644 index 0000000..05a7a7c --- /dev/null +++ b/mimeicons/text-x-python.png diff --git a/mimeicons/text-x-script.png b/mimeicons/text-x-script.png Binary files differnew file mode 100644 index 0000000..e476856 --- /dev/null +++ b/mimeicons/text-x-script.png diff --git a/mimeicons/text-x-vala.png b/mimeicons/text-x-vala.png Binary files differnew file mode 100644 index 0000000..81595dd --- /dev/null +++ b/mimeicons/text-x-vala.png diff --git a/mimeicons/video-x-generic.png b/mimeicons/video-x-generic.png Binary files differnew file mode 100644 index 0000000..167c9d0 --- /dev/null +++ b/mimeicons/video-x-generic.png diff --git a/mimeicons/x-office-calendar.png b/mimeicons/x-office-calendar.png Binary files differnew file mode 100644 index 0000000..5da8bd3 --- /dev/null +++ b/mimeicons/x-office-calendar.png diff --git a/mimeicons/x-office-document-template.png b/mimeicons/x-office-document-template.png Binary files differnew file mode 100644 index 0000000..834ebbe --- /dev/null +++ b/mimeicons/x-office-document-template.png diff --git a/mimeicons/x-office-document.png b/mimeicons/x-office-document.png Binary files differnew file mode 100644 index 0000000..20f5939 --- /dev/null +++ b/mimeicons/x-office-document.png diff --git a/mimeicons/x-office-drawing-template.png b/mimeicons/x-office-drawing-template.png Binary files differnew file mode 100644 index 0000000..34aa16d --- /dev/null +++ b/mimeicons/x-office-drawing-template.png diff --git a/mimeicons/x-office-drawing.png b/mimeicons/x-office-drawing.png Binary files differnew file mode 100644 index 0000000..7239629 --- /dev/null +++ b/mimeicons/x-office-drawing.png diff --git a/mimeicons/x-office-presentation-template.png b/mimeicons/x-office-presentation-template.png Binary files differnew file mode 100644 index 0000000..d1e9bff --- /dev/null +++ b/mimeicons/x-office-presentation-template.png diff --git a/mimeicons/x-office-presentation.png b/mimeicons/x-office-presentation.png Binary files differnew file mode 100644 index 0000000..dfc73b4 --- /dev/null +++ b/mimeicons/x-office-presentation.png diff --git a/mimeicons/x-office-spreadsheet-template.png b/mimeicons/x-office-spreadsheet-template.png Binary files differnew file mode 100644 index 0000000..dcec754 --- /dev/null +++ b/mimeicons/x-office-spreadsheet-template.png diff --git a/mimeicons/x-office-spreadsheet.png b/mimeicons/x-office-spreadsheet.png Binary files differnew file mode 100644 index 0000000..03e7755 --- /dev/null +++ b/mimeicons/x-office-spreadsheet.png 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']; |