mirror of
https://github.com/torrentpier/torrentpier
synced 2025-08-22 14:23:57 -07:00
Merge pull request #13 from torrentpier/develop
R593 Основные изменения в данной ревизии: - добавлена карта сайта (sitemap); - исправлена ошибка с выводом списка файлов в некорректно созданных или чрезмерно больших торрент-файлах; - исправлена прямая необходимость наличия модуля tidy для работы движка, теперь он опциональный, но крайне рекомендуемый; - исправлена ошибка с функцией вывода картинки пола пользователя; - исправлена работа крон-задачи по удалению неактивных пользователей; - исправлена ошибка в начислении сид-бонусов; - исправления в локализации и файлах шаблона; - исправлено подключение файлов системы вложений; - удален файл viewonline.php; - удалены пустые символы в конце строк; - удалены части неиспользуемого кода.
This commit is contained in:
commit
b6ee3360b8
115 changed files with 1159 additions and 962 deletions
59
README.md
Normal file
59
README.md
Normal file
|
@ -0,0 +1,59 @@
|
|||
TorrentPier II
|
||||
======================
|
||||
|
||||
TorrentPier II - движок торрент-трекера, написанный на php. Высокая скорость работы, простота модификации, устойчивость к высоким нагрузкам, в том числе и поддержка альтернативных анонсеров (например, Ocelot). Помимо этого, крайне развитый официальный форум поддержки, где помимо прочего можно испытать движок в работе на демо-версии, не устанавливая его а также получить любую другую интересующую вас информацию и скачать моды.
|
||||
|
||||
## Установка
|
||||
|
||||
Для установки вам необходимо выполнить несколько простых шагов:
|
||||
|
||||
1. Распаковываем на сервер содержимое папки **upload**
|
||||
|
||||
2. Создаем базу данных, в которую при помощи phpmyadmin (или любого другого удобного инструмента) импортируем дамп, расположенный в папке **install/sql/mysql.sql**
|
||||
3. Правим файл конфигурации **config.php**, загруженный на сервер:
|
||||
> $bb_cfg['db']['db1'] = array('localhost', 'dbase', 'user', 'pass', $charset, $pconnect);
|
||||
> В данной строке изменяем данные входа в базу данных, остальные правки в файле вносятся по усмотрению, исходя из необходимости из внесения (ориентируйтесь на описания, указанные у полей).
|
||||
|
||||
4. Редактируем указанные файлы:
|
||||
+ **favicon.ico** (меняем на свою иконку, если есть)
|
||||
+ **robots.txt** (меняем адреса в строках **Host** и **Sitemap** на свои)
|
||||
|
||||
## Права доступа на папки и файлы
|
||||
|
||||
Исходя из настроек вашего сервера, устанавливаем рекомендуемые права доступа (chmod) на указанные папки **777**, а на файлы внутри этих папок (кроме файлов **.htaccess** и **.keep**) **666**:
|
||||
- ajax/html
|
||||
- cache
|
||||
- cache/filecache
|
||||
- files
|
||||
- files/thumbs
|
||||
- images
|
||||
- images/avatars
|
||||
- images/captcha
|
||||
- images/ranks
|
||||
- images/smiles
|
||||
- log
|
||||
- sitemap
|
||||
- triggers
|
||||
|
||||
## Необходимые настройки php
|
||||
|
||||
mbstring.internal_encoding = UTF-8
|
||||
magic_quotes_gpc = Off
|
||||
Внести данные настройки необходимо в файл **php.ini**. Их вам может установить ваш хостер по запросу, если у вас возникают какие-либо проблемы с их самостоятельной установкой. Впрочем, эти настройки могут быть установлены на сервере по-умолчанию, поэтому их внесение требуется исключительно по необходимости.
|
||||
|
||||
## Необходимые модули php
|
||||
|
||||
php5-tidy
|
||||
|
||||
Начиная с версии 2.0.9 (ревизия 592 в старой нумерации) данный модуль не является обязательным, но его установка крайне рекомендуется для повышения качества обработки html-кода тем и сообщений пользователей.
|
||||
|
||||
## Рекомендуемый способ запуска cron.php
|
||||
|
||||
Для значительного ускорения работы трекера может потребоваться отвязка встроенного форумного крона. С более подробной информацией об отвязке крона, вы можете ознакомиться в данной теме http://torrentpier.me/threads/52/ на нашем форуме поддержки.
|
||||
|
||||
## Полезные ссылки
|
||||
|
||||
+ Наш форум http://torrentpier.me/
|
||||
+ Центр загрузки http://get.torrentpier.me/
|
||||
+ Часто задаваемые вопросы http://faq.torrentpier.me/
|
||||
+ Где задать вопрос http://torrentpier.me/forums/10/
|
|
@ -557,8 +557,10 @@ INSERT INTO `bb_config` VALUES ('seed_bonus_points', '');
|
|||
INSERT INTO `bb_config` VALUES ('seed_bonus_tor_size', '0');
|
||||
INSERT INTO `bb_config` VALUES ('seed_bonus_user_regdate', '0');
|
||||
INSERT INTO `bb_config` VALUES ('site_desc', 'A little text to describe your forum');
|
||||
INSERT INTO `bb_config` VALUES ('sitemap_time', '');
|
||||
INSERT INTO `bb_config` VALUES ('sitename', 'TorrentPier II - Torrent Tracker');
|
||||
INSERT INTO `bb_config` VALUES ('smilies_path', 'images/smiles');
|
||||
INSERT INTO `bb_config` VALUES ('static_sitemap', '');
|
||||
INSERT INTO `bb_config` VALUES ('topics_per_page', '50');
|
||||
INSERT INTO `bb_config` VALUES ('xs_use_cache', '1');
|
||||
INSERT INTO `bb_config` VALUES ('active_ads', '');
|
||||
|
@ -642,6 +644,7 @@ INSERT INTO `bb_cron` VALUES (18, 1, 'Seeder last seen', 'tr_update_seeder_last_
|
|||
INSERT INTO `bb_cron` VALUES (19, 1, 'Captcha', 'captcha_gen_gc.php', 'daily', NULL, '05:00:00', 120, '', '', NULL, 0, '', 0, 0, 0);
|
||||
INSERT INTO `bb_cron` VALUES (20, 1, 'Tracker dl-complete count', 'tr_complete_count.php', 'interval', NULL, NULL, 255, '', '', '06:00:00', 0, '', 0, 0, 0);
|
||||
INSERT INTO `bb_cron` VALUES (21, 1, 'Cache garbage collector', 'cache_gc.php', 'interval', NULL, NULL, 255, '', '', '00:05:00', 0, '', 0, 0, 0);
|
||||
INSERT INTO `bb_cron` VALUES (22, 1, 'Sitemap update', 'sitemap.php', 'daily', NULL, '06:00:00', 30, '', '', NULL, 0, '', 0, 0, 0);
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ Quick guide:
|
|||
(Don't forget to remove these files after completion).
|
||||
You allow to change message text, see $msg in pass.php for this.
|
||||
10. If you want to redirect peers from older announce to new announce everytime, replace original TBDev's announce.php with
|
||||
'for_tbdev/announce.php'
|
||||
'for_tbdev/announce.php'
|
||||
|
||||
Cheers, RoadTrain.
|
||||
http://torrentpier.me/
|
|
@ -15,8 +15,6 @@ $msg = '[b]Внимание![/b] Наш трекер переехал на но
|
|||
[b]Пароль:[/b] %s
|
||||
Сменить пароль можно после входа на трекер в [url='.$new_tr_url.'profile.php?mode=editprofile]настройках[/url].';
|
||||
|
||||
|
||||
|
||||
if (empty($_POST['confirm']))
|
||||
{
|
||||
stdhead();
|
||||
|
|
|
@ -43,19 +43,9 @@ function set_auto_increment($table_name, $column, $val = null)
|
|||
DB()->query("ALTER TABLE $table_name auto_increment = $val");
|
||||
}
|
||||
|
||||
//Users functions
|
||||
// Users functions
|
||||
function tp_users_cleanup()
|
||||
{
|
||||
/*
|
||||
if (!function_exists('user_delete')) require_once(INC_DIR .'functions_admin.php');
|
||||
|
||||
if ($row = DB()->fetch_row("SELECT user_id FROM ". BB_USERS ." WHERE user_id NOT IN(". EXCLUDED_USERS_CSV .');'))
|
||||
{
|
||||
foreach ($row as $user)
|
||||
{
|
||||
user_delete($user['user_id']);
|
||||
}
|
||||
}*/
|
||||
DB()->query('DELETE FROM '. BB_USERS .' WHERE user_id NOT IN('. EXCLUDED_USERS_CSV .')');
|
||||
DB()->query('TRUNCATE '. BB_BT_USERS);
|
||||
}
|
||||
|
@ -173,15 +163,6 @@ function tp_topics_cleanup()
|
|||
DB()->query("TRUNCATE ". BB_POSTS_SEARCH);
|
||||
DB()->query("TRUNCATE ". BB_POSTS_TEXT);
|
||||
DB()->query("TRUNCATE ". BB_TOPICS);
|
||||
/*if (!function_exists('topic_delete')) require_once(INC_DIR .'functions_admin.php');
|
||||
|
||||
if ($row = DB()->fetch_row("SELECT topic_id FROM ". BB_TOPICS))
|
||||
{
|
||||
foreach ($row as $topic)
|
||||
{
|
||||
topic_delete($topic['topic_id']);
|
||||
}
|
||||
}*/
|
||||
|
||||
return;
|
||||
}
|
||||
|
@ -299,7 +280,6 @@ function convert_torrent($torrent)
|
|||
"topic_last_post_time" => $torrent['added'],
|
||||
);
|
||||
tp_add_topic($topic_data);
|
||||
//$post_text = prepare_message($torrent['descr'], true, true);
|
||||
$post_text = stripslashes(prepare_message(addslashes(unprepare_message($torrent['descr'])), true, true));
|
||||
|
||||
$post_data = array(
|
||||
|
@ -387,7 +367,7 @@ function convert_torrent($torrent)
|
|||
return;
|
||||
}
|
||||
|
||||
//Comments functions
|
||||
// Comments functions
|
||||
function convert_comment($comment)
|
||||
{
|
||||
$post_text = prepare_message($comment['text'], true, true);
|
||||
|
@ -409,7 +389,6 @@ function convert_comment($comment)
|
|||
),
|
||||
);
|
||||
tp_add_post($post_data);
|
||||
//add_search_words($comment['id'], stripslashes($post_text));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
<?php
|
||||
|
||||
$passwords = array();
|
|
@ -91,7 +91,7 @@ for ($i = 0; $i < $loops; $i++)
|
|||
|
||||
print_ok ("Completed");
|
||||
|
||||
if(!empty($not_exist))
|
||||
if (!empty($not_exist))
|
||||
{
|
||||
print_ok ("These torrents doesn't exist in filesystem: ". implode(', ', array_unique($not_exist)));
|
||||
}
|
||||
|
|
|
@ -168,15 +168,6 @@ function tp_topics_cleanup()
|
|||
DB()->query("TRUNCATE ". BB_POSTS_SEARCH);
|
||||
DB()->query("TRUNCATE ". BB_POSTS_TEXT);
|
||||
DB()->query("TRUNCATE ". BB_TOPICS);
|
||||
/*if (!function_exists('topic_delete')) require_once('./includes/functions_admin.php');
|
||||
|
||||
if ($row = DB()->fetch_row("SELECT topic_id FROM ". TOPICS))
|
||||
{
|
||||
foreach ($row as $topic)
|
||||
{
|
||||
topic_delete($topic['topic_id']);
|
||||
}
|
||||
}*/
|
||||
|
||||
return;
|
||||
}
|
||||
|
@ -362,7 +353,7 @@ function convert_torrent($torrent)
|
|||
"topic_id" => $torrent['topic_id'],
|
||||
"forum_id" => $torrent['category'],
|
||||
"attach_id" => $torrent['attach_id'],
|
||||
"size" => $torrent['size'],
|
||||
"size" => $torrent['size'],
|
||||
"reg_time" => $torrent['added'],
|
||||
"complete_count" => $torrent['times_completed'],
|
||||
"seeder_last_seen" => $torrent['lastseed'],
|
||||
|
@ -404,7 +395,6 @@ function convert_comment($comment)
|
|||
),
|
||||
);
|
||||
tp_add_post($post_data);
|
||||
//add_search_words($comment['id'], stripslashes($post_text));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
<?php
|
||||
|
||||
$passwords = array();
|
|
@ -8,7 +8,6 @@ require(INC_DIR .'functions_torrent.php');
|
|||
require(BB_ROOT .'converter/settings.php');
|
||||
require(BB_ROOT .'converter/functions.php');
|
||||
|
||||
|
||||
// Init userdata
|
||||
$user->session_start();
|
||||
|
||||
|
@ -91,7 +90,7 @@ for ($i = 0; $i < $loops; $i++)
|
|||
|
||||
print_ok ("Completed");
|
||||
|
||||
if(!empty($not_exist))
|
||||
if (!empty($not_exist))
|
||||
{
|
||||
print_ok ("These torrents doesn't exist in filesystem: ". implode(', ', array_unique($not_exist)));
|
||||
}
|
||||
|
|
59
readme.txt
59
readme.txt
|
@ -1,58 +1,3 @@
|
|||
********************
|
||||
** Установка **
|
||||
********************
|
||||
Для получения информации об установке движка, откройте в своем браузере указаную ссылку:
|
||||
|
||||
Распаковываем на сервер содержимое папки upload.
|
||||
Заходим в phpmyadmin, открываем или создаем новую базу, потом импортируем дамп (install/sql/mysql.sql)
|
||||
Правим файл конфигурации config.php (изменяем данные входа в БД, остальное по усмотрению)
|
||||
|
||||
* Файлы favicon.ico (меняем на свою иконку, если есть), robots.txt(допуск или запрет ботам поисковиков к серверу, блокирует не все, меняем адреса в строках Host: и Sitemap: на свои адреса)
|
||||
|
||||
************************************
|
||||
** Права доступа на папки и файлы **
|
||||
************************************
|
||||
|
||||
Устанавливаем права доступа на данные папки 777, на файлы внутри этих папок (кроме .htaccess) 666:
|
||||
- ajax/html
|
||||
- cache
|
||||
- cache/filecache
|
||||
- files
|
||||
- files/thumbs
|
||||
- images
|
||||
- images/avatars
|
||||
- images/captcha
|
||||
- images/ranks
|
||||
- images/smiles
|
||||
- log
|
||||
- triggers
|
||||
|
||||
************************************
|
||||
** Необходимые значения в php.ini **
|
||||
************************************
|
||||
|
||||
mbstring.internal_encoding = UTF-8
|
||||
magic_quotes_gpc = Off
|
||||
|
||||
************************************
|
||||
** Необходимые модули для php **
|
||||
************************************
|
||||
|
||||
php5-tidy
|
||||
|
||||
************************************
|
||||
** Необходимый запуск cron.php **
|
||||
************************************
|
||||
|
||||
Подробнее в теме http://torrentpier.me/threads/Отвязка-запуск-крона.52/
|
||||
|
||||
************************************
|
||||
** Часто задаваемые вопросы **
|
||||
************************************
|
||||
|
||||
http://torrentpier.me/threads/faq-для-новичков.260/
|
||||
|
||||
************************************
|
||||
** Где задать вопрос **
|
||||
************************************
|
||||
|
||||
http://torrentpier.me/forums/Основные-вопросы-по-torrentpier-ii.10/
|
||||
https://github.com/torrentpier/tracker/tree/master#torrentpier-ii
|
|
@ -20,7 +20,7 @@ else
|
|||
$upload_dir = '../' . $attach_config['upload_dir'];
|
||||
}
|
||||
|
||||
include(BB_ROOT .'attach_mod/includes/functions_selects.php');
|
||||
include(ATTACH_DIR .'includes/functions_selects.php');
|
||||
|
||||
// Check if the language got included
|
||||
if (!isset($lang['TEST_SETTINGS_SUCCESSFUL']))
|
||||
|
@ -76,7 +76,6 @@ else
|
|||
$sort_order = 'ASC';
|
||||
}
|
||||
|
||||
|
||||
// Pagination ?
|
||||
$do_pagination = ($view != 'stats' && $view != 'search') ? true : false;
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ else
|
|||
$upload_dir = '../' . $attach_config['upload_dir'];
|
||||
}
|
||||
|
||||
include(BB_ROOT .'attach_mod/includes/functions_selects.php');
|
||||
include(ATTACH_DIR .'includes/functions_selects.php');
|
||||
|
||||
// Check if the language got included
|
||||
if (!isset($lang['TEST_SETTINGS_SUCCESSFUL']))
|
||||
|
|
|
@ -40,9 +40,7 @@ else
|
|||
|
||||
if (isset($_POST['submit']) && $row['config_value'] != $new[$config_name])
|
||||
{
|
||||
if ($config_name == 'seed_bonus_points' || $config_name == 'seed_bonus_release') $new[$config_name] = serialize($new[$config_name]);
|
||||
if ($config_name == 'bonus_upload' || $config_name == 'bonus_upload_price') $new[$config_name] = serialize($new[$config_name]);
|
||||
|
||||
if ($config_name == ('seed_bonus_points' || 'seed_bonus_release' || 'bonus_upload' || 'bonus_upload_price')) $new[$config_name] = serialize(str_replace(',', '.', $new[$config_name]));
|
||||
bb_update_config(array($config_name => $new[$config_name]));
|
||||
}
|
||||
}
|
||||
|
@ -89,7 +87,7 @@ switch($mode)
|
|||
|
||||
if ($new['seed_bonus_points'] && $new['seed_bonus_release'])
|
||||
{
|
||||
$seed_bonus = unserialize($new['seed_bonus_points']);
|
||||
$seed_bonus = unserialize($new['seed_bonus_points']);
|
||||
$seed_release = unserialize($new['seed_bonus_release']);
|
||||
|
||||
foreach ($seed_bonus as $i => $row)
|
||||
|
@ -106,7 +104,7 @@ switch($mode)
|
|||
if ($new['bonus_upload'] && $new['bonus_upload_price'])
|
||||
{
|
||||
$upload_row = unserialize($new['bonus_upload']);
|
||||
$price_row = unserialize($new['bonus_upload_price']);
|
||||
$price_row = unserialize($new['bonus_upload_price']);
|
||||
|
||||
foreach ($upload_row as $i => $row)
|
||||
{
|
||||
|
|
|
@ -26,7 +26,7 @@ else
|
|||
$upload_dir = BB_ROOT . $attach_config['upload_dir'];
|
||||
}
|
||||
|
||||
include(BB_ROOT .'attach_mod/includes/functions_selects.php');
|
||||
include(ATTACH_DIR .'includes/functions_selects.php');
|
||||
|
||||
// Check if the language got included
|
||||
if (!isset($lang['TEST_SETTINGS_SUCCESSFUL']))
|
||||
|
|
|
@ -9,7 +9,6 @@ if (!empty($setmodules))
|
|||
require('./pagestart.php');
|
||||
// ACP Header - END
|
||||
|
||||
|
||||
// View Read Post Reply Edit Delete Sticky Announce Vote Poll PostAttach Download
|
||||
$simple_auth_ary = array(
|
||||
/* Public */ 0 => array(AUTH_ALL, AUTH_ALL, AUTH_ALL, AUTH_ALL, AUTH_REG, AUTH_REG, AUTH_MOD, AUTH_MOD, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_ALL), // Public
|
||||
|
|
|
@ -951,7 +951,6 @@ function renumber_order ($mode, $cat = 0)
|
|||
}
|
||||
$sql .= " ORDER BY $orderfield ASC";
|
||||
|
||||
|
||||
if (!$result = DB()->sql_query($sql))
|
||||
{
|
||||
bb_die('Could not get list of categories / forums #2');
|
||||
|
|
|
@ -245,7 +245,6 @@ else
|
|||
|
||||
generate_pagination($url, $items_count, $per_page, $start);
|
||||
|
||||
|
||||
$filter = array();
|
||||
|
||||
if ($log_rowset)
|
||||
|
|
|
@ -36,7 +36,6 @@ else
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
if ($mode != '')
|
||||
{
|
||||
if ($mode == 'edit' || $mode == 'add')
|
||||
|
|
52
upload/admin/admin_sitemap.php
Normal file
52
upload/admin/admin_sitemap.php
Normal file
|
@ -0,0 +1,52 @@
|
|||
<?php
|
||||
|
||||
if (!empty($setmodules))
|
||||
{
|
||||
$module['Mods']['SITEMAP'] = basename(__FILE__);
|
||||
return;
|
||||
}
|
||||
require('./pagestart.php');
|
||||
|
||||
require(INC_DIR .'functions_selects.php');
|
||||
|
||||
$sql = "SELECT * FROM " . BB_CONFIG;
|
||||
|
||||
if (!$result = DB()->sql_query($sql))
|
||||
{
|
||||
bb_die('Could not query config information in admin_sitemap');
|
||||
}
|
||||
else
|
||||
{
|
||||
$new_params = array();
|
||||
|
||||
while ($row = DB()->sql_fetchrow($result))
|
||||
{
|
||||
$config_name = $row['config_name'];
|
||||
$config_value = $row['config_value'];
|
||||
$default_config[$config_name] = $config_value;
|
||||
$new[$config_name] = isset($_POST[$config_name]) ? $_POST[$config_name] : $default_config[$config_name];
|
||||
|
||||
if (isset($_POST['submit']) && $row['config_value'] != $new[$config_name])
|
||||
{
|
||||
$new_params[$config_name] = $new[$config_name];
|
||||
}
|
||||
}
|
||||
|
||||
if (isset($_POST['submit']))
|
||||
{
|
||||
if (!empty($new_params))
|
||||
{
|
||||
bb_update_config($new_params);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$s_mess = $lang['SITEMAP_CREATED'].': <b>'.bb_date($new['sitemap_time'], $bb_cfg['post_date_format']).'</b> '.$lang['SITEMAP_AVAILABLE'].': <a href="'.make_url('/sitemap/sitemap.xml').'" target="_blank">'.make_url('/sitemap/sitemap.xml').'</a>';
|
||||
$message = (@file_exists(BB_ROOT. "/sitemap/sitemap.xml")) ? $s_mess : $lang['SITEMAP_NOT_CREATED'];
|
||||
|
||||
$template->assign_vars(array(
|
||||
'STATIC_SITEMAP' => $new['static_sitemap'],
|
||||
'MESSAGE' => $message,
|
||||
));
|
||||
|
||||
print_page('admin_sitemap.tpl', 'admin');
|
|
@ -795,10 +795,7 @@ else
|
|||
$base_url .= '&search_moderators=true&moderators_forum='. rawurlencode(stripslashes($moderators_forum));
|
||||
$moderators_forum = intval($moderators_forum);
|
||||
|
||||
$sql = "SELECT forum_name
|
||||
FROM ".BB_FORUMS."
|
||||
WHERE forum_id = ".$moderators_forum;
|
||||
|
||||
$sql = "SELECT forum_name FROM ".BB_FORUMS." WHERE forum_id = ".$moderators_forum;
|
||||
|
||||
if (!$result = DB()->sql_query($sql))
|
||||
{
|
||||
|
|
|
@ -5,8 +5,8 @@ define('IN_FORUM', true);
|
|||
define('IN_ADMIN', true);
|
||||
|
||||
require(BB_ROOT .'common.php');
|
||||
require(BB_ROOT .'attach_mod/attachment_mod.php');
|
||||
require(BB_ROOT .'attach_mod/includes/functions_admin.php');
|
||||
require(ATTACH_DIR .'attachment_mod.php');
|
||||
require(ATTACH_DIR .'includes/functions_admin.php');
|
||||
require_once(INC_DIR .'functions_admin.php');
|
||||
|
||||
$user->session_start();
|
||||
|
|
|
@ -34,12 +34,12 @@ switch ($ajax->action)
|
|||
case 'mod_action':
|
||||
case 'change_tor_status':
|
||||
case 'gen_passkey':
|
||||
require(BB_ROOT . 'attach_mod/attachment_mod.php');
|
||||
require(ATTACH_DIR . 'attachment_mod.php');
|
||||
require(INC_DIR . 'functions_torrent.php');
|
||||
break;
|
||||
|
||||
case 'change_torrent':
|
||||
require(BB_ROOT . 'attach_mod/attachment_mod.php');
|
||||
require(ATTACH_DIR . 'attachment_mod.php');
|
||||
require(INC_DIR . 'functions_torrent.php');
|
||||
break;
|
||||
|
||||
|
@ -55,6 +55,10 @@ switch ($ajax->action)
|
|||
case 'group_membership':
|
||||
require(INC_DIR . 'functions_group.php');
|
||||
break;
|
||||
|
||||
case 'sitemap';
|
||||
require(INC_DIR .'class.sitemap.php');
|
||||
break;
|
||||
}
|
||||
|
||||
// position in $ajax->valid_actions['xxx']
|
||||
|
@ -78,6 +82,7 @@ class ajax_common
|
|||
'change_user_opt' => array('admin'),
|
||||
'manage_user' => array('admin'),
|
||||
'manage_admin' => array('admin'),
|
||||
'sitemap' => array('admin'),
|
||||
|
||||
'mod_action' => array('mod'),
|
||||
'topic_tpl' => array('mod'),
|
||||
|
@ -406,4 +411,9 @@ class ajax_common
|
|||
{
|
||||
require(AJAX_DIR . 'chat.php');
|
||||
}
|
||||
|
||||
function sitemap()
|
||||
{
|
||||
require(AJAX_DIR .'sitemap.php');
|
||||
}
|
||||
}
|
64
upload/ajax/sitemap.php
Normal file
64
upload/ajax/sitemap.php
Normal file
|
@ -0,0 +1,64 @@
|
|||
<?php
|
||||
|
||||
if (!defined('IN_AJAX')) die(basename(__FILE__));
|
||||
|
||||
global $bb_cfg, $lang;
|
||||
|
||||
$mode = (string) $this->request['mode'];
|
||||
$map = new sitemap();
|
||||
$html = '';
|
||||
|
||||
switch ($mode)
|
||||
{
|
||||
case 'create':
|
||||
$map->create();
|
||||
if (@file_exists(BB_ROOT. "/sitemap/sitemap.xml"))
|
||||
{
|
||||
$html .= $lang['SITEMAP_CREATED'].': <b>'.bb_date(TIMENOW, $bb_cfg['post_date_format']).'</b> '.$lang['SITEMAP_AVAILABLE'].': <a href="'.make_url('/sitemap/sitemap.xml').'" target="_blank">'.make_url('/sitemap/sitemap.xml').'</a>';
|
||||
} else {
|
||||
$html .= $lang['SITEMAP_NOT_CREATED'];
|
||||
}
|
||||
break;
|
||||
|
||||
case 'search_update':
|
||||
if (!@file_exists(BB_ROOT. "/sitemap/sitemap.xml"))
|
||||
{
|
||||
$map->create();
|
||||
}
|
||||
|
||||
$map_link = make_url('/sitemap/sitemap.xml');
|
||||
|
||||
if (strpos($map->send_url("http://google.com/webmasters/sitemaps/ping?sitemap=", $map_link), "successfully added") !== false) {
|
||||
$html .= '<br />'.$lang['SITEMAP_NOTIFY_SEARCH'].' Google: <font style="color: green;">'.$lang['SITEMAP_SENT'].'</font>';
|
||||
} else {
|
||||
$html .= '<br />'.$lang['SITEMAP_NOTIFY_SEARCH'].' Google: <font style="color: red;">'.$lang['SITEMAP_ERROR'].'</font> URL: <a href="http://google.com/webmasters/sitemaps/ping?sitemap='.urlencode($map_link).'" target="_blank">http://google.com/webmasters/sitemaps/ping?sitemap='.$map_link.'</a>';
|
||||
}
|
||||
|
||||
if (strpos($map->send_url("http://ping.blogs.yandex.ru/ping?sitemap=", $map_link), "OK") !== false) {
|
||||
$html .= '<br />'.$lang['SITEMAP_NOTIFY_SEARCH'].' Yandex: <font style="color: green;">'.$lang['SITEMAP_SENT'].'</font>';
|
||||
} else {
|
||||
$html .= '<br />'.$lang['SITEMAP_NOTIFY_SEARCH'].' Yandex: <font style="color: red;">'.$lang['SITEMAP_ERROR'].'</font> URL: <a href="http://ping.blogs.yandex.ru/ping?sitemap='.urlencode($map_link).'" target="_blank">http://ping.blogs.yandex.ru/ping?sitemap='.$map_link.'</a>';
|
||||
}
|
||||
|
||||
if ($map->send_url("http://www.bing.com/webmaster/ping.aspx?siteMap=", $map_link)) {
|
||||
$html .= '<br />'.$lang['SITEMAP_NOTIFY_SEARCH'].' Bing: <font style="color: green;">'.$lang['SITEMAP_SENT'].'</font>';
|
||||
} else {
|
||||
$html .= '<br />'.$lang['SITEMAP_NOTIFY_SEARCH'].' Bing: <font style="color: red;">'.$lang['SITEMAP_ERROR'].'</font> URL: <a href="http://www.bing.com/webmaster/ping.aspx?siteMap='.urlencode($map_link).'" target="_blank">http://www.bing.com/webmaster/ping.aspx?siteMap='.$map_link.'</a>';
|
||||
}
|
||||
|
||||
if (strpos($map->send_url("http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url=", $map_link), "Thanks for the ping") !== false) {
|
||||
$html .= '<br />'.$lang['SITEMAP_NOTIFY_SEARCH'].' Weblogs: <font style="color: green;">'.$lang['SITEMAP_SENT'].'</font>';
|
||||
} else {
|
||||
$html .= '<br />'.$lang['SITEMAP_NOTIFY_SEARCH'].' Weblogs: <font style="color: red;">'.$lang['SITEMAP_ERROR'].'</font> URL: <a href="http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url='.urlencode($map_link).'" target="_blank">http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url='.$map_link.'</a>';
|
||||
}
|
||||
|
||||
if ($map->send_url("http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap=", $map_link)) {
|
||||
$html .= '<br />'.$lang['SITEMAP_NOTIFY_SEARCH'].' Yahoo: <font style="color: green;">'.$lang['SITEMAP_SENT'].'</font>';
|
||||
} else {
|
||||
$html .= '<br />'.$lang['SITEMAP_NOTIFY_SEARCH'].' Yahoo: <font style="color: red;">'.$lang['SITEMAP_ERROR'].'</font> URL: <a href="http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap='.urlencode($map_link).'" target="_blank">http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap='.$map_link.'</a>';
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
$this->response['html'] = $html;
|
||||
$this->response['mode'] = $mode;
|
|
@ -10,6 +10,9 @@ if (!isset($this->request['attach_id']))
|
|||
}
|
||||
$attach_id = (int) $this->request['attach_id'];
|
||||
|
||||
global $bnc_error;
|
||||
$bnc_error = 0;
|
||||
|
||||
$torrent = DB()->fetch_row("SELECT at.attach_id, at.physical_filename FROM ". BB_ATTACHMENTS_DESC ." at WHERE at.attach_id = $attach_id LIMIT 1");
|
||||
if (!$torrent) $this->ajax_die($lang['EMPTY_ATTACH_ID']);
|
||||
$filename = get_attachments_dir() .'/'. $torrent['physical_filename'];
|
||||
|
@ -126,7 +129,8 @@ class torrent
|
|||
{
|
||||
if (is_string($cur_files_ary))
|
||||
{
|
||||
bb_die($lang['ERROR_BUILD']);
|
||||
$GLOBALS['bnc_error'] = 1;
|
||||
break(1);
|
||||
}
|
||||
$cur_files_ary[] = $this->build_file_item($name, $length);
|
||||
}
|
||||
|
@ -169,4 +173,6 @@ function clean_tor_dirname ($dirname)
|
|||
return str_replace(array('[', ']', '<', '>', "'"), array('[', ']', '<', '>', '''), $dirname);
|
||||
}
|
||||
|
||||
if ($bnc_error) $tor_filelist = '<b style="color: #993300;">'.$lang['ERROR_BUILD'].'</b><br /><br />'.$tor_filelist;
|
||||
|
||||
$this->response['html'] = $tor_filelist;
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
if (!defined('IN_FORUM')) die("Hacking attempt");
|
||||
|
||||
require(BB_ROOT .'attach_mod/includes/functions_includes.php');
|
||||
require(BB_ROOT .'attach_mod/includes/functions_attach.php');
|
||||
require(BB_ROOT .'attach_mod/includes/functions_delete.php');
|
||||
require(BB_ROOT .'attach_mod/includes/functions_thumbs.php');
|
||||
require(BB_ROOT .'attach_mod/includes/functions_filetypes.php');
|
||||
require(ATTACH_DIR .'includes/functions_includes.php');
|
||||
require(ATTACH_DIR .'includes/functions_attach.php');
|
||||
require(ATTACH_DIR .'includes/functions_delete.php');
|
||||
require(ATTACH_DIR .'includes/functions_thumbs.php');
|
||||
require(ATTACH_DIR .'includes/functions_filetypes.php');
|
||||
|
||||
if (defined('ATTACH_INSTALL'))
|
||||
{
|
||||
|
@ -76,7 +76,7 @@ if (!($attach_config = CACHE('bb_cache')->get('attach_config')))
|
|||
CACHE('bb_cache')->set('attach_config', $attach_config, 86400);
|
||||
}
|
||||
|
||||
include(BB_ROOT .'attach_mod/displaying.php');
|
||||
include(BB_ROOT .'attach_mod/posting_attachments.php');
|
||||
include(ATTACH_DIR .'displaying.php');
|
||||
include(ATTACH_DIR .'posting_attachments.php');
|
||||
|
||||
$upload_dir = $attach_config['upload_dir'];
|
|
@ -344,7 +344,7 @@ function display_attachments($post_id)
|
|||
// bt
|
||||
if ($link && ($attachments['_'. $post_id][$i]['extension'] === TORRENT_EXT))
|
||||
{
|
||||
include(BB_ROOT .'attach_mod/displaying_torrent.php');
|
||||
include(ATTACH_DIR .'displaying_torrent.php');
|
||||
}
|
||||
else if ($link)
|
||||
{
|
||||
|
|
|
@ -1,21 +1,5 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Setup Basic Authentication
|
||||
*/
|
||||
// moved to auth
|
||||
|
||||
/**
|
||||
* Setup Forum Authentication (admin/admin_forumauth.php)
|
||||
*/
|
||||
//admin/admin_forumauth.php
|
||||
|
||||
|
||||
/**
|
||||
* Setup Usergroup Authentication
|
||||
*/
|
||||
//admin/admin_ug_auth.php
|
||||
|
||||
/**
|
||||
* Setup s_auth_can in viewforum and viewtopic (viewtopic.php/viewforum.php)
|
||||
*/
|
||||
|
@ -49,9 +33,9 @@ function attachment_quota_settings($admin_mode, $submit = false, $mode)
|
|||
$upload_dir = BB_ROOT . $attach_config['upload_dir'];
|
||||
}
|
||||
|
||||
include(BB_ROOT .'attach_mod/includes/functions_selects.php');
|
||||
include(ATTACH_DIR .'includes/functions_selects.php');
|
||||
if (!function_exists("process_quota_settings"))
|
||||
include(BB_ROOT . 'attach_mod/includes/functions_admin.php');
|
||||
include(ATTACH_DIR . 'includes/functions_admin.php');
|
||||
|
||||
$user_id = 0;
|
||||
|
||||
|
|
|
@ -9,7 +9,6 @@ define('FILENAME_CRYPTIC', false);
|
|||
define('FILENAME_CRYPTIC_LENGTH', 64);
|
||||
define('FILENAME_TRANSLITERATE', true);
|
||||
|
||||
|
||||
class attach_parent
|
||||
{
|
||||
var $post_attach = false;
|
||||
|
|
|
@ -68,8 +68,8 @@ $domain_name = (!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : $do
|
|||
|
||||
// Version info
|
||||
$bb_cfg['tp_version'] = '2.0.9 (RC)';
|
||||
$bb_cfg['tp_release_date'] = '30-07-2014';
|
||||
$bb_cfg['tp_release_state'] = 'R592';
|
||||
$bb_cfg['tp_release_date'] = '04-08-2014';
|
||||
$bb_cfg['tp_release_state'] = 'R593';
|
||||
|
||||
// Database
|
||||
$charset = 'utf8';
|
||||
|
@ -239,16 +239,16 @@ $page_cfg['show_torhelp'] = array(
|
|||
// Path (trailing slash '/' at the end: XX_PATH - without, XX_DIR - with)
|
||||
define('DIR_SEPR', DIRECTORY_SEPARATOR);
|
||||
|
||||
define('BB_PATH', realpath(BB_ROOT) ); // absolute pathname to the forum root
|
||||
define('ADMIN_DIR', BB_PATH .'/admin/' );
|
||||
define('CACHE_DIR', BB_PATH .'/cache/' );
|
||||
define('CFG_DIR', BB_PATH .'/config/' );
|
||||
define('INC_DIR', BB_PATH .'/includes/' );
|
||||
define('LANG_ROOT_DIR', BB_PATH .'/language/' );
|
||||
define('LOG_DIR', BB_PATH .'/log/' );
|
||||
define('TEMPLATES_DIR', BB_PATH .'/templates/');
|
||||
define('TRIGGERS_DIR', BB_PATH .'/triggers/' );
|
||||
define('LOCKS_DIR', BB_PATH .'/locks/' );
|
||||
define('BB_PATH', realpath(BB_ROOT) ); // absolute pathname to the forum root
|
||||
define('ADMIN_DIR', BB_PATH .'/admin/' );
|
||||
define('ATTACH_DIR', BB_PATH .'/attach_mod/');
|
||||
define('CACHE_DIR', BB_PATH .'/cache/' );
|
||||
define('CFG_DIR', BB_PATH .'/config/' );
|
||||
define('INC_DIR', BB_PATH .'/includes/' );
|
||||
define('LANG_ROOT_DIR', BB_PATH .'/language/' );
|
||||
define('LOG_DIR', BB_PATH .'/log/' );
|
||||
define('TEMPLATES_DIR', BB_PATH .'/templates/' );
|
||||
define('TRIGGERS_DIR', BB_PATH .'/triggers/' );
|
||||
|
||||
// URL's
|
||||
$bb_cfg['ajax_url'] = 'ajax.php'; # "http://{$_SERVER['SERVER_NAME']}/ajax.php"
|
||||
|
@ -451,11 +451,11 @@ $bb_cfg['parse_ed2k_links'] = true; // make ed2k links clickable
|
|||
$bb_cfg['post_date_format'] = 'd-M-Y H:i';
|
||||
$bb_cfg['ext_link_new_win'] = true; // open external links in new window
|
||||
|
||||
$bb_cfg['topic_moved_days_keep'] = 7; // remove topic moved links after xx days (or FALSE to disable)
|
||||
$bb_cfg['topic_moved_days_keep'] = 7; // remove topic moved links after xx days (or FALSE to disable)
|
||||
|
||||
$bb_cfg['allowed_posts_per_page'] = array(15, 30, 50, 100);
|
||||
$bb_cfg['user_signature_start'] = '<div class="signature"><br />_________________<br />';
|
||||
$bb_cfg['user_signature_end'] = '</div>'; // Это позволит использовать html теги, которые требуют закрытия. Например <table> или <font color>
|
||||
$bb_cfg['user_signature_start'] = '<div class="signature"><br />_________________<br />';
|
||||
$bb_cfg['user_signature_end'] = '</div>'; // Это позволит использовать html теги, которые требуют закрытия. Например <table> или <font color>
|
||||
|
||||
// Posts
|
||||
$bb_cfg['use_posts_cache'] = true; // if you switch from ON to OFF, you need to TRUNCATE `bb_posts_html` table
|
||||
|
@ -475,7 +475,6 @@ $bb_cfg['max_search_words_per_post'] = 200;
|
|||
$bb_cfg['search_min_word_len'] = 3;
|
||||
$bb_cfg['search_max_word_len'] = 35;
|
||||
$bb_cfg['limit_max_search_results'] = false;
|
||||
$bb_cfg['tidy_post'] = true;
|
||||
$bb_cfg['spam_filter_file_path'] = ''; //BB_PATH .'/misc/spam_filter_words.txt';
|
||||
|
||||
// Posting
|
||||
|
@ -502,7 +501,7 @@ $bb_cfg['user_not_active_days_keep'] = 180; // inactive users but only wi
|
|||
$bb_cfg['groupcp_members_per_page'] = 300;
|
||||
|
||||
// Tidy
|
||||
if ($bb_cfg['tidy_post'] && !function_exists('tidy_repair_string') or !extension_loaded('tidy')) die('Set $bb_cfg[\'tidy_post\'] = false in config.php');
|
||||
$bb_cfg['tidy_post'] = (!extension_loaded('tidy')) ? false : true;
|
||||
|
||||
// Ads
|
||||
$bb_cfg['show_ads'] = false;
|
||||
|
@ -581,15 +580,14 @@ $banned_user_agents = array(
|
|||
# 'wget',
|
||||
);
|
||||
|
||||
$bb_cfg['porno_forums_screenshots_topic_id'] = 0; // (int) 7
|
||||
$bb_cfg['trash_forum_id'] = 0; // (int) 7
|
||||
$bb_cfg['trash_forum_id'] = 0; // (int) 7
|
||||
|
||||
$bb_cfg['first_logon_redirect_url'] = 'index.php';
|
||||
$bb_cfg['terms_and_conditions_url'] = 'index.php';
|
||||
$bb_cfg['first_logon_redirect_url'] = 'index.php';
|
||||
$bb_cfg['terms_and_conditions_url'] = 'index.php';
|
||||
|
||||
$bb_cfg['user_agreement_url'] = 'misc.php?do=info&show=user_agreement';
|
||||
$bb_cfg['copyright_holders_url'] = 'misc.php?do=info&show=copyright_holders';
|
||||
$bb_cfg['advert_url'] = 'misc.php?do=info&show=advert';
|
||||
$bb_cfg['user_agreement_url'] = 'misc.php?do=info&show=user_agreement';
|
||||
$bb_cfg['copyright_holders_url'] = 'misc.php?do=info&show=copyright_holders';
|
||||
$bb_cfg['advert_url'] = 'misc.php?do=info&show=advert';
|
||||
|
||||
// Captcha
|
||||
$bb_cfg['captcha'] = array(
|
||||
|
|
|
@ -5,8 +5,8 @@ define('BB_SCRIPT', 'download');
|
|||
define('IN_SERVICE', true);
|
||||
define('NO_GZIP', true);
|
||||
define('BB_ROOT', './');
|
||||
require(BB_ROOT ."common.php");
|
||||
require(BB_ROOT ."attach_mod/attachment_mod.php");
|
||||
require(BB_ROOT .'common.php');
|
||||
require(ATTACH_DIR .'attachment_mod.php');
|
||||
|
||||
$datastore->enqueue(array(
|
||||
'attach_extensions',
|
||||
|
@ -164,7 +164,6 @@ for ($i = 0; $i < $num_auth_pages && $authorised == false; $i++)
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
if (!$authorised)
|
||||
{
|
||||
bb_die($lang['SORRY_AUTH_VIEW_ATTACH']);
|
||||
|
|
0
upload/includes/sphinxapi.php → upload/includes/api.sphinx.php
Normal file → Executable file
0
upload/includes/sphinxapi.php → upload/includes/api.sphinx.php
Normal file → Executable file
229
upload/includes/class.sitemap.php
Normal file
229
upload/includes/class.sitemap.php
Normal file
|
@ -0,0 +1,229 @@
|
|||
<?php
|
||||
|
||||
class sitemap
|
||||
{
|
||||
var $home = "";
|
||||
var $limit = 0;
|
||||
var $topic_priority = "0.5";
|
||||
var $stat_priority = "0.5";
|
||||
var $priority = "0.6";
|
||||
var $cat_priority = "0.7";
|
||||
|
||||
function sitemap () {
|
||||
global $bb_cfg;
|
||||
$this->home = 'http://'.$bb_cfg['server_name'].'/';
|
||||
}
|
||||
|
||||
function build_map () {
|
||||
$map = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n";
|
||||
|
||||
$map .= $this->get_static();
|
||||
$map .= $this->get_forum();
|
||||
$map .= $this->get_topic();
|
||||
$map .= "</urlset>";
|
||||
|
||||
return $map;
|
||||
}
|
||||
|
||||
function build_index ($count) {
|
||||
$map = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<sitemapindex xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n";
|
||||
|
||||
$lastmod = date("Y-m-d");
|
||||
$map .= "<sitemap>\n<loc>{$this->home}sitemap/sitemap1.xml</loc>\n<lastmod>{$lastmod}</lastmod>\n</sitemap>\n";
|
||||
|
||||
for ($i = 0; $i < $count; $i++) {
|
||||
$t = $i + 2;
|
||||
$map .= "<sitemap>\n<loc>{$this->home}sitemap/sitemap{$t}.xml</loc>\n<lastmod>{$lastmod}</lastmod>\n</sitemap>\n";
|
||||
}
|
||||
|
||||
$map .= "</sitemapindex>";
|
||||
|
||||
return $map;
|
||||
}
|
||||
|
||||
function build_stat () {
|
||||
$map = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n";
|
||||
|
||||
$map .= $this->get_static();
|
||||
$map .= $this->get_forum();
|
||||
$map .= "</urlset>";
|
||||
|
||||
return $map;
|
||||
}
|
||||
|
||||
function build_map_topic ($n) {
|
||||
$map = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n";
|
||||
|
||||
$map .= $this->get_topic($n);
|
||||
$map .= "</urlset>";
|
||||
|
||||
return $map;
|
||||
}
|
||||
|
||||
function get_forum () {
|
||||
global $datastore;
|
||||
|
||||
$this->priority = $this->cat_priority;
|
||||
$xml = "";
|
||||
$lastmod = date( "Y-m-d" );
|
||||
|
||||
if (!$forums = $datastore->get('cat_forums'))
|
||||
{
|
||||
$datastore->update('cat_forums');
|
||||
$forums = $datastore->get('cat_forums');
|
||||
}
|
||||
$not_forums_id = $forums['not_auth_forums']['guest_view'];
|
||||
|
||||
$ignore_forum_sql = ($not_forums_id) ? "WHERE forum_id NOT IN($not_forums_id)" : '';
|
||||
|
||||
$sql = DB()->sql_query("SELECT forum_id, forum_topics, forum_parent, forum_name FROM ".BB_FORUMS." ".$ignore_forum_sql." ORDER BY forum_id ASC");
|
||||
|
||||
while ($row = DB()->sql_fetchrow($sql)) {
|
||||
if (function_exists('seo_url')) $loc = $this->home . seo_url(FORUM_URL . $row['forum_id'], $row['forum_name']);
|
||||
else $loc = $this->home . FORUM_URL. $row['forum_id'];
|
||||
$xml .= $this->get_xml( $loc, $lastmod );
|
||||
}
|
||||
|
||||
return $xml;
|
||||
}
|
||||
|
||||
function get_topic ($page = false) {
|
||||
global $datastore;
|
||||
|
||||
$xml = "";
|
||||
$this->priority = $this->topic_priority;
|
||||
|
||||
if ($page) {
|
||||
$page = $page - 1;
|
||||
$page = $page * 40000;
|
||||
$this->limit = " LIMIT {$page},40000";
|
||||
} else {
|
||||
if ($this->limit < 1) $this->limit = false;
|
||||
if( $this->limit ) {
|
||||
$this->limit = " LIMIT 0," . $this->limit;
|
||||
} else {
|
||||
$this->limit = "";
|
||||
}
|
||||
}
|
||||
|
||||
if (!$forums = $datastore->get('cat_forums')) {
|
||||
$datastore->update('cat_forums');
|
||||
$forums = $datastore->get('cat_forums');
|
||||
}
|
||||
|
||||
$not_forums_id = $forums['not_auth_forums']['guest_view'];
|
||||
$ignore_forum_sql = ($not_forums_id) ? "WHERE forum_id NOT IN($not_forums_id)" : '';
|
||||
|
||||
$sql = DB()->sql_query("SELECT topic_id, topic_title, topic_time FROM " . BB_TOPICS . " ".$ignore_forum_sql." ORDER BY topic_time DESC" . $this->limit);
|
||||
|
||||
while ($row = DB()->sql_fetchrow($sql)) {
|
||||
if (function_exists('seo_url')) $loc = $this->home . seo_url(TOPIC_URL . $row['topic_id'], $row['topic_title']);
|
||||
else $loc = $this->home . TOPIC_URL. $row['topic_id'];
|
||||
$xml .= $this->get_xml($loc, date("Y-m-d", $row['topic_time']));
|
||||
}
|
||||
|
||||
return $xml;
|
||||
}
|
||||
|
||||
function get_static () {
|
||||
global $bb_cfg;
|
||||
|
||||
$xml = "";
|
||||
$lastmod = date("Y-m-d");
|
||||
$this->priority = $this->stat_priority;
|
||||
|
||||
if (isset($bb_cfg['static_sitemap'])) {
|
||||
$static_url = preg_replace("/\s/", '', $bb_cfg['static_sitemap']); //вырезаем переносы строк
|
||||
preg_match_all ('#(https?://[\w-]+[\.\w-]+/((?!https?://)[\w- ./?%&=])+)#', $static_url, $out);
|
||||
|
||||
$static_url = count($out['0']);
|
||||
if ($static_url > 0)
|
||||
{
|
||||
foreach($out['0'] as $url)
|
||||
{
|
||||
$loc = $url;
|
||||
$xml .= $this->get_xml($loc, $lastmod);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $xml;
|
||||
}
|
||||
|
||||
function get_xml ($loc, $lastmod) {
|
||||
$xml = "\t<url>\n";
|
||||
|
||||
$xml .= "\t\t<loc>$loc</loc>\n";
|
||||
$xml .= "\t\t<lastmod>$lastmod</lastmod>\n";
|
||||
$xml .= "\t\t<priority>" . $this->priority . "</priority>\n";
|
||||
$xml .= "\t</url>\n";
|
||||
|
||||
return $xml;
|
||||
}
|
||||
|
||||
function send_url ($url, $map) {
|
||||
$data = false;
|
||||
$file = $url.urlencode($map);
|
||||
|
||||
if (function_exists('curl_init')) {
|
||||
$ch = curl_init();
|
||||
|
||||
curl_setopt($ch, CURLOPT_URL, $file);
|
||||
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
|
||||
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||||
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 6);
|
||||
|
||||
$data = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
|
||||
return $data;
|
||||
} else {
|
||||
return @file_get_contents($file);
|
||||
}
|
||||
}
|
||||
|
||||
function create () {
|
||||
$row = DB()->fetch_row("SELECT COUNT(*) AS count FROM ". BB_TOPICS);
|
||||
|
||||
if (!$this->limit) $this->limit = $row['count'];
|
||||
if ($this->limit > 40000) {
|
||||
$pages_count = @ceil($row['count'] / 40000);
|
||||
|
||||
$sitemap = $this->build_index($pages_count);
|
||||
|
||||
$handler = fopen(BB_ROOT. "/sitemap/sitemap.xml", "wb+");
|
||||
fwrite($handler, $sitemap);
|
||||
fclose($handler);
|
||||
@chmod(BB_ROOT. "/sitemap/sitemap.xml", 0666);
|
||||
|
||||
$sitemap = $this->build_stat();
|
||||
|
||||
$handler = fopen(BB_ROOT. "/sitemap/sitemap1.xml", "wb+");
|
||||
fwrite($handler, $sitemap);
|
||||
fclose($handler);
|
||||
@chmod(BB_ROOT. "/sitemap/sitemap.xml", 0666);
|
||||
|
||||
for ($i = 0; $i < $pages_count; $i++) {
|
||||
$t = $i + 2;
|
||||
$n = $i + 1;
|
||||
|
||||
$sitemap = $this->build_map_topic($n);
|
||||
$handler = fopen(BB_ROOT. "/sitemap/sitemap{$t}.xml", "wb+");
|
||||
fwrite($handler, $sitemap);
|
||||
fclose($handler);
|
||||
@chmod(BB_ROOT. "/sitemap/sitemap{$t}.xml", 0666);
|
||||
}
|
||||
} else {
|
||||
$sitemap = $this->build_map();
|
||||
|
||||
$handler = fopen(BB_ROOT. "/sitemap/sitemap.xml", "wb+");
|
||||
fwrite($handler, $sitemap);
|
||||
fclose($handler);
|
||||
@chmod(BB_ROOT. "/sitemap/sitemap.xml", 0666);
|
||||
}
|
||||
|
||||
$params['sitemap_time'] = TIMENOW;
|
||||
bb_update_config($params);
|
||||
}
|
||||
}
|
|
@ -3078,7 +3078,6 @@ class UTF8
|
|||
return self::convert_case($data, CASE_UPPER);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Convert all HTML entities to native UTF-8 characters
|
||||
* Функция декодирует гораздо больше именованных сущностей, чем стандартная html_entity_decode()
|
||||
|
|
|
@ -2,14 +2,9 @@
|
|||
|
||||
if (!defined('BB_ROOT')) die(basename(__FILE__));
|
||||
|
||||
$users_per_cycle = 1000;
|
||||
|
||||
require_once(INC_DIR .'functions_admin.php');
|
||||
|
||||
$excluded_users = join(',', array(
|
||||
GUEST_UID,
|
||||
BOT_UID,
|
||||
));
|
||||
$users_per_cycle = 1000;
|
||||
|
||||
while (true)
|
||||
{
|
||||
|
@ -19,32 +14,30 @@ while (true)
|
|||
|
||||
if ($not_activated_days = intval($bb_cfg['user_not_activated_days_keep']))
|
||||
{
|
||||
$sql = "
|
||||
SELECT user_id
|
||||
FROM ". BB_USERS ."
|
||||
WHERE user_active = 0
|
||||
AND user_lastvisit = 0
|
||||
AND user_regdate < ". (TIMENOW - 86400*$not_activated_days) ."
|
||||
AND user_id NOT IN($excluded_users)
|
||||
LIMIT $users_per_cycle
|
||||
";
|
||||
foreach (DB()->fetch_rowset($sql) as $row)
|
||||
$sql = DB()->fetch_rowset("SELECT user_id FROM ". BB_USERS ."
|
||||
WHERE user_level = 0
|
||||
AND user_lastvisit = 0
|
||||
AND user_session_time = 0
|
||||
AND user_regdate <= ". (TIMENOW - 86400 * $not_activated_days) ."
|
||||
AND user_id NOT IN(". EXCLUDED_USERS_CSV .")
|
||||
LIMIT $users_per_cycle");
|
||||
|
||||
foreach ($sql as $row)
|
||||
{
|
||||
$not_activated_users[] = $row['user_id'];
|
||||
}
|
||||
}
|
||||
|
||||
if ($not_active_days = intval($bb_cfg['user_not_active_days_keep']))
|
||||
{
|
||||
$sql = "
|
||||
SELECT user_id
|
||||
FROM ". BB_USERS ."
|
||||
WHERE user_active = 1
|
||||
AND user_posts = 0
|
||||
AND user_lastvisit < ". (TIMENOW - 86400*$not_active_days) ."
|
||||
AND user_id NOT IN($excluded_users)
|
||||
LIMIT $users_per_cycle
|
||||
";
|
||||
foreach (DB()->fetch_rowset($sql) as $row)
|
||||
$sql = DB()->fetch_rowset("SELECT user_id FROM ". BB_USERS ."
|
||||
WHERE user_level = 0
|
||||
AND user_posts = 0
|
||||
AND user_lastvisit <= ". (TIMENOW - 86400 * $not_active_days) ."
|
||||
AND user_id NOT IN(". EXCLUDED_USERS_CSV .")
|
||||
LIMIT $users_per_cycle");
|
||||
|
||||
foreach ($sql as $row)
|
||||
{
|
||||
$not_active_users[] = $row['user_id'];
|
||||
}
|
||||
|
@ -62,5 +55,3 @@ while (true)
|
|||
|
||||
sleep(3);
|
||||
}
|
||||
|
||||
unset($prune_users, $not_activated_users, $not_active_users);
|
19
upload/includes/cron/jobs/sitemap.php
Normal file
19
upload/includes/cron/jobs/sitemap.php
Normal file
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
|
||||
if (!defined('BB_ROOT')) die(basename(__FILE__));
|
||||
|
||||
require(INC_DIR .'class.sitemap.php');
|
||||
|
||||
$map = new sitemap();
|
||||
$map->create();
|
||||
|
||||
if (@file_exists(BB_ROOT. "/sitemap/sitemap.xml"))
|
||||
{
|
||||
$map_link = make_url('/sitemap/sitemap.xml');
|
||||
|
||||
$map->send_url("http://google.com/webmasters/sitemaps/ping?sitemap=", $map_link);
|
||||
$map->send_url("http://ping.blogs.yandex.ru/ping?sitemap=", $map_link);
|
||||
$map->send_url("http://www.bing.com/webmaster/ping.aspx?siteMap=", $map_link);
|
||||
$map->send_url("http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url=", $map_link);
|
||||
$map->send_url("http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap=", $map_link);
|
||||
}
|
|
@ -1048,7 +1048,7 @@ function select_get_val ($key, &$val, $options_ary, $default, $num = true)
|
|||
*
|
||||
* @access private
|
||||
*/
|
||||
function set_var(&$result, $var, $type, $multibyte = false, $strip = true)
|
||||
function set_var (&$result, $var, $type, $multibyte = false, $strip = true)
|
||||
{
|
||||
settype($var, $type);
|
||||
$result = $var;
|
||||
|
@ -1077,7 +1077,7 @@ function set_var(&$result, $var, $type, $multibyte = false, $strip = true)
|
|||
*
|
||||
* Used to get passed variable
|
||||
*/
|
||||
function request_var($var_name, $default, $multibyte = false, $cookie = false)
|
||||
function request_var ($var_name, $default, $multibyte = false, $cookie = false)
|
||||
{
|
||||
if (!$cookie && isset($_COOKIE[$var_name]))
|
||||
{
|
||||
|
@ -1311,27 +1311,21 @@ function bb_update_config ($params, $table = BB_CONFIG)
|
|||
bb_get_config($table, true, true);
|
||||
}
|
||||
|
||||
function get_db_stat($mode)
|
||||
function get_db_stat ($mode)
|
||||
{
|
||||
switch( $mode )
|
||||
switch ($mode)
|
||||
{
|
||||
case 'usercount':
|
||||
$sql = "SELECT COUNT(user_id) AS total
|
||||
FROM " . BB_USERS;
|
||||
$sql = "SELECT COUNT(user_id) AS total FROM " . BB_USERS;
|
||||
break;
|
||||
|
||||
case 'newestuser':
|
||||
$sql = "SELECT user_id, username
|
||||
FROM " . BB_USERS . "
|
||||
WHERE user_id <> " . GUEST_UID . "
|
||||
ORDER BY user_id DESC
|
||||
LIMIT 1";
|
||||
$sql = "SELECT user_id, username FROM " . BB_USERS . " WHERE user_id <> " . GUEST_UID . " ORDER BY user_id DESC LIMIT 1";
|
||||
break;
|
||||
|
||||
case 'postcount':
|
||||
case 'topiccount':
|
||||
$sql = "SELECT SUM(forum_topics) AS topic_total, SUM(forum_posts) AS post_total
|
||||
FROM " . BB_FORUMS;
|
||||
$sql = "SELECT SUM(forum_topics) AS topic_total, SUM(forum_posts) AS post_total FROM " . BB_FORUMS;
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -1342,7 +1336,7 @@ function get_db_stat($mode)
|
|||
|
||||
$row = DB()->sql_fetchrow($result);
|
||||
|
||||
switch ( $mode )
|
||||
switch ($mode)
|
||||
{
|
||||
case 'usercount':
|
||||
return $row['total'];
|
||||
|
@ -1361,7 +1355,7 @@ function get_db_stat($mode)
|
|||
return false;
|
||||
}
|
||||
|
||||
function clean_username($username)
|
||||
function clean_username ($username)
|
||||
{
|
||||
$username = mb_substr(htmlspecialchars(str_replace("\'", "'", trim($username))), 0, 25, 'UTF-8');
|
||||
$username = bb_rtrim($username, "\\");
|
||||
|
@ -1650,7 +1644,7 @@ function generate_pagination ($base_url, $num_items, $per_page, $start_item, $ad
|
|||
|
||||
$total_pages = ceil($num_items/$per_page);
|
||||
|
||||
if ( $total_pages == 1 || $num_items == 0 )
|
||||
if ($total_pages == 1 || $num_items == 0)
|
||||
{
|
||||
return '';
|
||||
}
|
||||
|
@ -1658,20 +1652,20 @@ function generate_pagination ($base_url, $num_items, $per_page, $start_item, $ad
|
|||
$on_page = floor($start_item / $per_page) + 1;
|
||||
|
||||
$page_string = '';
|
||||
if ( $total_pages > ((2*($begin_end + $from_middle)) + 2) )
|
||||
if ($total_pages > ((2*($begin_end + $from_middle)) + 2))
|
||||
{
|
||||
$init_page_max = ( $total_pages > $begin_end ) ? $begin_end : $total_pages;
|
||||
for($i = 1; $i < $init_page_max + 1; $i++)
|
||||
for ($i = 1; $i < $init_page_max + 1; $i++)
|
||||
{
|
||||
$page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . $base_url . "&start=" . ( ( $i - 1 ) * $per_page ) . '">' . $i . '</a>';
|
||||
if ( $i < $init_page_max )
|
||||
if ($i < $init_page_max)
|
||||
{
|
||||
$page_string .= ", ";
|
||||
}
|
||||
}
|
||||
if ( $total_pages > $begin_end )
|
||||
if ($total_pages > $begin_end)
|
||||
{
|
||||
if ( $on_page > 1 && $on_page < $total_pages )
|
||||
if ($on_page > 1 && $on_page < $total_pages)
|
||||
{
|
||||
$page_string .= ( $on_page > ($begin_end + $from_middle + 1) ) ? ' ... ' : ', ';
|
||||
|
||||
|
@ -1679,10 +1673,10 @@ function generate_pagination ($base_url, $num_items, $per_page, $start_item, $ad
|
|||
|
||||
$init_page_max = ( $on_page < $total_pages - ($begin_end + $from_middle) ) ? $on_page : $total_pages - ($begin_end + $from_middle);
|
||||
|
||||
for($i = $init_page_min - $from_middle; $i < $init_page_max + ($from_middle + 1); $i++)
|
||||
for ($i = $init_page_min - $from_middle; $i < $init_page_max + ($from_middle + 1); $i++)
|
||||
{
|
||||
$page_string .= ($i == $on_page) ? '<b>' . $i . '</b>' : '<a href="' . $base_url . "&start=" . ( ( $i - 1 ) * $per_page ) . '">' . $i . '</a>';
|
||||
if ( $i < $init_page_max + $from_middle )
|
||||
if ($i < $init_page_max + $from_middle)
|
||||
{
|
||||
$page_string .= ', ';
|
||||
}
|
||||
|
@ -1693,10 +1687,10 @@ function generate_pagination ($base_url, $num_items, $per_page, $start_item, $ad
|
|||
{
|
||||
$page_string .= ' ... ';
|
||||
}
|
||||
for($i = $total_pages - ($begin_end - 1); $i < $total_pages + 1; $i++)
|
||||
for ($i = $total_pages - ($begin_end - 1); $i < $total_pages + 1; $i++)
|
||||
{
|
||||
$page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . $base_url . "&start=" . ( ( $i - 1 ) * $per_page ) . '">' . $i . '</a>';
|
||||
if( $i < $total_pages )
|
||||
if ($i < $total_pages)
|
||||
{
|
||||
$page_string .= ", ";
|
||||
}
|
||||
|
@ -1705,24 +1699,24 @@ function generate_pagination ($base_url, $num_items, $per_page, $start_item, $ad
|
|||
}
|
||||
else
|
||||
{
|
||||
for($i = 1; $i < $total_pages + 1; $i++)
|
||||
for ($i = 1; $i < $total_pages + 1; $i++)
|
||||
{
|
||||
$page_string .= ( $i == $on_page ) ? '<b>' . $i . '</b>' : '<a href="' . $base_url . "&start=" . ( ( $i - 1 ) * $per_page ) . '">' . $i . '</a>';
|
||||
if ( $i < $total_pages )
|
||||
if ($i < $total_pages)
|
||||
{
|
||||
$page_string .= ', ';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( $add_prevnext_text )
|
||||
if ($add_prevnext_text)
|
||||
{
|
||||
if ( $on_page > 1 )
|
||||
if ($on_page > 1)
|
||||
{
|
||||
$page_string = ' <a href="' . $base_url . "&start=" . ( ( $on_page - 2 ) * $per_page ) . '">' . $lang['PREVIOUS_PAGE'] . '</a> ' . $page_string;
|
||||
}
|
||||
|
||||
if ( $on_page < $total_pages )
|
||||
if ($on_page < $total_pages)
|
||||
{
|
||||
$page_string .= ' <a href="' . $base_url . "&start=" . ( $on_page * $per_page ) . '">' . $lang['NEXT_PAGE'] . '</a>';
|
||||
}
|
||||
|
@ -1746,7 +1740,7 @@ function generate_pagination ($base_url, $num_items, $per_page, $start_item, $ad
|
|||
// This does exactly what preg_quote() does in PHP 4-ish
|
||||
// If you just need the 1-parameter preg_quote call, then don't bother using this.
|
||||
//
|
||||
function bb_preg_quote($str, $delimiter)
|
||||
function bb_preg_quote ($str, $delimiter)
|
||||
{
|
||||
$text = preg_quote($str);
|
||||
$text = str_replace($delimiter, '\\' . $delimiter, $text);
|
||||
|
@ -1759,7 +1753,7 @@ function bb_preg_quote($str, $delimiter)
|
|||
// calling script, note that the vars are passed as references this just makes it easier
|
||||
// to return both sets of arrays
|
||||
//
|
||||
function obtain_word_list(&$orig_word, &$replacement_word)
|
||||
function obtain_word_list (&$orig_word, &$replacement_word)
|
||||
{
|
||||
global $bb_cfg;
|
||||
|
||||
|
@ -1861,7 +1855,7 @@ function bb_simple_die ($txt)
|
|||
die($txt);
|
||||
}
|
||||
|
||||
function bb_realpath($path)
|
||||
function bb_realpath ($path)
|
||||
{
|
||||
return (!@function_exists('realpath') || !@realpath(INC_DIR . 'functions.php')) ? $path : @realpath($path);
|
||||
}
|
||||
|
@ -1871,13 +1865,11 @@ function login_redirect ($url = '')
|
|||
redirect(LOGIN_URL . '?redirect='. (($url) ? $url : $_SERVER['REQUEST_URI']));
|
||||
}
|
||||
|
||||
function meta_refresh($url, $time = 5)
|
||||
function meta_refresh ($url, $time = 5)
|
||||
{
|
||||
global $template;
|
||||
|
||||
$template->assign_var(
|
||||
'META' , '<meta http-equiv="refresh" content="' . $time . ';url=' . $url . '" />'
|
||||
);
|
||||
$template->assign_var('META', '<meta http-equiv="refresh" content="' . $time . ';url=' . $url . '" />');
|
||||
}
|
||||
|
||||
function redirect ($url)
|
||||
|
@ -1914,10 +1906,8 @@ function redirect ($url)
|
|||
exit;
|
||||
}
|
||||
|
||||
//-- mod : topic display order ---------------------------------------------------------------------
|
||||
//-- add
|
||||
// build a list of the sortable fields or return field name
|
||||
function get_forum_display_sort_option($selected_row=0, $action='list', $list='sort')
|
||||
function get_forum_display_sort_option ($selected_row = 0, $action = 'list', $list = 'sort')
|
||||
{
|
||||
global $lang;
|
||||
|
||||
|
@ -1958,7 +1948,6 @@ function get_forum_display_sort_option($selected_row=0, $action='list', $list='s
|
|||
}
|
||||
return $res;
|
||||
}
|
||||
//-- fin mod : topic display order -----------------------------------------------------------------
|
||||
|
||||
function topic_attachment_image($switch_attachment)
|
||||
{
|
||||
|
@ -2010,12 +1999,12 @@ if (!function_exists('array_combine'))
|
|||
$key_count = count($keys);
|
||||
$value_count = count($values);
|
||||
if ($key_count !== $value_count) {
|
||||
user_error('array_combine() Both parameters should have equal number of elements', E_USER_WARNING);
|
||||
user_error('array_combine() both parameters should have equal number of elements', E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($key_count === 0 || $value_count === 0) {
|
||||
user_error('array_combine() Both parameters should have number of elements at least 0', E_USER_WARNING);
|
||||
user_error('array_combine() both parameters should have number of elements at least 0', E_USER_WARNING);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -2313,7 +2302,6 @@ function poll_is_active ($t_data)
|
|||
return ($t_data['topic_vote'] == 1 && $t_data['topic_time'] > TIMENOW - $bb_cfg['poll_max_days']*86400);
|
||||
}
|
||||
|
||||
|
||||
function print_confirmation ($tpl_vars)
|
||||
{
|
||||
global $template, $lang;
|
||||
|
@ -2483,12 +2471,6 @@ function clean_text_match ($text, $ltrim_star = true, $remove_stopwords = false,
|
|||
$ltrim_chars = ($ltrim_star) ? ' *-!' : ' ';
|
||||
$wrap_with_quotes = preg_match('#^"[^"]+"$#', $text);
|
||||
|
||||
# $min_word_len = max(2, $bb_cfg['search_min_word_len'] - 1);
|
||||
# $max_word_len = $bb_cfg['search_max_word_len'];
|
||||
|
||||
# $text = preg_replace('#\b\w{1,'. $min_word_len .'}\b#', '', $text);
|
||||
# $text = preg_replace('#\b\w{'. $max_word_len .',}\b#', '', $text);
|
||||
|
||||
$text = ' '. str_compact(ltrim($text, $ltrim_chars)) .' ';
|
||||
|
||||
if ($remove_stopwords)
|
||||
|
@ -2498,23 +2480,19 @@ function clean_text_match ($text, $ltrim_star = true, $remove_stopwords = false,
|
|||
|
||||
if ($bb_cfg['search_engine_type'] == 'sphinx')
|
||||
{
|
||||
$text = preg_replace('#(?<=\S)\-#u', ' ', $text); // "1-2-3" -> "1 2 3"
|
||||
$text = preg_replace('#[^0-9a-zA-Zа-яА-ЯёЁ\-_*|]#u', ' ', $text); // допустимые символы (кроме " которые отдельно)
|
||||
$text = str_replace('-', ' -', $text); // - только в начале слова
|
||||
$text = str_replace('*', '* ', $text); // * только в конце слова
|
||||
$text = preg_replace('#\s*\|\s*#u', '|', $text); // "| " -> "|"
|
||||
$text = preg_replace('#\|+#u', ' | ', $text); // "||" -> "|"
|
||||
$text = preg_replace('#(?<=\s)[\-*]+\s#u', ' ', $text); // одиночные " - ", " * "
|
||||
$text = preg_replace('#(?<=\S)\-#u', ' ', $text); // "1-2-3" -> "1 2 3"
|
||||
$text = preg_replace('#[^0-9a-zA-Zа-яА-ЯёЁ\-_*|]#u', ' ', $text); // допустимые символы (кроме " которые отдельно)
|
||||
$text = str_replace('-', ' -', $text); // - только в начале слова
|
||||
$text = str_replace('*', '* ', $text); // * только в конце слова
|
||||
$text = preg_replace('#\s*\|\s*#u', '|', $text); // "| " -> "|"
|
||||
$text = preg_replace('#\|+#u', ' | ', $text); // "||" -> "|"
|
||||
$text = preg_replace('#(?<=\s)[\-*]+\s#u', ' ', $text); // одиночные " - ", " * "
|
||||
$text = trim($text, ' -|');
|
||||
$text = str_compact($text);
|
||||
$text_match_sql = ($wrap_with_quotes && $text != '') ? '"'. $text .'"' : $text;
|
||||
}
|
||||
else
|
||||
{
|
||||
# if ($all_words)
|
||||
# {
|
||||
# $text = preg_replace('#\s(\b\w)#', ' +$1', $text);
|
||||
# }
|
||||
$text_match_sql = DB()->escape(trim($text));
|
||||
}
|
||||
|
||||
|
@ -2522,7 +2500,8 @@ function clean_text_match ($text, $ltrim_star = true, $remove_stopwords = false,
|
|||
{
|
||||
bb_die($lang['NO_SEARCH_MATCH']);
|
||||
}
|
||||
return $text_match_sql;
|
||||
|
||||
return $text_match_sql;
|
||||
}
|
||||
|
||||
function init_sphinx ()
|
||||
|
@ -2531,14 +2510,12 @@ function init_sphinx ()
|
|||
|
||||
if (!isset($sphinx))
|
||||
{
|
||||
require(INC_DIR .'sphinxapi.php');
|
||||
require(INC_DIR .'api.sphinx.php');
|
||||
$sphinx = new SphinxClient();
|
||||
|
||||
$sphinx->SetConnectTimeout(5);
|
||||
# $sphinx->SetMaxQueryTime(2);
|
||||
$sphinx->SetRankingMode(SPH_RANK_NONE);
|
||||
$sphinx->SetMatchMode(SPH_MATCH_BOOLEAN);
|
||||
# $sphinx->SetSortMode($mode, $sortby="");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2661,7 +2638,7 @@ function pad_with_space ($str)
|
|||
return ($str) ? " $str " : $str;
|
||||
}
|
||||
|
||||
function create_magnet($infohash, $auth_key, $logged_in)
|
||||
function create_magnet ($infohash, $auth_key, $logged_in)
|
||||
{
|
||||
global $bb_cfg, $_GET, $userdata, $images;
|
||||
|
||||
|
@ -2680,7 +2657,7 @@ function set_die_append_msg ($forum_id = null, $topic_id = null)
|
|||
$template->assign_var('BB_DIE_APPEND_MSG', $msg);
|
||||
}
|
||||
|
||||
function set_pr_die_append_msg($pr_uid)
|
||||
function set_pr_die_append_msg ($pr_uid)
|
||||
{
|
||||
global $lang, $template;
|
||||
|
||||
|
@ -2813,13 +2790,13 @@ function gender_image ($gender)
|
|||
switch ($gender)
|
||||
{
|
||||
case MALE:
|
||||
$user_gender = '<img src="'. $images['icon_male'] .'" alt="'. $lang['GENDER_SELECT'][1] .'" title="'. $lang['GENDER_SELECT'][1] .'" border="0" />';
|
||||
$user_gender = '<img src="'. $images['icon_male'] .'" alt="'. $lang['GENDER_SELECT'][MALE] .'" title="'. $lang['GENDER_SELECT'][MALE] .'" border="0" />';
|
||||
break;
|
||||
case FEMALE:
|
||||
$user_gender = '<img src="'. $images['icon_female'] .'" alt="'. $lang['GENDER_SELECT'][1] .'" title="'. $lang['GENDER_SELECT'][2] .'" border="0" />';
|
||||
$user_gender = '<img src="'. $images['icon_female'] .'" alt="'. $lang['GENDER_SELECT'][FEMALE] .'" title="'. $lang['GENDER_SELECT'][FEMALE] .'" border="0" />';
|
||||
break;
|
||||
default:
|
||||
$user_gender = '<img src="'. $images['icon_nogender'] .'" alt="'. $lang['GENDER_SELECT'][0] .'" title="'. $lang['GENDER_SELECT'][0] .'" border="0" />';
|
||||
$user_gender = '<img src="'. $images['icon_nogender'] .'" alt="'. $lang['GENDER_SELECT'][NOGENDER] .'" title="'. $lang['GENDER_SELECT'][NOGENDER] .'" border="0" />';
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -406,7 +406,7 @@ function user_notification($mode, &$post_data, &$topic_title, &$forum_id, &$topi
|
|||
if ($update_watched_sql)
|
||||
{
|
||||
DB()->query("UPDATE ". BB_TOPICS_WATCH ."
|
||||
SET notify_status = ". TOPIC_WATCH_UN_NOTIFIED ."
|
||||
SET notify_status = ". TOPIC_WATCH_UNNOTIFIED ."
|
||||
WHERE topic_id = $topic_id
|
||||
AND user_id IN ($update_watched_sql)
|
||||
");
|
||||
|
|
|
@ -581,7 +581,6 @@ function report_count_obtain()
|
|||
return $report_count;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Obtains reports (for a specific report module if $module_id is defined)
|
||||
// Includes authorisation check if $auth_check is set to true.
|
||||
|
|
|
@ -161,7 +161,7 @@ define('TOPIC_LOCKED', 1);
|
|||
define('TOPIC_MOVED', 2);
|
||||
|
||||
define('TOPIC_WATCH_NOTIFIED', 1);
|
||||
define('TOPIC_WATCH_UN_NOTIFIED', 0);
|
||||
define('TOPIC_WATCH_UNNOTIFIED', 0);
|
||||
|
||||
// Topic types
|
||||
define('POST_NORMAL', 0);
|
||||
|
@ -240,6 +240,7 @@ define('POST_REPORT_REASON_URL', 'r');
|
|||
// Gender
|
||||
define('MALE', 1);
|
||||
define('FEMALE', 2);
|
||||
define('NOGENDER', 0);
|
||||
|
||||
// Poll
|
||||
# 1 - обычный опрос
|
||||
|
@ -428,7 +429,7 @@ if (!empty($banned_user_agents))
|
|||
{
|
||||
if (strstr(USER_AGENT, $agent))
|
||||
{
|
||||
$filename = 'Skachivajte fajly brauzerom (скачивайте файлы браузером)';
|
||||
$filename = 'Download files by using browser';
|
||||
$output = '@';
|
||||
header('Content-Type: text/plain');
|
||||
header('Content-Disposition: attachment; filename="'. $filename .'"');
|
||||
|
|
|
@ -46,7 +46,6 @@ if (defined('SHOW_ONLINE') && SHOW_ONLINE)
|
|||
'LOGGED_IN_USER_LIST' => ${$online_list}['userlist'],
|
||||
'USERS_ONLINE_COUNTS' => ${$online_list}['cnt'],
|
||||
'RECORD_USERS' => sprintf($lang['RECORD_ONLINE_USERS'], $bb_cfg['record_online_users'], bb_date($bb_cfg['record_online_date'])),
|
||||
'U_VIEWONLINE' => "viewonline.php",
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -657,9 +657,6 @@ class user_common
|
|||
bb_setcookie(COOKIE_TOPIC, '');
|
||||
bb_setcookie(COOKIE_FORUM, '');
|
||||
bb_setcookie(COOKIE_MARK, '');
|
||||
|
||||
// Info message
|
||||
# $template->assign_var('INFO_MESSAGE', $lang['FORUMS_MARKED_READ']);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -797,7 +794,6 @@ class user_common
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// userdata cache
|
||||
//
|
||||
|
|
|
@ -33,7 +33,6 @@ define('XS_TAG_ELSEIF', 7);
|
|||
define('XS_TAG_ENDIF', 8);
|
||||
define('XS_TAG_BEGINELSE', 11);
|
||||
|
||||
|
||||
class Template
|
||||
{
|
||||
var $classname = "Template";
|
||||
|
@ -528,7 +527,6 @@ class Template
|
|||
return $varref;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Generates a reference to the array of data values for the given
|
||||
* (possibly nested) block namespace. This is a string of the form:
|
||||
|
@ -1134,7 +1132,6 @@ class Template
|
|||
return $tokens;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Compiles code and writes to cache if needed
|
||||
*/
|
||||
|
|
|
@ -522,7 +522,6 @@ foreach ($profile_fields as $field => $can_edit)
|
|||
$tp_data['USER_OCC'] = $pr_data['user_occ'];
|
||||
break;
|
||||
|
||||
|
||||
/**
|
||||
* Интересы
|
||||
*/
|
||||
|
@ -554,7 +553,6 @@ foreach ($profile_fields as $field => $can_edit)
|
|||
$tp_data['USER_SKYPE'] = $pr_data['user_skype'];
|
||||
break;
|
||||
|
||||
|
||||
/**
|
||||
* Twitter
|
||||
*/
|
||||
|
|
|
@ -120,7 +120,7 @@ $template->assign_vars(array(
|
|||
'SKYPE' => $profiledata['user_skype'],
|
||||
'TWITTER' => $profiledata['user_twitter'],
|
||||
'USER_POINTS' => $profiledata['user_points'],
|
||||
'GENDER' => ($bb_cfg['gender'] && $profiledata['user_gender']) ? $lang['GENDER_SELECT'][$profiledata['user_gender']] : '',
|
||||
'GENDER' => ($bb_cfg['gender']) ? $lang['GENDER_SELECT'][$profiledata['user_gender']] : '',
|
||||
'BIRTHDAY' => ($bb_cfg['birthday_enabled'] && $profiledata['user_birthday'] != '0000-00-00') ? $profiledata['user_birthday'] : '',
|
||||
'AGE' => ($bb_cfg['birthday_enabled'] && $profiledata['user_birthday'] != '0000-00-00') ? birthday_age($profiledata['user_birthday']) : '',
|
||||
|
||||
|
@ -189,13 +189,13 @@ else if (IS_MOD)
|
|||
// Show users torrent-profile
|
||||
if (IS_AM || $profile_user_id || !bf($profiledata['user_opt'], 'user_opt', 'user_dls'))
|
||||
{
|
||||
require(INC_DIR .'ucp/viewtorrent.php');
|
||||
require(INC_DIR .'ucp/viewtorrent.php');
|
||||
}
|
||||
|
||||
// Ajax bt_userdata
|
||||
if (IS_AM || $profile_user_id)
|
||||
{
|
||||
show_bt_userdata($profiledata['user_id']);
|
||||
show_bt_userdata($profiledata['user_id']);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -227,13 +227,13 @@ if (IS_ADMIN)
|
|||
|
||||
$user_restrictions = array();
|
||||
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'dis_avatar')) $user_restrictions[] = $lang['HIDE_AVATARS'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'dis_sig')) $user_restrictions[] = $lang['SHOW_CAPTION'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'dis_passkey')) $user_restrictions[] = $lang['DOWNLOAD_TORRENT'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'dis_pm')) $user_restrictions[] = $lang['SEND_PM'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'dis_post')) $user_restrictions[] = $lang['SEND_MESSAGE'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'dis_post_edit')) $user_restrictions[] = $lang['EDIT_POST'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'dis_topic')) $user_restrictions[] = $lang['NEW_THREADS'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'dis_avatar')) $user_restrictions[] = $lang['HIDE_AVATARS'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'dis_sig')) $user_restrictions[] = $lang['SHOW_CAPTION'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'dis_passkey')) $user_restrictions[] = $lang['DOWNLOAD_TORRENT'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'dis_pm')) $user_restrictions[] = $lang['SEND_PM'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'dis_post')) $user_restrictions[] = $lang['SEND_MESSAGE'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'dis_post_edit')) $user_restrictions[] = $lang['EDIT_POST'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'dis_topic')) $user_restrictions[] = $lang['NEW_THREADS'];
|
||||
|
||||
$template->assign_var('USER_RESTRICTIONS', join('</li><li>', $user_restrictions));
|
||||
|
||||
|
|
|
@ -51,15 +51,15 @@ if ($releasing)
|
|||
$is_gold = '';
|
||||
if ($tr_cfg['gold_silver_enabled'])
|
||||
{
|
||||
if ($row['tor_type'] == TOR_TYPE_GOLD)
|
||||
{
|
||||
$is_gold = '<img src="images/tor_gold.gif" width="16" height="15" title="'. $lang['GOLD'] .'" /> ';
|
||||
}
|
||||
elseif ($row['tor_type'] == TOR_TYPE_SILVER)
|
||||
{
|
||||
$is_gold = '<img src="images/tor_silver.gif" width="16" height="15" title="'. $lang['SILVER'] .'" /> ';
|
||||
}
|
||||
}
|
||||
if ($row['tor_type'] == TOR_TYPE_GOLD)
|
||||
{
|
||||
$is_gold = '<img src="images/tor_gold.gif" width="16" height="15" title="'. $lang['GOLD'] .'" /> ';
|
||||
}
|
||||
elseif ($row['tor_type'] == TOR_TYPE_SILVER)
|
||||
{
|
||||
$is_gold = '<img src="images/tor_silver.gif" width="16" height="15" title="'. $lang['SILVER'] .'" /> ';
|
||||
}
|
||||
}
|
||||
|
||||
$topic_title = wbr($row['topic_title']);
|
||||
|
||||
|
@ -71,7 +71,7 @@ if ($releasing)
|
|||
'U_VIEW_TOPIC' => TOPIC_URL . $row['topic_id'],
|
||||
'TOR_TYPE' => $is_gold,
|
||||
'TOPIC_SEEDERS' => ($row['seeders']) ? $row['seeders'] : 0,
|
||||
'TOPIC_LEECHERS' => ($row['leechers']) ? $row['leechers'] : 0,
|
||||
'TOPIC_LEECHERS' => ($row['leechers']) ? $row['leechers'] : 0,
|
||||
'SPEED_UP' => ($row['speed_up']) ? humn_size($row['speed_up'], 0, 'KB') .'/s' : '-',
|
||||
));
|
||||
|
||||
|
@ -86,15 +86,15 @@ if ($seeding)
|
|||
$is_gold = '';
|
||||
if ($tr_cfg['gold_silver_enabled'])
|
||||
{
|
||||
if ($row['tor_type'] == TOR_TYPE_GOLD)
|
||||
{
|
||||
$is_gold = '<img src="images/tor_gold.gif" width="16" height="15" title="'. $lang['GOLD'] .'" /> ';
|
||||
}
|
||||
elseif ($row['tor_type'] == TOR_TYPE_SILVER)
|
||||
{
|
||||
$is_gold = '<img src="images/tor_silver.gif" width="16" height="15" title="'. $lang['SILVER'] .'" /> ';
|
||||
}
|
||||
}
|
||||
if ($row['tor_type'] == TOR_TYPE_GOLD)
|
||||
{
|
||||
$is_gold = '<img src="images/tor_gold.gif" width="16" height="15" title="'. $lang['GOLD'] .'" /> ';
|
||||
}
|
||||
elseif ($row['tor_type'] == TOR_TYPE_SILVER)
|
||||
{
|
||||
$is_gold = '<img src="images/tor_silver.gif" width="16" height="15" title="'. $lang['SILVER'] .'" /> ';
|
||||
}
|
||||
}
|
||||
|
||||
$topic_title = wbr($row['topic_title']);
|
||||
|
||||
|
@ -106,7 +106,7 @@ if ($seeding)
|
|||
'U_VIEW_TOPIC' => TOPIC_URL . $row['topic_id'],
|
||||
'TOR_TYPE' => $is_gold,
|
||||
'TOPIC_SEEDERS' => ($row['seeders']) ? $row['seeders'] : 0,
|
||||
'TOPIC_LEECHERS' => ($row['leechers']) ? $row['leechers'] : 0,
|
||||
'TOPIC_LEECHERS' => ($row['leechers']) ? $row['leechers'] : 0,
|
||||
'SPEED_UP' => ($row['speed_up']) ? humn_size($row['speed_up'], 0, 'KB') .'/s' : '-',
|
||||
));
|
||||
|
||||
|
@ -121,15 +121,15 @@ if ($leeching)
|
|||
$is_gold = '';
|
||||
if ($tr_cfg['gold_silver_enabled'])
|
||||
{
|
||||
if ($row['tor_type'] == TOR_TYPE_GOLD)
|
||||
{
|
||||
$is_gold = '<img src="images/tor_gold.gif" width="16" height="15" title="'.$lang['GOLD'].'" /> ';
|
||||
}
|
||||
elseif ($row['tor_type'] == TOR_TYPE_SILVER)
|
||||
{
|
||||
$is_gold = '<img src="images/tor_silver.gif" width="16" height="15" title="'.$lang['SILVER'].'" /> ';
|
||||
}
|
||||
}
|
||||
if ($row['tor_type'] == TOR_TYPE_GOLD)
|
||||
{
|
||||
$is_gold = '<img src="images/tor_gold.gif" width="16" height="15" title="'.$lang['GOLD'].'" /> ';
|
||||
}
|
||||
elseif ($row['tor_type'] == TOR_TYPE_SILVER)
|
||||
{
|
||||
$is_gold = '<img src="images/tor_silver.gif" width="16" height="15" title="'.$lang['SILVER'].'" /> ';
|
||||
}
|
||||
}
|
||||
|
||||
$compl_size = ($row['remain'] && $row['size'] && $row['size'] > $row['remain']) ? ($row['size'] - $row['remain']) : 0;
|
||||
$compl_perc = ($compl_size) ? floor($compl_size * 100 / $row['size']) : 0;
|
||||
|
@ -144,7 +144,7 @@ if ($leeching)
|
|||
'COMPL_PERC' => $compl_perc,
|
||||
'TOR_TYPE' => $is_gold,
|
||||
'TOPIC_SEEDERS' => ($row['seeders']) ? $row['seeders'] : 0,
|
||||
'TOPIC_LEECHERS' => ($row['leechers']) ? $row['leechers'] : 0,
|
||||
'TOPIC_LEECHERS' => ($row['leechers']) ? $row['leechers'] : 0,
|
||||
'SPEED_DOWN' => ($row['speed_down']) ? humn_size($row['speed_down'], 0, 'KB') .'/s' : '-',
|
||||
));
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ if ($bb_cfg['show_latest_news'])
|
|||
}
|
||||
if ($bb_cfg['show_network_news'])
|
||||
{
|
||||
$datastore->enqueue('network_news');
|
||||
$datastore->enqueue('network_news');
|
||||
}
|
||||
|
||||
// Init userdata
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
|
||||
</style>
|
||||
|
||||
|
||||
<div id="infobox-body">
|
||||
|
||||
<p>Information for copyright holders.</p>
|
||||
|
|
|
@ -234,7 +234,6 @@ $lang['RULES_MODERATE'] = 'You <b>can</b> moderate this forum';
|
|||
|
||||
$lang['NO_TOPICS_POST_ONE'] = 'There are no posts in this forum.<br />Click on the <b>Post New Topic</b> link on this page to post one.';
|
||||
|
||||
|
||||
//
|
||||
// Viewtopic
|
||||
//
|
||||
|
@ -696,7 +695,6 @@ $lang['ASC'] = 'Ascending';
|
|||
$lang['DESC'] = 'Descending';
|
||||
$lang['ORDER'] = 'Order';
|
||||
|
||||
|
||||
//
|
||||
// Group control panel
|
||||
//
|
||||
|
@ -842,14 +840,9 @@ $lang['NOT_AUTHORISED'] = 'Not Authorised';
|
|||
|
||||
$lang['YOU_BEEN_BANNED'] = 'You have been banned from this forum.<br />Please contact the webmaster or board administrator for more information.';
|
||||
|
||||
|
||||
//
|
||||
// Viewonline
|
||||
//
|
||||
$lang['REG_USERS_ONLINE'] = 'Who is online registered users: %d and ';
|
||||
$lang['HIDDEN_USERS_ONLINE'] = 'hidden users: %d';
|
||||
$lang['GUEST_USERS_ONLINE'] = 'Online Guests: %d';
|
||||
$lang['ALL_USERS_ONLINE'] = 'All users:';
|
||||
$lang['ONLINE_EXPLAIN'] = 'users active over the past five minutes';
|
||||
$lang['LAST_UPDATED'] = 'Last Updated';
|
||||
|
||||
|
@ -1542,7 +1535,7 @@ $lang['EXPAND'] = 'Expand';
|
|||
$lang['SWITCH'] = 'Switch';
|
||||
$lang['EMPTY_ATTACH_ID'] = 'Missing file identifier!';
|
||||
$lang['TOR_NOT_FOUND'] = 'File is missing on the server!';
|
||||
$lang['ERROR_BUILD'] = 'Error: unable to build a list of files';
|
||||
$lang['ERROR_BUILD'] = 'The content of this torrent file can not be viewed on the site (it was not possible to build a list of files)';
|
||||
$lang['TORFILE_INVALID'] = 'Torrent file is corrupt';
|
||||
// FILELIST
|
||||
|
||||
|
@ -2579,7 +2572,7 @@ $lang['SELF_MODERATED'] = 'Users can <b>move</b> their topics to another forum';
|
|||
|
||||
$lang['BT_ANNOUNCE_URL_HEAD'] = 'Announce URL';
|
||||
$lang['BT_ANNOUNCE_URL'] = 'Announce url';
|
||||
$lang['BT_ANNOUNCE_URL_EXPL'] = 'you can define additional allowed urls in "includes/announce_urls.php"';
|
||||
$lang['BT_ANNOUNCE_URL_EXPL'] = 'you can define additional allowed urls in "includes/torrent_announce_urls.php"';
|
||||
$lang['BT_DISABLE_DHT'] = 'Disable DHT network';
|
||||
$lang['BT_DISABLE_DHT_EXPL'] = 'Disable Peer Exchange and DHT (recommended for private networks, only url announce)';
|
||||
$lang['BT_CHECK_ANNOUNCE_URL'] = 'Verify announce url';
|
||||
|
@ -2980,3 +2973,24 @@ $lang['MC_COMMENT'] = array(
|
|||
'type' => 'Violation',
|
||||
),
|
||||
);
|
||||
|
||||
$lang['SITEMAP'] = 'Sitemap';
|
||||
$lang['SITEMAP_ADMIN'] = 'Manage sitemap';
|
||||
$lang['SITEMAP_CREATED'] = 'Sitemap created';
|
||||
$lang['SITEMAP_AVAILABLE'] = 'and is available at';
|
||||
$lang['SITEMAP_NOT_CREATED'] = 'Sitemap is not yet created';
|
||||
$lang['SITEMAP_NOTIFY_SEARCH'] = 'Notification of the search engine';
|
||||
$lang['SITEMAP_SENT'] = 'send completed';
|
||||
$lang['SITEMAP_ERROR'] = 'sending error';
|
||||
$lang['SITEMAP_OPTIONS'] = 'Options';
|
||||
$lang['SITEMAP_CREATE'] = 'Create / update the sitemap';
|
||||
$lang['SITEMAP_NOTIFY'] = 'Notify search engines about new version of sitemap';
|
||||
$lang['SITEMAP_WHAT_NEXT'] = 'What to do next?';
|
||||
$lang['SITEMAP_GOOGLE_1'] = 'Register your site at <a href="http://www.google.com/webmasters/" target="_blank">Google Webmaster</a> using your Google account.';
|
||||
$lang['SITEMAP_GOOGLE_2'] = '<a href="https://www.google.com/webmasters/tools/sitemap-list" target="_blank">Add sitemap</a> of site you registered.';
|
||||
$lang['SITEMAP_YANDEX_1'] = 'Register your site at <a href="http://webmaster.yandex.ru/sites/" target="_blank">Yandex Webmaster</a> using your Yandex account.';
|
||||
$lang['SITEMAP_YANDEX_2'] = '<a href="http://webmaster.yandex.ru/site/map.xml" target="_blank">Add sitemap</a> of site you registered.';
|
||||
$lang['SITEMAP_ADD_TITLE'] = 'Additional pages for sitemap';
|
||||
$lang['SITEMAP_ADD_PAGE'] = 'Additional pages';
|
||||
$lang['SITEMAP_ADD_EXP_1'] = 'You can specify additional pages on your site (for example, <b>http://torrentpier.me/memberlist.php</b>) which should be included in your sitemap file that you creating.';
|
||||
$lang['SITEMAP_ADD_EXP_2'] = 'Each reference must begin with http(s):// and a new line!';
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
|
||||
</style>
|
||||
|
||||
|
||||
<div id="infobox-body">
|
||||
|
||||
<p>Информация для правообладателей.</p>
|
||||
|
|
|
@ -234,7 +234,6 @@ $lang['RULES_MODERATE'] = 'Вы <b>можете</b> модерировать э
|
|||
|
||||
$lang['NO_TOPICS_POST_ONE'] = 'В этом форуме пока нет сообщений<br />Кликните <b>Начать новую тему</b>, и ваше сообщение станет первым.';
|
||||
|
||||
|
||||
//
|
||||
// Viewtopic
|
||||
//
|
||||
|
@ -696,7 +695,6 @@ $lang['ASC'] = 'по возрастанию';
|
|||
$lang['DESC'] = 'по убыванию';
|
||||
$lang['ORDER'] = ''; // не нужно, в английском используется в контексте 'Order ascending';
|
||||
|
||||
|
||||
//
|
||||
// Group control panel
|
||||
//
|
||||
|
@ -842,14 +840,9 @@ $lang['NOT_AUTHORISED'] = 'Нет доступа';
|
|||
|
||||
$lang['YOU_BEEN_BANNED'] = 'Вам был закрыт доступ к форуму<br />Обратитесь к вебмастеру или администратору сайта за дополнительной информацией';
|
||||
|
||||
|
||||
//
|
||||
// Viewonline
|
||||
//
|
||||
$lang['REG_USERS_ONLINE'] = 'Сейчас на сайте зарегистрированных пользователей: %d и ';
|
||||
$lang['HIDDEN_USERS_ONLINE'] = 'скрытых пользователей: %d';
|
||||
$lang['GUEST_USERS_ONLINE'] = 'Сейчас на сайте гостей: %d';
|
||||
$lang['ALL_USERS_ONLINE'] = 'Всех:';
|
||||
$lang['ONLINE_EXPLAIN'] = 'данные за последние пять минут';
|
||||
$lang['LAST_UPDATED'] = 'Последнее изменение';
|
||||
|
||||
|
@ -1542,7 +1535,7 @@ $lang['EXPAND'] = 'Развернуть';
|
|||
$lang['SWITCH'] = 'Переключить';
|
||||
$lang['EMPTY_ATTACH_ID'] = 'Отсутствует идентификатор файла!';
|
||||
$lang['TOR_NOT_FOUND'] = 'Файл отсутствует на сервере!';
|
||||
$lang['ERROR_BUILD'] = 'Ошибка: не удалось выстроить список файлов';
|
||||
$lang['ERROR_BUILD'] = 'Содержимое данного торрент-файла не может быть просмотрено на сайте (не удалось выстроить список файлов)';
|
||||
$lang['TORFILE_INVALID'] = 'Торрент-файл поврежден!';
|
||||
// FILELIST
|
||||
|
||||
|
@ -2579,7 +2572,7 @@ $lang['SELF_MODERATED'] = 'Автор топика может перенести
|
|||
|
||||
$lang['BT_ANNOUNCE_URL_HEAD'] = 'Announce URL';
|
||||
$lang['BT_ANNOUNCE_URL'] = 'Announce url';
|
||||
$lang['BT_ANNOUNCE_URL_EXPL'] = 'дополнительные разрешенные адреса можно задать в "includes/announce_urls.php"';
|
||||
$lang['BT_ANNOUNCE_URL_EXPL'] = 'дополнительные разрешенные адреса можно задать в "includes/torrent_announce_urls.php"';
|
||||
$lang['BT_DISABLE_DHT'] = 'Запретить DHT сети';
|
||||
$lang['BT_DISABLE_DHT_EXPL'] = 'Запретить обмен пирами и DHT (рекомендовано для приватных сетей, только url announce)';
|
||||
$lang['BT_CHECK_ANNOUNCE_URL'] = 'Проверять announce url';
|
||||
|
@ -2980,3 +2973,24 @@ $lang['MC_COMMENT'] = array(
|
|||
'type' => 'Нарушение',
|
||||
),
|
||||
);
|
||||
|
||||
$lang['SITEMAP'] = 'Карта сайта (sitemap)';
|
||||
$lang['SITEMAP_ADMIN'] = 'Управление картой сайта (sitemap)';
|
||||
$lang['SITEMAP_CREATED'] = 'Файл sitemap создан';
|
||||
$lang['SITEMAP_AVAILABLE'] = 'и доступен по адресу';
|
||||
$lang['SITEMAP_NOT_CREATED'] = 'Файл sitemap еще не создан';
|
||||
$lang['SITEMAP_NOTIFY_SEARCH'] = 'Уведомление поисковой системы';
|
||||
$lang['SITEMAP_SENT'] = 'отправка завершена';
|
||||
$lang['SITEMAP_ERROR'] = 'ошибка отправки';
|
||||
$lang['SITEMAP_OPTIONS'] = 'Опции';
|
||||
$lang['SITEMAP_CREATE'] = 'Создать / обновить файл sitemap';
|
||||
$lang['SITEMAP_NOTIFY'] = 'Уведомить поисковые системы о наличии новой версии файла sitemap';
|
||||
$lang['SITEMAP_WHAT_NEXT'] = 'Что сделать дальше?';
|
||||
$lang['SITEMAP_GOOGLE_1'] = 'Зарегистрируйте ваш сайт в <a href="http://www.google.com/webmasters/" target="_blank">Google Webmaster</a> с использованием вашей учетной записи Google.';
|
||||
$lang['SITEMAP_GOOGLE_2'] = '<a href="https://www.google.com/webmasters/tools/sitemap-list" target="_blank">Добавьте файл sitemap</a> зарегистрированного вами сайта.';
|
||||
$lang['SITEMAP_YANDEX_1'] = 'Зарегистрируйте ваш сайт в <a href="http://webmaster.yandex.ru/sites/" target="_blank">Yandex Webmaster</a> с использованием вашей учетной записи Yandex.';
|
||||
$lang['SITEMAP_YANDEX_2'] = '<a href="http://webmaster.yandex.ru/site/map.xml" target="_blank">Добавьте файл sitemap</a> зарегистрированного вами сайта.';
|
||||
$lang['SITEMAP_ADD_TITLE'] = 'Дополнительные страницы для sitemap';
|
||||
$lang['SITEMAP_ADD_PAGE'] = 'Дополнительные страницы';
|
||||
$lang['SITEMAP_ADD_EXP_1'] = 'Здесь вы можете указать дополнительные страницы сайта (например <b>http://torrentpier.me/memberlist.php</b>), которые должны быть включены в создаваемый файл вами файл sitemap.';
|
||||
$lang['SITEMAP_ADD_EXP_2'] = 'Каждая ссылка должна начинаться с http(s):// и новой строки!';
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
|
||||
</style>
|
||||
|
||||
|
||||
<div id="infobox-body">
|
||||
|
||||
<p>Інформація для правовласників.</p>
|
||||
|
|
|
@ -234,7 +234,6 @@ $lang['RULES_MODERATE'] = 'Ви <b>можете</b> модерувати цей
|
|||
|
||||
$lang['NO_TOPICS_POST_ONE'] = 'У цьому форумі поки немає повідомлень<br />Натисніть <b>Почати нову тему</b>, і ваше повідомлення буде першим.';
|
||||
|
||||
|
||||
//
|
||||
// Viewtopic
|
||||
//
|
||||
|
@ -696,7 +695,6 @@ $lang['ASC'] = 'за зростанням';
|
|||
$lang['DESC'] = 'за спаданням';
|
||||
$lang['ORDER'] = ''; // не потрібно, в англійській використовується в контексті 'ascending Order';
|
||||
|
||||
|
||||
//
|
||||
// Group control panel
|
||||
//
|
||||
|
@ -842,14 +840,9 @@ $lang['NOT_AUTHORISED'] = 'Немає доступу';
|
|||
|
||||
$lang['YOU_BEEN_BANNED'] = 'Вам був закритий доступ до форуму<br />Зверніться до вебмайстру або адміністратору сайту за додатковою інформацією';
|
||||
|
||||
|
||||
//
|
||||
// Viewonline
|
||||
//
|
||||
$lang['REG_USERS_ONLINE'] = 'Зараз на сайті зареєстрованих користувачів: %d ';
|
||||
$lang['HIDDEN_USERS_ONLINE'] = 'прихованих користувачів: %d';
|
||||
$lang['GUEST_USERS_ONLINE'] = 'Зараз на сайті гостей: %d';
|
||||
$lang['ALL_USERS_ONLINE'] = 'Усіх:';
|
||||
$lang['ONLINE_EXPLAIN'] = "дані за останні п'ять хвилин";
|
||||
$lang['LAST_UPDATED'] = 'Остання зміна';
|
||||
|
||||
|
@ -1542,7 +1535,7 @@ $lang['EXPAND'] = 'Розгорнути';
|
|||
$lang['SWITCH'] = 'Перейти';
|
||||
$lang['EMPTY_ATTACH_ID'] = 'Відсутній ідентифікатор файла!';
|
||||
$lang['TOR_NOT_FOUND'] = 'Файл відсутній на сервері!';
|
||||
$lang['ERROR_BUILD'] = 'Помилка: не вдалося побудувати список файлів';
|
||||
$lang['ERROR_BUILD'] = 'Вміст даного торрент-файлу не може бути переглянуто на сайті (не вдалося вибудувати список файлів)';
|
||||
$lang['TORFILE_INVALID'] = 'Торрент-файл пошкоджений!';
|
||||
// FILELIST
|
||||
|
||||
|
@ -2579,7 +2572,7 @@ $lang['SELF_MODERATED'] = 'Автор топіка може перенести
|
|||
|
||||
$lang['BT_ANNOUNCE_URL_HEAD'] = 'Announce URL';
|
||||
$lang['BT_ANNOUNCE_URL'] = 'Announce url';
|
||||
$lang['BT_ANNOUNCE_URL_EXPL'] = 'додаткові дозволені адреси можна задати в "includes/announce_urls.php"';
|
||||
$lang['BT_ANNOUNCE_URL_EXPL'] = 'додаткові дозволені адреси можна задати в "includes/torrent_announce_urls.php"';
|
||||
$lang['BT_DISABLE_DHT'] = 'Заборонити DHT мережі';
|
||||
$lang['BT_DISABLE_DHT_EXPL'] = 'Заборонити обмін пiрами та DHT (рекомендовано для приватних мереж, тільки url announce)';
|
||||
$lang['BT_CHECK_ANNOUNCE_URL'] = 'Перевіряти announce url';
|
||||
|
@ -2980,3 +2973,24 @@ $lang['MC_COMMENT'] = array(
|
|||
'type' => 'Порушення',
|
||||
),
|
||||
);
|
||||
|
||||
$lang['SITEMAP'] = 'Карта сайту (sitemap)';
|
||||
$lang['SITEMAP_ADMIN'] = 'Управління картою сайту (sitemap)';
|
||||
$lang['SITEMAP_CREATED'] = 'Файл sitemap створений';
|
||||
$lang['SITEMAP_AVAILABLE'] = 'і доступний за адресою';
|
||||
$lang['SITEMAP_NOT_CREATED'] = 'Файл sitemap ще не створено';
|
||||
$lang['SITEMAP_NOTIFY_SEARCH'] = 'Повідомлення пошукової системи';
|
||||
$lang['SITEMAP_SENT'] = 'відправка завершена';
|
||||
$lang['SITEMAP_ERROR'] = 'помилка відсилання';
|
||||
$lang['SITEMAP_OPTIONS'] = 'Опції';
|
||||
$lang['SITEMAP_CREATE'] = 'Створити / оновити файл sitemap';
|
||||
$lang['SITEMAP_NOTIFY'] = 'Повідомити пошукові системи про наявність нової версії файлу sitemap';
|
||||
$lang['SITEMAP_WHAT_NEXT'] = 'Що зробити далі?';
|
||||
$lang['SITEMAP_GOOGLE_1'] = 'Зареєструйте ваш сайт в <a href="http://www.google.com/webmasters/" target="_blank">Google Webmaster</a> з використанням вашого облікового запису Google.';
|
||||
$lang['SITEMAP_GOOGLE_2'] = '<a href="https://www.google.com/webmasters/tools/sitemap-list" target="_blank">Додайте файл sitemap</a> зареєстрованого вами сайту.';
|
||||
$lang['SITEMAP_YANDEX_1'] = 'Зареєструйте ваш сайт в <a href="http://webmaster.yandex.ru/sites/" target="_blank">Yandex Webmaster</a> з використанням вашого облікового запису Yandex.';
|
||||
$lang['SITEMAP_YANDEX_2'] = '<a href="http://webmaster.yandex.ru/site/map.xml" target="_blank">Додайте файл sitemap</a> зареєстрованого вами сайту.';
|
||||
$lang['SITEMAP_ADD_TITLE'] = 'Додаткові сторінки для sitemap';
|
||||
$lang['SITEMAP_ADD_PAGE'] = 'Додаткові сторінки';
|
||||
$lang['SITEMAP_ADD_EXP_1'] = 'Тут ви можете вказати додаткові сторінки сайту (наприклад <b>http://torrentpier.me/memberlist.php</b>), які повинні бути включені в створюваний файл вами файл sitemap.';
|
||||
$lang['SITEMAP_ADD_EXP_2'] = 'Кожне посилання має починатись з http(s):// і нової рядки!';
|
||||
|
|
|
@ -103,13 +103,13 @@ if (isset($_POST['login']))
|
|||
|
||||
$login_errors[] = $lang['ERROR_LOGIN'];
|
||||
|
||||
if(!$mod_admin_login)
|
||||
if (!$mod_admin_login)
|
||||
{
|
||||
$login_err = CACHE('bb_login_err')->get('l_err_'. USER_IP);
|
||||
if($login_err > $bb_cfg['invalid_logins']) $need_captcha = true;
|
||||
if($login_err > 50)
|
||||
if ($login_err > $bb_cfg['invalid_logins']) $need_captcha = true;
|
||||
if ($login_err > 50)
|
||||
{
|
||||
// забанить ип :)
|
||||
// TODO temp ban ip
|
||||
}
|
||||
CACHE('bb_login_err')->set('l_err_'. USER_IP, ($login_err + 1), 3600);
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ if ($do == 'attach_rules')
|
|||
{
|
||||
bb_die('invalid forum_id');
|
||||
}
|
||||
require(BB_ROOT .'attach_mod/attachment_mod.php');
|
||||
require(ATTACH_DIR .'attachment_mod.php');
|
||||
// Display the allowed Extension Groups and Upload Size
|
||||
$auth = auth(AUTH_ALL, $forum_id, $userdata);
|
||||
$_max_filesize = $attach_config['max_filesize'];
|
||||
|
|
|
@ -162,7 +162,6 @@ switch ($mode)
|
|||
// Functions
|
||||
//
|
||||
|
||||
|
||||
class bb_poll
|
||||
{
|
||||
var $err_msg = '';
|
||||
|
|
|
@ -6,7 +6,7 @@ define('BB_ROOT', './');
|
|||
require(BB_ROOT ."common.php");
|
||||
require(INC_DIR .'bbcode.php');
|
||||
require(INC_DIR .'functions_post.php');
|
||||
require(BB_ROOT .'attach_mod/attachment_mod.php');
|
||||
require(ATTACH_DIR .'attachment_mod.php');
|
||||
|
||||
$page_cfg['load_tpl_vars'] = array('post_icons');
|
||||
|
||||
|
|
|
@ -7,7 +7,6 @@ Disallow: /modcp.php
|
|||
Disallow: /posting.php
|
||||
Disallow: /privmsg.php
|
||||
Disallow: /profile.php
|
||||
Disallow: /viewonline.php
|
||||
|
||||
Host: torrentpier.me
|
||||
Sitemap: http://torrentpier.me/sitemap.php
|
||||
Sitemap: http://torrentpier.me/sitemap/sitemap.xml
|
|
@ -707,14 +707,14 @@ else
|
|||
if ($text_match_sql)
|
||||
{
|
||||
$search_match_topics_csv = '';
|
||||
$title_match_topics = get_title_match_topics($text_match_sql, $forum_selected);
|
||||
$title_match_topics = get_title_match_topics($text_match_sql, $forum_selected);
|
||||
|
||||
if (!$search_match_topics_csv = join(',', $title_match_topics))
|
||||
{
|
||||
bb_die($lang['NO_SEARCH_MATCH']);
|
||||
}
|
||||
|
||||
$where_id = ($title_match) ? 't.topic_id' : 'p.post_id';
|
||||
$where_id = ($title_match) ? 't.topic_id' : 'p.post_id';
|
||||
|
||||
$SQL['WHERE'][] = "$where_id IN($search_match_topics_csv)";
|
||||
prevent_huge_searches($SQL);
|
||||
|
|
0
upload/sitemap/.keep
Normal file
0
upload/sitemap/.keep
Normal file
|
@ -4,19 +4,12 @@ define('IN_ADMIN', true);
|
|||
define('BB_ROOT', './../');
|
||||
require(BB_ROOT .'common.php');
|
||||
|
||||
|
||||
############################################################################
|
||||
|
||||
$peers_in_last_minutes = array(30, 15, 5, 1);
|
||||
$peers_in_last_sec_limit = 300;
|
||||
|
||||
############################################################################
|
||||
|
||||
|
||||
$announce_interval = intval($bb_cfg['announce_interval']);
|
||||
$stat = array();
|
||||
|
||||
|
||||
define('TMP_TRACKER_TABLE', 'tmp_tracker');
|
||||
|
||||
DB()->query("
|
||||
|
@ -39,7 +32,6 @@ $stat += DB()->fetch_row("SELECT COUNT(*) AS p_within_ann FROM ". TMP_TRACKER_TA
|
|||
// All peers, "max_peer_time"
|
||||
$stat += DB()->fetch_row("SELECT COUNT(*) AS p_all, SUM(speed_up) as speed_up, SUM(speed_down) as speed_down, UNIX_TIMESTAMP() - MIN(update_time) AS max_peer_time, UNIX_TIMESTAMP() - MAX(update_time) AS last_peer_time FROM ". TMP_TRACKER_TABLE);
|
||||
|
||||
|
||||
// Active users
|
||||
$stat += DB()->fetch_row("SELECT COUNT(DISTINCT user_id) AS u_bt_active FROM ". TMP_TRACKER_TABLE);
|
||||
// All bt-users
|
||||
|
@ -47,7 +39,6 @@ $stat += DB()->fetch_row("SELECT COUNT(*) AS u_bt_all FROM ". BB_BT_USERS);
|
|||
// All bb-users
|
||||
$stat += DB()->fetch_row("SELECT COUNT(*) AS u_bb_all FROM ". BB_USERS);
|
||||
|
||||
|
||||
// Active torrents
|
||||
$stat += DB()->fetch_row("SELECT COUNT(DISTINCT topic_id) AS tor_active FROM ". TMP_TRACKER_TABLE);
|
||||
// With seeder
|
||||
|
@ -55,7 +46,6 @@ $stat += DB()->fetch_row("SELECT COUNT(DISTINCT topic_id) AS tor_with_seeder FRO
|
|||
// All torrents
|
||||
$stat += DB()->fetch_row("SELECT COUNT(*) AS tor_all, SUM(size) AS torrents_size FROM ". BB_BT_TORRENTS);
|
||||
|
||||
|
||||
// Last xx minutes
|
||||
$peers_in_last_min = array();
|
||||
foreach ($peers_in_last_minutes as $t)
|
||||
|
|
|
@ -124,7 +124,6 @@ tr.hl-tr:hover td { background-color: #CFC !important; }
|
|||
<!-- IF TPL_CRON_EDIT -->
|
||||
<h1>{L_CRON_EDIT_HEAD}</h1>
|
||||
|
||||
|
||||
<a href="admin_cron.php?mode=list">{L_CRON_LIST}</a>
|
||||
<br /><br />
|
||||
|
||||
|
|
|
@ -63,6 +63,3 @@
|
|||
</form>
|
||||
<!--========================================================================-->
|
||||
<!-- ENDIF / TPL_EDIT_FORUM_AUTH -->
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -96,10 +96,8 @@ table.log_filters td {
|
|||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
<div class="spacer_8"></div>
|
||||
|
||||
|
||||
<table class="forumline">
|
||||
<tr>
|
||||
<th>{L_ACTS_LOG_LOGS_ACTION}</th>
|
||||
|
|
122
upload/templates/admin/admin_sitemap.tpl
Normal file
122
upload/templates/admin/admin_sitemap.tpl
Normal file
|
@ -0,0 +1,122 @@
|
|||
<style>
|
||||
.btn{
|
||||
color: rgb(255, 255, 255);
|
||||
text-decoration: none;
|
||||
padding: 2px 7px;
|
||||
font-size: 12px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
.btn-success {
|
||||
background-image: -moz-linear-gradient(top, #62c462, #51a351);
|
||||
background-image: -ms-linear-gradient(top, #62c462, #51a351);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));
|
||||
background-image: -webkit-linear-gradient(top, #62c462, #51a351);
|
||||
background-image: -o-linear-gradient(top, #62c462, #51a351);
|
||||
background-image: linear-gradient(top, #62c462, #51a351);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#62c462', endColorstr='#51a351', GradientType=0);
|
||||
border-color: #51a351 #51a351 #387038;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
filter: progid:dximagetransform.microsoft.gradient(enabled=false);
|
||||
}
|
||||
.btn-success:active,
|
||||
.btn-success:disabled,
|
||||
.btn-success:focus,
|
||||
.btn-success:hover,
|
||||
.btn-warning:active,
|
||||
.btn-warning:disabled,
|
||||
.btn-warning:focus,
|
||||
.btn-warning:hover {
|
||||
text-decoration: none;
|
||||
color: rgb(255, 255, 255);
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
.btn-warning:active,
|
||||
.btn-warning:disabled,
|
||||
.btn-warning:focus,
|
||||
.btn-warning:hover {
|
||||
background-color: #f89406;
|
||||
}
|
||||
.btn-success:active,
|
||||
.btn-success:disabled,
|
||||
.btn-success:focus,
|
||||
.btn-success:hover {
|
||||
background-color: #51a351;
|
||||
}
|
||||
.btn-warning {
|
||||
background-color: #faa732;
|
||||
background-image: -moz-linear-gradient(top, #fbb450, #f89406);
|
||||
background-image: -ms-linear-gradient(top, #fbb450, #f89406);
|
||||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
|
||||
background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
|
||||
background-image: -o-linear-gradient(top, #fbb450, #f89406);
|
||||
background-image: linear-gradient(top, #fbb450, #f89406);
|
||||
background-repeat: repeat-x;
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fbb450', endColorstr='#f89406', GradientType=0);
|
||||
border-color: #f89406 #f89406 #ad6704;
|
||||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
|
||||
filter: progid:dximagetransform.microsoft.gradient(enabled=false);
|
||||
}
|
||||
.td_pads { padding: 10px 15px !important; }
|
||||
</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
ajax.sitemap = function(mode) {
|
||||
ajax.exec({
|
||||
action : 'sitemap',
|
||||
mode : mode
|
||||
});
|
||||
}
|
||||
ajax.callback.sitemap = function(data) {
|
||||
if(data.mode == 'create') $('#mess_time').html(data.html);
|
||||
else $('#sitemap').html(data.html);
|
||||
}
|
||||
</script>
|
||||
|
||||
<h1>{L_SITEMAP_ADMIN}</h1>
|
||||
|
||||
<form action="admin_sitemap.php" method="post">
|
||||
<table class="forumline">
|
||||
<tr class="row1">
|
||||
<td width="25%"><span class="gen"><b>{L_INFORMATION}:</b></span></td>
|
||||
<td class="td_pads"><div id="mess_time">{MESSAGE}</div></td>
|
||||
</tr>
|
||||
<tr class="row1">
|
||||
<td width="25%"><span class="gen"><b>{L_SITEMAP_OPTIONS}:</b></span></td>
|
||||
<td class="td_pads">
|
||||
<a href="#" class="btn btn-success" onclick="ajax.sitemap('create'); return false;">{L_SITEMAP_CREATE}</a>
|
||||
<a href="#" class="btn btn-warning" onclick="ajax.sitemap('search_update'); return false;">{L_SITEMAP_NOTIFY}</a><br />
|
||||
<div id="sitemap"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="2">{L_SITEMAP_WHAT_NEXT}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1" colspan="2">
|
||||
<p>1. {L_SITEMAP_GOOGLE_1}</p>
|
||||
<p>2. {L_SITEMAP_GOOGLE_2}</p>
|
||||
<p>3. {L_SITEMAP_YANDEX_1}</p>
|
||||
<p>4. {L_SITEMAP_YANDEX_2}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="2">{L_SITEMAP_ADD_TITLE}</th>
|
||||
</tr>
|
||||
<tr class="row1">
|
||||
<td class="row1">
|
||||
<span class="gen"><b>{L_SITEMAP_ADD_PAGE}:</b></span>
|
||||
</td>
|
||||
<td>
|
||||
<textarea name="static_sitemap" rows="5" cols="70">{STATIC_SITEMAP}</textarea><br />
|
||||
<p>{L_SITEMAP_ADD_EXP_1} <b style="color: #993300;">{L_SITEMAP_ADD_EXP_2}</b></p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="catBottom" colspan="2">
|
||||
<input type="submit" name="submit" value="{L_SUBMIT}" class="mainoption" />
|
||||
<input type="reset" value="{L_RESET}" class="liteoption" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
|
@ -434,7 +434,7 @@ table.message td {
|
|||
}
|
||||
|
||||
.cat, td.cat, td.catTitle, td.catHead, td.catBottom {
|
||||
padding: 5px 4px 6px;
|
||||
padding: 5px 4px 0;
|
||||
background: #E0E5E9 url(../images/cellpic.gif) repeat-x;
|
||||
}
|
||||
.catTitle {
|
||||
|
@ -1533,4 +1533,3 @@ div#autocomplete_popup span.regenerate {
|
|||
background-repeat: repeat-x;
|
||||
border-color: #dca7a7;
|
||||
}
|
||||
|
|
@ -42,7 +42,6 @@
|
|||
<!--========================================================================-->
|
||||
<!-- ENDIF / SELECT_GROUP -->
|
||||
|
||||
|
||||
<!-- IF GROUP_INFO -->
|
||||
<!--========================================================================-->
|
||||
|
||||
|
@ -217,7 +216,7 @@
|
|||
<td>{pending.PM}</td>
|
||||
<td>{pending.EMAIL}</td>
|
||||
<td>{pending.FROM}</td>
|
||||
<td class="small">{pending.JOINED}</td>
|
||||
<td>{pending.JOINED}</td>
|
||||
<td>{pending.POSTS}</td>
|
||||
<td>{pending.WWW}</td>
|
||||
</tr>
|
||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 781 B |
|
@ -116,11 +116,6 @@
|
|||
</p>
|
||||
<!-- END last -->
|
||||
|
||||
<p class="f_stat_inline hidden">
|
||||
<span class="f_stat_topics"><em>{L_TOPICS_SHORT}:</em> {c.f.TOPICS}</span>
|
||||
<span class="f_stat_posts"><em>{L_POSTS_SHORT}:</em> {c.f.POSTS}</span>
|
||||
</p>
|
||||
|
||||
<!-- ELSE / start of !c.f.POSTS -->
|
||||
{L_NO_POSTS}
|
||||
<!-- ENDIF -->
|
||||
|
@ -156,7 +151,7 @@
|
|||
<!-- ENDIF -->
|
||||
|
||||
<div id="board_stats">
|
||||
<h3 class="cat_title"><a href="{U_VIEWONLINE}">{L_WHOSONLINE}</a></h3>
|
||||
<h3 class="cat_title">{L_WHOSONLINE}</h3>
|
||||
<div id="board_stats_wrap">
|
||||
|
||||
<table class="forums">
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
<h4 class="tCenter mrg_16">{L_ENTER_PASSWORD}</h4>
|
||||
<!-- ENDIF -->
|
||||
|
||||
|
||||
<div class="mrg_16">
|
||||
<table class="borderless bCenter">
|
||||
<tr>
|
||||
|
|
|
@ -47,7 +47,6 @@
|
|||
<!--========================================================================-->
|
||||
<!-- ENDIF / TPL_MODCP_IP -->
|
||||
|
||||
|
||||
<!-- IF TPL_MODCP_MOVE -->
|
||||
<!--========================================================================-->
|
||||
|
||||
|
@ -115,7 +114,6 @@
|
|||
<!--========================================================================-->
|
||||
<!-- ENDIF / TPL_MODCP_MOVE -->
|
||||
|
||||
|
||||
<div class="bottom_info">
|
||||
|
||||
<div class="spacer_4"></div>
|
||||
|
|
|
@ -249,7 +249,7 @@ if ( (typeof(window.opera) != "undefined" && window.opera.version() < 13) || (wi
|
|||
<a href="{U_SEARCH}"><b>{L_SEARCH}</b></a><span style="color:#CDCDCD;">|</span>
|
||||
<a href="{U_TERMS}"><b style="color: #993300;">{L_TERMS}</b></a><span style="color:#CDCDCD;">|</span>
|
||||
<a href="{U_GROUP_CP}"><b>{L_USERGROUPS}</b></a><span style="color:#CDCDCD;">|</span>
|
||||
<a href="{U_MEMBERLIST}"><b>{L_MEMBERLIST}</b></a><span style="color:#CDCDCD;">|</span>
|
||||
<a href="{U_MEMBERLIST}"><b>{L_MEMBERLIST}</b></a>
|
||||
</td>
|
||||
<td class="nowrap" align="right">
|
||||
<!-- BEGIN switch_report_list -->
|
||||
|
@ -518,13 +518,5 @@ $(document).ready(function() {
|
|||
</div>
|
||||
<!-- ENDIF / ERROR_MESSAGE -->
|
||||
|
||||
<!-- IF INFO_MESSAGE -->
|
||||
<div class="info_msg_wrap">
|
||||
<table class="info_msg">
|
||||
<tr><td><div class="msg">{INFO_MESSAGE}</div></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
<!-- ENDIF / INFO_MESSAGE -->
|
||||
|
||||
<!-- page_header.tpl END -->
|
||||
<!-- module_xx.tpl START -->
|
|
@ -71,7 +71,7 @@
|
|||
</tr>
|
||||
<tr id="view_message" class="hidden">
|
||||
<td colspan="2">
|
||||
<div class="view-message"></div>
|
||||
<div class="view-message"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- IF POSTING_USERNAME -->
|
||||
|
@ -109,9 +109,8 @@
|
|||
</tr>
|
||||
<!-- END switch_smilies_extra -->
|
||||
</table><!--/smilies-->
|
||||
|
||||
</td>
|
||||
<td class="vTop pad_0 w100"><!-- INCLUDE posting_editor.tpl --></td>
|
||||
</td>
|
||||
<td class="vTop pad_0 w100"><!-- INCLUDE posting_editor.tpl --></td>
|
||||
</tr>
|
||||
<!-- IF IN_PM -->
|
||||
<!-- ELSEIF LOGGED_IN -->
|
||||
|
|
|
@ -29,7 +29,6 @@
|
|||
<!--========================================================================-->
|
||||
<!-- ENDIF / TPL_ADD_ATTACHMENT -->
|
||||
|
||||
|
||||
<!-- IF TPL_POSTED_ATTACHMENTS -->
|
||||
<!--========================================================================-->
|
||||
|
||||
|
|
|
@ -15,30 +15,32 @@ function emoticon(text) {
|
|||
<table width="100%" cellpadding="10">
|
||||
<tr>
|
||||
<td>
|
||||
<table class="forumline">
|
||||
<tr>
|
||||
<th>{L_EMOTICONS}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1">
|
||||
<table class="borderless w100" cellpadding="5">
|
||||
<!-- BEGIN smilies_row -->
|
||||
<tr align="center">
|
||||
<!-- BEGIN smilies_col -->
|
||||
<td><a href="javascript:emoticon('{smilies_row.smilies_col.SMILEY_CODE}')"><img src="{smilies_row.smilies_col.SMILEY_IMG}" border="0" alt="{smilies_row.smilies_col.SMILEY_DESC}" title="{smilies_row.smilies_col.SMILEY_DESC}" /></a></td>
|
||||
<!-- END smilies_col -->
|
||||
</tr>
|
||||
<!-- END smilies_row -->
|
||||
<!-- BEGIN switch_smilies_extra -->
|
||||
<tr align="center">
|
||||
<td colspan="{S_SMILIES_COLSPAN}"><span class="nav"><a href="{U_MORE_SMILIES}" onclick="open_window('{U_MORE_SMILIES}', 250, 300);return false" target="_smilies" class="nav">{L_MORE_EMOTICONS}</a></td>
|
||||
</tr>
|
||||
<!-- END switch_smilies_extra -->
|
||||
</table></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row2" align="center"><br /><span class="med"><a href="javascript:window.close();" class="med">{L_CLOSE_WINDOW}</a></span></td>
|
||||
</tr>
|
||||
</table></td>
|
||||
<table class="forumline">
|
||||
<tr>
|
||||
<th>{L_EMOTICONS}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1">
|
||||
<table class="borderless w100" cellpadding="5">
|
||||
<!-- BEGIN smilies_row -->
|
||||
<tr align="center">
|
||||
<!-- BEGIN smilies_col -->
|
||||
<td><a href="javascript:emoticon('{smilies_row.smilies_col.SMILEY_CODE}')"><img src="{smilies_row.smilies_col.SMILEY_IMG}" border="0" alt="{smilies_row.smilies_col.SMILEY_DESC}" title="{smilies_row.smilies_col.SMILEY_DESC}" /></a></td>
|
||||
<!-- END smilies_col -->
|
||||
</tr>
|
||||
<!-- END smilies_row -->
|
||||
<!-- BEGIN switch_smilies_extra -->
|
||||
<tr align="center">
|
||||
<td colspan="{S_SMILIES_COLSPAN}"><span class="nav"><a href="{U_MORE_SMILIES}" onclick="open_window('{U_MORE_SMILIES}', 250, 300);return false" target="_smilies" class="nav">{L_MORE_EMOTICONS}</a></td>
|
||||
</tr>
|
||||
<!-- END switch_smilies_extra -->
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row2" align="center"><br /><span class="med"><a href="javascript:window.close();" class="med">{L_CLOSE_WINDOW}</a></span></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
|
@ -571,7 +571,6 @@ var TPL = {
|
|||
submit_fn : {}
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
-------------------------------------------------------------------------------------------------
|
||||
-- el_attr --------------------------------------------------------------------------------------
|
||||
|
@ -4722,7 +4721,6 @@ $(function(){
|
|||
<div id="tyt_faq_url"> <a href="http://rutracker.org/forum/viewtopic.php?t=2135853" target="_blank"><b>тут</b></a> </div>
|
||||
<!--/tyt_faq_url-->
|
||||
|
||||
|
||||
<!--wtf_faq_url-->
|
||||
<div id="wtf_faq_url"> <a href="http://rutracker.org/forum/viewtopic.php?t=488848#other" target="_blank"><b>Что это значит?</b></a> </div>
|
||||
<!--/wtf_faq_url-->
|
||||
|
@ -4767,7 +4765,6 @@ $(function(){
|
|||
<div id="file_list"> <a href="http://rutracker.org/forum/viewtopic.php?p=21307338#21307338" target="_blank"><b>Как создать список файлов?</b></a></div>
|
||||
<!--/file_list-->
|
||||
|
||||
|
||||
<!--faq_traclist-->
|
||||
<div id="faq_traclist"> <a href="http://rutracker.org/forum/viewtopic.php?t=2525182" target="_blank"><b>Как быстро создать треклист с указанием битрейта</b></a></div>
|
||||
<!--/faq_traclist-->
|
||||
|
|
|
@ -2,22 +2,6 @@
|
|||
|
||||
<div id="pm_header">
|
||||
<!-- IF PM_BOX_SIZE_INFO -->
|
||||
<table class="bordered pm_box_size pad_2 floatL">
|
||||
<tr>
|
||||
<td colspan="3" class="row1 med tCenter nowrap">{BOX_SIZE_STATUS}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3" class="row3">
|
||||
<div class="spacer_8 progress" style="width: {INBOX_LIMIT_IMG_WIDTH}px;"></div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row1 small">
|
||||
<td width="30%">0%</td>
|
||||
<td width="40%" class="tCenter">50%</td>
|
||||
<td width="30%" class="tRight">100%</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table class="bordered pm_box_size pad_2 floatR">
|
||||
<tr>
|
||||
<td colspan="3" class="row1 med tCenter nowrap">{BOX_SIZE_STATUS}</td>
|
||||
|
|
|
@ -17,12 +17,9 @@
|
|||
</tr>
|
||||
<!-- END report_statistics -->
|
||||
</table>
|
||||
|
||||
<br />
|
||||
|
||||
<!-- BEGIN switch_deleted_reports -->
|
||||
<span class="maintitle">{L_DELETED_REPORTS}:</span><br /><br />
|
||||
|
||||
<form action="{S_REPORT_ACTION}" method="post" id="report_list_deleted" style="margin: 0">
|
||||
<table cellspacing="1" cellpadding="4" border="0" width="90%" align="center" class="forumline">
|
||||
<tr>
|
||||
|
|
|
@ -109,7 +109,6 @@
|
|||
|
||||
</form>
|
||||
|
||||
|
||||
<div class="bottom_info">
|
||||
|
||||
<div class="spacer_4"></div>
|
||||
|
|
|
@ -84,7 +84,6 @@ $(document).ready(function(){
|
|||
return false;
|
||||
});
|
||||
|
||||
|
||||
$('td.topic_id').click(function(){
|
||||
if (!ajax.in_edit_mode) {
|
||||
$('#show-edit-btn a').click();
|
||||
|
|
|
@ -63,7 +63,7 @@ document.write('<input type="hidden" name="user_timezone" value="'+tz+'" />');
|
|||
<tr>
|
||||
<td class="prof-title">{L_USERNAME}: *</td>
|
||||
<td><!-- IF CAN_EDIT_USERNAME --><input id="username" onBlur="ajax.exec({ action: 'user_register', mode: 'check_name', username: $('#username').val()}); return false;" type="text" name="username" size="35" maxlength="25" value="{USERNAME}" /><!-- ELSE --><b>{USERNAME}</b><!-- ENDIF -->
|
||||
<span id="check_name"></span></td>
|
||||
<span id="check_name"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="prof-title">{L_EMAIL}: * <!-- IF EDIT_PROFILE --><!-- ELSE IF $bb_cfg['reg_email_activation'] --><br /><h6>{L_EMAIL_EXPLAIN}</h6><!-- ENDIF --></td>
|
||||
|
@ -79,15 +79,15 @@ document.write('<input type="hidden" name="user_timezone" value="'+tz+'" />');
|
|||
<tr>
|
||||
<td class="prof-title"><!-- IF EDIT_PROFILE -->{L_NEW_PASSWORD}: * <br /><h6>{L_PASSWORD_IF_CHANGED}</h6><!-- ELSE -->{L_PASSWORD}: *<!-- ENDIF --></td>
|
||||
<td>
|
||||
<input id="pass" type="<!-- IF SHOW_PASS -->text<!-- ELSE -->password<!-- ENDIF -->" name="new_pass" size="35" maxlength="32" value="" />
|
||||
<span id="autocomplete" title="{L_AUTOCOMPLETE}">◄</span> <i class="med">{L_PASSWORD_LONG}</i>
|
||||
<input id="pass" type="<!-- IF SHOW_PASS -->text<!-- ELSE -->password<!-- ENDIF -->" name="new_pass" size="35" maxlength="32" value="" />
|
||||
<span id="autocomplete" title="{L_AUTOCOMPLETE}">◄</span> <i class="med">{L_PASSWORD_LONG}</i>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="prof-title">{L_CONFIRM_PASSWORD}: * <!-- IF EDIT_PROFILE --><br /><h6>{L_PASSWORD_CONFIRM_IF_CHANGED}</h6><!-- ENDIF --></td>
|
||||
<td>
|
||||
<input id="pass_confirm" onBlur="ajax.exec({ action: 'user_register', mode: 'check_pass', pass: $('#pass').val(), pass_confirm: $('#pass_confirm').val() }); return false;" type="<!-- IF SHOW_PASS -->text<!-- ELSE -->password<!-- ENDIF -->" name="cfm_pass" size="35" maxlength="32" value="" />
|
||||
<span id="check_pass"></span>
|
||||
<input id="pass_confirm" onBlur="ajax.exec({ action: 'user_register', mode: 'check_pass', pass: $('#pass').val(), pass_confirm: $('#pass_confirm').val() }); return false;" type="<!-- IF SHOW_PASS -->text<!-- ELSE -->password<!-- ENDIF -->" name="cfm_pass" size="35" maxlength="32" value="" />
|
||||
<span id="check_pass"></span>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- IF CAPTCHA_HTML -->
|
||||
|
|
|
@ -61,7 +61,6 @@ td.topic_id { cursor: pointer; }
|
|||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
<table id="post-row" style="display: none;">
|
||||
<tr>
|
||||
<td class="row2" colspan="7">
|
||||
|
|
|
@ -115,22 +115,23 @@ ajax.callback.manage_user = function(data) {
|
|||
<script type="text/javascript">
|
||||
ajax.ip_load = false;
|
||||
ajax.mod_action = function(mode) {
|
||||
if(!ajax.ip_load) {
|
||||
ajax.exec({
|
||||
action : 'mod_action',
|
||||
mode : mode,
|
||||
user_id : {PROFILE_USER_ID}
|
||||
});
|
||||
if (!ajax.ip_load) {
|
||||
ajax.exec({
|
||||
action : 'mod_action',
|
||||
mode : mode,
|
||||
user_id : {PROFILE_USER_ID}
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#ip_list').toggle();
|
||||
$('#ip_list').toggle();
|
||||
}};
|
||||
ajax.callback.mod_action = function(data) {
|
||||
$('#ip_list').html(data.ip_list_html);
|
||||
$('#ip_list').html(data.ip_list_html);
|
||||
ajax.ip_load = true;
|
||||
}
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
ajax.group_membership = function(mode) {
|
||||
$('#gr-mem-list').html('<i class="loading-1">{L_LOADING}</i>');
|
||||
|
@ -173,7 +174,6 @@ ajax.callback.gen_passkey = function(data){
|
|||
</script>
|
||||
<!-- ENDIF / SHOW_PASSKEY -->
|
||||
|
||||
|
||||
<style type="text/css">
|
||||
#traf-stats-tbl { width: 468px; background: #F9F9F9; border: 1px solid #A5AFB4; border-collapse: separate; }
|
||||
#traf-stats-tbl th, #traf-stats-tbl td { padding: 2px 10px 3px; text-align: center; white-space: nowrap; font-size: 11px; }
|
||||
|
@ -314,25 +314,26 @@ ajax.callback.gen_passkey = function(data){
|
|||
<span class="editable bold">{USER_REGDATE}</span>
|
||||
<!-- IF IS_ADMIN -->
|
||||
[ <a href="#admin" class="menu-root menu-alt1"><span class="adm">{L_MANAGE_USER}</span></a> ]
|
||||
<div class="menu-sub row1 border bw_TRBL" id="admin">
|
||||
<fieldset class="mrg_6">
|
||||
<div class="tLeft" style="padding: 5px 6px 6px; display: block; font-size: 13px;">
|
||||
<a href="#" onclick="ajax.exec({action : 'manage_user', mode: '<!-- IF USER_ACTIVE -->user_deactivate<!-- ELSE -->user_activate<!-- ENDIF -->', user_id : {PROFILE_USER_ID}}); return false;" class="<!-- IF USER_ACTIVE -->adm<!-- ELSE -->seed bold<!-- ENDIF -->"><!-- IF USER_ACTIVE -->{L_USER_DEACTIVATE}<!-- ELSE -->{L_USER_ACTIVATE}<!-- ENDIF --></a> <br />
|
||||
<a href="#" onclick="ajax.exec({action : 'manage_user', mode: 'delete_profile', user_id : '{PROFILE_USER_ID}'}); return false;" class="adm">{L_USER_DELETE_EXPLAIN}</a> <br />
|
||||
<a href="#" onclick="ajax.exec({action : 'manage_user', mode: 'delete_topics', user_id : '{PROFILE_USER_ID}'}); return false;" class="adm">{L_DELETE_USER_ALL_POSTS}</a> <br />
|
||||
<a href="#" onclick="ajax.exec({action : 'manage_user', mode: 'delete_message', user_id : '{PROFILE_USER_ID}'}); return false;" class="adm">{L_DELETE_USER_POSTS}</a> <br />
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset class="mrg_6"><legend>{L_BAN_USER}</legend>
|
||||
<div class="tLeft" style="padding: 2px 6px 6px; display: block;" id="user-opt">
|
||||
<label><input type="checkbox" name="dis_avatar"/>{L_HIDE_AVATARS}</label>
|
||||
<label><input type="checkbox" name="dis_sig"/>{L_SHOW_CAPTION}</label>
|
||||
<label><input type="checkbox" name="dis_passkey"/>{L_DOWNLOAD_TORRENT}</label>
|
||||
<label><input type="checkbox" name="dis_pm"/>{L_SEND_PM}</label>
|
||||
<label><input type="checkbox" name="dis_post"/>{L_SEND_MESSAGE}</label>
|
||||
<label><input type="checkbox" name="dis_post_edit"/>{L_EDIT_POST}</label>
|
||||
<label><input type="checkbox" name="dis_topic"/>{L_NEW_THREADS}</label>
|
||||
</div>
|
||||
<div class="menu-sub row1 border bw_TRBL" id="admin">
|
||||
<fieldset class="mrg_6">
|
||||
<div class="tLeft" style="padding: 5px 6px 6px; display: block; font-size: 13px;">
|
||||
<a href="#" onclick="ajax.exec({action : 'manage_user', mode: '<!-- IF USER_ACTIVE -->user_deactivate<!-- ELSE -->user_activate<!-- ENDIF -->', user_id : {PROFILE_USER_ID}}); return false;" class="<!-- IF USER_ACTIVE -->adm<!-- ELSE -->seed bold<!-- ENDIF -->"><!-- IF USER_ACTIVE -->{L_USER_DEACTIVATE}<!-- ELSE -->{L_USER_ACTIVATE}<!-- ENDIF --></a> <br />
|
||||
<a href="#" onclick="ajax.exec({action : 'manage_user', mode: 'delete_profile', user_id : '{PROFILE_USER_ID}'}); return false;" class="adm">{L_USER_DELETE_EXPLAIN}</a> <br />
|
||||
<a href="#" onclick="ajax.exec({action : 'manage_user', mode: 'delete_topics', user_id : '{PROFILE_USER_ID}'}); return false;" class="adm">{L_DELETE_USER_ALL_POSTS}</a> <br />
|
||||
<a href="#" onclick="ajax.exec({action : 'manage_user', mode: 'delete_message', user_id : '{PROFILE_USER_ID}'}); return false;" class="adm">{L_DELETE_USER_POSTS}</a> <br />
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset class="mrg_6">
|
||||
<legend>{L_BAN_USER}</legend>
|
||||
<div class="tLeft" style="padding: 2px 6px 6px; display: block;" id="user-opt">
|
||||
<label><input type="checkbox" name="dis_avatar"/>{L_HIDE_AVATARS}</label>
|
||||
<label><input type="checkbox" name="dis_sig"/>{L_SHOW_CAPTION}</label>
|
||||
<label><input type="checkbox" name="dis_passkey"/>{L_DOWNLOAD_TORRENT}</label>
|
||||
<label><input type="checkbox" name="dis_pm"/>{L_SEND_PM}</label>
|
||||
<label><input type="checkbox" name="dis_post"/>{L_SEND_MESSAGE}</label>
|
||||
<label><input type="checkbox" name="dis_post_edit"/>{L_EDIT_POST}</label>
|
||||
<label><input type="checkbox" name="dis_topic"/>{L_NEW_THREADS}</label>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div id="user-opt-save" class="hidden tCenter">
|
||||
<p><input id="user-opt-save-btn" class="bold long" type="button" value="{L_SUBMIT}" /></p>
|
||||
|
@ -350,10 +351,10 @@ ajax.callback.gen_passkey = function(data){
|
|||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<tr>
|
||||
<th class="nowrap">{L_LAST_ACTIVITY}:</th>
|
||||
<td>
|
||||
<b>{LAST_ACTIVITY_TIME}</b>
|
||||
<b>{LAST_ACTIVITY_TIME}</b>
|
||||
<!-- IF TRAF_STATS --><span id="traf-stats-span">[ <a href="#" id="traf-stats-btn" class="med" onclick="ajax.index_data('get_traf_stats'); return false;">{L_VIEWING_USER_BT_PROFILE}</a> ]</span><!-- ENDIF -->
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -371,30 +372,30 @@ ajax.callback.gen_passkey = function(data){
|
|||
</tr>
|
||||
|
||||
<tr id="bt_user_ratio" <!-- IF TRAF_STATS -->style="display: none;"<!-- ENDIF -->>
|
||||
<th>{L_USER_RATIO}:</th>
|
||||
<td>
|
||||
<!-- IF DOWN_TOTAL_BYTES gt MIN_DL_BYTES -->
|
||||
<b id="u_ratio" class="gen">{USER_RATIO}</b>
|
||||
[<a class="gen" href="#" onclick="toggle_block('ratio-expl'); return false;">?</a>]
|
||||
<!-- ELSE -->
|
||||
<span class="med" title="{L_IT_WILL_BE_DOWN} {MIN_DL_FOR_RATIO}"><b>{L_NONE}</b> (DL < {MIN_DL_FOR_RATIO})</span>
|
||||
<!-- ENDIF -->
|
||||
<th>{L_USER_RATIO}:</th>
|
||||
<td>
|
||||
<!-- IF DOWN_TOTAL_BYTES gt MIN_DL_BYTES -->
|
||||
<b id="u_ratio" class="gen">{USER_RATIO}</b>
|
||||
[<a class="gen" href="#" onclick="toggle_block('ratio-expl'); return false;">?</a>]
|
||||
<!-- ELSE -->
|
||||
<span class="med" title="{L_IT_WILL_BE_DOWN} {MIN_DL_FOR_RATIO}"><b>{L_NONE}</b> (DL < {MIN_DL_FOR_RATIO})</span>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF SHOW_PASSKEY -->
|
||||
[ {L_BT_PASSKEY}: <span id="passkey-btn"><a class="med" href="#" onclick="$('#passkey-gen').show(); $('#passkey-btn').hide(); return false;">{L_BT_PASSKEY_VIEW}</a></span>
|
||||
<span id="passkey-gen" class="med" style="display: none;">
|
||||
<b id="passkey" class="med bold">{AUTH_KEY}</b>
|
||||
<a href="#" onclick="ajax.exec({ action: 'gen_passkey', user_id : {PROFILE_USER_ID} }); return false;">{L_BT_GEN_PASSKEY}</a>
|
||||
<a href="#" onclick="ajax.exec({ action: 'gen_passkey', user_id : {PROFILE_USER_ID} }); return false;">{L_BT_GEN_PASSKEY}</a>
|
||||
</span> ]
|
||||
<!-- ENDIF -->
|
||||
</td>
|
||||
</tr>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr id="ratio-expl" style="display: none;">
|
||||
<td colspan="2" class="med tCenter">
|
||||
<tr id="ratio-expl" style="display: none;">
|
||||
<td colspan="2" class="med tCenter">
|
||||
( {L_UPLOADED} <b class="seedmed">{UP_TOTAL}</b> + {L_RELEASED} <b class="seedmed">{RELEASED}</b> + {L_BONUS} <b class="seedmed">{UP_BONUS}</b> ) / {L_DOWNLOADED} <b class="leechmed">{DOWN_TOTAL}</b>
|
||||
</td>
|
||||
</tr>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- IF LOCATION -->
|
||||
<tr>
|
||||
|
@ -436,53 +437,50 @@ ajax.callback.gen_passkey = function(data){
|
|||
<td><b>{AGE}</b></td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
<tr>
|
||||
<td colspan="2" class="pad_4">
|
||||
|
||||
<table id="traf-stats-tbl" <!-- IF TRAF_STATS -->style="display: none;"<!-- ENDIF --> class="bCenter borderless" cellspacing="1">
|
||||
<tr class="row3">
|
||||
<th class="stats-ext"></th>
|
||||
<th>{L_DOWNLOADED}</th>
|
||||
<th>{L_UPLOADED}</th>
|
||||
<th>{L_RELEASED}</th>
|
||||
<th>{L_BONUS}</th>
|
||||
<!-- IF $bb_cfg['seed_bonus_enabled'] --><th>{L_SEED_BONUS}</th><!-- ENDIF -->
|
||||
</tr>
|
||||
<tr class="row1 stats-ext">
|
||||
<td>{L_TD_TRAF}</td>
|
||||
<td class="leech">{TD_DL}</td>
|
||||
<td class="seed">{TD_UL}</td>
|
||||
<td class="seed">{TD_REL}</td>
|
||||
<td class="seed">{TD_BONUS}</td>
|
||||
<!-- IF $bb_cfg['seed_bonus_enabled'] --><td class="points">{TD_POINTS}</td><!-- ENDIF -->
|
||||
</tr>
|
||||
<tr class="row5 stats-ext">
|
||||
<td>{L_YS_TRAF}</td>
|
||||
<td class="leech">{YS_DL}</td>
|
||||
<td class="seed">{YS_UL}</td>
|
||||
<td class="seed">{YS_REL}</td>
|
||||
<td class="seed">{YS_BONUS}</td>
|
||||
<!-- IF $bb_cfg['seed_bonus_enabled'] --><td class="points">{YS_POINTS}</td><!-- ENDIF -->
|
||||
</tr>
|
||||
<tr class="row1">
|
||||
<td class="stats-ext">{L_TOTAL_TRAF}</td>
|
||||
<td id="u_down_total"><span class="editable bold leechmed">{DOWN_TOTAL}</span></td>
|
||||
<td id="u_up_total"><span class="editable bold seedmed">{UP_TOTAL}</span></td>
|
||||
<td id="u_up_release"><span class="editable bold seedmed">{RELEASED}</span></td>
|
||||
<td id="u_up_bonus"><span class="editable bold seedmed">{UP_BONUS}</span></td>
|
||||
<!-- IF $bb_cfg['seed_bonus_enabled'] --><td id="user_points"><span class="editable bold points">{USER_POINTS}</span></td><!-- ENDIF -->
|
||||
</tr>
|
||||
<tr class="row5">
|
||||
<td colspan="1">{L_MAX_SPEED}</td>
|
||||
<td colspan="2">{L_DL_DL_SPEED}: {SPEED_DOWN}</td>
|
||||
<td colspan="2">{L_DL_UL_SPEED}: {SPEED_UP}</td>
|
||||
<!-- IF $bb_cfg['seed_bonus_enabled'] --><td colspan="1"><!-- IF PROFILE_USER --><a href="profile.php?mode=bonus">{L_EXCHANGE}</a><!-- ENDIF --></td><!-- ENDIF -->
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="2" class="pad_4">
|
||||
<table id="traf-stats-tbl" <!-- IF TRAF_STATS -->style="display: none;"<!-- ENDIF --> class="bCenter borderless" cellspacing="1">
|
||||
<tr class="row3">
|
||||
<th class="stats-ext"></th>
|
||||
<th>{L_DOWNLOADED}</th>
|
||||
<th>{L_UPLOADED}</th>
|
||||
<th>{L_RELEASED}</th>
|
||||
<th>{L_BONUS}</th>
|
||||
<!-- IF $bb_cfg['seed_bonus_enabled'] --><th>{L_SEED_BONUS}</th><!-- ENDIF -->
|
||||
</tr>
|
||||
<tr class="row1 stats-ext">
|
||||
<td>{L_TD_TRAF}</td>
|
||||
<td class="leech">{TD_DL}</td>
|
||||
<td class="seed">{TD_UL}</td>
|
||||
<td class="seed">{TD_REL}</td>
|
||||
<td class="seed">{TD_BONUS}</td>
|
||||
<!-- IF $bb_cfg['seed_bonus_enabled'] --><td class="points">{TD_POINTS}</td><!-- ENDIF -->
|
||||
</tr>
|
||||
<tr class="row5 stats-ext">
|
||||
<td>{L_YS_TRAF}</td>
|
||||
<td class="leech">{YS_DL}</td>
|
||||
<td class="seed">{YS_UL}</td>
|
||||
<td class="seed">{YS_REL}</td>
|
||||
<td class="seed">{YS_BONUS}</td>
|
||||
<!-- IF $bb_cfg['seed_bonus_enabled'] --><td class="points">{YS_POINTS}</td><!-- ENDIF -->
|
||||
</tr>
|
||||
<tr class="row1">
|
||||
<td class="stats-ext">{L_TOTAL_TRAF}</td>
|
||||
<td id="u_down_total"><span class="editable bold leechmed">{DOWN_TOTAL}</span></td>
|
||||
<td id="u_up_total"><span class="editable bold seedmed">{UP_TOTAL}</span></td>
|
||||
<td id="u_up_release"><span class="editable bold seedmed">{RELEASED}</span></td>
|
||||
<td id="u_up_bonus"><span class="editable bold seedmed">{UP_BONUS}</span></td>
|
||||
<!-- IF $bb_cfg['seed_bonus_enabled'] --><td id="user_points"><span class="editable bold points">{USER_POINTS}</span></td><!-- ENDIF -->
|
||||
</tr>
|
||||
<tr class="row5">
|
||||
<td colspan="1">{L_MAX_SPEED}</td>
|
||||
<td colspan="2">{L_DL_DL_SPEED}: {SPEED_DOWN}</td>
|
||||
<td colspan="2">{L_DL_UL_SPEED}: {SPEED_UP}</td>
|
||||
<!-- IF $bb_cfg['seed_bonus_enabled'] --><td colspan="1"><!-- IF PROFILE_USER --><a href="profile.php?mode=bonus">{L_EXCHANGE}</a><!-- ENDIF --></td><!-- ENDIF -->
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!--/user_details-->
|
||||
|
||||
|
@ -493,7 +491,7 @@ ajax.callback.gen_passkey = function(data){
|
|||
<!-- IF SIGNATURE -->
|
||||
<tr>
|
||||
<td class="row1 pad_4" colspan="2">
|
||||
<div class="signature">{SIGNATURE}</div>
|
||||
<div class="signature">{SIGNATURE}</div>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
|
|
|
@ -1,47 +0,0 @@
|
|||
<p class="nav"><a href="{U_INDEX}">{T_INDEX}</a></p>
|
||||
|
||||
<table class="forumline tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="35%" class="{sorter: 'text'}"><b class="tbs-text">{L_USERNAME}</b></th>
|
||||
<th width="35%" class="{sorter: 'digit'}"><b class="tbs-text">{L_LAST_UPDATED}</b></th>
|
||||
<!-- IF IS_ADMIN --><th width="30%" class="{sorter: 'digit'}"><b class="tbs-text">{L_IP_ADDRESS}</b></th><!-- ENDIF -->
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="catTitle" colspan="3">{TOTAL_REGISTERED_USERS_ONLINE} | {L_ALL_USERS_ONLINE} {TOTAL_USERS_ONLINE}</td>
|
||||
</tr>
|
||||
</thead>
|
||||
<!-- BEGIN reg_user_row -->
|
||||
<tr class="{reg_user_row.ROW_CLASS}">
|
||||
<td><b>{reg_user_row.USER}</b></td>
|
||||
<td class="tCenter"><u>{reg_user_row.LASTUPDATE_RAW}</u>{reg_user_row.LASTUPDATE}</td>
|
||||
<!-- IF IS_ADMIN --><td class="tCenter"><a href="{reg_user_row.U_WHOIS_IP}" class="gen" target="_blank">{reg_user_row.USERIP}</a></td><!-- ENDIF -->
|
||||
</tr>
|
||||
<!-- END reg_user_row -->
|
||||
<tfoot>
|
||||
<tr>
|
||||
<td class="catTitle" colspan="3">{TOTAL_GUEST_USERS_ONLINE}</td>
|
||||
</tr>
|
||||
<!-- BEGIN guest_user_row -->
|
||||
<tr class="{guest_user_row.ROW_CLASS}">
|
||||
<td>{guest_user_row.USER}</td>
|
||||
<td class="tCenter">{guest_user_row.LASTUPDATE}</td>
|
||||
<!-- IF IS_ADMIN --><td class="tCenter"><a href="{guest_user_row.U_WHOIS_IP}" class="gen" target="_blank">{guest_user_row.USERIP}</a></td><!-- ENDIF -->
|
||||
</tr>
|
||||
<!-- END guest_user_row -->
|
||||
</tfoot>
|
||||
</table>
|
||||
|
||||
<div class="spacer_4"></div>
|
||||
|
||||
<div class="bottom_info">
|
||||
|
||||
<p style="float: left">{L_ONLINE_EXPLAIN}</p>
|
||||
|
||||
<div id="timezone">
|
||||
<p>{CURRENT_TIME}</p>
|
||||
<p>{S_TIMEZONE}</p>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
|
||||
</div><!--/bottom_info-->
|
|
@ -42,8 +42,8 @@ ajax.callback.posts = function(data) {
|
|||
if(data.html){
|
||||
$('#pp_'+ data.post_id).show().html(data.html);
|
||||
initPostBBCode('#pp_'+ data.post_id);
|
||||
$('#pe_'+ data.post_id).hide();
|
||||
ajax.open_edit = false;
|
||||
$('#pe_'+ data.post_id).hide();
|
||||
ajax.open_edit = false;
|
||||
} else if(data.text){
|
||||
ajax.open_edit = data.post_id;
|
||||
$('#pe_'+ data.post_id).html(data.text);
|
||||
|
@ -54,10 +54,10 @@ ajax.callback.posts = function(data) {
|
|||
$('tbody#post_'+ data.post_id).hide();
|
||||
}
|
||||
if(data.quote) $('textarea#message').attr('value', $('textarea#message').val() + data.message +' ').focus();
|
||||
if(data.message_html){
|
||||
$('#view_message').show();
|
||||
$('.view-message').html(data.message_html);
|
||||
initPostBBCode('.view-message');
|
||||
if(data.message_html){
|
||||
$('#view_message').show();
|
||||
$('.view-message').html(data.message_html);
|
||||
initPostBBCode('.view-message');
|
||||
var maxH = screen.height - 490;
|
||||
$('.view-message').css({ maxHeight: maxH });
|
||||
}
|
||||
|
@ -397,7 +397,7 @@ function build_poll_add_form (src_el)
|
|||
<!-- IF postrow.IP --><a class="txtb" href="{IP_POST_URL}{postrow.POST_ID}&t={TOPIC_ID}">{IP_POST_IMG}</a>{POST_BTN_SPACER}<!-- ENDIF -->
|
||||
<!-- IF postrow.REPORT -->{postrow.REPORT}{POST_BTN_SPACER}<!-- ENDIF -->
|
||||
<!-- IF AUTH_MOD -->
|
||||
<a class="menu-root menu-alt1" href="#mc_{postrow.POST_ID}">{MC_IMG}</a>{POST_BTN_SPACER}
|
||||
<a class="menu-root menu-alt1 txtb" href="#mc_{postrow.POST_ID}">{MC_IMG}</a>{POST_BTN_SPACER}
|
||||
<!-- IF not IN_MODERATION --><a class="txtb" href="{PAGE_URL}&mod=1&start={PAGE_START}#{postrow.POST_ID}">{MOD_POST_IMG}</a>{POST_BTN_SPACER}<!-- ENDIF -->
|
||||
<!-- ENDIF -->
|
||||
</p>
|
||||
|
@ -584,22 +584,6 @@ function build_poll_add_form (src_el)
|
|||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- IF PORNO_FORUM -->
|
||||
<script type="text/javascript">
|
||||
// block Imageshack images
|
||||
$(document).ready(function(){
|
||||
$("div.post_body")
|
||||
.find("img.postImg[@src*='imageshack']")
|
||||
.attr({ src: "images/smiles/tr_oops.gif", alt: "{L_SCREENSHOTS_RULES_TOPIC}" })
|
||||
.wrap('<a href="viewtopic.php?t={$bb_cfg['porno_forums_screenshots_topic_id']}"></a>')
|
||||
.end()
|
||||
.find("a.postLink[@href*='imageshack']")
|
||||
.attr({ href: "viewtopic.php?t={$bb_cfg['porno_forums_screenshots_topic_id']}" })
|
||||
.text("{L_SCREENSHOTS_RULES_TOPIC}");
|
||||
});
|
||||
</script>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<table cellpadding="0" class="w100" style="padding-top: 2px;">
|
||||
<tr>
|
||||
<td valign="top">
|
||||
|
|
|
@ -127,7 +127,6 @@
|
|||
|
||||
<!-- BEGIN tor_reged -->
|
||||
|
||||
|
||||
<!-- IF TOR_BLOCKED -->
|
||||
<table id="tor_blocked" class="error">
|
||||
<tr><td><p class="error_msg">{TOR_BLOCKED_MSG}</p></td></tr>
|
||||
|
|
|
@ -1,118 +0,0 @@
|
|||
<?php
|
||||
|
||||
define('IN_FORUM', true);
|
||||
define('BB_SCRIPT', 'online');
|
||||
define('BB_ROOT', './');
|
||||
require(BB_ROOT .'common.php');
|
||||
|
||||
// Start session management
|
||||
$user->session_start(array('req_login' => true));
|
||||
$page_cfg['use_tablesorter'] = true;
|
||||
|
||||
//
|
||||
// Output page header and load viewonline template
|
||||
//
|
||||
$template->assign_vars(array(
|
||||
'PAGE_TITLE' => $lang['WHOSONLINE'],
|
||||
));
|
||||
|
||||
//
|
||||
// Get auth data
|
||||
//
|
||||
$is_auth_ary = array();
|
||||
$is_auth_ary = auth(AUTH_VIEW, AUTH_LIST_ALL, $userdata);
|
||||
|
||||
//
|
||||
// Get user list
|
||||
//
|
||||
$sql = "SELECT u.user_id, u.username, u.user_opt, u.user_rank, s.session_logged_in, s.session_time, s.session_ip
|
||||
FROM ".BB_USERS." u, ".BB_SESSIONS." s
|
||||
WHERE u.user_id = s.session_user_id
|
||||
AND s.session_time >= ".( TIMENOW - 300 ) . "
|
||||
ORDER BY u.username ASC, s.session_ip ASC";
|
||||
if (!($result = DB()->sql_query($sql)))
|
||||
{
|
||||
bb_die('Could not obtain regd user / online information');
|
||||
}
|
||||
|
||||
$guest_users = 0;
|
||||
$registered_users = 0;
|
||||
$hidden_users = 0;
|
||||
|
||||
$reg_counter = 0;
|
||||
$guest_counter = 0;
|
||||
$prev_user = 0;
|
||||
$prev_ip = '';
|
||||
|
||||
$user_id = 0;
|
||||
|
||||
while ($row = DB()->sql_fetchrow($result))
|
||||
{
|
||||
$view_online = false;
|
||||
|
||||
if ($row['session_logged_in'])
|
||||
{
|
||||
$user_id = $row['user_id'];
|
||||
|
||||
if ($user_id != $prev_user)
|
||||
{
|
||||
$username = profile_url($row);
|
||||
|
||||
if (bf($row['user_opt'], 'user_opt', 'user_viewonline'))
|
||||
{
|
||||
$view_online = IS_AM;
|
||||
$hidden_users++;
|
||||
|
||||
$username = '<i>' . $username . '</i>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$view_online = true;
|
||||
$registered_users++;
|
||||
}
|
||||
|
||||
$which_counter = 'reg_counter';
|
||||
$which_row = 'reg_user_row';
|
||||
$prev_user = $user_id;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ($row['session_ip'] != $prev_ip)
|
||||
{
|
||||
$username = $lang['GUEST'];
|
||||
$view_online = true;
|
||||
$guest_users++;
|
||||
|
||||
$which_counter = 'guest_counter';
|
||||
$which_row = 'guest_user_row';
|
||||
}
|
||||
}
|
||||
|
||||
$prev_ip = $row['session_ip'];
|
||||
$user_ip = hexdec(substr($prev_ip, 0, 2)) . '.' . hexdec(substr($prev_ip, 2, 2)) . '.' . hexdec(substr($prev_ip, 4, 2)) . '.' . hexdec(substr($prev_ip, 6, 2));
|
||||
|
||||
if ($view_online)
|
||||
{
|
||||
$row_class = !($which_counter % 2) ? 'row1' : 'row2';
|
||||
|
||||
$template->assign_block_vars("$which_row", array(
|
||||
'ROW_CLASS' => $row_class,
|
||||
'USER' => $username,
|
||||
'LASTUPDATE' => bb_date($row['session_time']),
|
||||
'LASTUPDATE_RAW' => $row['session_time'],
|
||||
'USERIP' => $user_ip,
|
||||
'U_WHOIS_IP' => $bb_cfg['whois_info'] . $user_ip,
|
||||
));
|
||||
|
||||
$which_counter++;
|
||||
}
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'TOTAL_USERS_ONLINE' => $registered_users + $hidden_users + $guest_users,
|
||||
'TOTAL_REGISTERED_USERS_ONLINE' => sprintf($lang['REG_USERS_ONLINE'], $registered_users) . sprintf($lang['HIDDEN_USERS_ONLINE'], $hidden_users),
|
||||
'TOTAL_GUEST_USERS_ONLINE' => sprintf($lang['GUEST_USERS_ONLINE'], $guest_users))
|
||||
);
|
||||
|
||||
print_page('viewonline.tpl');
|
|
@ -227,7 +227,6 @@ if ($moderation)
|
|||
));
|
||||
}
|
||||
|
||||
|
||||
if (!$forums = $datastore->get('cat_forums'))
|
||||
{
|
||||
$datastore->update('cat_forums');
|
||||
|
@ -632,7 +631,7 @@ require(INC_DIR .'torrent_show_dl_list.php');
|
|||
|
||||
if ($t_data['topic_attachment'])
|
||||
{
|
||||
require(BB_ROOT .'attach_mod/attachment_mod.php');
|
||||
require(ATTACH_DIR .'attachment_mod.php');
|
||||
init_display_post_attachments($t_data['topic_attachment']);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue