Gazelle/sections/bookmarks/add.php
2013-07-10 00:08:53 +00:00

103 lines
2.9 KiB
PHP

<?
include(SERVER_ROOT.'/classes/feed.class.php'); // RSS feeds
include(SERVER_ROOT.'/classes/text.class.php'); // strip_bbcode
authorize();
if (!Bookmarks::can_bookmark($_GET['type'])) {
error(404);
}
$Feed = new FEED;
$Text = new TEXT;
$Type = $_GET['type'];
list($Table, $Col) = Bookmarks::bookmark_schema($Type);
if (!is_number($_GET['id'])) {
error(0);
}
$DB->query("
SELECT UserID
FROM $Table
WHERE UserID='$LoggedUser[ID]'
AND $Col='".db_string($_GET['id'])."'");
if (!$DB->has_results()) {
if ($Type === 'torrent') {
$DB->query('
SELECT MAX(Sort)
FROM `bookmarks_torrents`
WHERE UserID = ' . $LoggedUser['ID']);
list($Sort) = $DB->next_record();
if (!$Sort) $Sort = 0;
$Sort += 1;
$DB->query("
INSERT IGNORE INTO $Table (UserID, $Col, Time, Sort)
VALUES ('$LoggedUser[ID]', '".db_string($_GET['id'])."', '".sqltime()."', $Sort)");
} else {
$DB->query("
INSERT IGNORE INTO $Table (UserID, $Col, Time)
VALUES ('$LoggedUser[ID]', '".db_string($_GET['id'])."', '".sqltime()."')");
}
$Cache->delete_value('bookmarks_'.$Type.'_'.$LoggedUser['ID']);
if ($Type == 'torrent') {
$Cache->delete_value('bookmarks_group_ids_' . $UserID);
$GroupID = (int) $_GET['id'];
$DB->query("
SELECT Name, Year, WikiBody, TagList
FROM torrents_group
WHERE ID = '$GroupID'");
list($GroupTitle, $Year, $Body, $TagList) = $DB->next_record();
$TagList = str_replace('_', '.', $TagList);
$DB->query("
SELECT ID, Format, Encoding, HasLog, HasCue, LogScore, Media, Scene, FreeTorrent, UserID
FROM torrents
WHERE GroupID = '$GroupID'");
// RSS feed stuff
while ($Torrent = $DB->next_record()) {
$Title = $GroupTitle;
list($TorrentID, $Format, $Bitrate, $HasLog, $HasCue, $LogScore, $Media, $Scene, $Freeleech, $UploaderID) = $Torrent;
$Title .= " [$Year] - ";
$Title .= "$Format / $Bitrate";
if ($HasLog == "'1'") {
$Title .= ' / Log';
}
if ($HasLog) {
$Title .= " / $LogScore%";
}
if ($HasCue == "'1'") {
$Title .= ' / Cue';
}
$Title .= ' / '.trim($Media);
if ($Scene == '1') {
$Title .= ' / Scene';
}
if ($Freeleech == '1') {
$Title .= ' / Freeleech!';
}
if ($Freeleech == '2') {
$Title .= ' / Neutral leech!';
}
$UploaderInfo = Users::user_info($UploaderID);
$Item = $Feed->item($Title,
$Text->strip_bbcode($Body),
'torrents.php?action=download&amp;authkey=[[AUTHKEY]]&amp;torrent_pass=[[PASSKEY]]&amp;id='.$TorrentID,
$UploaderInfo['Username'],
"torrents.php?id=$GroupID",
trim($TagList));
$Feed->populate('torrents_bookmarks_t_'.$LoggedUser['torrent_pass'], $Item);
}
} elseif ($Type == 'request') {
$DB->query("
SELECT UserID
FROM $Table
WHERE $Col = '".db_string($_GET['id'])."'");
$Bookmarkers = $DB->collect('UserID');
$SS->UpdateAttributes('requests requests_delta', array('bookmarker'), array($_GET['id'] => array($Bookmarkers)), true);
}
}