Empty commit

This commit is contained in:
Git 2013-07-10 00:08:53 +00:00
parent 186c5ca897
commit 3b10c502d6
168 changed files with 2148 additions and 1588 deletions

View File

@ -63,7 +63,7 @@ function article($ArticleID, $Error = true) {
LEFT JOIN users_main AS u ON u.ID=w.Author LEFT JOIN users_main AS u ON u.ID=w.Author
WHERE w.ID='$ArticleID' WHERE w.ID='$ArticleID'
GROUP BY w.ID"); GROUP BY w.ID");
if (!$DB->record_count() && $Error) { if (!$DB->has_results() && $Error) {
error(404); error(404);
} }
$Contents = $DB->to_array(); $Contents = $DB->to_array();

View File

@ -62,7 +62,7 @@ function set_up() {
ORDER BY ass.Score DESC ORDER BY ass.Score DESC
LIMIT 14"); LIMIT 14");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
return; return;
} }

View File

@ -41,7 +41,7 @@ function make_tree() {
AND TreePosition > $TreePosition AND TreePosition > $TreePosition
ORDER BY TreePosition ASC ORDER BY TreePosition ASC
LIMIT 1"); LIMIT 1");
if ($DB->record_count()) { if ($DB->has_results()) {
list($MaxPosition) = $DB->next_record(MYSQLI_NUM, false); list($MaxPosition) = $DB->next_record(MYSQLI_NUM, false);
} else { } else {
$MaxPosition = false; $MaxPosition = false;

View File

@ -5,20 +5,20 @@ class LastFM {
public static function get_artist_events($ArtistID, $Artist, $Limit = 15) { public static function get_artist_events($ArtistID, $Artist, $Limit = 15) {
global $Cache; global $Cache;
$ArtistEvents = $Cache->get_value('artist_events_' . $ArtistID); $ArtistEvents = $Cache->get_value("artist_events_$ArtistID");
if (empty($ArtistEvents)) { if (empty($ArtistEvents)) {
$ArtistEvents = self::lastfm_request("artist.getEvents", array("artist" => $Artist, "limit" => $Limit)); $ArtistEvents = self::lastfm_request("artist.getEvents", array("artist" => $Artist, "limit" => $Limit));
$Cache->cache_value('artist_events_' . $ArtistID, $ArtistEvents, 432000); $Cache->cache_value("artist_events_$ArtistID", $ArtistEvents, 432000);
} }
return $ArtistEvents; return $ArtistEvents;
} }
public static function get_user_info($Username) { public static function get_user_info($Username) {
global $Cache; global $Cache;
$Response = $Cache->get_value('lastfm_user_info_' . $Username); $Response = $Cache->get_value("lastfm_user_info_$Username");
if (empty($Response)) { if (empty($Response)) {
$Response = self::lastfm_request("user.getInfo", array("user" => $Username)); $Response = self::lastfm_request("user.getInfo", array("user" => $Username));
$Cache->cache_value('lastfm_user_info_' . $Username, $Response, 86400); $Cache->cache_value("lastfm_user_info_$Username", $Response, 86400);
} }
return $Response; return $Response;
} }
@ -29,7 +29,7 @@ public static function compare_user_with($Username1, $Limit = 15) {
SELECT username SELECT username
FROM lastfm_users FROM lastfm_users
WHERE ID = '$LoggedUser[ID]'"); WHERE ID = '$LoggedUser[ID]'");
if ($DB->record_count() > 0) { if ($DB->has_results()) {
list($Username2) = $DB->next_record(); list($Username2) = $DB->next_record();
//Make sure the usernames are in the correct order to avoid dupe cache keys. //Make sure the usernames are in the correct order to avoid dupe cache keys.
if (strcasecmp($Username1, $Username2)) { if (strcasecmp($Username1, $Username2)) {
@ -37,11 +37,11 @@ public static function compare_user_with($Username1, $Limit = 15) {
$Username1 = $Username2; $Username1 = $Username2;
$Username2 = $Temp; $Username2 = $Temp;
} }
$Response = $Cache->get_value('lastfm_compare_' . $Username1 . '_' . $Username2); $Response = $Cache->get_value("lastfm_compare_$Username1" . "_$Username2");
if (empty($Response)) { if (empty($Response)) {
$Response = self::lastfm_request("tasteometer.compare", array("type1" => "user", "type2" => "user", "value1" => $Username1, "value2" => $Username2, "limit" => $Limit)); $Response = self::lastfm_request("tasteometer.compare", array("type1" => "user", "type2" => "user", "value1" => $Username1, "value2" => $Username2, "limit" => $Limit));
$Response = json_encode($Response); $Response = json_encode($Response);
$Cache->cache_value('lastfm_compare_' . $Username1 . '_' . $Username2, $Response, 86400); $Cache->cache_value("lastfm_compare_$Username1" . "_$Username2", $Response, 86400);
} }
return $Response; return $Response;
} }
@ -49,69 +49,69 @@ public static function compare_user_with($Username1, $Limit = 15) {
public static function get_last_played_track($Username) { public static function get_last_played_track($Username) {
global $Cache; global $Cache;
$Response = $Cache->get_value('lastfm_last_played_track_' . $Username); $Response = $Cache->get_value("lastfm_last_played_track_$Username");
if (empty($Response)) { if (empty($Response)) {
$Response = self::lastfm_request("user.getRecentTracks", array("user" => $Username, "limit" => 1)); $Response = self::lastfm_request("user.getRecentTracks", array("user" => $Username, "limit" => 1));
// Take the single last played track out of the response. // Take the single last played track out of the response.
$Response = $Response['recenttracks']['track']; $Response = $Response['recenttracks']['track'];
$Response = json_encode($Response); $Response = json_encode($Response);
$Cache->cache_value('lastfm_last_played_track_' . $Username, $Response, 7200); $Cache->cache_value("lastfm_last_played_track_$Username", $Response, 7200);
} }
return $Response; return $Response;
} }
public static function get_top_artists($Username, $Limit = 15) { public static function get_top_artists($Username, $Limit = 15) {
global $Cache; global $Cache;
$Response = $Cache->get_value('lastfm_top_artists_' . $Username); $Response = $Cache->get_value("lastfm_top_artists_$Username");
if (empty($Response)) { if (empty($Response)) {
sleep(1); sleep(1);
$Response = self::lastfm_request("user.getTopArtists", array("user" => $Username, "limit" => $Limit)); $Response = self::lastfm_request("user.getTopArtists", array("user" => $Username, "limit" => $Limit));
$Response = json_encode($Response); $Response = json_encode($Response);
$Cache->cache_value('lastfm_top_artists_' . $Username, $Response, 86400); $Cache->cache_value("lastfm_top_artists_$Username", $Response, 86400);
} }
return $Response; return $Response;
} }
public static function get_top_albums($Username, $Limit = 15) { public static function get_top_albums($Username, $Limit = 15) {
global $Cache; global $Cache;
$Response = $Cache->get_value('lastfm_top_albums_' . $Username); $Response = $Cache->get_value("lastfm_top_albums_$Username");
if (empty($Response)) { if (empty($Response)) {
sleep(2); sleep(2);
$Response = self::lastfm_request("user.getTopAlbums", array("user" => $Username, "limit" => $Limit)); $Response = self::lastfm_request("user.getTopAlbums", array("user" => $Username, "limit" => $Limit));
$Response = json_encode($Response); $Response = json_encode($Response);
$Cache->cache_value('lastfm_top_albums_' . $Username, $Response, 86400); $Cache->cache_value("lastfm_top_albums_$Username", $Response, 86400);
} }
return $Response; return $Response;
} }
public static function get_top_tracks($Username, $Limit = 15) { public static function get_top_tracks($Username, $Limit = 15) {
global $Cache; global $Cache;
$Response = $Cache->get_value('lastfm_top_tracks_' . $Username); $Response = $Cache->get_value("lastfm_top_tracks_$Username");
if (empty($Response)) { if (empty($Response)) {
sleep(3); sleep(3);
$Response = self::lastfm_request("user.getTopTracks", array("user" => $Username, "limit" => $Limit)); $Response = self::lastfm_request("user.getTopTracks", array("user" => $Username, "limit" => $Limit));
$Response = json_encode($Response); $Response = json_encode($Response);
$Cache->cache_value('lastfm_top_tracks_' . $Username, $Response, 86400); $Cache->cache_value("lastfm_top_tracks_$Username", $Response, 86400);
} }
return $Response; return $Response;
} }
public static function clear_cache($Username, $Uid) { public static function clear_cache($Username, $Uid) {
global $Cache, $LoggedUser, $DB; global $Cache, $LoggedUser, $DB;
$Response = $Cache->get_value('lastfm_clear_cache_' . $LoggedUser . '_' . $_GET['id']); $Response = $Cache->get_value("lastfm_clear_cache_$LoggedUser" . '_' . $_GET['id']);
if (empty($Response)) { if (empty($Response)) {
// Prevent clearing the cache on the same uid page for the next 10 minutes. // Prevent clearing the cache on the same uid page for the next 10 minutes.
$Response = $Cache->cache_value('lastfm_clear_cache_' . $LoggedUser . '_' . $Uid, $Username, 600); $Response = $Cache->cache_value("lastfm_clear_cache_$LoggedUser" . "_$Uid", $Username, 600);
$Cache->delete_value('lastfm_user_info_' . $Username); $Cache->delete_value("lastfm_user_info_$Username");
$Cache->delete_value('lastfm_last_played_track_' . $Username); $Cache->delete_value("lastfm_last_played_track_$Username");
$Cache->delete_value('lastfm_top_artists_' . $Username); $Cache->delete_value("lastfm_top_artists_$Username");
$Cache->delete_value('lastfm_top_albums_' . $Username); $Cache->delete_value("lastfm_top_albums_$Username");
$Cache->delete_value('lastfm_top_tracks_' . $Username); $Cache->delete_value("lastfm_top_tracks_$Username");
$DB->query(" $DB->query("
SELECT username SELECT username
FROM lastfm_users FROM lastfm_users
WHERE ID = '$LoggedUser[ID]'"); WHERE ID = '$LoggedUser[ID]'");
if ($DB->record_count() > 0) { if ($DB->has_results()) {
list($Username2) = $DB->next_record(); list($Username2) = $DB->next_record();
//Make sure the usernames are in the correct order to avoid dupe cache keys. //Make sure the usernames are in the correct order to avoid dupe cache keys.
if (strcasecmp($Username, $Username2)) { if (strcasecmp($Username, $Username2)) {
@ -119,7 +119,7 @@ public static function clear_cache($Username, $Uid) {
$Username = $Username2; $Username = $Username2;
$Username2 = $Temp; $Username2 = $Temp;
} }
$Cache->delete_value('lastfm_compare_' . $Username . '_' . $Username2); $Cache->delete_value("lastfm_compare_$Username" . "_$Username2");
} }
} }
} }
@ -131,7 +131,7 @@ private static function lastfm_request($Method, $Args) {
$Url = LASTFM_API_URL . $Method; $Url = LASTFM_API_URL . $Method;
if (is_array($Args)) { if (is_array($Args)) {
foreach ($Args as $Key => $Value) { foreach ($Args as $Key => $Value) {
$Url .= "&" . $Key . "=" . urlencode($Value); $Url .= "&$Key=" . urlencode($Value);
} }
$Url .= "&format=json&api_key=" . LASTFM_API_KEY; $Url .= "&format=json&api_key=" . LASTFM_API_KEY;
@ -145,6 +145,4 @@ private static function lastfm_request($Method, $Args) {
return json_decode($Return, true); return json_decode($Return, true);
} }
} }
} }

View File

@ -148,7 +148,7 @@ public static function create_thread($ForumID, $AuthorID, $Title, $PostBody) {
SELECT Username SELECT Username
FROM users_main FROM users_main
WHERE ID=".$AuthorID); WHERE ID=".$AuthorID);
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
return -2; return -2;
} }
list($AuthorName) = $DB->next_record(); list($AuthorName) = $DB->next_record();
@ -393,7 +393,7 @@ public static function get_alias_tag($BadTag) {
FROM tag_aliases FROM tag_aliases
WHERE BadTag = '$BadTag' WHERE BadTag = '$BadTag'
LIMIT 1"); LIMIT 1");
if ($DB->record_count() > 0) { if ($DB->has_results()) {
list($AliasTag) = $DB->next_record(); list($AliasTag) = $DB->next_record();
return $AliasTag; return $AliasTag;
} }

View File

@ -298,6 +298,14 @@ function record_count() {
} }
} }
/*
* returns true if the query exists and there were records found
* returns false if the query does not exist or if there were 0 records returned
*/
function has_results() {
return ($this->QueryID && $this->record_count() !== 0);
}
function affected_rows() { function affected_rows() {
if ($this->LinkID) { if ($this->LinkID) {
return mysqli_affected_rows($this->LinkID); return mysqli_affected_rows($this->LinkID);

View File

@ -221,7 +221,7 @@ public static function get_votes_array($RequestID) {
LEFT JOIN users_main AS u ON u.ID=rv.UserID LEFT JOIN users_main AS u ON u.ID=rv.UserID
WHERE rv.RequestID = $RequestID WHERE rv.RequestID = $RequestID
ORDER BY rv.Bounty DESC"); ORDER BY rv.Bounty DESC");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
error(0); error(0);
} else { } else {
$Votes = $DB->to_array(); $Votes = $DB->to_array();

View File

@ -1,4 +1,4 @@
<? <?php
/*-- Script Start Class --------------------------------*/ /*-- Script Start Class --------------------------------*/
/*------------------------------------------------------*/ /*------------------------------------------------------*/
/* This isnt really a class but a way to tie other */ /* This isnt really a class but a way to tie other */
@ -194,9 +194,9 @@
$FileName = 'zip.class'; $FileName = 'zip.class';
break; break;
default: default:
die("Couldn't import class " . $ClassName); die("Couldn't import class $ClassName");
} }
require_once(SERVER_ROOT.'/classes/' . $FileName . '.php'); require_once(SERVER_ROOT . "/classes/$FileName.php");
}); });
@ -227,7 +227,7 @@
$LoginCookie = $Enc->decrypt($_COOKIE['session']); $LoginCookie = $Enc->decrypt($_COOKIE['session']);
} }
if (isset($LoginCookie)) { if (isset($LoginCookie)) {
list($SessionID, $LoggedUser['ID']) = explode("|~|", $Enc->decrypt($LoginCookie)); list($SessionID, $LoggedUser['ID']) = explode('|~|', $Enc->decrypt($LoginCookie));
$LoggedUser['ID'] = (int)$LoggedUser['ID']; $LoggedUser['ID'] = (int)$LoggedUser['ID'];
$UserID = $LoggedUser['ID']; //TODO: UserID should not be LoggedUser $UserID = $LoggedUser['ID']; //TODO: UserID should not be LoggedUser
@ -236,7 +236,7 @@
logout(); logout();
} }
$UserSessions = $Cache->get_value('users_sessions_'.$UserID); $UserSessions = $Cache->get_value("users_sessions_$UserID");
if (!is_array($UserSessions)) { if (!is_array($UserSessions)) {
$DB->query(" $DB->query("
SELECT SELECT
@ -250,7 +250,7 @@
AND Active = 1 AND Active = 1
ORDER BY LastUpdate DESC"); ORDER BY LastUpdate DESC");
$UserSessions = $DB->to_array('SessionID',MYSQLI_ASSOC); $UserSessions = $DB->to_array('SessionID',MYSQLI_ASSOC);
$Cache->cache_value('users_sessions_'.$UserID, $UserSessions, 0); $Cache->cache_value("users_sessions_$UserID", $UserSessions, 0);
} }
if (!array_key_exists($SessionID, $UserSessions)) { if (!array_key_exists($SessionID, $UserSessions)) {
@ -297,9 +297,9 @@
// $LoggedUser['RatioWatch'] as a bool to disable things for users on Ratio Watch // $LoggedUser['RatioWatch'] as a bool to disable things for users on Ratio Watch
$LoggedUser['RatioWatch'] = ( $LoggedUser['RatioWatch'] = (
$LoggedUser['RatioWatchEnds'] != '0000-00-00 00:00:00' && $LoggedUser['RatioWatchEnds'] != '0000-00-00 00:00:00'
time() < strtotime($LoggedUser['RatioWatchEnds']) && && time() < strtotime($LoggedUser['RatioWatchEnds'])
($LoggedUser['BytesDownloaded'] * $LoggedUser['RequiredRatio']) > $LoggedUser['BytesUploaded'] && ($LoggedUser['BytesDownloaded'] * $LoggedUser['RequiredRatio']) > $LoggedUser['BytesUploaded']
); );
if (!isset($LoggedUser['ID'])) { if (!isset($LoggedUser['ID'])) {
$Debug->log_var($LightInfo, 'LightInfo'); $Debug->log_var($LightInfo, 'LightInfo');
@ -315,7 +315,9 @@
$Cache->CanClear = check_perms('admin_clear_cache'); $Cache->CanClear = check_perms('admin_clear_cache');
// Because we <3 our staff // Because we <3 our staff
if (check_perms('site_disable_ip_history')) { $_SERVER['REMOTE_ADDR'] = '127.0.0.1'; } if (check_perms('site_disable_ip_history')) {
$_SERVER['REMOTE_ADDR'] = '127.0.0.1';
}
// Update LastUpdate every 10 minutes // Update LastUpdate every 10 minutes
if (strtotime($UserSessions[$SessionID]['LastUpdate']) + 600 < time()) { if (strtotime($UserSessions[$SessionID]['LastUpdate']) + 600 < time()) {
@ -332,7 +334,7 @@
LastUpdate = '".sqltime()."' LastUpdate = '".sqltime()."'
WHERE UserID = '$LoggedUser[ID]' WHERE UserID = '$LoggedUser[ID]'
AND SessionID = '".db_string($SessionID)."'"); AND SessionID = '".db_string($SessionID)."'");
$Cache->begin_transaction('users_sessions_'.$UserID); $Cache->begin_transaction("users_sessions_$UserID");
$Cache->delete_row($SessionID); $Cache->delete_row($SessionID);
$Cache->insert_front($SessionID,array( $Cache->insert_front($SessionID,array(
'SessionID' => $SessionID, 'SessionID' => $SessionID,

View File

@ -53,11 +53,11 @@ function search($Query = '', $CachePrefix = '', $CacheLength = 0, $ReturnData =
$Filters = array(); $Filters = array();
foreach ($this->Filters as $Name => $Values) { foreach ($this->Filters as $Name => $Values) {
foreach ($Values as $Value) { foreach ($Values as $Value) {
$Filters[] = $Name." - ".$Value; $Filters[] = "$Name - $Value";
} }
} }
$this->Queries[] = array('Params: '.$Query.' Filters: '.implode(", ", $Filters).' Indicies: '.$this->Index,($QueryEndTime - $QueryStartTime) * 1000); $this->Queries[] = array("Params: $Query Filters: ".implode(', ', $Filters).' Indicies: '.$this->Index, ($QueryEndTime - $QueryStartTime) * 1000);
$this->Time += ($QueryEndTime - $QueryStartTime) * 1000; $this->Time += ($QueryEndTime - $QueryStartTime) * 1000;
if ($Result === false) { if ($Result === false) {
@ -65,7 +65,7 @@ function search($Query = '', $CachePrefix = '', $CacheLength = 0, $ReturnData =
send_irc('PRIVMSG '.ADMIN_CHAN.' :!dev Connection to searchd failed'); send_irc('PRIVMSG '.ADMIN_CHAN.' :!dev Connection to searchd failed');
$Cache->cache_value('sphinx_crash_reported', 1, 3600); $Cache->cache_value('sphinx_crash_reported', 1, 3600);
} }
send_irc('PRIVMSG '.LAB_CHAN.' :Search for "'.$Query.'" ('.str_replace("\n",'',print_r($this->Filters, true)).') failed: '.$this->GetLastError()); send_irc('PRIVMSG '.LAB_CHAN." :Search for \"$Query\" (".str_replace("\n", '', print_r($this->Filters, true)).') failed: '.$this->GetLastError());
} }
$this->TotalResults = $Result['total_found']; $this->TotalResults = $Result['total_found'];
@ -89,7 +89,7 @@ function search($Query = '', $CachePrefix = '', $CacheLength = 0, $ReturnData =
foreach ($MatchIDs as $Match) { foreach ($MatchIDs as $Match) {
$Matches[$Match] = $Matches[$Match]['attrs']; $Matches[$Match] = $Matches[$Match]['attrs'];
if (!empty($CachePrefix)) { if (!empty($CachePrefix)) {
$Data = $Cache->get_value($CachePrefix.'_'.$Match); $Data = $Cache->get_value($CachePrefix."_$Match");
if ($Data == false) { if ($Data == false) {
$NotFound[] = $Match; $NotFound[] = $Match;
continue; continue;
@ -157,7 +157,7 @@ function set_filter($Name, $Vals, $Exclude = false) {
} }
function set_filter_range($Name, $Min, $Max, $Exclude) { function set_filter_range($Name, $Min, $Max, $Exclude) {
$this->Filters[$Name] = array($Min.'-'.$Max); $this->Filters[$Name] = array("$Min-$Max");
$this->SetFilterRange($Name, $Min, $Max, $Exclude); $this->SetFilterRange($Name, $Min, $Max, $Exclude);
} }

View File

@ -226,7 +226,7 @@ public static function warn_user($UserID, $Duration, $Reason) {
FROM users_info FROM users_info
WHERE UserID=$UserID WHERE UserID=$UserID
AND Warned != '0000-00-00 00:00:00'"); AND Warned != '0000-00-00 00:00:00'");
if ($DB->record_count() > 0) { if ($DB->has_results()) {
//User was already warned, appending new warning to old. //User was already warned, appending new warning to old.
list($OldDate) = $DB->next_record(); list($OldDate) = $DB->next_record();
$NewExpDate = date('Y-m-d H:i:s', strtotime($OldDate) + $Duration); $NewExpDate = date('Y-m-d H:i:s', strtotime($OldDate) + $Duration);

View File

@ -172,7 +172,7 @@ function music_form($GenreTags) {
RemasterRecordLabel DESC, RemasterRecordLabel DESC,
RemasterCatalogueNumber DESC"); RemasterCatalogueNumber DESC");
if ($DB->record_count() > 0) { if ($DB->has_results()) {
$GroupRemasters = $DB->to_array(false, MYSQLI_BOTH, false); $GroupRemasters = $DB->to_array(false, MYSQLI_BOTH, false);
} }
} }

View File

@ -366,7 +366,7 @@ public static function delete_group($GroupID) {
SELECT CollageID SELECT CollageID
FROM collages_torrents FROM collages_torrents
WHERE GroupID = '$GroupID'"); WHERE GroupID = '$GroupID'");
if ($DB->record_count() > 0) { if ($DB->has_results()) {
$CollageIDs = $DB->collect('CollageID'); $CollageIDs = $DB->collect('CollageID');
$DB->query(" $DB->query("
UPDATE collages UPDATE collages
@ -484,7 +484,7 @@ public static function update_hash($GroupID) {
SELECT Score SELECT Score
FROM torrents_votes FROM torrents_votes
WHERE GroupID = $GroupID"); WHERE GroupID = $GroupID");
if ($DB->record_count()) { if ($DB->has_results()) {
list($VoteScore) = $DB->next_record(); list($VoteScore) = $DB->next_record();
} else { } else {
$VoteScore = 0; $VoteScore = 0;
@ -498,7 +498,7 @@ public static function update_hash($GroupID) {
WHERE ta.GroupID = $GroupID WHERE ta.GroupID = $GroupID
AND ta.Importance IN ('1', '4', '5', '6') AND ta.Importance IN ('1', '4', '5', '6')
GROUP BY ta.GroupID"); GROUP BY ta.GroupID");
if ($DB->record_count()) { if ($DB->has_results()) {
list($ArtistName) = $DB->next_record(MYSQLI_NUM, false); list($ArtistName) = $DB->next_record(MYSQLI_NUM, false);
} else { } else {
$ArtistName = ''; $ArtistName = '';
@ -566,7 +566,7 @@ public static function regenerate_filelist($TorrentID) {
JOIN torrents AS t ON t.ID = tf.TorrentID JOIN torrents AS t ON t.ID = tf.TorrentID
JOIN torrents_group AS tg ON tg.ID = t.GroupID JOIN torrents_group AS tg ON tg.ID = t.GroupID
WHERE tf.TorrentID = $TorrentID"); WHERE tf.TorrentID = $TorrentID");
if ($DB->record_count() > 0) { if ($DB->has_results()) {
list($GroupID, $Contents) = $DB->next_record(MYSQLI_NUM, false); list($GroupID, $Contents) = $DB->next_record(MYSQLI_NUM, false);
if (Misc::is_new_torrent($Contents)) { if (Misc::is_new_torrent($Contents)) {
$Tor = new BencodeTorrent($Contents); $Tor = new BencodeTorrent($Contents);
@ -764,7 +764,7 @@ public static function freeleech_groups($GroupIDs, $FreeNeutral = 1, $FreeLeechT
SELECT ID SELECT ID
FROM torrents FROM torrents
WHERE GroupID IN ('.implode(', ', $GroupIDs).')'); WHERE GroupID IN ('.implode(', ', $GroupIDs).')');
if ($DB->record_count()) { if ($DB->has_results()) {
$TorrentIDs = $DB->collect('ID'); $TorrentIDs = $DB->collect('ID');
Torrents::freeleech_torrents($TorrentIDs, $FreeNeutral, $FreeLeechType); Torrents::freeleech_torrents($TorrentIDs, $FreeNeutral, $FreeLeechType);
} }

View File

@ -90,10 +90,9 @@ private static function table_query($TableName) {
SELECT SUM(rv.Bounty) AS Bounty SELECT SUM(rv.Bounty) AS Bounty
FROM users_main AS um FROM users_main AS um
JOIN requests_votes AS rv ON rv.UserID = um.ID JOIN requests_votes AS rv ON rv.UserID = um.ID
WHERE um.Enabled='1' WHERE um.Enabled = '1' " .
GROUP BY um.ID "GROUP BY um.ID
ORDER BY Bounty;"; ORDER BY Bounty;";
break; break;
case 'artists': case 'artists':
$Query = " $Query = "
@ -118,13 +117,13 @@ public static function get_rank($TableName, $Value) {
$Table = $Cache->get_value(PREFIX.$TableName); $Table = $Cache->get_value(PREFIX.$TableName);
if (!$Table) { if (!$Table) {
//Cache lock! //Cache lock!
$Lock = $Cache->get_value(PREFIX.$TableName."_lock"); $Lock = $Cache->get_value(PREFIX.$TableName.'_lock');
if ($Lock) { if ($Lock) {
return false; return false;
} else { } else {
$Cache->cache_value(PREFIX.$TableName."_lock", '1', 300); $Cache->cache_value(PREFIX.$TableName.'_lock', '1', 300);
$Table = self::build_table(PREFIX.$TableName, self::table_query($TableName)); $Table = self::build_table(PREFIX.$TableName, self::table_query($TableName));
$Cache->delete_value(PREFIX.$TableName."_lock"); $Cache->delete_value(PREFIX.$TableName.'_lock');
} }
} }
$LastPercentile = 0; $LastPercentile = 0;

View File

@ -46,7 +46,7 @@ public static function get_classes() {
*/ */
public static function user_info($UserID) { public static function user_info($UserID) {
global $DB, $Cache, $Classes, $SSL; global $DB, $Cache, $Classes, $SSL;
$UserInfo = $Cache->get_value('user_info_'.$UserID); $UserInfo = $Cache->get_value("user_info_$UserID");
// the !isset($UserInfo['Paranoia']) can be removed after a transition period // the !isset($UserInfo['Paranoia']) can be removed after a transition period
if (empty($UserInfo) || empty($UserInfo['ID']) || !isset($UserInfo['Paranoia']) || empty($UserInfo['Class'])) { if (empty($UserInfo) || empty($UserInfo['ID']) || !isset($UserInfo['Paranoia']) || empty($UserInfo['Class'])) {
$OldQueryID = $DB->get_query_id(); $OldQueryID = $DB->get_query_id();
@ -71,8 +71,19 @@ public static function user_info($UserID) {
LEFT JOIN users_levels AS ul ON ul.UserID = m.ID LEFT JOIN users_levels AS ul ON ul.UserID = m.ID
WHERE m.ID = '$UserID' WHERE m.ID = '$UserID'
GROUP BY m.ID"); GROUP BY m.ID");
if ($DB->record_count() == 0) { // Deleted user, maybe? if (!$DB->has_results()) { // Deleted user, maybe?
$UserInfo = array('ID'=>'','Username'=>'','PermissionID'=>0,'Artist'=>false,'Donor'=>false,'Warned'=>'0000-00-00 00:00:00','Avatar'=>'','Enabled'=>0,'Title'=>'', 'CatchupTime'=>0, 'Visible'=>'1'); $UserInfo = array(
'ID' => '',
'Username' => '',
'PermissionID' => 0,
'Artist' => false,
'Donor' => false,
'Warned' => '0000-00-00 00:00:00',
'Avatar' => '',
'Enabled' => 0,
'Title' => '',
'CatchupTime' => 0,
'Visible' => '1');
} else { } else {
$UserInfo = $DB->next_record(MYSQLI_ASSOC, array('Paranoia', 'Title')); $UserInfo = $DB->next_record(MYSQLI_ASSOC, array('Paranoia', 'Title'));
@ -98,12 +109,12 @@ public static function user_info($UserID) {
} }
$UserInfo['EffectiveClass'] = $EffectiveClass; $UserInfo['EffectiveClass'] = $EffectiveClass;
$Cache->cache_value('user_info_'.$UserID, $UserInfo, 2592000); $Cache->cache_value("user_info_$UserID", $UserInfo, 2592000);
$DB->set_query_id($OldQueryID); $DB->set_query_id($OldQueryID);
} }
if (strtotime($UserInfo['Warned']) < time()) { if (strtotime($UserInfo['Warned']) < time()) {
$UserInfo['Warned'] = '0000-00-00 00:00:00'; $UserInfo['Warned'] = '0000-00-00 00:00:00';
$Cache->cache_value('user_info_'.$UserID, $UserInfo, 2592000); $Cache->cache_value("user_info_$UserID", $UserInfo, 2592000);
} }
return $UserInfo; return $UserInfo;
@ -120,7 +131,7 @@ public static function user_info($UserID) {
public static function user_heavy_info($UserID) { public static function user_heavy_info($UserID) {
global $DB, $Cache; global $DB, $Cache;
$HeavyInfo = $Cache->get_value('user_info_heavy_'.$UserID); $HeavyInfo = $Cache->get_value("user_info_heavy_$UserID");
if (empty($HeavyInfo)) { if (empty($HeavyInfo)) {
$DB->query(" $DB->query("
@ -214,7 +225,7 @@ public static function user_heavy_info($UserID) {
} }
unset($HeavyInfo['SiteOptions']); unset($HeavyInfo['SiteOptions']);
$Cache->cache_value('user_info_heavy_'.$UserID, $HeavyInfo, 0); $Cache->cache_value("user_info_heavy_$UserID", $HeavyInfo, 0);
} }
return $HeavyInfo; return $HeavyInfo;
} }
@ -257,7 +268,7 @@ public static function update_site_options($UserID, $NewOptions) {
WHERE UserID = $UserID"); WHERE UserID = $UserID");
// Update cache // Update cache
$Cache->cache_value('user_info_heavy_'.$UserID, $HeavyInfo, 0); $Cache->cache_value("user_info_heavy_$UserID", $HeavyInfo, 0);
// Update $LoggedUser if the options are changed for the current // Update $LoggedUser if the options are changed for the current
if ($LoggedUser['ID'] == $UserID) { if ($LoggedUser['ID'] == $UserID) {
@ -302,7 +313,7 @@ public static function release_order(&$SiteOptions, $Default = false) {
$Val = (isset($RT[$Key]) ? $RT[$Key] : 'Error'); $Val = (isset($RT[$Key]) ? $RT[$Key] : 'Error');
} }
$ID = $Key . '_' . (int) !!$Checked; $ID = "$Key_" . (int) !!$Checked;
// The HTML is indented this far for proper indentation in the generated HTML // The HTML is indented this far for proper indentation in the generated HTML
// on user.php?action=edit // on user.php?action=edit
@ -530,7 +541,7 @@ public static function get_bookmarks ($UserID)
$UserID = (int) $UserID; $UserID = (int) $UserID;
if (($Data = $Cache->get_value('bookmarks_group_ids_' . $UserID))) { if (($Data = $Cache->get_value("bookmarks_group_ids_$UserID"))) {
list($GroupIDs, $BookmarkData) = $Data; list($GroupIDs, $BookmarkData) = $Data;
} else { } else {
$DB->query(" $DB->query("
@ -540,7 +551,7 @@ public static function get_bookmarks ($UserID)
ORDER BY Sort, `Time` ASC"); ORDER BY Sort, `Time` ASC");
$GroupIDs = $DB->collect('GroupID'); $GroupIDs = $DB->collect('GroupID');
$BookmarkData = $DB->to_array('GroupID', MYSQLI_ASSOC); $BookmarkData = $DB->to_array('GroupID', MYSQLI_ASSOC);
$Cache->cache_value('bookmarks_group_ids_' . $UserID, $Cache->cache_value("bookmarks_group_ids_$UserID",
array($GroupIDs, $BookmarkData), 3600); array($GroupIDs, $BookmarkData), 3600);
} }

View File

@ -34,14 +34,14 @@ public static function get_user_votes($UserID) {
return array(); return array();
} }
$UserVotes = $Cache->get_value('voted_albums_'.$UserID); $UserVotes = $Cache->get_value("voted_albums_$UserID");
if ($UserVotes === false) { if ($UserVotes === false) {
$DB->query(' $DB->query("
SELECT GroupID, Type SELECT GroupID, Type
FROM users_votes FROM users_votes
WHERE UserID='.$UserID); WHERE UserID = $UserID");
$UserVotes = $DB->to_array('GroupID', MYSQL_ASSOC, false); $UserVotes = $DB->to_array('GroupID', MYSQL_ASSOC, false);
$Cache->cache_value('voted_albums_'.$UserID, $UserVotes); $Cache->cache_value("voted_albums_$UserID", $UserVotes);
} }
return $UserVotes; return $UserVotes;
} }
@ -56,18 +56,18 @@ public static function get_user_votes($UserID) {
public static function get_group_votes($GroupID) { public static function get_group_votes($GroupID) {
global $DB, $Cache; global $DB, $Cache;
$GroupVotes = $Cache->get_value('votes_'.$GroupID); $GroupVotes = $Cache->get_value("votes_$GroupID");
if ($GroupVotes === false) { if ($GroupVotes === false) {
$DB->query(" $DB->query("
SELECT Ups AS Ups, Total AS Total SELECT Ups AS Ups, Total AS Total
FROM torrents_votes FROM torrents_votes
WHERE GroupID = $GroupID"); WHERE GroupID = $GroupID");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
$GroupVotes = array('Ups' => 0, 'Total' => 0); $GroupVotes = array('Ups' => 0, 'Total' => 0);
} else { } else {
$GroupVotes = $DB->next_record(MYSQLI_ASSOC, false); $GroupVotes = $DB->next_record(MYSQLI_ASSOC, false);
} }
$Cache->cache_value('votes_'.$GroupID, $GroupVotes, 259200); // 3 days $Cache->cache_value("votes_$GroupID", $GroupVotes, 259200); // 3 days
} }
return $GroupVotes; return $GroupVotes;
} }
@ -215,11 +215,11 @@ public static function get_rank_all($GroupID) {
if ($Rankings === false) { if ($Rankings === false) {
$Rankings = array(); $Rankings = array();
$i = 0; $i = 0;
$DB->query(" $DB->query('
SELECT GroupID SELECT GroupID
FROM torrents_votes FROM torrents_votes
ORDER BY Score DESC ORDER BY Score DESC
LIMIT 100"); LIMIT 100');
while (list($GID) = $DB->next_record()) { while (list($GID) = $DB->next_record()) {
$Rankings[$GID] = ++$i; $Rankings[$GID] = ++$i;
} }
@ -246,7 +246,7 @@ public static function get_rank_year($GroupID, $Year) {
return false; return false;
} }
$Rankings = $Cache->get_value('voting_ranks_year_'.$Year); $Rankings = $Cache->get_value("voting_ranks_year_$Year");
if ($Rankings === false) { if ($Rankings === false) {
$Rankings = array(); $Rankings = array();
$i = 0; $i = 0;
@ -260,7 +260,7 @@ public static function get_rank_year($GroupID, $Year) {
while (list($GID) = $DB->next_record()) { while (list($GID) = $DB->next_record()) {
$Rankings[$GID] = ++$i; $Rankings[$GID] = ++$i;
} }
$Cache->cache_value('voting_ranks_year_'.$Year , $Rankings, 259200); // 3 days $Cache->cache_value("voting_ranks_year_$Year", $Rankings, 259200); // 3 days
} }
return (isset($Rankings[$GroupID]) ? $Rankings[$GroupID] : false); return (isset($Rankings[$GroupID]) ? $Rankings[$GroupID] : false);
@ -287,7 +287,7 @@ public static function get_rank_decade($GroupID, $Year) {
// First year of the decade // First year of the decade
$Year = $Year - ($Year % 10); $Year = $Year - ($Year % 10);
$Rankings = $Cache->get_value('voting_ranks_decade_'.$Year); $Rankings = $Cache->get_value("voting_ranks_decade_$Year");
if ($Rankings === false) { if ($Rankings === false) {
$Rankings = array(); $Rankings = array();
$i = 0; $i = 0;
@ -302,7 +302,7 @@ public static function get_rank_decade($GroupID, $Year) {
while (list($GID) = $DB->next_record()) { while (list($GID) = $DB->next_record()) {
$Rankings[$GID] = ++$i; $Rankings[$GID] = ++$i;
} }
$Cache->cache_value('voting_ranks_decade_'.$Year , $Rankings, 259200); // 3 days $Cache->cache_value("voting_ranks_decade_$Year", $Rankings, 259200); // 3 days
} }
return (isset($Rankings[$GroupID]) ? $Rankings[$GroupID] : false); return (isset($Rankings[$GroupID]) ? $Rankings[$GroupID] : false);

View File

@ -364,7 +364,7 @@ class="stat"
FROM news FROM news
ORDER BY Time DESC ORDER BY Time DESC
LIMIT 1"); LIMIT 1");
if ($DB->record_count() == 1) { if ($DB->record_count() === 1) {
list($CurrentNews) = $DB->next_record(); list($CurrentNews) = $DB->next_record();
} else { } else {
$CurrentNews = -1; $CurrentNews = -1;
@ -385,7 +385,7 @@ class="stat"
WHERE Important = 1 WHERE Important = 1
ORDER BY Time DESC ORDER BY Time DESC
LIMIT 1"); LIMIT 1");
if ($DB->record_count() == 1) { if ($DB->record_count() === 1) {
list($CurrentBlog) = $DB->next_record(); list($CurrentBlog) = $DB->next_record();
} else { } else {
$CurrentBlog = -1; $CurrentBlog = -1;

View File

@ -1,5 +1,11 @@
CHANGELOG CHANGELOG
2013-07-08 by alderaan
Add "has_results()" function for MySQL class to replace "record_count() === 0" conditional checks
2013-07-06 by draculesti
Bounty amount after tax shown on request pages
2013-07-04 by Ajax 2013-07-04 by Ajax
added collages to api added collages to api

View File

@ -3,7 +3,11 @@ INSTALLATION NOTES
memcached -d -m 5120 -s /var/run/memcached.sock -a 0777 -t16 -C -u root memcached -d -m 5120 -s /var/run/memcached.sock -a 0777 -t16 -C -u root
This gives it 5 gigs of RAM; you probably want to set that a bit lower! This gives it 5 gigs of RAM; you probably want to set that a bit lower!
2. Run gazelle.sql (preferably as root) to create the database, the table, and the default data. 2. Run gazelle.sql (preferably as root) to create the database, the table, and the default data.
3. Install sphinx - we recommend you use the included sphinx.conf 3. Install Sphinx - we recommend you use the included sphinx.conf. You can copy this to
/etc/sphinx/sphinx.conf. You need to fill in the details of the SQL server though!
You might also need to create the /var/data/sphinx folder.
For documentation, read http://www.sphinxsearch.com/docs/current.html For documentation, read http://www.sphinxsearch.com/docs/current.html
After you've installed sphinx, create the indices: After you've installed sphinx, create the indices:
@ -14,16 +18,16 @@ INSTALLATION NOTES
5. Sign up. The first user is made a SysOp! 5. Sign up. The first user is made a SysOp!
6. Set up cron jobs. You need a cron job for the schedule, a cron job for 6. Set up cron jobs. You need a cron job for the schedule, a cron job for
the peerupdate (all groups are cached, but the peer counts change often, the peerupdate (all groups are cached, but the peer counts change often,
so peerupdate is a script to update them), and the two sphinx indices. so peerupdate is a script to update them), and the two Sphinx indices.
These are our cron jobs: These are our cron jobs. SCHEDULE_KEY is the same as in classes/config.php:
0,15,30,45 * * * * /usr/local/bin/php /var/www/vhosts/what/schedule.php SCHEDULE_KEY >> /root/schedule.log 0,15,30,45 * * * * /usr/local/bin/php /var/www/vhosts/what/schedule.php SCHEDULE_KEY >> /root/schedule.log
10,25,40,55 * * * * /usr/local/bin/php /var/www/vhosts/what/peerupdate.php SCHEDULE_KEY >> /root/peerupdate.log 10,25,40,55 * * * * /usr/local/bin/php /var/www/vhosts/what/peerupdate.php SCHEDULE_KEY >> /root/peerupdate.log
* * * * * /usr/local/bin/indexer -c /etc/sphinx/sphinx.conf --rotate delta * * * * * /usr/local/bin/indexer -c /etc/sphinx/sphinx.conf --rotate delta
5 0,12 * * * /usr/local/bin/indexer -c /etc/sphinx/sphinx.conf --rotate --all 5 0,12 * * * /usr/local/bin/indexer -c /etc/sphinx/sphinx.conf --rotate --all
7. You're probably going to want geoip information, so first you need to fill in the geoip_country tables by visiting /tools.php?action=update_geoip . 7. You're probably going to want IP geolocation information, so first you need to fill in the geoip_country tables by visiting /tools.php?action=update_geoip
After that finishes parsing information from maxmind, you may want to map users to countries by running: After that finishes parsing information from MaxMind, you may want to map users to countries by running:
"INSERT INTO users_geodistribution (Code, Users) SELECT g.Code, COUNT(u.ID) AS Users FROM geoip_country AS g JOIN users_main AS u ON INET_ATON(u.IP) BETWEEN g.StartIP AND g.EndIP WHERE u.Enabled = '1' GROUP BY g.Code ORDER BY Users DESC" "INSERT INTO users_geodistribution (Code, Users) SELECT g.Code, COUNT(u.ID) AS Users FROM geoip_country AS g JOIN users_main AS u ON INET_ATON(u.IP) BETWEEN g.StartIP AND g.EndIP WHERE u.Enabled = '1' GROUP BY g.Code ORDER BY Users DESC"
This will fill in the table needed for stats. This will fill in the table needed for stats.

View File

@ -18,10 +18,13 @@
} }
if ($LoggedUser['LastReadNews'] != $News[0][0]) { if ($LoggedUser['LastReadNews'] != $News[0][0]) {
$Cache->begin_transaction('user_info_heavy_'.$UserID); $Cache->begin_transaction("user_info_heavy_$UserID");
$Cache->update_row(false, array('LastReadNews' => $News[0][0])); $Cache->update_row(false, array('LastReadNews' => $News[0][0]));
$Cache->commit_transaction(0); $Cache->commit_transaction(0);
$DB->query("UPDATE users_info SET LastReadNews = '".$News[0][0]."' WHERE UserID = ".$UserID); $DB->query("
UPDATE users_info
SET LastReadNews = '".$News[0][0]."'
WHERE UserID = $UserID");
$LoggedUser['LastReadNews'] = $News[0][0]; $LoggedUser['LastReadNews'] = $News[0][0];
} }

View File

@ -23,7 +23,10 @@ function compare($X, $Y) {
if (empty($ArtistID)) { if (empty($ArtistID)) {
if (!empty($_GET['artistname'])) { if (!empty($_GET['artistname'])) {
$Name = db_string(trim($_GET['artistname'])); $Name = db_string(trim($_GET['artistname']));
$DB->query("SELECT ArtistID FROM artists_alias WHERE Name LIKE '$Name'"); $DB->query("
SELECT ArtistID
FROM artists_alias
WHERE Name LIKE '$Name'");
if (!(list($ArtistID) = $DB->next_record(MYSQLI_NUM, false))) { if (!(list($ArtistID) = $DB->next_record(MYSQLI_NUM, false))) {
json_die("failure"); json_die("failure");
} }
@ -38,7 +41,7 @@ function compare($X, $Y) {
} }
$Data = $Cache->get_value("artist_$ArtistID"."_revision_$RevisionID"); $Data = $Cache->get_value("artist_$ArtistID"."_revision_$RevisionID");
} else { // viewing the live version } else { // viewing the live version
$Data = $Cache->get_value('artist_'.$ArtistID); $Data = $Cache->get_value("artist_$ArtistID");
$RevisionID = false; $RevisionID = false;
} }
if ($Data) { if ($Data) {
@ -68,7 +71,7 @@ function compare($X, $Y) {
$sql .= " GROUP BY a.ArtistID"; $sql .= " GROUP BY a.ArtistID";
$DB->query($sql); $DB->query($sql);
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
json_die("failure"); json_die("failure");
} }
@ -76,7 +79,7 @@ function compare($X, $Y) {
} }
// Requests // Requests
$Requests = $Cache->get_value('artists_requests_'.$ArtistID); $Requests = $Cache->get_value("artists_requests_$ArtistID");
if (!is_array($Requests)) { if (!is_array($Requests)) {
$DB->query(" $DB->query("
SELECT SELECT
@ -90,21 +93,21 @@ function compare($X, $Y) {
FROM requests AS r FROM requests AS r
LEFT JOIN requests_votes AS rv ON rv.RequestID = r.ID LEFT JOIN requests_votes AS rv ON rv.RequestID = r.ID
LEFT JOIN requests_artists AS ra ON r.ID = ra.RequestID LEFT JOIN requests_artists AS ra ON r.ID = ra.RequestID
WHERE ra.ArtistID = ".$ArtistID." WHERE ra.ArtistID = $ArtistID
AND r.TorrentID = 0 AND r.TorrentID = 0
GROUP BY r.ID GROUP BY r.ID
ORDER BY Votes DESC"); ORDER BY Votes DESC");
if ($DB->record_count() > 0) { if ($DB->has_results()) {
$Requests = $DB->to_array(); $Requests = $DB->to_array();
} else { } else {
$Requests = array(); $Requests = array();
} }
$Cache->cache_value('artists_requests_'.$ArtistID, $Requests); $Cache->cache_value("artists_requests_$ArtistID", $Requests);
} }
$NumRequests = count($Requests); $NumRequests = count($Requests);
if (($Importances = $Cache->get_value('artist_groups_'.$ArtistID)) === false) { if (($Importances = $Cache->get_value("artist_groups_$ArtistID")) === false) {
$DB->query(" $DB->query("
SELECT SELECT
DISTINCTROW ta.GroupID, ta.Importance, tg.VanityHouse, tg.Year DISTINCTROW ta.GroupID, ta.Importance, tg.VanityHouse, tg.Year
@ -114,7 +117,7 @@ function compare($X, $Y) {
ORDER BY tg.Year DESC, tg.Name DESC"); ORDER BY tg.Year DESC, tg.Name DESC");
$GroupIDs = $DB->collect('GroupID'); $GroupIDs = $DB->collect('GroupID');
$Importances = $DB->to_array(false, MYSQLI_BOTH, false); $Importances = $DB->to_array(false, MYSQLI_BOTH, false);
$Cache->cache_value('artist_groups_'.$ArtistID, $Importances, 0); $Cache->cache_value("artist_groups_$ArtistID", $Importances, 0);
} else { } else {
$GroupIDs = array(); $GroupIDs = array();
foreach ($Importances as $Group) { foreach ($Importances as $Group) {
@ -182,7 +185,6 @@ function compare($X, $Y) {
foreach ($ArtistGroup as &$Artist) { foreach ($ArtistGroup as &$Artist) {
$Artist['id'] = (int) $Artist['id']; $Artist['id'] = (int) $Artist['id'];
$Artist['aliasid'] = (int) $Artist['aliasid']; $Artist['aliasid'] = (int) $Artist['aliasid'];
} }
} }
@ -309,11 +311,16 @@ function compare($X, $Y) {
$notificationsEnabled = false; $notificationsEnabled = false;
if (check_perms('site_torrents_notify')) { if (check_perms('site_torrents_notify')) {
if (($Notify = $Cache->get_value('notify_artists_'.$LoggedUser['ID'])) === false) { if (($Notify = $Cache->get_value('notify_artists_'.$LoggedUser['ID'])) === false) {
$DB->query("SELECT ID, Artists FROM users_notify_filters WHERE UserID='$LoggedUser[ID]' AND Label='Artist notifications' LIMIT 1"); $DB->query("
SELECT ID, Artists
FROM users_notify_filters
WHERE UserID = '$LoggedUser[ID]'
AND Label = 'Artist notifications'
LIMIT 1");
$Notify = $DB->next_record(MYSQLI_ASSOC, false); $Notify = $DB->next_record(MYSQLI_ASSOC, false);
$Cache->cache_value('notify_artists_'.$LoggedUser['ID'], $Notify, 0); $Cache->cache_value('notify_artists_'.$LoggedUser['ID'], $Notify, 0);
} }
if (stripos($Notify['Artists'], '|'.$Name.'|') === false) { if (stripos($Notify['Artists'], "|$Name|") === false) {
$notificationsEnabled = false; $notificationsEnabled = false;
} else { } else {
$notificationsEnabled = true; $notificationsEnabled = true;
@ -325,7 +332,7 @@ function compare($X, $Y) {
if ($RevisionID) { if ($RevisionID) {
$Key = "artist_$ArtistID"."_revision_$RevisionID"; $Key = "artist_$ArtistID"."_revision_$RevisionID";
} else { } else {
$Key = 'artist_'.$ArtistID; $Key = "artist_$ArtistID";
} }
$Data = array(array($Name, $Image, $Body, $NumSimilar, $SimilarArray, array(), array(), $VanityHouseArtist)); $Data = array(array($Name, $Image, $Body, $NumSimilar, $SimilarArray, array(), array(), $VanityHouseArtist));

View File

@ -1,7 +1,5 @@
<? <?
include(SERVER_ROOT.'/sections/torrents/functions.php'); include(SERVER_ROOT.'/sections/torrents/functions.php');
// The "order by x" links on columns headers // The "order by x" links on columns headers
@ -17,7 +15,7 @@ function header_link($SortKey,$DefaultWay = 'desc') {
$NewWay = $DefaultWay; $NewWay = $DefaultWay;
} }
return 'torrents.php?order_way='.$NewWay.'&amp;order_by='.$SortKey.'&amp;'.Format::get_url(array('order_way','order_by')); return "torrents.php?order_way=$NewWay&amp;order_by=$SortKey&amp;".Format::get_url(array('order_way', 'order_by'));
} }
/** Start default parameters and validation **/ /** Start default parameters and validation **/
@ -26,7 +24,10 @@ function header_link($SortKey,$DefaultWay = 'desc') {
$UnsetList = array('page', 'setdefault'); $UnsetList = array('page', 'setdefault');
$UnsetRegexp = '/(&|^)('.implode('|', $UnsetList).')=.*?(&|$)/i'; $UnsetRegexp = '/(&|^)('.implode('|', $UnsetList).')=.*?(&|$)/i';
$DB->query("SELECT SiteOptions FROM users_info WHERE UserID='".db_string($LoggedUser['ID'])."'"); $DB->query("
SELECT SiteOptions
FROM users_info
WHERE UserID = '".db_string($LoggedUser['ID'])."'");
list($SiteOptions) = $DB->next_record(MYSQLI_NUM, false); list($SiteOptions) = $DB->next_record(MYSQLI_NUM, false);
if (!empty($SiteOptions)) { if (!empty($SiteOptions)) {
$SiteOptions = unserialize($SiteOptions); $SiteOptions = unserialize($SiteOptions);
@ -34,24 +35,33 @@ function header_link($SortKey,$DefaultWay = 'desc') {
$SiteOptions = array(); $SiteOptions = array();
} }
$SiteOptions['DefaultSearch'] = preg_replace($UnsetRegexp, '', $_SERVER['QUERY_STRING']); $SiteOptions['DefaultSearch'] = preg_replace($UnsetRegexp, '', $_SERVER['QUERY_STRING']);
$DB->query("UPDATE users_info SET SiteOptions='".db_string(serialize($SiteOptions))."' WHERE UserID='".db_string($LoggedUser['ID'])."'"); $DB->query("
$Cache->begin_transaction('user_info_heavy_'.$UserID); UPDATE users_info
SET SiteOptions = '".db_string(serialize($SiteOptions))."'
WHERE UserID = '".db_string($LoggedUser['ID'])."'");
$Cache->begin_transaction("user_info_heavy_$UserID");
$Cache->update_row(false, array('DefaultSearch' => $SiteOptions['DefaultSearch'])); $Cache->update_row(false, array('DefaultSearch' => $SiteOptions['DefaultSearch']));
$Cache->commit_transaction(0); $Cache->commit_transaction(0);
// Clearing default search options // Clearing default search options
} elseif (!empty($_GET['cleardefault'])) { } elseif (!empty($_GET['cleardefault'])) {
$DB->query("SELECT SiteOptions FROM users_info WHERE UserID='".db_string($LoggedUser['ID'])."'"); $DB->query("
SELECT SiteOptions
FROM users_info
WHERE UserID = '".db_string($LoggedUser['ID'])."'");
list($SiteOptions) = $DB->next_record(MYSQLI_NUM, false); list($SiteOptions) = $DB->next_record(MYSQLI_NUM, false);
$SiteOptions = unserialize($SiteOptions); $SiteOptions = unserialize($SiteOptions);
$SiteOptions['DefaultSearch']=''; $SiteOptions['DefaultSearch']='';
$DB->query("UPDATE users_info SET SiteOptions='".db_string(serialize($SiteOptions))."' WHERE UserID='".db_string($LoggedUser['ID'])."'"); $DB->query("
$Cache->begin_transaction('user_info_heavy_'.$UserID); UPDATE users_info
SET SiteOptions = '".db_string(serialize($SiteOptions))."'
WHERE UserID = '".db_string($LoggedUser['ID'])."'");
$Cache->begin_transaction("user_info_heavy_$UserID");
$Cache->update_row(false, array('DefaultSearch' => '')); $Cache->update_row(false, array('DefaultSearch' => ''));
$Cache->commit_transaction(0); $Cache->commit_transaction(0);
// Use default search options // Use default search options
} elseif (empty($_SERVER['QUERY_STRING']) || (count($_GET) == 1 && isset($_GET['page']))) { } elseif (empty($_SERVER['QUERY_STRING']) || (count($_GET) === 1 && isset($_GET['page']))) {
if (!empty($LoggedUser['DefaultSearch'])) { if (!empty($LoggedUser['DefaultSearch'])) {
if (!empty($_GET['page'])) { if (!empty($_GET['page'])) {
$Page = $_GET['page']; $Page = $_GET['page'];
@ -330,7 +340,7 @@ function header_link($SortKey,$DefaultWay = 'desc') {
if (!empty($_GET['year'])) { if (!empty($_GET['year'])) {
$Years = explode('-', $_GET['year']); $Years = explode('-', $_GET['year']);
if (is_number($Years[0]) || (empty($Years[0]) && !empty($Years[1]) && is_number($Years[1]))) { if (is_number($Years[0]) || (empty($Years[0]) && !empty($Years[1]) && is_number($Years[1]))) {
if (count($Years) == 1) { if (count($Years) === 1) {
$SphQL->where('year', (int)$Years[0]); $SphQL->where('year', (int)$Years[0]);
$SphQLTor->where('year', (int)$Years[0]); $SphQLTor->where('year', (int)$Years[0]);
} else { } else {
@ -482,7 +492,7 @@ function header_link($SortKey,$DefaultWay = 'desc') {
} }
} }
// Get a list of all torrent ids that match the search query // Get a list of all torrent IDs that match the search query
$SphQLTor->where('id', $TorrentIDs)->limit(0, count($TorrentIDs), count($TorrentIDs)); $SphQLTor->where('id', $TorrentIDs)->limit(0, count($TorrentIDs), count($TorrentIDs));
$SphQLResultTor = $SphQLTor->query(); $SphQLResultTor = $SphQLTor->query();
$TorrentIDs = array_fill_keys($SphQLResultTor->collect('id'), true); $TorrentIDs = array_fill_keys($SphQLResultTor->collect('id'), true);
@ -492,7 +502,8 @@ function header_link($SortKey,$DefaultWay = 'desc') {
if ($TorrentCount == 0) { if ($TorrentCount == 0) {
$DB->query("SELECT $DB->query("
SELECT
tags.Name, tags.Name,
((COUNT(tags.Name) - 2) * (SUM(tt.PositiveVotes) - SUM(tt.NegativeVotes))) / (tags.Uses * 0.8) AS Score ((COUNT(tags.Name) - 2) * (SUM(tt.PositiveVotes) - SUM(tt.NegativeVotes))) / (tags.Uses * 0.8) AS Score
FROM xbt_snatched AS s FROM xbt_snatched AS s
@ -614,19 +625,34 @@ function header_link($SortKey,$DefaultWay = 'desc') {
if ($Data['Remastered'] && $Data['RemasterYear'] != 0) { if ($Data['Remastered'] && $Data['RemasterYear'] != 0) {
$RemasterName = $Data['RemasterYear']; $RemasterName = $Data['RemasterYear'];
$AddExtra = " - "; $AddExtra = ' - ';
if ($Data['RemasterRecordLabel']) { $RemasterName .= $AddExtra.display_str($Data['RemasterRecordLabel']); $AddExtra=' / '; } if ($Data['RemasterRecordLabel']) {
if ($Data['RemasterCatalogueNumber']) { $RemasterName .= $AddExtra.display_str($Data['RemasterCatalogueNumber']); $AddExtra=' / '; } $RemasterName .= $AddExtra.display_str($Data['RemasterRecordLabel']);
if ($Data['RemasterTitle']) { $RemasterName .= $AddExtra.display_str($Data['RemasterTitle']); $AddExtra=' / '; } $AddExtra = ' / ';
}
if ($Data['RemasterCatalogueNumber']) {
$RemasterName .= $AddExtra.display_str($Data['RemasterCatalogueNumber']);
$AddExtra = ' / ';
}
if ($Data['RemasterTitle']) {
$RemasterName .= $AddExtra.display_str($Data['RemasterTitle']);
$AddExtra = ' / ';
}
$RemasterName .= $AddExtra.display_str($Data['Media']); $RemasterName .= $AddExtra.display_str($Data['Media']);
} else { } else {
$AddExtra = " / "; $AddExtra = ' / ';
if (!$Data['Remastered']) { if (!$Data['Remastered']) {
$MasterName = "Original Release"; $MasterName = 'Original Release';
if ($GroupRecordLabel) { $MasterName .= $AddExtra.$GroupRecordLabel; $AddExtra=' / '; } if ($GroupRecordLabel) {
if ($GroupCatalogueNumber) { $MasterName .= $AddExtra.$GroupCatalogueNumber; $AddExtra=' / '; } $MasterName .= $AddExtra.$GroupRecordLabel;
$AddExtra = ' / ';
}
if ($GroupCatalogueNumber) {
$MasterName .= $AddExtra.$GroupCatalogueNumber;
$AddExtra = ' / ';
}
} else { } else {
$MasterName = "Unknown Release(s)"; $MasterName = 'Unknown Release(s)';
} }
$MasterName .= $AddExtra.display_str($Data['Media']); $MasterName .= $AddExtra.display_str($Data['Media']);
} }

View File

@ -12,7 +12,7 @@
SELECT File SELECT File
FROM torrents_files FROM torrents_files
WHERE TorrentID = '$TorrentID'"); WHERE TorrentID = '$TorrentID'");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
echo('Torrent not found.'); echo('Torrent not found.');
die(); die();
} }

View File

@ -31,7 +31,7 @@
WHERE ID = '$CollageID'"; WHERE ID = '$CollageID'";
$DB->query($sql); $DB->query($sql);
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
json_die("failure"); json_die("failure");
} }

View File

@ -89,7 +89,7 @@
$Pages = Format::get_pages($Page, $Forums[$ForumID]['NumTopics'], TOPICS_PER_PAGE, 9); $Pages = Format::get_pages($Page, $Forums[$ForumID]['NumTopics'], TOPICS_PER_PAGE, 9);
if (count($Forum) == 0) { if (count($Forum) === 0) {
print print
json_encode( json_encode(
array( array(
@ -100,17 +100,17 @@
); );
} else { } else {
// forums_last_read_topics is a record of the last post a user read in a topic, and what page that was on // forums_last_read_topics is a record of the last post a user read in a topic, and what page that was on
$DB->query(' $DB->query("
SELECT SELECT
l.TopicID, l.TopicID,
l.PostID, l.PostID,
CEIL(( SELECT COUNT(ID) CEIL(( SELECT COUNT(ID)
FROM forums_posts FROM forums_posts
WHERE forums_posts.TopicID = l.TopicID WHERE forums_posts.TopicID = l.TopicID
AND forums_posts.ID <= l.PostID) / '.$PerPage.' AND forums_posts.ID <= l.PostID) / $PerPage
) AS Page ) AS Page
FROM forums_last_read_topics AS l FROM forums_last_read_topics AS l
WHERE TopicID IN('.implode(', ', array_keys($Forum)).') WHERE TopicID IN(".implode(', ', array_keys($Forum)).')
AND UserID = \''.$LoggedUser['ID'].'\''); AND UserID = \''.$LoggedUser['ID'].'\'');
// Turns the result set into a multi-dimensional array, with // Turns the result set into a multi-dimensional array, with

View File

@ -97,7 +97,7 @@ function get_forum_info($ForumID) {
LEFT JOIN forums_topics ON forums_topics.ForumID = forums.ID LEFT JOIN forums_topics ON forums_topics.ForumID = forums.ID
WHERE forums.ID = '$ForumID' WHERE forums.ID = '$ForumID'
GROUP BY ForumID"); GROUP BY ForumID");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
return false; return false;
} }
// Makes an array, with $Forum['Name'], etc. // Makes an array, with $Forum['Name'], etc.

View File

@ -16,7 +16,7 @@
FROM pm_conversations_users FROM pm_conversations_users
WHERE UserID='$UserID' WHERE UserID='$UserID'
AND ConvID='$ConvID'"); AND ConvID='$ConvID'");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
print json_encode(array('status' => 'failure')); print json_encode(array('status' => 'failure'));
die(); die();
} }

View File

@ -13,8 +13,12 @@
$MyNews = $LoggedUser['LastReadNews']; $MyNews = $LoggedUser['LastReadNews'];
$CurrentNews = $Cache->get_value('news_latest_id'); $CurrentNews = $Cache->get_value('news_latest_id');
if ($CurrentNews === false) { if ($CurrentNews === false) {
$DB->query("SELECT ID FROM news ORDER BY Time DESC LIMIT 1"); $DB->query("
if ($DB->record_count() == 1) { SELECT ID
FROM news
ORDER BY Time DESC
LIMIT 1");
if ($DB->record_count() === 1) {
list($CurrentNews) = $DB->next_record(); list($CurrentNews) = $DB->next_record();
} else { } else {
$CurrentNews = -1; $CurrentNews = -1;
@ -24,7 +28,12 @@
$NewMessages = $Cache->get_value('inbox_new_' . $LoggedUser['ID']); $NewMessages = $Cache->get_value('inbox_new_' . $LoggedUser['ID']);
if ($NewMessages === false) { if ($NewMessages === false) {
$DB->query("SELECT COUNT(UnRead) FROM pm_conversations_users WHERE UserID='" . $LoggedUser['ID'] . "' AND UnRead = '1' AND InInbox = '1'"); $DB->query("
SELECT COUNT(UnRead)
FROM pm_conversations_users
WHERE UserID = '" . $LoggedUser['ID'] . "'
AND UnRead = '1'
AND InInbox = '1'");
list($NewMessages) = $DB->next_record(); list($NewMessages) = $DB->next_record();
$Cache->cache_value('inbox_new_' . $LoggedUser['ID'], $NewMessages, 0); $Cache->cache_value('inbox_new_' . $LoggedUser['ID'], $NewMessages, 0);
} }
@ -32,7 +41,11 @@
if (check_perms('site_torrents_notify')) { if (check_perms('site_torrents_notify')) {
$NewNotifications = $Cache->get_value('notifications_new_' . $LoggedUser['ID']); $NewNotifications = $Cache->get_value('notifications_new_' . $LoggedUser['ID']);
if ($NewNotifications === false) { if ($NewNotifications === false) {
$DB->query("SELECT COUNT(UserID) FROM users_notify_torrents WHERE UserID='$LoggedUser[ID]' AND UnRead='1'"); $DB->query("
SELECT COUNT(UserID)
FROM users_notify_torrents
WHERE UserID = '$LoggedUser[ID]'
AND UnRead = '1'");
list($NewNotifications) = $DB->next_record(); list($NewNotifications) = $DB->next_record();
/* if ($NewNotifications && !check_perms('site_torrents_notify')) { /* if ($NewNotifications && !check_perms('site_torrents_notify')) {
$DB->query("DELETE FROM users_notify_torrents WHERE UserID='$LoggedUser[ID]'"); $DB->query("DELETE FROM users_notify_torrents WHERE UserID='$LoggedUser[ID]'");
@ -46,8 +59,12 @@
$MyNews = $LoggedUser['LastReadNews']; $MyNews = $LoggedUser['LastReadNews'];
$CurrentNews = $Cache->get_value('news_latest_id'); $CurrentNews = $Cache->get_value('news_latest_id');
if ($CurrentNews === false) { if ($CurrentNews === false) {
$DB->query("SELECT ID FROM news ORDER BY Time DESC LIMIT 1"); $DB->query("
if ($DB->record_count() == 1) { SELECT ID
FROM news
ORDER BY Time DESC
LIMIT 1");
if ($DB->record_count() === 1) {
list($CurrentNews) = $DB->next_record(); list($CurrentNews) = $DB->next_record();
} else { } else {
$CurrentNews = -1; $CurrentNews = -1;
@ -59,8 +76,13 @@
$MyBlog = $LoggedUser['LastReadBlog']; $MyBlog = $LoggedUser['LastReadBlog'];
$CurrentBlog = $Cache->get_value('blog_latest_id'); $CurrentBlog = $Cache->get_value('blog_latest_id');
if ($CurrentBlog === false) { if ($CurrentBlog === false) {
$DB->query("SELECT ID FROM blog WHERE Important = 1 ORDER BY Time DESC LIMIT 1"); $DB->query("
if ($DB->record_count() == 1) { SELECT ID
FROM blog
WHERE Important = 1
ORDER BY Time DESC
LIMIT 1");
if ($DB->record_count() === 1) {
list($CurrentBlog) = $DB->next_record(); list($CurrentBlog) = $DB->next_record();
} else { } else {
$CurrentBlog = -1; $CurrentBlog = -1;

View File

@ -7,7 +7,7 @@
FROM bad_passwords FROM bad_passwords
WHERE Password='$Password'"); WHERE Password='$Password'");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
$IsGoodPassword = true; $IsGoodPassword = true;
} }

View File

@ -110,7 +110,7 @@
if (!empty($_GET['filter_cat'])) { if (!empty($_GET['filter_cat'])) {
$CategoryArray = array_keys($_GET['filter_cat']); $CategoryArray = array_keys($_GET['filter_cat']);
if (count($CategoryArray) != count($Categories)) { if (count($CategoryArray) !== count($Categories)) {
foreach ($CategoryArray as $Key => $Index) { foreach ($CategoryArray as $Key => $Index) {
if (!isset($Categories[$Index - 1])) { if (!isset($Categories[$Index - 1])) {
unset($CategoryArray[$Key]); unset($CategoryArray[$Key]);
@ -124,7 +124,7 @@
if (!empty($_GET['releases'])) { if (!empty($_GET['releases'])) {
$ReleaseArray = $_GET['releases']; $ReleaseArray = $_GET['releases'];
if (count($ReleaseArray) != count($ReleaseTypes)) { if (count($ReleaseArray) !== count($ReleaseTypes)) {
foreach ($ReleaseArray as $Index => $Value) { foreach ($ReleaseArray as $Index => $Value) {
if (!isset($ReleaseTypes[$Value])) { if (!isset($ReleaseTypes[$Value])) {
unset($ReleaseArray[$Index]); unset($ReleaseArray[$Index]);
@ -139,7 +139,7 @@
if (!empty($_GET['formats'])) { if (!empty($_GET['formats'])) {
$FormatArray = $_GET['formats']; $FormatArray = $_GET['formats'];
if (count($FormatArray) != count($Formats)) { if (count($FormatArray) !== count($Formats)) {
$FormatNameArray = array(); $FormatNameArray = array();
foreach ($FormatArray as $Index => $MasterIndex) { foreach ($FormatArray as $Index => $MasterIndex) {
if (isset($Formats[$MasterIndex])) { if (isset($Formats[$MasterIndex])) {
@ -155,7 +155,7 @@
if (!empty($_GET['media'])) { if (!empty($_GET['media'])) {
$MediaArray = $_GET['media']; $MediaArray = $_GET['media'];
if (count($MediaArray) != count($Media)) { if (count($MediaArray) !== count($Media)) {
$MediaNameArray = array(); $MediaNameArray = array();
foreach ($MediaArray as $Index => $MasterIndex) { foreach ($MediaArray as $Index => $MasterIndex) {
if (isset($Media[$MasterIndex])) { if (isset($Media[$MasterIndex])) {
@ -171,7 +171,7 @@
if (!empty($_GET['bitrates'])) { if (!empty($_GET['bitrates'])) {
$BitrateArray = $_GET['bitrates']; $BitrateArray = $_GET['bitrates'];
if (count($BitrateArray) != count($Bitrates)) { if (count($BitrateArray) !== count($Bitrates)) {
$BitrateNameArray = array(); $BitrateNameArray = array();
foreach ($BitrateArray as $Index => $MasterIndex) { foreach ($BitrateArray as $Index => $MasterIndex) {
if (isset($Bitrates[$MasterIndex])) { if (isset($Bitrates[$MasterIndex])) {

View File

@ -21,7 +21,7 @@
WHERE f.UserID = '$LoggedUser[ID]' WHERE f.UserID = '$LoggedUser[ID]'
AND f.FriendID = '$FriendID'"); AND f.FriendID = '$FriendID'");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
echo json_encode(array("status" => "error", "response" => "Not on friend list.")); echo json_encode(array("status" => "error", "response" => "Not on friend list."));
die(); die();
} }

View File

@ -50,7 +50,7 @@
WHERE m.ID = $UserID WHERE m.ID = $UserID
GROUP BY AuthorID"); GROUP BY AuthorID");
if ($DB->record_count() == 0) { // If user doesn't exist if (!$DB->has_results()) { // If user doesn't exist
json_die("failure", "no such user"); json_die("failure", "no such user");
} }
@ -83,7 +83,7 @@ function check_paranoia_here($Setting) {
FROM friends FROM friends
WHERE UserID = '$LoggedUser[ID]' WHERE UserID = '$LoggedUser[ID]'
AND FriendID = '$UserID'"); AND FriendID = '$UserID'");
if ($DB->record_count() != 0) { if ($DB->has_results()) {
$Friend = true; $Friend = true;
} }

View File

@ -32,7 +32,7 @@
SELECT AliasID, ArtistID, Name, Redirect SELECT AliasID, ArtistID, Name, Redirect
FROM artists_alias FROM artists_alias
WHERE Name = '".$DBAliasName."'"); WHERE Name = '".$DBAliasName."'");
if ($DB->record_count()) { if ($DB->has_results()) {
while (list($CloneAliasID, $CloneArtistID, $CloneAliasName, $CloneRedirect) = $DB->next_record(MYSQLI_NUM, false)) { while (list($CloneAliasID, $CloneArtistID, $CloneAliasName, $CloneRedirect) = $DB->next_record(MYSQLI_NUM, false)) {
if (!strcasecmp($CloneAliasName, $AliasName)) { if (!strcasecmp($CloneAliasName, $AliasName)) {
break; break;
@ -57,7 +57,7 @@
if (!$CloneAliasID) { if (!$CloneAliasID) {
if ($Redirect) { if ($Redirect) {
$DB->query("SELECT ArtistID, Redirect FROM artists_alias WHERE AliasID = $Redirect"); $DB->query("SELECT ArtistID, Redirect FROM artists_alias WHERE AliasID = $Redirect");
if (!$DB->record_count()) { if (!$DB->has_results()) {
error('Cannot redirect to a nonexistent artist alias.'); error('Cannot redirect to a nonexistent artist alias.');
} }
list($FoundArtistID, $FoundRedirect) = $DB->next_record(); list($FoundArtistID, $FoundRedirect) = $DB->next_record();

View File

@ -36,7 +36,7 @@
} }
$DB->query("SELECT SimilarID FROM artists_similar_votes WHERE SimilarID='$SimilarID' AND UserID='$UserID' AND Way='up'"); $DB->query("SELECT SimilarID FROM artists_similar_votes WHERE SimilarID='$SimilarID' AND UserID='$UserID' AND Way='up'");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
$DB->query("INSERT INTO artists_similar_votes (SimilarID, UserID, way) VALUES ('$SimilarID', '$UserID', 'up')"); $DB->query("INSERT INTO artists_similar_votes (SimilarID, UserID, way) VALUES ('$SimilarID', '$UserID', 'up')");
} }

View File

@ -59,7 +59,7 @@ function compare($X, $Y) {
GROUP BY a.ArtistID"; GROUP BY a.ArtistID";
$DB->query($sql); $DB->query($sql);
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
error(404); error(404);
} }
@ -93,7 +93,7 @@ function compare($X, $Y) {
GROUP BY r.ID GROUP BY r.ID
ORDER BY Votes DESC"); ORDER BY Votes DESC");
if ($DB->record_count() > 0) { if ($DB->has_results()) {
$Requests = $DB->to_array(); $Requests = $DB->to_array();
} else { } else {
$Requests = array(); $Requests = array();

View File

@ -20,16 +20,19 @@
View::show_header('Artist deleted'); View::show_header('Artist deleted');
$DB->query('SELECT Name FROM artists_group WHERE ArtistID='.$ArtistID); $DB->query("
SELECT Name
FROM artists_group
WHERE ArtistID = $ArtistID");
list($Name) = $DB->next_record(); list($Name) = $DB->next_record();
$DB->query(' $DB->query("
SELECT tg.Name, tg.ID SELECT tg.Name, tg.ID
FROM torrents_group AS tg FROM torrents_group AS tg
LEFT JOIN torrents_artists AS ta ON ta.GroupID = tg.ID LEFT JOIN torrents_artists AS ta ON ta.GroupID = tg.ID
WHERE ta.ArtistID='.$ArtistID); WHERE ta.ArtistID = $ArtistID");
$Count = $DB->record_count(); $Count = $DB->record_count();
if ($DB->record_count() > 0) { if ($DB->has_results()) {
?> ?>
<div class="thin"> <div class="thin">
There are still torrents that have <a href="artist.php?id=<?=$ArtistID?>" title="View Artist"><?=$Name?></a> as an artist.<br /> There are still torrents that have <a href="artist.php?id=<?=$ArtistID?>" title="View Artist"><?=$Name?></a> as an artist.<br />
@ -51,13 +54,13 @@
<? <?
} }
$DB->query(' $DB->query("
SELECT r.Title, r.ID SELECT r.Title, r.ID
FROM requests AS r FROM requests AS r
LEFT JOIN requests_artists AS ra ON ra.RequestID = r.ID LEFT JOIN requests_artists AS ra ON ra.RequestID = r.ID
WHERE ra.ArtistID='.$ArtistID); WHERE ra.ArtistID = $ArtistID");
$Count += $DB->record_count(); $Count += $DB->record_count();
if ($DB->record_count() > 0) { if ($DB->has_results()) {
?> ?>
<div class="thin"> <div class="thin">
There are still requests that have <a href="artist.php?id=<?=$ArtistID?>" title="View Artist"><?=$Name?></a> as an artist.<br /> There are still requests that have <a href="artist.php?id=<?=$ArtistID?>" title="View Artist"><?=$Name?></a> as an artist.<br />

View File

@ -16,7 +16,7 @@
JOIN artists_alias AS aa2 ON aa.ArtistID=aa2.ArtistID JOIN artists_alias AS aa2 ON aa.ArtistID=aa2.ArtistID
WHERE aa.AliasID=".$AliasID); WHERE aa.AliasID=".$AliasID);
if ($DB->record_count() == 1) { if ($DB->record_count() === 1) {
//This is the last alias on the artist //This is the last alias on the artist
error("That alias is the last alias for that artist; removing it would cause bad things to happen."); error("That alias is the last alias for that artist; removing it would cause bad things to happen.");
} }
@ -25,7 +25,7 @@
SELECT GroupID SELECT GroupID
FROM torrents_artists FROM torrents_artists
WHERE AliasID='$AliasID'"); WHERE AliasID='$AliasID'");
if ($DB->record_count() > 0) { if ($DB->has_results()) {
list($GroupID) = $DB->next_record(); list($GroupID) = $DB->next_record();
if ($GroupID != 0) { if ($GroupID != 0) {
error("That alias still has the group (<a href=\"torrents.php?id=$GroupID\">$GroupID</a>) attached. Fix that first."); error("That alias still has the group (<a href=\"torrents.php?id=$GroupID\">$GroupID</a>) attached. Fix that first.");

View File

@ -1,4 +1,4 @@
<? <?php
authorize(); authorize();
$SimilarID = db_string($_GET['similarid']); $SimilarID = db_string($_GET['similarid']);
@ -8,16 +8,25 @@
if (!check_perms('site_delete_tag')) { if (!check_perms('site_delete_tag')) {
error(403); error(403);
} }
$DB->query("SELECT ArtistID FROM artists_similar WHERE SimilarID='$SimilarID'"); $DB->query("
SELECT ArtistID
FROM artists_similar
WHERE SimilarID = '$SimilarID'");
$ArtistIDs = $DB->to_array(); $ArtistIDs = $DB->to_array();
$DB->query("DELETE FROM artists_similar WHERE SimilarID='$SimilarID'"); $DB->query("
$DB->query("DELETE FROM artists_similar_scores WHERE SimilarID='$SimilarID'"); DELETE FROM artists_similar
$DB->query("DELETE FROM artists_similar_votes WHERE SimilarID='$SimilarID'"); WHERE SimilarID = '$SimilarID'");
$DB->query("
DELETE FROM artists_similar_scores
WHERE SimilarID = '$SimilarID'");
$DB->query("
DELETE FROM artists_similar_votes
WHERE SimilarID = '$SimilarID'");
foreach ($ArtistIDs as $ArtistID) { foreach ($ArtistIDs as $ArtistID) {
list($ArtistID) = $ArtistID; list($ArtistID) = $ArtistID;
$Cache->delete_value('artist_'.$ArtistID); // Delete artist cache $Cache->delete_value("artist_$ArtistID"); // Delete artist cache
$Cache->delete_value('similar_positions_'.$ArtistID); $Cache->delete_value("similar_positions_$ArtistID");
} }
header('Location: '.$_SERVER['HTTP_REFERER']); header('Location: '.$_SERVER['HTTP_REFERER']);
?> ?>

View File

@ -70,7 +70,7 @@
list($ArtistName) = $DB->next_record(MYSQLI_NUM, false); list($ArtistName) = $DB->next_record(MYSQLI_NUM, false);
$DB->query("SELECT GroupID, Importance FROM torrents_artists WHERE ArtistID='$ArtistID'"); $DB->query("SELECT GroupID, Importance FROM torrents_artists WHERE ArtistID='$ArtistID'");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
error(404); error(404);
} }
$Releases = $DB->to_array('GroupID', MYSQLI_ASSOC, false); $Releases = $DB->to_array('GroupID', MYSQLI_ASSOC, false);

View File

@ -26,7 +26,7 @@
LEFT JOIN wiki_artists ON wiki_artists.RevisionID = a.RevisionID LEFT JOIN wiki_artists ON wiki_artists.RevisionID = a.RevisionID
WHERE a.ArtistID = '$ArtistID'"); WHERE a.ArtistID = '$ArtistID'");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
error("Cannot find an artist with the ID {$ArtistID}: See the <a href=\"log.php?search=Artist+$ArtistID\">site log</a>."); error("Cannot find an artist with the ID {$ArtistID}: See the <a href=\"log.php?search=Artist+$ArtistID\">site log</a>.");
} }

View File

@ -60,12 +60,14 @@
list($Pages) = $DB->next_record(); list($Pages) = $DB->next_record();
$DB->query(" $DB->query("
INSERT INTO artist_comments (ArtistID,AuthorID,AddedTime,Body) INSERT INTO artist_comments
VALUES ('" . db_string($ArtistID) . "', '" . db_string($LoggedUser['ID']) . "','" . sqltime() . "','" . db_string($_POST['body']) . "')"); (ArtistID, AuthorID, AddedTime, Body)
VALUES
('" . db_string($ArtistID) . "', '" . db_string($LoggedUser['ID']) . "', '" . sqltime() . "', '" . db_string($_POST['body']) . "')");
$PostID = $DB->inserted_id(); $PostID = $DB->inserted_id();
$CatalogueID = floor((TORRENT_COMMENTS_PER_PAGE * $Pages - TORRENT_COMMENTS_PER_PAGE) / THREAD_CATALOGUE); $CatalogueID = floor((TORRENT_COMMENTS_PER_PAGE * $Pages - TORRENT_COMMENTS_PER_PAGE) / THREAD_CATALOGUE);
$Cache->begin_transaction('artist_comments_' . $ArtistID . '_catalogue_' . $CatalogueID); $Cache->begin_transaction("artist_comments_$ArtistID" . "_catalogue_$CatalogueID");
$Post = array( $Post = array(
'ID' => $PostID, 'ID' => $PostID,
'AuthorID' => $LoggedUser['ID'], 'AuthorID' => $LoggedUser['ID'],
@ -77,9 +79,9 @@
); );
$Cache->insert('', $Post); $Cache->insert('', $Post);
$Cache->commit_transaction(0); $Cache->commit_transaction(0);
$Cache->increment('artist_comments_' . $ArtistID); $Cache->increment("artist_comments_$ArtistID");
header('Location: artist.php?id=' . $ArtistID . '&page=' . $Pages); header("Location: artist.php?id=$ArtistID&page=$Pages");
break; break;
case 'warn' : case 'warn' :
include(SERVER_ROOT . '/sections/artist/warn.php'); include(SERVER_ROOT . '/sections/artist/warn.php');
@ -105,7 +107,10 @@
if (!$_GET['post'] || !is_number($_GET['post'])) { if (!$_GET['post'] || !is_number($_GET['post'])) {
error(0); error(0);
} }
$DB->query("SELECT Body FROM artist_comments WHERE ID='" . db_string($_GET['post']) . "'"); $DB->query("
SELECT Body
FROM artist_comments
WHERE ID = '" . db_string($_GET['post']) . "'");
list($Body) = $DB->next_record(MYSQLI_NUM); list($Body) = $DB->next_record(MYSQLI_NUM);
echo trim($Body); echo trim($Body);
break; break;
@ -124,35 +129,37 @@
} }
// Get topicid, forumid, number of pages // Get topicid, forumid, number of pages
$DB->query(" $DB->query('
SELECT SELECT
ArtistID, ArtistID,
CEIL(COUNT(ac.ID)/" . TORRENT_COMMENTS_PER_PAGE . ") AS Pages, CEIL(COUNT(ac.ID) / ' . TORRENT_COMMENTS_PER_PAGE . ') AS Pages,
CEIL(SUM(IF(ac.ID<=" . $_GET['postid'] . ",1,0))/" . TORRENT_COMMENTS_PER_PAGE . ") AS Page CEIL(SUM(IF(ac.ID <= ' . $_GET['postid'] . ', 1, 0)) / ' . TORRENT_COMMENTS_PER_PAGE . ') AS Page
FROM artist_comments AS ac FROM artist_comments AS ac
WHERE ac.ArtistID = ( WHERE ac.ArtistID = (
SELECT ArtistID SELECT ArtistID
FROM artist_comments FROM artist_comments
WHERE ID=" . $_GET['postid'] . " WHERE ID = ' . $_GET['postid'] . '
) )
GROUP BY ac.ArtistID"); GROUP BY ac.ArtistID');
list($ArtistID, $Pages, $Page) = $DB->next_record(); list($ArtistID, $Pages, $Page) = $DB->next_record();
// $Pages = number of pages in the thread // $Pages = number of pages in the thread
// $Page = which page the post is on // $Page = which page the post is on
// These are set for cache clearing. // These are set for cache clearing.
$DB->query("DELETE FROM artist_comments WHERE ID='" . db_string($_GET['postid']) . "'"); $DB->query("
DELETE FROM artist_comments
WHERE ID = '" . db_string($_GET['postid']) . "'");
//We need to clear all subsequential catalogues as they've all been bumped with the absence of this post //We need to clear all subsequential catalogues as they've all been bumped with the absence of this post
$ThisCatalogue = floor((TORRENT_COMMENTS_PER_PAGE * $Page - TORRENT_COMMENTS_PER_PAGE) / THREAD_CATALOGUE); $ThisCatalogue = floor((TORRENT_COMMENTS_PER_PAGE * $Page - TORRENT_COMMENTS_PER_PAGE) / THREAD_CATALOGUE);
$LastCatalogue = floor((TORRENT_COMMENTS_PER_PAGE * $Pages - TORRENT_COMMENTS_PER_PAGE) / THREAD_CATALOGUE); $LastCatalogue = floor((TORRENT_COMMENTS_PER_PAGE * $Pages - TORRENT_COMMENTS_PER_PAGE) / THREAD_CATALOGUE);
for ($i = $ThisCatalogue; $i <= $LastCatalogue; $i++) { for ($i = $ThisCatalogue; $i <= $LastCatalogue; $i++) {
$Cache->delete_value('artist_comments_' . $ArtistID . '_catalogue_' . $i); $Cache->delete_value("artist_comments_$ArtistID" . "_catalogue_$i");
} }
// Delete thread info cache (eg. number of pages) // Delete thread info cache (eg. number of pages)
$Cache->delete_value('artist_comments_' . $ArtistID); $Cache->delete_value("artist_comments_$ArtistID");
break; break;
@ -188,7 +195,7 @@
if ($LoggedUser['ID'] != $AuthorID && !check_perms('site_moderate_forums')) { if ($LoggedUser['ID'] != $AuthorID && !check_perms('site_moderate_forums')) {
error(404); error(404);
} }
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
error(404); error(404);
} }
@ -203,7 +210,7 @@
// Update the cache // Update the cache
$CatalogueID = floor((TORRENT_COMMENTS_PER_PAGE * $Page - TORRENT_COMMENTS_PER_PAGE) / THREAD_CATALOGUE); $CatalogueID = floor((TORRENT_COMMENTS_PER_PAGE * $Page - TORRENT_COMMENTS_PER_PAGE) / THREAD_CATALOGUE);
$Cache->begin_transaction('artist_comments_' . $ArtistID . '_catalogue_' . $CatalogueID); $Cache->begin_transaction("artist_comments_$ArtistID" . "_catalogue_$CatalogueID");
$Cache->update_row($_POST['key'], array( $Cache->update_row($_POST['key'], array(
'ID' => $_POST['post'], 'ID' => $_POST['post'],
@ -217,8 +224,10 @@
$Cache->commit_transaction(0); $Cache->commit_transaction(0);
$DB->query(" $DB->query("
INSERT INTO comments_edits (Page, PostID, EditUser, EditTime, Body) INSERT INTO comments_edits
VALUES ('artist', " . db_string($_POST['post']) . ", " . db_string($LoggedUser['ID']) . ", '" . sqltime() . "', '" . db_string($OldBody) . "')"); (Page, PostID, EditUser, EditTime, Body)
VALUES
('artist', " . db_string($_POST['post']) . ", " . db_string($LoggedUser['ID']) . ", '" . sqltime() . "', '" . db_string($OldBody) . "')");
// This gets sent to the browser, which echoes it in place of the old body // This gets sent to the browser, which echoes it in place of the old body
echo $Text->full_format($_POST['body']); echo $Text->full_format($_POST['body']);
@ -275,7 +284,7 @@
SELECT ArtistID, Name SELECT ArtistID, Name
FROM artists_alias FROM artists_alias
WHERE Name LIKE '" . db_string($NameSearch) . "'"); WHERE Name LIKE '" . db_string($NameSearch) . "'");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
if (isset($LoggedUser['SearchType']) && $LoggedUser['SearchType']) { if (isset($LoggedUser['SearchType']) && $LoggedUser['SearchType']) {
header('Location: torrents.php?action=advanced&artistname=' . urlencode($_GET['artistname'])); header('Location: torrents.php?action=advanced&artistname=' . urlencode($_GET['artistname']));
} else { } else {
@ -284,17 +293,17 @@
die(); die();
} }
list($FirstID, $Name) = $DB->next_record(MYSQLI_NUM, false); list($FirstID, $Name) = $DB->next_record(MYSQLI_NUM, false);
if ($DB->record_count() == 1 || !strcasecmp($Name, $NameSearch)) { if ($DB->record_count() === 1 || !strcasecmp($Name, $NameSearch)) {
header('Location: artist.php?id=' . $FirstID); header("Location: artist.php?id=$FirstID");
die(); die();
} }
while (list($ID, $Name) = $DB->next_record(MYSQLI_NUM, false)) { while (list($ID, $Name) = $DB->next_record(MYSQLI_NUM, false)) {
if (!strcasecmp($Name, $NameSearch)) { if (!strcasecmp($Name, $NameSearch)) {
header('Location: artist.php?id=' . $ID); header("Location: artist.php?id=$ID");
die(); die();
} }
} }
header('Location: artist.php?id=' . $FirstID); header("Location: artist.php?id=$FirstID");
die(); die();
} else { } else {
header('Location: torrents.php'); header('Location: torrents.php');

View File

@ -31,17 +31,19 @@
FROM users_notify_filters FROM users_notify_filters
WHERE ID = '$Notify[ID]'"); WHERE ID = '$Notify[ID]'");
} }
if (empty($Notify) && $DB->record_count() == 0) { if (empty($Notify) && !$DB->has_results()) {
$DB->query(" $DB->query("
INSERT INTO users_notify_filters (UserID, Label, Artists) INSERT INTO users_notify_filters
VALUES ('$LoggedUser[ID]', 'Artist notifications', '|".db_string($ArtistAliases)."|')"); (UserID, Label, Artists)
VALUES
('$LoggedUser[ID]', 'Artist notifications', '|".db_string($ArtistAliases)."|')");
$FilterID = $DB->inserted_id(); $FilterID = $DB->inserted_id();
$Cache->delete_value('notify_filters_'.$LoggedUser['ID']); $Cache->delete_value('notify_filters_'.$LoggedUser['ID']);
$Cache->delete_value('notify_artists_'.$LoggedUser['ID']); $Cache->delete_value('notify_artists_'.$LoggedUser['ID']);
} else { } else {
list($ID, $ArtistNames) = $DB->next_record(MYSQLI_NUM, FALSE); list($ID, $ArtistNames) = $DB->next_record(MYSQLI_NUM, FALSE);
if (stripos($ArtistNames, $ArtistAliases) === false) { if (stripos($ArtistNames, $ArtistAliases) === false) {
$ArtistNames.=$ArtistAliases.'|'; $ArtistNames .= "$ArtistAliases|";
$DB->query(" $DB->query("
UPDATE users_notify_filters UPDATE users_notify_filters
SET Artists = '".db_string($ArtistNames)."' SET Artists = '".db_string($ArtistNames)."'

View File

@ -34,7 +34,7 @@
} }
$DB->query("SELECT Name FROM artists_group WHERE ArtistID='$ArtistID'"); $DB->query("SELECT Name FROM artists_group WHERE ArtistID='$ArtistID'");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
error(404); error(404);
} }
list($OldName) = $DB->next_record(MYSQLI_NUM, false); list($OldName) = $DB->next_record(MYSQLI_NUM, false);

View File

@ -20,14 +20,14 @@
$URL = "https://". SSL_SITE_URL."/artist.php?id=$ArtistID&postid=$PostID#post$PostID"; $URL = "https://". SSL_SITE_URL."/artist.php?id=$ArtistID&postid=$PostID#post$PostID";
if ($Length != 'verbal') { if ($Length != 'verbal') {
$Time = ((int)$Length) * (7 * 24 * 60 * 60); $Time = ((int)$Length) * (7 * 24 * 60 * 60);
Tools::warn_user($UserID, $Time, "$URL - ". $Reason); Tools::warn_user($UserID, $Time, "$URL - $Reason");
$Subject = 'You have received a warning'; $Subject = 'You have received a warning';
$PrivateMessage = "You have received a $Length week warning for [url=$URL]this artist comment.[/url]\n\n" . $PrivateMessage; $PrivateMessage = "You have received a $Length week warning for [url=$URL]this artist comment.[/url]\n\n$PrivateMessage";
$WarnTime = time_plus($Time); $WarnTime = time_plus($Time);
$AdminComment = date('Y-m-d').' - Warned until '.$WarnTime.' by '.$LoggedUser['Username']."\nReason: $URL - $Reason\n\n"; $AdminComment = date('Y-m-d') . " - Warned until $WarnTime by " . $LoggedUser['Username'] . "\nReason: $URL - $Reason\n\n";
} else { } else {
$Subject = 'You have received a verbal warning'; $Subject = 'You have received a verbal warning';
$PrivateMessage = "You have received a verbal warning for [url=$URL]this post.[/url]\n\n" . $PrivateMessage; $PrivateMessage = "You have received a verbal warning for [url=$URL]this post.[/url]\n\n$PrivateMessage";
$AdminComment = date('Y-m-d') . ' - Verbally warned by ' . $LoggedUser['Username'] . " for $URL \nReason: $Reason\n\n"; $AdminComment = date('Y-m-d') . ' - Verbally warned by ' . $LoggedUser['Username'] . " for $URL \nReason: $Reason\n\n";
Tools::update_user_notes($UserID, $AdminComment); Tools::update_user_notes($UserID, $AdminComment);
} }
@ -66,7 +66,7 @@
// Update the cache // Update the cache
$CatalogueID = floor((TORRENT_COMMENTS_PER_PAGE * $Page - TORRENT_COMMENTS_PER_PAGE) / THREAD_CATALOGUE); $CatalogueID = floor((TORRENT_COMMENTS_PER_PAGE * $Page - TORRENT_COMMENTS_PER_PAGE) / THREAD_CATALOGUE);
$Cache->begin_transaction('artist_comments_' . $ArtistID . '_catalogue_' . $CatalogueID); $Cache->begin_transaction("artist_comments_$ArtistID" . "_catalogue_$CatalogueID");
$Cache->update_row($_POST['key'], array('ID' => $_POST['postid'], 'AuthorID' => $AuthorID, 'AddedTime' => $AddedTime, 'Body' => $Body, 'EditedUserID' => db_string($LoggedUser['ID']), 'EditedTime' => sqltime(), 'Username' => $LoggedUser['Username'])); $Cache->update_row($_POST['key'], array('ID' => $_POST['postid'], 'AuthorID' => $AuthorID, 'AddedTime' => $AddedTime, 'Body' => $Body, 'EditedUserID' => db_string($LoggedUser['ID']), 'EditedTime' => sqltime(), 'Username' => $LoggedUser['Username']));
$Cache->commit_transaction(0); $Cache->commit_transaction(0);

View File

@ -17,7 +17,7 @@
WHERE SimilarID='$SimilarID' WHERE SimilarID='$SimilarID'
AND UserID='$UserID' AND UserID='$UserID'
AND Way='$Way'"); AND Way='$Way'");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
if ($Way == 'down') { if ($Way == 'down') {
$Score = 'Score-100'; $Score = 'Score-100';
} elseif ($Way == 'up') { } elseif ($Way == 'up') {

View File

@ -1,10 +1,15 @@
<?php <?php
if (check_perms('admin_reports') && !empty($_GET['remove']) && is_number($_GET['remove'])) { if (check_perms('admin_reports') && !empty($_GET['remove']) && is_number($_GET['remove'])) {
$DB->query("DELETE FROM torrents_bad_files WHERE TorrentID = ".$_GET['remove']); $DB->query('
$DB->query("SELECT GroupID FROM torrents WHERE ID = ".$_GET['remove']); DELETE FROM torrents_bad_files
WHERE TorrentID = '.$_GET['remove']);
$DB->query('
SELECT GroupID
FROM torrents
WHERE ID = '.$_GET['remove']);
list($GroupID) = $DB->next_record(); list($GroupID) = $DB->next_record();
$Cache->delete_value('torrents_details_'.$GroupID); $Cache->delete_value("torrents_details_$GroupID");
} }
@ -12,7 +17,7 @@
$Join = ''; $Join = '';
$All = true; $All = true;
} else { } else {
$Join = "JOIN xbt_snatched as x ON x.fid=tfi.TorrentID AND x.uid = ".$LoggedUser['ID']; $Join = 'JOIN xbt_snatched as x ON x.fid = tfi.TorrentID AND x.uid = '.$LoggedUser['ID'];
$All = false; $All = false;
} }
@ -61,7 +66,7 @@
} else { } else {
$DisplayName = ''; $DisplayName = '';
} }
$DisplayName.='<a href="torrents.php?id='.$GroupID.'" title="View Torrent">'.$GroupName.'</a>'; $DisplayName .= "<a href=\"torrents.php?id=$GroupID\" title=\"View Torrent\">$GroupName</a>";
if ($GroupYear > 0) { if ($GroupYear > 0) {
$DisplayName .= " [$GroupYear]"; $DisplayName .= " [$GroupYear]";
} }
@ -71,7 +76,7 @@
$ExtraInfo = Torrents::torrent_info($Torrents[$TorrentID]); $ExtraInfo = Torrents::torrent_info($Torrents[$TorrentID]);
if ($ExtraInfo) { if ($ExtraInfo) {
$DisplayName.=' - '.$ExtraInfo; $DisplayName .= " - $ExtraInfo";
} }
?> ?>
<tr class="torrent torrent_row<?=$GroupFlags['IsSnatched'] ? ' snatched_torrent"' : ''?>"> <tr class="torrent torrent_row<?=$GroupFlags['IsSnatched'] ? ' snatched_torrent"' : ''?>">
@ -86,7 +91,8 @@
<div class="tags"><?=$TorrentTags->format()?></div> <div class="tags"><?=$TorrentTags->format()?></div>
</td> </td>
</tr> </tr>
<? } ?> <?
} ?>
</table> </table>
</div> </div>
<? <?

View File

@ -57,8 +57,10 @@
AND t.Format IN ('FLAC', 'MP3') AND t.Format IN ('FLAC', 'MP3')
GROUP BY t.GroupID, RemIdent"); GROUP BY t.GroupID, RemIdent");
//$DB->query('SELECT * FROM t'); /*$DB->query('
SELECT *
FROM t');
*/
$DB->query(" $DB->query("
SELECT GroupID SELECT GroupID
FROM temp_sections_better_snatch FROM temp_sections_better_snatch
@ -131,7 +133,7 @@
foreach ($Encodings as $Encoding) { foreach ($Encodings as $Encoding) {
if (!isset($Edition['Formats'][$Encoding])) { if (!isset($Edition['Formats'][$Encoding])) {
++$edition_miss; ++$edition_miss;
++$Counter['miss_'.$Encoding]; ++$Counter["miss_$Encoding"];
} }
} }
$Counter['miss_total'] += $edition_miss; $Counter['miss_total'] += $edition_miss;
@ -194,7 +196,7 @@
$DisplayName .= " [$GroupYear]"; $DisplayName .= " [$GroupYear]";
} }
if ($ReleaseType > 0) { if ($ReleaseType > 0) {
$DisplayName .= " [".$ReleaseTypes[$ReleaseType]."]"; $DisplayName .= ' ['.$ReleaseTypes[$ReleaseType].']';
} }
$DisplayName .= ' ['.$Edition['Medium'].']'; $DisplayName .= ' ['.$Edition['Medium'].']';

View File

@ -64,7 +64,7 @@
SELECT ForumID SELECT ForumID
FROM forums_topics FROM forums_topics
WHERE ID = $ThreadID"); WHERE ID = $ThreadID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
error('No such thread exists!'); error('No such thread exists!');
header('Location: blog.php'); header('Location: blog.php');
} }
@ -135,7 +135,8 @@
<div class="thin"> <div class="thin">
<? <?
if (!$Blog = $Cache->get_value('blog')) { if (!$Blog = $Cache->get_value('blog')) {
$DB->query("SELECT $DB->query("
SELECT
b.ID, b.ID,
um.Username, um.Username,
b.Title, b.Title,
@ -154,7 +155,10 @@
$Cache->begin_transaction('user_info_heavy_'.$LoggedUser['ID']); $Cache->begin_transaction('user_info_heavy_'.$LoggedUser['ID']);
$Cache->update_row(false, array('LastReadBlog' => $Blog[0][0])); $Cache->update_row(false, array('LastReadBlog' => $Blog[0][0]));
$Cache->commit_transaction(0); $Cache->commit_transaction(0);
$DB->query("UPDATE users_info SET LastReadBlog = '".$Blog[0][0]."' WHERE UserID = ".$LoggedUser['ID']); $DB->query("
UPDATE users_info
SET LastReadBlog = '".$Blog[0][0]."'
WHERE UserID = ".$LoggedUser['ID']);
$LoggedUser['LastReadBlog'] = $Blog[0][0]; $LoggedUser['LastReadBlog'] = $Blog[0][0];
} }
@ -176,7 +180,8 @@
<em><a href="forums.php?action=viewthread&amp;threadid=<?=$ThreadID?>">Discuss this post here</a></em> <em><a href="forums.php?action=viewthread&amp;threadid=<?=$ThreadID?>">Discuss this post here</a></em>
<? if (check_perms('admin_manage_blog')) { ?> <? if (check_perms('admin_manage_blog')) { ?>
<a href="blog.php?action=deadthread&amp;id=<?=$BlogID?>&amp;auth=<?=$LoggedUser['AuthKey']?>" class="brackets">Remove link</a> <a href="blog.php?action=deadthread&amp;id=<?=$BlogID?>&amp;auth=<?=$LoggedUser['AuthKey']?>" class="brackets">Remove link</a>
<? } <?
}
} ?> } ?>
</div> </div>
</div> </div>

View File

@ -23,9 +23,12 @@
FROM $Table FROM $Table
WHERE UserID='$LoggedUser[ID]' WHERE UserID='$LoggedUser[ID]'
AND $Col='".db_string($_GET['id'])."'"); AND $Col='".db_string($_GET['id'])."'");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
if ($Type === 'torrent') { if ($Type === 'torrent') {
$DB->query('SELECT MAX(Sort) FROM `bookmarks_torrents` WHERE UserID =' . $LoggedUser['ID']); $DB->query('
SELECT MAX(Sort)
FROM `bookmarks_torrents`
WHERE UserID = ' . $LoggedUser['ID']);
list($Sort) = $DB->next_record(); list($Sort) = $DB->next_record();
if (!$Sort) $Sort = 0; if (!$Sort) $Sort = 0;
$Sort += 1; $Sort += 1;
@ -58,25 +61,25 @@
$Title = $GroupTitle; $Title = $GroupTitle;
list($TorrentID, $Format, $Bitrate, $HasLog, $HasCue, $LogScore, $Media, $Scene, $Freeleech, $UploaderID) = $Torrent; list($TorrentID, $Format, $Bitrate, $HasLog, $HasCue, $LogScore, $Media, $Scene, $Freeleech, $UploaderID) = $Torrent;
$Title .= " [$Year] - "; $Title .= " [$Year] - ";
$Title .= $Format." / ".$Bitrate; $Title .= "$Format / $Bitrate";
if ($HasLog == "'1'") { if ($HasLog == "'1'") {
$Title .= " / Log"; $Title .= ' / Log';
} }
if ($HasLog) { if ($HasLog) {
$Title .= " / ".$LogScore.'%'; $Title .= " / $LogScore%";
} }
if ($HasCue == "'1'") { if ($HasCue == "'1'") {
$Title .= " / Cue"; $Title .= ' / Cue';
} }
$Title .= " / ".trim($Media); $Title .= ' / '.trim($Media);
if ($Scene == '1') { if ($Scene == '1') {
$Title .= " / Scene"; $Title .= ' / Scene';
} }
if ($Freeleech == '1') { if ($Freeleech == '1') {
$Title .= " / Freeleech!"; $Title .= ' / Freeleech!';
} }
if ($Freeleech == '2') { if ($Freeleech == '2') {
$Title .= " / Neutral leech!"; $Title .= ' / Neutral leech!';
} }
$UploaderInfo = Users::user_info($UploaderID); $UploaderInfo = Users::user_info($UploaderID);
@ -84,12 +87,15 @@
$Text->strip_bbcode($Body), $Text->strip_bbcode($Body),
'torrents.php?action=download&amp;authkey=[[AUTHKEY]]&amp;torrent_pass=[[PASSKEY]]&amp;id='.$TorrentID, 'torrents.php?action=download&amp;authkey=[[AUTHKEY]]&amp;torrent_pass=[[PASSKEY]]&amp;id='.$TorrentID,
$UploaderInfo['Username'], $UploaderInfo['Username'],
'torrents.php?id='.$GroupID, "torrents.php?id=$GroupID",
trim($TagList)); trim($TagList));
$Feed->populate('torrents_bookmarks_t_'.$LoggedUser['torrent_pass'], $Item); $Feed->populate('torrents_bookmarks_t_'.$LoggedUser['torrent_pass'], $Item);
} }
} elseif ($Type == 'request') { } elseif ($Type == 'request') {
$DB->query("SELECT UserID FROM $Table WHERE $Col='".db_string($_GET['id'])."'"); $DB->query("
SELECT UserID
FROM $Table
WHERE $Col = '".db_string($_GET['id'])."'");
$Bookmarkers = $DB->collect('UserID'); $Bookmarkers = $DB->collect('UserID');
$SS->UpdateAttributes('requests requests_delta', array('bookmarker'), array($_GET['id'] => array($Bookmarkers)), true); $SS->UpdateAttributes('requests requests_delta', array('bookmarker'), array($_GET['id'] => array($Bookmarkers)), true);
} }

View File

@ -2,7 +2,10 @@
enforce_login(); enforce_login();
View::show_header('IRC'); View::show_header('IRC');
$DB->query("SELECT IRCKey FROM users_main WHERE ID = $LoggedUser[ID]"); $DB->query("
SELECT IRCKey
FROM users_main
WHERE ID = $LoggedUser[ID]");
list($IRCKey) = $DB->next_record(); list($IRCKey) = $DB->next_record();
if (empty($IRCKey)) { if (empty($IRCKey)) {

View File

@ -21,7 +21,7 @@ function add_artist($CollageID, $ArtistID) {
FROM collages_artists FROM collages_artists
WHERE CollageID = '$CollageID' WHERE CollageID = '$CollageID'
AND ArtistID = '$ArtistID'"); AND ArtistID = '$ArtistID'");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
$DB->query(" $DB->query("
INSERT IGNORE INTO collages_artists INSERT IGNORE INTO collages_artists
(CollageID, ArtistID, UserID, Sort, AddedOn) (CollageID, ArtistID, UserID, Sort, AddedOn)
@ -147,7 +147,7 @@ function add_artist($CollageID, $ArtistID) {
SELECT ArtistID SELECT ArtistID
FROM artists_group FROM artists_group
WHERE ArtistID = '$ArtistID'"); WHERE ArtistID = '$ArtistID'");
if (!$DB->record_count()) { if (!$DB->has_results()) {
$Err = "One of the entered URLs ($URL) does not correspond to an artist on the site."; $Err = "One of the entered URLs ($URL) does not correspond to an artist on the site.";
break; break;
} }

View File

@ -20,7 +20,7 @@ function add_torrent($CollageID, $GroupID) {
FROM collages_torrents FROM collages_torrents
WHERE CollageID = '$CollageID' WHERE CollageID = '$CollageID'
AND GroupID = '$GroupID'"); AND GroupID = '$GroupID'");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
$DB->query(" $DB->query("
INSERT IGNORE INTO collages_torrents INSERT IGNORE INTO collages_torrents
(CollageID, GroupID, UserID, Sort, AddedOn) (CollageID, GroupID, UserID, Sort, AddedOn)
@ -147,7 +147,7 @@ function add_torrent($CollageID, $GroupID) {
SELECT ID SELECT ID
FROM torrents_group FROM torrents_group
WHERE ID = '$GroupID'"); WHERE ID = '$GroupID'");
if (!$DB->record_count()) { if (!$DB->has_results()) {
$Err = "One of the entered URLs ($URL) does not correspond to a torrent group on the site."; $Err = "One of the entered URLs ($URL) does not correspond to a torrent group on the site.";
break; break;
} }

View File

@ -142,18 +142,22 @@
} }
if (!empty($Categories)) { if (!empty($Categories)) {
$SQL.=" AND CategoryID IN(".db_string(implode(',',$Categories)).")"; $SQL .= " AND CategoryID IN(".db_string(implode(',', $Categories)).')';
} }
if ($_GET['action'] == 'mine') { if ($_GET['action'] == 'mine') {
$SQL = $BaseSQL; $SQL = $BaseSQL;
$SQL .= " AND c.UserID='".$LoggedUser['ID']."' AND c.CategoryID=0"; $SQL .= "
AND c.UserID = '".$LoggedUser['ID']."'
AND c.CategoryID = 0";
} }
$SQL.=" ORDER BY $Order $Way LIMIT $Limit "; $SQL .= "
ORDER BY $Order $Way
LIMIT $Limit";
$DB->query($SQL); $DB->query($SQL);
$Collages = $DB->to_array(); $Collages = $DB->to_array();
$DB->query("SELECT FOUND_ROWS()"); $DB->query('SELECT FOUND_ROWS()');
list($NumResults) = $DB->next_record(); list($NumResults) = $DB->next_record();
View::show_header(($BookmarkView) ? 'Your bookmarked collages' : 'Browse collages'); View::show_header(($BookmarkView) ? 'Your bookmarked collages' : 'Browse collages');
@ -163,7 +167,7 @@
<? if ($BookmarkView) { ?> <? if ($BookmarkView) { ?>
<h2>Your bookmarked collages</h2> <h2>Your bookmarked collages</h2>
<? } else { ?> <? } else { ?>
<h2>Browse collages<?=(!empty($UserLink) ? (isset($CollageIDs) ? ' with contributions by '.$UserLink : ' started by '.$UserLink) : '')?></h2> <h2>Browse collages<?=(!empty($UserLink) ? (isset($CollageIDs) ? " with contributions by $UserLink" : " started by $UserLink") : '')?></h2>
<? } ?> <? } ?>
</div> </div>
<? if (!$BookmarkView) { ?> <? if (!$BookmarkView) { ?>
@ -232,7 +236,12 @@
<? } <? }
if (check_perms('site_collages_personal')) { if (check_perms('site_collages_personal')) {
$DB->query("SELECT ID FROM collages WHERE UserID='$LoggedUser[ID]' AND CategoryID='0' AND Deleted='0'"); $DB->query("
SELECT ID
FROM collages
WHERE UserID = '$LoggedUser[ID]'
AND CategoryID = '0'
AND Deleted = '0'");
$CollageCount = $DB->record_count(); $CollageCount = $DB->record_count();
if ($CollageCount == 1) { if ($CollageCount == 1) {
@ -300,7 +309,7 @@
//Print results //Print results
?> ?>
<tr class="row<?=$Row?><?=($BookmarkView) ? ' bookmark_'.$ID : ''?>"> <tr class="row<?=$Row?><?=($BookmarkView) ? " bookmark_$ID" : ''; ?>">
<td> <td>
<a href="collages.php?action=search&amp;cats[<?=(int)$CategoryID?>]=1"><?=$CollageCats[(int)$CategoryID]?></a> <a href="collages.php?action=search&amp;cats[<?=(int)$CategoryID?>]=1"><?=$CollageCats[(int)$CategoryID]?></a>
</td> </td>

View File

@ -24,7 +24,7 @@ function compare($X, $Y) {
list($K, list($Name, $Description, , , $CommentList, $Deleted, $CollageCategoryID, $CreatorID, $Locked, $MaxGroups, $MaxGroupsPerUser, $Updated, $Subscribers)) = each($Data); list($K, list($Name, $Description, , , $CommentList, $Deleted, $CollageCategoryID, $CreatorID, $Locked, $MaxGroups, $MaxGroupsPerUser, $Updated, $Subscribers)) = each($Data);
} else { } else {
$DB->query("SELECT Name, Description, UserID, Deleted, CategoryID, Locked, MaxGroups, MaxGroupsPerUser, Updated, Subscribers FROM collages WHERE ID='$CollageID'"); $DB->query("SELECT Name, Description, UserID, Deleted, CategoryID, Locked, MaxGroups, MaxGroupsPerUser, Updated, Subscribers FROM collages WHERE ID='$CollageID'");
if ($DB->record_count() > 0) { if ($DB->has_results()) {
list($Name, $Description, $CreatorID, $Deleted, $CollageCategoryID, $Locked, $MaxGroups, $MaxGroupsPerUser, $Updated, $Subscribers) = $DB->next_record(); list($Name, $Description, $CreatorID, $Deleted, $CollageCategoryID, $Locked, $MaxGroups, $MaxGroupsPerUser, $Updated, $Subscribers) = $DB->next_record();
$TorrentList = ''; $TorrentList = '';
$CollageList = ''; $CollageList = '';

View File

@ -6,14 +6,22 @@
error(0); error(0);
} }
$DB->query("SELECT UserID, CategoryID, Locked, MaxGroups, MaxGroupsPerUser FROM collages WHERE ID='$CollageID'"); $DB->query("
SELECT UserID, CategoryID, Locked, MaxGroups, MaxGroupsPerUser
FROM collages
WHERE ID = '$CollageID'");
list($UserID, $CategoryID, $Locked, $MaxGroups, $MaxGroupsPerUser) = $DB->next_record(); list($UserID, $CategoryID, $Locked, $MaxGroups, $MaxGroupsPerUser) = $DB->next_record();
if ($CategoryID == 0 && $UserID != $LoggedUser['ID'] && !check_perms('site_collages_delete')) { if ($CategoryID == 0 && $UserID != $LoggedUser['ID'] && !check_perms('site_collages_delete')) {
error(403); error(403);
} }
$DB->query("SELECT ID,Deleted FROM collages WHERE Name='".db_string($_POST['name'])."' AND ID!='$CollageID' LIMIT 1"); $DB->query("
if ($DB->record_count()) { SELECT ID, Deleted
FROM collages
WHERE Name = '".db_string($_POST['name'])."'
AND ID != '$CollageID'
LIMIT 1");
if ($DB->has_results()) {
list($ID, $Deleted) = $DB->next_record(); list($ID, $Deleted) = $DB->next_record();
if ($Deleted) { if ($Deleted) {
$Err = 'A collage with that name already exists but needs to be recovered, please <a href="staffpm.php">contact</a> the staff team!'; $Err = 'A collage with that name already exists but needs to be recovered, please <a href="staffpm.php">contact</a> the staff team!';
@ -40,7 +48,11 @@
} }
if (isset($_POST['featured']) && $CategoryID == 0 && (($LoggedUser['ID'] == $UserID && check_perms('site_collages_personal')) || check_perms('site_collages_delete'))) { if (isset($_POST['featured']) && $CategoryID == 0 && (($LoggedUser['ID'] == $UserID && check_perms('site_collages_personal')) || check_perms('site_collages_delete'))) {
$DB->query("UPDATE collages SET Featured=0 WHERE CategoryID=0 and UserID=$UserID"); $DB->query("
UPDATE collages
SET Featured = 0
WHERE CategoryID = 0 \
AND UserID = $UserID");
$Updates[] = 'Featured = 1'; $Updates[] = 'Featured = 1';
} }
@ -65,7 +77,10 @@
} }
if (!empty($Updates)) { if (!empty($Updates)) {
$DB->query("UPDATE collages SET ".implode(', ', $Updates)." WHERE ID=$CollageID"); $DB->query('
UPDATE collages
SET '.implode(', ', $Updates)."
WHERE ID = $CollageID");
} }
$Cache->delete_value('collage_'.$CollageID); $Cache->delete_value('collage_'.$CollageID);
header('Location: collages.php?id='.$CollageID); header('Location: collages.php?id='.$CollageID);

View File

@ -29,8 +29,8 @@
<tr id="collagename"> <tr id="collagename">
<td class="label"><strong>Name</strong></td> <td class="label"><strong>Name</strong></td>
<td> <td>
<input type="text"<?=$NoName ? ' class="hidden"' : '' ?> name="name" size="60" id="namebox" value="<?=display_str($Name)?>" /> <input type="text"<?=$NoName ? ' class="hidden"' : ''; ?> name="name" size="60" id="namebox" value="<?=display_str($Name)?>" />
<span id="personal"<?=$NoName ? '' : ' class="hidden"' ?> style="font-style: oblique;"><strong><?=$LoggedUser['Username']?>'s personal collage</strong></span> <span id="personal"<?=$NoName ? '' : ' class="hidden"'; ?> style="font-style: oblique;"><strong><?=$LoggedUser['Username']?>'s personal collage</strong></span>
</td> </td>
</tr> </tr>
<tr> <tr>
@ -40,12 +40,17 @@
<? <?
array_shift($CollageCats); array_shift($CollageCats);
foreach ($CollageCats as $CatID=>$CatName) : ?> foreach ($CollageCats as $CatID=>$CatName) { ?>
<option value="<?=$CatID + 1 ?>"<?=(($CatID + 1 == $Category) ? ' selected="selected"' : '')?>><?=$CatName?></option> <option value="<?=$CatID + 1 ?>"<?=(($CatID + 1 == $Category) ? ' selected="selected"' : '')?>><?=$CatName?></option>
<? <?
endforeach; }
$DB->query("SELECT COUNT(ID) FROM collages WHERE UserID='$LoggedUser[ID]' AND CategoryID='0' AND Deleted='0'"); $DB->query("
SELECT COUNT(ID)
FROM collages
WHERE UserID = '$LoggedUser[ID]'
AND CategoryID = '0'
AND Deleted = '0'");
list($CollageCount) = $DB->next_record(); list($CollageCount) = $DB->next_record();
if (($CollageCount < $LoggedUser['Permissions']['MaxCollages']) && check_perms('site_collages_personal')) { ?> if (($CollageCount < $LoggedUser['Permissions']['MaxCollages']) && check_perms('site_collages_personal')) { ?>
<option value="0"<?=(($Category === '0') ? ' selected="selected"' : '')?>>Personal</option> <option value="0"<?=(($Category === '0') ? ' selected="selected"' : '')?>>Personal</option>

View File

@ -15,7 +15,7 @@
$P['name'] = db_string($name); $P['name'] = db_string($name);
$DB->query("SELECT ID FROM collages WHERE Name='".$P['name']."'"); $DB->query("SELECT ID FROM collages WHERE Name='".$P['name']."'");
$i = 2; $i = 2;
while ($DB->record_count() != 0) { while ($DB->has_results()) {
$P['name'] = db_string($name." no. $i"); $P['name'] = db_string($name." no. $i");
$DB->query("SELECT ID FROM collages WHERE Name='".$P['name']."'"); $DB->query("SELECT ID FROM collages WHERE Name='".$P['name']."'");
$i++; $i++;
@ -37,7 +37,7 @@
if (!$Err) { if (!$Err) {
$DB->query("SELECT ID,Deleted FROM collages WHERE Name='$P[name]'"); $DB->query("SELECT ID,Deleted FROM collages WHERE Name='$P[name]'");
if ($DB->record_count()) { if ($DB->has_results()) {
list($ID, $Deleted) = $DB->next_record(); list($ID, $Deleted) = $DB->next_record();
if ($Deleted) { if ($Deleted) {
$Err = "That collection already exists but needs to be recovered; please <a href=\"staffpm.php\">contact</a> the staff team!"; $Err = "That collection already exists but needs to be recovered; please <a href=\"staffpm.php\">contact</a> the staff team!";

View File

@ -11,7 +11,7 @@
SELECT Name SELECT Name
FROM collages FROM collages
WHERE ID = $CollageID"); WHERE ID = $CollageID");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
error('Collage is completely deleted'); error('Collage is completely deleted');
} else { } else {
$DB->query(" $DB->query("

View File

@ -36,7 +36,7 @@
if ($UserID != $AuthorID && !check_perms('site_moderate_forums')) { if ($UserID != $AuthorID && !check_perms('site_moderate_forums')) {
die('Permission denied'); die('Permission denied');
} }
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
die('Post not found!'); die('Post not found!');
} }

View File

@ -19,7 +19,7 @@ function comment_body($UserID, $PostID, $postheader, $permalink, $Body, $EditorI
. time_diff($AddedTime) . $postheader; . time_diff($AddedTime) . $postheader;
?> ?>
<table class="forum_post box vertical_margin<?=$noavatar ? ' noavatar' : '' ?>" id="post<?=$PostID?>"> <table class="forum_post box vertical_margin<?=$noavatar ? ' noavatar' : ''; ?>" id="post<?=$PostID?>">
<colgroup> <colgroup>
<? if (Users::has_avatars_enabled()) { ?> <? if (Users::has_avatars_enabled()) { ?>
<col class="col_avatar" /> <col class="col_avatar" />
@ -27,7 +27,7 @@ function comment_body($UserID, $PostID, $postheader, $permalink, $Body, $EditorI
<col class="col_post_body" /> <col class="col_post_body" />
</colgroup> </colgroup>
<tr class="colhead_dark"> <tr class="colhead_dark">
<td colspan="<?=Users::has_avatars_enabled() ? 2 : 1 ?>"> <td colspan="<?=Users::has_avatars_enabled() ? 2 : 1; ?>">
<span style="float: left;"><a href="<?=$permalink ?>">#<?=$PostID?></a> <span style="float: left;"><a href="<?=$permalink ?>">#<?=$PostID?></a>
<?=$postheader ?> <?=$postheader ?>
</span> </span>

View File

@ -34,14 +34,26 @@
if ($_POST['mc_gross'] >= PAYPAL_MINIMUM) { if ($_POST['mc_gross'] >= PAYPAL_MINIMUM) {
if ($_POST['mc_currency'] == PAYPAL_CURRENCY) { if ($_POST['mc_currency'] == PAYPAL_CURRENCY) {
if ($_POST['business'] == PAYPAL_ADDRESS) { if ($_POST['business'] == PAYPAL_ADDRESS) {
if (($_POST['payment_status'] == "Completed") || ($_POST['payment_status'] == "Pending")) { if (($_POST['payment_status'] == 'Completed') || ($_POST['payment_status'] == 'Pending')) {
$DB->query('SELECT Donor FROM users_info WHERE UserID=\''.$_POST['custom'].'\''); $DB->query('
SELECT Donor
FROM users_info
WHERE UserID = \''.$_POST['custom'].'\'');
list($Donor) = $DB->next_record(); list($Donor) = $DB->next_record();
if ($Donor == 0) { if ($Donor == 0) {
//First time donor //First time donor
$DB->query('UPDATE users_main SET Invites = Invites + \''.DONOR_INVITES.'\' WHERE ID=\''.$_POST['custom'].'\''); $DB->query('
$DB->query('UPDATE users_info SET Donor = \'1\' WHERE UserID=\''.$_POST['custom'].'\''); UPDATE users_main
$DB->query('SELECT Invites FROM users_main WHERE ID=\''.$_POST['custom'].'\''); SET Invites = Invites + \''.DONOR_INVITES.'\'
WHERE ID = \''.$_POST['custom'].'\'');
$DB->query('
UPDATE users_info
SET Donor = \'1\'
WHERE UserID = \''.$_POST['custom'].'\'');
$DB->query('
SELECT Invites
FROM users_main
WHERE ID = \''.$_POST['custom'].'\'');
list($Invites) = $DB->next_record(); list($Invites) = $DB->next_record();
$Cache->begin_transaction('user_info_'.$_POST['custom']); $Cache->begin_transaction('user_info_'.$_POST['custom']);
$Cache->update_row(false, array('Donor' => 1)); $Cache->update_row(false, array('Donor' => 1));
@ -65,23 +77,32 @@
Misc::send_pm($_POST['custom'], 0, 'Thank you for your donation', 'Your donation from '.$_POST['payer_email'].' of '.$_POST['mc_gross'].' '.PAYPAL_CURRENCY.' has been successfully processed. Unfortunately however this donation was less than the specified minimum donation of '.PAYPAL_MINIMUM.' '.PAYPAL_CURRENCY.' and while we are grateful, no special privileges have been awarded to you.'); Misc::send_pm($_POST['custom'], 0, 'Thank you for your donation', 'Your donation from '.$_POST['payer_email'].' of '.$_POST['mc_gross'].' '.PAYPAL_CURRENCY.' has been successfully processed. Unfortunately however this donation was less than the specified minimum donation of '.PAYPAL_MINIMUM.' '.PAYPAL_CURRENCY.' and while we are grateful, no special privileges have been awarded to you.');
} else { } else {
//Failed pending donation //Failed pending donation
$Message = "User https://".SSL_SITE_URL."/user.php?id=".$_POST['custom']." had donation of ".$TotalDonated." ".PAYPAL_CURRENCY." at ".$DonationTime." UTC from ".$_POST['payer_email']." returned."; $Message = "User https://".SSL_SITE_URL."/user.php?id=".$_POST['custom']." had donation of $TotalDonated ".PAYPAL_CURRENCY." at $DonationTime UTC from ".$_POST['payer_email'].' returned.';
$DB->query(' $DB->query('
SELECT SUM(Amount), MIN(Time) SELECT SUM(Amount), MIN(Time)
FROM donations FROM donations
WHERE UserID = \''.$_POST['custom'].'\';'); WHERE UserID = \''.$_POST['custom'].'\';');
list($TotalDonated, $DonationTime) = $DB->next_record(); list($TotalDonated, $DonationTime) = $DB->next_record();
if ($TotalDonated + $_POST['mc_gross'] == 0) { if ($TotalDonated + $_POST['mc_gross'] == 0) {
$DB->query("SELECT Invites FROM users_main WHERE ID='".$_POST['custom']."'"); $DB->query("
SELECT Invites
FROM users_main
WHERE ID = '".$_POST['custom']."'");
list($Invites) = $DB->next_record(); list($Invites) = $DB->next_record();
if (($Invites - DONOR_INVITES) >= 0) { if (($Invites - DONOR_INVITES) >= 0) {
$NewInvites = $Invites - DONOR_INVITES; $NewInvites = $Invites - DONOR_INVITES;
} else { } else {
$NewInvites = 0; $NewInvites = 0;
$Message .= " They had already used at least one of their donation gained invites."; $Message .= ' They had already used at least one of their donation gained invites.';
} }
$DB->query("UPDATE users_main SET Invites = ".$NewInvites." WHERE ID='".$_POST['custom']."'"); $DB->query("
$DB->query('UPDATE users_info SET Donor = \'0\' WHERE UserID=\''.$_POST['custom'].'\''); UPDATE users_main
SET Invites = $NewInvites
WHERE ID = '".$_POST['custom']."'");
$DB->query('
UPDATE users_info
SET Donor = \'0\'
WHERE UserID = \''.$_POST['custom'].'\'');
$Cache->begin_transaction('user_info_'.$_POST['custom']); $Cache->begin_transaction('user_info_'.$_POST['custom']);
$Cache->update_row(false, array('Donor' => 0)); $Cache->update_row(false, array('Donor' => 0));
$Cache->commit_transaction(0); $Cache->commit_transaction(0);
@ -91,14 +112,13 @@
Misc::send_pm($_POST['custom'], 0, 'Notice of donation failure', 'PapPal has just notified us that the donation you sent from '.$_POST['payer_email'].' of '.$TotalDonated.' '.PAYPAL_CURRENCY.' at '.$DonationTime.' UTC has been revoked. Because of this your special privileges have been revoked, and your invites removed.'); Misc::send_pm($_POST['custom'], 0, 'Notice of donation failure', 'PapPal has just notified us that the donation you sent from '.$_POST['payer_email'].' of '.$TotalDonated.' '.PAYPAL_CURRENCY.' at '.$DonationTime.' UTC has been revoked. Because of this your special privileges have been revoked, and your invites removed.');
send_irc("PRIVMSG ".BOT_REPORT_CHAN." :".$Message); send_irc("PRIVMSG ".BOT_REPORT_CHAN." :$Message");
} }
} }
} }
$DB->query(" $DB->query("
UPDATE users_info UPDATE users_info
SET SET AdminComment = CONCAT('".sqltime()." - User donated ".db_string($_POST['mc_gross'])." ".db_string(PAYPAL_CURRENCY)." from ".db_string($_POST['payer_email']).".\n',AdminComment)
AdminComment=CONCAT('".sqltime()." - User donated ".db_string($_POST['mc_gross'])." ".db_string(PAYPAL_CURRENCY)." from ".db_string($_POST['payer_email']).".\n',AdminComment)
WHERE UserID = '".$_POST['custom']."'"); WHERE UserID = '".$_POST['custom']."'");
$DB->query(" $DB->query("
INSERT INTO donations INSERT INTO donations

View File

@ -8,14 +8,20 @@
error(404); error(404);
} }
if (!check_perms('site_moderate_forums')) { if (!check_perms('site_moderate_forums')) {
$DB->query("SELECT ForumID FROM forums_topics WHERE ID = $ThreadID"); $DB->query("
SELECT ForumID
FROM forums_topics
WHERE ID = $ThreadID");
list($ForumID) = $DB->next_record(); list($ForumID) = $DB->next_record();
if (!in_array($ForumID, $ForumsRevealVoters)) { if (!in_array($ForumID, $ForumsRevealVoters)) {
error(403); error(403);
} }
} }
$DB->query("SELECT Answers FROM forums_polls WHERE TopicID = ".$ThreadID); $DB->query("
if ($DB->record_count() < 1) { SELECT Answers
FROM forums_polls
WHERE TopicID = $ThreadID");
if (!$DB->has_results()) {
error(404); error(404);
} }
@ -27,7 +33,7 @@
$DB->query(" $DB->query("
UPDATE forums_polls UPDATE forums_polls
SET Answers = '".db_string($Answers)."' SET Answers = '".db_string($Answers)."'
WHERE TopicID = ".$ThreadID); WHERE TopicID = $ThreadID");
$Cache->delete_value('polls_'.$ThreadID); $Cache->delete_value("polls_$ThreadID");
header("Location: forums.php?action=viewthread&threadid=".$ThreadID); header("Location: forums.php?action=viewthread&threadid=$ThreadID");

View File

@ -33,9 +33,14 @@
// $Page = which page the post is on // $Page = which page the post is on
// These are set for cache clearing. // These are set for cache clearing.
$DB->query("DELETE FROM forums_posts WHERE ID='$PostID'"); $DB->query("
DELETE FROM forums_posts
WHERE ID = '$PostID'");
$DB->query("SELECT MAX(ID) FROM forums_posts WHERE TopicID='$TopicID'"); $DB->query("
SELECT MAX(ID)
FROM forums_posts
WHERE TopicID = '$TopicID'");
list($LastID) = $DB->next_record(); list($LastID) = $DB->next_record();
$DB->query(" $DB->query("
UPDATE forums AS f, forums_topics AS t UPDATE forums AS f, forums_topics AS t
@ -122,10 +127,10 @@
$ThisCatalogue = floor((POSTS_PER_PAGE * $Page - POSTS_PER_PAGE) / THREAD_CATALOGUE); $ThisCatalogue = floor((POSTS_PER_PAGE * $Page - POSTS_PER_PAGE) / THREAD_CATALOGUE);
$LastCatalogue = floor((POSTS_PER_PAGE * $Pages - POSTS_PER_PAGE) / THREAD_CATALOGUE); $LastCatalogue = floor((POSTS_PER_PAGE * $Pages - POSTS_PER_PAGE) / THREAD_CATALOGUE);
for ($i = $ThisCatalogue; $i <= $LastCatalogue; $i++) { for ($i = $ThisCatalogue; $i <= $LastCatalogue; $i++) {
$Cache->delete_value('thread_'.$TopicID.'_catalogue_'.$i); $Cache->delete_value("thread_$TopicID"."_catalogue_$i");
} }
$Cache->begin_transaction('thread_'.$TopicID.'_info'); $Cache->begin_transaction("thread_$TopicID".'_info');
$Cache->update_row(false, $UpdateArrayThread); $Cache->update_row(false, $UpdateArrayThread);
$Cache->commit_transaction(); $Cache->commit_transaction();
@ -133,5 +138,5 @@
$Cache->update_row($ForumID, $UpdateArrayForums); $Cache->update_row($ForumID, $UpdateArrayForums);
$Cache->commit_transaction(); $Cache->commit_transaction();
$Cache->delete_value('forums_'.$ForumID); $Cache->delete_value("forums_$ForumID");
?> ?>

View File

@ -8,14 +8,20 @@
$PollOption = $_GET['vote']; $PollOption = $_GET['vote'];
if (is_number($ThreadID) && is_number($PollOption)) { if (is_number($ThreadID) && is_number($PollOption)) {
$DB->query("SELECT ForumID FROM forums_topics WHERE ID = $ThreadID"); $DB->query("
SELECT ForumID
FROM forums_topics
WHERE ID = $ThreadID");
list($ForumID) = $DB->next_record(); list($ForumID) = $DB->next_record();
if (!in_array($ForumID, $ForumsRevealVoters)) { if (!in_array($ForumID, $ForumsRevealVoters)) {
error(403); error(403);
} }
$DB->query("SELECT Answers FROM forums_polls WHERE TopicID = $ThreadID"); $DB->query("
if ($DB->record_count() < 1) { SELECT Answers
FROM forums_polls
WHERE TopicID = $ThreadID");
if (!$DB->has_results()) {
error(404); error(404);
} }
@ -33,9 +39,8 @@
WHERE Vote = $PollOption WHERE Vote = $PollOption
AND TopicID = $ThreadID"); AND TopicID = $ThreadID");
$Cache->delete_value('polls_'.$ThreadID); $Cache->delete_value("polls_$ThreadID");
header('Location: forums.php?action=viewthread&threadid='.$ThreadID); header("Location: forums.php?action=viewthread&threadid=$ThreadID");
} else { } else {
error(404); error(404);
} }

View File

@ -132,7 +132,7 @@
FROM subscribed_forums FROM subscribed_forums
WHERE ForumID='$ForumID' WHERE ForumID='$ForumID'
AND SubscriberID='$LoggedUser[ID]'"); AND SubscriberID='$LoggedUser[ID]'");
if ($DB->record_count() == 0) { ?> if (!$DB->has_results()) { ?>
<a href="forums.php?action=forum_subscribe&amp;perform=add&amp;forumid=<?=$ForumID?>&amp;auth=<?=$LoggedUser['AuthKey']?>" class="brackets">Subscribe to forum</a> <a href="forums.php?action=forum_subscribe&amp;perform=add&amp;forumid=<?=$ForumID?>&amp;auth=<?=$LoggedUser['AuthKey']?>" class="brackets">Subscribe to forum</a>
<? } else { ?> <? } else { ?>
<a href="forums.php?action=forum_subscribe&amp;perform=remove&amp;forumid=<?=$ForumID?>&amp;auth=<?=$LoggedUser['AuthKey']?>" class="brackets">Unsubscribe from forum</a> <a href="forums.php?action=forum_subscribe&amp;perform=remove&amp;forumid=<?=$ForumID?>&amp;auth=<?=$LoggedUser['AuthKey']?>" class="brackets">Unsubscribe from forum</a>

View File

@ -19,7 +19,7 @@ function get_thread_info($ThreadID, $Return = true, $SelectiveCache = false, $Ap
LEFT JOIN forums_polls AS p ON p.TopicID=t.ID LEFT JOIN forums_polls AS p ON p.TopicID=t.ID
WHERE t.ID = '$ThreadID' WHERE t.ID = '$ThreadID'
GROUP BY fp.TopicID"); GROUP BY fp.TopicID");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
if (!$ApiCall) { if (!$ApiCall) {
error(404); error(404);
} else { } else {
@ -84,7 +84,7 @@ function get_forum_info($ForumID) {
LEFT JOIN forums_topics ON forums_topics.ForumID=forums.ID LEFT JOIN forums_topics ON forums_topics.ForumID=forums.ID
WHERE forums.ID='$ForumID' WHERE forums.ID='$ForumID'
GROUP BY ForumID"); GROUP BY ForumID");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
return false; return false;
} }
// Makes an array, with $Forum['Name'], etc. // Makes an array, with $Forum['Name'], etc.

View File

@ -12,7 +12,9 @@
unset($ForumCats); unset($ForumCats);
$ForumCats = $Cache->get_value('forums_categories'); $ForumCats = $Cache->get_value('forums_categories');
if ($ForumCats === false) { if ($ForumCats === false) {
$DB->query('SELECT ID, Name FROM forums_categories'); $DB->query('
SELECT ID, Name
FROM forums_categories');
$ForumCats = array(); $ForumCats = array();
while (list($ID, $Name) = $DB->next_record()) { while (list($ID, $Name) = $DB->next_record()) {
$ForumCats[$ID] = $Name; $ForumCats[$ID] = $Name;
@ -50,7 +52,10 @@
$Forums = $DB->to_array('ID', MYSQLI_ASSOC, false); $Forums = $DB->to_array('ID', MYSQLI_ASSOC, false);
foreach ($Forums as $ForumID => $Forum) { foreach ($Forums as $ForumID => $Forum) {
if (count($Forum['SpecificRules'])) { if (count($Forum['SpecificRules'])) {
$DB->query('SELECT ThreadID FROM forums_specific_rules WHERE ForumID = '.$ForumID); $DB->query("
SELECT ThreadID
FROM forums_specific_rules
WHERE ForumID = $ForumID");
$ThreadIDs = $DB->collect('ThreadID'); $ThreadIDs = $DB->collect('ThreadID');
$Forums[$ForumID]['SpecificRules'] = $ThreadIDs; $Forums[$ForumID]['SpecificRules'] = $ThreadIDs;
} }

View File

@ -43,7 +43,10 @@
$Row = 'a'; $Row = 'a';
$LastCategoryID = 0; $LastCategoryID = 0;
$OpenTable = false; $OpenTable = false;
$DB->query("SELECT RestrictedForums FROM users_info WHERE UserID = ".$LoggedUser['ID']); $DB->query('
SELECT RestrictedForums
FROM users_info
WHERE UserID = '.$LoggedUser['ID']);
list($RestrictedForums) = $DB->next_record(); list($RestrictedForums) = $DB->next_record();
$RestrictedForums = explode(',', $RestrictedForums); $RestrictedForums = explode(',', $RestrictedForums);
$PermittedForums = array_keys($LoggedUser['PermittedForums']); $PermittedForums = array_keys($LoggedUser['PermittedForums']);
@ -52,7 +55,7 @@
if ($LoggedUser['CustomForums'][$ForumID] != 1 && ($MinRead > $LoggedUser['Class'] || array_search($ForumID, $RestrictedForums) !== false)) { if ($LoggedUser['CustomForums'][$ForumID] != 1 && ($MinRead > $LoggedUser['Class'] || array_search($ForumID, $RestrictedForums) !== false)) {
continue; continue;
} }
$Row = (($Row == 'a') ? 'b' : 'a'); $Row = (($Row === 'a') ? 'b' : 'a');
$ForumDescription = display_str($ForumDescription); $ForumDescription = display_str($ForumDescription);
if ($CategoryID != $LastCategoryID) { if ($CategoryID != $LastCategoryID) {

View File

@ -26,7 +26,7 @@
LEFT JOIN forums_polls AS p ON p.TopicID=t.ID LEFT JOIN forums_polls AS p ON p.TopicID=t.ID
WHERE t.ID = '$TopicID' WHERE t.ID = '$TopicID'
GROUP BY fp.TopicID"); GROUP BY fp.TopicID");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
die(); die();
} }
$ThreadInfo = $DB->next_record(MYSQLI_ASSOC); $ThreadInfo = $DB->next_record(MYSQLI_ASSOC);

View File

@ -32,7 +32,10 @@
// Searching for posts by a specific user // Searching for posts by a specific user
if (!empty($_GET['user'])) { if (!empty($_GET['user'])) {
$User = trim($_GET['user']); $User = trim($_GET['user']);
$DB->query("SELECT ID FROM users_main WHERE Username='".db_string($User)."'"); $DB->query("
SELECT ID
FROM users_main
WHERE Username = '".db_string($User)."'");
list($AuthorID) = $DB->next_record(); list($AuthorID) = $DB->next_record();
if ($AuthorID === null) { if ($AuthorID === null) {
$AuthorID = 0; $AuthorID = 0;
@ -254,11 +257,11 @@
JOIN forums AS f ON f.ID=t.ForumID JOIN forums AS f ON f.ID=t.ForumID
WHERE ((f.MinClassRead<='$LoggedUser[Class]'"; WHERE ((f.MinClassRead<='$LoggedUser[Class]'";
if (!empty($RestrictedForums)) { if (!empty($RestrictedForums)) {
$sql.=" AND f.ID NOT IN ('".$RestrictedForums."')"; $sql .= " AND f.ID NOT IN ('$RestrictedForums')";
} }
$sql .= ')'; $sql .= ')';
if (!empty($PermittedForums)) { if (!empty($PermittedForums)) {
$sql.=' OR f.ID IN (\''.$PermittedForums.'\')'; $sql .= " OR f.ID IN ('$PermittedForums')";
} }
$sql .= ') AND '; $sql .= ') AND ';
$sql .= "t.Title LIKE '%"; $sql .= "t.Title LIKE '%";
@ -291,13 +294,13 @@
<td><?=((!empty($ThreadID)) ? 'Post begins' : 'Topic')?></td> <td><?=((!empty($ThreadID)) ? 'Post begins' : 'Topic')?></td>
<td>Time</td> <td>Time</td>
</tr> </tr>
<? if ($DB->record_count() == 0) { ?> <? if (!$DB->has_results()) { ?>
<tr><td colspan="3">Nothing found<?=((isset($AuthorID) && $AuthorID == 0) ? ' (unknown username)' : '')?>!</td></tr> <tr><td colspan="3">Nothing found<?=((isset($AuthorID) && $AuthorID == 0) ? ' (unknown username)' : '')?>!</td></tr>
<? } <? }
$Row = 'a'; // For the pretty colours $Row = 'a'; // For the pretty colours
while (list($ID, $Title, $ForumID, $ForumName, $LastTime, $PostID, $Body) = $DB->next_record()) { while (list($ID, $Title, $ForumID, $ForumName, $LastTime, $PostID, $Body) = $DB->next_record()) {
$Row = (($Row == 'a') ? 'b' : 'a'); $Row = (($Row === 'a') ? 'b' : 'a');
// Print results // Print results
?> ?>
<tr class="row<?=$Row?>"> <tr class="row<?=$Row?>">
@ -311,7 +314,7 @@
<?=Format::cut_string($Title, 80); ?> <?=Format::cut_string($Title, 80); ?>
<? } <? }
if ($Type == 'body') { ?> if ($Type == 'body') { ?>
<a href="#" onclick="$('#post_<?=$PostID?>_text').gtoggle(); return false;">(show)</a> <span style="float: right;" class="last_read" title="Jump to post"><a href="forums.php?action=viewthread&amp;threadid=<?=$ID?><? if (!empty($PostID)) { echo '&amp;postid='.$PostID.'#post'.$PostID; } ?>"></a></span> <a href="#" onclick="$('#post_<?=$PostID?>_text').gtoggle(); return false;">(show)</a> <span style="float: right;" class="last_read" title="Jump to post"><a href="forums.php?action=viewthread&amp;threadid=<?=$ID?><? if (!empty($PostID)) { echo "&amp;postid=$PostID#post$PostID"; } ?>"></a></span>
<? } ?> <? } ?>
</td> </td>
<td> <td>

View File

@ -21,7 +21,7 @@
WHERE TopicID=$ThreadID WHERE TopicID=$ThreadID
GROUP BY TopicID"); GROUP BY TopicID");
if ($DB->record_count()) { if ($DB->has_results()) {
list($Pages,$Page) = $DB->next_record(); list($Pages,$Page) = $DB->next_record();
if ($Delete) { if ($Delete) {
$DB->query(" $DB->query("

View File

@ -157,9 +157,9 @@
$Thread = $Forum[$TopicID]; $Thread = $Forum[$TopicID];
unset($Forum[$TopicID]); unset($Forum[$TopicID]);
$Thread['NumPosts'] = $Thread['NumPosts'] + 1; // Increment post count $Thread['NumPosts'] = $Thread['NumPosts'] + 1; // Increment post count
$Thread['LastPostID'] = $PostID; //Set postid for read/unread $Thread['LastPostID'] = $PostID; // Set post ID for read/unread
$Thread['LastPostTime'] = $SQLTime; // Time of last post $Thread['LastPostTime'] = $SQLTime; // Time of last post
$Thread['LastPostAuthorID'] = $LoggedUser['ID']; //Last poster id $Thread['LastPostAuthorID'] = $LoggedUser['ID']; // Last poster ID
$Part2 = array($TopicID => $Thread); // Bumped thread $Part2 = array($TopicID => $Thread); // Bumped thread
// if we're bumping from an older page // if we're bumping from an older page
@ -216,7 +216,7 @@
} else { } else {
$Forum = $Part1 + $Part2 + $Part3; //Merge it $Forum = $Part1 + $Part2 + $Part3; //Merge it
} }
$Cache->cache_value('forums_'.$ForumID, array($Forum,'',0,$Stickies), 0); $Cache->cache_value("forums_$ForumID", array($Forum, '', 0, $Stickies), 0);
//Update the forum root //Update the forum root
$Cache->begin_transaction('forums_list'); $Cache->begin_transaction('forums_list');
@ -241,7 +241,7 @@
$CatalogueID = floor((POSTS_PER_PAGE * ceil($ThreadInfo['Posts'] / POSTS_PER_PAGE) - POSTS_PER_PAGE) / THREAD_CATALOGUE); $CatalogueID = floor((POSTS_PER_PAGE * ceil($ThreadInfo['Posts'] / POSTS_PER_PAGE) - POSTS_PER_PAGE) / THREAD_CATALOGUE);
//Insert the post into the thread catalogue (block of 500 posts) //Insert the post into the thread catalogue (block of 500 posts)
$Cache->begin_transaction('thread_'.$TopicID.'_catalogue_'.$CatalogueID); $Cache->begin_transaction("thread_$TopicID"."_catalogue_$CatalogueID");
$Cache->insert('', array( $Cache->insert('', array(
'ID'=>$PostID, 'ID'=>$PostID,
'AuthorID'=>$LoggedUser['ID'], 'AuthorID'=>$LoggedUser['ID'],
@ -254,7 +254,7 @@
$Cache->commit_transaction(0); $Cache->commit_transaction(0);
//Update the thread info //Update the thread info
$Cache->begin_transaction('thread_'.$TopicID.'_info'); $Cache->begin_transaction("thread_$TopicID".'_info');
$Cache->update_row(false, array('Posts' => '+1', 'LastPostAuthorID' => $LoggedUser['ID'])); $Cache->update_row(false, array('Posts' => '+1', 'LastPostAuthorID' => $LoggedUser['ID']));
$Cache->commit_transaction(0); $Cache->commit_transaction(0);
@ -262,14 +262,17 @@
$ThreadInfo['Posts']++; $ThreadInfo['Posts']++;
} }
$DB->query("SELECT UserID FROM users_subscriptions WHERE TopicID = ".$TopicID); $DB->query("
if ($DB->record_count() > 0) { SELECT UserID
FROM users_subscriptions
WHERE TopicID = $TopicID");
if ($DB->has_results()) {
$Subscribers = $DB->collect('UserID'); $Subscribers = $DB->collect('UserID');
foreach ($Subscribers as $Subscriber) { foreach ($Subscribers as $Subscriber) {
$Cache->delete_value('subscriptions_user_new_'.$Subscriber); $Cache->delete_value("subscriptions_user_new_$Subscriber");
} }
} }
Forums::quote_notify($Body, $PostID, 'forums', $TopicID); Forums::quote_notify($Body, $PostID, 'forums', $TopicID);
header('Location: forums.php?action=viewthread&threadid='.$TopicID.'&page='.ceil($ThreadInfo['Posts'] / $PerPage)); header("Location: forums.php?action=viewthread&threadid=$TopicID&page=".ceil($ThreadInfo['Posts'] / $PerPage));
die(); die();

View File

@ -64,7 +64,7 @@
if ($LoggedUser['DisablePosting']) { if ($LoggedUser['DisablePosting']) {
error('Your posting privileges have been removed.', true); error('Your posting privileges have been removed.', true);
} }
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
error(404,true); error(404,true);
} }

View File

@ -1,4 +1,4 @@
<? <?php
authorize(); authorize();
if (!is_number($_GET['friendid'])) { if (!is_number($_GET['friendid'])) {
error(404); error(404);
@ -6,14 +6,18 @@
$FriendID = db_string($_GET['friendid']); $FriendID = db_string($_GET['friendid']);
// Check if the user $FriendID exists // Check if the user $FriendID exists
$DB->query("SELECT 1 FROM users_main WHERE ID = '$FriendID'"); $DB->query("
if ($DB->record_count() == 0) { SELECT 1
FROM users_main
WHERE ID = '$FriendID'");
if (!$DB->has_results()) {
error(404); error(404);
} }
$DB->query(" $DB->query("
INSERT IGNORE INTO friends INSERT IGNORE INTO friends
(UserID, FriendID) (UserID, FriendID)
VALUES ('$LoggedUser[ID]', '$FriendID')"); VALUES
('$LoggedUser[ID]', '$FriendID')");
header('Location: friends.php'); header('Location: friends.php');

View File

@ -14,7 +14,7 @@
FROM pm_conversations_users FROM pm_conversations_users
WHERE UserID='$UserID' WHERE UserID='$UserID'
AND ConvID='$ConvID'"); AND ConvID='$ConvID'");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
error(403); error(403);
} }
list($InInbox, $InSentbox) = $DB->next_record(); list($InInbox, $InSentbox) = $DB->next_record();

View File

@ -17,7 +17,7 @@
AND InInbox='1' AND InInbox='1'
AND (ForwardedTo=0 OR ForwardedTo=UserID) AND (ForwardedTo=0 OR ForwardedTo=UserID)
AND ConvID='$ConvID'"); AND ConvID='$ConvID'");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
error(403); error(403);
} }
@ -28,7 +28,7 @@
AND (ForwardedTo = 0 OR ForwardedTo = UserID) AND (ForwardedTo = 0 OR ForwardedTo = UserID)
AND InInbox='1' AND InInbox='1'
AND ConvID='$ConvID'"); AND ConvID='$ConvID'");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
$DB->query(" $DB->query("
INSERT IGNORE INTO pm_conversations_users INSERT IGNORE INTO pm_conversations_users
(UserID, ConvID, InInbox, InSentbox, ReceivedDate) (UserID, ConvID, InInbox, InSentbox, ReceivedDate)

View File

@ -105,8 +105,8 @@
</span> </span>
<br /> <br />
<input type="text" name="search" value="<?=(!empty($_GET['search']) ? display_str($_GET['search']) : 'Search '.($Section == 'sentbox' ? 'Sentbox' : 'Inbox'))?>" style="width: 98%;" <input type="text" name="search" value="<?=(!empty($_GET['search']) ? display_str($_GET['search']) : 'Search '.($Section == 'sentbox' ? 'Sentbox' : 'Inbox'))?>" style="width: 98%;"
onfocus="if (this.value == 'Search <?=(($Section == 'sentbox') ? 'Sentbox' : 'Inbox')?>') this.value='';" onfocus="if (this.value == 'Search <?=(($Section == 'sentbox') ? 'Sentbox' : 'Inbox')?>') { this.value = ''; }"
onblur="if (this.value == '') this.value='Search <?=(($Section == 'sentbox') ? 'Sentbox' : 'Inbox')?>';" onblur="if (this.value == '') { this.value = 'Search <?=(($Section == 'sentbox') ? 'Sentbox' : 'Inbox')?>'; }"
/> />
</div> </div>
</form> </form>
@ -119,7 +119,7 @@
<table class="message_table checkboxes"> <table class="message_table checkboxes">
<tr class="colhead"> <tr class="colhead">
<td width="10"><input type="checkbox" onclick="toggleChecks('messageform',this)" /></td> <td width="10"><input type="checkbox" onclick="toggleChecks('messageform', this);" /></td>
<td width="50%">Subject</td> <td width="50%">Subject</td>
<td><?=(($Section == 'sentbox') ? 'Receiver' : 'Sender')?></td> <td><?=(($Section == 'sentbox') ? 'Receiver' : 'Sender')?></td>
<td>Date</td> <td>Date</td>

View File

@ -23,7 +23,7 @@
FROM pm_conversations_users FROM pm_conversations_users
WHERE UserID = '$LoggedUser[ID]' WHERE UserID = '$LoggedUser[ID]'
AND ConvID = '$ConvID'"); AND ConvID = '$ConvID'");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
error(403); error(403);
} }
} else { } else {

View File

@ -10,7 +10,7 @@
SELECT UserID SELECT UserID
FROM pm_conversations_users FROM pm_conversations_users
WHERE UserID='$UserID' AND ConvID='$ConvID'"); WHERE UserID='$UserID' AND ConvID='$ConvID'");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
error(403); error(403);
} }

View File

@ -1,4 +1,4 @@
<? <?php
include(SERVER_ROOT.'/classes/text.class.php'); include(SERVER_ROOT.'/classes/text.class.php');
$Text = new TEXT(true); $Text = new TEXT(true);
@ -12,14 +12,14 @@
Time Time
FROM news FROM news
ORDER BY Time DESC ORDER BY Time DESC
LIMIT " . $NewsCount); LIMIT $NewsCount");
$News = $DB->to_array(false, MYSQLI_NUM, false); $News = $DB->to_array(false, MYSQLI_NUM, false);
$Cache->cache_value('news', $News, 3600 * 24 * 30); $Cache->cache_value('news', $News, 3600 * 24 * 30);
$Cache->cache_value('news_latest_id', $News[0][0], 0); $Cache->cache_value('news_latest_id', $News[0][0], 0);
} }
if ($LoggedUser['LastReadNews'] != $News[0][0]) { if ($LoggedUser['LastReadNews'] != $News[0][0]) {
$Cache->begin_transaction('user_info_heavy_'.$UserID); $Cache->begin_transaction("user_info_heavy_$UserID");
$Cache->update_row(false, array('LastReadNews' => $News[0][0])); $Cache->update_row(false, array('LastReadNews' => $News[0][0]));
$Cache->commit_transaction(0); $Cache->commit_transaction(0);
$DB->query(" $DB->query("
@ -39,7 +39,6 @@
if (check_perms('users_mod')) { if (check_perms('users_mod')) {
?> ?>
<div class="box"> <div class="box">
<div class="head colhead_dark"> <div class="head colhead_dark">
<strong><a href="staffblog.php">Latest staff blog posts</a></strong> <strong><a href="staffblog.php">Latest staff blog posts</a></strong>
@ -141,7 +140,10 @@
} }
if (($UserCount = $Cache->get_value('stats_user_count')) === false) { if (($UserCount = $Cache->get_value('stats_user_count')) === false) {
$DB->query("SELECT COUNT(ID) FROM users_main WHERE Enabled='1'"); $DB->query("
SELECT COUNT(ID)
FROM users_main
WHERE Enabled = '1'");
list($UserCount) = $DB->next_record(); list($UserCount) = $DB->next_record();
$Cache->cache_value('stats_user_count', $UserCount, 0); //inf cache $Cache->cache_value('stats_user_count', $UserCount, 0); //inf cache
} }
@ -151,13 +153,25 @@
<? <?
if (($UserStats = $Cache->get_value('stats_users')) === false) { if (($UserStats = $Cache->get_value('stats_users')) === false) {
$DB->query("SELECT COUNT(ID) FROM users_main WHERE Enabled='1' AND LastAccess>'".time_minus(3600 * 24)."'"); $DB->query("
SELECT COUNT(ID)
FROM users_main
WHERE Enabled = '1'
AND LastAccess > '".time_minus(3600 * 24)."'");
list($UserStats['Day']) = $DB->next_record(); list($UserStats['Day']) = $DB->next_record();
$DB->query("SELECT COUNT(ID) FROM users_main WHERE Enabled='1' AND LastAccess>'".time_minus(3600 * 24 * 7)."'"); $DB->query("
SELECT COUNT(ID)
FROM users_main
WHERE Enabled = '1'
AND LastAccess > '".time_minus(3600 * 24 * 7)."'");
list($UserStats['Week']) = $DB->next_record(); list($UserStats['Week']) = $DB->next_record();
$DB->query("SELECT COUNT(ID) FROM users_main WHERE Enabled='1' AND LastAccess>'".time_minus(3600 * 24 * 30)."'"); $DB->query("
SELECT COUNT(ID)
FROM users_main
WHERE Enabled = '1'
AND LastAccess > '".time_minus(3600 * 24 * 30)."'");
list($UserStats['Month']) = $DB->next_record(); list($UserStats['Month']) = $DB->next_record();
$Cache->cache_value('stats_users', $UserStats, 0); $Cache->cache_value('stats_users', $UserStats, 0);
@ -169,19 +183,26 @@
<? <?
if (($TorrentCount = $Cache->get_value('stats_torrent_count')) === false) { if (($TorrentCount = $Cache->get_value('stats_torrent_count')) === false) {
$DB->query("SELECT COUNT(ID) FROM torrents"); $DB->query("
SELECT COUNT(ID)
FROM torrents");
list($TorrentCount) = $DB->next_record(); list($TorrentCount) = $DB->next_record();
$Cache->cache_value('stats_torrent_count', $TorrentCount, 0); //inf cache $Cache->cache_value('stats_torrent_count', $TorrentCount, 0); //inf cache
} }
if (($AlbumCount = $Cache->get_value('stats_album_count')) === false) { if (($AlbumCount = $Cache->get_value('stats_album_count')) === false) {
$DB->query("SELECT COUNT(ID) FROM torrents_group WHERE CategoryID='1'"); $DB->query("
SELECT COUNT(ID)
FROM torrents_group
WHERE CategoryID = '1'");
list($AlbumCount) = $DB->next_record(); list($AlbumCount) = $DB->next_record();
$Cache->cache_value('stats_album_count', $AlbumCount, 0); //inf cache $Cache->cache_value('stats_album_count', $AlbumCount, 0); //inf cache
} }
if (($ArtistCount = $Cache->get_value('stats_artist_count')) === false) { if (($ArtistCount = $Cache->get_value('stats_artist_count')) === false) {
$DB->query("SELECT COUNT(ArtistID) FROM artists_group"); $DB->query("
SELECT COUNT(ArtistID)
FROM artists_group");
list($ArtistCount) = $DB->next_record(); list($ArtistCount) = $DB->next_record();
$Cache->cache_value('stats_artist_count', $ArtistCount, 0); //inf cache $Cache->cache_value('stats_artist_count', $ArtistCount, 0); //inf cache
} }
@ -305,7 +326,7 @@
$Votes[$i] = 0; $Votes[$i] = 0;
} }
} }
$Cache->cache_value('polls_'.$TopicID, array($Question, $Answers, $Votes, $Featured, $Closed), 0); $Cache->cache_value("polls_$TopicID", array($Question, $Answers, $Votes, $Featured, $Closed), 0);
} else { } else {
list($Question, $Answers, $Votes, $Featured, $Closed) = $Poll; list($Question, $Answers, $Votes, $Featured, $Closed) = $Poll;
} }
@ -493,7 +514,9 @@ function contest() {
LIMIT 20"); LIMIT 20");
$Contest = $DB->to_array(); $Contest = $DB->to_array();
$DB->query("SELECT SUM(Points) FROM users_points"); $DB->query("
SELECT SUM(Points)
FROM users_points");
list($TotalPoints) = $DB->next_record(); list($TotalPoints) = $DB->next_record();
$Cache->cache_value('contest', array($Contest, $TotalPoints), 600); $Cache->cache_value('contest', array($Contest, $TotalPoints), 600);
@ -510,9 +533,7 @@ function contest() {
list($UserID, $Points, $Username) = $User; list($UserID, $Points, $Username) = $User;
?> ?>
<li><?=Users::format_username($UserID, false, false, false)?> (<?=number_format($Points)?>)</li> <li><?=Users::format_username($UserID, false, false, false)?> (<?=number_format($Points)?>)</li>
<? <? } ?>
}
?>
</ol> </ol>
Total uploads: <?=$TotalPoints?><br /> Total uploads: <?=$TotalPoints?><br />
<a href="index.php?action=scoreboard">Full scoreboard</a> <a href="index.php?action=scoreboard">Full scoreboard</a>
@ -520,5 +541,4 @@ function contest() {
</div> </div>
<!-- END contest Section --> <!-- END contest Section -->
<? } // contest() <? } // contest()
?> ?>

View File

@ -40,7 +40,7 @@
</tr> </tr>
<? if ($QueryStatus) { ?> <? if ($QueryStatus) { ?>
<tr class="nobr"><td colspan="2">Search request failed (<?=$QueryError?>).</td></tr> <tr class="nobr"><td colspan="2">Search request failed (<?=$QueryError?>).</td></tr>
<? } elseif ($DB->record_count() == 0) { ?> <? } elseif (!$DB->has_results()) { ?>
<tr class="nobr"><td colspan="2">Nothing found!</td></tr> <tr class="nobr"><td colspan="2">Nothing found!</td></tr>
<? <?
} }

View File

@ -1,4 +1,4 @@
<? <?php
if (!empty($_GET['page']) && is_number($_GET['page'])) { if (!empty($_GET['page']) && is_number($_GET['page'])) {
$Page = min(SPHINX_MAX_MATCHES / LOG_ENTRIES_PER_PAGE, $_GET['page']); $Page = min(SPHINX_MAX_MATCHES / LOG_ENTRIES_PER_PAGE, $_GET['page']);
$Offset = ($Page - 1) * LOG_ENTRIES_PER_PAGE; $Offset = ($Page - 1) * LOG_ENTRIES_PER_PAGE;
@ -7,7 +7,11 @@
$Offset = 0; $Offset = 0;
} }
if (empty($_GET['search']) || trim($_GET['search']) == '') { if (empty($_GET['search']) || trim($_GET['search']) == '') {
$Log = $DB->query("SELECT ID, Message, Time FROM log ORDER BY ID DESC LIMIT $Offset, ".LOG_ENTRIES_PER_PAGE); $Log = $DB->query("
SELECT ID, Message, Time
FROM log
ORDER BY ID DESC
LIMIT $Offset, ".LOG_ENTRIES_PER_PAGE);
$NumResults = $DB->record_count(); $NumResults = $DB->record_count();
if (!$NumResults) { if (!$NumResults) {
$TotalMatches = 0; $TotalMatches = 0;
@ -40,8 +44,13 @@
$TotalMatches = min(SPHINX_MAX_MATCHES, $Result->get_meta('total_found')); $TotalMatches = min(SPHINX_MAX_MATCHES, $Result->get_meta('total_found'));
if ($NumResults > 0) { if ($NumResults > 0) {
$LogIDs = $Result->collect('id'); $LogIDs = $Result->collect('id');
$Log = $DB->query("SELECT ID, Message, Time FROM log WHERE ID IN (".implode(',', $LogIDs).") ORDER BY ID DESC"); $Log = $DB->query('
SELECT ID, Message, Time
FROM log
WHERE ID IN ('.implode(',', $LogIDs).')
ORDER BY ID DESC');
} else { } else {
$Log = $DB->query("SET @nothing = 0"); $Log = $DB->query('
SET @nothing = 0');
} }
} }

View File

@ -1,4 +1,4 @@
<? <?php
/*-- TODO ---------------------------// /*-- TODO ---------------------------//
Add the JavaScript validation into the display page using the class Add the JavaScript validation into the display page using the class
@ -137,17 +137,17 @@
$Sent = 1; // If $Sent is 1, recover_step1.php displays a success message $Sent = 1; // If $Sent is 1, recover_step1.php displays a success message
//Log out all of the users current sessions //Log out all of the users current sessions
$Cache->delete_value('user_info_'.$UserID); $Cache->delete_value("user_info_$UserID");
$Cache->delete_value('user_info_heavy_'.$UserID); $Cache->delete_value("user_info_heavy_$UserID");
$Cache->delete_value('user_stats_'.$UserID); $Cache->delete_value("user_stats_$UserID");
$Cache->delete_value('enabled_'.$UserID); $Cache->delete_value("enabled_$UserID");
$DB->query(" $DB->query("
SELECT SessionID SELECT SessionID
FROM users_sessions FROM users_sessions
WHERE UserID = '$UserID'"); WHERE UserID = '$UserID'");
while (list($SessionID) = $DB->next_record()) { while (list($SessionID) = $DB->next_record()) {
$Cache->delete_value('session_'.$UserID.'_'.$SessionID); $Cache->delete_value("session_$UserID"."_$SessionID");
} }
$DB->query(" $DB->query("
UPDATE users_sessions UPDATE users_sessions
@ -206,22 +206,28 @@ function log_attempt($UserID) {
WHERE ID = '".db_string($AttemptID)."'"); WHERE ID = '".db_string($AttemptID)."'");
if ($Bans > 9) { // Automated bruteforce prevention if ($Bans > 9) { // Automated bruteforce prevention
$DB->query("SELECT Reason FROM ip_bans WHERE ".$IP." BETWEEN FromIP AND ToIP"); $DB->query("
if ($DB->record_count() > 0) { SELECT Reason
FROM ip_bans
WHERE $IP BETWEEN FromIP AND ToIP");
if ($DB->has_results()) {
//Ban exists already, only add new entry if not for same reason //Ban exists already, only add new entry if not for same reason
list($Reason) = $DB->next_record(MYSQLI_BOTH, false); list($Reason) = $DB->next_record(MYSQLI_BOTH, false);
if ($Reason != 'Automated ban per >60 failed login attempts') { if ($Reason != 'Automated ban per >60 failed login attempts') {
$DB->query(" $DB->query("
UPDATE ip_bans UPDATE ip_bans
SET Reason = CONCAT('Automated ban per >60 failed login attempts AND ', Reason) SET Reason = CONCAT('Automated ban per >60 failed login attempts AND ', Reason)
WHERE FromIP = $IP AND ToIP = $IP"); WHERE FromIP = $IP
AND ToIP = $IP");
} }
} else { } else {
//No ban //No ban
$DB->query(" $DB->query("
INSERT IGNORE INTO ip_bans (FromIP, ToIP, Reason) INSERT IGNORE INTO ip_bans
VALUES ('$IP','$IP', 'Automated ban per >60 failed login attempts')"); (FromIP, ToIP, Reason)
$Cache->delete_value('ip_bans_'.$IPA); VALUES
('$IP','$IP', 'Automated ban per >60 failed login attempts')");
$Cache->delete_value("ip_bans_$IPA");
} }
} }
} else { } else {
@ -237,8 +243,10 @@ function log_attempt($UserID) {
} else { // User has not attempted to log in recently } else { // User has not attempted to log in recently
$Attempts = 1; $Attempts = 1;
$DB->query(" $DB->query("
INSERT INTO login_attempts (UserID,IP,LastAttempt,Attempts) INSERT INTO login_attempts
VALUES ('".db_string($UserID)."','".db_string($IPStr)."','".sqltime()."',1)"); (UserID, IP, LastAttempt, Attempts)
VALUES
('".db_string($UserID)."', '".db_string($IPStr)."', '".sqltime()."', 1)");
} }
} // end log_attempt function } // end log_attempt function
@ -302,7 +310,7 @@ function log_attempt($UserID) {
VALUES VALUES
('$UserID', '".db_string($SessionID)."', '$KeepLogged', '$Browser', '$OperatingSystem', '".db_string($_SERVER['REMOTE_ADDR'])."', '".sqltime()."', '".db_string($_SERVER['HTTP_USER_AGENT'])."')"); ('$UserID', '".db_string($SessionID)."', '$KeepLogged', '$Browser', '$OperatingSystem', '".db_string($_SERVER['REMOTE_ADDR'])."', '".sqltime()."', '".db_string($_SERVER['HTTP_USER_AGENT'])."')");
$Cache->begin_transaction('users_sessions_'.$UserID); $Cache->begin_transaction("users_sessions_$UserID");
$Cache->insert_front($SessionID, array( $Cache->insert_front($SessionID, array(
'SessionID' => $SessionID, 'SessionID' => $SessionID,
'Browser' => $Browser, 'Browser' => $Browser,
@ -326,7 +334,7 @@ function log_attempt($UserID) {
if (!empty($_COOKIE['redirect'])) { if (!empty($_COOKIE['redirect'])) {
$URL = $_COOKIE['redirect']; $URL = $_COOKIE['redirect'];
setcookie('redirect', '', time() - 60 * 60 * 24, '/', '', false); setcookie('redirect', '', time() - 60 * 60 * 24, '/', '', false);
header('Location: '.$URL); header("Location: $URL");
die(); die();
} else { } else {
header('Location: index.php'); header('Location: index.php');

View File

@ -17,17 +17,34 @@
$Cache->InternalCache = false; // We don't want PHP to cache all results internally $Cache->InternalCache = false; // We don't want PHP to cache all results internally
$DB->query("TRUNCATE TABLE torrents_peerlists_compare"); $DB->query("TRUNCATE TABLE torrents_peerlists_compare");
$DB->query("INSERT INTO torrents_peerlists_compare $DB->query("
SELECT ID, GroupID, Seeders, Leechers, Snatched FROM torrents INSERT INTO torrents_peerlists_compare
ON DUPLICATE KEY UPDATE Seeders=VALUES(Seeders), Leechers=VALUES(Leechers), Snatches=VALUES(Snatches)"); SELECT ID, GroupID, Seeders, Leechers, Snatched
$DB->query("CREATE TEMPORARY TABLE tpc_temp FROM torrents
ON DUPLICATE KEY UPDATE
Seeders = VALUES(Seeders),
Leechers = VALUES(Leechers),
Snatches = VALUES(Snatches)");
$DB->query("
CREATE TEMPORARY TABLE tpc_temp
(TorrentID int, GroupID int, Seeders int, Leechers int, Snatched int, (TorrentID int, GroupID int, Seeders int, Leechers int, Snatched int,
PRIMARY KEY (GroupID, TorrentID))"); PRIMARY KEY (GroupID, TorrentID))");
$DB->query("INSERT INTO tpc_temp SELECT t2.* FROM torrents_peerlists t1 JOIN torrents_peerlists_compare t2 USING(TorrentID) $DB->query("
WHERE t1.Seeders != t2.Seeders OR t1.Leechers != t2.Leechers OR t1.Snatches != t2.Snatches"); INSERT INTO tpc_temp
SELECT t2.*
FROM torrents_peerlists t1
JOIN torrents_peerlists_compare t2
USING(TorrentID)
WHERE t1.Seeders != t2.Seeders
OR t1.Leechers != t2.Leechers
OR t1.Snatches != t2.Snatches");
$StepSize = 30000; $StepSize = 30000;
$DB->query("SELECT * FROM tpc_temp ORDER BY GroupID ASC, TorrentID ASC LIMIT $StepSize"); $DB->query("
SELECT *
FROM tpc_temp
ORDER BY GroupID ASC, TorrentID ASC
LIMIT $StepSize");
$RowNum = 0; $RowNum = 0;
$LastGroupID = 0; $LastGroupID = 0;
@ -35,7 +52,7 @@
list($TorrentID, $GroupID, $Seeders, $Leechers, $Snatches) = $DB->next_record(MYSQLI_NUM, false); list($TorrentID, $GroupID, $Seeders, $Leechers, $Snatches) = $DB->next_record(MYSQLI_NUM, false);
while ($TorrentID) { while ($TorrentID) {
if ($LastGroupID != $GroupID) { if ($LastGroupID != $GroupID) {
$CachedData = $Cache->get_value('torrent_group_'.$GroupID); $CachedData = $Cache->get_value("torrent_group_$GroupID");
if ($CachedData !== false) { if ($CachedData !== false) {
if (isset($CachedData['ver']) && $CachedData['ver'] == CACHE::GROUP_VERSION) { if (isset($CachedData['ver']) && $CachedData['ver'] == CACHE::GROUP_VERSION) {
$CachedStats = &$CachedData['d']['Torrents']; $CachedStats = &$CachedData['d']['Torrents'];
@ -56,14 +73,19 @@
unset($OldValues); unset($OldValues);
} }
if (!($RowNum % $StepSize)) { if (!($RowNum % $StepSize)) {
$DB->query("SELECT * FROM tpc_temp WHERE GroupID > $GroupID OR (GroupID = $GroupID AND TorrentID > $TorrentID) $DB->query("
ORDER BY GroupID ASC, TorrentID ASC LIMIT $StepSize"); SELECT *
FROM tpc_temp
WHERE GroupID > $GroupID
OR (GroupID = $GroupID AND TorrentID > $TorrentID)
ORDER BY GroupID ASC, TorrentID ASC
LIMIT $StepSize");
} }
$LastGroupID = $GroupID; $LastGroupID = $GroupID;
list($TorrentID, $GroupID, $Seeders, $Leechers, $Snatches) = $DB->next_record(MYSQLI_NUM, false); list($TorrentID, $GroupID, $Seeders, $Leechers, $Snatches) = $DB->next_record(MYSQLI_NUM, false);
} }
if ($Changed) { if ($Changed) {
$Cache->cache_value('torrent_group_'.$LastGroupID, $CachedData, 0); $Cache->cache_value("torrent_group_$LastGroupID", $CachedData, 0);
unset($CachedStats); unset($CachedStats);
$UpdatedKeys++; $UpdatedKeys++;
$Changed = false; $Changed = false;
@ -72,7 +94,10 @@
printf("Updated %d keys, skipped %d keys in %.6fs (%d kB memory)\n", $UpdatedKeys, $UncachedGroups, microtime(true) - $ScriptStartTime, memory_get_usage(true) >> 10); printf("Updated %d keys, skipped %d keys in %.6fs (%d kB memory)\n", $UpdatedKeys, $UncachedGroups, microtime(true) - $ScriptStartTime, memory_get_usage(true) >> 10);
$DB->query("TRUNCATE TABLE torrents_peerlists"); $DB->query("TRUNCATE TABLE torrents_peerlists");
$DB->query("INSERT INTO torrents_peerlists SELECT * FROM torrents_peerlists_compare"); $DB->query("
INSERT INTO torrents_peerlists
SELECT *
FROM torrents_peerlists_compare");
if (check_perms('admin_schedule')) { if (check_perms('admin_schedule')) {
echo '<pre>'; echo '<pre>';

View File

@ -71,7 +71,7 @@
SELECT InviterID, Email SELECT InviterID, Email
FROM invites FROM invites
WHERE InviteKey = '".db_string($_REQUEST['invite'])."'"); WHERE InviteKey = '".db_string($_REQUEST['invite'])."'");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
$Err = 'Invite does not exist.'; $Err = 'Invite does not exist.';
$InviterID = 0; $InviterID = 0;
} else { } else {
@ -164,7 +164,7 @@
// If the inviter doesn't have an invite tree // If the inviter doesn't have an invite tree
// Note: This should never happen unless you've transferred from another database, like What.CD did // Note: This should never happen unless you've transferred from another database, like What.CD did
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
$DB->query(" $DB->query("
SELECT MAX(TreeID) + 1 SELECT MAX(TreeID) + 1
FROM invite_tree"); FROM invite_tree");
@ -244,7 +244,7 @@
SELECT InviteKey SELECT InviteKey
FROM invites FROM invites
WHERE InviteKey = '".db_string($_GET['invite'])."'"); WHERE InviteKey = '".db_string($_GET['invite'])."'");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
error('Invite not found!'); error('Invite not found!');
} }
} }

View File

@ -44,7 +44,7 @@
SELECT Username SELECT Username
FROM users_main FROM users_main
WHERE ID=$ThingID"); WHERE ID=$ThingID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
$Error = 'No user with the reported ID found'; $Error = 'No user with the reported ID found';
} else { } else {
list($Username) = $DB->next_record(); list($Username) = $DB->next_record();
@ -58,7 +58,7 @@
SELECT Title SELECT Title
FROM requests FROM requests
WHERE ID=$ThingID"); WHERE ID=$ThingID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
$Error = 'No request with the reported ID found'; $Error = 'No request with the reported ID found';
} else { } else {
list($Name) = $DB->next_record(); list($Name) = $DB->next_record();
@ -71,7 +71,7 @@
SELECT Name SELECT Name
FROM collages FROM collages
WHERE ID=$ThingID"); WHERE ID=$ThingID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
$Error = 'No collage with the reported ID found'; $Error = 'No collage with the reported ID found';
} else { } else {
list($Name) = $DB->next_record(); list($Name) = $DB->next_record();
@ -84,7 +84,7 @@
SELECT Title SELECT Title
FROM forums_topics FROM forums_topics
WHERE ID=$ThingID"); WHERE ID=$ThingID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
$Error = 'No forum thread with the reported ID found'; $Error = 'No forum thread with the reported ID found';
} else { } else {
list($Title) = $DB->next_record(); list($Title) = $DB->next_record();
@ -110,7 +110,7 @@
) AS PostNum ) AS PostNum
FROM forums_posts AS p FROM forums_posts AS p
WHERE ID=$ThingID"); WHERE ID=$ThingID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
$Error = 'No forum post with the reported ID found'; $Error = 'No forum post with the reported ID found';
} else { } else {
list($PostID, $Body, $TopicID, $PostNum) = $DB->next_record(); list($PostID, $Body, $TopicID, $PostNum) = $DB->next_record();
@ -130,7 +130,7 @@
) AS CommentNum ) AS CommentNum
FROM requests_comments AS rc FROM requests_comments AS rc
WHERE ID=$ThingID"); WHERE ID=$ThingID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
$Error = 'No request comment with the reported ID found'; $Error = 'No request comment with the reported ID found';
} else { } else {
list($RequestID, $Body, $PostNum) = $DB->next_record(); list($RequestID, $Body, $PostNum) = $DB->next_record();
@ -151,7 +151,7 @@
) AS CommentNum ) AS CommentNum
FROM torrents_comments AS tc FROM torrents_comments AS tc
WHERE ID=$ThingID"); WHERE ID=$ThingID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
$Error = 'No torrent comment with the reported ID found'; $Error = 'No torrent comment with the reported ID found';
} else { } else {
list($GroupID, $Body, $PostNum) = $DB->next_record(); list($GroupID, $Body, $PostNum) = $DB->next_record();
@ -172,7 +172,7 @@
) AS CommentNum ) AS CommentNum
FROM collages_comments AS cc FROM collages_comments AS cc
WHERE ID=$ThingID"); WHERE ID=$ThingID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
$Error = 'No collage comment with the reported ID found'; $Error = 'No collage comment with the reported ID found';
} else { } else {
list($CollageID, $Body, $PostNum) = $DB->next_record(); list($CollageID, $Body, $PostNum) = $DB->next_record();

View File

@ -20,7 +20,7 @@
SELECT Username SELECT Username
FROM users_main FROM users_main
WHERE ID = $ID"); WHERE ID = $ID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
error(404); error(404);
} }
list($Username) = $DB->next_record(); list($Username) = $DB->next_record();
@ -32,7 +32,7 @@
SELECT Title, Description, TorrentID, CategoryID, Year SELECT Title, Description, TorrentID, CategoryID, Year
FROM requests FROM requests
WHERE ID = $ID"); WHERE ID = $ID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
error(404); error(404);
} }
list($Name, $Desc, $Filled, $CategoryID, $Year) = $DB->next_record(); list($Name, $Desc, $Filled, $CategoryID, $Year) = $DB->next_record();
@ -46,7 +46,7 @@
SELECT Title, Description, TorrentID SELECT Title, Description, TorrentID
FROM requests FROM requests
WHERE ID = $ID"); WHERE ID = $ID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
error(404); error(404);
} }
list($Name, $Desc, $Filled) = $DB->next_record(); list($Name, $Desc, $Filled) = $DB->next_record();
@ -57,7 +57,7 @@
SELECT Name, Description SELECT Name, Description
FROM collages FROM collages
WHERE ID = $ID"); WHERE ID = $ID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
error(404); error(404);
} }
list($Name, $Desc) = $DB->next_record(); list($Name, $Desc) = $DB->next_record();
@ -69,7 +69,7 @@
FROM forums_topics AS ft FROM forums_topics AS ft
JOIN users_main AS um ON um.ID = ft.AuthorID JOIN users_main AS um ON um.ID = ft.AuthorID
WHERE ft.ID = $ID"); WHERE ft.ID = $ID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
error(404); error(404);
} }
list($Title, $ForumID, $Username) = $DB->next_record(); list($Title, $ForumID, $Username) = $DB->next_record();
@ -91,7 +91,7 @@
FROM forums_posts AS fp FROM forums_posts AS fp
JOIN users_main AS um ON um.ID = fp.AuthorID JOIN users_main AS um ON um.ID = fp.AuthorID
WHERE fp.ID = $ID"); WHERE fp.ID = $ID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
error(404); error(404);
} }
list($Body, $TopicID, $Username) = $DB->next_record(); list($Body, $TopicID, $Username) = $DB->next_record();
@ -127,7 +127,7 @@
FROM $Table AS $Short FROM $Table AS $Short
JOIN users_main AS um ON um.ID = $Short.$Column JOIN users_main AS um ON um.ID = $Short.$Column
WHERE $Short.ID = $ID"); WHERE $Short.ID = $ID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
error(404); error(404);
} }
list($Body, $Username) = $DB->next_record(); list($Body, $Username) = $DB->next_record();

View File

@ -113,7 +113,7 @@
SELECT Username SELECT Username
FROM users_main FROM users_main
WHERE ID = $ThingID"); WHERE ID = $ThingID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
echo 'No user with the reported ID found'; echo 'No user with the reported ID found';
} else { } else {
list($Username) = $DB->next_record(); list($Username) = $DB->next_record();
@ -126,7 +126,7 @@
SELECT Title SELECT Title
FROM requests FROM requests
WHERE ID = $ThingID"); WHERE ID = $ThingID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
echo 'No request with the reported ID found'; echo 'No request with the reported ID found';
} else { } else {
list($Name) = $DB->next_record(); list($Name) = $DB->next_record();
@ -138,7 +138,7 @@
SELECT Name SELECT Name
FROM collages FROM collages
WHERE ID = $ThingID"); WHERE ID = $ThingID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
echo 'No collage with the reported ID found'; echo 'No collage with the reported ID found';
} else { } else {
list($Name) = $DB->next_record(); list($Name) = $DB->next_record();
@ -150,7 +150,7 @@
SELECT Title SELECT Title
FROM forums_topics FROM forums_topics
WHERE ID = $ThingID"); WHERE ID = $ThingID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
echo 'No forum thread with the reported ID found'; echo 'No forum thread with the reported ID found';
} else { } else {
list($Title) = $DB->next_record(); list($Title) = $DB->next_record();
@ -175,7 +175,7 @@
) AS PostNum ) AS PostNum
FROM forums_posts AS p FROM forums_posts AS p
WHERE ID = $ThingID"); WHERE ID = $ThingID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
echo 'No forum post with the reported ID found'; echo 'No forum post with the reported ID found';
} else { } else {
list($PostID, $Body, $TopicID, $PostNum) = $DB->next_record(); list($PostID, $Body, $TopicID, $PostNum) = $DB->next_record();
@ -194,7 +194,7 @@
) AS CommentNum ) AS CommentNum
FROM requests_comments AS rc FROM requests_comments AS rc
WHERE ID = $ThingID"); WHERE ID = $ThingID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
echo 'No request comment with the reported ID found'; echo 'No request comment with the reported ID found';
} else { } else {
list($RequestID, $Body, $PostNum) = $DB->next_record(); list($RequestID, $Body, $PostNum) = $DB->next_record();
@ -214,7 +214,7 @@
) AS CommentNum ) AS CommentNum
FROM torrents_comments AS tc FROM torrents_comments AS tc
WHERE ID = $ThingID"); WHERE ID = $ThingID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
echo 'No torrent comment with the reported ID found'; echo 'No torrent comment with the reported ID found';
} else { } else {
list($GroupID, $Body, $PostNum) = $DB->next_record(); list($GroupID, $Body, $PostNum) = $DB->next_record();
@ -234,7 +234,7 @@
) AS CommentNum ) AS CommentNum
FROM artist_comments AS ac FROM artist_comments AS ac
WHERE ID = $ThingID"); WHERE ID = $ThingID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
echo 'No comment with the reported ID found'; echo 'No comment with the reported ID found';
} else { } else {
list($ArtistID, $Body, $PostNum) = $DB->next_record(); list($ArtistID, $Body, $PostNum) = $DB->next_record();
@ -255,7 +255,7 @@
) AS CommentNum ) AS CommentNum
FROM collages_comments AS cc FROM collages_comments AS cc
WHERE ID = $ThingID"); WHERE ID = $ThingID");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
echo 'No collage comment with the reported ID found'; echo 'No collage comment with the reported ID found';
} else { } else {
list($CollageID, $Body, $PostNum) = $DB->next_record(); list($CollageID, $Body, $PostNum) = $DB->next_record();

View File

@ -25,7 +25,7 @@
FROM pm_conversations_users FROM pm_conversations_users
WHERE UserID = '$LoggedUser[ID]' WHERE UserID = '$LoggedUser[ID]'
AND ConvID = '$ConvID'"); AND ConvID = '$ConvID'");
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
error(403); error(403);
} }
} else { } else {

View File

@ -28,7 +28,7 @@
FROM torrents_group AS tg FROM torrents_group AS tg
JOIN torrents AS t ON t.GroupID=tg.ID JOIN torrents AS t ON t.GroupID=tg.ID
WHERE t.ID = ".$TorrentID); WHERE t.ID = ".$TorrentID);
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
$Err = 'No torrent with that ID exists!'; $Err = 'No torrent with that ID exists!';
} else { } else {
list($CategoryID) = $DB->next_record(); list($CategoryID) = $DB->next_record();
@ -69,7 +69,7 @@
WHERE TorrentID=$TorrentID WHERE TorrentID=$TorrentID
AND ReporterID=".db_string($LoggedUser['ID'])." AND ReporterID=".db_string($LoggedUser['ID'])."
AND ReportedTime > '".time_minus(3)."'"); AND ReportedTime > '".time_minus(3)."'");
if ($DB->record_count() > 0) { if ($DB->has_results()) {
die(); die();
} }

View File

@ -72,7 +72,7 @@
ORDER BY ReportedTime ASC ORDER BY ReportedTime ASC
LIMIT 1"); LIMIT 1");
if ($DB->record_count() < 1) { if (!$DB->has_results()) {
die(); die();
} }
@ -202,7 +202,7 @@
WHERE rep.Status != 'Resolved' WHERE rep.Status != 'Resolved'
AND req.TimeFilled > '2010-03-04 02:31:49' AND req.TimeFilled > '2010-03-04 02:31:49'
AND req.TorrentID=$TorrentID"); AND req.TorrentID=$TorrentID");
$Requests = ($DB->record_count()); $Requests = ($DB->has_results());
if ($Requests > 0) { if ($Requests > 0) {
while (list($RequestID, $FillerID, $FillerName, $FilledTime) = $DB->next_record()) { while (list($RequestID, $FillerID, $FillerName, $FilledTime) = $DB->next_record()) {
?> ?>

View File

@ -46,13 +46,13 @@
if ($Recipient == 'Uploader') { if ($Recipient == 'Uploader') {
$ToID = $_POST['uploaderid']; $ToID = $_POST['uploaderid'];
if ($Report) { if ($Report) {
$Message = "You uploaded [url=https://".SSL_SITE_URL."/torrents.php?torrentid=".$TorrentID."]the above torrent[/url]. It has been reported for the reason: ".$ReportType['title']."\n\n".$Message; $Message = "You uploaded [url=https://".SSL_SITE_URL."/torrents.php?torrentid=$TorrentID]the above torrent[/url]. It has been reported for the reason: ".$ReportType['title']."\n\n$Message";
} else { } else {
$Message = "I am PMing you as you are the uploader of [url=https://".SSL_SITE_URL."/torrents.php?torrentid=".$TorrentID."]the above torrent[/url].\n\n".$Message; $Message = "I am PMing you as you are the uploader of [url=https://".SSL_SITE_URL."/torrents.php?torrentid=$TorrentID]the above torrent[/url].\n\n$Message";
} }
} else if ($Recipient == 'Reporter') { } else if ($Recipient == 'Reporter') {
$ToID = $_POST['reporterid']; $ToID = $_POST['reporterid'];
$Message = "You reported [url=https://".SSL_SITE_URL."/torrents.php?torrentid=".$TorrentID."]the above torrent[/url] for the reason ".$ReportType['title'].":\n[quote]".$_POST['report_reason']."[/quote]\n".$Message; $Message = "You reported [url=https://".SSL_SITE_URL."/torrents.php?torrentid=$TorrentID]the above torrent[/url] for the reason ".$ReportType['title'].":\n[quote]".$_POST['report_reason']."[/quote]\n$Message";
} else { } else {
$Err = "Something went horribly wrong"; $Err = "Something went horribly wrong";
} }

View File

@ -17,8 +17,14 @@
$Message = db_string($_POST['comment']); $Message = db_string($_POST['comment']);
//Message can be blank! //Message can be blank!
$DB->query("SELECT ModComment FROM reportsv2 WHERE ID=".$ReportID); $DB->query("
SELECT ModComment
FROM reportsv2
WHERE ID = $ReportID");
list($ModComment) = $DB->next_record(); list($ModComment) = $DB->next_record();
if (isset($ModComment)) { if (isset($ModComment)) {
$DB->query("Update reportsv2 SET ModComment='".$Message."' WHERE ID=".$ReportID); $DB->query("
UPDATE reportsv2
SET ModComment = '$Message'
WHERE ID = $ReportID");
} }

View File

@ -46,7 +46,7 @@
//Get the artist name, group name etc. //Get the artist name, group name etc.
$Artists = Artists::get_artist($GroupID); $Artists = Artists::get_artist($GroupID);
if ($Artists) { if ($Artists) {
$DisplayName = '<span dir="ltr">' . Artists::display_artists($Artists, true) . '<a href="torrents.php?torrentid=' . $TorrentID . '">' .$DisplayName . '</a></span>'; $DisplayName = '<span dir="ltr">' . Artists::display_artists($Artists, true) . "<a href=\"torrents.php?torrentid=$TorrentID\">$DisplayName</a></span>";
$AltName = display_str(Artists::display_artists($Artists, false)) . $AltName; $AltName = display_str(Artists::display_artists($Artists, false)) . $AltName;
$Title = $AltName; $Title = $AltName;
} }

View File

@ -37,7 +37,7 @@
$ID = ''; $ID = '';
} }
$Order = "ORDER BY r.ReportedTime ASC"; $Order = 'ORDER BY r.ReportedTime ASC';
if (!$ID) { if (!$ID) {
switch ($View) { switch ($View) {
@ -57,62 +57,84 @@
} else { } else {
switch ($View) { switch ($View) {
case 'staff': case 'staff':
$DB->query("SELECT Username FROM users_main WHERE ID=".$ID); $DB->query("
SELECT Username
FROM users_main
WHERE ID = $ID");
list($Username) = $DB->next_record(); list($Username) = $DB->next_record();
if ($Username) { if ($Username) {
$Title = $Username."'s in-progress reports"; $Title = "$Username's in-progress reports";
} else { } else {
$Title = $ID."'s in-progress reports"; $Title = "$ID's in-progress reports";
} }
$Where = "WHERE r.Status = 'InProgress' AND r.ResolverID = ".$ID; $Where = "
WHERE r.Status = 'InProgress'
AND r.ResolverID = $ID";
break; break;
case 'resolver': case 'resolver':
$DB->query("SELECT Username FROM users_main WHERE ID=".$ID); $DB->query("
SELECT Username
FROM users_main
WHERE ID = $ID");
list($Username) = $DB->next_record(); list($Username) = $DB->next_record();
if ($Username) { if ($Username) {
$Title = $Username."'s resolved reports"; $Title = "$Username's resolved reports";
} else { } else {
$Title = $ID."'s resolved reports"; $Title = "$ID's resolved reports";
} }
$Where = "WHERE r.Status = 'Resolved' AND r.ResolverID = ".$ID; $Where = "
WHERE r.Status = 'Resolved'
AND r.ResolverID = $ID";
$Order = 'ORDER BY r.LastChangeTime DESC'; $Order = 'ORDER BY r.LastChangeTime DESC';
break; break;
case 'group': case 'group':
$Title = "Unresolved reports for the group $ID"; $Title = "Unresolved reports for the group $ID";
$Where = "WHERE r.Status != 'Resolved' AND tg.ID = ".$ID; $Where = "
WHERE r.Status != 'Resolved'
AND tg.ID = $ID";
break; break;
case 'torrent': case 'torrent':
$Title = 'All reports for the torrent '.$ID; $Title = "All reports for the torrent $ID";
$Where = 'WHERE r.TorrentID = '.$ID; $Where = "WHERE r.TorrentID = $ID";
break; break;
case 'report': case 'report':
$Title = 'Viewing resolution of report '.$ID; $Title = "Viewing resolution of report $ID";
$Where = 'WHERE r.ID = '.$ID; $Where = "WHERE r.ID = $ID";
break; break;
case 'reporter': case 'reporter':
$DB->query("SELECT Username FROM users_main WHERE ID=".$ID); $DB->query("
SELECT Username
FROM users_main
WHERE ID = $ID");
list($Username) = $DB->next_record(); list($Username) = $DB->next_record();
if ($Username) { if ($Username) {
$Title = 'All torrents reported by '.$Username; $Title = "All torrents reported by $Username";
} else { } else {
$Title = 'All torrents reported by user '.$ID; $Title = "All torrents reported by user $ID";
} }
$Where = 'WHERE r.ReporterID = '.$ID; $Where = "WHERE r.ReporterID = $ID";
$Order = 'ORDER BY r.ReportedTime DESC'; $Order = 'ORDER BY r.ReportedTime DESC';
break; break;
case 'uploader': case 'uploader':
$DB->query("SELECT Username FROM users_main WHERE ID=".$ID); $DB->query("
SELECT Username
FROM users_main
WHERE ID = $ID");
list($Username) = $DB->next_record(); list($Username) = $DB->next_record();
if ($Username) { if ($Username) {
$Title = 'All reports for torrents uploaded by '.$Username; $Title = "All reports for torrents uploaded by $Username";
} else { } else {
$Title = 'All reports for torrents uploaded by user '.$ID; $Title = "All reports for torrents uploaded by user $ID";
} }
$Where = "WHERE r.Status != 'Resolved' AND t.UserID = ".$ID; $Where = "
WHERE r.Status != 'Resolved'
AND t.UserID = $ID";
break; break;
case 'type': case 'type':
$Title = 'All new reports for the chosen type'; $Title = 'All new reports for the chosen type';
$Where = "WHERE r.Status = 'New' AND r.Type = '".$ID."'"; $Where = "
WHERE r.Status = 'New'
AND r.Type = '$ID'";
break; break;
break; break;
default: default:
@ -227,7 +249,7 @@
list($ReportID, $ReporterID, $ReporterName, $TorrentID, $Type, $UserComment, $ResolverID, $ResolverName, $Status, $ReportedTime, $LastChangeTime, list($ReportID, $ReporterID, $ReporterName, $TorrentID, $Type, $UserComment, $ResolverID, $ResolverName, $Status, $ReportedTime, $LastChangeTime,
$ModComment, $Tracks, $Images, $ExtraIDs, $Links, $LogMessage, $GroupName, $GroupID, $ArtistID, $ArtistName, $Year, $CategoryID, $Time, $Remastered, $RemasterTitle, $ModComment, $Tracks, $Images, $ExtraIDs, $Links, $LogMessage, $GroupName, $GroupID, $ArtistID, $ArtistName, $Year, $CategoryID, $Time, $Remastered, $RemasterTitle,
$RemasterYear, $Media, $Format, $Encoding, $Size, $HasCue, $HasLog, $LogScore, $UploaderID, $UploaderName) = Misc::display_array($Report, array("ModComment")); $RemasterYear, $Media, $Format, $Encoding, $Size, $HasCue, $HasLog, $LogScore, $UploaderID, $UploaderName) = Misc::display_array($Report, array('ModComment'));
if (!$GroupID && $Status != 'Resolved') { if (!$GroupID && $Status != 'Resolved') {
//Torrent already deleted //Torrent already deleted
@ -237,7 +259,7 @@
Status = 'Resolved', Status = 'Resolved',
LastChangeTime = '".sqltime()."', LastChangeTime = '".sqltime()."',
ModComment = 'Report already dealt with (torrent deleted)' ModComment = 'Report already dealt with (torrent deleted)'
WHERE ID=".$ReportID); WHERE ID = $ReportID");
$Cache->decrement('num_torrent_reportsv2'); $Cache->decrement('num_torrent_reportsv2');
?> ?>
<div id="report<?=$ReportID?>"> <div id="report<?=$ReportID?>">
@ -323,7 +345,8 @@
<div style="text-align: right;">was reported by <a href="user.php?id=<?=$ReporterID?>"><?=$ReporterName?></a> <?=time_diff($ReportedTime)?> for the reason: <strong><?=$ReportType['title']?></strong></div> <div style="text-align: right;">was reported by <a href="user.php?id=<?=$ReporterID?>"><?=$ReporterName?></a> <?=time_diff($ReportedTime)?> for the reason: <strong><?=$ReportType['title']?></strong></div>
<? if ($Status != 'Resolved') { <? if ($Status != 'Resolved') {
$DB->query("SELECT r.ID $DB->query("
SELECT r.ID
FROM reportsv2 AS r FROM reportsv2 AS r
LEFT JOIN torrents AS t ON t.ID = r.TorrentID LEFT JOIN torrents AS t ON t.ID = r.TorrentID
WHERE r.Status != 'Resolved' WHERE r.Status != 'Resolved'
@ -336,7 +359,8 @@
</div> </div>
<? } <? }
$DB->query("SELECT t.UserID $DB->query("
SELECT t.UserID
FROM reportsv2 AS r FROM reportsv2 AS r
JOIN torrents AS t ON t.ID = r.TorrentID JOIN torrents AS t ON t.ID = r.TorrentID
WHERE r.Status != 'Resolved' WHERE r.Status != 'Resolved'
@ -349,7 +373,8 @@
</div> </div>
<? } <? }
$DB->query("SELECT DISTINCT req.ID, $DB->query("
SELECT DISTINCT req.ID,
req.FillerID, req.FillerID,
um.Username, um.Username,
req.TimeFilled req.TimeFilled
@ -360,7 +385,7 @@
WHERE rep.Status != 'Resolved' WHERE rep.Status != 'Resolved'
AND req.TimeFilled > '2010-03-04 02:31:49' AND req.TimeFilled > '2010-03-04 02:31:49'
AND req.TorrentID = $TorrentID"); AND req.TorrentID = $TorrentID");
$Requests = ($DB->record_count()); $Requests = ($DB->has_results());
if ($Requests > 0) { if ($Requests > 0) {
while (list($RequestID, $FillerID, $FillerName, $FilledTime) = $DB->next_record()) { while (list($RequestID, $FillerID, $FillerName, $FilledTime) = $DB->next_record()) {
?> ?>
@ -506,7 +531,7 @@
<td class="label">Report comment:</td> <td class="label">Report comment:</td>
<td colspan="3"> <td colspan="3">
<input type="text" name="comment" id="comment<?=$ReportID?>" size="45" value="<?=$ModComment?>" /> <input type="text" name="comment" id="comment<?=$ReportID?>" size="45" value="<?=$ModComment?>" />
<input type="button" value="Update now" onclick="UpdateComment(<?=$ReportID?>)" /> <input type="button" value="Update now" onclick="UpdateComment(<?=$ReportID?>);" />
</td> </td>
</tr> </tr>
<tr> <tr>
@ -514,7 +539,7 @@
<a href="javascript:Load('<?=$ReportID?>')" title="Click here to reset the resolution options to their default values.">Resolve</a> <a href="javascript:Load('<?=$ReportID?>')" title="Click here to reset the resolution options to their default values.">Resolve</a>
</td> </td>
<td colspan="3"> <td colspan="3">
<select name="resolve_type" id="resolve_type<?=$ReportID?>" onchange="ChangeResolve(<?=$ReportID?>)"> <select name="resolve_type" id="resolve_type<?=$ReportID?>" onchange="ChangeResolve(<?=$ReportID?>);">
<? <?
$TypeList = $Types['master'] + $Types[$CategoryID]; $TypeList = $Types['master'] + $Types[$CategoryID];
$Priorities = array(); $Priorities = array();
@ -550,7 +575,7 @@
</span> </span>
&nbsp;&nbsp; &nbsp;&nbsp;
<span title="Update resolve type"> <span title="Update resolve type">
<input type="button" name="update_resolve" id="update_resolve<?=$ReportID?>" value="Update now" onclick="UpdateResolve(<?=$ReportID?>)" /> <input type="button" name="update_resolve" id="update_resolve<?=$ReportID?>" value="Update now" onclick="UpdateResolve(<?=$ReportID?>);" />
</span> </span>
</span> </span>
</td> </td>
@ -567,7 +592,7 @@
<span title="Uploader: Appended to the regular message unless using &quot;Send now&quot;. Reporter: Must be used with &quot;Send now&quot;."> <span title="Uploader: Appended to the regular message unless using &quot;Send now&quot;. Reporter: Must be used with &quot;Send now&quot;.">
<textarea name="uploader_pm" id="uploader_pm<?=$ReportID?>" cols="50" rows="1"></textarea> <textarea name="uploader_pm" id="uploader_pm<?=$ReportID?>" cols="50" rows="1"></textarea>
</span> </span>
<input type="button" value="Send now" onclick="SendPM(<?=$ReportID?>)" /> <input type="button" value="Send now" onclick="SendPM(<?=$ReportID?>);" />
</td> </td>
</tr> </tr>
<tr> <tr>
@ -577,7 +602,7 @@
$Extras = explode(' ', $ExtraIDs); $Extras = explode(' ', $ExtraIDs);
$Value = ''; $Value = '';
foreach ($Extras as $ExtraID) { foreach ($Extras as $ExtraID) {
$Value .= 'https://'.SSL_SITE_URL.'/torrents.php?torrentid='.$ExtraID.' '; $Value .= 'https://'.SSL_SITE_URL."/torrents.php?torrentid=$ExtraID ";
} }
echo 'value="'.trim($Value).'"'; echo 'value="'.trim($Value).'"';
} ?>/> } ?>/>

View File

@ -42,7 +42,7 @@
foreach ($ReportType['report_fields'] as $Field => $Value) { foreach ($ReportType['report_fields'] as $Field => $Value) {
if ($Value == '1') { if ($Value == '1') {
if (empty($_POST[$Field])) { if (empty($_POST[$Field])) {
$Err = "You are missing a required field (".$Field.") for a ".$ReportType['title']." report."; $Err = "You are missing a required field ($Field) for a ".$ReportType['title'].' report.';
} }
} }
} }
@ -54,7 +54,7 @@
$Err = "The extra permalinks you gave included the link to the torrent you're reporting!"; $Err = "The extra permalinks you gave included the link to the torrent you're reporting!";
} }
} else { } else {
$Err = "The permalink was incorrect. It should look like https://".SSL_SITE_URL."/torrents.php?torrentid=12345"; $Err = 'The permalink was incorrect. It should look like https://'.SSL_SITE_URL.'/torrents.php?torrentid=12345';
} }
} else { } else {
$ExtraIDs = ''; $ExtraIDs = '';
@ -86,7 +86,7 @@
if (preg_match('/([0-9]+( [0-9]+)*)|All/is', $_POST['track'], $Matches)) { if (preg_match('/([0-9]+( [0-9]+)*)|All/is', $_POST['track'], $Matches)) {
$Tracks = $Matches[0]; $Tracks = $Matches[0];
} else { } else {
$Err = 'Tracks should be given in a space separated list of numbers (no other characters)'; $Err = 'Tracks should be given in a space-separated list of numbers with no other characters.';
} }
} else { } else {
$Tracks = ''; $Tracks = '';
@ -98,8 +98,11 @@
$Err = 'As useful as blank reports are, could you be a tiny bit more helpful? (Leave a comment)'; $Err = 'As useful as blank reports are, could you be a tiny bit more helpful? (Leave a comment)';
} }
$DB->query("SELECT ID FROM torrents WHERE ID=".$TorrentID); $DB->query("
if ($DB->record_count() < 1) { SELECT ID
FROM torrents
WHERE ID = $TorrentID");
if (!$DB->has_results()) {
$Err = "A torrent with that ID doesn't exist!"; $Err = "A torrent with that ID doesn't exist!";
} }
@ -109,13 +112,19 @@
die(); die();
} }
$DB->query("SELECT ID FROM reportsv2 WHERE TorrentID=".$TorrentID." AND ReporterID=".db_string($LoggedUser['ID'])." AND ReportedTime > '".time_minus(3)."'"); $DB->query("
if ($DB->record_count() > 0) { SELECT ID
header('Location: torrents.php?torrentid='.$TorrentID); FROM reportsv2
WHERE TorrentID = $TorrentID
AND ReporterID = ".db_string($LoggedUser['ID'])."
AND ReportedTime > '".time_minus(3)."'");
if ($DB->has_results()) {
header("Location: torrents.php?torrentid=$TorrentID");
die(); die();
} }
$DB->query("INSERT INTO reportsv2 $DB->query("
INSERT INTO reportsv2
(ReporterID, TorrentID, Type, UserComment, Status, ReportedTime, Track, Image, ExtraID, Link) (ReporterID, TorrentID, Type, UserComment, Status, ReportedTime, Track, Image, ExtraID, Link)
VALUES VALUES
(".db_string($LoggedUser['ID']).", $TorrentID, '".db_string($Type)."', '$Extra', 'New', '".sqltime()."', '".db_string($Tracks)."', '".db_string($Images)."', '".db_string($ExtraIDs)."', '".db_string($Links)."')"); (".db_string($LoggedUser['ID']).", $TorrentID, '".db_string($Type)."', '$Extra', 'New', '".sqltime()."', '".db_string($Tracks)."', '".db_string($Images)."', '".db_string($ExtraIDs)."', '".db_string($Links)."')");
@ -123,8 +132,8 @@
$ReportID = $DB->inserted_id(); $ReportID = $DB->inserted_id();
$Cache->delete_value('reports_torrent_'.$TorrentID); $Cache->delete_value("reports_torrent_$TorrentID");
$Cache->increment('num_torrent_reportsv2'); $Cache->increment('num_torrent_reportsv2');
header('Location: torrents.php?torrentid='.$TorrentID); header("Location: torrents.php?torrentid=$TorrentID");
?> ?>

View File

@ -1,7 +1,7 @@
<? <?
/* /*
* This is the backend of the AJAXy reports resolve (When you press the shiny submit button). * This is the backend of the AJAXy reports resolve (When you press the shiny submit button).
* This page shouldn't output anything except in error, if you do want output, it will be put * This page shouldn't output anything except in error. If you do want output, it will be put
* straight into the table where the report used to be. Currently output is only given when * straight into the table where the report used to be. Currently output is only given when
* a collision occurs or a POST attack is detected. * a collision occurs or a POST attack is detected.
*/ */
@ -58,19 +58,19 @@
$TorrentID = $Escaped['torrentid']; $TorrentID = $Escaped['torrentid'];
$RawName = $Escaped['raw_name']; $RawName = $Escaped['raw_name'];
if (isset($Escaped['delete']) && $Cache->get_value('torrent_'.$TorrentID.'_lock')) { if (isset($Escaped['delete']) && $Cache->get_value("torrent_$TorrentID".'_lock')) {
echo 'You requested to delete the torrent '.$TorrentID.', but this is currently not possible because the upload process is still running. Please try again later.'; echo "You requested to delete the torrent $TorrentID, but this is currently not possible because the upload process is still running. Please try again later.";
die(); die();
} }
if (($Escaped['resolve_type'] == "manual" || $Escaped['resolve_type'] == "dismiss" ) && $Report) { if (($Escaped['resolve_type'] == 'manual' || $Escaped['resolve_type'] == 'dismiss') && $Report) {
if ($Escaped['comment']) { if ($Escaped['comment']) {
$Comment = $Escaped['comment']; $Comment = $Escaped['comment'];
} else { } else {
if ($Escaped['resolve_type'] == "manual") { if ($Escaped['resolve_type'] == 'manual') {
$Comment = "Report was resolved manually"; $Comment = 'Report was resolved manually.';
} elseif ($Escaped['resolve_type'] == "dismiss") { } elseif ($Escaped['resolve_type'] == 'dismiss') {
$Comment = "Report was dismissed as invalid"; $Comment = 'Report was dismissed as invalid.';
} }
} }
@ -86,7 +86,7 @@
if ($DB->affected_rows() > 0) { if ($DB->affected_rows() > 0) {
$Cache->delete_value('num_torrent_reportsv2'); $Cache->delete_value('num_torrent_reportsv2');
$Cache->delete_value('reports_torrent_'.$TorrentID); $Cache->delete_value("reports_torrent_$TorrentID");
} else { } else {
//Someone beat us to it. Inform the staffer. //Someone beat us to it. Inform the staffer.
?> ?>
@ -116,17 +116,19 @@
die(); die();
} }
$DB->query("
$DB->query("SELECT ID FROM torrents WHERE ID = ".$TorrentID); SELECT ID
$TorrentExists = ($DB->record_count() > 0); FROM torrents
WHERE ID = $TorrentID");
$TorrentExists = ($DB->has_results());
if (!$TorrentExists) { if (!$TorrentExists) {
$DB->query(" $DB->query("
UPDATE reportsv2 UPDATE reportsv2
SET Status = 'Resolved', SET Status = 'Resolved',
LastChangeTime = '".sqltime()."', LastChangeTime = '".sqltime()."',
ResolverID = '".$LoggedUser['ID']."', ResolverID = '".$LoggedUser['ID']."',
ModComment='Report already dealt with (Torrent deleted)' ModComment = 'Report already dealt with (torrent deleted).'
WHERE ID=".$ReportID); WHERE ID = $ReportID");
$Cache->decrement('num_torrent_reportsv2'); $Cache->decrement('num_torrent_reportsv2');
} }
@ -156,72 +158,98 @@
$Upload = false; $Upload = false;
} }
if ($_POST['resolve_type'] == 'tags_lots') {
if ($_POST['resolve_type'] == "tags_lots") { $DB->query("
$DB->query("INSERT IGNORE INTO torrents_bad_tags (TorrentID, UserID, TimeAdded) VALUES (".$TorrentID.", ".$LoggedUser['ID']." , '".sqltime()."')"); INSERT IGNORE INTO torrents_bad_tags
$DB->query("SELECT GroupID FROM torrents WHERE ID = ".$TorrentID); (TorrentID, UserID, TimeAdded)
VALUES
($TorrentID, ".$LoggedUser['ID']." , '".sqltime()."')");
$DB->query("
SELECT GroupID
FROM torrents
WHERE ID = $TorrentID");
list($GroupID) = $DB->next_record(); list($GroupID) = $DB->next_record();
$Cache->delete_value('torrents_details_'.$GroupID); $Cache->delete_value("torrents_details_$GroupID");
$SendPM = true; $SendPM = true;
} }
if ($_POST['resolve_type'] == "folders_bad") { if ($_POST['resolve_type'] == 'folders_bad') {
$DB->query("INSERT IGNORE INTO torrents_bad_folders (TorrentID, UserID, TimeAdded) VALUES (".$TorrentID.", ".$LoggedUser['ID'].", '".sqltime()."')"); $DB->query("
$DB->query("SELECT GroupID FROM torrents WHERE ID = ".$TorrentID); INSERT IGNORE INTO torrents_bad_folders
(TorrentID, UserID, TimeAdded)
VALUES
($TorrentID, ".$LoggedUser['ID'].", '".sqltime()."')");
$DB->query("
SELECT GroupID
FROM torrents
WHERE ID = $TorrentID");
list($GroupID) = $DB->next_record(); list($GroupID) = $DB->next_record();
$Cache->delete_value('torrents_details_'.$GroupID); $Cache->delete_value("torrents_details_$GroupID");
$SendPM = true; $SendPM = true;
} }
if ($_POST['resolve_type'] == "filename") { if ($_POST['resolve_type'] == 'filename') {
$DB->query("INSERT IGNORE INTO torrents_bad_files (TorrentID, UserID, TimeAdded) VALUES (".$TorrentID.", ".$LoggedUser['ID'].", '".sqltime()."')"); $DB->query("
$DB->query("SELECT GroupID FROM torrents WHERE ID = ".$TorrentID); INSERT IGNORE INTO torrents_bad_files
(TorrentID, UserID, TimeAdded)
VALUES
($TorrentID, ".$LoggedUser['ID'].", '".sqltime()."')");
$DB->query("
SELECT GroupID
FROM torrents
WHERE ID = $TorrentID");
list($GroupID) = $DB->next_record(); list($GroupID) = $DB->next_record();
$Cache->delete_value('torrents_details_'.$GroupID); $Cache->delete_value("torrents_details_$GroupID");
$SendPM = true; $SendPM = true;
} }
//Log and delete //Log and delete
if (isset($Escaped['delete']) && check_perms('users_mod')) { if (isset($Escaped['delete']) && check_perms('users_mod')) {
$DB->query("SELECT Username FROM users_main WHERE ID = ".$UploaderID); $DB->query("
SELECT Username
FROM users_main
WHERE ID = $UploaderID");
list($UpUsername) = $DB->next_record(); list($UpUsername) = $DB->next_record();
$Log = "Torrent ".$TorrentID." (".$RawName.") uploaded by ".$UpUsername." was deleted by ".$LoggedUser['Username']; $Log = "Torrent $TorrentID ($RawName) uploaded by $UpUsername was deleted by ".$LoggedUser['Username'];
$Log .= ($Escaped['resolve_type'] == 'custom' ? "" : " for the reason: ".$ResolveType['title']."."); $Log .= ($Escaped['resolve_type'] == 'custom' ? '' : ' for the reason: '.$ResolveType['title'].".");
if (isset($Escaped['log_message']) && $Escaped['log_message'] != "") { if (isset($Escaped['log_message']) && $Escaped['log_message'] != '') {
$Log .= " ( ".$Escaped['log_message']." )"; $Log .= ' ( '.$Escaped['log_message'].' )';
} }
$DB->query("SELECT GroupID, hex(info_hash) FROM torrents WHERE ID = ".$TorrentID); $DB->query("
SELECT GroupID, hex(info_hash)
FROM torrents
WHERE ID = $TorrentID");
list($GroupID, $InfoHash) = $DB->next_record(); list($GroupID, $InfoHash) = $DB->next_record();
Torrents::delete_torrent($TorrentID, 0, $ResolveType['reason']); Torrents::delete_torrent($TorrentID, 0, $ResolveType['reason']);
//$InfoHash = unpack("H*", $InfoHash); //$InfoHash = unpack("H*", $InfoHash);
$Log .= " (".strtoupper($InfoHash).")"; $Log .= ' ('.strtoupper($InfoHash).')';
Misc::write_log($Log); Misc::write_log($Log);
$Log = "deleted torrent for the reason: ".$ResolveType['title'].". ( ".$Escaped['log_message']." )"; $Log = 'deleted torrent for the reason: '.$ResolveType['title'].'. ( '.$Escaped['log_message'].' )';
Torrents::write_group_log($GroupID, $TorrentID, $LoggedUser['ID'], $Log, 0); Torrents::write_group_log($GroupID, $TorrentID, $LoggedUser['ID'], $Log, 0);
} else { } else {
$Log = "No log message (Torrent wasn't deleted)"; $Log = "No log message (torrent wasn't deleted).";
} }
//Warnings / remove upload //Warnings / remove upload
if ($Upload) { if ($Upload) {
$Cache->begin_transaction('user_info_heavy_'.$UploaderID); $Cache->begin_transaction("user_info_heavy_$UploaderID");
$Cache->update_row(false, array('DisableUpload' => '1')); $Cache->update_row(false, array('DisableUpload' => '1'));
$Cache->commit_transaction(0); $Cache->commit_transaction(0);
$DB->query(" $DB->query("
UPDATE users_info UPDATE users_info
SET DisableUpload = '1' SET DisableUpload = '1'
WHERE UserID=".$UploaderID); WHERE UserID = $UploaderID");
} }
if ($Warning > 0) { if ($Warning > 0) {
$WarnLength = $Warning * (7 * 24 * 60 * 60); $WarnLength = $Warning * (7 * 24 * 60 * 60);
$Reason = "Uploader of torrent (".$TorrentID.") ".$RawName." which was resolved with the preset: ".$ResolveType['title']."."; $Reason = "Uploader of torrent ($TorrentID) $RawName which was resolved with the preset: ".$ResolveType['title'].'.';
if ($Escaped['admin_message']) { if ($Escaped['admin_message']) {
$Reason .= " (".$Escaped['admin_message'].")."; $Reason .= ' ('.$Escaped['admin_message'].').';
} }
if ($Upload) { if ($Upload) {
$Reason .= " (Upload privileges Removed)."; $Reason .= ' (Upload privileges removed).';
} }
Tools::warn_user($UploaderID, $WarnLength, $Reason); Tools::warn_user($UploaderID, $WarnLength, $Reason);
@ -230,18 +258,19 @@
$AdminComment = ''; $AdminComment = '';
if ($Upload) { if ($Upload) {
//They removed upload //They removed upload
$AdminComment .= "Upload privileges removed by ".$LoggedUser['Username']; $AdminComment .= 'Upload privileges removed by '.$LoggedUser['Username'];
$AdminComment .= "\nReason: Uploader of torrent (".$TorrentID.") ".db_string($RawName)." which was resolved with the preset: ".$ResolveType['title'].". (Report ID: $ReportID)"; $AdminComment .= "\nReason: Uploader of torrent ($TorrentID) ".db_string($RawName).' which was resolved with the preset: '.$ResolveType['title'].". (Report ID: $ReportID)";
} }
if ($Escaped['admin_message']) { if ($Escaped['admin_message']) {
//They did nothing of note, but still want to mark it (Or upload and mark) //They did nothing of note, but still want to mark it (Or upload and mark)
$AdminComment .= " (".$Escaped['admin_message'].")"; $AdminComment .= ' ('.$Escaped['admin_message'].')';
} }
if ($AdminComment) { if ($AdminComment) {
$AdminComment = date("Y-m-d").' - '.$AdminComment."\n\n"; $AdminComment = date('Y-m-d') . " - $AdminComment\n\n";
$DB->query("UPDATE users_info SET $DB->query("
AdminComment=CONCAT('".db_string($AdminComment)."',AdminComment) UPDATE users_info
SET AdminComment = CONCAT('".db_string($AdminComment)."', AdminComment)
WHERE UserID = '".db_string($UploaderID)."'"); WHERE UserID = '".db_string($UploaderID)."'");
} }
} }
@ -249,47 +278,49 @@
//PM //PM
if ($Escaped['uploader_pm'] || $Warning > 0 || isset($Escaped['delete']) || $SendPM) { if ($Escaped['uploader_pm'] || $Warning > 0 || isset($Escaped['delete']) || $SendPM) {
if (isset($Escaped['delete'])) { if (isset($Escaped['delete'])) {
$PM = '[url=https://'.SSL_SITE_URL."/torrents.php?torrentid=".$TorrentID."]Your above torrent[/url] was reported and has been deleted.\n\n"; $PM = '[url=https://'.SSL_SITE_URL."/torrents.php?torrentid=$TorrentID]Your above torrent[/url] was reported and has been deleted.\n\n";
} else { } else {
$PM = '[url=https://'.SSL_SITE_URL."/torrents.php?torrentid=".$TorrentID."]Your above torrent[/url] was reported but not deleted.\n\n"; $PM = '[url=https://'.SSL_SITE_URL."/torrents.php?torrentid=$TorrentID]Your above torrent[/url] was reported but not deleted.\n\n";
} }
$Preset = $ResolveType['resolve_options']['pm']; $Preset = $ResolveType['resolve_options']['pm'];
if ($Preset != '') { if ($Preset != '') {
$PM .= "Reason: ".$Preset; $PM .= "Reason: $Preset";
} }
if ($Warning > 0) { if ($Warning > 0) {
$PM .= "\nThis has resulted in a [url=https://".SSL_SITE_URL."/wiki.php?action=article&amp;id=218]".$Warning." week warning.[/url]\n"; $PM .= "\nThis has resulted in a [url=https://".SSL_SITE_URL."/wiki.php?action=article&amp;id=218]$Warning week warning.[/url]\n";
} }
if ($Upload) { if ($Upload) {
$PM .= "This has ".($Warning > 0 ? 'also ' : '')."resulted in you losing your upload privileges."; $PM .= 'This has '.($Warning > 0 ? 'also ' : '').'resulted in you losing your upload privileges.';
} }
if ($Log) { if ($Log) {
$PM = $PM."\nLog Message: ".$Log."\n"; $PM = "$PM\nLog Message: $Log\n";
} }
if ($Escaped['uploader_pm']) { if ($Escaped['uploader_pm']) {
$PM .= "\nMessage from ".$LoggedUser['Username'].": ".$PMMessage; $PM .= "\nMessage from ".$LoggedUser['Username'].": $PMMessage";
} }
$PM .= "\n\nReport was handled by [user]".$LoggedUser['Username']."[/user]."; $PM .= "\n\nReport was handled by [user]".$LoggedUser['Username'].'[/user].';
Misc::send_pm($UploaderID, 0, $Escaped['raw_name'], $PM); Misc::send_pm($UploaderID, 0, $Escaped['raw_name'], $PM);
} }
$Cache->delete_value('reports_torrent_'.$TorrentID); $Cache->delete_value("reports_torrent_$TorrentID");
//Now we've done everything, update the DB with values //Now we've done everything, update the DB with values
if ($Report) { if ($Report) {
$DB->query("UPDATE reportsv2 SET $DB->query("
UPDATE reportsv2
SET
Type = '".$Escaped['resolve_type']."', Type = '".$Escaped['resolve_type']."',
LogMessage = '".db_string($Log)."', LogMessage = '".db_string($Log)."',
ModComment = '".$Escaped['comment']."' ModComment = '".$Escaped['comment']."'
WHERE ID=".$ReportID); WHERE ID = $ReportID");
} }
} else { } else {
//Someone beat us to it. Inform the staffer. //Someone beat us to it. Inform the staffer.

View File

@ -64,18 +64,20 @@
CEIL(( CEIL((
SELECT COUNT(ID) + 1 SELECT COUNT(ID) + 1
FROM requests_comments AS rc FROM requests_comments AS rc
WHERE rc.RequestID='".$RequestID."' WHERE rc.RequestID = '$RequestID'
) / ".TORRENT_COMMENTS_PER_PAGE." ) / ".TORRENT_COMMENTS_PER_PAGE."
) AS Pages"); ) AS Pages");
list($Pages) = $DB->next_record(); list($Pages) = $DB->next_record();
$DB->query(" $DB->query("
INSERT INTO requests_comments (RequestID,AuthorID,AddedTime,Body) INSERT INTO requests_comments
VALUES ('$RequestID', '".db_string($LoggedUser['ID'])."','".sqltime()."','".db_string($_POST['body'])."')"); (RequestID, AuthorID, AddedTime, Body)
VALUES
('$RequestID', '".db_string($LoggedUser['ID'])."', '".sqltime()."', '".db_string($_POST['body'])."')");
$PostID = $DB->inserted_id(); $PostID = $DB->inserted_id();
$CatalogueID = floor((TORRENT_COMMENTS_PER_PAGE * $Pages - TORRENT_COMMENTS_PER_PAGE) / THREAD_CATALOGUE); $CatalogueID = floor((TORRENT_COMMENTS_PER_PAGE * $Pages - TORRENT_COMMENTS_PER_PAGE) / THREAD_CATALOGUE);
$Cache->begin_transaction('request_comments_'.$RequestID.'_catalogue_'.$CatalogueID); $Cache->begin_transaction("request_comments_$RequestID"."_catalogue_$CatalogueID");
$Post = array( $Post = array(
'ID'=>$PostID, 'ID'=>$PostID,
'AuthorID'=>$LoggedUser['ID'], 'AuthorID'=>$LoggedUser['ID'],
@ -87,9 +89,9 @@
); );
$Cache->insert('', $Post); $Cache->insert('', $Post);
$Cache->commit_transaction(0); $Cache->commit_transaction(0);
$Cache->increment('request_comments_'.$RequestID); $Cache->increment("request_comments_$RequestID");
header('Location: requests.php?action=view&id='.$RequestID.'&page='.$Pages); header("Location: requests.php?action=view&id=$RequestID&page=$Pages");
break; break;
case 'get_post': case 'get_post':
@ -97,7 +99,10 @@
if (!$_GET['post'] || !is_number($_GET['post'])) { if (!$_GET['post'] || !is_number($_GET['post'])) {
error(0); error(0);
} }
$DB->query("SELECT Body FROM requests_comments WHERE ID='".db_string($_GET['post'])."'"); $DB->query("
SELECT Body
FROM requests_comments
WHERE ID = '".db_string($_GET['post'])."'");
list($Body) = $DB->next_record(MYSQLI_NUM); list($Body) = $DB->next_record(MYSQLI_NUM);
echo trim($Body); echo trim($Body);
@ -136,7 +141,7 @@
if ($LoggedUser['ID'] != $AuthorID && !check_perms('site_moderate_forums')) { if ($LoggedUser['ID'] != $AuthorID && !check_perms('site_moderate_forums')) {
error(404); error(404);
} }
if ($DB->record_count() == 0) { if (!$DB->has_results()) {
error(404); error(404);
} }
@ -151,7 +156,7 @@
// Update the cache // Update the cache
$CatalogueID = floor((TORRENT_COMMENTS_PER_PAGE * $Page - TORRENT_COMMENTS_PER_PAGE) / THREAD_CATALOGUE); $CatalogueID = floor((TORRENT_COMMENTS_PER_PAGE * $Page - TORRENT_COMMENTS_PER_PAGE) / THREAD_CATALOGUE);
$Cache->begin_transaction('request_comments_'.$RequestID.'_catalogue_'.$CatalogueID); $Cache->begin_transaction("request_comments_$RequestID"."_catalogue_$CatalogueID");
$Cache->update_row($_POST['key'], array( $Cache->update_row($_POST['key'], array(
'ID'=>$_POST['post'], 'ID'=>$_POST['post'],
@ -165,8 +170,10 @@
$Cache->commit_transaction(0); $Cache->commit_transaction(0);
$DB->query(" $DB->query("
INSERT INTO comments_edits (Page, PostID, EditUser, EditTime, Body) INSERT INTO comments_edits
VALUES ('requests', ".db_string($_POST['post']).", ".db_string($LoggedUser['ID']).", '".sqltime()."', '".db_string($OldBody)."')"); (Page, PostID, EditUser, EditTime, Body)
VALUES
('requests', ".db_string($_POST['post']).", ".db_string($LoggedUser['ID']).", '".sqltime()."', '".db_string($OldBody)."')");
// This gets sent to the browser, which echoes it in place of the old body // This gets sent to the browser, which echoes it in place of the old body
echo $Text->full_format($_POST['body']); echo $Text->full_format($_POST['body']);
@ -204,17 +211,19 @@
// $Page = which page the post is on // $Page = which page the post is on
// These are set for cache clearing. // These are set for cache clearing.
$DB->query("DELETE FROM requests_comments WHERE ID='".db_string($_GET['postid'])."'"); $DB->query("
DELETE FROM requests_comments
WHERE ID = '".db_string($_GET['postid'])."'");
//We need to clear all subsequential catalogues as they've all been bumped with the absence of this post //We need to clear all subsequential catalogues as they've all been bumped with the absence of this post
$ThisCatalogue = floor((TORRENT_COMMENTS_PER_PAGE * $Page - TORRENT_COMMENTS_PER_PAGE) / THREAD_CATALOGUE); $ThisCatalogue = floor((TORRENT_COMMENTS_PER_PAGE * $Page - TORRENT_COMMENTS_PER_PAGE) / THREAD_CATALOGUE);
$LastCatalogue = floor((TORRENT_COMMENTS_PER_PAGE * $Pages - TORRENT_COMMENTS_PER_PAGE) / THREAD_CATALOGUE); $LastCatalogue = floor((TORRENT_COMMENTS_PER_PAGE * $Pages - TORRENT_COMMENTS_PER_PAGE) / THREAD_CATALOGUE);
for ($i = $ThisCatalogue; $i <= $LastCatalogue; $i++) { for ($i = $ThisCatalogue; $i <= $LastCatalogue; $i++) {
$Cache->delete_value('request_comments_'.$RequestID.'_catalogue_'.$i); $Cache->delete_value("request_comments_$RequestID" . "_catalogue_$i");
} }
// Delete thread info cache (eg. number of pages) // Delete thread info cache (eg. number of pages)
$Cache->delete_value('request_comments_'.$GroupID); $Cache->delete_value("request_comments_$GroupID");
break; break;
case 'warn': case 'warn':
include(SERVER_ROOT.'/sections/requests/warn.php'); include(SERVER_ROOT.'/sections/requests/warn.php');

View File

@ -1,4 +1,4 @@
<? <?php
if (!isset($_GET['id']) || !is_number($_GET['id'])) { if (!isset($_GET['id']) || !is_number($_GET['id'])) {
error(404); error(404);
} }
@ -8,14 +8,17 @@
error(404); error(404);
} }
$DB->query("SELECT UserID, FillerID FROM requests WHERE ID = ".$_GET['id']); $DB->query("
SELECT UserID, FillerID
FROM requests
WHERE ID = ".$_GET['id']);
list($RequestorID, $FillerID) = $DB->next_record(); list($RequestorID, $FillerID) = $DB->next_record();
if ($Action == 'unfill') { if ($Action == 'unfill') {
if ($LoggedUser['ID'] != $RequestorID && $LoggedUser['ID'] != $FillerID && !check_perms('site_moderate_requests')) { if ($LoggedUser['ID'] != $RequestorID && $LoggedUser['ID'] != $FillerID && !check_perms('site_moderate_requests')) {
error(403); error(403);
} }
} elseif ($Action == "delete") { } elseif ($Action == 'delete') {
if ($LoggedUser['ID'] != $RequestorID && !check_perms('site_moderate_requests')) { if ($LoggedUser['ID'] != $RequestorID && !check_perms('site_moderate_requests')) {
error(403); error(403);
} }

View File

@ -383,8 +383,9 @@
<input type="hidden" id="amount" name="amount" value="<?=(!empty($Bounty) ? $Bounty : '100')?>" /> <input type="hidden" id="amount" name="amount" value="<?=(!empty($Bounty) ? $Bounty : '100')?>" />
<input type="hidden" id="current_uploaded" value="<?=$LoggedUser['BytesUploaded']?>" /> <input type="hidden" id="current_uploaded" value="<?=$LoggedUser['BytesUploaded']?>" />
<input type="hidden" id="current_downloaded" value="<?=$LoggedUser['BytesDownloaded']?>" /> <input type="hidden" id="current_downloaded" value="<?=$LoggedUser['BytesDownloaded']?>" />
Bounty after tax: <strong><span id="bounty_after_tax">90.00 MB</span></strong><br />
If you add the entered <strong><span id="new_bounty">100.00 MB</span></strong> of bounty, your new stats will be: <br /> If you add the entered <strong><span id="new_bounty">100.00 MB</span></strong> of bounty, your new stats will be: <br />
Uploaded: <span id="new_uploaded"><?=Format::get_size($LoggedUser['BytesUploaded'])?></span> Uploaded: <span id="new_uploaded"><?=Format::get_size($LoggedUser['BytesUploaded'])?></span><br />
Ratio: <span id="new_ratio"><?=Format::get_ratio_html($LoggedUser['BytesUploaded'], $LoggedUser['BytesDownloaded'])?></span> Ratio: <span id="new_ratio"><?=Format::get_ratio_html($LoggedUser['BytesUploaded'], $LoggedUser['BytesDownloaded'])?></span>
</td> </td>
</tr> </tr>

View File

@ -402,8 +402,9 @@
<input type="hidden" id="current_downloaded" value="<?=$LoggedUser['BytesDownloaded']?>" /> <input type="hidden" id="current_downloaded" value="<?=$LoggedUser['BytesDownloaded']?>" />
<input type="hidden" id="current_rr" value="<?=(float)$LoggedUser['RequiredRatio']?>" /> <input type="hidden" id="current_rr" value="<?=(float)$LoggedUser['RequiredRatio']?>" />
<input id="total_bounty" type="hidden" value="<?=$RequestVotes['TotalBounty']?>" /> <input id="total_bounty" type="hidden" value="<?=$RequestVotes['TotalBounty']?>" />
Bounty after tax: <strong><span id="bounty_after_tax">0.00 MB</span></strong><br />
If you add the entered <strong><span id="new_bounty">0.00 MB</span></strong> of bounty, your new stats will be: <br /> If you add the entered <strong><span id="new_bounty">0.00 MB</span></strong> of bounty, your new stats will be: <br />
Uploaded: <span id="new_uploaded"><?=Format::get_size($LoggedUser['BytesUploaded'])?></span> Uploaded: <span id="new_uploaded"><?=Format::get_size($LoggedUser['BytesUploaded'])?></span><br />
Ratio: <span id="new_ratio"><?=Format::get_ratio_html($LoggedUser['BytesUploaded'],$LoggedUser['BytesDownloaded'])?></span> Ratio: <span id="new_ratio"><?=Format::get_ratio_html($LoggedUser['BytesUploaded'],$LoggedUser['BytesDownloaded'])?></span>
<input type="button" id="button" value="Vote!" disabled="disabled" onclick="Vote();" /> <input type="button" id="button" value="Vote!" disabled="disabled" onclick="Vote();" />
</form> </form>

Some files were not shown because too many files have changed in this diff Show More