110 lines
4.1 KiB
PHP
Executable File
110 lines
4.1 KiB
PHP
Executable File
<!DOCTYPE html>
|
|
<html>
|
|
<link href="/style.css" rel="stylesheet">
|
|
<head>
|
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
|
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
|
|
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
|
<link rel="manifest" href="/site.webmanifest">
|
|
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
|
|
<meta name="msapplication-TileColor" content="#da532c">
|
|
<meta name="theme-color" content="#ffffff">
|
|
<div class="header">
|
|
<a href="/"><img id="logo" src="/logo.png"></a>
|
|
</div>
|
|
</head>
|
|
<body>
|
|
<meta charset="UTF-8">
|
|
<ul>
|
|
<li><a href="/">Home</a></li>
|
|
<li><a href="/chat">Chat</a></li>
|
|
<li><a href="/rules">Rules</a></li>
|
|
<li><a href="https://store.limework.net" style="color:lightgreen;">🛒 Store</a></li>
|
|
<li><div class="dropdown">
|
|
<button class="dropbtn">More</button>
|
|
<div class="dropdown-content">
|
|
<a href="https://git.limework.net" style="color:lightgreen;">🏗 Gitea</a>
|
|
<a href="https://video.govindas.net" style="color:lightgreen;">📺 PeerTube</a>
|
|
<a href="https://creative.limework.net" style="color:lightgreen;">🗺 Creative Map</a>
|
|
</div>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
<div class='content'>
|
|
<?php
|
|
$banid=htmlspecialchars($_POST['banid']);
|
|
$banreason=htmlspecialchars($_POST['banreason']);
|
|
$whyunban=htmlspecialchars($_POST['whyunban']);
|
|
|
|
$error=false;
|
|
|
|
if (strlen($banid) > 16) {
|
|
echo "<p style='color:red;'>Error: Ban ID cannot be longer than 16 characters</p><br>";
|
|
$error=true;
|
|
} if (strlen($banid) < 16) {
|
|
echo "<p style='color:red;'>Error: Ban ID cannot be shorter than 16 characters</p><br>";
|
|
$error=true;
|
|
} if (preg_match("#[^][A-Za-z0-9]#", $banid)) {
|
|
echo "<p style='color:red;'>Error: Ban ID contains invalid characters</p><br>";
|
|
$error=true;
|
|
} if (strlen($banreason) > 100) {
|
|
echo "<p style='color:red;'>Error: Ban reason cannot be longer than 100 characters</p><br>";
|
|
$error=true;
|
|
} if (strlen($whyunban) > 2000) {
|
|
echo "<p style='color:red;'>Error: Why do you think you should be unbanned cannot be longer than 2000 characters</p><br>";
|
|
$error=true;
|
|
|
|
} if (!$error) {
|
|
//ini_set('display_errors',1);
|
|
//error_reporting(E_ALL | E_STRICT);
|
|
// webbanappeal has read-only access to bans table, nothing else. It can only be accessed in localhost. Publishing password to git is fine.
|
|
$con = pg_connect("host=localhost port=5432 dbname=limework user=webbanappeal password=UpUOZhRf5WLAy920wbDqyAKLySHl677juGgL");
|
|
|
|
if (!$con) {
|
|
echo "<p style='color:red;'>Failed to connect to database.";
|
|
echo "</p>";
|
|
$error=true;
|
|
}
|
|
$query = "SELECT banid FROM bans WHERE banid = $1";
|
|
$stmt = pg_prepare($con, "bancheck", $query);
|
|
$result = pg_execute($con, "bancheck", array($banid));
|
|
|
|
$banidfound=false;
|
|
if (!$result) {
|
|
echo "<p style='color:red;'>An database error occurred, report this to staff.";
|
|
echo "</p>";
|
|
$error=true;
|
|
} else {
|
|
while ($row = pg_fetch_assoc($result)) {
|
|
$banidfound=true;
|
|
}
|
|
}
|
|
if (!$banidfound) {
|
|
echo "<p style='color:red;'>There is no ban with the specified ban ID.";
|
|
echo "</p>";
|
|
$error=true;
|
|
}
|
|
pg_free_result($result);
|
|
}
|
|
//must not be else if, as error variable may be set above
|
|
if ($error) {
|
|
echo "<form action='/appeal'><input type='submit' value='Go back' /></form>";
|
|
} else {
|
|
echo "<p><i>Opening your ban appeal...</i></p>";
|
|
$newcontent = file_get_contents("/var/www/html/template/index.html");
|
|
$newcontent=str_replace("Replace this line", "<h1>Ban Appeal</h1><p><b>Ban ID</b><br> $banid</p><p><b>Ban Reason</b><br> $banreason</p><p><b>Why do you think you should be unbanned?</b><br> $whyunban</p><br><h2>Staff Reply</h2><p><i>None yet.</i></p>", $newcontent);
|
|
if (!file_exists("/var/www/html/appeal/view/$banid.html")) {
|
|
$handle = fopen("/var/www/html/appeal/view/$banid.html","w+");
|
|
fwrite($handle,$newcontent);
|
|
fclose($handle);
|
|
}
|
|
echo "<meta http-equiv='Refresh' content='0; url=https://limework.net/appeal/view/$banid.html' />";
|
|
}
|
|
?>
|
|
</div>
|
|
<div class="footer">
|
|
<p>© Govindas Limework 2015-present <a href="/privacy-policy"><span style="float:right;color:lightgreen;">Privacy Policy</span></a></p>
|
|
</div>
|
|
</body>
|
|
</html>
|