From 32884e173328a2de1d6cc37d700c46724f88158f Mon Sep 17 00:00:00 2001 From: ghost Date: Tue, 12 Sep 2023 01:52:12 +0300 Subject: [PATCH] keep magnet star history by add value field, update for distribution and reaction features --- database/yggtracker.mwb | Bin 29826 -> 30116 bytes src/library/database.php | 34 ++++++---------------------------- src/public/action.php | 17 +++++++---------- src/public/index.php | 12 ++---------- src/public/magnet.php | 2 +- 5 files changed, 16 insertions(+), 49 deletions(-) diff --git a/database/yggtracker.mwb b/database/yggtracker.mwb index 75b7bf5035829e35c453121449c8f97acdaeadbd..fd1d697e79b9665b3d1de3770a9c241f4bb589dd 100644 GIT binary patch literal 30116 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

vI9SNQC5?X7*TbR~7iZzH$%+G+$cnqf~yf@>o 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 UkuyKY)55~V$;iaU%<0wt0E+sRz5oCK diff --git a/src/library/database.php b/src/library/database.php index a6e986b..05bf6b9 100644 --- a/src/library/database.php +++ b/src/library/database.php @@ -1344,28 +1344,17 @@ class Database { } // Magnet star - public function addMagnetStar(int $magnetId, int $userId, int $timeAdded) : int { + public function addMagnetStar(int $magnetId, int $userId, bool $value, int $timeAdded) : int { $this->_debug->query->insert->total++; - $query = $this->_db->prepare('INSERT INTO `magnetStar` SET `magnetId` = ?, `userId` = ?, `timeAdded` = ?'); + $query = $this->_db->prepare('INSERT INTO `magnetStar` SET `magnetId` = ?, `userId` = ?, `value` = ?, `timeAdded` = ?'); - $query->execute([$magnetId, $userId, $timeAdded]); + $query->execute([$magnetId, $userId, (int) $value, $timeAdded]); return $this->_db->lastInsertId(); } - public function deleteMagnetStarByUserId(int $magnetId, int $userId) : int { - - $this->_debug->query->delete->total++; - - $query = $this->_db->prepare('DELETE FROM `magnetStar` WHERE `magnetId` = ? AND `userId` = ?'); - - $query->execute([$magnetId, $userId]); - - return $query->rowCount(); - } - public function findMagnetStarsTotalByMagnetId(int $magnetId) : int { $this->_debug->query->select->total++; @@ -1388,26 +1377,15 @@ class Database { return $query->fetch()->result; } - public function findMagnetStarsTotal(int $magnetId, int $userId) : int { + public function findLastMagnetStarValue(int $magnetId, int $userId) : bool { $this->_debug->query->select->total++; - $query = $this->_db->prepare('SELECT COUNT(*) AS `result` FROM `magnetStar` WHERE `magnetId` = ? AND `userId` = ?'); + $query = $this->_db->prepare('SELECT * FROM `magnetStar` WHERE `magnetId` = ? AND `userId` = ? ORDER BY `magnetStarId` DESC'); $query->execute([$magnetId, $userId]); - return $query->fetch()->result; - } - - public function findMagnetStarByUserId(int $magnetId, int $userId) : int { - - $this->_debug->query->select->total++; - - $query = $this->_db->prepare('SELECT * FROM `magnetStar` WHERE `magnetId` = ? AND `userId` = ?'); - - $query->execute([$magnetId, $userId]); - - return $query->fetch(); + return $query->rowCount() ? (bool) $query->fetch()->value : false; } // Magnet download diff --git a/src/public/action.php b/src/public/action.php index 833a222..818eb22 100644 --- a/src/public/action.php +++ b/src/public/action.php @@ -420,16 +420,13 @@ switch (isset($_GET['target']) ? urldecode($_GET['target']) : false) // Request valid else { - // Star exists, trigger delete - if ($db->findMagnetStarsTotal($magnet->magnetId, $userId)) - { - $db->deleteMagnetStarByUserId($magnet->magnetId, $userId); - } - else - { - // Star not exists, trigger add - $db->addMagnetStar($magnet->magnetId, $userId, time()); - } + // Save value + $db->addMagnetStar( + $magnet->magnetId, + $userId, + !$db->findLastMagnetStarValue($magnet->magnetId, $userId), + time() + ); // Redirect to edit page header( diff --git a/src/public/index.php b/src/public/index.php index 27d14bc..9a87120 100644 --- a/src/public/index.php +++ b/src/public/index.php @@ -144,7 +144,7 @@ else 'star' => (object) [ 'total' => $db->findMagnetStarsTotalByMagnetId($magnet->magnetId), - 'status' => $db->findMagnetStarsTotal($magnet->magnetId, $userId), + 'status' => $db->findLastMagnetStarValue($magnet->magnetId, $userId), ], 'access' => (object) [ @@ -253,14 +253,6 @@ echo '' . PHP_EOL ?> - - metaDescription) { ?> @@ -319,7 +311,7 @@ echo '' . PHP_EOL ?> - + star->status) { ?> diff --git a/src/public/magnet.php b/src/public/magnet.php index c725625..3c1118e 100644 --- a/src/public/magnet.php +++ b/src/public/magnet.php @@ -132,7 +132,7 @@ else 'star' => (object) [ 'total' => $db->findMagnetStarsTotalByMagnetId($magnet->magnetId), - 'status' => $db->findMagnetStarsTotal($magnet->magnetId, $userId), + 'status' => $db->findLastMagnetStarValue($magnet->magnetId, $userId), ], 'access' => (object) [