mirror of
https://github.com/torrentpier/torrentpier
synced 2025-08-20 21:33:54 -07:00
r583
Новая система загрузки и хранения аватар, полная переделка старой системы. В ходе переделки удалена галерея аватар, но взамен повышена производительность и потенциальные функциональные возможности новой. Для обновления на данную ревизию необходимо запустить конвертер базы и имеющихся аватарок из корня трекера: upgrade/r583-convert_avatars.php, после обновления файл удалить. Внимательно читайте сообщение перед началом конвертации базы. Для конвертации базы - форум требуется ПРЕДВАРИТЕЛЬНО обновить, после чего запускать конвертер. Обратите внимание что в обновлении также была переделана функция get_avatar и потребуется адаптация модов, ее использующих. При возникновении вопросов - пишите на форум. Перенос настроек аватарок в config.php; отображение модераторов форумов на главной по-умолчанию отключено; удаление активации учетной записи пользователя администратором - теперь активация автоматическая и сразу или после подтверждения по электронной почте; удаление крон-задачи обслуживания аватарок (теперь оно не требуется); отказ от использования буквы Ё - теперь везде Е; исправления ошибок в админке форумов, внешние визуальные изменения, оптимизация синхронизаций; удаление аватара пользователя админом из его профиля на аяксе; переименование функции синхронизации всех форумов на sync_all_forums; фикс ошибки сортировки в даунлоад-листе; перенос настройки обязательной активации по email в config.php; оптимизация приоритета запуска крон-задач; фикс крон-задачи чистки кеша; новые функции для новой системы аватар (в будущем - аттачей); оптимизация функций синхронизации форумов, постов и прочего; минимальная длина пароля - 4 символа; отказ от поддержки ie6 в шаблоне; мелочи. git-svn-id: https://torrentpier2.googlecode.com/svn/trunk@583 a8ac35ab-4ca4-ca47-4c2d-a49a94f06293
This commit is contained in:
parent
56b44835ec
commit
732864838c
60 changed files with 1074 additions and 1564 deletions
|
@ -3,7 +3,7 @@
|
||||||
********************
|
********************
|
||||||
|
|
||||||
Распаковываем на сервер содержимое папки upload.
|
Распаковываем на сервер содержимое папки upload.
|
||||||
Заходим в phpmyadmin, открываем или создаём новую базу, потом импортируем дамп (install/sql/mysql.sql)
|
Заходим в phpmyadmin, открываем или создаем новую базу, потом импортируем дамп (install/sql/mysql.sql)
|
||||||
Правим файл конфигурации config.php (изменяем данные входа в БД, остальное по усмотрению)
|
Правим файл конфигурации config.php (изменяем данные входа в БД, остальное по усмотрению)
|
||||||
|
|
||||||
* Файлы favicon.ico (меняем на свою иконку, если есть), robots.txt(допуск или запрет ботам поисковиков к серверу, блокирует не все, меняем адреса в строках Host: и Sitemap: на свои адреса)
|
* Файлы favicon.ico (меняем на свою иконку, если есть), robots.txt(допуск или запрет ботам поисковиков к серверу, блокирует не все, меняем адреса в строках Host: и Sitemap: на свои адреса)
|
||||||
|
@ -28,7 +28,6 @@
|
||||||
- files/thumbs
|
- files/thumbs
|
||||||
- images
|
- images
|
||||||
- images/avatars
|
- images/avatars
|
||||||
- images/avatars/gallery
|
|
||||||
- images/captcha
|
- images/captcha
|
||||||
- images/logo
|
- images/logo
|
||||||
- images/ranks
|
- images/ranks
|
||||||
|
|
|
@ -507,17 +507,10 @@ CREATE TABLE IF NOT EXISTS `bb_config` (
|
||||||
--
|
--
|
||||||
|
|
||||||
INSERT INTO `bb_config` VALUES ('allow_autologin', '1');
|
INSERT INTO `bb_config` VALUES ('allow_autologin', '1');
|
||||||
INSERT INTO `bb_config` VALUES ('allow_avatar_local', '1');
|
|
||||||
INSERT INTO `bb_config` VALUES ('allow_avatar_upload', '1');
|
|
||||||
INSERT INTO `bb_config` VALUES ('allow_bbcode', '1');
|
INSERT INTO `bb_config` VALUES ('allow_bbcode', '1');
|
||||||
INSERT INTO `bb_config` VALUES ('allow_namechange', '0');
|
INSERT INTO `bb_config` VALUES ('allow_namechange', '0');
|
||||||
INSERT INTO `bb_config` VALUES ('allow_sig', '1');
|
INSERT INTO `bb_config` VALUES ('allow_sig', '1');
|
||||||
INSERT INTO `bb_config` VALUES ('allow_smilies', '1');
|
INSERT INTO `bb_config` VALUES ('allow_smilies', '1');
|
||||||
INSERT INTO `bb_config` VALUES ('avatar_filesize', '100000');
|
|
||||||
INSERT INTO `bb_config` VALUES ('avatar_gallery_path', 'images/avatars/gallery');
|
|
||||||
INSERT INTO `bb_config` VALUES ('avatar_max_height', '100');
|
|
||||||
INSERT INTO `bb_config` VALUES ('avatar_max_width', '100');
|
|
||||||
INSERT INTO `bb_config` VALUES ('avatar_path', 'images/avatars');
|
|
||||||
INSERT INTO `bb_config` VALUES ('board_disable', '0');
|
INSERT INTO `bb_config` VALUES ('board_disable', '0');
|
||||||
INSERT INTO `bb_config` VALUES ('board_startdate', '');
|
INSERT INTO `bb_config` VALUES ('board_startdate', '');
|
||||||
INSERT INTO `bb_config` VALUES ('board_timezone', '0');
|
INSERT INTO `bb_config` VALUES ('board_timezone', '0');
|
||||||
|
@ -566,7 +559,6 @@ INSERT INTO `bb_config` VALUES ('posts_per_page', '15');
|
||||||
INSERT INTO `bb_config` VALUES ('prune_enable', '1');
|
INSERT INTO `bb_config` VALUES ('prune_enable', '1');
|
||||||
INSERT INTO `bb_config` VALUES ('record_online_date', '1211477508');
|
INSERT INTO `bb_config` VALUES ('record_online_date', '1211477508');
|
||||||
INSERT INTO `bb_config` VALUES ('record_online_users', '2');
|
INSERT INTO `bb_config` VALUES ('record_online_users', '2');
|
||||||
INSERT INTO `bb_config` VALUES ('require_activation', '0');
|
|
||||||
INSERT INTO `bb_config` VALUES ('seed_bonus_enabled', '1');
|
INSERT INTO `bb_config` VALUES ('seed_bonus_enabled', '1');
|
||||||
INSERT INTO `bb_config` VALUES ('seed_bonus_release', '');
|
INSERT INTO `bb_config` VALUES ('seed_bonus_release', '');
|
||||||
INSERT INTO `bb_config` VALUES ('seed_bonus_points', '');
|
INSERT INTO `bb_config` VALUES ('seed_bonus_points', '');
|
||||||
|
@ -588,7 +580,6 @@ INSERT INTO `bb_config` VALUES ('cron_enabled', '1');
|
||||||
INSERT INTO `bb_config` VALUES ('cron_check_interval', '300');
|
INSERT INTO `bb_config` VALUES ('cron_check_interval', '300');
|
||||||
INSERT INTO `bb_config` VALUES ('reports_enabled', '1');
|
INSERT INTO `bb_config` VALUES ('reports_enabled', '1');
|
||||||
INSERT INTO `bb_config` VALUES ('magnet_links_enabled', '1');
|
INSERT INTO `bb_config` VALUES ('magnet_links_enabled', '1');
|
||||||
INSERT INTO `bb_config` VALUES ('no_avatar', 'images/avatars/gallery/noavatar.png');
|
|
||||||
INSERT INTO `bb_config` VALUES ('gender', '1');
|
INSERT INTO `bb_config` VALUES ('gender', '1');
|
||||||
INSERT INTO `bb_config` VALUES ('callseed', '0');
|
INSERT INTO `bb_config` VALUES ('callseed', '0');
|
||||||
INSERT INTO `bb_config` VALUES ('tor_stats', '1');
|
INSERT INTO `bb_config` VALUES ('tor_stats', '1');
|
||||||
|
@ -601,7 +592,7 @@ INSERT INTO `bb_config` VALUES ('max_net_title', '50');
|
||||||
INSERT INTO `bb_config` VALUES ('network_news_count', '5');
|
INSERT INTO `bb_config` VALUES ('network_news_count', '5');
|
||||||
INSERT INTO `bb_config` VALUES ('network_news_forum_id', '2');
|
INSERT INTO `bb_config` VALUES ('network_news_forum_id', '2');
|
||||||
INSERT INTO `bb_config` VALUES ('whois_info', 'http://ip-whois.net/ip_geo.php?ip=');
|
INSERT INTO `bb_config` VALUES ('whois_info', 'http://ip-whois.net/ip_geo.php?ip=');
|
||||||
INSERT INTO `bb_config` VALUES ('show_mod_index', '1');
|
INSERT INTO `bb_config` VALUES ('show_mod_index', '0');
|
||||||
INSERT INTO `bb_config` VALUES ('premod', '0');
|
INSERT INTO `bb_config` VALUES ('premod', '0');
|
||||||
INSERT INTO `bb_config` VALUES ('new_tpls', '1');
|
INSERT INTO `bb_config` VALUES ('new_tpls', '1');
|
||||||
INSERT INTO `bb_config` VALUES ('tor_comment', '1');
|
INSERT INTO `bb_config` VALUES ('tor_comment', '1');
|
||||||
|
@ -640,7 +631,7 @@ CREATE TABLE IF NOT EXISTS `bb_cron` (
|
||||||
|
|
||||||
INSERT INTO `bb_cron` VALUES (1, 0, 'Site backup', 'site_backup.php', 'daily', '1', '05:00:00', 10, '', '', NULL, 1, '', 0, 1, 0);
|
INSERT INTO `bb_cron` VALUES (1, 0, 'Site backup', 'site_backup.php', 'daily', '1', '05:00:00', 10, '', '', NULL, 1, '', 0, 1, 0);
|
||||||
INSERT INTO `bb_cron` VALUES (2, 0, 'DB backup', 'db_backup.php', 'daily', '1', '05:00:00', 20, '', '', NULL, 1, '', 0, 1, 0);
|
INSERT INTO `bb_cron` VALUES (2, 0, 'DB backup', 'db_backup.php', 'daily', '1', '05:00:00', 20, '', '', NULL, 1, '', 0, 1, 0);
|
||||||
INSERT INTO `bb_cron` VALUES (3, 1, 'Avatars cleanup', 'avatars_cleanup.php', 'weekly', '1', '05:00:00', 30, '', '', NULL, 1, '', 0, 1, 0);
|
INSERT INTO `bb_cron` VALUES (3, 1, 'Attach maintenance', 'attach_maintenance.php', 'daily', NULL, '05:00:00', 40, '', '', NULL, 1, '', 0, 1, 0);
|
||||||
INSERT INTO `bb_cron` VALUES (4, 1, 'Board maintenance', 'bb_maintenance.php', 'daily', NULL, '05:00:00', 40, '', '', NULL, 1, '', 0, 1, 0);
|
INSERT INTO `bb_cron` VALUES (4, 1, 'Board maintenance', 'bb_maintenance.php', 'daily', NULL, '05:00:00', 40, '', '', NULL, 1, '', 0, 1, 0);
|
||||||
INSERT INTO `bb_cron` VALUES (5, 1, 'Prune forums', 'prune_forums.php', 'daily', NULL, '05:00:00', 50, '', '', NULL, 1, '', 0, 1, 0);
|
INSERT INTO `bb_cron` VALUES (5, 1, 'Prune forums', 'prune_forums.php', 'daily', NULL, '05:00:00', 50, '', '', NULL, 1, '', 0, 1, 0);
|
||||||
INSERT INTO `bb_cron` VALUES (6, 1, 'Prune topic moved stubs', 'prune_topic_moved.php', 'daily', NULL, '05:00:00', 60, '', '', NULL, 1, '', 0, 1, 0);
|
INSERT INTO `bb_cron` VALUES (6, 1, 'Prune topic moved stubs', 'prune_topic_moved.php', 'daily', NULL, '05:00:00', 60, '', '', NULL, 1, '', 0, 1, 0);
|
||||||
|
@ -659,7 +650,6 @@ 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 (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 (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 (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, 'Attach maintenance', 'attach_maintenance.php', 'daily', NULL, '05:00:00', 40, '', '', NULL, 1, '', 0, 1, 0);
|
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
@ -950,7 +940,7 @@ CREATE TABLE IF NOT EXISTS `bb_posts_text` (
|
||||||
-- Дамп данных таблицы `bb_posts_text`
|
-- Дамп данных таблицы `bb_posts_text`
|
||||||
--
|
--
|
||||||
|
|
||||||
INSERT INTO `bb_posts_text` VALUES (1, '[list]\n[*]Переделан поиск по топикам с выбором типа [none, mysql, sphinx] (только в tracker.php)\n[*]Удалены bbcode_uid и переход на class.bbcode\n[*]Изменён метод и способ кеширования (memcache, sqlite, db_sqlite, redis, eaccelerator, apc, xcache, filecache)\n[*]Изменён способ подключения к БД и отказ от глобальной переменной $db\n[*]Улучшенный дебагер\n[*]Полностью переписан и упрощен файл регистрации\n[*]Переписана капча (в том числе при быстром ответе у гостя)\n[*]Удаление файлов torrent.php и torstatus.php и перенос их функций в ajax\n[*]Ajax цитирование, изменение, редактирование, удаление сообщений\n[/list]');
|
INSERT INTO `bb_posts_text` VALUES (1, '[list]\n[*]Переделан поиск по топикам с выбором типа [none, mysql, sphinx] (только в tracker.php)\n[*]Удалены bbcode_uid и переход на class.bbcode\n[*]Изменен метод и способ кеширования (memcache, sqlite, db_sqlite, redis, eaccelerator, apc, xcache, filecache)\n[*]Изменен способ подключения к БД и отказ от глобальной переменной $db\n[*]Улучшенный дебагер\n[*]Полностью переписан и упрощен файл регистрации\n[*]Переписана капча (в том числе при быстром ответе у гостя)\n[*]Удаление файлов torrent.php и torstatus.php и перенос их функций в ajax\n[*]Ajax цитирование, изменение, редактирование, удаление сообщений\n[/list]');
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
@ -1383,8 +1373,7 @@ CREATE TABLE IF NOT EXISTS `bb_users` (
|
||||||
`user_last_privmsg` int(11) NOT NULL DEFAULT '0',
|
`user_last_privmsg` int(11) NOT NULL DEFAULT '0',
|
||||||
`user_opt` int(11) NOT NULL DEFAULT '0',
|
`user_opt` int(11) NOT NULL DEFAULT '0',
|
||||||
`user_rank` int(11) NOT NULL DEFAULT '0',
|
`user_rank` int(11) NOT NULL DEFAULT '0',
|
||||||
`user_avatar` varchar(100) NOT NULL DEFAULT '',
|
`avatar_ext_id` tinyint(4) NOT NULL,
|
||||||
`user_avatar_type` tinyint(4) NOT NULL DEFAULT '0',
|
|
||||||
`user_gender` tinyint(1) NOT NULL DEFAULT '0',
|
`user_gender` tinyint(1) NOT NULL DEFAULT '0',
|
||||||
`user_birthday` date NOT NULL DEFAULT '0000-00-00',
|
`user_birthday` date NOT NULL DEFAULT '0000-00-00',
|
||||||
`user_next_birthday_greeting` int(11) NOT NULL DEFAULT '0',
|
`user_next_birthday_greeting` int(11) NOT NULL DEFAULT '0',
|
||||||
|
@ -1412,9 +1401,9 @@ CREATE TABLE IF NOT EXISTS `bb_users` (
|
||||||
-- Дамп данных таблицы `bb_users`
|
-- Дамп данных таблицы `bb_users`
|
||||||
--
|
--
|
||||||
|
|
||||||
INSERT INTO `bb_users` VALUES (-1, 0, 'Guest', 'd41d8cd98f00b204e9800998ecf8427e', 0, 0, '0', 0, '0', 0, 0, 0.00, '', 0, 0, 0, 0, 0, '', 0, 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', 0, 0, 'default');
|
INSERT INTO `bb_users` VALUES (-1, 0, 'Guest', 'd41d8cd98f00b204e9800998ecf8427e', 0, 0, '0', 0, '0', 0, 0, 0.00, '', 0, 0, 0, 0, 0, '', 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', 0, 0, 'default');
|
||||||
INSERT INTO `bb_users` VALUES (2, 1, 'admin', 'c3284d0f94606de1fd2af172aba15bf3', 0, 0, '0', 0, '0', 1, 1, 4.00, '', 0, 0, 0, 304, 1, '', 1, 0, 0, 0, 'admin@admin.com', '', '', '', '', '', '', '', '', '', '', 0, 0, 'default');
|
INSERT INTO `bb_users` VALUES (2, 1, 'admin', 'c3284d0f94606de1fd2af172aba15bf3', 0, 0, '0', 0, '0', 1, 1, 4.00, '', 0, 0, 0, 304, 1, '', 0, 0, 0, 'admin@admin.com', '', '', '', '', '', '', '', '', '', '', 0, 0, 'default');
|
||||||
INSERT INTO `bb_users` VALUES (-746, 0, 'bot', 'd41d8cd98f00b204e9800998ecf8427e', 0, 0, '0', 0, '0', 0, 0, 0.00, '', 0, 0, 0, 144, 0, 'bot.gif', 1, 0, 0, 0, 'bot@bot.bot', '', '', '', '', '', '', '', '', '', '', 0, 0, 'default');
|
INSERT INTO `bb_users` VALUES (-746, 0, 'bot', 'd41d8cd98f00b204e9800998ecf8427e', 0, 0, '0', 0, '0', 0, 0, 0.00, '', 0, 0, 0, 144, 0, '', 0, 0, 0, 'bot@bot.bot', '', '', '', '', '', '', '', '', '', '', 0, 0, 'default');
|
||||||
|
|
||||||
-- --------------------------------------------------------
|
-- --------------------------------------------------------
|
||||||
|
|
||||||
|
|
93
upgrade/r583-convert_avatars.php
Normal file
93
upgrade/r583-convert_avatars.php
Normal file
|
@ -0,0 +1,93 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
define('IN_FORUM', true);
|
||||||
|
define('BB_ROOT', './');
|
||||||
|
require(BB_ROOT .'common.php');
|
||||||
|
require(INC_DIR .'functions_upload.php');
|
||||||
|
|
||||||
|
while (@ob_end_flush());
|
||||||
|
ob_implicit_flush();
|
||||||
|
error_reporting(E_ALL);
|
||||||
|
ini_set('display_errors', 1);
|
||||||
|
|
||||||
|
$user->session_start();
|
||||||
|
|
||||||
|
set_die_append_msg();
|
||||||
|
if (!IS_SUPER_ADMIN) bb_die($lang['ONLY_FOR_SUPER_ADMIN']);
|
||||||
|
|
||||||
|
$confirm = request_var('confirm', '');
|
||||||
|
|
||||||
|
if ($confirm)
|
||||||
|
{
|
||||||
|
DB()->query("ALTER TABLE ". BB_USERS ." ADD `avatar_ext_id` TINYINT( 4 ) NOT NULL AFTER `user_rank`");
|
||||||
|
|
||||||
|
$rows_per_cycle = 10000;
|
||||||
|
|
||||||
|
$row = DB()->fetch_row("SELECT MAX(user_id) AS end_id FROM ". BB_USERS);
|
||||||
|
$end_id = (int) $row['end_id'];
|
||||||
|
$start = $avatars_ok = $avatars_err = 0;
|
||||||
|
|
||||||
|
echo "<pre>\n";
|
||||||
|
|
||||||
|
while (true)
|
||||||
|
{
|
||||||
|
set_time_limit(600);
|
||||||
|
echo "$start [ $avatars_ok / $avatars_err ]\n";
|
||||||
|
$end = $start + $rows_per_cycle - 1;
|
||||||
|
$sql = "
|
||||||
|
SELECT user_id, avatar_ext_id, user_avatar
|
||||||
|
FROM ". BB_USERS ."
|
||||||
|
WHERE user_avatar != ''
|
||||||
|
AND avatar_ext_id = 0
|
||||||
|
AND user_id BETWEEN $start AND $end
|
||||||
|
ORDER BY NULL
|
||||||
|
";
|
||||||
|
|
||||||
|
foreach (DB()->fetch_rowset($sql) as $row)
|
||||||
|
{
|
||||||
|
$FILE = array(
|
||||||
|
'name' => '',
|
||||||
|
'type' => '',
|
||||||
|
'size' => 0,
|
||||||
|
'tmp_name' => BB_ROOT . $bb_cfg['avatar_path'] .'/'. basename($row['user_avatar']),
|
||||||
|
'error' => 0,
|
||||||
|
);
|
||||||
|
$upload = new upload_common();
|
||||||
|
|
||||||
|
if ($upload->init($bb_cfg['avatars'], $FILE, false) AND $upload->store('avatar', $row))
|
||||||
|
{
|
||||||
|
DB()->query("UPDATE ". BB_USERS ." SET avatar_ext_id = {$upload->file_ext_id} WHERE user_id = {$row['user_id']} LIMIT 1");
|
||||||
|
$avatars_ok++;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
echo "{$row['user_id']}: ", join("\n{$row['user_id']}: ", $upload->errors), "\n";
|
||||||
|
$avatars_err++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($end > $end_id)
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
$start += $rows_per_cycle;
|
||||||
|
sleep(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
echo "---------- База данных успешно обновлена. Аватары указанных выше пользователей перенесены не были. ----------\n";
|
||||||
|
|
||||||
|
DB()->query("ALTER TABLE ". BB_USERS ." DROP `user_avatar`");
|
||||||
|
DB()->query("ALTER TABLE ". BB_USERS ." DROP `user_avatar_type`");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$msg = '<form method="POST">';
|
||||||
|
$msg .= '<h1 style="color: red">Перед тем как нажать на кнопку, сделайте бекап базы данных! В ходе обновления базы данных, произойдет автоматическая конвертация имеющихся аватаров пользователей
|
||||||
|
по новому алгоритму. Для конвертации аватарка пользователя должна соответствовать текущим значениям из конфига: ширина не более '.$bb_cfg['avatars']['max_width'].' пикселов, высота не более '.$bb_cfg['avatars']['max_height'].' пикселов
|
||||||
|
и объем не более '.$bb_cfg['avatars']['max_size'].' байт. Если эти условия не соблюдены - аватарка пользователя не будет конвертирована и пользователю придется залить ее заново! Если вы хотите поправить указанные
|
||||||
|
значения - ПЕРЕД обновлением базы данных сделайте это в config.php!</h1><br />';
|
||||||
|
$msg .= '<input type="submit" name="confirm" value="Начать обновление Базы Данных (R583)" style="height: 30px; font:bold 14px Arial, Helvetica, sans-serif;" />';
|
||||||
|
$msg .= '</form>';
|
||||||
|
|
||||||
|
bb_die($msg);
|
||||||
|
}
|
|
@ -38,16 +38,6 @@ else
|
||||||
|
|
||||||
$new[$config_name] = isset($_POST[$config_name]) ? $_POST[$config_name] : $default_config[$config_name];
|
$new[$config_name] = isset($_POST[$config_name]) ? $_POST[$config_name] : $default_config[$config_name];
|
||||||
|
|
||||||
// Attempt to prevent a mistake with this value.
|
|
||||||
if ($config_name == 'avatar_path')
|
|
||||||
{
|
|
||||||
$new['avatar_path'] = trim($new['avatar_path']);
|
|
||||||
if (strstr($new['avatar_path'], "\0") || !is_dir(BB_ROOT . $new['avatar_path']) || !is_writable(BB_ROOT . $new['avatar_path']))
|
|
||||||
{
|
|
||||||
$new['avatar_path'] = $default_config['avatar_path'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isset($_POST['submit']) && $row['config_value'] != $new[$config_name])
|
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 == 'seed_bonus_points' || $config_name == 'seed_bonus_release') $new[$config_name] = serialize($new[$config_name]);
|
||||||
|
@ -146,13 +136,6 @@ switch($mode)
|
||||||
'CONFIG_SITE_DESCRIPTION' => htmlCHR($new['site_desc']),
|
'CONFIG_SITE_DESCRIPTION' => htmlCHR($new['site_desc']),
|
||||||
'DISABLE_BOARD' => ($new['board_disable']) ? true : false,
|
'DISABLE_BOARD' => ($new['board_disable']) ? true : false,
|
||||||
|
|
||||||
'ACTIVATION_NONE' => USER_ACTIVATION_NONE,
|
|
||||||
'ACTIVATION_NONE_CHECKED' => ($new['require_activation'] == USER_ACTIVATION_NONE) ? 'checked="checked"' : '',
|
|
||||||
'ACTIVATION_USER' => USER_ACTIVATION_SELF,
|
|
||||||
'ACTIVATION_USER_CHECKED' => ($new['require_activation'] == USER_ACTIVATION_SELF) ? 'checked="checked"' : '',
|
|
||||||
'ACTIVATION_ADMIN' => USER_ACTIVATION_ADMIN,
|
|
||||||
'ACTIVATION_ADMIN_CHECKED' => ($new['require_activation'] == USER_ACTIVATION_ADMIN) ? 'checked="checked"' : '',
|
|
||||||
|
|
||||||
'ALLOW_AUTOLOGIN' => ($new['allow_autologin']) ? true : false,
|
'ALLOW_AUTOLOGIN' => ($new['allow_autologin']) ? true : false,
|
||||||
'AUTOLOGIN_TIME' => (int) $new['max_autologin_time'],
|
'AUTOLOGIN_TIME' => (int) $new['max_autologin_time'],
|
||||||
'MAX_POLL_OPTIONS' => $new['max_poll_options'],
|
'MAX_POLL_OPTIONS' => $new['max_poll_options'],
|
||||||
|
@ -171,14 +154,6 @@ switch($mode)
|
||||||
'ALLOW_SIG' => ($new['allow_sig']) ? true : false,
|
'ALLOW_SIG' => ($new['allow_sig']) ? true : false,
|
||||||
'SIG_SIZE' => $new['max_sig_chars'],
|
'SIG_SIZE' => $new['max_sig_chars'],
|
||||||
'ALLOW_NAMECHANGE' => ($new['allow_namechange']) ? true : false,
|
'ALLOW_NAMECHANGE' => ($new['allow_namechange']) ? true : false,
|
||||||
'ALLOW_AVATARS_LOCAL' => ($new['allow_avatar_local']) ? true : false,
|
|
||||||
'ALLOW_AVATAR_UPLOAD' => ($new['allow_avatar_upload']) ? true : false,
|
|
||||||
'AVATAR_FILESIZE' => $new['avatar_filesize'],
|
|
||||||
'AVATAR_MAX_HEIGHT' => $new['avatar_max_height'],
|
|
||||||
'AVATAR_MAX_WIDTH' => $new['avatar_max_width'],
|
|
||||||
'AVATAR_PATH' => $new['avatar_path'],
|
|
||||||
'AVATAR_GALLERY_PATH' => $new['avatar_gallery_path'],
|
|
||||||
'NO_AVATAR' => $new['no_avatar'],
|
|
||||||
'SMILIES_PATH' => $new['smilies_path'],
|
'SMILIES_PATH' => $new['smilies_path'],
|
||||||
));
|
));
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -9,7 +9,9 @@ if (!empty($setmodules))
|
||||||
require('./pagestart.php');
|
require('./pagestart.php');
|
||||||
// ACP Header - END
|
// ACP Header - END
|
||||||
|
|
||||||
require(INC_DIR .'functions_group.php');
|
require(INC_DIR .'functions_group.php');
|
||||||
|
|
||||||
|
array_deep($_POST, 'trim');
|
||||||
|
|
||||||
$s = '';
|
$s = '';
|
||||||
|
|
||||||
|
@ -126,11 +128,6 @@ if ($mode)
|
||||||
|
|
||||||
$forumstatus == ( FORUM_LOCKED ) ? $forumlocked = 'selected="selected"' : $forumunlocked = 'selected="selected"';
|
$forumstatus == ( FORUM_LOCKED ) ? $forumlocked = 'selected="selected"' : $forumunlocked = 'selected="selected"';
|
||||||
|
|
||||||
// These two options ($lang['STATUS_UNLOCKED'] and $lang['STATUS_LOCKED']) seem to be missing from
|
|
||||||
// the language files.
|
|
||||||
$lang['STATUS_UNLOCKED'] = isset($lang['STATUS_UNLOCKED']) ? $lang['STATUS_UNLOCKED'] : 'Unlocked';
|
|
||||||
$lang['STATUS_LOCKED'] = isset($lang['STATUS_LOCKED']) ? $lang['STATUS_LOCKED'] : 'Locked';
|
|
||||||
|
|
||||||
$statuslist = '<option value="' . FORUM_UNLOCKED . '" '. $forumunlocked .'>' . $lang['STATUS_UNLOCKED'] . '</option>\n';
|
$statuslist = '<option value="' . FORUM_UNLOCKED . '" '. $forumunlocked .'>' . $lang['STATUS_UNLOCKED'] . '</option>\n';
|
||||||
$statuslist .= '<option value="' . FORUM_LOCKED . '" '. $forumlocked .'>' . $lang['STATUS_LOCKED'] . '</option>\n';
|
$statuslist .= '<option value="' . FORUM_LOCKED . '" '. $forumlocked .'>' . $lang['STATUS_LOCKED'] . '</option>\n';
|
||||||
|
|
||||||
|
@ -176,8 +173,8 @@ if ($mode)
|
||||||
// Create a forum in the DB
|
// Create a forum in the DB
|
||||||
//
|
//
|
||||||
$cat_id = intval($_POST[POST_CAT_URL]);
|
$cat_id = intval($_POST[POST_CAT_URL]);
|
||||||
$forum_name = DB()->escape(trim($_POST['forumname']));
|
$forum_name = (string) $_POST['forumname'];
|
||||||
$forum_desc = DB()->escape(trim($_POST['forumdesc']));
|
$forum_desc = (string) $_POST['forumdesc'];
|
||||||
$forum_status = intval($_POST['forumstatus']);
|
$forum_status = intval($_POST['forumstatus']);
|
||||||
|
|
||||||
$prune_days = intval($_POST['prune_days']);
|
$prune_days = intval($_POST['prune_days']);
|
||||||
|
@ -224,8 +221,11 @@ if ($mode)
|
||||||
$value_sql .= ", $value";
|
$value_sql .= ", $value";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$forum_name_sql = DB()->escape($forum_name);
|
||||||
|
$forum_desc_sql = DB()->escape($forum_desc);
|
||||||
|
|
||||||
$columns = ' forum_name, cat_id, forum_desc, forum_order, forum_status, prune_days, forum_parent, show_on_index, forum_display_sort, forum_display_order, forum_tpl_id, allow_reg_tracker, allow_porno_topic, self_moderated'. $field_sql;
|
$columns = ' forum_name, cat_id, forum_desc, forum_order, forum_status, prune_days, forum_parent, show_on_index, forum_display_sort, forum_display_order, forum_tpl_id, allow_reg_tracker, allow_porno_topic, self_moderated'. $field_sql;
|
||||||
$values = "'$forum_name', $cat_id, '$forum_desc', $forum_order, $forum_status, $prune_days, $forum_parent, $show_on_index, $forum_display_sort, $forum_display_order, $forum_tpl_id, $allow_reg_tracker, $allow_porno_topic, $self_moderated". $value_sql;
|
$values = "'$forum_name_sql', $cat_id, '$forum_desc_sql', $forum_order, $forum_status, $prune_days, $forum_parent, $show_on_index, $forum_display_sort, $forum_display_order, $forum_tpl_id, $allow_reg_tracker, $allow_porno_topic, $self_moderated". $value_sql;
|
||||||
|
|
||||||
DB()->query("INSERT INTO ". BB_FORUMS ." ($columns) VALUES ($values)");
|
DB()->query("INSERT INTO ". BB_FORUMS ." ($columns) VALUES ($values)");
|
||||||
|
|
||||||
|
@ -243,8 +243,8 @@ if ($mode)
|
||||||
//
|
//
|
||||||
$cat_id = intval($_POST[POST_CAT_URL]);
|
$cat_id = intval($_POST[POST_CAT_URL]);
|
||||||
$forum_id = intval($_POST[POST_FORUM_URL]);
|
$forum_id = intval($_POST[POST_FORUM_URL]);
|
||||||
$forum_name = DB()->escape(trim($_POST['forumname']));
|
$forum_name = (string) $_POST['forumname'];
|
||||||
$forum_desc = DB()->escape(trim($_POST['forumdesc']));
|
$forum_desc = (string) $_POST['forumdesc'];
|
||||||
$forum_status = intval($_POST['forumstatus']);
|
$forum_status = intval($_POST['forumstatus']);
|
||||||
$prune_days = intval($_POST['prune_days']);
|
$prune_days = intval($_POST['prune_days']);
|
||||||
|
|
||||||
|
@ -294,11 +294,14 @@ if ($mode)
|
||||||
$forum_order = $cat_forums[$old_cat_id]['f'][$old_parent]['forum_order'] - 5;
|
$forum_order = $cat_forums[$old_cat_id]['f'][$old_parent]['forum_order'] - 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$forum_name_sql = DB()->escape($forum_name);
|
||||||
|
$forum_desc_sql = DB()->escape($forum_desc);
|
||||||
|
|
||||||
DB()->query("
|
DB()->query("
|
||||||
UPDATE ". BB_FORUMS ." SET
|
UPDATE ". BB_FORUMS ." SET
|
||||||
forum_name = '$forum_name',
|
forum_name = '$forum_name_sql',
|
||||||
cat_id = $cat_id,
|
cat_id = $cat_id,
|
||||||
forum_desc = '$forum_desc',
|
forum_desc = '$forum_desc_sql',
|
||||||
forum_order = $forum_order,
|
forum_order = $forum_order,
|
||||||
forum_status = $forum_status,
|
forum_status = $forum_status,
|
||||||
prune_days = $prune_days,
|
prune_days = $prune_days,
|
||||||
|
@ -469,26 +472,26 @@ if ($mode)
|
||||||
message_die(GENERAL_ERROR, "Ambiguous forum ID's", "", __LINE__, __FILE__);
|
message_die(GENERAL_ERROR, "Ambiguous forum ID's", "", __LINE__, __FILE__);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update topics
|
DB()->query("UPDATE ". BB_TOPICS ." SET forum_id = $to_id WHERE forum_id = $from_id");
|
||||||
DB()->query("
|
DB()->query("UPDATE ". BB_BT_TORRENTS ." SET forum_id = $to_id WHERE forum_id = $from_id");
|
||||||
UPDATE ". BB_TOPICS ." SET
|
|
||||||
forum_id = $to_id
|
|
||||||
WHERE forum_id = $from_id
|
|
||||||
");
|
|
||||||
|
|
||||||
// Update posts
|
$row = DB()->fetch_row("SELECT MIN(post_id) AS start_id, MAX(post_id) AS finish_id FROM ". BB_POSTS);
|
||||||
DB()->query("
|
$start_id = (int) $row['start_id'];
|
||||||
UPDATE ". BB_POSTS ." SET
|
$finish_id = (int) $row['finish_id'];
|
||||||
forum_id = $to_id
|
$per_cycle = 10000;
|
||||||
WHERE forum_id = $from_id
|
while (true)
|
||||||
");
|
{
|
||||||
|
set_time_limit(600);
|
||||||
// Update torrents
|
$end_id = $start_id + $per_cycle - 1;
|
||||||
DB()->query("
|
DB()->query("
|
||||||
UPDATE ". BB_BT_TORRENTS ." SET
|
UPDATE ". BB_POSTS ." SET forum_id = $to_id WHERE post_id BETWEEN $start_id AND $end_id AND forum_id = $from_id
|
||||||
forum_id = $to_id
|
");
|
||||||
WHERE forum_id = $from_id
|
if ($end_id > $finish_id)
|
||||||
");
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
$start_id += $per_cycle;
|
||||||
|
}
|
||||||
|
|
||||||
sync('forum', $to_id);
|
sync('forum', $to_id);
|
||||||
}
|
}
|
||||||
|
@ -607,6 +610,7 @@ if ($mode)
|
||||||
{
|
{
|
||||||
if ($forum_info['forum_parent'] && $prev_forum['forum_parent'] != $forum_info['forum_parent'])
|
if ($forum_info['forum_parent'] && $prev_forum['forum_parent'] != $forum_info['forum_parent'])
|
||||||
{
|
{
|
||||||
|
$show_main_page = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if ($move_down_forum_id = get_prev_root_forum_id($forums, $forum_order))
|
else if ($move_down_forum_id = get_prev_root_forum_id($forums, $forum_order))
|
||||||
|
@ -622,6 +626,7 @@ if ($mode)
|
||||||
{
|
{
|
||||||
if ($forum_info['forum_parent'] && $next_forum['forum_parent'] != $forum_info['forum_parent'])
|
if ($forum_info['forum_parent'] && $next_forum['forum_parent'] != $forum_info['forum_parent'])
|
||||||
{
|
{
|
||||||
|
$show_main_page = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
else if ($move_up_forum_id = get_next_root_forum_id($forums, $forum_order))
|
else if ($move_up_forum_id = get_next_root_forum_id($forums, $forum_order))
|
||||||
|
@ -640,36 +645,26 @@ if ($mode)
|
||||||
|
|
||||||
if ($forum_info['forum_parent'])
|
if ($forum_info['forum_parent'])
|
||||||
{
|
{
|
||||||
$sql = 'UPDATE ' . BB_FORUMS . " SET
|
DB()->query("
|
||||||
|
UPDATE ". BB_FORUMS ." SET
|
||||||
forum_order = forum_order + $move
|
forum_order = forum_order + $move
|
||||||
WHERE forum_id = $forum_id";
|
WHERE forum_id = $forum_id
|
||||||
|
");
|
||||||
if (!DB()->sql_query($sql))
|
|
||||||
{
|
|
||||||
message_die(GENERAL_ERROR, "Couldn't change forum order", '', __LINE__, __FILE__, $sql);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if ($move_down_forum_id)
|
else if ($move_down_forum_id)
|
||||||
{
|
{
|
||||||
$sql = 'UPDATE '. BB_FORUMS ." SET
|
DB()->query("
|
||||||
|
UPDATE ". BB_FORUMS ." SET
|
||||||
forum_order = forum_order + $move_down_ord_val
|
forum_order = forum_order + $move_down_ord_val
|
||||||
WHERE cat_id = $cat_id
|
WHERE cat_id = $cat_id
|
||||||
AND forum_order >= $move_down_forum_order";
|
AND forum_order >= $move_down_forum_order
|
||||||
|
");
|
||||||
if (!DB()->sql_query($sql))
|
DB()->query("
|
||||||
{
|
UPDATE ". BB_FORUMS ." SET
|
||||||
message_die(GENERAL_ERROR, "Couldn't change forum order", '', __LINE__, __FILE__, $sql);
|
|
||||||
}
|
|
||||||
|
|
||||||
$sql = 'UPDATE '. BB_FORUMS ." SET
|
|
||||||
forum_order = forum_order - $move_up_ord_val
|
forum_order = forum_order - $move_up_ord_val
|
||||||
WHERE forum_id = $move_up_forum_id
|
WHERE forum_id = $move_up_forum_id
|
||||||
OR forum_parent = $move_up_forum_id";
|
OR forum_parent = $move_up_forum_id
|
||||||
|
");
|
||||||
if (!DB()->sql_query($sql))
|
|
||||||
{
|
|
||||||
message_die(GENERAL_ERROR, "Couldn't change forum order", '', __LINE__, __FILE__, $sql);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
renumber_order('forum', $forum_info['cat_id']);
|
renumber_order('forum', $forum_info['cat_id']);
|
||||||
|
@ -773,13 +768,14 @@ if (!$mode || $show_main_page)
|
||||||
|
|
||||||
$template->assign_vars(array(
|
$template->assign_vars(array(
|
||||||
'U_ALL_FORUMS' => "admin_forums.php?c=all",
|
'U_ALL_FORUMS' => "admin_forums.php?c=all",
|
||||||
|
'FORUMS_COUNT' => $total_forums,
|
||||||
));
|
));
|
||||||
|
|
||||||
for($i = 0; $i < $total_categories; $i++)
|
for($i = 0; $i < $total_categories; $i++)
|
||||||
{
|
{
|
||||||
$cat_id = $category_rows[$i]['cat_id'];
|
$cat_id = $category_rows[$i]['cat_id'];
|
||||||
|
|
||||||
$template->assign_block_vars('catrow', array(
|
$template->assign_block_vars("c", array(
|
||||||
'S_ADD_FORUM_SUBMIT' => "addforum[$cat_id]",
|
'S_ADD_FORUM_SUBMIT' => "addforum[$cat_id]",
|
||||||
'S_ADD_FORUM_NAME' => "forumname[$cat_id]",
|
'S_ADD_FORUM_NAME' => "forumname[$cat_id]",
|
||||||
|
|
||||||
|
@ -804,7 +800,7 @@ if (!$mode || $show_main_page)
|
||||||
if ($forum_rows[$j]['cat_id'] == $cat_id)
|
if ($forum_rows[$j]['cat_id'] == $cat_id)
|
||||||
{
|
{
|
||||||
|
|
||||||
$template->assign_block_vars('catrow.forumrow', array(
|
$template->assign_block_vars("c.f", array(
|
||||||
'FORUM_NAME' => htmlCHR($forum_rows[$j]['forum_name']),
|
'FORUM_NAME' => htmlCHR($forum_rows[$j]['forum_name']),
|
||||||
'FORUM_DESC' => htmlCHR($forum_rows[$j]['forum_desc']),
|
'FORUM_DESC' => htmlCHR($forum_rows[$j]['forum_desc']),
|
||||||
'NUM_TOPICS' => $forum_rows[$j]['forum_topics'],
|
'NUM_TOPICS' => $forum_rows[$j]['forum_topics'],
|
||||||
|
@ -822,6 +818,7 @@ if (!$mode || $show_main_page)
|
||||||
'ADD_SUB_HREF' => "admin_forums.php?mode=addforum&forum_parent={$forum_rows[$j]['forum_id']}",
|
'ADD_SUB_HREF' => "admin_forums.php?mode=addforum&forum_parent={$forum_rows[$j]['forum_id']}",
|
||||||
'U_VIEWFORUM' => BB_ROOT ."viewforum.php?f=$forum_id",
|
'U_VIEWFORUM' => BB_ROOT ."viewforum.php?f=$forum_id",
|
||||||
'U_FORUM_EDIT' => "admin_forums.php?mode=editforum&f=$forum_id",
|
'U_FORUM_EDIT' => "admin_forums.php?mode=editforum&f=$forum_id",
|
||||||
|
'U_FORUM_PERM' => "admin_forumauth.php?f=$forum_id",
|
||||||
'U_FORUM_DELETE' => "admin_forums.php?mode=deleteforum&f=$forum_id",
|
'U_FORUM_DELETE' => "admin_forums.php?mode=deleteforum&f=$forum_id",
|
||||||
'U_FORUM_MOVE_UP' => "admin_forums.php?mode=forum_order&move=-15&f=$forum_id&c=$req_cat_id",
|
'U_FORUM_MOVE_UP' => "admin_forums.php?mode=forum_order&move=-15&f=$forum_id&c=$req_cat_id",
|
||||||
'U_FORUM_MOVE_DOWN' => "admin_forums.php?mode=forum_order&move=15&f=$forum_id&c=$req_cat_id",
|
'U_FORUM_MOVE_DOWN' => "admin_forums.php?mode=forum_order&move=15&f=$forum_id&c=$req_cat_id",
|
||||||
|
@ -925,16 +922,17 @@ function get_list($mode, $id, $select)
|
||||||
|
|
||||||
$catlist = '';
|
$catlist = '';
|
||||||
|
|
||||||
while( $row = DB()->sql_fetchrow($result) )
|
while( $row = DB()->sql_fetchrow($result) )
|
||||||
{
|
{
|
||||||
$s = '';
|
$s = '';
|
||||||
if ($row[$idfield] == $id)
|
if ($row[$idfield] == $id)
|
||||||
{
|
{
|
||||||
$s = ' selected="selected"';
|
$s = ' selected="selected"';
|
||||||
}
|
}
|
||||||
$catlist .= '<option value="'. $row[$idfield] .'"'.$s.'> ' . htmlCHR(str_short($row[$namefield], 60)) . '</option>\n';
|
$catlist .= '<option value="'. $row[$idfield] .'"'.$s.'> ' . htmlCHR(str_short($row[$namefield], 60)) . '</option>\n';
|
||||||
}
|
}
|
||||||
return($catlist);
|
|
||||||
|
return($catlist);
|
||||||
}
|
}
|
||||||
|
|
||||||
function renumber_order($mode, $cat = 0)
|
function renumber_order($mode, $cat = 0)
|
||||||
|
|
|
@ -83,6 +83,7 @@ class ajax_common
|
||||||
'group_membership' => array('mod'),
|
'group_membership' => array('mod'),
|
||||||
'post_mod_comment' => array('mod'),
|
'post_mod_comment' => array('mod'),
|
||||||
|
|
||||||
|
'avatar' => array('user'),
|
||||||
'gen_passkey' => array('user'),
|
'gen_passkey' => array('user'),
|
||||||
'change_torrent' => array('user'),
|
'change_torrent' => array('user'),
|
||||||
'change_tor_status' => array('user'),
|
'change_tor_status' => array('user'),
|
||||||
|
@ -399,4 +400,9 @@ class ajax_common
|
||||||
{
|
{
|
||||||
require(AJAX_DIR . 'view_profile.php');
|
require(AJAX_DIR . 'view_profile.php');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function avatar()
|
||||||
|
{
|
||||||
|
require(AJAX_DIR . 'avatar.php');
|
||||||
|
}
|
||||||
}
|
}
|
33
upload/ajax/avatar.php
Normal file
33
upload/ajax/avatar.php
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
global $user;
|
||||||
|
|
||||||
|
$mode = (string) $this->request['mode'];
|
||||||
|
$user_id = (int) $this->request['user_id'];
|
||||||
|
|
||||||
|
if (!$user_id OR !$u_data = get_userdata($user_id))
|
||||||
|
{
|
||||||
|
$this->ajax_die('invalid user_id');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!IS_ADMIN && $user_id != $user->id)
|
||||||
|
{
|
||||||
|
$this->ajax_die('Не админ');
|
||||||
|
}
|
||||||
|
|
||||||
|
switch ($mode)
|
||||||
|
{
|
||||||
|
case 'delete':
|
||||||
|
delete_avatar($user_id, $u_data['avatar_ext_id']);
|
||||||
|
$new_ext_id = 0;
|
||||||
|
$response = 'Аватар: удален';
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
$this->ajax_die('invalid mode');
|
||||||
|
}
|
||||||
|
|
||||||
|
DB()->query("UPDATE ". BB_USERS ." SET avatar_ext_id = $new_ext_id WHERE user_id = $user_id LIMIT 1");
|
||||||
|
|
||||||
|
cache_rm_user_sessions($user_id);
|
||||||
|
|
||||||
|
$this->response['avatar_html'] = $response;
|
|
@ -40,7 +40,7 @@ switch ($mode)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// скрытая группа и сам юзер не является её членом
|
// скрытая группа и сам юзер не является ее членом
|
||||||
if ($row['group_type'] == GROUP_HIDDEN && !$row['can_view'])
|
if ($row['group_type'] == GROUP_HIDDEN && !$row['can_view'])
|
||||||
{
|
{
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -96,7 +96,7 @@ switch ($mode)
|
||||||
case 'sync_topics':
|
case 'sync_topics':
|
||||||
|
|
||||||
sync('topic', 'all');
|
sync('topic', 'all');
|
||||||
sync('forum', 'all');
|
sync_all_forums();
|
||||||
|
|
||||||
$this->response['sync_topics_html'] = '<span class="seed bold">'. $lang['TOPICS_DATA_SYNCHRONIZED'] .'</span>';
|
$this->response['sync_topics_html'] = '<span class="seed bold">'. $lang['TOPICS_DATA_SYNCHRONIZED'] .'</span>';
|
||||||
|
|
||||||
|
|
|
@ -493,15 +493,19 @@ if ($tor_reged && $tor_info)
|
||||||
$tr[$x]++;
|
$tr[$x]++;
|
||||||
|
|
||||||
$template->assign_block_vars("$x_full.$x_row", array(
|
$template->assign_block_vars("$x_full.$x_row", array(
|
||||||
'ROW_BGR' => $row_bgr,
|
'ROW_BGR' => $row_bgr,
|
||||||
'NAME' => ($peer['update_time']) ? $name : "<s>$name</s>",
|
'NAME' => ($peer['update_time']) ? $name : "<s>$name</s>",
|
||||||
'COMPL_PRC' => $compl_perc,
|
'COMPL_PRC' => $compl_perc,
|
||||||
'UP_TOTAL' => ($max_up_id[$x] == $pid) ? "<b>$up_tot</b>" : $up_tot,
|
'UP_TOTAL' => ($max_up_id[$x] == $pid) ? "<b>$up_tot</b>" : $up_tot,
|
||||||
'DOWN_TOTAL' => ($max_down_id[$x] == $pid) ? "<b>$down_tot</b>" : $down_tot,
|
'DOWN_TOTAL' => ($max_down_id[$x] == $pid) ? "<b>$down_tot</b>" : $down_tot,
|
||||||
'SPEED_UP' => ($max_sp_up_id[$x] == $pid) ? "<b>$sp_up</b>" : $sp_up,
|
'SPEED_UP' => ($max_sp_up_id[$x] == $pid) ? "<b>$sp_up</b>" : $sp_up,
|
||||||
'SPEED_DOWN' => ($max_sp_down_id[$x] == $pid) ? "<b>$sp_down</b>" : $sp_down,
|
'SPEED_DOWN' => ($max_sp_down_id[$x] == $pid) ? "<b>$sp_down</b>" : $sp_down,
|
||||||
'UPD_EXP_TIME' => ($peer['update_time']) ? $lang['DL_UPD'] . bb_date($peer['update_time'], 'd-M-y H:i') .' · '. delta_time($peer['update_time']) . $lang['TOR_BACK'] : $lang['DL_STOPPED'],
|
'UP_TOTAL_RAW' => $peer['uploaded'],
|
||||||
'TOR_RATIO' => ($up_ratio) ? "UL/DL ratio: $up_ratio" : '',
|
'DOWN_TOTAL_RAW' => $peer['downloaded'],
|
||||||
|
'SPEED_UP_RAW' => $peer['speed_up'],
|
||||||
|
'SPEED_DOWN_RAW' => $peer['speed_down'],
|
||||||
|
'UPD_EXP_TIME' => ($peer['update_time']) ? $lang['DL_UPD'] . bb_date($peer['update_time'], 'd-M-y H:i') .' · '. delta_time($peer['update_time']) . $lang['TOR_BACK'] : $lang['DL_STOPPED'],
|
||||||
|
'TOR_RATIO' => ($up_ratio) ? $lang['USER_RATIO'] . "UL/DL: $up_ratio" : '',
|
||||||
));
|
));
|
||||||
|
|
||||||
if ($ip)
|
if ($ip)
|
||||||
|
|
|
@ -55,8 +55,8 @@ $domain_name = (!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : $do
|
||||||
|
|
||||||
// Increase number of revision after update
|
// Increase number of revision after update
|
||||||
$bb_cfg['tp_version'] = '2.6 (RC)';
|
$bb_cfg['tp_version'] = '2.6 (RC)';
|
||||||
$bb_cfg['tp_release_date'] = '09-02-2014';
|
$bb_cfg['tp_release_date'] = '11-02-2014';
|
||||||
$bb_cfg['tp_release_state'] = 'R582';
|
$bb_cfg['tp_release_state'] = 'R583';
|
||||||
|
|
||||||
// Database
|
// Database
|
||||||
$charset = 'utf8';
|
$charset = 'utf8';
|
||||||
|
@ -314,10 +314,11 @@ $bb_cfg['max_last_visit_days'] = 14; // days
|
||||||
$bb_cfg['last_visit_update_intrv'] = 3600; // sec
|
$bb_cfg['last_visit_update_intrv'] = 3600; // sec
|
||||||
|
|
||||||
// Registration
|
// Registration
|
||||||
$bb_cfg['invalid_logins'] = 5; // Кол-во неверных попыток ввода пароля, перед выводом проверки капчи
|
$bb_cfg['invalid_logins'] = 5; // Количество неверных попыток ввода пароля, перед выводом проверки капчей
|
||||||
$bb_cfg['new_user_reg_disabled'] = false; // Disable new user registrations
|
$bb_cfg['new_user_reg_disabled'] = false; // Запретить регистрацию новых учетных записей
|
||||||
$bb_cfg['unique_ip'] = false; // Deny registration of several accounts by one ip
|
$bb_cfg['unique_ip'] = false; // Запретить регистрацию нескольких учетных записей с одного ip
|
||||||
$bb_cfg['new_user_reg_restricted'] = false;
|
$bb_cfg['new_user_reg_restricted'] = false; // Ограничить регистрацию новых пользователей по времени с 01:00 до 17:00
|
||||||
|
$bb_cfg['reg_email_activation'] = false; // Требовать активацию учетной записи по email
|
||||||
|
|
||||||
// Email
|
// Email
|
||||||
$bb_cfg['emailer_disabled'] = false;
|
$bb_cfg['emailer_disabled'] = false;
|
||||||
|
@ -513,6 +514,39 @@ $bb_cfg['ad_blocks'] = array(
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Attachments
|
||||||
|
$bb_cfg['attach'] = array(
|
||||||
|
'upload_path' => BB_ROOT . 'torrents', // without '/'
|
||||||
|
'max_size' => 250*1024, // bytes
|
||||||
|
);
|
||||||
|
|
||||||
|
$bb_cfg['file_id_ext'] = array(
|
||||||
|
1 => 'gif',
|
||||||
|
2 => 'gz',
|
||||||
|
3 => 'jpg',
|
||||||
|
4 => 'png',
|
||||||
|
5 => 'rar',
|
||||||
|
6 => 'tar',
|
||||||
|
7 => 'tiff',
|
||||||
|
8 => 'torrent',
|
||||||
|
9 => 'zip',
|
||||||
|
);
|
||||||
|
|
||||||
|
$bb_cfg['tor_forums_allowed_ext'] = array('torrent', 'zip', 'rar'); // для разделов с раздачами
|
||||||
|
$bb_cfg['gen_forums_allowed_ext'] = array('zip', 'rar'); // для обычных разделов
|
||||||
|
|
||||||
|
// Avatars
|
||||||
|
$bb_cfg['avatars'] = array(
|
||||||
|
'allowed_ext' => array('gif','jpg','png'), // разрешенные форматы файлов
|
||||||
|
'bot_avatar' => 'gallery/bot.gif', // аватара бота
|
||||||
|
'max_size' => 15*1024, // размер аватары в байтах
|
||||||
|
'max_height' => 100, // высота аватара в px
|
||||||
|
'max_width' => 100, // ширина аватара в px
|
||||||
|
'no_avatar' => 'gallery/noavatar.png', // дефолтная аватара
|
||||||
|
'upload_path' => BB_ROOT . 'images/avatars/', // путь к директории с аватарами
|
||||||
|
'up_allowed' => true, // разрешить загрузку аватар
|
||||||
|
);
|
||||||
|
|
||||||
// Misc
|
// Misc
|
||||||
define('MEM_USAGE', function_exists('memory_get_usage'));
|
define('MEM_USAGE', function_exists('memory_get_usage'));
|
||||||
|
|
||||||
|
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
@ -48,6 +48,7 @@ foreach ($cron_jobs as $job)
|
||||||
$msg[] = 'start';
|
$msg[] = 'start';
|
||||||
$msg[] = date('m-d');
|
$msg[] = date('m-d');
|
||||||
$msg[] = date('H:i:s');
|
$msg[] = date('H:i:s');
|
||||||
|
$msg[] = sprintf('%-4s', round(sys('la'), 1));
|
||||||
$msg[] = sprintf('%05d', getmypid());
|
$msg[] = sprintf('%05d', getmypid());
|
||||||
$msg[] = $job['cron_title'];
|
$msg[] = $job['cron_title'];
|
||||||
$msg = join(LOG_SEPR, $msg);
|
$msg = join(LOG_SEPR, $msg);
|
||||||
|
@ -59,7 +60,7 @@ foreach ($cron_jobs as $job)
|
||||||
DB()->log_next_query(100000, $cron_sql_log_file);
|
DB()->log_next_query(100000, $cron_sql_log_file);
|
||||||
}
|
}
|
||||||
|
|
||||||
@set_time_limit(600);
|
set_time_limit(600);
|
||||||
require($job_script);
|
require($job_script);
|
||||||
|
|
||||||
if ($job['log_sql_queries'])
|
if ($job['log_sql_queries'])
|
||||||
|
@ -74,6 +75,7 @@ foreach ($cron_jobs as $job)
|
||||||
$msg[] = ' end';
|
$msg[] = ' end';
|
||||||
$msg[] = date('m-d');
|
$msg[] = date('m-d');
|
||||||
$msg[] = date('H:i:s');
|
$msg[] = date('H:i:s');
|
||||||
|
$msg[] = sprintf('%-4s', round(sys('la'), 1));
|
||||||
$msg[] = sprintf('%05d', getmypid());
|
$msg[] = sprintf('%05d', getmypid());
|
||||||
$msg[] = round(utime() - $cron_start_time) .'/'. round(utime() - TIMESTART) . ' sec';
|
$msg[] = round(utime() - $cron_start_time) .'/'. round(utime() - TIMESTART) . ' sec';
|
||||||
$msg = join(LOG_SEPR, $msg);
|
$msg = join(LOG_SEPR, $msg);
|
||||||
|
@ -112,7 +114,12 @@ foreach ($cron_jobs as $job)
|
||||||
LIMIT 1
|
LIMIT 1
|
||||||
");
|
");
|
||||||
|
|
||||||
sleep(3);
|
sleep(1);
|
||||||
|
|
||||||
|
if (utime() - TIMESTART > 600)
|
||||||
|
{
|
||||||
|
return; // чтобы daily скрипты не блокировали надолго interval'ные
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,117 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
if (!defined('BB_ROOT')) die(basename(__FILE__));
|
|
||||||
|
|
||||||
$fix_errors = true;
|
|
||||||
$debug_mode = false;
|
|
||||||
|
|
||||||
$tmp_tbl = 'avatars';
|
|
||||||
$db_max_packet = 800000;
|
|
||||||
$sql_limit = 1000;
|
|
||||||
|
|
||||||
$check_avatars = false;
|
|
||||||
$orphan_files = $orphan_db_avatars = array();
|
|
||||||
|
|
||||||
DB()->query("
|
|
||||||
CREATE TEMPORARY TABLE $tmp_tbl (
|
|
||||||
user_avatar VARCHAR(255) NOT NULL default '',
|
|
||||||
KEY user_avatar (user_avatar(20))
|
|
||||||
) ENGINE = MyISAM DEFAULT CHARSET = utf8
|
|
||||||
");
|
|
||||||
|
|
||||||
DB()->query("ALTER TABLE ". BB_USERS ." ADD INDEX user_avatar(user_avatar(10))");
|
|
||||||
|
|
||||||
$avatars_dir = BB_ROOT . $bb_cfg['avatar_path'];
|
|
||||||
|
|
||||||
// Get all names of existed avatars and insert them into $tmp_tbl
|
|
||||||
if ($dir = @opendir($avatars_dir))
|
|
||||||
{
|
|
||||||
$check_avatars = true;
|
|
||||||
$files = array();
|
|
||||||
$f_len = 0;
|
|
||||||
|
|
||||||
while (false !== ($f = readdir($dir)))
|
|
||||||
{
|
|
||||||
if ($f == 'index.php' || $f == '.htaccess' || is_dir("$avatars_dir/$f") || is_link("$avatars_dir/$f"))
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
$f = DB()->escape($f);
|
|
||||||
$files[] = "('$f')";
|
|
||||||
$f_len += strlen($f) + 5;
|
|
||||||
|
|
||||||
if ($f_len > $db_max_packet)
|
|
||||||
{
|
|
||||||
$files = join(',', $files);
|
|
||||||
DB()->query("INSERT INTO $tmp_tbl VALUES $files");
|
|
||||||
$files = array();
|
|
||||||
$f_len = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ($files = join(',', $files))
|
|
||||||
{
|
|
||||||
DB()->query("INSERT INTO $tmp_tbl VALUES $files");
|
|
||||||
}
|
|
||||||
closedir($dir);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($check_avatars)
|
|
||||||
{
|
|
||||||
// Delete avatars that exist in file system but not exist in DB
|
|
||||||
$sql = "SELECT f.user_avatar
|
|
||||||
FROM $tmp_tbl f
|
|
||||||
LEFT JOIN ". BB_USERS ." u USING(user_avatar)
|
|
||||||
WHERE u.user_avatar IS NULL
|
|
||||||
LIMIT $sql_limit";
|
|
||||||
|
|
||||||
foreach (DB()->fetch_rowset($sql) as $row)
|
|
||||||
{
|
|
||||||
if ($filename = basename($row['user_avatar']))
|
|
||||||
{
|
|
||||||
if ($fix_errors)
|
|
||||||
{
|
|
||||||
@unlink("$avatars_dir/$filename");
|
|
||||||
}
|
|
||||||
if ($debug_mode)
|
|
||||||
{
|
|
||||||
$orphan_files[] = "$avatars_dir/$filename";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Find DB records for avatars that exist in DB but not exist in file system
|
|
||||||
$sql = "SELECT u.user_id
|
|
||||||
FROM ". BB_USERS ." u
|
|
||||||
LEFT JOIN $tmp_tbl f USING(user_avatar)
|
|
||||||
WHERE u.user_avatar_type = ". USER_AVATAR_UPLOAD ."
|
|
||||||
AND f.user_avatar IS NULL
|
|
||||||
LIMIT $sql_limit";
|
|
||||||
|
|
||||||
foreach (DB()->fetch_rowset($sql) as $row)
|
|
||||||
{
|
|
||||||
$orphan_db_avatars[] = $row['user_id'];
|
|
||||||
}
|
|
||||||
// Delete all orphan avatars from DB
|
|
||||||
if ($orphans_sql = join(',', $orphan_db_avatars))
|
|
||||||
{
|
|
||||||
if ($fix_errors)
|
|
||||||
{
|
|
||||||
DB()->query("
|
|
||||||
UPDATE ". BB_USERS ." SET
|
|
||||||
user_avatar = '',
|
|
||||||
user_avatar_type = ". USER_AVATAR_NONE ."
|
|
||||||
WHERE user_id IN($orphans_sql)
|
|
||||||
");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($debug_mode)
|
|
||||||
{
|
|
||||||
prn_r($orphan_files, '$orphan_files');
|
|
||||||
prn_r($orphan_db_avatars, '$orphan_db_avatars');
|
|
||||||
}
|
|
||||||
|
|
||||||
DB()->query("DROP TEMPORARY TABLE $tmp_tbl");
|
|
||||||
DB()->query("ALTER TABLE ". BB_USERS ." DROP INDEX user_avatar");
|
|
||||||
|
|
||||||
unset($fix_errors, $debug_mode);
|
|
|
@ -6,8 +6,8 @@ require_once(INC_DIR .'functions_admin.php');
|
||||||
|
|
||||||
// Синхронизация
|
// Синхронизация
|
||||||
sync('topic', 'all');
|
sync('topic', 'all');
|
||||||
sync('forum', 'all');
|
|
||||||
sync('user_posts', 'all');
|
sync('user_posts', 'all');
|
||||||
|
sync_all_forums();
|
||||||
|
|
||||||
// Чистка bb_poll_users
|
// Чистка bb_poll_users
|
||||||
if ($poll_max_days = (int) $bb_cfg['poll_max_days'])
|
if ($poll_max_days = (int) $bb_cfg['poll_max_days'])
|
||||||
|
|
|
@ -16,6 +16,6 @@ foreach ($gc_cache as $cache_name)
|
||||||
if (method_exists(CACHE($cache_name), 'gc'))
|
if (method_exists(CACHE($cache_name), 'gc'))
|
||||||
{
|
{
|
||||||
$changes = CACHE($cache_name)->gc();
|
$changes = CACHE($cache_name)->gc();
|
||||||
$cron_runtime_log .= date('Y-m-d H:i:s') ." -- ". str_pad("$cache_name ", 25, '-', STR_PAD_RIGHT) ." del: $changes\n";
|
$cron_runtime_log = date('Y-m-d H:i:s') ." -- ". str_pad("$cache_name ", 25, '-', STR_PAD_RIGHT) ." del: $changes\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -2,6 +2,31 @@
|
||||||
|
|
||||||
if (!defined('BB_ROOT')) die(basename(__FILE__));
|
if (!defined('BB_ROOT')) die(basename(__FILE__));
|
||||||
|
|
||||||
|
function get_path_from_id ($id, $ext_id, $base_path, $first_div, $sec_div)
|
||||||
|
{
|
||||||
|
global $bb_cfg;
|
||||||
|
$ext = isset($bb_cfg['file_id_ext'][$ext_id]) ? $bb_cfg['file_id_ext'][$ext_id] : '';
|
||||||
|
return ($base_path ? "$base_path/" : '') . floor($id/$first_div) .'/'. ($id % $sec_div) .'/'. $id . ($ext ? ".$ext" : '');
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_avatar_path ($id, $ext_id, $base_path = '')
|
||||||
|
{
|
||||||
|
return get_path_from_id($id, $ext_id, $base_path, 5000000, 100);
|
||||||
|
}
|
||||||
|
|
||||||
|
function delete_avatar ($user_id, $avatar_ext_id)
|
||||||
|
{
|
||||||
|
global $bb_cfg;
|
||||||
|
$avatar_file = ($avatar_ext_id) ? get_avatar_path($user_id, $avatar_ext_id, $bb_cfg['avatars']['upload_path']) : '';
|
||||||
|
return ($avatar_file && file_exists($avatar_file)) ? @unlink($avatar_file) : false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_attach_path ($id)
|
||||||
|
{
|
||||||
|
global $bb_cfg;
|
||||||
|
return get_path_from_id($id, '', $bb_cfg['attach']['upload_path'], 1000000, 100);
|
||||||
|
}
|
||||||
|
|
||||||
function get_tracks ($type)
|
function get_tracks ($type)
|
||||||
{
|
{
|
||||||
static $pattern = '#^a:\d+:{[i:;\d]+}$#';
|
static $pattern = '#^a:\d+:{[i:;\d]+}$#';
|
||||||
|
@ -242,7 +267,7 @@ $bf['user_opt'] = array(
|
||||||
'notify_pm' => 6, // Сообщать о новых ЛС
|
'notify_pm' => 6, // Сообщать о новых ЛС
|
||||||
'allow_passkey' => 7, // Запрет на добавление passkey, он же запрет на скачивание торрентов
|
'allow_passkey' => 7, // Запрет на добавление passkey, он же запрет на скачивание торрентов
|
||||||
'hide_porn_forums' => 8, // Скрывать pron форумы
|
'hide_porn_forums' => 8, // Скрывать pron форумы
|
||||||
'allow_gallery' => 9, // Не используемое (запрет использования галереи)
|
'allow_gallery' => 9, // Неиспользуемое (запрет использования галереи)
|
||||||
'hide_ads' => 10, // Запрет на показ рекламы
|
'hide_ads' => 10, // Запрет на показ рекламы
|
||||||
'allow_topic' => 11, // Запрет на создание новых тем
|
'allow_topic' => 11, // Запрет на создание новых тем
|
||||||
'allow_post' => 12, // Запрет на отправку сообщений
|
'allow_post' => 12, // Запрет на отправку сообщений
|
||||||
|
@ -2797,30 +2822,6 @@ function create_magnet($infohash, $auth_key, $logged_in)
|
||||||
return '<a href="magnet:?xt=urn:btih:'. bin2hex($infohash) .'&tr='. urlencode($bb_cfg['bt_announce_url'] . $passkey_url) .'"><img src="'. $images['icon_magnet'] .'" width="12" height="12" border="0" /></a>';
|
return '<a href="magnet:?xt=urn:btih:'. bin2hex($infohash) .'&tr='. urlencode($bb_cfg['bt_announce_url'] . $passkey_url) .'"><img src="'. $images['icon_magnet'] .'" width="12" height="12" border="0" /></a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_avatar ($avatar, $type, $allow_avatar = true, $height = '', $width = '')
|
|
||||||
{
|
|
||||||
global $bb_cfg;
|
|
||||||
|
|
||||||
$height = ($height != '') ? 'height="'. $height .'"' : '';
|
|
||||||
$width = ($width != '') ? 'width="'. $width .'"' : '';
|
|
||||||
|
|
||||||
$user_avatar = '<img src="'. $bb_cfg['no_avatar'] .'" alt="" border="0" '. $height .' '. $width .'/>';
|
|
||||||
|
|
||||||
if ($allow_avatar)
|
|
||||||
{
|
|
||||||
switch($type)
|
|
||||||
{
|
|
||||||
case USER_AVATAR_UPLOAD:
|
|
||||||
$user_avatar = ( $bb_cfg['allow_avatar_upload'] ) ? '<img src="'. $bb_cfg['avatar_path'] .'/'. $avatar .'" alt="" border="0" '. $height .' '. $width .'/>' : '';
|
|
||||||
break;
|
|
||||||
case USER_AVATAR_GALLERY:
|
|
||||||
$user_avatar = ( $bb_cfg['allow_avatar_local'] ) ? '<img src="'. $bb_cfg['avatar_gallery_path'] .'/'. $avatar .'" alt="" border="0" '. $height .' '. $width .'/>' : '';
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $user_avatar;
|
|
||||||
}
|
|
||||||
|
|
||||||
function set_die_append_msg ($forum_id = null, $topic_id = null)
|
function set_die_append_msg ($forum_id = null, $topic_id = null)
|
||||||
{
|
{
|
||||||
global $lang, $template;
|
global $lang, $template;
|
||||||
|
@ -2859,13 +2860,6 @@ function CAPTCHA ()
|
||||||
return $captcha_obj;
|
return $captcha_obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_path_from_id ($id, $ext_id, $base_path, $first_div, $sec_div)
|
|
||||||
{
|
|
||||||
global $bb_cfg;
|
|
||||||
$ext = isset($bb_cfg['file_id_ext'][$ext_id]) ? $bb_cfg['file_id_ext'][$ext_id] : '';
|
|
||||||
return ($base_path ? "$base_path/" : '') . ($id % $sec_div) .'/'. $id . ($ext ? ".$ext" : '');
|
|
||||||
}
|
|
||||||
|
|
||||||
function send_pm ($user_id, $subject, $message, $poster_id = BOT_UID)
|
function send_pm ($user_id, $subject, $message, $poster_id = BOT_UID)
|
||||||
{
|
{
|
||||||
global $userdata;
|
global $userdata;
|
||||||
|
@ -2934,4 +2928,27 @@ function profile_url ($data)
|
||||||
}
|
}
|
||||||
|
|
||||||
return $profile;
|
return $profile;
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_avatar ($user_id, $ext_id, $allow_avatar = true, $size = true)
|
||||||
|
{
|
||||||
|
global $bb_cfg;
|
||||||
|
|
||||||
|
if ($size)
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
|
||||||
|
$user_avatar = '<img src="'. $bb_cfg['avatars']['upload_path'] . $bb_cfg['avatars']['no_avatar'] .'" alt="'. $user_id .'" "/>';
|
||||||
|
|
||||||
|
if ($user_id == BOT_UID && $bb_cfg['avatars']['bot_avatar'])
|
||||||
|
{
|
||||||
|
$user_avatar = '<img src="'. $bb_cfg['avatars']['upload_path'] . $bb_cfg['avatars']['bot_avatar'] .'" alt="'. $user_id .'" />';
|
||||||
|
}
|
||||||
|
elseif ($allow_avatar && $ext_id)
|
||||||
|
{
|
||||||
|
$user_avatar = '<img src="'. $bb_cfg['avatars']['upload_path'] . get_avatar_path($user_id, $ext_id) .'" alt="'. $user_id .'" />';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $user_avatar;
|
||||||
}
|
}
|
|
@ -2,44 +2,53 @@
|
||||||
|
|
||||||
if (!defined('BB_ROOT')) die(basename(__FILE__));
|
if (!defined('BB_ROOT')) die(basename(__FILE__));
|
||||||
|
|
||||||
|
function sync_all_forums ()
|
||||||
|
{
|
||||||
|
foreach (DB()->fetch_rowset("SELECT forum_id FROM ". BB_FORUMS) as $row)
|
||||||
|
{
|
||||||
|
sync('forum', $row['forum_id']);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function sync ($type, $id)
|
function sync ($type, $id)
|
||||||
{
|
{
|
||||||
switch ($type)
|
switch ($type)
|
||||||
{
|
{
|
||||||
case 'forum':
|
case 'forum':
|
||||||
|
|
||||||
$all_forums = ($id === 'all');
|
if (!$forum_csv = get_id_csv($id))
|
||||||
|
|
||||||
if (!$all_forums AND !$forum_csv = get_id_csv($id))
|
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
// sync posts
|
||||||
$tmp_sync_forums = 'tmp_sync_forums';
|
$tmp_sync_forums = 'tmp_sync_forums';
|
||||||
|
|
||||||
DB()->query("
|
DB()->query("
|
||||||
CREATE TEMPORARY TABLE $tmp_sync_forums (
|
CREATE TEMPORARY TABLE $tmp_sync_forums (
|
||||||
forum_id SMALLINT UNSIGNED NOT NULL DEFAULT '0',
|
forum_id SMALLINT UNSIGNED NOT NULL DEFAULT '0',
|
||||||
forum_last_post_id MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
|
forum_last_post_id INT UNSIGNED NOT NULL DEFAULT '0',
|
||||||
forum_posts MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
|
forum_posts MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
|
||||||
forum_topics MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
|
forum_topics MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
|
||||||
PRIMARY KEY (forum_id)
|
PRIMARY KEY (forum_id)
|
||||||
) ENGINE = MEMORY
|
) ENGINE = MEMORY
|
||||||
");
|
");
|
||||||
|
DB()->add_shutdown_query("DROP TEMPORARY TABLE IF EXISTS $tmp_sync_forums");
|
||||||
|
|
||||||
$where_sql = (!$all_forums) ? "WHERE f.forum_id IN($forum_csv)" : '';
|
// начальное обнуление значений
|
||||||
|
$forum_ary = explode(',', $forum_csv);
|
||||||
|
DB()->query("REPLACE INTO $tmp_sync_forums (forum_id) VALUES(". join('),(', $forum_ary) .")");
|
||||||
|
|
||||||
DB()->query("
|
DB()->query("
|
||||||
INSERT INTO $tmp_sync_forums
|
REPLACE INTO $tmp_sync_forums
|
||||||
|
(forum_id, forum_last_post_id, forum_posts, forum_topics)
|
||||||
SELECT
|
SELECT
|
||||||
f.forum_id,
|
forum_id,
|
||||||
MAX(p.post_id),
|
MAX(topic_last_post_id),
|
||||||
COUNT(p.post_id),
|
SUM(topic_replies) + COUNT(topic_id),
|
||||||
COUNT(DISTINCT p.topic_id)
|
COUNT(topic_id)
|
||||||
FROM ". BB_FORUMS ." f
|
FROM ". BB_TOPICS ."
|
||||||
LEFT JOIN ". BB_POSTS ." p USING(forum_id)
|
WHERE forum_id IN($forum_csv)
|
||||||
$where_sql
|
GROUP BY forum_id
|
||||||
GROUP BY f.forum_id
|
|
||||||
");
|
");
|
||||||
|
|
||||||
DB()->query("
|
DB()->query("
|
||||||
|
@ -73,15 +82,16 @@ function sync ($type, $id)
|
||||||
|
|
||||||
DB()->query("
|
DB()->query("
|
||||||
CREATE TEMPORARY TABLE $tmp_sync_topics (
|
CREATE TEMPORARY TABLE $tmp_sync_topics (
|
||||||
topic_id MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
|
topic_id INT UNSIGNED NOT NULL DEFAULT '0',
|
||||||
total_posts MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
|
total_posts INT UNSIGNED NOT NULL DEFAULT '0',
|
||||||
topic_first_post_id MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
|
topic_first_post_id INT UNSIGNED NOT NULL DEFAULT '0',
|
||||||
topic_last_post_id MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
|
topic_last_post_id INT UNSIGNED NOT NULL DEFAULT '0',
|
||||||
topic_last_post_time INT UNSIGNED NOT NULL DEFAULT '0',
|
topic_last_post_time INT UNSIGNED NOT NULL DEFAULT '0',
|
||||||
topic_attachment TINYINT UNSIGNED NOT NULL DEFAULT '0',
|
topic_attachment INT UNSIGNED NOT NULL DEFAULT '0',
|
||||||
PRIMARY KEY (topic_id)
|
PRIMARY KEY (topic_id)
|
||||||
) ENGINE = MEMORY
|
) ENGINE = MEMORY
|
||||||
");
|
");
|
||||||
|
DB()->add_shutdown_query("DROP TEMPORARY TABLE IF EXISTS $tmp_sync_topics");
|
||||||
|
|
||||||
$where_sql = (!$all_topics) ? "AND t.topic_id IN($topic_csv)" : '';
|
$where_sql = (!$all_topics) ? "AND t.topic_id IN($topic_csv)" : '';
|
||||||
|
|
||||||
|
@ -115,15 +125,8 @@ function sync ($type, $id)
|
||||||
t.topic_id = tmp.topic_id
|
t.topic_id = tmp.topic_id
|
||||||
");
|
");
|
||||||
|
|
||||||
$sql = "SELECT topic_id FROM ". $tmp_sync_topics ." WHERE total_posts = 0";
|
if ($topics = DB()->fetch_rowset("SELECT topic_id FROM ". $tmp_sync_topics ." WHERE total_posts = 0", 'topic_id'))
|
||||||
|
|
||||||
if ($rowset = DB()->fetch_rowset($sql))
|
|
||||||
{
|
{
|
||||||
$topics = array();
|
|
||||||
foreach ($rowset as $row)
|
|
||||||
{
|
|
||||||
$topics[] = $row['topic_id'];
|
|
||||||
}
|
|
||||||
topic_delete($topics);
|
topic_delete($topics);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -144,11 +147,12 @@ function sync ($type, $id)
|
||||||
|
|
||||||
DB()->query("
|
DB()->query("
|
||||||
CREATE TEMPORARY TABLE $tmp_user_posts (
|
CREATE TEMPORARY TABLE $tmp_user_posts (
|
||||||
user_id MEDIUMINT NOT NULL DEFAULT '0',
|
user_id INT NOT NULL DEFAULT '0',
|
||||||
user_posts MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
|
user_posts MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
|
||||||
PRIMARY KEY (user_id)
|
PRIMARY KEY (user_id)
|
||||||
) ENGINE = MEMORY
|
) ENGINE = MEMORY
|
||||||
");
|
");
|
||||||
|
DB()->add_shutdown_query("DROP TEMPORARY TABLE IF EXISTS $tmp_user_posts");
|
||||||
|
|
||||||
// Set posts count = 0 and then update to real count
|
// Set posts count = 0 and then update to real count
|
||||||
$where_user_sql = (!$all_users) ? "AND user_id IN($user_csv)" : "AND user_posts != 0";
|
$where_user_sql = (!$all_users) ? "AND user_id IN($user_csv)" : "AND user_posts != 0";
|
||||||
|
@ -231,21 +235,17 @@ function topic_delete ($mode_or_topic_id, $forum_id = null, $prune_time = 0, $pr
|
||||||
|
|
||||||
DB()->query("
|
DB()->query("
|
||||||
CREATE TEMPORARY TABLE $tmp_delete_topics (
|
CREATE TEMPORARY TABLE $tmp_delete_topics (
|
||||||
topic_id MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
|
topic_id INT UNSIGNED NOT NULL DEFAULT '0',
|
||||||
PRIMARY KEY (topic_id)
|
PRIMARY KEY (topic_id)
|
||||||
) ENGINE = MEMORY
|
) ENGINE = MEMORY
|
||||||
");
|
");
|
||||||
|
DB()->add_shutdown_query("DROP TEMPORARY TABLE IF EXISTS $tmp_delete_topics");
|
||||||
|
|
||||||
$where_sql = ($prune) ? "forum_id = $forum_id" : "topic_id IN($topic_csv)";
|
$where_sql = ($prune) ? "forum_id = $forum_id" : "topic_id IN($topic_csv)";
|
||||||
$where_sql .= ($prune && $prune_time) ? " AND topic_last_post_time < $prune_time" : '';
|
$where_sql .= ($prune && $prune_time) ? " AND topic_last_post_time < $prune_time" : '';
|
||||||
$where_sql .= ($prune && !$prune_all) ? " AND topic_type NOT IN(". POST_ANNOUNCE .",". POST_STICKY .")": '';
|
$where_sql .= ($prune && !$prune_all) ? " AND topic_type NOT IN(". POST_ANNOUNCE .",". POST_STICKY .")": '';
|
||||||
|
|
||||||
DB()->query("
|
DB()->query("INSERT INTO $tmp_delete_topics SELECT topic_id FROM ". BB_TOPICS ." WHERE $where_sql");
|
||||||
INSERT INTO $tmp_delete_topics
|
|
||||||
SELECT topic_id
|
|
||||||
FROM ". BB_TOPICS ."
|
|
||||||
WHERE $where_sql
|
|
||||||
");
|
|
||||||
|
|
||||||
// Get topics count
|
// Get topics count
|
||||||
$row = DB()->fetch_row("SELECT COUNT(*) AS topics_count FROM $tmp_delete_topics");
|
$row = DB()->fetch_row("SELECT COUNT(*) AS topics_count FROM $tmp_delete_topics");
|
||||||
|
@ -261,11 +261,12 @@ function topic_delete ($mode_or_topic_id, $forum_id = null, $prune_time = 0, $pr
|
||||||
|
|
||||||
DB()->query("
|
DB()->query("
|
||||||
CREATE TEMPORARY TABLE $tmp_user_posts (
|
CREATE TEMPORARY TABLE $tmp_user_posts (
|
||||||
user_id MEDIUMINT NOT NULL DEFAULT '0',
|
user_id INT NOT NULL DEFAULT '0',
|
||||||
user_posts MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
|
user_posts MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
|
||||||
PRIMARY KEY (user_id)
|
PRIMARY KEY (user_id)
|
||||||
) ENGINE = MEMORY
|
) ENGINE = MEMORY
|
||||||
");
|
");
|
||||||
|
DB()->add_shutdown_query("DROP TEMPORARY TABLE IF EXISTS $tmp_user_posts");
|
||||||
|
|
||||||
DB()->query("
|
DB()->query("
|
||||||
INSERT INTO $tmp_user_posts
|
INSERT INTO $tmp_user_posts
|
||||||
|
@ -323,16 +324,16 @@ function topic_delete ($mode_or_topic_id, $forum_id = null, $prune_time = 0, $pr
|
||||||
unset($row, $result);
|
unset($row, $result);
|
||||||
|
|
||||||
// Delete posts, posts_text, attachments (from DB)
|
// Delete posts, posts_text, attachments (from DB)
|
||||||
DB()->query("
|
DB()->query("
|
||||||
DELETE p, pt, ps, a, d, ph
|
DELETE p, pt, ps, a, d, ph
|
||||||
FROM ". $tmp_delete_topics ." del
|
FROM ". $tmp_delete_topics ." del
|
||||||
LEFT JOIN ". BB_POSTS ." p ON(p.topic_id = del.topic_id)
|
LEFT JOIN ". BB_POSTS ." p ON(p.topic_id = del.topic_id)
|
||||||
LEFT JOIN ". BB_POSTS_TEXT ." pt ON(pt.post_id = p.post_id)
|
LEFT JOIN ". BB_POSTS_TEXT ." pt ON(pt.post_id = p.post_id)
|
||||||
LEFT JOIN ". BB_POSTS_HTML ." ph ON(ph.post_id = p.post_id)
|
LEFT JOIN ". BB_POSTS_HTML ." ph ON(ph.post_id = p.post_id)
|
||||||
LEFT JOIN ". BB_POSTS_SEARCH ." ps ON(ps.post_id = p.post_id)
|
LEFT JOIN ". BB_POSTS_SEARCH ." ps ON(ps.post_id = p.post_id)
|
||||||
LEFT JOIN ". BB_ATTACHMENTS ." a ON(a.post_id = p.post_id)
|
LEFT JOIN ". BB_ATTACHMENTS ." a ON(a.post_id = p.post_id)
|
||||||
LEFT JOIN ". BB_ATTACHMENTS_DESC ." d ON(d.attach_id = a.attach_id)
|
LEFT JOIN ". BB_ATTACHMENTS_DESC ." d ON(d.attach_id = a.attach_id)
|
||||||
");
|
");
|
||||||
|
|
||||||
// Delete topics, topics watch
|
// Delete topics, topics watch
|
||||||
DB()->query("
|
DB()->query("
|
||||||
|
@ -411,13 +412,7 @@ function topic_move ($topic_id, $to_forum_id, $from_forum_id = null, $leave_shad
|
||||||
// Get topics info
|
// Get topics info
|
||||||
$where_sql = ($forum_csv = get_id_csv($from_forum_id)) ? "AND forum_id IN($forum_csv)" : '';
|
$where_sql = ($forum_csv = get_id_csv($from_forum_id)) ? "AND forum_id IN($forum_csv)" : '';
|
||||||
|
|
||||||
$sql = "
|
$sql = "SELECT * FROM ". BB_TOPICS ." WHERE topic_id IN($topic_csv) AND topic_status != ". TOPIC_MOVED ." $where_sql";
|
||||||
SELECT *
|
|
||||||
FROM ". BB_TOPICS ."
|
|
||||||
WHERE topic_id IN($topic_csv)
|
|
||||||
AND topic_status != ". TOPIC_MOVED ."
|
|
||||||
$where_sql
|
|
||||||
";
|
|
||||||
|
|
||||||
$topics = array();
|
$topics = array();
|
||||||
$sync_forums = array($to_forum_id => true);
|
$sync_forums = array($to_forum_id => true);
|
||||||
|
@ -465,26 +460,9 @@ function topic_move ($topic_id, $to_forum_id, $from_forum_id = null, $leave_shad
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update topics
|
DB()->query("UPDATE ". BB_TOPICS ." SET forum_id = $to_forum_id WHERE topic_id IN($topic_csv)");
|
||||||
DB()->query("
|
DB()->query("UPDATE ". BB_POSTS ." SET forum_id = $to_forum_id WHERE topic_id IN($topic_csv)");
|
||||||
UPDATE ". BB_TOPICS ." SET
|
DB()->query("UPDATE ". BB_BT_TORRENTS ." SET forum_id = $to_forum_id WHERE topic_id IN($topic_csv)");
|
||||||
forum_id = $to_forum_id
|
|
||||||
WHERE topic_id IN($topic_csv)
|
|
||||||
");
|
|
||||||
|
|
||||||
// Update posts
|
|
||||||
DB()->query("
|
|
||||||
UPDATE ". BB_POSTS ." SET
|
|
||||||
forum_id = $to_forum_id
|
|
||||||
WHERE topic_id IN($topic_csv)
|
|
||||||
");
|
|
||||||
|
|
||||||
// Update torrents
|
|
||||||
DB()->query("
|
|
||||||
UPDATE ". BB_BT_TORRENTS ." SET
|
|
||||||
forum_id = $to_forum_id
|
|
||||||
WHERE topic_id IN($topic_csv)
|
|
||||||
");
|
|
||||||
|
|
||||||
// Bot
|
// Bot
|
||||||
if ($insert_bot_msg)
|
if ($insert_bot_msg)
|
||||||
|
@ -513,6 +491,7 @@ function topic_move ($topic_id, $to_forum_id, $from_forum_id = null, $leave_shad
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// $exclude_first - в режиме удаления сообщений по списку исключать первое сообщение в теме
|
||||||
function post_delete ($mode_or_post_id, $user_id = null, $exclude_first = true)
|
function post_delete ($mode_or_post_id, $user_id = null, $exclude_first = true)
|
||||||
{
|
{
|
||||||
global $log_action;
|
global $log_action;
|
||||||
|
@ -528,7 +507,7 @@ function post_delete ($mode_or_post_id, $user_id = null, $exclude_first = true)
|
||||||
{
|
{
|
||||||
if (!$post_csv = get_id_csv($mode_or_post_id)) return false;
|
if (!$post_csv = get_id_csv($mode_or_post_id)) return false;
|
||||||
|
|
||||||
// exclude first post of topic
|
// фильтр заглавных сообщений в теме
|
||||||
if ($exclude_first)
|
if ($exclude_first)
|
||||||
{
|
{
|
||||||
$sql = "SELECT topic_first_post_id FROM ". BB_TOPICS ." WHERE topic_first_post_id IN($post_csv)";
|
$sql = "SELECT topic_first_post_id FROM ". BB_TOPICS ." WHERE topic_first_post_id IN($post_csv)";
|
||||||
|
@ -550,23 +529,15 @@ function post_delete ($mode_or_post_id, $user_id = null, $exclude_first = true)
|
||||||
|
|
||||||
if ($del_user_posts)
|
if ($del_user_posts)
|
||||||
{
|
{
|
||||||
$sql = "SELECT DISTINCT topic_id FROM ". BB_POSTS ." WHERE poster_id IN($user_csv)";
|
$sync_topics = DB()->fetch_rowset("SELECT DISTINCT topic_id FROM ". BB_POSTS ." WHERE poster_id IN($user_csv)", 'topic_id');
|
||||||
|
|
||||||
foreach (DB()->fetch_rowset($sql) as $row)
|
|
||||||
{
|
|
||||||
$sync_topics[] = $row['topic_id'];
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($topic_csv = get_id_csv($sync_topics))
|
if ($topic_csv = get_id_csv($sync_topics))
|
||||||
{
|
{
|
||||||
$sql = "SELECT DISTINCT forum_id FROM ". BB_TOPICS ." WHERE topic_id IN($topic_csv)";
|
foreach (DB()->fetch_rowset("SELECT DISTINCT forum_id FROM ". BB_TOPICS ." WHERE topic_id IN($topic_csv)") as $row)
|
||||||
|
|
||||||
foreach (DB()->fetch_rowset($sql) as $row)
|
|
||||||
{
|
{
|
||||||
$sync_forums[$row['forum_id']] = true;
|
$sync_forums[$row['forum_id']] = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$sync_users = explode(',', $user_csv);
|
$sync_users = explode(',', $user_csv);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -586,12 +557,7 @@ function post_delete ($mode_or_post_id, $user_id = null, $exclude_first = true)
|
||||||
$sync_forums[$row['forum_id']] = true;
|
$sync_forums[$row['forum_id']] = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
$sql = "SELECT DISTINCT poster_id FROM ". BB_POSTS ." WHERE post_id IN($post_csv)";
|
$sync_users = DB()->fetch_rowset("SELECT DISTINCT poster_id FROM ". BB_POSTS ." WHERE post_id IN($post_csv)", 'poster_id');
|
||||||
|
|
||||||
foreach (DB()->fetch_rowset($sql) as $row)
|
|
||||||
{
|
|
||||||
$sync_users[] = $row['poster_id'];
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get all post_id for deleting
|
// Get all post_id for deleting
|
||||||
|
@ -599,7 +565,7 @@ function post_delete ($mode_or_post_id, $user_id = null, $exclude_first = true)
|
||||||
|
|
||||||
DB()->query("
|
DB()->query("
|
||||||
CREATE TEMPORARY TABLE $tmp_delete_posts (
|
CREATE TEMPORARY TABLE $tmp_delete_posts (
|
||||||
post_id MEDIUMINT UNSIGNED NOT NULL DEFAULT '0',
|
post_id INT UNSIGNED NOT NULL DEFAULT '0',
|
||||||
PRIMARY KEY (post_id)
|
PRIMARY KEY (post_id)
|
||||||
) ENGINE = MEMORY
|
) ENGINE = MEMORY
|
||||||
");
|
");
|
||||||
|
@ -624,12 +590,7 @@ function post_delete ($mode_or_post_id, $user_id = null, $exclude_first = true)
|
||||||
$where_sql = "post_id IN($post_csv)";
|
$where_sql = "post_id IN($post_csv)";
|
||||||
}
|
}
|
||||||
|
|
||||||
DB()->query("
|
DB()->query("INSERT INTO $tmp_delete_posts SELECT post_id FROM ". BB_POSTS ." WHERE $where_sql");
|
||||||
INSERT INTO $tmp_delete_posts
|
|
||||||
SELECT post_id
|
|
||||||
FROM ". BB_POSTS ."
|
|
||||||
WHERE $where_sql
|
|
||||||
");
|
|
||||||
|
|
||||||
// Deleted posts count
|
// Deleted posts count
|
||||||
$row = DB()->fetch_row("SELECT COUNT(*) AS posts_count FROM $tmp_delete_posts");
|
$row = DB()->fetch_row("SELECT COUNT(*) AS posts_count FROM $tmp_delete_posts");
|
||||||
|
@ -666,17 +627,17 @@ function post_delete ($mode_or_post_id, $user_id = null, $exclude_first = true)
|
||||||
unset($row, $result);
|
unset($row, $result);
|
||||||
|
|
||||||
// Delete posts, posts_text, attachments (from DB)
|
// Delete posts, posts_text, attachments (from DB)
|
||||||
DB()->query("
|
DB()->query("
|
||||||
DELETE p, pt, ps, tor, a, d, ph
|
DELETE p, pt, ps, tor, a, d, ph
|
||||||
FROM ". $tmp_delete_posts ." del
|
FROM ". $tmp_delete_posts ." del
|
||||||
LEFT JOIN ". BB_POSTS ." p ON(p.post_id = del.post_id)
|
LEFT JOIN ". BB_POSTS ." p ON(p.post_id = del.post_id)
|
||||||
LEFT JOIN ". BB_POSTS_TEXT ." pt ON(pt.post_id = del.post_id)
|
LEFT JOIN ". BB_POSTS_TEXT ." pt ON(pt.post_id = del.post_id)
|
||||||
LEFT JOIN ". BB_POSTS_HTML ." ph ON(ph.post_id = del.post_id)
|
LEFT JOIN ". BB_POSTS_HTML ." ph ON(ph.post_id = del.post_id)
|
||||||
LEFT JOIN ". BB_POSTS_SEARCH ." ps ON(ps.post_id = del.post_id)
|
LEFT JOIN ". BB_POSTS_SEARCH ." ps ON(ps.post_id = del.post_id)
|
||||||
LEFT JOIN ". BB_BT_TORRENTS ." tor ON(tor.post_id = del.post_id)
|
LEFT JOIN ". BB_BT_TORRENTS ." tor ON(tor.post_id = del.post_id)
|
||||||
LEFT JOIN ". BB_ATTACHMENTS ." a ON(a.post_id = del.post_id)
|
LEFT JOIN ". BB_ATTACHMENTS ." a ON(a.post_id = del.post_id)
|
||||||
LEFT JOIN ". BB_ATTACHMENTS_DESC ." d ON(d.attach_id = a.attach_id)
|
LEFT JOIN ". BB_ATTACHMENTS_DESC ." d ON(d.attach_id = a.attach_id)
|
||||||
");
|
");
|
||||||
|
|
||||||
// Log action
|
// Log action
|
||||||
if ($del_user_posts)
|
if ($del_user_posts)
|
||||||
|
@ -709,14 +670,17 @@ function post_delete ($mode_or_post_id, $user_id = null, $exclude_first = true)
|
||||||
|
|
||||||
function user_delete ($user_id, $delete_posts = false)
|
function user_delete ($user_id, $delete_posts = false)
|
||||||
{
|
{
|
||||||
global $bb_cfg, $log_action;
|
global $log_action;
|
||||||
|
|
||||||
$default_group_moderator_id = 2;
|
|
||||||
|
|
||||||
if (!$user_csv = get_id_csv($user_id))
|
if (!$user_csv = get_id_csv($user_id))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
if (!$user_id = DB()->fetch_rowset("SELECT user_id FROM ". BB_USERS ." WHERE user_id IN($user_csv)", 'user_id'))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
$user_csv = get_id_csv($user_id);
|
||||||
|
|
||||||
// LOG
|
// LOG
|
||||||
$log_action->admin('adm_user_delete', array(
|
$log_action->admin('adm_user_delete', array(
|
||||||
|
@ -724,30 +688,12 @@ function user_delete ($user_id, $delete_posts = false)
|
||||||
));
|
));
|
||||||
|
|
||||||
// Avatar
|
// Avatar
|
||||||
$result = DB()->query("
|
$result = DB()->query("SELECT user_id, avatar_ext_id FROM ". BB_USERS ." WHERE avatar_ext_id > 0 AND user_id IN($user_csv)");
|
||||||
SELECT user_avatar
|
|
||||||
FROM ". BB_USERS ."
|
|
||||||
WHERE user_avatar_type = ". USER_AVATAR_UPLOAD ."
|
|
||||||
AND user_avatar != ''
|
|
||||||
AND user_id IN($user_csv)
|
|
||||||
");
|
|
||||||
|
|
||||||
while ($row = DB()->fetch_next($result))
|
while ($row = DB()->fetch_next($result))
|
||||||
{
|
{
|
||||||
if ($filename = basename($row['user_avatar']))
|
delete_avatar($row['user_id'], $row['avatar_ext_id']);
|
||||||
{
|
|
||||||
@unlink(BB_ROOT . $bb_cfg['avatar_path'] .'/'. $filename);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
unset($row, $result);
|
|
||||||
|
|
||||||
// Group
|
|
||||||
DB()->query("
|
|
||||||
UPDATE ". BB_GROUPS ." SET
|
|
||||||
group_moderator = $default_group_moderator_id
|
|
||||||
WHERE group_single_user = 0
|
|
||||||
AND group_moderator IN($user_csv)
|
|
||||||
");
|
|
||||||
|
|
||||||
if ($delete_posts)
|
if ($delete_posts)
|
||||||
{
|
{
|
||||||
|
@ -755,26 +701,12 @@ function user_delete ($user_id, $delete_posts = false)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DB()->query("
|
DB()->query("UPDATE ". BB_POSTS ." SET poster_id = ". DELETED ." WHERE poster_id IN($user_csv)");
|
||||||
UPDATE ". BB_POSTS ." p, ". BB_USERS ." u SET
|
|
||||||
p.post_username = u.username,
|
|
||||||
p.poster_id = ". DELETED ."
|
|
||||||
WHERE u.user_id IN($user_csv)
|
|
||||||
AND p.poster_id = u.user_id
|
|
||||||
");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DB()->query("
|
DB()->query("UPDATE ". BB_GROUPS ." SET group_moderator = 2 WHERE group_single_user = 0 AND group_moderator IN($user_csv)");
|
||||||
UPDATE ". BB_TOPICS ." SET
|
DB()->query("UPDATE ". BB_TOPICS ." SET topic_poster = ". DELETED ." WHERE topic_poster IN($user_csv)");
|
||||||
topic_poster = ". DELETED ."
|
DB()->query("UPDATE ". BB_BT_TORRENTS ." SET poster_id = ". DELETED ." WHERE poster_id IN($user_csv)");
|
||||||
WHERE topic_poster IN($user_csv)
|
|
||||||
");
|
|
||||||
|
|
||||||
DB()->query("
|
|
||||||
UPDATE ". BB_BT_TORRENTS ." SET
|
|
||||||
poster_id = ". DELETED ."
|
|
||||||
WHERE poster_id IN($user_csv)
|
|
||||||
");
|
|
||||||
|
|
||||||
DB()->query("
|
DB()->query("
|
||||||
DELETE ug, g, a, qt1, qt2
|
DELETE ug, g, a, qt1, qt2
|
||||||
|
@ -821,17 +753,8 @@ function user_delete ($user_id, $delete_posts = false)
|
||||||
AND pm.privmsgs_type IN(". PRIVMSGS_READ_MAIL .','. PRIVMSGS_SAVED_IN_MAIL .")
|
AND pm.privmsgs_type IN(". PRIVMSGS_READ_MAIL .','. PRIVMSGS_SAVED_IN_MAIL .")
|
||||||
");
|
");
|
||||||
|
|
||||||
DB()->query("
|
DB()->query("UPDATE ". BB_PRIVMSGS ." SET privmsgs_from_userid = ". DELETED ." WHERE privmsgs_from_userid IN($user_csv)");
|
||||||
UPDATE ". BB_PRIVMSGS ." SET
|
DB()->query("UPDATE ". BB_PRIVMSGS ." SET privmsgs_to_userid = ". DELETED ." WHERE privmsgs_to_userid IN($user_csv)");
|
||||||
privmsgs_from_userid = ". DELETED ."
|
|
||||||
WHERE privmsgs_from_userid IN($user_csv)
|
|
||||||
");
|
|
||||||
|
|
||||||
DB()->query("
|
|
||||||
UPDATE ". BB_PRIVMSGS ." SET
|
|
||||||
privmsgs_to_userid = ". DELETED ."
|
|
||||||
WHERE privmsgs_to_userid IN($user_csv)
|
|
||||||
");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function get_usernames_for_log ($user_id)
|
function get_usernames_for_log ($user_id)
|
||||||
|
|
166
upload/includes/functions_upload.php
Normal file
166
upload/includes/functions_upload.php
Normal file
|
@ -0,0 +1,166 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
class upload_common
|
||||||
|
{
|
||||||
|
var $cfg = array(
|
||||||
|
'max_size' => 0,
|
||||||
|
'max_width' => 0,
|
||||||
|
'max_height' => 0,
|
||||||
|
'allowed_ext' => array(),
|
||||||
|
'upload_path' => '',
|
||||||
|
);
|
||||||
|
var $file = array(
|
||||||
|
'name' => '',
|
||||||
|
'type' => '',
|
||||||
|
'size' => 0,
|
||||||
|
'tmp_name' => '',
|
||||||
|
'error' => UPLOAD_ERR_NO_FILE,
|
||||||
|
);
|
||||||
|
var $orig_name = '';
|
||||||
|
var $file_path = ''; // Stored file path
|
||||||
|
var $file_ext = '';
|
||||||
|
var $file_ext_id = '';
|
||||||
|
var $file_size = '';
|
||||||
|
var $ext_ids = array(); // array_flip($bb_cfg['file_id_ext'])
|
||||||
|
var $errors = array();
|
||||||
|
var $img_types = array(1=>'gif', 2=>'jpg', 3=>'png', 6=>'bmp', 7=>'tiff', 8=>'tiff');
|
||||||
|
|
||||||
|
function init ($cfg = array(), $post_params = array(), $uploaded_only = true)
|
||||||
|
{
|
||||||
|
global $bb_cfg, $lang;
|
||||||
|
|
||||||
|
$lang['upload_error_common'] = 'Ошибка загрузки файла';
|
||||||
|
$lang['upload_errors'] = array(
|
||||||
|
UPLOAD_ERR_INI_SIZE => 'превышен максимальный размер (upload_max_filesize)',
|
||||||
|
UPLOAD_ERR_FORM_SIZE => 'превышен максимальный размер (MAX_FILE_SIZE)',
|
||||||
|
UPLOAD_ERR_PARTIAL => 'файл был загружен частично',
|
||||||
|
UPLOAD_ERR_NO_FILE => 'файл не был загружен',
|
||||||
|
UPLOAD_ERR_NO_TMP_DIR => 'временная директория не найдена',
|
||||||
|
UPLOAD_ERR_CANT_WRITE => 'ошибка записи',
|
||||||
|
UPLOAD_ERR_EXTENSION => 'загрузка остановлена из-за расширения',
|
||||||
|
);
|
||||||
|
|
||||||
|
$this->cfg = array_merge($this->cfg, $cfg);
|
||||||
|
$this->file = $post_params;
|
||||||
|
|
||||||
|
// upload errors from $_FILES
|
||||||
|
if ($this->file['error'])
|
||||||
|
{
|
||||||
|
$msg = $lang['upload_error_common'];
|
||||||
|
$msg .= ($err_desc =& $lang['upload_errors'][$this->file['error']]) ? " ($err_desc)" : '';
|
||||||
|
$this->errors[] = $msg;
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// file_exists
|
||||||
|
if (!file_exists($this->file['tmp_name']))
|
||||||
|
{
|
||||||
|
$this->errors[] = "uploaded file not exists: {$this->file['tmp_name']}";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// size
|
||||||
|
if (!$this->file_size = filesize($this->file['tmp_name']))
|
||||||
|
{
|
||||||
|
$this->errors[] = "uploaded file is empty: {$this->file['tmp_name']}";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if ($this->cfg['max_size'] && $this->file_size > $this->cfg['max_size'])
|
||||||
|
{
|
||||||
|
$this->errors[] = 'Загруженный файл превышает максимальный размер '. humn_size($this->cfg['max_size']);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// is_uploaded_file
|
||||||
|
if ($uploaded_only && !is_uploaded_file($this->file['tmp_name']))
|
||||||
|
{
|
||||||
|
$this->errors[] = "not uploaded file: {$this->file['tmp_name']}";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// get ext
|
||||||
|
$this->ext_ids = array_flip($bb_cfg['file_id_ext']);
|
||||||
|
$file_name_ary = explode('.', $this->file['name']);
|
||||||
|
$this->file_ext = strtolower(end($file_name_ary));
|
||||||
|
|
||||||
|
// img
|
||||||
|
if ($this->cfg['max_width'] || $this->cfg['max_height'])
|
||||||
|
{
|
||||||
|
if ($img_info = getimagesize($this->file['tmp_name']))
|
||||||
|
{
|
||||||
|
list($width, $height, $type, $attr) = $img_info;
|
||||||
|
|
||||||
|
// redefine ext
|
||||||
|
if (!$width || !$height || !$type || !isset($this->img_types[$type]))
|
||||||
|
{
|
||||||
|
$this->errors[] = 'Недопустимый тип файла изображения';
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
$this->file_ext = $this->img_types[$type];
|
||||||
|
|
||||||
|
// width & height
|
||||||
|
if (($this->cfg['max_width'] && $width > $this->cfg['max_width']) || ($this->cfg['max_height'] && $height > $this->cfg['max_height']))
|
||||||
|
{
|
||||||
|
$this->errors[] = "Размеры изображения превышают максимально допустимые {$this->cfg['max_width']}x{$this->cfg['max_height']} px";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->errors[] = 'Загруженный файл не является изображением';
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// check ext
|
||||||
|
if (!isset($this->ext_ids[$this->file_ext]) || !in_array($this->file_ext, $this->cfg['allowed_ext'], true))
|
||||||
|
{
|
||||||
|
$this->errors[] = 'Расширение '. htmlCHR($this->file_ext) .' для загружаемых файлов не разрешено';
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
$this->file_ext_id = $this->ext_ids[$this->file_ext];
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function store ($mode = '', $params = array())
|
||||||
|
{
|
||||||
|
global $bb_cfg;
|
||||||
|
|
||||||
|
if ($mode == 'avatar')
|
||||||
|
{
|
||||||
|
delete_avatar($params['user_id'], $params['avatar_ext_id']);
|
||||||
|
$file_path = get_avatar_path($params['user_id'], $this->file_ext_id, $bb_cfg['avatars']['upload_path']);
|
||||||
|
return $this->_move($file_path);
|
||||||
|
}
|
||||||
|
else if ($mode == 'attach')
|
||||||
|
{
|
||||||
|
$file_path = get_attach_path($params['topic_id']);
|
||||||
|
return $this->_move($file_path);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
trigger_error("invalid upload mode: $mode", E_USER_ERROR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function _move ($file_path)
|
||||||
|
{
|
||||||
|
$dir = dirname($file_path);
|
||||||
|
if (!file_exists($dir))
|
||||||
|
{
|
||||||
|
if (!bb_mkdir($dir))
|
||||||
|
{
|
||||||
|
$this->errors[] = "Cannot create dir: $dir";
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!@rename($this->file['tmp_name'], $file_path))
|
||||||
|
{
|
||||||
|
if (!@copy($this->file['tmp_name'], $file_path))
|
||||||
|
{
|
||||||
|
$this->errors[] = 'Cannot copy tmp file';
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
@unlink($this->file['tmp_name']);
|
||||||
|
}
|
||||||
|
@chmod($file_path, 0664);
|
||||||
|
|
||||||
|
return file_exists($file_path);
|
||||||
|
}
|
||||||
|
}
|
|
@ -149,12 +149,6 @@ define('EXCLUDED_USERS_CSV', implode(',', $excluded_users));
|
||||||
// User related
|
// User related
|
||||||
define('USER_ACTIVATION_NONE', 0);
|
define('USER_ACTIVATION_NONE', 0);
|
||||||
define('USER_ACTIVATION_SELF', 1);
|
define('USER_ACTIVATION_SELF', 1);
|
||||||
define('USER_ACTIVATION_ADMIN', 2);
|
|
||||||
|
|
||||||
define('USER_AVATAR_NONE', 0);
|
|
||||||
define('USER_AVATAR_UPLOAD', 1);
|
|
||||||
define('USER_AVATAR_REMOTE', 2); // не используется
|
|
||||||
define('USER_AVATAR_GALLERY', 3);
|
|
||||||
|
|
||||||
// Group settings
|
// Group settings
|
||||||
define('GROUP_OPEN', 0);
|
define('GROUP_OPEN', 0);
|
||||||
|
|
|
@ -166,105 +166,106 @@ else $report_list = '';
|
||||||
// Report [END]
|
// Report [END]
|
||||||
|
|
||||||
$template->assign_vars(array(
|
$template->assign_vars(array(
|
||||||
|
'SIMPLE_HEADER' => !empty($gen_simple_header),
|
||||||
|
|
||||||
'SIMPLE_HEADER' => !empty($gen_simple_header),
|
'IN_ADMIN' => defined('IN_ADMIN'),
|
||||||
|
'SHOW_ADS' => (!$logged_in || isset($bb_cfg['show_ads_users'][$user->id]) || (!($is_admin || $is_mod) && $user->show_ads)),
|
||||||
|
'USER_HIDE_CAT' => (BB_SCRIPT == 'index'),
|
||||||
|
|
||||||
'IN_ADMIN' => defined('IN_ADMIN'),
|
'USER_RUS' => ($userdata['user_lang'] != 'english') ? true : false,
|
||||||
'SHOW_ADS' => (!$logged_in || isset($bb_cfg['show_ads_users'][$user->id]) || (!($is_admin || $is_mod) && $user->show_ads)),
|
|
||||||
'USER_HIDE_CAT' => (BB_SCRIPT == 'index'),
|
|
||||||
|
|
||||||
'USER_RUS' => ($userdata['user_lang'] != 'english') ? true : false,
|
'INCLUDE_BBCODE_JS' => !empty($page_cfg['include_bbcode_js']),
|
||||||
|
'USER_OPTIONS_JS' => (IS_GUEST) ? '{}' : bb_json_encode($user->opt_js),
|
||||||
|
|
||||||
'INCLUDE_BBCODE_JS' => !empty($page_cfg['include_bbcode_js']),
|
'USE_TABLESORTER' => !empty($page_cfg['use_tablesorter']),
|
||||||
'USER_OPTIONS_JS' => (IS_GUEST) ? '{}' : bb_json_encode($user->opt_js),
|
|
||||||
|
|
||||||
'USE_TABLESORTER' => !empty($page_cfg['use_tablesorter']),
|
'SITENAME' => $bb_cfg['sitename'],
|
||||||
|
'U_INDEX' => BB_ROOT ."index.php",
|
||||||
|
'T_INDEX' => sprintf($lang['FORUM_INDEX'], $bb_cfg['sitename']),
|
||||||
|
|
||||||
'SITENAME' => $bb_cfg['sitename'],
|
'IS_GUEST' => IS_GUEST,
|
||||||
'U_INDEX' => BB_ROOT ."index.php",
|
'IS_USER' => IS_USER,
|
||||||
'T_INDEX' => sprintf($lang['FORUM_INDEX'], $bb_cfg['sitename']),
|
'IS_ADMIN' => IS_ADMIN,
|
||||||
|
'IS_MOD' => IS_MOD,
|
||||||
|
'IS_AM' => IS_AM,
|
||||||
|
|
||||||
'IS_GUEST' => IS_GUEST,
|
'FORUM_PATH' => FORUM_PATH,
|
||||||
'IS_USER' => IS_USER,
|
'FULL_URL' => FULL_URL,
|
||||||
'IS_ADMIN' => IS_ADMIN,
|
|
||||||
'IS_MOD' => IS_MOD,
|
|
||||||
'IS_AM' => IS_AM,
|
|
||||||
|
|
||||||
'FORUM_PATH' => FORUM_PATH,
|
'LAST_VISIT_DATE' => ($logged_in) ? sprintf($lang['YOU_LAST_VISIT'], bb_date($userdata['user_lastvisit'], $bb_cfg['last_visit_date_format'])) : '',
|
||||||
'FULL_URL' => FULL_URL,
|
'CURRENT_TIME' => sprintf($lang['CURRENT_TIME'], bb_date(TIMENOW, $bb_cfg['last_visit_date_format'])),
|
||||||
|
'S_TIMEZONE' => sprintf($lang['ALL_TIMES'], $lang[''.str_replace(',', '.', floatval($bb_cfg['board_timezone'])).'']),
|
||||||
|
|
||||||
'LAST_VISIT_DATE' => ($logged_in) ? sprintf($lang['YOU_LAST_VISIT'], bb_date($userdata['user_lastvisit'], $bb_cfg['last_visit_date_format'])) : '',
|
'PM_INFO' => $pm_info,
|
||||||
'CURRENT_TIME' => sprintf($lang['CURRENT_TIME'], bb_date(TIMENOW, $bb_cfg['last_visit_date_format'])),
|
'PRIVMSG_IMG' => $icon_pm,
|
||||||
'S_TIMEZONE' => sprintf($lang['ALL_TIMES'], $lang[''.str_replace(',', '.', floatval($bb_cfg['board_timezone'])).'']),
|
|
||||||
|
|
||||||
'PM_INFO' => $pm_info,
|
|
||||||
'PRIVMSG_IMG' => $icon_pm,
|
|
||||||
|
|
||||||
// Report
|
// Report
|
||||||
'REPORT_LIST' => $report_list,
|
'REPORT_LIST' => $report_list,
|
||||||
'U_REPORT_LIST' => "report.php",
|
'U_REPORT_LIST' => "report.php",
|
||||||
// Report [END]
|
// Report [END]
|
||||||
|
|
||||||
'LOGGED_IN' => $logged_in,
|
'LOGGED_IN' => $logged_in,
|
||||||
'SESSION_USER_ID' => $userdata['user_id'],
|
'SESSION_USER_ID' => $userdata['user_id'],
|
||||||
'POINTS' => $userdata['user_points'],
|
'POINTS' => $userdata['user_points'],
|
||||||
'THIS_USER' => profile_url($userdata),
|
'THIS_USER' => profile_url($userdata),
|
||||||
'THIS_AVATAR' => get_avatar($userdata['user_avatar'], $userdata['user_avatar_type'], !bf($userdata['user_opt'], 'user_opt', 'allow_avatar')),
|
'THIS_AVATAR' => get_avatar($userdata['user_id'], $userdata['avatar_ext_id'], !bf($userdata['user_opt'], 'user_opt', 'allow_avatar')),
|
||||||
'SHOW_LOGIN_LINK' => !defined('IN_LOGIN'),
|
'AVATAR_DISALLOWED' => bf($userdata['user_opt'], 'user_opt', 'allow_avatar'),
|
||||||
'AUTOLOGIN_DISABLED' => !$bb_cfg['allow_autologin'],
|
'SHOW_LOGIN_LINK' => !defined('IN_LOGIN'),
|
||||||
'S_LOGIN_ACTION' => LOGIN_URL,
|
'AUTOLOGIN_DISABLED' => !$bb_cfg['allow_autologin'],
|
||||||
|
'S_LOGIN_ACTION' => LOGIN_URL,
|
||||||
|
|
||||||
'U_CUR_DOWNLOADS' => PROFILE_URL . $userdata['user_id'],
|
'U_CUR_DOWNLOADS' => PROFILE_URL . $userdata['user_id'],
|
||||||
'U_FORUM' => "viewforum.php",
|
'U_FORUM' => "viewforum.php",
|
||||||
'U_GROUP_CP' => "groupcp.php",
|
'U_GROUP_CP' => "groupcp.php",
|
||||||
'U_LOGIN_LOGOUT' => $u_login_logout,
|
'U_LOGIN_LOGOUT' => $u_login_logout,
|
||||||
'U_MEMBERLIST' => "memberlist.php",
|
'U_MEMBERLIST' => "memberlist.php",
|
||||||
'U_MODCP' => "modcp.php",
|
'U_MODCP' => "modcp.php",
|
||||||
'U_OPTIONS' => "profile.php?mode=editprofile",
|
'U_OPTIONS' => "profile.php?mode=editprofile",
|
||||||
'U_PRIVATEMSGS' => PM_URL . "?folder=inbox",
|
'U_PRIVATEMSGS' => PM_URL . "?folder=inbox",
|
||||||
'U_PROFILE' => PROFILE_URL . $userdata['user_id'],
|
'U_PROFILE' => PROFILE_URL . $userdata['user_id'],
|
||||||
'U_READ_PM' => PM_URL . "?folder=inbox". (($userdata['user_newest_pm_id'] && $userdata['user_new_privmsg'] == 1) ? "&mode=read&p={$userdata['user_newest_pm_id']}" : ''),
|
'U_READ_PM' => PM_URL . "?folder=inbox". (($userdata['user_newest_pm_id'] && $userdata['user_new_privmsg'] == 1) ? "&mode=read&p={$userdata['user_newest_pm_id']}" : ''),
|
||||||
'U_REGISTER' => "profile.php?mode=register",
|
'U_REGISTER' => "profile.php?mode=register",
|
||||||
'U_SEARCH' => "search.php",
|
'U_SEARCH' => "search.php",
|
||||||
'U_SEND_PASSWORD' => "profile.php?mode=sendpassword",
|
'U_SEND_PASSWORD' => "profile.php?mode=sendpassword",
|
||||||
'U_TERMS' => $bb_cfg['terms_and_conditions_url'],
|
'U_TERMS' => $bb_cfg['terms_and_conditions_url'],
|
||||||
'U_TRACKER' => "tracker.php",
|
'U_TRACKER' => "tracker.php",
|
||||||
|
|
||||||
'SHOW_SIDEBAR1' => (!empty($page_cfg['show_sidebar1'][BB_SCRIPT]) || $bb_cfg['show_sidebar1_on_every_page']),
|
'SHOW_SIDEBAR1' => (!empty($page_cfg['show_sidebar1'][BB_SCRIPT]) || $bb_cfg['show_sidebar1_on_every_page']),
|
||||||
'SHOW_SIDEBAR2' => (!empty($page_cfg['show_sidebar2'][BB_SCRIPT]) || $bb_cfg['show_sidebar2_on_every_page']),
|
'SHOW_SIDEBAR2' => (!empty($page_cfg['show_sidebar2'][BB_SCRIPT]) || $bb_cfg['show_sidebar2_on_every_page']),
|
||||||
|
|
||||||
// Common urls
|
// Common urls
|
||||||
'CAT_URL' => BB_ROOT . CAT_URL,
|
'AVATARS_URL' => "images/avatars",
|
||||||
'DOWNLOAD_URL' => BB_ROOT . DOWNLOAD_URL,
|
'CAT_URL' => BB_ROOT . CAT_URL,
|
||||||
'FORUM_URL' => BB_ROOT . FORUM_URL,
|
'DOWNLOAD_URL' => BB_ROOT . DOWNLOAD_URL,
|
||||||
'GROUP_URL' => BB_ROOT . GROUP_URL,
|
'FORUM_URL' => BB_ROOT . FORUM_URL,
|
||||||
'LOGIN_URL' => $bb_cfg['login_url'],
|
'GROUP_URL' => BB_ROOT . GROUP_URL,
|
||||||
'NEWEST_URL' => '&view=newest#newest',
|
'LOGIN_URL' => $bb_cfg['login_url'],
|
||||||
'PM_URL' => $bb_cfg['pm_url'],
|
'NEWEST_URL' => '&view=newest#newest',
|
||||||
'POST_URL' => BB_ROOT . POST_URL,
|
'PM_URL' => $bb_cfg['pm_url'],
|
||||||
'POSTING_URL' => $bb_cfg['posting_url'],
|
'POST_URL' => BB_ROOT . POST_URL,
|
||||||
'PROFILE_URL' => BB_ROOT . PROFILE_URL,
|
'POSTING_URL' => $bb_cfg['posting_url'],
|
||||||
'TOPIC_URL' => BB_ROOT . TOPIC_URL,
|
'PROFILE_URL' => BB_ROOT . PROFILE_URL,
|
||||||
|
'TOPIC_URL' => BB_ROOT . TOPIC_URL,
|
||||||
|
|
||||||
'AJAX_HTML_DIR' => AJAX_HTML_DIR,
|
'AJAX_HTML_DIR' => AJAX_HTML_DIR,
|
||||||
|
|
||||||
'ONLY_NEW_POSTS' => ONLY_NEW_POSTS,
|
'ONLY_NEW_POSTS' => ONLY_NEW_POSTS,
|
||||||
'ONLY_NEW_TOPICS' => ONLY_NEW_TOPICS,
|
'ONLY_NEW_TOPICS' => ONLY_NEW_TOPICS,
|
||||||
|
|
||||||
// Misc
|
// Misc
|
||||||
'DEBUG' => DEBUG,
|
'DEBUG' => DEBUG,
|
||||||
'BOT_UID' => BOT_UID,
|
'BOT_UID' => BOT_UID,
|
||||||
'COOKIE_MARK' => COOKIE_MARK,
|
'COOKIE_MARK' => COOKIE_MARK,
|
||||||
'SID' => $userdata['session_id'],
|
'SID' => $userdata['session_id'],
|
||||||
'SID_HIDDEN' => '<input type="hidden" name="sid" value="'. $userdata['session_id'] .'" />',
|
'SID_HIDDEN' => '<input type="hidden" name="sid" value="'. $userdata['session_id'] .'" />',
|
||||||
|
|
||||||
'CHECKED' => HTML_CHECKED,
|
'CHECKED' => HTML_CHECKED,
|
||||||
'DISABLED' => HTML_DISABLED,
|
'DISABLED' => HTML_DISABLED,
|
||||||
'READONLY' => HTML_READONLY,
|
'READONLY' => HTML_READONLY,
|
||||||
'SELECTED' => HTML_SELECTED,
|
'SELECTED' => HTML_SELECTED,
|
||||||
|
|
||||||
'U_SEARCH_SELF_BY_LAST' => "search.php?uid={$userdata['user_id']}&o=5",
|
'U_SEARCH_SELF_BY_LAST' => "search.php?uid={$userdata['user_id']}&o=5",
|
||||||
'U_WATCHED_TOPICS' => "profile.php?mode=watch",
|
'U_WATCHED_TOPICS' => "profile.php?mode=watch",
|
||||||
));
|
));
|
||||||
|
|
||||||
if (!empty($page_cfg['show_torhelp'][BB_SCRIPT]) && !empty($userdata['torhelp']))
|
if (!empty($page_cfg['show_torhelp'][BB_SCRIPT]) && !empty($userdata['torhelp']))
|
||||||
|
|
|
@ -23,18 +23,6 @@ if ( $row = DB()->sql_fetchrow($result) )
|
||||||
}
|
}
|
||||||
else if ((trim($row['user_actkey']) == trim($_GET['act_key'])) && (trim($row['user_actkey']) != ''))
|
else if ((trim($row['user_actkey']) == trim($_GET['act_key'])) && (trim($row['user_actkey']) != ''))
|
||||||
{
|
{
|
||||||
if (intval($bb_cfg['require_activation']) == USER_ACTIVATION_ADMIN && $row['user_newpasswd'] == '')
|
|
||||||
{
|
|
||||||
if (!$userdata['session_logged_in'])
|
|
||||||
{
|
|
||||||
redirect(LOGIN_URL . '?redirect=profile.php&mode=activate&' . POST_USERS_URL . '=' . $row['user_id'] . '&act_key=' . trim($_GET['act_key']));
|
|
||||||
}
|
|
||||||
else if (!IS_ADMIN)
|
|
||||||
{
|
|
||||||
message_die(GENERAL_MESSAGE, $lang['NOT_AUTHORISED']);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$sql_update_pass = ( $row['user_newpasswd'] != '' ) ? ", user_password = '" . md5(md5($row['user_newpasswd'])) . "', user_newpasswd = ''" : '';
|
$sql_update_pass = ( $row['user_newpasswd'] != '' ) ? ", user_password = '" . md5(md5($row['user_newpasswd'])) . "', user_newpasswd = ''" : '';
|
||||||
|
|
||||||
$sql = "UPDATE " . BB_USERS . "
|
$sql = "UPDATE " . BB_USERS . "
|
||||||
|
@ -45,31 +33,8 @@ if ( $row = DB()->sql_fetchrow($result) )
|
||||||
message_die(GENERAL_ERROR, 'Could not update users table', '', __LINE__, __FILE__, $sql_update);
|
message_die(GENERAL_ERROR, 'Could not update users table', '', __LINE__, __FILE__, $sql_update);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( intval($bb_cfg['require_activation']) == USER_ACTIVATION_ADMIN && $sql_update_pass == '' )
|
$message = ( $sql_update_pass == '' ) ? $lang['ACCOUNT_ACTIVE'] : $lang['PASSWORD_ACTIVATED'];
|
||||||
{
|
message_die(GENERAL_MESSAGE, $message);
|
||||||
require(INC_DIR .'emailer.class.php');
|
|
||||||
$emailer = new emailer($bb_cfg['smtp_delivery']);
|
|
||||||
|
|
||||||
$emailer->from($bb_cfg['sitename'] ." <{$bb_cfg['board_email']}>");
|
|
||||||
$emailer->email_address($row['username'] ." <{$row['user_email']}>");
|
|
||||||
|
|
||||||
$emailer->use_template('admin_welcome_activated', $row['user_lang']);
|
|
||||||
|
|
||||||
$emailer->assign_vars(array(
|
|
||||||
'SITENAME' => $bb_cfg['sitename'],
|
|
||||||
'USERNAME' => $row['username'],
|
|
||||||
'PASSWORD' => $row['user_newpasswd'],
|
|
||||||
));
|
|
||||||
$emailer->send();
|
|
||||||
$emailer->reset();
|
|
||||||
|
|
||||||
message_die(GENERAL_MESSAGE, $lang['ACCOUNT_ACTIVE_ADMIN']);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$message = ( $sql_update_pass == '' ) ? $lang['ACCOUNT_ACTIVE'] : $lang['PASSWORD_ACTIVATED'];
|
|
||||||
message_die(GENERAL_MESSAGE, $message);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,182 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
if (!defined('IN_FORUM')) die("Hacking attempt");
|
|
||||||
|
|
||||||
function check_image_type (&$type, &$errors)
|
|
||||||
{
|
|
||||||
global $lang;
|
|
||||||
|
|
||||||
switch( $type )
|
|
||||||
{
|
|
||||||
case 'image/jpeg':
|
|
||||||
case 'image/pjpeg':
|
|
||||||
case 'image/jpg':
|
|
||||||
case 'jpeg':
|
|
||||||
case 'pjpeg':
|
|
||||||
case 'jpg':
|
|
||||||
return '.jpg';
|
|
||||||
break;
|
|
||||||
case 'gif':
|
|
||||||
case 'image/gif':
|
|
||||||
return '.gif';
|
|
||||||
break;
|
|
||||||
case 'png':
|
|
||||||
case 'image/x-png':
|
|
||||||
return '.png';
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
$errors[] = $lang['AVATAR_FILETYPE'];
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
function user_avatar_delete ($avatar_type, $avatar_file)
|
|
||||||
{
|
|
||||||
global $bb_cfg;
|
|
||||||
|
|
||||||
$avatar_file = basename($avatar_file);
|
|
||||||
if ( $avatar_type == USER_AVATAR_UPLOAD && $avatar_file != '' )
|
|
||||||
{
|
|
||||||
if ( @file_exists(@bb_realpath('./' . $bb_cfg['avatar_path'] . '/' . $avatar_file)) )
|
|
||||||
{
|
|
||||||
@unlink('./' . $bb_cfg['avatar_path'] . '/' . $avatar_file);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return array('user_avatar' => '', 'user_avatar_type' => USER_AVATAR_NONE);
|
|
||||||
}
|
|
||||||
|
|
||||||
function user_avatar_gallery ($mode, &$errors, $avatar_filename, $avatar_category)
|
|
||||||
{
|
|
||||||
global $bb_cfg;
|
|
||||||
|
|
||||||
$avatar_filename = bb_ltrim(basename($avatar_filename), "'");
|
|
||||||
$avatar_category = bb_ltrim(basename($avatar_category), "'");
|
|
||||||
|
|
||||||
if(!preg_match('/(\.gif$|\.png$|\.jpg|\.jpeg)$/is', $avatar_filename))
|
|
||||||
{
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
if ($avatar_filename == "" || $avatar_category == "")
|
|
||||||
{
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( file_exists(@bb_realpath($bb_cfg['avatar_gallery_path'] . '/' . $avatar_category . '/' . $avatar_filename)) && ($mode == 'editprofile') )
|
|
||||||
{
|
|
||||||
return array('user_avatar' => DB()->escape($avatar_category . '/' . $avatar_filename), 'user_avatar_type' => USER_AVATAR_GALLERY);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function user_avatar_upload ($mode, $avatar_mode, &$current_avatar, &$current_type, &$errors, $avatar_filename, $avatar_realname, $avatar_filesize, $avatar_filetype)
|
|
||||||
{
|
|
||||||
global $bb_cfg, $lang;
|
|
||||||
|
|
||||||
$ini_val = ( @phpversion() >= '4.0.0' ) ? 'ini_get' : 'get_cfg_var';
|
|
||||||
|
|
||||||
$width = $height = 0;
|
|
||||||
$type = '';
|
|
||||||
|
|
||||||
if ( ( file_exists(@bb_realpath($avatar_filename)) ) && preg_match('/\.(jpg|jpeg|gif|png)$/i', $avatar_realname) )
|
|
||||||
{
|
|
||||||
if ( $avatar_filesize <= $bb_cfg['avatar_filesize'] && $avatar_filesize > 0 )
|
|
||||||
{
|
|
||||||
preg_match('#image\/[x\-]*([a-z]+)#', $avatar_filetype, $avatar_filetype);
|
|
||||||
$avatar_filetype = $avatar_filetype[1];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$errors[] = sprintf($lang['AVATAR_FILESIZE'], round($bb_cfg['avatar_filesize'] / 1024));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
list($width, $height, $type) = @getimagesize($avatar_filename);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( !($imgtype = check_image_type($avatar_filetype, $errors)) )
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch ($type)
|
|
||||||
{
|
|
||||||
// GIF
|
|
||||||
case 1:
|
|
||||||
if ($imgtype != '.gif')
|
|
||||||
{
|
|
||||||
@unlink($tmp_filename);
|
|
||||||
message_die(GENERAL_ERROR, 'Unable to upload file', '', __LINE__, __FILE__);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
// JPG, JPC, JP2, JPX, JB2
|
|
||||||
case 2:
|
|
||||||
case 9:
|
|
||||||
case 10:
|
|
||||||
case 11:
|
|
||||||
case 12:
|
|
||||||
if ($imgtype != '.jpg' && $imgtype != '.jpeg')
|
|
||||||
{
|
|
||||||
@unlink($tmp_filename);
|
|
||||||
message_die(GENERAL_ERROR, 'Unable to upload file', '', __LINE__, __FILE__);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
// PNG
|
|
||||||
case 3:
|
|
||||||
if ($imgtype != '.png')
|
|
||||||
{
|
|
||||||
@unlink($tmp_filename);
|
|
||||||
message_die(GENERAL_ERROR, 'Unable to upload file', '', __LINE__, __FILE__);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
@unlink($tmp_filename);
|
|
||||||
message_die(GENERAL_ERROR, 'Unable to upload file', '', __LINE__, __FILE__);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( $width > 0 && $height > 0 && $width <= $bb_cfg['avatar_max_width'] && $height <= $bb_cfg['avatar_max_height'] )
|
|
||||||
{
|
|
||||||
$new_filename = uniqid(rand()) . $imgtype;
|
|
||||||
|
|
||||||
if ( $mode == 'editprofile' && $current_type == USER_AVATAR_UPLOAD && $current_avatar != '' )
|
|
||||||
{
|
|
||||||
user_avatar_delete($current_type, $current_avatar);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( @$ini_val('open_basedir') != '' )
|
|
||||||
{
|
|
||||||
if ( @phpversion() < '4.0.3' )
|
|
||||||
{
|
|
||||||
message_die(GENERAL_ERROR, 'open_basedir is set and your PHP version does not allow move_uploaded_file', '', __LINE__, __FILE__);
|
|
||||||
}
|
|
||||||
|
|
||||||
$move_file = 'move_uploaded_file';
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$move_file = 'copy';
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!is_uploaded_file($avatar_filename))
|
|
||||||
{
|
|
||||||
message_die(GENERAL_ERROR, 'Unable to upload file', '', __LINE__, __FILE__);
|
|
||||||
}
|
|
||||||
$move_file($avatar_filename, './' . $bb_cfg['avatar_path'] . "/$new_filename");
|
|
||||||
|
|
||||||
@chmod('./' . $bb_cfg['avatar_path'] . "/$new_filename", 0777);
|
|
||||||
return array('user_avatar' => $new_filename, 'user_avatar_type' => USER_AVATAR_UPLOAD);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$errors[] = sprintf($lang['AVATAR_IMAGESIZE'], $bb_cfg['avatar_max_width'], $bb_cfg['avatar_max_height']);
|
|
||||||
return '';
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -8,10 +8,10 @@ set_die_append_msg();
|
||||||
|
|
||||||
if (IS_ADMIN)
|
if (IS_ADMIN)
|
||||||
{
|
{
|
||||||
$bb_cfg['require_activation'] = false;
|
$bb_cfg['reg_email_activation'] = false;
|
||||||
|
|
||||||
$new_user = (int) request_var('admin', '');
|
$new_user = (int) request_var('admin', '');
|
||||||
if($new_user) $gen_simple_header = true;
|
if ($new_user) $gen_simple_header = true;
|
||||||
|
|
||||||
$template->assign_vars(array(
|
$template->assign_vars(array(
|
||||||
'NEW_USER' => $new_user,
|
'NEW_USER' => $new_user,
|
||||||
|
@ -27,7 +27,6 @@ $adm_edit = false; // редактирование админом чужого
|
||||||
require(INC_DIR .'bbcode.php');
|
require(INC_DIR .'bbcode.php');
|
||||||
require(INC_DIR .'functions_validate.php');
|
require(INC_DIR .'functions_validate.php');
|
||||||
require(INC_DIR .'functions_selects.php');
|
require(INC_DIR .'functions_selects.php');
|
||||||
require(INC_DIR .'ucp/usercp_avatar.php');
|
|
||||||
|
|
||||||
$pr_data = array(); // данные редактируемого либо регистрационного профиля
|
$pr_data = array(); // данные редактируемого либо регистрационного профиля
|
||||||
$db_data = array(); // данные для базы: регистрационные либо измененные данные юзера
|
$db_data = array(); // данные для базы: регистрационные либо измененные данные юзера
|
||||||
|
@ -55,7 +54,7 @@ switch ($mode)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Отключение регистрации
|
// Отключение регистрации
|
||||||
if ($bb_cfg['new_user_reg_disabled'])
|
if ($bb_cfg['new_user_reg_disabled'] || ($bb_cfg['reg_email_activation'] && $bb_cfg['emailer_disabled']))
|
||||||
{
|
{
|
||||||
bb_die($lang['NEW_USER_REG_DISABLED']);
|
bb_die($lang['NEW_USER_REG_DISABLED']);
|
||||||
}
|
}
|
||||||
|
@ -86,6 +85,7 @@ switch ($mode)
|
||||||
'user_timezone' => $bb_cfg['board_timezone'],
|
'user_timezone' => $bb_cfg['board_timezone'],
|
||||||
'user_lang' => $bb_cfg['default_lang'],
|
'user_lang' => $bb_cfg['default_lang'],
|
||||||
'user_opt' => 0,
|
'user_opt' => 0,
|
||||||
|
'avatar_ext_id' => 0,
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -109,6 +109,7 @@ switch ($mode)
|
||||||
'user_birthday' => true,
|
'user_birthday' => true,
|
||||||
'user_timezone' => true,
|
'user_timezone' => true,
|
||||||
'user_opt' => true,
|
'user_opt' => true,
|
||||||
|
'avatar_ext_id' => true,
|
||||||
'user_icq' => true,
|
'user_icq' => true,
|
||||||
'user_skype' => true,
|
'user_skype' => true,
|
||||||
'user_website' => true,
|
'user_website' => true,
|
||||||
|
@ -116,7 +117,6 @@ switch ($mode)
|
||||||
'user_sig' => true,
|
'user_sig' => true,
|
||||||
'user_occ' => true,
|
'user_occ' => true,
|
||||||
'user_interests' => true,
|
'user_interests' => true,
|
||||||
'user_avatar_type' => true,
|
|
||||||
'tpl_name' => true,
|
'tpl_name' => true,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -136,7 +136,6 @@ switch ($mode)
|
||||||
user_id,
|
user_id,
|
||||||
user_rank,
|
user_rank,
|
||||||
user_level,
|
user_level,
|
||||||
user_avatar,
|
|
||||||
user_email,
|
user_email,
|
||||||
$profile_fields_sql
|
$profile_fields_sql
|
||||||
FROM ". BB_USERS ."
|
FROM ". BB_USERS ."
|
||||||
|
@ -147,25 +146,6 @@ switch ($mode)
|
||||||
{
|
{
|
||||||
bb_die($lang['PROFILE_NOT_FOUND']);
|
bb_die($lang['PROFILE_NOT_FOUND']);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!bf($pr_data['user_opt'], 'user_opt', 'allow_avatar') && ($bb_cfg['allow_avatar_upload'] || $bb_cfg['allow_avatar_local']))
|
|
||||||
{
|
|
||||||
$template->assign_block_vars('switch_avatar_block', array());
|
|
||||||
|
|
||||||
if ($bb_cfg['allow_avatar_upload'] && file_exists(@bb_realpath('./' . $bb_cfg['avatar_path'])))
|
|
||||||
{
|
|
||||||
$template->assign_block_vars('switch_avatar_block.switch_avatar_local_upload', array());
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($bb_cfg['allow_avatar_local'] && file_exists(@bb_realpath('./' . $bb_cfg['avatar_gallery_path'])))
|
|
||||||
{
|
|
||||||
$template->assign_block_vars('switch_avatar_block.switch_avatar_local_gallery', array());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$template->assign_block_vars('not_avatar_block', array());
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -242,9 +222,9 @@ foreach ($profile_fields as $field => $can_edit)
|
||||||
{
|
{
|
||||||
$errors[] = sprintf($lang['CHOOSE_PASS_ERR_MAX'], 20);
|
$errors[] = sprintf($lang['CHOOSE_PASS_ERR_MAX'], 20);
|
||||||
}
|
}
|
||||||
elseif (mb_strlen($new_pass, 'UTF-8') < 5)
|
elseif (mb_strlen($new_pass, 'UTF-8') < 4)
|
||||||
{
|
{
|
||||||
$errors[] = sprintf($lang['CHOOSE_PASS_ERR_MIN'], 5);
|
$errors[] = sprintf($lang['CHOOSE_PASS_ERR_MIN'], 4);
|
||||||
}
|
}
|
||||||
elseif ($new_pass != $cfm_pass)
|
elseif ($new_pass != $cfm_pass)
|
||||||
{
|
{
|
||||||
|
@ -283,7 +263,11 @@ foreach ($profile_fields as $field => $can_edit)
|
||||||
{
|
{
|
||||||
if ($mode == 'register')
|
if ($mode == 'register')
|
||||||
{
|
{
|
||||||
if ($err = validate_email($email))
|
if (empty($email))
|
||||||
|
{
|
||||||
|
$errors[] = $lang['CHOOSE_E_MAIL'];
|
||||||
|
}
|
||||||
|
if (!$errors AND $err = validate_email($email))
|
||||||
{
|
{
|
||||||
$errors[] = $err;
|
$errors[] = $err;
|
||||||
}
|
}
|
||||||
|
@ -299,7 +283,7 @@ foreach ($profile_fields as $field => $can_edit)
|
||||||
{
|
{
|
||||||
$errors[] = $err;
|
$errors[] = $err;
|
||||||
}
|
}
|
||||||
if ($bb_cfg['require_activation'] == USER_ACTIVATION_SELF || $bb_cfg['require_activation'] == USER_ACTIVATION_ADMIN)
|
if ($bb_cfg['reg_email_activation'])
|
||||||
{
|
{
|
||||||
$pr_data['user_active'] = 0;
|
$pr_data['user_active'] = 0;
|
||||||
$db_data['user_active'] = 0;
|
$db_data['user_active'] = 0;
|
||||||
|
@ -417,6 +401,36 @@ foreach ($profile_fields as $field => $can_edit)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Avatar (edit)
|
||||||
|
*/
|
||||||
|
case 'avatar_ext_id':
|
||||||
|
if ($submit && !bf($pr_data['user_opt'], 'user_opt', 'allow_avatar'))
|
||||||
|
{
|
||||||
|
if (isset($_POST['delete_avatar']))
|
||||||
|
{
|
||||||
|
delete_avatar($pr_data['user_id'], $pr_data['avatar_ext_id']);
|
||||||
|
$pr_data['avatar_ext_id'] = 0;
|
||||||
|
$db_data['avatar_ext_id'] = 0;
|
||||||
|
}
|
||||||
|
else if (!empty($_FILES['avatar']['name']) && $bb_cfg['avatars']['up_allowed'])
|
||||||
|
{
|
||||||
|
require(INC_DIR .'functions_upload.php');
|
||||||
|
$upload = new upload_common();
|
||||||
|
|
||||||
|
if ($upload->init($bb_cfg['avatars'], $_FILES['avatar']) AND $upload->store('avatar', $pr_data))
|
||||||
|
{
|
||||||
|
$pr_data['avatar_ext_id'] = $upload->file_ext_id;
|
||||||
|
$db_data['avatar_ext_id'] = (int) $upload->file_ext_id;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$errors = array_merge($errors, $upload->errors);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ICQ (edit)
|
* ICQ (edit)
|
||||||
*/
|
*/
|
||||||
|
@ -453,6 +467,7 @@ foreach ($profile_fields as $field => $can_edit)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
$pr_data['user_website'] = '';
|
||||||
$errors[] = htmlCHR($lang['WEBSITE_ERROR']);
|
$errors[] = htmlCHR($lang['WEBSITE_ERROR']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -542,167 +557,6 @@ foreach ($profile_fields as $field => $can_edit)
|
||||||
$tp_data['USER_SKYPE'] = $pr_data['user_skype'];
|
$tp_data['USER_SKYPE'] = $pr_data['user_skype'];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'user_avatar_type':
|
|
||||||
if (isset($_POST['avatargallery']) && !$errors)
|
|
||||||
{
|
|
||||||
$category = (!empty($_POST['avatarcategory'])) ? htmlspecialchars($_POST['avatarcategory']) : '';
|
|
||||||
|
|
||||||
$dir = @opendir($bb_cfg['avatar_gallery_path']);
|
|
||||||
|
|
||||||
$avatar_images = array();
|
|
||||||
while($file = @readdir($dir))
|
|
||||||
{
|
|
||||||
if($file != '.' && $file != '..' && !is_file($bb_cfg['avatar_gallery_path'] . '/' . $file) && !is_link($bb_cfg['avatar_gallery_path'] . '/' . $file))
|
|
||||||
{
|
|
||||||
$sub_dir = @opendir($bb_cfg['avatar_gallery_path'] . '/' . $file);
|
|
||||||
|
|
||||||
$avatar_row_count = 0;
|
|
||||||
$avatar_col_count = 0;
|
|
||||||
while ($sub_file = @readdir($sub_dir))
|
|
||||||
{
|
|
||||||
if (preg_match('/(\.gif$|\.png$|\.jpg|\.jpeg)$/is', $sub_file))
|
|
||||||
{
|
|
||||||
$avatar_images[$file][$avatar_row_count][$avatar_col_count] = $sub_file;
|
|
||||||
$avatar_name[$file][$avatar_row_count][$avatar_col_count] = ucfirst(str_replace("_", " ", preg_replace('/^(.*)\..*$/', '\1', $sub_file)));
|
|
||||||
|
|
||||||
$avatar_col_count++;
|
|
||||||
if ($avatar_col_count == 5)
|
|
||||||
{
|
|
||||||
$avatar_row_count++;
|
|
||||||
$avatar_col_count = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@closedir($dir);
|
|
||||||
|
|
||||||
@ksort($avatar_images);
|
|
||||||
@reset($avatar_images);
|
|
||||||
|
|
||||||
if(empty($category))
|
|
||||||
{
|
|
||||||
list($category,) = each($avatar_images);
|
|
||||||
}
|
|
||||||
@reset($avatar_images);
|
|
||||||
|
|
||||||
$s_categories = '<select name="avatarcategory">';
|
|
||||||
while(list($key) = each($avatar_images))
|
|
||||||
{
|
|
||||||
$selected = ($key == $category) ? ' selected="selected"' : '';
|
|
||||||
if(count($avatar_images[$key]))
|
|
||||||
{
|
|
||||||
$s_categories .= '<option value="' . $key . '"' . $selected . '>' . ucfirst($key) . '</option>';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$s_categories .= '</select>';
|
|
||||||
|
|
||||||
$s_colspan = 0;
|
|
||||||
for ($i = 0; $i < @count($avatar_images[$category]); $i++)
|
|
||||||
{
|
|
||||||
$template->assign_block_vars('avatar_row', array());
|
|
||||||
|
|
||||||
$s_colspan = max($s_colspan, count($avatar_images[$category][$i]));
|
|
||||||
|
|
||||||
for($j = 0; $j < count($avatar_images[$category][$i]); $j++)
|
|
||||||
{
|
|
||||||
$template->assign_block_vars('avatar_row.avatar_column', array(
|
|
||||||
'AVATAR_IMAGE' => $bb_cfg['avatar_gallery_path'] . '/' . $category . '/' . $avatar_images[$category][$i][$j],
|
|
||||||
'AVATAR_NAME' => $avatar_name[$category][$i][$j])
|
|
||||||
);
|
|
||||||
|
|
||||||
$template->assign_block_vars('avatar_row.avatar_option_column', array(
|
|
||||||
'S_OPTIONS_AVATAR' => $avatar_images[$category][$i][$j])
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$s_hidden_vars = '<input type="hidden" name="avatarcatname" value="' . $category . '" />';
|
|
||||||
|
|
||||||
$u_id = (isset($_GET['u']) && intval($_GET['u'])) ? intval($_GET['u']) : 0;
|
|
||||||
$mode = (IS_ADMIN && $u_id) ? $mode . '&u=' . $u_id : $mode;
|
|
||||||
|
|
||||||
$template->assign_vars(array(
|
|
||||||
'S_CATEGORY_SELECT' => $s_categories,
|
|
||||||
'S_COLSPAN' => $s_colspan,
|
|
||||||
'S_PROFILE_ACTION' => 'profile.php?mode='. $mode,
|
|
||||||
'S_HIDDEN_FIELDS' => $s_hidden_vars)
|
|
||||||
);
|
|
||||||
|
|
||||||
print_page('usercp_avatar_gallery.tpl');
|
|
||||||
}
|
|
||||||
|
|
||||||
$user_avatar_local = (isset($_POST['avatarselect']) && !empty($_POST['submitavatar']) && $bb_cfg['allow_avatar_local']) ? htmlspecialchars($_POST['avatarselect']) : ((isset($_POST['avatarlocal'])) ? htmlspecialchars($_POST['avatarlocal']) : '');
|
|
||||||
$user_avatar_category = (isset($_POST['avatarcatname']) && $bb_cfg['allow_avatar_local']) ? htmlspecialchars($_POST['avatarcatname']) : '';
|
|
||||||
$user_avatar_upload = (!empty($_FILES['avatar']) && $_FILES['avatar']['tmp_name'] != "none") ? $_FILES['avatar']['tmp_name'] : '';
|
|
||||||
$user_avatar_name = (!empty($_FILES['avatar']['name'])) ? $_FILES['avatar']['name'] : '';
|
|
||||||
$user_avatar_size = (!empty($_FILES['avatar']['size'])) ? $_FILES['avatar']['size'] : 0;
|
|
||||||
$user_avatar_filetype = (!empty($_FILES['avatar']['type'])) ? $_FILES['avatar']['type'] : '';
|
|
||||||
|
|
||||||
$user_avatar = (empty($user_avatar_local)) ? $pr_data['user_avatar'] : '';
|
|
||||||
$user_avatar_type = (empty($user_avatar_local)) ? $pr_data['user_avatar_type'] : '';
|
|
||||||
|
|
||||||
if ((isset($_POST['avatargallery']) || isset($_POST['submitavatar']) || isset($_POST['cancelavatar'])) && (!isset($submit)))
|
|
||||||
{
|
|
||||||
if (!isset($_POST['cancelavatar']))
|
|
||||||
{
|
|
||||||
$user_avatar = $user_avatar_category . '/' . $user_avatar_local;
|
|
||||||
$user_avatar_type = USER_AVATAR_GALLERY;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$ini_val = (phpversion() >= '4.0.0') ? 'ini_get' : 'get_cfg_var';
|
|
||||||
$form_enctype = (@$ini_val('file_uploads') == '0' || strtolower(@$ini_val('file_uploads') == 'off') || phpversion() == '4.0.4pl1' || !$bb_cfg['allow_avatar_upload'] || (phpversion() < '4.0.3' && @$ini_val('open_basedir') != '')) ? '' : 'enctype="multipart/form-data"';
|
|
||||||
|
|
||||||
$avatar = '';
|
|
||||||
|
|
||||||
if (isset($_POST['avatardel']) && $mode == 'editprofile')
|
|
||||||
{
|
|
||||||
$avatar = user_avatar_delete($pr_data['user_avatar_type'], $pr_data['user_avatar']);
|
|
||||||
}
|
|
||||||
else if ((!empty($user_avatar_upload) || !empty($user_avatar_name)) && $bb_cfg['allow_avatar_upload'])
|
|
||||||
{
|
|
||||||
if (!empty($user_avatar_upload))
|
|
||||||
{
|
|
||||||
$avatar = user_avatar_upload($mode, 'local', $pr_data['user_avatar'], $pr_data['user_avatar_type'], $errors, $user_avatar_upload, $user_avatar_name, $user_avatar_size, $user_avatar_filetype);
|
|
||||||
}
|
|
||||||
else if (!empty($user_avatar_name))
|
|
||||||
{
|
|
||||||
$errors[] = sprintf($lang['AVATAR_FILESIZE'], round($bb_cfg['avatar_filesize'] / 1024));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if ($user_avatar_local != '' && $bb_cfg['allow_avatar_local'])
|
|
||||||
{
|
|
||||||
user_avatar_delete($pr_data['user_avatar_type'], $pr_data['user_avatar']);
|
|
||||||
$avatar = user_avatar_gallery($mode, $errors, $user_avatar_local, $user_avatar_category);
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($avatar)
|
|
||||||
{
|
|
||||||
$user_avatar = $avatar['user_avatar'];
|
|
||||||
$user_avatar_type = $avatar['user_avatar_type'];
|
|
||||||
$hidden_vars = '';
|
|
||||||
foreach ($_POST as $name => $key)
|
|
||||||
{
|
|
||||||
$hidden_vars .= '<input type="hidden" name="'. $name .'" value="'. $key .'" />';
|
|
||||||
}
|
|
||||||
$tp_data['USER_AVATAR'] = get_avatar($user_avatar, $user_avatar_type) . $hidden_vars;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$tp_data['USER_AVATAR'] = get_avatar($pr_data['user_avatar'], $pr_data['user_avatar_type'], !bf($pr_data['user_opt'], 'user_opt', 'allow_avatar'));
|
|
||||||
}
|
|
||||||
if ($submit && !bf($pr_data['user_opt'], 'user_opt', 'allow_avatar'))
|
|
||||||
{
|
|
||||||
if ($user_avatar != $pr_data['user_avatar'] || $user_avatar_type != $pr_data['user_avatar_type'])
|
|
||||||
{
|
|
||||||
$db_data['user_avatar'] = $avatar['user_avatar'];
|
|
||||||
$db_data['user_avatar_type'] = $avatar['user_avatar_type'];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Выбор шаблона (edit)
|
* Выбор шаблона (edit)
|
||||||
*/
|
*/
|
||||||
|
@ -768,7 +622,7 @@ if ($submit && !$errors)
|
||||||
*/
|
*/
|
||||||
if ($mode == 'register')
|
if ($mode == 'register')
|
||||||
{
|
{
|
||||||
if ($bb_cfg['require_activation'] == USER_ACTIVATION_SELF || $bb_cfg['require_activation'] == USER_ACTIVATION_ADMIN)
|
if ($bb_cfg['reg_email_activation'])
|
||||||
{
|
{
|
||||||
$user_actkey = make_rand_str(12);
|
$user_actkey = make_rand_str(12);
|
||||||
$db_data['user_active'] = 0;
|
$db_data['user_active'] = 0;
|
||||||
|
@ -797,16 +651,11 @@ if ($submit && !$errors)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ($bb_cfg['require_activation'] == USER_ACTIVATION_SELF)
|
if ($bb_cfg['reg_email_activation'])
|
||||||
{
|
{
|
||||||
$message = $lang['ACCOUNT_INACTIVE'];
|
$message = $lang['ACCOUNT_INACTIVE'];
|
||||||
$email_template = 'user_welcome_inactive';
|
$email_template = 'user_welcome_inactive';
|
||||||
}
|
}
|
||||||
else if ($bb_cfg['require_activation'] == USER_ACTIVATION_ADMIN)
|
|
||||||
{
|
|
||||||
$message = $lang['ACCOUNT_INACTIVE_ADMIN'];
|
|
||||||
$email_template = 'admin_welcome_inactive';
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$message = $lang['ACCOUNT_ADDED'];
|
$message = $lang['ACCOUNT_ADDED'];
|
||||||
|
@ -832,26 +681,6 @@ if ($submit && !$errors)
|
||||||
|
|
||||||
$emailer->send();
|
$emailer->send();
|
||||||
$emailer->reset();
|
$emailer->reset();
|
||||||
|
|
||||||
if ($bb_cfg['require_activation'] == USER_ACTIVATION_ADMIN)
|
|
||||||
{
|
|
||||||
$sql = "SELECT username, user_email, user_lang FROM ". BB_USERS ." WHERE user_level = ". ADMIN;
|
|
||||||
|
|
||||||
foreach (DB()->fetch_rowset($sql) as $row)
|
|
||||||
{
|
|
||||||
$emailer->from($bb_cfg['sitename'] ." <{$bb_cfg['board_email']}>");
|
|
||||||
$emailer->email_address($row['username'] ." <{$row['user_email']}>");
|
|
||||||
$emailer->use_template("admin_activate", $row['user_lang']);
|
|
||||||
|
|
||||||
$emailer->assign_vars(array(
|
|
||||||
'USERNAME' => html_entity_decode($username),
|
|
||||||
'U_ACTIVATE' => make_url('profile.php?mode=activate&' . POST_USERS_URL . '=' . $new_user_id . '&act_key=' . $db_data['user_actkey'])
|
|
||||||
));
|
|
||||||
|
|
||||||
$emailer->send();
|
|
||||||
$emailer->reset();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bb_die($message);
|
bb_die($message);
|
||||||
|
@ -862,6 +691,7 @@ if ($submit && !$errors)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
set_pr_die_append_msg($pr_data['user_id']);
|
set_pr_die_append_msg($pr_data['user_id']);
|
||||||
|
|
||||||
// если что-то было изменено
|
// если что-то было изменено
|
||||||
if ($db_data)
|
if ($db_data)
|
||||||
{
|
{
|
||||||
|
@ -875,15 +705,7 @@ if ($submit && !$errors)
|
||||||
$emailer = new emailer($bb_cfg['smtp_delivery']);
|
$emailer = new emailer($bb_cfg['smtp_delivery']);
|
||||||
|
|
||||||
$emailer->from($bb_cfg['sitename'] ." <{$bb_cfg['board_email']}>");
|
$emailer->from($bb_cfg['sitename'] ." <{$bb_cfg['board_email']}>");
|
||||||
|
$emailer->use_template('user_activate', $pr_data['user_lang']);
|
||||||
if($bb_cfg['require_activation'] == USER_ACTIVATION_ADMIN)
|
|
||||||
{
|
|
||||||
$emailer->use_template('admin_activate', $pr_data['user_lang']);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$emailer->use_template('user_activate', $pr_data['user_lang']);
|
|
||||||
}
|
|
||||||
$emailer->email_address("$username <$email>");
|
$emailer->email_address("$username <$email>");
|
||||||
|
|
||||||
$emailer->assign_vars(array(
|
$emailer->assign_vars(array(
|
||||||
|
@ -954,14 +776,16 @@ $template->assign_vars(array(
|
||||||
'TIMEZONE_SELECT' => tz_select($user_timezone, 'user_timezone'),
|
'TIMEZONE_SELECT' => tz_select($user_timezone, 'user_timezone'),
|
||||||
'USER_TIMEZONE' => $pr_data['user_timezone'],
|
'USER_TIMEZONE' => $pr_data['user_timezone'],
|
||||||
|
|
||||||
'AVATAR_EXPLAIN' => sprintf($lang['AVATAR_EXPLAIN'], $bb_cfg['avatar_max_width'], $bb_cfg['avatar_max_height'], (round($bb_cfg['avatar_filesize'] / 1024))),
|
'AVATAR_EXPLAIN' => sprintf($lang['AVATAR_EXPLAIN'], $bb_cfg['avatars']['max_width'], $bb_cfg['avatars']['max_height'], (round($bb_cfg['avatars']['max_size'] / 1024))),
|
||||||
'SIGNATURE_EXPLAIN' => sprintf($lang['SIGNATURE_EXPLAIN'], $bb_cfg['max_sig_chars']),
|
'AVATAR_DISALLOWED' => bf($pr_data['user_opt'], 'user_opt', 'allow_avatar'),
|
||||||
|
|
||||||
|
'SIGNATURE_EXPLAIN' => sprintf($lang['SIGNATURE_EXPLAIN'], $bb_cfg['max_sig_chars']),
|
||||||
'SIG_DISALLOWED' => bf($pr_data['user_opt'], 'user_opt', 'allow_sig'),
|
'SIG_DISALLOWED' => bf($pr_data['user_opt'], 'user_opt', 'allow_sig'),
|
||||||
|
|
||||||
'PR_USER_ID' => $pr_data['user_id'],
|
'PR_USER_ID' => $pr_data['user_id'],
|
||||||
'U_RESET_AUTOLOGIN' => LOGIN_URL . "?logout=1&reset_autologin=1&sid={$userdata['session_id']}",
|
'U_RESET_AUTOLOGIN' => LOGIN_URL . "?logout=1&reset_autologin=1&sid={$userdata['session_id']}",
|
||||||
|
|
||||||
|
'AVATAR_URL_PATH' => ($pr_data['avatar_ext_id']) ? get_avatar_path($pr_data['user_id'], $pr_data['avatar_ext_id']) : '',
|
||||||
));
|
));
|
||||||
|
|
||||||
print_page('usercp_register.tpl');
|
print_page('usercp_register.tpl');
|
|
@ -123,7 +123,6 @@ $template->assign_vars(array(
|
||||||
'GENDER' => ($bb_cfg['gender'] && $profiledata['user_gender']) ? $lang['GENDER_SELECT'][$profiledata['user_gender']] : '',
|
'GENDER' => ($bb_cfg['gender'] && $profiledata['user_gender']) ? $lang['GENDER_SELECT'][$profiledata['user_gender']] : '',
|
||||||
'BIRTHDAY' => ($bb_cfg['birthday_enabled'] && $profiledata['user_birthday'] != '0000-00-00') ? date('Y-m-d', strtotime($profiledata['user_birthday'])) : '',
|
'BIRTHDAY' => ($bb_cfg['birthday_enabled'] && $profiledata['user_birthday'] != '0000-00-00') ? date('Y-m-d', strtotime($profiledata['user_birthday'])) : '',
|
||||||
'AGE' => ($bb_cfg['birthday_enabled'] && $profiledata['user_birthday'] != '0000-00-00') ? birthday_age($profiledata['user_birthday']) : '',
|
'AGE' => ($bb_cfg['birthday_enabled'] && $profiledata['user_birthday'] != '0000-00-00') ? birthday_age($profiledata['user_birthday']) : '',
|
||||||
'AVATAR_IMG' => get_avatar($profiledata['user_avatar'], $profiledata['user_avatar_type'], !bf($profiledata['user_opt'], 'user_opt', 'allow_avatar')),
|
|
||||||
|
|
||||||
'L_VIEWING_PROFILE' => sprintf($lang['VIEWING_USER_PROFILE'], $profiledata['username']),
|
'L_VIEWING_PROFILE' => sprintf($lang['VIEWING_USER_PROFILE'], $profiledata['username']),
|
||||||
|
|
||||||
|
@ -131,14 +130,17 @@ $template->assign_vars(array(
|
||||||
'U_SEARCH_TOPICS' => "search.php?uid={$profiledata['user_id']}&myt=1",
|
'U_SEARCH_TOPICS' => "search.php?uid={$profiledata['user_id']}&myt=1",
|
||||||
'U_SEARCH_RELEASES' => "tracker.php?rid={$profiledata['user_id']}#results",
|
'U_SEARCH_RELEASES' => "tracker.php?rid={$profiledata['user_id']}#results",
|
||||||
|
|
||||||
|
'AVATAR_IMG' => get_avatar($profiledata['user_id'], $profiledata['avatar_ext_id'], !bf($profiledata['user_opt'], 'user_opt', 'allow_avatar')),
|
||||||
|
'AVATAR_DISALLOWED' => bf($profiledata['user_opt'], 'user_opt', 'allow_avatar'),
|
||||||
|
|
||||||
'S_PROFILE_ACTION' => 'profile.php',
|
'S_PROFILE_ACTION' => 'profile.php',
|
||||||
|
|
||||||
'SIGNATURE' => $signature,
|
'SIGNATURE' => $signature,
|
||||||
'SHOW_PASSKEY' => (IS_ADMIN || $profile_user_id),
|
'SHOW_PASSKEY' => (IS_ADMIN || $profile_user_id),
|
||||||
'SHOW_ROLE' => (IS_AM || $profile_user_id || $profiledata['user_active']),
|
'SHOW_ROLE' => (IS_AM || $profile_user_id || $profiledata['user_active']),
|
||||||
'GROUP_MEMBERSHIP' => false,
|
'GROUP_MEMBERSHIP' => false,
|
||||||
'TRAF_STATS' => !(IS_AM || $profile_user_id),
|
'TRAF_STATS' => !(IS_AM || $profile_user_id),
|
||||||
'U_MANAGE' => (IS_ADMIN) ? "profile.php?mode=editprofile&u={$profiledata['user_id']}" : 'profile.php?mode=editprofile',
|
'U_MANAGE' => (IS_ADMIN) ? "profile.php?mode=editprofile&u={$profiledata['user_id']}" : 'profile.php?mode=editprofile',
|
||||||
));
|
));
|
||||||
|
|
||||||
if (IS_ADMIN)
|
if (IS_ADMIN)
|
||||||
|
|
|
@ -220,9 +220,9 @@ $template->assign_vars(array(
|
||||||
|
|
||||||
// Tracker stats
|
// Tracker stats
|
||||||
'TORRENTS_STAT' => ($bb_cfg['tor_stats']) ? sprintf($lang['TORRENTS_STAT'], $stats['torrentcount'], humn_size($stats['size'])) : '',
|
'TORRENTS_STAT' => ($bb_cfg['tor_stats']) ? sprintf($lang['TORRENTS_STAT'], $stats['torrentcount'], humn_size($stats['size'])) : '',
|
||||||
'PEERS_STAT' => ($bb_cfg['tor_stats']) ? sprintf($lang['PEERS_STAT'], $stats['peers'], $stats['seeders'], $stats['leechers']) : '',
|
'PEERS_STAT' => ($bb_cfg['tor_stats']) ? sprintf($lang['PEERS_STAT'], $stats['peers'], $stats['seeders'], $stats['leechers']) : '',
|
||||||
'SPEED_STAT' => ($bb_cfg['tor_stats']) ? sprintf($lang['SPEED_STAT'], humn_size($stats['speed']) .'/s') : '',
|
'SPEED_STAT' => ($bb_cfg['tor_stats']) ? sprintf($lang['SPEED_STAT'], humn_size($stats['speed']) .'/s') : '',
|
||||||
'SHOW_MOD_INDEX' => $bb_cfg['show_mod_index'],
|
'SHOW_MOD_INDEX' => $bb_cfg['show_mod_index'],
|
||||||
'FORUM_IMG' => $images['forum'],
|
'FORUM_IMG' => $images['forum'],
|
||||||
'FORUM_NEW_IMG' => $images['forum_new'],
|
'FORUM_NEW_IMG' => $images['forum_new'],
|
||||||
'FORUM_LOCKED_IMG' => $images['forum_locked'],
|
'FORUM_LOCKED_IMG' => $images['forum_locked'],
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
Subject: New user account
|
|
||||||
Charset: UTF-8
|
|
||||||
|
|
||||||
Hello,
|
|
||||||
|
|
||||||
The account owned by "{USERNAME}" has been deactivated or newly created, you should check the details of this user (if required) and activate it using the following link:
|
|
||||||
|
|
||||||
{U_ACTIVATE}
|
|
||||||
|
|
||||||
{EMAIL_SIG}
|
|
|
@ -1,8 +0,0 @@
|
||||||
Subject: Account Activated
|
|
||||||
Charset: UTF-8
|
|
||||||
|
|
||||||
Hello {USERNAME},
|
|
||||||
|
|
||||||
Your account on "{SITENAME}" has now been activated, you may login using the username and password you received in a previous email.
|
|
||||||
|
|
||||||
{EMAIL_SIG}
|
|
|
@ -1,19 +0,0 @@
|
||||||
Subject: Welcome to {SITENAME} Forums
|
|
||||||
Charset: UTF-8
|
|
||||||
|
|
||||||
{WELCOME_MSG}
|
|
||||||
|
|
||||||
Please keep this email for your records. Your account information is as follows:
|
|
||||||
|
|
||||||
----------------------------
|
|
||||||
Username: {USERNAME}
|
|
||||||
Password: {PASSWORD}
|
|
||||||
----------------------------
|
|
||||||
|
|
||||||
Your account is currently inactive, the administrator of the board will need to activate it before you can log in. You will receive another email when this has occured.
|
|
||||||
|
|
||||||
Please do not forget your password as it has been encrypted in our database and we cannot retrieve it for you. However, should you forget your password you can request a new one which will be activated in the same way as this account.
|
|
||||||
|
|
||||||
Thank you for registering.
|
|
||||||
|
|
||||||
{EMAIL_SIG}
|
|
|
@ -514,7 +514,6 @@ $lang['REGISTRATION_INFO'] = 'Registration Information';
|
||||||
$lang['PROFILE_INFO'] = 'Profile Information';
|
$lang['PROFILE_INFO'] = 'Profile Information';
|
||||||
$lang['PROFILE_INFO_WARN'] = 'This information will be publicly viewable';
|
$lang['PROFILE_INFO_WARN'] = 'This information will be publicly viewable';
|
||||||
$lang['AVATAR_PANEL'] = 'Avatar control panel';
|
$lang['AVATAR_PANEL'] = 'Avatar control panel';
|
||||||
$lang['AVATAR_GALLERY'] = 'Avatar gallery';
|
|
||||||
|
|
||||||
$lang['WEBSITE'] = 'Website';
|
$lang['WEBSITE'] = 'Website';
|
||||||
$lang['LOCATION'] = 'Location';
|
$lang['LOCATION'] = 'Location';
|
||||||
|
@ -598,9 +597,6 @@ $lang['RESET_AUTOLOGIN_EXPL'] = '';
|
||||||
$lang['AVATAR'] = 'Avatar';
|
$lang['AVATAR'] = 'Avatar';
|
||||||
$lang['AVATAR_EXPLAIN'] = 'Displays a small graphic image below your details in posts. Only one image can be displayed at a time, its width can be no greater than %d pixels, the height no greater than %d pixels, and the file size no more than %d KB.';
|
$lang['AVATAR_EXPLAIN'] = 'Displays a small graphic image below your details in posts. Only one image can be displayed at a time, its width can be no greater than %d pixels, the height no greater than %d pixels, and the file size no more than %d KB.';
|
||||||
$lang['UPLOAD_AVATAR_FILE'] = 'Upload Avatar from your machine';
|
$lang['UPLOAD_AVATAR_FILE'] = 'Upload Avatar from your machine';
|
||||||
$lang['PICK_LOCAL_AVATAR'] = 'Select Avatar from the gallery';
|
|
||||||
$lang['SELECT_FROM_GALLERY'] = 'Select Avatar from gallery';
|
|
||||||
$lang['VIEW_AVATAR_GALLERY'] = 'Show gallery';
|
|
||||||
|
|
||||||
$lang['SELECT_AVATAR'] = 'Select avatar';
|
$lang['SELECT_AVATAR'] = 'Select avatar';
|
||||||
$lang['RETURN_PROFILE'] = 'Return to profile';
|
$lang['RETURN_PROFILE'] = 'Return to profile';
|
||||||
|
@ -635,7 +631,7 @@ $lang['FIELDS_EMPTY'] = 'You must fill in the required fields.';
|
||||||
$lang['AVATAR_FILETYPE'] = 'The avatar filetype must be .jpg, .gif or .png';
|
$lang['AVATAR_FILETYPE'] = 'The avatar filetype must be .jpg, .gif or .png';
|
||||||
$lang['AVATAR_FILESIZE'] = 'The avatar image file size must be less than %d KB'; // The avatar image file size must be less than 6 KB
|
$lang['AVATAR_FILESIZE'] = 'The avatar image file size must be less than %d KB'; // The avatar image file size must be less than 6 KB
|
||||||
$lang['AVATAR_IMAGESIZE'] = 'The avatar must be less than %d pixels wide and %d pixels high';
|
$lang['AVATAR_IMAGESIZE'] = 'The avatar must be less than %d pixels wide and %d pixels high';
|
||||||
$lang['AVATAR_DISABLE'] = 'You are not allowed to use an avatar.';
|
$lang['AVATAR_DISABLE'] = 'Forbidden to show avatar';
|
||||||
|
|
||||||
$lang['WELCOME_SUBJECT'] = 'Welcome to %s Forums'; // Welcome to my.com forums
|
$lang['WELCOME_SUBJECT'] = 'Welcome to %s Forums'; // Welcome to my.com forums
|
||||||
$lang['NEW_ACCOUNT_SUBJECT'] = 'New user account';
|
$lang['NEW_ACCOUNT_SUBJECT'] = 'New user account';
|
||||||
|
@ -643,9 +639,7 @@ $lang['ACCOUNT_ACTIVATED_SUBJECT'] = 'Account Activated';
|
||||||
|
|
||||||
$lang['ACCOUNT_ADDED'] = 'Thank you for registering. Your account has been created. You may now log in with your username and password';
|
$lang['ACCOUNT_ADDED'] = 'Thank you for registering. Your account has been created. You may now log in with your username and password';
|
||||||
$lang['ACCOUNT_INACTIVE'] = 'Your account has been created. However, this forum requires account activation. An activation key has been sent to the e-mail address you provided. Please check your e-mail for further information';
|
$lang['ACCOUNT_INACTIVE'] = 'Your account has been created. However, this forum requires account activation. An activation key has been sent to the e-mail address you provided. Please check your e-mail for further information';
|
||||||
$lang['ACCOUNT_INACTIVE_ADMIN'] = 'Your account has been created. However, this forum requires account activation by the administrator. An e-mail has been sent to them and you will be informed when your account has been activated';
|
|
||||||
$lang['ACCOUNT_ACTIVE'] = 'Your account has just been activated. Thank you for registering';
|
$lang['ACCOUNT_ACTIVE'] = 'Your account has just been activated. Thank you for registering';
|
||||||
$lang['ACCOUNT_ACTIVE_ADMIN'] = 'The account has just been activated';
|
|
||||||
$lang['REACTIVATE'] = 'Reactivate your account!';
|
$lang['REACTIVATE'] = 'Reactivate your account!';
|
||||||
$lang['ALREADY_ACTIVATED'] = 'You have already activated your account';
|
$lang['ALREADY_ACTIVATED'] = 'You have already activated your account';
|
||||||
|
|
||||||
|
@ -1978,18 +1972,6 @@ $lang['MAX_SIG_LENGTH'] = 'Maximum signature length';
|
||||||
$lang['MAX_SIG_LENGTH_EXPLAIN'] = 'Maximum number of characters in user signatures';
|
$lang['MAX_SIG_LENGTH_EXPLAIN'] = 'Maximum number of characters in user signatures';
|
||||||
$lang['ALLOW_NAME_CHANGE'] = 'Allow Username changes';
|
$lang['ALLOW_NAME_CHANGE'] = 'Allow Username changes';
|
||||||
|
|
||||||
$lang['AVATAR_SETTINGS'] = 'Avatar Settings';
|
|
||||||
$lang['ALLOW_LOCAL'] = 'Enable gallery avatars';
|
|
||||||
$lang['ALLOW_UPLOAD'] = 'Enable avatar uploading';
|
|
||||||
$lang['MAX_FILESIZE'] = 'Maximum Avatar File Size';
|
|
||||||
$lang['MAX_FILESIZE_EXPLAIN'] = 'For uploaded avatar files';
|
|
||||||
$lang['MAX_AVATAR_SIZE'] = 'Maximum Avatar Dimensions';
|
|
||||||
$lang['MAX_AVATAR_SIZE_EXPLAIN'] = '(Height x Width in pixels)';
|
|
||||||
$lang['AVATAR_STORAGE_PATH'] = 'Avatar Storage Path';
|
|
||||||
$lang['AVATAR_STORAGE_PATH_EXPLAIN'] = 'Path under your phpBB root dir, e.g. images/avatars';
|
|
||||||
$lang['AVATAR_GALLERY_PATH'] = 'Avatar Gallery Path';
|
|
||||||
$lang['AVATAR_GALLERY_PATH_EXPLAIN'] = 'Path under your phpBB root dir for pre-loaded images, e.g. images/avatars/gallery';
|
|
||||||
|
|
||||||
$lang['EMAIL_SETTINGS'] = 'Email Settings';
|
$lang['EMAIL_SETTINGS'] = 'Email Settings';
|
||||||
|
|
||||||
// Visual Confirmation
|
// Visual Confirmation
|
||||||
|
@ -3194,4 +3176,5 @@ $lang['SORT_OPTIONS'] = 'Sort options:';
|
||||||
$lang['LAST_VISIT'] = 'Last Visit';
|
$lang['LAST_VISIT'] = 'Last Visit';
|
||||||
$lang['DAY'] = 'Day';
|
$lang['DAY'] = 'Day';
|
||||||
|
|
||||||
$lang['POST_EDIT_CANNOT'] = 'Sorry, but you cannot edit posts';
|
$lang['POST_EDIT_CANNOT'] = 'Sorry, but you cannot edit posts';
|
||||||
|
$lang['FORUMS_IN_CAT'] = 'forums in that category';
|
|
@ -1,10 +0,0 @@
|
||||||
Subject: Новый пользователь
|
|
||||||
Charset: UTF-8
|
|
||||||
|
|
||||||
Здравствуйте,
|
|
||||||
|
|
||||||
Учётная запись "{USERNAME}" была отключена или только что создана. Вы должны проверить информацию о пользователе и активировать её, перейдя по этой ссылке:
|
|
||||||
|
|
||||||
{U_ACTIVATE}
|
|
||||||
|
|
||||||
{EMAIL_SIG}
|
|
|
@ -1,8 +0,0 @@
|
||||||
Subject: Учётная запись активирована
|
|
||||||
Charset: UTF-8
|
|
||||||
|
|
||||||
Здравствуйте, {USERNAME}!
|
|
||||||
|
|
||||||
Ваша учётная запись на сайте "{SITENAME}" была активирована. Теперь вы можете входить в систему, используя имя и пароль, присланные вам в предыдущем письме.
|
|
||||||
|
|
||||||
{EMAIL_SIG}
|
|
|
@ -1,19 +0,0 @@
|
||||||
Subject: Добро пожаловать на сайт {SITENAME}
|
|
||||||
Charset: UTF-8
|
|
||||||
|
|
||||||
{WELCOME_MSG}
|
|
||||||
|
|
||||||
Пожалуйста, сохраните это сообщение. Параметры вашей учётной записи таковы:
|
|
||||||
|
|
||||||
----------------------------
|
|
||||||
Имя пользователя: {USERNAME}
|
|
||||||
Пароль: {PASSWORD}
|
|
||||||
----------------------------
|
|
||||||
|
|
||||||
Ваша учётная запись ещё не активна, её должен активировать администратор сайта. Как только это произойдёт, вам будет прислано письмо.
|
|
||||||
|
|
||||||
Не забывайте свой пароль: он хранится в нашей базе в зашифрованном виде, и мы не сможем вам его выслать. Если вы всё же забудете пароль, то сможете запросить новый, который придётся активировать таким же образом, как и вашу учётную запись.
|
|
||||||
|
|
||||||
Спасибо за то, что зарегистрировались на нашем сайте.
|
|
||||||
|
|
||||||
{EMAIL_SIG}
|
|
|
@ -9,6 +9,6 @@ Charset: UTF-8
|
||||||
|
|
||||||
{U_INBOX}
|
{U_INBOX}
|
||||||
|
|
||||||
Вы можете отказаться от получения подобных уведомлений, если измените настройки в своём профиле.
|
Вы можете отказаться от получения подобных уведомлений, если измените настройки в своем профиле.
|
||||||
|
|
||||||
{EMAIL_SIG}
|
{EMAIL_SIG}
|
|
@ -7,7 +7,7 @@ Charset: UTF-8
|
||||||
|
|
||||||
{U_TOPIC}
|
{U_TOPIC}
|
||||||
|
|
||||||
Если вы больше не хотите следить за темой, то либо щёлкните по ссылке "перестать следить за темой" внизу страницы, либо перейдите по следующей ссылке:
|
Если вы больше не хотите следить за темой, то либо щелкните по ссылке "перестать следить за темой" внизу страницы, либо перейдите по следующей ссылке:
|
||||||
|
|
||||||
{U_STOP_WATCHING_TOPIC}
|
{U_STOP_WATCHING_TOPIC}
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
Subject: Повторная активация учётной записи
|
Subject: Повторная активация учетной записи
|
||||||
Charset: UTF-8
|
Charset: UTF-8
|
||||||
|
|
||||||
Здравствуйте, {USERNAME}!
|
Здравствуйте, {USERNAME}!
|
||||||
|
|
||||||
Ваша учётная запись на сайте {SITENAME} была отключена, скорее всего из-за внесённых в ваш профиль изменений. Чтобы вновь её активировать, перейдите по этой ссылке:
|
Ваша учетная запись на сайте {SITENAME} была отключена, скорее всего из-за внесенных в ваш профиль изменений. Чтобы вновь ее активировать, перейдите по этой ссылке:
|
||||||
|
|
||||||
{U_ACTIVATE}
|
{U_ACTIVATE}
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ Charset: UTF-8
|
||||||
|
|
||||||
Здравствуйте, {USERNAME}!
|
Здравствуйте, {USERNAME}!
|
||||||
|
|
||||||
Вы получили это письмо потому, что вы (либо кто-то, выдающий себя за вас) попросили выслать новый пароль к вашей учётной записи на сайте {SITENAME}. Если вы не просили выслать пароль, то не обращайте внимания на это письмо, если же подобные письма будут продолжать приходить, обратитесь к администратору сайта.
|
Вы получили это письмо потому, что вы (либо кто-то, выдающий себя за вас) попросили выслать новый пароль к вашей учетной записи на сайте {SITENAME}. Если вы не просили выслать пароль, то не обращайте внимания на это письмо, если же подобные письма будут продолжать приходить, обратитесь к администратору сайта.
|
||||||
|
|
||||||
Прежде чем использовать новый пароль, вы должны его активировать. Для этого перейдите по ссылке:
|
Прежде чем использовать новый пароль, вы должны его активировать. Для этого перейдите по ссылке:
|
||||||
|
|
||||||
|
|
|
@ -3,14 +3,14 @@ Charset: UTF-8
|
||||||
|
|
||||||
{WELCOME_MSG}
|
{WELCOME_MSG}
|
||||||
|
|
||||||
Пожалуйста сохраните это сообщение. Параметры вашей учётной записи таковы:
|
Пожалуйста сохраните это сообщение. Параметры вашей учетной записи таковы:
|
||||||
|
|
||||||
----------------------------
|
----------------------------
|
||||||
Имя пользователя: {USERNAME}
|
Имя пользователя: {USERNAME}
|
||||||
Пароль: {PASSWORD}
|
Пароль: {PASSWORD}
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
Не забывайте свой пароль: он хранится в нашей базе в зашифрованном виде, и мы не сможем вам его выслать. Если вы всё же забудете пароль, то сможете запросить новый, который придётся активировать таким же образом, как и вашу учётную запись.
|
Не забывайте свой пароль: он хранится в нашей базе в зашифрованном виде, и мы не сможем вам его выслать. Если вы все же забудете пароль, то сможете запросить новый, который придется активировать таким же образом, как и вашу учетную запись.
|
||||||
|
|
||||||
Спасибо за то, что зарегистрировались на нашем сайте.
|
Спасибо за то, что зарегистрировались на нашем сайте.
|
||||||
|
|
||||||
|
|
|
@ -3,18 +3,18 @@ Charset: UTF-8
|
||||||
|
|
||||||
{WELCOME_MSG}
|
{WELCOME_MSG}
|
||||||
|
|
||||||
Пожалуйста сохраните это сообщение. Параметры вашей учётной записи таковы:
|
Пожалуйста сохраните это сообщение. Параметры вашей учетной записи таковы:
|
||||||
|
|
||||||
----------------------------
|
----------------------------
|
||||||
Имя пользователя: {USERNAME}
|
Имя пользователя: {USERNAME}
|
||||||
Пароль: {PASSWORD}
|
Пароль: {PASSWORD}
|
||||||
----------------------------
|
----------------------------
|
||||||
|
|
||||||
Ваша учётная запись ещё не активна. Вы не сможете ей пользоваться, пока не перейдёте по следующей ссылке:
|
Ваша учетная запись еще не активна. Вы не сможете ей пользоваться, пока не перейдете по следующей ссылке:
|
||||||
|
|
||||||
{U_ACTIVATE}
|
{U_ACTIVATE}
|
||||||
|
|
||||||
Не забывайте свой пароль: он хранится в нашей базе в зашифрованном виде, и мы не сможем вам его выслать. Если вы всё же забудете пароль, то сможете запросить новый, который придётся активировать таким же образом, как и вашу учётную запись.
|
Не забывайте свой пароль: он хранится в нашей базе в зашифрованном виде, и мы не сможем вам его выслать. Если вы все же забудете пароль, то сможете запросить новый, который придется активировать таким же образом, как и вашу учетную запись.
|
||||||
|
|
||||||
Спасибо за то, что зарегистрировались на нашем сайте.
|
Спасибо за то, что зарегистрировались на нашем сайте.
|
||||||
|
|
||||||
|
|
|
@ -84,7 +84,7 @@ $lang['REPLY_TO_TOPIC'] = 'Ответить на тему';
|
||||||
$lang['REPLY_WITH_QUOTE'] = 'Ответить с цитатой';
|
$lang['REPLY_WITH_QUOTE'] = 'Ответить с цитатой';
|
||||||
|
|
||||||
$lang['CLICK_RETURN_TOPIC'] = '%sВернуться в тему%s';
|
$lang['CLICK_RETURN_TOPIC'] = '%sВернуться в тему%s';
|
||||||
$lang['CLICK_RETURN_LOGIN'] = '%sПопробовать ещё раз%s';
|
$lang['CLICK_RETURN_LOGIN'] = '%sПопробовать еще раз%s';
|
||||||
$lang['CLICK_RETURN_FORUM'] = '%sВернуться в форум%s';
|
$lang['CLICK_RETURN_FORUM'] = '%sВернуться в форум%s';
|
||||||
$lang['CLICK_VIEW_MESSAGE'] = '%sПросмотреть ваше сообщение%s';
|
$lang['CLICK_VIEW_MESSAGE'] = '%sПросмотреть ваше сообщение%s';
|
||||||
$lang['CLICK_RETURN_MODCP'] = '%sВернуться к панели модерации%s';
|
$lang['CLICK_RETURN_MODCP'] = '%sВернуться к панели модерации%s';
|
||||||
|
@ -187,8 +187,8 @@ $lang['PRIVATE_MESSAGE'] = 'Личное сообщение';
|
||||||
$lang['PRIVATE_MESSAGES'] = 'Личные сообщения';
|
$lang['PRIVATE_MESSAGES'] = 'Личные сообщения';
|
||||||
$lang['WHOSONLINE'] = 'Кто сейчас на форуме';
|
$lang['WHOSONLINE'] = 'Кто сейчас на форуме';
|
||||||
|
|
||||||
$lang['MARK_ALL_FORUMS_READ'] = 'Отметить все форумы как прочтённые';
|
$lang['MARK_ALL_FORUMS_READ'] = 'Отметить все форумы как прочтенные';
|
||||||
$lang['FORUMS_MARKED_READ'] = 'Все форумы были отмечены как прочтённые';
|
$lang['FORUMS_MARKED_READ'] = 'Все форумы были отмечены как прочтенные';
|
||||||
|
|
||||||
$lang['LATEST_NEWS'] = 'Новости трекера';
|
$lang['LATEST_NEWS'] = 'Новости трекера';
|
||||||
$lang['NETWORK_NEWS'] = 'Новости в сети';
|
$lang['NETWORK_NEWS'] = 'Новости в сети';
|
||||||
|
@ -213,8 +213,8 @@ $lang['TOPIC_STICKY'] = 'Прилеплена:';
|
||||||
$lang['TOPIC_MOVED'] = 'Перемещена:';
|
$lang['TOPIC_MOVED'] = 'Перемещена:';
|
||||||
$lang['TOPIC_POLL'] = '[ Опрос ]';
|
$lang['TOPIC_POLL'] = '[ Опрос ]';
|
||||||
|
|
||||||
$lang['MARK_TOPICS_READ'] = 'Отметить все темы как прочтённые';
|
$lang['MARK_TOPICS_READ'] = 'Отметить все темы как прочтенные';
|
||||||
$lang['TOPICS_MARKED_READ'] = 'Все темы в этом форуме были отмечены как прочтённые';
|
$lang['TOPICS_MARKED_READ'] = 'Все темы в этом форуме были отмечены как прочтенные';
|
||||||
|
|
||||||
$lang['RULES_POST_CAN'] = 'Вы <b>можете</b> начинать темы';
|
$lang['RULES_POST_CAN'] = 'Вы <b>можете</b> начинать темы';
|
||||||
$lang['RULES_POST_CANNOT'] = 'Вы <b>не можете</b> начинать темы';
|
$lang['RULES_POST_CANNOT'] = 'Вы <b>не можете</b> начинать темы';
|
||||||
|
@ -343,8 +343,8 @@ $lang['TOPIC_LOCKED'] = 'Эта тема закрыта, вы не можете
|
||||||
$lang['TOPIC_LOCKED_SHORT'] = 'Тема закрыта';
|
$lang['TOPIC_LOCKED_SHORT'] = 'Тема закрыта';
|
||||||
$lang['NO_POST_ID'] = 'Вы должны выбрать сообщение для редактирования';
|
$lang['NO_POST_ID'] = 'Вы должны выбрать сообщение для редактирования';
|
||||||
$lang['NO_TOPIC_ID'] = 'Вы должны выбрать тему для ответа';
|
$lang['NO_TOPIC_ID'] = 'Вы должны выбрать тему для ответа';
|
||||||
$lang['NO_VALID_MODE'] = 'Вы можете только создавать темы, отвечать и редактировать сообщения. Вернитесь и попробуйте ещё раз.';
|
$lang['NO_VALID_MODE'] = 'Вы можете только создавать темы, отвечать и редактировать сообщения. Вернитесь и попробуйте еще раз.';
|
||||||
$lang['NO_SUCH_POST'] = 'Сообщение отсутствует. Вернитесь и попробуйте ещё раз.';
|
$lang['NO_SUCH_POST'] = 'Сообщение отсутствует. Вернитесь и попробуйте еще раз.';
|
||||||
$lang['EDIT_OWN_POSTS'] = 'Извините, вы можете редактировать только ваши собственные сообщения';
|
$lang['EDIT_OWN_POSTS'] = 'Извините, вы можете редактировать только ваши собственные сообщения';
|
||||||
$lang['DELETE_OWN_POSTS'] = 'Извините, вы можете удалять только ваши собственные сообщения';
|
$lang['DELETE_OWN_POSTS'] = 'Извините, вы можете удалять только ваши собственные сообщения';
|
||||||
$lang['CANNOT_DELETE_REPLIED'] = 'Извините, вы не можете удалить сообщение, на которое были получены ответы';
|
$lang['CANNOT_DELETE_REPLIED'] = 'Извините, вы не можете удалить сообщение, на которое были получены ответы';
|
||||||
|
@ -361,7 +361,7 @@ $lang['ADD_POLL'] = 'Добавить опрос';
|
||||||
$lang['ADD_POLL_EXPLAIN'] = 'Если вы не хотите добавлять опрос к вашему сообщению, оставьте поля пустыми';
|
$lang['ADD_POLL_EXPLAIN'] = 'Если вы не хотите добавлять опрос к вашему сообщению, оставьте поля пустыми';
|
||||||
$lang['POLL_QUESTION'] = 'Вопрос';
|
$lang['POLL_QUESTION'] = 'Вопрос';
|
||||||
$lang['POLL_OPTION'] = 'Вариант ответа';
|
$lang['POLL_OPTION'] = 'Вариант ответа';
|
||||||
$lang['ADD_OPTION'] = 'Добавить ещё вариант';
|
$lang['ADD_OPTION'] = 'Добавить еще вариант';
|
||||||
$lang['UPDATE'] = 'Обновить';
|
$lang['UPDATE'] = 'Обновить';
|
||||||
$lang['POLL_FOR'] = 'Опрос должен идти';
|
$lang['POLL_FOR'] = 'Опрос должен идти';
|
||||||
$lang['DAYS'] = 'Дней';
|
$lang['DAYS'] = 'Дней';
|
||||||
|
@ -376,8 +376,8 @@ $lang['NOTIFY'] = 'Сообщать мне о получении ответа';
|
||||||
$lang['STORED'] = 'Сообщение было успешно добавлено';
|
$lang['STORED'] = 'Сообщение было успешно добавлено';
|
||||||
$lang['EDITED'] = 'Сообщение было успешно изменено';
|
$lang['EDITED'] = 'Сообщение было успешно изменено';
|
||||||
$lang['DELETED'] = 'Cообщение было успешно удалено';
|
$lang['DELETED'] = 'Cообщение было успешно удалено';
|
||||||
$lang['POLL_DELETE'] = 'Ваш опрос был успешно удалён';
|
$lang['POLL_DELETE'] = 'Ваш опрос был успешно удален';
|
||||||
$lang['VOTE_CAST'] = 'Ваш голос был учтён';
|
$lang['VOTE_CAST'] = 'Ваш голос был учтен';
|
||||||
|
|
||||||
$lang['TOPIC_REPLY_NOTIFICATION'] = 'Уведомление об ответе в теме';
|
$lang['TOPIC_REPLY_NOTIFICATION'] = 'Уведомление об ответе в теме';
|
||||||
$lang['EMOTICONS'] = 'Смайлики';
|
$lang['EMOTICONS'] = 'Смайлики';
|
||||||
|
@ -385,20 +385,20 @@ $lang['MORE_EMOTICONS'] = 'Дополнительные смайлики';
|
||||||
|
|
||||||
$lang['FONT_COLOR'] = 'Цвет';
|
$lang['FONT_COLOR'] = 'Цвет';
|
||||||
$lang['COLOR_DEFAULT'] = 'По умолчанию';
|
$lang['COLOR_DEFAULT'] = 'По умолчанию';
|
||||||
$lang['COLOR_DARK_RED'] = 'Тёмно-красный';
|
$lang['COLOR_DARK_RED'] = 'Темно-красный';
|
||||||
$lang['COLOR_RED'] = 'Красный';
|
$lang['COLOR_RED'] = 'Красный';
|
||||||
$lang['COLOR_ORANGE'] = 'Оранжевый';
|
$lang['COLOR_ORANGE'] = 'Оранжевый';
|
||||||
$lang['COLOR_BROWN'] = 'Коричневый';
|
$lang['COLOR_BROWN'] = 'Коричневый';
|
||||||
$lang['COLOR_YELLOW'] = 'Жёлтый';
|
$lang['COLOR_YELLOW'] = 'Желтый';
|
||||||
$lang['COLOR_GREEN'] = 'Зелёный';
|
$lang['COLOR_GREEN'] = 'Зеленый';
|
||||||
$lang['COLOR_OLIVE'] = 'Оливковый';
|
$lang['COLOR_OLIVE'] = 'Оливковый';
|
||||||
$lang['COLOR_CYAN'] = 'Голубой';
|
$lang['COLOR_CYAN'] = 'Голубой';
|
||||||
$lang['COLOR_BLUE'] = 'Синий';
|
$lang['COLOR_BLUE'] = 'Синий';
|
||||||
$lang['COLOR_DARK_BLUE'] = 'Тёмно-синий';
|
$lang['COLOR_DARK_BLUE'] = 'Темно-синий';
|
||||||
$lang['COLOR_INDIGO'] = 'Индиго';
|
$lang['COLOR_INDIGO'] = 'Индиго';
|
||||||
$lang['COLOR_VIOLET'] = 'Фиолетовый';
|
$lang['COLOR_VIOLET'] = 'Фиолетовый';
|
||||||
$lang['COLOR_WHITE'] = 'Белый';
|
$lang['COLOR_WHITE'] = 'Белый';
|
||||||
$lang['COLOR_BLACK'] = 'Чёрный';
|
$lang['COLOR_BLACK'] = 'Черный';
|
||||||
|
|
||||||
$lang['FONT_SIZE'] = 'Размер';
|
$lang['FONT_SIZE'] = 'Размер';
|
||||||
$lang['FONT_TINY'] = 'Очень маленький';
|
$lang['FONT_TINY'] = 'Очень маленький';
|
||||||
|
@ -409,7 +409,7 @@ $lang['FONT_HUGE'] = 'Огромный';
|
||||||
|
|
||||||
$lang['STYLES_TIP'] = 'Подсказка: можно быстро применить стили к выделенному тексту';
|
$lang['STYLES_TIP'] = 'Подсказка: можно быстро применить стили к выделенному тексту';
|
||||||
|
|
||||||
$lang['NEW_POSTS_PREVIEW'] = 'В топике есть новые, изменённые или непрочитанные сообщения';
|
$lang['NEW_POSTS_PREVIEW'] = 'В топике есть новые, измененные или непрочитанные сообщения';
|
||||||
|
|
||||||
//
|
//
|
||||||
// Private Messaging
|
// Private Messaging
|
||||||
|
@ -435,7 +435,7 @@ $lang['EDIT_PM'] = 'Редактировать сообщение';
|
||||||
|
|
||||||
$lang['INBOX'] = 'Входящие';
|
$lang['INBOX'] = 'Входящие';
|
||||||
$lang['OUTBOX'] = 'Исходящие';
|
$lang['OUTBOX'] = 'Исходящие';
|
||||||
$lang['SAVEBOX'] = 'Сохранённые';
|
$lang['SAVEBOX'] = 'Сохраненные';
|
||||||
$lang['SENTBOX'] = 'Отправленные';
|
$lang['SENTBOX'] = 'Отправленные';
|
||||||
$lang['FLAG'] = 'Флаг';
|
$lang['FLAG'] = 'Флаг';
|
||||||
$lang['SUBJECT'] = 'Тема';
|
$lang['SUBJECT'] = 'Тема';
|
||||||
|
@ -469,7 +469,7 @@ $lang['MESSAGE_SENT'] = '<b>Ваше сообщение было отправл
|
||||||
$lang['CLICK_RETURN_INBOX'] = 'Перейти в папку:<br /><br /> %s<b>Входящие</b>%s';
|
$lang['CLICK_RETURN_INBOX'] = 'Перейти в папку:<br /><br /> %s<b>Входящие</b>%s';
|
||||||
$lang['CLICK_RETURN_SENTBOX'] = ' %s<b>Отправленные</b>%s';
|
$lang['CLICK_RETURN_SENTBOX'] = ' %s<b>Отправленные</b>%s';
|
||||||
$lang['CLICK_RETURN_OUTBOX'] = ' %s<b>Исходящие</b>%s';
|
$lang['CLICK_RETURN_OUTBOX'] = ' %s<b>Исходящие</b>%s';
|
||||||
$lang['CLICK_RETURN_SAVEBOX'] = ' %s<b>Сохранённые</b>%s';
|
$lang['CLICK_RETURN_SAVEBOX'] = ' %s<b>Сохраненные</b>%s';
|
||||||
$lang['CLICK_RETURN_INDEX'] = '%sВернуться к списку форумов%s';
|
$lang['CLICK_RETURN_INDEX'] = '%sВернуться к списку форумов%s';
|
||||||
|
|
||||||
$lang['SEND_A_NEW_MESSAGE'] = 'Отправить личное сообщение';
|
$lang['SEND_A_NEW_MESSAGE'] = 'Отправить личное сообщение';
|
||||||
|
@ -495,11 +495,11 @@ $lang['CONFIRM_DELETE_PMS'] = 'Вы уверены, что хотите удал
|
||||||
|
|
||||||
$lang['INBOX_SIZE'] = 'Ваша папка «Входящие»<br />заполнена на <b>%d%%</b>'; // eg. Your Inbox is 50% full
|
$lang['INBOX_SIZE'] = 'Ваша папка «Входящие»<br />заполнена на <b>%d%%</b>'; // eg. Your Inbox is 50% full
|
||||||
$lang['SENTBOX_SIZE'] = 'Ваша папка «Отправленные»<br />заполнена на <b>%d%%</b>';
|
$lang['SENTBOX_SIZE'] = 'Ваша папка «Отправленные»<br />заполнена на <b>%d%%</b>';
|
||||||
$lang['SAVEBOX_SIZE'] = 'Ваша папка «Сохранённые»<br />заполнена на <b>%d%%</b>';
|
$lang['SAVEBOX_SIZE'] = 'Ваша папка «Сохраненные»<br />заполнена на <b>%d%%</b>';
|
||||||
|
|
||||||
$lang['CLICK_VIEW_PRIVMSG'] = '%sПерейти в папку «Входящие»%s';
|
$lang['CLICK_VIEW_PRIVMSG'] = '%sПерейти в папку «Входящие»%s';
|
||||||
|
|
||||||
$lang['OUTBOX_EXPL'] = 'В папке <b>Исходящие</b> находятся отправленные, но еще не прочтённые получателем сообщения. В <b>Отправленные</b> они попадают только после того, как получатель их прочтет. Сообщения, находящиеся в папке <b>Исходящие</b>, можно отредактировать или удалить.';
|
$lang['OUTBOX_EXPL'] = 'В папке <b>Исходящие</b> находятся отправленные, но еще не прочтенные получателем сообщения. В <b>Отправленные</b> они попадают только после того, как получатель их прочтет. Сообщения, находящиеся в папке <b>Исходящие</b>, можно отредактировать или удалить.';
|
||||||
|
|
||||||
//
|
//
|
||||||
// Profiles/Registration
|
// Profiles/Registration
|
||||||
|
@ -515,7 +515,6 @@ $lang['REGISTRATION_INFO'] = 'Регистрационная информаци
|
||||||
$lang['PROFILE_INFO'] = 'Профиль';
|
$lang['PROFILE_INFO'] = 'Профиль';
|
||||||
$lang['PROFILE_INFO_WARN'] = 'Эта информация будет в открытом доступе';
|
$lang['PROFILE_INFO_WARN'] = 'Эта информация будет в открытом доступе';
|
||||||
$lang['AVATAR_PANEL'] = 'Управление аватарой';
|
$lang['AVATAR_PANEL'] = 'Управление аватарой';
|
||||||
$lang['AVATAR_GALLERY'] = 'Галерея аватар';
|
|
||||||
|
|
||||||
$lang['WEBSITE'] = 'Сайт';
|
$lang['WEBSITE'] = 'Сайт';
|
||||||
$lang['LOCATION'] = 'Откуда';
|
$lang['LOCATION'] = 'Откуда';
|
||||||
|
@ -542,7 +541,7 @@ $lang['ONLY_ONE_AVATAR'] = 'Может быть указан только оди
|
||||||
$lang['FILE_NO_DATA'] = 'Файл по указанному вами URL не содержит данных';
|
$lang['FILE_NO_DATA'] = 'Файл по указанному вами URL не содержит данных';
|
||||||
$lang['NO_CONNECTION_URL'] = 'Невозможно установить соединения с указанным вами URL';
|
$lang['NO_CONNECTION_URL'] = 'Невозможно установить соединения с указанным вами URL';
|
||||||
$lang['INCOMPLETE_URL'] = 'Вы указали неполный URL';
|
$lang['INCOMPLETE_URL'] = 'Вы указали неполный URL';
|
||||||
$lang['NO_SEND_ACCOUNT_INACTIVE'] = 'Извините, но пароль не может быть выслан (учётная запись неактивна)';
|
$lang['NO_SEND_ACCOUNT_INACTIVE'] = 'Извините, но пароль не может быть выслан (учетная запись неактивна)';
|
||||||
$lang['NO_SEND_ACCOUNT'] = 'Извините, но пароль для этого пользователя не может быть выслан. Обратитесь к администраторам форума за дополнительной информацией';
|
$lang['NO_SEND_ACCOUNT'] = 'Извините, но пароль для этого пользователя не может быть выслан. Обратитесь к администраторам форума за дополнительной информацией';
|
||||||
|
|
||||||
$lang['ALWAYS_ADD_SIG'] = 'Всегда присоединять мою подпись';
|
$lang['ALWAYS_ADD_SIG'] = 'Всегда присоединять мою подпись';
|
||||||
|
@ -598,11 +597,8 @@ $lang['RESET_AUTOLOGIN'] = 'Удалить ключ автоматическог
|
||||||
$lang['RESET_AUTOLOGIN_EXPL'] = 'включая все места, где вы заходили на форум с включенным авто-входом';
|
$lang['RESET_AUTOLOGIN_EXPL'] = 'включая все места, где вы заходили на форум с включенным авто-входом';
|
||||||
|
|
||||||
$lang['AVATAR'] = 'Аватара';
|
$lang['AVATAR'] = 'Аватара';
|
||||||
$lang['AVATAR_EXPLAIN'] = 'Показывает небольшое изображение под информацией о вас в сообщениях. Может быть показано только одно изображение, шириной не более %d пикселов, высотой не более %d пикселов и объёмом не более %d кб.';
|
$lang['AVATAR_EXPLAIN'] = 'Показывает небольшое изображение под информацией о вас в сообщениях. Может быть показано только одно изображение, шириной не более %d пикселов, высотой не более %d пикселов и объемом не более %d кб.';
|
||||||
$lang['UPLOAD_AVATAR_FILE'] = 'Загрузить аватару с вашего компьютера';
|
$lang['UPLOAD_AVATAR_FILE'] = 'Загрузить аватару с вашего компьютера';
|
||||||
$lang['PICK_LOCAL_AVATAR'] = 'Выбрать аватару из галереи';
|
|
||||||
$lang['SELECT_FROM_GALLERY'] = 'Выбрать аватару из галереи';
|
|
||||||
$lang['VIEW_AVATAR_GALLERY'] = 'Показать галерею';
|
|
||||||
|
|
||||||
$lang['SELECT_AVATAR'] = 'Выберите аватару';
|
$lang['SELECT_AVATAR'] = 'Выберите аватару';
|
||||||
$lang['RETURN_PROFILE'] = 'Вернуться к профилю';
|
$lang['RETURN_PROFILE'] = 'Вернуться к профилю';
|
||||||
|
@ -615,11 +611,11 @@ $lang['NOTIFY_ON_PRIVMSG'] = 'Уведомлять о новых личных с
|
||||||
$lang['HIDE_USER'] = 'Скрывать ваше пребывание на форуме';
|
$lang['HIDE_USER'] = 'Скрывать ваше пребывание на форуме';
|
||||||
$lang['HIDDEN_USER'] = 'Скрыто пользователем';
|
$lang['HIDDEN_USER'] = 'Скрыто пользователем';
|
||||||
|
|
||||||
$lang['PROFILE_UPDATED'] = 'Ваш профиль был изменён';
|
$lang['PROFILE_UPDATED'] = 'Ваш профиль был изменен';
|
||||||
$lang['PROFILE_UPDATED_INACTIVE'] = 'Ваш профиль был изменён, но вы изменили важные данные, так что теперь ваша учётная запись неактивна. Проверьте ваш почтовый ящик, чтобы узнать как вновь активировать учётную запись или, если требуется одобрение администратора, подождите, пока это сделает администратор.';
|
$lang['PROFILE_UPDATED_INACTIVE'] = 'Ваш профиль был изменен, но вы изменили важные данные, так что теперь ваша учетная запись неактивна. Проверьте ваш почтовый ящик, чтобы узнать как вновь активировать учетную запись или, если требуется одобрение администратора, подождите, пока это сделает администратор.';
|
||||||
|
|
||||||
$lang['PASSWORD_MISMATCH'] = 'Введённые пароли не совпадают';
|
$lang['PASSWORD_MISMATCH'] = 'Введенные пароли не совпадают';
|
||||||
$lang['CURRENT_PASSWORD_MISMATCH'] = 'Введённый вами пароль не совпадает с паролем из базы';
|
$lang['CURRENT_PASSWORD_MISMATCH'] = 'Введенный вами пароль не совпадает с паролем из базы';
|
||||||
$lang['PASSWORD_LONG'] = 'Ваш пароль должен быть не длиннее 20 символов';
|
$lang['PASSWORD_LONG'] = 'Ваш пароль должен быть не длиннее 20 символов';
|
||||||
$lang['TOO_MANY_REGISTERS'] = 'Вы исчерпали предельное количество попыток регистрации для данной сессии. Пожалуйста, повторите попытку позднее.';
|
$lang['TOO_MANY_REGISTERS'] = 'Вы исчерпали предельное количество попыток регистрации для данной сессии. Пожалуйста, повторите попытку позднее.';
|
||||||
$lang['USERNAME_TAKEN'] = 'Извините, пользователь с таким именем уже существует';
|
$lang['USERNAME_TAKEN'] = 'Извините, пользователь с таким именем уже существует';
|
||||||
|
@ -628,44 +624,42 @@ $lang['USERNAME_DISALLOWED'] = 'Извините, это имя было зап
|
||||||
$lang['USERNAME_TOO_LONG'] = 'Слишком длинное имя';
|
$lang['USERNAME_TOO_LONG'] = 'Слишком длинное имя';
|
||||||
$lang['USERNAME_TOO_SMALL'] = 'Слишком короткое имя';
|
$lang['USERNAME_TOO_SMALL'] = 'Слишком короткое имя';
|
||||||
$lang['EMAIL_TAKEN'] = 'Извините, этот e-mail адрес уже занят другим пользователем';
|
$lang['EMAIL_TAKEN'] = 'Извините, этот e-mail адрес уже занят другим пользователем';
|
||||||
$lang['EMAIL_BANNED'] = 'Извините, адрес <b>%s</b> находится в чёрном списке';
|
$lang['EMAIL_BANNED'] = 'Извините, адрес <b>%s</b> находится в черном списке';
|
||||||
$lang['EMAIL_INVALID'] = 'Извините, но этот e-mail адрес неправилен';
|
$lang['EMAIL_INVALID'] = 'Извините, но этот e-mail адрес неправилен';
|
||||||
$lang['EMAIL_TOO_LONG'] = 'Слишком длинный email адрес';
|
$lang['EMAIL_TOO_LONG'] = 'Слишком длинный email адрес';
|
||||||
$lang['SIGNATURE_TOO_LONG'] = 'Слишком длинная подпись';
|
$lang['SIGNATURE_TOO_LONG'] = 'Слишком длинная подпись';
|
||||||
$lang['SIGNATURE_ERROR_HTML'] = 'Подпись может содержать только BBCode';
|
$lang['SIGNATURE_ERROR_HTML'] = 'Подпись может содержать только BBCode';
|
||||||
$lang['FIELDS_EMPTY'] = 'Вы должны заполнить обязательные поля';
|
$lang['FIELDS_EMPTY'] = 'Вы должны заполнить обязательные поля';
|
||||||
$lang['AVATAR_FILETYPE'] = 'Файл аватары должен быть .jpg, .gif или .png';
|
$lang['AVATAR_FILETYPE'] = 'Файл аватары должен быть .jpg, .gif или .png';
|
||||||
$lang['AVATAR_FILESIZE'] = 'Объём файла аватары должен быть не более %d кб';
|
$lang['AVATAR_FILESIZE'] = 'Объем файла аватары должен быть не более %d кб';
|
||||||
$lang['AVATAR_IMAGESIZE'] = 'Аватара должна быть не больше %d пикселов в ширину и %d пикселов в высоту';
|
$lang['AVATAR_IMAGESIZE'] = 'Аватара должна быть не больше %d пикселов в ширину и %d пикселов в высоту';
|
||||||
$lang['AVATAR_DISABLE'] = 'Вам запрещено использовать аватару.';
|
$lang['AVATAR_DISABLE'] = 'Запрещено показывать аватар';
|
||||||
|
|
||||||
$lang['WELCOME_SUBJECT'] = 'Добро пожаловать на сайт %s';
|
$lang['WELCOME_SUBJECT'] = 'Добро пожаловать на сайт %s';
|
||||||
$lang['NEW_ACCOUNT_SUBJECT'] = 'Новый пользователь';
|
$lang['NEW_ACCOUNT_SUBJECT'] = 'Новый пользователь';
|
||||||
$lang['ACCOUNT_ACTIVATED_SUBJECT'] = 'Учётная запись активирована';
|
$lang['ACCOUNT_ACTIVATED_SUBJECT'] = 'Учетная запись активирована';
|
||||||
|
|
||||||
$lang['ACCOUNT_ADDED'] = 'Спасибо за регистрацию, учётная запись была создана. Вы можете войти в систему, используя ваше имя и пароль.';
|
$lang['ACCOUNT_ADDED'] = 'Спасибо за регистрацию, учетная запись была создана. Вы можете войти в систему, используя ваше имя и пароль.';
|
||||||
$lang['ACCOUNT_INACTIVE'] = 'Учётная запись была создана. На этом форуме требуется активация учётной записи, ключ для активации был выслан на введённый вами адрес. Проверьте свою почту для более подробной информации.';
|
$lang['ACCOUNT_INACTIVE'] = 'Учетная запись была создана. На этом форуме требуется активация учетной записи, ключ для активации был выслан на введенный вами адрес. Проверьте свою почту для более подробной информации.';
|
||||||
$lang['ACCOUNT_INACTIVE_ADMIN'] = 'Учётная запись была создана. На этом форуме требуется активизация новой учётной записи администраторами. Им был отправлен e-mail, и, как только они активируют вашу учётную запись, вы получите уведомление.';
|
$lang['ACCOUNT_ACTIVE'] = 'Ваша учетная запись была активирована. Спасибо за регистрацию';
|
||||||
$lang['ACCOUNT_ACTIVE'] = 'Ваша учётная запись была активирована. Спасибо за регистрацию.';
|
$lang['REACTIVATE'] = 'Вновь активировать учетную запись';
|
||||||
$lang['ACCOUNT_ACTIVE_ADMIN'] = 'Ваша учётная запись была активирована.';
|
$lang['ALREADY_ACTIVATED'] = 'Вы уже активировали свою учетную запись';
|
||||||
$lang['REACTIVATE'] = 'Вновь активировать учётную запись';
|
|
||||||
$lang['ALREADY_ACTIVATED'] = 'Вы уже активировали свою учётную запись';
|
|
||||||
|
|
||||||
$lang['REGISTRATION'] = 'Условия регистрации';
|
$lang['REGISTRATION'] = 'Условия регистрации';
|
||||||
|
|
||||||
$lang['WRONG_ACTIVATION'] = 'Введённый вами ключ активации не совпадает с хранящимся в базе';
|
$lang['WRONG_ACTIVATION'] = 'Введенный вами ключ активации не совпадает с хранящимся в базе';
|
||||||
$lang['SEND_PASSWORD'] = 'Выслать новый пароль';
|
$lang['SEND_PASSWORD'] = 'Выслать новый пароль';
|
||||||
$lang['PASSWORD_UPDATED'] = 'Новый пароль был создан, проверьте почтовый ящик, чтобы узнать как его активировать';
|
$lang['PASSWORD_UPDATED'] = 'Новый пароль был создан, проверьте почтовый ящик, чтобы узнать как его активировать';
|
||||||
$lang['NO_EMAIL_MATCH'] = 'Введённый вами адрес e-mail не совпадает с записанным на этого пользователя';
|
$lang['NO_EMAIL_MATCH'] = 'Введенный вами адрес e-mail не совпадает с записанным на этого пользователя';
|
||||||
$lang['NEW_PASSWORD_ACTIVATION'] = 'Активация нового пароля';
|
$lang['NEW_PASSWORD_ACTIVATION'] = 'Активация нового пароля';
|
||||||
$lang['PASSWORD_ACTIVATED'] = 'Ваша учётная запись была вновь активирована. Для входа в систему используйте пароль из присланного вам письма.';
|
$lang['PASSWORD_ACTIVATED'] = 'Ваша учетная запись была вновь активирована. Для входа в систему используйте пароль из присланного вам письма.';
|
||||||
|
|
||||||
$lang['SEND_EMAIL_MSG'] = 'Отправить e-mail';
|
$lang['SEND_EMAIL_MSG'] = 'Отправить e-mail';
|
||||||
$lang['NO_USER_SPECIFIED'] = 'Пользователь не был выбран';
|
$lang['NO_USER_SPECIFIED'] = 'Пользователь не был выбран';
|
||||||
$lang['USER_PREVENT_EMAIL'] = 'Пользователь не желает получать e-mail. Попробуйте отправить ему/ей личное сообщение';
|
$lang['USER_PREVENT_EMAIL'] = 'Пользователь не желает получать e-mail. Попробуйте отправить ему/ей личное сообщение';
|
||||||
$lang['USER_NOT_EXIST'] = 'Пользователя не существует';
|
$lang['USER_NOT_EXIST'] = 'Пользователя не существует';
|
||||||
$lang['EMAIL_MESSAGE_DESC'] = 'Сообщение будет отправлено в виде простого текста, не включайте в него HTML или BBCode. В качестве обратного адреса будет показываться ваш e-mail адрес.';
|
$lang['EMAIL_MESSAGE_DESC'] = 'Сообщение будет отправлено в виде простого текста, не включайте в него HTML или BBCode. В качестве обратного адреса будет показываться ваш e-mail адрес.';
|
||||||
$lang['FLOOD_EMAIL_LIMIT'] = 'Вы не можете отправить ещё один e-mail сразу после предыдущего, повторите запрос позднее.';
|
$lang['FLOOD_EMAIL_LIMIT'] = 'Вы не можете отправить еще один e-mail сразу после предыдущего, повторите запрос позднее.';
|
||||||
$lang['RECIPIENT'] = 'Получатель';
|
$lang['RECIPIENT'] = 'Получатель';
|
||||||
$lang['EMAIL_SENT'] = 'Сообщение было отправлено';
|
$lang['EMAIL_SENT'] = 'Сообщение было отправлено';
|
||||||
$lang['SEND_EMAIL'] = 'Отправить e-mail';
|
$lang['SEND_EMAIL'] = 'Отправить e-mail';
|
||||||
|
@ -734,7 +728,7 @@ $lang['NO_GROUPS_EXIST'] = 'Нет ни одной группы';
|
||||||
$lang['GROUP_NOT_EXIST'] = 'Такой группы не существует';
|
$lang['GROUP_NOT_EXIST'] = 'Такой группы не существует';
|
||||||
|
|
||||||
$lang['NO_GROUP_MEMBERS'] = 'В этой группе нет ни одного члена';
|
$lang['NO_GROUP_MEMBERS'] = 'В этой группе нет ни одного члена';
|
||||||
$lang['HIDDEN_GROUP_MEMBERS'] = 'Эта группа скрыта, вы не можете посмотреть её состав';
|
$lang['HIDDEN_GROUP_MEMBERS'] = 'Эта группа скрыта, вы не можете посмотреть ее состав';
|
||||||
$lang['NO_PENDING_GROUP_MEMBERS'] = 'В этой группе нет кандидатов в члены';
|
$lang['NO_PENDING_GROUP_MEMBERS'] = 'В этой группе нет кандидатов в члены';
|
||||||
$lang['GROUP_JOINED'] = 'Вы попросили о вступлении в группу. Когда вашу просьбу одобрит модератор группы, вам будет прислано уведомление.';
|
$lang['GROUP_JOINED'] = 'Вы попросили о вступлении в группу. Когда вашу просьбу одобрит модератор группы, вам будет прислано уведомление.';
|
||||||
$lang['GROUP_REQUEST'] = 'Было подана просьба о вступлении в группу.';
|
$lang['GROUP_REQUEST'] = 'Было подана просьба о вступлении в группу.';
|
||||||
|
@ -742,7 +736,7 @@ $lang['GROUP_APPROVED'] = 'Ваша просьба была удовлетвор
|
||||||
$lang['GROUP_ADDED'] = 'Вы были включены в группу';
|
$lang['GROUP_ADDED'] = 'Вы были включены в группу';
|
||||||
$lang['ALREADY_MEMBER_GROUP'] = 'Вы уже являетесь членом этой группы';
|
$lang['ALREADY_MEMBER_GROUP'] = 'Вы уже являетесь членом этой группы';
|
||||||
$lang['USER_IS_MEMBER_GROUP'] = 'Пользователь уже является членом этой группы';
|
$lang['USER_IS_MEMBER_GROUP'] = 'Пользователь уже является членом этой группы';
|
||||||
$lang['GROUP_TYPE_UPDATED'] = 'Тип группы успешно изменён';
|
$lang['GROUP_TYPE_UPDATED'] = 'Тип группы успешно изменен';
|
||||||
$lang['EFFECTIVE_DATE'] = 'Дата вступления';
|
$lang['EFFECTIVE_DATE'] = 'Дата вступления';
|
||||||
|
|
||||||
$lang['COULD_NOT_ADD_USER'] = 'Выбранного пользователя не существует';
|
$lang['COULD_NOT_ADD_USER'] = 'Выбранного пользователя не существует';
|
||||||
|
@ -760,7 +754,7 @@ $lang['REMOVE_SELECTED'] = 'Удалить выделенное';
|
||||||
$lang['ADD_MEMBER'] = 'Добавить члена группы';
|
$lang['ADD_MEMBER'] = 'Добавить члена группы';
|
||||||
$lang['NOT_GROUP_MODERATOR'] = 'Вы не являетесь модератором группы и не можете выполнить данное действие';
|
$lang['NOT_GROUP_MODERATOR'] = 'Вы не являетесь модератором группы и не можете выполнить данное действие';
|
||||||
|
|
||||||
$lang['LOGIN_TO_JOIN'] = 'Войдите в систему, чтобы менять своё членство в группах';
|
$lang['LOGIN_TO_JOIN'] = 'Войдите в систему, чтобы менять свое членство в группах';
|
||||||
$lang['THIS_OPEN_GROUP'] = 'Это группа с открытым членством, вы можете подать просьбу о вступлении';
|
$lang['THIS_OPEN_GROUP'] = 'Это группа с открытым членством, вы можете подать просьбу о вступлении';
|
||||||
$lang['THIS_CLOSED_GROUP'] = 'Это группа с закрытым членством, новые пользователи не принимаются';
|
$lang['THIS_CLOSED_GROUP'] = 'Это группа с закрытым членством, новые пользователи не принимаются';
|
||||||
$lang['THIS_HIDDEN_GROUP'] = 'Это скрытая группа, автоматическое добавление пользователей не разрешается';
|
$lang['THIS_HIDDEN_GROUP'] = 'Это скрытая группа, автоматическое добавление пользователей не разрешается';
|
||||||
|
@ -944,7 +938,7 @@ $lang['11'] = 'GMT + 11';
|
||||||
$lang['12'] = 'GMT + 12';
|
$lang['12'] = 'GMT + 12';
|
||||||
$lang['13'] = 'GMT + 13';
|
$lang['13'] = 'GMT + 13';
|
||||||
|
|
||||||
// это для выпадающего меню, раньше тут ещё были города
|
// это для выпадающего меню, раньше тут еще были города
|
||||||
$lang['TZ']['-12'] = 'GMT - 12';
|
$lang['TZ']['-12'] = 'GMT - 12';
|
||||||
$lang['TZ']['-11'] = 'GMT - 11';
|
$lang['TZ']['-11'] = 'GMT - 11';
|
||||||
$lang['TZ']['-10'] = 'GMT - 10';
|
$lang['TZ']['-10'] = 'GMT - 10';
|
||||||
|
@ -1064,7 +1058,7 @@ $lang['FILENAME'] = 'Имя файла';
|
||||||
$lang['FILE_COMMENT'] = 'Комментарий';
|
$lang['FILE_COMMENT'] = 'Комментарий';
|
||||||
|
|
||||||
// Posting/PM -> Posted Attachments
|
// Posting/PM -> Posted Attachments
|
||||||
$lang['POSTED_ATTACHMENTS'] = 'Прикреплённые файлы';
|
$lang['POSTED_ATTACHMENTS'] = 'Прикрепленные файлы';
|
||||||
$lang['UPDATE_COMMENT'] = 'Обновить комментарий';
|
$lang['UPDATE_COMMENT'] = 'Обновить комментарий';
|
||||||
$lang['DELETE_ATTACHMENTS'] = 'Удалить файлы';
|
$lang['DELETE_ATTACHMENTS'] = 'Удалить файлы';
|
||||||
$lang['DELETE_ATTACHMENT'] = 'Удалить файл';
|
$lang['DELETE_ATTACHMENT'] = 'Удалить файл';
|
||||||
|
@ -1116,9 +1110,9 @@ $lang['FTP_ERROR_PASV_MODE'] = 'Невозможно включить/отклю
|
||||||
|
|
||||||
// Attach Rules Window
|
// Attach Rules Window
|
||||||
$lang['RULES_PAGE'] = 'Правила вложений';
|
$lang['RULES_PAGE'] = 'Правила вложений';
|
||||||
$lang['ATTACH_RULES_TITLE'] = 'Разрешённые группы расширений и их размер';
|
$lang['ATTACH_RULES_TITLE'] = 'Разрешенные группы расширений и их размер';
|
||||||
$lang['GROUP_RULE_HEADER'] = '%s -> Максимальный общий размер: %s'; // Replace first %s with Extension Group, second one with the Size STRING
|
$lang['GROUP_RULE_HEADER'] = '%s -> Максимальный общий размер: %s'; // Replace first %s with Extension Group, second one with the Size STRING
|
||||||
$lang['ALLOWED_EXTENSIONS_AND_SIZES'] = 'Разрешённые расширения и их размер';
|
$lang['ALLOWED_EXTENSIONS_AND_SIZES'] = 'Разрешенные расширения и их размер';
|
||||||
$lang['NOTE_USER_EMPTY_GROUP_PERMISSIONS'] = 'ВНИМАНИЕ:<br />Вы можете отправлять вложения в этот форум, <br />но, так как ни одной группе расширений не разрешено быть вложенной здесь, <br />вы не можете ничего отправить. Если вы попытаетесь, <br />то получите сообщение об ошибке.<br />';
|
$lang['NOTE_USER_EMPTY_GROUP_PERMISSIONS'] = 'ВНИМАНИЕ:<br />Вы можете отправлять вложения в этот форум, <br />но, так как ни одной группе расширений не разрешено быть вложенной здесь, <br />вы не можете ничего отправить. Если вы попытаетесь, <br />то получите сообщение об ошибке.<br />';
|
||||||
|
|
||||||
// Quota Variables
|
// Quota Variables
|
||||||
|
@ -1198,7 +1192,7 @@ $lang['TOR_STATUS_CHANGED'] = 'Статус изменил: ';
|
||||||
$lang['TOR_BACK'] = ' назад';
|
$lang['TOR_BACK'] = ' назад';
|
||||||
$lang['PROCEED'] = 'Продолжить';
|
$lang['PROCEED'] = 'Продолжить';
|
||||||
$lang['INVALID_ATTACH_ID'] = 'Отсутствует идентификатор файла!';
|
$lang['INVALID_ATTACH_ID'] = 'Отсутствует идентификатор файла!';
|
||||||
$lang['CHANGE_TOR_TYPE'] = 'Тип торрента успешно изменён';
|
$lang['CHANGE_TOR_TYPE'] = 'Тип торрента успешно изменен';
|
||||||
$lang['DEL_TORRENT'] = 'Вы уверены, что хотите удалить торрент?';
|
$lang['DEL_TORRENT'] = 'Вы уверены, что хотите удалить торрент?';
|
||||||
$lang['DEL_MOVE_TORRENT'] = 'Вы уверены, что хотите удалить и перенести топик?';
|
$lang['DEL_MOVE_TORRENT'] = 'Вы уверены, что хотите удалить и перенести топик?';
|
||||||
$lang['UNEXECUTED_RELEASE'] = 'У вас есть неоформленный релиз, прежде чем создавать новый - исправьте свой неоформленный!';
|
$lang['UNEXECUTED_RELEASE'] = 'У вас есть неоформленный релиз, прежде чем создавать новый - исправьте свой неоформленный!';
|
||||||
|
@ -1209,7 +1203,7 @@ $lang['TOR_MOD_TITLE'] = 'Изменение статуса раздачи - %s'
|
||||||
$lang['TOR_MOD_MSG'] = "Здравствуйте, %s.\n\n Статус [url=%s]вашей[/url] раздачи изменен на [b]%s[/b]";
|
$lang['TOR_MOD_MSG'] = "Здравствуйте, %s.\n\n Статус [url=%s]вашей[/url] раздачи изменен на [b]%s[/b]";
|
||||||
|
|
||||||
$lang['TOR_AUTH_TITLE'] = 'Изменение в оформлении - %s';
|
$lang['TOR_AUTH_TITLE'] = 'Изменение в оформлении - %s';
|
||||||
$lang['TOR_AUTH_MSG'] = "Здравствуйте, %s.\n\n Оформление моей раздачи изменено - [url=%s]%s[/url]\n\n Просьба повторно её проверить.";
|
$lang['TOR_AUTH_MSG'] = "Здравствуйте, %s.\n\n Оформление моей раздачи изменено - [url=%s]%s[/url]\n\n Просьба повторно ее проверить.";
|
||||||
$lang['TOR_AUTH_FIXED'] = 'Исправил';
|
$lang['TOR_AUTH_FIXED'] = 'Исправил';
|
||||||
$lang['TOR_AUTH_SENT_COMMENT'] = ' · <span class="seed bold">Информация отправлена модератору. Ожидайте.</span>';
|
$lang['TOR_AUTH_SENT_COMMENT'] = ' · <span class="seed bold">Информация отправлена модератору. Ожидайте.</span>';
|
||||||
//end torrent status mod
|
//end torrent status mod
|
||||||
|
@ -1306,7 +1300,7 @@ $lang['SEARCH_DL_WILL_DOWNLOADS'] = 'Будущие закачки';
|
||||||
$lang['SEARCH_DL_DOWN'] = 'Текущие';
|
$lang['SEARCH_DL_DOWN'] = 'Текущие';
|
||||||
$lang['SEARCH_DL_COMPLETE'] = 'Прошлые';
|
$lang['SEARCH_DL_COMPLETE'] = 'Прошлые';
|
||||||
$lang['SEARCH_DL_COMPLETE_DOWNLOADS'] = 'Прошлые закачки';
|
$lang['SEARCH_DL_COMPLETE_DOWNLOADS'] = 'Прошлые закачки';
|
||||||
$lang['SEARCH_DL_CANCEL'] = 'Отменённые';
|
$lang['SEARCH_DL_CANCEL'] = 'Отмененные';
|
||||||
$lang['CUR_DOWNLOADS'] = 'Текущие закачки';
|
$lang['CUR_DOWNLOADS'] = 'Текущие закачки';
|
||||||
$lang['CUR_UPLOADS'] = 'Текущие раздачи';
|
$lang['CUR_UPLOADS'] = 'Текущие раздачи';
|
||||||
$lang['SEARCH_RELEASES'] = 'Найти раздачи';
|
$lang['SEARCH_RELEASES'] = 'Найти раздачи';
|
||||||
|
@ -1348,7 +1342,7 @@ $lang['BONUS_UPLOAD_DESC'] = '<b>%s к раздаче</b> <br /> Обменят
|
||||||
$lang['BONUS_UPLOAD_PRICE'] = '<b class="%s">%s</b>';
|
$lang['BONUS_UPLOAD_PRICE'] = '<b class="%s">%s</b>';
|
||||||
$lang['PRICE'] = 'Цена';
|
$lang['PRICE'] = 'Цена';
|
||||||
$lang['EXCHANGE_NOT'] = 'Обмен не доступен';
|
$lang['EXCHANGE_NOT'] = 'Обмен не доступен';
|
||||||
$lang['BONUS_SUCCES'] = 'Обмен произведён удачно! Вам прибавлено %s';
|
$lang['BONUS_SUCCES'] = 'Обмен произведен удачно! Вам прибавлено %s';
|
||||||
$lang['BONUS_NOT_SUCCES'] = '<span class="leech">У вас недостаточно Бонусов в наличии. Больше сидируйте!</span>';
|
$lang['BONUS_NOT_SUCCES'] = '<span class="leech">У вас недостаточно Бонусов в наличии. Больше сидируйте!</span>';
|
||||||
$lang['BONUS_RETURN'] = 'Вернуться к обмену Сид бонусов';
|
$lang['BONUS_RETURN'] = 'Вернуться к обмену Сид бонусов';
|
||||||
|
|
||||||
|
@ -1360,7 +1354,7 @@ $lang['SHOW_CURSOR'] = 'подсвечивать строки под курсо
|
||||||
|
|
||||||
$lang['BT_LOW_RATIO_FUNC'] = 'У вас слишком низкий рейтинг для того, чтобы воспользоваться этой функцией';
|
$lang['BT_LOW_RATIO_FUNC'] = 'У вас слишком низкий рейтинг для того, чтобы воспользоваться этой функцией';
|
||||||
$lang['BT_LOW_RATIO_FOR_DL'] = 'Рейтинг <b>%s</b> уже не позволяет вам скачивать новые торренты.<br /><br />Для поднятия рейтинга вы можете что-либо раздать из <a href="%s"><b>ваших прошлых закачек</b></a>, либо организовать новую раздачу.<br /><br /><b>Пожалуйста, помните о том, что ваше yчастие в системе BitTorrent не может ограничиваться только скачиванием!</b>';
|
$lang['BT_LOW_RATIO_FOR_DL'] = 'Рейтинг <b>%s</b> уже не позволяет вам скачивать новые торренты.<br /><br />Для поднятия рейтинга вы можете что-либо раздать из <a href="%s"><b>ваших прошлых закачек</b></a>, либо организовать новую раздачу.<br /><br /><b>Пожалуйста, помните о том, что ваше yчастие в системе BitTorrent не может ограничиваться только скачиванием!</b>';
|
||||||
$lang['BT_RATIO_WARNING_MSG'] = 'Если ваш рейтинг упадёт ниже %s, вы не сможете скачивать торренты! <a href="%s"><b>Подробнее о рейтинге.</b></a>';
|
$lang['BT_RATIO_WARNING_MSG'] = 'Если ваш рейтинг упадет ниже %s, вы не сможете скачивать торренты! <a href="%s"><b>Подробнее о рейтинге.</b></a>';
|
||||||
|
|
||||||
$lang['SEEDER_LAST_SEEN'] = 'Полного источника не было: <b>%s</b>';
|
$lang['SEEDER_LAST_SEEN'] = 'Полного источника не было: <b>%s</b>';
|
||||||
|
|
||||||
|
@ -1437,9 +1431,9 @@ $lang['NO_TEXT_SEL'] = 'Нет выделенного текста';
|
||||||
$lang['QR_FONT_SEL'] = 'Шрифт';
|
$lang['QR_FONT_SEL'] = 'Шрифт';
|
||||||
$lang['QR_COLOR_SEL'] = 'Цвет шрифта';
|
$lang['QR_COLOR_SEL'] = 'Цвет шрифта';
|
||||||
$lang['QR_SIZE_SEL'] = 'Размер шрифта';
|
$lang['QR_SIZE_SEL'] = 'Размер шрифта';
|
||||||
$lang['COLOR_STEEL_BLUE'] = 'Тёмно-Голубой';
|
$lang['COLOR_STEEL_BLUE'] = 'Темно-Голубой';
|
||||||
$lang['COLOR_GRAY'] = 'Серый';
|
$lang['COLOR_GRAY'] = 'Серый';
|
||||||
$lang['COLOR_DARK_GREEN'] = 'Тёмно-Зелёный';
|
$lang['COLOR_DARK_GREEN'] = 'Темно-Зеленый';
|
||||||
//qr end
|
//qr end
|
||||||
|
|
||||||
//txtb
|
//txtb
|
||||||
|
@ -1559,7 +1553,7 @@ $lang['TRACKER_S'] = 'по трекеру';
|
||||||
// copyright
|
// copyright
|
||||||
$lang['NOTICE'] = '!ВНИМАНИЕ!';
|
$lang['NOTICE'] = '!ВНИМАНИЕ!';
|
||||||
$lang['POWERED'] = 'UG93ZXJlZCBieSA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3RvcnJlbnRwaWVyLm1lIj5Ub3JyZW50UGllciBJSTwvYT4gJmNvcHk7IE1laXRoYXIsIFRvcnJlbnRQaWVyIElJIFRlYW0=';
|
$lang['POWERED'] = 'UG93ZXJlZCBieSA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3RvcnJlbnRwaWVyLm1lIj5Ub3JyZW50UGllciBJSTwvYT4gJmNvcHk7IE1laXRoYXIsIFRvcnJlbnRQaWVyIElJIFRlYW0=';
|
||||||
$lang['COPY'] = 'Сайт не предоставляет электронные версии произведений, а занимается лишь коллекционированием и каталогизацией ссылок, присылаемых и публикуемых на форуме нашими читателями. Если вы являетесь правообладателем какого-либо представленного материала и не желаете, чтобы ссылка на него находилась в нашем каталоге, свяжитесь с нами, и мы незамедлительно удалим её. Файлы для обмена на трекере предоставлены пользователями сайта, и администрация не несёт ответственности за их содержание. Просьба не заливать файлы, защищенные авторскими правами, а также файлы нелегального содержания!';
|
$lang['COPY'] = 'Сайт не предоставляет электронные версии произведений, а занимается лишь коллекционированием и каталогизацией ссылок, присылаемых и публикуемых на форуме нашими читателями. Если вы являетесь правообладателем какого-либо представленного материала и не желаете, чтобы ссылка на него находилась в нашем каталоге, свяжитесь с нами, и мы незамедлительно удалим ее. Файлы для обмена на трекере предоставлены пользователями сайта, и администрация не несет ответственности за их содержание. Просьба не заливать файлы, защищенные авторскими правами, а также файлы нелегального содержания!';
|
||||||
|
|
||||||
$lang['CALLSEED'] = 'Позвать скачавших';
|
$lang['CALLSEED'] = 'Позвать скачавших';
|
||||||
|
|
||||||
|
@ -1579,7 +1573,7 @@ $lang['WEBSITE_ERROR'] = 'Поле "Сайт" может содержать то
|
||||||
$lang['ICQ_ERROR'] = 'Поле "ICQ" может содержать только номер icq';
|
$lang['ICQ_ERROR'] = 'Поле "ICQ" может содержать только номер icq';
|
||||||
$lang['INVALID_DATE'] = 'Ошибка даты ';
|
$lang['INVALID_DATE'] = 'Ошибка даты ';
|
||||||
$lang['PROFILE_USER'] = 'Профиль пользователя';
|
$lang['PROFILE_USER'] = 'Профиль пользователя';
|
||||||
$lang['GOOD_UPDATE'] = 'был успешно изменён';
|
$lang['GOOD_UPDATE'] = 'был успешно изменен';
|
||||||
$lang['DENY_VISITORS'] = 'Скрывать список текущих закачек в профиле';
|
$lang['DENY_VISITORS'] = 'Скрывать список текущих закачек в профиле';
|
||||||
$lang['BAN_USER'] = 'Запретить пользователю';
|
$lang['BAN_USER'] = 'Запретить пользователю';
|
||||||
$lang['USER_NOT_ALLOWED'] = 'Пользователю запрещено';
|
$lang['USER_NOT_ALLOWED'] = 'Пользователю запрещено';
|
||||||
|
@ -1596,7 +1590,7 @@ $lang['USER_DELETE_EXPLAIN'] = 'Удалить этого пользовател
|
||||||
$lang['USER_DELETE_ME'] = 'Извините, свой аккаунт запрещено удалять!';
|
$lang['USER_DELETE_ME'] = 'Извините, свой аккаунт запрещено удалять!';
|
||||||
$lang['USER_DELETE_CSV'] = 'Извините, этот аккаунт запрещено удалять!';
|
$lang['USER_DELETE_CSV'] = 'Извините, этот аккаунт запрещено удалять!';
|
||||||
$lang['USER_DELETE_CONFIRM'] = 'Вы действительно хотите удалить этого пользователя?';
|
$lang['USER_DELETE_CONFIRM'] = 'Вы действительно хотите удалить этого пользователя?';
|
||||||
$lang['USER_DELETED'] = 'Пользователь был успешно удалён';
|
$lang['USER_DELETED'] = 'Пользователь был успешно удален';
|
||||||
$lang['DELETE_USER_ALL_POSTS'] = 'Удалить все сообщения пользователя';
|
$lang['DELETE_USER_ALL_POSTS'] = 'Удалить все сообщения пользователя';
|
||||||
$lang['DELETE_USER_ALL_POSTS_CONFIRM'] = 'Вы действительно хотите удалить все сообщения и все начатые пользователем топики целиком?';
|
$lang['DELETE_USER_ALL_POSTS_CONFIRM'] = 'Вы действительно хотите удалить все сообщения и все начатые пользователем топики целиком?';
|
||||||
$lang['DELETE_USER_POSTS'] = 'Удалить все сообщения, кроме заглавных';
|
$lang['DELETE_USER_POSTS'] = 'Удалить все сообщения, кроме заглавных';
|
||||||
|
@ -1625,7 +1619,7 @@ $lang['USER_ACTIVATE_OFF'] = 'Пользователь успешно деакт
|
||||||
$lang['CHOOSE_A_NAME'] = 'Вы должны выбрать имя';
|
$lang['CHOOSE_A_NAME'] = 'Вы должны выбрать имя';
|
||||||
$lang['CHOOSE_E_MAIL'] = 'Вы должны указать e-mail';
|
$lang['CHOOSE_E_MAIL'] = 'Вы должны указать e-mail';
|
||||||
$lang['CHOOSE_PASS'] = 'Поля для ввода пароля не должны быть пустыми!';
|
$lang['CHOOSE_PASS'] = 'Поля для ввода пароля не должны быть пустыми!';
|
||||||
$lang['CHOOSE_PASS_ERR'] = 'Введённые пароли не совпадают';
|
$lang['CHOOSE_PASS_ERR'] = 'Введенные пароли не совпадают';
|
||||||
$lang['CHOOSE_PASS_ERR_MIN'] = 'Пароль должен быть не короче %d символов';
|
$lang['CHOOSE_PASS_ERR_MIN'] = 'Пароль должен быть не короче %d символов';
|
||||||
$lang['CHOOSE_PASS_ERR_MAX'] = 'Пароль должен быть не длиннее %d символов';
|
$lang['CHOOSE_PASS_ERR_MAX'] = 'Пароль должен быть не длиннее %d символов';
|
||||||
$lang['CHOOSE_PASS_OK'] = 'Пароли совпадают';
|
$lang['CHOOSE_PASS_OK'] = 'Пароли совпадают';
|
||||||
|
@ -1674,7 +1668,7 @@ $lang['HOR_LINE'] = 'Горизонтальная линия (Ctrl+8)';
|
||||||
$lang['NEW_LINE'] = 'Перенос на новую строку';
|
$lang['NEW_LINE'] = 'Перенос на новую строку';
|
||||||
$lang['BOLD'] = 'Жирный текст: [b]текст[/b] (Ctrl+B)';
|
$lang['BOLD'] = 'Жирный текст: [b]текст[/b] (Ctrl+B)';
|
||||||
$lang['ITALIC'] = 'Наклонный текст: [i]текст[/i] (Ctrl+I)';
|
$lang['ITALIC'] = 'Наклонный текст: [i]текст[/i] (Ctrl+I)';
|
||||||
$lang['UNDERLINE'] = 'Подчёркнутый текст: [u]текст[/u] (Ctrl+U)';
|
$lang['UNDERLINE'] = 'Подчеркнутый текст: [u]текст[/u] (Ctrl+U)';
|
||||||
$lang['STRIKEOUT'] = 'Зачеркнутый текст: [s]текст[/s] (Ctrl+S)';
|
$lang['STRIKEOUT'] = 'Зачеркнутый текст: [s]текст[/s] (Ctrl+S)';
|
||||||
$lang['QUOTE_TITLE'] = 'Цитата: [quote]текст[/quote] (Ctrl+Q)';
|
$lang['QUOTE_TITLE'] = 'Цитата: [quote]текст[/quote] (Ctrl+Q)';
|
||||||
$lang['IMG_TITLE'] = 'Вставить картинку: [img]http://image_url[/img] (Ctrl+R)';
|
$lang['IMG_TITLE'] = 'Вставить картинку: [img]http://image_url[/img] (Ctrl+R)';
|
||||||
|
@ -1706,14 +1700,14 @@ $lang['DL_PORT'] = 'Порт';
|
||||||
$lang['DL_FORMULA'] = 'Формула: Отдано/Размер раздачи';
|
$lang['DL_FORMULA'] = 'Формула: Отдано/Размер раздачи';
|
||||||
$lang['DL_ULR'] = 'ULR';
|
$lang['DL_ULR'] = 'ULR';
|
||||||
$lang['DL_STOPPED'] = 'Остановил Скачивание/Раздачу';
|
$lang['DL_STOPPED'] = 'Остановил Скачивание/Раздачу';
|
||||||
$lang['DL_UPD'] = 'Подключён: ';
|
$lang['DL_UPD'] = 'Подключен: ';
|
||||||
$lang['DL_INFO'] = 'показаны данные <i><b>только за текущую сессию</b></i>';
|
$lang['DL_INFO'] = 'показаны данные <i><b>только за текущую сессию</b></i>';
|
||||||
|
|
||||||
// Закрепление первого поста
|
// Закрепление первого поста
|
||||||
$lang['POST_PIN'] = 'Закрепить первый пост';
|
$lang['POST_PIN'] = 'Закрепить первый пост';
|
||||||
$lang['POST_UNPIN'] = 'Открепить первый пост';
|
$lang['POST_UNPIN'] = 'Открепить первый пост';
|
||||||
$lang['POST_PINNED'] = 'Первый пост закреплён';
|
$lang['POST_PINNED'] = 'Первый пост закреплен';
|
||||||
$lang['POST_UNPINNED'] = 'Первый пост откреплён';
|
$lang['POST_UNPINNED'] = 'Первый пост откреплен';
|
||||||
|
|
||||||
// Управление моими сообщениями
|
// Управление моими сообщениями
|
||||||
$lang['GOTO_MY_MESSAGE'] = 'Закрыть и вернуться к списку "Мои сообщения"';
|
$lang['GOTO_MY_MESSAGE'] = 'Закрыть и вернуться к списку "Мои сообщения"';
|
||||||
|
@ -1723,7 +1717,7 @@ $lang['EDIT_MY_MESSAGE_LIST'] = 'Редактировать список';
|
||||||
$lang['SELECT_INVERT'] = 'отметить/инвертировать';
|
$lang['SELECT_INVERT'] = 'отметить/инвертировать';
|
||||||
$lang['RESTORE_ALL_POSTS'] = 'Восстановить все сообщения';
|
$lang['RESTORE_ALL_POSTS'] = 'Восстановить все сообщения';
|
||||||
$lang['DEL_LIST_MY_MESSAGE'] = 'Удалить выбранные темы из списка';
|
$lang['DEL_LIST_MY_MESSAGE'] = 'Удалить выбранные темы из списка';
|
||||||
$lang['DEL_LIST_MY_MESSAGE_INFO'] = 'После удаления и до обновления <b>всего списка</b> в нём могут быть показаны уже удаленные темы';
|
$lang['DEL_LIST_MY_MESSAGE_INFO'] = 'После удаления и до обновления <b>всего списка</b> в нем могут быть показаны уже удаленные темы';
|
||||||
$lang['DEL_LIST_INFO'] = 'Для удаления тем из списка кликните на иконку слева от названия любого раздела';
|
$lang['DEL_LIST_INFO'] = 'Для удаления тем из списка кликните на иконку слева от названия любого раздела';
|
||||||
|
|
||||||
//Отслеживаемые темы
|
//Отслеживаемые темы
|
||||||
|
@ -1757,12 +1751,12 @@ $lang['TORRENTPIER'] = 'Технические настройки';
|
||||||
|
|
||||||
$lang['CONFIGURATION'] = 'Конфигурация';
|
$lang['CONFIGURATION'] = 'Конфигурация';
|
||||||
$lang['MANAGE'] = 'Управление';
|
$lang['MANAGE'] = 'Управление';
|
||||||
$lang['DISALLOW'] = 'Запрещённые имена';
|
$lang['DISALLOW'] = 'Запрещенные имена';
|
||||||
$lang['PRUNE'] = 'Чистка';
|
$lang['PRUNE'] = 'Чистка';
|
||||||
$lang['MASS_EMAIL'] = 'Массовая рассылка почты';
|
$lang['MASS_EMAIL'] = 'Массовая рассылка почты';
|
||||||
$lang['RANKS'] = 'Звания';
|
$lang['RANKS'] = 'Звания';
|
||||||
$lang['SMILIES'] = 'Смайлики';
|
$lang['SMILIES'] = 'Смайлики';
|
||||||
$lang['BAN_MANAGEMENT'] = 'Чёрные списки (Ban)';
|
$lang['BAN_MANAGEMENT'] = 'Черные списки (Ban)';
|
||||||
$lang['WORD_CENSOR'] = 'Автоцензор';
|
$lang['WORD_CENSOR'] = 'Автоцензор';
|
||||||
$lang['EXPORT'] = 'Экспорт';
|
$lang['EXPORT'] = 'Экспорт';
|
||||||
$lang['CREATE_NEW'] = 'Создать';
|
$lang['CREATE_NEW'] = 'Создать';
|
||||||
|
@ -1812,7 +1806,7 @@ $lang['NUMBER_USERS'] = 'Кол-во пользователей';
|
||||||
$lang['USERS_PER_DAY'] = 'Пользователей в день';
|
$lang['USERS_PER_DAY'] = 'Пользователей в день';
|
||||||
$lang['BOARD_STARTED'] = 'Дата запуска';
|
$lang['BOARD_STARTED'] = 'Дата запуска';
|
||||||
$lang['AVATAR_DIR_SIZE'] = 'Размер директории с аватарами';
|
$lang['AVATAR_DIR_SIZE'] = 'Размер директории с аватарами';
|
||||||
$lang['DATABASE_SIZE'] = 'Объём БД';
|
$lang['DATABASE_SIZE'] = 'Объем БД';
|
||||||
$lang['GZIP_COMPRESSION'] ='сжатие Gzip';
|
$lang['GZIP_COMPRESSION'] ='сжатие Gzip';
|
||||||
$lang['NOT_AVAILABLE'] = 'Недоступно';
|
$lang['NOT_AVAILABLE'] = 'Недоступно';
|
||||||
|
|
||||||
|
@ -1846,7 +1840,7 @@ $lang['LOOK_UP_FORUM'] = 'Выбрать форум';
|
||||||
|
|
||||||
$lang['GROUP_AUTH_EXPLAIN'] = 'Здесь вы можете изменить права доступа и статус модератора для каждой группы пользователей. Не забывайте при изменении прав доступа для групп, что права доступа для отдельных пользователей могут давать пользователю возможность входа в форумы и т.п. Вы будете предупреждены в этом случае.';
|
$lang['GROUP_AUTH_EXPLAIN'] = 'Здесь вы можете изменить права доступа и статус модератора для каждой группы пользователей. Не забывайте при изменении прав доступа для групп, что права доступа для отдельных пользователей могут давать пользователю возможность входа в форумы и т.п. Вы будете предупреждены в этом случае.';
|
||||||
$lang['USER_AUTH_EXPLAIN'] = 'Здесь вы можете изменить права доступа и статус модератора для отдельных пользователей. Не забывайте при изменении прав пользователя, что права доступа для группы могут давать пользователю возможность входа в форумы и т.п. Вы будете предупреждены в этом случае.';
|
$lang['USER_AUTH_EXPLAIN'] = 'Здесь вы можете изменить права доступа и статус модератора для отдельных пользователей. Не забывайте при изменении прав пользователя, что права доступа для группы могут давать пользователю возможность входа в форумы и т.п. Вы будете предупреждены в этом случае.';
|
||||||
$lang['FORUM_AUTH_EXPLAIN'] = 'Здесь вы можете регулировать доступ к каждому форуму. У вас будет обычный и продвинутый режим для этого, продвинутый даёт больше возможностей для контроля. Помните, что изменение прав доступа к форуму повлияет на то, какие пользователи смогут совершать в нём различные действия.';
|
$lang['FORUM_AUTH_EXPLAIN'] = 'Здесь вы можете регулировать доступ к каждому форуму. У вас будет обычный и продвинутый режим для этого, продвинутый дает больше возможностей для контроля. Помните, что изменение прав доступа к форуму повлияет на то, какие пользователи смогут совершать в нем различные действия.';
|
||||||
|
|
||||||
$lang['SIMPLE_MODE'] = 'Простой режим';
|
$lang['SIMPLE_MODE'] = 'Простой режим';
|
||||||
$lang['ADVANCED_MODE'] = 'Продвинутый режим';
|
$lang['ADVANCED_MODE'] = 'Продвинутый режим';
|
||||||
|
@ -1857,11 +1851,11 @@ $lang['DISALLOWED_ACCESS'] = 'Доступ закрыт';
|
||||||
$lang['IS_MODERATOR'] = 'Модератор';
|
$lang['IS_MODERATOR'] = 'Модератор';
|
||||||
|
|
||||||
$lang['CONFLICT_WARNING'] = 'Предупреждение о конфликте прав';
|
$lang['CONFLICT_WARNING'] = 'Предупреждение о конфликте прав';
|
||||||
$lang['CONFLICT_ACCESS_USERAUTH'] = 'У пользователя (пользователей) всё ещё есть права доступа к этому форуму, связанные с членством в группе. Вам, возможно, надо изменить права доступа для групп или исключить пользователя из группы для того, чтобы полностью закрыть ему права доступа. Группы, дающие такие права, перечислены ниже.';
|
$lang['CONFLICT_ACCESS_USERAUTH'] = 'У пользователя (пользователей) все еще есть права доступа к этому форуму, связанные с членством в группе. Вам, возможно, надо изменить права доступа для групп или исключить пользователя из группы для того, чтобы полностью закрыть ему права доступа. Группы, дающие такие права, перечислены ниже.';
|
||||||
$lang['CONFLICT_MOD_USERAUTH'] = 'У данного пользователя всё ещё есть право модерирования этого форума, связанное с его членством в группе. Вам, возможно, надо изменить права доступа для групп или исключить пользователя из группы для того, чтобы полностью закрыть ему право модерации. Группы, дающие это право, перечислены ниже.';
|
$lang['CONFLICT_MOD_USERAUTH'] = 'У данного пользователя все еще есть право модерирования этого форума, связанное с его членством в группе. Вам, возможно, надо изменить права доступа для групп или исключить пользователя из группы для того, чтобы полностью закрыть ему право модерации. Группы, дающие это право, перечислены ниже.';
|
||||||
|
|
||||||
$lang['CONFLICT_ACCESS_GROUPAUTH'] = 'У пользователя (пользователей) всё ещё есть права доступа к этому форуму из-за установок их личных прав. Вам, возможно, надо изменить их права для того, чтобы полностью закрыть им доступ. Пользователи, имеющие такие права, перечислены ниже.';
|
$lang['CONFLICT_ACCESS_GROUPAUTH'] = 'У пользователя (пользователей) все еще есть права доступа к этому форуму из-за установок их личных прав. Вам, возможно, надо изменить их права для того, чтобы полностью закрыть им доступ. Пользователи, имеющие такие права, перечислены ниже.';
|
||||||
$lang['CONFLICT_MOD_GROUPAUTH'] = 'У пользователя (пользователей) всё ещё есть право модерирования этого форума из-за установок их личных прав. Вам, возможно, надо изменить их права для того, чтобы полностью закрыть им возможность модерирования. Пользователи, имеющие такие права, перечислены ниже.';
|
$lang['CONFLICT_MOD_GROUPAUTH'] = 'У пользователя (пользователей) все еще есть право модерирования этого форума из-за установок их личных прав. Вам, возможно, надо изменить их права для того, чтобы полностью закрыть им возможность модерирования. Пользователи, имеющие такие права, перечислены ниже.';
|
||||||
|
|
||||||
$lang['PUBLIC'] = 'Публичный';
|
$lang['PUBLIC'] = 'Публичный';
|
||||||
$lang['PRIVATE'] = 'Приватный';
|
$lang['PRIVATE'] = 'Приватный';
|
||||||
|
@ -1910,9 +1904,9 @@ $lang['CLICK_RETURN_FORUMAUTH'] = '%sВернуться к управлению
|
||||||
//
|
//
|
||||||
// Banning
|
// Banning
|
||||||
//
|
//
|
||||||
$lang['BAN_CONTROL'] = 'Чёрные списки';
|
$lang['BAN_CONTROL'] = 'Черные списки';
|
||||||
$lang['BAN_EXPLAIN'] = 'Здесь вы можете закрывать пользователям любой доступ к форумам. Вы можете внести в чёрный список конкретного пользователя, а также один ил несколько IP адресов или имён серверов. Этот метод не даст пользователю увидеть даже список форумов. Чтобы запретить регистрацию под другим именем, вы можете также внести в чёрный список адрес e-mail. Учтите, запрещение только e-mail адреса не закроет пользователю возможность заходить на форум и писать сообщения. Для этого вам придётся воспользоваться одним из первых двух методов.';
|
$lang['BAN_EXPLAIN'] = 'Здесь вы можете закрывать пользователям любой доступ к форумам. Вы можете внести в черный список конкретного пользователя, а также один ил несколько IP адресов или имен серверов. Этот метод не даст пользователю увидеть даже список форумов. Чтобы запретить регистрацию под другим именем, вы можете также внести в черный список адрес e-mail. Учтите, запрещение только e-mail адреса не закроет пользователю возможность заходить на форум и писать сообщения. Для этого вам придется воспользоваться одним из первых двух методов.';
|
||||||
$lang['BAN_EXPLAIN_WARN'] = 'Учтите, что ввод диапазона IP адресов приведёт к добавлению всех адресов между первым и последним в «чёрный список». Будут проделаны попытки уменьшить это количество вводом шаблонов, где это возможно. Если вам действительно надо ввести диапазон адресов, постарайтесь сделать его поменьше или, что ещё лучше, вводите отдельные адреса.';
|
$lang['BAN_EXPLAIN_WARN'] = 'Учтите, что ввод диапазона IP адресов приведет к добавлению всех адресов между первым и последним в «черный список». Будут проделаны попытки уменьшить это количество вводом шаблонов, где это возможно. Если вам действительно надо ввести диапазон адресов, постарайтесь сделать его поменьше или, что еще лучше, вводите отдельные адреса.';
|
||||||
|
|
||||||
$lang['SELECT_IP'] = 'Выберите IP адрес';
|
$lang['SELECT_IP'] = 'Выберите IP адрес';
|
||||||
$lang['SELECT_EMAIL'] = 'Выберите адрес e-mail';
|
$lang['SELECT_EMAIL'] = 'Выберите адрес e-mail';
|
||||||
|
@ -1936,12 +1930,12 @@ $lang['UNBAN_IP_EXPLAIN'] = 'Вы можете вновь разрешить д
|
||||||
$lang['UNBAN_EMAIL'] = 'Вновь разрешить адреса e-mail';
|
$lang['UNBAN_EMAIL'] = 'Вновь разрешить адреса e-mail';
|
||||||
$lang['UNBAN_EMAIL_EXPLAIN'] = 'Вы можете вновь разрешить несколько адресов e-mail за один раз, используя подходящую для вашего компьютера и браузера комбинацию клавиатуры и мыши.';
|
$lang['UNBAN_EMAIL_EXPLAIN'] = 'Вы можете вновь разрешить несколько адресов e-mail за один раз, используя подходящую для вашего компьютера и браузера комбинацию клавиатуры и мыши.';
|
||||||
|
|
||||||
$lang['NO_BANNED_USERS'] = 'Чёрный список пользователей пуст';
|
$lang['NO_BANNED_USERS'] = 'Черный список пользователей пуст';
|
||||||
$lang['NO_BANNED_IP'] = 'Чёрный список адресов IP пуст';
|
$lang['NO_BANNED_IP'] = 'Черный список адресов IP пуст';
|
||||||
$lang['NO_BANNED_EMAIL'] = 'Чёрный список адресов e-mail пуст';
|
$lang['NO_BANNED_EMAIL'] = 'Черный список адресов e-mail пуст';
|
||||||
|
|
||||||
$lang['BAN_UPDATE_SUCESSFUL'] = 'Чёрный список был успешно обновлён';
|
$lang['BAN_UPDATE_SUCESSFUL'] = 'Черный список был успешно обновлен';
|
||||||
$lang['CLICK_RETURN_BANADMIN'] = '%sВернуться к чёрным спискам%s';
|
$lang['CLICK_RETURN_BANADMIN'] = '%sВернуться к черным спискам%s';
|
||||||
|
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -1961,7 +1955,7 @@ $lang['SITE_NAME'] = 'Название сайта';
|
||||||
$lang['SITE_DESC'] = 'Описание сайта';
|
$lang['SITE_DESC'] = 'Описание сайта';
|
||||||
$lang['FORUMS_DISABLE'] = 'Отключить форумы';
|
$lang['FORUMS_DISABLE'] = 'Отключить форумы';
|
||||||
$lang['BOARD_DISABLE_EXPLAIN'] = 'Форумы станут недоступными пользователям. У Администраторов останется доступ через Панель Администрирования пока форум выключен.';
|
$lang['BOARD_DISABLE_EXPLAIN'] = 'Форумы станут недоступными пользователям. У Администраторов останется доступ через Панель Администрирования пока форум выключен.';
|
||||||
$lang['ACCT_ACTIVATION'] = 'Включить активизацию учётных записей';
|
$lang['ACCT_ACTIVATION'] = 'Включить активизацию учетных записей';
|
||||||
$lang['ACC_NONE'] = 'Нет'; // These three entries are the type of activation
|
$lang['ACC_NONE'] = 'Нет'; // These three entries are the type of activation
|
||||||
$lang['ACC_USER'] = 'Пользователем';
|
$lang['ACC_USER'] = 'Пользователем';
|
||||||
$lang['ACC_ADMIN'] = 'Администратором';
|
$lang['ACC_ADMIN'] = 'Администратором';
|
||||||
|
@ -1986,23 +1980,11 @@ $lang['MAX_SIG_LENGTH'] = 'Макс. длина подписи';
|
||||||
$lang['MAX_SIG_LENGTH_EXPLAIN'] = 'Максимальное кол-во символов в подписи пользователя';
|
$lang['MAX_SIG_LENGTH_EXPLAIN'] = 'Максимальное кол-во символов в подписи пользователя';
|
||||||
$lang['ALLOW_NAME_CHANGE'] = 'Разрешить смену имени пользователя';
|
$lang['ALLOW_NAME_CHANGE'] = 'Разрешить смену имени пользователя';
|
||||||
|
|
||||||
$lang['AVATAR_SETTINGS'] = 'Настройки аватар';
|
|
||||||
$lang['ALLOW_LOCAL'] = 'Разрешить аватар из галереи';
|
|
||||||
$lang['ALLOW_UPLOAD'] = 'Разрешить закачку аватар';
|
|
||||||
$lang['MAX_FILESIZE'] = 'Макс. размер файла аватары';
|
|
||||||
$lang['MAX_FILESIZE_EXPLAIN'] = 'Для закачанных файлов';
|
|
||||||
$lang['MAX_AVATAR_SIZE'] = 'Макс. размер изображения';
|
|
||||||
$lang['MAX_AVATAR_SIZE_EXPLAIN'] = '(высота x ширина в пикселях)';
|
|
||||||
$lang['AVATAR_STORAGE_PATH'] = 'Путь к аватарам';
|
|
||||||
$lang['AVATAR_STORAGE_PATH_EXPLAIN'] = 'Каталог ниже корня phpBB, например images/avatars';
|
|
||||||
$lang['AVATAR_GALLERY_PATH'] = 'Путь к галерее аватар';
|
|
||||||
$lang['AVATAR_GALLERY_PATH_EXPLAIN'] = 'Каталог ниже корня phpBB для готовых картинок, например images/avatars/gallery';
|
|
||||||
|
|
||||||
$lang['EMAIL_SETTINGS'] = 'Настройки e-mail';
|
$lang['EMAIL_SETTINGS'] = 'Настройки e-mail';
|
||||||
|
|
||||||
// Visual Confirmation
|
// Visual Confirmation
|
||||||
$lang['VISUAL_CONFIRM'] = 'Включить визуальное подтверждение';
|
$lang['VISUAL_CONFIRM'] = 'Включить визуальное подтверждение';
|
||||||
$lang['VISUAL_CONFIRM_EXPLAIN'] = 'Потребовать от пользователей ввести при регистрации изображённый на картинке код.';
|
$lang['VISUAL_CONFIRM_EXPLAIN'] = 'Потребовать от пользователей ввести при регистрации изображенный на картинке код.';
|
||||||
|
|
||||||
// Autologin Keys - added 2.0.18
|
// Autologin Keys - added 2.0.18
|
||||||
$lang['ALLOW_AUTOLOGIN'] = 'Разрешить автоматический вход на форум';
|
$lang['ALLOW_AUTOLOGIN'] = 'Разрешить автоматический вход на форум';
|
||||||
|
@ -2026,7 +2008,7 @@ $lang['RESYNC'] = 'Синхронизация';
|
||||||
$lang['NO_MODE'] = 'Не было задано действие';
|
$lang['NO_MODE'] = 'Не было задано действие';
|
||||||
$lang['FORUM_EDIT_DELETE_EXPLAIN'] = 'Здесь вы можете изменить название и описание форума, закрыть его (или вновь открыть) и настроить автоматическую чистку. Для управления правами доступа к форуму воспользуйтесь соответствующей ссылкой в левой части.';
|
$lang['FORUM_EDIT_DELETE_EXPLAIN'] = 'Здесь вы можете изменить название и описание форума, закрыть его (или вновь открыть) и настроить автоматическую чистку. Для управления правами доступа к форуму воспользуйтесь соответствующей ссылкой в левой части.';
|
||||||
|
|
||||||
$lang['MOVE_CONTENTS'] = 'Перенести всё содержимое';
|
$lang['MOVE_CONTENTS'] = 'Перенести все содержимое';
|
||||||
$lang['FORUM_DELETE'] = 'Удалить форум';
|
$lang['FORUM_DELETE'] = 'Удалить форум';
|
||||||
$lang['FORUM_DELETE_EXPLAIN'] = 'Здесь вы сможете удалить форум (или категорию) и решить, куда перенести все темы (или форумы), которые там содержались.';
|
$lang['FORUM_DELETE_EXPLAIN'] = 'Здесь вы сможете удалить форум (или категорию) и решить, куда перенести все темы (или форумы), которые там содержались.';
|
||||||
$lang['CATEGORY_DELETE'] = 'Удалить Категорию';
|
$lang['CATEGORY_DELETE'] = 'Удалить Категорию';
|
||||||
|
@ -2086,9 +2068,9 @@ $lang['EXPORT_SMILE_PACK'] = 'Создать набор смайликов';
|
||||||
$lang['EXPORT_SMILES'] = 'Для создания набора смайликов из смайликов, установленных в данный момент, %sскачайте файл smiles.pak%s. Переименуйте его как вам нужно, сохранив при этом расширение .pak, затем создайте файл zip, содержащий все изображения смайликов, а также этот файл.';
|
$lang['EXPORT_SMILES'] = 'Для создания набора смайликов из смайликов, установленных в данный момент, %sскачайте файл smiles.pak%s. Переименуйте его как вам нужно, сохранив при этом расширение .pak, затем создайте файл zip, содержащий все изображения смайликов, а также этот файл.';
|
||||||
|
|
||||||
$lang['SMILEY_ADD_SUCCESS'] = 'Смайлик был успешно добавлен';
|
$lang['SMILEY_ADD_SUCCESS'] = 'Смайлик был успешно добавлен';
|
||||||
$lang['SMILEY_EDIT_SUCCESS'] = 'Смайлик был успешно изменён';
|
$lang['SMILEY_EDIT_SUCCESS'] = 'Смайлик был успешно изменен';
|
||||||
$lang['SMILEY_IMPORT_SUCCESS'] = 'Набор смайликов был успешно импортирован';
|
$lang['SMILEY_IMPORT_SUCCESS'] = 'Набор смайликов был успешно импортирован';
|
||||||
$lang['SMILEY_DEL_SUCCESS'] = 'Смайлик был успешно удалён';
|
$lang['SMILEY_DEL_SUCCESS'] = 'Смайлик был успешно удален';
|
||||||
$lang['CLICK_RETURN_SMILEADMIN'] = '%sВернуться к списку смайликов%s';
|
$lang['CLICK_RETURN_SMILEADMIN'] = '%sВернуться к списку смайликов%s';
|
||||||
|
|
||||||
|
|
||||||
|
@ -2101,7 +2083,7 @@ $lang['USER_ADMIN_EXPLAIN'] = 'Здесь вы можете изменить и
|
||||||
$lang['LOOK_UP_USER'] = 'Выбрать пользователя';
|
$lang['LOOK_UP_USER'] = 'Выбрать пользователя';
|
||||||
|
|
||||||
$lang['ADMIN_USER_FAIL'] = 'Не могу изменить профиль пользователя';
|
$lang['ADMIN_USER_FAIL'] = 'Не могу изменить профиль пользователя';
|
||||||
$lang['ADMIN_USER_UPDATED'] = 'Профиль пользователя был успешно изменён';
|
$lang['ADMIN_USER_UPDATED'] = 'Профиль пользователя был успешно изменен';
|
||||||
$lang['CLICK_RETURN_USERADMIN'] = '%sВернуться к управлению пользователями%s';
|
$lang['CLICK_RETURN_USERADMIN'] = '%sВернуться к управлению пользователями%s';
|
||||||
|
|
||||||
$lang['USER_ALLOWPM'] = 'Может посылать личные сообщения';
|
$lang['USER_ALLOWPM'] = 'Может посылать личные сообщения';
|
||||||
|
@ -2117,7 +2099,7 @@ $lang['USER_SPECIAL_EXPLAIN'] = 'Эти поля сами пользовател
|
||||||
// Group Management
|
// Group Management
|
||||||
//
|
//
|
||||||
$lang['GROUP_ADMINISTRATION'] = 'Управление группами';
|
$lang['GROUP_ADMINISTRATION'] = 'Управление группами';
|
||||||
$lang['GROUP_ADMIN_EXPLAIN'] = 'Здесь вы можете управлять всеми вашими группами: это включает удаление, добавление и изменение групп. Вы можете назначать модераторов, изменять открытый/закрытый статус группы и устанавливать её название и описание.';
|
$lang['GROUP_ADMIN_EXPLAIN'] = 'Здесь вы можете управлять всеми вашими группами: это включает удаление, добавление и изменение групп. Вы можете назначать модераторов, изменять открытый/закрытый статус группы и устанавливать ее название и описание.';
|
||||||
$lang['ERROR_UPDATING_GROUPS'] = 'Ошибка при изменении группы.';
|
$lang['ERROR_UPDATING_GROUPS'] = 'Ошибка при изменении группы.';
|
||||||
$lang['UPDATED_GROUP'] = 'Группа была успешно изменена';
|
$lang['UPDATED_GROUP'] = 'Группа была успешно изменена';
|
||||||
$lang['ADDED_NEW_GROUP'] = 'Группа была успешно создана';
|
$lang['ADDED_NEW_GROUP'] = 'Группа была успешно создана';
|
||||||
|
@ -2134,7 +2116,7 @@ $lang['NO_GROUP_MODERATOR'] = 'Вы должны выбрать модерато
|
||||||
$lang['NO_GROUP_MODE'] = 'Вы должны выбрать режим группы: открытый или закрытый';
|
$lang['NO_GROUP_MODE'] = 'Вы должны выбрать режим группы: открытый или закрытый';
|
||||||
$lang['NO_GROUP_ACTION'] = 'Не было выбрано действие';
|
$lang['NO_GROUP_ACTION'] = 'Не было выбрано действие';
|
||||||
$lang['DELETE_OLD_GROUP_MOD'] = 'Удалить старого модератора?';
|
$lang['DELETE_OLD_GROUP_MOD'] = 'Удалить старого модератора?';
|
||||||
$lang['DELETE_OLD_GROUP_MOD_EXPL'] = 'Если вы меняете модератора группы и поставите здесь галочку, то предыдущий модератор будет исключён из группы. Если вы её не поставите, то он станет обычным членом группы.';
|
$lang['DELETE_OLD_GROUP_MOD_EXPL'] = 'Если вы меняете модератора группы и поставите здесь галочку, то предыдущий модератор будет исключен из группы. Если вы ее не поставите, то он станет обычным членом группы.';
|
||||||
$lang['CLICK_RETURN_GROUPSADMIN'] = '%sВернуться к управлению группами%s';
|
$lang['CLICK_RETURN_GROUPSADMIN'] = '%sВернуться к управлению группами%s';
|
||||||
$lang['SELECT_GROUP'] = 'Выберите группу';
|
$lang['SELECT_GROUP'] = 'Выберите группу';
|
||||||
$lang['LOOK_UP_GROUP'] = 'Выбрать группу';
|
$lang['LOOK_UP_GROUP'] = 'Выбрать группу';
|
||||||
|
@ -2144,7 +2126,7 @@ $lang['LOOK_UP_GROUP'] = 'Выбрать группу';
|
||||||
// Prune Administration
|
// Prune Administration
|
||||||
//
|
//
|
||||||
$lang['FORUM_PRUNE'] = 'Чистка форумов';
|
$lang['FORUM_PRUNE'] = 'Чистка форумов';
|
||||||
$lang['FORUM_PRUNE_EXPLAIN'] = 'Будут удалены темы, в которых не было новых сообщений за выбранное число дней. Если вы не введёте число, то будут удалены все темы. Не будут удалены <b>прилепленные</b> темы и <b>объявления</b>. Вам придётся удалять такие темы вручную.';
|
$lang['FORUM_PRUNE_EXPLAIN'] = 'Будут удалены темы, в которых не было новых сообщений за выбранное число дней. Если вы не введете число, то будут удалены все темы. Не будут удалены <b>прилепленные</b> темы и <b>объявления</b>. Вам придется удалять такие темы вручную.';
|
||||||
$lang['DO_PRUNE'] = 'Провести чистку';
|
$lang['DO_PRUNE'] = 'Провести чистку';
|
||||||
$lang['ALL_FORUMS'] = 'Все форумы';
|
$lang['ALL_FORUMS'] = 'Все форумы';
|
||||||
$lang['PRUNE_TOPICS_NOT_POSTED'] = 'Удалить темы, в которых не было ответов за данное кол-во дней';
|
$lang['PRUNE_TOPICS_NOT_POSTED'] = 'Удалить темы, в которых не было ответов за данное кол-во дней';
|
||||||
|
@ -2157,7 +2139,7 @@ $lang['NOT_DAYS'] = 'Вы не указали количество дней';
|
||||||
// Word censor
|
// Word censor
|
||||||
//
|
//
|
||||||
$lang['WORDS_TITLE'] = 'Автоцензор';
|
$lang['WORDS_TITLE'] = 'Автоцензор';
|
||||||
$lang['WORDS_EXPLAIN'] = 'Здесь вы можете добавить, изменить или удалить слова, которые будут автоматически подвергаться цензуре на ваших форумах. Кроме того, пользователи не смогут зарегистрироваться под именами, содержащими эти слова. В списке слов могут использоваться шаблоны (*), т.е. к \'*тест*\' подойдёт \'протестировать\', к \'тест*\' — \'тестирование\', к \'*тест\' — \'протест\'.<br>(Примечание переводчика) Рекомендую пользоваться этой фичей <b>очень</b> аккуратно: например, некие очевидные замены буду неадекватно реагировать на слова \'потребитель\', \'употреблять\' и т.п.';
|
$lang['WORDS_EXPLAIN'] = 'Здесь вы можете добавить, изменить или удалить слова, которые будут автоматически подвергаться цензуре на ваших форумах. Кроме того, пользователи не смогут зарегистрироваться под именами, содержащими эти слова. В списке слов могут использоваться шаблоны (*), т.е. к \'*тест*\' подойдет \'протестировать\', к \'тест*\' — \'тестирование\', к \'*тест\' — \'протест\'.<br>(Примечание переводчика) Рекомендую пользоваться этой фичей <b>очень</b> аккуратно: например, некие очевидные замены буду неадекватно реагировать на слова \'потребитель\', \'употреблять\' и т.п.';
|
||||||
$lang['WORD'] = 'Слово';
|
$lang['WORD'] = 'Слово';
|
||||||
$lang['EDIT_WORD_CENSOR'] = 'Изменить автоцензор';
|
$lang['EDIT_WORD_CENSOR'] = 'Изменить автоцензор';
|
||||||
$lang['REPLACEMENT'] = 'Замена';
|
$lang['REPLACEMENT'] = 'Замена';
|
||||||
|
@ -2167,9 +2149,9 @@ $lang['UPDATE_WORD'] = 'Обновить автоцензор';
|
||||||
$lang['MUST_ENTER_WORD'] = 'Вы должны ввести слово и его замену';
|
$lang['MUST_ENTER_WORD'] = 'Вы должны ввести слово и его замену';
|
||||||
$lang['NO_WORD_SELECTED'] = 'Не выбрано слово для редактирования';
|
$lang['NO_WORD_SELECTED'] = 'Не выбрано слово для редактирования';
|
||||||
|
|
||||||
$lang['WORD_UPDATED'] = 'Выбранный автоцензор был успешно изменён';
|
$lang['WORD_UPDATED'] = 'Выбранный автоцензор был успешно изменен';
|
||||||
$lang['WORD_ADDED'] = 'Автоцензор был успешно добавлен';
|
$lang['WORD_ADDED'] = 'Автоцензор был успешно добавлен';
|
||||||
$lang['WORD_REMOVED'] = 'Выбранный автоцензор был успешно удалён';
|
$lang['WORD_REMOVED'] = 'Выбранный автоцензор был успешно удален';
|
||||||
|
|
||||||
$lang['CLICK_RETURN_WORDADMIN'] = '%sВернуться к управлению автоцензором%s';
|
$lang['CLICK_RETURN_WORDADMIN'] = '%sВернуться к управлению автоцензором%s';
|
||||||
|
|
||||||
|
@ -2177,7 +2159,7 @@ $lang['CLICK_RETURN_WORDADMIN'] = '%sВернуться к управлению
|
||||||
//
|
//
|
||||||
// Mass Email
|
// Mass Email
|
||||||
//
|
//
|
||||||
$lang['MASS_EMAIL_EXPLAIN'] = 'Вы можете разослать e-mail сообщение либо всем вашим пользователям, либо пользователям, входящим в определённую группу. Сообщение будет отправлено на административный адрес, с BCC: всем получателям. Если вы отправляете письмо большой группе людей, то будьте терпеливы: не останавливайте загрузку страницы после нажатия кнопки. Массовая рассылка может занять много времени, вы увидите сообщение, когда выполнение завершится.';
|
$lang['MASS_EMAIL_EXPLAIN'] = 'Вы можете разослать e-mail сообщение либо всем вашим пользователям, либо пользователям, входящим в определенную группу. Сообщение будет отправлено на административный адрес, с BCC: всем получателям. Если вы отправляете письмо большой группе людей, то будьте терпеливы: не останавливайте загрузку страницы после нажатия кнопки. Массовая рассылка может занять много времени, вы увидите сообщение, когда выполнение завершится.';
|
||||||
$lang['COMPOSE'] = 'Текст сообщения';
|
$lang['COMPOSE'] = 'Текст сообщения';
|
||||||
|
|
||||||
$lang['RECIPIENTS'] = 'Получатели';
|
$lang['RECIPIENTS'] = 'Получатели';
|
||||||
|
@ -2203,43 +2185,43 @@ $lang['RANK_MAXIMUM'] = 'Максимум сообщений';
|
||||||
$lang['RANK_IMAGE'] = 'Картинка к званию';
|
$lang['RANK_IMAGE'] = 'Картинка к званию';
|
||||||
$lang['RANK_IMAGE_EXPLAIN'] = 'Здесь вы можете присвоить всем имеющим такое звание специальное изображение. Вы можете указать либо относительный, либо абсолютный путь к изображению';
|
$lang['RANK_IMAGE_EXPLAIN'] = 'Здесь вы можете присвоить всем имеющим такое звание специальное изображение. Вы можете указать либо относительный, либо абсолютный путь к изображению';
|
||||||
|
|
||||||
$lang['MUST_SELECT_RANK'] = 'Извините, вы не выбрали звание. Вернитесь и попробуйте ещё раз.';
|
$lang['MUST_SELECT_RANK'] = 'Извините, вы не выбрали звание. Вернитесь и попробуйте еще раз.';
|
||||||
$lang['NO_ASSIGNED_RANK'] = 'Специального звания не присвоено';
|
$lang['NO_ASSIGNED_RANK'] = 'Специального звания не присвоено';
|
||||||
|
|
||||||
$lang['RANK_UPDATED'] = 'Звание было успешно изменено';
|
$lang['RANK_UPDATED'] = 'Звание было успешно изменено';
|
||||||
$lang['RANK_ADDED'] = 'Звание было успешно добавлено';
|
$lang['RANK_ADDED'] = 'Звание было успешно добавлено';
|
||||||
$lang['RANK_REMOVED'] = 'Звание было успешно удалено';
|
$lang['RANK_REMOVED'] = 'Звание было успешно удалено';
|
||||||
$lang['NO_UPDATE_RANKS'] = 'Звание было успешно удалено. Тем не менее, информация о пользователях, у которых было это звание, не была изменена. Вам придётся изменить эту информацию вручную.';
|
$lang['NO_UPDATE_RANKS'] = 'Звание было успешно удалено. Тем не менее, информация о пользователях, у которых было это звание, не была изменена. Вам придется изменить эту информацию вручную.';
|
||||||
|
|
||||||
$lang['CLICK_RETURN_RANKADMIN'] = '%sВернуться к управлению званиями%s';
|
$lang['CLICK_RETURN_RANKADMIN'] = '%sВернуться к управлению званиями%s';
|
||||||
|
|
||||||
//
|
//
|
||||||
// Disallow Username Admin
|
// Disallow Username Admin
|
||||||
//
|
//
|
||||||
$lang['DISALLOW_CONTROL'] = 'Запрещённые имена пользователя';
|
$lang['DISALLOW_CONTROL'] = 'Запрещенные имена пользователя';
|
||||||
$lang['DISALLOW_EXPLAIN'] = "Здесь вы можете задать имена, которые будут запрещены к использованию. Запрещённые имена могут содержать шаблон '*'. Учтите: вы не сможете запретить имя, если уже существует пользователь с таким именем. Вам придётся сначала удалить пользователя, а уже потом запретить имя.";
|
$lang['DISALLOW_EXPLAIN'] = "Здесь вы можете задать имена, которые будут запрещены к использованию. Запрещенные имена могут содержать шаблон '*'. Учтите: вы не сможете запретить имя, если уже существует пользователь с таким именем. Вам придется сначала удалить пользователя, а уже потом запретить имя.";
|
||||||
|
|
||||||
$lang['DELETE_DISALLOW'] = 'Удалить';
|
$lang['DELETE_DISALLOW'] = 'Удалить';
|
||||||
$lang['DELETE_DISALLOW_TITLE'] = 'Удалить запрещённое имя пользователя';
|
$lang['DELETE_DISALLOW_TITLE'] = 'Удалить запрещенное имя пользователя';
|
||||||
$lang['DELETE_DISALLOW_EXPLAIN'] = 'Вы можете убрать запрещённое имя, выбрав его из списка и нажав кнопку «сохранить»';
|
$lang['DELETE_DISALLOW_EXPLAIN'] = 'Вы можете убрать запрещенное имя, выбрав его из списка и нажав кнопку «сохранить»';
|
||||||
|
|
||||||
$lang['ADD_DISALLOW'] = 'Добавить';
|
$lang['ADD_DISALLOW'] = 'Добавить';
|
||||||
$lang['ADD_DISALLOW_TITLE'] = 'Добавить запрещённое имя пользователя';
|
$lang['ADD_DISALLOW_TITLE'] = 'Добавить запрещенное имя пользователя';
|
||||||
$lang['ADD_DISALLOW_EXPLAIN'] = 'Вы можете запретить имя пользователя, используя шаблон \'*\', который подходит к любому символу';
|
$lang['ADD_DISALLOW_EXPLAIN'] = 'Вы можете запретить имя пользователя, используя шаблон \'*\', который подходит к любому символу';
|
||||||
|
|
||||||
$lang['NO_DISALLOWED'] = 'Нет запрещённых имён';
|
$lang['NO_DISALLOWED'] = 'Нет запрещенных имен';
|
||||||
|
|
||||||
$lang['DISALLOWED_DELETED'] = 'Запрещённое имя пользователя было успешно удалено';
|
$lang['DISALLOWED_DELETED'] = 'Запрещенное имя пользователя было успешно удалено';
|
||||||
$lang['DISALLOW_SUCCESSFUL'] = 'Запрещённое имя пользователя было успешно добавлено';
|
$lang['DISALLOW_SUCCESSFUL'] = 'Запрещенное имя пользователя было успешно добавлено';
|
||||||
$lang['DISALLOWED_ALREADY'] = 'Имя, которое вы пытаетесь запретить, либо уже запрещено, либо есть в списке нецензурных слов, либо существует пользователь с подходящим именем';
|
$lang['DISALLOWED_ALREADY'] = 'Имя, которое вы пытаетесь запретить, либо уже запрещено, либо есть в списке нецензурных слов, либо существует пользователь с подходящим именем';
|
||||||
|
|
||||||
$lang['CLICK_RETURN_DISALLOWADMIN'] = '%sВернуться к управлению запрещёнными именами%s';
|
$lang['CLICK_RETURN_DISALLOWADMIN'] = '%sВернуться к управлению запрещенными именами%s';
|
||||||
|
|
||||||
// FTP
|
// FTP
|
||||||
$lang['ATTACHMENT_FTP_SETTINGS'] = 'Настройка закачки вложений на FTP';
|
$lang['ATTACHMENT_FTP_SETTINGS'] = 'Настройка закачки вложений на FTP';
|
||||||
$lang['FTP_CHOOSE'] = 'Выберите метод скачивания';
|
$lang['FTP_CHOOSE'] = 'Выберите метод скачивания';
|
||||||
$lang['FTP_OPTION'] = '<br />В этой версии PHP включены возможности FTP, вы можете попробовать сначала автоматически закачать файл настроек по FTP в нужный каталог.';
|
$lang['FTP_OPTION'] = '<br />В этой версии PHP включены возможности FTP, вы можете попробовать сначала автоматически закачать файл настроек по FTP в нужный каталог.';
|
||||||
$lang['FTP_INSTRUCTS'] = 'Вы решили закачать файл настроек по FTP в каталог, содержащий phpBB 2. Пожалуйста, укажите информацию, требуемую для осуществления этого процесса. Учтите, что путь FTP должен быть полным путём к вашей установке phpBB 2, как если бы вы пользовались обычным клиентом FTP.';
|
$lang['FTP_INSTRUCTS'] = 'Вы решили закачать файл настроек по FTP в каталог, содержащий phpBB 2. Пожалуйста, укажите информацию, требуемую для осуществления этого процесса. Учтите, что путь FTP должен быть полным путем к вашей установке phpBB 2, как если бы вы пользовались обычным клиентом FTP.';
|
||||||
$lang['FTP_INFO'] = 'Укажите настройки FTP';
|
$lang['FTP_INFO'] = 'Укажите настройки FTP';
|
||||||
$lang['ATTEMPT_FTP'] = 'Попробовать закачать файл настроек по FTP';
|
$lang['ATTEMPT_FTP'] = 'Попробовать закачать файл настроек по FTP';
|
||||||
$lang['SEND_FILE'] = 'Просто прислать файл, я закачаю его вручную';
|
$lang['SEND_FILE'] = 'Просто прислать файл, я закачаю его вручную';
|
||||||
|
@ -2390,7 +2372,7 @@ $lang['SEED_BONUS_ROPORTION'] = 'Добавление пропорции для
|
||||||
// Modules, this replaces the keys used
|
// Modules, this replaces the keys used
|
||||||
$lang['CONTROL_PANEL'] = 'Контрольная Панель';
|
$lang['CONTROL_PANEL'] = 'Контрольная Панель';
|
||||||
$lang['SHADOW_ATTACHMENTS'] = 'Теневые приложения';
|
$lang['SHADOW_ATTACHMENTS'] = 'Теневые приложения';
|
||||||
$lang['FORBIDDEN_EXTENSIONS'] = 'Запрещённые Расширения';
|
$lang['FORBIDDEN_EXTENSIONS'] = 'Запрещенные Расширения';
|
||||||
$lang['EXTENSION_CONTROL'] = 'Контроль Расширений';
|
$lang['EXTENSION_CONTROL'] = 'Контроль Расширений';
|
||||||
$lang['EXTENSION_GROUP_MANAGE'] = 'Контроль Групп Расширений';
|
$lang['EXTENSION_GROUP_MANAGE'] = 'Контроль Групп Расширений';
|
||||||
$lang['SPECIAL_CATEGORIES'] = 'Специальные Категории';
|
$lang['SPECIAL_CATEGORIES'] = 'Специальные Категории';
|
||||||
|
@ -2399,7 +2381,7 @@ $lang['QUOTA_LIMITS'] = 'Ограничение Квоты';
|
||||||
|
|
||||||
// Attachments -> Management
|
// Attachments -> Management
|
||||||
$lang['ATTACH_SETTINGS'] = 'Конфигурация приложений';
|
$lang['ATTACH_SETTINGS'] = 'Конфигурация приложений';
|
||||||
$lang['MANAGE_ATTACHMENTS_EXPLAIN'] = 'Здесь Вы можете конфигурировать главные настройки для Мода Приложений. Если Вы нажмёте на кнопку "Проверить Настройки", Мод Приложений проведёт несколько тестов, чтобы проверить - всё ли правильно настроено. Если у Вас возникли проблемы с закачиванием файлов, используйте эту функцию, чтобы получить подробную информацию об ошибке.';
|
$lang['MANAGE_ATTACHMENTS_EXPLAIN'] = 'Здесь Вы можете конфигурировать главные настройки для Мода Приложений. Если Вы нажмете на кнопку "Проверить Настройки", Мод Приложений проведет несколько тестов, чтобы проверить - все ли правильно настроено. Если у Вас возникли проблемы с закачиванием файлов, используйте эту функцию, чтобы получить подробную информацию об ошибке.';
|
||||||
$lang['ATTACH_FILESIZE_SETTINGS'] = 'Настройки размеров приложений';
|
$lang['ATTACH_FILESIZE_SETTINGS'] = 'Настройки размеров приложений';
|
||||||
$lang['ATTACH_NUMBER_SETTINGS'] = 'Настройка количества приложений';
|
$lang['ATTACH_NUMBER_SETTINGS'] = 'Настройка количества приложений';
|
||||||
$lang['ATTACH_OPTIONS_SETTINGS'] = 'Настройка приложений';
|
$lang['ATTACH_OPTIONS_SETTINGS'] = 'Настройка приложений';
|
||||||
|
@ -2416,7 +2398,7 @@ $lang['SHOW_APCP'] = 'Использовать новую панель конт
|
||||||
$lang['SHOW_APCP_EXPLAIN'] = 'Выберите, хотите ли Вы использовать отдельную панель контроля приложений (да), или старый метод с двумя боксами для приложений и редактирования приложений (нет) в окне сообщения. Трудно объяснить, как это выглядит, поэтому попробуйте сами.';
|
$lang['SHOW_APCP_EXPLAIN'] = 'Выберите, хотите ли Вы использовать отдельную панель контроля приложений (да), или старый метод с двумя боксами для приложений и редактирования приложений (нет) в окне сообщения. Трудно объяснить, как это выглядит, поэтому попробуйте сами.';
|
||||||
|
|
||||||
$lang['MAX_FILESIZE_ATTACH'] = 'Максимальный размер приложений';
|
$lang['MAX_FILESIZE_ATTACH'] = 'Максимальный размер приложений';
|
||||||
$lang['MAX_FILESIZE_ATTACH_EXPLAIN'] = 'Максимальный размер для приложений. Ноль значит неограниченно. Эта настройка зависит от конфигурации Вашего сёрвера. Например, если php на Вашем сервере позволяет закачивать файлы не более 2 МБ, то эту величину изменить невозможно.';
|
$lang['MAX_FILESIZE_ATTACH_EXPLAIN'] = 'Максимальный размер для приложений. Ноль значит неограниченно. Эта настройка зависит от конфигурации Вашего сервера. Например, если php на Вашем сервере позволяет закачивать файлы не более 2 МБ, то эту величину изменить невозможно.';
|
||||||
$lang['ATTACH_QUOTA'] = 'Квота приложений';
|
$lang['ATTACH_QUOTA'] = 'Квота приложений';
|
||||||
$lang['ATTACH_QUOTA_EXPLAIN'] = 'Максимальный размер для всех приложений. Ноль значит неограниченно.';
|
$lang['ATTACH_QUOTA_EXPLAIN'] = 'Максимальный размер для всех приложений. Ноль значит неограниченно.';
|
||||||
$lang['MAX_FILESIZE_PM'] = 'Максимальный размер в папке для личных сообщений';
|
$lang['MAX_FILESIZE_PM'] = 'Максимальный размер в папке для личных сообщений';
|
||||||
|
@ -2425,9 +2407,9 @@ $lang['DEFAULT_QUOTA_LIMIT'] = 'Стандартное ограничение к
|
||||||
$lang['DEFAULT_QUOTA_LIMIT_EXPLAIN'] = 'Здесь Вы можете конфигурировать стандартное ограничение квоты для новых пользователей или пользователей без установленных ограничений. Настройка "Без Ограничений" для тех, кто не хочет использовать квоты приложений. Вместо этого будут использованы стандартные настройки, заданные в контрольной панеле.';
|
$lang['DEFAULT_QUOTA_LIMIT_EXPLAIN'] = 'Здесь Вы можете конфигурировать стандартное ограничение квоты для новых пользователей или пользователей без установленных ограничений. Настройка "Без Ограничений" для тех, кто не хочет использовать квоты приложений. Вместо этого будут использованы стандартные настройки, заданные в контрольной панеле.';
|
||||||
|
|
||||||
$lang['MAX_ATTACHMENTS'] = 'Максимальное количество приложений';
|
$lang['MAX_ATTACHMENTS'] = 'Максимальное количество приложений';
|
||||||
$lang['MAX_ATTACHMENTS_EXPLAIN'] = 'Максимальное количество приложений, разрешённых в каждом сообщении.';
|
$lang['MAX_ATTACHMENTS_EXPLAIN'] = 'Максимальное количество приложений, разрешенных в каждом сообщении.';
|
||||||
$lang['MAX_ATTACHMENTS_PM'] = 'Максимальное количество приложений разрешённых в каждом личном сообщении';
|
$lang['MAX_ATTACHMENTS_PM'] = 'Максимальное количество приложений разрешенных в каждом личном сообщении';
|
||||||
$lang['MAX_ATTACHMENTS_PM_EXPLAIN'] = 'Задайте максимальное количество приложений, разрешённое в каждом личном сообщении.';
|
$lang['MAX_ATTACHMENTS_PM_EXPLAIN'] = 'Задайте максимальное количество приложений, разрешенное в каждом личном сообщении.';
|
||||||
|
|
||||||
$lang['DISABLE_MOD'] = 'Выключить мод приложений';
|
$lang['DISABLE_MOD'] = 'Выключить мод приложений';
|
||||||
$lang['DISABLE_MOD_EXPLAIN'] = 'Эта настройка используется главным образом для проверки новых скинов, она выключает все функции Мода Приложений, кроме административной панели.';
|
$lang['DISABLE_MOD_EXPLAIN'] = 'Эта настройка используется главным образом для проверки новых скинов, она выключает все функции Мода Приложений, кроме административной панели.';
|
||||||
|
@ -2439,14 +2421,14 @@ $lang['ATTACHMENT_TOPIC_REVIEW'] = 'Показывать приложения в
|
||||||
$lang['ATTACHMENT_TOPIC_REVIEW_EXPLAIN'] = 'Если поставите "да", все приложения будут показываться в окне обзора сообщений темы.';
|
$lang['ATTACHMENT_TOPIC_REVIEW_EXPLAIN'] = 'Если поставите "да", все приложения будут показываться в окне обзора сообщений темы.';
|
||||||
|
|
||||||
$lang['FTP_SERVER'] = 'FTP сервер для загрузки';
|
$lang['FTP_SERVER'] = 'FTP сервер для загрузки';
|
||||||
$lang['FTP_SERVER_EXPLAIN'] = 'Здесь Вы можете задать IP адрес или домен FTP сервера, который будет использоваться для загрузки файлов. Если оставите это поле пустым, будет использоваться сервер, на котором установлен Ваш форум. Заметьте, что нельзя добавлять ftp:// или что то ещё к адресу, только ftp.foo.com или просто IP адрес.';
|
$lang['FTP_SERVER_EXPLAIN'] = 'Здесь Вы можете задать IP адрес или домен FTP сервера, который будет использоваться для загрузки файлов. Если оставите это поле пустым, будет использоваться сервер, на котором установлен Ваш форум. Заметьте, что нельзя добавлять ftp:// или что то еще к адресу, только ftp.foo.com или просто IP адрес.';
|
||||||
|
|
||||||
$lang['ATTACH_FTP_PATH'] = 'FTP путь к папке для закаченных файлов';
|
$lang['ATTACH_FTP_PATH'] = 'FTP путь к папке для закаченных файлов';
|
||||||
$lang['ATTACH_FTP_PATH_EXPLAIN'] = 'Папка для приложений. CMOD не нужен. Пожалуйста не вставляйте Ваш IP или FTP адрес, только относительный или абсолютный путь к папке на самом сервере.<br />Например: /home/web/uploads';
|
$lang['ATTACH_FTP_PATH_EXPLAIN'] = 'Папка для приложений. CMOD не нужен. Пожалуйста не вставляйте Ваш IP или FTP адрес, только относительный или абсолютный путь к папке на самом сервере.<br />Например: /home/web/uploads';
|
||||||
$lang['FTP_DOWNLOAD_PATH'] = 'Ссылка для скачивания файлов c FTP';
|
$lang['FTP_DOWNLOAD_PATH'] = 'Ссылка для скачивания файлов c FTP';
|
||||||
$lang['FTP_DOWNLOAD_PATH_EXPLAIN'] = 'Задайте ссылку к FTP, где лежат приложения.<br />Если Вы используете удаленный FTP сервер, задайте полный адрес, например: http://www.mystorage.com/phpBB2/upload.<br />Если Вы используете локальный сервер для приложений, задайте относительный адрес к папке форума "upload".<br />Слеш будет удален. Оставьте поле пустым, если FTP недоступен из интернета. Если поле будет пустым, физический метод скачивания будет недоступен.';
|
$lang['FTP_DOWNLOAD_PATH_EXPLAIN'] = 'Задайте ссылку к FTP, где лежат приложения.<br />Если Вы используете удаленный FTP сервер, задайте полный адрес, например: http://www.mystorage.com/phpBB2/upload.<br />Если Вы используете локальный сервер для приложений, задайте относительный адрес к папке форума "upload".<br />Слеш будет удален. Оставьте поле пустым, если FTP недоступен из интернета. Если поле будет пустым, физический метод скачивания будет недоступен.';
|
||||||
$lang['FTP_PASSIVE_MODE'] = 'Задействовать пассивный FTP режим';
|
$lang['FTP_PASSIVE_MODE'] = 'Задействовать пассивный FTP режим';
|
||||||
$lang['FTP_PASSIVE_MODE_EXPLAIN'] = 'Команда PASV просит удаленный сервер открыть порт для связи и сообщить номер данного порта. Удалённый сервер открывает порт и клиент подключается к нему.';
|
$lang['FTP_PASSIVE_MODE_EXPLAIN'] = 'Команда PASV просит удаленный сервер открыть порт для связи и сообщить номер данного порта. Удаленный сервер открывает порт и клиент подключается к нему.';
|
||||||
|
|
||||||
$lang['NO_FTP_EXTENSIONS_INSTALLED'] = 'Вы не можете использовать FTP для закачивания файлов, потому что Ваш PHP этого не поддерживает данную возможность.';
|
$lang['NO_FTP_EXTENSIONS_INSTALLED'] = 'Вы не можете использовать FTP для закачивания файлов, потому что Ваш PHP этого не поддерживает данную возможность.';
|
||||||
|
|
||||||
|
@ -2465,22 +2447,22 @@ $lang['SYNC_THUMBNAILS'] = 'Синхронизация миниатюр';
|
||||||
|
|
||||||
// Extensions -> Extension Control
|
// Extensions -> Extension Control
|
||||||
$lang['MANAGE_EXTENSIONS'] = 'Конфигурация расширений';
|
$lang['MANAGE_EXTENSIONS'] = 'Конфигурация расширений';
|
||||||
$lang['MANAGE_EXTENSIONS_EXPLAIN'] = 'Здесь Вы можете настроить расширения файлов. Если Вы хотите разрешить/запретить определённые расширения, пожалуйста, используйте Контроль Групп Расширений.';
|
$lang['MANAGE_EXTENSIONS_EXPLAIN'] = 'Здесь Вы можете настроить расширения файлов. Если Вы хотите разрешить/запретить определенные расширения, пожалуйста, используйте Контроль Групп Расширений.';
|
||||||
$lang['EXPLANATION'] = 'Обьяснение';
|
$lang['EXPLANATION'] = 'Обьяснение';
|
||||||
$lang['EXTENSION_GROUP'] = 'Группа Расширений';
|
$lang['EXTENSION_GROUP'] = 'Группа Расширений';
|
||||||
$lang['INVALID_EXTENSION'] = 'Неправильное расширения';
|
$lang['INVALID_EXTENSION'] = 'Неправильное расширения';
|
||||||
$lang['EXTENSION_EXIST'] = 'Расширение %s уже существует'; // replace %s with the Extension
|
$lang['EXTENSION_EXIST'] = 'Расширение %s уже существует'; // replace %s with the Extension
|
||||||
$lang['UNABLE_ADD_FORBIDDEN_EXTENSION'] = 'Расширение %s запрещено, Вы не можете добавить его к группе разрешённых расширений'; // replace %s with Extension
|
$lang['UNABLE_ADD_FORBIDDEN_EXTENSION'] = 'Расширение %s запрещено, Вы не можете добавить его к группе разрешенных расширений'; // replace %s with Extension
|
||||||
|
|
||||||
// Extensions -> Extension Groups Management
|
// Extensions -> Extension Groups Management
|
||||||
$lang['MANAGE_EXTENSION_GROUPS'] = 'Контроль Групп Расширений';
|
$lang['MANAGE_EXTENSION_GROUPS'] = 'Контроль Групп Расширений';
|
||||||
$lang['MANAGE_EXTENSION_GROUPS_EXPLAIN'] = 'Здесь Вы можете добавить, убрать или изменить группы расширений, Вы можете выключить группы расширений, добавить их в определённые категории, изменить механизм скачивания и выбрать иконку, которая будет отображаться приложением, которое относится к определённой группе.';
|
$lang['MANAGE_EXTENSION_GROUPS_EXPLAIN'] = 'Здесь Вы можете добавить, убрать или изменить группы расширений, Вы можете выключить группы расширений, добавить их в определенные категории, изменить механизм скачивания и выбрать иконку, которая будет отображаться приложением, которое относится к определенной группе.';
|
||||||
$lang['SPECIAL_CATEGORY'] = 'Специальная категория';
|
$lang['SPECIAL_CATEGORY'] = 'Специальная категория';
|
||||||
$lang['CATEGORY_IMAGES'] = 'Картинки';
|
$lang['CATEGORY_IMAGES'] = 'Картинки';
|
||||||
$lang['CATEGORY_STREAM_FILES'] = 'Потоковые файлы';
|
$lang['CATEGORY_STREAM_FILES'] = 'Потоковые файлы';
|
||||||
$lang['CATEGORY_SWF_FILES'] = 'Flash файлы';
|
$lang['CATEGORY_SWF_FILES'] = 'Flash файлы';
|
||||||
$lang['ALLOWED'] = 'Разрешено';
|
$lang['ALLOWED'] = 'Разрешено';
|
||||||
$lang['ALLOWED_FORUMS'] = 'Разрешённые форумы';
|
$lang['ALLOWED_FORUMS'] = 'Разрешенные форумы';
|
||||||
$lang['EXT_GROUP_PERMISSIONS'] = 'Права Групп';
|
$lang['EXT_GROUP_PERMISSIONS'] = 'Права Групп';
|
||||||
$lang['DOWNLOAD_MODE'] = 'Метод скачивания';
|
$lang['DOWNLOAD_MODE'] = 'Метод скачивания';
|
||||||
$lang['UPLOAD_ICON'] = 'Иконка для закачки';
|
$lang['UPLOAD_ICON'] = 'Иконка для закачки';
|
||||||
|
@ -2489,7 +2471,7 @@ $lang['EXTENSION_GROUP_EXIST'] = 'Группа расширений %s уже с
|
||||||
|
|
||||||
// Extensions -> Special Categories
|
// Extensions -> Special Categories
|
||||||
$lang['MANAGE_CATEGORIES'] = 'Контроль специальных категорий';
|
$lang['MANAGE_CATEGORIES'] = 'Контроль специальных категорий';
|
||||||
$lang['MANAGE_CATEGORIES_EXPLAIN'] = 'Здесь Вы можете настраивать специальные категории. Вы можете задать специальные параметры для специальных категорий прикреплённых к группам расширений.';
|
$lang['MANAGE_CATEGORIES_EXPLAIN'] = 'Здесь Вы можете настраивать специальные категории. Вы можете задать специальные параметры для специальных категорий прикрепленных к группам расширений.';
|
||||||
$lang['SETTINGS_CAT_IMAGES'] = 'Настройки для специальной категории: Изображения';
|
$lang['SETTINGS_CAT_IMAGES'] = 'Настройки для специальной категории: Изображения';
|
||||||
$lang['SETTINGS_CAT_STREAMS'] = 'Настройки для специальной категории: Потоковые файлы';
|
$lang['SETTINGS_CAT_STREAMS'] = 'Настройки для специальной категории: Потоковые файлы';
|
||||||
$lang['SETTINGS_CAT_FLASH'] = 'Настройки для специальной категории: Flash файлы';
|
$lang['SETTINGS_CAT_FLASH'] = 'Настройки для специальной категории: Flash файлы';
|
||||||
|
@ -2502,7 +2484,7 @@ $lang['IMAGE_LINK_SIZE_EXPLAIN'] = 'Картинки установленной
|
||||||
$lang['ASSIGNED_GROUP'] = 'Прикрепленная группа';
|
$lang['ASSIGNED_GROUP'] = 'Прикрепленная группа';
|
||||||
|
|
||||||
$lang['IMAGE_CREATE_THUMBNAIL'] = 'Создать миниатюру';
|
$lang['IMAGE_CREATE_THUMBNAIL'] = 'Создать миниатюру';
|
||||||
$lang['IMAGE_CREATE_THUMBNAIL_EXPLAIN'] = 'Всегда создавать миниатюры. Эта функция замещает все настройки в этой специальной категории, кроме настройки "Максимальная величина изображения". При включении этой функции в сообщении будет отображаться миниатюра, пользователь может на неё нажать, чтобы открыть само изображение.<br />Пожалуйста, заметьте, что для этой функции необходим Imagick, если он не инсталлирован или если включен Safe-Mode, будет использоваться PHP расширения GD. Если тип изображения не поддерживается PHP, эта функция не будет задействована.';
|
$lang['IMAGE_CREATE_THUMBNAIL_EXPLAIN'] = 'Всегда создавать миниатюры. Эта функция замещает все настройки в этой специальной категории, кроме настройки "Максимальная величина изображения". При включении этой функции в сообщении будет отображаться миниатюра, пользователь может на нее нажать, чтобы открыть само изображение.<br />Пожалуйста, заметьте, что для этой функции необходим Imagick, если он не инсталлирован или если включен Safe-Mode, будет использоваться PHP расширения GD. Если тип изображения не поддерживается PHP, эта функция не будет задействована.';
|
||||||
$lang['IMAGE_MIN_THUMB_FILESIZE'] = 'Минимальный размер миниатюры';
|
$lang['IMAGE_MIN_THUMB_FILESIZE'] = 'Минимальный размер миниатюры';
|
||||||
$lang['IMAGE_MIN_THUMB_FILESIZE_EXPLAIN'] = 'Если изображение меньше, чем данный размер, миниатюра создаваться не будет, потому что само изображение уже достаточно маленькое.';
|
$lang['IMAGE_MIN_THUMB_FILESIZE_EXPLAIN'] = 'Если изображение меньше, чем данный размер, миниатюра создаваться не будет, потому что само изображение уже достаточно маленькое.';
|
||||||
$lang['IMAGE_IMAGICK_PATH'] = 'Приложение Imagick (полный путь)';
|
$lang['IMAGE_IMAGICK_PATH'] = 'Приложение Imagick (полный путь)';
|
||||||
|
@ -2514,14 +2496,14 @@ $lang['USE_GD2_EXPLAIN'] = 'PHP может быть скомпилировано
|
||||||
$lang['ATTACHMENT_VERSION'] = 'Версия Мода приложений (Attachment Mod) %s'; // %s is the version number
|
$lang['ATTACHMENT_VERSION'] = 'Версия Мода приложений (Attachment Mod) %s'; // %s is the version number
|
||||||
|
|
||||||
// Extensions -> Forbidden Extensions
|
// Extensions -> Forbidden Extensions
|
||||||
$lang['MANAGE_FORBIDDEN_EXTENSIONS'] = 'Управление запрещёнными расширениями';
|
$lang['MANAGE_FORBIDDEN_EXTENSIONS'] = 'Управление запрещенными расширениями';
|
||||||
$lang['MANAGE_FORBIDDEN_EXTENSIONS_EXPLAIN'] = 'Здесь Вы можете добавить или удалить запрещённое расширение. Расширения php, php3, php4 запрещены для безопасности по умолчанию, и их невозможно удалить.';
|
$lang['MANAGE_FORBIDDEN_EXTENSIONS_EXPLAIN'] = 'Здесь Вы можете добавить или удалить запрещенное расширение. Расширения php, php3, php4 запрещены для безопасности по умолчанию, и их невозможно удалить.';
|
||||||
$lang['FORBIDDEN_EXTENSION_EXIST'] = 'Запрещённое расширение %s уже существует'; // replace %s with the extension
|
$lang['FORBIDDEN_EXTENSION_EXIST'] = 'Запрещенное расширение %s уже существует'; // replace %s with the extension
|
||||||
$lang['EXTENSION_EXIST_FORBIDDEN'] = 'Расширение %s уже задано в разрешённых расширениях, пожалуйста, удалите его оттуда, перед тем, как добавлять его здесь.'; // replace %s with the extension
|
$lang['EXTENSION_EXIST_FORBIDDEN'] = 'Расширение %s уже задано в разрешенных расширениях, пожалуйста, удалите его оттуда, перед тем, как добавлять его здесь.'; // replace %s with the extension
|
||||||
|
|
||||||
// Extensions -> Extension Groups Control -> Group Permissions
|
// Extensions -> Extension Groups Control -> Group Permissions
|
||||||
$lang['GROUP_PERMISSIONS_TITLE_ADMIN'] = 'Права групп расширений -> \'%s\''; // Replace %s with the Groups Name
|
$lang['GROUP_PERMISSIONS_TITLE_ADMIN'] = 'Права групп расширений -> \'%s\''; // Replace %s with the Groups Name
|
||||||
$lang['GROUP_PERMISSIONS_EXPLAIN'] = 'Здесь Вы можете ограничить использование определённых групп расширений в форумах (как задано в боксе "Разрешённые Форумы"). По умолчанию разрешены все группы расширений во всех форумах, в которых пользователь может добавлять файлы (т.е. нормальный метод, который использовался в Моде приложений с самого начала). Если Вы разрешите только определённые форумы, то вариант "Все Форумы" исчезнет. Вы сможете снова добавить все форумы в любое время. Если Вы добавите новый раздел на Вашем форуме и разрешение установлено на "Все форумы", то ничего не изменится. Но если Вы изменили или ограничили доступ к определённым форумам, Вы должны вернуться сюда и добавить этот новый форум. Это можно было бы сделать автоматически, но Вам бы пришлось изменять много файлов, поэтому автор решил использовать текущий вариант. Пожалуйста, заметьте, что здесь будут перечислены все Вами форумы.';
|
$lang['GROUP_PERMISSIONS_EXPLAIN'] = 'Здесь Вы можете ограничить использование определенных групп расширений в форумах (как задано в боксе "Разрешенные Форумы"). По умолчанию разрешены все группы расширений во всех форумах, в которых пользователь может добавлять файлы (т.е. нормальный метод, который использовался в Моде приложений с самого начала). Если Вы разрешите только определенные форумы, то вариант "Все Форумы" исчезнет. Вы сможете снова добавить все форумы в любое время. Если Вы добавите новый раздел на Вашем форуме и разрешение установлено на "Все форумы", то ничего не изменится. Но если Вы изменили или ограничили доступ к определенным форумам, Вы должны вернуться сюда и добавить этот новый форум. Это можно было бы сделать автоматически, но Вам бы пришлось изменять много файлов, поэтому автор решил использовать текущий вариант. Пожалуйста, заметьте, что здесь будут перечислены все Вами форумы.';
|
||||||
$lang['NOTE_ADMIN_EMPTY_GROUP_PERMISSIONS'] = 'Замечание:<br />В ниже перечисленных форумах пользователи обычно могут добавлять файлы, но так как никакие группы расширений там не разрешены, пользователи не смогут ничего прикрепить. Если они попробуют, они увидят сообщение об ошибке. Может быть Вы хотите установить разрешение \'Добавить файлы\' для администрации в этих форумах.<br /><br />';
|
$lang['NOTE_ADMIN_EMPTY_GROUP_PERMISSIONS'] = 'Замечание:<br />В ниже перечисленных форумах пользователи обычно могут добавлять файлы, но так как никакие группы расширений там не разрешены, пользователи не смогут ничего прикрепить. Если они попробуют, они увидят сообщение об ошибке. Может быть Вы хотите установить разрешение \'Добавить файлы\' для администрации в этих форумах.<br /><br />';
|
||||||
$lang['ADD_FORUMS'] = 'Добавить форумы';
|
$lang['ADD_FORUMS'] = 'Добавить форумы';
|
||||||
$lang['ADD_SELECTED'] = 'Добавить выбранные';
|
$lang['ADD_SELECTED'] = 'Добавить выбранные';
|
||||||
|
@ -2529,7 +2511,7 @@ $lang['PERM_ALL_FORUMS'] = 'Все форумы';
|
||||||
|
|
||||||
// Attachments -> Quota Limits
|
// Attachments -> Quota Limits
|
||||||
$lang['MANAGE_QUOTAS'] = 'Настройка лимита квоты для расширений';
|
$lang['MANAGE_QUOTAS'] = 'Настройка лимита квоты для расширений';
|
||||||
$lang['MANAGE_QUOTAS_EXPLAIN'] = 'Здесь Вы можете добавить/удалить/изменить квоты для расширений. Позднее Вы можете прикрепить эти ограничения к определённым пользователям или группам. Чтобы прикрепить ограничение к пользователю, откройте Пользователи->Управление, выберите пользователя и Вы увидите необходимые настройки внизу страницы. Чтобы прикрепить ограничение к группе, откройте Группы->Управление, выберите группу и Вы увидите панель настроек. Если Вы хотите увидеть, какие пользователи и группы прикреплены к определённым ограничениям, нажмите на "Посмотреть" слева от описания квоты.';
|
$lang['MANAGE_QUOTAS_EXPLAIN'] = 'Здесь Вы можете добавить/удалить/изменить квоты для расширений. Позднее Вы можете прикрепить эти ограничения к определенным пользователям или группам. Чтобы прикрепить ограничение к пользователю, откройте Пользователи->Управление, выберите пользователя и Вы увидите необходимые настройки внизу страницы. Чтобы прикрепить ограничение к группе, откройте Группы->Управление, выберите группу и Вы увидите панель настроек. Если Вы хотите увидеть, какие пользователи и группы прикреплены к определенным ограничениям, нажмите на "Посмотреть" слева от описания квоты.';
|
||||||
$lang['ASSIGNED_USERS'] = 'Прикрепленные пользователи';
|
$lang['ASSIGNED_USERS'] = 'Прикрепленные пользователи';
|
||||||
$lang['ASSIGNED_GROUPS'] = 'Прикрепленные группы';
|
$lang['ASSIGNED_GROUPS'] = 'Прикрепленные группы';
|
||||||
$lang['QUOTA_LIMIT_EXIST'] = 'Ограничение %s уже существует.'; // Replace %s with the Quota Description
|
$lang['QUOTA_LIMIT_EXIST'] = 'Ограничение %s уже существует.'; // Replace %s with the Quota Description
|
||||||
|
@ -2753,7 +2735,7 @@ $lang['CRON_RUN_COUNT'] = 'Запусков';
|
||||||
$lang['CRON_MANAGE'] = 'Управление';
|
$lang['CRON_MANAGE'] = 'Управление';
|
||||||
$lang['CRON_OPTIONS'] = 'Настройки крона';
|
$lang['CRON_OPTIONS'] = 'Настройки крона';
|
||||||
|
|
||||||
$lang['CRON_ENABLED'] = 'Крон включён';
|
$lang['CRON_ENABLED'] = 'Крон включен';
|
||||||
$lang['CRON_CHECK_INTERVAL'] = 'Проверка (сек)';
|
$lang['CRON_CHECK_INTERVAL'] = 'Проверка (сек)';
|
||||||
|
|
||||||
$lang['WITH_SELECTED'] = 'С выделенными';
|
$lang['WITH_SELECTED'] = 'С выделенными';
|
||||||
|
@ -3136,8 +3118,8 @@ $lang['TPL_IN_LINE'] = 'на той же строке';
|
||||||
$lang['TPL_HEADER_ONLY'] = 'только в заголовке';
|
$lang['TPL_HEADER_ONLY'] = 'только в заголовке';
|
||||||
|
|
||||||
$lang['SEARCH_INVALID_USERNAME'] = 'Введено неправильное имя для поиска';
|
$lang['SEARCH_INVALID_USERNAME'] = 'Введено неправильное имя для поиска';
|
||||||
$lang['SEARCH_INVALID_EMAIL'] = 'Введён неправильный адрес email для поиска';
|
$lang['SEARCH_INVALID_EMAIL'] = 'Введен неправильный адрес email для поиска';
|
||||||
$lang['SEARCH_INVALID_IP'] = 'Введён неправильный IP-адрес для поиска';
|
$lang['SEARCH_INVALID_IP'] = 'Введен неправильный IP-адрес для поиска';
|
||||||
$lang['SEARCH_INVALID_GROUP'] = 'Введена неправильная группа для поиска';
|
$lang['SEARCH_INVALID_GROUP'] = 'Введена неправильная группа для поиска';
|
||||||
$lang['SEARCH_INVALID_RANK'] = 'Введено неправильное звание для поиска';
|
$lang['SEARCH_INVALID_RANK'] = 'Введено неправильное звание для поиска';
|
||||||
$lang['SEARCH_INVALID_DATE'] = 'Введена неправильная дата для поиска';
|
$lang['SEARCH_INVALID_DATE'] = 'Введена неправильная дата для поиска';
|
||||||
|
@ -3149,9 +3131,9 @@ $lang['SEARCH_INVALID_STYLE'] = 'Выбран неправильный стил
|
||||||
$lang['SEARCH_INVALID_TIMEZONE'] = 'Выбран неправильный часовой пояс';
|
$lang['SEARCH_INVALID_TIMEZONE'] = 'Выбран неправильный часовой пояс';
|
||||||
$lang['SEARCH_INVALID_MODERATORS'] = 'Выбран неправильный форум';
|
$lang['SEARCH_INVALID_MODERATORS'] = 'Выбран неправильный форум';
|
||||||
$lang['SEARCH_INVALID'] = 'Неверный поиск';
|
$lang['SEARCH_INVALID'] = 'Неверный поиск';
|
||||||
$lang['SEARCH_INVALID_DAY'] = 'Введённый день неверен';
|
$lang['SEARCH_INVALID_DAY'] = 'Введенный день неверен';
|
||||||
$lang['SEARCH_INVALID_MONTH'] = 'Введённый месяц неверен';
|
$lang['SEARCH_INVALID_MONTH'] = 'Введенный месяц неверен';
|
||||||
$lang['SEARCH_INVALID_YEAR'] = 'Введённый год неверен';
|
$lang['SEARCH_INVALID_YEAR'] = 'Введенный год неверен';
|
||||||
$lang['SEARCH_NO_REGEXP'] = 'База данных не поддерживает поиск по регулярным выражениям.';
|
$lang['SEARCH_NO_REGEXP'] = 'База данных не поддерживает поиск по регулярным выражениям.';
|
||||||
$lang['SEARCH_FOR_USERNAME'] = 'Поиск имени пользователя %s';
|
$lang['SEARCH_FOR_USERNAME'] = 'Поиск имени пользователя %s';
|
||||||
$lang['SEARCH_FOR_EMAIL'] = 'Поиск адреса email %s';
|
$lang['SEARCH_FOR_EMAIL'] = 'Поиск адреса email %s';
|
||||||
|
@ -3181,8 +3163,8 @@ $lang['SEARCH_FOR_STYLE'] = 'Поиск пользователей, исполь
|
||||||
$lang['SEARCH_FOR_MODERATORS'] = 'Поиск модареторов форума -> %s';
|
$lang['SEARCH_FOR_MODERATORS'] = 'Поиск модареторов форума -> %s';
|
||||||
$lang['SEARCH_USERS_ADVANCED'] = 'Расширенный поиск пользователя';
|
$lang['SEARCH_USERS_ADVANCED'] = 'Расширенный поиск пользователя';
|
||||||
$lang['SEARCH_USERS_EXPLAIN'] = 'Позволяет осуществлять расширенный поиск пользователей по большому диапазону критериев. Пожалуйста, читайте описания полей поиска, чтобы полностью понять каждую из поисковых возможностей.';
|
$lang['SEARCH_USERS_EXPLAIN'] = 'Позволяет осуществлять расширенный поиск пользователей по большому диапазону критериев. Пожалуйста, читайте описания полей поиска, чтобы полностью понять каждую из поисковых возможностей.';
|
||||||
$lang['SEARCH_USERNAME_EXPLAIN'] = 'Здесь можно произвести регистронезависимый поиск имени пользователя. Если вы хотите задать только часть имени, используйте * (звёздочка) как маску. Выбор регулярных выражений позволит искать по образцу.';
|
$lang['SEARCH_USERNAME_EXPLAIN'] = 'Здесь можно произвести регистронезависимый поиск имени пользователя. Если вы хотите задать только часть имени, используйте * (звездочка) как маску. Выбор регулярных выражений позволит искать по образцу.';
|
||||||
$lang['SEARCH_EMAIL_EXPLAIN'] = ' Введите выражение, соответствующее адресам email пользователей. Регистр не имеет значения. Для осуществления поиска по частичному соответствию, используйте * (звёздочка) как маску. Выбор регулярных выражений позволит искать по образцу.';
|
$lang['SEARCH_EMAIL_EXPLAIN'] = ' Введите выражение, соответствующее адресам email пользователей. Регистр не имеет значения. Для осуществления поиска по частичному соответствию, используйте * (звездочка) как маску. Выбор регулярных выражений позволит искать по образцу.';
|
||||||
$lang['SEARCH_IP_EXPLAIN'] = 'Поиск пользователей по IP-адресу (xxx.xxx.xxx.xxx), по маске (xxx.xxx.xxx.*) или диапазону (xxx.xxx.xxx.xxx-yyy.yyy.yyy.yyy). Примечание: последняя четверть .255 означает весь диапазон IP адресов этой четверти. Если задано 10.0.0.255, это равнозначно запросу 10.0.0.* (IP-адрес .255 не присваивается, а является зарезервированным). Это можно встретить при поиске по диапазону, 10.0.0.5-10.0.0.255 равнозначно "10.0.0.*" . На самом деле необходимо задать 10.0.0.5-10.0.0.254 .';
|
$lang['SEARCH_IP_EXPLAIN'] = 'Поиск пользователей по IP-адресу (xxx.xxx.xxx.xxx), по маске (xxx.xxx.xxx.*) или диапазону (xxx.xxx.xxx.xxx-yyy.yyy.yyy.yyy). Примечание: последняя четверть .255 означает весь диапазон IP адресов этой четверти. Если задано 10.0.0.255, это равнозначно запросу 10.0.0.* (IP-адрес .255 не присваивается, а является зарезервированным). Это можно встретить при поиске по диапазону, 10.0.0.5-10.0.0.255 равнозначно "10.0.0.*" . На самом деле необходимо задать 10.0.0.5-10.0.0.254 .';
|
||||||
$lang['SEARCH_USERS_JOINED'] = 'Пользователи, зарегистрированные';
|
$lang['SEARCH_USERS_JOINED'] = 'Пользователи, зарегистрированные';
|
||||||
$lang['SEARCH_USERS_LASTVISITED'] = 'Пользователи, посетившие трекер';
|
$lang['SEARCH_USERS_LASTVISITED'] = 'Пользователи, посетившие трекер';
|
||||||
|
@ -3195,18 +3177,18 @@ $lang['SEARCH_USERS_GROUPS_EXPLAIN'] = 'Просмотреть всех член
|
||||||
$lang['SEARCH_USERS_RANKS_EXPLAIN'] = 'Просмотреть всех носителей выбранного звания.';
|
$lang['SEARCH_USERS_RANKS_EXPLAIN'] = 'Просмотреть всех носителей выбранного звания.';
|
||||||
$lang['BANNED_USERS'] = 'Забаненные пользователи';
|
$lang['BANNED_USERS'] = 'Забаненные пользователи';
|
||||||
$lang['DISABLED_USERS'] = 'Отключенные пользователи';
|
$lang['DISABLED_USERS'] = 'Отключенные пользователи';
|
||||||
$lang['SEARCH_USERS_MISC_EXPLAIN'] = 'Администраторы - все пользователи с правами администратора; Модераторы - все модераторы форумов; Забаненные пользователи - все учётные записи, запрещённые на трекере; отключенные пользователи - все пользователи с отключенными учётными записями (вручную, или не подтвердившие свой адрес email); Пользователи с отключенными ЛС - Пользователи, не имеющие права пользоваться личными сообщениями (установлено через управление пользователями)';
|
$lang['SEARCH_USERS_MISC_EXPLAIN'] = 'Администраторы - все пользователи с правами администратора; Модераторы - все модераторы форумов; Забаненные пользователи - все учетные записи, запрещенные на трекере; отключенные пользователи - все пользователи с отключенными учетными записями (вручную, или не подтвердившие свой адрес email); Пользователи с отключенными ЛС - Пользователи, не имеющие права пользоваться личными сообщениями (установлено через управление пользователями)';
|
||||||
$lang['POSTCOUNT'] = 'Число сообщений';
|
$lang['POSTCOUNT'] = 'Число сообщений';
|
||||||
$lang['EQUALS'] = 'Равно';
|
$lang['EQUALS'] = 'Равно';
|
||||||
$lang['GREATER_THAN'] = 'Больше чем';
|
$lang['GREATER_THAN'] = 'Больше чем';
|
||||||
$lang['LESS_THAN'] = 'Меньше чем';
|
$lang['LESS_THAN'] = 'Меньше чем';
|
||||||
$lang['SEARCH_USERS_POSTCOUNT_EXPLAIN'] = 'Вы можете искать пользователей по количеству оставленных сообщений. Поиск можно произвести либо по конкретному значению, либо большему или меньшему заданного, либо находящемуся в заданном диапазоне значений. Для поиска в диапазоне, выберите "Равно", и задайте начало и конец диапазона через дефис (-), напр. 10-15';
|
$lang['SEARCH_USERS_POSTCOUNT_EXPLAIN'] = 'Вы можете искать пользователей по количеству оставленных сообщений. Поиск можно произвести либо по конкретному значению, либо большему или меньшему заданного, либо находящемуся в заданном диапазоне значений. Для поиска в диапазоне, выберите "Равно", и задайте начало и конец диапазона через дефис (-), напр. 10-15';
|
||||||
$lang['USERFIELD'] = 'Поле профиля';
|
$lang['USERFIELD'] = 'Поле профиля';
|
||||||
$lang['SEARCH_USERS_USERFIELD_EXPLAIN'] = 'Поиск пользователей по различным полям профиля. В качестве маски разрешены звёздочки (*). Выбор регулярных выражений позволит искать по образцу.';
|
$lang['SEARCH_USERS_USERFIELD_EXPLAIN'] = 'Поиск пользователей по различным полям профиля. В качестве маски разрешены звездочки (*). Выбор регулярных выражений позволит искать по образцу.';
|
||||||
$lang['SEARCH_USERS_LASTVISITED_EXPLAIN'] = 'Вы можете искать пользователей по дате их последнего входа на трекер, используя эту поисковую возможность.';
|
$lang['SEARCH_USERS_LASTVISITED_EXPLAIN'] = 'Вы можете искать пользователей по дате их последнего входа на трекер, используя эту поисковую возможность.';
|
||||||
$lang['SEARCH_USERS_LANGUAGE_EXPLAIN'] = 'Поиск пользователей, выбравших заданный язык в своём профиле';
|
$lang['SEARCH_USERS_LANGUAGE_EXPLAIN'] = 'Поиск пользователей, выбравших заданный язык в своем профиле';
|
||||||
$lang['SEARCH_USERS_TIMEZONE_EXPLAIN'] = 'Поиск пользователей, выбравших заданный часовой пояс в своём профиле';
|
$lang['SEARCH_USERS_TIMEZONE_EXPLAIN'] = 'Поиск пользователей, выбравших заданный часовой пояс в своем профиле';
|
||||||
$lang['SEARCH_USERS_STYLE_EXPLAIN'] = 'Поиск пользователей, выбравших заданный стиль в своём профиле';
|
$lang['SEARCH_USERS_STYLE_EXPLAIN'] = 'Поиск пользователей, выбравших заданный стиль в своем профиле';
|
||||||
$lang['MODERATORS_OF'] = 'Модераторы';
|
$lang['MODERATORS_OF'] = 'Модераторы';
|
||||||
$lang['SEARCH_USERS_MODERATORS_EXPLAIN'] = 'Поиск пользователей с правами модератора на заданном форуме. Права модератора определяются в соответствии с правами пользователя, или в соответствии с правами группы, челоном которой он является.';
|
$lang['SEARCH_USERS_MODERATORS_EXPLAIN'] = 'Поиск пользователей с правами модератора на заданном форуме. Права модератора определяются в соответствии с правами пользователя, или в соответствии с правами группы, челоном которой он является.';
|
||||||
$lang['REGULAR_EXPRESSION'] = 'Регулярное выражение?';
|
$lang['REGULAR_EXPRESSION'] = 'Регулярное выражение?';
|
||||||
|
@ -3214,10 +3196,11 @@ $lang['REGULAR_EXPRESSION'] = 'Регулярное выражение?';
|
||||||
$lang['SEARCH_USERS_NEW'] = '%s дал %d результат(ов). <a href="%s">Новый поиск</a>.';
|
$lang['SEARCH_USERS_NEW'] = '%s дал %d результат(ов). <a href="%s">Новый поиск</a>.';
|
||||||
$lang['BANNED'] = 'Забаненные';
|
$lang['BANNED'] = 'Забаненные';
|
||||||
$lang['NOT_BANNED'] = 'Не забаненные';
|
$lang['NOT_BANNED'] = 'Не забаненные';
|
||||||
$lang['SEARCH_NO_RESULTS'] = 'Нет пользователей, отвечающих выбранным критериям. Пожалуйста, попробуйте повторить поиск. Если вы ищете имя пользователя или адрес email по частичному совпадению, вы должны использовать маску * (звёздочку).';
|
$lang['SEARCH_NO_RESULTS'] = 'Нет пользователей, отвечающих выбранным критериям. Пожалуйста, попробуйте повторить поиск. Если вы ищете имя пользователя или адрес email по частичному совпадению, вы должны использовать маску * (звездочку).';
|
||||||
$lang['ACCOUNT_STATUS'] = 'Статус учётной записи';
|
$lang['ACCOUNT_STATUS'] = 'Статус учетной записи';
|
||||||
$lang['SORT_OPTIONS'] = 'Поля сортировки:';
|
$lang['SORT_OPTIONS'] = 'Поля сортировки:';
|
||||||
$lang['LAST_VISIT'] = 'Последнее посещение';
|
$lang['LAST_VISIT'] = 'Последнее посещение';
|
||||||
$lang['DAY'] = 'День';
|
$lang['DAY'] = 'День';
|
||||||
|
|
||||||
$lang['POST_EDIT_CANNOT'] = 'Извините, вы не можете редактировать сообщения';
|
$lang['POST_EDIT_CANNOT'] = 'Извините, вы не можете редактировать сообщения';
|
||||||
|
$lang['FORUMS_IN_CAT'] = 'форумов в этой категории';
|
|
@ -20,7 +20,7 @@
|
||||||
<p>Для этого необходимо, чтобы вы прислали нам письмо (в электронном виде)
|
<p>Для этого необходимо, чтобы вы прислали нам письмо (в электронном виде)
|
||||||
в котором указали нам следующую информацию:</p>
|
в котором указали нам следующую информацию:</p>
|
||||||
|
|
||||||
<p>1. Документальное подтверждение ваших прав на материал, защищённый авторским правом:</p>
|
<p>1. Документальное подтверждение ваших прав на материал, защищенный авторским правом:</p>
|
||||||
<p> - отсканированный документ с печатью, либо</p>
|
<p> - отсканированный документ с печатью, либо</p>
|
||||||
<p> - email с официального почтового домена компании правообладателя, либо</p>
|
<p> - email с официального почтового домена компании правообладателя, либо</p>
|
||||||
<p> - иная контактная информация, позволяющая однозначно идентифицировать вас, как правообладателя данного материала.</p>
|
<p> - иная контактная информация, позволяющая однозначно идентифицировать вас, как правообладателя данного материала.</p>
|
||||||
|
|
|
@ -191,18 +191,6 @@ function ie_copyTextToClipboard (fromNode)
|
||||||
return txt.execCommand("Copy");
|
return txt.execCommand("Copy");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clickable LABELs in IE
|
|
||||||
// based on http://web.tampabay.rr.com/bmerkey/examples/clickable-labels.html
|
|
||||||
function ie6_make_clickable_labels ()
|
|
||||||
{
|
|
||||||
var labels = document.getElementsByTagName("label");
|
|
||||||
for (var i=0, len=labels.length; i<len; i++) {
|
|
||||||
if (!labels[i].getAttribute("htmlFor")) {
|
|
||||||
labels[i].onclick = function() { this.children[0].click(); }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
//
|
||||||
// Menus
|
// Menus
|
||||||
//
|
//
|
||||||
|
|
|
@ -63,7 +63,7 @@ switch ($mode)
|
||||||
}
|
}
|
||||||
if (!poll_is_active($t_data))
|
if (!poll_is_active($t_data))
|
||||||
{
|
{
|
||||||
bb_die('Этот опрос уже завершён');
|
bb_die('Этот опрос уже завершен');
|
||||||
}
|
}
|
||||||
if (!$vote_id)
|
if (!$vote_id)
|
||||||
{
|
{
|
||||||
|
@ -90,7 +90,7 @@ switch ($mode)
|
||||||
|
|
||||||
CACHE('bb_poll_data')->rm("poll_$topic_id");
|
CACHE('bb_poll_data')->rm("poll_$topic_id");
|
||||||
|
|
||||||
bb_die('Спасибо! Ваш голос учтён');
|
bb_die('Спасибо! Ваш голос учтен');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// возобновить возможность голосовать
|
// возобновить возможность голосовать
|
||||||
|
@ -110,7 +110,7 @@ switch ($mode)
|
||||||
bb_die('Опрос не найден');
|
bb_die('Опрос не найден');
|
||||||
}
|
}
|
||||||
DB()->query("UPDATE ". BB_TOPICS ." SET topic_vote = ". POLL_FINISHED ." WHERE topic_id = $topic_id LIMIT 1");
|
DB()->query("UPDATE ". BB_TOPICS ." SET topic_vote = ". POLL_FINISHED ." WHERE topic_id = $topic_id LIMIT 1");
|
||||||
bb_die('Опрос завершён');
|
bb_die('Опрос завершен');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// удаление
|
// удаление
|
||||||
|
@ -120,7 +120,7 @@ switch ($mode)
|
||||||
bb_die('Опрос не найден');
|
bb_die('Опрос не найден');
|
||||||
}
|
}
|
||||||
$poll->delete_poll($topic_id);
|
$poll->delete_poll($topic_id);
|
||||||
bb_die('Опрос удалён');
|
bb_die('Опрос удален');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
// добавление
|
// добавление
|
||||||
|
@ -151,7 +151,7 @@ switch ($mode)
|
||||||
}
|
}
|
||||||
$poll->insert_votes_into_db($topic_id);
|
$poll->insert_votes_into_db($topic_id);
|
||||||
CACHE('bb_poll_data')->rm("poll_$topic_id");
|
CACHE('bb_poll_data')->rm("poll_$topic_id");
|
||||||
bb_die('Опрос изменён и старые результаты удалены');
|
bb_die('Опрос изменен и старые результаты удалены');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -430,7 +430,7 @@ elseif ( ($submit || $confirm) && !$topic_has_new_posts )
|
||||||
}
|
}
|
||||||
$sub_forums[] = $forum_id;
|
$sub_forums[] = $forum_id;
|
||||||
$sub_forums = join(',', $sub_forums);
|
$sub_forums = join(',', $sub_forums);
|
||||||
// Подсчёт проверенных релизов в форумах раздела
|
// Подсчет проверенных релизов в форумах раздела
|
||||||
$count_checked_releases = DB()->fetch_row("
|
$count_checked_releases = DB()->fetch_row("
|
||||||
SELECT COUNT(*) AS checked_releases
|
SELECT COUNT(*) AS checked_releases
|
||||||
FROM ". BB_BT_TORRENTS ."
|
FROM ". BB_BT_TORRENTS ."
|
||||||
|
|
|
@ -161,7 +161,7 @@ if ( $mode == 'read' )
|
||||||
//
|
//
|
||||||
// Major query obtains the message ...
|
// Major query obtains the message ...
|
||||||
//
|
//
|
||||||
$sql = "SELECT u.username, u.user_id, u.user_posts, u.user_from, u.user_email, u.user_regdate, u.user_rank, u.user_avatar,
|
$sql = "SELECT u.username, u.user_id, u.user_posts, u.user_from, u.user_email, u.user_regdate, u.user_rank,
|
||||||
u2.username AS to_username, u2.user_id AS to_user_id, u2.user_rank as to_user_rank,
|
u2.username AS to_username, u2.user_id AS to_user_id, u2.user_rank as to_user_rank,
|
||||||
pm.*, pmt.privmsgs_text
|
pm.*, pmt.privmsgs_text
|
||||||
FROM " . BB_PRIVMSGS . " pm, " . BB_PRIVMSGS_TEXT . " pmt, " . BB_USERS . " u, " . BB_USERS . " u2
|
FROM " . BB_PRIVMSGS . " pm, " . BB_PRIVMSGS_TEXT . " pmt, " . BB_USERS . " u, " . BB_USERS . " u2
|
||||||
|
@ -483,7 +483,6 @@ if ( $mode == 'read' )
|
||||||
'POSTER_JOINED' => (@$poster_joined) ? $poster_joined : '',
|
'POSTER_JOINED' => (@$poster_joined) ? $poster_joined : '',
|
||||||
'POSTER_POSTS' => (@$poster_posts) ? $poster_posts : '',
|
'POSTER_POSTS' => (@$poster_posts) ? $poster_posts : '',
|
||||||
'POSTER_FROM' => (@$poster_from) ? $poster_from : '',
|
'POSTER_FROM' => (@$poster_from) ? $poster_from : '',
|
||||||
'POSTER_AVATAR' => (@$poster_avatar) ? $poster_avatar : '',
|
|
||||||
'POST_SUBJECT' => $post_subject,
|
'POST_SUBJECT' => $post_subject,
|
||||||
'POST_DATE' => $post_date,
|
'POST_DATE' => $post_date,
|
||||||
'PM_MESSAGE' => $private_message,
|
'PM_MESSAGE' => $private_message,
|
||||||
|
|
|
@ -604,7 +604,6 @@ if ($post_mode)
|
||||||
'POST_DATE' => bb_date($post['post_time'], $bb_cfg['post_date_format']),
|
'POST_DATE' => bb_date($post['post_time'], $bb_cfg['post_date_format']),
|
||||||
'IS_UNREAD' => is_unread($post['post_time'], $topic_id, $forum_id),
|
'IS_UNREAD' => is_unread($post['post_time'], $topic_id, $forum_id),
|
||||||
'MESSAGE' => ($chars_val == $show_all) ? get_parsed_post($post, 'full') : get_parsed_post($post, 'briefly'),
|
'MESSAGE' => ($chars_val == $show_all) ? get_parsed_post($post, 'full') : get_parsed_post($post, 'briefly'),
|
||||||
'AVATAR' => '',
|
|
||||||
'POSTED_AFTER' => '',
|
'POSTED_AFTER' => '',
|
||||||
'QUOTE' => $quote_btn,
|
'QUOTE' => $quote_btn,
|
||||||
'EDIT' => $edit_btn,
|
'EDIT' => $edit_btn,
|
||||||
|
|
|
@ -32,14 +32,6 @@
|
||||||
<label><input type="radio" name="board_disable" value="0" <!-- IF not DISABLE_BOARD -->checked="checked"<!-- ENDIF --> />{L_NO}</label>
|
<label><input type="radio" name="board_disable" value="0" <!-- IF not DISABLE_BOARD -->checked="checked"<!-- ENDIF --> />{L_NO}</label>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
|
||||||
<td><h4>{L_ACCT_ACTIVATION}</h4></td>
|
|
||||||
<td>
|
|
||||||
<div><label><input type="radio" name="require_activation" value="{ACTIVATION_NONE}" {ACTIVATION_NONE_CHECKED} />{L_ACC_NONE}</label></div>
|
|
||||||
<div><label><input type="radio" name="require_activation" value="{ACTIVATION_USER}" {ACTIVATION_USER_CHECKED} />{L_ACC_USER}</label></div>
|
|
||||||
<div><label><input type="radio" name="require_activation" value="{ACTIVATION_ADMIN}" {ACTIVATION_ADMIN_CHECKED} />{L_ACC_ADMIN}</label></div>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><h4>{L_ALLOW_AUTOLOGIN}</h4><h6>{L_ALLOW_AUTOLOGIN_EXPLAIN}</h6></td>
|
<td><h4>{L_ALLOW_AUTOLOGIN}</h4><h6>{L_ALLOW_AUTOLOGIN_EXPLAIN}</h6></td>
|
||||||
<td>
|
<td>
|
||||||
|
@ -151,43 +143,6 @@
|
||||||
<label><input type="radio" name="allow_namechange" value="0" <!-- IF not ALLOW_NAMECHANGE -->checked="checked"<!-- ENDIF --> />{L_NO}</label>
|
<label><input type="radio" name="allow_namechange" value="0" <!-- IF not ALLOW_NAMECHANGE -->checked="checked"<!-- ENDIF --> />{L_NO}</label>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
|
||||||
<th colspan="2">{L_AVATAR_SETTINGS}</th>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><h4>{L_ALLOW_LOCAL}</h4></td>
|
|
||||||
<td>
|
|
||||||
<label><input type="radio" name="allow_avatar_local" value="1" <!-- IF ALLOW_AVATARS_LOCAL -->checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
|
||||||
<label><input type="radio" name="allow_avatar_local" value="0" <!-- IF not ALLOW_AVATARS_LOCAL -->checked="checked"<!-- ENDIF --> />{L_NO}</label>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><h4>{L_ALLOW_UPLOAD}</h4></td>
|
|
||||||
<td>
|
|
||||||
<label><input type="radio" name="allow_avatar_upload" value="1" <!-- IF ALLOW_AVATAR_UPLOAD -->checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
|
||||||
<label><input type="radio" name="allow_avatar_upload" value="0" <!-- IF not ALLOW_AVATAR_UPLOAD -->checked="checked"<!-- ENDIF --> />{L_NO}</label>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><h4>{L_MAX_FILESIZE}</h4><h6>{L_MAX_FILESIZE_EXPLAIN}</h6></td>
|
|
||||||
<td><input class="post" type="text" size="10" maxlength="10" name="avatar_filesize" value="{AVATAR_FILESIZE}" /> {L_BYTES}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><h4>{L_MAX_AVATAR_SIZE}</h4><h6>{L_MAX_AVATAR_SIZE_EXPLAIN}</h6></td>
|
|
||||||
<td><input class="post" type="text" size="3" maxlength="4" name="avatar_max_height" value="{AVATAR_MAX_HEIGHT}" /> x <input class="post" type="text" size="3" maxlength="4" name="avatar_max_width" value="{AVATAR_MAX_WIDTH}"></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><h4>{L_AVATAR_STORAGE_PATH}</h4><h6>{L_AVATAR_STORAGE_PATH_EXPLAIN}</h6></td>
|
|
||||||
<td><input class="post" type="text" size="20" maxlength="255" name="avatar_path" value="{AVATAR_PATH}" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><h4>{L_AVATAR_GALLERY_PATH}</h4><h6>{L_AVATAR_GALLERY_PATH_EXPLAIN}</h6></td>
|
|
||||||
<td><input class="post" type="text" size="20" maxlength="255" name="avatar_gallery_path" value="{AVATAR_GALLERY_PATH}" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><h4>{L_NOAVATAR}</h4></td>
|
|
||||||
<td><input class="post" type="text" size="35" maxlength="255" name="no_avatar" value="{NO_AVATAR}" /></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
<tr>
|
||||||
<th colspan="2">{L_EMAIL_SETTINGS}</th>
|
<th colspan="2">{L_EMAIL_SETTINGS}</th>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -22,63 +22,64 @@ function toggle_cat_list (val)
|
||||||
<p>{L_FORUM_EDIT_DELETE_EXPLAIN}</p>
|
<p>{L_FORUM_EDIT_DELETE_EXPLAIN}</p>
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
<form name="frm" action="{S_FORUM_ACTION}" method="post">
|
<form method="post" action="{S_FORUM_ACTION}" name="frm">
|
||||||
{S_HIDDEN_FIELDS}
|
{S_HIDDEN_FIELDS}
|
||||||
{SID_HIDDEN}
|
|
||||||
|
|
||||||
<table class="forumline">
|
<table class="forumline pad_4">
|
||||||
|
<col class="row1" width="20%">
|
||||||
|
<col class="row2" width="80%">
|
||||||
<tr>
|
<tr>
|
||||||
<th colspan="2">{L_FORUM_SETTINGS}</th>
|
<th colspan="2">{L_FORUM_SETTINGS}</th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="row1">{L_FORUM_NAME}</td>
|
<td>{L_FORUM_NAME}</td>
|
||||||
<td class="row2"><input style="width: 96%;" type="text" name="forumname" value="{FORUM_NAME}" class="post" /></td>
|
<td><input style="width: 96%;" type="text" name="forumname" value="{FORUM_NAME}" class="post" /></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="row1">{L_FORUM_DESC}</td>
|
<td>{L_FORUM_DESC}</td>
|
||||||
<td class="row2"><textarea style="width: 96%;" rows="2" wrap="virtual" name="forumdesc" class="post">{DESCRIPTION}</textarea></td>
|
<td><textarea style="width: 96%;" rows="2" wrap="virtual" name="forumdesc" class="post">{DESCRIPTION}</textarea></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="row1">{L_SF_PARENT_FORUM}</td>
|
<td>{L_SF_PARENT_FORUM}</td>
|
||||||
<td class="row2"><select onchange="toggle_cat_list(this.value)" name="forum_parent">{S_PARENT_FORUM}</select></td>
|
<td><select onchange="toggle_cat_list(this.value)" name="forum_parent">{S_PARENT_FORUM}</select></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr id="cat_list" class="{CAT_LIST_CLASS}">
|
<tr id="cat_list" class="{CAT_LIST_CLASS}">
|
||||||
<td class="row1">{L_CATEGORY}</td>
|
<td>{L_CATEGORY}</td>
|
||||||
<td class="row2"><select name="c">{S_CAT_LIST}</select></td>
|
<td><select name="c">{S_CAT_LIST}</select></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr id="show_on_index" class="{SHOW_ON_INDEX_CLASS}">
|
<tr id="show_on_index" class="{SHOW_ON_INDEX_CLASS}">
|
||||||
<td class="row1">{L_SF_SHOW_ON_INDEX}</td>
|
<td>{L_SF_SHOW_ON_INDEX}</td>
|
||||||
<td class="row2">
|
<td>
|
||||||
<label><input type="radio" name="show_on_index" value="1" <!-- IF SHOW_ON_INDEX -->checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
<label><input type="radio" name="show_on_index" value="1" <!-- IF SHOW_ON_INDEX -->checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||||
<label><input type="radio" name="show_on_index" value="0" <!-- IF not SHOW_ON_INDEX -->checked="checked"<!-- ENDIF --> />{L_NO}</label>
|
<label><input type="radio" name="show_on_index" value="0" <!-- IF not SHOW_ON_INDEX -->checked="checked"<!-- ENDIF --> />{L_NO}</label>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="row1">{L_FORUM_STATUS}</td>
|
<td>{L_FORUM_STATUS}</td>
|
||||||
<td class="row2"><select name="forumstatus">{S_STATUS_LIST}</select></td>
|
<td><select name="forumstatus">{S_STATUS_LIST}</select></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="row1">{L_REG_TORRENTS}</td>
|
<td>{L_REG_TORRENTS}</td>
|
||||||
<td class="row2">{ALLOW_REG_TRACKER} {L_SELF_MODERATED}: {SELF_MODERATED} {L_ALLOW_PORNO_TOPIC}: {ALLOW_PORNO_TOPIC}</td>
|
<td>{ALLOW_REG_TRACKER} {L_SELF_MODERATED}: {SELF_MODERATED} {L_ALLOW_PORNO_TOPIC}: {ALLOW_PORNO_TOPIC}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="row1">{L_DESIGNER}</td>
|
<td>{L_DESIGNER}</td>
|
||||||
<td class="row2">{TPL_SELECT} - {L_FOR_NEW_TEMPLATE}</td>
|
<td>{TPL_SELECT} - {L_FOR_NEW_TEMPLATE}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="row1">{L_FORUM_PRUNING}</td>
|
<td>{L_FORUM_PRUNING}</td>
|
||||||
<td class="row2">{L_PRUNE_DAYS} <input type="text" name="prune_days" value="{PRUNE_DAYS}" size="4" class="post" /> {L_DAYS} <i class="med">(0 = {L_DISABLED})</span></td>
|
<td>{L_PRUNE_DAYS} <input type="text" name="prune_days" value="{PRUNE_DAYS}" size="4" class="post" /> {L_DAYS} <i class="med">(0 = {L_DISABLED})</span></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="row1">{L_SORT_BY}</td>
|
<td>{L_SORT_BY}</td>
|
||||||
<td class="row2">
|
<td>
|
||||||
<select name="forum_display_sort">{S_FORUM_DISPLAY_SORT_LIST}</select>
|
<select name="forum_display_sort">{S_FORUM_DISPLAY_SORT_LIST}</select>
|
||||||
<select name="forum_display_order">{S_FORUM_DISPLAY_ORDER_LIST}</select>
|
<select name="forum_display_order">{S_FORUM_DISPLAY_ORDER_LIST}</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="catBottom" colspan="2">
|
<td class="catBottom" colspan="2">
|
||||||
<input type="submit" name="submit" value="{S_SUBMIT_VALUE}" class="mainoption" />
|
<input type="submit" name="submit" value="{S_SUBMIT_VALUE}" class="mainoption" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
@ -95,9 +96,8 @@ function toggle_cat_list (val)
|
||||||
<p>{L_EDIT_CATEGORY_EXPLAIN}</p>
|
<p>{L_EDIT_CATEGORY_EXPLAIN}</p>
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
<form action="{S_FORUM_ACTION}" method="post">
|
<form method="post" action="{S_FORUM_ACTION}">
|
||||||
{S_HIDDEN_FIELDS}
|
{S_HIDDEN_FIELDS}
|
||||||
{SID_HIDDEN}
|
|
||||||
|
|
||||||
<table class="forumline">
|
<table class="forumline">
|
||||||
<col class="row1">
|
<col class="row1">
|
||||||
|
@ -107,7 +107,7 @@ function toggle_cat_list (val)
|
||||||
<tr>
|
<tr>
|
||||||
<td class="pad_12 tCenter">
|
<td class="pad_12 tCenter">
|
||||||
{L_CATEGORY}:
|
{L_CATEGORY}:
|
||||||
<input type="text" name="cat_title" size="35" value="{CAT_TITLE}" />
|
<input type="text" name="cat_title" size="60" value="{CAT_TITLE}" />
|
||||||
<input type="submit" name="submit" value="{S_SUBMIT_VALUE}" class="bold" />
|
<input type="submit" name="submit" value="{S_SUBMIT_VALUE}" class="bold" />
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -126,9 +126,8 @@ function toggle_cat_list (val)
|
||||||
<p>{L_FORUM_DELETE_EXPLAIN}</p>
|
<p>{L_FORUM_DELETE_EXPLAIN}</p>
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
<form action="{S_FORUM_ACTION}" method="post">
|
<form method="post" action="{S_FORUM_ACTION}">
|
||||||
{S_HIDDEN_FIELDS}
|
{S_HIDDEN_FIELDS}
|
||||||
{SID_HIDDEN}
|
|
||||||
|
|
||||||
<table class="forumline">
|
<table class="forumline">
|
||||||
<col class="row1" width="30%">
|
<col class="row1" width="30%">
|
||||||
|
@ -178,49 +177,61 @@ function hl (id, on)
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<h1>{L_FORUM_TITLE}</h1>
|
<h1>{L_FORUM_TITLE} <!-- IF FORUMS_COUNT --><b class="gen">[{L_FORUMS_IN_CAT}: {FORUMS_COUNT}]</b><!-- ENDIF --></h1>
|
||||||
|
|
||||||
<p>{L_FORUM_EDIT_DELETE_EXPLAIN}</p>
|
<p>{L_FORUM_EDIT_DELETE_EXPLAIN}</p>
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
<form method="post" action="{S_FORUM_ACTION}">
|
<form method="post" action="{S_FORUM_ACTION}">
|
||||||
{SID_HIDDEN}
|
|
||||||
|
|
||||||
<!-- BEGIN catrow -->
|
<!-- BEGIN c -->
|
||||||
<table class="forumline">
|
<table class="forumline">
|
||||||
<tr class="row3">
|
<tr class="row3">
|
||||||
<td class="tCenter"><a class="gen" title="{L_MOVE_UP}" href="{catrow.U_CAT_MOVE_UP}"><b> ↑ </b></a><a class="gen" title="{L_MOVE_DOWN}" href="{catrow.U_CAT_MOVE_DOWN}"><b> ↓ </b></a></td>
|
<td class="tCenter"><a class="gen" title="{L_MOVE_UP}" href="{c.U_CAT_MOVE_UP}"><b> ↑ </b></a><a class="gen" title="{L_MOVE_DOWN}" href="{c.U_CAT_MOVE_DOWN}"><b> ↓ </b></a></td>
|
||||||
<td colspan="5" width="100%" class="nowrap">
|
<td colspan="5" width="100%" class="nowrap">
|
||||||
<span class="floatL">
|
<span class="floatL">
|
||||||
<a href="{catrow.U_VIEWCAT}"><span class="gen"><b>{catrow.CAT_DESC}</b></span></a>
|
<a href="{c.U_VIEWCAT}"><span class="gen"><b>{c.CAT_DESC}</b></span></a>
|
||||||
</span>
|
</span>
|
||||||
<span class="nowrap floatR">
|
<span class="nowrap floatR">
|
||||||
<a class="gen" href="{catrow.U_CREATE_FORUM}">{L_CREATE_FORUM}</a>
|
<a class="gen" href="{c.U_CREATE_FORUM}">{L_CREATE_FORUM}</a>
|
||||||
|
|
·
|
||||||
<a class="gen" href="{catrow.U_CAT_EDIT}">{L_EDIT}</a>
|
<a class="gen" href="{c.U_CAT_EDIT}">{L_EDIT}</a>
|
||||||
|
|
·
|
||||||
<a class="gen" href="{catrow.U_CAT_DELETE}">{L_DELETE}</a>
|
<a class="gen" href="{c.U_CAT_DELETE}">{L_DELETE}</a>
|
||||||
</span>
|
</span>
|
||||||
</td>
|
</td>
|
||||||
<td class="small">{L_PRUNE}</td>
|
<td>{L_PRUNE}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<!-- BEGIN forumrow -->
|
<!-- BEGIN f -->
|
||||||
<tr class="row1 hl-tr" onmouseover="hl('fname_{catrow.forumrow.FORUM_ID}', 1);" onmouseout="hl('fname_{catrow.forumrow.FORUM_ID}', 0);">
|
<tr class="row1 hl-tr" onmouseover="hl('fname_{c.f.FORUM_ID}', 1);" onmouseout="hl('fname_{c.f.FORUM_ID}', 0);">
|
||||||
<td class="gen" align="center"><a class="gen" title="{L_MOVE_UP}" href="{catrow.forumrow.U_FORUM_MOVE_UP}"><b> ↑ </b></a><a class="gen" title="{L_MOVE_DOWN}" href="{catrow.forumrow.U_FORUM_MOVE_DOWN}"><b> ↓ </b></a></td>
|
<td class="gen" align="center"><a class="gen" title="{L_MOVE_UP}" href="{c.f.U_FORUM_MOVE_UP}"><b> ↑ </b></a><a class="gen" title="{L_MOVE_DOWN}" href="{c.f.U_FORUM_MOVE_DOWN}"><b> ↓ </b></a></td>
|
||||||
<td width="100%" {catrow.forumrow.SF_PAD}><a title="{catrow.forumrow.FORUM_DESC}" class="{catrow.forumrow.FORUM_NAME_CLASS}" href="{catrow.forumrow.U_VIEWFORUM}" target="_new"><!-- IF catrow.forumrow.SHOW_ON_INDEX --><b><!-- ENDIF --><span id="fname_{catrow.forumrow.FORUM_ID}">{catrow.forumrow.FORUM_NAME}</span><!-- IF catrow.forumrow.SHOW_ON_INDEX --></b><!-- ENDIF --></a> <em class="med" style="color: grey">{L_TOPICS_SHORT}:</em> <span class="med">{catrow.forumrow.NUM_TOPICS}</span> <em class="med" style="color: grey">{L_POSTS_SHORT}:</em> <span class="med">{catrow.forumrow.NUM_POSTS}</span></td>
|
<td class="small" align="center" nowrap="nowrap"><a class="small" href="{c.f.ADD_SUB_HREF}" title="Add subforum"> +sub </a><!-- <span title="Order index">{c.f.ORDER} [{c.f.FORUM_ID}-{c.f.FORUM_PARENT}]</span> --></td>
|
||||||
<td class="med" align="center"><a class="med" href="{catrow.forumrow.U_FORUM_EDIT}"> {L_EDIT} </a></td>
|
<td width="100%" {c.f.SF_PAD}><a title="{c.f.FORUM_DESC}" class="{c.f.FORUM_NAME_CLASS}" href="{c.f.U_VIEWFORUM}" target="_new"><!-- IF c.f.SHOW_ON_INDEX --><b><!-- ENDIF --><span id="fname_{c.f.FORUM_ID}">{c.f.FORUM_NAME}</span><!-- IF c.f.SHOW_ON_INDEX --></b><!-- ENDIF --></a></td>
|
||||||
<td class="small" align="center" nowrap="nowrap"><a class="small" href="{catrow.forumrow.ADD_SUB_HREF}" title="Add subforum"> +sub </a><!-- <span title="Order index">{catrow.forumrow.ORDER} [{catrow.forumrow.FORUM_ID}-{catrow.forumrow.FORUM_PARENT}]</span> --></td>
|
<td class="small tCenter" title="{L_TOPICS_SHORT}"><em class="med" style="color: grey">{L_TOPICS_SHORT}:</em> {c.f.NUM_TOPICS}</td>
|
||||||
<td class="med" align="center"><a class="med" href="{catrow.forumrow.U_FORUM_RESYNC}"> {L_RESYNC} </a></td>
|
<td class="small tCenter" title="{L_POSTS_SHORT}"><em class="med" style="color: grey">{L_POSTS_SHORT}:</em> {c.f.NUM_POSTS}</td>
|
||||||
<td class="med" align="center"><a class="med" href="{catrow.forumrow.U_FORUM_DELETE}"> {L_REMOVE} </a></td>
|
<td class="med nowrap tCenter">
|
||||||
<td class="small" align="center" nowrap="nowrap">{catrow.forumrow.PRUNE_DAYS}</td>
|
|
||||||
|
<a class="med" href="{c.f.U_FORUM_EDIT}">edit</a>
|
||||||
|
·
|
||||||
|
<a class="med" href="{c.f.U_FORUM_PERM}">perm</a>
|
||||||
|
·
|
||||||
|
<a class="med" href="{c.f.U_FORUM_RESYNC}">sync</a>
|
||||||
|
·
|
||||||
|
<a class="med" href="{c.f.U_FORUM_DELETE}">x</a>
|
||||||
|
|
||||||
|
</td>
|
||||||
|
<td class="small" align="center" nowrap="nowrap"><b>{c.f.PRUNE_DAYS}</b></td>
|
||||||
</tr>
|
</tr>
|
||||||
<!-- END forumrow -->
|
<!-- END f -->
|
||||||
</table>
|
</table>
|
||||||
<!-- END catrow -->
|
<!-- END c -->
|
||||||
|
|
||||||
<table class="forumline">
|
<table class="forumline">
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="7" class="row3"><input class="post" type="text" name="categoryname" /> <input type="submit" name="addcategory" value="{L_CREATE_CATEGORY}" /></td>
|
<td class="row3">
|
||||||
|
<input class="post" type="text" name="categoryname" />
|
||||||
|
<input type="submit" name="addcategory" value="{L_CREATE_CATEGORY}" />
|
||||||
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
@ -230,6 +241,5 @@ function hl (id, on)
|
||||||
<p><a href="{U_ALL_FORUMS}"><b>{L_SHOW_ALL_FORUMS_ON_ONE_PAGE}</b></a></p>
|
<p><a href="{U_ALL_FORUMS}"><b>{L_SHOW_ALL_FORUMS_ON_ONE_PAGE}</b></a></p>
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
|
|
||||||
<!--========================================================================-->
|
<!--========================================================================-->
|
||||||
<!-- ENDIF / TPL_FORUMS_LIST -->
|
<!-- ENDIF / TPL_FORUMS_LIST -->
|
|
@ -20,7 +20,7 @@
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td><b>Валюта</b></td>
|
<td><b>Валюта</b></td>
|
||||||
<td align="center"><b>Кошелёк</b></td>
|
<td align="center"><b>Кошелек</b></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>Евро</td>
|
<td>Евро</td>
|
||||||
|
|
|
@ -223,7 +223,7 @@ function getElText (e)
|
||||||
}
|
}
|
||||||
function escHTML (txt)
|
function escHTML (txt)
|
||||||
{
|
{
|
||||||
return txt.replace(/</g, '<');
|
return txt.replace(/</g, '<');
|
||||||
}
|
}
|
||||||
<!-- IF USE_TABLESORTER -->
|
<!-- IF USE_TABLESORTER -->
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
|
@ -254,25 +254,10 @@ function post2url (url, params) {
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!--[if lte IE 6]><script type="text/javascript">
|
|
||||||
$(ie6_make_clickable_labels);
|
|
||||||
|
|
||||||
$(function(){
|
|
||||||
$('div.menu-sub').prepend('<iframe class="ie-fix-select-overlap"></iframe>'); // iframe for IE select box z-index issue
|
|
||||||
Menu.iframeFix = true;
|
|
||||||
});
|
|
||||||
</script><![endif]-->
|
|
||||||
|
|
||||||
|
|
||||||
<!--[if gte IE 7]><style type="text/css">
|
<!--[if gte IE 7]><style type="text/css">
|
||||||
input[type="checkbox"] { margin-bottom: -1px; }
|
input[type="checkbox"] { margin-bottom: -1px; }
|
||||||
</style><![endif]-->
|
</style><![endif]-->
|
||||||
|
|
||||||
<!--[if lte IE 6]><style type="text/css">
|
|
||||||
.forumline th { height: 24px; padding: 2px 4px; }
|
|
||||||
.menu-sub iframe.ie-fix-select-overlap { display: none; display: block; position: absolute; z-index: -1; filter: mask(); }
|
|
||||||
</style><![endif]-->
|
|
||||||
|
|
||||||
<!--[if IE]><style type="text/css">
|
<!--[if IE]><style type="text/css">
|
||||||
.post-hr { margin: 2px auto; }
|
.post-hr { margin: 2px auto; }
|
||||||
.fieldsets div > p { margin-bottom: 0; }
|
.fieldsets div > p { margin-bottom: 0; }
|
||||||
|
@ -461,7 +446,6 @@ $(document).ready(function() {
|
||||||
<td width="40%">
|
<td width="40%">
|
||||||
{L_USER_WELCOME} <b class="med">{THIS_USER}</b> [ <a href="{U_LOGIN_LOGOUT}" onclick="return confirm('{L_CONFIRM_LOGOUT}');">{L_LOGOUT}</a> ]
|
{L_USER_WELCOME} <b class="med">{THIS_USER}</b> [ <a href="{U_LOGIN_LOGOUT}" onclick="return confirm('{L_CONFIRM_LOGOUT}');">{L_LOGOUT}</a> ]
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<td style="padding: 2px;">
|
<td style="padding: 2px;">
|
||||||
<div>
|
<div>
|
||||||
<form id="quick-search" action="" method="post" onsubmit="$(this).attr('action', $('#search-action').val());">
|
<form id="quick-search" action="" method="post" onsubmit="$(this).attr('action', $('#search-action').val());">
|
||||||
|
@ -501,36 +485,24 @@ $(document).ready(function() {
|
||||||
|
|
||||||
<!--login form-->
|
<!--login form-->
|
||||||
<div class="topmenu">
|
<div class="topmenu">
|
||||||
<table width="100%" cellpadding="0" cellspacing="0">
|
<table width="100%" cellpadding="0" cellspacing="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="tCenter pad_2">
|
<td class="tCenter pad_2">
|
||||||
<a href="{U_REGISTER}" id="register_link"><b>{L_REGISTER}</b></a> ·
|
<a href="{U_REGISTER}" id="register_link"><b>{L_REGISTER}</b></a> ·
|
||||||
<form action="{S_LOGIN_ACTION}" method="post">
|
<form action="{S_LOGIN_ACTION}" method="post">
|
||||||
{L_USERNAME}: <input type="text" name="login_username" size="12" tabindex="1" accesskey="l" />
|
{L_USERNAME}: <input type="text" name="login_username" size="12" tabindex="1" accesskey="l" />
|
||||||
{L_PASSWORD}: <input type="password" name="login_password" size="12" tabindex="2" />
|
{L_PASSWORD}: <input type="password" name="login_password" size="12" tabindex="2" />
|
||||||
<label title="{L_AUTO_LOGIN}"><input type="checkbox" name="autologin" value="1" tabindex="3" checked="checked" />{L_REMEMBER}</label>
|
<label title="{L_AUTO_LOGIN}"><input type="checkbox" name="autologin" value="1" tabindex="3" checked="checked" />{L_REMEMBER}</label>
|
||||||
<input type="submit" name="login" value="{L_LOGIN}" tabindex="4" />
|
<input type="submit" name="login" value="{L_LOGIN}" tabindex="4" />
|
||||||
</form> ·
|
</form> ·
|
||||||
<a href="{U_SEND_PASSWORD}">{L_FORGOTTEN_PASSWORD}</a>
|
<a href="{U_SEND_PASSWORD}">{L_FORGOTTEN_PASSWORD}</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<!--/login form-->
|
<!--/login form-->
|
||||||
<!-- ENDIF -->
|
<!-- ENDIF -->
|
||||||
|
|
||||||
<!--breadcrumb-->
|
|
||||||
<!--<div id="breadcrumb"></div>-->
|
|
||||||
<!--/breadcrumb-->
|
|
||||||
|
|
||||||
<!-- IF SHOW_IMPORTANT_INFO -->
|
|
||||||
<!--important_info-->
|
|
||||||
<!--<div id="important_info">
|
|
||||||
important_info
|
|
||||||
</div>-->
|
|
||||||
<!--/important_info-->
|
|
||||||
<!-- ENDIF -->
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!--/page_header-->
|
<!--/page_header-->
|
||||||
|
|
||||||
|
@ -578,7 +550,7 @@ important_info
|
||||||
<input style="width: 100px;" type="button" onclick="$('input.h-cat-cbx').attr('checked',false); $('input#sec_h_cat').click(); return false;" value="{L_RESET}">
|
<input style="width: 100px;" type="button" onclick="$('input.h-cat-cbx').attr('checked',false); $('input#sec_h_cat').click(); return false;" value="{L_RESET}">
|
||||||
<!-- ENDIF -->
|
<!-- ENDIF -->
|
||||||
<input id="sec_h_cat" type="button" onclick="set_h_cat();" style="width: 100px;" value="{L_SUBMIT}">
|
<input id="sec_h_cat" type="button" onclick="set_h_cat();" style="width: 100px;" value="{L_SUBMIT}">
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
function set_h_cat ()
|
function set_h_cat ()
|
||||||
{
|
{
|
||||||
h_cats = [];
|
h_cats = [];
|
||||||
|
@ -603,76 +575,74 @@ important_info
|
||||||
<!--page_content-->
|
<!--page_content-->
|
||||||
<div id="page_content">
|
<div id="page_content">
|
||||||
<table cellspacing="0" cellpadding="0" border="0" style="width: 100%;">
|
<table cellspacing="0" cellpadding="0" border="0" style="width: 100%;">
|
||||||
<tr><!-- IF SHOW_SIDEBAR1 -->
|
<tr><!-- IF SHOW_SIDEBAR1 -->
|
||||||
<!--sidebar1-->
|
<!--sidebar1-->
|
||||||
<td id="sidebar1">
|
<td id="sidebar1">
|
||||||
<div id="sidebar1-wrap">
|
<div id="sidebar1-wrap">
|
||||||
|
<!-- IF SHOW_BT_USERDATA --><div id="user_ratio">
|
||||||
<!-- IF SHOW_BT_USERDATA --><div id="user_ratio">
|
<h3>{L_USER_RATIO}</h3>
|
||||||
<h3>{L_USER_RATIO}</h3>
|
<table cellpadding="0">
|
||||||
<table cellpadding="0">
|
<!-- IF not AVATAR_DISALLOWED --><div align="center">{THIS_AVATAR}</div><!-- ENDIF -->
|
||||||
<div align="center">{THIS_AVATAR}</div>
|
<!-- IF AVATAR_DISALLOWED --><div align="center">{L_AVATAR_DISABLE}</div><!-- ENDIF -->
|
||||||
<tr><td>{L_USER_RATIO}</td><td><!-- IF DOWN_TOTAL_BYTES gt MIN_DL_BYTES --><b>{USER_RATIO}</b><!-- ELSE --><b>{L_NONE}</b> (DL < {MIN_DL_FOR_RATIO})<!-- ENDIF --></td></tr>
|
<tr><td>{L_USER_RATIO}</td><td><!-- IF DOWN_TOTAL_BYTES gt MIN_DL_BYTES --><b>{USER_RATIO}</b><!-- ELSE --><b>{L_NONE}</b> (DL < {MIN_DL_FOR_RATIO})<!-- ENDIF --></td></tr>
|
||||||
<tr><td>{L_DOWNLOADED}</td><td class="leechmed"><b>{DOWN_TOTAL}</b></td></tr>
|
<tr><td>{L_DOWNLOADED}</td><td class="leechmed"><b>{DOWN_TOTAL}</b></td></tr>
|
||||||
<tr><td>{L_UPLOADED}</td><td class="seedmed"><b>{UP_TOTAL}</b></td></tr>
|
<tr><td>{L_UPLOADED}</td><td class="seedmed"><b>{UP_TOTAL}</b></td></tr>
|
||||||
<tr><td>{L_RELEASED}</td><td class="seedmed">{RELEASED}</td></tr>
|
<tr><td>{L_RELEASED}</td><td class="seedmed">{RELEASED}</td></tr>
|
||||||
<tr><td>{L_BONUS}</td><td class="seedmed">{UP_BONUS}</td></tr>
|
<tr><td>{L_BONUS}</td><td class="seedmed">{UP_BONUS}</td></tr>
|
||||||
<!-- IF $bb_cfg['seed_bonus_enabled'] --><tr><td>{L_SEED_BONUS}</td><td><a href="profile.php?mode=bonus"><span class="points bold">{POINTS}</span></a></td></tr><!-- ENDIF -->
|
<!-- IF $bb_cfg['seed_bonus_enabled'] --><tr><td>{L_SEED_BONUS}</td><td><a href="profile.php?mode=bonus"><span class="points bold">{POINTS}</span></a></td></tr><!-- ENDIF -->
|
||||||
</table>
|
</table>
|
||||||
</div><!-- ENDIF -->
|
</div><!-- ENDIF -->
|
||||||
|
<?php if (!empty($bb_cfg['sidebar1_static_content_path'])) include($bb_cfg['sidebar1_static_content_path']); ?>
|
||||||
<?php if (!empty($bb_cfg['sidebar1_static_content_path'])) include($bb_cfg['sidebar1_static_content_path']); ?>
|
<img width="210" class="spacer" src="{SPACER}" alt="" />
|
||||||
<img width="210" class="spacer" src="{SPACER}" alt="" />
|
</div><!--/sidebar1-wrap-->
|
||||||
|
</td><!--/sidebar1-->
|
||||||
</div><!--/sidebar1-wrap-->
|
|
||||||
</td><!--/sidebar1-->
|
|
||||||
<!-- ENDIF -->
|
<!-- ENDIF -->
|
||||||
|
|
||||||
<!--main_content-->
|
<!--main_content-->
|
||||||
<td id="main_content">
|
<td id="main_content">
|
||||||
<div id="main_content_wrap">
|
<div id="main_content_wrap">
|
||||||
<div id="latest_news">
|
<div id="latest_news">
|
||||||
<table cellspacing="0" cellpadding="0" width="100%">
|
<table cellspacing="0" cellpadding="0" width="100%">
|
||||||
<tr>
|
<tr>
|
||||||
<!-- IF SHOW_LATEST_NEWS -->
|
<!-- IF SHOW_LATEST_NEWS -->
|
||||||
<td width="50%">
|
<td width="50%">
|
||||||
<h3>{L_LATEST_NEWS}</h3>
|
<h3>{L_LATEST_NEWS}</h3>
|
||||||
<table cellpadding="0">
|
<table cellpadding="0">
|
||||||
<!-- BEGIN news -->
|
<!-- BEGIN news -->
|
||||||
<tr>
|
<tr>
|
||||||
<td><div class="news_date">{news.NEWS_TIME}</div></td>
|
<td><div class="news_date">{news.NEWS_TIME}</div></td>
|
||||||
<td width="100%">
|
<td width="100%">
|
||||||
<div class="news_title<!-- IF news.NEWS_IS_NEW --> new<!-- ENDIF -->"><a href="{TOPIC_URL}{news.NEWS_TOPIC_ID}">{news.NEWS_TITLE}</a></div>
|
<div class="news_title<!-- IF news.NEWS_IS_NEW --> new<!-- ENDIF -->"><a href="{TOPIC_URL}{news.NEWS_TOPIC_ID}">{news.NEWS_TITLE}</a></div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<!-- END news -->
|
<!-- END news -->
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
<!-- ENDIF -->
|
<!-- ENDIF -->
|
||||||
|
|
||||||
<!-- IF SHOW_NETWORK_NEWS -->
|
<!-- IF SHOW_NETWORK_NEWS -->
|
||||||
<td width="50%">
|
<td width="50%">
|
||||||
<h3>{L_NETWORK_NEWS}</h3>
|
<h3>{L_NETWORK_NEWS}</h3>
|
||||||
<table cellpadding="0">
|
<table cellpadding="0">
|
||||||
<!-- BEGIN net -->
|
<!-- BEGIN net -->
|
||||||
<tr>
|
<tr>
|
||||||
<td><div class="news_date">{net.NEWS_TIME}</div></td>
|
<td><div class="news_date">{net.NEWS_TIME}</div></td>
|
||||||
<td width="100%">
|
<td width="100%">
|
||||||
<div class="news_title<!-- IF net.NEWS_IS_NEW --> new<!-- ENDIF -->"><a href="{TOPIC_URL}{net.NEWS_TOPIC_ID}">{net.NEWS_TITLE}</a></div>
|
<div class="news_title<!-- IF net.NEWS_IS_NEW --> new<!-- ENDIF -->"><a href="{TOPIC_URL}{net.NEWS_TOPIC_ID}">{net.NEWS_TITLE}</a></div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<!-- END net -->
|
<!-- END net -->
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
<!-- ENDIF -->
|
<!-- ENDIF -->
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- IF AD_BLOCK_200 -->
|
<!-- IF AD_BLOCK_200 -->
|
||||||
<div id="ad-200">{AD_BLOCK_200}</div><!--/ad-200-->
|
<div id="ad-200">{AD_BLOCK_200}</div><!--/ad-200-->
|
||||||
<!-- ELSEIF AD_BLOCK_100 -->
|
<!-- ELSEIF AD_BLOCK_100 -->
|
||||||
<div id="ad-100">{AD_BLOCK_100}</div><!--/ad-100-->
|
<div id="ad-100">{AD_BLOCK_100}</div><!--/ad-100-->
|
||||||
<!-- ENDIF / AD_BLOCK_100 -->
|
<!-- ENDIF / AD_BLOCK_100 -->
|
||||||
|
|
||||||
<!--=======================-->
|
<!--=======================-->
|
||||||
|
|
|
@ -662,7 +662,7 @@ TPL.el_attr = {
|
||||||
//авто мультимедийки
|
//авто мультимедийки
|
||||||
avto_mm_type: ['SEL', 'Тип мультимедиа ', '', ''],
|
avto_mm_type: ['SEL', 'Тип мультимедиа ', '', ''],
|
||||||
manga_type: ['SEL', 'Тип', '', ''],
|
manga_type: ['SEL', 'Тип', '', ''],
|
||||||
manga_completeness_with_header: ['SEL', 'Завершённость релиза', '', ''],
|
manga_completeness_with_header: ['SEL', 'Завершенность релиза', '', ''],
|
||||||
sub_format: ['SEL', 'Формат субтитров', '', ''],
|
sub_format: ['SEL', 'Формат субтитров', '', ''],
|
||||||
orig_audio: ['SEL', 'Оригинальная аудиодорожка', '', ''],
|
orig_audio: ['SEL', 'Оригинальная аудиодорожка', '', ''],
|
||||||
orig_audio_serial: ['SEL', 'Оригинальная аудиодорожка', '', ''],
|
orig_audio_serial: ['SEL', 'Оригинальная аудиодорожка', '', ''],
|
||||||
|
@ -733,7 +733,7 @@ TPL.el_attr = {
|
||||||
video_format_iphone: ['SEL', 'Формат', '', ''],
|
video_format_iphone: ['SEL', 'Формат', '', ''],
|
||||||
video_codec_iphone: ['SEL', 'Видео кодек', '', ''],
|
video_codec_iphone: ['SEL', 'Видео кодек', '', ''],
|
||||||
cover_iphone: ['SEL', 'Вшитая обложка', '', ''],
|
cover_iphone: ['SEL', 'Вшитая обложка', '', ''],
|
||||||
tag_iphone: ['SEL', 'Доп. теги (режиссёр, актёры и т.д.)', '', ''],
|
tag_iphone: ['SEL', 'Доп. теги (режиссер, актеры и т.д.)', '', ''],
|
||||||
show_iphone: ['SEL', 'Телешоу/видеоклип ', '', ''],
|
show_iphone: ['SEL', 'Телешоу/видеоклип ', '', ''],
|
||||||
chapter_iphone: ['SEL', 'Главы', '', ''],
|
chapter_iphone: ['SEL', 'Главы', '', ''],
|
||||||
series_iphone: ['SEL', 'Серия/сезон', '', ''],
|
series_iphone: ['SEL', 'Серия/сезон', '', ''],
|
||||||
|
@ -1719,7 +1719,7 @@ TPL.selects = {
|
||||||
'manhua'
|
'manhua'
|
||||||
],
|
],
|
||||||
manga_completeness_with_header: [
|
manga_completeness_with_header: [
|
||||||
'» Завершённость',
|
'» Завершенность',
|
||||||
'complete',
|
'complete',
|
||||||
'incomplete'
|
'incomplete'
|
||||||
],
|
],
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
<td class="poster_info td1">
|
<td class="poster_info td1">
|
||||||
|
|
||||||
<p class="nick">{t.p.POSTER}</p>
|
<p class="nick">{t.p.POSTER}</p>
|
||||||
<p><img src="{SPACER}" width="{TOPIC_LEFT_COL_SPACER_WITDH}" height="<!-- IF t.p.AVATAR -->2<!-- ELSE -->30<!-- ENDIF -->" alt="" /></p>
|
<p><img src="{SPACER}" width="{TOPIC_LEFT_COL_SPACER_WITDH}" height="30" alt="" /></p>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
<td class="message td2">
|
<td class="message td2">
|
||||||
|
|
|
@ -1,35 +0,0 @@
|
||||||
<p class="nav"><a href="{U_INDEX}">{T_INDEX}</a></p>
|
|
||||||
|
|
||||||
<form action="{S_PROFILE_ACTION}" method="post">
|
|
||||||
{S_HIDDEN_FIELDS}
|
|
||||||
|
|
||||||
<table class="forumline">
|
|
||||||
<tr>
|
|
||||||
<th colspan="5">{L_AVATAR_GALLERY}</th>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td class="catBottom" colspan="5">{L_SELECT_CATEGORY}: {S_CATEGORY_SELECT} <input type="submit" value="{L_GO}" name="avatargallery" class="lite" /></td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<!-- BEGIN avatar_row -->
|
|
||||||
<tr>
|
|
||||||
<!-- BEGIN avatar_column -->
|
|
||||||
<td class="row1" align="center"><img src="{avatar_row.avatar_column.AVATAR_IMAGE}" /></td>
|
|
||||||
<!-- END avatar_column -->
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<!-- BEGIN avatar_option_column -->
|
|
||||||
<td class="row2" align="center"><input type="radio" name="avatarselect" value="{avatar_row.avatar_option_column.S_OPTIONS_AVATAR}" /></td>
|
|
||||||
<!-- END avatar_option_column -->
|
|
||||||
</tr>
|
|
||||||
<!-- END avatar_row -->
|
|
||||||
|
|
||||||
<tr>
|
|
||||||
<td class="catBottom" colspan="5">
|
|
||||||
<input type="submit" name="submitavatar" value="{L_SELECT_AVATAR}" class="main" />
|
|
||||||
<input type="submit" name="cancelavatar" value="{L_RETURN_PROFILE}" class="lite" />
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
</form>
|
|
|
@ -227,58 +227,38 @@ ajax.callback.posts = function(data){
|
||||||
<td><input type="text" name="dateformat" value="{DATE_FORMAT}" maxlength="14" /></td>
|
<td><input type="text" name="dateformat" value="{DATE_FORMAT}" maxlength="14" /></td>
|
||||||
</tr>
|
</tr>
|
||||||
<!-- ENDIF -->
|
<!-- ENDIF -->
|
||||||
<!-- BEGIN not_avatar_block -->
|
|
||||||
<tr>
|
<tr>
|
||||||
<th colspan="2">{L_AVATAR_PANEL}</th>
|
<th colspan="2">{L_AVATAR_PANEL}</th>
|
||||||
</tr>
|
</tr>
|
||||||
|
<!-- IF AVATAR_DISALLOWED -->
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2">
|
<td colspan="2" class="tCenter pad_12">Опция управления аватарой отключена за нарушение <a href="{$bb_cfg['terms_and_conditions_url']}"><b>правил форума</b></a></td>
|
||||||
<table class="borderless bCenter w80">
|
|
||||||
<tr>
|
|
||||||
<td>{L_AVATAR_DISABLE}</td>
|
|
||||||
<td class="tCenter nowrap med">
|
|
||||||
<p>{L_CURRENT_IMAGE}</p>
|
|
||||||
<p class="mrg_6">{USER_AVATAR}</p>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<!-- END not_avatar_block -->
|
|
||||||
<!-- BEGIN switch_avatar_block -->
|
|
||||||
<tr>
|
|
||||||
<th colspan="2">{L_AVATAR_PANEL}</th>
|
|
||||||
</tr>
|
</tr>
|
||||||
|
<!-- ELSE -->
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2">
|
<td colspan="2">
|
||||||
<table class="borderless bCenter w80 med">
|
<table class="borderless bCenter w80 med">
|
||||||
<tr>
|
<tr>
|
||||||
<td>{AVATAR_EXPLAIN}</td>
|
<td>Небольшое изображение под информацией о вас в сообщениях. Ширина не более {$bb_cfg['avatars']['max_width']} пикселов, высота не более {$bb_cfg['avatars']['max_height']} пикселов и объемом не более {$bb_cfg['avatars']['max_size']} байт</td>
|
||||||
<td class="tCenter nowrap">
|
<td class="tCenter nowrap">
|
||||||
<p>{L_CURRENT_IMAGE}</p>
|
<p>{L_CURRENT_IMAGE}</p>
|
||||||
<p class="mrg_6">{USER_AVATAR}</p>
|
<p class="mrg_6"><!-- IF AVATAR_URL_PATH --><img src="{AVATARS_URL}/{AVATAR_URL_PATH}" alt="avatar" /><!-- ELSE -->--<!-- ENDIF --></p>
|
||||||
<p><label><input type="checkbox" name="avatardel" /> {L_DELETE_IMAGE}</label></p>
|
<p><label><input type="checkbox" name="delete_avatar" <!-- IF not AVATAR_URL_PATH -->disabled="disabled"<!-- ENDIF --> /> {L_DELETE_IMAGE}</label></p>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<!-- BEGIN switch_avatar_local_upload -->
|
<!-- IF $bb_cfg['avatars']['up_allowed'] -->
|
||||||
<tr>
|
<tr>
|
||||||
<td>{L_UPLOAD_AVATAR_FILE}:</td>
|
<td>{L_UPLOAD_AVATAR_FILE}:</td>
|
||||||
<td>
|
<td>
|
||||||
|
<input type="hidden" name="MAX_FILE_SIZE" value="{$bb_cfg['avatars']['max_size']}" />
|
||||||
<input type="file" name="avatar" size="40" />
|
<input type="file" name="avatar" size="40" />
|
||||||
<input type="hidden" name="MAX_FILE_SIZE" value="{AVATAR_SIZE}" />
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<!-- END switch_avatar_local_upload -->
|
<!-- ENDIF -->
|
||||||
<!-- BEGIN switch_avatar_local_gallery -->
|
<!-- ENDIF / !AVATAR_DISALLOWED -->
|
||||||
<tr>
|
|
||||||
<td>{L_AVATAR_GALLERY}:</td>
|
|
||||||
<td><input type="submit" name="avatargallery" value="{L_VIEW_AVATAR_GALLERY}" class="lite" /></td>
|
|
||||||
</tr>
|
|
||||||
<!-- END switch_avatar_local_gallery -->
|
|
||||||
<!-- END switch_avatar_block -->
|
|
||||||
<!-- ENDIF / EDIT_PROFILE -->
|
<!-- ENDIF / EDIT_PROFILE -->
|
||||||
|
|
||||||
<!-- IF SHOW_REG_AGREEMENT -->
|
<!-- IF SHOW_REG_AGREEMENT -->
|
||||||
|
|
|
@ -19,6 +19,18 @@ ajax.callback.edit_user_profile = function(data){
|
||||||
ajax.restoreEditable(data.edit_id, data.new_value);
|
ajax.restoreEditable(data.edit_id, data.new_value);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// avatar
|
||||||
|
ajax.avatar = function(mode, uid) {
|
||||||
|
ajax.exec({
|
||||||
|
action : 'avatar',
|
||||||
|
mode : mode,
|
||||||
|
user_id : uid
|
||||||
|
});
|
||||||
|
}
|
||||||
|
ajax.callback.avatar = function(data) {
|
||||||
|
$('#avatar-img').html(data.avatar_html);
|
||||||
|
}
|
||||||
|
|
||||||
// change_user_rank
|
// change_user_rank
|
||||||
ajax.change_user_rank = function(uid, rank_id) {
|
ajax.change_user_rank = function(uid, rank_id) {
|
||||||
$('#rank-msg').html('<i class="loading-1">{L_LOADING}</i>');
|
$('#rank-msg').html('<i class="loading-1">{L_LOADING}</i>');
|
||||||
|
@ -188,7 +200,16 @@ ajax.callback.view_profile = function(data) {
|
||||||
<tr>
|
<tr>
|
||||||
<td class="row1 vTop tCenter" width="30%">
|
<td class="row1 vTop tCenter" width="30%">
|
||||||
|
|
||||||
<p class="mrg_4">{AVATAR_IMG}</p>
|
<div id="avatar-img" class="mrg_4 med">
|
||||||
|
<!-- IF AVATAR_IMG -->
|
||||||
|
<!-- IF not AVATAR_DISALLOWED or #IS_AM -->{AVATAR_IMG}<!-- ENDIF -->
|
||||||
|
<!-- IF IS_ADMIN -->
|
||||||
|
<p id="avatar-adm" class="med mrg_4"><a href="#" onclick="if (window.confirm('Удалить аватар?')){ ajax.avatar('delete', {PROFILE_USER_ID}); } return false;" class="adm">[{L_DELETE}]</a></p>
|
||||||
|
<!-- ENDIF -->
|
||||||
|
<!-- ELSE / !AVATAR_IMG -->{L_NOAVATAR}
|
||||||
|
<!-- ENDIF -->
|
||||||
|
<!-- IF AVATAR_DISALLOWED --><p class="mrg_4 med">{L_AVATAR_DISABLE}</p><!-- ENDIF -->
|
||||||
|
</div>
|
||||||
<p class="small mrg_4">
|
<p class="small mrg_4">
|
||||||
<!-- IF IS_ADMIN -->
|
<!-- IF IS_ADMIN -->
|
||||||
{RANK_SELECT}
|
{RANK_SELECT}
|
||||||
|
|
|
@ -377,7 +377,7 @@ function build_poll_add_form (src_el)
|
||||||
|
|
||||||
<!-- IF postrow.POSTER_BOT -->
|
<!-- IF postrow.POSTER_BOT -->
|
||||||
<!-- IF SHOW_BOT_NICK --><p class="nick">{postrow.POSTER_NAME}</p><!-- ENDIF -->
|
<!-- IF SHOW_BOT_NICK --><p class="nick">{postrow.POSTER_NAME}</p><!-- ENDIF -->
|
||||||
<p class="avatar">{postrow.POSTER_AVATAR}</p>
|
<!-- IF postrow.POSTER_AVATAR --><p class="avatar">{postrow.POSTER_AVATAR}</p><!-- ENDIF -->
|
||||||
<!-- ELSE -->
|
<!-- ELSE -->
|
||||||
<!-- IF QUICK_REPLY -->
|
<!-- IF QUICK_REPLY -->
|
||||||
<p class="nick" title="{L_INS_NAME_TIP}" onmouseout="bbcode.refreshSelection(false);" onmouseover="bbcode.refreshSelection(true);" onclick="bbcode.onclickPoster('{postrow.POSTER_NAME_JS}', {postrow.POST_ID});">
|
<p class="nick" title="{L_INS_NAME_TIP}" onmouseout="bbcode.refreshSelection(false);" onmouseover="bbcode.refreshSelection(true);" onclick="bbcode.onclickPoster('{postrow.POSTER_NAME_JS}', {postrow.POST_ID});">
|
||||||
|
|
|
@ -131,7 +131,7 @@ function html2text (str)
|
||||||
<div id="vote-btn-a" class="mrg_8 tCenter">[ <a href="#" onclick="build_votes(); return false;" class="gen"><b>{L_SUBMIT_VOTE}</b></a> ]</div>
|
<div id="vote-btn-a" class="mrg_8 tCenter">[ <a href="#" onclick="build_votes(); return false;" class="gen"><b>{L_SUBMIT_VOTE}</b></a> ]</div>
|
||||||
<div id="vote-btn-input" class="mrg_6 tCenter" style="display: none;"><input type="button" onclick="submit_vote(); return false;" value="{L_SUBMIT_VOTE}" class="bold" /></div>
|
<div id="vote-btn-input" class="mrg_6 tCenter" style="display: none;"><input type="button" onclick="submit_vote(); return false;" value="{L_SUBMIT_VOTE}" class="bold" /></div>
|
||||||
<!-- ELSE -->
|
<!-- ELSE -->
|
||||||
<div class="mrg_8 tCenter">[ <b>Опрос завершён</b> ]</div>
|
<div class="mrg_8 tCenter">[ <b>Опрос завершен</b> ]</div>
|
||||||
<!-- ENDIF -->
|
<!-- ENDIF -->
|
||||||
|
|
||||||
<div id="votes-sum-block" class="mrg_8 tCenter">Всего проголосовало: <span id="votes-sum-val"></span><b></b></div>
|
<div id="votes-sum-block" class="mrg_8 tCenter">Всего проголосовало: <span id="votes-sum-val"></span><b></b></div>
|
||||||
|
|
|
@ -148,10 +148,10 @@ $(document).ready(function(){
|
||||||
<tr{sfull.srow.ROW_BGR}>
|
<tr{sfull.srow.ROW_BGR}>
|
||||||
<td class="tLeft" title="{sfull.srow.UPD_EXP_TIME}"><b>{sfull.srow.NAME}</b></td>
|
<td class="tLeft" title="{sfull.srow.UPD_EXP_TIME}"><b>{sfull.srow.NAME}</b></td>
|
||||||
<td>{sfull.srow.COMPL_PRC}</td>
|
<td>{sfull.srow.COMPL_PRC}</td>
|
||||||
<td>{sfull.srow.UP_TOTAL}</td>
|
<td><u>{sfull.srow.UP_TOTAL_RAW}</u>{sfull.srow.UP_TOTAL}</td>
|
||||||
<td>{sfull.srow.DOWN_TOTAL}</td>
|
<td><u>{sfull.srow.DOWN_TOTAL_RAW}</u>{sfull.srow.DOWN_TOTAL}</td>
|
||||||
<td class="seedmed">{sfull.srow.SPEED_UP}</td>
|
<td class="seedmed"><u>{sfull.srow.SPEED_UP_RAW}</u>{sfull.srow.SPEED_UP}</td>
|
||||||
<td class="leechmed">{sfull.srow.SPEED_DOWN}</td>
|
<td class="leechmed"><u>{sfull.srow.SPEED_DOWN_RAW}</u>{sfull.srow.SPEED_DOWN}</td>
|
||||||
<!-- BEGIN ip -->
|
<!-- BEGIN ip -->
|
||||||
<td>{sfull.srow.ip.IP}</td>
|
<td>{sfull.srow.ip.IP}</td>
|
||||||
<!-- END ip -->
|
<!-- END ip -->
|
||||||
|
@ -197,10 +197,10 @@ $(document).ready(function(){
|
||||||
<tr{lfull.lrow.ROW_BGR}>
|
<tr{lfull.lrow.ROW_BGR}>
|
||||||
<td class="tLeft" title="{lfull.lrow.UPD_EXP_TIME}"><b>{lfull.lrow.NAME}</b></td>
|
<td class="tLeft" title="{lfull.lrow.UPD_EXP_TIME}"><b>{lfull.lrow.NAME}</b></td>
|
||||||
<td title="{lfull.lrow.TOR_RATIO}">{lfull.lrow.COMPL_PRC}</td>
|
<td title="{lfull.lrow.TOR_RATIO}">{lfull.lrow.COMPL_PRC}</td>
|
||||||
<td>{lfull.lrow.UP_TOTAL}</td>
|
<td><u>{lfull.lrow.UP_TOTAL_RAW}</u>{lfull.lrow.UP_TOTAL}</td>
|
||||||
<td>{lfull.lrow.DOWN_TOTAL}</td>
|
<td><u>{lfull.lrow.DOWN_TOTAL_RAW}</u>{lfull.lrow.DOWN_TOTAL}</td>
|
||||||
<td class="seedmed">{lfull.lrow.SPEED_UP}</td>
|
<td class="seedmed"><u>{lfull.lrow.SPEED_UP_RAW}</u>{lfull.lrow.SPEED_UP}</td>
|
||||||
<td class="leechmed">{lfull.lrow.SPEED_DOWN}</td>
|
<td class="leechmed"><u>{lfull.lrow.SPEED_DOWN_RAW}</u>{lfull.lrow.SPEED_DOWN}</td>
|
||||||
<!-- BEGIN ip -->
|
<!-- BEGIN ip -->
|
||||||
<td>{lfull.lrow.ip.IP}</td>
|
<td>{lfull.lrow.ip.IP}</td>
|
||||||
<!-- END ip -->
|
<!-- END ip -->
|
||||||
|
|
|
@ -51,7 +51,7 @@
|
||||||
В раздаче должен обязательно присутствовать постер.
|
В раздаче должен обязательно присутствовать постер.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Также вы должны заполнить все графы в бланке по оформлению раздачи - продолжительность, перевод, страна, год создания фильма, режиссёр, актёры (в ролях), для чего вы можете воспользоваться авторитетными сайтами о кинематографии, такими как - <a href="http://us.imdb.com">IMdB</a> либо <a href="http://www.videoguide.ru">VideoGuide</a>.
|
Также вы должны заполнить все графы в бланке по оформлению раздачи - продолжительность, перевод, страна, год создания фильма, режиссер, актеры (в ролях), для чего вы можете воспользоваться авторитетными сайтами о кинематографии, такими как - <a href="http://us.imdb.com">IMdB</a> либо <a href="http://www.videoguide.ru">VideoGuide</a>.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Обязательно должно присутствовать хотя бы краткое описание сюжета фильма.
|
Обязательно должно присутствовать хотя бы краткое описание сюжета фильма.
|
||||||
|
@ -63,7 +63,7 @@
|
||||||
При сознательном введении в заблуждение пользователей форума относительно качества раздаваемого материала, раздающему будет сделано <i>предупреждение</i> с запретом на дальнейшее оформление раздач.
|
При сознательном введении в заблуждение пользователей форума относительно качества раздаваемого материала, раздающему будет сделано <i>предупреждение</i> с запретом на дальнейшее оформление раздач.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
Сриншоты при качестве фильма ниже DVDRip выкладывать обязательно. На качество DVDRip раздающий обязан выложить скриншоты по первому требованию пользователей ресурса. Скриншот должен быть сделан непосредственно с того видео файла, который раздаётся!
|
Сриншоты при качестве фильма ниже DVDRip выкладывать обязательно. На качество DVDRip раздающий обязан выложить скриншоты по первому требованию пользователей ресурса. Скриншот должен быть сделан непосредственно с того видео файла, который раздается!
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
В имени торрент-файла должно присутствовать русское название фильма, написанное на латинице. Далее, в скобках, должно быть указано имя трекера. Например: <b>Imja_Faila_[<?php echo $bb_cfg['sitename']?>].torrent</b> (если оригинальное название торрент-файла было <i>Имя Файла.torrent</i>). В названии торрент-файла и его содержимого, не должно присутствовать ссылок на другие ресурсы.
|
В имени торрент-файла должно присутствовать русское название фильма, написанное на латинице. Далее, в скобках, должно быть указано имя трекера. Например: <b>Imja_Faila_[<?php echo $bb_cfg['sitename']?>].torrent</b> (если оригинальное название торрент-файла было <i>Имя Файла.torrent</i>). В названии торрент-файла и его содержимого, не должно присутствовать ссылок на другие ресурсы.
|
||||||
|
@ -75,10 +75,10 @@
|
||||||
Если по различного рода объективным причинам, в какое-то время суток вы будете отсутствовать на раздаче длительное время, являясь единственным сидом на ней, вы должны указать это.
|
Если по различного рода объективным причинам, в какое-то время суток вы будете отсутствовать на раздаче длительное время, являясь единственным сидом на ней, вы должны указать это.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
При несоблюдении вышеперечисленных правил, либо в случае отсутствия сида на раздаче по истечении 2 часов после оформления, раздача будет перенесена в <a href="viewforum.php?f=19">Тестовый форум</a>, а раздающему будет сделано <i>предупреждение</i>. При наличии <i>трёх предупреждений</i>, аккаунт пользователя будет удалён без объяснения причины. Для проб используйте <a href="viewforum.php?f=19">Тестовый форум</a>.
|
При несоблюдении вышеперечисленных правил, либо в случае отсутствия сида на раздаче по истечении 2 часов после оформления, раздача будет перенесена в <a href="viewforum.php?f=19">Тестовый форум</a>, а раздающему будет сделано <i>предупреждение</i>. При наличии <i>трех предупреждений</i>, аккаунт пользователя будет удален без объяснения причины. Для проб используйте <a href="viewforum.php?f=19">Тестовый форум</a>.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
При скорости отдачи (Upload) менее 12 кб/с не разрешается сидировать более 1-ого файла одновременно (другие раздачи и закачки на этот момент должны быть завершены). При нарушении данного условия все ваши последующие одновременные раздачи будут закрываться. Начав раздачу, вы должны довести её до конца, пока не появится минимум 3-5 скачавших.
|
При скорости отдачи (Upload) менее 12 кб/с не разрешается сидировать более 1-ого файла одновременно (другие раздачи и закачки на этот момент должны быть завершены). При нарушении данного условия все ваши последующие одновременные раздачи будут закрываться. Начав раздачу, вы должны довести ее до конца, пока не появится минимум 3-5 скачавших.
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<b>Если вы по каким-либо причинам не смогли сделать что-либо из вышеперечисленного - оформлять раздачу напрямую в данном разделе запрещено, для этого существует <a href="viewforum.php?f=19">Тестовый форум</a>.</b>
|
<b>Если вы по каким-либо причинам не смогли сделать что-либо из вышеперечисленного - оформлять раздачу напрямую в данном разделе запрещено, для этого существует <a href="viewforum.php?f=19">Тестовый форум</a>.</b>
|
||||||
|
|
|
@ -363,7 +363,7 @@ if ($t_data['topic_show_first_post'] && $start)
|
||||||
SELECT
|
SELECT
|
||||||
u.username, u.user_id, u.user_rank, u.user_posts, u.user_from,
|
u.username, u.user_id, u.user_rank, u.user_posts, u.user_from,
|
||||||
u.user_regdate, u.user_sig,
|
u.user_regdate, u.user_sig,
|
||||||
u.user_avatar, u.user_avatar_type,
|
u.avatar_ext_id,
|
||||||
u.user_opt, u.user_gender, u.user_birthday,
|
u.user_opt, u.user_gender, u.user_birthday,
|
||||||
p.*,
|
p.*,
|
||||||
h.post_html, IF(h.post_html IS NULL, pt.post_text, NULL) AS post_text
|
h.post_html, IF(h.post_html IS NULL, pt.post_text, NULL) AS post_text
|
||||||
|
@ -381,7 +381,7 @@ $sql = "
|
||||||
SELECT
|
SELECT
|
||||||
u.username, u.user_id, u.user_rank, u.user_posts, u.user_from,
|
u.username, u.user_id, u.user_rank, u.user_posts, u.user_from,
|
||||||
u.user_regdate, u.user_sig,
|
u.user_regdate, u.user_sig,
|
||||||
u.user_avatar, u.user_avatar_type,
|
u.avatar_ext_id,
|
||||||
u.user_opt, u.user_gender, u.user_birthday,
|
u.user_opt, u.user_gender, u.user_birthday,
|
||||||
p.*,
|
p.*,
|
||||||
h.post_html, IF(h.post_html IS NULL, pt.post_text, NULL) AS post_text
|
h.post_html, IF(h.post_html IS NULL, pt.post_text, NULL) AS post_text
|
||||||
|
@ -698,7 +698,7 @@ for($i = 0; $i < $total_posts; $i++)
|
||||||
$poster_avatar = '';
|
$poster_avatar = '';
|
||||||
if ( !$user->opt_js['h_av'] && $poster_id != GUEST_UID )
|
if ( !$user->opt_js['h_av'] && $poster_id != GUEST_UID )
|
||||||
{
|
{
|
||||||
$poster_avatar = get_avatar($postrow[$i]['user_avatar'], $postrow[$i]['user_avatar_type'], !bf($postrow[$i]['user_opt'], 'user_opt', 'allow_avatar'));
|
$poster_avatar = get_avatar($postrow[$i]['user_id'], $postrow[$i]['avatar_ext_id'], !bf($postrow[$i]['user_opt'], 'user_opt', 'allow_avatar'));
|
||||||
}
|
}
|
||||||
|
|
||||||
$poster_rank = $rank_image = '';
|
$poster_rank = $rank_image = '';
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue