moment04/
wesweb01/moment04/functions.php1 lines
<?php
# Glöm inte att kommentera skiten också...
function hash_password($password, $salt)
{
return hash("sha256", $password . $salt, false);
}
function check_user_logged_in($forLoginPage = false)
{
session_start();
if ($forLoginPage) {
if (isset($_SESSION["username"])) {
header("location: index.php");
exit();
}
} else {
if (!isset($_SESSION["username"])) {
header("location: login.php");
exit();
}
}
}
function check_login($username, $password, )
{
$file = "users/{$username}.json";
if (!file_exists(($file)))
return false;
$json = json_decode(file_get_contents($file));
if (!isset($json->password) || !isset($json->salt))
return false;
$hashed = hash_password($password, $json->salt);
if ($json->password != $hashed)
return false;
return array(
"username" => $json->username,
"isAdmin" => $json->isAdmin
);
}
function create_post($title, $content)
{
date_default_timezone_set('Europe/Stockholm');
$data = array(
"title" => $title,
"content" => $content,
"author" => $_SESSION["username"],
"date" => date("Y-m-d H:i")
);
$jsonContent = json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE);
$id = generate_uuid();
file_put_contents("posts/{$id}.json", $jsonContent);
}
function delete_post($id)
{
$path = "posts/{$id}.json";
if (!file_exists($path))
return false;
unlink($path);
return true;
}
function generate_uuid() # Någorlunda modifierad funktion som jag hittade online för att skapa UUID för meddelanden
{
$data = $data ?? random_bytes(16);
assert(strlen($data) == 16);
$data[6] = chr(ord($data[6]) & 0x0f | 0x40);
$data[8] = chr(ord($data[8]) & 0x3f | 0x80);
return vsprintf('%s%s%s%s%s%s%s%s', str_split(bin2hex($data), 4));
}
function print_navbar()
{
echo "<nav class=\"red accent-2\">
<div class=\"nav-wrapper\">
<a href=\"index.php\" class=\"brand-logo\">Moment 04</a>
<ul id=\"nav-mobile\" class=\"right hide-on-med-and-down\">";
if ($_SESSION["isAdmin"])
echo "<li><a href=\"admin.php\">Admin</a></li>";
echo "<li><a href=\"change_password.php\">Ändra lösenord</a></li>
<li><a href=\"logout.php\">Logga ut</a></li>
</ul>
</div>
</nav>";
}
?>