mirror of
https://github.com/torrentpier/torrentpier
synced 2025-08-23 06:35:45 -07:00
перенос классов
This commit is contained in:
parent
acb09f58e2
commit
99431ce8d4
6 changed files with 847 additions and 865 deletions
|
@ -36,7 +36,7 @@ class TorrentPier_Autoloader
|
||||||
/**
|
/**
|
||||||
* Setup the autoloader. This causes the environment to be setup as necessary.
|
* Setup the autoloader. This causes the environment to be setup as necessary.
|
||||||
*
|
*
|
||||||
* @param string Path to application library directory. See {@link $_rootDir}
|
* @param $rootDir
|
||||||
*/
|
*/
|
||||||
public function setupAutoloader($rootDir)
|
public function setupAutoloader($rootDir)
|
||||||
{
|
{
|
||||||
|
@ -90,11 +90,6 @@ class TorrentPier_Autoloader
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (substr($class, 0, 5) == 'XFCP_')
|
|
||||||
{
|
|
||||||
throw new Exception('Cannot load class using XFCP. Load the class using the correct loader first.');
|
|
||||||
}
|
|
||||||
|
|
||||||
$filename = $this->autoloaderClassToFile($class);
|
$filename = $this->autoloaderClassToFile($class);
|
||||||
if (!$filename)
|
if (!$filename)
|
||||||
{
|
{
|
||||||
|
@ -103,7 +98,7 @@ class TorrentPier_Autoloader
|
||||||
|
|
||||||
if (file_exists($filename))
|
if (file_exists($filename))
|
||||||
{
|
{
|
||||||
include($filename);
|
require_once($filename);
|
||||||
return (class_exists($class, false) || interface_exists($class, false));
|
return (class_exists($class, false) || interface_exists($class, false));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -113,9 +108,9 @@ class TorrentPier_Autoloader
|
||||||
/**
|
/**
|
||||||
* Resolves a class name to an autoload path.
|
* Resolves a class name to an autoload path.
|
||||||
*
|
*
|
||||||
* @param string Name of class to autoload
|
* @param $class
|
||||||
*
|
*
|
||||||
* @return string|false False if the class contains invalid characters.
|
* @return bool|string
|
||||||
*/
|
*/
|
||||||
public function autoloaderClassToFile($class)
|
public function autoloaderClassToFile($class)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
if (!defined('BB_ROOT')) die(basename(__FILE__));
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Automatic correction of the language for words in the text because of the wrong keyboard layout
|
* Automatic correction of the language for words in the text because of the wrong keyboard layout
|
||||||
* Автоматическое исправление языка для слов в тексте из-за неправильной раскладки клавиатуры
|
* Автоматическое исправление языка для слов в тексте из-за неправильной раскладки клавиатуры
|
||||||
|
@ -99,32 +97,32 @@ class Text_LangCorrect
|
||||||
';
|
';
|
||||||
|
|
||||||
#гласная (vowel) (lowercase)
|
#гласная (vowel) (lowercase)
|
||||||
private $vowel_lc = array(
|
private $vowel_lc = [
|
||||||
'tt' => '\xd0[\xb0\xb5\xb8\xbe]|\xd1[\x83\x8b\x8d\x8e\x8f\x91] #аеиоуыэюяё (гласные, 10 шт.)
|
'tt' => '\xd0[\xb0\xb5\xb8\xbe]|\xd1[\x83\x8b\x8d\x8e\x8f\x91] #аеиоуыэюяё (гласные, 10 шт.)
|
||||||
#| \xd0[\x90\x95\x98\x9e\xa3\xab\xad\xae\xaf\x81] #АЕИОУЫЭЮЯЁ (гласные, 10 шт.)
|
#| \xd0[\x90\x95\x98\x9e\xa3\xab\xad\xae\xaf\x81] #АЕИОУЫЭЮЯЁ (гласные, 10 шт.)
|
||||||
',
|
',
|
||||||
'en' => '[aeiouy]', #латинских 6 шт.
|
'en' => '[aeiouy]', #латинских 6 шт.
|
||||||
);
|
];
|
||||||
|
|
||||||
#согласная (consonant) + графические знаки для русского языка (ъ, ь) (lowercase)
|
#согласная (consonant) + графические знаки для русского языка (ъ, ь) (lowercase)
|
||||||
private $consonant_lc = array(
|
private $consonant_lc = [
|
||||||
'tt' => '\xd0[\xb1-\xb4\xb6\xb7\xb9\xba-\xbd\xbf]|\xd1[\x80\x81\x82\x84-\x89\x8a\x8c] #бвгджзйклмнпрстфхцчшщ ъь (согласные, 21+2 шт.)
|
'tt' => '\xd0[\xb1-\xb4\xb6\xb7\xb9\xba-\xbd\xbf]|\xd1[\x80\x81\x82\x84-\x89\x8a\x8c] #бвгджзйклмнпрстфхцчшщ ъь (согласные, 21+2 шт.)
|
||||||
#| \xd0[\x91-\x94\x96\x97\x99\x9a-\x9d\x9f-\xa2\xa4-\xa9\xaa\xac] #БВГДЖЗЙКЛМНПРСТФХЦЧШЩ ЪЬ (согласные, 21+2 шт.)
|
#| \xd0[\x91-\x94\x96\x97\x99\x9a-\x9d\x9f-\xa2\xa4-\xa9\xaa\xac] #БВГДЖЗЙКЛМНПРСТФХЦЧШЩ ЪЬ (согласные, 21+2 шт.)
|
||||||
',
|
',
|
||||||
'en' => '[bcdfghjklmnpqrstvwxz]', #латинских 20 шт.
|
'en' => '[bcdfghjklmnpqrstvwxz]', #латинских 20 шт.
|
||||||
);
|
];
|
||||||
|
|
||||||
private $words_exceptions = array(
|
private $words_exceptions = [
|
||||||
'tt' => array(
|
'tt' => [
|
||||||
'трлн' => null,
|
'трлн' => null,
|
||||||
'ющенко' => null,
|
'ющенко' => null,
|
||||||
'мебельград' => null,
|
'мебельград' => null,
|
||||||
'дэнис' => null,
|
'дэнис' => null,
|
||||||
),
|
],
|
||||||
'en' => array(
|
'en' => [
|
||||||
'heuer' => null,
|
'heuer' => null,
|
||||||
),
|
],
|
||||||
);
|
];
|
||||||
|
|
||||||
#русские буквы, похожие на англ. (uppercase)
|
#русские буквы, похожие на англ. (uppercase)
|
||||||
private $ru_similar_uc = "\xd0[\x90\x92\x95\x9a\x9c\x9d\x9e\xa0-\xa3\xa5]";
|
private $ru_similar_uc = "\xd0[\x90\x92\x95\x9a\x9c\x9d\x9e\xa0-\xa3\xa5]";
|
||||||
|
@ -208,9 +206,9 @@ class Text_LangCorrect
|
||||||
private $is_flip = false;
|
private $is_flip = false;
|
||||||
private $method = 0;
|
private $method = 0;
|
||||||
|
|
||||||
private $table = array(
|
private $table = [
|
||||||
#метод 0: таблица исправления ошибочно набранных букв, которые выглядят одинаково (русский <--> английский)
|
#метод 0: таблица исправления ошибочно набранных букв, которые выглядят одинаково (русский <--> английский)
|
||||||
0 => array(
|
0 => [
|
||||||
#lowercase #UPPERCASE
|
#lowercase #UPPERCASE
|
||||||
"\xd0\xb0" => 'a', "\xd0\x90" => 'A',
|
"\xd0\xb0" => 'a', "\xd0\x90" => 'A',
|
||||||
"\xd0\x92" => 'B',
|
"\xd0\x92" => 'B',
|
||||||
|
@ -224,9 +222,9 @@ class Text_LangCorrect
|
||||||
"\xd0\xa2" => 'T',
|
"\xd0\xa2" => 'T',
|
||||||
"\xd1\x83" => 'y', "\xd0\xa3" => 'Y',
|
"\xd1\x83" => 'y', "\xd0\xa3" => 'Y',
|
||||||
"\xd1\x85" => 'x', "\xd0\xa5" => 'X',
|
"\xd1\x85" => 'x', "\xd0\xa5" => 'X',
|
||||||
),
|
],
|
||||||
#метод 1: таблица исправления ошибочно набранных букв в другой раскладке клавиатуры (русский <--> английский)
|
#метод 1: таблица исправления ошибочно набранных букв в другой раскладке клавиатуры (русский <--> английский)
|
||||||
1 => array(
|
1 => [
|
||||||
#CASE_UPPER #case_lower
|
#CASE_UPPER #case_lower
|
||||||
"\xd0\x81" => '~', "\xd1\x91" => '`', #Ё ё
|
"\xd0\x81" => '~', "\xd1\x91" => '`', #Ё ё
|
||||||
"\xd0\x90" => 'F', "\xd0\xb0" => 'f', #А а
|
"\xd0\x90" => 'F', "\xd0\xb0" => 'f', #А а
|
||||||
|
@ -262,12 +260,12 @@ class Text_LangCorrect
|
||||||
"\xd0\xad" => '"', "\xd1\x8d" => "'", #Э э
|
"\xd0\xad" => '"', "\xd1\x8d" => "'", #Э э
|
||||||
"\xd0\xae" => '>', "\xd1\x8e" => '.', #Ю ю
|
"\xd0\xae" => '>', "\xd1\x8e" => '.', #Ю ю
|
||||||
"\xd0\xaf" => 'Z', "\xd1\x8f" => 'z', #Я я
|
"\xd0\xaf" => 'Z', "\xd1\x8f" => 'z', #Я я
|
||||||
),
|
],
|
||||||
);
|
];
|
||||||
|
|
||||||
#несуществующие N-граммы для гласных букв
|
#несуществующие N-граммы для гласных букв
|
||||||
private $vowels3_lc = array(
|
private $vowels3_lc = [
|
||||||
'en' => array(
|
'en' => [
|
||||||
'aea' => 0,
|
'aea' => 0,
|
||||||
'aei' => 1,
|
'aei' => 1,
|
||||||
'aeo' => 2,
|
'aeo' => 2,
|
||||||
|
@ -356,8 +354,8 @@ class Text_LangCorrect
|
||||||
'you' => 85,
|
'you' => 85,
|
||||||
'yoy' => 86,
|
'yoy' => 86,
|
||||||
'yua' => 87,
|
'yua' => 87,
|
||||||
),
|
],
|
||||||
'tt' => array(
|
'tt' => [
|
||||||
'аау' => 0,
|
'аау' => 0,
|
||||||
'аео' => 1,
|
'аео' => 1,
|
||||||
'аеу' => 2,
|
'аеу' => 2,
|
||||||
|
@ -397,12 +395,12 @@ class Text_LangCorrect
|
||||||
'ояе' => 36,
|
'ояе' => 36,
|
||||||
'уео' => 37,
|
'уео' => 37,
|
||||||
'уюю' => 38,
|
'уюю' => 38,
|
||||||
),
|
],
|
||||||
);
|
];
|
||||||
|
|
||||||
#несуществующие N-граммы для согласных букв
|
#несуществующие N-граммы для согласных букв
|
||||||
private $consonants4_lc = array(
|
private $consonants4_lc = [
|
||||||
'en' => array(
|
'en' => [
|
||||||
'bldg' => 0,
|
'bldg' => 0,
|
||||||
'blvd' => 1,
|
'blvd' => 1,
|
||||||
'bscr' => 2,
|
'bscr' => 2,
|
||||||
|
@ -685,8 +683,8 @@ class Text_LangCorrect
|
||||||
'wspr' => 279,
|
'wspr' => 279,
|
||||||
'wstr' => 280,
|
'wstr' => 280,
|
||||||
'xthl' => 281,
|
'xthl' => 281,
|
||||||
),
|
],
|
||||||
'tt' => array(
|
'tt' => [
|
||||||
'блзд' => 0,
|
'блзд' => 0,
|
||||||
'бльд' => 1,
|
'бльд' => 1,
|
||||||
'брьс' => 2,
|
'брьс' => 2,
|
||||||
|
@ -912,11 +910,11 @@ class Text_LangCorrect
|
||||||
'хтск' => 222,
|
'хтск' => 222,
|
||||||
'хтсм' => 223,
|
'хтсм' => 223,
|
||||||
'цстр' => 224,
|
'цстр' => 224,
|
||||||
),
|
],
|
||||||
);
|
];
|
||||||
|
|
||||||
#несуществующие биграммы в начале и конце слов
|
#несуществующие биграммы в начале и конце слов
|
||||||
private $bigrams = array(
|
private $bigrams = [
|
||||||
#ru
|
#ru
|
||||||
' ёё' => 0,
|
' ёё' => 0,
|
||||||
' ёа' => 0,
|
' ёа' => 0,
|
||||||
|
@ -2788,7 +2786,7 @@ class Text_LangCorrect
|
||||||
'zw ' => 0,
|
'zw ' => 0,
|
||||||
'zx' => 0,
|
'zx' => 0,
|
||||||
'zx ' => 0,
|
'zx ' => 0,
|
||||||
);
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -2796,7 +2794,7 @@ class Text_LangCorrect
|
||||||
*/
|
*/
|
||||||
public function __construct(array $words_exceptions = null)
|
public function __construct(array $words_exceptions = null)
|
||||||
{
|
{
|
||||||
if (! ReflectionTypeHint::isValid()) return false;
|
if (! Text_ReflectionTypeHint::isValid()) return false;
|
||||||
#русский --> английский:
|
#русский --> английский:
|
||||||
$this->en_correct = '/(?: (?:' . $this->tt_f . ')
|
$this->en_correct = '/(?: (?:' . $this->tt_f . ')
|
||||||
(?: (?:' . $this->en_uniq . ') | (?:' . $this->en_sc . '){2} )
|
(?: (?:' . $this->en_uniq . ') | (?:' . $this->en_sc . '){2} )
|
||||||
|
@ -2817,10 +2815,10 @@ class Text_LangCorrect
|
||||||
(?:' . $this->en_sc . ')
|
(?:' . $this->en_sc . ')
|
||||||
)
|
)
|
||||||
/sxSX';
|
/sxSX';
|
||||||
$this->table_flip = array(
|
$this->table_flip = [
|
||||||
0 => array_flip($this->table[0]),
|
0 => array_flip($this->table[0]),
|
||||||
1 => array_flip($this->table[1]),
|
1 => array_flip($this->table[1]),
|
||||||
);
|
];
|
||||||
if (is_array($words_exceptions)) $this->words_exceptions += $words_exceptions;
|
if (is_array($words_exceptions)) $this->words_exceptions += $words_exceptions;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2837,7 +2835,7 @@ class Text_LangCorrect
|
||||||
*/
|
*/
|
||||||
public function parse($s, $mode = self::SIMILAR_CHARS, array &$words = null)
|
public function parse($s, $mode = self::SIMILAR_CHARS, array &$words = null)
|
||||||
{
|
{
|
||||||
if (! ReflectionTypeHint::isValid()) return false;
|
if (! Text_ReflectionTypeHint::isValid()) return false;
|
||||||
if (! is_string($s)) return $s;
|
if (! is_string($s)) return $s;
|
||||||
|
|
||||||
if ($mode < self::SIMILAR_CHARS || $mode > (self::SIMILAR_CHARS | self::KEYBOARD_LAYOUT | self::ADD_FIX))
|
if ($mode < self::SIMILAR_CHARS || $mode > (self::SIMILAR_CHARS | self::KEYBOARD_LAYOUT | self::ADD_FIX))
|
||||||
|
@ -2849,16 +2847,16 @@ class Text_LangCorrect
|
||||||
$this->mode = $mode;
|
$this->mode = $mode;
|
||||||
|
|
||||||
#вырезаем и заменяем некоторые символы
|
#вырезаем и заменяем некоторые символы
|
||||||
$additional_chars = array(
|
$additional_chars = [
|
||||||
"\xc2\xad", #"мягкие" переносы строк (­)
|
"\xc2\xad", #"мягкие" переносы строк (­)
|
||||||
);
|
];
|
||||||
#http://ru.wikipedia.org/wiki/Диакритические_знаки
|
#http://ru.wikipedia.org/wiki/Диакритические_знаки
|
||||||
$s = UTF8::diactrical_remove($s, $additional_chars, $is_can_restored = true, $restore_table);
|
$s = Text_UTF8::diactrical_remove($s, $additional_chars, $is_can_restored = true, $restore_table);
|
||||||
|
|
||||||
$this->words = array();
|
$this->words = [];
|
||||||
$s = $this->_parse1($s);
|
$s = $this->_parse1($s);
|
||||||
$s = $this->_parse2($s);
|
$s = $this->_parse2($s);
|
||||||
$s = UTF8::diactrical_restore($s, $restore_table);
|
$s = Text_UTF8::diactrical_restore($s, $restore_table);
|
||||||
$words = $this->words;
|
$words = $this->words;
|
||||||
return $s;
|
return $s;
|
||||||
}
|
}
|
||||||
|
@ -2870,7 +2868,7 @@ class Text_LangCorrect
|
||||||
| (' . $this->tt . ') #2 русские буквы
|
| (' . $this->tt . ') #2 русские буквы
|
||||||
| (' . $this->sc . ') #3 символы, которые м.б. набраны по ошибке в английской раскладке клавиатуры вместо русских букв
|
| (' . $this->sc . ') #3 символы, которые м.б. набраны по ошибке в английской раскладке клавиатуры вместо русских букв
|
||||||
){3,}+
|
){3,}+
|
||||||
/sxSX', array($this, '_word'), $s);
|
/sxSX', [$this, '_word'], $s);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function _parse2($s)
|
private function _parse2($s)
|
||||||
|
@ -2890,7 +2888,7 @@ class Text_LangCorrect
|
||||||
(?:' . $this->ru_similar . ')++
|
(?:' . $this->ru_similar . ')++
|
||||||
(?= [\d-_/]*+ (?!' . $this->tt_uniq . ') )
|
(?= [\d-_/]*+ (?!' . $this->tt_uniq . ') )
|
||||||
)
|
)
|
||||||
~sxSX', array($this, '_entry'), $s);
|
~sxSX', [$this, '_entry'], $s);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function _entry(array &$a)
|
private function _entry(array &$a)
|
||||||
|
@ -2906,7 +2904,7 @@ class Text_LangCorrect
|
||||||
$word = $a[0];
|
$word = $a[0];
|
||||||
#var_export($a);
|
#var_export($a);
|
||||||
|
|
||||||
$suggestions = array();
|
$suggestions = [];
|
||||||
|
|
||||||
#если найдено слово из мешанины русских и латинских букв
|
#если найдено слово из мешанины русских и латинских букв
|
||||||
if (! empty($a[1]) && ! empty($a[2]))
|
if (! empty($a[1]) && ! empty($a[2]))
|
||||||
|
@ -3017,7 +3015,7 @@ class Text_LangCorrect
|
||||||
|
|
||||||
private function _replace($word, $regexp)
|
private function _replace($word, $regexp)
|
||||||
{
|
{
|
||||||
do $word = preg_replace_callback($regexp, array(&$this, '_strtr'), $w = $word);
|
do $word = preg_replace_callback($regexp, [&$this, '_strtr'], $w = $word);
|
||||||
while ($w !== $word);
|
while ($w !== $word);
|
||||||
return $word;
|
return $word;
|
||||||
}
|
}
|
||||||
|
@ -3063,7 +3061,7 @@ class Text_LangCorrect
|
||||||
#если в $s спецсимволов больше чем букв, возвращаем $word
|
#если в $s спецсимволов больше чем букв, возвращаем $word
|
||||||
$sc_count = 0;
|
$sc_count = 0;
|
||||||
$s = preg_replace('/' . $this->sc . '/sSX', '', $s, -1, $sc_count);
|
$s = preg_replace('/' . $this->sc . '/sSX', '', $s, -1, $sc_count);
|
||||||
if ($sc_count > 0 && $sc_count > UTF8::strlen($s)) return $word;
|
if ($sc_count > 0 && $sc_count > Text_UTF8::strlen($s)) return $word;
|
||||||
|
|
||||||
return reset($suggestions);
|
return reset($suggestions);
|
||||||
}
|
}
|
||||||
|
@ -3071,7 +3069,7 @@ class Text_LangCorrect
|
||||||
#анализ на основе N-грамм русского и английского языка
|
#анализ на основе N-грамм русского и английского языка
|
||||||
private function _bigram_exists($word, $lang)
|
private function _bigram_exists($word, $lang)
|
||||||
{
|
{
|
||||||
$word = ($lang === 'en') ? strtolower($word) : UTF8::lowercase($word);
|
$word = ($lang === 'en') ? strtolower($word) : Text_UTF8::lowercase($word);
|
||||||
|
|
||||||
#шаг 0.
|
#шаг 0.
|
||||||
#проверяем слова в списке слов-исключений
|
#проверяем слова в списке слов-исключений
|
||||||
|
@ -3090,14 +3088,14 @@ class Text_LangCorrect
|
||||||
&& ! array_key_exists($m[0], $this->vowels3_lc[$lang])) return true;
|
&& ! array_key_exists($m[0], $this->vowels3_lc[$lang])) return true;
|
||||||
|
|
||||||
#шаг 3.
|
#шаг 3.
|
||||||
$length = UTF8::strlen($word);
|
$length = Text_UTF8::strlen($word);
|
||||||
for ($pos = 0, $limit = $length - 1; $pos < $limit; $pos++)
|
for ($pos = 0, $limit = $length - 1; $pos < $limit; $pos++)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
TODO Качество проверки по несуществующим биграммам можно немного повысить,
|
TODO Качество проверки по несуществующим биграммам можно немного повысить,
|
||||||
если учитывать не только начало и конец слова, но и все позиции биграмм в слове.
|
если учитывать не только начало и конец слова, но и все позиции биграмм в слове.
|
||||||
*/
|
*/
|
||||||
$ss = UTF8::substr($word, $pos, 2);
|
$ss = Text_UTF8::substr($word, $pos, 2);
|
||||||
if ($pos === 0) $ss = ' ' . $ss; #beginning of word
|
if ($pos === 0) $ss = ' ' . $ss; #beginning of word
|
||||||
elseif ($pos === $limit - 1) $ss = $ss . ' '; #ending of word
|
elseif ($pos === $limit - 1) $ss = $ss . ' '; #ending of word
|
||||||
if (array_key_exists($ss, $this->bigrams)) return true;
|
if (array_key_exists($ss, $this->bigrams)) return true;
|
|
@ -1,6 +1,5 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
if (!defined('BB_ROOT')) die(basename(__FILE__));
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A class for validating method parameters to allowed types via reflection.
|
* A class for validating method parameters to allowed types via reflection.
|
||||||
|
@ -28,7 +27,7 @@ if (!defined('BB_ROOT')) die(basename(__FILE__));
|
||||||
* @version 1.1.0
|
* @version 1.1.0
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class ReflectionTypeHint
|
class Text_ReflectionTypeHint
|
||||||
{
|
{
|
||||||
protected static $hints = array(
|
protected static $hints = array(
|
||||||
'int' => 'is_int',
|
'int' => 'is_int',
|
File diff suppressed because it is too large
Load diff
214
search.php
214
search.php
|
@ -3,19 +3,15 @@
|
||||||
define('BB_SCRIPT', 'search');
|
define('BB_SCRIPT', 'search');
|
||||||
define('BB_ROOT', './');
|
define('BB_ROOT', './');
|
||||||
require(BB_ROOT . 'common.php');
|
require(BB_ROOT . 'common.php');
|
||||||
|
|
||||||
require(INC_DIR . 'bbcode.php');
|
require(INC_DIR . 'bbcode.php');
|
||||||
require(CLASS_DIR . 'utf8.php');
|
|
||||||
require(CLASS_DIR . 'correct.php');
|
|
||||||
require(CLASS_DIR . 'reflection.php');
|
|
||||||
|
|
||||||
$page_cfg['load_tpl_vars'] = array(
|
$page_cfg['load_tpl_vars'] = [
|
||||||
'post_buttons',
|
'post_buttons',
|
||||||
'post_icons',
|
'post_icons',
|
||||||
'topic_icons',
|
'topic_icons',
|
||||||
);
|
];
|
||||||
|
|
||||||
$user->session_start(array('req_login' => $bb_cfg['disable_search_for_guest']));
|
$user->session_start(['req_login' => $bb_cfg['disable_search_for_guest']]);
|
||||||
|
|
||||||
set_die_append_msg();
|
set_die_append_msg();
|
||||||
|
|
||||||
|
@ -65,7 +61,7 @@ else if(isset($_POST['add_my_post']))
|
||||||
//
|
//
|
||||||
// Define censored word matches
|
// Define censored word matches
|
||||||
//
|
//
|
||||||
$orig_word = $replacement_word = array();
|
$orig_word = $replacement_word = [];
|
||||||
obtain_word_list($orig_word, $replacement_word);
|
obtain_word_list($orig_word, $replacement_word);
|
||||||
|
|
||||||
$tracking_topics = get_tracks('topic');
|
$tracking_topics = get_tracks('topic');
|
||||||
|
@ -145,138 +141,138 @@ $ord_last_p = 5;
|
||||||
$ord_created = 6;
|
$ord_created = 6;
|
||||||
|
|
||||||
// Order options
|
// Order options
|
||||||
$order_opt = array(
|
$order_opt = [
|
||||||
$ord_posted => array(
|
$ord_posted => [
|
||||||
'lang' => $lang['SORT_TIME'],
|
'lang' => $lang['SORT_TIME'],
|
||||||
'sql' => 'item_id',
|
'sql' => 'item_id',
|
||||||
),
|
],
|
||||||
$ord_last_p => array(
|
$ord_last_p => [
|
||||||
'lang' => $lang['LASTPOST'],
|
'lang' => $lang['LASTPOST'],
|
||||||
'sql' => 't.topic_last_post_id',
|
'sql' => 't.topic_last_post_id',
|
||||||
),
|
],
|
||||||
$ord_created => array(
|
$ord_created => [
|
||||||
'lang' => $lang['BT_CREATED'],
|
'lang' => $lang['BT_CREATED'],
|
||||||
'sql' => 't.topic_time',
|
'sql' => 't.topic_time',
|
||||||
),
|
],
|
||||||
$ord_name => array(
|
$ord_name => [
|
||||||
'lang' => $lang['SORT_TOPIC_TITLE'],
|
'lang' => $lang['SORT_TOPIC_TITLE'],
|
||||||
'sql' => 't.topic_title',
|
'sql' => 't.topic_title',
|
||||||
),
|
],
|
||||||
$ord_repl => array(
|
$ord_repl => [
|
||||||
'lang' => $lang['REPLIES'],
|
'lang' => $lang['REPLIES'],
|
||||||
'sql' => 't.topic_replies',
|
'sql' => 't.topic_replies',
|
||||||
),
|
],
|
||||||
);
|
];
|
||||||
$order_select = array();
|
$order_select = [];
|
||||||
foreach ($order_opt as $val => $opt)
|
foreach ($order_opt as $val => $opt)
|
||||||
{
|
{
|
||||||
$order_select[$opt['lang']] = $val;
|
$order_select[$opt['lang']] = $val;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sort direction
|
// Sort direction
|
||||||
$sort_opt = array(
|
$sort_opt = [
|
||||||
$sort_asc => array(
|
$sort_asc => [
|
||||||
'lang' => $lang['ASC'],
|
'lang' => $lang['ASC'],
|
||||||
'sql' => ' ASC ',
|
'sql' => ' ASC ',
|
||||||
),
|
],
|
||||||
$sort_desc => array(
|
$sort_desc => [
|
||||||
'lang' => $lang['DESC'],
|
'lang' => $lang['DESC'],
|
||||||
'sql' => ' DESC ',
|
'sql' => ' DESC ',
|
||||||
),
|
],
|
||||||
);
|
];
|
||||||
$sort_select = array();
|
$sort_select = [];
|
||||||
foreach ($sort_opt as $val => $opt)
|
foreach ($sort_opt as $val => $opt)
|
||||||
{
|
{
|
||||||
$sort_select[$opt['lang']] = $val;
|
$sort_select[$opt['lang']] = $val;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Previous days
|
// Previous days
|
||||||
$time_opt = array(
|
$time_opt = [
|
||||||
$search_all => array(
|
$search_all => [
|
||||||
'lang' => $lang['BT_ALL_DAYS_FOR'],
|
'lang' => $lang['BT_ALL_DAYS_FOR'],
|
||||||
'sql' => 0,
|
'sql' => 0,
|
||||||
),
|
],
|
||||||
1 => array(
|
1 => [
|
||||||
'lang' => $lang['BT_1_DAY_FOR'],
|
'lang' => $lang['BT_1_DAY_FOR'],
|
||||||
'sql' => TIMENOW - 86400,
|
'sql' => TIMENOW - 86400,
|
||||||
),
|
],
|
||||||
3 => array(
|
3 => [
|
||||||
'lang' => $lang['BT_3_DAY_FOR'],
|
'lang' => $lang['BT_3_DAY_FOR'],
|
||||||
'sql' => TIMENOW - 86400*3,
|
'sql' => TIMENOW - 86400*3,
|
||||||
),
|
],
|
||||||
7 => array(
|
7 => [
|
||||||
'lang' => $lang['BT_7_DAYS_FOR'],
|
'lang' => $lang['BT_7_DAYS_FOR'],
|
||||||
'sql' => TIMENOW - 86400*7,
|
'sql' => TIMENOW - 86400*7,
|
||||||
),
|
],
|
||||||
14 => array(
|
14 => [
|
||||||
'lang' => $lang['BT_2_WEEKS_FOR'],
|
'lang' => $lang['BT_2_WEEKS_FOR'],
|
||||||
'sql' => TIMENOW - 86400*14,
|
'sql' => TIMENOW - 86400*14,
|
||||||
),
|
],
|
||||||
30 => array(
|
30 => [
|
||||||
'lang' => $lang['BT_1_MONTH_FOR'],
|
'lang' => $lang['BT_1_MONTH_FOR'],
|
||||||
'sql' => TIMENOW - 86400*30,
|
'sql' => TIMENOW - 86400*30,
|
||||||
),
|
],
|
||||||
);
|
];
|
||||||
$time_select = array();
|
$time_select = [];
|
||||||
foreach ($time_opt as $val => $opt)
|
foreach ($time_opt as $val => $opt)
|
||||||
{
|
{
|
||||||
$time_select[$opt['lang']] = $val;
|
$time_select[$opt['lang']] = $val;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Display as
|
// Display as
|
||||||
$display_as_opt = array(
|
$display_as_opt = [
|
||||||
$as_topics => array(
|
$as_topics => [
|
||||||
'lang' => $lang['TOPICS'],
|
'lang' => $lang['TOPICS'],
|
||||||
),
|
],
|
||||||
$as_posts => array(
|
$as_posts => [
|
||||||
'lang' => $lang['MESSAGE'],
|
'lang' => $lang['MESSAGE'],
|
||||||
),
|
],
|
||||||
);
|
];
|
||||||
$display_as_select = array();
|
$display_as_select = [];
|
||||||
foreach ($display_as_opt as $val => $opt)
|
foreach ($display_as_opt as $val => $opt)
|
||||||
{
|
{
|
||||||
$display_as_select[$opt['lang']] = $val;
|
$display_as_select[$opt['lang']] = $val;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Chars
|
// Chars
|
||||||
$chars_opt = array(
|
$chars_opt = [
|
||||||
$show_all => array(
|
$show_all => [
|
||||||
'lang' => $lang['ALL_AVAILABLE'],
|
'lang' => $lang['ALL_AVAILABLE'],
|
||||||
),
|
],
|
||||||
$show_briefly => array(
|
$show_briefly => [
|
||||||
'lang' => $lang['BRIEFLY'],
|
'lang' => $lang['BRIEFLY'],
|
||||||
),
|
],
|
||||||
);
|
];
|
||||||
$chars_select = array();
|
$chars_select = [];
|
||||||
foreach ($chars_opt as $val => $opt)
|
foreach ($chars_opt as $val => $opt)
|
||||||
{
|
{
|
||||||
$chars_select[$opt['lang']] = $val;
|
$chars_select[$opt['lang']] = $val;
|
||||||
}
|
}
|
||||||
|
|
||||||
$GPC = array(
|
$GPC = [
|
||||||
# var_name key_name def_value GPC type
|
# var_name key_name def_value GPC type
|
||||||
'all_words' => array('allw', 1, CHBOX),
|
'all_words' => ['allw', 1, CHBOX],
|
||||||
'cat' => array('c', null, REQUEST),
|
'cat' => ['c', null, REQUEST],
|
||||||
'chars' => array('ch', $show_all, SELECT),
|
'chars' => ['ch', $show_all, SELECT],
|
||||||
'display_as' => array('dm', $as_topics, SELECT),
|
'display_as' => ['dm', $as_topics, SELECT],
|
||||||
'dl_cancel' => array('dla', 0, CHBOX),
|
'dl_cancel' => ['dla', 0, CHBOX],
|
||||||
'dl_compl' => array('dlc', 0, CHBOX),
|
'dl_compl' => ['dlc', 0, CHBOX],
|
||||||
'dl_down' => array('dld', 0, CHBOX),
|
'dl_down' => ['dld', 0, CHBOX],
|
||||||
'dl_user_id' => array('dlu', $user_id, CHBOX),
|
'dl_user_id' => ['dlu', $user_id, CHBOX],
|
||||||
'dl_will' => array('dlw', 0, CHBOX),
|
'dl_will' => ['dlw', 0, CHBOX],
|
||||||
'forum' => array('f', $search_all, REQUEST),
|
'forum' => ['f', $search_all, REQUEST],
|
||||||
'my_topics' => array('myt', 0, CHBOX),
|
'my_topics' => ['myt', 0, CHBOX],
|
||||||
'new' => array('new', 0, CHBOX),
|
'new' => ['new', 0, CHBOX],
|
||||||
'new_topics' => array('nt', 0, CHBOX),
|
'new_topics' => ['nt', 0, CHBOX],
|
||||||
'order' => array('o', $ord_posted, SELECT),
|
'order' => ['o', $ord_posted, SELECT],
|
||||||
'poster_id' => array('uid', null, REQUEST),
|
'poster_id' => ['uid', null, REQUEST],
|
||||||
'poster_name' => array('pn', null, REQUEST),
|
'poster_name' => ['pn', null, REQUEST],
|
||||||
'sort' => array('s', $sort_desc, SELECT),
|
'sort' => ['s', $sort_desc, SELECT],
|
||||||
'text_match' => array('nm', null, REQUEST),
|
'text_match' => ['nm', null, REQUEST],
|
||||||
'time' => array('tm', $search_all, SELECT),
|
'time' => ['tm', $search_all, SELECT],
|
||||||
'title_only' => array('to', 0, CHBOX),
|
'title_only' => ['to', 0, CHBOX],
|
||||||
'topic' => array('t', null, REQUEST),
|
'topic' => ['t', null, REQUEST],
|
||||||
);
|
];
|
||||||
|
|
||||||
// Define all GPC vars with default values
|
// Define all GPC vars with default values
|
||||||
foreach ($GPC as $var_name => $var_options)
|
foreach ($GPC as $var_name => $var_options)
|
||||||
|
@ -292,7 +288,7 @@ if (empty($_GET) && empty($_POST))
|
||||||
$forum_select_mode = explode(',', $excluded_forums_csv);
|
$forum_select_mode = explode(',', $excluded_forums_csv);
|
||||||
$forum_select = get_forum_select($forum_select_mode, "{$forum_key}[]", $search_all, $max_forum_name_len, $forum_select_size, 'style="width: 95%;"', $search_all);
|
$forum_select = get_forum_select($forum_select_mode, "{$forum_key}[]", $search_all, $max_forum_name_len, $forum_select_size, 'style="width: 95%;"', $search_all);
|
||||||
|
|
||||||
$template->assign_vars(array(
|
$template->assign_vars([
|
||||||
'TPL_SEARCH_MAIN' => true,
|
'TPL_SEARCH_MAIN' => true,
|
||||||
'PAGE_TITLE' => $lang['SEARCH'],
|
'PAGE_TITLE' => $lang['SEARCH'],
|
||||||
|
|
||||||
|
@ -323,7 +319,7 @@ if (empty($_GET) && empty($_POST))
|
||||||
'SORT_SELECT' => build_select ($sort_key, $sort_select, $sort_val),
|
'SORT_SELECT' => build_select ($sort_key, $sort_select, $sort_val),
|
||||||
'CHARS_SELECT' => '', # build_select ($chars_key, $chars_select, $chars_val),
|
'CHARS_SELECT' => '', # build_select ($chars_key, $chars_select, $chars_val),
|
||||||
'DISPLAY_AS_SELECT' => build_select ($display_as_key, $display_as_select, $display_as_val),
|
'DISPLAY_AS_SELECT' => build_select ($display_as_key, $display_as_select, $display_as_val),
|
||||||
));
|
]);
|
||||||
|
|
||||||
print_page('search.tpl');
|
print_page('search.tpl');
|
||||||
}
|
}
|
||||||
|
@ -447,7 +443,7 @@ if (!$items_found)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$dl_status = array();
|
$dl_status = [];
|
||||||
if ($dl_cancel_val) $dl_status[] = DL_STATUS_CANCEL;
|
if ($dl_cancel_val) $dl_status[] = DL_STATUS_CANCEL;
|
||||||
if ($dl_compl_val) $dl_status[] = DL_STATUS_COMPLETE;
|
if ($dl_compl_val) $dl_status[] = DL_STATUS_COMPLETE;
|
||||||
if ($dl_down_val) $dl_status[] = DL_STATUS_DOWN;
|
if ($dl_down_val) $dl_status[] = DL_STATUS_DOWN;
|
||||||
|
@ -480,7 +476,7 @@ if ($post_mode)
|
||||||
// Run initial search for post_ids
|
// Run initial search for post_ids
|
||||||
if (!$items_found)
|
if (!$items_found)
|
||||||
{
|
{
|
||||||
$join_t = ($title_match || $my_topics || $new_topics || in_array($order_val, array($ord_last_p, $ord_created, $ord_name, $ord_repl)));
|
$join_t = ($title_match || $my_topics || $new_topics || in_array($order_val, [$ord_last_p, $ord_created, $ord_name, $ord_repl]));
|
||||||
$join_s = ($text_match_sql && !$title_match);
|
$join_s = ($text_match_sql && !$title_match);
|
||||||
$join_p = ($my_posts || $join_s);
|
$join_p = ($my_posts || $join_s);
|
||||||
|
|
||||||
|
@ -516,7 +512,7 @@ if ($post_mode)
|
||||||
if ($text_match_sql)
|
if ($text_match_sql)
|
||||||
{
|
{
|
||||||
$search_match_topics_csv = '';
|
$search_match_topics_csv = '';
|
||||||
$title_match_topics = get_title_match_topics(array('query' => $text_match_sql, 'ids' => $forum_selected));
|
$title_match_topics = get_title_match_topics(['query' => $text_match_sql, 'ids' => $forum_selected]);
|
||||||
|
|
||||||
if (!$search_match_topics_csv = join(',', $title_match_topics))
|
if (!$search_match_topics_csv = join(',', $title_match_topics))
|
||||||
{
|
{
|
||||||
|
@ -568,7 +564,7 @@ if ($post_mode)
|
||||||
{
|
{
|
||||||
bb_die($lang['NO_SEARCH_MATCH']);
|
bb_die($lang['NO_SEARCH_MATCH']);
|
||||||
}
|
}
|
||||||
$tmp = $sorted_rows = array();
|
$tmp = $sorted_rows = [];
|
||||||
|
|
||||||
foreach ($unsorted_rows as $row)
|
foreach ($unsorted_rows as $row)
|
||||||
{
|
{
|
||||||
|
@ -585,7 +581,7 @@ if ($post_mode)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Output page
|
// Output page
|
||||||
$new_tracks = array();
|
$new_tracks = [];
|
||||||
|
|
||||||
foreach ($sorted_rows as $topic_id => $topic_posts)
|
foreach ($sorted_rows as $topic_id => $topic_posts)
|
||||||
{
|
{
|
||||||
|
@ -601,13 +597,13 @@ if ($post_mode)
|
||||||
$topic_title = preg_replace($orig_word, $replacement_word, $topic_title);
|
$topic_title = preg_replace($orig_word, $replacement_word, $topic_title);
|
||||||
}
|
}
|
||||||
|
|
||||||
$template->assign_block_vars('t', array(
|
$template->assign_block_vars('t', [
|
||||||
'FORUM_ID' => $forum_id,
|
'FORUM_ID' => $forum_id,
|
||||||
'FORUM_NAME' => $forum_name_html[$forum_id],
|
'FORUM_NAME' => $forum_name_html[$forum_id],
|
||||||
'TOPIC_ID' => $topic_id,
|
'TOPIC_ID' => $topic_id,
|
||||||
'TOPIC_TITLE' => $topic_title,
|
'TOPIC_TITLE' => $topic_title,
|
||||||
'TOPIC_ICON' => get_topic_icon($first_post, $is_unread_t),
|
'TOPIC_ICON' => get_topic_icon($first_post, $is_unread_t),
|
||||||
));
|
]);
|
||||||
|
|
||||||
$quote_btn = true;
|
$quote_btn = true;
|
||||||
$edit_btn = $delpost_btn = $ip_btn = (IS_AM);
|
$edit_btn = $delpost_btn = $ip_btn = (IS_AM);
|
||||||
|
@ -622,7 +618,7 @@ if ($post_mode)
|
||||||
$message = preg_replace($orig_word, $replacement_word, $message);
|
$message = preg_replace($orig_word, $replacement_word, $message);
|
||||||
}
|
}
|
||||||
|
|
||||||
$template->assign_block_vars('t.p', array(
|
$template->assign_block_vars('t.p', [
|
||||||
'ROW_NUM' => $row_num,
|
'ROW_NUM' => $row_num,
|
||||||
'POSTER_ID' => $post['poster_id'],
|
'POSTER_ID' => $post['poster_id'],
|
||||||
'POSTER' => profile_url($post),
|
'POSTER' => profile_url($post),
|
||||||
|
@ -635,7 +631,7 @@ if ($post_mode)
|
||||||
'EDIT' => $edit_btn,
|
'EDIT' => $edit_btn,
|
||||||
'DELETE' => $delpost_btn,
|
'DELETE' => $delpost_btn,
|
||||||
'IP' => $ip_btn,
|
'IP' => $ip_btn,
|
||||||
));
|
]);
|
||||||
|
|
||||||
$curr_new_track_val = !empty($new_tracks[$topic_id]) ? $new_tracks[$topic_id] : 0;
|
$curr_new_track_val = !empty($new_tracks[$topic_id]) ? $new_tracks[$topic_id] : 0;
|
||||||
$new_tracks[$topic_id] = max($curr_new_track_val, $post['post_time']);
|
$new_tracks[$topic_id] = max($curr_new_track_val, $post['post_time']);
|
||||||
|
@ -654,7 +650,7 @@ else
|
||||||
// Run initial search for topic_ids
|
// Run initial search for topic_ids
|
||||||
if (!$items_found)
|
if (!$items_found)
|
||||||
{
|
{
|
||||||
$join_t = ($title_match || $my_topics || $new_topics || $dl_search || $new_posts || in_array($order_val, array($ord_last_p, $ord_created, $ord_name, $ord_repl)));
|
$join_t = ($title_match || $my_topics || $new_topics || $dl_search || $new_posts || in_array($order_val, [$ord_last_p, $ord_created, $ord_name, $ord_repl]));
|
||||||
$join_s = ($text_match_sql && !$title_match);
|
$join_s = ($text_match_sql && !$title_match);
|
||||||
$join_p = ($my_posts || $join_s);
|
$join_p = ($my_posts || $join_s);
|
||||||
$join_dl = ($dl_search);
|
$join_dl = ($dl_search);
|
||||||
|
@ -714,7 +710,7 @@ else
|
||||||
if ($text_match_sql)
|
if ($text_match_sql)
|
||||||
{
|
{
|
||||||
$search_match_topics_csv = '';
|
$search_match_topics_csv = '';
|
||||||
$title_match_topics = get_title_match_topics(array('query' => $text_match_sql, 'ids' => $forum_selected));
|
$title_match_topics = get_title_match_topics(['query' => $text_match_sql, 'ids' => $forum_selected]);
|
||||||
|
|
||||||
if (!$search_match_topics_csv = join(',', $title_match_topics))
|
if (!$search_match_topics_csv = join(',', $title_match_topics))
|
||||||
{
|
{
|
||||||
|
@ -782,7 +778,7 @@ else
|
||||||
$SQL['LIMIT'][] = "$per_page";
|
$SQL['LIMIT'][] = "$per_page";
|
||||||
|
|
||||||
// Fetch topics data
|
// Fetch topics data
|
||||||
$topic_rows = array();
|
$topic_rows = [];
|
||||||
foreach (DB()->fetch_rowset($SQL) as $row)
|
foreach (DB()->fetch_rowset($SQL) as $row)
|
||||||
{
|
{
|
||||||
$topic_rows[$row['topic_id']] = $row;
|
$topic_rows[$row['topic_id']] = $row;
|
||||||
|
@ -805,7 +801,7 @@ else
|
||||||
$is_unread = is_unread($topic['topic_last_post_time'], $topic_id, $forum_id);
|
$is_unread = is_unread($topic['topic_last_post_time'], $topic_id, $forum_id);
|
||||||
$moved = ($topic['topic_status'] == TOPIC_MOVED);
|
$moved = ($topic['topic_status'] == TOPIC_MOVED);
|
||||||
|
|
||||||
$template->assign_block_vars('t', array(
|
$template->assign_block_vars('t', [
|
||||||
'ROW_NUM' => $row_num,
|
'ROW_NUM' => $row_num,
|
||||||
'FORUM_ID' => $forum_id,
|
'FORUM_ID' => $forum_id,
|
||||||
'FORUM_NAME' => $forum_name_html[$forum_id],
|
'FORUM_NAME' => $forum_name_html[$forum_id],
|
||||||
|
@ -823,11 +819,11 @@ else
|
||||||
'POLL' => $topic['topic_vote'],
|
'POLL' => $topic['topic_vote'],
|
||||||
'DL_CLASS' => isset($topic['dl_status']) ? $dl_link_css[$topic['dl_status']] : '',
|
'DL_CLASS' => isset($topic['dl_status']) ? $dl_link_css[$topic['dl_status']] : '',
|
||||||
|
|
||||||
'TOPIC_AUTHOR' => profile_url(array('username' => $topic['first_username'], 'user_id' => $topic['first_user_id'], 'user_rank' => $topic['first_user_rank'])),
|
'TOPIC_AUTHOR' => profile_url(['username' => $topic['first_username'], 'user_id' => $topic['first_user_id'], 'user_rank' => $topic['first_user_rank']]),
|
||||||
'LAST_POSTER' => profile_url(array('username' => $topic['last_username'], 'user_id' => $topic['last_user_id'], 'user_rank' => $topic['last_user_rank'])),
|
'LAST_POSTER' => profile_url(['username' => $topic['last_username'], 'user_id' => $topic['last_user_id'], 'user_rank' => $topic['last_user_rank']]),
|
||||||
'LAST_POST_TIME' => bb_date($topic['topic_last_post_time']),
|
'LAST_POST_TIME' => bb_date($topic['topic_last_post_time']),
|
||||||
'LAST_POST_ID' => $topic['topic_last_post_id'],
|
'LAST_POST_ID' => $topic['topic_last_post_id'],
|
||||||
));
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -839,7 +835,7 @@ if ($items_display)
|
||||||
|
|
||||||
generate_pagination($url, $items_count, $per_page, $start);
|
generate_pagination($url, $items_count, $per_page, $start);
|
||||||
|
|
||||||
$template->assign_vars(array(
|
$template->assign_vars([
|
||||||
'PAGE_TITLE' => $lang['SEARCH'],
|
'PAGE_TITLE' => $lang['SEARCH'],
|
||||||
|
|
||||||
'SEARCH_MATCHES' => ($items_count) ? sprintf($lang['FOUND_SEARCH_MATCHES'], $items_count) : '',
|
'SEARCH_MATCHES' => ($items_count) ? sprintf($lang['FOUND_SEARCH_MATCHES'], $items_count) : '',
|
||||||
|
@ -848,7 +844,7 @@ if ($items_display)
|
||||||
'DL_CONTROLS' => ($dl_search && $dl_user_id_val == $user_id),
|
'DL_CONTROLS' => ($dl_search && $dl_user_id_val == $user_id),
|
||||||
'DL_ACTION' => 'dl_list.php',
|
'DL_ACTION' => 'dl_list.php',
|
||||||
'MY_POSTS' => (!$post_mode && $my_posts && $user->id == $poster_id_val),
|
'MY_POSTS' => (!$post_mode && $my_posts && $user->id == $poster_id_val),
|
||||||
));
|
]);
|
||||||
|
|
||||||
print_page('search_results.tpl');
|
print_page('search_results.tpl');
|
||||||
}
|
}
|
||||||
|
@ -862,7 +858,7 @@ function fetch_search_ids ($sql, $search_type = SEARCH_TYPE_POST)
|
||||||
{
|
{
|
||||||
global $lang, $search_id, $session_id, $items_found, $per_page;
|
global $lang, $search_id, $session_id, $items_found, $per_page;
|
||||||
|
|
||||||
$items_found = array();
|
$items_found = [];
|
||||||
foreach (DB()->fetch_rowset($sql) as $row)
|
foreach (DB()->fetch_rowset($sql) as $row)
|
||||||
{
|
{
|
||||||
$items_found[] = $row['item_id'];
|
$items_found[] = $row['item_id'];
|
||||||
|
@ -879,18 +875,18 @@ function fetch_search_ids ($sql, $search_type = SEARCH_TYPE_POST)
|
||||||
{
|
{
|
||||||
$search_array = join(',', $items_found);
|
$search_array = join(',', $items_found);
|
||||||
|
|
||||||
$save_in_db = array(
|
$save_in_db = [
|
||||||
'order',
|
'order',
|
||||||
'sort',
|
'sort',
|
||||||
'display_as',
|
'display_as',
|
||||||
'chars',
|
'chars',
|
||||||
);
|
];
|
||||||
if ($GLOBALS['dl_cancel_val']) $save_in_db[] = 'dl_cancel';
|
if ($GLOBALS['dl_cancel_val']) $save_in_db[] = 'dl_cancel';
|
||||||
if ($GLOBALS['dl_compl_val']) $save_in_db[] = 'dl_compl';
|
if ($GLOBALS['dl_compl_val']) $save_in_db[] = 'dl_compl';
|
||||||
if ($GLOBALS['dl_down_val']) $save_in_db[] = 'dl_down';
|
if ($GLOBALS['dl_down_val']) $save_in_db[] = 'dl_down';
|
||||||
if ($GLOBALS['dl_will_val']) $save_in_db[] = 'dl_will';
|
if ($GLOBALS['dl_will_val']) $save_in_db[] = 'dl_will';
|
||||||
|
|
||||||
$curr_set = array();
|
$curr_set = [];
|
||||||
foreach ($save_in_db as $name)
|
foreach ($save_in_db as $name)
|
||||||
{
|
{
|
||||||
$curr_set[$GLOBALS["{$name}_key"]] = $GLOBALS["{$name}_val"];
|
$curr_set[$GLOBALS["{$name}_key"]] = $GLOBALS["{$name}_val"];
|
||||||
|
@ -913,8 +909,8 @@ function prevent_huge_searches ($SQL)
|
||||||
if ($bb_cfg['limit_max_search_results'])
|
if ($bb_cfg['limit_max_search_results'])
|
||||||
{
|
{
|
||||||
$SQL['select_options'][] = 'SQL_CALC_FOUND_ROWS';
|
$SQL['select_options'][] = 'SQL_CALC_FOUND_ROWS';
|
||||||
$SQL['ORDER BY'] = array();
|
$SQL['ORDER BY'] = [];
|
||||||
$SQL['LIMIT'] = array('0');
|
$SQL['LIMIT'] = ['0'];
|
||||||
|
|
||||||
if (DB()->query($SQL) AND $row = DB()->fetch_row("SELECT FOUND_ROWS() AS rows_count"))
|
if (DB()->query($SQL) AND $row = DB()->fetch_row("SELECT FOUND_ROWS() AS rows_count"))
|
||||||
{
|
{
|
||||||
|
@ -929,7 +925,7 @@ function prevent_huge_searches ($SQL)
|
||||||
|
|
||||||
function username_search ($search_match)
|
function username_search ($search_match)
|
||||||
{
|
{
|
||||||
global $template, $lang, $gen_simple_header;
|
global $template, $lang;
|
||||||
|
|
||||||
$username_list = '';
|
$username_list = '';
|
||||||
|
|
||||||
|
@ -959,7 +955,7 @@ function username_search ($search_match)
|
||||||
|
|
||||||
$input_name = isset($_REQUEST['input_name']) ? htmlCHR($_REQUEST['input_name']) : 'username';
|
$input_name = isset($_REQUEST['input_name']) ? htmlCHR($_REQUEST['input_name']) : 'username';
|
||||||
|
|
||||||
$template->assign_vars(array(
|
$template->assign_vars([
|
||||||
'TPL_SEARCH_USERNAME' => true,
|
'TPL_SEARCH_USERNAME' => true,
|
||||||
|
|
||||||
'PAGE_TITLE' => $lang['SEARCH'],
|
'PAGE_TITLE' => $lang['SEARCH'],
|
||||||
|
@ -967,7 +963,7 @@ function username_search ($search_match)
|
||||||
'INPUT_NAME' => $input_name,
|
'INPUT_NAME' => $input_name,
|
||||||
'USERNAME_OPTIONS' => $username_list,
|
'USERNAME_OPTIONS' => $username_list,
|
||||||
'SEARCH_ACTION' => "search.php?mode=searchuser&input_name=$input_name",
|
'SEARCH_ACTION' => "search.php?mode=searchuser&input_name=$input_name",
|
||||||
));
|
]);
|
||||||
|
|
||||||
print_page('search.tpl', 'simple');
|
print_page('search.tpl', 'simple');
|
||||||
}
|
}
|
267
tracker.php
267
tracker.php
|
@ -3,21 +3,18 @@
|
||||||
define('BB_SCRIPT', 'tracker');
|
define('BB_SCRIPT', 'tracker');
|
||||||
define('BB_ROOT', './');
|
define('BB_ROOT', './');
|
||||||
require(BB_ROOT . 'common.php');
|
require(BB_ROOT . 'common.php');
|
||||||
|
|
||||||
require(CLASS_DIR .'utf8.php');
|
|
||||||
require(CLASS_DIR .'correct.php');
|
|
||||||
require(CLASS_DIR .'reflection.php');
|
|
||||||
require(INC_DIR . 'functions_group.php');
|
require(INC_DIR . 'functions_group.php');
|
||||||
|
|
||||||
// Page config
|
// Page config
|
||||||
$page_cfg['include_bbcode_js'] = true;
|
$page_cfg['include_bbcode_js'] = true;
|
||||||
$page_cfg['use_tablesorter'] = true;
|
$page_cfg['use_tablesorter'] = true;
|
||||||
$page_cfg['load_tpl_vars'] = array(
|
|
||||||
|
$page_cfg['load_tpl_vars'] = [
|
||||||
'post_icons',
|
'post_icons',
|
||||||
);
|
];
|
||||||
|
|
||||||
// Session start
|
// Session start
|
||||||
$user->session_start(array('req_login' => $bb_cfg['bt_tor_browse_only_reg']));
|
$user->session_start(['req_login' => $bb_cfg['bt_tor_browse_only_reg']]);
|
||||||
|
|
||||||
set_die_append_msg();
|
set_die_append_msg();
|
||||||
|
|
||||||
|
@ -44,7 +41,7 @@ $lastvisit = (!IS_GUEST) ? $userdata['user_lastvisit'] : '';
|
||||||
$search_id = (isset($_GET['search_id']) && verify_id($_GET['search_id'], SEARCH_ID_LENGTH)) ? $_GET['search_id'] : '';
|
$search_id = (isset($_GET['search_id']) && verify_id($_GET['search_id'], SEARCH_ID_LENGTH)) ? $_GET['search_id'] : '';
|
||||||
$session_id = $userdata['session_id'];
|
$session_id = $userdata['session_id'];
|
||||||
|
|
||||||
$cat_forum = $tor_to_show = $search_in_forums_ary = array();
|
$cat_forum = $tor_to_show = $search_in_forums_ary = [];
|
||||||
$title_match_sql = $title_match_q = $search_in_forums_csv = '';
|
$title_match_sql = $title_match_q = $search_in_forums_csv = '';
|
||||||
$tr_error = $poster_error = false;
|
$tr_error = $poster_error = false;
|
||||||
$row_num = $tor_count = 0;
|
$row_num = $tor_count = 0;
|
||||||
|
@ -83,139 +80,139 @@ $ord_sp_up = 12;
|
||||||
$ord_sp_down = 13;
|
$ord_sp_down = 13;
|
||||||
|
|
||||||
// Order options
|
// Order options
|
||||||
$order_opt = array(
|
$order_opt = [
|
||||||
$ord_posted => array(
|
$ord_posted => [
|
||||||
'lang' => $lang['IS_REGISTERED'],
|
'lang' => $lang['IS_REGISTERED'],
|
||||||
'sql' => 'tor.reg_time',
|
'sql' => 'tor.reg_time',
|
||||||
),
|
],
|
||||||
$ord_name => array(
|
$ord_name => [
|
||||||
'lang' => $lang['BT_TOPIC_TITLE'],
|
'lang' => $lang['BT_TOPIC_TITLE'],
|
||||||
'sql' => 't.topic_title',
|
'sql' => 't.topic_title',
|
||||||
),
|
],
|
||||||
$ord_compl => array(
|
$ord_compl => [
|
||||||
'lang' => $lang['COMPLETED'],
|
'lang' => $lang['COMPLETED'],
|
||||||
'sql' => 'tor.complete_count',
|
'sql' => 'tor.complete_count',
|
||||||
),
|
],
|
||||||
$ord_seeders => array(
|
$ord_seeders => [
|
||||||
'lang' => $lang['SEEDS'],
|
'lang' => $lang['SEEDS'],
|
||||||
'sql' => 'sn.seeders',
|
'sql' => 'sn.seeders',
|
||||||
),
|
],
|
||||||
$ord_leechers => array(
|
$ord_leechers => [
|
||||||
'lang' => $lang['LEECHS'],
|
'lang' => $lang['LEECHS'],
|
||||||
'sql' => 'sn.leechers',
|
'sql' => 'sn.leechers',
|
||||||
),
|
],
|
||||||
$ord_sp_up => array(
|
$ord_sp_up => [
|
||||||
'lang' => $lang['SPEED_UP'],
|
'lang' => $lang['SPEED_UP'],
|
||||||
'sql' => 'sn.speed_up',
|
'sql' => 'sn.speed_up',
|
||||||
),
|
],
|
||||||
$ord_sp_down => array(
|
$ord_sp_down => [
|
||||||
'lang' => $lang['SPEED_DOWN'],
|
'lang' => $lang['SPEED_DOWN'],
|
||||||
'sql' => 'sn.speed_down',
|
'sql' => 'sn.speed_down',
|
||||||
),
|
],
|
||||||
$ord_repl => array(
|
$ord_repl => [
|
||||||
'lang' => $lang['BT_REPLIES'],
|
'lang' => $lang['BT_REPLIES'],
|
||||||
'sql' => 't.topic_replies',
|
'sql' => 't.topic_replies',
|
||||||
),
|
],
|
||||||
$ord_views => array(
|
$ord_views => [
|
||||||
'lang' => $lang['BT_VIEWS'],
|
'lang' => $lang['BT_VIEWS'],
|
||||||
'sql' => 't.topic_views',
|
'sql' => 't.topic_views',
|
||||||
),
|
],
|
||||||
$ord_size => array(
|
$ord_size => [
|
||||||
'lang' => $lang['SIZE'],
|
'lang' => $lang['SIZE'],
|
||||||
'sql' => 'tor.size',
|
'sql' => 'tor.size',
|
||||||
),
|
],
|
||||||
$ord_last_p => array(
|
$ord_last_p => [
|
||||||
'lang' => $lang['LASTPOST'],
|
'lang' => $lang['LASTPOST'],
|
||||||
'sql' => 't.topic_last_post_id',
|
'sql' => 't.topic_last_post_id',
|
||||||
),
|
],
|
||||||
$ord_last_s => array(
|
$ord_last_s => [
|
||||||
'lang' => $lang['BT_SEEDER_LAST_SEEN'],
|
'lang' => $lang['BT_SEEDER_LAST_SEEN'],
|
||||||
'sql' => 'tor.seeder_last_seen',
|
'sql' => 'tor.seeder_last_seen',
|
||||||
),
|
],
|
||||||
);
|
];
|
||||||
$order_select = array();
|
$order_select = [];
|
||||||
foreach ($order_opt as $val => $opt)
|
foreach ($order_opt as $val => $opt)
|
||||||
{
|
{
|
||||||
$order_select[$opt['lang']] = $val;
|
$order_select[$opt['lang']] = $val;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sort direction
|
// Sort direction
|
||||||
$sort_opt = array(
|
$sort_opt = [
|
||||||
$sort_asc => array(
|
$sort_asc => [
|
||||||
'lang' => $lang['ASC'],
|
'lang' => $lang['ASC'],
|
||||||
'sql' => 'ASC',
|
'sql' => 'ASC',
|
||||||
),
|
],
|
||||||
$sort_desc => array(
|
$sort_desc => [
|
||||||
'lang' => $lang['DESC'],
|
'lang' => $lang['DESC'],
|
||||||
'sql' => 'DESC',
|
'sql' => 'DESC',
|
||||||
),
|
],
|
||||||
);
|
];
|
||||||
|
|
||||||
// Previous days
|
// Previous days
|
||||||
$time_opt = array(
|
$time_opt = [
|
||||||
$search_all => array(
|
$search_all => [
|
||||||
'lang' => $lang['BT_ALL_DAYS_FOR'],
|
'lang' => $lang['BT_ALL_DAYS_FOR'],
|
||||||
'sql' => 0,
|
'sql' => 0,
|
||||||
),
|
],
|
||||||
1 => array(
|
1 => [
|
||||||
'lang' => $lang['BT_1_DAY_FOR'],
|
'lang' => $lang['BT_1_DAY_FOR'],
|
||||||
'sql' => TIMENOW - 86400,
|
'sql' => TIMENOW - 86400,
|
||||||
),
|
],
|
||||||
3 => array(
|
3 => [
|
||||||
'lang' => $lang['BT_3_DAY_FOR'],
|
'lang' => $lang['BT_3_DAY_FOR'],
|
||||||
'sql' => TIMENOW - 86400*3,
|
'sql' => TIMENOW - 86400*3,
|
||||||
),
|
],
|
||||||
7 => array(
|
7 => [
|
||||||
'lang' => $lang['BT_7_DAYS_FOR'],
|
'lang' => $lang['BT_7_DAYS_FOR'],
|
||||||
'sql' => TIMENOW - 86400*7,
|
'sql' => TIMENOW - 86400*7,
|
||||||
),
|
],
|
||||||
14 => array(
|
14 => [
|
||||||
'lang' => $lang['BT_2_WEEKS_FOR'],
|
'lang' => $lang['BT_2_WEEKS_FOR'],
|
||||||
'sql' => TIMENOW - 86400*14,
|
'sql' => TIMENOW - 86400*14,
|
||||||
),
|
],
|
||||||
30 => array(
|
30 => [
|
||||||
'lang' => $lang['BT_1_MONTH_FOR'],
|
'lang' => $lang['BT_1_MONTH_FOR'],
|
||||||
'sql' => TIMENOW - 86400*30,
|
'sql' => TIMENOW - 86400*30,
|
||||||
),
|
],
|
||||||
);
|
];
|
||||||
$time_select = array();
|
$time_select = [];
|
||||||
foreach ($time_opt as $val => $opt)
|
foreach ($time_opt as $val => $opt)
|
||||||
{
|
{
|
||||||
$time_select[$opt['lang']] = $val;
|
$time_select[$opt['lang']] = $val;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Seeder not seen
|
// Seeder not seen
|
||||||
$s_not_seen_opt = array(
|
$s_not_seen_opt = [
|
||||||
$search_all => array(
|
$search_all => [
|
||||||
'lang' => $lang['BT_DISREGARD'],
|
'lang' => $lang['BT_DISREGARD'],
|
||||||
'sql' => 0,
|
'sql' => 0,
|
||||||
),
|
],
|
||||||
1 => array(
|
1 => [
|
||||||
'lang' => $lang['BT_1_DAY'],
|
'lang' => $lang['BT_1_DAY'],
|
||||||
'sql' => TIMENOW - 86400,
|
'sql' => TIMENOW - 86400,
|
||||||
),
|
],
|
||||||
3 => array(
|
3 => [
|
||||||
'lang' => $lang['BT_3_DAYS'],
|
'lang' => $lang['BT_3_DAYS'],
|
||||||
'sql' => TIMENOW - 86400*3,
|
'sql' => TIMENOW - 86400*3,
|
||||||
),
|
],
|
||||||
7 => array(
|
7 => [
|
||||||
'lang' => $lang['BT_7_DAYS'],
|
'lang' => $lang['BT_7_DAYS'],
|
||||||
'sql' => TIMENOW - 86400*7,
|
'sql' => TIMENOW - 86400*7,
|
||||||
),
|
],
|
||||||
14 => array(
|
14 => [
|
||||||
'lang' => $lang['BT_2_WEEKS'],
|
'lang' => $lang['BT_2_WEEKS'],
|
||||||
'sql' => TIMENOW - 86400*14,
|
'sql' => TIMENOW - 86400*14,
|
||||||
),
|
],
|
||||||
30 => array(
|
30 => [
|
||||||
'lang' => $lang['BT_1_MONTH'],
|
'lang' => $lang['BT_1_MONTH'],
|
||||||
'sql' => TIMENOW - 86400*30,
|
'sql' => TIMENOW - 86400*30,
|
||||||
),
|
],
|
||||||
$never => array(
|
$never => [
|
||||||
'lang' => $lang['BT_NEVER'],
|
'lang' => $lang['BT_NEVER'],
|
||||||
'sql' => 0,
|
'sql' => 0,
|
||||||
),
|
],
|
||||||
);
|
];
|
||||||
$s_not_seen_select = array();
|
$s_not_seen_select = [];
|
||||||
foreach ($s_not_seen_opt as $val => $opt)
|
foreach ($s_not_seen_opt as $val => $opt)
|
||||||
{
|
{
|
||||||
$s_not_seen_select[$opt['lang']] = $val;
|
$s_not_seen_select[$opt['lang']] = $val;
|
||||||
|
@ -223,19 +220,20 @@ foreach ($s_not_seen_opt as $val => $opt)
|
||||||
|
|
||||||
if ($release_groups = get_group_data('all'))
|
if ($release_groups = get_group_data('all'))
|
||||||
{
|
{
|
||||||
$s_rg_opt = array(
|
$s_rg_opt = [
|
||||||
$search_all => array(
|
$search_all => [
|
||||||
'lang' => $lang['CHOOSE_RELEASE_GROUP'],
|
'lang' => $lang['CHOOSE_RELEASE_GROUP'],
|
||||||
'sql' => 0,
|
'sql' => 0,
|
||||||
));
|
]
|
||||||
|
];
|
||||||
foreach ($release_groups as $rg)
|
foreach ($release_groups as $rg)
|
||||||
{
|
{
|
||||||
if ($rg['release_group'])
|
if ($rg['release_group'])
|
||||||
{
|
{
|
||||||
$s_rg_opt[$rg['group_id']] = array(
|
$s_rg_opt[$rg['group_id']] = [
|
||||||
'lang' => $rg['group_name'],
|
'lang' => $rg['group_name'],
|
||||||
'sql' => $rg['group_id'],
|
'sql' => $rg['group_id'],
|
||||||
);
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
foreach ($s_rg_opt as $val => $opt)
|
foreach ($s_rg_opt as $val => $opt)
|
||||||
|
@ -246,38 +244,38 @@ if ($release_groups = get_group_data('all'))
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$s_rg_opt = '';
|
$s_rg_opt = '';
|
||||||
$s_release_group_select = array($lang['CHOOSE_RELEASE_GROUP'] => 0);
|
$s_release_group_select = [$lang['CHOOSE_RELEASE_GROUP'] => 0];
|
||||||
}
|
}
|
||||||
|
|
||||||
$GPC = array(
|
$GPC = [
|
||||||
# var_name key_name def_value GPC type
|
# var_name key_name def_value GPC type
|
||||||
'all_words' => array('allw', 1, CHBOX),
|
'all_words' => ['allw', 1, CHBOX],
|
||||||
'active' => array('a', 0, CHBOX),
|
'active' => ['a', 0, CHBOX],
|
||||||
'cat' => array('c', null, REQUEST),
|
'cat' => ['c', null, REQUEST],
|
||||||
'dl_cancel' => array('dla', 0, CHBOX),
|
'dl_cancel' => ['dla', 0, CHBOX],
|
||||||
'dl_compl' => array('dlc', 0, CHBOX),
|
'dl_compl' => ['dlc', 0, CHBOX],
|
||||||
'dl_down' => array('dld', 0, CHBOX),
|
'dl_down' => ['dld', 0, CHBOX],
|
||||||
'dl_will' => array('dlw', 0, CHBOX),
|
'dl_will' => ['dlw', 0, CHBOX],
|
||||||
'forum' => array('f', $search_all, REQUEST),
|
'forum' => ['f', $search_all, REQUEST],
|
||||||
'my' => array('my', 0, CHBOX),
|
'my' => ['my', 0, CHBOX],
|
||||||
'new' => array('new', 0, CHBOX),
|
'new' => ['new', 0, CHBOX],
|
||||||
'title_match' => array('nm', null, REQUEST),
|
'title_match' => ['nm', null, REQUEST],
|
||||||
'order' => array('o', $ord_posted, SELECT),
|
'order' => ['o', $ord_posted, SELECT],
|
||||||
'poster_id' => array('pid', null, GET),
|
'poster_id' => ['pid', null, GET],
|
||||||
'poster_name' => array('pn', null, REQUEST),
|
'poster_name' => ['pn', null, REQUEST],
|
||||||
'user_releases' => array('rid', null, GET),
|
'user_releases' => ['rid', null, GET],
|
||||||
'sort' => array('s', $sort_desc, SELECT),
|
'sort' => ['s', $sort_desc, SELECT],
|
||||||
'seed_exist' => array('sd', 0, CHBOX),
|
'seed_exist' => ['sd', 0, CHBOX],
|
||||||
'show_author' => array('da', 1, CHBOX),
|
'show_author' => ['da', 1, CHBOX],
|
||||||
'show_cat' => array('dc', 0, CHBOX),
|
'show_cat' => ['dc', 0, CHBOX],
|
||||||
'show_forum' => array('df', 1, CHBOX),
|
'show_forum' => ['df', 1, CHBOX],
|
||||||
'show_speed' => array('ds', 0, CHBOX),
|
'show_speed' => ['ds', 0, CHBOX],
|
||||||
's_rg' => array('srg', $search_all, SELECT),
|
's_rg' => ['srg', $search_all, SELECT],
|
||||||
's_not_seen' => array('sns', $search_all, SELECT),
|
's_not_seen' => ['sns', $search_all, SELECT],
|
||||||
'time' => array('tm', $search_all, SELECT),
|
'time' => ['tm', $search_all, SELECT],
|
||||||
'tor_type' => array('tor_type', 0, CHBOX),
|
'tor_type' => ['tor_type', 0, CHBOX],
|
||||||
'hash' => array('hash', null, REQUEST),
|
'hash' => ['hash', null, REQUEST],
|
||||||
);
|
];
|
||||||
|
|
||||||
// Define all GPC vars with default values
|
// Define all GPC vars with default values
|
||||||
foreach ($GPC as $name => $params)
|
foreach ($GPC as $name => $params)
|
||||||
|
@ -313,7 +311,7 @@ else
|
||||||
}
|
}
|
||||||
|
|
||||||
// Restore torrents list and search settings if we have valid $search_id
|
// Restore torrents list and search settings if we have valid $search_id
|
||||||
$tor_list_ary = array();
|
$tor_list_ary = [];
|
||||||
$tor_list_sql = '';
|
$tor_list_sql = '';
|
||||||
|
|
||||||
if ($search_id)
|
if ($search_id)
|
||||||
|
@ -368,9 +366,7 @@ $datastore->rm('cat_forums');
|
||||||
// Get current search settings
|
// Get current search settings
|
||||||
if (!$set_default)
|
if (!$set_default)
|
||||||
{
|
{
|
||||||
// Search in forum or category
|
$search_in_forums_fary = [];
|
||||||
// Get requested cat_id
|
|
||||||
$search_in_forums_fary = array();
|
|
||||||
|
|
||||||
if ($req_cat_id =& $_REQUEST[$cat_key])
|
if ($req_cat_id =& $_REQUEST[$cat_key])
|
||||||
{
|
{
|
||||||
|
@ -380,7 +376,6 @@ if (!$set_default)
|
||||||
$forum_val = join(',', $valid_forums);
|
$forum_val = join(',', $valid_forums);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Get requested forum_id(s)
|
|
||||||
else if ($req_forums =& $_REQUEST[$forum_key])
|
else if ($req_forums =& $_REQUEST[$forum_key])
|
||||||
{
|
{
|
||||||
if ($req_forums != $search_all)
|
if ($req_forums != $search_all)
|
||||||
|
@ -481,7 +476,7 @@ if (!$set_default)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$dl_status = array();
|
$dl_status = [];
|
||||||
if ($dl_cancel_val) $dl_status[] = DL_STATUS_CANCEL;
|
if ($dl_cancel_val) $dl_status[] = DL_STATUS_CANCEL;
|
||||||
if ($dl_compl_val) $dl_status[] = DL_STATUS_COMPLETE;
|
if ($dl_compl_val) $dl_status[] = DL_STATUS_COMPLETE;
|
||||||
if ($dl_down_val) $dl_status[] = DL_STATUS_DOWN;
|
if ($dl_down_val) $dl_status[] = DL_STATUS_DOWN;
|
||||||
|
@ -523,7 +518,7 @@ if ($dl_search)
|
||||||
if ($allowed_forums)
|
if ($allowed_forums)
|
||||||
{
|
{
|
||||||
// Save current search settings
|
// Save current search settings
|
||||||
$save_in_db = array(
|
$save_in_db = [
|
||||||
'all_words',
|
'all_words',
|
||||||
'active',
|
'active',
|
||||||
'dl_cancel',
|
'dl_cancel',
|
||||||
|
@ -545,8 +540,8 @@ if ($allowed_forums)
|
||||||
'show_speed',
|
'show_speed',
|
||||||
'sort',
|
'sort',
|
||||||
'time',
|
'time',
|
||||||
);
|
];
|
||||||
$curr_set = array();
|
$curr_set = [];
|
||||||
foreach ($save_in_db as $name)
|
foreach ($save_in_db as $name)
|
||||||
{
|
{
|
||||||
$curr_set[${"{$name}_key"}] = ${"{$name}_val"};
|
$curr_set[${"{$name}_key"}] = ${"{$name}_val"};
|
||||||
|
@ -558,7 +553,7 @@ if ($allowed_forums)
|
||||||
|
|
||||||
if ($title_match)
|
if ($title_match)
|
||||||
{
|
{
|
||||||
$title_match_topics = get_title_match_topics(array('query' => $title_match_val, 'ids' => array(0 => $forum_id)));
|
$title_match_topics = get_title_match_topics(['query' => $title_match_val, 'ids' => [0 => $forum_id]]);
|
||||||
|
|
||||||
if (!$search_match_topics_csv = join(',', $title_match_topics))
|
if (!$search_match_topics_csv = join(',', $title_match_topics))
|
||||||
{
|
{
|
||||||
|
@ -582,7 +577,7 @@ if ($allowed_forums)
|
||||||
$order_by_peers = ($order_val == $ord_seeders || $order_val == $ord_leechers);
|
$order_by_peers = ($order_val == $ord_seeders || $order_val == $ord_leechers);
|
||||||
$order_by_speed = ($order_val == $ord_sp_up || $order_val == $ord_sp_down);
|
$order_by_speed = ($order_val == $ord_sp_up || $order_val == $ord_sp_down);
|
||||||
|
|
||||||
$join_t = in_array($order_val, array($ord_name, $ord_repl, $ord_views, $ord_last_p, $title_match));
|
$join_t = in_array($order_val, [$ord_name, $ord_repl, $ord_views, $ord_last_p, $title_match]);
|
||||||
$join_sn = ($only_active || $order_by_peers || $order_by_speed);
|
$join_sn = ($only_active || $order_by_peers || $order_by_speed);
|
||||||
$join_dl = $dl_search;
|
$join_dl = $dl_search;
|
||||||
|
|
||||||
|
@ -691,10 +686,10 @@ if ($allowed_forums)
|
||||||
|
|
||||||
if (!$tor_list_sql || $start > $tor_count)
|
if (!$tor_list_sql || $start > $tor_count)
|
||||||
{
|
{
|
||||||
$template->assign_vars(array(
|
$template->assign_vars([
|
||||||
'TOR_NOT_FOUND' => true,
|
'TOR_NOT_FOUND' => true,
|
||||||
'NO_MATCH_MSG' => $lang['NO_MATCH'],
|
'NO_MATCH_MSG' => $lang['NO_MATCH'],
|
||||||
));
|
]);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -794,7 +789,7 @@ if ($allowed_forums)
|
||||||
$forum_id = (!$hide_forum && isset($tor['forum_id'])) ? $tor['forum_id'] : '';
|
$forum_id = (!$hide_forum && isset($tor['forum_id'])) ? $tor['forum_id'] : '';
|
||||||
$poster_id = (!$hide_author && isset($tor['poster_id'])) ? $tor['poster_id'] : '';
|
$poster_id = (!$hide_author && isset($tor['poster_id'])) ? $tor['poster_id'] : '';
|
||||||
|
|
||||||
$template->assign_block_vars('tor', array(
|
$template->assign_block_vars('tor', [
|
||||||
'CAT_ID' => $cat_id,
|
'CAT_ID' => $cat_id,
|
||||||
'CAT_TITLE' => ($cat_id) ? $cat_title_html[$cat_id] : '',
|
'CAT_TITLE' => ($cat_id) ? $cat_title_html[$cat_id] : '',
|
||||||
'FORUM_ID' => $forum_id,
|
'FORUM_ID' => $forum_id,
|
||||||
|
@ -804,7 +799,7 @@ if ($allowed_forums)
|
||||||
'TOPIC_TIME' => bb_date($tor['topic_time'], 'd-M-y') .' <b>·</b> '. delta_time($tor['topic_time']),
|
'TOPIC_TIME' => bb_date($tor['topic_time'], 'd-M-y') .' <b>·</b> '. delta_time($tor['topic_time']),
|
||||||
'POST_ID' => $tor['post_id'],
|
'POST_ID' => $tor['post_id'],
|
||||||
'POSTER_ID' => $poster_id,
|
'POSTER_ID' => $poster_id,
|
||||||
'USERNAME' => ($hide_author) ? '' : profile_url(array('username' => $tor['username'], 'user_rank' => $tor['user_rank'])),
|
'USERNAME' => ($hide_author) ? '' : profile_url(['username' => $tor['username'], 'user_rank' => $tor['user_rank']]),
|
||||||
|
|
||||||
'ROW_CLASS' => $row_class,
|
'ROW_CLASS' => $row_class,
|
||||||
'ROW_NUM' => $row_num,
|
'ROW_NUM' => $row_num,
|
||||||
|
@ -833,16 +828,16 @@ if ($allowed_forums)
|
||||||
'ADDED_RAW' => $tor['reg_time'],
|
'ADDED_RAW' => $tor['reg_time'],
|
||||||
'ADDED_TIME' => bb_date($tor['reg_time'], $time_format),
|
'ADDED_TIME' => bb_date($tor['reg_time'], $time_format),
|
||||||
'ADDED_DATE' => bb_date($tor['reg_time'], $date_format, false),
|
'ADDED_DATE' => bb_date($tor['reg_time'], $date_format, false),
|
||||||
));
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$template->assign_vars(array(
|
$template->assign_vars([
|
||||||
'TOR_NOT_FOUND' => true,
|
'TOR_NOT_FOUND' => true,
|
||||||
'NO_MATCH_MSG' => $lang['BT_NO_SEARCHABLE_FORUMS'],
|
'NO_MATCH_MSG' => $lang['BT_NO_SEARCHABLE_FORUMS'],
|
||||||
));
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pagination
|
// Pagination
|
||||||
|
@ -854,10 +849,10 @@ if ($tor_count)
|
||||||
|
|
||||||
generate_pagination($base_url, $tor_count, $per_page, $start);
|
generate_pagination($base_url, $tor_count, $per_page, $start);
|
||||||
|
|
||||||
$template->assign_vars(array(
|
$template->assign_vars([
|
||||||
'MATCHES' => $search_matches,
|
'MATCHES' => $search_matches,
|
||||||
'SERACH_MAX' => $search_max,
|
'SERACH_MAX' => $search_max,
|
||||||
));
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(empty($cat_forum))
|
if(empty($cat_forum))
|
||||||
|
@ -892,18 +887,18 @@ $search_all_opt = '<option value="'. $search_all .'" '. (($forum_val == $search_
|
||||||
$cat_forum_select = "\n".'<select id="fs-main" style="width: 100%;" name="'. $forum_key .'[]" multiple="multiple" size="'. $forum_select_size ."\">\n". $search_all_opt . $opt ."</select>\n";
|
$cat_forum_select = "\n".'<select id="fs-main" style="width: 100%;" name="'. $forum_key .'[]" multiple="multiple" size="'. $forum_select_size ."\">\n". $search_all_opt . $opt ."</select>\n";
|
||||||
|
|
||||||
// Sort dir
|
// Sort dir
|
||||||
$template->assign_vars(array(
|
$template->assign_vars([
|
||||||
'SORT_NAME' => $sort_key,
|
'SORT_NAME' => $sort_key,
|
||||||
'SORT_ASC' => $sort_asc,
|
'SORT_ASC' => $sort_asc,
|
||||||
'SORT_DESC' => $sort_desc,
|
'SORT_DESC' => $sort_desc,
|
||||||
'SORT_ASC_CHECKED' => ($sort_val == $sort_asc) ? HTML_CHECKED : '',
|
'SORT_ASC_CHECKED' => ($sort_val == $sort_asc) ? HTML_CHECKED : '',
|
||||||
'SORT_DESC_CHECKED' => ($sort_val == $sort_desc) ? HTML_CHECKED : '',
|
'SORT_DESC_CHECKED' => ($sort_val == $sort_desc) ? HTML_CHECKED : '',
|
||||||
));
|
]);
|
||||||
|
|
||||||
// Displaying options
|
// Displaying options
|
||||||
$tor_type_lang = $lang['GOLD'] . ' / ' . $lang['SILVER'];
|
$tor_type_lang = $lang['GOLD'] . ' / ' . $lang['SILVER'];
|
||||||
|
|
||||||
$template->assign_vars(array(
|
$template->assign_vars([
|
||||||
'SHOW_CAT_CHBOX' => build_checkbox ($show_cat_key, $lang['CATEGORY'], $show_cat_val),
|
'SHOW_CAT_CHBOX' => build_checkbox ($show_cat_key, $lang['CATEGORY'], $show_cat_val),
|
||||||
'SHOW_FORUM_CHBOX' => build_checkbox ($show_forum_key, $lang['FORUM'], $show_forum_val),
|
'SHOW_FORUM_CHBOX' => build_checkbox ($show_forum_key, $lang['FORUM'], $show_forum_val),
|
||||||
'SHOW_AUTHOR_CHBOX' => build_checkbox ($show_author_key, $lang['AUTHOR'], $show_author_val),
|
'SHOW_AUTHOR_CHBOX' => build_checkbox ($show_author_key, $lang['AUTHOR'], $show_author_val),
|
||||||
|
@ -932,10 +927,10 @@ $template->assign_vars(array(
|
||||||
'HIDE_CONTENTS' => $user->opt_js['h_tsp'],
|
'HIDE_CONTENTS' => $user->opt_js['h_tsp'],
|
||||||
|
|
||||||
'U_SEARCH_USER' => "search.php?mode=searchuser&input_name=$poster_name_key",
|
'U_SEARCH_USER' => "search.php?mode=searchuser&input_name=$poster_name_key",
|
||||||
));
|
]);
|
||||||
|
|
||||||
// Hidden fields
|
// Hidden fields
|
||||||
$save_through_pages = array(
|
$save_through_pages = [
|
||||||
'all_words',
|
'all_words',
|
||||||
'active',
|
'active',
|
||||||
'dl_cancel',
|
'dl_cancel',
|
||||||
|
@ -950,8 +945,8 @@ $save_through_pages = array(
|
||||||
'show_forum',
|
'show_forum',
|
||||||
'show_speed',
|
'show_speed',
|
||||||
'tor_type',
|
'tor_type',
|
||||||
);
|
];
|
||||||
$hidden_fields = array();
|
$hidden_fields = [];
|
||||||
foreach ($save_through_pages as $name)
|
foreach ($save_through_pages as $name)
|
||||||
{
|
{
|
||||||
$hidden_fields['prev_'. ${"{$name}_key"}] = ${"{$name}_val"};
|
$hidden_fields['prev_'. ${"{$name}_key"}] = ${"{$name}_val"};
|
||||||
|
@ -960,7 +955,7 @@ foreach ($save_through_pages as $name)
|
||||||
// Set colspan
|
// Set colspan
|
||||||
$tor_colspan = $tor_colspan - $hide_cat - $hide_forum - $hide_author - $hide_speed;
|
$tor_colspan = $tor_colspan - $hide_cat - $hide_forum - $hide_author - $hide_speed;
|
||||||
|
|
||||||
$template->assign_vars(array(
|
$template->assign_vars([
|
||||||
'PAGE_TITLE' => $lang['TRACKER'],
|
'PAGE_TITLE' => $lang['TRACKER'],
|
||||||
'S_HIDDEN_FIELDS' => build_hidden_fields($hidden_fields),
|
'S_HIDDEN_FIELDS' => build_hidden_fields($hidden_fields),
|
||||||
'CAT_FORUM_SELECT' => $cat_forum_select,
|
'CAT_FORUM_SELECT' => $cat_forum_select,
|
||||||
|
@ -985,6 +980,6 @@ $template->assign_vars(array(
|
||||||
'TR_CAT_URL' => "$tracker_url?$cat_key=",
|
'TR_CAT_URL' => "$tracker_url?$cat_key=",
|
||||||
'TR_FORUM_URL' => "$tracker_url?$forum_key=",
|
'TR_FORUM_URL' => "$tracker_url?$forum_key=",
|
||||||
'TR_POSTER_URL' => "$tracker_url?$poster_id_key=",
|
'TR_POSTER_URL' => "$tracker_url?$poster_id_key=",
|
||||||
));
|
]);
|
||||||
|
|
||||||
print_page('tracker.tpl');
|
print_page('tracker.tpl');
|
Loading…
Add table
Add a link
Reference in a new issue