Adding all Admin stuff
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Big Insert - Admin Panel - Furatalog.xyz</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="main">
|
||||
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,41 @@
|
||||
<?php
|
||||
require_once("/var/www/furatalog/data/script/furatalog.sessions.php");
|
||||
$fs = new furatalogSessions();
|
||||
|
||||
if (!$fs->issetSessionData("login") && ($fs->getSessionData("login") != "true-as-hell")) {
|
||||
header("Location: login.php");
|
||||
die();
|
||||
}
|
||||
?>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Admin Panel - Furatalog.xyz</title>
|
||||
<link rel="stylesheet" href="/data/style/style.css">
|
||||
<link rel="stylesheet" href="/data/style/colors.css">
|
||||
<style>
|
||||
html, body {
|
||||
margin: 0;
|
||||
height: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="sidebar">
|
||||
<a href="logout.php">Logout</a>
|
||||
<a class="active" href="/admin/">Dashboard</a>
|
||||
<a href="/admin/insert.php">Insert Data (Gumroad)</a>
|
||||
<a href="/admin/insert-species.php">Insert Species</a>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="adminpanel">
|
||||
<h2>Admin Panel</h2>
|
||||
<p>Welcome to the admin panel.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,129 @@
|
||||
<?php
|
||||
|
||||
require_once("/var/www/furatalog/data/script/furatalog.sessions.php");
|
||||
$fs = new furatalogSessions();
|
||||
|
||||
if (!$fs->issetSessionData("login") && ($fs->getSessionData("login") != "true-as-hell")) {
|
||||
header("Location: login.php");
|
||||
die();
|
||||
}
|
||||
|
||||
$furatalog = new mysqli("localhost", "furatalog_admin_usr", "NR6tLk7c56bPT5[]", "furatalog");
|
||||
|
||||
$creator_name = $_POST["creator_name"];
|
||||
$creator_pb = $_POST["creator_pb"];
|
||||
$creator_jinxxyURL = $_POST["creator_jinxxyURL"];
|
||||
|
||||
$content_name = $_POST["content_name"];
|
||||
$content_price = $_POST["content_price"];
|
||||
$content_rating = $_POST["content_rating"];
|
||||
$content_creator_id = $_POST["content_creator_id"];
|
||||
$content_currency_id = $_POST["content_currency_id"];
|
||||
$content_url = $_POST["content_url"];
|
||||
$content_image = $_POST["content_image"];
|
||||
|
||||
$section = $_POST["section"];
|
||||
|
||||
$currency_currency = $_POST["currency_currency"];
|
||||
|
||||
$creator;
|
||||
$success = true;
|
||||
|
||||
$content_name = str_replace("'", "\'", $content_name);
|
||||
|
||||
try {
|
||||
$creatorResult = $furatalog->query("SELECT * FROM `creator` WHERE `jinxxy_url`=\"" . $creator_jinxxyURL . "\";");
|
||||
if ($creatorResult->num_rows == 0) {
|
||||
$furatalog->query("INSERT INTO `creator`(`name`, `pb_url`, `jinxxy_url`) VALUES ('" . $creator_name . "','" . $creator_pb . "','" . $creator_jinxxyURL . "')");
|
||||
|
||||
$creatorResult = $furatalog->query("SELECT * FROM `creator` WHERE `jinxxy_url`=\"" . $creator_jinxxyURL . "\";");
|
||||
|
||||
$creator = $creatorResult->fetch_assoc();
|
||||
} else {
|
||||
$creator = $creatorResult->fetch_assoc();
|
||||
}
|
||||
} catch (Exception $e) {
|
||||
echo "cannot get or create creator";
|
||||
die();
|
||||
}
|
||||
|
||||
$contentResult = $furatalog->query("SELECT * FROM `content` WHERE `url`=\"" . $content_url . "\";");
|
||||
|
||||
if ($contentResult->num_rows == 0) {
|
||||
|
||||
try {
|
||||
$furatalog->query("INSERT INTO `content`(`name`, `price`, `rating`, `creator_id`, `currency_id`, `url`, `image`, `nsfw`, `section`) VALUES
|
||||
('" . $content_name . "'
|
||||
,'" . $content_price . "'
|
||||
,'" . $content_rating . "'
|
||||
,'" . $creator["id"] . "'
|
||||
,'" . $content_currency_id . "'
|
||||
,'" . $content_url . "'
|
||||
,'" . $content_image . "'
|
||||
, false
|
||||
, " . $section . ")");
|
||||
|
||||
|
||||
|
||||
$parsed_url = parse_url($content_url);
|
||||
$clean_url = $parsed_url['scheme'] . '://' . $parsed_url['host'] . $parsed_url['path'];
|
||||
|
||||
$contentResult = $furatalog->query("SELECT * FROM content WHERE url LIKE '%" . $clean_url . "%'");
|
||||
$contentResultResult = $contentResult->fetch_assoc();
|
||||
|
||||
|
||||
|
||||
$species = explode(" ", $_POST["species"]);
|
||||
|
||||
foreach ($species as $key => $value) {
|
||||
$speciesResult = $furatalog->query("SELECT * FROM species WHERE tag='" . $value . "'");
|
||||
$speciesResultResult = $speciesResult->fetch_assoc();
|
||||
|
||||
$speciesID = $speciesResultResult["id"];
|
||||
|
||||
$furatalog->query("INSERT INTO `content_species` (`content_id`, `species_id`) VALUES ('" . $contentResultResult["id"] . "', '" . $speciesID . "')");
|
||||
}
|
||||
|
||||
|
||||
|
||||
} catch (Exception $e) {
|
||||
echo "
|
||||
<html>
|
||||
<head>
|
||||
<style>
|
||||
* {
|
||||
background: darkgray;
|
||||
color: white;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<p style=\"color:lightred\">An Error has Occurred</p>
|
||||
<div>" . $e . "</div>
|
||||
</body>
|
||||
</html>";
|
||||
$success = false;
|
||||
}
|
||||
|
||||
if ($success) {
|
||||
echo "<html>
|
||||
<head>
|
||||
<style>
|
||||
* {
|
||||
background: darkgray;
|
||||
color: white;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<p style=\"color:lightred\">Success</p>
|
||||
<div>The Item with the following name and url has been added. <br>
|
||||
Name: " . $content_name . "</div>
|
||||
</body>
|
||||
</html>";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,217 @@
|
||||
<?php
|
||||
|
||||
require_once("/var/www/furatalog/data/script/furatalog.sessions.php");
|
||||
$fs = new furatalogSessions();
|
||||
|
||||
if (!$fs->issetSessionData("login") && ($fs->getSessionData("login") != "true-as-hell")) {
|
||||
header("Location: login.php");
|
||||
die();
|
||||
}
|
||||
|
||||
$_POST["nsfw"] = isset($_POST["nsfw"]) ? "1" : "0";
|
||||
|
||||
function myErrorHandler($errno, $errstr, $errfile, $errline) {
|
||||
echo "<p>Custom error:</p> [$errno] $errstr<br>";
|
||||
echo "Error on line $errline in $errfile<br>";
|
||||
}
|
||||
|
||||
// Set user-defined error handler function
|
||||
//set_error_handler("myErrorHandler");
|
||||
|
||||
$furatalog = new mysqli("localhost", "furatalog_admin_usr", "NR6tLk7c56bPT5[]", "furatalog");
|
||||
|
||||
if (isset($_POST["url"])) {
|
||||
|
||||
$givenURL = $_POST["url"];
|
||||
|
||||
$isExisting = $furatalog->query("SELECT * FROM species WHERE url='" . $givenURL . "'");
|
||||
if ($isExisting->num_rows > 0) {
|
||||
$isExistent = true;
|
||||
} else {
|
||||
if (str_contains($givenURL, "gumroad")) {
|
||||
$creatorURL = implode('/', array_slice(explode('/', $givenURL), 0, 3));
|
||||
$creatorRequestResult = $furatalog->query("SELECT * FROM creator WHERE `gumroad_url`='" . $creatorURL . "'");
|
||||
|
||||
if ($creatorRequestResult->num_rows > 0) {
|
||||
$creatorID = $creatorRequestResult->fetch_assoc()["id"];
|
||||
} else {
|
||||
$scrapingUrl = $creatorURL;
|
||||
|
||||
$string = file_get_contents($scrapingUrl);
|
||||
|
||||
$dom = new DomDocument();
|
||||
$dom->loadHTML($string);
|
||||
$finder = new DomXPath($dom);
|
||||
|
||||
$creatorName = $finder->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' profile ')]")[0]->childNodes[0]->childNodes[0]->textContent;
|
||||
$creatorUrl = $scrapingUrl;
|
||||
$creatorpicture = $finder->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' profile ')]")[0]->childNodes[0]->childNodes[0]->childNodes[0]->attributes[1]->textContent;
|
||||
|
||||
$creatorCreateResult = $furatalog->query("INSERT INTO `creator` (`id`, `name`, `pb_url`, `booth_url`, `gumroad_url`, `payhip_url`, `jinxxy_url`) VALUES (NULL, '" . str_replace("'", "\'", $creatorName) . "', '" . $creatorpicture . "', '', '" . $creatorURL . "', '', '')");
|
||||
|
||||
$creatorResult = $furatalog->query("SELECT id FROM `creator` WHERE gumroad_url='" . $creatorURL . "'");
|
||||
|
||||
$creatorID = $creatorResult->fetch_assoc()["id"];
|
||||
}
|
||||
|
||||
$newCreatorResult = $furatalog->query("SELECT * FROM creator WHERE id=" . $creatorID . "");
|
||||
$newCreatorResultResult = $newCreatorResult->fetch_assoc();
|
||||
|
||||
$new_creatorid = $newCreatorResultResult["id"];
|
||||
$new_creatorName = $newCreatorResultResult["name"];
|
||||
$new_creatorPb = $newCreatorResultResult["pb_url"];
|
||||
$new_boothURL = $newCreatorResultResult["booth_url"];
|
||||
$new_gumroadURL = $newCreatorResultResult["gumroad_url"];
|
||||
$new_payhipURL = $newCreatorResultResult["payhip_url"];
|
||||
$new_jinxxyURL = $newCreatorResultResult["jinxxy_url"];
|
||||
|
||||
$tempURL = file_get_contents($givenURL);
|
||||
|
||||
$dom = new DomDocument();
|
||||
$dom->loadHTML($tempURL);
|
||||
$finder = new DomXPath($dom);
|
||||
|
||||
$content = $finder->query("//*[contains(concat(' ', normalize-space(@data-component-name), ' '), ' ProductPage ')]")[0]->textContent;
|
||||
if ($content == "" || $content == null) {
|
||||
$content = $finder->query("//*[contains(concat(' ', normalize-space(@data-component-name), ' '), ' ProfileProductPage ')]")[0]->textContent;
|
||||
}
|
||||
$content = json_decode($content);
|
||||
$contentItem = $content->product;
|
||||
|
||||
|
||||
if ($contentItem->thumbnail_url == "" || $contentItem->thumbnail_url == null) {
|
||||
$newThumbnail = $contentItem->covers[0]->url;
|
||||
} else {
|
||||
$newThumbnail = $contentItem->thumbnail_url;
|
||||
}
|
||||
|
||||
$newPrice = $contentItem->price_cents;
|
||||
|
||||
if (isset($contentItem->options[0]->price_difference_cents)) {
|
||||
$newPrice = $contentItem->options[0]->price_difference_cents;
|
||||
}
|
||||
|
||||
|
||||
$furatalog->query("INSERT INTO `species` (`name`, `tag`, `url`, `creator_id`) VALUES ('" .
|
||||
str_replace("'", "\'", $_POST["name"]) . "', '" .
|
||||
$_POST["tag"] . "', '" .
|
||||
$givenURL . "', '" .
|
||||
$new_creatorid . "')");
|
||||
|
||||
$contentResult = $furatalog->query("SELECT * FROM species WHERE url='" . $givenURL . "'");
|
||||
$contentResultResult = $contentResult->fetch_assoc();
|
||||
|
||||
$new_id = $contentResultResult["id"];
|
||||
$new_name = $contentResultResult["name"];
|
||||
$new_tag = $contentResultResult["tag"];
|
||||
$new_url = $contentResultResult["url"];
|
||||
$new_creatorid = $contentResultResult["creator_id"];
|
||||
}
|
||||
|
||||
}
|
||||
} else {
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<?php echo file_get_contents("/var/www/furatalog-cdn/mainHead.html"); ?>
|
||||
<title>Insert Species - Admin Panel - Furatalog.xyz</title>
|
||||
<style>
|
||||
html, body {
|
||||
margin: 0;
|
||||
height: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="sidebar">
|
||||
<a href="logout.php">Logout</a>
|
||||
<a href="/admin/">Dashboard</a>
|
||||
<a href="/admin/insert.php">Insert Data (Gumroad)</a>
|
||||
<a class="active" href="/admin/insert-species.php">Insert Species</a>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="insert">
|
||||
<h2>Insert Data</h2>
|
||||
<form action="/admin/insert-species.php" method="post">
|
||||
<input type="text" name="name" placeholder="Name" autocomplete="off">
|
||||
<input type="text" name="tag" placeholder="Tag" autocomplete="off">
|
||||
<input type="text" id="url" name="url" placeholder="URL" autocomplete="off">
|
||||
<input type="submit" value="Submit">
|
||||
<input type="text" name="species" id="speciesIncluded" style="display: none;">
|
||||
</form>
|
||||
</div>
|
||||
<div class="insert-result">
|
||||
<?php
|
||||
if (isset($isExistent) && $isExistent) {
|
||||
echo "<p>Content already exists in the database.</p>";
|
||||
}
|
||||
?>
|
||||
<div class="summary">
|
||||
<table>
|
||||
<tr>
|
||||
<th>New Species Inserted</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ID</td>
|
||||
<td><?php echo $new_id; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Name</td>
|
||||
<td><?php echo $new_name; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Tag</td>
|
||||
<td><?php echo $new_tag; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>URL</td>
|
||||
<td><?php echo $new_url; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Creator ID</td>
|
||||
<td><?php echo $new_creatorid; ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table>
|
||||
<tr>
|
||||
<th>Creator</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ID</td>
|
||||
<td><?php echo $new_creatorid; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Name</td>
|
||||
<td><?php echo $new_creatorName; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Creator PB</td>
|
||||
<td><?php echo $new_creatorPb; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Booth URL</td>
|
||||
<td><?php echo $new_boothURL; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Gumroad URL</td>
|
||||
<td><?php echo $new_gumroadURL; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Payhip URL</td>
|
||||
<td><?php echo $new_payhipURL; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Jinxxy URL</td>
|
||||
<td><?php echo $new_jinxxyURL; ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,423 @@
|
||||
<?php
|
||||
|
||||
require_once("/var/www/furatalog/data/script/furatalog.sessions.php");
|
||||
$fs = new furatalogSessions();
|
||||
|
||||
if (isset($_POST["urltransmit"])) {
|
||||
$fs->setSessionData("gumroadData", $_POST["urltransmit"]);
|
||||
}
|
||||
|
||||
if (!$fs->issetSessionData("login") && ($fs->getSessionData("login") != "true-as-hell")) {
|
||||
header("Location: login.php?ref=insert");
|
||||
$fs->setSessionData("ref", "insert");
|
||||
die();
|
||||
}
|
||||
|
||||
if ($fs->issetSessionData("gumroadData")) {
|
||||
$_POST["urltransmit"] = $fs->getSessionData("gumroadData");
|
||||
$fs->unsetSessionData("gumroadData");
|
||||
}
|
||||
|
||||
if (isset($_GET["url"])) {
|
||||
$presetedURL = $_GET["url"];
|
||||
} elseif (isset($_POST["urltransmit"])) {
|
||||
$presetedURL = $_POST["urltransmit"];
|
||||
} else {
|
||||
$presetedURL = "";
|
||||
}
|
||||
|
||||
$nsfw = isset($_POST["nsfw"]) ? "1" : "0";
|
||||
|
||||
function myErrorHandler($errno, $errstr, $errfile, $errline) {
|
||||
echo "<p>Custom error:</p> [$errno] $errstr<br>";
|
||||
echo "Error on line $errline in $errfile<br>";
|
||||
}
|
||||
|
||||
// Set user-defined error handler function
|
||||
//set_error_handler("myErrorHandler");
|
||||
|
||||
$furatalog = new mysqli("localhost", "furatalog_admin_usr", "NR6tLk7c56bPT5[]", "furatalog");
|
||||
|
||||
if (isset($_POST["url"])) {
|
||||
|
||||
$givenURL = $_POST["url"];
|
||||
|
||||
$isExisting = $furatalog->query("SELECT * FROM content WHERE url='" . $givenURL . "'");
|
||||
if ($isExisting->num_rows > 0) {
|
||||
$isExistent = true;
|
||||
|
||||
$new_id = "";
|
||||
$new_name = "";
|
||||
$new_price = "";
|
||||
$new_rating = "";
|
||||
$new_creatorid = "";
|
||||
$new_currencyid = "";
|
||||
$new_url = "";
|
||||
$new_image = "https://public-files.gumroad.com/nx5vne5h5y4bktwzh0gcfev59taj";
|
||||
$new_nsfw = "";
|
||||
$new_section = "";
|
||||
|
||||
} else {
|
||||
if (str_contains($givenURL, "gumroad")) {
|
||||
$creatorURL = implode('/', array_slice(explode('/', $givenURL), 0, 3));
|
||||
$creatorRequestResult = $furatalog->query("SELECT * FROM creator WHERE `gumroad_url`='" . $creatorURL . "'");
|
||||
|
||||
if ($creatorRequestResult->num_rows > 0) {
|
||||
$creatorID = $creatorRequestResult->fetch_assoc()["id"];
|
||||
} else {
|
||||
$scrapingUrl = $creatorURL;
|
||||
|
||||
$string = file_get_contents($scrapingUrl);
|
||||
|
||||
$dom = new DomDocument();
|
||||
$dom->loadHTML($string);
|
||||
$finder = new DomXPath($dom);
|
||||
|
||||
$creatorName = $finder->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' profile ')]")[0]->childNodes[0]->childNodes[0]->textContent;
|
||||
$creatorUrl = $scrapingUrl;
|
||||
$creatorpicture = $finder->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' profile ')]")[0]->childNodes[0]->childNodes[0]->childNodes[0]->attributes[1]->textContent;
|
||||
|
||||
$creatorCreateResult = $furatalog->query("INSERT INTO `creator` (`id`, `name`, `pb_url`, `booth_url`, `gumroad_url`, `payhip_url`, `jinxxy_url`) VALUES (NULL, '" . str_replace("'", "\'", $creatorName) . "', '" . $creatorpicture . "', '', '" . $creatorURL . "', '', '')");
|
||||
|
||||
$creatorResult = $furatalog->query("SELECT id FROM `creator` WHERE gumroad_url='" . $creatorURL . "'");
|
||||
|
||||
$creatorID = $creatorResult->fetch_assoc()["id"];
|
||||
}
|
||||
|
||||
$newCreatorResult = $furatalog->query("SELECT * FROM creator WHERE id=" . $creatorID . "");
|
||||
$newCreatorResultResult = $newCreatorResult->fetch_assoc();
|
||||
|
||||
$new_creatorid = $newCreatorResultResult["id"];
|
||||
$new_creatorName = $newCreatorResultResult["name"];
|
||||
$new_creatorPb = $newCreatorResultResult["pb_url"];
|
||||
$new_boothURL = $newCreatorResultResult["booth_url"];
|
||||
$new_gumroadURL = $newCreatorResultResult["gumroad_url"];
|
||||
$new_payhipURL = $newCreatorResultResult["payhip_url"];
|
||||
$new_jinxxyURL = $newCreatorResultResult["jinxxy_url"];
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$tempURL = file_get_contents($givenURL);
|
||||
|
||||
$dom = new DomDocument();
|
||||
$dom->loadHTML($tempURL);
|
||||
$finder = new DomXPath($dom);
|
||||
|
||||
$content = $finder->query("//*[contains(concat(' ', normalize-space(@data-component-name), ' '), ' ProductPage ')]")[0]->textContent;
|
||||
if ($content == "" || $content == null) {
|
||||
$content = $finder->query("//*[contains(concat(' ', normalize-space(@data-component-name), ' '), ' ProfileProductPage ')]")[0]->textContent;
|
||||
}
|
||||
$content = json_decode($content);
|
||||
$contentItem = $content->product;
|
||||
|
||||
|
||||
|
||||
$currentCurrency = $contentItem->currency_code;
|
||||
|
||||
$newCurrencyResult = $furatalog->query("SELECT * FROM currency WHERE currency='" . $currentCurrency . "'");
|
||||
$newCurrencyResultResult = $newCurrencyResult->fetch_assoc();
|
||||
|
||||
$new_currencyid = $newCurrencyResultResult["id"];
|
||||
$new_currencyshort = $newCurrencyResultResult["currency"];
|
||||
$new_currencysymbol = $newCurrencyResultResult["symbol"];
|
||||
$new_currencyfontawesome = $newCurrencyResultResult["font-awesome"];
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if ($contentItem->thumbnail_url == "" || $contentItem->thumbnail_url == null) {
|
||||
$newThumbnail = $contentItem->covers[0]->url;
|
||||
} else {
|
||||
$newThumbnail = $contentItem->thumbnail_url;
|
||||
}
|
||||
|
||||
$newPrice = $contentItem->price_cents;
|
||||
|
||||
if (isset($contentItem->options[0]->price_difference_cents)) {
|
||||
$newPrice = (int)$newPrice + (int)$contentItem->options[0]->price_difference_cents;
|
||||
}
|
||||
|
||||
|
||||
$furatalog->query("INSERT INTO `content` (`id`, `name`, `price`, `rating`, `creator_id`, `currency_id`, `url`, `image`, `nsfw`, `section`) VALUES (NULL, '" .
|
||||
str_replace("'", "\'", $contentItem->name) . "', '" .
|
||||
$newPrice . "', '" .
|
||||
$contentItem->ratings->average . "', '" .
|
||||
$new_creatorid . "', '" .
|
||||
$new_currencyid . "', '" .
|
||||
$givenURL . "', '" .
|
||||
$newThumbnail . "', '" .
|
||||
$nsfw . "', '" .
|
||||
$_POST["section"] . "')");
|
||||
|
||||
|
||||
|
||||
|
||||
$parsed_url = parse_url($givenURL);
|
||||
$clean_url = $parsed_url['scheme'] . '://' . $parsed_url['host'] . $parsed_url['path'];
|
||||
|
||||
$contentResult = $furatalog->query("SELECT * FROM content WHERE url LIKE '%" . $clean_url . "%'");
|
||||
$contentResultResult = $contentResult->fetch_assoc();
|
||||
|
||||
$new_id = $contentResultResult["id"];
|
||||
$new_name = $contentResultResult["name"];
|
||||
$new_price = $contentResultResult["price"];
|
||||
$new_rating = $contentResultResult["rating"];
|
||||
$new_creatorid = $contentResultResult["creator_id"];
|
||||
$new_currencyid = $contentResultResult["currency_id"];
|
||||
$new_url = $contentResultResult["url"];
|
||||
$new_image = $contentResultResult["image"];
|
||||
$new_nsfw = $contentResultResult["nsfw"];
|
||||
$new_section = $contentResultResult["section"];
|
||||
|
||||
|
||||
|
||||
$species = explode(" ", $_POST["species"]);
|
||||
|
||||
foreach ($species as $key => $value) {
|
||||
$speciesResult = $furatalog->query("SELECT * FROM species WHERE tag='" . $value . "'");
|
||||
$speciesResultResult = $speciesResult->fetch_assoc();
|
||||
|
||||
$speciesID = $speciesResultResult["id"];
|
||||
|
||||
$furatalog->query("INSERT INTO `content_species` (`content_id`, `species_id`) VALUES ('" . $new_id . "', '" . $speciesID . "')");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
} else {
|
||||
$new_id = "";
|
||||
$new_name = "";
|
||||
$new_price = "";
|
||||
$new_rating = "";
|
||||
$new_creatorid = "";
|
||||
$new_currencyid = "";
|
||||
$new_url = "";
|
||||
$new_image = "https://public-files.gumroad.com/nx5vne5h5y4bktwzh0gcfev59taj";
|
||||
$new_nsfw = "";
|
||||
$new_section = "";
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<?php echo file_get_contents("/var/www/furatalog-cdn/mainHead.html"); ?>
|
||||
<title>Insert Data - Admin Panel - Furatalog.xyz</title>
|
||||
<style>
|
||||
html, body {
|
||||
margin: 0;
|
||||
height: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="sidebar">
|
||||
<a href="logout.php">Logout</a>
|
||||
<a href="/admin/">Dashboard</a>
|
||||
<a class="active" href="/admin/insert.php">Insert Data (Gumroad)</a>
|
||||
<a href="/admin/insert-species.php">Insert Species</a>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="insert">
|
||||
<h2>Insert Data</h2>
|
||||
<form action="/admin/insert.php" method="post">
|
||||
<div>
|
||||
<input type="text" id="url" name="url" placeholder="URL" autocomplete="off" value="<?php echo $presetedURL; ?>">
|
||||
<select name="section" id="section">
|
||||
<option value="1">Assets</option>
|
||||
<option value="2">Avatars</option>
|
||||
<option value="3">Bases</option>
|
||||
<option value="4">Worlds</option>
|
||||
</select>
|
||||
</div>
|
||||
<p>Species</p>
|
||||
<div class="specieslist">
|
||||
<?php
|
||||
|
||||
$requestSpeciesResult = $furatalog->query("SELECT * FROM `species` ORDER BY `name` ASC");
|
||||
while ($row = $requestSpeciesResult->fetch_assoc()) {
|
||||
echo "
|
||||
<label>
|
||||
<input type=\"checkbox\" name=\"" . $row["tag"] . "\">" . $row["name"] . "
|
||||
</label>";
|
||||
}
|
||||
|
||||
?>
|
||||
</div>
|
||||
<br>
|
||||
<div>
|
||||
<input type="checkbox" name="nsfw" id="nsfw">
|
||||
<label for="nsfw">NSFW</label>
|
||||
</div>
|
||||
<input type="submit" value="Submit">
|
||||
<input type="text" name="species" id="speciesIncluded" style="display: none;" value="props">
|
||||
</form>
|
||||
</div>
|
||||
<div class="insert-result">
|
||||
<?php
|
||||
if (isset($isExistent) && $isExistent) {
|
||||
echo "<p>Content already exists in the database.</p>";
|
||||
}
|
||||
?>
|
||||
<div class="summary">
|
||||
<table>
|
||||
<tr>
|
||||
<th>New Content Inserted</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ID</td>
|
||||
<td><?php echo $new_id; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Name</td>
|
||||
<td><?php echo $new_name; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Price</td>
|
||||
<td><?php echo $new_price; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Rating</td>
|
||||
<td><?php echo $new_rating; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Creator ID</td>
|
||||
<td><?php echo $new_creatorid; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Currency ID</td>
|
||||
<td><?php echo $new_currencyid; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>URL</td>
|
||||
<td><?php echo $new_url; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Image</td>
|
||||
<td><?php echo $new_image; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>NSFW</td>
|
||||
<td><?php echo $new_nsfw; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Section</td>
|
||||
<td><?php echo $new_section; ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table>
|
||||
<tr>
|
||||
<th>Creator</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ID</td>
|
||||
<td><?php echo $new_creatorid; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Name</td>
|
||||
<td><?php echo $new_creatorName; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Creator PB</td>
|
||||
<td><?php echo $new_creatorPb; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Booth URL</td>
|
||||
<td><?php echo $new_boothURL; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Gumroad URL</td>
|
||||
<td><?php echo $new_gumroadURL; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Payhip URL</td>
|
||||
<td><?php echo $new_payhipURL; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Jinxxy URL</td>
|
||||
<td><?php echo $new_jinxxyURL; ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table>
|
||||
<tr>
|
||||
<th>Currency</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ID</td>
|
||||
<td><?php echo $new_currencyid; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Currency</td>
|
||||
<td><?php echo $new_currencyshort; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Symbol</td>
|
||||
<td><?php echo $new_currencysymbol; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Font-Awesome</td>
|
||||
<td><?php echo $new_currencyfontawesome; ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
if ($new_id != "") {
|
||||
echo "<div class='item-container' style=\"background-image: url('". $new_image ."')\">
|
||||
<a href='". $new_url ."'><div class='item'>
|
||||
<img src='". $new_image ."'>
|
||||
<div class='item-info'>
|
||||
<a class='name' title='". $new_name ."'>". $new_name ."</a>
|
||||
<div class='info'>
|
||||
<a class='creator'>
|
||||
<img src=\"". $new_creatorPb ."\">
|
||||
". $new_creatorName ."
|
||||
</a>
|
||||
<a class=\"price\">" . sprintf("%.2f", (double)($new_price / 100)) . " " . $new_currencyfontawesome ."</a>
|
||||
</div>
|
||||
</div>
|
||||
</div></a>
|
||||
</div>";
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// Select all checkboxes and the result input field
|
||||
const checkboxes = document.querySelectorAll('input[type="checkbox"]');
|
||||
const resultInput = document.getElementById('speciesIncluded');
|
||||
|
||||
// Function to update the result input field
|
||||
function updateResult() {
|
||||
const selectedNames = Array.from(checkboxes) // Convert NodeList to Array
|
||||
.filter(checkbox => checkbox.checked) // Filter only checked checkboxes
|
||||
.map(checkbox => checkbox.name); // Map to their name attributes
|
||||
|
||||
// Join the names with a comma and update the result input
|
||||
resultInput.value = selectedNames.join(' ');
|
||||
|
||||
if (resultInput.value == "" || resultInput.value == " ") {
|
||||
resultInput.value = "props";
|
||||
}
|
||||
|
||||
if (resultInput.value == "nsfw" || resultInput.value == "nsfw ") {
|
||||
resultInput.value = "nsfw props";
|
||||
}
|
||||
}
|
||||
|
||||
// Add event listeners to all checkboxes
|
||||
checkboxes.forEach(checkbox => {
|
||||
checkbox.addEventListener('change', updateResult); // Listen for 'change' event
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
require_once("/var/www/furatalog/data/script/furatalog.sessions.php");
|
||||
$fs = new furatalogSessions();
|
||||
|
||||
if (isset($_GET["ref"])) {
|
||||
$fs->setSessionData("ref", $_GET["ref"]);
|
||||
}
|
||||
|
||||
if (isset($_POST["username"]) && isset($_POST["password"])) {
|
||||
if ($_POST["username"] == "SiskelDev" && password_verify($_POST["password"], "\$2y\$10\$uhkbDXtndzyDKsJh7d14HOBE7JoWiqYQPx3r88xDhWHnL9W4t4OJa")) {
|
||||
$fs->setSessionData("login", "true-as-hell");
|
||||
$redirect = $fs->issetSessionData("ref") ? $fs->getSessionData("ref") : "index";
|
||||
$fs->unsetSessionData("ref");
|
||||
header("Location: " . $redirect . ".php");
|
||||
die();
|
||||
}
|
||||
}
|
||||
|
||||
if ($fs->issetSessionData("login") && ($fs->getSessionData("login") == "true-as-hell")) {
|
||||
header("Location: index.php");
|
||||
die();
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<?php echo file_get_contents("/var/www/furatalog-cdn/mainHead.html"); ?>
|
||||
<title>Admin Login</title>
|
||||
<style>
|
||||
html, body {
|
||||
margin: 0;
|
||||
height: 100%;
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="login-container">
|
||||
<a class="backbutton" href="/">← Back to Furatalog</a>
|
||||
<h1>Admin Login</h1>
|
||||
<p>Please login to access the admin panel.</p>
|
||||
<br>
|
||||
<form action="login.php" method="post">
|
||||
<input type="text" name="username" placeholder="Username" autoComplete='off'>
|
||||
<input type="password" name="password" placeholder="Password" autoComplete='off'>
|
||||
<input type="submit" value="Login">
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,7 @@
|
||||
<?php
|
||||
require_once("/var/www/furatalog/data/script/furatalog.sessions.php");
|
||||
$fs = new furatalogSessions();
|
||||
$fs->destroy();
|
||||
header("Location: login.php");
|
||||
die();
|
||||
?>
|
||||
@@ -0,0 +1,190 @@
|
||||
<?php
|
||||
|
||||
require_once("/var/www/furatalog/data/script/furatalog.sessions.php");
|
||||
$fs = new furatalogSessions();
|
||||
|
||||
/*
|
||||
if (isset($_POST["data"])) {
|
||||
$fs->setSessionData("jinxxyData", $_POST["data"]);
|
||||
}
|
||||
|
||||
if ($fs->issetSessionData("tmpdata")) {
|
||||
$_POST["data"] = $fs->getSessionData("tmpdata");
|
||||
$fs->unsetSessionData("tmpdata");
|
||||
}
|
||||
|
||||
if (!$fs->issetSessionData("login") && ($fs->getSessionData("login") != "true-as-hell")) {
|
||||
$fs->setSessionData("tmpdata", $_POST["data"]);
|
||||
$fs->setSessionData("ref", "redirectFromJinxxy");
|
||||
header("Location: login.php");
|
||||
die();
|
||||
}
|
||||
|
||||
if ($fs->issetSessionData("jinxxyData")) {
|
||||
$_POST["data"] = $fs->getSessionData("jinxxyData");
|
||||
$fs->unsetSessionData("jinxxyData");
|
||||
}*/
|
||||
|
||||
$creator_name;
|
||||
$creator_pb;
|
||||
$creator_jinxxyURL;
|
||||
|
||||
$content_name;
|
||||
$content_price;
|
||||
$content_rating;
|
||||
|
||||
$content_creator_id;
|
||||
$content_currency_id;
|
||||
|
||||
$content_url;
|
||||
$content_image;
|
||||
|
||||
$userData;
|
||||
$productData;
|
||||
|
||||
$data = json_decode($_POST["data"]);
|
||||
|
||||
print_r($data);
|
||||
|
||||
$product = $data->product;
|
||||
$seller = $data->seller;
|
||||
|
||||
|
||||
// set creator name
|
||||
$creator_name = $seller->name;
|
||||
|
||||
// set creator jinxxy url
|
||||
$creator_jinxxyURL = $seller->url;
|
||||
|
||||
// set creator pb
|
||||
$creator_pb = $seller->image;
|
||||
|
||||
|
||||
|
||||
// set content name
|
||||
$content_name = $product->name;
|
||||
|
||||
// set content price
|
||||
$content_price = $product->price;
|
||||
|
||||
// set procuct url
|
||||
$content_url = $product->url;
|
||||
|
||||
// set content image
|
||||
$content_image = $product->image;
|
||||
|
||||
// set no rating
|
||||
$content_rating = "null";
|
||||
|
||||
// currency type
|
||||
$currency_currency = $product->currencySymbol;
|
||||
|
||||
$databaseConnection = new mysqli("10.0.0.100", "furatalog_usr", "1yRNpaUtXu[cw@-m", "furatalog");
|
||||
$result = $databaseConnection->query("SELECT * FROM `currency` WHERE symbol=\"" . $currency_currency . "\";")->fetch_assoc();
|
||||
|
||||
$content_currency_id = $result["id"];
|
||||
$currency_tag = $result["currency"];
|
||||
|
||||
$result2 = $databaseConnection->query("SELECT * FROM `creator` WHERE jinxxy_url=\"" . $creator_jinxxyURL . "\";");
|
||||
|
||||
if ($result2->num_rows > 0) {
|
||||
$content_creator_id = $result2->fetch_assoc()["id"];
|
||||
} else {
|
||||
$content_creator_id = "";
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
echo '<br><span style="font-family: consolas">Creator Name </span>' . $creator_name;
|
||||
echo '<br><span style="font-family: consolas">Creator PB </span>' . $creator_pb;
|
||||
echo '<br><span style="font-family: consolas">Creator JinxxyURL </span>' . $creator_jinxxyURL;
|
||||
echo '<br>';
|
||||
echo '<br>';
|
||||
echo '<br>';
|
||||
echo '<br><span style="font-family: consolas">Content Name </span>' . $content_name;
|
||||
echo '<br><span style="font-family: consolas">Content Price </span>' . $content_price;
|
||||
echo '<br><span style="font-family: consolas">Content Rating </span>' . $content_rating;
|
||||
echo '<br>';
|
||||
echo '<br><span style="font-family: consolas">Content CreatorID </span>' . $content_creator_id;
|
||||
echo '<br><span style="font-family: consolas">Content CurrencyID </span>' . $content_currency_id;
|
||||
echo '<br>';
|
||||
echo '<br><span style="font-family: consolas">Content URL </span>' . $content_url;
|
||||
echo '<br><span style="font-family: consolas">Content Image </span>' . $content_image;
|
||||
echo '<br>';
|
||||
echo '<br><span style="font-family: consolas">Currency Code </span>' . $currency_currency;
|
||||
*/
|
||||
|
||||
|
||||
|
||||
?>
|
||||
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<?php echo file_get_contents("/var/www/furatalog-cdn/mainHead.html"); ?>
|
||||
<title>Insert From Jinxxy - Admin Panel - Furatalog.xyz</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="main">
|
||||
<form action="insert-jinxxy.php" class="insert" method="post">
|
||||
<select name="section" id="section">
|
||||
<option value="1">Assets</option>
|
||||
<option value="2">Avatars</option>
|
||||
<option value="3">Bases</option>
|
||||
<option value="4">Worlds</option>
|
||||
</select>
|
||||
<div>
|
||||
<?php
|
||||
$furatalog = new mysqli("10.0.0.100", "furatalog_admin_usr", "NR6tLk7c56bPT5[]", "furatalog");
|
||||
$requestSpeciesResult = $furatalog->query("SELECT * FROM `species`");
|
||||
while ($row = $requestSpeciesResult->fetch_assoc()) {
|
||||
echo "
|
||||
<label>
|
||||
<input type=\"checkbox\" name=\"" . $row["tag"] . "\">" . $row["name"] . "
|
||||
</label><br>";
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<input type="text" name="creator_name" value="<?php echo $creator_name; ?>"><br>
|
||||
<input type="text" name="creator_pb" value="<?php echo $creator_pb; ?>"><br>
|
||||
<input type="text" name="creator_jinxxyURL" value="<?php echo $creator_jinxxyURL; ?>"><br>
|
||||
<input type="text" name="content_name" value="<?php echo $content_name; ?>"><br>
|
||||
<input type="text" name="content_price" value="<?php echo $content_price; ?>"><br>
|
||||
<input type="text" name="content_rating" value="<?php echo $content_rating; ?>"><br>
|
||||
<input type="text" name="content_creator_id" value="<?php echo $content_creator_id; ?>"><br>
|
||||
<input type="text" name="content_currency_id" value="<?php echo $content_currency_id; ?>"><br>
|
||||
<input type="text" name="content_url" value="<?php echo $content_url; ?>"><br>
|
||||
<input type="text" name="content_image" value="<?php echo $content_image; ?>"><br>
|
||||
<input type="text" name="currency_currency" value="<?php echo $currency_tag; ?>"><br>
|
||||
<input type="text" name="species" id="speciesIncluded" style="display: none;" value="props">
|
||||
<input type="submit" value="Insert">
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// Select all checkboxes and the result input field
|
||||
const checkboxes = document.querySelectorAll('input[type="checkbox"]');
|
||||
const resultInput = document.getElementById('speciesIncluded');
|
||||
|
||||
// Function to update the result input field
|
||||
function updateResult() {
|
||||
const selectedNames = Array.from(checkboxes) // Convert NodeList to Array
|
||||
.filter(checkbox => checkbox.checked) // Filter only checked checkboxes
|
||||
.map(checkbox => checkbox.name); // Map to their name attributes
|
||||
|
||||
// Join the names with a comma and update the result input
|
||||
resultInput.value = selectedNames.join(' ');
|
||||
|
||||
if (resultInput.value == "" || resultInput.value == " ") {
|
||||
resultInput.value = "props";
|
||||
}
|
||||
}
|
||||
|
||||
// Add event listeners to all checkboxes
|
||||
checkboxes.forEach(checkbox => {
|
||||
checkbox.addEventListener('change', updateResult); // Listen for 'change' event
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,66 @@
|
||||
// ==UserScript==
|
||||
// @name Redirect to Furatalog
|
||||
// @namespace furatalog.xyz
|
||||
// @version 1.0
|
||||
// @description Data Redirection to Furatalog.xyz Admin Panel for Injection into the Database
|
||||
// @author SiskelDev
|
||||
// @match https://jinxxy.com/*
|
||||
// @icon https://www.google.com/s2/favicons?sz=64&domain=jinxxy.com
|
||||
// @grant none
|
||||
// ==/UserScript==
|
||||
|
||||
(function() {
|
||||
var data = document.getElementById('__NEXT_DATA__').innerHTML;
|
||||
|
||||
// creating new form element
|
||||
var form = document.createElement('form');
|
||||
form.setAttribute('method', 'post');
|
||||
form.setAttribute('action', 'https://furatalog.xyz/admin/redirectFromJinxxy.php');
|
||||
|
||||
// creating new input element
|
||||
var input = document.createElement('input');
|
||||
input.setAttribute('name', 'data');
|
||||
input.setAttribute('value', data);
|
||||
input.setAttribute('readonly', 'true');
|
||||
|
||||
// creating submit button
|
||||
var button = document.createElement('button');
|
||||
button.setAttribute('type', 'submit');
|
||||
button.innerText = 'Submit';
|
||||
|
||||
// appending input to form
|
||||
form.appendChild(input);
|
||||
|
||||
// appending button to form
|
||||
form.appendChild(button);
|
||||
|
||||
input.style.padding = "2px";
|
||||
input.style.backgroundColor = "#3a3a3a";
|
||||
input.style.color = "gray";
|
||||
input.style.borderRadius = "10px 10px 0px 0px";
|
||||
input.style.border = "solid 0px";
|
||||
input.style.marginBottom = "2px";
|
||||
input.style.width = "190px";
|
||||
|
||||
button.style.padding = "4px";
|
||||
button.style.width = "190px";
|
||||
button.style.color = "white";
|
||||
button.style.backgroundColor = "#3a3a3a";
|
||||
button.style.borderRadius = "0px 0px 10px 10px";
|
||||
|
||||
// appending style to form for absolute positioning
|
||||
form.style.position = 'fixed';
|
||||
form.style.top = '68px';
|
||||
form.style.left = '5px';
|
||||
form.style.width = '202px';
|
||||
form.style.height = '74px';
|
||||
form.style.zIndex = '9999';
|
||||
form.style.padding = "5px"
|
||||
form.style.backgroundColor = "#2a2a2a";
|
||||
form.style.borderRadius = "15px";
|
||||
form.style.border = "lightgray solid 1px";
|
||||
|
||||
// appending form to body
|
||||
document.body.prepend(form);
|
||||
|
||||
})();
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user