Empty commit

This commit is contained in:
Git 2013-05-06 08:00:32 +00:00
parent d002af2f86
commit 0c3c009079
21 changed files with 122 additions and 112 deletions

View File

@ -16,10 +16,10 @@
as get, but cache_value only takes the key, the value, and the duration as get, but cache_value only takes the key, the value, and the duration
(no zlib). (no zlib).
//unix sockets // Unix sockets
memcached -d -m 5120 -s /var/run/memcached.sock -a 0777 -t16 -C -u root memcached -d -m 5120 -s /var/run/memcached.sock -a 0777 -t16 -C -u root
//tcp bind // TCP bind
memcached -d -m 8192 -l 10.10.0.1 -t8 -C memcached -d -m 8192 -l 10.10.0.1 -t8 -C
|*************************************************************************/ |*************************************************************************/
@ -28,8 +28,7 @@
die('Memcache Extension not loaded.'); die('Memcache Extension not loaded.');
} }
class CACHE extends Memcache class CACHE extends Memcache {
{
/** /**
* Torrent Group cache version * Torrent Group cache version
*/ */
@ -64,51 +63,51 @@ function __construct($Servers) {
// Allows us to set an expiration on otherwise perminantly cache'd values // Allows us to set an expiration on otherwise perminantly cache'd values
// Useful for disabled users, locked threads, basically reducing ram usage // Useful for disabled users, locked threads, basically reducing ram usage
public function expire_value($Key, $Duration=2592000) { public function expire_value($Key, $Duration = 2592000) {
$StartTime=microtime(true); $StartTime = microtime(true);
$this->set($Key, $this->get($Key), $Duration); $this->set($Key, $this->get($Key), $Duration);
$this->Time+=(microtime(true)-$StartTime)*1000; $this->Time += (microtime(true) - $StartTime) * 1000;
} }
// Wrapper for Memcache::set, with the zlib option removed and default duration of 30 days // Wrapper for Memcache::set, with the zlib option removed and default duration of 30 days
public function cache_value($Key, $Value, $Duration=2592000) { public function cache_value($Key, $Value, $Duration = 2592000) {
$StartTime=microtime(true); $StartTime = microtime(true);
if (empty($Key)) { if (empty($Key)) {
trigger_error("Cache insert failed for empty key"); trigger_error("Cache insert failed for empty key");
} }
if (!$this->set($Key, $Value, 0, $Duration)) { if (!$this->set($Key, $Value, 0, $Duration)) {
trigger_error("Cache insert failed for key $Key"); trigger_error("Cache insert failed for key $Key");
} }
$this->Time+=(microtime(true)-$StartTime)*1000; $this->Time += (microtime(true) - $StartTime) * 1000;
} }
// Wrapper for Memcache::add, with the zlib option removed and default duration of 30 days // Wrapper for Memcache::add, with the zlib option removed and default duration of 30 days
public function add_value($Key, $Value, $Duration=2592000) { public function add_value($Key, $Value, $Duration = 2592000) {
$StartTime=microtime(true); $StartTime = microtime(true);
$Added=$this->add($Key, $Value, 0, $Duration); $Added = $this->add($Key, $Value, 0, $Duration);
$this->Time+=(microtime(true)-$StartTime)*1000; $this->Time += (microtime(true) - $StartTime) * 1000;
return $Added; return $Added;
} }
public function replace_value($Key, $Value, $Duration=2592000) { public function replace_value($Key, $Value, $Duration = 2592000) {
$StartTime=microtime(true); $StartTime = microtime(true);
$this->replace($Key, $Value, false, $Duration); $this->replace($Key, $Value, false, $Duration);
$this->Time+=(microtime(true)-$StartTime)*1000; $this->Time += (microtime(true) - $StartTime) * 1000;
} }
public function get_value($Key, $NoCache=false) { public function get_value($Key, $NoCache = false) {
if (!$this->InternalCache) { if (!$this->InternalCache) {
$NoCache = true; $NoCache = true;
} }
$StartTime=microtime(true); $StartTime=microtime(true);
if (empty($Key)) { if (empty($Key)) {
trigger_error("Cache retrieval failed for empty key"); trigger_error('Cache retrieval failed for empty key');
} }
if (isset($_GET['clearcache']) && $this->CanClear && !Misc::in_array_partial($Key, $this->PersistentKeys)) { if (isset($_GET['clearcache']) && $this->CanClear && !Misc::in_array_partial($Key, $this->PersistentKeys)) {
if ($_GET['clearcache'] == 1) { if ($_GET['clearcache'] == 1) {
//Because check_perms isn't true until loggeduser is pulled from the cache, we have to remove the entries loaded before the loggeduser data // Because check_perms() isn't true until LoggedUser is pulled from the cache, we have to remove the entries loaded before the LoggedUser data
//Because of this, not user cache data will require a secondary pageload following the clearcache to update // Because of this, not user cache data will require a secondary pageload following the clearcache to update
if (count($this->CacheHits) > 0) { if (count($this->CacheHits) > 0) {
foreach (array_keys($this->CacheHits) as $HitKey) { foreach (array_keys($this->CacheHits) as $HitKey) {
if (!Misc::in_array_partial($HitKey, $this->PersistentKeys)) { if (!Misc::in_array_partial($HitKey, $this->PersistentKeys)) {
@ -118,11 +117,11 @@ public function get_value($Key, $NoCache=false) {
} }
} }
$this->delete($Key); $this->delete($Key);
$this->Time+=(microtime(true)-$StartTime)*1000; $this->Time += (microtime(true) - $StartTime) * 1000;
return false; return false;
} elseif ($_GET['clearcache'] == $Key) { } elseif ($_GET['clearcache'] == $Key) {
$this->delete($Key); $this->delete($Key);
$this->Time+=(microtime(true)-$StartTime)*1000; $this->Time += (microtime(true) - $StartTime) * 1000;
return false; return false;
} elseif (in_array($_GET['clearcache'], $this->CacheHits)) { } elseif (in_array($_GET['clearcache'], $this->CacheHits)) {
unset($this->CacheHits[$_GET['clearcache']]); unset($this->CacheHits[$_GET['clearcache']]);
@ -130,9 +129,9 @@ public function get_value($Key, $NoCache=false) {
} }
} }
//For cases like the forums, if a keys already loaded grab the existing pointer // For cases like the forums, if a key is already loaded, grab the existing pointer
if (isset($this->CacheHits[$Key]) && !$NoCache) { if (isset($this->CacheHits[$Key]) && !$NoCache) {
$this->Time+=(microtime(true)-$StartTime)*1000; $this->Time += (microtime(true) - $StartTime) * 1000;
return $this->CacheHits[$Key]; return $this->CacheHits[$Key];
} }
@ -140,26 +139,26 @@ public function get_value($Key, $NoCache=false) {
if ($Return !== false) { if ($Return !== false) {
$this->CacheHits[$Key] = $NoCache ? null : $Return; $this->CacheHits[$Key] = $NoCache ? null : $Return;
} }
$this->Time+=(microtime(true)-$StartTime)*1000; $this->Time += (microtime(true) - $StartTime) * 1000;
return $Return; return $Return;
} }
// Wrapper for Memcache::delete. For a reason, see above. // Wrapper for Memcache::delete. For a reason, see above.
public function delete_value($Key) { public function delete_value($Key) {
$StartTime=microtime(true); $StartTime = microtime(true);
if (empty($Key)) { if (empty($Key)) {
trigger_error("Cache deletion failed for empty key"); trigger_error('Cache deletion failed for empty key');
} }
if (!$this->delete($Key)) { if (!$this->delete($Key)) {
//trigger_error("Cache delete failed for key $Key"); //trigger_error("Cache delete failed for key $Key");
} }
$this->Time+=(microtime(true)-$StartTime)*1000; $this->Time += (microtime(true) - $StartTime) * 1000;
} }
public function increment_value($Key,$Value=1) { public function increment_value($Key, $Value = 1) {
$StartTime=microtime(true); $StartTime = microtime(true);
$this->increment($Key,$Value); $this->increment($Key, $Value);
$this->Time+=(microtime(true)-$StartTime)*1000; $this->Time += (microtime(true) - $StartTime) * 1000;
} }
//---------- memcachedb functions ----------// //---------- memcachedb functions ----------//
@ -184,7 +183,7 @@ public function cancel_transaction() {
$this->MemcacheDBKey = ''; $this->MemcacheDBKey = '';
} }
public function commit_transaction($Time=2592000) { public function commit_transaction($Time = 2592000) {
if (!$this->InTransaction) { if (!$this->InTransaction) {
return false; return false;
} }
@ -261,10 +260,10 @@ public function increment_row($Row, $Values) {
} }
foreach ($Values as $Key => $Value) { foreach ($Values as $Key => $Value) {
if (!array_key_exists($Key, $UpdateArray)) { if (!array_key_exists($Key, $UpdateArray)) {
trigger_error('Bad transaction key ('.$Key.') for cache '.$this->MemcacheDBKey); trigger_error("Bad transaction key ($Key) for cache ".$this->MemcacheDBKey);
} }
if (!is_number($Value)) { if (!is_number($Value)) {
trigger_error('Tried to increment with non-number ('.$Key.') for cache '.$this->MemcacheDBKey); trigger_error("Tried to increment with non-number ($Key) for cache ".$this->MemcacheDBKey);
} }
$UpdateArray[$Key] += $Value; // Increment value $UpdateArray[$Key] += $Value; // Increment value
} }
@ -316,12 +315,12 @@ public function delete_row($Row) {
return false; return false;
} }
if (!isset($this->MemcacheDBArray[$Row])) { if (!isset($this->MemcacheDBArray[$Row])) {
trigger_error('Tried to delete non-existent row ('.$Row.') for cache '.$this->MemcacheDBKey); trigger_error("Tried to delete non-existent row ($Row) for cache ".$this->MemcacheDBKey);
} }
unset($this->MemcacheDBArray[$Row]); unset($this->MemcacheDBArray[$Row]);
} }
public function update($Key, $Rows, $Values, $Time=2592000) { public function update($Key, $Rows, $Values, $Time = 2592000) {
if (!$this->InTransaction) { if (!$this->InTransaction) {
$this->begin_transaction($Key); $this->begin_transaction($Key);
$this->update_transaction($Rows, $Values); $this->update_transaction($Rows, $Values);
@ -329,7 +328,6 @@ public function update($Key, $Rows, $Values, $Time=2592000) {
} else { } else {
$this->update_transaction($Rows, $Values); $this->update_transaction($Rows, $Values);
} }
} }
/** /**

View File

@ -658,7 +658,7 @@ private function to_html ($Array) {
$Str.='<a href="wiki.php?action=article&amp;name='.urlencode($Block['Val']).'">'.$Block['Val'].'</a>'; $Str.='<a href="wiki.php?action=article&amp;name='.urlencode($Block['Val']).'">'.$Block['Val'].'</a>';
break; break;
case 'tex': case 'tex':
$Str.='<img style="vertical-align: middle" src="'.STATIC_SERVER.'blank.gif" onload="if (this.src.substr(this.src.length-9,this.src.length) == \'blank.gif\') { this.src = \'http://chart.apis.google.com/chart?cht=tx&amp;chf=bg,s,FFFFFF00&amp;chl='.urlencode(mb_convert_encoding($Block['Val'],"UTF-8","HTML-ENTITIES")).'&amp;chco=\' + hexify(getComputedStyle(this.parentNode,null).color); }" alt="'.$Block['Val'].'" />'; $Str.='<img style="vertical-align: middle;" src="'.STATIC_SERVER.'blank.gif" onload="if (this.src.substr(this.src.length-9,this.src.length) == \'blank.gif\') { this.src = \'http://chart.apis.google.com/chart?cht=tx&amp;chf=bg,s,FFFFFF00&amp;chl='.urlencode(mb_convert_encoding($Block['Val'],"UTF-8","HTML-ENTITIES")).'&amp;chco=\' + hexify(getComputedStyle(this.parentNode,null).color); }" alt="'.$Block['Val'].'" />';
break; break;
case 'plain': case 'plain':
$Str.=$Block['Val']; $Str.=$Block['Val'];
@ -729,7 +729,7 @@ private function to_html ($Array) {
$Exploded = explode('|', $this->to_html($Block['Attr'])); $Exploded = explode('|', $this->to_html($Block['Attr']));
if (isset($Exploded[1]) && is_numeric($Exploded[1])) { if (isset($Exploded[1]) && is_numeric($Exploded[1])) {
$PostID = trim($Exploded[1]); $PostID = trim($Exploded[1]);
$Str.='<a href="forums.php?action=viewthread&postid='.$PostID.'" onclick="QuoteJump(event, '.$PostID.'); return false;"><strong class="quoteheader">'.$Exploded[0].'</strong> wrote: </a>'; $Str.='<a href="forums.php?action=viewthread&amp;postid='.$PostID.'" onclick="QuoteJump(event, '.$PostID.'); return false;"><strong class="quoteheader">'.$Exploded[0].'</strong> wrote: </a>';
} }
else { else {
$Str.='<strong class="quoteheader">'.$Exploded[0].'</strong> wrote: '; $Str.='<strong class="quoteheader">'.$Exploded[0].'</strong> wrote: ';

View File

@ -182,13 +182,13 @@
$JsonPoll['totalVotes'] = $TotalVotes; $JsonPoll['totalVotes'] = $TotalVotes;
$JsonPollAnswers = array(); $JsonPollAnswers = array();
foreach($Answers as $i => $Answer) { foreach ($Answers as $i => $Answer) {
if (!empty($Votes[$i]) && $TotalVotes > 0) { if (!empty($Votes[$i]) && $TotalVotes > 0) {
$Ratio = $Votes[$i]/$MaxVotes; $Ratio = $Votes[$i] / $MaxVotes;
$Percent = $Votes[$i]/$TotalVotes; $Percent = $Votes[$i] / $TotalVotes;
} else { } else {
$Ratio=0; $Ratio = 0;
$Percent=0; $Percent = 0;
} }
$JsonPollAnswers[] = array( $JsonPollAnswers[] = array(
'answer' => $Answer, 'answer' => $Answer,

View File

@ -15,15 +15,16 @@
$_GET['username'] = trim($_GET['username']); $_GET['username'] = trim($_GET['username']);
list($Page,$Limit) = Format::page_limit(USERS_PER_PAGE); list($Page,$Limit) = Format::page_limit(USERS_PER_PAGE);
$DB->query("SELECT SQL_CALC_FOUND_ROWS $DB->query("
ID, SELECT SQL_CALC_FOUND_ROWS
Username, ID,
Enabled, Username,
PermissionID, Enabled,
Donor, PermissionID,
Warned Donor,
Warned
FROM users_main AS um FROM users_main AS um
JOIN users_info AS ui ON ui.UserID=um.ID JOIN users_info AS ui ON ui.UserID=um.ID
WHERE Username LIKE '%".db_string($_GET['username'])."%' WHERE Username LIKE '%".db_string($_GET['username'])."%'
ORDER BY Username ORDER BY Username
LIMIT $Limit"); LIMIT $Limit");
@ -34,7 +35,7 @@
} }
$JsonUsers = array(); $JsonUsers = array();
foreach($Results as $Result) { foreach ($Results as $Result) {
list($UserID, $Username, $Enabled, $PermissionID, $Donor, $Warned) = $Result; list($UserID, $Username, $Enabled, $PermissionID, $Donor, $Warned) = $Result;
$JsonUsers[] = array( $JsonUsers[] = array(

View File

@ -523,9 +523,7 @@ function compare($X, $Y) {
if ($RevisionID && check_perms('site_edit_wiki')) { if ($RevisionID && check_perms('site_edit_wiki')) {
?> ?>
<a href="artist.php?action=revert&amp;artistid=<?=$ArtistID?>&amp;revisionid=<?=$RevisionID?>&amp;auth=<?=$LoggedUser['AuthKey']?>" class="brackets"> <a href="artist.php?action=revert&amp;artistid=<?=$ArtistID?>&amp;revisionid=<?=$RevisionID?>&amp;auth=<?=$LoggedUser['AuthKey']?>" class="brackets">Revert to this revision</a>
Revert to this revision
</a>
<? } ?> <? } ?>
</div> </div>
</div> </div>

View File

@ -1,5 +1,7 @@
<? <?
if (!function_exists('imagettftext')) { die('Captcha requires both the GD library and the FreeType library.'); } if (!function_exists('imagettftext')) {
die('Captcha requires both the GD library and the FreeType library.');
}
function get_font() { function get_font() {
global $CaptchaFonts; global $CaptchaFonts;
@ -9,30 +11,32 @@ function get_font() {
function make_captcha_img() { function make_captcha_img() {
global $CaptchaBGs; global $CaptchaBGs;
$Length=6; $Length = 6;
$ImageHeight=75; $ImageHeight = 75;
$ImageWidth=300; $ImageWidth = 300;
$Chars='abcdefghjkmprstuvwxyzABCDEFGHJKLMPQRSTUVWXY23456789'; $Chars = 'abcdefghjkmprstuvwxyzABCDEFGHJKLMPQRSTUVWXY23456789';
$CaptchaString=''; $CaptchaString = '';
for($i=0;$i<$Length;$i++) { $CaptchaString.=$Chars[mt_rand(0,strlen($Chars)-1)]; } for ($i = 0; $i < $Length; $i++) {
$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]['font']=get_font();
} }
$Img=imagecreatetruecolor($ImageWidth,$ImageHeight); for ($x = 0; $x < $Length; $x++) {
$BGImg=imagecreatefrompng(SERVER_ROOT.'/captcha/'.$CaptchaBGs[mt_rand(0,count($CaptchaBGs)-1)]); $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); 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++) { for ($i = 0; $i < strlen($CaptchaString); $i++) {
$CharX=(($ImageWidth/$Length)*($i+1))-(($ImageWidth/$Length)*.75); $CharX = (($ImageWidth / $Length) * ($i + 1)) - (($ImageWidth / $Length) * 0.75);
imagettftext($Img,$FontDisplay[$i]['size'],$FontDisplay[$i]['angle'],$CharX, imagettftext($Img,$FontDisplay[$i]['size'],$FontDisplay[$i]['angle'],$CharX,
$FontDisplay[$i]['top'],$ForeColor, $FontDisplay[$i]['top'],$ForeColor,
$FontDisplay[$i]['font'],$CaptchaString[$i] $FontDisplay[$i]['font'],$CaptchaString[$i]
@ -46,5 +50,5 @@ function make_captcha_img() {
return $CaptchaString; return $CaptchaString;
} }
$_SESSION['captcha']=make_captcha_img(); $_SESSION['captcha'] = make_captcha_img();
?> ?>

View File

@ -73,7 +73,7 @@
</div> </div>
<? <?
while(list($SentDate, $SenderID, $Body, $MessageID) = $DB->next_record()) { ?> while (list($SentDate, $SenderID, $Body, $MessageID) = $DB->next_record()) { ?>
<div class="box vertical_space"> <div class="box vertical_space">
<div class="head"> <div class="head">
<strong><?=$Users[(int)$SenderID]['UserStr']?></strong> <?=time_diff($SentDate)?> - <a href="#quickpost" onclick="Quote('<?=$MessageID?>','<?=$Users[(int)$SenderID]['Username']?>');" class="brackets">Quote</a> <strong><?=$Users[(int)$SenderID]['UserStr']?></strong> <?=time_diff($SentDate)?> - <a href="#quickpost" onclick="Quote('<?=$MessageID?>','<?=$Users[(int)$SenderID]['Username']?>');" class="brackets">Quote</a>
@ -84,7 +84,12 @@
</div> </div>
<? <?
} }
$DB->query("SELECT UserID FROM pm_conversations_users WHERE UserID!='$LoggedUser[ID]' AND ConvID='$ConvID' AND (ForwardedTo=0 OR ForwardedTo=UserID)"); $DB->query("
SELECT UserID
FROM pm_conversations_users
WHERE UserID!='$LoggedUser[ID]'
AND ConvID='$ConvID'
AND (ForwardedTo=0 OR ForwardedTo=UserID)");
$ReceiverIDs = $DB->collect('UserID'); $ReceiverIDs = $DB->collect('UserID');

View File

@ -45,7 +45,7 @@
<? } <? }
$Row = 'a'; $Row = 'a';
$Usernames = array(); $Usernames = array();
while(list($ID, $Message, $LogTime) = $DB->next_record()) { while (list($ID, $Message, $LogTime) = $DB->next_record()) {
$MessageParts = explode(" ", $Message); $MessageParts = explode(" ", $Message);
$Message = ""; $Message = "";
$Color = $Colon = false; $Color = $Colon = false;

View File

@ -90,7 +90,7 @@
} }
foreach($Channels as $Channel) { foreach ($Channels as $Channel) {
send_irc("PRIVMSG ".$Channel." :".$ReportID." - ".$LoggedUser['Username']." just reported a ".$Short.": https://".SSL_SITE_URL."/".$Link." : ".strtr($Reason, "\n", " ")); send_irc("PRIVMSG ".$Channel." :".$ReportID." - ".$LoggedUser['Username']." just reported a ".$Short.": https://".SSL_SITE_URL."/".$Link." : ".strtr($Reason, "\n", " "));
} }

View File

@ -20,7 +20,7 @@
die(); die();
} }
foreach($ReportType['report_messages'] as $Message) { foreach ($ReportType['report_messages'] as $Message) {
?> ?>
<li><?=$Message?></li> <li><?=$Message?></li>
<? <?

View File

@ -5,7 +5,7 @@
* for that (reports.php). If you wanted to add a new view, you'd simply * for that (reports.php). If you wanted to add a new view, you'd simply
* add to the case statement(s) below and add an entry to views.php to * add to the case statement(s) below and add an entry to views.php to
* explain it. * explain it.
* Any changes made to this page within the foreach() should probably be * Any changes made to this page within the foreach loop should probably be
* replicated on the auto page (reports.php). * replicated on the auto page (reports.php).
*/ */
@ -532,7 +532,7 @@
<strong>Warning</strong> <strong>Warning</strong>
<select name="warning" id="warning<?=$ReportID?>"> <select name="warning" id="warning<?=$ReportID?>">
<? <?
for($i = 0; $i < 9; $i++) { ?> for ($i = 0; $i < 9; $i++) { ?>
<option value="<?=$i?>"><?=$i?></option> <option value="<?=$i?>"><?=$i?></option>
<? <?
} ?> } ?>

View File

@ -44,7 +44,7 @@
<td class="head colhead_dark">Username</td> <td class="head colhead_dark">Username</td>
<td class="head colhead_dark">Reports</td> <td class="head colhead_dark">Reports</td>
</tr> </tr>
<? foreach($Results as $Result) { <? foreach ($Results as $Result) {
list($UserID, $Username, $Reports) = $Result; list($UserID, $Username, $Reports) = $Result;
?> ?>
<tr> <tr>

View File

@ -42,7 +42,7 @@
$DB->query("DELETE FROM requests_tags WHERE RequestID='$RequestID'"); $DB->query("DELETE FROM requests_tags WHERE RequestID='$RequestID'");
$DB->query("SELECT ArtistID FROM requests_artists WHERE RequestID = ".$RequestID); $DB->query("SELECT ArtistID FROM requests_artists WHERE RequestID = ".$RequestID);
$RequestArtists = $DB->to_array(); $RequestArtists = $DB->to_array();
foreach($RequestArtists as $RequestArtist) { foreach ($RequestArtists as $RequestArtist) {
$Cache->delete_value('artists_requests_'.$RequestArtist); $Cache->delete_value('artists_requests_'.$RequestArtist);
} }
$DB->query("DELETE FROM requests_artists WHERE RequestID='$RequestID'"); $DB->query("DELETE FROM requests_artists WHERE RequestID='$RequestID'");

View File

@ -203,7 +203,7 @@
AND req.TorrentID=$TorrentID"); AND req.TorrentID=$TorrentID");
$Requests = ($DB->record_count()); $Requests = ($DB->record_count());
if ($Requests > 0) { if ($Requests > 0) {
while(list($RequestID, $FillerID, $FillerName, $FilledTime) = $DB->next_record()) { while (list($RequestID, $FillerID, $FillerName, $FilledTime) = $DB->next_record()) {
?> ?>
<div style="text-align: right;"> <div style="text-align: right;">
<a href="user.php?id=<?=$FillerID?>"><?=$FillerName?></a> used this torrent to fill <a href="requests.php?action=viewrequest&amp;id=<?=$RequestID?>">this request</a> <?=time_diff($FilledTime)?> <a href="user.php?id=<?=$FillerID?>"><?=$FillerName?></a> used this torrent to fill <a href="requests.php?action=viewrequest&amp;id=<?=$RequestID?>">this request</a> <?=time_diff($FilledTime)?>
@ -244,7 +244,7 @@
<span title="Warning length in weeks"> <span title="Warning length in weeks">
<strong>Warning</strong> <strong>Warning</strong>
<select name="warning" id="warning<?=$ReportID?>"> <select name="warning" id="warning<?=$ReportID?>">
<? for($i = 0; $i < 9; $i++) { ?> <? for ($i = 0; $i < 9; $i++) { ?>
<option value="<?=$i?>"<?=(($ReportType['resolve_options']['warn'] == $i) ? ' selected="selected"' : '')?>><?=$i?></option> <option value="<?=$i?>"<?=(($ReportType['resolve_options']['warn'] == $i) ? ' selected="selected"' : '')?>><?=$i?></option>
<? } ?> <? } ?>
</select> </select>

View File

@ -106,7 +106,7 @@
//Collages //Collages
$DB->query("SELECT CollageID FROM collages_torrents WHERE GroupID='$OldGroupID'"); //Select all collages that contain edited group $DB->query("SELECT CollageID FROM collages_torrents WHERE GroupID='$OldGroupID'"); //Select all collages that contain edited group
while(list($CollageID) = $DB->next_record()) { while (list($CollageID) = $DB->next_record()) {
$DB->query("UPDATE IGNORE collages_torrents SET GroupID='$NewGroupID' WHERE GroupID='$OldGroupID' AND CollageID='$CollageID'"); //Change collage groupid to new ID $DB->query("UPDATE IGNORE collages_torrents SET GroupID='$NewGroupID' WHERE GroupID='$OldGroupID' AND CollageID='$CollageID'"); //Change collage groupid to new ID
$DB->query("DELETE FROM collages_torrents WHERE GroupID='$OldGroupID' AND CollageID='$CollageID'"); $DB->query("DELETE FROM collages_torrents WHERE GroupID='$OldGroupID' AND CollageID='$CollageID'");
$Cache->delete_value('collage_'.$CollageID); $Cache->delete_value('collage_'.$CollageID);
@ -121,7 +121,7 @@
} }
$DB->query("SELECT ID FROM torrents WHERE GroupID='$OldGroupID'"); $DB->query("SELECT ID FROM torrents WHERE GroupID='$OldGroupID'");
while(list($TorrentID) = $DB->next_record()) { while (list($TorrentID) = $DB->next_record()) {
$Cache->delete_value('torrent_download_'.$TorrentID); $Cache->delete_value('torrent_download_'.$TorrentID);
} }
$Cache->delete_value('torrents_details_'.$GroupID); $Cache->delete_value('torrents_details_'.$GroupID);

View File

@ -109,16 +109,19 @@
$Image = db_string($Image); $Image = db_string($Image);
// Update torrents table (technically, we don't need the RevisionID column, but we can use it for a join which is nice and fast) // Update torrents table (technically, we don't need the RevisionID column, but we can use it for a join which is nice and fast)
$DB->query("UPDATE torrents_group SET $DB->query("
RevisionID='$RevisionID', UPDATE torrents_group
".((isset($VanityHouse)) ? "VanityHouse='$VanityHouse'," : '')." SET
WikiBody='$Body', RevisionID='$RevisionID',
WikiImage='$Image' ".((isset($VanityHouse)) ? "VanityHouse='$VanityHouse'," : '')."
WikiBody='$Body',
WikiImage='$Image'
WHERE ID='$GroupID'"); WHERE ID='$GroupID'");
// Log VH changes // Log VH changes
if ($OldVH != $VanityHouse && check_perms('torrents_edit_vanityhouse')) { if ($OldVH != $VanityHouse && check_perms('torrents_edit_vanityhouse')) {
$DB->query("INSERT INTO group_log (GroupID, UserID, Time, Info) $DB->query("
VALUES ('$GroupID',".$LoggedUser['ID'].",'".sqltime()."','".db_string('Vanity house status changed to '.($VanityHouse?'true':'false'))."')"); INSERT INTO group_log (GroupID, UserID, Time, Info)
VALUES ('$GroupID',".$LoggedUser['ID'].",'".sqltime()."','".db_string('Vanity house status changed to '.($VanityHouse ? 'true' : 'false'))."')");
} }
// There we go, all done! // There we go, all done!
@ -126,16 +129,17 @@
$Cache->delete_value('torrents_details_'.$GroupID); $Cache->delete_value('torrents_details_'.$GroupID);
$DB->query("SELECT CollageID FROM collages_torrents WHERE GroupID='$GroupID'"); $DB->query("SELECT CollageID FROM collages_torrents WHERE GroupID='$GroupID'");
if ($DB->record_count() > 0) { if ($DB->record_count() > 0) {
while(list($CollageID) = $DB->next_record()) { while (list($CollageID) = $DB->next_record()) {
$Cache->delete_value('collage_'.$CollageID); $Cache->delete_value('collage_'.$CollageID);
} }
} }
//Fix Recent Uploads/Downloads for image change //Fix Recent Uploads/Downloads for image change
$DB->query("SELECT DISTINCT UserID $DB->query("
FROM torrents AS t SELECT DISTINCT UserID
LEFT JOIN torrents_group AS tg ON t.GroupID=tg.ID FROM torrents AS t
WHERE tg.ID = $GroupID"); LEFT JOIN torrents_group AS tg ON t.GroupID=tg.ID
WHERE tg.ID = $GroupID");
$UserIDs = $DB->collect('UserID'); $UserIDs = $DB->collect('UserID');
foreach ($UserIDs as $UserID) { foreach ($UserIDs as $UserID) {

View File

@ -188,18 +188,18 @@ function Newthread_Preview(mode) {
if (pollanswers && pollanswers.children.length > 4) { if (pollanswers && pollanswers.children.length > 4) {
pollanswers = pollanswers.children; pollanswers = pollanswers.children;
$('#pollquestion').raw().innerHTML = $('#pollquestionfield').raw().value; $('#pollquestion').raw().innerHTML = $('#pollquestionfield').raw().value;
for(var i=0; i<pollanswers.length; i+=2) { for (var i = 0; i < pollanswers.length; i += 2) {
if (!pollanswers[i].value) { if (!pollanswers[i].value) {
continue; continue;
} }
var el = document.createElement('input'); var el = document.createElement('input');
el.id = 'answer_'+(i+1); el.id = 'answer_' + (i + 1);
el.type = 'radio'; el.type = 'radio';
el.name = 'vote'; el.name = 'vote';
$('#pollanswers').raw().appendChild(el); $('#pollanswers').raw().appendChild(el);
$('#pollanswers').raw().appendChild(document.createTextNode(' ')); $('#pollanswers').raw().appendChild(document.createTextNode(' '));
el = document.createElement('label'); el = document.createElement('label');
el.htmlFor = 'answer_'+(i+1); el.htmlFor = 'answer_' + (i + 1);
el.innerHTML = pollanswers[i].value; el.innerHTML = pollanswers[i].value;
$('#pollanswers').raw().appendChild(el); $('#pollanswers').raw().appendChild(el);
$('#pollanswers').raw().appendChild(document.createElement('br')); $('#pollanswers').raw().appendChild(document.createElement('br'));

View File

@ -17,7 +17,7 @@ function Remaster() {
function Format() { function Format() {
if ($('#format').raw().options[$('#format').raw().selectedIndex].value == 'FLAC') { if ($('#format').raw().options[$('#format').raw().selectedIndex].value == 'FLAC') {
for (var i = 0; i<$('#bitrate').raw().options.length; i++) { for (var i = 0; i < $('#bitrate').raw().options.length; i++) {
if ($('#bitrate').raw().options[i].value == 'Lossless') { if ($('#bitrate').raw().options[i].value == 'Lossless') {
$('#bitrate').raw()[i].selected = true; $('#bitrate').raw()[i].selected = true;
} }

View File

@ -4,9 +4,9 @@ Please note that selling invites, trading invites, and giving invites away publi
To confirm your invite, click on the following link: To confirm your invite, click on the following link:
http://{{SITE_URL}}/register.php?invite={{InviteKey}} https://{{SITE_URL}}/register.php?invite={{InviteKey}}
After you register, you will be able to use your account. Please take note that if you do not use this invite in the next 3 days, it will expire. We urge you to read the RULES and the wiki immediately after you join. After you register, you will be able to use your account. Please take note that if you do not use this invite in the next 3 days, it will expire. We urge you to read the RULES and the wiki immediately after you join.
Thank you, Thank you,
{{SITE_NAME}} Staff {{SITE_NAME}} Staff

View File

@ -2,7 +2,7 @@ This email is to confirm the account you just created at {{SITE_NAME}}
You have 24 hours to click the link below and finish the registration process for the account created with the username: {{Username}} You have 24 hours to click the link below and finish the registration process for the account created with the username: {{Username}}
http://{{SITE_URL}}/register.php?confirm={{TorrentKey}} https://{{SITE_URL}}/register.php?confirm={{TorrentKey}}
Thank you, Thank you,
{{SITE_NAME}} Staff {{SITE_NAME}} Staff

View File

@ -2,9 +2,9 @@ A password reset process has been started for the username: {{Username}}
To finish this process please click the link below (you have 1 hour) To finish this process please click the link below (you have 1 hour)
http://{{SITE_URL}}/login.php?act=recover&key={{ResetKey}} https://{{SITE_URL}}/login.php?act=recover&key={{ResetKey}}
If you did not initiate this password reset then please disregard this email. If you did not initiate this password reset then please disregard this email.
The user who requested the password reset had the IP address {{IP}}. The user who requested the password reset had the IP address {{IP}}.
Thank you, Thank you,