mirror of
https://github.com/WhatCD/Gazelle.git
synced 2024-12-13 19:06:27 +00:00
88 lines
2.2 KiB
PHP
88 lines
2.2 KiB
PHP
<?
|
|
//******************************************************************************//
|
|
//--------------- Vote on a request --------------------------------------------//
|
|
//This page is ajax!
|
|
|
|
if (!check_perms('site_vote')) {
|
|
error(403);
|
|
}
|
|
|
|
authorize();
|
|
|
|
if (empty($_GET['id']) || !is_number($_GET['id'])) {
|
|
error(0);
|
|
}
|
|
|
|
$RequestID = $_GET['id'];
|
|
|
|
if (empty($_GET['amount']) || !is_number($_GET['amount']) || $_GET['amount'] < $MinimumVote) {
|
|
$Amount = $MinimumVote;
|
|
} else {
|
|
$Amount = $_GET['amount'];
|
|
}
|
|
|
|
$Bounty = ($Amount * (1 - $RequestTax));
|
|
|
|
$DB->query("
|
|
SELECT TorrentID
|
|
FROM requests
|
|
WHERE ID = $RequestID");
|
|
list($Filled) = $DB->next_record();
|
|
|
|
if ($LoggedUser['BytesUploaded'] >= $Amount && $Filled === '0') {
|
|
|
|
// Create vote!
|
|
$DB->query("
|
|
INSERT IGNORE INTO requests_votes
|
|
(RequestID, UserID, Bounty)
|
|
VALUES
|
|
($RequestID, ".$LoggedUser['ID'].", $Bounty)");
|
|
|
|
if ($DB->affected_rows() < 1) {
|
|
//Insert failed, probably a dupe vote, just increase their bounty.
|
|
$DB->query("
|
|
UPDATE requests_votes
|
|
SET Bounty = (Bounty + $Bounty)
|
|
WHERE UserID = ".$LoggedUser['ID']."
|
|
AND RequestID = $RequestID");
|
|
echo 'dupe';
|
|
}
|
|
|
|
|
|
|
|
$DB->query("
|
|
UPDATE requests
|
|
SET LastVote = NOW()
|
|
WHERE ID = $RequestID");
|
|
|
|
$Cache->delete_value("request_$RequestID");
|
|
$Cache->delete_value("request_votes_$RequestID");
|
|
|
|
$ArtistForm = Requests::get_artists($RequestID);
|
|
foreach ($ArtistForm as $Importance) {
|
|
foreach ($Importance as $Artist) {
|
|
$Cache->delete_value('artists_requests_'.$Artist['id']);
|
|
}
|
|
}
|
|
|
|
// Subtract amount from user
|
|
$DB->query("
|
|
UPDATE users_main
|
|
SET Uploaded = (Uploaded - $Amount)
|
|
WHERE ID = ".$LoggedUser['ID']);
|
|
$Cache->delete_value('user_stats_'.$LoggedUser['ID']);
|
|
|
|
Requests::update_sphinx_requests($RequestID);
|
|
echo 'success';
|
|
$DB->query("SELECT UserID FROM requests_votes WHERE RequestID = '$RequestID' AND UserID != '$LoggedUser[ID]'");
|
|
$UserIDs = array();
|
|
while (list($UserID) = $DB->next_record()) {
|
|
$UserIDs[] = $UserID;
|
|
}
|
|
NotificationsManager::notify_users($UserIDs, NotificationsManager::REQUESTALERTS, Format::get_size($Amount) . " of bounty has been added to a request you've voted on!", "requests.php?action=view&id=" . $RequestID);
|
|
} elseif ($LoggedUser['BytesUploaded'] < $Amount) {
|
|
echo 'bankrupt';
|
|
}
|
|
|
|
?>
|