Gazelle/sections/collages/manage_artists_handle.php

77 lines
1.8 KiB
PHP
Raw Normal View History

2013-05-25 08:01:03 +00:00
<?php
authorize();
$CollageID = $_POST['collageid'];
if (!is_number($CollageID)) {
error(404);
}
2013-07-13 08:00:46 +00:00
$DB->query("
SELECT UserID, CategoryID
FROM collages
WHERE ID = '$CollageID'");
2013-05-25 08:01:03 +00:00
list($UserID, $CategoryID) = $DB->next_record();
2013-07-13 08:00:46 +00:00
if ($CategoryID === '0' && $UserID !== $LoggedUser['ID'] && !check_perms('site_collages_delete')) {
2013-05-25 08:01:03 +00:00
error(403);
}
2013-07-13 08:00:46 +00:00
if ($CategoryID !== array_search(ARTIST_COLLAGE, $CollageCats)) {
2013-05-25 08:01:03 +00:00
error(403);
}
$ArtistID = $_POST['artistid'];
if (!is_number($ArtistID)) {
error(404);
}
2013-07-13 08:00:46 +00:00
if ($_POST['submit'] === 'Remove') {
$DB->query("
DELETE FROM collages_artists
WHERE CollageID = '$CollageID'
AND ArtistID = '$ArtistID'");
2013-05-25 08:01:03 +00:00
$Rows = $DB->affected_rows();
2013-07-13 08:00:46 +00:00
$DB->query("
UPDATE collages
SET NumTorrents = NumTorrents - $Rows
WHERE ID = '$CollageID'");
$Cache->delete_value("artists_collages_$ArtistID");
$Cache->delete_value("artists_collages_personal_$ArtistID");
2013-05-25 08:01:03 +00:00
} elseif (isset($_POST['drag_drop_collage_sort_order'])) {
@parse_str($_POST['drag_drop_collage_sort_order'], $Series);
$Series = @array_shift($Series);
if (is_array($Series)) {
$SQL = array();
foreach ($Series as $Sort => $ArtistID) {
if (is_number($Sort) && is_number($ArtistID)) {
$Sort = ($Sort + 1) * 10;
$SQL[] = sprintf('(%d, %d, %d)', $ArtistID, $Sort, $CollageID);
}
}
2013-07-13 08:00:46 +00:00
$SQL = '
INSERT INTO collages_artists
(ArtistID, Sort, CollageID)
VALUES
' . implode(', ', $SQL) . '
2013-09-06 08:00:41 +00:00
ON DUPLICATE KEY UPDATE
Sort = VALUES (Sort)';
2013-05-25 08:01:03 +00:00
$DB->query($SQL);
}
} else {
$Sort = $_POST['sort'];
if (!is_number($Sort)) {
error(404);
}
2013-05-26 08:00:59 +00:00
$DB->query("
UPDATE collages_artists
2013-07-13 08:00:46 +00:00
SET Sort = '$Sort'
WHERE CollageID = '$CollageID'
AND ArtistID = '$ArtistID'");
2013-05-25 08:01:03 +00:00
}
2013-07-13 08:00:46 +00:00
$Cache->delete_value("collage_$CollageID");
header("Location: collages.php?action=manage_artists&collageid=$CollageID");