function get_requests($RequestIDs, $Return = true) { global $DB, $Cache; $Found = array_flip($RequestIDs); $NotFound = array_flip($RequestIDs); foreach($RequestIDs as $RequestID) { $Data = $Cache->get_value('request_'.$RequestID); if(!empty($Data)) { unset($NotFound[$RequestID]); $Found[$RequestID] = $Data; } } $IDs = implode(',',array_flip($NotFound)); /* Don't change without ensuring you change everything else that uses get_requests() */ if(count($NotFound) > 0) { $DB->query("SELECT r.ID AS ID, r.UserID, u.Username, r.TimeAdded, r.LastVote, r.CategoryID, r.Title, r.Year, r.Image, r.Description, r.CatalogueNumber, r.ReleaseType, r.BitrateList, r.FormatList, r.MediaList, r.LogCue, r.FillerID, filler.Username, r.TorrentID, r.TimeFilled FROM requests AS r LEFT JOIN users_main AS u ON u.ID=r.UserID LEFT JOIN users_main AS filler ON filler.ID=FillerID AND FillerID!=0 WHERE r.ID IN (".$IDs.") ORDER BY ID"); $Requests = $DB->to_array(); foreach($Requests as $Request) { unset($NotFound[$Request['ID']]); $Request['Tags'] = get_request_tags($Request['ID']); $Found[$Request['ID']] = $Request; $Cache->cache_value('request_'.$Request['ID'], $Request, 0); } } if($Return) { // If we're interested in the data, and not just caching it $Matches = array('matches'=>$Found, 'notfound'=>array_flip($NotFound)); return $Matches; } }
$DB->query("SELECT r.ID AS RequestID, r.CategoryID, r.Title AS Title, r.Year, r.CatalogueNumber, r.ReleaseType, r.Image FROM requests AS r WHERE r.ID=".$_GET['requestid']); list($Properties) = $DB->to_array(false,MYSQLI_BOTH); $UploadForm = $Categories[$Properties['CategoryID']-1]; $Properties['CategoryName'] = $Categories[$Properties['CategoryID']-1]; $Properties['Artists'] = get_request_artists($_GET['requestid']); $Properties['TagList'] = implode(", ", get_request_tags($_GET['requestid'])); } if(!empty($ArtistForm)) { $Properties['Artists'] = $ArtistForm; } require(SERVER_ROOT.'/classes/class_torrent_form.php'); $TorrentForm = new TORRENT_FORM($Properties, $Err); if(!isset($Text)) { include(SERVER_ROOT.'/classes/class_text.php'); // Text formatting class $Text = new TEXT; } $GenreTags = $Cache->get_value('genre_tags');
$CategoryName = $Categories[$CategoryID - 1]; $IsFilled = ($TorrentID != 0); if($CategoryName == "Music") { $ArtistForm = get_request_artists($RequestID); $ArtistLink = display_artists($ArtistForm, true, true); $FullName = $ArtistLink."<a href='requests.php?action=view&id=".$RequestID."'>".$Title." [".$Year."]</a>"; } else if($CategoryName == "Audiobooks" || $CategoryName == "Comedy") { $FullName = "<a href='requests.php?action=view&id=".$RequestID."'>".$Title." [".$Year."]</a>"; } else { $FullName ="<a href='requests.php?action=view&id=".$RequestID."'>".$Title."</a>"; } $Row = ($Row == 'a') ? 'b' : 'a'; $Tags = get_request_tags($RequestID); ?> <tr class="row<?php echo $Row; ?> "> <td> <?php echo $FullName; ?> <div class="tags"> <? $TagList = array(); foreach($Tags as $TagID => $TagName) { $TagList[] = "<a href='requests.php?tag=".$TagID."'>".display_str($TagName)."</a>"; }