Initial Commit of v2

This commit is contained in:
2025-05-20 12:21:13 +02:00
parent dd7e86de76
commit 4bd83bd267
22 changed files with 2430 additions and 0 deletions
+13
View File
@@ -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>
+39
View File
@@ -0,0 +1,39 @@
<?php
session_start();
if (!isset($_SESSION["login"]) && $_SESSION["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>
View File
+215
View File
@@ -0,0 +1,215 @@
<?php
session_start();
if (!isset($_SESSION["login"]) && $_SESSION["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>
+401
View File
@@ -0,0 +1,401 @@
<?php
session_start();
if (!isset($_SESSION["login"]) && $_SESSION["login"] != "true-as-hell") {
header("Location: login.php");
die();
}
if (isset($_GET["url"])) {
$presetedURL = $_GET["url"];
} 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>
<div class="specieslist">
<p>Species</p>
<?php
$requestSpeciesResult = $furatalog->query("SELECT * FROM `species`");
while ($row = $requestSpeciesResult->fetch_assoc()) {
echo "
<label>
<input type=\"checkbox\" name=\"" . $row["tag"] . "\">" . $row["name"] . "
</label><br>";
}
?>
</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;">
</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(' ');
}
// Add event listeners to all checkboxes
checkboxes.forEach(checkbox => {
checkbox.addEventListener('change', updateResult); // Listen for 'change' event
});
</script>
</body>
</html>
+52
View File
@@ -0,0 +1,52 @@
<?php
session_start();
if (isset($_GET["ref"])) {
$_SESSION["ref"] = $_GET["ref"];
}
if (isset($_POST["username"]) && isset($_POST["password"])) {
if ($_POST["username"] == "SiskelDev" && password_verify($_POST["password"], "\$2y\$10\$uhkbDXtndzyDKsJh7d14HOBE7JoWiqYQPx3r88xDhWHnL9W4t4OJa")) {
$_SESSION["login"] = "true-as-hell";
$redirect = isset($_SESSION["ref"]) ? $_SESSION["ref"] : "index";
unset($_SESSION["ref"]);
header("Location: " . $redirect . ".php");
die();
}
}
if (isset($_SESSION["login"]) && $_SESSION["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>
+6
View File
@@ -0,0 +1,6 @@
<?php
session_start();
session_destroy();
header("Location: login.php");
die();
?>
+142
View File
@@ -0,0 +1,142 @@
<?php
session_start();
if (isset($_SESSION["tmpdata"])) {
$_POST["data"] = $_SESSION["tmpdata"];
unset($_SESSION["tmpdata"]);
}
if (!isset($_SESSION["login"]) && $_SESSION["login"] != "true-as-hell") {
$_SESSION["tmpdata"] = $_POST["data"];
header("Location: login.php?ref=redirectFromJinxxy");
die();
}
$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"]);
$apolloState = $data->props->pageProps->__APOLLO_STATE__;
$rootData = $data->props->pageProps->__APOLLO_STATE__->ROOT_QUERY;
// getting the product data
foreach ($rootData as $key => $value) {
if (strpos($key, 'product') !== false) {
$temp = $value->__ref;
foreach ($apolloState as $key => $value) {
if (strpos($key, $temp) !== false) {
$productData = $value;
}
}
}
}
// getting the user data
foreach ($apolloState as $key => $value) {
if (strpos($key, $productData->user->__ref) !== false) {
$userData = $value;
}
}
// getting user profilePicture
foreach ($apolloState as $key => $value) {
if (strpos($key, $userData->profile_image->__ref) !== false) {
$creator_pb = $value->url;
}
}
foreach ($apolloState as $key => $value) {
if (strpos($key, $productData->cover->__ref) !== false) {
$content_image = $value->url;
}
}
// set creator name
$creator_name = $userData->name;
// set creator jinxxy url
$creator_jinxxyURL = "https://jinxxy.com/" . $userData->username;
// set content name
$content_name = $productData->name;
// set content price
$content_price = $productData->base_price;
// set procuct url
$content_url = "https://jinxxy.com/" . $data->props->pageProps->username . "/" . $data->props->pageProps->url_slug;
// set no rating
$content_rating = "null";
// currency type
$currency_currency = strtolower($productData->currency_code);
/*
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">
<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_currency; ?>"><br>
<input type="submit" value="Insert">
</form>
</div>
</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);
})();
+16
View File
File diff suppressed because one or more lines are too long
+54
View File
@@ -0,0 +1,54 @@
<?php
require_once("/var/www/furatalog-misc/furatalog.lib.php");
$lib = new furatalogLib();
$lib->init();
$section = 1;
?>
<!DOCTYPE html>
<html lang="en">
<head>
<?php echo file_get_contents("/var/www/furatalog-cdn/mainHead.html"); ?>
<title>Assets - Furatalog.xyz</title>
</head>
<body>
<div class="navigation">
<a href="/">Home </a>
<a class="nocursor nohover">|</a>
<a href="/assets/" class="navitem active">Assets</a>
<a href="/bases/" class="navitem">Avatar-Bases</a>
<a href="/avatars/" class="navitem">Avatars</a>
<a href="/worlds/" class="navitem">Worlds</a>
<div class="dropdown">
<a class="dropbtn">▼</a>
<div class="dropdown-content">
<a href="/assets/" class="active">Assets</a>
<a href="/bases/">Avatar-Bases</a>
<a href="/avatars/">Avatars</a>
<a href="/worlds/">Worlds</a>
</div>
</div>
<div class="right">
<form action="./">
<input name="s" type="text" placeholder="Search 🔍" autoComplete='off' value="<?php echo $_GET["s"]; ?>">
</form>
</div>
</div>
<div class="main">
<?php $lib->printItemLists($section); ?>
</div>
<?php $lib->printNsfwCheck(); ?>
<footer>
<p>
© 2025 <a href="https://siskel.dev">SiskelDev</a>. All rights reserved.<br>
All trademarks are property of their respective owners in the US and other countries.<br>
Information displayed on furatalog.xyz is provided without any guarantee of accuracy or currency.
</p>
</footer>
<?php $lib->printScriptSec(); ?>
</body>
</html>
+54
View File
@@ -0,0 +1,54 @@
<?php
require_once("/var/www/furatalog-misc/furatalog.lib.php");
$lib = new furatalogLib();
$lib->init();
$section = 2;
?>
<!DOCTYPE html>
<html lang="en">
<head>
<?php echo file_get_contents("/var/www/furatalog-cdn/mainHead.html"); ?>
<title>Avatars - Furatalog.xyz</title>
</head>
<body>
<div class="navigation">
<a href="/">Home</a>
<a class="nocursor nohover">|</a>
<a href="/assets/" class="navitem">Assets</a>
<a href="/bases/" class="navitem">Avatar-Bases</a>
<a href="/avatars/" class="navitem active">Avatars</a>
<a href="/worlds/" class="navitem">Worlds</a>
<div class="dropdown">
<a class="dropbtn">▼</a>
<div class="dropdown-content">
<a href="/assets/">Assets</a>
<a href="/bases/">Avatar-Bases</a>
<a href="/avatars/" class="active">Avatars</a>
<a href="/worlds/">Worlds</a>
</div>
</div>
<div class="right">
<form action="./">
<input name="s" type="text" placeholder="Search 🔍" autoComplete='off' value="<?php echo $_GET["s"]; ?>">
</form>
</div>
</div>
<div class="main">
<?php $lib->printItemLists($section); ?>
</div>
<?php $lib->printNsfwCheck(); ?>
<footer>
<p>
© 2025 <a href="https://siskel.dev">SiskelDev</a>. All rights reserved.<br>
All trademarks are property of their respective owners in the US and other countries.<br>
Information displayed on furatalog.xyz is provided without any guarantee of accuracy or currency.
</p>
</footer>
<?php $lib->printScriptSec(); ?>
</body>
</html>
+54
View File
@@ -0,0 +1,54 @@
<?php
require_once("/var/www/furatalog-misc/furatalog.lib.php");
$lib = new furatalogLib();
$lib->init();
$section = 3;
?>
<!DOCTYPE html>
<html lang="en">
<head>
<?php echo file_get_contents("/var/www/furatalog-cdn/mainHead.html"); ?>
<title>Avatar-Bases - Furatalog.xyz</title>
</head>
<body>
<div class="navigation">
<a href="/">Home</a>
<a class="nocursor nohover">|</a>
<a href="/assets/" class="navitem">Assets</a>
<a href="/bases/" class="navitem active">Avatar-Bases</a>
<a href="/avatars/" class="navitem">Avatars</a>
<a href="/worlds/" class="navitem">Worlds</a>
<div class="dropdown">
<a class="dropbtn">▼</a>
<div class="dropdown-content">
<a href="/assets/">Assets</a>
<a href="/bases/">Avatar-Bases</a>
<a href="/avatars/" class="active">Avatars</a>
<a href="/worlds/">Worlds</a>
</div>
</div>
<div class="right">
<form action="./">
<input name="s" type="text" placeholder="Search 🔍" autoComplete='off' value="<?php echo $_GET["s"]; ?>">
</form>
</div>
</div>
<div class="main">
<?php $lib->printItemLists($section); ?>
</div>
<?php $lib->printNsfwCheck(); ?>
<footer>
<p>
© 2025 <a href="https://siskel.dev">SiskelDev</a>. All rights reserved.<br>
All trademarks are property of their respective owners in the US and other countries.<br>
Information displayed on furatalog.xyz is provided without any guarantee of accuracy or currency.
</p>
</footer>
<?php $lib->printScriptSec(); ?>
</body>
</html>
+11
View File
@@ -0,0 +1,11 @@
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
</head>
<body>
<iframe src="https://jinxxy.com/chaosfur/NovaCyberSpine" width="1000" height="500">
</body>
</html>
+28
View File
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://furatalog.xyz/</loc>
<lastmod>2025-05-14</lastmod>
<priority>1.0</priority>
</url>
<url>
<loc>https://furatalog.xyz/assets/</loc>
<lastmod>2025-05-14</lastmod>
<priority>0.8</priority>
</url>
<url>
<loc>https://furatalog.xyz/bases/</loc>
<lastmod>2025-05-14</lastmod>
<priority>0.8</priority>
</url>
<url>
<loc>https://furatalog.xyz/avatars/</loc>
<lastmod>2025-05-14</lastmod>
<priority>0.8</priority>
</url>
<url>
<loc>https://furatalog.xyz/worlds/</loc>
<lastmod>2025-05-14</lastmod>
<priority>0.8</priority>
</url>
</urlset>
+55
View File
@@ -0,0 +1,55 @@
let startX;
document.addEventListener('touchstart', function(event) {
if (event.touches.length > 1) {
event.preventDefault();
return;
}
startX = event.touches[0].clientX; // Get the starting X position
});
document.addEventListener('touchmove', function(event) {
if (event.touches.length > 1) {
event.preventDefault();
return;
}
const moveX = event.touches[0].clientX; // Get the current X position
const diffX = startX - moveX; // Calculate the difference
if (Math.abs(diffX) > 100) { // Check if the swipe is significant
document.getElementsByClassName("itemlist")[0].classList.add(diffX > 0 ? 'swipe-left' : 'swipe-right');
document.getElementsByClassName("itemlist")[1].classList.add(diffX > 0 ? 'swipe-left' : 'swipe-right');
try {
document.getElementsByClassName("itemlist")[2].classList.add(diffX > 0 ? 'swipe-left' : 'swipe-right');
} catch(err) {
}
setTimeout(() => {
if (diffX > 0) {
if (currentPage < (maxpages)) {
window.location.href = './' + nextpage;
}
} else {
if (currentPage > 1) {
window.location.href = './' + prevpage;
}
}
}, 500);
event.preventDefault();
}
});
document.addEventListener('transitionend', function() {
setTimeout(()=> {
document.getElementsByClassName("itemlist")[0].classList.remove('swipe-left', 'swipe-right');
document.getElementsByClassName("itemlist")[1].classList.remove('swipe-left', 'swipe-right');
try {
document.getElementsByClassName("itemlist")[2].classList.remove('swipe-left', 'swipe-right');
} catch(err) {
}
}, 300);
});
+29
View File
@@ -0,0 +1,29 @@
:root {
/** Base colors */
--clr-dark-a0: #000000;
--clr-light-a0: #ffffff;
/** Dark theme primary colors */
--clr-primary-a0: #00ff00;
--clr-primary-a10: #52ff3f;
--clr-primary-a20: #75ff5e;
--clr-primary-a30: #8fff78;
--clr-primary-a40: #a6ff90;
--clr-primary-a50: #baffa7;
/** Dark theme surface colors */
--clr-surface-a0: #121212;
--clr-surface-a10: #282828;
--clr-surface-a20: #3f3f3f;
--clr-surface-a30: #575757;
--clr-surface-a40: #717171;
--clr-surface-a50: #8b8b8b;
/** Dark theme tonal surface colors */
--clr-surface-tonal-a0: #1b2617;
--clr-surface-tonal-a10: #303a2c;
--clr-surface-tonal-a20: #475043;
--clr-surface-tonal-a30: #5e675b;
--clr-surface-tonal-a40: #777e74;
--clr-surface-tonal-a50: #91978e;
}
+972
View File
@@ -0,0 +1,972 @@
html, body {
color: var(--clr-light-a0);
background-color: var(--clr-surface-a0);
margin: 0px;
font-family: DM Sans, Roboto, -apple-system, Segoe UI, sans-serif;
overflow-x: hidden;
touch-action: pan-y;
transition: transform 0.5s ease;
max-width: 100%;
padding-top: 20px;
}
/* For Chrome, Edge, and Safari */
::-webkit-scrollbar {
width: 4px; /* Width of the scrollbar */
}
::-webkit-scrollbar-track {
background: var(--clr-surface-a10) /* Track color */
}
::-webkit-scrollbar-thumb {
background: var(--clr-surface-a40); /* Thumb color */
border-radius: 10px; /* Rounded corners */
}
::-webkit-scrollbar-thumb:hover {
background: var(--clr-surface-a50); /* Thumb color on hover */
}
/* For Firefox */
body {
scrollbar-color: var(--clr-surface-a50) var(--clr-surface-a10); /* Thumb color and track color */
scrollbar-width: thin; /* Makes the scrollbar thinner */
}
.swipe-left {
transform: translateX(-100%);
}
.swipe-right {
transform: translateX(100%);
}
.navigation {
width: 75%;
background-color: var(--clr-surface-a10);
color: var(--clr-light-a0);
padding: 10px 12.5%;
z-index: 100;
position: fixed;
top: 0;
height: 23px;
cursor: default;
}
.navigation a {
text-decoration: none;
color: var(--clr-light-a0);
font-weight: 800;
padding: 0px 10px;
font-size: 16px;
}
.navigation .right {
float: right;
top: -8px;
display: block;
position: relative;
}
.navigation .right input[type="text"] {
padding: 10px;
border: none;
border-radius: 5px;
background-color: var(--clr-surface-a10);
color: var(--clr-surface-a50);
font-size: 16px;
text-align: end;
height: 19px;
}
.navigation .active {
color: var(--clr-primary-a0);
}
.navigation .nocursor {
cursor: default;
}
.navigation .nohover:hover {
background-color: inherit !important;
}
.itemlist {
max-width: 80%;
justify-self: center;
width: 100%;
padding: 10px 10% 10px 10%;
display: grid;
justify-content: center;
justify-items: center;
grid-template-columns: repeat(5, 1fr);
grid-template-rows: 1fr;
grid-column-gap: 10px;
grid-row-gap: 10px;
transition: transform 0.5s ease;
background-color: var(--clr-surface-a0);
}
.itemlist .item-background {
left: 0;
right: 0;
z-index: 1;
display: block;
width: 100%;
height: 100%;
-webkit-filter: blur(5px);
-moz-filter: blur(5px);
-o-filter: blur(5px);
-ms-filter: blur(5px);
filter: blur(5px);
}
.itemlist .item {
/*background-color: var(--clr-surface-a10);*/
color: var(--clr-light-a0);
/*padding: 10px;*/
border-radius: 5px;
text-align: center;
cursor: pointer;
height: 100%;
backdrop-filter: blur(10px) brightness(50%);
background-position: center;
background-size: cover;
width: 100%;
}
.itemlist .item img {
width: 100%;
border-radius: 5px 5px 0px 0px;
aspect-ratio: 1 / 1;
object-fit: cover;
}
.itemlist .item a.price {
color: var(--clr-primary-a30);
font-weight: 700;
font-size: 16px;
}
.itemlist .item .item-info {
display: block;
color: var(--clr-light-a0);
padding: 10px;
border-radius: 5px;
text-align: center;
justify-items: center;
cursor: pointer;
z-index: 2;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: block;
}
.itemlist .item .item-info img {
width: 14px;
height: 14px;
border-radius: 50%;
object-fit: cover;
}
.itemlist .item .item-info .name {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: block;
text-align: center;
max-width: 100%;
width: 200px;
}
.itemlist .item .item-info .creator {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: block;
text-align: start;
max-width: 100%;
width: 150px;
margin-bottom: 5px;
}
.itemlist .item .item-info .info {
display: flex;
justify-content: space-between;
width: 95%;
margin-top: 15px;
}
.itemlist .item img.plattform {
height: 20px;
width: 20px;
border-radius: 50%;
object-fit: cover;
position: absolute;
top: 5px;
right: 5px;
}
.itemlist .item img.preview {
min-width: 100%;
}
.itemlist .item-container {
background-position: center;
background-size: cover;
border-radius: 5px;
width: 100%;
min-width: 100%;
}
.itemlistnext {
position: fixed;
top: 40px;
left: 100%;
}
.itemlistprev {
position: fixed;
top: 40px;
left: -100%;
}
.main {
max-width: 100%;
overflow: hidden;
width: 100%;
height: 100%;
display: grid;
}
.home {
margin-top: 80px;
justify-items: center;
}
.home p.desc {
max-width: 80%;
width: 80%;
text-align: center;
margin-bottom: 80px;
padding: 0px 10%;
}
.home h1 {
max-width: 80%;
width: 80%;
text-align: center;
padding: 0px 10%;
}
.select-section {
max-width: 60%;
justify-self: center;
width: 100%;
padding: 10px 20% 10px 20%;
display: grid;
justify-content: center;
justify-items: center;
grid-template-columns: repeat(2, 1fr);
grid-template-rows: 1fr;
grid-column-gap: 10px;
grid-row-gap: 10px;
transition: transform 0.5s ease;
}
.select-section .item-background {
left: 0;
right: 0;
z-index: 1;
display: block;
width: 100%;
height: 100%;
-webkit-filter: blur(5px);
-moz-filter: blur(5px);
-o-filter: blur(5px);
-ms-filter: blur(5px);
filter: blur(5px);
}
.select-section .section {
/*background-color: var(--clr-surface-a10);*/
color: var(--clr-light-a0);
/*padding: 10px;*/
border-radius: 5px;
text-align: center;
justify-items: center;
cursor: pointer;
height: 100%;
backdrop-filter: blur(3px) brightness(50%);
background-position: center;
background-size: cover;
width: 100%;
align-content: center;
}
.select-section .section .section-info {
color: var(--clr-light-a0);
padding: 10px;
border-radius: 5px;
text-align: center;
justify-items: center;
cursor: pointer;
z-index: 2;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: grid;
height: calc(100% - 20px);
}
.select-section .section .section-info p {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: block;
text-align: center;
max-width: 100%;
width: 100%;
margin-bottom: 5px;
text-decoration: none !important;
font-size: x-large;
align-self: center;
}
.select-section .section .section-info desc.desc {
font-size: large;
}
.select-section .selection-container {
background-position: center;
background-size: cover;
border-radius: 5px;
width: 100%;
min-height: 200px;
}
.select-section .selection-container a {
text-decoration: none;
}
.dropdown {
display: none;
position: relative;
}
.dropbtn {
background-color: var(--clr-surface-a10);
color: white;
padding: 14px 20px;
border: none;
cursor: pointer;
}
.dropdown-content {
padding-top: 10px;
border-radius: 5px;
display: none;
position: absolute;
background-color: var(--clr-surface-a10);
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
z-index: 1;
}
.dropdown-content a {
color: var(--clr-light-a0);
padding: 12px 16px;
text-decoration: none;
display: block;
}
.dropdown:hover .dropdown-content {
display: block;
}
footer {
position: static;
bottom: 0px;
background-color: var(--clr-black-a0);
color: var(--clr-surface-a50);
text-align: center;
padding: 20px;
margin-top: auto; /* Pushes footer to the bottom */
font-family: monospace, consolas, sans-serif;
font-size: 14px;
}
footer a {
color: var(--clr-primary-a30);
text-decoration: none;
}
.login-container {
max-width: 100%;
width: 40%;
justify-content: center;
justify-items: center;
transition: transform 0.5s ease;
background-color: var(--clr-surface-a0);
align-content: center;
height: 100%;
padding: 20% 30%;
}
.login-container form {
display: grid;
justify-content: center;
justify-items: center;
grid-template-columns: repeat(1, 1fr);
grid-template-rows: 1fr;
grid-column-gap: 10px;
grid-row-gap: 10px;
transition: transform 0.5s ease;
background-color: var(--clr-surface-a0);
}
.login-container form input[type="text"], .login-container form input[type="password"] {
padding: 10px;
border: none;
border-radius: 5px;
background-color: var(--clr-surface-a10);
color: var(--clr-surface-a50);
font-size: 16px;
text-align: start;
width: 100%;
margin-bottom: 10px;
}
.login-container form input[type="submit"] {
padding: 10px;
border: none;
border-radius: 5px;
background-color: var(--clr-primary-a0);
color: var(--clr-dark-a0);
font-size: 16px;
text-align: center;
width: 100%;
cursor: pointer;
}
.login-container .backbutton {
padding: 10px;
border: none;
border-radius: 5px;
color: var(--clr-surface-a20);
font-size: 16px;
text-align: center;
width: 100%;
cursor: pointer;
text-decoration: none;
}
/* The side navigation menu */
.sidebar {
margin: 0;
padding: 0;
width: 250px;
background-color: var(--clr-surface-a10);
position: fixed;
height: 100%;
overflow: auto;
}
/* Sidebar links */
.sidebar a {
display: block;
color: var(--clr-light-a0);
padding: 16px;
text-decoration: none;
}
/* Active/current link */
.sidebar a.active {
background-color: var(--clr-surface-a20);
color: var(--clr-primary-a0);
font-weight: 700;
}
/* Links on mouse-over */
.sidebar a:hover:not(.active) {
background-color: #555;
color: white;
}
/* Page content. The value of the margin-left property should match the value of the sidebar's width property */
div.content {
margin-left: 200px;
padding: 1px 16px;
height: calc(100% - 60px);
}
/* On screens that are less than 700px wide, make the sidebar into a topbar */
@media screen and (max-width: 700px) {
.sidebar {
width: 100%;
height: auto;
position: relative;
}
.sidebar a {
float: left;
}
div.content {
margin-left: 0;
}
.itemlist {
max-width: 99%;
}
}
/* On screens that are less than 400px, display the bar vertically, instead of horizontally */
@media screen and (max-width: 400px) {
.sidebar a {
text-align: center;
float: none;
}
}
.adminpanel {
max-width: 100%;
width: 100%;
justify-content: center;
justify-items: center;
transition: transform 0.5s ease;
background-color: var(--clr-surface-a0);
align-content: center;
height: 100%;
}
.insert {
height: 50%;
width: 100%;
align-content: center;
justify-items: center;
min-height: 550px;
}
.insert h2 {
text-align: center;
}
.insert form {
justify-content: center;
align-content: center;
transition: transform 0.5s ease;
background-color: var(--clr-surface-a0);
width: fit-content;
display: flex;
flex-direction: column;
flex-wrap: wrap;
}
.insert form input[type="text"] {
padding: 10px;
border: none;
border-radius: 5px;
background-color: var(--clr-surface-a10);
color: var(--clr-surface-a50);
font-size: 16px;
text-align: start;
margin-bottom: 10px;
}
.insert form input[type="submit"] {
padding: 10px;
border: none;
border-radius: 5px;
background-color: var(--clr-primary-a0);
color: var(--clr-dark-a0);
font-size: 16px;
text-align: center;
cursor: pointer;
}
.insert form select {
padding: 10px;
border: none;
border-radius: 5px;
background-color: var(--clr-surface-a10);
color: var(--clr-surface-a50);
font-size: 16px;
text-align: start;
margin-bottom: 10px;
}
.insert form input[type="checkbox"]#nsfw {
padding: 10px;
border: none;
border-radius: 5px;
background-color: var(--clr-surface-a10);
color: var(--clr-surface-a50);
font-size: 16px;
text-align: start;
margin-bottom: 10px;
}
.specieslist {
max-height: 300px;
overflow-y: scroll;
}
.insert-result {
height: 50%;
width: 100%;
justify-items: center;
}
.insert-result .summary {
display: flex;
flex-wrap: wrap;
flex-direction: row;
column-gap: 55px;
}
.insert-result .summary table {
border: 1px solid var(--clr-surface-a50);
border-radius: 5px;
}
.insert-result .summary table th {
border-bottom: 1px solid var(--clr-surface-a50);
}
.insert-result .summary table td {
border-bottom: 1px solid var(--clr-surface-a50);
border-left: 1px solid var(--clr-surface-a50);
padding: 0px 10px;
}
.insert-result .item-background {
left: 0;
right: 0;
z-index: 1;
display: block;
width: 100%;
height: 100%;
-webkit-filter: blur(5px);
-moz-filter: blur(5px);
-o-filter: blur(5px);
-ms-filter: blur(5px);
filter: blur(5px);
}
.insert-result .item {
/*background-color: var(--clr-surface-a10);*/
color: var(--clr-light-a0);
/*padding: 10px;*/
border-radius: 5px;
text-align: center;
cursor: pointer;
height: 100%;
backdrop-filter: blur(10px) brightness(50%);
background-position: center;
background-size: cover;
width: 100%;
}
.insert-result .item img {
width: 100%;
border-radius: 5px 5px 0px 0px;
aspect-ratio: 1 / 1;
object-fit: cover;
}
.insert-result .item a.price {
color: var(--clr-primary-a30);
font-weight: 700;
font-size: 16px;
}
.insert-result .item .item-info {
display: block;
color: var(--clr-light-a0);
padding: 10px;
border-radius: 5px;
text-align: center;
justify-items: center;
cursor: pointer;
z-index: 2;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: block;
}
.insert-result .item .item-info img {
width: 14px;
height: 14px;
border-radius: 50%;
object-fit: cover;
}
.insert-result .item .item-info .name {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: block;
text-align: center;
max-width: 100%;
width: 200px;
}
.insert-result .item .item-info .creator {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: block;
text-align: start;
max-width: 100%;
width: 150px;
margin-bottom: 5px;
}
.insert-result .item .item-info .info {
display: flex;
justify-content: space-between;
width: 95%;
margin-top: 15px;
}
.insert-result .item-container {
background-position: center;
background-size: cover;
border-radius: 5px;
margin-top: 30px;
height: 400px;
width: 310px;
margin-bottom: 50px;
}
.nsfwcheck {
padding: 10px;
border: none;
border-radius: 5px;
background-color: var(--clr-surface-a10);
color: var(--clr-light-a0);
font-size: 16px;
text-align: start;
margin-bottom: 10px;
width: inherit;
position: fixed;
bottom: 10px;
right: 10px;
display: flex;
align-items: center;
flex-direction: column;
}
.nsfwcheck a {
color: var(--clr-primary-a0);
text-decoration: none;
cursor: pointer;
padding: 0px 15px;
}
@media screen and (min-width: 2500px) {
.itemlist {
grid-template-columns: repeat(8, 1fr);
max-width: 90%;
width: 90%;
}
.navigation {
width: 90%;
padding: 10px 5%;
}
}
@media screen and (max-width: 1200px) {
.itemlist {
grid-template-columns: repeat(4, 1fr);
}
}
@media screen and (max-width: 1000px) {
.itemlist {
grid-template-columns: repeat(3, 1fr);
}
.select-section {
max-width: 95%;
width: 100%;
padding: 10px 10% 10px 10%;
grid-template-columns: repeat(2, 1fr);
}
.nsfwcheck {
width: 100%;
height: 100px;
bottom: 0px;
margin-bottom: 0px;
right: 0px;
margin-right: 0px;
border-radius: 0px;
font-size: 20px;
justify-content: center;
}
.nsfwcheck a {
font-size: 20px;
background: var(--clr-surface-a20);
border-radius: 5px;
padding: 5px 15px;
display: block;
margin: 0px 10px;
}
.nsfwcheck div.answers {
margin-top: 10px;
display: flex;
flex-direction: row;
}
}
@media screen and (max-width: 1000px) {
.dropdown {
display: inline-block;
}
.navitem {
display: none;
}
}
@media screen and (max-width: 700px) {
.itemlist {
grid-template-columns: repeat(2, 1fr);
}
.select-section {
max-width: 80%;
width: 100%;
padding: 10px 10% 10px 10%;
grid-template-columns: repeat(1, 1fr);
}
.navigation {
width: calc(100% - 20px);
padding: 10px 10px;
}
}
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

+109
View File
@@ -0,0 +1,109 @@
<?php
require_once("/var/www/furatalog-misc/furatalog.lib.php");
$lib = new furatalogLib();
$lib->init();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<?php echo file_get_contents("/var/www/furatalog-cdn/mainHead.html"); ?>
<title>Furatalog.xyz</title>
</head>
<body>
<div class="navigation">
<a href="/" class="active">Home</a>
<a class="nocursor nohover">|</a>
<a href="/assets/" class="navitem">Assets</a>
<a href="/bases/" class="navitem">Avatar-Bases</a>
<a href="/avatars/" class="navitem">Avatars</a>
<a href="/worlds/" class="navitem">Worlds</a>
<div class="dropdown">
<a class="dropbtn">▼</a>
<div class="dropdown-content">
<a href="/assets/">Assets</a>
<a href="/bases/">Avatar-Bases</a>
<a href="/avatars/">Avatars</a>
<a href="/worlds/">Worlds</a>
</div>
</div>
<div class="right">
<form action="./">
<input name="s" type="text" placeholder="Search 🔍" autoComplete='off' value="<?php echo $_GET["s"]; ?>">
</form>
</div>
</div>
<?php
if (isset($_GET["s"]) && $_GET["s"] != "") {
echo "<div class=\"main\">";
$lib->printItemLists("");
echo "</div>";
$lib->printScriptSec();
} else {
echo "<div class=\"main\">
<div class=\"home\">
<h1>Welcome to Furatalog.xyz</h1>
<p class=\"desc\">Here you can find a collection of Furry-Assets, Furry-Avatars, and Worlds for VRChat. Use the navigation bar to get started or click on one of the items below!</p>
<div class=\"select-section\">
<div class='selection-container' style=\"background-image: url('https://public-files.gumroad.com/ffgjnu1jmnc5oxnxhlqx9aj2huhu')\">
<a href='/assets/'>
<div class='section'>
<div class='section-info'>
<p>Furry Assets</p>
<desc>Assets to put on Avatars</desc>
</div>
</div>
</a>
</div>
<div class='selection-container' style=\"background-image: url('https://booth.pximg.net/63bb113e-c342-4a1d-9041-17363a0b3811/i/4615547/9639d0fc-d290-4bb3-9418-0840b75c97eb_base_resized.jpg')\">
<a href='/avatars/'>
<div class='section'>
<div class='section-info'>
<p>Furry Avatars</p>
<desc>Preset Avatars, Ready for Upload</desc>
</div>
</div>
</a>
</div>
<div class='selection-container' style=\"background-image: url('https://public-files.gumroad.com/a6iwxttouelpic5r2396wl7kmib1')\">
<a href='/bases/'>
<div class='section'>
<div class='section-info'>
<p>Furry Bases</p>
<desc>Just the Base Model</desc>
</div>
</div>
</a>
</div>
<div class='selection-container' style=\"background-image: url('https://public-files.gumroad.com/6s31pw5838bavkhdrgckizymduw7')\">
<a href='/worlds/'>
<div class='section'>
<div class='section-info'>
<p>Worlds</p>
<desc>Preset Worlds, Ready for Upload</desc>
</div>
</div>
</a>
</div>
</div>
</div>
</div>";
}
?>
<?php $lib->printNsfwCheck(); ?>
<footer>
<p>
© 2025 <a href="https://siskel.dev">SiskelDev</a>. All rights reserved.<br>
All trademarks are property of their respective owners in the US and other countries.<br>
Information displayed on furatalog.xyz is provided without any guarantee of accuracy or currency.
</p>
</footer>
</body>
</html>
+58
View File
@@ -0,0 +1,58 @@
<?php
require_once("/var/www/furatalog-misc/furatalog.lib.php");
$lib = new furatalogLib();
$lib->init();
if (isset($_POST["url"]) && $_POST) {
$url = $_POST["url"];
$url = str_replace("'","\'", $url);
$url = str_replace("\"","\\\"", $url);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<?php echo file_get_contents("/var/www/furatalog-cdn/mainHead.html"); ?>
<title>Furatalog.xyz</title>
</head>
<body>
<div class="navigation">
<a href="/" class="active">Home</a>
<a class="nocursor nohover">|</a>
<a href="/assets/" class="navitem">Assets</a>
<a href="/bases/" class="navitem">Avatar-Bases</a>
<a href="/avatars/" class="navitem">Avatars</a>
<a href="/worlds/" class="navitem">Worlds</a>
<div class="dropdown">
<a class="dropbtn">▼</a>
<div class="dropdown-content">
<a href="/assets/">Assets</a>
<a href="/bases/">Avatar-Bases</a>
<a href="/avatars/">Avatars</a>
<a href="/worlds/">Worlds</a>
</div>
</div>
<div class="right">
<form action="./">
<input name="s" type="text" placeholder="Search 🔍" autoComplete='off' value="<?php echo $_GET["s"]; ?>">
</form>
</div>
</div>
<div class="main">
<form action="/submit/" method="post">
<input type="text" name="url">
</form>
</div>
<footer>
<p>
© 2025 <a href="https://siskel.dev">SiskelDev</a>. All rights reserved.<br>
All trademarks are property of their respective owners in the US and other countries.<br>
Information displayed on furatalog.xyz is provided without any guarantee of accuracy or currency.
</p>
</footer>
</body>
</html>
+56
View File
@@ -0,0 +1,56 @@
<?php
require_once("/var/www/furatalog-misc/furatalog.lib.php");
$lib = new furatalogLib();
$lib->init();
$section = 4;
?>
<!DOCTYPE html>
<html lang="en">
<head>
<?php echo file_get_contents("/var/www/furatalog-cdn/mainHead.html"); ?>
<title>Worlds - Furatalog.xyz</title>
</head>
<body>
<div class="navigation">
<a href="/">Home</a>
<a class="nocursor nohover">|</a>
<a href="/assets/" class="navitem">Assets</a>
<a href="/bases/" class="navitem">Avatar-Bases</a>
<a href="/avatars/" class="navitem">Avatars</a>
<a href="/worlds/" class="navitem active">Worlds</a>
<div class="dropdown">
<a class="dropbtn">▼</a>
<div class="dropdown-content">
<a href="/assets/">Assets</a>
<a href="/bases/">Avatar-Bases</a>
<a href="/avatars/">Avatars</a>
<a href="/worlds/" class="active">Worlds</a>
</div>
</div>
<div class="right">
<form action="./">
<input name="s" type="text" placeholder="Search 🔍" autoComplete='off' value="<?php echo $_GET["s"]; ?>">
</form>
</div>
</div>
<div class="main">
<?php $lib->printItemLists($section); ?>
</div>
<?php $lib->printNsfwCheck(); ?>
<footer>
<p>
© 2025 <a href="https://siskel.dev">SiskelDev</a>. All rights reserved.<br>
All trademarks are property of their respective owners in the US and other countries.<br>
Information displayed on furatalog.xyz is provided without any guarantee of accuracy or currency.
</p>
</footer>
<?php $lib->printScriptSec(); ?>
</body>
</html>