Gazelle/sections/torrents/delete_alias.php

70 lines
2.1 KiB
PHP
Raw Normal View History

2011-03-28 14:21:28 +00:00
<?
$ArtistID = db_string($_GET['artistid']);
$GroupID = db_string($_GET['groupid']);
2012-02-23 08:00:18 +00:00
$Importance = db_string($_GET['importance']);
2011-03-28 14:21:28 +00:00
2013-05-01 08:00:16 +00:00
if (!is_number($ArtistID) || !is_number($GroupID) || !is_number($Importance)) {
2011-03-28 14:21:28 +00:00
error(404);
}
2013-05-01 08:00:16 +00:00
if (!check_perms('torrents_edit')) {
2011-03-28 14:21:28 +00:00
error(403);
}
2013-07-04 08:00:56 +00:00
$DB->query("
DELETE FROM torrents_artists
WHERE GroupID = '$GroupID'
AND ArtistID = '$ArtistID'
AND Importance = '$Importance'");
$DB->query("
SELECT Name
FROM artists_group
WHERE ArtistID = $ArtistID");
2012-07-25 08:00:15 +00:00
list($ArtistName) = $DB->next_record(MYSQLI_NUM, false);
2011-03-28 14:21:28 +00:00
2013-07-04 08:00:56 +00:00
$DB->query("
SELECT Name
FROM torrents_group
WHERE ID = $GroupID");
2012-07-25 08:00:15 +00:00
list($GroupName) = $DB->next_record(MYSQLI_NUM, false);
2011-03-28 14:21:28 +00:00
2013-07-04 08:00:56 +00:00
// Get a count of how many groups or requests use this artist ID
$DB->query("
SELECT ag.ArtistID
FROM artists_group as ag
LEFT JOIN requests_artists AS ra ON ag.ArtistID = ra.ArtistID
WHERE ra.ArtistID IS NOT NULL
AND ag.ArtistID = $ArtistID");
2011-03-28 14:21:28 +00:00
$ReqCount = $DB->record_count();
2013-07-04 08:00:56 +00:00
$DB->query("
SELECT ag.ArtistID
FROM artists_group as ag
LEFT JOIN torrents_artists AS ta ON ag.ArtistID = ta.ArtistID
WHERE ta.ArtistID IS NOT NULL
AND ag.ArtistID = $ArtistID");
2011-03-28 14:21:28 +00:00
$GroupCount = $DB->record_count();
2013-05-01 08:00:16 +00:00
if (($ReqCount + $GroupCount) == 0) {
2013-07-04 08:00:56 +00:00
// The only group to use this artist
2012-10-11 08:00:15 +00:00
Artists::delete_artist($ArtistID);
2011-03-28 14:21:28 +00:00
}
2013-07-04 08:00:56 +00:00
$DB->query("
INSERT INTO torrents_group (ID, NumArtists)
2013-02-22 08:00:24 +00:00
SELECT ta.GroupID, COUNT(ta.ArtistID)
FROM torrents_artists AS ta
2013-07-04 08:00:56 +00:00
WHERE ta.GroupID = '$GroupID'
AND ta.Importance = '1'
2013-02-22 08:00:24 +00:00
GROUP BY ta.GroupID
ON DUPLICATE KEY UPDATE
2013-07-04 08:00:56 +00:00
NumArtists = VALUES (NumArtists);");
2011-03-28 14:21:28 +00:00
2013-07-04 08:00:56 +00:00
$Cache->delete_value("torrents_details_$GroupID"); // Delete torrent group cache
$Cache->delete_value("groups_artists_$GroupID"); // Delete group artist cache
Misc::write_log('Artist ('.$ArtistTypes[$Importance].") $ArtistID ($ArtistName) was removed from the group $GroupID ($GroupName) by user ".$LoggedUser['ID'].' ('.$LoggedUser['Username'].')');
Torrents::write_group_log($GroupID, 0, $LoggedUser['ID'], "removed artist $ArtistName (".$ArtistTypes[$Importance].')', 0);
2011-03-28 14:21:28 +00:00
2012-10-11 08:00:15 +00:00
Torrents::update_hash($GroupID);
2013-07-04 08:00:56 +00:00
$Cache->delete_value("artist_groups_$ArtistID");
2011-03-28 14:21:28 +00:00
header('Location: '.$_SERVER['HTTP_REFERER']);
?>