mirror of
https://github.com/YGGverse/YGGtracker.git
synced 2025-01-23 05:04:14 +00:00
keep magnet star history by add value field, update for distribution and reaction features
This commit is contained in:
parent
18f0c5d14e
commit
32884e1733
Binary file not shown.
@ -1344,28 +1344,17 @@ class Database {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Magnet star
|
// 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++;
|
$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();
|
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 {
|
public function findMagnetStarsTotalByMagnetId(int $magnetId) : int {
|
||||||
|
|
||||||
$this->_debug->query->select->total++;
|
$this->_debug->query->select->total++;
|
||||||
@ -1388,26 +1377,15 @@ class Database {
|
|||||||
return $query->fetch()->result;
|
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++;
|
$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]);
|
$query->execute([$magnetId, $userId]);
|
||||||
|
|
||||||
return $query->fetch()->result;
|
return $query->rowCount() ? (bool) $query->fetch()->value : false;
|
||||||
}
|
|
||||||
|
|
||||||
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();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Magnet download
|
// Magnet download
|
||||||
|
@ -420,16 +420,13 @@ switch (isset($_GET['target']) ? urldecode($_GET['target']) : false)
|
|||||||
// Request valid
|
// Request valid
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Star exists, trigger delete
|
// Save value
|
||||||
if ($db->findMagnetStarsTotal($magnet->magnetId, $userId))
|
$db->addMagnetStar(
|
||||||
{
|
$magnet->magnetId,
|
||||||
$db->deleteMagnetStarByUserId($magnet->magnetId, $userId);
|
$userId,
|
||||||
}
|
!$db->findLastMagnetStarValue($magnet->magnetId, $userId),
|
||||||
else
|
time()
|
||||||
{
|
);
|
||||||
// Star not exists, trigger add
|
|
||||||
$db->addMagnetStar($magnet->magnetId, $userId, time());
|
|
||||||
}
|
|
||||||
|
|
||||||
// Redirect to edit page
|
// Redirect to edit page
|
||||||
header(
|
header(
|
||||||
|
@ -144,7 +144,7 @@ else
|
|||||||
'star' => (object)
|
'star' => (object)
|
||||||
[
|
[
|
||||||
'total' => $db->findMagnetStarsTotalByMagnetId($magnet->magnetId),
|
'total' => $db->findMagnetStarsTotalByMagnetId($magnet->magnetId),
|
||||||
'status' => $db->findMagnetStarsTotal($magnet->magnetId, $userId),
|
'status' => $db->findLastMagnetStarValue($magnet->magnetId, $userId),
|
||||||
],
|
],
|
||||||
'access' => (object)
|
'access' => (object)
|
||||||
[
|
[
|
||||||
@ -253,14 +253,6 @@ echo '<?xml version="1.0" encoding="UTF-8"?>' . PHP_EOL ?>
|
|||||||
<path fill-rule="evenodd" d="M1 13.5A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-6a.5.5 0 0 0-1 0v6a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11a.5.5 0 0 1 .5-.5H9a.5.5 0 0 0 0-1H2.5A1.5 1.5 0 0 0 1 2.5v11z"/>
|
<path fill-rule="evenodd" d="M1 13.5A1.5 1.5 0 0 0 2.5 15h11a1.5 1.5 0 0 0 1.5-1.5v-6a.5.5 0 0 0-1 0v6a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-11a.5.5 0 0 1 .5-.5H9a.5.5 0 0 0 0-1H2.5A1.5 1.5 0 0 0 1 2.5v11z"/>
|
||||||
</svg>
|
</svg>
|
||||||
</a>
|
</a>
|
||||||
<?php } else { ?>
|
|
||||||
<!-- TODO
|
|
||||||
<a class="text-color-pink margin-l-12" rel="nofollow" href="<?php echo WEBSITE_URL ?>/action.php?target=magnet&toggle=report&magnetId=<?php echo $magnet->magnetId ?>&callback=<?php echo base64_encode(sprintf('%s/index.php?query=%s#magnet-%s', WEBSITE_URL, urlencode($request->query), $magnet->magnetId)) ?>" title="<?php echo _('Report') ?>">
|
|
||||||
<svg class="text-color-pink" xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-flag" viewBox="0 0 16 16">
|
|
||||||
<path d="M14.778.085A.5.5 0 0 1 15 .5V8a.5.5 0 0 1-.314.464L14.5 8l.186.464-.003.001-.006.003-.023.009a12.435 12.435 0 0 1-.397.15c-.264.095-.631.223-1.047.35-.816.252-1.879.523-2.71.523-.847 0-1.548-.28-2.158-.525l-.028-.01C7.68 8.71 7.14 8.5 6.5 8.5c-.7 0-1.638.23-2.437.477A19.626 19.626 0 0 0 3 9.342V15.5a.5.5 0 0 1-1 0V.5a.5.5 0 0 1 1 0v.282c.226-.079.496-.17.79-.26C4.606.272 5.67 0 6.5 0c.84 0 1.524.277 2.121.519l.043.018C9.286.788 9.828 1 10.5 1c.7 0 1.638-.23 2.437-.477a19.587 19.587 0 0 0 1.349-.476l.019-.007.004-.002h.001M14 1.221c-.22.078-.48.167-.766.255-.81.252-1.872.523-2.734.523-.886 0-1.592-.286-2.203-.534l-.008-.003C7.662 1.21 7.139 1 6.5 1c-.669 0-1.606.229-2.415.478A21.294 21.294 0 0 0 3 1.845v6.433c.22-.078.48-.167.766-.255C4.576 7.77 5.638 7.5 6.5 7.5c.847 0 1.548.28 2.158.525l.028.01C9.32 8.29 9.86 8.5 10.5 8.5c.668 0 1.606-.229 2.415-.478A21.317 21.317 0 0 0 14 7.655V1.222z"/>
|
|
||||||
</svg>
|
|
||||||
</a>
|
|
||||||
-->
|
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
</div>
|
</div>
|
||||||
<?php if ($magnet->metaDescription) { ?>
|
<?php if ($magnet->metaDescription) { ?>
|
||||||
@ -319,7 +311,7 @@ echo '<?xml version="1.0" encoding="UTF-8"?>' . PHP_EOL ?>
|
|||||||
</span>
|
</span>
|
||||||
<?php } ?>
|
<?php } ?>
|
||||||
<span class="float-right margin-l-12">
|
<span class="float-right margin-l-12">
|
||||||
<a rel="nofollow" href="<?php echo WEBSITE_URL ?>/action.php?target=magnet&toggle=star&magnetId=<?php echo $magnet->magnetId ?>&callback=<?php echo base64_encode(sprintf('%s/index.php?query=%s#magnet-%s', WEBSITE_URL, urlencode($request->query), $magnet->magnetId)) ?>" title="<?php echo _('Star') ?>">
|
<a rel="nofollow" href="<?php echo WEBSITE_URL ?>/action.php?target=magnet&toggle=star&magnetId=<?php echo $magnet->magnetId ?>&callback=<?php echo base64_encode(sprintf('%s/magnet.php?magnetId=%s', WEBSITE_URL, $magnet->magnetId)) ?>" title="<?php echo _('Star') ?>">
|
||||||
<?php if ($magnet->star->status) { ?>
|
<?php if ($magnet->star->status) { ?>
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-star-fill" viewBox="0 0 16 16">
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-star-fill" viewBox="0 0 16 16">
|
||||||
<path d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z"/>
|
<path d="M3.612 15.443c-.386.198-.824-.149-.746-.592l.83-4.73L.173 6.765c-.329-.314-.158-.888.283-.95l4.898-.696L7.538.792c.197-.39.73-.39.927 0l2.184 4.327 4.898.696c.441.062.612.636.282.95l-3.522 3.356.83 4.73c.078.443-.36.79-.746.592L8 13.187l-4.389 2.256z"/>
|
||||||
|
@ -132,7 +132,7 @@ else
|
|||||||
'star' => (object)
|
'star' => (object)
|
||||||
[
|
[
|
||||||
'total' => $db->findMagnetStarsTotalByMagnetId($magnet->magnetId),
|
'total' => $db->findMagnetStarsTotalByMagnetId($magnet->magnetId),
|
||||||
'status' => $db->findMagnetStarsTotal($magnet->magnetId, $userId),
|
'status' => $db->findLastMagnetStarValue($magnet->magnetId, $userId),
|
||||||
],
|
],
|
||||||
'access' => (object)
|
'access' => (object)
|
||||||
[
|
[
|
||||||
|
Loading…
x
Reference in New Issue
Block a user