mirror of
https://github.com/torrentpier/torrentpier
synced 2025-08-21 05:43:55 -07:00
Исправления ошибок
Мусорный файл, исправление ошибки с начислением сидбонусов (строгая типизация), изменение метода поисковой строки (заработает "поисковость" в Яндекс.Браузер и т.п.).
This commit is contained in:
parent
80c99e7c8e
commit
740eb64a51
4 changed files with 21 additions and 191 deletions
|
@ -411,12 +411,6 @@ function hide_bb_path ($path)
|
|||
return ltrim(str_replace(BB_PATH, '', $path), '/\\');
|
||||
}
|
||||
|
||||
function tr_drop_request ($drop_type)
|
||||
{
|
||||
if (DBG_LOG) dbg_log(' ', "request-dropped-$drop_type");
|
||||
dummy_exit(mt_rand(60, 600));
|
||||
}
|
||||
|
||||
function sys ($param)
|
||||
{
|
||||
switch ($param)
|
||||
|
@ -511,7 +505,7 @@ else if (defined('IN_TRACKER'))
|
|||
// Exit if tracker is disabled via ON/OFF trigger
|
||||
if (file_exists(BB_DISABLED))
|
||||
{
|
||||
dummy_exit(mt_rand(60, 2400)); # die('d14:failure reason20:temporarily disablede');
|
||||
dummy_exit(mt_rand(60, 2400));
|
||||
}
|
||||
}
|
||||
}
|
|
@ -71,15 +71,15 @@ if ($tr_cfg['update_dlstat'])
|
|||
// Set "only 1 seeder" bonus
|
||||
DB()->query("
|
||||
UPDATE
|
||||
". NEW_BB_BT_LAST_TORSTAT ." tb,
|
||||
". BB_BT_TRACKER_SNAP ." sn
|
||||
". NEW_BB_BT_LAST_TORSTAT ." tb,
|
||||
". BB_BT_TRACKER_SNAP ." sn
|
||||
SET
|
||||
tb.bonus_add = tb.up_add
|
||||
tb.bonus_add = tb.up_add
|
||||
WHERE
|
||||
tb.topic_id = sn.topic_id
|
||||
AND sn.seeders = 1
|
||||
AND tb.up_add != 0
|
||||
AND tb.dl_status = ". DL_STATUS_COMPLETE ."
|
||||
tb.topic_id = sn.topic_id
|
||||
AND sn.seeders = 1
|
||||
AND tb.up_add != 0
|
||||
AND tb.dl_status = ". DL_STATUS_COMPLETE ."
|
||||
");
|
||||
|
||||
// Get SUMMARIZED user's dlstat
|
||||
|
@ -154,7 +154,7 @@ DB()->query("DROP TABLE IF EXISTS ". NEW_BB_BT_LAST_USERSTAT .", ". OLD_BB_BT_LA
|
|||
|
||||
DB()->expect_slow_query(10);
|
||||
|
||||
if($bb_cfg['seed_bonus_enabled'] && $bb_cfg['seed_bonus_points'] && $bb_cfg['seed_bonus_release'])
|
||||
if ($bb_cfg['seed_bonus_enabled'] && $bb_cfg['seed_bonus_points'] && $bb_cfg['seed_bonus_release'])
|
||||
{
|
||||
DB()->query("
|
||||
CREATE TEMPORARY TABLE tmp_bonus (
|
||||
|
@ -163,7 +163,7 @@ if($bb_cfg['seed_bonus_enabled'] && $bb_cfg['seed_bonus_points'] && $bb_cfg['see
|
|||
) ENGINE = MEMORY
|
||||
");
|
||||
|
||||
$tor_size = ($bb_cfg['seed_bonus_tor_size'] * 1073741824);
|
||||
$tor_size = ($bb_cfg['seed_bonus_tor_size'] * 1073741824);
|
||||
|
||||
DB()->query("INSERT INTO tmp_bonus
|
||||
SELECT bt.user_id, count(bt.seeder) AS release_count
|
||||
|
@ -174,18 +174,18 @@ if($bb_cfg['seed_bonus_enabled'] && $bb_cfg['seed_bonus_points'] && $bb_cfg['see
|
|||
GROUP BY user_id
|
||||
");
|
||||
|
||||
$seed_bonus = unserialize($bb_cfg['seed_bonus_points']);
|
||||
$seed_release = unserialize($bb_cfg['seed_bonus_release']);
|
||||
$seed_bonus = (float) unserialize($bb_cfg['seed_bonus_points']);
|
||||
$seed_release = (int) unserialize($bb_cfg['seed_bonus_release']);
|
||||
|
||||
foreach($seed_bonus as $i => $points)
|
||||
{
|
||||
if(!$points || !$seed_release[$i]) continue;
|
||||
foreach($seed_bonus as $i => $points)
|
||||
{
|
||||
if (!$points || !$seed_release[$i]) continue;
|
||||
|
||||
$user_points = ($points / 4);
|
||||
$release = $seed_release[$i];
|
||||
$user_regdate = (TIMENOW - $bb_cfg['seed_bonus_user_regdate'] * 86400);
|
||||
$user_points = ($points / 4);
|
||||
$release = $seed_release[$i];
|
||||
$user_regdate = (TIMENOW - $bb_cfg['seed_bonus_user_regdate'] * 86400);
|
||||
|
||||
DB()->query("
|
||||
DB()->query("
|
||||
UPDATE ". BB_USERS ." u, ". BB_BT_USERS ." bu, tmp_bonus b
|
||||
SET
|
||||
u.user_points = u.user_points + $user_points,
|
||||
|
@ -199,7 +199,7 @@ if($bb_cfg['seed_bonus_enabled'] && $bb_cfg['seed_bonus_points'] && $bb_cfg['see
|
|||
AND u.user_active = 1
|
||||
AND u.user_id not IN(". EXCLUDED_USERS_CSV .")
|
||||
");
|
||||
}
|
||||
}
|
||||
|
||||
DB()->query("DROP TEMPORARY TABLE IF EXISTS tmp_bonus");
|
||||
}
|
|
@ -1,164 +0,0 @@
|
|||
<?php
|
||||
|
||||
if (!defined('BB_ROOT')) die(basename(__FILE__));
|
||||
|
||||
//
|
||||
// remove_comments will strip the sql comment lines out of an uploaded sql file
|
||||
// specifically for mssql and postgres type files in the install....
|
||||
//
|
||||
function remove_comments(&$output)
|
||||
{
|
||||
$lines = explode("\n", $output);
|
||||
$output = "";
|
||||
|
||||
// try to keep mem. use down
|
||||
$linecount = count($lines);
|
||||
|
||||
$in_comment = false;
|
||||
for($i = 0; $i < $linecount; $i++)
|
||||
{
|
||||
if( preg_match("/^\/\*/", preg_quote($lines[$i])) )
|
||||
{
|
||||
$in_comment = true;
|
||||
}
|
||||
|
||||
if( !$in_comment )
|
||||
{
|
||||
$output .= $lines[$i] . "\n";
|
||||
}
|
||||
|
||||
if( preg_match("/\*\/$/", preg_quote($lines[$i])) )
|
||||
{
|
||||
$in_comment = false;
|
||||
}
|
||||
}
|
||||
|
||||
unset($lines);
|
||||
return $output;
|
||||
}
|
||||
|
||||
//
|
||||
// remove_remarks will strip the sql comment lines out of an uploaded sql file
|
||||
//
|
||||
function remove_remarks($sql)
|
||||
{
|
||||
$lines = explode("\n", $sql);
|
||||
|
||||
// try to keep mem. use down
|
||||
$sql = "";
|
||||
|
||||
$linecount = count($lines);
|
||||
$output = "";
|
||||
|
||||
for ($i = 0; $i < $linecount; $i++)
|
||||
{
|
||||
if (($i != ($linecount - 1)) || (strlen($lines[$i]) > 0))
|
||||
{
|
||||
if ($lines[$i][0] != "#")
|
||||
{
|
||||
$output .= $lines[$i] . "\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$output .= "\n";
|
||||
}
|
||||
// Trading a bit of speed for lower mem. use here.
|
||||
$lines[$i] = "";
|
||||
}
|
||||
}
|
||||
|
||||
return $output;
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
// split_sql_file will split an uploaded sql file into single sql statements.
|
||||
// Note: expects trim() to have already been run on $sql.
|
||||
//
|
||||
function split_sql_file($sql, $delimiter)
|
||||
{
|
||||
// Split up our string into "possible" SQL statements.
|
||||
$tokens = explode($delimiter, $sql);
|
||||
|
||||
// try to save mem.
|
||||
$sql = "";
|
||||
$output = array();
|
||||
|
||||
// we don't actually care about the matches preg gives us.
|
||||
$matches = array();
|
||||
|
||||
// this is faster than calling count($oktens) every time thru the loop.
|
||||
$token_count = count($tokens);
|
||||
for ($i = 0; $i < $token_count; $i++)
|
||||
{
|
||||
// Don't wanna add an empty string as the last thing in the array.
|
||||
if (($i != ($token_count - 1)) || (strlen($tokens[$i] > 0)))
|
||||
{
|
||||
// This is the total number of single quotes in the token.
|
||||
$total_quotes = preg_match_all("/'/", $tokens[$i], $matches);
|
||||
// Counts single quotes that are preceded by an odd number of backslashes,
|
||||
// which means they're escaped quotes.
|
||||
$escaped_quotes = preg_match_all("/(?<!\\\\)(\\\\\\\\)*\\\\'/", $tokens[$i], $matches);
|
||||
|
||||
$unescaped_quotes = $total_quotes - $escaped_quotes;
|
||||
|
||||
// If the number of unescaped quotes is even, then the delimiter did NOT occur inside a string literal.
|
||||
if (($unescaped_quotes % 2) == 0)
|
||||
{
|
||||
// It's a complete sql statement.
|
||||
$output[] = $tokens[$i];
|
||||
// save memory.
|
||||
$tokens[$i] = "";
|
||||
}
|
||||
else
|
||||
{
|
||||
// incomplete sql statement. keep adding tokens until we have a complete one.
|
||||
// $temp will hold what we have so far.
|
||||
$temp = $tokens[$i] . $delimiter;
|
||||
// save memory..
|
||||
$tokens[$i] = "";
|
||||
|
||||
// Do we have a complete statement yet?
|
||||
$complete_stmt = false;
|
||||
|
||||
for ($j = $i + 1; (!$complete_stmt && ($j < $token_count)); $j++)
|
||||
{
|
||||
// This is the total number of single quotes in the token.
|
||||
$total_quotes = preg_match_all("/'/", $tokens[$j], $matches);
|
||||
// Counts single quotes that are preceded by an odd number of backslashes,
|
||||
// which means they're escaped quotes.
|
||||
$escaped_quotes = preg_match_all("/(?<!\\\\)(\\\\\\\\)*\\\\'/", $tokens[$j], $matches);
|
||||
|
||||
$unescaped_quotes = $total_quotes - $escaped_quotes;
|
||||
|
||||
if (($unescaped_quotes % 2) == 1)
|
||||
{
|
||||
// odd number of unescaped quotes. In combination with the previous incomplete
|
||||
// statement(s), we now have a complete statement. (2 odds always make an even)
|
||||
$output[] = $temp . $tokens[$j];
|
||||
|
||||
// save memory.
|
||||
$tokens[$j] = "";
|
||||
$temp = "";
|
||||
|
||||
// exit the loop.
|
||||
$complete_stmt = true;
|
||||
// make sure the outer loop continues at the right point.
|
||||
$i = $j;
|
||||
}
|
||||
else
|
||||
{
|
||||
// even number of unescaped quotes. We still don't have a complete statement.
|
||||
// (1 odd and 1 even always make an odd)
|
||||
$temp .= $tokens[$j] . $delimiter;
|
||||
// save memory.
|
||||
$tokens[$j] = "";
|
||||
}
|
||||
|
||||
} // for..
|
||||
} // else
|
||||
}
|
||||
}
|
||||
|
||||
return $output;
|
||||
}
|
|
@ -304,7 +304,7 @@ $(document).ready(function() {
|
|||
</td>
|
||||
<td style="padding: 3px;">
|
||||
<div>
|
||||
<form id="quick-search" action="" method="post" onsubmit="$(this).attr('action', $('#search-action').val()); if($('#search-action option:selected').attr('class') == 'hash') $('#search-text').attr('name', 'hash');">
|
||||
<form id="quick-search" action="" method="get" onsubmit="$(this).attr('action', $('#search-action').val()); if($('#search-action option:selected').attr('class') == 'hash') $('#search-text').attr('name', 'hash');">
|
||||
<input type="hidden" name="max" value="1" />
|
||||
<input type="hidden" name="to" value="1" />
|
||||
<input id="search-text" type="text" name="nm" placeholder="{L_SEARCH_S}" required />
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue