Gazelle/sections/ajax/better/single.php
2012-03-29 08:00:19 +00:00

52 lines
1.4 KiB
PHP

<?
if(($GroupIDs = $Cache->get_value('better_single_groupids')) === false) {
$DB->query("SELECT t.ID AS TorrentID,
t.GroupID AS GroupID
FROM xbt_files_users AS x
JOIN torrents AS t ON t.ID=x.fid
WHERE t.Format='FLAC'
GROUP BY x.fid
HAVING COUNT(x.uid) = 1
ORDER BY t.LogScore DESC, t.Time ASC LIMIT 30");
$GroupIDs = $DB->to_array('GroupID');
$Cache->cache_value('better_single_groupids', $GroupIDs, 30*60);
}
$Results = get_groups(array_keys($GroupIDs));
$Results = $Results['matches'];
$JsonResults = array();
foreach ($Results as $GroupID=>$Group) {
list($GroupID, $GroupName, $GroupYear, $GroupRecordLabel, $GroupCatalogueNumber, $TagList, $ReleaseType, $GroupVanityHouse, $Torrents, $Artists) = array_values($Group);
$FlacID = $GroupIDs[$GroupID]['TorrentID'];
$JsonArtists = array();
if(count($Artists)>0) {
foreach ($Artists as $Artist) {
$JsonArtists[] = array(
'id' => (int) $Artist['id'],
'name' => $Artist['name'],
'aliasId' => (int) $Artist['aliasid']
);
}
}
$JsonResults[] = array(
'torrentId' => (int) $FlacID,
'groupId' => (int) $GroupID,
'artist' => $JsonArtists,
'groupName' => $GroupName,
'groupYear' => (int) $GroupYear,
'downloadUrl' => 'torrents.php?action=download&id='.$FlacID.'&authkey='.$LoggedUser['AuthKey'].'&torrent_pass='.$LoggedUser['torrent_pass']
);
}
print json_encode(
array(
'status' => 'success',
'response' => $JsonResults
)
);