added the scripts
This commit is contained in:
@@ -0,0 +1,373 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
class contentObject {
|
||||||
|
public string $name;
|
||||||
|
public string $price;
|
||||||
|
public string $rating;
|
||||||
|
public int $creator_id;
|
||||||
|
public int $currency_id;
|
||||||
|
public string $url;
|
||||||
|
public string $image;
|
||||||
|
public int $nsfw;
|
||||||
|
public int $section;
|
||||||
|
|
||||||
|
public function __construct() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
class furatalogLib {
|
||||||
|
private $databaseConnection;
|
||||||
|
private $secureGET;
|
||||||
|
public $maxpages;
|
||||||
|
|
||||||
|
private $fs;
|
||||||
|
|
||||||
|
public function init() {
|
||||||
|
error_reporting(E_ERROR | E_PARSE);
|
||||||
|
require_once("/var/www/furatalog/data/script/furatalog.sessions.php");
|
||||||
|
$this->fs = new furatalogSessions();
|
||||||
|
|
||||||
|
//$cookieLifetime = 60 * 60 * 24 * 30;
|
||||||
|
//session_set_cookie_params($cookieLifetime);
|
||||||
|
|
||||||
|
//ini_set('session.gc_maxlifetime', $cookieLifetime);
|
||||||
|
|
||||||
|
if (isset($_GET["nsfw"])) {
|
||||||
|
if ($_GET["nsfw"] == "0") {
|
||||||
|
$this->fs->setSessionData("nsfw", false);
|
||||||
|
} else if ($_GET["nsfw"] == "1") {
|
||||||
|
$this->fs->setSessionData("nsfw", true);
|
||||||
|
}
|
||||||
|
|
||||||
|
$tempUrl = $_SERVER['REQUEST_URI'];
|
||||||
|
$tempUrl = str_replace('?nsfw=0','', $tempUrl);
|
||||||
|
$tempUrl = str_replace('?nsfw=1','', $tempUrl);
|
||||||
|
$tempUrl = str_replace('&nsfw=0','', $tempUrl);
|
||||||
|
$tempUrl = str_replace('&nsfw=1','', $tempUrl);
|
||||||
|
|
||||||
|
header("Location: " . $tempUrl);
|
||||||
|
die();
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->databaseConnection = new mysqli("10.0.0.100", "furatalog_usr", "1yRNpaUtXu[cw@-m", "furatalog");
|
||||||
|
$_GET["moin"] = "hi";
|
||||||
|
$this->secureGET = $_GET;
|
||||||
|
|
||||||
|
foreach ($this->secureGET as $query_string_variable => $value) {
|
||||||
|
$newValue = str_replace('"', '\"', $value);
|
||||||
|
$newValue = str_replace("'", "\'", $newValue);
|
||||||
|
$newValue = str_replace(";", "", $newValue);
|
||||||
|
$newValue = str_replace("`", "", $newValue);
|
||||||
|
|
||||||
|
$this->secureGET[$query_string_variable] = $newValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function getCreatorID($creatorURL) {
|
||||||
|
$creatorURL = implode('/', array_slice(explode('/', $creatorURL), 0, 3));
|
||||||
|
$creatorRequestResult = $this->databaseConnection->query("SELECT * FROM creator WHERE `gumroad_url`='" . $creatorURL . "'");
|
||||||
|
|
||||||
|
if ($creatorRequestResult->num_rows > 0) {
|
||||||
|
$creatorID = $creatorRequestResult->fetch_assoc()["id"];
|
||||||
|
} else {
|
||||||
|
$string = file_get_contents($creatorURL);
|
||||||
|
|
||||||
|
$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;
|
||||||
|
$creatorpicture = $finder->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' profile ')]")[0]->childNodes[0]->childNodes[0]->childNodes[0]->attributes[1]->textContent;
|
||||||
|
|
||||||
|
$this->databaseConnection->query("INSERT INTO `creator` (`id`, `name`, `pb_url`, `booth_url`, `gumroad_url`, `payhip_url`, `jinxxy_url`) VALUES (NULL, '" . str_replace("'", "\'", $creatorName) . "', '" . $creatorpicture . "', '', '" . $creatorURL . "', '', '')");
|
||||||
|
|
||||||
|
$creatorResult = $this->databaseConnection->query("SELECT id FROM `creator` WHERE gumroad_url='" . $creatorURL . "'");
|
||||||
|
|
||||||
|
$creatorID = $creatorResult->fetch_assoc()["id"];
|
||||||
|
}
|
||||||
|
|
||||||
|
return (string)$creatorID;
|
||||||
|
}
|
||||||
|
|
||||||
|
private function getCurrencyID($currencySymbol) {
|
||||||
|
$result = $this->databaseConnection->query("SELECT id FROM currency WHERE symbol='" . $currencySymbol . "'");
|
||||||
|
$currencyID = $result->fetch_assoc()["id"];
|
||||||
|
|
||||||
|
return (int)$currencyID;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getItems($section, $page = 1) {
|
||||||
|
if (!isset($this->secureGET["s"])) {
|
||||||
|
$this->secureGET["s"] = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->secureGET["s"] = rtrim($this->secureGET["s"]);
|
||||||
|
$whereRequest = "";
|
||||||
|
|
||||||
|
|
||||||
|
if (isset($this->secureGET["s"])) {
|
||||||
|
$searchSplitArray = explode(" ", $this->secureGET["s"]);
|
||||||
|
|
||||||
|
foreach ($searchSplitArray as $key => $value) {
|
||||||
|
//$tmpVal = str_replace("'","\'", $value);
|
||||||
|
$tmpVal = preg_replace("/[^a-zA-Z0-9\s]/", "", $value);
|
||||||
|
|
||||||
|
if ($whereRequest != "") {
|
||||||
|
$whereRequest .= " AND ";
|
||||||
|
}
|
||||||
|
|
||||||
|
//$tmpVal = implode('%', str_split($tmpVal));
|
||||||
|
$newtmpVal = "";
|
||||||
|
|
||||||
|
|
||||||
|
$maxStringPos = strlen($tmpVal);
|
||||||
|
$currentStringPos = 1;
|
||||||
|
foreach (str_split($tmpVal) as $key2 => $value2) {
|
||||||
|
if ($currentStringPos < $maxStringPos) {
|
||||||
|
$newtmpVal .= $value2 . "[^" . $value2 . "]{0,2}";
|
||||||
|
} else {
|
||||||
|
$newtmpVal .= $value2;
|
||||||
|
}
|
||||||
|
$currentStringPos++;
|
||||||
|
}
|
||||||
|
|
||||||
|
$tmpVal = $newtmpVal;
|
||||||
|
|
||||||
|
|
||||||
|
$whereRequest .= "(content.name REGEXP '" . $tmpVal . "' OR
|
||||||
|
creator.name REGEXP '" . $tmpVal . "'
|
||||||
|
" . ($section==1 ?
|
||||||
|
" OR species.name REGEXP '" . $tmpVal . "' OR species.tag REGEXP '" . $tmpVal . "') " :
|
||||||
|
")") . "";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$whereRequest .= "(content.name LIKE '%%' OR
|
||||||
|
creator.name LIKE '%%'
|
||||||
|
" . ($section==1 ?
|
||||||
|
" OR species.name LIKE '%%' OR species.tag LIKE '%%') " :
|
||||||
|
")") . "";
|
||||||
|
}
|
||||||
|
|
||||||
|
$tmp = $this->databaseConnection->query("
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
content.id as 'content_id',
|
||||||
|
content.name as 'content_name',
|
||||||
|
content.price as 'content_price',
|
||||||
|
content.rating as 'content_rating',
|
||||||
|
content.url as 'content_url',
|
||||||
|
content.image as 'content_image',
|
||||||
|
|
||||||
|
currency.currency as 'currency_currency',
|
||||||
|
currency.symbol as 'currency_symbol',
|
||||||
|
`currency`.`font-awesome` as 'currency_fontawesome',
|
||||||
|
|
||||||
|
creator.name as 'creator_name',
|
||||||
|
creator.pb_url as 'creator_pb_url'
|
||||||
|
|
||||||
|
" . ($section==1?",
|
||||||
|
species.name as 'species_name'":"") . "
|
||||||
|
|
||||||
|
FROM `content`
|
||||||
|
JOIN creator ON content.creator_id=creator.id
|
||||||
|
JOIN currency ON content.currency_id=currency.id
|
||||||
|
" . ($section==1?"
|
||||||
|
JOIN content_species ON content.id=content_species.content_id
|
||||||
|
JOIN species ON content_species.species_id=species.id":"") . "
|
||||||
|
WHERE
|
||||||
|
" . $whereRequest . "
|
||||||
|
|
||||||
|
AND (content.section LIKE \"%" . $section . "%\"
|
||||||
|
" . (($this->fs->issetSessionData("nsfw") && $this->fs->getSessionData("nsfw")==true) ? '' : 'AND content.nsfw = 0') . ")
|
||||||
|
|
||||||
|
GROUP BY content.id
|
||||||
|
|
||||||
|
ORDER BY content.id DESC
|
||||||
|
|
||||||
|
LIMIT " . ($page - 1) * 40 . ", 40;
|
||||||
|
|
||||||
|
");
|
||||||
|
|
||||||
|
$total = $this->databaseConnection->query("
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
content.id as 'content_id',
|
||||||
|
content.name as 'content_name',
|
||||||
|
content.price as 'content_price',
|
||||||
|
content.rating as 'content_rating',
|
||||||
|
content.url as 'content_url',
|
||||||
|
content.image as 'content_image',
|
||||||
|
|
||||||
|
currency.currency as 'currency_currency',
|
||||||
|
currency.symbol as 'currency_symbol',
|
||||||
|
`currency`.`font-awesome` as 'currency_fontawesome',
|
||||||
|
|
||||||
|
creator.name as 'creator_name',
|
||||||
|
creator.pb_url as 'creator_pb_url'
|
||||||
|
|
||||||
|
" . ($section==1?",
|
||||||
|
species.name as 'species_name'":"") . "
|
||||||
|
|
||||||
|
FROM `content`
|
||||||
|
JOIN creator ON content.creator_id=creator.id
|
||||||
|
JOIN currency ON content.currency_id=currency.id
|
||||||
|
" . ($section==1?"
|
||||||
|
JOIN content_species ON content.id=content_species.content_id
|
||||||
|
JOIN species ON content_species.species_id=species.id":"") . "
|
||||||
|
WHERE
|
||||||
|
" . $whereRequest . "
|
||||||
|
|
||||||
|
AND (content.section LIKE \"%" . $section . "%\"
|
||||||
|
" . (($this->fs->issetSessionData("nsfw") && $this->fs->getSessionData("nsfw")==true) ? '' : 'AND content.nsfw = 0') . ")
|
||||||
|
GROUP BY content.id
|
||||||
|
");
|
||||||
|
|
||||||
|
$this->maxpages = (ceil((int)$total->num_rows / 40));
|
||||||
|
|
||||||
|
$items = array();
|
||||||
|
|
||||||
|
while ($row = $tmp->fetch_assoc()) {
|
||||||
|
$items[] = $row;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $items;
|
||||||
|
}
|
||||||
|
|
||||||
|
function printScriptSec() {
|
||||||
|
$currentpage = (isset($_GET["p"]) ? $_GET["p"] : 1);
|
||||||
|
$search=isset($_GET["s"]) ? "&s=" . $_GET["s"] : "";
|
||||||
|
$nextpage=isset($_GET["p"]) ? $_GET["p"] : 1;
|
||||||
|
$prevpage=isset($_GET["p"]) ? $_GET["p"] : 1;
|
||||||
|
|
||||||
|
echo "
|
||||||
|
<script>
|
||||||
|
var currentPage = \"" . $currentpage . "\";
|
||||||
|
var nextpage = \"?p=" . $nextpage+1 . $search . "\";
|
||||||
|
var prevpage = \"?p=" . $prevpage-1 . $search . "\";
|
||||||
|
var maxpages = " . $this->maxpages . ";
|
||||||
|
</script>
|
||||||
|
<script src=\"/data/script/script.js\"></script>
|
||||||
|
";
|
||||||
|
}
|
||||||
|
|
||||||
|
function printItemLists($section) {
|
||||||
|
echo "<div class=\"itemlist\">";
|
||||||
|
$page = isset($_GET["p"]) ? $_GET["p"] : 1;
|
||||||
|
$this->printItemList($section, $page);
|
||||||
|
echo "</div>";
|
||||||
|
|
||||||
|
echo "<div class=\"itemlist itemlistnext\">";
|
||||||
|
$page = isset($_GET["p"]) ? ((int)$_GET["p"] + 1) : 2;
|
||||||
|
$this->printItemList($section, $page);
|
||||||
|
echo "</div>";
|
||||||
|
|
||||||
|
if (isset($_GET["p"]) && ((int)$_GET["p"]) >= 2) {
|
||||||
|
echo "<div class=\"itemlist itemlistprev\">";
|
||||||
|
$page = isset($_GET["p"]) ? ((int)$_GET["p"] - 1) : 0;
|
||||||
|
$this->printItemList($section, $page);
|
||||||
|
echo "</div>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function printItemList($section, $page) {
|
||||||
|
$items = $this->getItems($section, $page);
|
||||||
|
|
||||||
|
foreach ($items as $item) {
|
||||||
|
$currency = $item["currency_fontawesome"]=="" ? $item["currency_symbol"] : $item["currency_fontawesome"];
|
||||||
|
|
||||||
|
if (str_contains($item["content_url"],"gumroad")) {
|
||||||
|
$plattform = "https://assets.gumroad.com/assets/pink-icon-c5f5013768a1da41246e70403f02afc8b34ac89c20f3ba2dd0a01f3973027700.png";
|
||||||
|
} else if (str_contains($item["content_url"],"booth")) {
|
||||||
|
$plattform = "https://asset.booth.pm/favicon.ico";
|
||||||
|
} else if (str_contains($item["content_url"],"payhip")) {
|
||||||
|
$plattform = "https://payhip.com/images/designv2/favicon/favicon-196x196.png";
|
||||||
|
} else if (str_contains($item["content_url"],"jinxxy")) {
|
||||||
|
$plattform = "https://jinxxy.com/static/favicons/favicon.ico";
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "<div class='item-container' style=\"background-image: url('". $item["content_image"] ."')\">
|
||||||
|
<a href='". $item["content_url"] ."'><div class='item'>
|
||||||
|
<img class='plattform' src='". $plattform ."'>
|
||||||
|
<img class='preview' src='". $item["content_image"] ."'>
|
||||||
|
<div class='item-info'>
|
||||||
|
<a class='name' title='". $item["content_name"] ."'>". $item["content_name"] ."</a>
|
||||||
|
<div class='info'>
|
||||||
|
<a class='creator'>
|
||||||
|
<img src=\"". $item["creator_pb_url"] ."\">
|
||||||
|
". $item["creator_name"] ."
|
||||||
|
</a>
|
||||||
|
<a class=\"price\">" . sprintf("%.2f", (double)($item["content_price"] / 100)) . " " . $currency ."</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div></a>
|
||||||
|
</div>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function printNsfwCheck() {
|
||||||
|
if ($this->fs->issetSessionData("nsfw") && $this->fs->getSessionData("nsfw") == true) {
|
||||||
|
echo '';
|
||||||
|
} else if ($this->fs->issetSessionData("nsfw") && $this->fs->getSessionData("nsfw") == false) {
|
||||||
|
echo '';
|
||||||
|
} else {
|
||||||
|
// Base URL
|
||||||
|
$url = "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
|
||||||
|
|
||||||
|
// New parameter to add
|
||||||
|
$newParam = "nsfw=";
|
||||||
|
|
||||||
|
// Check if the URL already has query parameters
|
||||||
|
if (strpos($url, '?') !== false) {
|
||||||
|
// Append with '&'
|
||||||
|
$url .= '&' . $newParam;
|
||||||
|
} else {
|
||||||
|
// Append with '?'
|
||||||
|
$url .= '?' . $newParam;
|
||||||
|
}
|
||||||
|
|
||||||
|
echo '
|
||||||
|
<div class="nsfwcheck">
|
||||||
|
<span>Do you want to see NSFW content?</span>
|
||||||
|
<div class="answers">
|
||||||
|
<a href="' . $url . '1">Yes</a>
|
||||||
|
<a href="' . $url . '0">No</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function printPagerNumbers() {
|
||||||
|
$currentpage = (isset($_GET["p"]) ? $_GET["p"] : 1);
|
||||||
|
$currentMaxPages = $this->maxpages;
|
||||||
|
$search=isset($_GET["s"]) ? "&s=" . $_GET["s"] : "";
|
||||||
|
|
||||||
|
$before = "";
|
||||||
|
|
||||||
|
if (!($currentpage <= 1)) {
|
||||||
|
echo "<a class=\"prev\" href=\"?p=" . (1) . $search . "\"><<</a>";
|
||||||
|
echo "<a class=\"prev\" href=\"?p=" . ($currentpage-1) . $search . "\"><</a>";
|
||||||
|
}
|
||||||
|
|
||||||
|
for ($i = $currentpage-1; ($i > 0 && $i > ($currentpage-3)); $i--) {
|
||||||
|
if (($i+1) == 1) return;
|
||||||
|
$before = "<a class=\"number\" href=\"?p=" . $i . $search . "\">" . $i . "</a>" . $before;
|
||||||
|
}
|
||||||
|
|
||||||
|
echo $before;
|
||||||
|
|
||||||
|
echo "<a class=\"number current\">" . $currentpage . "</a>";
|
||||||
|
|
||||||
|
for ($i = $currentpage+1; ($i <= $currentMaxPages && $i < ($currentpage+3)); $i++) {
|
||||||
|
if ($currentMaxPages == $currentpage) return;
|
||||||
|
echo "<a class=\"number\" href=\"?p=" . $i . $search . "\">" . $i . "</a>";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!($currentpage >= $currentMaxPages)) {
|
||||||
|
echo "<a class=\"next\" href=\"?p=" . ($currentpage+1) . $search . "\">></a>";
|
||||||
|
echo "<a class=\"next\" href=\"?p=" . ($currentMaxPages) . $search . "\">>></a>";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,135 @@
|
|||||||
|
<?php
|
||||||
|
//$fs = new furatalogSessions();
|
||||||
|
|
||||||
|
//$fs->setSessionData("nsfw", true);
|
||||||
|
//$fs->getSessionData("nsfw");
|
||||||
|
|
||||||
|
class furatalogSessions {
|
||||||
|
public $cookieKey = "";
|
||||||
|
public $dataObj;
|
||||||
|
private mysqli $db;
|
||||||
|
private $cookie_duration = 30 * 24 * 60 * 60;
|
||||||
|
|
||||||
|
public function __construct() {
|
||||||
|
$this->dataObj = (object) array();
|
||||||
|
$this->connectDb();
|
||||||
|
$this->getCookieKey();
|
||||||
|
$this->getData();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function setSessionData($varName, $content) {
|
||||||
|
$this->dataObj->{$varName} = $content;
|
||||||
|
$this->saveToDb();
|
||||||
|
$this->saveCookie();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getSessionData($varName) {
|
||||||
|
try {
|
||||||
|
return $this->dataObj->{$varName};
|
||||||
|
} catch (Exception $e) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function unsetSessionData($varName) {
|
||||||
|
unset($this->dataObj->{$varName});
|
||||||
|
$this->saveToDb();
|
||||||
|
$this->saveCookie();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function issetSessionData($varName) {
|
||||||
|
return isset($this->dataObj->{$varName});
|
||||||
|
}
|
||||||
|
|
||||||
|
public function destroy() {
|
||||||
|
$this->deleteData($this->cookieKey);
|
||||||
|
$this->deleteCookie();
|
||||||
|
}
|
||||||
|
|
||||||
|
private function saveToDb() {
|
||||||
|
$jsonDataToSave = json_encode($this->dataObj, JSON_HEX_TAG | JSON_HEX_APOS | JSON_HEX_QUOT | JSON_HEX_AMP | JSON_UNESCAPED_UNICODE);
|
||||||
|
|
||||||
|
$tmpresult = $this->db->query("SELECT cookieKey FROM `sessions` WHERE cookieKey=\"" . $this->cookieKey . "\"");
|
||||||
|
if (!($tmpresult->num_rows > 0)) {
|
||||||
|
$this->db->query("INSERT INTO `sessions`(`cookieKey`, `lastused`, `data`) VALUES ('" . $this->cookieKey . "', now(),'" . $jsonDataToSave . "')");
|
||||||
|
} else {
|
||||||
|
$this->db->query("UPDATE `sessions` SET lastused=now(), data='" . $jsonDataToSave . "' WHERE cookieKey=\"" . $this->cookieKey . "\";");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function saveCookie() {
|
||||||
|
setcookie("_cookieKey", $this->cookieKey, [
|
||||||
|
'expires' => time() + $this->cookie_duration,
|
||||||
|
'path' => '/',
|
||||||
|
'domain' => 'furatalog.xyz',
|
||||||
|
'secure' => true,
|
||||||
|
'httponly' => false
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function connectDb() {
|
||||||
|
$this->db = new mysqli("10.0.0.100", "furatalog_admin_usr", "NR6tLk7c56bPT5[]", "furatalog");
|
||||||
|
}
|
||||||
|
|
||||||
|
private function getCookieKey() {
|
||||||
|
$this->cookieKey = isset($_COOKIE["_cookieKey"]) ? $_COOKIE["_cookieKey"] : "";
|
||||||
|
|
||||||
|
if ($this->cookieKey == "") {
|
||||||
|
$this->cookieKey = $this->generateKey();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function getData() {
|
||||||
|
$tmpresult = $this->db->query("SELECT id, cookieKey, UNIX_TIMESTAMP(lastused) as lastused, data FROM sessions WHERE cookieKey=\"" . $this->cookieKey . "\"");
|
||||||
|
if ($tmpresult->num_rows > 0) {
|
||||||
|
$fetchedData = $tmpresult->fetch_assoc();
|
||||||
|
|
||||||
|
if ($fetchedData["lastused"] < strtotime('-30 days')) {
|
||||||
|
$this->deleteData($fetchedData["cookieKey"]);
|
||||||
|
$this->deleteCookie();
|
||||||
|
$this->getCookieKey();
|
||||||
|
} else {
|
||||||
|
$this->dataObj = json_decode($fetchedData["data"]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function deleteCookie() {
|
||||||
|
setcookie("_cookieKey", "", [
|
||||||
|
'expires' => time()-3600,
|
||||||
|
'path' => '/',
|
||||||
|
'domain' => 'furatalog.xyz',
|
||||||
|
'secure' => true,
|
||||||
|
'httponly' => false
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function deleteData($cookieKey) {
|
||||||
|
if ($cookieKey != "" && $cookieKey != null) {
|
||||||
|
$tmpresult = $this->db->query("DELETE FROM sessions WHERE cookieKey=\"" . $cookieKey . "\"");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private function generateKey() {
|
||||||
|
$isNotInDB = false;
|
||||||
|
|
||||||
|
do {
|
||||||
|
$length = 20;
|
||||||
|
$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
|
||||||
|
$charactersLength = strlen($characters);
|
||||||
|
$randomString = '';
|
||||||
|
|
||||||
|
for ($i = 0; $i < $length; $i++) {
|
||||||
|
$randomString .= $characters[random_int(0, $charactersLength - 1)];
|
||||||
|
}
|
||||||
|
|
||||||
|
$tmpresult = $this->db->query("SELECT cookieKey FROM `sessions` WHERE cookieKey=\"" . $randomString . "\"");
|
||||||
|
if (!($tmpresult->num_rows > 0)) {
|
||||||
|
$isNotInDB = true;
|
||||||
|
}
|
||||||
|
} while (!$isNotInDB);
|
||||||
|
|
||||||
|
return $randomString;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user