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
WHERE w.ID='$ArticleID'
GROUP BY w.ID");
if (!$DB->record_count() && $Error) {
if (!$DB->has_results() && $Error) {
error(404);
}
$Contents = $DB->to_array();

View File

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

View File

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

View File

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

View File

@ -148,7 +148,7 @@ public static function create_thread($ForumID, $AuthorID, $Title, $PostBody) {
SELECT Username
FROM users_main
WHERE ID=".$AuthorID);
if ($DB->record_count() < 1) {
if (!$DB->has_results()) {
return -2;
}
list($AuthorName) = $DB->next_record();
@ -393,7 +393,7 @@ public static function get_alias_tag($BadTag) {
FROM tag_aliases
WHERE BadTag = '$BadTag'
LIMIT 1");
if ($DB->record_count() > 0) {
if ($DB->has_results()) {
list($AliasTag) = $DB->next_record();
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() {
if ($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
WHERE rv.RequestID = $RequestID
ORDER BY rv.Bounty DESC");
if ($DB->record_count() < 1) {
if (!$DB->has_results()) {
error(0);
} else {
$Votes = $DB->to_array();

View File

@ -1,4 +1,4 @@
<?
<?php
/*-- Script Start Class --------------------------------*/
/*------------------------------------------------------*/
/* This isnt really a class but a way to tie other */
@ -194,9 +194,9 @@
$FileName = 'zip.class';
break;
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']);
}
if (isset($LoginCookie)) {
list($SessionID, $LoggedUser['ID']) = explode("|~|", $Enc->decrypt($LoginCookie));
list($SessionID, $LoggedUser['ID']) = explode('|~|', $Enc->decrypt($LoginCookie));
$LoggedUser['ID'] = (int)$LoggedUser['ID'];
$UserID = $LoggedUser['ID']; //TODO: UserID should not be LoggedUser
@ -236,7 +236,7 @@
logout();
}
$UserSessions = $Cache->get_value('users_sessions_'.$UserID);
$UserSessions = $Cache->get_value("users_sessions_$UserID");
if (!is_array($UserSessions)) {
$DB->query("
SELECT
@ -246,11 +246,11 @@
IP,
LastUpdate
FROM users_sessions
WHERE UserID='$UserID'
WHERE UserID = '$UserID'
AND Active = 1
ORDER BY LastUpdate DESC");
$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)) {
@ -263,7 +263,7 @@
$DB->query("
SELECT Enabled
FROM users_main
WHERE ID='$LoggedUser[ID]'");
WHERE ID = '$LoggedUser[ID]'");
list($Enabled) = $DB->next_record();
$Cache->cache_value('enabled_'.$LoggedUser['ID'], $Enabled, 0);
}
@ -278,7 +278,7 @@
$DB->query("
SELECT Uploaded AS BytesUploaded, Downloaded AS BytesDownloaded, RequiredRatio
FROM users_main
WHERE ID='$LoggedUser[ID]'");
WHERE ID = '$LoggedUser[ID]'");
$UserStats = $DB->next_record(MYSQLI_ASSOC);
$Cache->cache_value('user_stats_'.$LoggedUser['ID'], $UserStats, 3600);
}
@ -293,13 +293,13 @@
// Create LoggedUser array
$LoggedUser = array_merge($HeavyInfo, $LightInfo, $Permissions, $UserStats);
$LoggedUser['RSS_Auth']=md5($LoggedUser['ID'].RSS_HASH.$LoggedUser['torrent_pass']);
$LoggedUser['RSS_Auth'] = md5($LoggedUser['ID'] . RSS_HASH . $LoggedUser['torrent_pass']);
// $LoggedUser['RatioWatch'] as a bool to disable things for users on Ratio Watch
$LoggedUser['RatioWatch'] = (
$LoggedUser['RatioWatchEnds'] != '0000-00-00 00:00:00' &&
time() < strtotime($LoggedUser['RatioWatchEnds']) &&
($LoggedUser['BytesDownloaded'] * $LoggedUser['RequiredRatio']) > $LoggedUser['BytesUploaded']
$LoggedUser['RatioWatchEnds'] != '0000-00-00 00:00:00'
&& time() < strtotime($LoggedUser['RatioWatchEnds'])
&& ($LoggedUser['BytesDownloaded'] * $LoggedUser['RequiredRatio']) > $LoggedUser['BytesUploaded']
);
if (!isset($LoggedUser['ID'])) {
$Debug->log_var($LightInfo, 'LightInfo');
@ -315,31 +315,33 @@
$Cache->CanClear = check_perms('admin_clear_cache');
// 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
if (strtotime($UserSessions[$SessionID]['LastUpdate']) + 600 < time()) {
$DB->query("
UPDATE users_main
SET LastAccess='".sqltime()."'
WHERE ID='$LoggedUser[ID]'");
SET LastAccess = '".sqltime()."'
WHERE ID = '$LoggedUser[ID]'");
$DB->query("
UPDATE users_sessions
SET
IP='".$_SERVER['REMOTE_ADDR']."',
Browser='$Browser',
OperatingSystem='$OperatingSystem',
LastUpdate='".sqltime()."'
WHERE UserID='$LoggedUser[ID]'
AND SessionID='".db_string($SessionID)."'");
$Cache->begin_transaction('users_sessions_'.$UserID);
IP = '".$_SERVER['REMOTE_ADDR']."',
Browser = '$Browser',
OperatingSystem = '$OperatingSystem',
LastUpdate = '".sqltime()."'
WHERE UserID = '$LoggedUser[ID]'
AND SessionID = '".db_string($SessionID)."'");
$Cache->begin_transaction("users_sessions_$UserID");
$Cache->delete_row($SessionID);
$Cache->insert_front($SessionID,array(
'SessionID'=>$SessionID,
'Browser'=>$Browser,
'OperatingSystem'=>$OperatingSystem,
'IP'=>$_SERVER['REMOTE_ADDR'],
'LastUpdate'=>sqltime()
'SessionID' => $SessionID,
'Browser' => $Browser,
'OperatingSystem' => $OperatingSystem,
'IP' => $_SERVER['REMOTE_ADDR'],
'LastUpdate' => sqltime()
));
$Cache->commit_transaction(0);
}
@ -351,7 +353,7 @@
$DB->query("
SELECT ID, Label
FROM users_notify_filters
WHERE UserID='$LoggedUser[ID]'");
WHERE UserID = '$LoggedUser[ID]'");
$LoggedUser['Notify'] = $DB->to_array('ID');
$Cache->cache_value('notify_filters_'.$LoggedUser['ID'], $LoggedUser['Notify'], 2592000);
}
@ -374,10 +376,10 @@
$NewIP = db_string($_SERVER['REMOTE_ADDR']);
$DB->query("
UPDATE users_history_ips
SET EndTime='".sqltime()."'
SET EndTime = '".sqltime()."'
WHERE EndTime IS NULL
AND UserID='$LoggedUser[ID]'
AND IP='$CurIP'");
AND UserID = '$LoggedUser[ID]'
AND IP = '$CurIP'");
$DB->query("
INSERT IGNORE INTO users_history_ips
(UserID, IP, StartTime)
@ -387,8 +389,8 @@
$ipcc = Tools::geoip($NewIP);
$DB->query("
UPDATE users_main
SET IP='$NewIP', ipcc='$ipcc'
WHERE ID='$LoggedUser[ID]'");
SET IP = '$NewIP', ipcc = '$ipcc'
WHERE ID = '$LoggedUser[ID]'");
$Cache->begin_transaction('user_info_heavy_'.$LoggedUser['ID']);
$Cache->update_row(false, array('IP' => $_SERVER['REMOTE_ADDR']));
$Cache->commit_transaction(0);
@ -403,7 +405,7 @@
$DB->query('
SELECT
ID,
LOWER(REPLACE(Name," ","_")) AS Name,
LOWER(REPLACE(Name, " ", "_")) AS Name,
Name AS ProperName
FROM stylesheets');
$Stylesheets = $DB->to_array('ID', MYSQLI_BOTH);
@ -434,8 +436,8 @@ function logout() {
$DB->query("
DELETE FROM users_sessions
WHERE UserID='$LoggedUser[ID]'
AND SessionID='".db_string($SessionID)."'");
WHERE UserID = '$LoggedUser[ID]'
AND SessionID = '".db_string($SessionID)."'");
$Cache->begin_transaction('users_sessions_'.$LoggedUser['ID']);
$Cache->delete_row($SessionID);

View File

@ -53,11 +53,11 @@ function search($Query = '', $CachePrefix = '', $CacheLength = 0, $ReturnData =
$Filters = array();
foreach ($this->Filters as $Name => $Values) {
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;
if ($Result === false) {
@ -65,7 +65,7 @@ function search($Query = '', $CachePrefix = '', $CacheLength = 0, $ReturnData =
send_irc('PRIVMSG '.ADMIN_CHAN.' :!dev Connection to searchd failed');
$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'];
@ -89,7 +89,7 @@ function search($Query = '', $CachePrefix = '', $CacheLength = 0, $ReturnData =
foreach ($MatchIDs as $Match) {
$Matches[$Match] = $Matches[$Match]['attrs'];
if (!empty($CachePrefix)) {
$Data = $Cache->get_value($CachePrefix.'_'.$Match);
$Data = $Cache->get_value($CachePrefix."_$Match");
if ($Data == false) {
$NotFound[] = $Match;
continue;
@ -128,7 +128,7 @@ function search($Query = '', $CachePrefix = '', $CacheLength = 0, $ReturnData =
}
}
} else {
$Matches = array('matches'=>$Matches,'notfound'=>$NotFound);
$Matches = array('matches' => $Matches, 'notfound' => $NotFound);
}
return $Matches;
@ -157,7 +157,7 @@ function set_filter($Name, $Vals, $Exclude = false) {
}
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);
}

View File

@ -226,7 +226,7 @@ public static function warn_user($UserID, $Duration, $Reason) {
FROM users_info
WHERE UserID=$UserID
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.
list($OldDate) = $DB->next_record();
$NewExpDate = date('Y-m-d H:i:s', strtotime($OldDate) + $Duration);

View File

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

View File

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

View File

@ -30,7 +30,7 @@ private static function build_table($MemKey, $Query) {
$DB->query("
SELECT MIN(Val)
FROM temp_stats
GROUP BY CEIL(ID/(".(int)$UserCount."/100));");
GROUP BY CEIL(ID / (".(int)$UserCount." / 100));");
$Table = $DB->to_array();
@ -46,7 +46,7 @@ private static function table_query($TableName) {
$Query = "
SELECT Uploaded
FROM users_main
WHERE Enabled='1'
WHERE Enabled = '1'
AND Uploaded > 0
ORDER BY Uploaded;";
break;
@ -54,7 +54,7 @@ private static function table_query($TableName) {
$Query = "
SELECT Downloaded
FROM users_main
WHERE Enabled='1'
WHERE Enabled = '1'
AND Downloaded > 0
ORDER BY Downloaded;";
break;
@ -62,8 +62,8 @@ private static function table_query($TableName) {
$Query = "
SELECT COUNT(t.ID) AS Uploads
FROM users_main AS um
JOIN torrents AS t ON t.UserID=um.ID
WHERE um.Enabled='1'
JOIN torrents AS t ON t.UserID = um.ID
WHERE um.Enabled = '1'
GROUP BY um.ID
ORDER BY Uploads;";
break;
@ -71,8 +71,8 @@ private static function table_query($TableName) {
$Query = "
SELECT COUNT(r.ID) AS Requests
FROM users_main AS um
JOIN requests AS r ON r.FillerID=um.ID
WHERE um.Enabled='1'
JOIN requests AS r ON r.FillerID = um.ID
WHERE um.Enabled = '1'
GROUP BY um.ID
ORDER BY Requests;";
break;
@ -80,8 +80,8 @@ private static function table_query($TableName) {
$Query = "
SELECT COUNT(p.ID) AS Posts
FROM users_main AS um
JOIN forums_posts AS p ON p.AuthorID=um.ID
WHERE um.Enabled='1'
JOIN forums_posts AS p ON p.AuthorID = um.ID
WHERE um.Enabled = '1'
GROUP BY um.ID
ORDER BY Posts;";
break;
@ -89,17 +89,16 @@ private static function table_query($TableName) {
$Query = "
SELECT SUM(rv.Bounty) AS Bounty
FROM users_main AS um
JOIN requests_votes AS rv ON rv.UserID=um.ID
WHERE um.Enabled='1'
GROUP BY um.ID
JOIN requests_votes AS rv ON rv.UserID = um.ID
WHERE um.Enabled = '1' " .
"GROUP BY um.ID
ORDER BY Bounty;";
break;
case 'artists':
$Query = "
SELECT COUNT(ta.ArtistID) AS Artists
FROM torrents_artists AS ta
JOIN torrents_group AS tg ON tg.ID=ta.GroupID
JOIN torrents_group AS tg ON tg.ID = ta.GroupID
JOIN torrents AS t ON t.GroupID = tg.ID
WHERE t.UserID != ta.UserID
GROUP BY tg.ID
@ -118,13 +117,13 @@ public static function get_rank($TableName, $Value) {
$Table = $Cache->get_value(PREFIX.$TableName);
if (!$Table) {
//Cache lock!
$Lock = $Cache->get_value(PREFIX.$TableName."_lock");
$Lock = $Cache->get_value(PREFIX.$TableName.'_lock');
if ($Lock) {
return false;
} 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));
$Cache->delete_value(PREFIX.$TableName."_lock");
$Cache->delete_value(PREFIX.$TableName.'_lock');
}
}
$LastPercentile = 0;

View File

@ -46,7 +46,7 @@ public static function get_classes() {
*/
public static function user_info($UserID) {
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
if (empty($UserInfo) || empty($UserInfo['ID']) || !isset($UserInfo['Paranoia']) || empty($UserInfo['Class'])) {
$OldQueryID = $DB->get_query_id();
@ -67,12 +67,23 @@ public static function user_info($UserID) {
m.Visible,
GROUP_CONCAT(ul.PermissionID SEPARATOR ',') AS Levels
FROM users_main AS m
INNER JOIN users_info AS i ON i.UserID=m.ID
INNER JOIN users_info AS i ON i.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");
if ($DB->record_count() == 0) { // 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');
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');
} else {
$UserInfo = $DB->next_record(MYSQLI_ASSOC, array('Paranoia', 'Title'));
@ -98,12 +109,12 @@ public static function user_info($UserID) {
}
$UserInfo['EffectiveClass'] = $EffectiveClass;
$Cache->cache_value('user_info_'.$UserID, $UserInfo, 2592000);
$Cache->cache_value("user_info_$UserID", $UserInfo, 2592000);
$DB->set_query_id($OldQueryID);
}
if (strtotime($UserInfo['Warned']) < time()) {
$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;
@ -120,7 +131,7 @@ public static function user_info($UserID) {
public static function user_heavy_info($UserID) {
global $DB, $Cache;
$HeavyInfo = $Cache->get_value('user_info_heavy_'.$UserID);
$HeavyInfo = $Cache->get_value("user_info_heavy_$UserID");
if (empty($HeavyInfo)) {
$DB->query("
@ -153,8 +164,8 @@ public static function user_heavy_info($UserID) {
m.FLTokens,
m.PermissionID
FROM users_main AS m
INNER JOIN users_info AS i ON i.UserID=m.ID
WHERE m.ID='$UserID'");
INNER JOIN users_info AS i ON i.UserID = m.ID
WHERE m.ID = '$UserID'");
$HeavyInfo = $DB->next_record(MYSQLI_ASSOC, array('CustomPermissions', 'SiteOptions'));
if (!empty($HeavyInfo['CustomPermissions'])) {
@ -214,7 +225,7 @@ public static function user_heavy_info($UserID) {
}
unset($HeavyInfo['SiteOptions']);
$Cache->cache_value('user_info_heavy_'.$UserID, $HeavyInfo, 0);
$Cache->cache_value("user_info_heavy_$UserID", $HeavyInfo, 0);
}
return $HeavyInfo;
}
@ -257,7 +268,7 @@ public static function update_site_options($UserID, $NewOptions) {
WHERE UserID = $UserID");
// 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
if ($LoggedUser['ID'] == $UserID) {
@ -302,7 +313,7 @@ public static function release_order(&$SiteOptions, $Default = false) {
$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
// on user.php?action=edit
@ -530,17 +541,17 @@ public static function get_bookmarks ($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;
} else {
$DB->query("
SELECT GroupID, Sort, `Time`
FROM bookmarks_torrents
WHERE UserID=$UserID
WHERE UserID = $UserID
ORDER BY Sort, `Time` ASC");
$GroupIDs = $DB->collect('GroupID');
$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);
}
@ -559,7 +570,7 @@ public static function get_bookmarks ($UserID)
* @param string $ReturnHTML
* @return string
*/
public static function show_avatar($Avatar, $Username, $Setting, $Size=150, $ReturnHTML = True) {
public static function show_avatar($Avatar, $Username, $Setting, $Size = 150, $ReturnHTML = True) {
global $LoggedUser;
$Avatar = ImageTools::process($Avatar);
// case 1 is avatars disabled

View File

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

View File

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

View File

@ -1,5 +1,11 @@
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
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
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.
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
After you've installed sphinx, create the indices:
@ -14,17 +18,17 @@ INSTALLATION NOTES
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
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.
These are our cron jobs:
so peerupdate is a script to update them), and the two Sphinx indices.
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
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
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 .
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"
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:
"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.
8. Start modifying stuff. Hopefully, everything will have gone smoothly so far and nothing will have exploded (ha ha ha)

View File

@ -12,16 +12,19 @@
FROM news
ORDER BY Time DESC
LIMIT 5");
$News = $DB->to_array(false,MYSQLI_NUM,false);
$Cache->cache_value('news',$News,3600 * 24 * 30);
$News = $DB->to_array(false, MYSQLI_NUM, false);
$Cache->cache_value('news', $News, 3600 * 24 * 30);
$Cache->cache_value('news_latest_id', $News[0][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->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];
}
@ -35,11 +38,11 @@
b.Time,
b.ThreadID
FROM blog AS b
LEFT JOIN users_main AS um ON b.UserID=um.ID
LEFT JOIN users_main AS um ON b.UserID = um.ID
ORDER BY Time DESC
LIMIT 20");
$Blog = $DB->to_array();
$Cache->cache_value('blog',$Blog,1209600);
$Cache->cache_value('blog', $Blog, 1209600);
}
$JsonBlog = array();
for ($i = 0; $i < 5; $i++) {
@ -57,7 +60,7 @@
$JsonAnnouncements = array();
$Count = 0;
foreach ($News as $NewsItem) {
list($NewsID,$Title,$Body,$NewsTime) = $NewsItem;
list($NewsID, $Title, $Body, $NewsTime) = $NewsItem;
if (strtotime($NewsTime) > time()) {
continue;
}

View File

@ -23,7 +23,10 @@ function compare($X, $Y) {
if (empty($ArtistID)) {
if (!empty($_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))) {
json_die("failure");
}
@ -32,13 +35,13 @@ function compare($X, $Y) {
}
if (!empty($_GET['revisionid'])) { // if they're viewing an old revision
$RevisionID=$_GET['revisionid'];
$RevisionID = $_GET['revisionid'];
if (!is_number($RevisionID)) {
error(0);
}
$Data = $Cache->get_value("artist_$ArtistID"."_revision_$RevisionID");
} else { // viewing the live version
$Data = $Cache->get_value('artist_'.$ArtistID);
$Data = $Cache->get_value("artist_$ArtistID");
$RevisionID = false;
}
if ($Data) {
@ -52,8 +55,8 @@ function compare($X, $Y) {
wiki.body,
a.VanityHouse
FROM wiki_artists AS wiki
LEFT JOIN artists_group AS a ON wiki.RevisionID=a.RevisionID
WHERE wiki.RevisionID='$RevisionID' ";
LEFT JOIN artists_group AS a ON wiki.RevisionID = a.RevisionID
WHERE wiki.RevisionID = '$RevisionID' ";
} else {
$sql = "
SELECT
@ -62,13 +65,13 @@ function compare($X, $Y) {
wiki.body,
a.VanityHouse
FROM artists_group AS a
LEFT JOIN wiki_artists AS wiki ON wiki.RevisionID=a.RevisionID
WHERE a.ArtistID='$ArtistID' ";
LEFT JOIN wiki_artists AS wiki ON wiki.RevisionID = a.RevisionID
WHERE a.ArtistID = '$ArtistID' ";
}
$sql .= " GROUP BY a.ArtistID";
$DB->query($sql);
if ($DB->record_count() == 0) {
if (!$DB->has_results()) {
json_die("failure");
}
@ -76,7 +79,7 @@ function compare($X, $Y) {
}
// Requests
$Requests = $Cache->get_value('artists_requests_'.$ArtistID);
$Requests = $Cache->get_value("artists_requests_$ArtistID");
if (!is_array($Requests)) {
$DB->query("
SELECT
@ -88,33 +91,33 @@ function compare($X, $Y) {
COUNT(rv.UserID) AS Votes,
SUM(rv.Bounty) AS Bounty
FROM requests AS r
LEFT JOIN requests_votes AS rv ON rv.RequestID=r.ID
LEFT JOIN requests_artists AS ra ON r.ID=ra.RequestID
WHERE ra.ArtistID = ".$ArtistID."
LEFT JOIN requests_votes AS rv ON rv.RequestID = r.ID
LEFT JOIN requests_artists AS ra ON r.ID = ra.RequestID
WHERE ra.ArtistID = $ArtistID
AND r.TorrentID = 0
GROUP BY r.ID
ORDER BY Votes DESC");
if ($DB->record_count() > 0) {
if ($DB->has_results()) {
$Requests = $DB->to_array();
} else {
$Requests = array();
}
$Cache->cache_value('artists_requests_'.$ArtistID, $Requests);
$Cache->cache_value("artists_requests_$ArtistID", $Requests);
}
$NumRequests = count($Requests);
if (($Importances = $Cache->get_value('artist_groups_'.$ArtistID)) === false) {
if (($Importances = $Cache->get_value("artist_groups_$ArtistID")) === false) {
$DB->query("
SELECT
DISTINCTROW ta.GroupID, ta.Importance, tg.VanityHouse, tg.Year
FROM torrents_artists AS ta
JOIN torrents_group AS tg ON tg.ID=ta.GroupID
WHERE ta.ArtistID='$ArtistID'
JOIN torrents_group AS tg ON tg.ID = ta.GroupID
WHERE ta.ArtistID = '$ArtistID'
ORDER BY tg.Year DESC, tg.Name DESC");
$GroupIDs = $DB->collect('GroupID');
$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 {
$GroupIDs = array();
foreach ($Importances as $Group) {
@ -122,7 +125,7 @@ function compare($X, $Y) {
}
}
if (count($GroupIDs) > 0) {
$TorrentList = Torrents::get_groups($GroupIDs, true,true);
$TorrentList = Torrents::get_groups($GroupIDs, true, true);
$TorrentList = $TorrentList['matches'];
} else {
$TorrentList = array();
@ -182,7 +185,6 @@ function compare($X, $Y) {
foreach ($ArtistGroup as &$Artist) {
$Artist['id'] = (int) $Artist['id'];
$Artist['aliasid'] = (int) $Artist['aliasid'];
}
}
@ -193,12 +195,12 @@ function compare($X, $Y) {
$GroupVanityHouse = $Importances[$GroupID]['VanityHouse'];
$TagList = explode(' ',str_replace('_','.',$TagList));
$TagList = explode(' ',str_replace('_', '.', $TagList));
// $Tags array is for the sidebar on the right
foreach ($TagList as $Tag) {
if (!isset($Tags[$Tag])) {
$Tags[$Tag] = array('name'=>$Tag, 'count'=>1);
$Tags[$Tag] = array('name' => $Tag, 'count' => 1);
} else {
$Tags[$Tag]['count']++;
}
@ -262,10 +264,10 @@ function compare($X, $Y) {
ass.Score,
ass.SimilarID
FROM artists_similar AS s1
JOIN artists_similar AS s2 ON s1.SimilarID=s2.SimilarID AND s1.ArtistID!=s2.ArtistID
JOIN artists_similar_scores AS ass ON ass.SimilarID=s1.SimilarID
JOIN artists_group AS a ON a.ArtistID=s2.ArtistID
WHERE s1.ArtistID='$ArtistID'
JOIN artists_similar AS s2 ON s1.SimilarID = s2.SimilarID AND s1.ArtistID != s2.ArtistID
JOIN artists_similar_scores AS ass ON ass.SimilarID = s1.SimilarID
JOIN artists_group AS a ON a.ArtistID = s2.ArtistID
WHERE s1.ArtistID = '$ArtistID'
ORDER BY ass.Score DESC
LIMIT 30
");
@ -309,11 +311,16 @@ function compare($X, $Y) {
$notificationsEnabled = false;
if (check_perms('site_torrents_notify')) {
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);
$Cache->cache_value('notify_artists_'.$LoggedUser['ID'], $Notify, 0);
}
if (stripos($Notify['Artists'], '|'.$Name.'|') === false) {
if (stripos($Notify['Artists'], "|$Name|") === false) {
$notificationsEnabled = false;
} else {
$notificationsEnabled = true;
@ -325,7 +332,7 @@ function compare($X, $Y) {
if ($RevisionID) {
$Key = "artist_$ArtistID"."_revision_$RevisionID";
} else {
$Key = 'artist_'.$ArtistID;
$Key = "artist_$ArtistID";
}
$Data = array(array($Name, $Image, $Body, $NumSimilar, $SimilarArray, array(), array(), $VanityHouseArtist));

View File

@ -1,11 +1,9 @@
<?
include(SERVER_ROOT.'/sections/torrents/functions.php');
// The "order by x" links on columns headers
function header_link($SortKey,$DefaultWay = 'desc') {
function header_link($SortKey, $DefaultWay = 'desc') {
global $OrderBy,$OrderWay;
if ($SortKey == $OrderBy) {
if ($OrderWay == 'desc') {
@ -17,48 +15,60 @@ function header_link($SortKey,$DefaultWay = 'desc') {
$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 **/
// Setting default search options
if (!empty($_GET['setdefault'])) {
$UnsetList = array('page','setdefault');
$UnsetRegexp = '/(&|^)('.implode('|',$UnsetList).')=.*?(&|$)/i';
$UnsetList = array('page', 'setdefault');
$UnsetRegexp = '/(&|^)('.implode('|', $UnsetList).')=.*?(&|$)/i';
$DB->query("SELECT SiteOptions FROM users_info WHERE UserID='".db_string($LoggedUser['ID'])."'");
list($SiteOptions)=$DB->next_record(MYSQLI_NUM, false);
$DB->query("
SELECT SiteOptions
FROM users_info
WHERE UserID = '".db_string($LoggedUser['ID'])."'");
list($SiteOptions) = $DB->next_record(MYSQLI_NUM, false);
if (!empty($SiteOptions)) {
$SiteOptions = unserialize($SiteOptions);
} else {
$SiteOptions = array();
}
$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'])."'");
$Cache->begin_transaction('user_info_heavy_'.$UserID);
$Cache->update_row(false, array('DefaultSearch'=>$SiteOptions['DefaultSearch']));
$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'])."'");
$Cache->begin_transaction("user_info_heavy_$UserID");
$Cache->update_row(false, array('DefaultSearch' => $SiteOptions['DefaultSearch']));
$Cache->commit_transaction(0);
// Clearing default search options
} elseif (!empty($_GET['cleardefault'])) {
$DB->query("SELECT SiteOptions FROM users_info WHERE UserID='".db_string($LoggedUser['ID'])."'");
list($SiteOptions)=$DB->next_record(MYSQLI_NUM, false);
$SiteOptions=unserialize($SiteOptions);
$DB->query("
SELECT SiteOptions
FROM users_info
WHERE UserID = '".db_string($LoggedUser['ID'])."'");
list($SiteOptions) = $DB->next_record(MYSQLI_NUM, false);
$SiteOptions = unserialize($SiteOptions);
$SiteOptions['DefaultSearch']='';
$DB->query("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'=>''));
$DB->query("
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->commit_transaction(0);
// 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($_GET['page'])) {
$Page = $_GET['page'];
parse_str($LoggedUser['DefaultSearch'],$_GET);
parse_str($LoggedUser['DefaultSearch'], $_GET);
$_GET['page'] = $Page;
} else {
parse_str($LoggedUser['DefaultSearch'],$_GET);
parse_str($LoggedUser['DefaultSearch'], $_GET);
}
}
}
@ -113,9 +123,9 @@ function header_link($SortKey,$DefaultWay = 'desc') {
/** Start preparation of property arrays **/
array_pop($Bitrates); // remove 'other'
$SearchBitrates = array_merge($Bitrates, array('v0','v1','v2','24bit'));
$SearchBitrates = array_merge($Bitrates, array('v0', 'v1', 'v2', '24bit'));
foreach ($SearchBitrates as $ID=>$Val) {
foreach ($SearchBitrates as $ID => $Val) {
$SearchBitrates[$ID] = strtolower($Val);
}
foreach ($Formats as $ID => $Val) {
@ -163,7 +173,7 @@ function header_link($SortKey,$DefaultWay = 'desc') {
}
// Collect all entered search terms to find out whether to enable the NOT operator
$GroupFields = array('artistname','groupname', 'recordlabel', 'cataloguenumber', 'taglist');
$GroupFields = array('artistname', 'groupname', 'recordlabel', 'cataloguenumber', 'taglist');
$TorrentFields = array('remastertitle', 'remasteryear', 'remasterrecordlabel', 'remastercataloguenumber', 'encoding', 'format', 'media');
$SearchWords = array();
foreach (array('artistname', 'groupname', 'recordlabel', 'cataloguenumber',
@ -182,7 +192,7 @@ function header_link($SortKey,$DefaultWay = 'desc') {
foreach ($Words as $Word) {
$Word = trim($Word);
if ($Word[0] == '!' && strlen($Word) >= 2) {
if (strpos($Word,'!',1) === false) {
if (strpos($Word, '!', 1) === false) {
$SearchWords[$Search]['exclude'][] = $Word;
} else {
$SearchWords[$Search]['include'][] = $Word;
@ -200,7 +210,7 @@ function header_link($SortKey,$DefaultWay = 'desc') {
//Simple search
if (!empty($_GET['searchstr'])) {
$SearchString = trim($_GET['searchstr']);
$Words = explode(' ',strtolower($SearchString));
$Words = explode(' ', strtolower($SearchString));
if (!empty($Words)) {
$FilterBitrates = $FilterFormats = array();
$BasicSearch = array('include' => array(), 'exclude' => array());
@ -209,7 +219,7 @@ function header_link($SortKey,$DefaultWay = 'desc') {
if ($Word[0] == '!' && strlen($Word) >= 2) {
if ($Word == '!100%') {
$_GET['haslog'] = '-1';
} elseif (strpos($Word,'!',1) === false) {
} elseif (strpos($Word, '!', 1) === false) {
$BasicSearch['exclude'][] = $Word;
} else {
$BasicSearch['include'][] = $Word;
@ -238,7 +248,7 @@ function header_link($SortKey,$DefaultWay = 'desc') {
}
if (!empty($BasicSearch['exclude'])) {
foreach ($BasicSearch['exclude'] as $Word) {
$QueryParts[] = '!'.Sphinxql::escape_string(substr($Word,1));
$QueryParts[] = '!'.Sphinxql::escape_string(substr($Word, 1));
}
}
if (!empty($FilterBitrates)) {
@ -274,7 +284,7 @@ function header_link($SortKey,$DefaultWay = 'desc') {
}
if (!empty($Tags['exclude'])) {
foreach ($Tags['exclude'] as &$Tag) {
$Tag = '!'.Sphinxql::escape_string(substr($Tag,1));
$Tag = '!'.Sphinxql::escape_string(substr($Tag, 1));
}
}
@ -316,7 +326,7 @@ function header_link($SortKey,$DefaultWay = 'desc') {
}
if (!empty($Words['exclude'])) {
foreach ($Words['exclude'] as $Word) {
$QueryParts[] = '!'.Sphinxql::escape_string(substr($Word,1));
$QueryParts[] = '!'.Sphinxql::escape_string(substr($Word, 1));
}
}
if (!empty($QueryParts)) {
@ -330,7 +340,7 @@ function header_link($SortKey,$DefaultWay = 'desc') {
if (!empty($_GET['year'])) {
$Years = explode('-', $_GET['year']);
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]);
$SphQLTor->where('year', (int)$Years[0]);
} else {
@ -346,7 +356,7 @@ function header_link($SortKey,$DefaultWay = 'desc') {
}
}
if (isset($_GET['haslog']) && $_GET['haslog']!=='') {
if (isset($_GET['haslog']) && $_GET['haslog'] !== '') {
if ($_GET['haslog'] == 100) {
$SphQL->where('logscore', 100);
$SphQLTor->where('logscore', 100);
@ -367,7 +377,7 @@ function header_link($SortKey,$DefaultWay = 'desc') {
$Filtered = true;
}
}
foreach (array('hascue','scene','vanityhouse','releasetype') as $Search) {
foreach (array('hascue', 'scene', 'vanityhouse', 'releasetype') as $Search) {
if (isset($_GET[$Search]) && $_GET[$Search] !== '') {
$SphQL->where($Search, $_GET[$Search]);
// Release type is group specific
@ -420,7 +430,7 @@ function header_link($SortKey,$DefaultWay = 'desc') {
if (isset($Random) && $GroupResults) {
// ORDER BY RAND() can't be used together with GROUP BY, so we need some special tactics
$Page = 1;
$SphQL->limit(0, 5*TORRENTS_PER_PAGE, 5*TORRENTS_PER_PAGE);
$SphQL->limit(0, 5 * TORRENTS_PER_PAGE, 5 * TORRENTS_PER_PAGE);
$SphQLResult = $SphQL->query();
$TotalCount = $SphQLResult->get_meta('total_found');
$Results = $SphQLResult->to_array('groupid');
@ -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));
$SphQLResultTor = $SphQLTor->query();
$TorrentIDs = array_fill_keys($SphQLResultTor->collect('id'), true);
@ -492,14 +502,15 @@ function header_link($SortKey,$DefaultWay = 'desc') {
if ($TorrentCount == 0) {
$DB->query("SELECT
tags.Name,
((COUNT(tags.Name)-2)*(SUM(tt.PositiveVotes)-SUM(tt.NegativeVotes)))/(tags.Uses*0.8) AS Score
$DB->query("
SELECT
tags.Name,
((COUNT(tags.Name) - 2) * (SUM(tt.PositiveVotes) - SUM(tt.NegativeVotes))) / (tags.Uses * 0.8) AS Score
FROM xbt_snatched AS s
INNER JOIN torrents AS t ON t.ID=s.fid
INNER JOIN torrents_group AS g ON t.GroupID=g.ID
INNER JOIN torrents_tags AS tt ON tt.GroupID=g.ID
INNER JOIN tags ON tags.ID=tt.TagID
INNER JOIN torrents AS t ON t.ID = s.fid
INNER JOIN torrents_group AS g ON t.GroupID = g.ID
INNER JOIN torrents_tags AS tt ON tt.GroupID = g.ID
INNER JOIN tags ON tags.ID = tt.TagID
WHERE s.uid = '$LoggedUser[ID]'
AND tt.TagID != '13679'
AND tt.TagID != '4820'
@ -553,7 +564,7 @@ function header_link($SortKey,$DefaultWay = 'desc') {
$Torrents = array($Result['id'] => $GroupInfo['Torrents'][$Result['id']]);
}
$TagList = explode(' ',str_replace('_','.',$GroupInfo['TagList']));
$TagList = explode(' ', str_replace('_', '.', $GroupInfo['TagList']));
$JsonArtists = array();
if (!empty($ExtendedArtists[1]) || !empty($ExtendedArtists[4]) || !empty($ExtendedArtists[5]) || !empty($ExtendedArtists[6])) {
unset($ExtendedArtists[2]);
@ -578,7 +589,7 @@ function header_link($SortKey,$DefaultWay = 'desc') {
} else {
$DisplayName = '';
}
if ($GroupResults && (count($Torrents) > 1 || isset($GroupedCategories[$CategoryID-1]))) {
if ($GroupResults && (count($Torrents) > 1 || isset($GroupedCategories[$CategoryID - 1]))) {
// These torrents are in a group
$LastRemasterYear = '-';
$LastRemasterTitle = '';
@ -602,7 +613,7 @@ function header_link($SortKey,$DefaultWay = 'desc') {
$FirstUnknown = !isset($FirstUnknown);
}
if (isset($GroupedCategories[$CategoryID-1])
if (isset($GroupedCategories[$CategoryID - 1])
&& ($Data['RemasterTitle'] != $LastRemasterTitle
|| $Data['RemasterYear'] != $LastRemasterYear
|| $Data['RemasterRecordLabel'] != $LastRemasterRecordLabel
@ -614,19 +625,34 @@ function header_link($SortKey,$DefaultWay = 'desc') {
if ($Data['Remastered'] && $Data['RemasterYear'] != 0) {
$RemasterName = $Data['RemasterYear'];
$AddExtra = " - ";
if ($Data['RemasterRecordLabel']) { $RemasterName .= $AddExtra.display_str($Data['RemasterRecordLabel']); $AddExtra=' / '; }
if ($Data['RemasterCatalogueNumber']) { $RemasterName .= $AddExtra.display_str($Data['RemasterCatalogueNumber']); $AddExtra=' / '; }
if ($Data['RemasterTitle']) { $RemasterName .= $AddExtra.display_str($Data['RemasterTitle']); $AddExtra=' / '; }
$AddExtra = ' - ';
if ($Data['RemasterRecordLabel']) {
$RemasterName .= $AddExtra.display_str($Data['RemasterRecordLabel']);
$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']);
} else {
$AddExtra = " / ";
$AddExtra = ' / ';
if (!$Data['Remastered']) {
$MasterName = "Original Release";
if ($GroupRecordLabel) { $MasterName .= $AddExtra.$GroupRecordLabel; $AddExtra=' / '; }
if ($GroupCatalogueNumber) { $MasterName .= $AddExtra.$GroupCatalogueNumber; $AddExtra=' / '; }
$MasterName = 'Original Release';
if ($GroupRecordLabel) {
$MasterName .= $AddExtra.$GroupRecordLabel;
$AddExtra = ' / ';
}
if ($GroupCatalogueNumber) {
$MasterName .= $AddExtra.$GroupCatalogueNumber;
$AddExtra = ' / ';
}
} else {
$MasterName = "Unknown Release(s)";
$MasterName = 'Unknown Release(s)';
}
$MasterName .= $AddExtra.display_str($Data['Media']);
}
@ -694,7 +720,7 @@ function header_link($SortKey,$DefaultWay = 'desc') {
'groupName' => $GroupName,
'torrentId' => (int) $TorrentID,
'tags' => $TagList,
'category' => $Categories[$CategoryID-1],
'category' => $Categories[$CategoryID - 1],
'fileCount' => (int) $Data['FileCount'],
'groupTime' => (string) strtotime($Data['Time']),
'size' => (int) $Data['Size'],

View File

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

View File

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

View File

@ -23,11 +23,11 @@ function check_paranoia_here($Setting) {
if (check_paranoia_here('seeding+') || check_paranoia_here('leeching+')) {
$DB->query("
SELECT IF(remaining=0,'Seeding','Leeching') AS Type, COUNT(x.uid)
SELECT IF(remaining = 0, 'Seeding', 'Leeching') AS Type, COUNT(x.uid)
FROM xbt_files_users AS x
INNER JOIN torrents AS t ON t.ID=x.fid
WHERE x.uid='$UserID'
AND x.active=1
INNER JOIN torrents AS t ON t.ID = x.fid
WHERE x.uid = '$UserID'
AND x.active = 1
GROUP BY Type");
$PeerCount = $DB->to_array(0, MYSQLI_NUM, false);
if (check_paranoia('seeding+')) {
@ -42,7 +42,7 @@ function check_paranoia_here($Setting) {
$DB->query("
SELECT COUNT(x.uid), COUNT(DISTINCT x.fid)
FROM xbt_snatched AS x
INNER JOIN torrents AS t ON t.ID=x.fid
INNER JOIN torrents AS t ON t.ID = x.fid
WHERE x.uid = '$UserID'");
list($Snatched, $UniqueSnatched) = $DB->next_record(MYSQLI_NUM, false);
$CommStats['snatched'] = number_format($Snatched);
@ -57,8 +57,8 @@ function check_paranoia_here($Setting) {
$DB->query("
SELECT COUNT(ud.UserID), COUNT(DISTINCT ud.TorrentID)
FROM users_downloads AS ud
JOIN torrents AS t ON t.ID=ud.TorrentID
WHERE ud.UserID='$UserID'");
JOIN torrents AS t ON t.ID = ud.TorrentID
WHERE ud.UserID = '$UserID'");
list($NumDownloads, $UniqueDownloads) = $DB->next_record(MYSQLI_NUM, false);
$CommStats['downloaded'] = number_format($NumDownloads);
$CommStats['udownloaded'] = number_format($UniqueDownloads);

View File

@ -89,7 +89,7 @@
$Pages = Format::get_pages($Page, $Forums[$ForumID]['NumTopics'], TOPICS_PER_PAGE, 9);
if (count($Forum) == 0) {
if (count($Forum) === 0) {
print
json_encode(
array(
@ -100,18 +100,18 @@
);
} else {
// 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
l.TopicID,
l.PostID,
CEIL(( SELECT COUNT(ID)
FROM forums_posts
WHERE forums_posts.TopicID = l.TopicID
AND forums_posts.ID <= l.PostID) / '.$PerPage.'
AND forums_posts.ID <= l.PostID) / $PerPage
) AS Page
FROM forums_last_read_topics AS l
WHERE TopicID IN('.implode(', ', array_keys($Forum)).')
AND UserID=\''.$LoggedUser['ID'].'\'');
WHERE TopicID IN(".implode(', ', array_keys($Forum)).')
AND UserID = \''.$LoggedUser['ID'].'\'');
// Turns the result set into a multi-dimensional array, with
// forums_last_read_topics.TopicID as the key.

View File

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

View File

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

View File

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

View File

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

View File

@ -110,7 +110,7 @@
if (!empty($_GET['filter_cat'])) {
$CategoryArray = array_keys($_GET['filter_cat']);
if (count($CategoryArray) != count($Categories)) {
if (count($CategoryArray) !== count($Categories)) {
foreach ($CategoryArray as $Key => $Index) {
if (!isset($Categories[$Index - 1])) {
unset($CategoryArray[$Key]);
@ -124,7 +124,7 @@
if (!empty($_GET['releases'])) {
$ReleaseArray = $_GET['releases'];
if (count($ReleaseArray) != count($ReleaseTypes)) {
if (count($ReleaseArray) !== count($ReleaseTypes)) {
foreach ($ReleaseArray as $Index => $Value) {
if (!isset($ReleaseTypes[$Value])) {
unset($ReleaseArray[$Index]);
@ -139,7 +139,7 @@
if (!empty($_GET['formats'])) {
$FormatArray = $_GET['formats'];
if (count($FormatArray) != count($Formats)) {
if (count($FormatArray) !== count($Formats)) {
$FormatNameArray = array();
foreach ($FormatArray as $Index => $MasterIndex) {
if (isset($Formats[$MasterIndex])) {
@ -155,7 +155,7 @@
if (!empty($_GET['media'])) {
$MediaArray = $_GET['media'];
if (count($MediaArray) != count($Media)) {
if (count($MediaArray) !== count($Media)) {
$MediaNameArray = array();
foreach ($MediaArray as $Index => $MasterIndex) {
if (isset($Media[$MasterIndex])) {
@ -171,7 +171,7 @@
if (!empty($_GET['bitrates'])) {
$BitrateArray = $_GET['bitrates'];
if (count($BitrateArray) != count($Bitrates)) {
if (count($BitrateArray) !== count($Bitrates)) {
$BitrateNameArray = array();
foreach ($BitrateArray as $Index => $MasterIndex) {
if (isset($Bitrates[$MasterIndex])) {
@ -230,25 +230,25 @@
}
switch ($CurrentOrder) {
case 'votes' :
case 'votes':
$OrderBy = 'Votes';
break;
case 'bounty' :
case 'bounty':
$OrderBy = 'Bounty';
break;
case 'created' :
case 'created':
$OrderBy = 'TimeAdded';
break;
case 'lastvote' :
case 'lastvote':
$OrderBy = 'LastVote';
break;
case 'filled' :
case 'filled':
$OrderBy = 'TimeFilled';
break;
case 'year' :
case 'year':
$OrderBy = 'Year';
break;
default :
default:
$OrderBy = 'TimeAdded';
break;
}
@ -256,7 +256,7 @@
$SS->SetSortMode($Way, $OrderBy);
if (count($Queries) > 0) {
$Query = implode(' ',$Queries);
$Query = implode(' ', $Queries);
} else {
$Query = '';
}

View File

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

View File

@ -50,7 +50,7 @@
WHERE m.ID = $UserID
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");
}
@ -83,7 +83,7 @@ function check_paranoia_here($Setting) {
FROM friends
WHERE UserID = '$LoggedUser[ID]'
AND FriendID = '$UserID'");
if ($DB->record_count() != 0) {
if ($DB->has_results()) {
$Friend = true;
}

View File

@ -32,7 +32,7 @@
SELECT AliasID, ArtistID, Name, Redirect
FROM artists_alias
WHERE Name = '".$DBAliasName."'");
if ($DB->record_count()) {
if ($DB->has_results()) {
while (list($CloneAliasID, $CloneArtistID, $CloneAliasName, $CloneRedirect) = $DB->next_record(MYSQLI_NUM, false)) {
if (!strcasecmp($CloneAliasName, $AliasName)) {
break;
@ -57,7 +57,7 @@
if (!$CloneAliasID) {
if ($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.');
}
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'");
if ($DB->record_count() == 0) {
if (!$DB->has_results()) {
$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";
$DB->query($sql);
if ($DB->record_count() == 0) {
if (!$DB->has_results()) {
error(404);
}
@ -93,7 +93,7 @@ function compare($X, $Y) {
GROUP BY r.ID
ORDER BY Votes DESC");
if ($DB->record_count() > 0) {
if ($DB->has_results()) {
$Requests = $DB->to_array();
} else {
$Requests = array();
@ -553,10 +553,10 @@ function compare($X, $Y) {
if (check_perms('zip_downloader')) {
if (isset($LoggedUser['Collector'])) {
list($ZIPList,$ZIPPrefs) = $LoggedUser['Collector'];
$ZIPList = explode(':',$ZIPList);
list($ZIPList, $ZIPPrefs) = $LoggedUser['Collector'];
$ZIPList = explode(':', $ZIPList);
} else {
$ZIPList = array('00','11');
$ZIPList = array('00', '11');
$ZIPPrefs = 1;
}
?>
@ -572,7 +572,7 @@ function compare($X, $Y) {
<li id="list<?=$ListItem?>">
<input type="hidden" name="list[]" value="<?=$ListItem?>" />
<span style="float: left;"><?=$ZIPOptions[$ListItem]['2']?></span>
<span class="remove remove_collector"><a href="#" onclick="remove_selection('<?=$ListItem?>');return false;" style="float: right;" class="brackets" title="Remove format from the Collector">X</a></span>
<span class="remove remove_collector"><a href="#" onclick="remove_selection('<?=$ListItem?>'); return false;" style="float: right;" class="brackets" title="Remove format from the Collector">X</a></span>
<br style="clear: all;" />
</li>
<? } ?>
@ -583,7 +583,7 @@ function compare($X, $Y) {
$LastGroupID = -1;
foreach ($ZIPOptions as $Option) {
list($GroupID,$OptionID,$OptName) = $Option;
list($GroupID, $OptionID, $OptName) = $Option;
if ($GroupID != $LastGroupID) {
$LastGroupID = $GroupID;

View File

@ -20,16 +20,19 @@
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();
$DB->query('
$DB->query("
SELECT tg.Name, tg.ID
FROM torrents_group AS tg
LEFT JOIN torrents_artists AS ta ON ta.GroupID=tg.ID
WHERE ta.ArtistID='.$ArtistID);
LEFT JOIN torrents_artists AS ta ON ta.GroupID = tg.ID
WHERE ta.ArtistID = $ArtistID");
$Count = $DB->record_count();
if ($DB->record_count() > 0) {
if ($DB->has_results()) {
?>
<div class="thin">
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
FROM requests AS r
LEFT JOIN requests_artists AS ra ON ra.RequestID=r.ID
WHERE ra.ArtistID='.$ArtistID);
LEFT JOIN requests_artists AS ra ON ra.RequestID = r.ID
WHERE ra.ArtistID = $ArtistID");
$Count += $DB->record_count();
if ($DB->record_count() > 0) {
if ($DB->has_results()) {
?>
<div class="thin">
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
WHERE aa.AliasID=".$AliasID);
if ($DB->record_count() == 1) {
if ($DB->record_count() === 1) {
//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.");
}
@ -25,7 +25,7 @@
SELECT GroupID
FROM torrents_artists
WHERE AliasID='$AliasID'");
if ($DB->record_count() > 0) {
if ($DB->has_results()) {
list($GroupID) = $DB->next_record();
if ($GroupID != 0) {
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();
$SimilarID = db_string($_GET['similarid']);
@ -8,16 +8,25 @@
if (!check_perms('site_delete_tag')) {
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();
$DB->query("DELETE FROM artists_similar WHERE SimilarID='$SimilarID'");
$DB->query("DELETE FROM artists_similar_scores WHERE SimilarID='$SimilarID'");
$DB->query("DELETE FROM artists_similar_votes WHERE SimilarID='$SimilarID'");
$DB->query("
DELETE FROM artists_similar
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) {
list($ArtistID) = $ArtistID;
$Cache->delete_value('artist_'.$ArtistID); // Delete artist cache
$Cache->delete_value('similar_positions_'.$ArtistID);
$Cache->delete_value("artist_$ArtistID"); // Delete artist cache
$Cache->delete_value("similar_positions_$ArtistID");
}
header('Location: '.$_SERVER['HTTP_REFERER']);
?>

View File

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

View File

@ -26,7 +26,7 @@
LEFT JOIN wiki_artists ON wiki_artists.RevisionID = a.RevisionID
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>.");
}

View File

@ -52,20 +52,22 @@
$DB->query("
SELECT
CEIL((
SELECT COUNT(ID)+1
SELECT COUNT(ID) + 1
FROM artist_comments AS ac
WHERE ac.ArtistID='" . db_string($ArtistID) . "'
)/" . TORRENT_COMMENTS_PER_PAGE . "
WHERE ac.ArtistID = '" . db_string($ArtistID) . "'
) / " . TORRENT_COMMENTS_PER_PAGE . "
) AS Pages");
list($Pages) = $DB->next_record();
$DB->query("
INSERT INTO artist_comments (ArtistID,AuthorID,AddedTime,Body)
VALUES ('" . db_string($ArtistID) . "', '" . db_string($LoggedUser['ID']) . "','" . sqltime() . "','" . db_string($_POST['body']) . "')");
INSERT INTO artist_comments
(ArtistID, AuthorID, AddedTime, Body)
VALUES
('" . db_string($ArtistID) . "', '" . db_string($LoggedUser['ID']) . "', '" . sqltime() . "', '" . db_string($_POST['body']) . "')");
$PostID = $DB->inserted_id();
$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(
'ID' => $PostID,
'AuthorID' => $LoggedUser['ID'],
@ -77,9 +79,9 @@
);
$Cache->insert('', $Post);
$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;
case 'warn' :
include(SERVER_ROOT . '/sections/artist/warn.php');
@ -105,7 +107,10 @@
if (!$_GET['post'] || !is_number($_GET['post'])) {
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);
echo trim($Body);
break;
@ -124,35 +129,37 @@
}
// Get topicid, forumid, number of pages
$DB->query("
$DB->query('
SELECT
ArtistID,
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(COUNT(ac.ID) / ' . TORRENT_COMMENTS_PER_PAGE . ') AS Pages,
CEIL(SUM(IF(ac.ID <= ' . $_GET['postid'] . ', 1, 0)) / ' . TORRENT_COMMENTS_PER_PAGE . ') AS Page
FROM artist_comments AS ac
WHERE ac.ArtistID=(
WHERE ac.ArtistID = (
SELECT ArtistID
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();
// $Pages = number of pages in the thread
// $Page = which page the post is on
// 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
$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);
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)
$Cache->delete_value('artist_comments_' . $ArtistID);
$Cache->delete_value("artist_comments_$ArtistID");
break;
@ -175,7 +182,7 @@
ac.ArtistID,
ac.AddedTime
FROM artist_comments AS ac
WHERE ac.ID='" . db_string($_POST['post']) . "'");
WHERE ac.ID = '" . db_string($_POST['post']) . "'");
list($OldBody, $AuthorID, $ArtistID, $AddedTime) = $DB->next_record();
$DB->query("
@ -188,7 +195,7 @@
if ($LoggedUser['ID'] != $AuthorID && !check_perms('site_moderate_forums')) {
error(404);
}
if ($DB->record_count() == 0) {
if (!$DB->has_results()) {
error(404);
}
@ -199,11 +206,11 @@
Body = '" . db_string($_POST['body']) . "',
EditedUserID = '" . db_string($LoggedUser['ID']) . "',
EditedTime = '" . sqltime() . "'
WHERE ID='" . db_string($_POST['post']) . "'");
WHERE ID = '" . db_string($_POST['post']) . "'");
// Update the cache
$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['post'],
@ -217,8 +224,10 @@
$Cache->commit_transaction(0);
$DB->query("
INSERT INTO comments_edits (Page, PostID, EditUser, EditTime, Body)
VALUES ('artist', " . db_string($_POST['post']) . ", " . db_string($LoggedUser['ID']) . ", '" . sqltime() . "', '" . db_string($OldBody) . "')");
INSERT INTO comments_edits
(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
echo $Text->full_format($_POST['body']);
@ -275,7 +284,7 @@
SELECT ArtistID, Name
FROM artists_alias
WHERE Name LIKE '" . db_string($NameSearch) . "'");
if ($DB->record_count() == 0) {
if (!$DB->has_results()) {
if (isset($LoggedUser['SearchType']) && $LoggedUser['SearchType']) {
header('Location: torrents.php?action=advanced&artistname=' . urlencode($_GET['artistname']));
} else {
@ -284,17 +293,17 @@
die();
}
list($FirstID, $Name) = $DB->next_record(MYSQLI_NUM, false);
if ($DB->record_count() == 1 || !strcasecmp($Name, $NameSearch)) {
header('Location: artist.php?id=' . $FirstID);
if ($DB->record_count() === 1 || !strcasecmp($Name, $NameSearch)) {
header("Location: artist.php?id=$FirstID");
die();
}
while (list($ID, $Name) = $DB->next_record(MYSQLI_NUM, false)) {
if (!strcasecmp($Name, $NameSearch)) {
header('Location: artist.php?id=' . $ID);
header("Location: artist.php?id=$ID");
die();
}
}
header('Location: artist.php?id=' . $FirstID);
header("Location: artist.php?id=$FirstID");
die();
} else {
header('Location: torrents.php');

View File

@ -21,31 +21,33 @@
$DB->query("
SELECT ID, Artists
FROM users_notify_filters
WHERE Label='Artist notifications'
AND UserID='$LoggedUser[ID]'
WHERE Label = 'Artist notifications'
AND UserID = '$LoggedUser[ID]'
ORDER BY ID
LIMIT 1");
} else {
$DB->query("
SELECT ID, Artists
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("
INSERT INTO users_notify_filters (UserID, Label, Artists)
VALUES ('$LoggedUser[ID]', 'Artist notifications', '|".db_string($ArtistAliases)."|')");
INSERT INTO users_notify_filters
(UserID, Label, Artists)
VALUES
('$LoggedUser[ID]', 'Artist notifications', '|".db_string($ArtistAliases)."|')");
$FilterID = $DB->inserted_id();
$Cache->delete_value('notify_filters_'.$LoggedUser['ID']);
$Cache->delete_value('notify_artists_'.$LoggedUser['ID']);
} else {
list($ID, $ArtistNames) = $DB->next_record(MYSQLI_NUM, FALSE);
if (stripos($ArtistNames,$ArtistAliases) === false) {
$ArtistNames.=$ArtistAliases.'|';
if (stripos($ArtistNames, $ArtistAliases) === false) {
$ArtistNames .= "$ArtistAliases|";
$DB->query("
UPDATE users_notify_filters
SET Artists='".db_string($ArtistNames)."'
WHERE ID='$ID'");
SET Artists = '".db_string($ArtistNames)."'
WHERE ID = '$ID'");
$Cache->delete_value('notify_filters_'.$LoggedUser['ID']);
$Cache->delete_value('notify_artists_'.$LoggedUser['ID']);
}

View File

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

View File

@ -20,16 +20,16 @@
$URL = "https://". SSL_SITE_URL."/artist.php?id=$ArtistID&postid=$PostID#post$PostID";
if ($Length != 'verbal') {
$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';
$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);
$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 {
$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";
Tools::update_user_notes($UserID,$AdminComment);
Tools::update_user_notes($UserID, $AdminComment);
}
$DB->query("
INSERT INTO users_warnings_forums (UserID, Comment)
@ -45,7 +45,7 @@
ac.ArtistID,
ac.AddedTime
FROM artist_comments AS ac
WHERE ac.ID='$PostID'");
WHERE ac.ID = '$PostID'");
list($OldBody, $AuthorID, $ArtistID, $AddedTime) = $DB->next_record();
$DB->query("
@ -62,11 +62,11 @@
Body = '" . db_string($Body) . "',
EditedUserID = '" . db_string($LoggedUser['ID']) . "',
EditedTime = '" . sqltime() . "'
WHERE ID='$PostID'");
WHERE ID = '$PostID'");
// Update the cache
$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->commit_transaction(0);

View File

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

View File

@ -1,10 +1,15 @@
<?php
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("SELECT GroupID FROM torrents WHERE ID = ".$_GET['remove']);
$DB->query('
DELETE FROM torrents_bad_files
WHERE TorrentID = '.$_GET['remove']);
$DB->query('
SELECT GroupID
FROM torrents
WHERE ID = '.$_GET['remove']);
list($GroupID) = $DB->next_record();
$Cache->delete_value('torrents_details_'.$GroupID);
$Cache->delete_value("torrents_details_$GroupID");
}
@ -12,7 +17,7 @@
$Join = '';
$All = true;
} 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;
}
@ -61,17 +66,17 @@
} else {
$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) {
$DisplayName.=" [$GroupYear]";
$DisplayName .= " [$GroupYear]";
}
if ($ReleaseType > 0) {
$DisplayName.=' ['.$ReleaseTypes[$ReleaseType].']';
$DisplayName .= ' ['.$ReleaseTypes[$ReleaseType].']';
}
$ExtraInfo = Torrents::torrent_info($Torrents[$TorrentID]);
if ($ExtraInfo) {
$DisplayName.=' - '.$ExtraInfo;
$DisplayName .= " - $ExtraInfo";
}
?>
<tr class="torrent torrent_row<?=$GroupFlags['IsSnatched'] ? ' snatched_torrent"' : ''?>">
@ -86,7 +91,8 @@
<div class="tags"><?=$TorrentTags->format()?></div>
</td>
</tr>
<? } ?>
<?
} ?>
</table>
</div>
<?

View File

@ -22,13 +22,13 @@
$DB->query("
SELECT t.GroupID, x.fid
FROM ".($SeedingOnly ? 'xbt_files_users' : 'xbt_snatched')." AS x
JOIN torrents AS t ON t.ID=x.fid
JOIN torrents AS t ON t.ID = x.fid
JOIN torrents_group AS tg ON tg.ID = t.GroupID
WHERE t.Format='FLAC'
WHERE t.Format = 'FLAC'
AND ((t.LogScore = '100' AND t.Media = 'CD')
OR t.Media != 'CD')
AND tg.CategoryID = 1
AND x.uid='$UserID'" .
AND x.uid = '$UserID'" .
($SeedingOnly ? ' AND x.active = 1 AND x.remaining = 0' : ''));
$SnatchedTorrentIDs = array_fill_keys($DB->collect('fid'), true);
@ -57,8 +57,10 @@
AND t.Format IN ('FLAC', 'MP3')
GROUP BY t.GroupID, RemIdent");
//$DB->query('SELECT * FROM t');
/*$DB->query('
SELECT *
FROM t');
*/
$DB->query("
SELECT GroupID
FROM temp_sections_better_snatch
@ -131,7 +133,7 @@
foreach ($Encodings as $Encoding) {
if (!isset($Edition['Formats'][$Encoding])) {
++$edition_miss;
++$Counter['miss_'.$Encoding];
++$Counter["miss_$Encoding"];
}
}
$Counter['miss_total'] += $edition_miss;
@ -194,7 +196,7 @@
$DisplayName .= " [$GroupYear]";
}
if ($ReleaseType > 0) {
$DisplayName .= " [".$ReleaseTypes[$ReleaseType]."]";
$DisplayName .= ' ['.$ReleaseTypes[$ReleaseType].']';
}
$DisplayName .= ' ['.$Edition['Medium'].']';

View File

@ -64,7 +64,7 @@
SELECT ForumID
FROM forums_topics
WHERE ID = $ThreadID");
if ($DB->record_count() < 1) {
if (!$DB->has_results()) {
error('No such thread exists!');
header('Location: blog.php');
}
@ -135,7 +135,8 @@
<div class="thin">
<?
if (!$Blog = $Cache->get_value('blog')) {
$DB->query("SELECT
$DB->query("
SELECT
b.ID,
um.Username,
b.Title,
@ -143,18 +144,21 @@
b.Time,
b.ThreadID
FROM blog AS b
LEFT JOIN users_main AS um ON b.UserID=um.ID
LEFT JOIN users_main AS um ON b.UserID = um.ID
ORDER BY Time DESC
LIMIT 20");
$Blog = $DB->to_array();
$Cache->cache_value('Blog',$Blog,1209600);
$Cache->cache_value('Blog', $Blog, 1209600);
}
if ($LoggedUser['LastReadBlog'] < $Blog[0][0]) {
$Cache->begin_transaction('user_info_heavy_'.$LoggedUser['ID']);
$Cache->update_row(false, array('LastReadBlog' => $Blog[0][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];
}
@ -176,7 +180,8 @@
<em><a href="forums.php?action=viewthread&amp;threadid=<?=$ThreadID?>">Discuss this post here</a></em>
<? if (check_perms('admin_manage_blog')) { ?>
<a href="blog.php?action=deadthread&amp;id=<?=$BlogID?>&amp;auth=<?=$LoggedUser['AuthKey']?>" class="brackets">Remove link</a>
<? }
<?
}
} ?>
</div>
</div>

View File

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

View File

@ -5,7 +5,7 @@
function get_font() {
global $CaptchaFonts;
return SERVER_ROOT.'/classes/fonts/'.$CaptchaFonts[mt_rand(0,count($CaptchaFonts)-1)];
return SERVER_ROOT.'/classes/fonts/'.$CaptchaFonts[mt_rand(0, count($CaptchaFonts) - 1)];
}
function make_captcha_img() {
@ -19,27 +19,27 @@ function make_captcha_img() {
$CaptchaString = '';
for ($i = 0; $i < $Length; $i++) {
$CaptchaString.=$Chars[mt_rand(0,strlen($Chars) - 1)];
$CaptchaString .= $Chars[mt_rand(0,strlen($Chars) - 1)];
}
for ($x = 0; $x < $Length; $x++) {
$FontDisplay[$x]['size'] = mt_rand(24,32);
$FontDisplay[$x]['top'] = mt_rand($FontDisplay[$x]['size'] + 5,$ImageHeight - ($FontDisplay[$x]['size'] / 2));
$FontDisplay[$x]['angle'] = mt_rand(-30,30);
$FontDisplay[$x]['size'] = mt_rand(24, 32);
$FontDisplay[$x]['top'] = mt_rand($FontDisplay[$x]['size'] + 5, $ImageHeight - ($FontDisplay[$x]['size'] / 2));
$FontDisplay[$x]['angle'] = mt_rand(-30, 30);
$FontDisplay[$x]['font'] = get_font();
}
$Img = imagecreatetruecolor($ImageWidth,$ImageHeight);
$BGImg = imagecreatefrompng(SERVER_ROOT.'/captcha/'.$CaptchaBGs[mt_rand(0,count($CaptchaBGs) - 1)]);
imagecopymerge($Img,$BGImg,0,0,0,0,300,75,50);
$Img = imagecreatetruecolor($ImageWidth, $ImageHeight);
$BGImg = imagecreatefrompng(SERVER_ROOT.'/captcha/'.$CaptchaBGs[mt_rand(0, count($CaptchaBGs) - 1)]);
imagecopymerge($Img, $BGImg, 0, 0, 0, 0, 300, 75, 50);
$ForeColor = imagecolorallocatealpha($Img,255,255,255,65);
$ForeColor = imagecolorallocatealpha($Img, 255, 255, 255, 65);
for ($i = 0; $i < strlen($CaptchaString); $i++) {
$CharX = (($ImageWidth / $Length) * ($i + 1)) - (($ImageWidth / $Length) * 0.75);
imagettftext($Img,$FontDisplay[$i]['size'],$FontDisplay[$i]['angle'],$CharX,
$FontDisplay[$i]['top'],$ForeColor,
$FontDisplay[$i]['font'],$CaptchaString[$i]
imagettftext($Img,$FontDisplay[$i]['size'], $FontDisplay[$i]['angle'], $CharX,
$FontDisplay[$i]['top'], $ForeColor,
$FontDisplay[$i]['font'], $CaptchaString[$i]
);
}

View File

@ -2,7 +2,10 @@
enforce_login();
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();
if (empty($IRCKey)) {

View File

@ -21,7 +21,7 @@ function add_artist($CollageID, $ArtistID) {
FROM collages_artists
WHERE CollageID = '$CollageID'
AND ArtistID = '$ArtistID'");
if ($DB->record_count() == 0) {
if (!$DB->has_results()) {
$DB->query("
INSERT IGNORE INTO collages_artists
(CollageID, ArtistID, UserID, Sort, AddedOn)
@ -147,7 +147,7 @@ function add_artist($CollageID, $ArtistID) {
SELECT ArtistID
FROM artists_group
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.";
break;
}

View File

@ -20,7 +20,7 @@ function add_torrent($CollageID, $GroupID) {
FROM collages_torrents
WHERE CollageID = '$CollageID'
AND GroupID = '$GroupID'");
if ($DB->record_count() == 0) {
if (!$DB->has_results()) {
$DB->query("
INSERT IGNORE INTO collages_torrents
(CollageID, GroupID, UserID, Sort, AddedOn)
@ -147,7 +147,7 @@ function add_torrent($CollageID, $GroupID) {
SELECT ID
FROM torrents_group
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.";
break;
}

View File

@ -142,28 +142,32 @@
}
if (!empty($Categories)) {
$SQL.=" AND CategoryID IN(".db_string(implode(',',$Categories)).")";
$SQL .= " AND CategoryID IN(".db_string(implode(',', $Categories)).')';
}
if ($_GET['action'] == 'mine') {
$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);
$Collages = $DB->to_array();
$DB->query("SELECT FOUND_ROWS()");
$DB->query('SELECT FOUND_ROWS()');
list($NumResults) = $DB->next_record();
View::show_header(($BookmarkView)?'Your bookmarked collages':'Browse collages');
View::show_header(($BookmarkView) ? 'Your bookmarked collages' : 'Browse collages');
?>
<div class="thin">
<div class="header">
<? if ($BookmarkView) { ?>
<h2>Your bookmarked collages</h2>
<? } 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>
<? if (!$BookmarkView) { ?>
@ -232,7 +236,12 @@
<? }
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();
if ($CollageCount == 1) {
@ -300,7 +309,7 @@
//Print results
?>
<tr class="row<?=$Row?><?=($BookmarkView) ? ' bookmark_'.$ID : ''?>">
<tr class="row<?=$Row?><?=($BookmarkView) ? " bookmark_$ID" : ''; ?>">
<td>
<a href="collages.php?action=search&amp;cats[<?=(int)$CategoryID?>]=1"><?=$CollageCats[(int)$CategoryID]?></a>
</td>
@ -308,7 +317,7 @@
<a href="collages.php?id=<?=$ID?>"><?=$Name?></a>
<? if ($BookmarkView) { ?>
<span style="float: right;">
<a href="#" onclick="Unbookmark('collage', <?=$ID?>,'');return false;" class="brackets">Remove bookmark</a>
<a href="#" onclick="Unbookmark('collage', <?=$ID?>, ''); return false;" class="brackets">Remove bookmark</a>
</span>
<? } ?>
<div class="tags"><?=$TorrentTags->format('collages.php?action=search&amp;tags=')?></div>

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);
} else {
$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();
$TorrentList = '';
$CollageList = '';

View File

@ -6,14 +6,22 @@
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();
if ($CategoryID == 0 && $UserID != $LoggedUser['ID'] && !check_perms('site_collages_delete')) {
error(403);
}
$DB->query("SELECT ID,Deleted FROM collages WHERE Name='".db_string($_POST['name'])."' AND ID!='$CollageID' LIMIT 1");
if ($DB->record_count()) {
$DB->query("
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();
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!';
@ -25,11 +33,11 @@
die();
}
$TagList = explode(',',$_POST['tags']);
foreach ($TagList as $ID=>$Tag) {
$TagList = explode(',', $_POST['tags']);
foreach ($TagList as $ID => $Tag) {
$TagList[$ID] = Misc::sanitize_tag($Tag);
}
$TagList = implode(' ',$TagList);
$TagList = implode(' ', $TagList);
$Updates = array("Description='".db_string($_POST['description'])."', TagList='".db_string($TagList)."'");
@ -40,32 +48,39 @@
}
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");
$Updates[] = 'Featured=1';
$DB->query("
UPDATE collages
SET Featured = 0
WHERE CategoryID = 0 \
AND UserID = $UserID");
$Updates[] = 'Featured = 1';
}
if (check_perms('site_collages_delete') || ($CategoryID == 0 && $UserID == $LoggedUser['ID'] && check_perms('site_collages_renamepersonal'))) {
$Updates[] = "Name='".db_string($_POST['name'])."'";
$Updates[] = "Name = '".db_string($_POST['name'])."'";
}
if (isset($_POST['category']) && !empty($CollageCats[$_POST['category']]) && $_POST['category'] != $CategoryID && ($_POST['category'] != 0 || check_perms('site_collages_delete'))) {
$Updates[] = 'CategoryID='.$_POST['category'];
$Updates[] = 'CategoryID = '.$_POST['category'];
}
if (check_perms('site_collages_delete')) {
if (isset($_POST['locked']) != $Locked) {
$Updates[] = 'Locked=' . ($Locked ? "'0'" : "'1'");
$Updates[] = 'Locked = ' . ($Locked ? "'0'" : "'1'");
}
if (isset($_POST['maxgroups']) && ($_POST['maxgroups'] == 0 || is_number($_POST['maxgroups'])) && $_POST['maxgroups'] != $MaxGroups) {
$Updates[] = 'MaxGroups=' . $_POST['maxgroups'];
$Updates[] = 'MaxGroups = ' . $_POST['maxgroups'];
}
if (isset($_POST['maxgroups']) && ($_POST['maxgroupsperuser'] == 0 || is_number($_POST['maxgroupsperuser'])) && $_POST['maxgroupsperuser'] != $MaxGroupsPerUser) {
$Updates[] = 'MaxGroupsPerUser=' . $_POST['maxgroupsperuser'];
$Updates[] = 'MaxGroupsPerUser = ' . $_POST['maxgroupsperuser'];
}
}
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);
header('Location: collages.php?id='.$CollageID);

View File

@ -29,8 +29,8 @@
<tr id="collagename">
<td class="label"><strong>Name</strong></td>
<td>
<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>
<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>
</td>
</tr>
<tr>
@ -40,12 +40,17 @@
<?
array_shift($CollageCats);
foreach ($CollageCats as $CatID=>$CatName) : ?>
foreach ($CollageCats as $CatID=>$CatName) { ?>
<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();
if (($CollageCount < $LoggedUser['Permissions']['MaxCollages']) && check_perms('site_collages_personal')) { ?>
<option value="0"<?=(($Category === '0') ? ' selected="selected"' : '')?>>Personal</option>

View File

@ -15,7 +15,7 @@
$P['name'] = db_string($name);
$DB->query("SELECT ID FROM collages WHERE Name='".$P['name']."'");
$i = 2;
while ($DB->record_count() != 0) {
while ($DB->has_results()) {
$P['name'] = db_string($name." no. $i");
$DB->query("SELECT ID FROM collages WHERE Name='".$P['name']."'");
$i++;
@ -37,7 +37,7 @@
if (!$Err) {
$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();
if ($Deleted) {
$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
FROM collages
WHERE ID = $CollageID");
if ($DB->record_count() == 0) {
if (!$DB->has_results()) {
error('Collage is completely deleted');
} else {
$DB->query("

View File

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

View File

@ -13,13 +13,13 @@
* @returns void, prints output
*/
function comment_body($UserID, $PostID, $postheader, $permalink, $Body, $EditorID, $AddedTime, $EditedTime) {
global $Text,$HeavyInfo;
global $Text, $HeavyInfo;
$UserInfo = Users::user_info($UserID);
$postheader = 'by <strong>' . Users::format_username($UserID, true, true, true, true, false) . '</strong> '
. 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>
<? if (Users::has_avatars_enabled()) { ?>
<col class="col_avatar" />
@ -27,7 +27,7 @@ function comment_body($UserID, $PostID, $postheader, $permalink, $Body, $EditorI
<col class="col_post_body" />
</colgroup>
<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>
<?=$postheader ?>
</span>

View File

@ -30,18 +30,30 @@
$Result .= fgets ($Socket, 1024);
}
if (strpos($Result,'VERIFIED') !== false || check_perms('site_debug')) {
if (strpos($Result, 'VERIFIED') !== false || check_perms('site_debug')) {
if ($_POST['mc_gross'] >= PAYPAL_MINIMUM) {
if ($_POST['mc_currency'] == PAYPAL_CURRENCY) {
if ($_POST['business'] == PAYPAL_ADDRESS) {
if (($_POST['payment_status'] == "Completed") || ($_POST['payment_status'] == "Pending")) {
$DB->query('SELECT Donor FROM users_info WHERE UserID=\''.$_POST['custom'].'\'');
if (($_POST['payment_status'] == 'Completed') || ($_POST['payment_status'] == 'Pending')) {
$DB->query('
SELECT Donor
FROM users_info
WHERE UserID = \''.$_POST['custom'].'\'');
list($Donor) = $DB->next_record();
if ($Donor == 0) {
//First time donor
$DB->query('UPDATE users_main 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'].'\'');
$DB->query('
UPDATE users_main
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();
$Cache->begin_transaction('user_info_'.$_POST['custom']);
$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.');
} else {
//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('
SELECT SUM(Amount), MIN(Time)
FROM donations
WHERE UserID=\''.$_POST['custom'].'\';');
list($TotalDonated,$DonationTime) = $DB->next_record();
if ($TotalDonated+$_POST['mc_gross'] == 0) {
$DB->query("SELECT Invites FROM users_main WHERE ID='".$_POST['custom']."'");
WHERE UserID = \''.$_POST['custom'].'\';');
list($TotalDonated, $DonationTime) = $DB->next_record();
if ($TotalDonated + $_POST['mc_gross'] == 0) {
$DB->query("
SELECT Invites
FROM users_main
WHERE ID = '".$_POST['custom']."'");
list($Invites) = $DB->next_record();
if (($Invites - DONOR_INVITES) >= 0) {
$NewInvites = $Invites - DONOR_INVITES;
} else {
$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('UPDATE users_info SET Donor = \'0\' WHERE UserID=\''.$_POST['custom'].'\'');
$DB->query("
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->update_row(false, array('Donor' => 0));
$Cache->commit_transaction(0);
@ -91,15 +112,14 @@
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("
UPDATE users_info
SET
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']."'");
SET 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']."'");
$DB->query("
INSERT INTO donations
(UserID, Amount, Email, Time)
@ -110,11 +130,11 @@
INSERT INTO ip_bans
(FromIP, ToIP, Reason)
VALUES
('".Tools::ip_to_unsigned($_SERVER['REMOTE_ADDR'])."','".ip2long($_SERVER['REMOTE_ADDR'])."', 'Attempted to exploit donation system.')");
('".Tools::ip_to_unsigned($_SERVER['REMOTE_ADDR'])."', '".ip2long($_SERVER['REMOTE_ADDR'])."', 'Attempted to exploit donation system.')");
}
fclose ($Socket);
if (check_perms('site_debug')) {
include(SERVER_ROOT.'/sections/donate/donate.php');
}
$Cache->cache_value('debug_donate',array($Result,$_POST),0);
$Cache->cache_value('debug_donate', array($Result, $_POST), 0);
?>

View File

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

View File

@ -16,15 +16,15 @@
SELECT
TopicID,
ForumID,
CEIL(COUNT(p.ID)/".POSTS_PER_PAGE.") AS Pages,
CEIL(SUM(IF(p.ID<='$PostID',1,0))/".POSTS_PER_PAGE.") AS Page,
CEIL(COUNT(p.ID) / ".POSTS_PER_PAGE.") AS Pages,
CEIL(SUM(IF(p.ID <= '$PostID', 1, 0)) / ".POSTS_PER_PAGE.") AS Page,
StickyPostID
FROM forums_posts AS p
JOIN forums_topics AS t ON t.ID=p.TopicID
WHERE p.TopicID=(
JOIN forums_topics AS t ON t.ID = p.TopicID
WHERE p.TopicID = (
SELECT TopicID
FROM forums_posts
WHERE ID='$PostID'
WHERE ID = '$PostID'
)
GROUP BY t.ID");
list($TopicID, $ForumID, $Pages, $Page, $StickyPostID) = $DB->next_record();
@ -33,30 +33,35 @@
// $Page = which page the post is on
// 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();
$DB->query("
UPDATE forums AS f, forums_topics AS t
SET f.NumPosts=f.NumPosts-1, t.NumPosts=t.NumPosts-1
WHERE f.ID='$ForumID'
AND t.ID='$TopicID'");
SET f.NumPosts = f.NumPosts - 1, t.NumPosts = t.NumPosts - 1
WHERE f.ID = '$ForumID'
AND t.ID = '$TopicID'");
if ($LastID < $PostID) { // Last post in a topic was removed
$DB->query("
SELECT p.AuthorID, u.Username, p.AddedTime
FROM forums_posts AS p
LEFT JOIN users_main AS u ON u.ID = p.AuthorID
WHERE p.ID='$LastID'");
WHERE p.ID = '$LastID'");
list($LastAuthorID, $LastAuthorName, $LastTime) = $DB->next_record();
$DB->query("
UPDATE forums_topics
SET
LastPostID='$LastID',
LastPostAuthorID='$LastAuthorID',
LastPostTime='$LastTime'
WHERE ID='$TopicID'");
LastPostID = '$LastID',
LastPostAuthorID = '$LastAuthorID',
LastPostTime = '$LastTime'
WHERE ID = '$TopicID'");
$DB->query("
SELECT
t.ID,
@ -67,7 +72,7 @@
u.Username
FROM forums_topics AS t
LEFT JOIN users_main AS u ON u.ID = t.LastPostAuthorID
WHERE ForumID='$ForumID'
WHERE ForumID = '$ForumID'
AND t.ID != '$TopicID'
ORDER BY LastPostID DESC
LIMIT 1");
@ -77,12 +82,12 @@
$DB->query("
UPDATE forums
SET
LastPostTopicID='$LastTopicID',
LastPostID='$LastTopicPostID',
LastPostAuthorID='$LastTopicAuthorID',
LastPostTime='$LastTopicPostTime'
WHERE ID='$ForumID'
AND LastPostTopicID='$TopicID'");
LastPostTopicID = '$LastTopicID',
LastPostID = '$LastTopicPostID',
LastPostAuthorID = '$LastTopicAuthorID',
LastPostTime = '$LastTopicPostTime'
WHERE ID = '$ForumID'
AND LastPostTopicID = '$TopicID'");
$UpdateArrayForums = array(
'NumPosts' => '-1',
'LastPostID' => $LastTopicPostID,
@ -94,11 +99,11 @@
$DB->query("
UPDATE forums
SET
LastPostID='$LastID',
LastPostAuthorID='$LastAuthorID',
LastPostTime='$LastTime'
WHERE ID='$ForumID'
AND LastPostTopicID='$TopicID'");
LastPostID = '$LastID',
LastPostAuthorID = '$LastAuthorID',
LastPostTime = '$LastTime'
WHERE ID = '$ForumID'
AND LastPostTopicID = '$TopicID'");
$UpdateArrayForums = array(
'NumPosts' => '-1',
'LastPostID' => $LastID,
@ -122,10 +127,10 @@
$ThisCatalogue = floor((POSTS_PER_PAGE * $Page - POSTS_PER_PAGE) / THREAD_CATALOGUE);
$LastCatalogue = floor((POSTS_PER_PAGE * $Pages - POSTS_PER_PAGE) / THREAD_CATALOGUE);
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->commit_transaction();
@ -133,5 +138,5 @@
$Cache->update_row($ForumID, $UpdateArrayForums);
$Cache->commit_transaction();
$Cache->delete_value('forums_'.$ForumID);
$Cache->delete_value("forums_$ForumID");
?>

View File

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

View File

@ -132,7 +132,7 @@
FROM subscribed_forums
WHERE ForumID='$ForumID'
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>
<? } else { ?>
<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
WHERE t.ID = '$ThreadID'
GROUP BY fp.TopicID");
if ($DB->record_count() == 0) {
if (!$DB->has_results()) {
if (!$ApiCall) {
error(404);
} else {
@ -84,7 +84,7 @@ function get_forum_info($ForumID) {
LEFT JOIN forums_topics ON forums_topics.ForumID=forums.ID
WHERE forums.ID='$ForumID'
GROUP BY ForumID");
if ($DB->record_count() == 0) {
if (!$DB->has_results()) {
return false;
}
// Makes an array, with $Forum['Name'], etc.

View File

@ -12,7 +12,9 @@
unset($ForumCats);
$ForumCats = $Cache->get_value('forums_categories');
if ($ForumCats === false) {
$DB->query('SELECT ID, Name FROM forums_categories');
$DB->query('
SELECT ID, Name
FROM forums_categories');
$ForumCats = array();
while (list($ID, $Name) = $DB->next_record()) {
$ForumCats[$ID] = $Name;
@ -50,7 +52,10 @@
$Forums = $DB->to_array('ID', MYSQLI_ASSOC, false);
foreach ($Forums as $ForumID => $Forum) {
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');
$Forums[$ForumID]['SpecificRules'] = $ThreadIDs;
}

View File

@ -9,7 +9,7 @@
$TopicIDs = array();
foreach ($Forums as $Forum) {
if (!empty($Forum['LastPostTopicID'])) {
$TopicIDs[]=$Forum['LastPostTopicID'];
$TopicIDs[] = $Forum['LastPostTopicID'];
}
}
@ -23,11 +23,11 @@
SELECT COUNT(ID)
FROM forums_posts
WHERE forums_posts.TopicID = l.TopicID
AND forums_posts.ID<=l.PostID
)/$PerPage) AS Page
AND forums_posts.ID <= l.PostID
) / $PerPage) AS Page
FROM forums_last_read_topics AS l
WHERE TopicID IN(".implode(',',$TopicIDs).")
AND UserID='$LoggedUser[ID]'");
WHERE TopicID IN(".implode(',', $TopicIDs).")
AND UserID = '$LoggedUser[ID]'");
$LastRead = $DB->to_array('TopicID', MYSQLI_ASSOC);
} else {
$LastRead = array();
@ -43,7 +43,10 @@
$Row = 'a';
$LastCategoryID = 0;
$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();
$RestrictedForums = explode(',', $RestrictedForums);
$PermittedForums = array_keys($LoggedUser['PermittedForums']);
@ -52,7 +55,7 @@
if ($LoggedUser['CustomForums'][$ForumID] != 1 && ($MinRead > $LoggedUser['Class'] || array_search($ForumID, $RestrictedForums) !== false)) {
continue;
}
$Row = (($Row == 'a') ? 'b' : 'a');
$Row = (($Row === 'a') ? 'b' : 'a');
$ForumDescription = display_str($ForumDescription);
if ($CategoryID != $LastCategoryID) {

View File

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

View File

@ -32,7 +32,10 @@
// Searching for posts by a specific user
if (!empty($_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();
if ($AuthorID === null) {
$AuthorID = 0;
@ -254,21 +257,21 @@
JOIN forums AS f ON f.ID=t.ForumID
WHERE ((f.MinClassRead<='$LoggedUser[Class]'";
if (!empty($RestrictedForums)) {
$sql.=" AND f.ID NOT IN ('".$RestrictedForums."')";
$sql .= " AND f.ID NOT IN ('$RestrictedForums')";
}
$sql .= ')';
if (!empty($PermittedForums)) {
$sql.=' OR f.ID IN (\''.$PermittedForums.'\')';
$sql .= " OR f.ID IN ('$PermittedForums')";
}
$sql .= ') AND ';
$sql .= "t.Title LIKE '%";
$sql .= implode("%' AND t.Title LIKE '%", $Words);
$sql .= "%' ";
if (isset($SearchForums)) {
$sql.=" AND f.ID IN ($SearchForums)";
$sql .= " AND f.ID IN ($SearchForums)";
}
if (isset($AuthorID)) {
$sql.=" AND t.AuthorID='$AuthorID' ";
$sql .= " AND t.AuthorID = '$AuthorID' ";
}
$sql .= "
ORDER BY t.LastPostTime DESC
@ -291,13 +294,13 @@
<td><?=((!empty($ThreadID)) ? 'Post begins' : 'Topic')?></td>
<td>Time</td>
</tr>
<? if ($DB->record_count() == 0) { ?>
<? if (!$DB->has_results()) { ?>
<tr><td colspan="3">Nothing found<?=((isset($AuthorID) && $AuthorID == 0) ? ' (unknown username)' : '')?>!</td></tr>
<? }
$Row = 'a'; // For the pretty colours
while (list($ID, $Title, $ForumID, $ForumName, $LastTime, $PostID, $Body) = $DB->next_record()) {
$Row = (($Row == 'a') ? 'b' : 'a');
$Row = (($Row === 'a') ? 'b' : 'a');
// Print results
?>
<tr class="row<?=$Row?>">
@ -311,7 +314,7 @@
<?=Format::cut_string($Title, 80); ?>
<? }
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>

View File

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

View File

@ -142,33 +142,33 @@
$DB->query("
UPDATE forums_topics
SET
NumPosts = NumPosts+1,
NumPosts = NumPosts + 1,
LastPostID = '$PostID',
LastPostAuthorID = '".$LoggedUser['ID']."',
LastPostTime = '$SQLTime'
WHERE ID = '$TopicID'");
//if cache exists modify it, if not, then it will be correct when selected next, and we can skip this block
// if cache exists modify it, if not, then it will be correct when selected next, and we can skip this block
if ($Forum = $Cache->get_value('forums_'.$ForumID)) {
list($Forum,,,$Stickies) = $Forum;
//if the topic is already on this page
// if the topic is already on this page
if (array_key_exists($TopicID, $Forum)) {
$Thread = $Forum[$TopicID];
unset($Forum[$TopicID]);
$Thread['NumPosts'] = $Thread['NumPosts'] + 1; //Increment post count
$Thread['LastPostID'] = $PostID; //Set postid for read/unread
$Thread['LastPostTime'] = $SQLTime; //Time of last post
$Thread['LastPostAuthorID'] = $LoggedUser['ID']; //Last poster id
$Part2 = array($TopicID=>$Thread); //Bumped thread
$Thread['NumPosts'] = $Thread['NumPosts'] + 1; // Increment post count
$Thread['LastPostID'] = $PostID; // Set post ID for read/unread
$Thread['LastPostTime'] = $SQLTime; // Time of last post
$Thread['LastPostAuthorID'] = $LoggedUser['ID']; // Last poster ID
$Part2 = array($TopicID => $Thread); // Bumped thread
//if we're bumping from an older page
// if we're bumping from an older page
} else {
//Remove the last thread from the index
// Remove the last thread from the index
if (count($Forum) == TOPICS_PER_PAGE && $Stickies < TOPICS_PER_PAGE) {
array_pop($Forum);
}
//Never know if we get a page full of stickies...
// Never know if we get a page full of stickies...
if ($Stickies < TOPICS_PER_PAGE || $ThreadInfo['IsSticky'] == 1) {
//Pull the data for the thread we're bumping
$DB->query("
@ -216,7 +216,7 @@
} else {
$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
$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);
//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(
'ID'=>$PostID,
'AuthorID'=>$LoggedUser['ID'],
@ -254,22 +254,25 @@
$Cache->commit_transaction(0);
//Update the thread info
$Cache->begin_transaction('thread_'.$TopicID.'_info');
$Cache->update_row(false, array('Posts'=>'+1', 'LastPostAuthorID'=>$LoggedUser['ID']));
$Cache->begin_transaction("thread_$TopicID".'_info');
$Cache->update_row(false, array('Posts' => '+1', 'LastPostAuthorID' => $LoggedUser['ID']));
$Cache->commit_transaction(0);
//Increment this now to make sure we redirect to the correct page
$ThreadInfo['Posts']++;
}
$DB->query("SELECT UserID FROM users_subscriptions WHERE TopicID = ".$TopicID);
if ($DB->record_count() > 0) {
$DB->query("
SELECT UserID
FROM users_subscriptions
WHERE TopicID = $TopicID");
if ($DB->has_results()) {
$Subscribers = $DB->collect('UserID');
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);
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();

View File

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

View File

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

View File

@ -35,9 +35,9 @@
m.LastAccess,
i.Avatar
FROM friends AS f
JOIN users_main AS m ON f.FriendID=m.ID
JOIN users_info AS i ON f.FriendID=i.UserID
WHERE f.UserID='$UserID'
JOIN users_main AS m ON f.FriendID = m.ID
JOIN users_info AS i ON f.FriendID = i.UserID
WHERE f.UserID = '$UserID'
ORDER BY Username
LIMIT $Limit");
$Friends = $DB->to_array(false, MYSQLI_BOTH, array(6, 'Paranoia'));

View File

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

View File

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

View File

@ -44,12 +44,12 @@
$sql .= (($Section == 'sentbox') ? ' cu.SentDate ' : ' cu.ReceivedDate ');
$sql .= "AS Date
FROM pm_conversations AS c
LEFT JOIN pm_conversations_users AS cu ON cu.ConvID=c.ID AND cu.UserID='$UserID'
LEFT JOIN pm_conversations_users AS cu2 ON cu2.ConvID=c.ID AND cu2.UserID!='$UserID' AND cu2.ForwardedTo=0
LEFT JOIN users_main AS um ON um.ID=cu2.UserID";
LEFT JOIN pm_conversations_users AS cu ON cu.ConvID = c.ID AND cu.UserID = '$UserID'
LEFT JOIN pm_conversations_users AS cu2 ON cu2.ConvID = c.ID AND cu2.UserID != '$UserID' AND cu2.ForwardedTo = 0
LEFT JOIN users_main AS um ON um.ID = cu2.UserID";
if (!empty($_GET['search']) && $_GET['searchtype'] == 'message') {
$sql .= ' JOIN pm_messages AS m ON c.ID=m.ConvID';
$sql .= ' JOIN pm_messages AS m ON c.ID = m.ConvID';
}
$sql .= ' WHERE ';
if (!empty($_GET['search'])) {
@ -65,9 +65,9 @@
}
}
$sql .= (($Section == 'sentbox') ? ' cu.InSentbox' : ' cu.InInbox');
$sql .= "='1'";
$sql .= " = '1'";
$sql .="
$sql .= "
GROUP BY c.ID
ORDER BY cu.Sticky, $Sort
LIMIT $Limit";
@ -105,8 +105,8 @@
</span>
<br />
<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='';"
onblur="if (this.value == '') this.value='Search <?=(($Section == 'sentbox') ? 'Sentbox' : 'Inbox')?>';"
onfocus="if (this.value == 'Search <?=(($Section == 'sentbox') ? 'Sentbox' : 'Inbox')?>') { this.value = ''; }"
onblur="if (this.value == '') { this.value = 'Search <?=(($Section == 'sentbox') ? 'Sentbox' : 'Inbox')?>'; }"
/>
</div>
</form>
@ -119,7 +119,7 @@
<table class="message_table checkboxes">
<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><?=(($Section == 'sentbox') ? 'Receiver' : 'Sender')?></td>
<td>Date</td>

View File

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

View File

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

View File

@ -1,4 +1,4 @@
<?
<?php
include(SERVER_ROOT.'/classes/text.class.php');
$Text = new TEXT(true);
@ -12,14 +12,14 @@
Time
FROM news
ORDER BY Time DESC
LIMIT " . $NewsCount);
LIMIT $NewsCount");
$News = $DB->to_array(false, MYSQLI_NUM, false);
$Cache->cache_value('news', $News, 3600 * 24 * 30);
$Cache->cache_value('news_latest_id', $News[0][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->commit_transaction(0);
$DB->query("
@ -29,7 +29,7 @@
$LoggedUser['LastReadNews'] = $News[0][0];
}
View::show_header('News','bbcode,news_ajax');
View::show_header('News', 'bbcode,news_ajax');
?>
<div class="thin">
<div class="sidebar">
@ -39,7 +39,6 @@
if (check_perms('users_mod')) {
?>
<div class="box">
<div class="head colhead_dark">
<strong><a href="staffblog.php">Latest staff blog posts</a></strong>
@ -54,7 +53,7 @@
b.Body,
b.Time
FROM staff_blog AS b
LEFT JOIN users_main AS um ON b.UserID=um.ID
LEFT JOIN users_main AS um ON b.UserID = um.ID
ORDER BY Time DESC");
$Blog = $DB->to_array(false, MYSQLI_NUM);
$Cache->cache_value('staff_blog', $Blog, 1209600);
@ -141,7 +140,10 @@
}
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();
$Cache->cache_value('stats_user_count', $UserCount, 0); //inf cache
}
@ -151,37 +153,56 @@
<?
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();
$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();
$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();
$Cache->cache_value('stats_users',$UserStats,0);
$Cache->cache_value('stats_users', $UserStats, 0);
}
?>
<li>Users active today: <?=number_format($UserStats['Day'])?> (<?=number_format($UserStats['Day'] / $UserCount * 100,2)?>%)</li>
<li>Users active this week: <?=number_format($UserStats['Week'])?> (<?=number_format($UserStats['Week'] / $UserCount * 100,2)?>%)</li>
<li>Users active this month: <?=number_format($UserStats['Month'])?> (<?=number_format($UserStats['Month'] / $UserCount * 100,2)?>%)</li>
<li>Users active today: <?=number_format($UserStats['Day'])?> (<?=number_format($UserStats['Day'] / $UserCount * 100, 2)?>%)</li>
<li>Users active this week: <?=number_format($UserStats['Week'])?> (<?=number_format($UserStats['Week'] / $UserCount * 100, 2)?>%)</li>
<li>Users active this month: <?=number_format($UserStats['Month'])?> (<?=number_format($UserStats['Month'] / $UserCount * 100, 2)?>%)</li>
<?
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();
$Cache->cache_value('stats_torrent_count', $TorrentCount, 0); //inf cache
}
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();
$Cache->cache_value('stats_album_count', $AlbumCount, 0); //inf cache
}
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();
$Cache->cache_value('stats_artist_count', $ArtistCount, 0); //inf cache
}
@ -219,7 +240,7 @@
list($FilledCount) = $DB->next_record();
$Cache->cache_value('stats_requests', array($RequestCount, $FilledCount), 11280);
} else {
list($RequestCount,$FilledCount) = $RequestStats;
list($RequestCount, $FilledCount) = $RequestStats;
}
?>
@ -240,17 +261,17 @@
$DB->query("
SELECT IF(remaining=0,'Seeding','Leeching') AS Type, COUNT(uid)
FROM xbt_files_users
WHERE active=1
WHERE active = 1
GROUP BY Type");
$PeerCount = $DB->to_array(0, MYSQLI_NUM, false);
$SeederCount = $PeerCount['Seeding'][1] ?: 0;
$LeecherCount = $PeerCount['Leeching'][1] ?: 0;
$Cache->cache_value('stats_peers', array($LeecherCount,$SeederCount), 0);
$Cache->cache_value('stats_peers', array($LeecherCount, $SeederCount), 0);
$Cache->delete_value('stats_peers_lock');
}
} else {
$PeerStatsLocked = false;
list($LeecherCount,$SeederCount) = $PeerStats;
list($LeecherCount, $SeederCount) = $PeerStats;
}
if (!$PeerStatsLocked) {
@ -305,7 +326,7 @@
$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 {
list($Question, $Answers, $Votes, $Featured, $Closed) = $Poll;
}
@ -321,8 +342,8 @@
$DB->query("
SELECT Vote
FROM forums_polls_votes
WHERE UserID='".$LoggedUser['ID']."'
AND TopicID='$TopicID'");
WHERE UserID = '".$LoggedUser['ID']."'
AND TopicID = '$TopicID'");
list($UserResponse) = $DB->next_record();
if (!empty($UserResponse) && $UserResponse != 0) {
$Answers[$UserResponse] = '&raquo; '.$Answers[$UserResponse];
@ -364,7 +385,7 @@
<label for="answer_<?=$i?>"><?=display_str($Answers[$i])?></label><br />
<? } ?>
<br /><input type="radio" name="vote" id="answer_0" value="0" /> <label for="answer_0">Blank&#8202;&mdash;&#8202;Show the results!</label><br /><br />
<input type="button" onclick="ajax.post('index.php','poll',function(response) {$('#poll_container').raw().innerHTML = response});" value="Vote" />
<input type="button" onclick="ajax.post('index.php', 'poll', function(response) { $('#poll_container').raw().innerHTML = response } );" value="Vote" />
</form>
</div>
<? } ?>
@ -391,8 +412,8 @@
tg.Name,
tg.TagList
FROM torrents_recommended AS tr
JOIN torrents_group AS tg ON tg.ID=tr.GroupID
LEFT JOIN users_main AS u ON u.ID=tr.UserID
JOIN torrents_group AS tg ON tg.ID = tr.GroupID
LEFT JOIN users_main AS u ON u.ID = tr.UserID
ORDER BY tr.Time DESC
LIMIT 10");
$Recommend = $DB->to_array();
@ -444,7 +465,7 @@
}
$Count = 0;
foreach ($News as $NewsItem) {
list($NewsID,$Title,$Body,$NewsTime) = $NewsItem;
list($NewsID, $Title, $Body, $NewsTime) = $NewsItem;
if (strtotime($NewsTime) > time()) {
continue;
}
@ -487,16 +508,18 @@ function contest() {
SUM(Points),
Username
FROM users_points AS up
JOIN users_main AS um ON um.ID=up.UserID
JOIN users_main AS um ON um.ID = up.UserID
GROUP BY UserID
ORDER BY SUM(Points) DESC
LIMIT 20");
$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();
$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;
?>
<li><?=Users::format_username($UserID, false, false, false)?> (<?=number_format($Points)?>)</li>
<?
}
?>
<? } ?>
</ol>
Total uploads: <?=$TotalPoints?><br />
<a href="index.php?action=scoreboard">Full scoreboard</a>
@ -520,5 +541,4 @@ function contest() {
</div>
<!-- END contest Section -->
<? } // contest()
?>

View File

@ -40,7 +40,7 @@
</tr>
<? if ($QueryStatus) { ?>
<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>
<?
}

View File

@ -1,4 +1,4 @@
<?
<?php
if (!empty($_GET['page']) && is_number($_GET['page'])) {
$Page = min(SPHINX_MAX_MATCHES / LOG_ENTRIES_PER_PAGE, $_GET['page']);
$Offset = ($Page - 1) * LOG_ENTRIES_PER_PAGE;
@ -7,7 +7,11 @@
$Offset = 0;
}
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();
if (!$NumResults) {
$TotalMatches = 0;
@ -40,8 +44,13 @@
$TotalMatches = min(SPHINX_MAX_MATCHES, $Result->get_meta('total_found'));
if ($NumResults > 0) {
$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 {
$Log = $DB->query("SET @nothing = 0");
$Log = $DB->query('
SET @nothing = 0');
}
}

View File

@ -1,4 +1,4 @@
<?
<?php
/*-- TODO ---------------------------//
Add the JavaScript validation into the display page using the class
@ -37,10 +37,10 @@
m.ipcc,
i.ResetExpires
FROM users_main AS m
INNER JOIN users_info AS i ON i.UserID=m.ID
WHERE i.ResetKey='".db_string($_REQUEST['key'])."'
INNER JOIN users_info AS i ON i.UserID = m.ID
WHERE i.ResetKey = '".db_string($_REQUEST['key'])."'
AND i.ResetKey != ''
AND m.Enabled='1'");
AND m.Enabled = '1'");
list($UserID, $Email, $Country, $Expires) = $DB->next_record();
if ($UserID && strtotime($Expires) > time()) {
@ -59,11 +59,11 @@
users_main AS m,
users_info AS i
SET
m.PassHash='".db_string(Users::make_crypt_hash($_REQUEST['password']))."',
i.ResetKey='',
i.ResetExpires='0000-00-00 00:00:00'
WHERE m.ID='".db_string($UserID)."'
AND i.UserID=m.ID");
m.PassHash = '".db_string(Users::make_crypt_hash($_REQUEST['password']))."',
i.ResetKey = '',
i.ResetExpires = '0000-00-00 00:00:00'
WHERE m.ID = '".db_string($UserID)."'
AND i.UserID = m.ID");
$Reset = true; // Past tense form of "to reset", meaning that password has now been reset
@ -81,9 +81,9 @@
// If his key has expired, clear all the reset information
$DB->query("
UPDATE users_info
SET ResetKey='',
ResetExpires='0000-00-00 00:00:00'
WHERE UserID='$UserID'");
SET ResetKey = '',
ResetExpires = '0000-00-00 00:00:00'
WHERE UserID = '$UserID'");
$_SESSION['reseterr'] = 'The link you were given has expired.'; // Error message to display on form
}
// Show him the first form (enter email address)
@ -137,17 +137,17 @@
$Sent = 1; // If $Sent is 1, recover_step1.php displays a success message
//Log out all of the users current sessions
$Cache->delete_value('user_info_'.$UserID);
$Cache->delete_value('user_info_heavy_'.$UserID);
$Cache->delete_value('user_stats_'.$UserID);
$Cache->delete_value('enabled_'.$UserID);
$Cache->delete_value("user_info_$UserID");
$Cache->delete_value("user_info_heavy_$UserID");
$Cache->delete_value("user_stats_$UserID");
$Cache->delete_value("enabled_$UserID");
$DB->query("
SELECT SessionID
FROM users_sessions
WHERE UserID='$UserID'");
WHERE UserID = '$UserID'");
while (list($SessionID) = $DB->next_record()) {
$Cache->delete_value('session_'.$UserID.'_'.$SessionID);
$Cache->delete_value("session_$UserID"."_$SessionID");
}
$DB->query("
UPDATE users_sessions
@ -199,29 +199,35 @@ function log_attempt($UserID) {
$DB->query("
UPDATE login_attempts
SET
LastAttempt='".sqltime()."',
Attempts='".db_string($Attempts)."',
BannedUntil='".db_string($BannedUntil)."',
Bans=Bans+1
WHERE ID='".db_string($AttemptID)."'");
LastAttempt = '".sqltime()."',
Attempts = '".db_string($Attempts)."',
BannedUntil = '".db_string($BannedUntil)."',
Bans = Bans + 1
WHERE ID = '".db_string($AttemptID)."'");
if ($Bans > 9) { // Automated bruteforce prevention
$DB->query("SELECT Reason FROM ip_bans WHERE ".$IP." BETWEEN FromIP AND ToIP");
if ($DB->record_count() > 0) {
$DB->query("
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
list($Reason) = $DB->next_record(MYSQLI_BOTH, false);
if ($Reason != 'Automated ban per >60 failed login attempts') {
$DB->query("
UPDATE ip_bans
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 {
//No ban
$DB->query("
INSERT IGNORE INTO ip_bans (FromIP, ToIP, Reason)
VALUES ('$IP','$IP', 'Automated ban per >60 failed login attempts')");
$Cache->delete_value('ip_bans_'.$IPA);
INSERT IGNORE INTO ip_bans
(FromIP, ToIP, Reason)
VALUES
('$IP','$IP', 'Automated ban per >60 failed login attempts')");
$Cache->delete_value("ip_bans_$IPA");
}
}
} else {
@ -229,16 +235,18 @@ function log_attempt($UserID) {
$DB->query("
UPDATE login_attempts
SET
LastAttempt='".sqltime()."',
Attempts='".db_string($Attempts)."',
BannedUntil='0000-00-00 00:00:00'
WHERE ID='".db_string($AttemptID)."'");
LastAttempt = '".sqltime()."',
Attempts = '".db_string($Attempts)."',
BannedUntil = '0000-00-00 00:00:00'
WHERE ID = '".db_string($AttemptID)."'");
}
} else { // User has not attempted to log in recently
$Attempts = 1;
$DB->query("
INSERT INTO login_attempts (UserID,IP,LastAttempt,Attempts)
VALUES ('".db_string($UserID)."','".db_string($IPStr)."','".sqltime()."',1)");
INSERT INTO login_attempts
(UserID, IP, LastAttempt, Attempts)
VALUES
('".db_string($UserID)."', '".db_string($IPStr)."', '".sqltime()."', 1)");
}
} // end log_attempt function
@ -261,7 +269,7 @@ function log_attempt($UserID) {
Secret,
Enabled
FROM users_main
WHERE Username='".db_string($_POST['username'])."'
WHERE Username = '".db_string($_POST['username'])."'
AND Username != ''");
list($UserID, $PermissionID, $CustomPermissions, $PassHash, $Secret, $Enabled) = $DB->next_record(MYSQLI_NUM, array(2));
if (strtotime($BannedUntil) < time()) {
@ -300,33 +308,33 @@ function log_attempt($UserID) {
INSERT INTO users_sessions
(UserID, SessionID, KeepLogged, Browser, OperatingSystem, IP, LastUpdate, FullUA)
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->insert_front($SessionID,array(
'SessionID'=>$SessionID,
'Browser'=>$Browser,
'OperatingSystem'=>$OperatingSystem,
'IP'=>$_SERVER['REMOTE_ADDR'],
'LastUpdate'=>sqltime()
$Cache->begin_transaction("users_sessions_$UserID");
$Cache->insert_front($SessionID, array(
'SessionID' => $SessionID,
'Browser' => $Browser,
'OperatingSystem' => $OperatingSystem,
'IP' => $_SERVER['REMOTE_ADDR'],
'LastUpdate' => sqltime()
));
$Cache->commit_transaction(0);
$Sql = "
UPDATE users_main
SET
LastLogin='".sqltime()."',
LastAccess='".sqltime()."'";
LastLogin = '".sqltime()."',
LastAccess = '".sqltime()."'";
$Sql .= "
WHERE ID='".db_string($UserID)."'";
WHERE ID = '".db_string($UserID)."'";
$DB->query($Sql);
if (!empty($_COOKIE['redirect'])) {
$URL = $_COOKIE['redirect'];
setcookie('redirect', '', time() - 60 * 60 * 24, '/', '', false);
header('Location: '.$URL);
header("Location: $URL");
die();
} else {
header('Location: index.php');

View File

@ -17,17 +17,34 @@
$Cache->InternalCache = false; // We don't want PHP to cache all results internally
$DB->query("TRUNCATE TABLE torrents_peerlists_compare");
$DB->query("INSERT INTO torrents_peerlists_compare
SELECT ID, GroupID, Seeders, Leechers, Snatched 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,
PRIMARY KEY (GroupID,TorrentID))");
$DB->query("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");
$DB->query("
INSERT INTO torrents_peerlists_compare
SELECT ID, GroupID, Seeders, Leechers, Snatched
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,
PRIMARY KEY (GroupID, TorrentID))");
$DB->query("
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;
$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;
$LastGroupID = 0;
@ -35,7 +52,7 @@
list($TorrentID, $GroupID, $Seeders, $Leechers, $Snatches) = $DB->next_record(MYSQLI_NUM, false);
while ($TorrentID) {
if ($LastGroupID != $GroupID) {
$CachedData = $Cache->get_value('torrent_group_'.$GroupID);
$CachedData = $Cache->get_value("torrent_group_$GroupID");
if ($CachedData !== false) {
if (isset($CachedData['ver']) && $CachedData['ver'] == CACHE::GROUP_VERSION) {
$CachedStats = &$CachedData['d']['Torrents'];
@ -56,23 +73,31 @@
unset($OldValues);
}
if (!($RowNum % $StepSize)) {
$DB->query("SELECT * FROM tpc_temp WHERE GroupID > $GroupID OR (GroupID = $GroupID AND TorrentID > $TorrentID)
ORDER BY GroupID ASC, TorrentID ASC LIMIT $StepSize");
$DB->query("
SELECT *
FROM tpc_temp
WHERE GroupID > $GroupID
OR (GroupID = $GroupID AND TorrentID > $TorrentID)
ORDER BY GroupID ASC, TorrentID ASC
LIMIT $StepSize");
}
$LastGroupID = $GroupID;
list($TorrentID, $GroupID, $Seeders, $Leechers, $Snatches) = $DB->next_record(MYSQLI_NUM, false);
}
if ($Changed) {
$Cache->cache_value('torrent_group_'.$LastGroupID, $CachedData, 0);
$Cache->cache_value("torrent_group_$LastGroupID", $CachedData, 0);
unset($CachedStats);
$UpdatedKeys++;
$Changed = false;
}
}
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("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')) {
echo '<pre>';

View File

@ -71,7 +71,7 @@
SELECT InviterID, Email
FROM invites
WHERE InviteKey = '".db_string($_REQUEST['invite'])."'");
if ($DB->record_count() == 0) {
if (!$DB->has_results()) {
$Err = 'Invite does not exist.';
$InviterID = 0;
} else {
@ -164,7 +164,7 @@
// 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
if ($DB->record_count() == 0) {
if (!$DB->has_results()) {
$DB->query("
SELECT MAX(TreeID) + 1
FROM invite_tree");
@ -244,7 +244,7 @@
SELECT InviteKey
FROM invites
WHERE InviteKey = '".db_string($_GET['invite'])."'");
if ($DB->record_count() == 0) {
if (!$DB->has_results()) {
error('Invite not found!');
}
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -29,7 +29,7 @@
if (array_key_exists($_POST['type'], $Types[$CategoryID])) {
$ReportType = $Types[$CategoryID][$_POST['type']];
} else if (array_key_exists($_POST['type'],$Types['master'])) {
} else if (array_key_exists($_POST['type'], $Types['master'])) {
$ReportType = $Types['master'][$_POST['type']];
} else {
//There was a type but it wasn't an option!
@ -46,13 +46,13 @@
if ($Recipient == 'Uploader') {
$ToID = $_POST['uploaderid'];
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 {
$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') {
$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 {
$Err = "Something went horribly wrong";
}

View File

@ -17,8 +17,14 @@
$Message = db_string($_POST['comment']);
//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();
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

@ -19,8 +19,8 @@
$DB->query("
SELECT tg.CategoryID, t.GroupID
FROM torrents_group AS tg
LEFT JOIN torrents AS t ON t.GroupID=tg.ID
WHERE t.ID=" . $_GET['id']);
LEFT JOIN torrents AS t ON t.GroupID = tg.ID
WHERE t.ID = " . $_GET['id']);
list($CategoryID, $GroupID) = $DB->next_record();
$Artists = Artists::get_artist($GroupID);
$TorrentCache = get_group_info($GroupID, true, $RevisionID);
@ -46,22 +46,22 @@
//Get the artist name, group name etc.
$Artists = Artists::get_artist($GroupID);
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;
$Title = $AltName;
}
if ($GroupYear > 0) {
$DisplayName.= " [$GroupYear]";
$AltName.= " [$GroupYear]";
$Title.= " [$GroupYear]";
$DisplayName .= " [$GroupYear]";
$AltName .= " [$GroupYear]";
$Title .= " [$GroupYear]";
}
if ($GroupVanityHouse) {
$DisplayName.=' [Vanity House]';
$AltName.=' [Vanity House]';
$DisplayName .=' [Vanity House]';
$AltName .=' [Vanity House]';
}
if ($GroupCategoryID == 1) {
$DisplayName.=' [' . $ReleaseTypes[$ReleaseType] . ']';
$AltName.=' [' . $ReleaseTypes[$ReleaseType] . ']';
$DisplayName .=' [' . $ReleaseTypes[$ReleaseType] . ']';
$AltName .=' [' . $ReleaseTypes[$ReleaseType] . ']';
}
}

View File

@ -37,85 +37,107 @@
$ID = '';
}
$Order = "ORDER BY r.ReportedTime ASC";
$Order = 'ORDER BY r.ReportedTime ASC';
if (!$ID) {
switch ($View) {
case 'resolved' :
case 'resolved':
$Title = 'All the old smelly reports';
$Where = "WHERE r.Status = 'Resolved'";
$Order = 'ORDER BY r.LastChangeTime DESC';
break;
case 'unauto' :
case 'unauto':
$Title = 'New reports, not auto assigned!';
$Where = "WHERE r.Status = 'New'";
break;
default :
default:
error(404);
break;
}
} else {
switch ($View) {
case 'staff' :
$DB->query("SELECT Username FROM users_main WHERE ID=".$ID);
case 'staff':
$DB->query("
SELECT Username
FROM users_main
WHERE ID = $ID");
list($Username) = $DB->next_record();
if ($Username) {
$Title = $Username."'s in-progress reports";
$Title = "$Username's in-progress reports";
} 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;
case 'resolver' :
$DB->query("SELECT Username FROM users_main WHERE ID=".$ID);
case 'resolver':
$DB->query("
SELECT Username
FROM users_main
WHERE ID = $ID");
list($Username) = $DB->next_record();
if ($Username) {
$Title = $Username."'s resolved reports";
$Title = "$Username's resolved reports";
} 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';
break;
case 'group' :
case 'group':
$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;
case 'torrent' :
$Title = 'All reports for the torrent '.$ID;
$Where = 'WHERE r.TorrentID = '.$ID;
case 'torrent':
$Title = "All reports for the torrent $ID";
$Where = "WHERE r.TorrentID = $ID";
break;
case 'report' :
$Title = 'Viewing resolution of report '.$ID;
$Where = 'WHERE r.ID = '.$ID;
case 'report':
$Title = "Viewing resolution of report $ID";
$Where = "WHERE r.ID = $ID";
break;
case 'reporter' :
$DB->query("SELECT Username FROM users_main WHERE ID=".$ID);
case 'reporter':
$DB->query("
SELECT Username
FROM users_main
WHERE ID = $ID");
list($Username) = $DB->next_record();
if ($Username) {
$Title = 'All torrents reported by '.$Username;
$Title = "All torrents reported by $Username";
} 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';
break;
case 'uploader' :
$DB->query("SELECT Username FROM users_main WHERE ID=".$ID);
case 'uploader':
$DB->query("
SELECT Username
FROM users_main
WHERE ID = $ID");
list($Username) = $DB->next_record();
if ($Username) {
$Title = 'All reports for torrents uploaded by '.$Username;
$Title = "All reports for torrents uploaded by $Username";
} 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;
case '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;
default :
default:
error(404);
break;
}
@ -170,13 +192,13 @@
t.UserID AS UploaderID,
uploader.Username
FROM reportsv2 AS r
LEFT JOIN torrents AS t ON t.ID=r.TorrentID
LEFT JOIN torrents_group AS tg ON tg.ID=t.GroupID
LEFT JOIN torrents_artists AS ta ON ta.GroupID=tg.ID AND ta.Importance='1'
LEFT JOIN artists_alias AS aa ON aa.AliasID=ta.AliasID
LEFT JOIN users_main AS resolver ON resolver.ID=r.ResolverID
LEFT JOIN users_main AS reporter ON reporter.ID=r.ReporterID
LEFT JOIN users_main AS uploader ON uploader.ID=t.UserID
LEFT JOIN torrents AS t ON t.ID = r.TorrentID
LEFT JOIN torrents_group AS tg ON tg.ID = t.GroupID
LEFT JOIN torrents_artists AS ta ON ta.GroupID = tg.ID AND ta.Importance = '1'
LEFT JOIN artists_alias AS aa ON aa.AliasID = ta.AliasID
LEFT JOIN users_main AS resolver ON resolver.ID = r.ResolverID
LEFT JOIN users_main AS reporter ON reporter.ID = r.ReporterID
LEFT JOIN users_main AS uploader ON uploader.ID = t.UserID
$Where
GROUP BY r.ID
$Order
@ -227,17 +249,17 @@
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,
$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') {
//Torrent already deleted
$DB->query("
UPDATE reportsv2
SET
Status='Resolved',
LastChangeTime='".sqltime()."',
ModComment='Report already dealt with (torrent deleted)'
WHERE ID=".$ReportID);
Status = 'Resolved',
LastChangeTime = '".sqltime()."',
ModComment = 'Report already dealt with (torrent deleted)'
WHERE ID = $ReportID");
$Cache->decrement('num_torrent_reportsv2');
?>
<div id="report<?=$ReportID?>">
@ -256,7 +278,7 @@
} else {
if (array_key_exists($Type, $Types[$CategoryID])) {
$ReportType = $Types[$CategoryID][$Type];
} elseif (array_key_exists($Type,$Types['master'])) {
} elseif (array_key_exists($Type, $Types['master'])) {
$ReportType = $Types['master'][$Type];
} else {
//There was a type but it wasn't an option!
@ -323,11 +345,12 @@
<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') {
$DB->query("SELECT r.ID
FROM reportsv2 AS r
LEFT JOIN torrents AS t ON t.ID=r.TorrentID
WHERE r.Status != 'Resolved'
AND t.GroupID=$GroupID");
$DB->query("
SELECT r.ID
FROM reportsv2 AS r
LEFT JOIN torrents AS t ON t.ID = r.TorrentID
WHERE r.Status != 'Resolved'
AND t.GroupID = $GroupID");
$GroupOthers = ($DB->record_count() - 1);
if ($GroupOthers > 0) { ?>
@ -336,11 +359,12 @@
</div>
<? }
$DB->query("SELECT t.UserID
FROM reportsv2 AS r
JOIN torrents AS t ON t.ID=r.TorrentID
WHERE r.Status != 'Resolved'
AND t.UserID=$UploaderID");
$DB->query("
SELECT t.UserID
FROM reportsv2 AS r
JOIN torrents AS t ON t.ID = r.TorrentID
WHERE r.Status != 'Resolved'
AND t.UserID = $UploaderID");
$UploaderOthers = ($DB->record_count() - 1);
if ($UploaderOthers > 0) { ?>
@ -349,18 +373,19 @@
</div>
<? }
$DB->query("SELECT DISTINCT req.ID,
req.FillerID,
um.Username,
req.TimeFilled
FROM requests AS req
LEFT JOIN torrents AS t ON t.ID=req.TorrentID
LEFT JOIN reportsv2 AS rep ON rep.TorrentID=t.ID
JOIN users_main AS um ON um.ID=req.FillerID
WHERE rep.Status != 'Resolved'
AND req.TimeFilled > '2010-03-04 02:31:49'
AND req.TorrentID = $TorrentID");
$Requests = ($DB->record_count());
$DB->query("
SELECT DISTINCT req.ID,
req.FillerID,
um.Username,
req.TimeFilled
FROM requests AS req
LEFT JOIN torrents AS t ON t.ID = req.TorrentID
LEFT JOIN reportsv2 AS rep ON rep.TorrentID = t.ID
JOIN users_main AS um ON um.ID = req.FillerID
WHERE rep.Status != 'Resolved'
AND req.TimeFilled > '2010-03-04 02:31:49'
AND req.TorrentID = $TorrentID");
$Requests = ($DB->has_results());
if ($Requests > 0) {
while (list($RequestID, $FillerID, $FillerName, $FilledTime) = $DB->next_record()) {
?>
@ -439,11 +464,11 @@
t.UserID AS UploaderID,
uploader.Username
FROM torrents AS t
LEFT JOIN torrents_group AS tg ON tg.ID=t.GroupID
LEFT JOIN torrents_artists AS ta ON ta.GroupID=tg.ID AND ta.Importance='1'
LEFT JOIN artists_alias AS aa ON aa.AliasID=ta.AliasID
LEFT JOIN users_main AS uploader ON uploader.ID=t.UserID
WHERE t.ID='$ExtraID'
LEFT JOIN torrents_group AS tg ON tg.ID = t.GroupID
LEFT JOIN torrents_artists AS ta ON ta.GroupID = tg.ID AND ta.Importance = '1'
LEFT JOIN artists_alias AS aa ON aa.AliasID = ta.AliasID
LEFT JOIN users_main AS uploader ON uploader.ID = t.UserID
WHERE t.ID = '$ExtraID'
GROUP BY tg.ID");
list($ExtraGroupName, $ExtraGroupID, $ExtraArtistID, $ExtraArtistName, $ExtraYear, $ExtraTime, $ExtraRemastered, $ExtraRemasterTitle,
@ -481,7 +506,7 @@
$Images = explode(' ', $Images);
foreach ($Images as $Image) {
?>
<img style="max-width: 200px;" onclick="lightbox.init(this,200);" src="<?=ImageTools::process($Image)?>" alt="Relevant image" />
<img style="max-width: 200px;" onclick="lightbox.init(this, 200);" src="<?=ImageTools::process($Image)?>" alt="Relevant image" />
<?
} ?>
</td>
@ -506,7 +531,7 @@
<td class="label">Report comment:</td>
<td colspan="3">
<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>
</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>
</td>
<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];
$Priorities = array();
@ -550,7 +575,7 @@
</span>
&nbsp;&nbsp;
<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>
</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;.">
<textarea name="uploader_pm" id="uploader_pm<?=$ReportID?>" cols="50" rows="1"></textarea>
</span>
<input type="button" value="Send now" onclick="SendPM(<?=$ReportID?>)" />
<input type="button" value="Send now" onclick="SendPM(<?=$ReportID?>);" />
</td>
</tr>
<tr>
@ -577,7 +602,7 @@
$Extras = explode(' ', $ExtraIDs);
$Value = '';
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).'"';
} ?>/>
@ -638,10 +663,10 @@
<br />
</div>
<script type="text/javascript">//<![CDATA[
Load('<?=$ReportID?>');
Load('<?=$ReportID?>');
//]]>
</script>
<?
<?
}
}
}

View File

@ -42,7 +42,7 @@
foreach ($ReportType['report_fields'] as $Field => $Value) {
if ($Value == '1') {
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!";
}
} 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 {
$ExtraIDs = '';
@ -86,7 +86,7 @@
if (preg_match('/([0-9]+( [0-9]+)*)|All/is', $_POST['track'], $Matches)) {
$Tracks = $Matches[0];
} 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 {
$Tracks = '';
@ -98,8 +98,11 @@
$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);
if ($DB->record_count() < 1) {
$DB->query("
SELECT ID
FROM torrents
WHERE ID = $TorrentID");
if (!$DB->has_results()) {
$Err = "A torrent with that ID doesn't exist!";
}
@ -109,22 +112,28 @@
die();
}
$DB->query("SELECT ID FROM reportsv2 WHERE TorrentID=".$TorrentID." AND ReporterID=".db_string($LoggedUser['ID'])." AND ReportedTime > '".time_minus(3)."'");
if ($DB->record_count() > 0) {
header('Location: torrents.php?torrentid='.$TorrentID);
$DB->query("
SELECT ID
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();
}
$DB->query("INSERT INTO reportsv2
(ReporterID, TorrentID, Type, UserComment, Status, ReportedTime, Track, Image, ExtraID, Link)
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->query("
INSERT INTO reportsv2
(ReporterID, TorrentID, Type, UserComment, Status, ReportedTime, Track, Image, ExtraID, Link)
VALUES
(".db_string($LoggedUser['ID']).", $TorrentID, '".db_string($Type)."', '$Extra', 'New', '".sqltime()."', '".db_string($Tracks)."', '".db_string($Images)."', '".db_string($ExtraIDs)."', '".db_string($Links)."')");
$ReportID = $DB->inserted_id();
$Cache->delete_value('reports_torrent_'.$TorrentID);
$Cache->delete_value("reports_torrent_$TorrentID");
$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 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
* a collision occurs or a POST attack is detected.
*/
@ -13,7 +13,7 @@
//Don't escape: Log message, Admin message
$Escaped = db_array($_POST, array('log_message','admin_message', 'raw_name'));
$Escaped = db_array($_POST, array('log_message', 'admin_message', 'raw_name'));
//If we're here from the delete torrent page instead of the reports page.
if (!isset($Escaped['from_delete'])) {
@ -58,35 +58,35 @@
$TorrentID = $Escaped['torrentid'];
$RawName = $Escaped['raw_name'];
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.';
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.";
die();
}
if (($Escaped['resolve_type'] == "manual" || $Escaped['resolve_type'] == "dismiss" ) && $Report) {
if (($Escaped['resolve_type'] == 'manual' || $Escaped['resolve_type'] == 'dismiss') && $Report) {
if ($Escaped['comment']) {
$Comment = $Escaped['comment'];
} else {
if ($Escaped['resolve_type'] == "manual") {
$Comment = "Report was resolved manually";
} elseif ($Escaped['resolve_type'] == "dismiss") {
$Comment = "Report was dismissed as invalid";
if ($Escaped['resolve_type'] == 'manual') {
$Comment = 'Report was resolved manually.';
} elseif ($Escaped['resolve_type'] == 'dismiss') {
$Comment = 'Report was dismissed as invalid.';
}
}
$DB->query("
UPDATE reportsv2
SET
Status='Resolved',
LastChangeTime='".sqltime()."',
Status = 'Resolved',
LastChangeTime = '".sqltime()."',
ModComment = '$Comment',
ResolverID='".$LoggedUser['ID']."'
WHERE ID='$ReportID'
ResolverID = '".$LoggedUser['ID']."'
WHERE ID = '$ReportID'
AND Status != 'Resolved'");
if ($DB->affected_rows() > 0) {
$Cache->delete_value('num_torrent_reportsv2');
$Cache->delete_value('reports_torrent_'.$TorrentID);
$Cache->delete_value("reports_torrent_$TorrentID");
} else {
//Someone beat us to it. Inform the staffer.
?>
@ -108,7 +108,7 @@
die();
} elseif (array_key_exists($_POST['resolve_type'], $Types[$CategoryID])) {
$ResolveType = $Types[$CategoryID][$_POST['resolve_type']];
} elseif (array_key_exists($_POST['resolve_type'],$Types['master'])) {
} elseif (array_key_exists($_POST['resolve_type'], $Types['master'])) {
$ResolveType = $Types['master'][$_POST['resolve_type']];
} else {
//There was a type but it wasn't an option!
@ -116,17 +116,19 @@
die();
}
$DB->query("SELECT ID FROM torrents WHERE ID = ".$TorrentID);
$TorrentExists = ($DB->record_count() > 0);
$DB->query("
SELECT ID
FROM torrents
WHERE ID = $TorrentID");
$TorrentExists = ($DB->has_results());
if (!$TorrentExists) {
$DB->query("
UPDATE reportsv2
SET Status='Resolved',
LastChangeTime='".sqltime()."',
ResolverID='".$LoggedUser['ID']."',
ModComment='Report already dealt with (Torrent deleted)'
WHERE ID=".$ReportID);
SET Status = 'Resolved',
LastChangeTime = '".sqltime()."',
ResolverID = '".$LoggedUser['ID']."',
ModComment = 'Report already dealt with (torrent deleted).'
WHERE ID = $ReportID");
$Cache->decrement('num_torrent_reportsv2');
}
@ -135,10 +137,10 @@
//Resolve with a parallel check
$DB->query("
UPDATE reportsv2
SET Status='Resolved',
LastChangeTime='".sqltime()."',
ResolverID='".$LoggedUser['ID']."'
WHERE ID=$ReportID
SET Status = 'Resolved',
LastChangeTime = '".sqltime()."',
ResolverID = '".$LoggedUser['ID']."'
WHERE ID = $ReportID
AND Status != 'Resolved'");
}
@ -156,72 +158,98 @@
$Upload = false;
}
if ($_POST['resolve_type'] == "tags_lots") {
$DB->query("INSERT IGNORE INTO torrents_bad_tags (TorrentID, UserID, TimeAdded) VALUES (".$TorrentID.", ".$LoggedUser['ID']." , '".sqltime()."')");
$DB->query("SELECT GroupID FROM torrents WHERE ID = ".$TorrentID);
if ($_POST['resolve_type'] == 'tags_lots') {
$DB->query("
INSERT IGNORE INTO torrents_bad_tags
(TorrentID, UserID, TimeAdded)
VALUES
($TorrentID, ".$LoggedUser['ID']." , '".sqltime()."')");
$DB->query("
SELECT GroupID
FROM torrents
WHERE ID = $TorrentID");
list($GroupID) = $DB->next_record();
$Cache->delete_value('torrents_details_'.$GroupID);
$Cache->delete_value("torrents_details_$GroupID");
$SendPM = true;
}
if ($_POST['resolve_type'] == "folders_bad") {
$DB->query("INSERT IGNORE INTO torrents_bad_folders (TorrentID, UserID, TimeAdded) VALUES (".$TorrentID.", ".$LoggedUser['ID'].", '".sqltime()."')");
$DB->query("SELECT GroupID FROM torrents WHERE ID = ".$TorrentID);
if ($_POST['resolve_type'] == 'folders_bad') {
$DB->query("
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();
$Cache->delete_value('torrents_details_'.$GroupID);
$Cache->delete_value("torrents_details_$GroupID");
$SendPM = true;
}
if ($_POST['resolve_type'] == "filename") {
$DB->query("INSERT IGNORE INTO torrents_bad_files (TorrentID, UserID, TimeAdded) VALUES (".$TorrentID.", ".$LoggedUser['ID'].", '".sqltime()."')");
$DB->query("SELECT GroupID FROM torrents WHERE ID = ".$TorrentID);
if ($_POST['resolve_type'] == 'filename') {
$DB->query("
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();
$Cache->delete_value('torrents_details_'.$GroupID);
$Cache->delete_value("torrents_details_$GroupID");
$SendPM = true;
}
//Log and delete
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();
$Log = "Torrent ".$TorrentID." (".$RawName.") uploaded by ".$UpUsername." was deleted by ".$LoggedUser['Username'];
$Log .= ($Escaped['resolve_type'] == 'custom' ? "" : " for the reason: ".$ResolveType['title'].".");
if (isset($Escaped['log_message']) && $Escaped['log_message'] != "") {
$Log .= " ( ".$Escaped['log_message']." )";
$Log = "Torrent $TorrentID ($RawName) uploaded by $UpUsername was deleted by ".$LoggedUser['Username'];
$Log .= ($Escaped['resolve_type'] == 'custom' ? '' : ' for the reason: '.$ResolveType['title'].".");
if (isset($Escaped['log_message']) && $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();
Torrents::delete_torrent($TorrentID, 0, $ResolveType['reason']);
//$InfoHash = unpack("H*", $InfoHash);
$Log .= " (".strtoupper($InfoHash).")";
$Log .= ' ('.strtoupper($InfoHash).')';
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);
} else {
$Log = "No log message (Torrent wasn't deleted)";
$Log = "No log message (torrent wasn't deleted).";
}
//Warnings / remove 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->commit_transaction(0);
$DB->query("
UPDATE users_info
SET DisableUpload='1'
WHERE UserID=".$UploaderID);
SET DisableUpload = '1'
WHERE UserID = $UploaderID");
}
if ($Warning > 0) {
$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']) {
$Reason .= " (".$Escaped['admin_message'].").";
$Reason .= ' ('.$Escaped['admin_message'].').';
}
if ($Upload) {
$Reason .= " (Upload privileges Removed).";
$Reason .= ' (Upload privileges removed).';
}
Tools::warn_user($UploaderID, $WarnLength, $Reason);
@ -230,66 +258,69 @@
$AdminComment = '';
if ($Upload) {
//They removed upload
$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 .= '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)";
}
if ($Escaped['admin_message']) {
//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) {
$AdminComment = date("Y-m-d").' - '.$AdminComment."\n\n";
$AdminComment = date('Y-m-d') . " - $AdminComment\n\n";
$DB->query("UPDATE users_info SET
AdminComment=CONCAT('".db_string($AdminComment)."',AdminComment)
WHERE UserID='".db_string($UploaderID)."'");
$DB->query("
UPDATE users_info
SET AdminComment = CONCAT('".db_string($AdminComment)."', AdminComment)
WHERE UserID = '".db_string($UploaderID)."'");
}
}
//PM
if ($Escaped['uploader_pm'] || $Warning > 0 || isset($Escaped['delete']) || $SendPM) {
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 {
$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'];
if ($Preset != '') {
$PM .= "Reason: ".$Preset;
$PM .= "Reason: $Preset";
}
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) {
$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) {
$PM = $PM."\nLog Message: ".$Log."\n";
$PM = "$PM\nLog Message: $Log\n";
}
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);
}
$Cache->delete_value('reports_torrent_'.$TorrentID);
$Cache->delete_value("reports_torrent_$TorrentID");
//Now we've done everything, update the DB with values
if ($Report) {
$DB->query("UPDATE reportsv2 SET
Type = '".$Escaped['resolve_type']."',
LogMessage='".db_string($Log)."',
ModComment='".$Escaped['comment']."'
WHERE ID=".$ReportID);
$DB->query("
UPDATE reportsv2
SET
Type = '".$Escaped['resolve_type']."',
LogMessage = '".db_string($Log)."',
ModComment = '".$Escaped['comment']."'
WHERE ID = $ReportID");
}
} else {
//Someone beat us to it. Inform the staffer.

View File

@ -62,20 +62,22 @@
$DB->query("
SELECT
CEIL((
SELECT COUNT(ID)+1
SELECT COUNT(ID) + 1
FROM requests_comments AS rc
WHERE rc.RequestID='".$RequestID."'
)/".TORRENT_COMMENTS_PER_PAGE."
WHERE rc.RequestID = '$RequestID'
) / ".TORRENT_COMMENTS_PER_PAGE."
) AS Pages");
list($Pages) = $DB->next_record();
$DB->query("
INSERT INTO requests_comments (RequestID,AuthorID,AddedTime,Body)
VALUES ('$RequestID', '".db_string($LoggedUser['ID'])."','".sqltime()."','".db_string($_POST['body'])."')");
INSERT INTO requests_comments
(RequestID, AuthorID, AddedTime, Body)
VALUES
('$RequestID', '".db_string($LoggedUser['ID'])."', '".sqltime()."', '".db_string($_POST['body'])."')");
$PostID = $DB->inserted_id();
$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(
'ID'=>$PostID,
'AuthorID'=>$LoggedUser['ID'],
@ -87,9 +89,9 @@
);
$Cache->insert('', $Post);
$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;
case 'get_post':
@ -97,7 +99,10 @@
if (!$_GET['post'] || !is_number($_GET['post'])) {
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);
echo trim($Body);
@ -123,8 +128,8 @@
rc.RequestID,
rc.AddedTime
FROM requests_comments AS rc
WHERE rc.ID='".db_string($_POST['post'])."'");
list($OldBody, $AuthorID,$RequestID,$AddedTime)=$DB->next_record();
WHERE rc.ID = '".db_string($_POST['post'])."'");
list($OldBody, $AuthorID, $RequestID, $AddedTime) = $DB->next_record();
$DB->query("
SELECT ceil(COUNT(ID) / ".POSTS_PER_PAGE.") AS Page
@ -136,7 +141,7 @@
if ($LoggedUser['ID'] != $AuthorID && !check_perms('site_moderate_forums')) {
error(404);
}
if ($DB->record_count() == 0) {
if (!$DB->has_results()) {
error(404);
}
@ -147,11 +152,11 @@
Body = '".db_string($_POST['body'])."',
EditedUserID = '".db_string($LoggedUser['ID'])."',
EditedTime = '".sqltime()."'
WHERE ID='".db_string($_POST['post'])."'");
WHERE ID = '".db_string($_POST['post'])."'");
// Update the cache
$CatalogueID = floor((TORRENT_COMMENTS_PER_PAGE*$Page-TORRENT_COMMENTS_PER_PAGE)/THREAD_CATALOGUE);
$Cache->begin_transaction('request_comments_'.$RequestID.'_catalogue_'.$CatalogueID);
$CatalogueID = floor((TORRENT_COMMENTS_PER_PAGE * $Page - TORRENT_COMMENTS_PER_PAGE) / THREAD_CATALOGUE);
$Cache->begin_transaction("request_comments_$RequestID"."_catalogue_$CatalogueID");
$Cache->update_row($_POST['key'], array(
'ID'=>$_POST['post'],
@ -165,8 +170,10 @@
$Cache->commit_transaction(0);
$DB->query("
INSERT INTO comments_edits (Page, PostID, EditUser, EditTime, Body)
VALUES ('requests', ".db_string($_POST['post']).", ".db_string($LoggedUser['ID']).", '".sqltime()."', '".db_string($OldBody)."')");
INSERT INTO comments_edits
(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
echo $Text->full_format($_POST['body']);
@ -190,36 +197,38 @@
$DB->query("
SELECT DISTINCT
RequestID,
CEIL(COUNT(rc.ID)/".TORRENT_COMMENTS_PER_PAGE.") AS Pages,
CEIL(SUM(IF(rc.ID<=".$_GET['postid'].",1,0))/".TORRENT_COMMENTS_PER_PAGE.") AS Page
CEIL(COUNT(rc.ID) / ".TORRENT_COMMENTS_PER_PAGE.") AS Pages,
CEIL(SUM(IF(rc.ID <= ".$_GET['postid'].", 1, 0)) / ".TORRENT_COMMENTS_PER_PAGE.") AS Page
FROM requests_comments AS rc
WHERE rc.RequestID=(
WHERE rc.RequestID = (
SELECT RequestID
FROM requests_comments
WHERE ID='".db_string($_GET['postid'])."'
WHERE ID = '".db_string($_GET['postid'])."'
)");
list($RequestID,$Pages,$Page) = $DB->next_record();
list($RequestID, $Pages, $Page) = $DB->next_record();
// $Pages = number of pages in the thread
// $Page = which page the post is on
// 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
$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);
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)
$Cache->delete_value('request_comments_'.$GroupID);
$Cache->delete_value("request_comments_$GroupID");
break;
case 'warn' :
case 'warn':
include(SERVER_ROOT.'/sections/requests/warn.php');
break;
case 'take_warn' :
case 'take_warn':
include(SERVER_ROOT.'/sections/requests/take_warn.php');
break;
default:

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