129 lines
5.7 KiB
PHP
129 lines
5.7 KiB
PHP
<?php
|
|
session_start();
|
|
$action = $_POST['action'];
|
|
$config = json_decode(file_get_contents("../data/config.json"), true);
|
|
|
|
if ($_POST["password"] == $config["admin_pwd"] && $action == "verify"){
|
|
echo "OK";
|
|
$_SESSION["password"] = $_POST["password"];
|
|
}
|
|
|
|
if (!empty($action) && $_SESSION["password"] == $config["admin_pwd"]){
|
|
$mysqli = new mysqli($config["mysqlhost"], $config["mysqluser"], $config["mysqlpass"], $config["mysqldb"]);
|
|
|
|
if ($action == "hassession"){
|
|
echo "YES";
|
|
}
|
|
|
|
if ($action == "get"){
|
|
$stmt1 = $mysqli->prepare("SELECT `LinkID`, `ContentID`, `Nickname` FROM Links");
|
|
$stmt1->bind_result($linkid, $contentid, $nickname);
|
|
$stmt1->execute();
|
|
$stmt1->store_result();
|
|
$out = "<table><tbody><tr><th>ID</th><th>Content ID</th><th>Nickname</th><th>Button</th></tr>";
|
|
while ($stmt1->fetch()) {
|
|
$id = htmlspecialchars($linkid);
|
|
$nickname = htmlspecialchars($nickname);
|
|
$contentid = htmlspecialchars($contentid);
|
|
$out = $out . "<tr><td>$id</td><td>$contentid</td><td>$nickname</td><td><button onclick=\"delthis('$id')\">Delete</button></td></tr>";
|
|
}
|
|
$out = $out . "<tr><td><input id=\"addid\" placeholder=\"ID\"></td><td><input id=\"addcontentid\" placeholder=\"Content ID\"></td><td><input id=\"addnickname\" placeholder=\"Nickname\"></td><td><button id=\"linkadder\" onclick=\"justadd()\">Add</button></td></tr>";
|
|
$out = $out . "</tbody></table>";
|
|
echo $out;
|
|
}
|
|
|
|
if ($action == "delete" && !empty($_POST["id"])){
|
|
$stmt2 = $mysqli->prepare("DELETE FROM Links WHERE `LinkID` = ?");
|
|
$stmt2->bind_param('s', $_POST["id"]);
|
|
$stmt2->execute();
|
|
$stmt2->store_result();
|
|
}
|
|
|
|
if ($action == "set" && !empty($_POST["id"]) && !empty($_POST["contentid"]) && !empty($_POST["nickname"])){
|
|
$stmt3 = $mysqli->prepare("INSERT INTO Links (`LinkID`, `ContentID`, `Nickname`) VALUES (?, ?, ?);");
|
|
$stmt3->bind_param('sss', $_POST["id"], $_POST["contentid"], $_POST["nickname"]);
|
|
$stmt3->execute();
|
|
$stmt3->store_result();
|
|
}
|
|
|
|
if ($action == "getcontent"){
|
|
$stmt4 = $mysqli->prepare("SELECT `ContentID`, `Type`, `Content` FROM Content");
|
|
$stmt4->bind_result ($contentid, $type, $content);
|
|
$stmt4->execute();
|
|
$stmt4->store_result();
|
|
$out = "<table><tbody><tr><th>Content ID</th><th>Content</th><th>Button</th></tr>";
|
|
while ($stmt4->fetch()) {
|
|
$id = htmlspecialchars($contentid);
|
|
if(empty($type)){
|
|
$content = htmlspecialchars($content);
|
|
}
|
|
else{
|
|
$content = "Binary data";
|
|
}
|
|
$out = $out . "<tr><td>$id</td><td>$content</td><td><button onclick=\"delcthis('$id')\">Delete</button></td></tr>";
|
|
}
|
|
$out = $out . "<tr><td><input id=\"addidc\" placeholder=\"Content ID\"></td><td><textarea id=\"addcontentc\" placeholder=\"Content\"></textarea></td><td><input id=\"addtypec\" placeholder=\"MIME Type(when set the data must be Base64)\"></td></td><td><button id=\"contentadder\" onclick=\"justaddc()\">Add</button></td></tr>";
|
|
$out = $out . "</tbody></table>";
|
|
echo $out;
|
|
}
|
|
|
|
if ($action == "deletecontent" && !empty($_POST["id"])){
|
|
$stmt5 = $mysqli->prepare("DELETE FROM Content WHERE `ContentID` = ?");
|
|
$stmt5->bind_param('s', $_POST["id"]);
|
|
$stmt5->execute();
|
|
$stmt5->store_result();
|
|
}
|
|
|
|
if ($action == "setcontent" && !empty($_POST["id"]) && !empty($_POST["content"])){
|
|
$stmt6 = $mysqli->prepare("INSERT INTO Content (`ContentID`, `Type`, `Content`) VALUES (?, ?, ?);");
|
|
if (!empty($_POST["type"])){
|
|
$decoded = base64_decode($_POST["content"]);
|
|
$stmt6->bind_param('sss', $_POST["id"], $_POST["type"], $decoded);
|
|
}
|
|
else{
|
|
$stmt6->bind_param('sss', $_POST["id"], "", $_POST["content"]);
|
|
}
|
|
$stmt6->execute();
|
|
$stmt6->store_result();
|
|
}
|
|
|
|
if ($action == "getlog"){
|
|
$idcko = $_POST["id"];
|
|
if (empty($idcko)||$idcko == "*"){
|
|
$query = "SELECT `ID`, `Action`, `LinkID`, `ContentID`, `Datetime`, `Timestamp`, `Nickname`, `IP` FROM Logs";
|
|
$stmt7 = $mysqli->prepare($query);
|
|
}
|
|
else{
|
|
$query = "SELECT `ID`, `Action`, `LinkID`, `ContentID`, `Datetime`, `Timestamp`, `Nickname`, `IP` FROM Logs WHERE `LinkID` = ?";
|
|
$stmt7 = $mysqli->prepare($query);
|
|
$stmt7->bind_param("s", $idcko);
|
|
}
|
|
$stmt7->bind_result ($rowidx, $actionx, $linkidx, $contentidx, $datetimex, $timestampx, $nicknamex, $ipx);
|
|
$stmt7->execute();
|
|
$stmt7->store_result();
|
|
$out = "<table><tbody><tr><th>Action</th><th>Date and Time</th><th>Nickname</th><th>Link</th><th>Content</th><th>IP</th><th>Button</th></tr>";
|
|
while ($stmt7->fetch()) {
|
|
$action = htmlspecialchars($actionx);
|
|
$link = htmlspecialchars($linkidx);
|
|
$content = htmlspecialchars($contentidx);
|
|
$nickname = htmlspecialchars($nicknamex);
|
|
$ip = htmlspecialchars($ipx);
|
|
$rowid = htmlspecialchars($rowidx);
|
|
$datetime = htmlspecialchars($datetimex);
|
|
$out = $out . "<tr><td>$action</td><td>$datetime</td><td>$nickname</td><td>$link</td><td>$content</td><td>$ip</td><td><button onclick=\"dellog('$rowid')\">Delete</button></td></tr>";
|
|
}
|
|
$out = $out . "</tbody></table>";
|
|
echo $out;
|
|
}
|
|
if ($action == "deletelog" && !empty($_POST["id"])){
|
|
$stmt5 = $mysqli->prepare("DELETE FROM Logs WHERE `ID` = ?");
|
|
$stmt5->bind_param('i', $_POST["id"]);
|
|
$stmt5->execute();
|
|
$stmt5->store_result();
|
|
}
|
|
|
|
}
|
|
else{
|
|
echo "ERROR";
|
|
}
|
|
?>
|