mirror of
https://github.com/Fluffy-Bean/image-gallery.git
synced 2025-06-13 13:43:13 +00:00
Merge pull request #4 from Fluffy-Bean/beta
Account, login and signup merge
This commit is contained in:
commit
4ce9723ef8
23 changed files with 883 additions and 1002 deletions
0
.gitmodules
vendored
0
.gitmodules
vendored
37
about.php
37
about.php
|
@ -1,37 +1,15 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<?php include __DIR__."/ui/header.php"; ?>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>Lynx Gallery</title>
|
|
||||||
|
|
||||||
<!-- Stylesheets -->
|
|
||||||
<link rel="stylesheet" href="css/main.css">
|
|
||||||
<link rel="stylesheet" href="css/normalise.css">
|
|
||||||
|
|
||||||
<!-- Google Fonts -->
|
|
||||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@600">
|
|
||||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Secular+One&display=swap">
|
|
||||||
|
|
||||||
<!-- JQuery -->
|
|
||||||
<script
|
|
||||||
src="https://code.jquery.com/jquery-3.6.0.min.js"
|
|
||||||
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
|
|
||||||
crossorigin="anonymous">
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!-- Sniffle script! -->
|
|
||||||
<script src="Sniffle/sniffle.js"></script>
|
|
||||||
<link rel='stylesheet' href='Sniffle/sniffle.css'>
|
|
||||||
|
|
||||||
<!-- Flyout script! -->
|
|
||||||
<script src="Flyout/flyout.js"></script>
|
|
||||||
<link rel='stylesheet' href='Flyout/flyout.css'>
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<?php
|
<?php
|
||||||
include "ui/required.php";
|
include __DIR__."/ui/required.php";
|
||||||
include "ui/nav.php";
|
include __DIR__."/ui/nav.php";
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="about-root">
|
<div class="about-root">
|
||||||
|
@ -61,6 +39,7 @@
|
||||||
<p>To mrHDash...</p>
|
<p>To mrHDash...</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php include "ui/footer.php"; ?>
|
<?php include __DIR__."/ui/footer.php"; ?>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
|
@ -1,44 +1,23 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<?php include "../ui/header.php"; ?>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>Lynx Gallery</title>
|
|
||||||
|
|
||||||
<!-- Stylesheets -->
|
|
||||||
<link rel="stylesheet" href="../css/main.css">
|
|
||||||
<link rel="stylesheet" href="../css/normalise.css">
|
|
||||||
|
|
||||||
<!-- Google Fonts -->
|
|
||||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@600">
|
|
||||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Secular+One&display=swap">
|
|
||||||
|
|
||||||
<!-- JQuery -->
|
|
||||||
<script
|
|
||||||
src="https://code.jquery.com/jquery-3.6.0.min.js"
|
|
||||||
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
|
|
||||||
crossorigin="anonymous">
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!-- Sniffle script! -->
|
|
||||||
<script src="../Sniffle/sniffle.js"></script>
|
|
||||||
<link rel='stylesheet' href='../Sniffle/sniffle.css'>
|
|
||||||
|
|
||||||
<!-- Flyout script! -->
|
|
||||||
<script src="../Flyout/flyout.js"></script>
|
|
||||||
<link rel='stylesheet' href='../Flyout/flyout.css'>
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<?php
|
<?php
|
||||||
include "../ui/required.php";
|
include "../ui/required.php";
|
||||||
include "../ui/nav.php";
|
include "../ui/nav.php";
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="account-root">
|
|
||||||
<h2>Account settings</h2>
|
|
||||||
<?php
|
<?php
|
||||||
if (isset($_SESSION["loggedin"]) && $_SESSION["loggedin"] === true) {
|
if (isset($_SESSION["loggedin"]) && $_SESSION["loggedin"] === true) {
|
||||||
echo "<br>";
|
?>
|
||||||
|
<div class="account-root">
|
||||||
|
<h2>Account settings</h2>
|
||||||
|
<br>
|
||||||
|
<?php
|
||||||
if ($_SESSION["id"] == 1) {
|
if ($_SESSION["id"] == 1) {
|
||||||
echo "<h3>Invite Codes</h3>";
|
echo "<h3>Invite Codes</h3>";
|
||||||
$token_request = mysqli_query($conn, "SELECT * FROM tokens WHERE used = 0");
|
$token_request = mysqli_query($conn, "SELECT * FROM tokens WHERE used = 0");
|
||||||
|
@ -46,7 +25,6 @@
|
||||||
?>
|
?>
|
||||||
<!-- Button that's displayed with the invite code -->
|
<!-- Button that's displayed with the invite code -->
|
||||||
<button onclick='copyCode()' class='btn btn-neutral'><?php echo $token['code']; ?></button>
|
<button onclick='copyCode()' class='btn btn-neutral'><?php echo $token['code']; ?></button>
|
||||||
<!-- Copy code on click -->
|
|
||||||
<script>
|
<script>
|
||||||
function copyCode() {
|
function copyCode() {
|
||||||
navigator.clipboard.writeText("<?php echo $token['code']; ?>");
|
navigator.clipboard.writeText("<?php echo $token['code']; ?>");
|
||||||
|
@ -64,16 +42,85 @@
|
||||||
<br>
|
<br>
|
||||||
<p>Don't leave! I'm with the science team!</p>
|
<p>Don't leave! I'm with the science team!</p>
|
||||||
<a class='btn btn-bad' href='https://superdupersecteteuploadtest.fluffybean.gay/account/logout.php'><img class='svg' src='../assets/icons/sign-out.svg'>Logout</a>
|
<a class='btn btn-bad' href='https://superdupersecteteuploadtest.fluffybean.gay/account/logout.php'><img class='svg' src='../assets/icons/sign-out.svg'>Logout</a>
|
||||||
|
</div>
|
||||||
<?php
|
<?php
|
||||||
} else {
|
} else {
|
||||||
?>
|
?>
|
||||||
<p>You must be logged in to change your account settings!</p>
|
<div class="login-root">
|
||||||
<a class='btn btn-good' href='https://superdupersecteteuploadtest.fluffybean.gay/account/login.php'>Login!</a>
|
<h2>Login</h2>
|
||||||
|
<p>Passwords are important to keep safe. Don't tell anyone your password, not even Fluffy!</p>
|
||||||
|
<br>
|
||||||
|
<form id="loginForm" method="POST" enctype="multipart/form-data">
|
||||||
|
<input id="loginUsername" class="btn btn-neutral" type="text" name="username" placeholder="Username">
|
||||||
|
<input id="loginPassword" class="btn btn-neutral" type="password" name="password" placeholder="Password">
|
||||||
|
<br>
|
||||||
|
<button id="loginSubmit" class="btn btn-good" type="submit" name="login"><img class="svg" src="../assets/icons/sign-in.svg">Login</button>
|
||||||
|
</form>
|
||||||
|
<button class='btn btn-neutral' onclick="signupShow()"><img class="svg" src="../assets/icons/sign-in.svg">Need an account?</button>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
$("#loginForm").submit(function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
var username = $("#loginUsername").val();
|
||||||
|
var password = $("#loginPassword").val();
|
||||||
|
var submit = $("#loginSubmit").val();
|
||||||
|
$("#sniffle").load("../app/account/account.php", {
|
||||||
|
username: username,
|
||||||
|
password: password,
|
||||||
|
submit_login: submit
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<div class="signup-root">
|
||||||
|
<h2>Make account</h2>
|
||||||
|
<p>And amazing things happened here...</p>
|
||||||
|
<br>
|
||||||
|
<form id="signupForm" method="POST" action="signup.php" enctype="multipart/form-data">
|
||||||
|
<input id="signupUsername" class="btn btn-neutral" type="text" name="username" placeholder="Username">
|
||||||
|
<br>
|
||||||
|
<input id="signupPassword" class="btn btn-neutral" type="password" name="password" placeholder="Password">
|
||||||
|
<input id="signupPasswordConfirm" class="btn btn-neutral" type="password" name="confirm_password" placeholder="Re-enter Password">
|
||||||
|
<br>
|
||||||
|
<input id="signupToken" class="btn btn-neutral" type="text" name="token" placeholder="Invite Code">
|
||||||
|
<br>
|
||||||
|
<button id="signupSubmit" class="btn btn-good" type="submit" name="signup"><img class="svg" src="../assets/icons/sign-in.svg">Sign Up</button>
|
||||||
|
</form>
|
||||||
|
<button class='btn btn-neutral' onclick="loginShow()"><img class="svg" src="../assets/icons/sign-in.svg">I already got an account!</button>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
$("#signupForm").submit(function(event) {
|
||||||
|
event.preventDefault();
|
||||||
|
var username = $("#signupUsername").val();
|
||||||
|
var password = $("#signupPassword").val();
|
||||||
|
var confirm_password = $("#signupPasswordConfirm").val();
|
||||||
|
var token = $("#signupToken").val();
|
||||||
|
var submit = $("#signupSubmit").val();
|
||||||
|
$("#sniffle").load("../app/account/account.php", {
|
||||||
|
username: username,
|
||||||
|
password: password,
|
||||||
|
confirm_password: confirm_password,
|
||||||
|
token: token,
|
||||||
|
submit_signup: submit
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function loginShow() {
|
||||||
|
document.querySelector(".login-root").style.display = "block";
|
||||||
|
document.querySelector(".signup-root").style.display = "none";
|
||||||
|
};
|
||||||
|
function signupShow() {
|
||||||
|
document.querySelector(".signup-root").style.display = "block";
|
||||||
|
document.querySelector(".login-root").style.display = "none";
|
||||||
|
};
|
||||||
|
</script>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</div>
|
|
||||||
|
|
||||||
<?php include "../ui/footer.php"; ?>
|
<?php include "../ui/footer.php"; ?>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
|
@ -1,75 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>Lynx Gallery</title>
|
|
||||||
|
|
||||||
<!-- Stylesheets -->
|
|
||||||
<link rel="stylesheet" href="../css/main.css">
|
|
||||||
<link rel="stylesheet" href="../css/normalise.css">
|
|
||||||
|
|
||||||
<!-- Google Fonts -->
|
|
||||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@600">
|
|
||||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Secular+One&display=swap">
|
|
||||||
|
|
||||||
<!-- JQuery -->
|
|
||||||
<script
|
|
||||||
src="https://code.jquery.com/jquery-3.6.0.min.js"
|
|
||||||
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
|
|
||||||
crossorigin="anonymous">
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!-- Sniffle script! -->
|
|
||||||
<script src="../Sniffle/sniffle.js"></script>
|
|
||||||
<link rel='stylesheet' href='../Sniffle/sniffle.css'>
|
|
||||||
|
|
||||||
<!-- Flyout script! -->
|
|
||||||
<script src="../Flyout/flyout.js"></script>
|
|
||||||
<link rel='stylesheet' href='../Flyout/flyout.css'>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<?php
|
|
||||||
include "../ui/required.php";
|
|
||||||
include "../ui/nav.php";
|
|
||||||
|
|
||||||
// Check if the user is already logged in, if yes then redirect him to welcome page
|
|
||||||
if(isset($_SESSION["loggedin"]) && $_SESSION["loggedin"] === true){
|
|
||||||
?>
|
|
||||||
<script>
|
|
||||||
sniffleAdd('Whatcha doing here?', 'You are already logged in! No need to try again', 'var(--black)', '<?php echo $root_dir; ?>assets/icons/warning.svg');
|
|
||||||
</script>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
|
|
||||||
<div class="login-root">
|
|
||||||
<h2>Login</h2>
|
|
||||||
<p>Passwords are important to keep safe. Don't tell anyone your password, not even Fluffy!</p>
|
|
||||||
<br>
|
|
||||||
<form id="loginForm" method="POST" enctype="multipart/form-data">
|
|
||||||
<input id="loginUsername" class="btn btn-neutral" type="text" name="username" placeholder="Username">
|
|
||||||
<input id="loginPassword" class="btn btn-neutral" type="password" name="password" placeholder="Password">
|
|
||||||
<br>
|
|
||||||
<button id="loginSubmit" class="btn btn-good" type="submit" name="login"><img class="svg" src="../assets/icons/sign-in.svg">Login</button>
|
|
||||||
</form>
|
|
||||||
<a class='btn btn-neutral' href='https://superdupersecteteuploadtest.fluffybean.gay/account/signup.php'><img class="svg" src="../assets/icons/sign-in.svg">Need an account? Sign up!</a>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
$("#loginForm").submit(function(event) {
|
|
||||||
event.preventDefault();
|
|
||||||
var username = $("#loginUsername").val();
|
|
||||||
var password = $("#loginPassword").val();
|
|
||||||
var submit = $("#loginSubmit").val();
|
|
||||||
$("#sniffle").load("../app/account/login.php", {
|
|
||||||
username: username,
|
|
||||||
password: password,
|
|
||||||
submit: submit
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<?php include "../ui/footer.php"; ?>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,40 +1,18 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<?php include "../ui/header.php"; ?>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>Lynx Gallery</title>
|
|
||||||
|
|
||||||
<!-- Stylesheets -->
|
|
||||||
<link rel="stylesheet" href="../css/main.css">
|
|
||||||
<link rel="stylesheet" href="../css/normalise.css">
|
|
||||||
|
|
||||||
<!-- Google Fonts -->
|
|
||||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@600">
|
|
||||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Secular+One&display=swap">
|
|
||||||
|
|
||||||
<!-- JQuery -->
|
|
||||||
<script
|
|
||||||
src="https://code.jquery.com/jquery-3.6.0.min.js"
|
|
||||||
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
|
|
||||||
crossorigin="anonymous">
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!-- Sniffle script! -->
|
|
||||||
<script src="../Sniffle/sniffle.js"></script>
|
|
||||||
<link rel='stylesheet' href='../Sniffle/sniffle.css'>
|
|
||||||
|
|
||||||
<!-- Flyout script! -->
|
|
||||||
<script src="../Flyout/flyout.js"></script>
|
|
||||||
<link rel='stylesheet' href='../Flyout/flyout.css'>
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<?php
|
<?php
|
||||||
include "../ui/required.php";
|
include "../ui/required.php";
|
||||||
include "../ui/nav.php";
|
include "../ui/nav.php";
|
||||||
|
|
||||||
// Check if the user is logged in, otherwise redirect to login page
|
// Check if the user is logged in, otherwise redirect to login page
|
||||||
if(!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true){
|
if (!isset($_SESSION["loggedin"]) || $_SESSION["loggedin"] !== true) {
|
||||||
header("location: https://superdupersecteteuploadtest.fluffybean.gay/account/login.php");
|
header("location: https://superdupersecteteuploadtest.fluffybean.gay/account/login.php");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
@ -68,4 +46,5 @@
|
||||||
|
|
||||||
<?php include "../ui/footer.php"; ?>
|
<?php include "../ui/footer.php"; ?>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
|
@ -1,73 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<meta charset="utf-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>Lynx Gallery</title>
|
|
||||||
|
|
||||||
<!-- Stylesheets -->
|
|
||||||
<link rel="stylesheet" href="../css/main.css">
|
|
||||||
<link rel="stylesheet" href="../css/normalise.css">
|
|
||||||
|
|
||||||
<!-- Google Fonts -->
|
|
||||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@600">
|
|
||||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Secular+One&display=swap">
|
|
||||||
|
|
||||||
<!-- JQuery -->
|
|
||||||
<script
|
|
||||||
src="https://code.jquery.com/jquery-3.6.0.min.js"
|
|
||||||
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
|
|
||||||
crossorigin="anonymous">
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!-- Sniffle script! -->
|
|
||||||
<script src="../Sniffle/sniffle.js"></script>
|
|
||||||
<link rel='stylesheet' href='../Sniffle/sniffle.css'>
|
|
||||||
|
|
||||||
<!-- Flyout script! -->
|
|
||||||
<script src="../Flyout/flyout.js"></script>
|
|
||||||
<link rel='stylesheet' href='../Flyout/flyout.css'>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<?php
|
|
||||||
include "../ui/required.php";
|
|
||||||
include "../ui/nav.php";
|
|
||||||
?>
|
|
||||||
|
|
||||||
<div class="signup-root">
|
|
||||||
<h2>Make account</h2>
|
|
||||||
<p>And amazing things happened here...</p>
|
|
||||||
<br>
|
|
||||||
<form id="signupForm" method="POST" action="signup.php" enctype="multipart/form-data">
|
|
||||||
<input id="signupUsername" class="btn btn-neutral" type="text" name="username" placeholder="Username">
|
|
||||||
<br>
|
|
||||||
<input id="signupPassword" class="btn btn-neutral" type="password" name="password" placeholder="Password">
|
|
||||||
<input id="signupPasswordConfirm" class="btn btn-neutral" type="password" name="confirm_password" placeholder="Re-enter Password">
|
|
||||||
<br>
|
|
||||||
<input id="signupToken" class="btn btn-neutral" type="text" name="token" placeholder="Invite Code">
|
|
||||||
<br>
|
|
||||||
<button id="signupSubmit" class="btn btn-good" type="submit" name="signup"><img class="svg" src="../assets/icons/sign-in.svg">Sign Up</button>
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
$("#signupForm").submit(function(event) {
|
|
||||||
event.preventDefault();
|
|
||||||
var username = $("#signupUsername").val();
|
|
||||||
var password = $("#signupPassword").val();
|
|
||||||
var confirm_password = $("#signupPasswordConfirm").val();
|
|
||||||
var token = $("#signupToken").val();
|
|
||||||
var submit = $("#signupSubmit").val();
|
|
||||||
$("#sniffle").load("../app/account/signup.php", {
|
|
||||||
username: username,
|
|
||||||
password: password,
|
|
||||||
confirm_password: confirm_password,
|
|
||||||
token: token,
|
|
||||||
submit: submit
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<?php include "../ui/footer.php"; ?>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -1,17 +1,128 @@
|
||||||
<?php
|
<?php
|
||||||
|
// Include server connection
|
||||||
|
include "../server/conn.php";
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
|-------------------------------------------------------------
|
||||||
|
| Login
|
||||||
|
|-------------------------------------------------------------
|
||||||
|
| This is annoying because I want to keep the website secure
|
||||||
|
| but I have no clue how to keep things secure with HTML, PHP
|
||||||
|
| or JS. So I hope seperating the scripts and putting all this
|
||||||
|
| into a PHP file is a good secutiry mesure
|
||||||
|
|-------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
if (isset($_POST['submit_login'])) {
|
||||||
|
/*
|
||||||
|
|-------------------------------------------------------------
|
||||||
|
| Set error status to 0
|
||||||
|
|-------------------------------------------------------------
|
||||||
|
| if there are more than 0 error, then they cannot submit a
|
||||||
|
| request
|
||||||
|
|-------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
$error = 0;
|
||||||
|
|
||||||
|
// Checking if Username is empty
|
||||||
|
if (empty(trim($_POST["username"]))) {
|
||||||
|
?>
|
||||||
|
<script>
|
||||||
|
sniffleAdd('Who dis?', 'You must enter a username to login!', 'var(--red)', '../assets/icons/cross.svg');
|
||||||
|
</script>
|
||||||
|
<?php
|
||||||
|
$error = $error + 1;
|
||||||
|
} else {
|
||||||
|
$username = trim($_POST["username"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check if Password is empty
|
||||||
|
if (empty(trim($_POST["password"]))) {
|
||||||
|
?>
|
||||||
|
<script>
|
||||||
|
sniffleAdd('Whats the magic word?', 'Pls enter the super duper secrete word(s) to login!', 'var(--red)', '../assets/icons/cross.svg');
|
||||||
|
</script>
|
||||||
|
<?php
|
||||||
|
$error = $error + 1;
|
||||||
|
} else {
|
||||||
|
$password = trim($_POST["password"]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($error <= 0) {
|
||||||
|
// Prepare so SQL doesnt get spooked
|
||||||
|
$sql = "SELECT id, username, password FROM users WHERE username = ?";
|
||||||
|
|
||||||
|
if ($stmt = mysqli_prepare($conn, $sql)) {
|
||||||
|
// Bind dis shit
|
||||||
|
mysqli_stmt_bind_param($stmt, "s", $param_username);
|
||||||
|
|
||||||
|
// Set parameters
|
||||||
|
$param_username = $username;
|
||||||
|
|
||||||
|
// Attempt to execute the prepared statement
|
||||||
|
if (mysqli_stmt_execute($stmt)) {
|
||||||
|
// Store result
|
||||||
|
mysqli_stmt_store_result($stmt);
|
||||||
|
|
||||||
|
// Check if username exists, if yes then verify password
|
||||||
|
if (mysqli_stmt_num_rows($stmt) == 1) {
|
||||||
|
// Bind result variables
|
||||||
|
mysqli_stmt_bind_result($stmt, $id, $username, $hashed_password);
|
||||||
|
if (mysqli_stmt_fetch($stmt)) {
|
||||||
|
if (password_verify($password, $hashed_password)) {
|
||||||
|
// Password is correct, so start a new session
|
||||||
|
session_start();
|
||||||
|
|
||||||
|
// Store data in session variables
|
||||||
|
$_SESSION["loggedin"] = true;
|
||||||
|
$_SESSION["id"] = $id;
|
||||||
|
$_SESSION["username"] = $username;
|
||||||
|
|
||||||
|
// let the user know
|
||||||
|
?>
|
||||||
|
<script>
|
||||||
|
//sniffleAdd('O hi <?php echo $_SESSION["username"]; ?>', 'You are now logged in! You will be redirected in a few seconds', 'var(--green)', '../assets/icons/hand-waving.svg');
|
||||||
|
//setTimeout(function(){window.location.href = "../index.php?login=success";}, 2000);
|
||||||
|
window.location.href = "../index.php?login=success";
|
||||||
|
</script>
|
||||||
|
<?php
|
||||||
|
} else {
|
||||||
|
?>
|
||||||
|
<script>
|
||||||
|
sniffleAdd('Sus', 'Username or Password WRONG, please try again :3', 'var(--red)', '../assets/icons/cross.svg');
|
||||||
|
</script>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
?>
|
||||||
|
<script>
|
||||||
|
sniffleAdd('Sus', 'Username or Password WRONG, please try again :3', 'var(--red)', '../assets/icons/cross.svg');
|
||||||
|
</script>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
?>
|
||||||
|
<script>
|
||||||
|
sniffleAdd('woops...', 'Sowwy, something went wrong on our end :c', 'var(--red)', '../assets/icons/cross.svg');
|
||||||
|
</script>
|
||||||
|
<?php
|
||||||
|
}
|
||||||
|
// Close statement
|
||||||
|
mysqli_stmt_close($stmt);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|-------------------------------------------------------------
|
|-------------------------------------------------------------
|
||||||
| Signup
|
| Signup
|
||||||
|-------------------------------------------------------------
|
|-------------------------------------------------------------
|
||||||
| The dreaded signup. Funfact, the one thing I hate more than
|
| The dreaded signup. Please save me...
|
||||||
| late-stage capitalism and this world is JavaScript. Please
|
|
||||||
| save me...
|
|
||||||
|-------------------------------------------------------------
|
|-------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
// Include server connection
|
if (isset($_POST['submit_signup'])) {
|
||||||
include "../server/conn.php";
|
|
||||||
|
|
||||||
if (isset($_POST['submit'])) {
|
|
||||||
/*
|
/*
|
||||||
|-------------------------------------------------------------
|
|-------------------------------------------------------------
|
||||||
| Set error status to 0
|
| Set error status to 0
|
||||||
|
@ -209,8 +320,9 @@ if (isset($_POST['submit'])) {
|
||||||
// Yupeee! Account was made
|
// Yupeee! Account was made
|
||||||
?>
|
?>
|
||||||
<script>
|
<script>
|
||||||
sniffleAdd('Success!', 'You account made for <?php echo $username; ?>!!!!! You will be redirected in a moment to login', 'var(--green)', '../assets/icons/hand-waving.svg');
|
sniffleAdd('Success!', 'You account made for <?php echo $username; ?>!!!!! You must now login', 'var(--green)', '../assets/icons/hand-waving.svg');
|
||||||
setTimeout(function(){window.location.href = "../account/login.php";}, 4000);
|
//setTimeout(function(){window.location.href = "../account/login.php";}, 2000);
|
||||||
|
loginShow();
|
||||||
</script>
|
</script>
|
||||||
<?php
|
<?php
|
||||||
} else {
|
} else {
|
|
@ -1,113 +0,0 @@
|
||||||
<?php
|
|
||||||
/*
|
|
||||||
|-------------------------------------------------------------
|
|
||||||
| Login
|
|
||||||
|-------------------------------------------------------------
|
|
||||||
| This is annoying because I want to keep the website secure
|
|
||||||
| but I have no clue how to keep things secure with HTML, PHP
|
|
||||||
| or JS. So I hope seperating the scripts and putting all this
|
|
||||||
| into a PHP file is a good secutiry mesure
|
|
||||||
|-------------------------------------------------------------
|
|
||||||
*/
|
|
||||||
// Include server connection
|
|
||||||
include "../server/conn.php";
|
|
||||||
|
|
||||||
if (isset($_POST['submit'])) {
|
|
||||||
/*
|
|
||||||
|-------------------------------------------------------------
|
|
||||||
| Set error status to 0
|
|
||||||
|-------------------------------------------------------------
|
|
||||||
| if there are more than 0 error, then they cannot submit a
|
|
||||||
| request
|
|
||||||
|-------------------------------------------------------------
|
|
||||||
*/
|
|
||||||
$error = 0;
|
|
||||||
|
|
||||||
// Checking if Username is empty
|
|
||||||
if (empty(trim($_POST["username"]))) {
|
|
||||||
?>
|
|
||||||
<script>
|
|
||||||
sniffleAdd('Who dis?', 'You must enter a username to login!', 'var(--red)', '../assets/icons/cross.svg');
|
|
||||||
</script>
|
|
||||||
<?php
|
|
||||||
$error = $error + 1;
|
|
||||||
} else {
|
|
||||||
$username = trim($_POST["username"]);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check if Password is empty
|
|
||||||
if (empty(trim($_POST["password"]))) {
|
|
||||||
?>
|
|
||||||
<script>
|
|
||||||
sniffleAdd('Whats the magic word?', 'Pls enter the super duper secrete word(s) to login!', 'var(--red)', '../assets/icons/cross.svg');
|
|
||||||
</script>
|
|
||||||
<?php
|
|
||||||
$error = $error + 1;
|
|
||||||
} else {
|
|
||||||
$password = trim($_POST["password"]);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($error <= 0) {
|
|
||||||
// Prepare so SQL doesnt get spooked
|
|
||||||
$sql = "SELECT id, username, password FROM users WHERE username = ?";
|
|
||||||
|
|
||||||
if ($stmt = mysqli_prepare($conn, $sql)) {
|
|
||||||
// Bind dis shit
|
|
||||||
mysqli_stmt_bind_param($stmt, "s", $param_username);
|
|
||||||
|
|
||||||
// Set parameters
|
|
||||||
$param_username = $username;
|
|
||||||
|
|
||||||
// Attempt to execute the prepared statement
|
|
||||||
if (mysqli_stmt_execute($stmt)) {
|
|
||||||
// Store result
|
|
||||||
mysqli_stmt_store_result($stmt);
|
|
||||||
|
|
||||||
// Check if username exists, if yes then verify password
|
|
||||||
if (mysqli_stmt_num_rows($stmt) == 1) {
|
|
||||||
// Bind result variables
|
|
||||||
mysqli_stmt_bind_result($stmt, $id, $username, $hashed_password);
|
|
||||||
if (mysqli_stmt_fetch($stmt)) {
|
|
||||||
if (password_verify($password, $hashed_password)) {
|
|
||||||
// Password is correct, so start a new session
|
|
||||||
session_start();
|
|
||||||
|
|
||||||
// Store data in session variables
|
|
||||||
$_SESSION["loggedin"] = true;
|
|
||||||
$_SESSION["id"] = $id;
|
|
||||||
$_SESSION["username"] = $username;
|
|
||||||
|
|
||||||
// let the user know
|
|
||||||
?>
|
|
||||||
<script>
|
|
||||||
sniffleAdd('O hi <?php echo $_SESSION["username"]; ?>', 'You are now logged in! You will be redirected in a few seconds', 'var(--green)', '../assets/icons/hand-waving.svg');
|
|
||||||
setTimeout(function(){window.location.href = "../index.php?login=success";}, 4000);
|
|
||||||
</script>
|
|
||||||
<?php
|
|
||||||
} else {
|
|
||||||
?>
|
|
||||||
<script>
|
|
||||||
sniffleAdd('Sus', 'Username or Password WRONG, please try again :3', 'var(--red)', '../assets/icons/cross.svg');
|
|
||||||
</script>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
?>
|
|
||||||
<script>
|
|
||||||
sniffleAdd('Sus', 'Username or Password WRONG, please try again :3', 'var(--red)', '../assets/icons/cross.svg');
|
|
||||||
</script>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
?>
|
|
||||||
<script>
|
|
||||||
sniffleAdd('woops...', 'Sowwy, something went wrong on our end :c', 'var(--red)', '../assets/icons/cross.svg');
|
|
||||||
</script>
|
|
||||||
<?php
|
|
||||||
}
|
|
||||||
// Close statement
|
|
||||||
mysqli_stmt_close($stmt);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
<script>
|
||||||
|
console.log("⣿⣿⣿⣿⣿⡿⠿⠻⠿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠿⠻⠻⠟⠻⢿⣿⣿⣿⣿");
|
||||||
|
console.log("⣿⣿⡟⠁⢀⣠⣤⣤⣤⣤⣄⣀⣀⣀⣹⣿⣿⣷⣄⣀⣀⣀⣀⣤⣤⣤⣤⣀⠐⢽⣿⣿⣿");
|
||||||
|
console.log("⣿⣿⣿⣶⣿⡿⣛⡒⠒⠒⢒⠒⣲⠙⣿⣿⣿⣿⠟⣵⡒⢒⠒⠒⡀⣘⡻⣿⣿⣾⣿⣿⣿");
|
||||||
|
console.log("⣿⣿⣿⣿⣏⣞⡛⠃⠀⠀⠸⠷⢿⣧⣿⣿⣿⣿⣧⣿⣷⣛⣀⣀⣁⣛⣛⣮⣿⣿⣿⣿⣿");
|
||||||
|
console.log("⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿");
|
||||||
|
console.log("⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿");
|
||||||
|
console.log("⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢏⣾⣿⣿⣿⣿");
|
||||||
|
console.log("⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢻⣿⠏⣼⣿⣿⣿⣿⣿");
|
||||||
|
console.log("⣿⣿⣿⣿⣿⣿⣿⣿⡿⢿⣿⣿⣿⣿⣿⣿⡿⠿⠿⠿⠟⢛⣉⣴⣿⡏⣸⣿⣿⣿⣿⣿⣿");
|
||||||
|
console.log("⣿⣿⣿⣿⣿⣿⣿⣿⣧⣠⣤⣤⣤⣤⣤⣤⣶⣶⣶⣶⣿⣿⣿⣿⣿⠃⣿⣿⣿⣿⣿⣿⣿");
|
||||||
|
console.log("⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿");
|
||||||
|
</script>
|
34
css/main.css
34
css/main.css
|
@ -87,6 +87,10 @@ nav .btn {
|
||||||
width: auto;
|
width: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.nav-mobile {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 800px) {
|
@media (max-width: 800px) {
|
||||||
.nav-name {
|
.nav-name {
|
||||||
display: none;
|
display: none;
|
||||||
|
@ -129,6 +133,9 @@ nav .btn {
|
||||||
#back-to-top {
|
#back-to-top {
|
||||||
bottom: 5rem !important;
|
bottom: 5rem !important;
|
||||||
}
|
}
|
||||||
|
.nav-mobile {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
|-------------------------------------------------------------
|
|-------------------------------------------------------------
|
||||||
|
@ -218,7 +225,7 @@ nav .btn {
|
||||||
}
|
}
|
||||||
|
|
||||||
.nsfw-blur {
|
.nsfw-blur {
|
||||||
filter: blur(10px);
|
filter: blur(8px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.nsfw-warning {
|
.nsfw-warning {
|
||||||
|
@ -236,21 +243,24 @@ nav .btn {
|
||||||
align-items: center;
|
align-items: center;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
font-family: "Secular One", sans-serif;
|
font-family: "Secular One", sans-serif;
|
||||||
|
background-color: rgba(21, 21, 21, 0.7333333333);
|
||||||
}
|
}
|
||||||
.nsfw-warning span {
|
.nsfw-warning span {
|
||||||
color: #B66467;
|
color: #B66467;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
text-shadow: 0 0 2px #151515;
|
}
|
||||||
|
.nsfw-warning span::after {
|
||||||
|
content: " Content";
|
||||||
}
|
}
|
||||||
.nsfw-warning img {
|
.nsfw-warning img {
|
||||||
margin: 0.25rem;
|
margin: 0.25rem;
|
||||||
width: 2rem;
|
width: 2.5rem;
|
||||||
height: 2rem;
|
height: 2.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 500px) {
|
@media (max-width: 500px) {
|
||||||
.nsfw-warning span {
|
.nsfw-warning span::after {
|
||||||
display: none;
|
content: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
|
@ -531,6 +541,7 @@ nav .btn {
|
||||||
border-radius: 0rem;
|
border-radius: 0rem;
|
||||||
border: 0.2rem solid #8C977D;
|
border: 0.2rem solid #8C977D;
|
||||||
box-shadow: 6px 6px 2px rgba(21, 21, 21, 0.5333333333);
|
box-shadow: 6px 6px 2px rgba(21, 21, 21, 0.5333333333);
|
||||||
|
display: none;
|
||||||
}
|
}
|
||||||
.signup-root > * {
|
.signup-root > * {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
|
@ -675,9 +686,16 @@ footer > * {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
margin-bottom: 0.5rem;
|
margin-bottom: 0.5rem;
|
||||||
}
|
}
|
||||||
footer a {
|
footer p {
|
||||||
margin: 0.5rem;
|
margin: 0 0.5rem;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
|
font-size: 16px;
|
||||||
|
font-family: "Secular One", sans-serif;
|
||||||
|
}
|
||||||
|
footer a {
|
||||||
|
margin: 0 0.5rem;
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 16px;
|
||||||
font-family: "Secular One", sans-serif;
|
font-family: "Secular One", sans-serif;
|
||||||
}
|
}
|
||||||
footer a:hover {
|
footer a:hover {
|
||||||
|
|
|
@ -96,8 +96,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.nsfw-blur {
|
.nsfw-blur {
|
||||||
filter: blur(10px);
|
filter: blur(8px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.nsfw-warning {
|
.nsfw-warning {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
@ -110,34 +111,42 @@
|
||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: 5;
|
z-index: 5;
|
||||||
|
|
||||||
display: flex; flex-direction: column;
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
font-family: $font-body;
|
font-family: $font-body;
|
||||||
|
|
||||||
|
background-color: $bg-alt;
|
||||||
|
|
||||||
span {
|
span {
|
||||||
color: $red;
|
color: $red;
|
||||||
|
|
||||||
text-align: center;
|
text-align: center;
|
||||||
text-shadow: 0 0 2px $black;
|
|
||||||
|
&::after {
|
||||||
|
content: ' Content';
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
img {
|
img {
|
||||||
margin: 0.25rem;
|
margin: 0.25rem;
|
||||||
|
|
||||||
width: 2rem;
|
width: 2.5rem;
|
||||||
height: 2rem;
|
height: 2.5rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 500px) {
|
@media (max-width: 500px) {
|
||||||
.nsfw-warning {
|
.nsfw-warning {
|
||||||
span {
|
span::after {
|
||||||
display: none;
|
content: none;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|-------------------------------------------------------------
|
|-------------------------------------------------------------
|
||||||
| IMAGE
|
| IMAGE
|
||||||
|
@ -213,6 +222,7 @@
|
||||||
border-radius: $rad;
|
border-radius: $rad;
|
||||||
|
|
||||||
font-family: $font-body;
|
font-family: $font-body;
|
||||||
|
|
||||||
&::before {
|
&::before {
|
||||||
content: '# ';
|
content: '# ';
|
||||||
}
|
}
|
||||||
|
@ -262,6 +272,8 @@
|
||||||
.signup-root {
|
.signup-root {
|
||||||
@include defaultDecoration($green);
|
@include defaultDecoration($green);
|
||||||
@include defaultFont();
|
@include defaultFont();
|
||||||
|
// By default its hidden, in place is login
|
||||||
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -13,10 +13,20 @@ footer {
|
||||||
|
|
||||||
width: calc(100% - 1.4rem);
|
width: calc(100% - 1.4rem);
|
||||||
|
|
||||||
a {
|
p {
|
||||||
margin: 0.5rem;
|
margin: 0 0.5rem;
|
||||||
|
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
|
font-size: 16px;
|
||||||
|
|
||||||
|
font-family: $font-body;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
margin: 0 0.5rem;
|
||||||
|
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 16px;
|
||||||
|
|
||||||
font-family: $font-body;
|
font-family: $font-body;
|
||||||
|
|
||||||
|
|
|
@ -57,6 +57,10 @@ nav {
|
||||||
width: auto;
|
width: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.nav-mobile {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
@media (max-width: 800px) {
|
@media (max-width: 800px) {
|
||||||
.nav-name {
|
.nav-name {
|
||||||
display: none;
|
display: none;
|
||||||
|
@ -110,4 +114,7 @@ nav {
|
||||||
#back-to-top {
|
#back-to-top {
|
||||||
bottom: 5rem !important;
|
bottom: 5rem !important;
|
||||||
}
|
}
|
||||||
|
.nav-mobile {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
}
|
}
|
36
default.json
Normal file
36
default.json
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{
|
||||||
|
"name": "Only Legs",
|
||||||
|
"description": "A simple gallery with multiple users in mind",
|
||||||
|
"welcome_msg": [
|
||||||
|
"*internal screaming*",
|
||||||
|
"Don't forget to drink water!",
|
||||||
|
"Bruh",
|
||||||
|
"Fluffy made this!",
|
||||||
|
"maybe",
|
||||||
|
"I'm gay",
|
||||||
|
"I wish we were better strangers.",
|
||||||
|
"<span style='color:#ffff00;'>Just like Minecraft!</span>",
|
||||||
|
"If I were you, I'd run now",
|
||||||
|
"This is the part where I kill you",
|
||||||
|
"SILICA GEL \"DO NOT EAT\".",
|
||||||
|
"This was supposed to be a simple project",
|
||||||
|
"AAAAAAAAAAAAAAAAAAAA",
|
||||||
|
"Let me out",
|
||||||
|
"nice",
|
||||||
|
"I'm glad you're here",
|
||||||
|
"The weather is dry",
|
||||||
|
"Need me a man 👀",
|
||||||
|
"Gods die too.",
|
||||||
|
"Eat hotchip and lie"
|
||||||
|
],
|
||||||
|
"database": {
|
||||||
|
"ip": "192.168.0.79",
|
||||||
|
"port": "3306",
|
||||||
|
"username": "uwu",
|
||||||
|
"password": "fennec621",
|
||||||
|
"database": "gallery"
|
||||||
|
},
|
||||||
|
"testing": true,
|
||||||
|
"version": "15.08.22",
|
||||||
|
"license":"GPL 3.0"
|
||||||
|
}
|
59
image.php
59
image.php
|
@ -1,33 +1,11 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<?php include __DIR__."/ui/header.php"; ?>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>Lynx Gallery</title>
|
|
||||||
|
|
||||||
<!-- Stylesheets -->
|
|
||||||
<link rel="stylesheet" href="css/main.css">
|
|
||||||
<link rel="stylesheet" href="css/normalise.css">
|
|
||||||
|
|
||||||
<!-- Google Fonts -->
|
|
||||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@600">
|
|
||||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Secular+One&display=swap">
|
|
||||||
|
|
||||||
<!-- JQuery -->
|
|
||||||
<script
|
|
||||||
src="https://code.jquery.com/jquery-3.6.0.min.js"
|
|
||||||
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
|
|
||||||
crossorigin="anonymous">
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!-- Sniffle script! -->
|
|
||||||
<script src="Sniffle/sniffle.js"></script>
|
|
||||||
<link rel='stylesheet' href='Sniffle/sniffle.css'>
|
|
||||||
|
|
||||||
<!-- Flyout script! -->
|
|
||||||
<script src="Flyout/flyout.js"></script>
|
|
||||||
<link rel='stylesheet' href='Flyout/flyout.css'>
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<?php
|
<?php
|
||||||
/*
|
/*
|
||||||
|
@ -40,8 +18,8 @@
|
||||||
| many rewrites and hours of learning....
|
| many rewrites and hours of learning....
|
||||||
|-------------------------------------------------------------
|
|-------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
include "ui/required.php";
|
include __DIR__."/ui/required.php";
|
||||||
include "ui/nav.php";
|
include __DIR__."/ui/nav.php";
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -110,7 +88,7 @@
|
||||||
|-------------------------------------------------------------
|
|-------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
if (isset($image['imagename'])) {
|
if (isset($image['imagename'])) {
|
||||||
$image_path = "images/".$image['imagename'];
|
$image_path = "images/" . $image['imagename'];
|
||||||
$image_alt = $image['alt'];
|
$image_alt = $image['alt'];
|
||||||
} else {
|
} else {
|
||||||
$image_path = "assets/no_image.png";
|
$image_path = "assets/no_image.png";
|
||||||
|
@ -170,32 +148,32 @@
|
||||||
<h2>Details</h2>
|
<h2>Details</h2>
|
||||||
<?php
|
<?php
|
||||||
// User
|
// User
|
||||||
echo "<p>Author: ".$image_author."</p>";
|
echo "<p>Author: " . $image_author . "</p>";
|
||||||
|
|
||||||
// Image ID
|
// Image ID
|
||||||
echo "<p>ID: ".$image['id']."</p>";
|
echo "<p>ID: " . $image['id'] . "</p>";
|
||||||
|
|
||||||
// File name
|
// File name
|
||||||
if (strlen($image['imagename']) > 30) {
|
if (strlen($image['imagename']) > 30) {
|
||||||
echo "<p>File Name: ".substr($image['imagename'], 0, 30)."...</p>";
|
echo "<p>File Name: " . substr($image['imagename'], 0, 30) . "...</p>";
|
||||||
} else {
|
} else {
|
||||||
echo "<p>File Name: ".$image['imagename']."</p>";
|
echo "<p>File Name: " . $image['imagename'] . "</p>";
|
||||||
}
|
}
|
||||||
|
|
||||||
// File extention
|
// File extention
|
||||||
echo "<p>File Type: ".pathinfo($image['imagename'], PATHINFO_EXTENSION)."</p>";
|
echo "<p>File Type: " . pathinfo($image['imagename'], PATHINFO_EXTENSION) . "</p>";
|
||||||
|
|
||||||
// Image resolution
|
// Image resolution
|
||||||
list($width, $height) = getimagesize($image_path);
|
list($width, $height) = getimagesize($image_path);
|
||||||
echo "<p>Image resolution: ".$width."x".$height."</p>";
|
echo "<p>Image resolution: " . $width . "x" . $height . "</p>";
|
||||||
|
|
||||||
// Image Upload date
|
// Image Upload date
|
||||||
echo "<p>Last updated: +0 ".$image['upload']."</p>";
|
echo "<p>Last updated: +0 " . $image['upload'] . "</p>";
|
||||||
|
|
||||||
echo "<br>";
|
echo "<br>";
|
||||||
|
|
||||||
// Image download
|
// Image download
|
||||||
echo "<a class='btn btn-good' href='images/".$image['imagename']."' download='".$image['imagename']."'><img class='svg' src='assets/icons/download.svg'>Download image</a>";
|
echo "<a class='btn btn-good' href='images/" . $image['imagename'] . "' download='" . $image['imagename'] . "'><img class='svg' src='assets/icons/download.svg'>Download image</a>";
|
||||||
|
|
||||||
// Copy image
|
// Copy image
|
||||||
?>
|
?>
|
||||||
|
@ -220,9 +198,9 @@
|
||||||
$image_tags_array = explode(" ", $image['tags']);
|
$image_tags_array = explode(" ", $image['tags']);
|
||||||
foreach ($image_tags_array as $tag) {
|
foreach ($image_tags_array as $tag) {
|
||||||
if ($tag == "nsfw") {
|
if ($tag == "nsfw") {
|
||||||
echo "<p id='tag' class='tag btn-bad'>".$tag."</p>";
|
echo "<p id='tag' class='tag btn-bad'>" . $tag . "</p>";
|
||||||
} else {
|
} else {
|
||||||
echo "<p id='tag' class='tag btn-good'>".$tag."</p>";
|
echo "<p id='tag' class='tag btn-good'>" . $tag . "</p>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -389,6 +367,7 @@
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<?php include "ui/footer.php"; ?>
|
<?php include __DIR__."/ui/footer.php"; ?>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
63
index.php
63
index.php
|
@ -1,38 +1,14 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<?php include __DIR__."/ui/header.php"; ?>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>Lynx Gallery</title>
|
|
||||||
|
|
||||||
<!-- Stylesheets -->
|
|
||||||
<link rel="stylesheet" href="css/main.css">
|
|
||||||
<link rel="stylesheet" href="css/normalise.css">
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Google Fonts -->
|
|
||||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@600">
|
|
||||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Secular+One&display=swap">
|
|
||||||
|
|
||||||
<!-- JQuery -->
|
|
||||||
<script
|
|
||||||
src="https://code.jquery.com/jquery-3.6.0.min.js"
|
|
||||||
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
|
|
||||||
crossorigin="anonymous">
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!-- Sniffle script! -->
|
|
||||||
<script src="Sniffle/sniffle.js"></script>
|
|
||||||
<link rel='stylesheet' href='Sniffle/sniffle.css'>
|
|
||||||
|
|
||||||
<!-- Flyout script! -->
|
|
||||||
<script src="Flyout/flyout.js"></script>
|
|
||||||
<link rel='stylesheet' href='Flyout/flyout.css'>
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<?php
|
<?php
|
||||||
include "ui/required.php";
|
include __DIR__."/ui/required.php";
|
||||||
include "ui/nav.php";
|
include __DIR__."/ui/nav.php";
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
@ -67,28 +43,9 @@ include "ui/nav.php";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Random welcome message
|
// Random welcome message
|
||||||
$welcome_message = array("*internal screaming*",
|
$import_welcome = file_get_contents("default.json");
|
||||||
"Sussy Wussy",
|
$import_decode = json_decode($import_welcome, true);
|
||||||
"What is this world?",
|
$welcome_message = $import_decode['welcome_msg'];
|
||||||
"Don't forget to drink water!",
|
|
||||||
"Bruh",
|
|
||||||
"This is so poorly programmed",
|
|
||||||
"Sorry",
|
|
||||||
"Fluffy made this!",
|
|
||||||
"maybe",
|
|
||||||
"I'm gay",
|
|
||||||
"I wish we were better strangers.",
|
|
||||||
"<span style='color:#ffff00;'>Just like Minecraft!</span>",
|
|
||||||
"If I were you, I'd run now",
|
|
||||||
"This is the part where I kill you",
|
|
||||||
"SILICA GEL \"DO NOT EAT\".",
|
|
||||||
"This was supposed to be a simple project",
|
|
||||||
"AAAAAAAAAAAAAAAAAAAA",
|
|
||||||
"Let me out",
|
|
||||||
"nice",
|
|
||||||
"Thank you that you're here",
|
|
||||||
"The weather is dry",
|
|
||||||
"Need me a man 👀");
|
|
||||||
echo "<p>".$welcome_message[array_rand($welcome_message, 1)]."</p>";
|
echo "<p>".$welcome_message[array_rand($welcome_message, 1)]."</p>";
|
||||||
?>
|
?>
|
||||||
</div>
|
</div>
|
||||||
|
@ -109,7 +66,7 @@ include "ui/nav.php";
|
||||||
// Check for NSFW tag
|
// Check for NSFW tag
|
||||||
if (str_contains($image['tags'], "nsfw")) {
|
if (str_contains($image['tags'], "nsfw")) {
|
||||||
$image_nsfw = "nsfw-blur";
|
$image_nsfw = "nsfw-blur";
|
||||||
$nsfw_warning = "<a href='image.php?id=".$image['id']."' class='nsfw-warning'><img class='svg' src='assets/icons/warning_red.svg'><span>This image contains NSFW material</span></a>";
|
$nsfw_warning = "<a href='image.php?id=".$image['id']."' class='nsfw-warning'><img class='svg' src='assets/icons/warning_red.svg'><span>NSFW</span></a>";
|
||||||
} else {
|
} else {
|
||||||
$image_nsfw = "";
|
$image_nsfw = "";
|
||||||
$nsfw_warning = "";
|
$nsfw_warning = "";
|
||||||
|
@ -125,6 +82,6 @@ include "ui/nav.php";
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<?php include "ui/footer.php"; ?>
|
<?php include __DIR__."/ui/footer.php"; ?>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
29
search.php
29
search.php
|
@ -26,34 +26,11 @@
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<?php include "ui/header.php"; ?>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>Lynx Gallery</title>
|
|
||||||
|
|
||||||
<!-- Stylesheets -->
|
|
||||||
<link rel="stylesheet" href="css/main.css">
|
|
||||||
<link rel="stylesheet" href="css/normalise.css">
|
|
||||||
|
|
||||||
<!-- Google Fonts -->
|
|
||||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@600">
|
|
||||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Secular+One&display=swap">
|
|
||||||
|
|
||||||
<!-- JQuery -->
|
|
||||||
<script
|
|
||||||
src="https://code.jquery.com/jquery-3.6.0.min.js"
|
|
||||||
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
|
|
||||||
crossorigin="anonymous">
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!-- Sniffle script! -->
|
|
||||||
<script src="Sniffle/sniffle.js"></script>
|
|
||||||
<link rel='stylesheet' href='Sniffle/sniffle.css'>
|
|
||||||
|
|
||||||
<!-- Flyout script! -->
|
|
||||||
<script src="Flyout/flyout.js"></script>
|
|
||||||
<link rel='stylesheet' href='Flyout/flyout.css'>
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<?php
|
<?php
|
||||||
include "ui/required.php";
|
include "ui/required.php";
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
<?php
|
|
35
ui/header.php
Normal file
35
ui/header.php
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
<?php
|
||||||
|
if (is_file("index.php")) {
|
||||||
|
$root_dir = "";
|
||||||
|
} else {
|
||||||
|
$root_dir = "../";
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<title><?php echo $setup_json['website']['name']; ?></title>
|
||||||
|
|
||||||
|
<!-- Stylesheets -->
|
||||||
|
<link rel="stylesheet" href="<?php echo $root_dir; ?>css/main.css">
|
||||||
|
<link rel="stylesheet" href="<?php echo $root_dir; ?>css/normalise.css">
|
||||||
|
|
||||||
|
|
||||||
|
<!-- Google Fonts -->
|
||||||
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@600">
|
||||||
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Secular+One&display=swap">
|
||||||
|
|
||||||
|
<!-- JQuery -->
|
||||||
|
<script
|
||||||
|
src="https://code.jquery.com/jquery-3.6.0.min.js"
|
||||||
|
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
|
||||||
|
crossorigin="anonymous">
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!-- Sniffle script! -->
|
||||||
|
<script src="<?php echo $root_dir; ?>Sniffle/sniffle.js"></script>
|
||||||
|
<link rel='stylesheet' href='<?php echo $root_dir; ?>Sniffle/sniffle.css'>
|
||||||
|
|
||||||
|
<!-- Flyout script! -->
|
||||||
|
<script src="<?php echo $root_dir; ?>Flyout/flyout.js"></script>
|
||||||
|
<link rel='stylesheet' href='<?php echo $root_dir; ?>Flyout/flyout.css'>
|
|
@ -1,6 +1,6 @@
|
||||||
<nav class="nav-root flex-left">
|
<nav class="nav-root flex-left">
|
||||||
<div class="nav-name flex-left">
|
<div class="nav-name flex-left">
|
||||||
<p>Lynx Gallery</p>
|
<p><?php echo $setup_json['name']; ?></p>
|
||||||
</div>
|
</div>
|
||||||
<div class="nav-links flex-left">
|
<div class="nav-links flex-left">
|
||||||
<a class='btn' href='<?php echo $root_dir; ?>index.php'><img class='svg' src='<?php echo $root_dir; ?>assets/icons/house.svg'><span class='nav-hide'>Home</span></a>
|
<a class='btn' href='<?php echo $root_dir; ?>index.php'><img class='svg' src='<?php echo $root_dir; ?>assets/icons/house.svg'><span class='nav-hide'>Home</span></a>
|
||||||
|
@ -13,7 +13,7 @@
|
||||||
echo "<hr>";
|
echo "<hr>";
|
||||||
echo "<a class='btn' href='".$root_dir."/account/account.php'><img class='svg' src='".$root_dir."assets/icons/user-circle.svg'><span class='nav-hide'>".substr($_SESSION["username"], 0, 15)."</span></a>";
|
echo "<a class='btn' href='".$root_dir."/account/account.php'><img class='svg' src='".$root_dir."assets/icons/user-circle.svg'><span class='nav-hide'>".substr($_SESSION["username"], 0, 15)."</span></a>";
|
||||||
} else {
|
} else {
|
||||||
echo "<a class='btn' href='".$root_dir."/account/login.php'><img class='svg' src='".$root_dir."assets/icons/sign-in.svg'><span class='nav-hide'>Login</span></a>";
|
echo "<a class='btn' href='".$root_dir."/account/account.php'><img class='svg' src='".$root_dir."assets/icons/sign-in.svg'><span class='nav-hide'>Login</span></a>";
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -27,6 +27,9 @@ if (is_file("index.php")) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$import_json = file_get_contents($root_dir."default.json");
|
||||||
|
$setup_json = json_decode($import_json, true);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Connect to the server
|
Connect to the server
|
||||||
*/
|
*/
|
||||||
|
@ -47,11 +50,6 @@ include $root_dir."app/image/image_privilage.php";
|
||||||
include $root_dir."app/server/secrete.php";
|
include $root_dir."app/server/secrete.php";
|
||||||
?>
|
?>
|
||||||
<script>
|
<script>
|
||||||
/*
|
|
||||||
This is a little secrete for the ones who care, nothing important
|
|
||||||
*/
|
|
||||||
console.log(" . . /|/| . . . . . . . \n .. /0 0 \\ . . . . . .. \n (III% . \\________, . . \n .. .\\_, .%###%/ \\'\\,.. \n . . . .||#####| |'\\ \\. \n .. . . ||. . .|/. .\\V. \n . . . .|| . . || . . . \n .. . . ||. . .||. . .. \n . . . .|| . . || . . . \n .. . . ||. . .||. . .. \n . . . .|| . . || . . . \n .. . . ||. . .||. . .. \n . . . .|| . . || . . . \n .. . . ||. . .||. . .. \n . . . .|| . . || . . . \n .. . . ||. . .||. . .. \n . . . .|| . . || . . . \n .. . . ||. . .||. . .. \n . . . .|| . . || . . . \n .. . . ||. . .||. . .. \n . . . .|| . . || . . . \n .. . . ||. . .||. . .. \n . . . cc/ . .cc/ . . .");
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Gets Querys from the URL the user is at
|
Gets Querys from the URL the user is at
|
||||||
Used by Sniffle to display notificaions
|
Used by Sniffle to display notificaions
|
||||||
|
@ -103,3 +101,9 @@ include $root_dir."app/server/secrete.php";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
Required so main objects are centered when NAV
|
||||||
|
is in mobile view
|
||||||
|
-->
|
||||||
|
<div class="nav-mobile"></div>
|
40
upload.php
40
upload.php
|
@ -1,32 +1,8 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<?php include __DIR__."/ui/header.php"; ?>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>Lynx Gallery</title>
|
|
||||||
|
|
||||||
<!-- Stylesheets -->
|
|
||||||
<link rel="stylesheet" href="css/main.css">
|
|
||||||
<link rel="stylesheet" href="css/normalise.css">
|
|
||||||
|
|
||||||
<!-- Google Fonts -->
|
|
||||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lexend+Deca:wght@600">
|
|
||||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Secular+One&display=swap">
|
|
||||||
|
|
||||||
<!-- JQuery -->
|
|
||||||
<script
|
|
||||||
src="https://code.jquery.com/jquery-3.6.0.min.js"
|
|
||||||
integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4="
|
|
||||||
crossorigin="anonymous">
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<!-- Sniffle script! -->
|
|
||||||
<script src="Sniffle/sniffle.js"></script>
|
|
||||||
<link rel='stylesheet' href='Sniffle/sniffle.css'>
|
|
||||||
|
|
||||||
<!-- Flyout script! -->
|
|
||||||
<script src="Flyout/flyout.js"></script>
|
|
||||||
<link rel='stylesheet' href='Flyout/flyout.css'>
|
|
||||||
|
|
||||||
<!-- Upload Script -->
|
<!-- Upload Script -->
|
||||||
<script>
|
<script>
|
||||||
|
@ -56,7 +32,7 @@
|
||||||
data: formData,
|
data: formData,
|
||||||
contentType: false,
|
contentType: false,
|
||||||
processData: false,
|
processData: false,
|
||||||
success: function(response){
|
success: function(response) {
|
||||||
$("#sniffle").html(response);
|
$("#sniffle").html(response);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -72,16 +48,17 @@
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<?php
|
<?php
|
||||||
include "ui/required.php";
|
include __DIR__."/ui/required.php";
|
||||||
include "ui/nav.php";
|
include __DIR__."/ui/nav.php";
|
||||||
|
|
||||||
// Check if user is logged in
|
// Check if user is logged in
|
||||||
if (!loggedin()) {
|
if (!loggedin()) {
|
||||||
echo "
|
echo "
|
||||||
<script>
|
<script>
|
||||||
sniffleAdd('Who are you!', 'You must be loggedin to upload things, sowwy!', 'var(--red)', '".$root_dir."assets/icons/cross.svg');
|
sniffleAdd('Who are you!', 'You must be loggedin to upload things, sowwy!', 'var(--red)', '" . $root_dir . "assets/icons/cross.svg');
|
||||||
</script>
|
</script>
|
||||||
";
|
";
|
||||||
}
|
}
|
||||||
|
@ -99,6 +76,7 @@
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php include "ui/footer.php"; ?>
|
<?php include __DIR__."/ui/footer.php"; ?>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
Loading…
Add table
Add a link
Reference in a new issue