From 3ed9f6e039fefe4220c6fc11619bb50c65f9e0c1 Mon Sep 17 00:00:00 2001 From: Exile Date: Fri, 1 Aug 2014 03:11:48 +0400 Subject: [PATCH 01/32] r593 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Старт ветки develop. В ней будут публиковаться промежуточные изменения, опубликованные до включения в ветку master (соответственно до объявления о выходе новой "ревизии"). Изменения: - чистка от пустых строк, пустых окончаний строк; - фикс настроек системы сидбонусов в админке; - фикс функции вывода картинки пола пользователя; - удаление неактуальной информации из шаблона; - изменения в работе tidy. --- other/converter/TBDevYSE_pre6/ReadMe.txt | 4 +- .../TBDevYSE_pre6/for_tbdev/announce.php | 4 +- .../TBDevYSE_pre6/for_tbdev/pass.php | 16 +- .../converter/TBDevYSE_pre6/root/convert.php | 36 ++-- .../root/converter/functions.php | 85 +++----- .../root/converter/passwords.php | 3 +- .../converter/TBDevYSE_pre6/root/recover.php | 24 +-- other/recover/converter/functions.php | 80 ++++---- other/recover/converter/passwords.php | 3 +- other/recover/recover.php | 25 ++- upload/admin/admin_attach_cp.php | 1 - upload/admin/admin_board.php | 8 +- upload/admin/admin_forumauth_list.php | 1 - upload/admin/admin_forums.php | 1 - upload/admin/admin_log.php | 1 - upload/admin/admin_mass_email.php | 12 +- upload/admin/admin_ranks.php | 1 - upload/admin/admin_user_search.php | 5 +- upload/ajax.php | 4 +- upload/ajax/edit_user_profile.php | 2 +- upload/ajax/mod_action.php | 8 +- upload/ajax/post_mod_comment.php | 2 +- upload/ajax/view_torrent.php | 2 +- .../includes/functions_includes.php | 16 -- upload/attach_mod/posting_attachments.php | 1 - upload/config.php | 22 +- upload/download.php | 1 - upload/includes/class.correct.php | 6 +- upload/includes/class.reflection.php | 2 +- upload/includes/class.utf8.php | 3 +- upload/includes/datastore/build_stats.php | 8 +- upload/includes/functions.php | 9 +- upload/includes/functions_post.php | 4 +- upload/includes/functions_report.php | 1 - upload/includes/functions_validate.php | 4 +- upload/includes/init_bb.php | 5 +- upload/includes/sessions.php | 4 - upload/includes/template.php | 5 +- upload/includes/ucp/email.php | 2 +- upload/includes/ucp/register.php | 10 +- upload/includes/ucp/viewprofile.php | 20 +- upload/includes/ucp/viewtorrent.php | 86 ++++---- upload/index.php | 4 +- upload/language/en/email/admin_send_email.tpl | 2 +- .../language/en/html/copyright_holders.html | 1 - upload/language/en/html/user_agreement.html | 2 +- upload/language/en/main.php | 3 - upload/language/ru/email/admin_send_email.tpl | 2 +- .../language/ru/html/copyright_holders.html | 1 - upload/language/ru/html/user_agreement.html | 2 +- upload/language/ru/main.php | 3 - upload/language/ua/email/admin_send_email.tpl | 2 +- .../language/ua/html/copyright_holders.html | 1 - upload/language/ua/html/user_agreement.html | 2 +- upload/language/ua/main.php | 3 - upload/login.php | 8 +- upload/misc.php | 2 +- upload/poll.php | 1 - upload/search.php | 10 +- upload/stats/tracker.php | 10 - upload/templates/admin/admin_cron.tpl | 1 - upload/templates/admin/admin_forumauth.tpl | 5 +- upload/templates/admin/admin_log.tpl | 4 +- upload/templates/admin/admin_mass_email.tpl | 2 +- .../admin/report_module_edit_body.tpl | 2 +- .../templates/admin/report_modules_body.tpl | 2 +- .../admin/report_reason_edit_body.tpl | 4 +- upload/templates/default/css/main.css | 5 +- upload/templates/default/groupcp.tpl | 3 +- upload/templates/default/index.tpl | 5 - upload/templates/default/login.tpl | 1 - upload/templates/default/modcp.tpl | 2 - upload/templates/default/page_header.tpl | 10 +- upload/templates/default/posting.tpl | 7 +- upload/templates/default/posting_attach.tpl | 1 - upload/templates/default/posting_smilies.tpl | 52 ++--- upload/templates/default/posting_tpl.tpl | 3 - upload/templates/default/privmsgs.tpl | 16 -- .../templates/default/report_change_body.tpl | 2 +- upload/templates/default/report_form_body.tpl | 10 +- .../templates/default/report_index_body.tpl | 11 +- upload/templates/default/report_open_body.tpl | 4 +- upload/templates/default/search.tpl | 1 - upload/templates/default/search_results.tpl | 1 - upload/templates/default/usercp_register.tpl | 14 +- .../templates/default/usercp_topic_watch.tpl | 1 - .../templates/default/usercp_viewprofile.tpl | 188 +++++++++--------- upload/templates/default/viewtopic.tpl | 18 +- upload/templates/default/viewtopic_attach.tpl | 3 +- .../default/viewtopic_attach_guest.tpl | 6 +- .../templates/default/viewtopic_torrent.tpl | 4 +- upload/viewforum.php | 2 +- upload/viewtopic.php | 3 +- 93 files changed, 412 insertions(+), 577 deletions(-) diff --git a/other/converter/TBDevYSE_pre6/ReadMe.txt b/other/converter/TBDevYSE_pre6/ReadMe.txt index 2ffa0d7a1..be2b8a36e 100644 --- a/other/converter/TBDevYSE_pre6/ReadMe.txt +++ b/other/converter/TBDevYSE_pre6/ReadMe.txt @@ -14,8 +14,8 @@ Quick guide: copy two files: automatically generated 'converter/passwords.php' and 'for_tbdev/pass.php' to your TBDevYSE root and run pass.php (Don't forget to remove these files after completion). You allow to change message text, see $msg in pass.php for this. -10. If you want to redirect peers from older announce to new announce everytime, replace original TBDev's announce.php with - 'for_tbdev/announce.php' +10. If you want to redirect peers from older announce to new announce everytime, replace original TBDev's announce.php with + 'for_tbdev/announce.php' Cheers, RoadTrain. http://torrentpier.me/ \ No newline at end of file diff --git a/other/converter/TBDevYSE_pre6/for_tbdev/announce.php b/other/converter/TBDevYSE_pre6/for_tbdev/announce.php index 7385a89f8..b69fed877 100644 --- a/other/converter/TBDevYSE_pre6/for_tbdev/announce.php +++ b/other/converter/TBDevYSE_pre6/for_tbdev/announce.php @@ -42,10 +42,10 @@ mysql_close(); mysql_query("SET NAMES $dbcharset"); // Get passkey for TorrentPier -$user_id += USER_ID_DIFF; +$user_id += USER_ID_DIFF; $res = mysql_query("SELECT auth_key FROM bb_bt_users WHERE user_id = $user_id") or err(mysql_error()); -if (mysql_affected_rows() == 0) +if (mysql_affected_rows() == 0) { err('Passkey doesn\'t created on new tracker or user doesn\'t exist'); } diff --git a/other/converter/TBDevYSE_pre6/for_tbdev/pass.php b/other/converter/TBDevYSE_pre6/for_tbdev/pass.php index 2e9794d83..617242a18 100644 --- a/other/converter/TBDevYSE_pre6/for_tbdev/pass.php +++ b/other/converter/TBDevYSE_pre6/for_tbdev/pass.php @@ -8,14 +8,12 @@ loggedinorreturn(); $new_tr_url = "http://torrentpier.me/"; // with ending slash $subject = "Переезд на новый движок"; -$msg = '[b]Внимание![/b] Наш трекер переехал на новый движок! Адрес трекера - [url='.$new_tr_url.']'.$new_tr_url.'[/url] - Вся база перенесена на новый движок, регистрироваться заново не надо. - Войти на трекер можно [url='.$new_tr_url.'login.php]здесь[/url]. Ваши данные на новом трекере: - [b]Логин:[/b] %s - [b]Пароль:[/b] %s +$msg = '[b]Внимание![/b] Наш трекер переехал на новый движок! Адрес трекера - [url='.$new_tr_url.']'.$new_tr_url.'[/url] + Вся база перенесена на новый движок, регистрироваться заново не надо. + Войти на трекер можно [url='.$new_tr_url.'login.php]здесь[/url]. Ваши данные на новом трекере: + [b]Логин:[/b] %s + [b]Пароль:[/b] %s Сменить пароль можно после входа на трекер в [url='.$new_tr_url.'profile.php?mode=editprofile]настройках[/url].'; - - if (empty($_POST['confirm'])) { @@ -32,14 +30,14 @@ if (empty($_POST['confirm'])) else { if(!file_exists('passwords.php')) stderr($tracker_lang['error'], 'passwords.php not exists'); - + include('passwords.php'); stdhead(); foreach ($passwords as $user) { $msg_sql = sprintf($msg, $user['username'], $user['new_passwd']); sql_query("INSERT INTO messages (receiver, added, subject, msg) VALUES({$user['tb_user_id']}, NOW(), ".sqlesc($subject).", ".sqlesc($msg_sql).")"); - } + } stdmsg('OK', 'Mass PM succesful'); } diff --git a/other/converter/TBDevYSE_pre6/root/convert.php b/other/converter/TBDevYSE_pre6/root/convert.php index b65022264..bee3f2a4b 100644 --- a/other/converter/TBDevYSE_pre6/root/convert.php +++ b/other/converter/TBDevYSE_pre6/root/convert.php @@ -81,18 +81,18 @@ if (CONVERT_USERS) { $start = $i * C_USERS_PER_ONCE; $offset = C_USERS_PER_ONCE; - + $sql = " - SELECT - id, username, email, status, UNIX_TIMESTAMP(added) AS added, UNIX_TIMESTAMP(last_access) AS last_access, + SELECT + id, username, email, status, UNIX_TIMESTAMP(added) AS added, UNIX_TIMESTAMP(last_access) AS last_access, class, icq, msn, aim, yahoo, website, $_sql uploaded, downloaded, enabled, language - FROM ". TB_USERS_TABLE ." + FROM ". TB_USERS_TABLE ." ORDER BY id LIMIT $start, $offset"; $users = DB()->fetch_rowset($sql); - DB()->sql_freeresult(); + DB()->sql_freeresult(); foreach ($users as $user) { @@ -159,17 +159,17 @@ if (CONVERT_TORRENTS) print_ok ("Categories from TBDev converted"); unset($cats); - // Start of torrents converting + // Start of torrents converting switch(TR_TYPE) - { + { case 'yse': $_sql = 'image1, image2, '; break; - + case 'sky': $_sql = 'poster, screenshot1, screenshot2, screenshot3, screenshot4, '; break; - + default: $_sql = ''; break; @@ -187,9 +187,9 @@ if (CONVERT_TORRENTS) $start = $i * C_TORRENTS_PER_ONCE; $offset = C_TORRENTS_PER_ONCE; $sql = " - SELECT + SELECT id, info_hash, name, filename, search_text, descr, $_sql - category, UNIX_TIMESTAMP(added) AS added, size, views, + category, UNIX_TIMESTAMP(added) AS added, size, views, UNIX_TIMESTAMP(last_action) AS lastseed, times_completed, owner, sticky FROM ". TB_TORRENTS_TABLE ." ORDER BY id @@ -197,7 +197,7 @@ if (CONVERT_TORRENTS) $torrents = DB()->fetch_rowset($sql); DB()->sql_freeresult(); - + foreach ($torrents as $torrent) { $torrent['topic_id'] = $torrent['id'] + $max_topic_id; @@ -219,16 +219,16 @@ if (CONVERT_TORRENTS) $max_post_id = (int) get_max_val(BB_POSTS, 'post_id'); $max_topic_id = (int) get_max_val(BB_TOPICS, 'topic_id'); $max_attach_id = (int) get_max_val(BB_ATTACHMENTS, 'attach_id'); - + $comments_count = (int) get_count(TB_COMMENTS_TABLE, 'id'); $loops = (int) ceil($comments_count / C_COMMENTS_PER_ONCE); - + for ($i = 0; $i < $loops; $i++) { $start = $i * C_COMMENTS_PER_ONCE; - $offset = C_COMMENTS_PER_ONCE; + $offset = C_COMMENTS_PER_ONCE; $sql = " - SELECT + SELECT c.id, c.user, c.torrent, c.text, tor.category, UNIX_TIMESTAMP(c.added) AS added, UNIX_TIMESTAMP(c.editedat) AS editedat, c.ip FROM ". TB_COMMENTS_TABLE ." c @@ -236,10 +236,10 @@ if (CONVERT_TORRENTS) WHERE c.torrent <> 0 ORDER BY c.id LIMIT $start, $offset"; - + $comments = DB()->fetch_rowset($sql); DB()->sql_freeresult(); - + foreach ($comments as $comment) { $comment['user'] += $max_uid; diff --git a/other/converter/TBDevYSE_pre6/root/converter/functions.php b/other/converter/TBDevYSE_pre6/root/converter/functions.php index f014f5307..65b1fde53 100644 --- a/other/converter/TBDevYSE_pre6/root/converter/functions.php +++ b/other/converter/TBDevYSE_pre6/root/converter/functions.php @@ -21,7 +21,7 @@ function hex2bin($h) } function get_max_val($table_name, $column) -{ +{ $row = DB()->fetch_row("SELECT MAX($column) AS $column FROM $table_name LIMIT 1"); return $row[$column]; } @@ -43,19 +43,9 @@ function set_auto_increment($table_name, $column, $val = null) DB()->query("ALTER TABLE $table_name auto_increment = $val"); } -//Users functions +// Users functions function tp_users_cleanup() { - /* - if (!function_exists('user_delete')) require_once(INC_DIR .'functions_admin.php'); - - if ($row = DB()->fetch_row("SELECT user_id FROM ". BB_USERS ." WHERE user_id NOT IN(". EXCLUDED_USERS_CSV .');')) - { - foreach ($row as $user) - { - user_delete($user['user_id']); - } - }*/ DB()->query('DELETE FROM '. BB_USERS .' WHERE user_id NOT IN('. EXCLUDED_USERS_CSV .')'); DB()->query('TRUNCATE '. BB_BT_USERS); } @@ -91,7 +81,7 @@ function convert_user($user) "user_id" => $user['id'], "user_active" => ($user['enabled'] == 'yes') ? true : false, "username" => $user['username'], - "user_password" => md5($user['password']), + "user_password" => md5($user['password']), "user_lastvisit" => $user['last_access'], "user_regdate" => $user['added'], "user_level" => tp_user_level($user['class']), @@ -101,11 +91,11 @@ function convert_user($user) "user_avatar" => !empty($user['avatar']) ? $user['avatar'] : null, "user_avatar_type" => !empty($user['avatar']) ? 2 : null, "user_email" => $user['email'], - "user_website" => $user['website'], + "user_website" => $user['website'], ); $columns = $values = array(); - + foreach ($user_data as $column => $value) { $columns[] = $column; @@ -113,9 +103,9 @@ function convert_user($user) } $sql_columns = implode(',', $columns); $sql_values = implode(',', $values); - + DB()->query("INSERT IGNORE INTO ". BB_USERS . " ($sql_columns) VALUES($sql_values);"); - + $bt_user_data = array( "user_id" => $user['id'], "auth_key" => make_rand_str(BT_AUTH_KEY_LENGTH), @@ -123,7 +113,7 @@ function convert_user($user) "u_down_total" => $user['downloaded'], ); $columns = $values = array(); - + foreach ($bt_user_data as $column => $value) { $columns[] = $column; @@ -131,7 +121,7 @@ function convert_user($user) } $sql_bt_columns = implode(',', $columns); $sql_bt_values = implode(',', $values); - + DB()->query("INSERT IGNORE INTO ". BB_BT_USERS . " ($sql_bt_columns) VALUES($sql_bt_values);"); } @@ -143,7 +133,7 @@ function tp_categories_cleanup() function tp_add_category_old($id, $cat_title) { - DB()->query("INSERT IGNORE INTO ". BB_CATEGORIES ." (cat_id, cat_title) + DB()->query("INSERT IGNORE INTO ". BB_CATEGORIES ." (cat_id, cat_title) VALUES ($id, '". DB()->escape($cat_title) ."')"); return; } @@ -151,7 +141,7 @@ function tp_add_category_old($id, $cat_title) function tp_add_category($cat_data) { $columns = $values = array(); - + foreach ($cat_data as $column => $value) { $columns[] = $column; @@ -159,7 +149,7 @@ function tp_add_category($cat_data) } $sql_bt_columns = implode(',', $columns); $sql_bt_values = implode(',', $values); - + DB()->query("INSERT IGNORE INTO ". BB_CATEGORIES . " ($sql_bt_columns) VALUES($sql_bt_values);"); } @@ -173,16 +163,7 @@ function tp_topics_cleanup() DB()->query("TRUNCATE ". BB_POSTS_SEARCH); DB()->query("TRUNCATE ". BB_POSTS_TEXT); DB()->query("TRUNCATE ". BB_TOPICS); - /*if (!function_exists('topic_delete')) require_once(INC_DIR .'functions_admin.php'); - - if ($row = DB()->fetch_row("SELECT topic_id FROM ". BB_TOPICS)) - { - foreach ($row as $topic) - { - topic_delete($topic['topic_id']); - } - }*/ - + return; } @@ -196,7 +177,7 @@ function tp_add_topic($topic_data) } $sql_columns = implode(',', $columns); $sql_values = implode(',', $values); - + DB()->query("INSERT IGNORE INTO ". BB_TOPICS . " ($sql_columns) VALUES($sql_values);"); return; } @@ -213,7 +194,7 @@ function tp_add_post($post_data) } $sql_columns = implode(',', $columns); $sql_values = implode(',', $values); - + DB()->query("INSERT IGNORE INTO bb_{$key} ($sql_columns) VALUES($sql_values);"); } return; @@ -231,7 +212,7 @@ function tp_add_attach($attach_data) } $sql_columns = implode(',', $columns); $sql_values = implode(',', $values); - + DB()->query("INSERT IGNORE INTO bb_{$key} ($sql_columns) VALUES($sql_values);"); } return; @@ -248,19 +229,19 @@ function append_images($tor) { $poster = $screens = ''; switch(TR_TYPE) - { + { case 'yse': - if(!empty($tor['image1'])) + if(!empty($tor['image1'])) { $poster = "[img=right]".make_img_path($tor['image1'])."[/img]"; } - if(!empty($tor['image2'])) + if(!empty($tor['image2'])) { $screens = '[spoiler="Скриншоты"][img]'.make_img_path($tor['image2'])."[/img][/spoiler]"; } break; case 'sky': - if(!empty($tor['poster'])) + if(!empty($tor['poster'])) { $poster = "[img=right]".make_img_path($tor['poster'])."[/img]"; } @@ -270,7 +251,7 @@ function append_images($tor) $screens .= '[spoiler="Скриншоты"]'; for ($i = 1; $i<=4; $i++) { - if(!empty($tor['screenshot'.$i])) + if(!empty($tor['screenshot'.$i])) { $screens .= "[img]".make_img_path($tor['screenshot'.$i])."[/img] \n"; } @@ -299,9 +280,8 @@ function convert_torrent($torrent) "topic_last_post_time" => $torrent['added'], ); tp_add_topic($topic_data); - //$post_text = prepare_message($torrent['descr'], true, true); $post_text = stripslashes(prepare_message(addslashes(unprepare_message($torrent['descr'])), true, true)); - + $post_data = array( "posts" => array( "post_id" => $torrent['post_id'], @@ -321,7 +301,7 @@ function convert_torrent($torrent) ), ); tp_add_post($post_data); - + $attach_data = array( "attachments" => array( "attach_id" => $torrent['attach_id'], @@ -340,11 +320,11 @@ function convert_torrent($torrent) ), ); tp_add_attach($attach_data); - + //Torrents if (BDECODE) { - $filename = get_attachments_dir() .'/'. $torrent['id'] .".torrent"; + $filename = get_attachments_dir() .'/'. $torrent['id'] .".torrent"; if (!file_exists($filename)) { return; @@ -359,7 +339,7 @@ function convert_torrent($torrent) { $info_hash_sql = hex2bin($torrent['info_hash']); } - + $torrent_data = array( "info_hash" => $info_hash_sql, "post_id" => $torrent['post_id'], @@ -374,7 +354,7 @@ function convert_torrent($torrent) ); $columns = $values = array(); - + foreach ($torrent_data as $column => $value) { $columns[] = $column; @@ -382,16 +362,16 @@ function convert_torrent($torrent) } $sql_columns = implode(', ', $columns); $sql_values = implode(', ', $values); - + DB()->query("INSERT IGNORE INTO ". BB_BT_TORRENTS . " ($sql_columns) VALUES($sql_values);"); return; } -//Comments functions +// Comments functions function convert_comment($comment) { $post_text = prepare_message($comment['text'], true, true); - + $post_data = array( "posts" => array( "post_id" => $comment['id'], @@ -409,7 +389,6 @@ function convert_comment($comment) ), ); tp_add_post($post_data); - //add_search_words($comment['id'], stripslashes($post_text)); return; } @@ -431,7 +410,7 @@ function convert_cat($forum, $allow_torrents = true) ); $columns = $values = array(); - + foreach ($forum_data as $column => $value) { $columns[] = $column; @@ -439,7 +418,7 @@ function convert_cat($forum, $allow_torrents = true) } $sql_columns = implode(',', $columns); $sql_values = implode(',', $values); - + DB()->query("INSERT IGNORE INTO ". BB_FORUMS . " ($sql_columns) VALUES($sql_values);"); return; } diff --git a/other/converter/TBDevYSE_pre6/root/converter/passwords.php b/other/converter/TBDevYSE_pre6/root/converter/passwords.php index 5f7aafe87..63c2de744 100644 --- a/other/converter/TBDevYSE_pre6/root/converter/passwords.php +++ b/other/converter/TBDevYSE_pre6/root/converter/passwords.php @@ -1,2 +1,3 @@ -fetch_rowset($sql); DB()->sql_freeresult(); - + foreach ($torrents as $torrent) { - $filename = $attach_dir . $torrent['physical_filename']; + $filename = $attach_dir . $torrent['physical_filename']; if (!file_exists($filename)) { $not_exist[] = ''. $filename .''; } else - { + { $tor = bdecode_file($filename); $info = (!empty($tor['info'])) ? $tor['info'] : array(); $info_hash = pack('H*', sha1(bencode($info))); $info_hash_sql = rtrim(DB()->escape($info_hash), ' '); - + DB()->query("UPDATE ". BB_BT_TORRENTS ." SET info_hash = '$info_hash_sql' WHERE attach_id = {$torrent['attach_id']}"); @@ -91,9 +91,9 @@ for ($i = 0; $i < $loops; $i++) print_ok ("Completed"); -if(!empty($not_exist)) +if (!empty($not_exist)) { print_ok ("These torrents doesn't exist in filesystem: ". implode(', ', array_unique($not_exist))); } -} +} \ No newline at end of file diff --git a/other/recover/converter/functions.php b/other/recover/converter/functions.php index ebed5f614..640832cab 100644 --- a/other/recover/converter/functions.php +++ b/other/recover/converter/functions.php @@ -100,7 +100,7 @@ function convert_user($user) ); $columns = $values = array(); - + foreach ($user_data as $column => $value) { $columns[] = $column; @@ -108,9 +108,9 @@ function convert_user($user) } $sql_columns = implode(',', $columns); $sql_values = implode(',', $values); - + DB()->query("INSERT IGNORE INTO ". BB_USERS . " ($sql_columns) VALUES ($sql_values);"); - + $bt_user_data = array( "user_id" => $user['id'], "auth_key" => make_rand_str(BT_AUTH_KEY_LENGTH), @@ -118,7 +118,7 @@ function convert_user($user) "u_down_total" => $user['downloaded'], ); $columns = $values = array(); - + foreach ($bt_user_data as $column => $value) { $columns[] = $column; @@ -126,7 +126,7 @@ function convert_user($user) } $sql_bt_columns = implode(',', $columns); $sql_bt_values = implode(',', $values); - + DB()->query("INSERT IGNORE INTO ". BB_BT_USERS . " ($sql_bt_columns) VALUES ($sql_bt_values);"); } @@ -138,7 +138,7 @@ function tp_categories_cleanup() function tp_add_category_old($id, $cat_title) { - DB()->query("INSERT IGNORE INTO ". BB_CATEGORIES ." (cat_id, cat_title) + DB()->query("INSERT IGNORE INTO ". BB_CATEGORIES ." (cat_id, cat_title) VALUES ($id, '". DB()->escape($cat_title) ."')"); return; } @@ -146,7 +146,7 @@ function tp_add_category_old($id, $cat_title) function tp_add_category($cat_data) { $columns = $values = array(); - + foreach ($cat_data as $column => $value) { $columns[] = $column; @@ -154,12 +154,12 @@ function tp_add_category($cat_data) } $sql_bt_columns = implode(',', $columns); $sql_bt_values = implode(',', $values); - + DB()->query("INSERT IGNORE INTO ". BB_CATEGORIES . " ($sql_bt_columns) VALUES ($sql_bt_values);"); } function tp_topics_cleanup() -{ +{ DB()->query("TRUNCATE ". BB_ATTACHMENTS); DB()->query("TRUNCATE ". BB_ATTACHMENTS_DESC); DB()->query("TRUNCATE ". BB_BT_TORRENTS); @@ -168,21 +168,12 @@ function tp_topics_cleanup() DB()->query("TRUNCATE ". BB_POSTS_SEARCH); DB()->query("TRUNCATE ". BB_POSTS_TEXT); DB()->query("TRUNCATE ". BB_TOPICS); - /*if (!function_exists('topic_delete')) require_once('./includes/functions_admin.php'); - - if ($row = DB()->fetch_row("SELECT topic_id FROM ". TOPICS)) - { - foreach ($row as $topic) - { - topic_delete($topic['topic_id']); - } - }*/ - + return; } function tp_add_topic($topic_data) -{ +{ $columns = $values = array(); foreach ($topic_data as $column => $value) { @@ -191,13 +182,13 @@ function tp_add_topic($topic_data) } $sql_columns = implode(',', $columns); $sql_values = implode(',', $values); - + DB()->query("INSERT IGNORE INTO ". BB_TOPICS . " ($sql_columns) VALUES ($sql_values);"); return; } function tp_add_post($post_data) -{ +{ foreach ($post_data as $key => $data) { $columns = $values = array(); @@ -208,14 +199,14 @@ function tp_add_post($post_data) } $sql_columns = implode(',', $columns); $sql_values = implode(',', $values); - + DB()->query("INSERT IGNORE INTO bb_{$key} ($sql_columns) VALUES ($sql_values);"); } return; } function tp_add_attach($attach_data) -{ +{ foreach ($attach_data as $key => $data) { $columns = $values = array(); @@ -226,7 +217,7 @@ function tp_add_attach($attach_data) } $sql_columns = implode(',', $columns); $sql_values = implode(',', $values); - + DB()->query("INSERT IGNORE INTO bb_{$key} ($sql_columns) VALUES ($sql_values);"); } return; @@ -243,19 +234,19 @@ function append_images($tor) { $poster = $screens = ''; switch(TR_TYPE) - { + { case 'yse': - if(!empty($tor['image1'])) + if(!empty($tor['image1'])) { $poster = "[img=right]".make_img_path($tor['image1'])."[/img]"; } - if(!empty($tor['image2'])) + if(!empty($tor['image2'])) { $screens = '[spoiler="Скриншоты"][img]'.make_img_path($tor['image2'])."[/img][/spoiler]"; } break; case 'sky': - if(!empty($tor['poster'])) + if(!empty($tor['poster'])) { $poster = "[img=right]".make_img_path($tor['poster'])."[/img]"; } @@ -265,7 +256,7 @@ function append_images($tor) $screens .= '[spoiler="Скриншоты"]'; for ($i = 1; $i<=4; $i++) { - if(!empty($tor['screenshot'.$i])) + if(!empty($tor['screenshot'.$i])) { $screens .= "[img]".make_img_path($tor['screenshot'.$i])."[/img] \n"; } @@ -294,9 +285,9 @@ function convert_torrent($torrent) "topic_last_post_time" => $torrent['added'], ); tp_add_topic($topic_data); - + $post_text = stripslashes(prepare_message(addslashes(unprepare_message($torrent['descr'])), true, true)); - + $post_data = array( "posts" => array( "post_id" => $torrent['post_id'], @@ -316,7 +307,7 @@ function convert_torrent($torrent) ), ); tp_add_post($post_data); - + $attach_data = array( "attachments" => array( "attach_id" => $torrent['attach_id'], @@ -335,11 +326,11 @@ function convert_torrent($torrent) ), ); tp_add_attach($attach_data); - + //Torrents if (BDECODE) { - $filename = get_attachments_dir() .'/'. $torrent['id'] .".torrent"; + $filename = get_attachments_dir() .'/'. $torrent['id'] .".torrent"; if (!file_exists($filename)) { return; @@ -354,7 +345,7 @@ function convert_torrent($torrent) { $info_hash_sql = hex2bin($torrent['info_hash']); } - + $torrent_data = array( "info_hash" => $info_hash_sql, "post_id" => $torrent['post_id'], @@ -362,14 +353,14 @@ function convert_torrent($torrent) "topic_id" => $torrent['topic_id'], "forum_id" => $torrent['category'], "attach_id" => $torrent['attach_id'], - "size" => $torrent['size'], + "size" => $torrent['size'], "reg_time" => $torrent['added'], "complete_count" => $torrent['times_completed'], "seeder_last_seen" => $torrent['lastseed'], ); $columns = $values = array(); - + foreach ($torrent_data as $column => $value) { $columns[] = $column; @@ -377,7 +368,7 @@ function convert_torrent($torrent) } $sql_columns = implode(', ', $columns); $sql_values = implode(', ', $values); - + DB()->query("INSERT IGNORE INTO ". BB_BT_TORRENTS . " ($sql_columns) VALUES($sql_values);"); return; } @@ -386,7 +377,7 @@ function convert_torrent($torrent) function convert_comment($comment) { $post_text = prepare_message($comment['text'], true, true); - + $post_data = array( "posts" => array( "post_id" => $comment['id'], @@ -404,13 +395,12 @@ function convert_comment($comment) ), ); tp_add_post($post_data); - //add_search_words($comment['id'], stripslashes($post_text)); return; } //Forums functions function tp_forums_cleanup() -{ +{ DB()->query('TRUNCATE '. BB_FORUMS); } @@ -426,7 +416,7 @@ function convert_cat($forum, $allow_torrents = true) ); $columns = $values = array(); - + foreach ($forum_data as $column => $value) { $columns[] = $column; @@ -434,7 +424,7 @@ function convert_cat($forum, $allow_torrents = true) } $sql_columns = implode(',', $columns); $sql_values = implode(',', $values); - + DB()->query("INSERT IGNORE INTO ". BB_FORUMS . " ($sql_columns) VALUES ($sql_values);"); return; -} +} \ No newline at end of file diff --git a/other/recover/converter/passwords.php b/other/recover/converter/passwords.php index 5f7aafe87..63c2de744 100644 --- a/other/recover/converter/passwords.php +++ b/other/recover/converter/passwords.php @@ -1,2 +1,3 @@ -session_start(); @@ -52,36 +51,36 @@ $loops = (int) ceil($torrents_count / C_TORRENTS_PER_ONCE); $not_exist = array(); $attach_dir = get_attachments_dir() .'/'; - + for ($i = 0; $i < $loops; $i++) { $start = $i * C_TORRENTS_PER_ONCE; - $offset = C_TORRENTS_PER_ONCE; - - $sql = "SELECT + $offset = C_TORRENTS_PER_ONCE; + + $sql = "SELECT tor.attach_id, tor.topic_id, ad.physical_filename FROM ". BB_BT_TORRENTS ." tor LEFT JOIN ". BB_ATTACHMENTS_DESC ." ad ON(ad.attach_id = tor.attach_id) ORDER BY tor.attach_id LIMIT $start, $offset"; - + $torrents = DB()->fetch_rowset($sql); DB()->sql_freeresult(); - + foreach ($torrents as $torrent) { - $filename = $attach_dir . $torrent['physical_filename']; + $filename = $attach_dir . $torrent['physical_filename']; if (!file_exists($filename)) { $not_exist[] = ''. $filename .''; } else - { + { $tor = bdecode_file($filename); $info = (!empty($tor['info'])) ? $tor['info'] : array(); $info_hash = pack('H*', sha1(bencode($info))); $info_hash_sql = rtrim(DB()->escape($info_hash), ' '); - + DB()->query("UPDATE ". BB_BT_TORRENTS ." SET info_hash = '$info_hash_sql' WHERE attach_id = {$torrent['attach_id']}"); @@ -91,9 +90,9 @@ for ($i = 0; $i < $loops; $i++) print_ok ("Completed"); -if(!empty($not_exist)) +if (!empty($not_exist)) { print_ok ("These torrents doesn't exist in filesystem: ". implode(', ', array_unique($not_exist))); } -} +} \ No newline at end of file diff --git a/upload/admin/admin_attach_cp.php b/upload/admin/admin_attach_cp.php index 06da6f604..81cbc3147 100644 --- a/upload/admin/admin_attach_cp.php +++ b/upload/admin/admin_attach_cp.php @@ -76,7 +76,6 @@ else $sort_order = 'ASC'; } - // Pagination ? $do_pagination = ($view != 'stats' && $view != 'search') ? true : false; diff --git a/upload/admin/admin_board.php b/upload/admin/admin_board.php index 2115dcc4e..4fc393b3f 100644 --- a/upload/admin/admin_board.php +++ b/upload/admin/admin_board.php @@ -40,9 +40,7 @@ else if (isset($_POST['submit']) && $row['config_value'] != $new[$config_name]) { - if ($config_name == 'seed_bonus_points' || $config_name == 'seed_bonus_release') $new[$config_name] = serialize($new[$config_name]); - if ($config_name == 'bonus_upload' || $config_name == 'bonus_upload_price') $new[$config_name] = serialize($new[$config_name]); - + if ($config_name == ('seed_bonus_points' || 'seed_bonus_release' || 'bonus_upload' || 'bonus_upload_price')) $new[$config_name] = serialize(str_replace(',', '.', $new[$config_name])); bb_update_config(array($config_name => $new[$config_name])); } } @@ -89,7 +87,7 @@ switch($mode) if ($new['seed_bonus_points'] && $new['seed_bonus_release']) { - $seed_bonus = unserialize($new['seed_bonus_points']); + $seed_bonus = unserialize($new['seed_bonus_points']); $seed_release = unserialize($new['seed_bonus_release']); foreach ($seed_bonus as $i => $row) @@ -106,7 +104,7 @@ switch($mode) if ($new['bonus_upload'] && $new['bonus_upload_price']) { $upload_row = unserialize($new['bonus_upload']); - $price_row = unserialize($new['bonus_upload_price']); + $price_row = unserialize($new['bonus_upload_price']); foreach ($upload_row as $i => $row) { diff --git a/upload/admin/admin_forumauth_list.php b/upload/admin/admin_forumauth_list.php index 54ffe4478..d809c410f 100644 --- a/upload/admin/admin_forumauth_list.php +++ b/upload/admin/admin_forumauth_list.php @@ -9,7 +9,6 @@ if (!empty($setmodules)) require('./pagestart.php'); // ACP Header - END - // View Read Post Reply Edit Delete Sticky Announce Vote Poll PostAttach Download $simple_auth_ary = array( /* Public */ 0 => array(AUTH_ALL, AUTH_ALL, AUTH_ALL, AUTH_ALL, AUTH_REG, AUTH_REG, AUTH_MOD, AUTH_MOD, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_ALL), // Public diff --git a/upload/admin/admin_forums.php b/upload/admin/admin_forums.php index 4ff8e6b2c..1cfa56a58 100644 --- a/upload/admin/admin_forums.php +++ b/upload/admin/admin_forums.php @@ -951,7 +951,6 @@ function renumber_order ($mode, $cat = 0) } $sql .= " ORDER BY $orderfield ASC"; - if (!$result = DB()->sql_query($sql)) { bb_die('Could not get list of categories / forums #2'); diff --git a/upload/admin/admin_log.php b/upload/admin/admin_log.php index 46d4f010f..4dcb6f772 100644 --- a/upload/admin/admin_log.php +++ b/upload/admin/admin_log.php @@ -245,7 +245,6 @@ else generate_pagination($url, $items_count, $per_page, $start); - $filter = array(); if ($log_rowset) diff --git a/upload/admin/admin_mass_email.php b/upload/admin/admin_mass_email.php index 3a20c2a7b..0708c05d1 100644 --- a/upload/admin/admin_mass_email.php +++ b/upload/admin/admin_mass_email.php @@ -36,10 +36,10 @@ if (isset($_POST['submit'])) if ($group_id != -1) { $user_list = DB()->fetch_rowset(" - SELECT u.username, u.user_email, u.user_lang - FROM ". BB_USERS ." u, ". BB_USER_GROUP ." ug - WHERE ug.group_id = $group_id - AND ug.user_pending = 0 + SELECT u.username, u.user_email, u.user_lang + FROM ". BB_USERS ." u, ". BB_USER_GROUP ." ug + WHERE ug.group_id = $group_id + AND ug.user_pending = 0 AND u.user_id = ug.user_id AND u.user_active = 1 AND u.user_id NOT IN(". EXCLUDED_USERS_CSV . $user_id_sql .") @@ -48,8 +48,8 @@ if (isset($_POST['submit'])) else { $user_list = DB()->fetch_rowset(" - SELECT username, user_email, user_lang - FROM ". BB_USERS ." + SELECT username, user_email, user_lang + FROM ". BB_USERS ." WHERE user_active = 1 AND user_id NOT IN(". EXCLUDED_USERS_CSV . $user_id_sql .") "); diff --git a/upload/admin/admin_ranks.php b/upload/admin/admin_ranks.php index 3d2b062a9..4c33bdb72 100644 --- a/upload/admin/admin_ranks.php +++ b/upload/admin/admin_ranks.php @@ -36,7 +36,6 @@ else } } - if ($mode != '') { if ($mode == 'edit' || $mode == 'add') diff --git a/upload/admin/admin_user_search.php b/upload/admin/admin_user_search.php index 66e68ea6f..4fea05511 100644 --- a/upload/admin/admin_user_search.php +++ b/upload/admin/admin_user_search.php @@ -795,10 +795,7 @@ else $base_url .= '&search_moderators=true&moderators_forum='. rawurlencode(stripslashes($moderators_forum)); $moderators_forum = intval($moderators_forum); - $sql = "SELECT forum_name - FROM ".BB_FORUMS." - WHERE forum_id = ".$moderators_forum; - + $sql = "SELECT forum_name FROM ".BB_FORUMS." WHERE forum_id = ".$moderators_forum; if (!$result = DB()->sql_query($sql)) { diff --git a/upload/ajax.php b/upload/ajax.php index 27fad90d5..58539d0c8 100644 --- a/upload/ajax.php +++ b/upload/ajax.php @@ -116,7 +116,7 @@ class ajax_common global $lang; // Exit if we already have errors - if (!empty($this->response['error_code'])) + if (!empty($this->response['error_code'])) { $this->send(); } @@ -127,7 +127,7 @@ class ajax_common if (!$action || !is_string($action)) { $this->ajax_die('no action specified'); - } + } elseif (!$action_params =& $this->valid_actions[$action]) { $this->ajax_die('invalid action: ' . $action); diff --git a/upload/ajax/edit_user_profile.php b/upload/ajax/edit_user_profile.php index af47e593a..458a0ff6d 100644 --- a/upload/ajax/edit_user_profile.php +++ b/upload/ajax/edit_user_profile.php @@ -148,7 +148,7 @@ switch ($field) $btu[$field] = $value; $this->response['update_ids']['u_ratio'] = (string) get_bt_ratio($btu); break; - + case 'user_points': $value = htmlCHR($value); $value = (float) str_replace(',', '.', $this->request['value']); diff --git a/upload/ajax/mod_action.php b/upload/ajax/mod_action.php index 022f12e78..8faf91ae4 100644 --- a/upload/ajax/mod_action.php +++ b/upload/ajax/mod_action.php @@ -72,13 +72,13 @@ switch ($mode) if (!$user_id) $this->ajax_die($lang['NO_USER_ID_SPECIFIED']); $reg_ip = DB()->fetch_rowset("SELECT username, user_id, user_rank FROM ". BB_USERS ." - WHERE user_reg_ip = '{$profiledata['user_reg_ip']}' + WHERE user_reg_ip = '{$profiledata['user_reg_ip']}' AND user_reg_ip != '' AND user_id != {$profiledata['user_id']} ORDER BY username ASC"); - $last_ip = DB()->fetch_rowset("SELECT username, user_id, user_rank FROM " .BB_USERS ." - WHERE user_last_ip = '{$profiledata['user_last_ip']}' + $last_ip = DB()->fetch_rowset("SELECT username, user_id, user_rank FROM " .BB_USERS ." + WHERE user_last_ip = '{$profiledata['user_last_ip']}' AND user_last_ip != '' AND user_id != {$profiledata['user_id']}"); @@ -101,7 +101,7 @@ switch ($mode) $link_last_ip .= profile_url($row) .' '; } } - + if ($profiledata['user_level'] == ADMIN && !IS_ADMIN) $reg_ip = $last_ip = $lang['HIDDEN']; elseif ($profiledata['user_level'] == MOD && IS_MOD) $reg_ip = $last_ip = $lang['HIDDEN']; else diff --git a/upload/ajax/post_mod_comment.php b/upload/ajax/post_mod_comment.php index d4e9c8fee..0d97d6ba8 100644 --- a/upload/ajax/post_mod_comment.php +++ b/upload/ajax/post_mod_comment.php @@ -10,7 +10,7 @@ $mc_text = (string) $this->request['mc_text']; if (!$mc_text = prepare_message($mc_text)) $this->ajax_die($lang['EMPTY_MESSAGE']); $post = DB()->fetch_row(" - SELECT + SELECT p.post_id, p.poster_id FROM ". BB_POSTS ." p WHERE p.post_id = $post_id diff --git a/upload/ajax/view_torrent.php b/upload/ajax/view_torrent.php index 33609147d..7e0cc5e3f 100644 --- a/upload/ajax/view_torrent.php +++ b/upload/ajax/view_torrent.php @@ -79,7 +79,7 @@ class torrent function build_filelist_array () { global $lang; - + $info = $this->tor_decoded['info']; if (isset($info['name.utf-8'])) diff --git a/upload/attach_mod/includes/functions_includes.php b/upload/attach_mod/includes/functions_includes.php index e15a1cfb1..122314be6 100644 --- a/upload/attach_mod/includes/functions_includes.php +++ b/upload/attach_mod/includes/functions_includes.php @@ -1,21 +1,5 @@
_________________
'; -$bb_cfg['user_signature_end'] = ''; // Это позволит использовать html теги, которые требуют закрытия. Например или +$bb_cfg['user_signature_start'] = '

_________________
'; +$bb_cfg['user_signature_end'] = '
'; // Это позволит использовать html теги, которые требуют закрытия. Например
или // Posts $bb_cfg['use_posts_cache'] = true; // if you switch from ON to OFF, you need to TRUNCATE `bb_posts_html` table @@ -475,7 +475,6 @@ $bb_cfg['max_search_words_per_post'] = 200; $bb_cfg['search_min_word_len'] = 3; $bb_cfg['search_max_word_len'] = 35; $bb_cfg['limit_max_search_results'] = false; -$bb_cfg['tidy_post'] = true; $bb_cfg['spam_filter_file_path'] = ''; //BB_PATH .'/misc/spam_filter_words.txt'; // Posting @@ -502,7 +501,7 @@ $bb_cfg['user_not_active_days_keep'] = 180; // inactive users but only wi $bb_cfg['groupcp_members_per_page'] = 300; // Tidy -if ($bb_cfg['tidy_post'] && !function_exists('tidy_repair_string') or !extension_loaded('tidy')) die('Set $bb_cfg[\'tidy_post\'] = false in config.php'); +$bb_cfg['tidy_post'] = (!extension_loaded('tidy')) ? false : true; // Ads $bb_cfg['show_ads'] = false; @@ -581,15 +580,14 @@ $banned_user_agents = array( # 'wget', ); -$bb_cfg['porno_forums_screenshots_topic_id'] = 0; // (int) 7 -$bb_cfg['trash_forum_id'] = 0; // (int) 7 +$bb_cfg['trash_forum_id'] = 0; // (int) 7 -$bb_cfg['first_logon_redirect_url'] = 'index.php'; -$bb_cfg['terms_and_conditions_url'] = 'index.php'; +$bb_cfg['first_logon_redirect_url'] = 'index.php'; +$bb_cfg['terms_and_conditions_url'] = 'index.php'; -$bb_cfg['user_agreement_url'] = 'misc.php?do=info&show=user_agreement'; -$bb_cfg['copyright_holders_url'] = 'misc.php?do=info&show=copyright_holders'; -$bb_cfg['advert_url'] = 'misc.php?do=info&show=advert'; +$bb_cfg['user_agreement_url'] = 'misc.php?do=info&show=user_agreement'; +$bb_cfg['copyright_holders_url'] = 'misc.php?do=info&show=copyright_holders'; +$bb_cfg['advert_url'] = 'misc.php?do=info&show=advert'; // Captcha $bb_cfg['captcha'] = array( diff --git a/upload/download.php b/upload/download.php index d9c87bb3d..26ffe65a0 100644 --- a/upload/download.php +++ b/upload/download.php @@ -164,7 +164,6 @@ for ($i = 0; $i < $num_auth_pages && $authorised == false; $i++) } } - if (!$authorised) { bb_die($lang['SORRY_AUTH_VIEW_ATTACH']); diff --git a/upload/includes/class.correct.php b/upload/includes/class.correct.php index 2d11556bc..e7552b557 100644 --- a/upload/includes/class.correct.php +++ b/upload/includes/class.correct.php @@ -69,7 +69,7 @@ class Text_LangCorrect #английский (all) private $en = '[a-zA-Z]'; - + #английский (uppercase) private $en_uc = '[A-Z]'; @@ -2822,7 +2822,7 @@ class Text_LangCorrect /** * Исправляет клавиатурные опечатки в тексте. - * + * * @param scalar|null $s Текст в кодировке UTF-8. * @param int $mode Константы self::SIMILAR_CHARS и/или self::KEYBOARD_LAYOUT, * (их можно комбинировать). Описание констант см. выше. @@ -3055,7 +3055,7 @@ class Text_LangCorrect #если в $word были спецсимволы, а в $s их уже нет, возвращаем $s if ($is_sc && ! preg_match('/' . $this->sc . '/sSX', $s)) return $s; - + #если в $s спецсимволов больше чем букв, возвращаем $word $sc_count = 0; $s = preg_replace('/' . $this->sc . '/sSX', '', $s, -1, $sc_count); diff --git a/upload/includes/class.reflection.php b/upload/includes/class.reflection.php index c0f7839ce..653314da5 100644 --- a/upload/includes/class.reflection.php +++ b/upload/includes/class.reflection.php @@ -17,7 +17,7 @@ * Useful links * http://www.ilia.ws/archives/205-Type-hinting-for-PHP-5.3.html * http://php.net/manual/en/language.oop5.typehinting.php - * + * * @example ReflectionTypeHint_example.php * @link http://code.google.com/p/php5-reflection-type-hint/ * @license http://creativecommons.org/licenses/by-sa/3.0/ diff --git a/upload/includes/class.utf8.php b/upload/includes/class.utf8.php index b2f1c5084..6dacc5f9e 100644 --- a/upload/includes/class.utf8.php +++ b/upload/includes/class.utf8.php @@ -2390,7 +2390,7 @@ class UTF8 /** * Convert UTF-16 / UCS-2 encoding string to UTF-8. * Surrogates UTF-16 are supported! - * + * * In Russian: * Преобразует строку из кодировки UTF-16 / UCS-2 в UTF-8. * Суррогаты UTF-16 поддерживаются! @@ -3078,7 +3078,6 @@ class UTF8 return self::convert_case($data, CASE_UPPER); } - /** * Convert all HTML entities to native UTF-8 characters * Функция декодирует гораздо больше именованных сущностей, чем стандартная html_entity_decode() diff --git a/upload/includes/datastore/build_stats.php b/upload/includes/datastore/build_stats.php index 8d2a6282e..30d3cc851 100644 --- a/upload/includes/datastore/build_stats.php +++ b/upload/includes/datastore/build_stats.php @@ -41,7 +41,7 @@ if ($bb_cfg['gender']) $male = DB()->fetch_row("SELECT COUNT(user_id) AS male FROM ". BB_USERS ." WHERE user_gender = ". MALE ." AND user_id NOT IN(". EXCLUDED_USERS_CSV .")"); $female = DB()->fetch_row("SELECT COUNT(user_id) AS female FROM ". BB_USERS ." WHERE user_gender = ". FEMALE ." AND user_id NOT IN(". EXCLUDED_USERS_CSV .")"); $unselect = DB()->fetch_row("SELECT COUNT(user_id) AS unselect FROM ". BB_USERS ." WHERE user_gender = 0 AND user_id NOT IN(". EXCLUDED_USERS_CSV .")"); - + $data['male'] = $male['male']; $data['female'] = $female['female']; $data['unselect'] = $unselect['unselect']; @@ -51,10 +51,10 @@ if ($bb_cfg['gender']) if ($bb_cfg['birthday_check_day'] && $bb_cfg['birthday_enabled']) { $sql = DB()->fetch_rowset("SELECT user_id, username, user_rank , user_birthday - FROM ". BB_USERS ." - WHERE user_id NOT IN(". EXCLUDED_USERS_CSV .") + FROM ". BB_USERS ." + WHERE user_id NOT IN(". EXCLUDED_USERS_CSV .") AND user_birthday != '0000-00-00' - AND user_active = 1 + AND user_active = 1 ORDER BY user_level DESC, username "); diff --git a/upload/includes/functions.php b/upload/includes/functions.php index 23a49910c..50f64d26f 100644 --- a/upload/includes/functions.php +++ b/upload/includes/functions.php @@ -2313,7 +2313,6 @@ function poll_is_active ($t_data) return ($t_data['topic_vote'] == 1 && $t_data['topic_time'] > TIMENOW - $bb_cfg['poll_max_days']*86400); } - function print_confirmation ($tpl_vars) { global $template, $lang; @@ -2778,7 +2777,7 @@ function get_avatar ($user_id, $ext_id, $allow_avatar = true, $size = true, $hei { // TODO } - + $height = ($height != '') ? 'height="'. $height .'"' : ''; $width = ($width != '') ? 'width="'. $width .'"' : ''; @@ -2813,13 +2812,13 @@ function gender_image ($gender) switch ($gender) { case MALE: - $user_gender = ''. $lang['GENDER_SELECT'][1] .''; + $user_gender = ''. $lang['GENDER_SELECT'][MALE] .''; break; case FEMALE: - $user_gender = ''. $lang['GENDER_SELECT'][1] .''; + $user_gender = ''. $lang['GENDER_SELECT'][FEMALE] .''; break; default: - $user_gender = ''. $lang['GENDER_SELECT'][0] .''; + $user_gender = ''. $lang['GENDER_SELECT'][NOGENDER] .''; break; } } diff --git a/upload/includes/functions_post.php b/upload/includes/functions_post.php index 8a208bd94..04129124c 100644 --- a/upload/includes/functions_post.php +++ b/upload/includes/functions_post.php @@ -406,7 +406,7 @@ function user_notification($mode, &$post_data, &$topic_title, &$forum_id, &$topi if ($update_watched_sql) { DB()->query("UPDATE ". BB_TOPICS_WATCH ." - SET notify_status = ". TOPIC_WATCH_UN_NOTIFIED ." + SET notify_status = ". TOPIC_WATCH_UNNOTIFIED ." WHERE topic_id = $topic_id AND user_id IN ($update_watched_sql) "); @@ -423,7 +423,7 @@ function user_notification($mode, &$post_data, &$topic_title, &$forum_id, &$topi { DB()->query(" INSERT INTO " . BB_TOPICS_WATCH . " (user_id, topic_id, notify_status) - VALUES (". $userdata['user_id'] .", $topic_id, ". TOPIC_WATCH_NOTIFIED .") + VALUES (". $userdata['user_id'] .", $topic_id, ". TOPIC_WATCH_NOTIFIED .") "); } } diff --git a/upload/includes/functions_report.php b/upload/includes/functions_report.php index 6fb0ec122..40f7ab60f 100644 --- a/upload/includes/functions_report.php +++ b/upload/includes/functions_report.php @@ -581,7 +581,6 @@ function report_count_obtain() return $report_count; } - // // Obtains reports (for a specific report module if $module_id is defined) // Includes authorisation check if $auth_check is set to true. diff --git a/upload/includes/functions_validate.php b/upload/includes/functions_validate.php index 3f6fa9ecb..6f47589bb 100644 --- a/upload/includes/functions_validate.php +++ b/upload/includes/functions_validate.php @@ -16,7 +16,7 @@ function validate_username ($username, $check_ban_and_taken = true) if (mb_strlen($username, 'UTF-8') > USERNAME_MAX_LENGTH) { return $lang['USERNAME_TOO_LONG']; - } + } else if (mb_strlen($username, 'UTF-8') < USERNAME_MIN_LENGTH) { return $lang['USERNAME_TOO_SMALL']; @@ -102,7 +102,7 @@ function validate_email ($email, $check_ban_and_taken = true) $email_sql = DB()->escape($email); if ($row = DB()->fetch_row("SELECT `user_email` FROM ". BB_USERS ." WHERE user_email = '$email_sql' LIMIT 1")) - { + { if($row['user_email'] == $userdata['user_email']) return false; else diff --git a/upload/includes/init_bb.php b/upload/includes/init_bb.php index c2b061db1..46cf5c51a 100644 --- a/upload/includes/init_bb.php +++ b/upload/includes/init_bb.php @@ -161,7 +161,7 @@ define('TOPIC_LOCKED', 1); define('TOPIC_MOVED', 2); define('TOPIC_WATCH_NOTIFIED', 1); -define('TOPIC_WATCH_UN_NOTIFIED', 0); +define('TOPIC_WATCH_UNNOTIFIED', 0); // Topic types define('POST_NORMAL', 0); @@ -240,6 +240,7 @@ define('POST_REPORT_REASON_URL', 'r'); // Gender define('MALE', 1); define('FEMALE', 2); +define('NOGENDER', 0); // Poll # 1 - обычный опрос @@ -428,7 +429,7 @@ if (!empty($banned_user_agents)) { if (strstr(USER_AGENT, $agent)) { - $filename = 'Skachivajte fajly brauzerom (скачивайте файлы браузером)'; + $filename = 'Download files by using browser'; $output = '@'; header('Content-Type: text/plain'); header('Content-Disposition: attachment; filename="'. $filename .'"'); diff --git a/upload/includes/sessions.php b/upload/includes/sessions.php index 5e52c32ec..252cd1875 100644 --- a/upload/includes/sessions.php +++ b/upload/includes/sessions.php @@ -657,9 +657,6 @@ class user_common bb_setcookie(COOKIE_TOPIC, ''); bb_setcookie(COOKIE_FORUM, ''); bb_setcookie(COOKIE_MARK, ''); - - // Info message - # $template->assign_var('INFO_MESSAGE', $lang['FORUMS_MARKED_READ']); } } @@ -797,7 +794,6 @@ class user_common } } - // // userdata cache // diff --git a/upload/includes/template.php b/upload/includes/template.php index 6597e49a7..f4436c99b 100644 --- a/upload/includes/template.php +++ b/upload/includes/template.php @@ -33,8 +33,7 @@ define('XS_TAG_ELSEIF', 7); define('XS_TAG_ENDIF', 8); define('XS_TAG_BEGINELSE', 11); - -class Template +class Template { var $classname = "Template"; @@ -528,7 +527,6 @@ class Template return $varref; } - /** * Generates a reference to the array of data values for the given * (possibly nested) block namespace. This is a string of the form: @@ -1134,7 +1132,6 @@ class Template return $tokens; } - /** * Compiles code and writes to cache if needed */ diff --git a/upload/includes/ucp/email.php b/upload/includes/ucp/email.php index 69fa48db0..a1c3c90d0 100644 --- a/upload/includes/ucp/email.php +++ b/upload/includes/ucp/email.php @@ -43,7 +43,7 @@ if ($row = DB()->fetch_row($sql)) { $subject = trim(html_entity_decode($_POST['subject'])); $message = trim(html_entity_decode($_POST['message'])); - + if(!$subject) $errors[] = $lang['EMPTY_SUBJECT_EMAIL']; if(!$message) $errors[] = $lang['EMPTY_MESSAGE_EMAIL']; diff --git a/upload/includes/ucp/register.php b/upload/includes/ucp/register.php index 4084a248c..b2472bbb7 100644 --- a/upload/includes/ucp/register.php +++ b/upload/includes/ucp/register.php @@ -93,7 +93,7 @@ switch ($mode) */ case 'editprofile': if (IS_GUEST) login_redirect(); - + // field => can_edit $profile_fields = array( 'user_active' => IS_ADMIN, @@ -355,7 +355,7 @@ foreach ($profile_fields as $field => $can_edit) $errors[] = sprintf($lang['BIRTHDAY_TO_LOW'], $bb_cfg['birthday_min_age']); } } - + $pr_data['user_birthday'] = $user_birthday; $db_data['user_birthday'] = $user_birthday; } @@ -521,7 +521,6 @@ foreach ($profile_fields as $field => $can_edit) } $tp_data['USER_OCC'] = $pr_data['user_occ']; break; - /** * Интересы @@ -553,8 +552,7 @@ foreach ($profile_fields as $field => $can_edit) } $tp_data['USER_SKYPE'] = $pr_data['user_skype']; break; - - + /** * Twitter */ @@ -571,7 +569,7 @@ foreach ($profile_fields as $field => $can_edit) } $tp_data['USER_TWITTER'] = $pr_data['user_twitter']; break; - + /** * Выбор шаблона (edit) */ diff --git a/upload/includes/ucp/viewprofile.php b/upload/includes/ucp/viewprofile.php index b4b8cb095..ac85b794a 100644 --- a/upload/includes/ucp/viewprofile.php +++ b/upload/includes/ucp/viewprofile.php @@ -120,7 +120,7 @@ $template->assign_vars(array( 'SKYPE' => $profiledata['user_skype'], 'TWITTER' => $profiledata['user_twitter'], 'USER_POINTS' => $profiledata['user_points'], - 'GENDER' => ($bb_cfg['gender'] && $profiledata['user_gender']) ? $lang['GENDER_SELECT'][$profiledata['user_gender']] : '', + 'GENDER' => ($bb_cfg['gender']) ? $lang['GENDER_SELECT'][$profiledata['user_gender']] : '', 'BIRTHDAY' => ($bb_cfg['birthday_enabled'] && $profiledata['user_birthday'] != '0000-00-00') ? $profiledata['user_birthday'] : '', 'AGE' => ($bb_cfg['birthday_enabled'] && $profiledata['user_birthday'] != '0000-00-00') ? birthday_age($profiledata['user_birthday']) : '', @@ -189,13 +189,13 @@ else if (IS_MOD) // Show users torrent-profile if (IS_AM || $profile_user_id || !bf($profiledata['user_opt'], 'user_opt', 'user_dls')) { - require(INC_DIR .'ucp/viewtorrent.php'); + require(INC_DIR .'ucp/viewtorrent.php'); } // Ajax bt_userdata if (IS_AM || $profile_user_id) { - show_bt_userdata($profiledata['user_id']); + show_bt_userdata($profiledata['user_id']); } else { @@ -227,13 +227,13 @@ if (IS_ADMIN) $user_restrictions = array(); -if (bf($profiledata['user_opt'], 'user_opt', 'dis_avatar')) $user_restrictions[] = $lang['HIDE_AVATARS']; -if (bf($profiledata['user_opt'], 'user_opt', 'dis_sig')) $user_restrictions[] = $lang['SHOW_CAPTION']; -if (bf($profiledata['user_opt'], 'user_opt', 'dis_passkey')) $user_restrictions[] = $lang['DOWNLOAD_TORRENT']; -if (bf($profiledata['user_opt'], 'user_opt', 'dis_pm')) $user_restrictions[] = $lang['SEND_PM']; -if (bf($profiledata['user_opt'], 'user_opt', 'dis_post')) $user_restrictions[] = $lang['SEND_MESSAGE']; -if (bf($profiledata['user_opt'], 'user_opt', 'dis_post_edit')) $user_restrictions[] = $lang['EDIT_POST']; -if (bf($profiledata['user_opt'], 'user_opt', 'dis_topic')) $user_restrictions[] = $lang['NEW_THREADS']; +if (bf($profiledata['user_opt'], 'user_opt', 'dis_avatar')) $user_restrictions[] = $lang['HIDE_AVATARS']; +if (bf($profiledata['user_opt'], 'user_opt', 'dis_sig')) $user_restrictions[] = $lang['SHOW_CAPTION']; +if (bf($profiledata['user_opt'], 'user_opt', 'dis_passkey')) $user_restrictions[] = $lang['DOWNLOAD_TORRENT']; +if (bf($profiledata['user_opt'], 'user_opt', 'dis_pm')) $user_restrictions[] = $lang['SEND_PM']; +if (bf($profiledata['user_opt'], 'user_opt', 'dis_post')) $user_restrictions[] = $lang['SEND_MESSAGE']; +if (bf($profiledata['user_opt'], 'user_opt', 'dis_post_edit')) $user_restrictions[] = $lang['EDIT_POST']; +if (bf($profiledata['user_opt'], 'user_opt', 'dis_topic')) $user_restrictions[] = $lang['NEW_THREADS']; $template->assign_var('USER_RESTRICTIONS', join('
  • ', $user_restrictions)); diff --git a/upload/includes/ucp/viewtorrent.php b/upload/includes/ucp/viewtorrent.php index 36d852d71..b3176ff4a 100644 --- a/upload/includes/ucp/viewtorrent.php +++ b/upload/includes/ucp/viewtorrent.php @@ -13,9 +13,9 @@ $not_auth_forums_sql = ($excluded_forums_csv) ? " " : ''; $sql = DB()->fetch_rowset(" - SELECT - f.forum_id, f.forum_name, t.topic_title, - tor.tor_type, tor.size, + SELECT + f.forum_id, f.forum_name, t.topic_title, + tor.tor_type, tor.size, sn.seeders, sn.leechers, tr.* FROM ". BB_FORUMS ." f, ". BB_TOPICS ." t, ". BB_BT_TRACKER ." tr, ". BB_BT_TORRENTS ." tor, ". BB_BT_TRACKER_SNAP ." sn WHERE tr.user_id = {$profiledata['user_id']} @@ -51,18 +51,18 @@ if ($releasing) $is_gold = ''; if ($tr_cfg['gold_silver_enabled']) { - if ($row['tor_type'] == TOR_TYPE_GOLD) - { - $is_gold = ' '; - } - elseif ($row['tor_type'] == TOR_TYPE_SILVER) - { - $is_gold = ' '; - } - } + if ($row['tor_type'] == TOR_TYPE_GOLD) + { + $is_gold = ' '; + } + elseif ($row['tor_type'] == TOR_TYPE_SILVER) + { + $is_gold = ' '; + } + } $topic_title = wbr($row['topic_title']); - + $template->assign_block_vars('released', array( 'ROW_CLASS' => !($i % 2) ? 'row1' : 'row2', 'FORUM_NAME' => htmlCHR($row['forum_name']), @@ -70,11 +70,11 @@ if ($releasing) 'U_VIEW_FORUM' => FORUM_URL . $row['forum_id'], 'U_VIEW_TOPIC' => TOPIC_URL . $row['topic_id'], 'TOR_TYPE' => $is_gold, - 'TOPIC_SEEDERS' => ($row['seeders']) ? $row['seeders'] : 0, - 'TOPIC_LEECHERS' => ($row['leechers']) ? $row['leechers'] : 0, + 'TOPIC_SEEDERS' => ($row['seeders']) ? $row['seeders'] : 0, + 'TOPIC_LEECHERS' => ($row['leechers']) ? $row['leechers'] : 0, 'SPEED_UP' => ($row['speed_up']) ? humn_size($row['speed_up'], 0, 'KB') .'/s' : '-', )); - + $releasing_count++; } } @@ -86,18 +86,18 @@ if ($seeding) $is_gold = ''; if ($tr_cfg['gold_silver_enabled']) { - if ($row['tor_type'] == TOR_TYPE_GOLD) - { - $is_gold = ' '; - } - elseif ($row['tor_type'] == TOR_TYPE_SILVER) - { - $is_gold = ' '; - } - } + if ($row['tor_type'] == TOR_TYPE_GOLD) + { + $is_gold = ' '; + } + elseif ($row['tor_type'] == TOR_TYPE_SILVER) + { + $is_gold = ' '; + } + } $topic_title = wbr($row['topic_title']); - + $template->assign_block_vars('seed', array( 'ROW_CLASS' => !($i % 2) ? 'row1' : 'row2', 'FORUM_NAME' => htmlCHR($row['forum_name']), @@ -105,11 +105,11 @@ if ($seeding) 'U_VIEW_FORUM' => FORUM_URL . $row['forum_id'], 'U_VIEW_TOPIC' => TOPIC_URL . $row['topic_id'], 'TOR_TYPE' => $is_gold, - 'TOPIC_SEEDERS' => ($row['seeders']) ? $row['seeders'] : 0, - 'TOPIC_LEECHERS' => ($row['leechers']) ? $row['leechers'] : 0, + 'TOPIC_SEEDERS' => ($row['seeders']) ? $row['seeders'] : 0, + 'TOPIC_LEECHERS' => ($row['leechers']) ? $row['leechers'] : 0, 'SPEED_UP' => ($row['speed_up']) ? humn_size($row['speed_up'], 0, 'KB') .'/s' : '-', )); - + $seeding_count++; } } @@ -121,20 +121,20 @@ if ($leeching) $is_gold = ''; if ($tr_cfg['gold_silver_enabled']) { - if ($row['tor_type'] == TOR_TYPE_GOLD) - { - $is_gold = ' '; - } - elseif ($row['tor_type'] == TOR_TYPE_SILVER) - { - $is_gold = ' '; - } - } + if ($row['tor_type'] == TOR_TYPE_GOLD) + { + $is_gold = ' '; + } + elseif ($row['tor_type'] == TOR_TYPE_SILVER) + { + $is_gold = ' '; + } + } $compl_size = ($row['remain'] && $row['size'] && $row['size'] > $row['remain']) ? ($row['size'] - $row['remain']) : 0; $compl_perc = ($compl_size) ? floor($compl_size * 100 / $row['size']) : 0; $topic_title = wbr($row['topic_title']); - + $template->assign_block_vars('leech', array( 'ROW_CLASS' => !($i % 2) ? 'row1' : 'row2', 'FORUM_NAME' => htmlCHR($row['forum_name']), @@ -143,11 +143,11 @@ if ($leeching) 'U_VIEW_TOPIC' => TOPIC_URL . $row['topic_id'], 'COMPL_PERC' => $compl_perc, 'TOR_TYPE' => $is_gold, - 'TOPIC_SEEDERS' => ($row['seeders']) ? $row['seeders'] : 0, - 'TOPIC_LEECHERS' => ($row['leechers']) ? $row['leechers'] : 0, + 'TOPIC_SEEDERS' => ($row['seeders']) ? $row['seeders'] : 0, + 'TOPIC_LEECHERS' => ($row['leechers']) ? $row['leechers'] : 0, 'SPEED_DOWN' => ($row['speed_down']) ? humn_size($row['speed_down'], 0, 'KB') .'/s' : '-', )); - + $leeching_count++; } } @@ -159,4 +159,4 @@ $template->assign_vars(array( 'L_SEEDINGS' => "{$lang['SEEDING']}: ". (($seeding_count) ? "$seeding_count" : '0'), 'L_LEECHINGS' => "{$lang['LEECHING']}: ". (($leeching_count) ? "$leeching_count" : '0'), 'USER_DLS' => $releasing_count || $seeding_count || $leeching_count, -)); +)); \ No newline at end of file diff --git a/upload/index.php b/upload/index.php index 5267759c7..4358fb7ec 100644 --- a/upload/index.php +++ b/upload/index.php @@ -24,7 +24,7 @@ if ($bb_cfg['show_latest_news']) } if ($bb_cfg['show_network_news']) { - $datastore->enqueue('network_news'); + $datastore->enqueue('network_news'); } // Init userdata @@ -368,7 +368,7 @@ if ($bb_cfg['birthday_check_day'] && $bb_cfg['birthday_enabled']) { $week_list = $today_list = array(); $week_all = $today_all = false; - + if ($stats['birthday_week_list']) { shuffle($stats['birthday_week_list']); diff --git a/upload/language/en/email/admin_send_email.tpl b/upload/language/en/email/admin_send_email.tpl index d092ee52e..04e6bcc44 100644 --- a/upload/language/en/email/admin_send_email.tpl +++ b/upload/language/en/email/admin_send_email.tpl @@ -4,7 +4,7 @@ The following is an email sent to you by an administrator of "{SITENAME}". If th {BOARD_EMAIL} -Include this full email (particularly the headers). +Include this full email (particularly the headers). Message sent to you follows: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/upload/language/en/html/copyright_holders.html b/upload/language/en/html/copyright_holders.html index 757cdd10f..9b1e41724 100644 --- a/upload/language/en/html/copyright_holders.html +++ b/upload/language/en/html/copyright_holders.html @@ -10,7 +10,6 @@ -

    Information for copyright holders.

    diff --git a/upload/language/en/html/user_agreement.html b/upload/language/en/html/user_agreement.html index d2e5c6481..786415569 100644 --- a/upload/language/en/html/user_agreement.html +++ b/upload/language/en/html/user_agreement.html @@ -5,7 +5,7 @@
    USER AGREEMENT
    - + -

    Информация для правообладателей.

    diff --git a/upload/language/ru/html/user_agreement.html b/upload/language/ru/html/user_agreement.html index 2af2cda5c..db0cec8d1 100644 --- a/upload/language/ru/html/user_agreement.html +++ b/upload/language/ru/html/user_agreement.html @@ -5,7 +5,7 @@
    ПОЛЬЗОВАТЕЛЬСКОЕ СОГЛАШЕНИЕ
    - + -

    Інформація для правовласників.

    diff --git a/upload/language/ua/html/user_agreement.html b/upload/language/ua/html/user_agreement.html index d41e22b32..36ec9f14a 100644 --- a/upload/language/ua/html/user_agreement.html +++ b/upload/language/ua/html/user_agreement.html @@ -5,7 +5,7 @@
    УГОДА
    - + - -srv as $srv_name => $db_obj) - { - if (!empty($db_obj->do_explain)) - { - $db_obj->explain('display'); - } - } -} - -$sql_log = !empty($_COOKIE['sql_log']) ? get_sql_log() : ''; - -echo ' - -
    -'; - -echo '
    '; - -if ($sql_log) -{ - echo '
    '. ($sql_log ? $sql_log : '') .'

    '; -} -?> - +
    +'; + +echo '
    '; + +if ($sql_log) +{ + echo '
    '. ($sql_log ? $sql_log : '') .'

    '; +} +?> + \ No newline at end of file diff --git a/upload/includes/posting_tpl.php b/upload/includes/posting_tpl.php index 14dfe6c98..e4cd38233 100644 --- a/upload/includes/posting_tpl.php +++ b/upload/includes/posting_tpl.php @@ -1,82 +1,82 @@ -fetch_row($sql)) -{ - bb_die('Форум не найден'); -} -// tpl_data -$tpl_data = array(); -$sql = "SELECT * FROM ". BB_TOPIC_TPL ." WHERE tpl_id = {$f_data['forum_tpl_id']} LIMIT 1"; - -if (!$f_data['forum_tpl_id'] OR !$tpl_data = DB()->fetch_row($sql)) -{ - if (!$edit_tpl_mode) - { - redirect(POSTING_URL . "?mode=newtopic&f=$forum_id"); - } -} - -$template->assign_vars(array( - 'PAGE_TITLE' => 'Новый релиз', - 'FORUM_NAME' => $f_data['forum_name'], - 'FORUM_ID' => $forum_id, - 'TPL_FORM_ACTION' => POSTING_URL . "?mode=newtopic&f=$forum_id", - 'REGULAR_TOPIC_HREF' => POSTING_URL . "?mode=newtopic&f=$forum_id", - 'TOR_REQUIRED' => $f_data['allow_reg_tracker'], - 'EDIT_TPL' => $edit_tpl_mode, - 'CAN_EDIT_TPL' => $can_edit_tpl, - 'EDIT_TPL_URL' => POSTING_URL . "?mode=new_rel&f=$forum_id&edit_tpl=1", -)); - -if ($tpl_data) -{ - // tpl_rules_html - $tpl_rules_html = ''; - - if ($tpl_data['tpl_rules_post_id']) - { - if (!$tpl_rules_html = bbcode2html(DB()->fetch_row("SELECT post_text FROM ". BB_POSTS_TEXT ." WHERE post_id = ". $tpl_data['tpl_rules_post_id'], 'post_text'))) - { - $tpl_data['tpl_rules_post_id'] = 0; - DB()->query("UPDATE ". BB_TOPIC_TPL ." SET tpl_rules_post_id = 0 WHERE tpl_id = {$f_data['forum_tpl_id']} LIMIT 1"); - } - } - - $template->assign_vars(array( - 'TPL_ID' => $tpl_data['tpl_id'], - 'TPL_NAME' => $tpl_data['tpl_name'], - 'TPL_SRC_FORM_VAL' => $tpl_data['tpl_src_form'], - 'TPL_SRC_TITLE_VAL' => $tpl_data['tpl_src_title'], - 'TPL_SRC_MSG_VAL' => $tpl_data['tpl_src_msg'], - 'TPL_RULES_HTML' => $tpl_rules_html, - )); -} - -if ($edit_tpl_mode) -{ - $template->assign_vars(array( - 'NO_TPL_ASSIGNED' => !($f_data['forum_tpl_id']), - 'TPL_SELECT' => get_select('forum_tpl', $f_data['forum_tpl_id']), - )); - - if ($tpl_data) - { - $template->assign_vars(array( - 'TPL_COMMENT' => $tpl_data['tpl_comment'], - 'TPL_RULES_POST_ID' => $tpl_data['tpl_rules_post_id'], - 'TPL_LAST_EDIT_TIME' => bb_date($tpl_data['tpl_last_edit_tm'], 'd-M-y H:i'), - 'TPL_LAST_EDIT_USER' => get_username(intval($tpl_data['tpl_last_edit_by'])), - 'TPL_LAST_EDIT_TIMESTAMP' => $tpl_data['tpl_last_edit_tm'], - )); - } -} - +fetch_row($sql)) +{ + bb_die('Форум не найден'); +} +// tpl_data +$tpl_data = array(); +$sql = "SELECT * FROM ". BB_TOPIC_TPL ." WHERE tpl_id = {$f_data['forum_tpl_id']} LIMIT 1"; + +if (!$f_data['forum_tpl_id'] OR !$tpl_data = DB()->fetch_row($sql)) +{ + if (!$edit_tpl_mode) + { + redirect(POSTING_URL . "?mode=newtopic&f=$forum_id"); + } +} + +$template->assign_vars(array( + 'PAGE_TITLE' => 'Новый релиз', + 'FORUM_NAME' => $f_data['forum_name'], + 'FORUM_ID' => $forum_id, + 'TPL_FORM_ACTION' => POSTING_URL . "?mode=newtopic&f=$forum_id", + 'REGULAR_TOPIC_HREF' => POSTING_URL . "?mode=newtopic&f=$forum_id", + 'TOR_REQUIRED' => $f_data['allow_reg_tracker'], + 'EDIT_TPL' => $edit_tpl_mode, + 'CAN_EDIT_TPL' => $can_edit_tpl, + 'EDIT_TPL_URL' => POSTING_URL . "?mode=new_rel&f=$forum_id&edit_tpl=1", +)); + +if ($tpl_data) +{ + // tpl_rules_html + $tpl_rules_html = ''; + + if ($tpl_data['tpl_rules_post_id']) + { + if (!$tpl_rules_html = bbcode2html(DB()->fetch_row("SELECT post_text FROM ". BB_POSTS_TEXT ." WHERE post_id = ". $tpl_data['tpl_rules_post_id'], 'post_text'))) + { + $tpl_data['tpl_rules_post_id'] = 0; + DB()->query("UPDATE ". BB_TOPIC_TPL ." SET tpl_rules_post_id = 0 WHERE tpl_id = {$f_data['forum_tpl_id']} LIMIT 1"); + } + } + + $template->assign_vars(array( + 'TPL_ID' => $tpl_data['tpl_id'], + 'TPL_NAME' => $tpl_data['tpl_name'], + 'TPL_SRC_FORM_VAL' => $tpl_data['tpl_src_form'], + 'TPL_SRC_TITLE_VAL' => $tpl_data['tpl_src_title'], + 'TPL_SRC_MSG_VAL' => $tpl_data['tpl_src_msg'], + 'TPL_RULES_HTML' => $tpl_rules_html, + )); +} + +if ($edit_tpl_mode) +{ + $template->assign_vars(array( + 'NO_TPL_ASSIGNED' => !($f_data['forum_tpl_id']), + 'TPL_SELECT' => get_select('forum_tpl', $f_data['forum_tpl_id']), + )); + + if ($tpl_data) + { + $template->assign_vars(array( + 'TPL_COMMENT' => $tpl_data['tpl_comment'], + 'TPL_RULES_POST_ID' => $tpl_data['tpl_rules_post_id'], + 'TPL_LAST_EDIT_TIME' => bb_date($tpl_data['tpl_last_edit_tm'], 'd-M-y H:i'), + 'TPL_LAST_EDIT_USER' => get_username(intval($tpl_data['tpl_last_edit_by'])), + 'TPL_LAST_EDIT_TIMESTAMP' => $tpl_data['tpl_last_edit_tm'], + )); + } +} + print_page('posting_tpl.tpl'); \ No newline at end of file diff --git a/upload/includes/template.php b/upload/includes/template.php index f4436c99b..39e67ca21 100644 --- a/upload/includes/template.php +++ b/upload/includes/template.php @@ -1,1205 +1,1205 @@ -execute() scope!) - * "#" - constant, {#CON} is eq to CON - * - */ - -if (!defined('BB_ROOT')) -{ - die(basename(__FILE__)); -} - -define('XS_SEPARATOR', '.'); -define('XS_USE_ISSET', '1'); - -// cache filenames prefix -define('XS_TPL_PREFIX', 'tpl_'); -define('XS_TPL_PREFIX2', 'tpl2_'); - -// internal xs mod definitions. do not edit. -define('XS_TAG_NONE', 0); -define('XS_TAG_PHP', 1); -define('XS_TAG_BEGIN', 2); -define('XS_TAG_END', 3); -define('XS_TAG_INCLUDE', 4); -define('XS_TAG_IF', 5); -define('XS_TAG_ELSE', 6); -define('XS_TAG_ELSEIF', 7); -define('XS_TAG_ENDIF', 8); -define('XS_TAG_BEGINELSE', 11); - -class Template -{ - var $classname = "Template"; - - // variable that holds all the data we'll be substituting into - // the compiled templates. - // ... - // This will end up being a multi-dimensional array like this: - // $this->_tpldata[block.][iteration#][child.][iteration#][child2.][iteration#][variablename] == value - // if it's a root-level variable, it'll be like this: - // $this->vars[varname] == value or $this->_tpldata['.'][0][varname] == value - // array "vars" is added for easier access to data - var $_tpldata = array('.' => array(0 => array())); - var $vars; - - // Hash of filenames for each template handle. - var $files = array(); - var $files_cache = array(); // array of cache files that exists - var $files_cache2 = array(); // array of cache files (exists or not exists) - - // Root template directory. - var $root = ''; - - // Cache directory - var $cachedir = CACHE_DIR; - - // Template root directory - var $tpldir = ''; - - // Default template directory. - // If file for default template isn't found file from this template is used. - var $tpldef = 'default'; - - // this will hash handle names to the compiled code for that handle. - var $compiled_code = array(); - - // This will hold the uncompiled code for that handle. - var $uncompiled_code = array(); - - // Cache settings - var $use_cache = 1; - var $cache_writable = 1; - - // Auto-compile setting - var $auto_compile = 1; - - // Current template name - var $tpl = ''; - var $cur_tpl = ''; - - // List of replacements. tpl files in this list will be replaced with other tpl files - // according to configuration in xs.cfg - var $replace = array(); - - // counter for include - var $include_count = 0; - - // extension tpl-cache files - var $cached_tpl_ext = 'php'; - - // eXtreme Styles variables - var $xs_started = 0; - var $xs_version = 8; // number version. internal. do not change. - var $xs_versiontxt = '2.3.1'; // text version - - // These handles will be parsed if pparse() is executed. - // Can be used to automatically include header/footer if there is any content. - var $preparse = ''; - var $postparse = ''; - - // subtemplates mod detection - var $subtemplates = false; - - // style configuration - var $style_config = array(); - - var $lang = array(); - - /** - * Constructor. Installs XS mod on first run or updates it and sets the root dir. - */ - function Template($root = '.') - { - global $bb_cfg, $lang; - - // setting pointer "vars" - $this->vars = &$this->_tpldata['.'][0]; - // load configuration - $this->tpldir = TEMPLATES_DIR; - $this->root = $root; - $this->tpl = basename($root); - $this->lang =& $lang; - $this->use_cache = $bb_cfg['xs_use_cache']; - } - - /** - * Destroys this template object. Should be called when you're done with it, in order - * to clear out the template data so you can load/parse a new template set. - */ - function destroy() - { - $this->_tpldata = array('.' => array(0 => array())); - $this->vars = &$this->_tpldata['.'][0]; - $this->xs_started = 0; - } - - /** - * Generates a full path+filename for the given filename, which can either - * be an absolute name, or a name relative to the rootdir for this Template - * object. - */ - function make_filename($filename, $xs_include = false) - { - // Check replacements list - if(!$xs_include && isset($this->replace[$filename])) - { - $filename = $this->replace[$filename]; - } - // Check if it's an absolute or relative path. - if ((substr($filename, 0, 1) !== '/') && (substr($filename, 1, 1) !== ':')) - { - return $this->root . '/' . $filename; - } - else - { - return $filename; - } - } - - /** - * Converts template filename to cache filename. - * Returns empty string if non-cachable (for tpl files outside of root dir). - * $filename should be absolute filename - */ - function make_filename_cache ($filename) - { - $filename = clean_filename(str_replace(TEMPLATES_DIR, '', $filename)); - - return $this->cachedir . XS_TPL_PREFIX . $filename .'.'. $this->cached_tpl_ext; - } - - /** - * Sets the template filenames for handles. $filename_array - * should be a hash of handle => filename pairs. - */ - function set_filenames ($filenames) - { - foreach ($filenames as $handle => $filename) - { - $this->set_filename($handle, $filename); - } - } - - /** - * Assigns template filename for handle. - */ - function set_filename($handle, $filename, $xs_include = false, $quiet = false) - { - $can_cache = $this->use_cache; - $this->files[$handle] = $this->make_filename($filename, $xs_include); - $this->files_cache[$handle] = ''; - $this->files_cache2[$handle] = ''; - // checking if we have valid filename - if(!$this->files[$handle]) - { - if($xs_include || $quiet) - { - return false; - } - else - { - die("Template->make_filename(): Error - invalid template $filename"); - } - } - // creating cache filename - if($can_cache) - { - $this->files_cache2[$handle] = $this->make_filename_cache($this->files[$handle]); - if(@file_exists($this->files_cache2[$handle])) - { - $this->files_cache[$handle] = $this->files_cache2[$handle]; - } - } - // checking if tpl and/or php file exists - if(empty($this->files_cache[$handle]) && !@file_exists($this->files[$handle])) - { - if($quiet) - { - return false; - } - die('Template->make_filename(): Error - template file not found:

    ' . hide_bb_path($this->files[$handle])); - } - // checking if we should recompile cache - if(!empty($this->files_cache[$handle])) - { - $cache_time = @filemtime($this->files_cache[$handle]); - if(@filemtime($this->files[$handle]) > $cache_time) - { - // file was changed. don't use cache file (will be recompled if configuration allowes it) - $this->files_cache[$handle] = ''; - } - } - return true; - } - - /** - * includes file or executes code - */ - function execute($filename, $code, $handle) - { - $this->cur_tpl = $filename; - - global $lang, $bb_cfg, $user, $tr_cfg; - - $L =& $lang; - $V =& $this->vars; - - if ($filename) - { - include($filename); - } - else - { - eval($code); - } - } - - /** - * Load the file for the handle, compile the file, - * and run the compiled code. This will print out - * the results of executing the template. - */ - function pparse($handle) - { - // parsing header if there is one - if($this->preparse || $this->postparse) - { - $preparse = $this->preparse; - $postparse = $this->postparse; - $this->preparse = ''; - $this->postparse = ''; - if($preparse) - { - $this->pparse($preparse); - } - if($postparse) - { - $str = $handle; - $handle = $postparse; - $this->pparse($str); - } - } - // checking if handle exists - if (empty($this->files[$handle]) && empty($this->files_cache[$handle])) - { - die("Template->loadfile(): No files found for handle $handle"); - } - $this->xs_startup(); - $force_recompile = empty($this->uncompiled_code[$handle]) ? false : true; - // checking if php file exists. - if (!empty($this->files_cache[$handle]) && !$force_recompile) - { - // php file exists - running it instead of tpl - $this->execute($this->files_cache[$handle], '', $handle); - return true; - } - if (!$this->loadfile($handle)) - { - die("Template->pparse(): Could not load template file for handle $handle"); - } - // actually compile the template now. - if (empty($this->compiled_code[$handle])) - { - // Actually compile the code now. - if(!empty($this->files_cache2[$handle]) && empty($this->files_cache[$handle]) && !$force_recompile) - { - $this->compiled_code[$handle] = $this->compile2($this->uncompiled_code[$handle], $handle, $this->files_cache2[$handle]); - } - else - { - $this->compiled_code[$handle] = $this->compile2($this->uncompiled_code[$handle], '', ''); - } - } - // Run the compiled code. - if (empty($this->files_cache[$handle]) || $force_recompile) - { - $this->execute('', $this->compiled_code[$handle], $handle); - } - else - { - $this->execute($this->files_cache[$handle], '', $handle); - } - return true; - } - - /** - * Precompile file - */ - function precompile($template, $filename) - { - global $precompile_num; - if(empty($precompile_num)) - { - $precompile_num = 0; - } - $precompile_num ++; - $handle = 'precompile_' . $precompile_num; - // save old configuration - $root = $this->root; - $tpl_name = $this->tpl; - $old_config = $this->use_cache; - $old_autosave = $this->auto_compile; - // set temporary configuration - $this->root = $this->tpldir . $template; - $this->tpl = $template; - $this->use_cache = 1; - $this->auto_compile = 1; - // set filename - $res = $this->set_filename($handle, $filename, true, true); - if(!$res || !$this->files_cache2[$handle]) - { - $this->root = $root; - $this->tpl = $tpl_name; - $this->use_cache = $old_config; - $this->auto_compile = $old_autosave; - return false; - } - $this->files_cache[$handle] = ''; - // load template - $res = $this->loadfile($handle); - if(!$res || empty($this->uncompiled_code[$handle])) - { - $this->root = $root; - $this->tpl = $tpl_name; - $this->use_cache = $old_config; - $this->auto_compile = $old_autosave; - return false; - } - // compile the code - $this->compile2($this->uncompiled_code[$handle], $handle, $this->files_cache2[$handle]); - // restore confirugation - $this->root = $root; - $this->tpl = $tpl_name; - $this->use_cache = $old_config; - $this->auto_compile = $old_autosave; - return true; - } - - /** - * Inserts the uncompiled code for $handle as the - * value of $varname in the root-level. This can be used - * to effectively include a template in the middle of another - * template. - * Note that all desired assignments to the variables in $handle should be done - * BEFORE calling this function. - */ - function assign_var_from_handle($varname, $handle) - { - ob_start(); - $res = $this->pparse($handle); - $this->vars[$varname] = ob_get_contents(); - ob_end_clean(); - return $res; - } - - /** - * Block-level variable assignment. Adds a new block iteration with the given - * variable assignments. Note that this should only be called once per block - * iteration. - */ - function assign_block_vars($blockname, $vararray) - { - if (strstr($blockname, '.')) - { - // Nested block. - $blocks = explode('.', $blockname); - $blockcount = sizeof($blocks) - 1; - - $str = &$this->_tpldata; - for($i = 0; $i < $blockcount; $i++) - { - $str = &$str[$blocks[$i].'.']; - $str = &$str[sizeof($str)-1]; - } - // Now we add the block that we're actually assigning to. - // We're adding a new iteration to this block with the given - // variable assignments. - $str[$blocks[$blockcount].'.'][] = $vararray; - } - else - { - // Top-level block. - // Add a new iteration to this block with the variable assignments - // we were given. - $this->_tpldata[$blockname.'.'][] = $vararray; - } - - return true; - } - - /** - * Root-level variable assignment. Adds to current assignments, overriding - * any existing variable assignment with the same name. - */ - function assign_vars ($vararray) - { - foreach ($vararray as $key => $val) - { - $this->vars[$key] = $val; - } - } - - /** - * Root-level variable assignment. Adds to current assignments, overriding - * any existing variable assignment with the same name. - */ - function assign_var ($varname, $varval = true) - { - $this->vars[$varname] = $varval; - } - - /** - * TODO: Add type check [??] - * Root-level. Adds to current assignments, appends - * to any existing variable assignment with the same name. - */ - function append_vars ($vararray) - { - foreach ($vararray as $key => $val) - { - $this->vars[$key] = !isset($this->vars[$key]) ? $val : $this->vars[$key] . $val; - } - } - - /** - * If not already done, load the file for the given handle and populate - * the uncompiled_code[] hash with its code. Do not compile. - */ - function loadfile($handle) - { - // If cached file exists do nothing - it will be included via include() - if(!empty($this->files_cache[$handle])) - { - return true; - } - - // If the file for this handle is already loaded and compiled, do nothing. - if (!empty($this->uncompiled_code[$handle])) - { - return true; - } - - // If we don't have a file assigned to this handle, die. - if (empty($this->files[$handle])) - { - die("Template->loadfile(): No file specified for handle $handle"); - } - - $filename = $this->files[$handle]; - - if (($str = @file_get_contents($filename)) === false) - { - die("Template->loadfile(): File $filename for handle $handle is empty"); - } - - $this->uncompiled_code[$handle] = $str; - - return true; - } - - /** - * Generates a reference to the given variable inside the given (possibly nested) - * block namespace. This is a string of the form: - * ' . $this->_tpldata['parent.'][$_parent_i]['$child1.'][$_child1_i]['$child2.'][$_child2_i]...['varname'] . ' - * It's ready to be inserted into an "echo" line in one of the templates. - * NOTE: expects a trailing "." on the namespace. - */ - function generate_block_varref($namespace, $varname) - { - // Strip the trailing period. - $namespace = substr($namespace, 0, strlen($namespace) - 1); - - // Get a reference to the data block for this namespace. - $varref = $this->generate_block_data_ref($namespace, true); - // Prepend the necessary code to stick this in an echo line. - - // Append the variable reference. - $varref .= "['$varname']"; - - $varref = ""; - - return $varref; - } - - /** - * Generates a reference to the array of data values for the given - * (possibly nested) block namespace. This is a string of the form: - * $this->_tpldata['parent.'][$_parent_i]['$child1.'][$_child1_i]['$child2.'][$_child2_i]...['$childN.'] - * - * If $include_last_iterator is true, then [$_childN_i] will be appended to the form shown above. - * NOTE: does not expect a trailing "." on the blockname. - */ - function generate_block_data_ref($blockname, $include_last_iterator) - { - // Get an array of the blocks involved. - $blocks = explode('.', $blockname); - $blockcount = sizeof($blocks) - 1; - if($include_last_iterator) - { - return '$'. $blocks[$blockcount]. '_item'; - } - else - { - return '$'. $blocks[$blockcount-1]. '_item[\''. $blocks[$blockcount]. '.\']'; - } - } - - function compile_code($filename, $code) - { - // $filename - file to load code from. used if $code is empty - // $code - tpl code - - // load code from file - if (!$code && !empty($filename)) - { - $code = file_get_contents($filename); - } - - // Replace tags - $search = array('', ''); - $replace = array('<'.'?php ', ' ?'.'>'); - $code = str_replace($search, $replace, $code); - - // Break it up into lines and put " -->" back. - $code_lines = explode(' -->', $code); - $count = count($code_lines); - for ($i = 0; $i < ($count - 1); $i++) - { - $code_lines[$i] .= ' -->'; - } - - $block_nesting_level = 0; - $block_names = array(); - $block_names[0] = "."; - $block_items = array(); - $count_if = 0; - - // prepare array for compiled code - $compiled = array(); - - // array of switches - $sw = array(); - - // replace all short php tags - $new_code = array(); - $line_count = count($code_lines); - for($i=0; $i<$line_count; $i++) - { - $line = $code_lines[$i]; - $pos = strpos($line, ''; - $code_lines[$i] = substr($line, $pos + 2); - $i --; - } - $code_lines = $new_code; - - // main loop - $line_count = count($code_lines); - for($i=0; $i<$line_count; $i++) - { - $line = $code_lines[$i]; - // reset keyword type - $keyword_type = XS_TAG_NONE; - // check if we have valid keyword in current line - $pos1 = strpos($line, '', $pos1); - if($pos2 !== false) - { - // find end of keyword in comment - $pos3 = strpos($line, ' ', $pos1 + 5); - if($pos3 !== false && $pos3 <= $pos2) - { - $keyword = substr($line, $pos1 + 5, $pos3 - $pos1 - 5); - // check keyword against list of supported keywords. case-sensitive - if($keyword === 'BEGIN') - { - $keyword_type = XS_TAG_BEGIN; - } - elseif($keyword === 'END') - { - $keyword_type = XS_TAG_END; - } - elseif($keyword === 'INCLUDE') - { - $keyword_type = XS_TAG_INCLUDE; - } - elseif($keyword === 'IF') - { - $keyword_type = XS_TAG_IF; - } - elseif($keyword === 'ELSE') - { - $keyword_type = XS_TAG_ELSE; - } - elseif($keyword === 'ELSEIF') - { - $keyword_type = XS_TAG_ELSEIF; - } - elseif($keyword === 'ENDIF') - { - $keyword_type = XS_TAG_ENDIF; - } - elseif($keyword === 'BEGINELSE') - { - $keyword_type = XS_TAG_BEGINELSE; - } - } - } - if(!$keyword_type) - { - // not valid keyword. process the rest of line - $compiled[] = $this->_compile_text(substr($line, 0, $pos1 + 4)); - $code_lines[$i] = substr($line, $pos1 + 4); - $i --; - continue; - } - // remove code before keyword - if($pos1 > 0) - { - $compiled[] = $this->_compile_text(substr($line, 0, $pos1)); - } - // remove keyword - $keyword_str = substr($line, $pos1, $pos2 - $pos1 + 4); - $params_str = $pos2 == $pos3 ? '' : substr($line, $pos3 + 1, $pos2 - $pos3 - 1); - $code_lines[$i] = substr($line, $pos2 + 4); - $i--; - // Check keywords - - /* - * - */ - if($keyword_type == XS_TAG_BEGIN) - { - $params = explode(' ', $params_str); - $num_params = count($params); - // get variable name - if($num_params == 1) - { - $var = $params[0]; - } - elseif($num_params == 2) - { - if($params[0] === '') - { - $var = $params[1]; - } - elseif($params[1] === '') - { - $var = $params[0]; - } - else - { - // invalid tag - $compiled[] = $keyword_str; - continue; - } - } - else - { - // invalid tag - $compiled[] = $keyword_str; - continue; - } - // adding code - $block_nesting_level++; - $block_names[$block_nesting_level] = $var; - if(isset($block_items[$var])) - { - $block_items[$var] ++; - } - else - { - $block_items[$var] = 1; - } - if ($block_nesting_level < 2) - { - // Block is not nested. - $line = '<'."?php\n\n"; - $line .= '$'. $var. '_count = ( isset($this->_tpldata[\''. $var. '.\']) ) ? sizeof($this->_tpldata[\''. $var. '.\']) : 0;'; - $line .= "\n" . 'for ($'. $var. '_i = 0; $'. $var. '_i < $'. $var. '_count; $'. $var. '_i++)'; - $line .= "\n". '{'. "\n"; - $line .= ' $'. $var. '_item = &$this->_tpldata[\''. $var. '.\'][$'. $var. '_i];'."\n"; - $line .= " \${$var}_item['S_ROW_COUNT'] = \${$var}_i;\n"; - $line .= " \${$var}_item['S_NUM_ROWS'] = \${$var}_count;\n"; - $line .= "\n?".">"; - } - else - { - // This block is nested. - // Generate a namespace string for this block. - $namespace = join('.', $block_names); - // strip leading period from root level.. - $namespace = substr($namespace, 2); - // Get a reference to the data array for this block that depends on the - // current indices of all parent blocks. - $varref = $this->generate_block_data_ref($namespace, false); - // Create the for loop code to iterate over this block. - $line = '<'."?php\n\n"; - $line .= '$'. $var. '_count = ( isset('. $varref. ') ) ? sizeof('. $varref. ') : 0;'; - $line .= "\n". 'for ($'. $var. '_i = 0; $'. $var. '_i < $'. $var. '_count; $'. $var. '_i++)'; - $line .= "\n". '{'. "\n"; - $line .= ' $'. $var. '_item = &'. $varref. '[$'. $var. '_i];'."\n"; - $line .= " \${$var}_item['S_ROW_COUNT'] = \${$var}_i;\n"; - $line .= " \${$var}_item['S_NUM_ROWS'] = \${$var}_count;\n"; - $line .= "\n?".">"; - } - $compiled[] = $line; - continue; - } - /* - * - */ - if($keyword_type == XS_TAG_END) - { - $params = explode(' ', $params_str); - $num_params = count($params); - if($num_params == 1) - { - $var = $params[0]; - } - elseif($num_params == 2 && $params[0] === '') - { - $var = $params[1]; - } - elseif($num_params == 2 && $params[1] === '') - { - $var = $params[0]; - } - else - { - $compiled[] = $keyword_str; - continue; - } - // We have the end of a block. - $line = '<'."?php\n\n"; - $line .= '} // END ' . $var . "\n\n"; - $line .= 'if(isset($' . $var . '_item)) { unset($' . $var . '_item); } '; - $line .= "\n\n?".">"; - if(isset($block_items[$var])) - { - $block_items[$var] --; - } - else - { - $block_items[$var] = -1; - } - unset($block_names[$block_nesting_level]); - $block_nesting_level--; - $compiled[] = $line; - continue; - } - /* - * - */ - if($keyword_type == XS_TAG_BEGINELSE) - { - if($block_nesting_level) - { - $var = $block_names[$block_nesting_level]; - $compiled[] = '<' . '?php } if(!$' . $var . '_count) { ?' . '>'; - } - else - { - $compiled[] = $keyword_str; - continue; - } - } - /* - * - */ - if($keyword_type == XS_TAG_INCLUDE) - { - $params = explode(' ', $params_str); - $num_params = count($params); - if($num_params != 1) - { - $compiled[] = $keyword_str; - continue; - } - $line = '<'.'?php '; - $filehash = md5($params_str . $this->include_count . TIMENOW); - $line .= ' $this->set_filename(\'xs_include_' . $filehash . '\', \'' . $params_str .'\', true); '; - $line .= ' $this->pparse(\'xs_include_' . $filehash . '\'); '; - $line .= ' ?'.'>'; - $this->include_count ++; - $compiled[] = $line; - continue; - } - /* - * - */ - if($keyword_type == XS_TAG_IF || $keyword_type == XS_TAG_ELSEIF) - { - if(!$count_if) - { - $keyword_type = XS_TAG_IF; - } - $str = $this->compile_tag_if($params_str, $keyword_type == XS_TAG_IF ? false : true); - if($str) - { - $compiled[] = ''; - if($keyword_type == XS_TAG_IF) - { - $count_if ++; - } - } - else - { - $compiled[] = $keyword_str; - } - continue; - } - /* - * - */ - if($keyword_type == XS_TAG_ELSE && $count_if > 0) - { - $compiled[] = ''; - continue; - } - /* - * - */ - if($keyword_type == XS_TAG_ENDIF && $count_if > 0) - { - $compiled[] = ''; - $count_if --; - continue; - } - } - - // bring it back into a single string. - $code_header = ''; - $code_footer = ''; - - return $code_header . join('', $compiled) . $code_footer; - } - - /* - * Compile code between tags - */ - function _compile_text($code) - { - if(strlen($code) < 3) - { - return $code; - } - // change template varrefs into PHP varrefs - // This one will handle varrefs WITH namespaces - $varrefs = array(); - preg_match_all('#\{(([a-z0-9\-_]+?\.)+)([a-z0-9\-_]+?)\}#is', $code, $varrefs); - $varcount = sizeof($varrefs[1]); - $search = array(); - $replace = array(); - for ($i = 0; $i < $varcount; $i++) - { - $namespace = $varrefs[1][$i]; - $varname = $varrefs[3][$i]; - $new = $this->generate_block_varref($namespace, $varname); - $search[] = $varrefs[0][$i]; - $replace[] = $new; - } - if(count($search) > 0) - { - $code = str_replace($search, $replace, $code); - } - // This will handle the remaining root-level varrefs - $code = preg_replace('#\{(L_([a-z0-9\-_]+?))\}#i', '', $code); - $code = preg_replace('#\{(\$[a-z_][a-z0-9_$\->\'\"\.\[\]]*?)\}#i', '', $code); - $code = preg_replace('#\{(\#([a-z_][a-z0-9_]*?))\}#i', '', $code); - $code = preg_replace('#\{([a-z0-9\-_]+?)\}#i', '', $code); - return $code; - } - - // - // Compile IF tags - much of this is from Smarty with - // some adaptions for our block level methods - // - function compile_tag_if($tag_args, $elseif) - { - /* Tokenize args for 'if' tag. */ - preg_match_all('/(?: - "[^"\\\\]*(?:\\\\.[^"\\\\]*)*" | - \'[^\'\\\\]*(?:\\\\.[^\'\\\\]*)*\' | - [(),] | - [^\s(),]+)/x', $tag_args, $match); - - $tokens = $match[0]; - $tokens_cnt = count($tokens); - $is_arg_stack = array(); - - for ($i = 0; $i < $tokens_cnt; $i++) - { - $token = &$tokens[$i]; - - switch ($token) - { - case 'eq': - $token = '=='; - break; - - case 'ne': - case 'neq': - $token = '!='; - break; - - case 'lt': - $token = '<'; - break; - - case 'le': - case 'lte': - $token = '<='; - break; - - case 'gt': - $token = '>'; - break; - - case 'ge': - case 'gte': - $token = '>='; - break; - - case 'and': - $token = '&&'; - break; - - case 'or': - $token = '||'; - break; - - case 'not': - $token = '!'; - break; - - case 'mod': - $token = '%'; - break; - - case '(': - array_push($is_arg_stack, $i); - break; - - case 'is': - $is_arg_start = ($tokens[$i-1] == ')') ? array_pop($is_arg_stack) : $i-1; - $is_arg = join(' ', array_slice($tokens, $is_arg_start, $i - $is_arg_start)); - - $new_tokens = $this->_parse_is_expr($is_arg, array_slice($tokens, $i+1)); - - array_splice($tokens, $is_arg_start, count($tokens), $new_tokens); - - $i = $is_arg_start; - break; - - default: - $pattern = '@^ - ( # 1 - ([a-z0-9\-_]+?\.)+? # 2 block tpl vars (VAR1.VAR2.) but without last - )? - ( # 3 - ([a-z_][a-z0-9\-_]*)? # 4 single tpl var or last block var (last in block) - (\$[a-z_][a-z0-9_$\->\'\"\.\[\]]*)? # 5 php var - (\#([a-z_][a-z0-9_]*))? # 7 php const - ) - $@ix'; - if (preg_match($pattern, $token, $m)) - { - if (!empty($m[1])) - { - $token = $this->generate_block_data_ref(substr($m[1], 0, -1), true) . "['{$m[4]}']"; - } - else if (!empty($m[4])) - { - $token = ($tokens_cnt == 1) ? "!empty(\$V['{$m[4]}'])" : "\$V['{$m[4]}']"; - } - else if (!empty($m[5])) - { - $token = ($tokens_cnt == 1) ? "!empty({$m[5]})" : "{$m[5]}"; - } - else if (!empty($m[7])) - { - $token = ($tokens_cnt == 1) ? "defined('{$m[7]}') && {$m[7]}" : "{$m[7]}"; - } - } - break; - } - } - - if ($elseif) - { - $code = '} elseif ('. join(' ', $tokens) .') {'; - } - else - { - $code = 'if ('. join(' ', $tokens) .') {'; - } - - return $code; - } - - // This is from Smarty - function _parse_is_expr($is_arg, $tokens) - { - $expr_end = 0; - $negate_expr = false; - - if (($first_token = array_shift($tokens)) == 'not') - { - $negate_expr = true; - $expr_type = array_shift($tokens); - } - else - { - $expr_type = $first_token; - } - - switch ($expr_type) - { - case 'even': - if (@$tokens[$expr_end] == 'by') - { - $expr_end++; - $expr_arg = $tokens[$expr_end++]; - $expr = "!(($is_arg / $expr_arg) % $expr_arg)"; - } - else - { - $expr = "!($is_arg % 2)"; - } - break; - - case 'odd': - if (@$tokens[$expr_end] == 'by') - { - $expr_end++; - $expr_arg = $tokens[$expr_end++]; - $expr = "(($is_arg / $expr_arg) % $expr_arg)"; - } - else - { - $expr = "($is_arg % 2)"; - } - break; - - case 'div': - if (@$tokens[$expr_end] == 'by') - { - $expr_end++; - $expr_arg = $tokens[$expr_end++]; - $expr = "!($is_arg % $expr_arg)"; - } - break; - - default: - break; - } - - if ($negate_expr) - { - $expr = "!($expr)"; - } - - array_splice($tokens, 0, $expr_end, $expr); - - return $tokens; - } - - /** - * Compiles code and writes to cache if needed - */ - function compile2($code, $handle, $cache_file) - { - $code = $this->compile_code('', $code, XS_USE_ISSET); - if ($cache_file && !empty($this->use_cache) && !empty($this->auto_compile)) - { - $res = $this->write_cache($cache_file, $code); - if ($handle && $res) - { - $this->files_cache[$handle] = $cache_file; - } - } - $code = '?'.'>'.$code.'<'."?php\n"; - return $code; - } - - /** - * Compiles the given string of code, and returns - * the result in a string. - * If "do_not_echo" is true, the returned code will not be directly - * executable, but can be used as part of a variable assignment - * for use in assign_code_from_handle(). - * This function isn't used and kept only for compatibility with original template.php - */ - function compile($code, $do_not_echo = false, $retvar = '') - { - $code = ' ?'.'>' . $this->compile_code('', $code, true) . '<'."?php \n"; - if ($do_not_echo) - { - $code = "ob_start();\n". $code. "\n\${$retvar} = ob_get_contents();\nob_end_clean();\n"; - } - return $code; - } - - /** - * Write cache to disk - */ - function write_cache($filename, $code) - { - file_write($code, $filename, false, true, true); - } - - function xs_startup() - { - global $bb_cfg; - - if (empty($this->xs_started)) - { // adding predefined variables - $this->xs_started = 1; - // adding language variable (eg: "english" or "german") - // can be used to make truly multi-lingual templates - $this->vars['LANG'] = isset($this->vars['LANG']) ? $this->vars['LANG'] : $bb_cfg['default_lang']; - // adding current template - $tpl = $this->root . '/'; - if (substr($tpl, 0, 2) === './') - { - $tpl = substr($tpl, 2, strlen($tpl)); - } - $this->vars['TEMPLATE'] = isset($this->vars['TEMPLATE']) ? $this->vars['TEMPLATE'] : $tpl; - $this->vars['TEMPLATE_NAME'] = isset($this->vars['TEMPLATE_NAME']) ? $this->vars['TEMPLATE_NAME'] : $this->tpl; - } - } - - function lang_error($var) - { - trigger_error(basename($this->cur_tpl) ." : undefined language variable {L_{$var}}", E_USER_WARNING); - return "Undefined: {L_{$var}}"; - } +execute() scope!) + * "#" - constant, {#CON} is eq to CON + * + */ + +if (!defined('BB_ROOT')) +{ + die(basename(__FILE__)); +} + +define('XS_SEPARATOR', '.'); +define('XS_USE_ISSET', '1'); + +// cache filenames prefix +define('XS_TPL_PREFIX', 'tpl_'); +define('XS_TPL_PREFIX2', 'tpl2_'); + +// internal xs mod definitions. do not edit. +define('XS_TAG_NONE', 0); +define('XS_TAG_PHP', 1); +define('XS_TAG_BEGIN', 2); +define('XS_TAG_END', 3); +define('XS_TAG_INCLUDE', 4); +define('XS_TAG_IF', 5); +define('XS_TAG_ELSE', 6); +define('XS_TAG_ELSEIF', 7); +define('XS_TAG_ENDIF', 8); +define('XS_TAG_BEGINELSE', 11); + +class Template +{ + var $classname = "Template"; + + // variable that holds all the data we'll be substituting into + // the compiled templates. + // ... + // This will end up being a multi-dimensional array like this: + // $this->_tpldata[block.][iteration#][child.][iteration#][child2.][iteration#][variablename] == value + // if it's a root-level variable, it'll be like this: + // $this->vars[varname] == value or $this->_tpldata['.'][0][varname] == value + // array "vars" is added for easier access to data + var $_tpldata = array('.' => array(0 => array())); + var $vars; + + // Hash of filenames for each template handle. + var $files = array(); + var $files_cache = array(); // array of cache files that exists + var $files_cache2 = array(); // array of cache files (exists or not exists) + + // Root template directory. + var $root = ''; + + // Cache directory + var $cachedir = CACHE_DIR; + + // Template root directory + var $tpldir = ''; + + // Default template directory. + // If file for default template isn't found file from this template is used. + var $tpldef = 'default'; + + // this will hash handle names to the compiled code for that handle. + var $compiled_code = array(); + + // This will hold the uncompiled code for that handle. + var $uncompiled_code = array(); + + // Cache settings + var $use_cache = 1; + var $cache_writable = 1; + + // Auto-compile setting + var $auto_compile = 1; + + // Current template name + var $tpl = ''; + var $cur_tpl = ''; + + // List of replacements. tpl files in this list will be replaced with other tpl files + // according to configuration in xs.cfg + var $replace = array(); + + // counter for include + var $include_count = 0; + + // extension tpl-cache files + var $cached_tpl_ext = 'php'; + + // eXtreme Styles variables + var $xs_started = 0; + var $xs_version = 8; // number version. internal. do not change. + var $xs_versiontxt = '2.3.1'; // text version + + // These handles will be parsed if pparse() is executed. + // Can be used to automatically include header/footer if there is any content. + var $preparse = ''; + var $postparse = ''; + + // subtemplates mod detection + var $subtemplates = false; + + // style configuration + var $style_config = array(); + + var $lang = array(); + + /** + * Constructor. Installs XS mod on first run or updates it and sets the root dir. + */ + function Template($root = '.') + { + global $bb_cfg, $lang; + + // setting pointer "vars" + $this->vars = &$this->_tpldata['.'][0]; + // load configuration + $this->tpldir = TEMPLATES_DIR; + $this->root = $root; + $this->tpl = basename($root); + $this->lang =& $lang; + $this->use_cache = $bb_cfg['xs_use_cache']; + } + + /** + * Destroys this template object. Should be called when you're done with it, in order + * to clear out the template data so you can load/parse a new template set. + */ + function destroy() + { + $this->_tpldata = array('.' => array(0 => array())); + $this->vars = &$this->_tpldata['.'][0]; + $this->xs_started = 0; + } + + /** + * Generates a full path+filename for the given filename, which can either + * be an absolute name, or a name relative to the rootdir for this Template + * object. + */ + function make_filename($filename, $xs_include = false) + { + // Check replacements list + if(!$xs_include && isset($this->replace[$filename])) + { + $filename = $this->replace[$filename]; + } + // Check if it's an absolute or relative path. + if ((substr($filename, 0, 1) !== '/') && (substr($filename, 1, 1) !== ':')) + { + return $this->root . '/' . $filename; + } + else + { + return $filename; + } + } + + /** + * Converts template filename to cache filename. + * Returns empty string if non-cachable (for tpl files outside of root dir). + * $filename should be absolute filename + */ + function make_filename_cache ($filename) + { + $filename = clean_filename(str_replace(TEMPLATES_DIR, '', $filename)); + + return $this->cachedir . XS_TPL_PREFIX . $filename .'.'. $this->cached_tpl_ext; + } + + /** + * Sets the template filenames for handles. $filename_array + * should be a hash of handle => filename pairs. + */ + function set_filenames ($filenames) + { + foreach ($filenames as $handle => $filename) + { + $this->set_filename($handle, $filename); + } + } + + /** + * Assigns template filename for handle. + */ + function set_filename($handle, $filename, $xs_include = false, $quiet = false) + { + $can_cache = $this->use_cache; + $this->files[$handle] = $this->make_filename($filename, $xs_include); + $this->files_cache[$handle] = ''; + $this->files_cache2[$handle] = ''; + // checking if we have valid filename + if(!$this->files[$handle]) + { + if($xs_include || $quiet) + { + return false; + } + else + { + die("Template->make_filename(): Error - invalid template $filename"); + } + } + // creating cache filename + if($can_cache) + { + $this->files_cache2[$handle] = $this->make_filename_cache($this->files[$handle]); + if(@file_exists($this->files_cache2[$handle])) + { + $this->files_cache[$handle] = $this->files_cache2[$handle]; + } + } + // checking if tpl and/or php file exists + if(empty($this->files_cache[$handle]) && !@file_exists($this->files[$handle])) + { + if($quiet) + { + return false; + } + die('Template->make_filename(): Error - template file not found:

    ' . hide_bb_path($this->files[$handle])); + } + // checking if we should recompile cache + if(!empty($this->files_cache[$handle])) + { + $cache_time = @filemtime($this->files_cache[$handle]); + if(@filemtime($this->files[$handle]) > $cache_time) + { + // file was changed. don't use cache file (will be recompled if configuration allowes it) + $this->files_cache[$handle] = ''; + } + } + return true; + } + + /** + * includes file or executes code + */ + function execute($filename, $code, $handle) + { + $this->cur_tpl = $filename; + + global $lang, $bb_cfg, $user, $tr_cfg; + + $L =& $lang; + $V =& $this->vars; + + if ($filename) + { + include($filename); + } + else + { + eval($code); + } + } + + /** + * Load the file for the handle, compile the file, + * and run the compiled code. This will print out + * the results of executing the template. + */ + function pparse($handle) + { + // parsing header if there is one + if($this->preparse || $this->postparse) + { + $preparse = $this->preparse; + $postparse = $this->postparse; + $this->preparse = ''; + $this->postparse = ''; + if($preparse) + { + $this->pparse($preparse); + } + if($postparse) + { + $str = $handle; + $handle = $postparse; + $this->pparse($str); + } + } + // checking if handle exists + if (empty($this->files[$handle]) && empty($this->files_cache[$handle])) + { + die("Template->loadfile(): No files found for handle $handle"); + } + $this->xs_startup(); + $force_recompile = empty($this->uncompiled_code[$handle]) ? false : true; + // checking if php file exists. + if (!empty($this->files_cache[$handle]) && !$force_recompile) + { + // php file exists - running it instead of tpl + $this->execute($this->files_cache[$handle], '', $handle); + return true; + } + if (!$this->loadfile($handle)) + { + die("Template->pparse(): Could not load template file for handle $handle"); + } + // actually compile the template now. + if (empty($this->compiled_code[$handle])) + { + // Actually compile the code now. + if(!empty($this->files_cache2[$handle]) && empty($this->files_cache[$handle]) && !$force_recompile) + { + $this->compiled_code[$handle] = $this->compile2($this->uncompiled_code[$handle], $handle, $this->files_cache2[$handle]); + } + else + { + $this->compiled_code[$handle] = $this->compile2($this->uncompiled_code[$handle], '', ''); + } + } + // Run the compiled code. + if (empty($this->files_cache[$handle]) || $force_recompile) + { + $this->execute('', $this->compiled_code[$handle], $handle); + } + else + { + $this->execute($this->files_cache[$handle], '', $handle); + } + return true; + } + + /** + * Precompile file + */ + function precompile($template, $filename) + { + global $precompile_num; + if(empty($precompile_num)) + { + $precompile_num = 0; + } + $precompile_num ++; + $handle = 'precompile_' . $precompile_num; + // save old configuration + $root = $this->root; + $tpl_name = $this->tpl; + $old_config = $this->use_cache; + $old_autosave = $this->auto_compile; + // set temporary configuration + $this->root = $this->tpldir . $template; + $this->tpl = $template; + $this->use_cache = 1; + $this->auto_compile = 1; + // set filename + $res = $this->set_filename($handle, $filename, true, true); + if(!$res || !$this->files_cache2[$handle]) + { + $this->root = $root; + $this->tpl = $tpl_name; + $this->use_cache = $old_config; + $this->auto_compile = $old_autosave; + return false; + } + $this->files_cache[$handle] = ''; + // load template + $res = $this->loadfile($handle); + if(!$res || empty($this->uncompiled_code[$handle])) + { + $this->root = $root; + $this->tpl = $tpl_name; + $this->use_cache = $old_config; + $this->auto_compile = $old_autosave; + return false; + } + // compile the code + $this->compile2($this->uncompiled_code[$handle], $handle, $this->files_cache2[$handle]); + // restore confirugation + $this->root = $root; + $this->tpl = $tpl_name; + $this->use_cache = $old_config; + $this->auto_compile = $old_autosave; + return true; + } + + /** + * Inserts the uncompiled code for $handle as the + * value of $varname in the root-level. This can be used + * to effectively include a template in the middle of another + * template. + * Note that all desired assignments to the variables in $handle should be done + * BEFORE calling this function. + */ + function assign_var_from_handle($varname, $handle) + { + ob_start(); + $res = $this->pparse($handle); + $this->vars[$varname] = ob_get_contents(); + ob_end_clean(); + return $res; + } + + /** + * Block-level variable assignment. Adds a new block iteration with the given + * variable assignments. Note that this should only be called once per block + * iteration. + */ + function assign_block_vars($blockname, $vararray) + { + if (strstr($blockname, '.')) + { + // Nested block. + $blocks = explode('.', $blockname); + $blockcount = sizeof($blocks) - 1; + + $str = &$this->_tpldata; + for($i = 0; $i < $blockcount; $i++) + { + $str = &$str[$blocks[$i].'.']; + $str = &$str[sizeof($str)-1]; + } + // Now we add the block that we're actually assigning to. + // We're adding a new iteration to this block with the given + // variable assignments. + $str[$blocks[$blockcount].'.'][] = $vararray; + } + else + { + // Top-level block. + // Add a new iteration to this block with the variable assignments + // we were given. + $this->_tpldata[$blockname.'.'][] = $vararray; + } + + return true; + } + + /** + * Root-level variable assignment. Adds to current assignments, overriding + * any existing variable assignment with the same name. + */ + function assign_vars ($vararray) + { + foreach ($vararray as $key => $val) + { + $this->vars[$key] = $val; + } + } + + /** + * Root-level variable assignment. Adds to current assignments, overriding + * any existing variable assignment with the same name. + */ + function assign_var ($varname, $varval = true) + { + $this->vars[$varname] = $varval; + } + + /** + * TODO: Add type check [??] + * Root-level. Adds to current assignments, appends + * to any existing variable assignment with the same name. + */ + function append_vars ($vararray) + { + foreach ($vararray as $key => $val) + { + $this->vars[$key] = !isset($this->vars[$key]) ? $val : $this->vars[$key] . $val; + } + } + + /** + * If not already done, load the file for the given handle and populate + * the uncompiled_code[] hash with its code. Do not compile. + */ + function loadfile($handle) + { + // If cached file exists do nothing - it will be included via include() + if(!empty($this->files_cache[$handle])) + { + return true; + } + + // If the file for this handle is already loaded and compiled, do nothing. + if (!empty($this->uncompiled_code[$handle])) + { + return true; + } + + // If we don't have a file assigned to this handle, die. + if (empty($this->files[$handle])) + { + die("Template->loadfile(): No file specified for handle $handle"); + } + + $filename = $this->files[$handle]; + + if (($str = @file_get_contents($filename)) === false) + { + die("Template->loadfile(): File $filename for handle $handle is empty"); + } + + $this->uncompiled_code[$handle] = $str; + + return true; + } + + /** + * Generates a reference to the given variable inside the given (possibly nested) + * block namespace. This is a string of the form: + * ' . $this->_tpldata['parent.'][$_parent_i]['$child1.'][$_child1_i]['$child2.'][$_child2_i]...['varname'] . ' + * It's ready to be inserted into an "echo" line in one of the templates. + * NOTE: expects a trailing "." on the namespace. + */ + function generate_block_varref($namespace, $varname) + { + // Strip the trailing period. + $namespace = substr($namespace, 0, strlen($namespace) - 1); + + // Get a reference to the data block for this namespace. + $varref = $this->generate_block_data_ref($namespace, true); + // Prepend the necessary code to stick this in an echo line. + + // Append the variable reference. + $varref .= "['$varname']"; + + $varref = ""; + + return $varref; + } + + /** + * Generates a reference to the array of data values for the given + * (possibly nested) block namespace. This is a string of the form: + * $this->_tpldata['parent.'][$_parent_i]['$child1.'][$_child1_i]['$child2.'][$_child2_i]...['$childN.'] + * + * If $include_last_iterator is true, then [$_childN_i] will be appended to the form shown above. + * NOTE: does not expect a trailing "." on the blockname. + */ + function generate_block_data_ref($blockname, $include_last_iterator) + { + // Get an array of the blocks involved. + $blocks = explode('.', $blockname); + $blockcount = sizeof($blocks) - 1; + if($include_last_iterator) + { + return '$'. $blocks[$blockcount]. '_item'; + } + else + { + return '$'. $blocks[$blockcount-1]. '_item[\''. $blocks[$blockcount]. '.\']'; + } + } + + function compile_code($filename, $code) + { + // $filename - file to load code from. used if $code is empty + // $code - tpl code + + // load code from file + if (!$code && !empty($filename)) + { + $code = file_get_contents($filename); + } + + // Replace tags + $search = array('', ''); + $replace = array('<'.'?php ', ' ?'.'>'); + $code = str_replace($search, $replace, $code); + + // Break it up into lines and put " -->" back. + $code_lines = explode(' -->', $code); + $count = count($code_lines); + for ($i = 0; $i < ($count - 1); $i++) + { + $code_lines[$i] .= ' -->'; + } + + $block_nesting_level = 0; + $block_names = array(); + $block_names[0] = "."; + $block_items = array(); + $count_if = 0; + + // prepare array for compiled code + $compiled = array(); + + // array of switches + $sw = array(); + + // replace all short php tags + $new_code = array(); + $line_count = count($code_lines); + for($i=0; $i<$line_count; $i++) + { + $line = $code_lines[$i]; + $pos = strpos($line, ''; + $code_lines[$i] = substr($line, $pos + 2); + $i --; + } + $code_lines = $new_code; + + // main loop + $line_count = count($code_lines); + for($i=0; $i<$line_count; $i++) + { + $line = $code_lines[$i]; + // reset keyword type + $keyword_type = XS_TAG_NONE; + // check if we have valid keyword in current line + $pos1 = strpos($line, '', $pos1); + if($pos2 !== false) + { + // find end of keyword in comment + $pos3 = strpos($line, ' ', $pos1 + 5); + if($pos3 !== false && $pos3 <= $pos2) + { + $keyword = substr($line, $pos1 + 5, $pos3 - $pos1 - 5); + // check keyword against list of supported keywords. case-sensitive + if($keyword === 'BEGIN') + { + $keyword_type = XS_TAG_BEGIN; + } + elseif($keyword === 'END') + { + $keyword_type = XS_TAG_END; + } + elseif($keyword === 'INCLUDE') + { + $keyword_type = XS_TAG_INCLUDE; + } + elseif($keyword === 'IF') + { + $keyword_type = XS_TAG_IF; + } + elseif($keyword === 'ELSE') + { + $keyword_type = XS_TAG_ELSE; + } + elseif($keyword === 'ELSEIF') + { + $keyword_type = XS_TAG_ELSEIF; + } + elseif($keyword === 'ENDIF') + { + $keyword_type = XS_TAG_ENDIF; + } + elseif($keyword === 'BEGINELSE') + { + $keyword_type = XS_TAG_BEGINELSE; + } + } + } + if(!$keyword_type) + { + // not valid keyword. process the rest of line + $compiled[] = $this->_compile_text(substr($line, 0, $pos1 + 4)); + $code_lines[$i] = substr($line, $pos1 + 4); + $i --; + continue; + } + // remove code before keyword + if($pos1 > 0) + { + $compiled[] = $this->_compile_text(substr($line, 0, $pos1)); + } + // remove keyword + $keyword_str = substr($line, $pos1, $pos2 - $pos1 + 4); + $params_str = $pos2 == $pos3 ? '' : substr($line, $pos3 + 1, $pos2 - $pos3 - 1); + $code_lines[$i] = substr($line, $pos2 + 4); + $i--; + // Check keywords + + /* + * + */ + if($keyword_type == XS_TAG_BEGIN) + { + $params = explode(' ', $params_str); + $num_params = count($params); + // get variable name + if($num_params == 1) + { + $var = $params[0]; + } + elseif($num_params == 2) + { + if($params[0] === '') + { + $var = $params[1]; + } + elseif($params[1] === '') + { + $var = $params[0]; + } + else + { + // invalid tag + $compiled[] = $keyword_str; + continue; + } + } + else + { + // invalid tag + $compiled[] = $keyword_str; + continue; + } + // adding code + $block_nesting_level++; + $block_names[$block_nesting_level] = $var; + if(isset($block_items[$var])) + { + $block_items[$var] ++; + } + else + { + $block_items[$var] = 1; + } + if ($block_nesting_level < 2) + { + // Block is not nested. + $line = '<'."?php\n\n"; + $line .= '$'. $var. '_count = ( isset($this->_tpldata[\''. $var. '.\']) ) ? sizeof($this->_tpldata[\''. $var. '.\']) : 0;'; + $line .= "\n" . 'for ($'. $var. '_i = 0; $'. $var. '_i < $'. $var. '_count; $'. $var. '_i++)'; + $line .= "\n". '{'. "\n"; + $line .= ' $'. $var. '_item = &$this->_tpldata[\''. $var. '.\'][$'. $var. '_i];'."\n"; + $line .= " \${$var}_item['S_ROW_COUNT'] = \${$var}_i;\n"; + $line .= " \${$var}_item['S_NUM_ROWS'] = \${$var}_count;\n"; + $line .= "\n?".">"; + } + else + { + // This block is nested. + // Generate a namespace string for this block. + $namespace = join('.', $block_names); + // strip leading period from root level.. + $namespace = substr($namespace, 2); + // Get a reference to the data array for this block that depends on the + // current indices of all parent blocks. + $varref = $this->generate_block_data_ref($namespace, false); + // Create the for loop code to iterate over this block. + $line = '<'."?php\n\n"; + $line .= '$'. $var. '_count = ( isset('. $varref. ') ) ? sizeof('. $varref. ') : 0;'; + $line .= "\n". 'for ($'. $var. '_i = 0; $'. $var. '_i < $'. $var. '_count; $'. $var. '_i++)'; + $line .= "\n". '{'. "\n"; + $line .= ' $'. $var. '_item = &'. $varref. '[$'. $var. '_i];'."\n"; + $line .= " \${$var}_item['S_ROW_COUNT'] = \${$var}_i;\n"; + $line .= " \${$var}_item['S_NUM_ROWS'] = \${$var}_count;\n"; + $line .= "\n?".">"; + } + $compiled[] = $line; + continue; + } + /* + * + */ + if($keyword_type == XS_TAG_END) + { + $params = explode(' ', $params_str); + $num_params = count($params); + if($num_params == 1) + { + $var = $params[0]; + } + elseif($num_params == 2 && $params[0] === '') + { + $var = $params[1]; + } + elseif($num_params == 2 && $params[1] === '') + { + $var = $params[0]; + } + else + { + $compiled[] = $keyword_str; + continue; + } + // We have the end of a block. + $line = '<'."?php\n\n"; + $line .= '} // END ' . $var . "\n\n"; + $line .= 'if(isset($' . $var . '_item)) { unset($' . $var . '_item); } '; + $line .= "\n\n?".">"; + if(isset($block_items[$var])) + { + $block_items[$var] --; + } + else + { + $block_items[$var] = -1; + } + unset($block_names[$block_nesting_level]); + $block_nesting_level--; + $compiled[] = $line; + continue; + } + /* + * + */ + if($keyword_type == XS_TAG_BEGINELSE) + { + if($block_nesting_level) + { + $var = $block_names[$block_nesting_level]; + $compiled[] = '<' . '?php } if(!$' . $var . '_count) { ?' . '>'; + } + else + { + $compiled[] = $keyword_str; + continue; + } + } + /* + * + */ + if($keyword_type == XS_TAG_INCLUDE) + { + $params = explode(' ', $params_str); + $num_params = count($params); + if($num_params != 1) + { + $compiled[] = $keyword_str; + continue; + } + $line = '<'.'?php '; + $filehash = md5($params_str . $this->include_count . TIMENOW); + $line .= ' $this->set_filename(\'xs_include_' . $filehash . '\', \'' . $params_str .'\', true); '; + $line .= ' $this->pparse(\'xs_include_' . $filehash . '\'); '; + $line .= ' ?'.'>'; + $this->include_count ++; + $compiled[] = $line; + continue; + } + /* + * + */ + if($keyword_type == XS_TAG_IF || $keyword_type == XS_TAG_ELSEIF) + { + if(!$count_if) + { + $keyword_type = XS_TAG_IF; + } + $str = $this->compile_tag_if($params_str, $keyword_type == XS_TAG_IF ? false : true); + if($str) + { + $compiled[] = ''; + if($keyword_type == XS_TAG_IF) + { + $count_if ++; + } + } + else + { + $compiled[] = $keyword_str; + } + continue; + } + /* + * + */ + if($keyword_type == XS_TAG_ELSE && $count_if > 0) + { + $compiled[] = ''; + continue; + } + /* + * + */ + if($keyword_type == XS_TAG_ENDIF && $count_if > 0) + { + $compiled[] = ''; + $count_if --; + continue; + } + } + + // bring it back into a single string. + $code_header = ''; + $code_footer = ''; + + return $code_header . join('', $compiled) . $code_footer; + } + + /* + * Compile code between tags + */ + function _compile_text($code) + { + if(strlen($code) < 3) + { + return $code; + } + // change template varrefs into PHP varrefs + // This one will handle varrefs WITH namespaces + $varrefs = array(); + preg_match_all('#\{(([a-z0-9\-_]+?\.)+)([a-z0-9\-_]+?)\}#is', $code, $varrefs); + $varcount = sizeof($varrefs[1]); + $search = array(); + $replace = array(); + for ($i = 0; $i < $varcount; $i++) + { + $namespace = $varrefs[1][$i]; + $varname = $varrefs[3][$i]; + $new = $this->generate_block_varref($namespace, $varname); + $search[] = $varrefs[0][$i]; + $replace[] = $new; + } + if(count($search) > 0) + { + $code = str_replace($search, $replace, $code); + } + // This will handle the remaining root-level varrefs + $code = preg_replace('#\{(L_([a-z0-9\-_]+?))\}#i', '', $code); + $code = preg_replace('#\{(\$[a-z_][a-z0-9_$\->\'\"\.\[\]]*?)\}#i', '', $code); + $code = preg_replace('#\{(\#([a-z_][a-z0-9_]*?))\}#i', '', $code); + $code = preg_replace('#\{([a-z0-9\-_]+?)\}#i', '', $code); + return $code; + } + + // + // Compile IF tags - much of this is from Smarty with + // some adaptions for our block level methods + // + function compile_tag_if($tag_args, $elseif) + { + /* Tokenize args for 'if' tag. */ + preg_match_all('/(?: + "[^"\\\\]*(?:\\\\.[^"\\\\]*)*" | + \'[^\'\\\\]*(?:\\\\.[^\'\\\\]*)*\' | + [(),] | + [^\s(),]+)/x', $tag_args, $match); + + $tokens = $match[0]; + $tokens_cnt = count($tokens); + $is_arg_stack = array(); + + for ($i = 0; $i < $tokens_cnt; $i++) + { + $token = &$tokens[$i]; + + switch ($token) + { + case 'eq': + $token = '=='; + break; + + case 'ne': + case 'neq': + $token = '!='; + break; + + case 'lt': + $token = '<'; + break; + + case 'le': + case 'lte': + $token = '<='; + break; + + case 'gt': + $token = '>'; + break; + + case 'ge': + case 'gte': + $token = '>='; + break; + + case 'and': + $token = '&&'; + break; + + case 'or': + $token = '||'; + break; + + case 'not': + $token = '!'; + break; + + case 'mod': + $token = '%'; + break; + + case '(': + array_push($is_arg_stack, $i); + break; + + case 'is': + $is_arg_start = ($tokens[$i-1] == ')') ? array_pop($is_arg_stack) : $i-1; + $is_arg = join(' ', array_slice($tokens, $is_arg_start, $i - $is_arg_start)); + + $new_tokens = $this->_parse_is_expr($is_arg, array_slice($tokens, $i+1)); + + array_splice($tokens, $is_arg_start, count($tokens), $new_tokens); + + $i = $is_arg_start; + break; + + default: + $pattern = '@^ + ( # 1 + ([a-z0-9\-_]+?\.)+? # 2 block tpl vars (VAR1.VAR2.) but without last + )? + ( # 3 + ([a-z_][a-z0-9\-_]*)? # 4 single tpl var or last block var (last in block) + (\$[a-z_][a-z0-9_$\->\'\"\.\[\]]*)? # 5 php var + (\#([a-z_][a-z0-9_]*))? # 7 php const + ) + $@ix'; + if (preg_match($pattern, $token, $m)) + { + if (!empty($m[1])) + { + $token = $this->generate_block_data_ref(substr($m[1], 0, -1), true) . "['{$m[4]}']"; + } + else if (!empty($m[4])) + { + $token = ($tokens_cnt == 1) ? "!empty(\$V['{$m[4]}'])" : "\$V['{$m[4]}']"; + } + else if (!empty($m[5])) + { + $token = ($tokens_cnt == 1) ? "!empty({$m[5]})" : "{$m[5]}"; + } + else if (!empty($m[7])) + { + $token = ($tokens_cnt == 1) ? "defined('{$m[7]}') && {$m[7]}" : "{$m[7]}"; + } + } + break; + } + } + + if ($elseif) + { + $code = '} elseif ('. join(' ', $tokens) .') {'; + } + else + { + $code = 'if ('. join(' ', $tokens) .') {'; + } + + return $code; + } + + // This is from Smarty + function _parse_is_expr($is_arg, $tokens) + { + $expr_end = 0; + $negate_expr = false; + + if (($first_token = array_shift($tokens)) == 'not') + { + $negate_expr = true; + $expr_type = array_shift($tokens); + } + else + { + $expr_type = $first_token; + } + + switch ($expr_type) + { + case 'even': + if (@$tokens[$expr_end] == 'by') + { + $expr_end++; + $expr_arg = $tokens[$expr_end++]; + $expr = "!(($is_arg / $expr_arg) % $expr_arg)"; + } + else + { + $expr = "!($is_arg % 2)"; + } + break; + + case 'odd': + if (@$tokens[$expr_end] == 'by') + { + $expr_end++; + $expr_arg = $tokens[$expr_end++]; + $expr = "(($is_arg / $expr_arg) % $expr_arg)"; + } + else + { + $expr = "($is_arg % 2)"; + } + break; + + case 'div': + if (@$tokens[$expr_end] == 'by') + { + $expr_end++; + $expr_arg = $tokens[$expr_end++]; + $expr = "!($is_arg % $expr_arg)"; + } + break; + + default: + break; + } + + if ($negate_expr) + { + $expr = "!($expr)"; + } + + array_splice($tokens, 0, $expr_end, $expr); + + return $tokens; + } + + /** + * Compiles code and writes to cache if needed + */ + function compile2($code, $handle, $cache_file) + { + $code = $this->compile_code('', $code, XS_USE_ISSET); + if ($cache_file && !empty($this->use_cache) && !empty($this->auto_compile)) + { + $res = $this->write_cache($cache_file, $code); + if ($handle && $res) + { + $this->files_cache[$handle] = $cache_file; + } + } + $code = '?'.'>'.$code.'<'."?php\n"; + return $code; + } + + /** + * Compiles the given string of code, and returns + * the result in a string. + * If "do_not_echo" is true, the returned code will not be directly + * executable, but can be used as part of a variable assignment + * for use in assign_code_from_handle(). + * This function isn't used and kept only for compatibility with original template.php + */ + function compile($code, $do_not_echo = false, $retvar = '') + { + $code = ' ?'.'>' . $this->compile_code('', $code, true) . '<'."?php \n"; + if ($do_not_echo) + { + $code = "ob_start();\n". $code. "\n\${$retvar} = ob_get_contents();\nob_end_clean();\n"; + } + return $code; + } + + /** + * Write cache to disk + */ + function write_cache($filename, $code) + { + file_write($code, $filename, false, true, true); + } + + function xs_startup() + { + global $bb_cfg; + + if (empty($this->xs_started)) + { // adding predefined variables + $this->xs_started = 1; + // adding language variable (eg: "english" or "german") + // can be used to make truly multi-lingual templates + $this->vars['LANG'] = isset($this->vars['LANG']) ? $this->vars['LANG'] : $bb_cfg['default_lang']; + // adding current template + $tpl = $this->root . '/'; + if (substr($tpl, 0, 2) === './') + { + $tpl = substr($tpl, 2, strlen($tpl)); + } + $this->vars['TEMPLATE'] = isset($this->vars['TEMPLATE']) ? $this->vars['TEMPLATE'] : $tpl; + $this->vars['TEMPLATE_NAME'] = isset($this->vars['TEMPLATE_NAME']) ? $this->vars['TEMPLATE_NAME'] : $this->tpl; + } + } + + function lang_error($var) + { + trigger_error(basename($this->cur_tpl) ." : undefined language variable {L_{$var}}", E_USER_WARNING); + return "Undefined: {L_{$var}}"; + } } \ No newline at end of file diff --git a/upload/includes/ucp/register.php b/upload/includes/ucp/register.php index b2472bbb7..f6632b6a2 100644 --- a/upload/includes/ucp/register.php +++ b/upload/includes/ucp/register.php @@ -1,777 +1,777 @@ -assign_vars(array( - 'NEW_USER' => $new_user, - )); -} - -$can_register = (IS_GUEST || IS_ADMIN); - -$submit = !empty($_POST['submit']); -$errors = array(); -$adm_edit = false; // редактирование админом чужого профиля - -require(INC_DIR .'bbcode.php'); -require(INC_DIR .'functions_validate.php'); -require(INC_DIR .'functions_selects.php'); - -$pr_data = array(); // данные редактируемого либо регистрационного профиля -$db_data = array(); // данные для базы: регистрационные либо измененные данные юзера -$tp_data = array(); // данные для tpl - -// Данные профиля -switch ($mode) -{ - /** - * Регистрация - */ - case 'register': - if (!$can_register) redirect('index.php'); - - if (!IS_ADMIN) - { - // Ограничение по ip - if($bb_cfg['unique_ip']) - { - if($users = DB()->fetch_row("SELECT user_id, username FROM ". BB_USERS ." WHERE user_reg_ip = '". USER_IP ."' LIMIT 1")) - { - bb_die(sprintf($lang['ALREADY_REG_IP'], ''. $users['username'] .'', $bb_cfg['tech_admin_email'])); - } - } - // Отключение регистрации - if ($bb_cfg['new_user_reg_disabled'] || ($bb_cfg['reg_email_activation'] && $bb_cfg['emailer_disabled'])) - { - bb_die($lang['NEW_USER_REG_DISABLED']); - } - // Ограничение по времени - else if ($bb_cfg['new_user_reg_restricted']) - { - if (in_array(date('G'), array(0,/*1,2,3,4,5,6,7,8,11,12,13,14,15,16,*/17,18,19,20,21,22,23))) - { - bb_die($lang['REGISTERED_IN_TIME']); - } - } - } - - // field => can_edit - $profile_fields = array( - 'username' => true, - 'user_password' => true, - 'user_email' => true, - 'user_timezone' => true, - 'user_lang' => true, - 'user_opt' => true, - ); - - $pr_data = array( - 'user_id' => GUEST_UID, - 'username' => '', - 'user_password' => '', - 'user_email' => '', - 'user_timezone' => $bb_cfg['board_timezone'], - 'user_lang' => $bb_cfg['default_lang'], - 'user_opt' => 0, - 'avatar_ext_id' => 0, - ); - break; - - /** - * Редактирование профиля - */ - case 'editprofile': - if (IS_GUEST) login_redirect(); - - // field => can_edit - $profile_fields = array( - 'user_active' => IS_ADMIN, - 'username' => (IS_ADMIN || $bb_cfg['allow_namechange']), - 'user_password' => true, - 'user_email' => true, // должен быть после user_password - 'user_lang' => true, - 'user_gender' => true, - 'user_birthday' => true, - 'user_timezone' => true, - 'user_opt' => true, - 'avatar_ext_id' => true, - 'user_icq' => true, - 'user_skype' => true, - 'user_twitter' => true, - 'user_website' => true, - 'user_from' => true, - 'user_sig' => true, - 'user_occ' => true, - 'user_interests' => true, - 'tpl_name' => true, - ); - - // Выбор профиля: для юзера свой, для админа любой - if (IS_ADMIN && !empty($_REQUEST['u'])) - { - $pr_user_id = (int) $_REQUEST['u']; - $adm_edit = ($pr_user_id != $userdata['user_id']); - } - else - { - $pr_user_id = $userdata['user_id']; - } - $profile_fields_sql = join(', ', array_keys($profile_fields)); - $sql = " - SELECT - user_id, - user_rank, - user_level, - $profile_fields_sql - FROM ". BB_USERS ." - WHERE user_id = $pr_user_id - LIMIT 1 - "; - if (!$pr_data = DB()->fetch_row($sql)) - { - bb_die($lang['PROFILE_NOT_FOUND']); - } - break; - - default: - trigger_error("invalid mode: $mode", E_USER_ERROR); -} - -// CAPTCHA -$need_captcha = ($mode == 'register' && !IS_ADMIN); - -if ($submit) -{ - if ($need_captcha && !CAPTCHA()->verify_code()) - { - $errors[] = $lang['CONFIRM_CODE_WRONG']; - } -} - -// Валидация данных -$cur_pass_valid = $adm_edit; - -foreach ($profile_fields as $field => $can_edit) -{ - switch ($field) - { - /** - * Активация (edit, reg) - */ - case 'user_active': - $active = isset($_POST['user_active']) ? (int) $_POST['user_active'] : $pr_data['user_active']; - if ($submit && $adm_edit) - { - $pr_data['user_active'] = $active; - $db_data['user_active'] = $active; - } - break; - - /** - * Имя (edit, reg) - */ - case 'username': - $username = !empty($_POST['username']) ? clean_username($_POST['username']) : $pr_data['username']; - - if ($submit) - { - $err = validate_username($username); - if (!$errors AND $err && $mode == 'register') - { - $errors[] = $err; - } - if ($can_edit && $username != $pr_data['username'] || $mode == 'register') - { - $pr_data['username'] = $username; - $db_data['username'] = $username; - } - } - $tp_data['CAN_EDIT_USERNAME'] = $can_edit; - $tp_data['USERNAME'] = $pr_data['username']; - break; - - /** - * Пароль (edit, reg) - */ - case 'user_password': - if ($submit) - { - $cur_pass = (string) @$_POST['cur_pass']; - $new_pass = (string) @$_POST['new_pass']; - $cfm_pass = (string) @$_POST['cfm_pass']; - - // пароль для гостя и при смене пароля юзером - if (!empty($new_pass)) - { - if (mb_strlen($new_pass, 'UTF-8') > 20) - { - $errors[] = sprintf($lang['CHOOSE_PASS_ERR_MAX'], 20); - } - elseif (mb_strlen($new_pass, 'UTF-8') < 4) - { - $errors[] = sprintf($lang['CHOOSE_PASS_ERR_MIN'], 4); - } - elseif ($new_pass != $cfm_pass) - { - $errors[] = $lang['CHOOSE_PASS_ERR']; - } - $db_data['user_password'] = md5(md5($new_pass)); - } - - if ($mode == 'register') - { - if (empty($new_pass)) - { - $errors[] = $lang['CHOOSE_PASS']; - } - } - else - { - if (!empty($cur_pass)) - { - $cur_pass_valid = ($pr_data['user_password'] === md5(md5($cur_pass))); - } - if (!empty($new_pass) && !$cur_pass_valid) - { - $errors[] = $lang['CHOOSE_PASS_FAILED']; - } - } - } - break; - - /** - * E-mail (edit, reg) - */ - case 'user_email': - $email = !empty($_POST['user_email']) ? (string) $_POST['user_email'] : $pr_data['user_email']; - if ($submit) - { - if ($mode == 'register') - { - if (empty($email)) - { - $errors[] = $lang['CHOOSE_E_MAIL']; - } - if (!$errors AND $err = validate_email($email)) - { - $errors[] = $err; - } - $db_data['user_email'] = $email; - } - else if ($email != $pr_data['user_email']) // если смена мейла юзером - { - if (!$cur_pass_valid) - { - $errors[] = $lang['CONFIRM_PASSWORD_EXPLAIN']; - } - if (!$errors AND $err = validate_email($email)) - { - $errors[] = $err; - } - if ($bb_cfg['reg_email_activation']) - { - $pr_data['user_active'] = 0; - $db_data['user_active'] = 0; - } - $db_data['user_email'] = $email; - } - } - $tp_data['USER_EMAIL'] = htmlCHR($email); - break; - - /** - * Язык (edit, reg) - */ - case 'user_lang': - $user_lang = isset($_POST['user_lang']) ? (string) $_POST['user_lang'] : $pr_data['user_lang']; - if ($submit && ($user_lang != $pr_data['user_lang'] || $mode == 'register')) - { - $pr_data['user_lang'] = $user_lang; - $db_data['user_lang'] = $user_lang; - } - break; - - /** - * Часовой пояс (edit, reg) - */ - case 'user_timezone': - $user_timezone = isset($_POST['user_timezone']) ? (int) $_POST['user_timezone'] : $pr_data['user_timezone']; - if ($submit && ($user_timezone != $pr_data['user_timezone'] || $mode == 'register')) - { - if (isset($lang['TZ'][$user_timezone])) - { - $pr_data['user_timezone'] = $user_timezone; - $db_data['user_timezone'] = $user_timezone; - } - } - break; - - /** - * Пол (edit, reg) - */ - case 'user_gender': - $user_gender = isset($_POST['user_gender']) ? (int) $_POST['user_gender'] : $pr_data['user_gender']; - if ($submit && $user_gender != $pr_data['user_gender']) - { - $pr_data['user_gender'] = $user_gender; - $db_data['user_gender'] = $user_gender; - } - $tp_data['USER_GENDER'] = build_select('user_gender', array_flip($lang['GENDER_SELECT']), $pr_data['user_gender']); - break; - - /** - * Возраст (edit) - */ - case 'user_birthday': - $user_birthday = isset($_POST['user_birthday']) ? (string) $_POST['user_birthday'] : $pr_data['user_birthday']; - - if ($submit && $user_birthday != $pr_data['user_birthday']) - { - $birthday_date = date_parse($user_birthday); - - if (!empty($birthday_date['year'])) - { - if (strtotime($user_birthday) >= TIMENOW) - { - $errors[] = $lang['WRONG_BIRTHDAY_FORMAT']; - } - elseif (bb_date(TIMENOW, 'Y', false) - $birthday_date['year'] > $bb_cfg['birthday_max_age']) - { - $errors[] = sprintf($lang['BIRTHDAY_TO_HIGH'], $bb_cfg['birthday_max_age']); - } - elseif (bb_date(TIMENOW, 'Y', false) - $birthday_date['year'] < $bb_cfg['birthday_min_age']) - { - $errors[] = sprintf($lang['BIRTHDAY_TO_LOW'], $bb_cfg['birthday_min_age']); - } - } - - $pr_data['user_birthday'] = $user_birthday; - $db_data['user_birthday'] = $user_birthday; - } - $tp_data['USER_BIRTHDAY'] = $pr_data['user_birthday']; - break; - - /** - * opt (edit) - */ - case 'user_opt': - $user_opt = $pr_data['user_opt']; - $reg_mode = ($mode == 'register'); - - $update_user_opt = array( - # 'user_opt_name' => ($reg_mode) ? #reg_setting : #in_login_change - 'user_viewemail' => ($reg_mode) ? false : true, - 'user_viewonline' => ($reg_mode) ? false : true, - 'user_notify' => ($reg_mode) ? true : true, - 'user_notify_pm' => ($reg_mode) ? true : true, - 'user_porn_forums' => ($reg_mode) ? false : true, - 'user_dls' => ($reg_mode) ? false : true, - 'user_callseed' => ($reg_mode) ? true : true, - ); - - foreach ($update_user_opt as $opt => $can_change_opt) - { - if ($submit && (isset($_POST[$opt]) && $can_change_opt || $reg_mode)) - { - $change_opt = ($reg_mode) ? $can_change_opt : !empty($_POST[$opt]); - setbit($user_opt, $bf['user_opt'][$opt], $change_opt); - } - $tp_data[strtoupper($opt)] = bf($user_opt, 'user_opt', $opt); - } - if ($submit && ($user_opt != $pr_data['user_opt'] || $reg_mode)) - { - $pr_data['user_opt'] = $user_opt; - $db_data['user_opt'] = (int) $user_opt; - } - break; - - /** - * Avatar (edit) - */ - case 'avatar_ext_id': - if ($submit && !bf($pr_data['user_opt'], 'user_opt', 'dis_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); - } - } - } - $tp_data['AVATARS_MAX_SIZE'] = humn_size($bb_cfg['avatars']['max_size']); - break; - - /** - * ICQ (edit) - */ - case 'user_icq': - $icq = isset($_POST['user_icq']) ? (string) $_POST['user_icq'] : $pr_data['user_icq']; - if ($submit && $icq != $pr_data['user_icq']) - { - if ($icq == '' || preg_match('#^\d{6,15}$#', $icq)) - { - $pr_data['user_icq'] = $icq; - $db_data['user_icq'] = (string) $icq; - } - else - { - $pr_data['user_icq'] = ''; - $errors[] = htmlCHR($lang['ICQ_ERROR']); - } - } - $tp_data['USER_ICQ'] = $pr_data['user_icq']; - break; - - /** - * Сайт (edit) - */ - case 'user_website': - $website = isset($_POST['user_website']) ? (string) $_POST['user_website'] : $pr_data['user_website']; - $website = htmlCHR($website); - if ($submit && $website != $pr_data['user_website']) - { - if ($website == '' || preg_match('#^https?://[\w\#!$%&~/.\-;:=,?@а-яА-Я\[\]+]+$#iu', $website)) - { - $pr_data['user_website'] = $website; - $db_data['user_website'] = (string) $website; - } - else - { - $pr_data['user_website'] = ''; - $errors[] = htmlCHR($lang['WEBSITE_ERROR']); - } - } - $tp_data['USER_WEBSITE'] = $pr_data['user_website']; - break; - - /** - * Откуда (edit) - */ - case 'user_from': - $from = isset($_POST['user_from']) ? (string) $_POST['user_from'] : $pr_data['user_from']; - $from = htmlCHR($from); - if ($submit && $from != $pr_data['user_from']) - { - $pr_data['user_from'] = $from; - $db_data['user_from'] = (string) $from; - } - $tp_data['USER_FROM'] = $pr_data['user_from']; - break; - - /** - * Подпись (edit) - */ - case 'user_sig': - $sig = isset($_POST['user_sig']) ? (string) $_POST['user_sig'] : $pr_data['user_sig']; - if ($submit && $sig != $pr_data['user_sig']) - { - $sig = prepare_message($sig); - - if (mb_strlen($sig, 'UTF-8') > $bb_cfg['max_sig_chars']) - { - $errors[] = $lang['SIGNATURE_TOO_LONG']; - } - else if (preg_match('#<(a|b|i|u|table|tr|td|img) #i', $sig) || preg_match('#(href|src|target|title)=#i', $sig)) - { - $errors[] = $lang['SIGNATURE_ERROR_HTML']; - } - - $pr_data['user_sig'] = $sig; - $db_data['user_sig'] = (string) $sig; - } - $tp_data['USER_SIG'] = $pr_data['user_sig']; - break; - - /** - * Род занятий (edit) - */ - case 'user_occ': - $occ = isset($_POST['user_occ']) ? (string) $_POST['user_occ'] : $pr_data['user_occ']; - $occ = htmlCHR($occ); - if ($submit && $occ != $pr_data['user_occ']) - { - $pr_data['user_occ'] = $occ; - $db_data['user_occ'] = (string) $occ; - } - $tp_data['USER_OCC'] = $pr_data['user_occ']; - break; - - /** - * Интересы - */ - case 'user_interests': - $interests = isset($_POST['user_interests']) ? (string) $_POST['user_interests'] : $pr_data['user_interests']; - $interests = htmlCHR($interests); - if ($submit && $interests != $pr_data['user_interests']) - { - $pr_data['user_interests'] = $interests; - $db_data['user_interests'] = (string) $interests; - } - $tp_data['USER_INTERESTS'] = $pr_data['user_interests']; - break; - - /** - * Skype - */ - case 'user_skype': - $skype = isset($_POST['user_skype']) ? (string) $_POST['user_skype'] : $pr_data['user_skype']; - if ($submit && $skype != $pr_data['user_skype']) - { - if ($skype != '' && !preg_match("#^[a-zA-Z0-9_.\-@,]{6,32}$#", $skype)) - { - $errors[] = $lang['SKYPE_ERROR']; - } - $pr_data['user_skype'] = $skype; - $db_data['user_skype'] = (string) $skype; - } - $tp_data['USER_SKYPE'] = $pr_data['user_skype']; - break; - - /** - * Twitter - */ - case 'user_twitter': - $twitter = isset($_POST['user_twitter']) ? (string) $_POST['user_twitter'] : $pr_data['user_twitter']; - if ($submit && $twitter != $pr_data['user_twitter']) - { - if ($twitter != '' && !preg_match("#^[a-zA-Z0-9_]{1,15}$#", $twitter)) - { - $errors[] = $lang['TWITTER_ERROR']; - } - $pr_data['user_twitter'] = $twitter; - $db_data['user_twitter'] = (string) $twitter; - } - $tp_data['USER_TWITTER'] = $pr_data['user_twitter']; - break; - - /** - * Выбор шаблона (edit) - */ - case 'tpl_name': - $templates = isset($_POST['tpl_name']) ? (string) $_POST['tpl_name'] : $pr_data['tpl_name']; - $templates = htmlCHR($templates); - if ($submit && $templates != $pr_data['tpl_name']) - { - $pr_data['tpl_name'] = $bb_cfg['tpl_name']; - $db_data['tpl_name'] = (string) $bb_cfg['tpl_name']; - foreach ($bb_cfg['templates'] as $folder => $name) - { - if ($templates == $folder) - { - $pr_data['tpl_name'] = $templates; - $db_data['tpl_name'] = (string) $templates; - } - } - } - $tp_data['TEMPLATES_SELECT'] = templates_select($pr_data['tpl_name'], 'tpl_name'); - break; - - /** - * default - */ - default: - trigger_error("invalid profile field: $field", E_USER_ERROR); - } -} - -// submit -if ($submit && !$errors) -{ - /** - * Создание нового профиля - */ - if ($mode == 'register') - { - if ($bb_cfg['reg_email_activation']) - { - $user_actkey = make_rand_str(12); - $db_data['user_active'] = 0; - $db_data['user_actkey'] = $user_actkey; - } - else - { - $db_data['user_active'] = 1; - $db_data['user_actkey'] = ''; - } - $db_data['user_regdate'] = TIMENOW; - - if (!IS_ADMIN) $db_data['user_reg_ip'] = USER_IP; - - if (!isset($db_data['tpl_name'])) $db_data['tpl_name'] = (string) $bb_cfg['tpl_name']; - - $sql_args = DB()->build_array('INSERT', $db_data); - - DB()->query("INSERT INTO ". BB_USERS . $sql_args); - $new_user_id = DB()->sql_nextid(); - - if (IS_ADMIN) - { - set_pr_die_append_msg($new_user_id); - $message = $lang['ACCOUNT_ADDED']; - } - else - { - if ($bb_cfg['reg_email_activation']) - { - $message = $lang['ACCOUNT_INACTIVE']; - $email_template = 'user_welcome_inactive'; - } - else - { - $message = $lang['ACCOUNT_ADDED']; - $email_template = 'user_welcome'; - } - - 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("$username <$email>"); - - $emailer->use_template($email_template, $user_lang); - - $emailer->assign_vars(array( - 'SITENAME' => $bb_cfg['sitename'], - 'WELCOME_MSG' => sprintf($lang['WELCOME_SUBJECT'], $bb_cfg['sitename']), - 'USERNAME' => html_entity_decode($username), - 'PASSWORD' => $new_pass, - - '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); - } - /** - * Редактирование - */ - else - { - set_pr_die_append_msg($pr_data['user_id']); - - // если что-то было изменено - if ($db_data) - { - if (!$pr_data['user_active']) - { - $user_actkey = make_rand_str(12); - $pr_data['user_actkey'] = $user_actkey; - $db_data['user_actkey'] = $user_actkey; - - require(INC_DIR .'emailer.class.php'); - $emailer = new emailer($bb_cfg['smtp_delivery']); - - $emailer->from($bb_cfg['sitename'] ." <{$bb_cfg['board_email']}>"); - $emailer->use_template('user_activate', $pr_data['user_lang']); - $emailer->email_address("$username <$email>"); - - $emailer->assign_vars(array( - 'SITENAME' => $bb_cfg['sitename'], - 'USERNAME' => html_entity_decode($username), - 'U_ACTIVATE' => make_url("profile.php?mode=activate&u={$pr_data['user_id']}&act_key=$user_actkey"), - )); - $emailer->send(); - $emailer->reset(); - - $message = $lang['PROFILE_UPDATED_INACTIVE']; - $user->session_end(); - } - else - { - meta_refresh('index.php' , 10); - $message = $lang['PROFILE_UPDATED']; - } - - $sql_args = DB()->build_array('UPDATE', $db_data); - - DB()->query("UPDATE ". BB_USERS ." SET $sql_args WHERE user_id = {$pr_data['user_id']} LIMIT 1"); - - if ($pr_data['user_id'] != $userdata['user_id']) - { - if ($pr_data['user_level'] == MOD && !empty($db_data['username'])) - { - $datastore->update('moderators'); - } - } - - cache_rm_user_sessions ($pr_data['user_id']); - - if($adm_edit) - { - bb_die($lang['PROFILE_USER'] . ' '. profile_url($pr_data) .' '. $lang['GOOD_UPDATE']); - } - elseif(!$pr_data['user_active']) - { - bb_die($lang['PROFILE_UPDATED_INACTIVE']); - } - else - { - meta_refresh('index.php' , 10); - bb_die($lang['PROFILE_UPDATED']); - } - } - else - { - bb_die($lang['NOTHING_HAS_CHANGED']); - } - } -} - -$template->assign_vars($tp_data); - -$template->assign_vars(array( - 'PAGE_TITLE' => ($mode == 'editprofile') ? $lang['EDIT_PROFILE'] . ($adm_edit ? " :: {$pr_data['username']}" : '') : $lang['REGISTER'], - 'SHOW_REG_AGREEMENT' => ($mode == 'register' && !IS_ADMIN), - 'ERROR_MESSAGE' => ($errors) ? join('
    ', array_unique($errors)) : '', - 'MODE' => $mode, - 'EDIT_PROFILE' => ($mode == 'editprofile'), - 'ADM_EDIT' => $adm_edit, - 'SHOW_PASS' => ($adm_edit || ($mode == 'register' && IS_ADMIN)), - 'CAPTCHA_HTML' => ($need_captcha) ? CAPTCHA()->get_html() : '', - - 'LANGUAGE_SELECT' => language_select($pr_data['user_lang'], 'user_lang'), - 'TIMEZONE_SELECT' => tz_select($pr_data['user_timezone'], 'user_timezone'), - 'USER_TIMEZONE' => $pr_data['user_timezone'], - - 'AVATAR_EXPLAIN' => sprintf($lang['AVATAR_EXPLAIN'], $bb_cfg['avatars']['max_width'], $bb_cfg['avatars']['max_height'], (round($bb_cfg['avatars']['max_size'] / 1024))), - 'AVATAR_DISALLOWED' => bf($pr_data['user_opt'], 'user_opt', 'dis_avatar'), - - 'SIGNATURE_EXPLAIN' => sprintf($lang['SIGNATURE_EXPLAIN'], $bb_cfg['max_sig_chars']), - 'SIG_DISALLOWED' => bf($pr_data['user_opt'], 'user_opt', 'dis_sig'), - - 'PR_USER_ID' => $pr_data['user_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']) : '', -)); - +assign_vars(array( + 'NEW_USER' => $new_user, + )); +} + +$can_register = (IS_GUEST || IS_ADMIN); + +$submit = !empty($_POST['submit']); +$errors = array(); +$adm_edit = false; // редактирование админом чужого профиля + +require(INC_DIR .'bbcode.php'); +require(INC_DIR .'functions_validate.php'); +require(INC_DIR .'functions_selects.php'); + +$pr_data = array(); // данные редактируемого либо регистрационного профиля +$db_data = array(); // данные для базы: регистрационные либо измененные данные юзера +$tp_data = array(); // данные для tpl + +// Данные профиля +switch ($mode) +{ + /** + * Регистрация + */ + case 'register': + if (!$can_register) redirect('index.php'); + + if (!IS_ADMIN) + { + // Ограничение по ip + if($bb_cfg['unique_ip']) + { + if($users = DB()->fetch_row("SELECT user_id, username FROM ". BB_USERS ." WHERE user_reg_ip = '". USER_IP ."' LIMIT 1")) + { + bb_die(sprintf($lang['ALREADY_REG_IP'], ''. $users['username'] .'', $bb_cfg['tech_admin_email'])); + } + } + // Отключение регистрации + if ($bb_cfg['new_user_reg_disabled'] || ($bb_cfg['reg_email_activation'] && $bb_cfg['emailer_disabled'])) + { + bb_die($lang['NEW_USER_REG_DISABLED']); + } + // Ограничение по времени + else if ($bb_cfg['new_user_reg_restricted']) + { + if (in_array(date('G'), array(0,/*1,2,3,4,5,6,7,8,11,12,13,14,15,16,*/17,18,19,20,21,22,23))) + { + bb_die($lang['REGISTERED_IN_TIME']); + } + } + } + + // field => can_edit + $profile_fields = array( + 'username' => true, + 'user_password' => true, + 'user_email' => true, + 'user_timezone' => true, + 'user_lang' => true, + 'user_opt' => true, + ); + + $pr_data = array( + 'user_id' => GUEST_UID, + 'username' => '', + 'user_password' => '', + 'user_email' => '', + 'user_timezone' => $bb_cfg['board_timezone'], + 'user_lang' => $bb_cfg['default_lang'], + 'user_opt' => 0, + 'avatar_ext_id' => 0, + ); + break; + + /** + * Редактирование профиля + */ + case 'editprofile': + if (IS_GUEST) login_redirect(); + + // field => can_edit + $profile_fields = array( + 'user_active' => IS_ADMIN, + 'username' => (IS_ADMIN || $bb_cfg['allow_namechange']), + 'user_password' => true, + 'user_email' => true, // должен быть после user_password + 'user_lang' => true, + 'user_gender' => true, + 'user_birthday' => true, + 'user_timezone' => true, + 'user_opt' => true, + 'avatar_ext_id' => true, + 'user_icq' => true, + 'user_skype' => true, + 'user_twitter' => true, + 'user_website' => true, + 'user_from' => true, + 'user_sig' => true, + 'user_occ' => true, + 'user_interests' => true, + 'tpl_name' => true, + ); + + // Выбор профиля: для юзера свой, для админа любой + if (IS_ADMIN && !empty($_REQUEST['u'])) + { + $pr_user_id = (int) $_REQUEST['u']; + $adm_edit = ($pr_user_id != $userdata['user_id']); + } + else + { + $pr_user_id = $userdata['user_id']; + } + $profile_fields_sql = join(', ', array_keys($profile_fields)); + $sql = " + SELECT + user_id, + user_rank, + user_level, + $profile_fields_sql + FROM ". BB_USERS ." + WHERE user_id = $pr_user_id + LIMIT 1 + "; + if (!$pr_data = DB()->fetch_row($sql)) + { + bb_die($lang['PROFILE_NOT_FOUND']); + } + break; + + default: + trigger_error("invalid mode: $mode", E_USER_ERROR); +} + +// CAPTCHA +$need_captcha = ($mode == 'register' && !IS_ADMIN); + +if ($submit) +{ + if ($need_captcha && !CAPTCHA()->verify_code()) + { + $errors[] = $lang['CONFIRM_CODE_WRONG']; + } +} + +// Валидация данных +$cur_pass_valid = $adm_edit; + +foreach ($profile_fields as $field => $can_edit) +{ + switch ($field) + { + /** + * Активация (edit, reg) + */ + case 'user_active': + $active = isset($_POST['user_active']) ? (int) $_POST['user_active'] : $pr_data['user_active']; + if ($submit && $adm_edit) + { + $pr_data['user_active'] = $active; + $db_data['user_active'] = $active; + } + break; + + /** + * Имя (edit, reg) + */ + case 'username': + $username = !empty($_POST['username']) ? clean_username($_POST['username']) : $pr_data['username']; + + if ($submit) + { + $err = validate_username($username); + if (!$errors AND $err && $mode == 'register') + { + $errors[] = $err; + } + if ($can_edit && $username != $pr_data['username'] || $mode == 'register') + { + $pr_data['username'] = $username; + $db_data['username'] = $username; + } + } + $tp_data['CAN_EDIT_USERNAME'] = $can_edit; + $tp_data['USERNAME'] = $pr_data['username']; + break; + + /** + * Пароль (edit, reg) + */ + case 'user_password': + if ($submit) + { + $cur_pass = (string) @$_POST['cur_pass']; + $new_pass = (string) @$_POST['new_pass']; + $cfm_pass = (string) @$_POST['cfm_pass']; + + // пароль для гостя и при смене пароля юзером + if (!empty($new_pass)) + { + if (mb_strlen($new_pass, 'UTF-8') > 20) + { + $errors[] = sprintf($lang['CHOOSE_PASS_ERR_MAX'], 20); + } + elseif (mb_strlen($new_pass, 'UTF-8') < 4) + { + $errors[] = sprintf($lang['CHOOSE_PASS_ERR_MIN'], 4); + } + elseif ($new_pass != $cfm_pass) + { + $errors[] = $lang['CHOOSE_PASS_ERR']; + } + $db_data['user_password'] = md5(md5($new_pass)); + } + + if ($mode == 'register') + { + if (empty($new_pass)) + { + $errors[] = $lang['CHOOSE_PASS']; + } + } + else + { + if (!empty($cur_pass)) + { + $cur_pass_valid = ($pr_data['user_password'] === md5(md5($cur_pass))); + } + if (!empty($new_pass) && !$cur_pass_valid) + { + $errors[] = $lang['CHOOSE_PASS_FAILED']; + } + } + } + break; + + /** + * E-mail (edit, reg) + */ + case 'user_email': + $email = !empty($_POST['user_email']) ? (string) $_POST['user_email'] : $pr_data['user_email']; + if ($submit) + { + if ($mode == 'register') + { + if (empty($email)) + { + $errors[] = $lang['CHOOSE_E_MAIL']; + } + if (!$errors AND $err = validate_email($email)) + { + $errors[] = $err; + } + $db_data['user_email'] = $email; + } + else if ($email != $pr_data['user_email']) // если смена мейла юзером + { + if (!$cur_pass_valid) + { + $errors[] = $lang['CONFIRM_PASSWORD_EXPLAIN']; + } + if (!$errors AND $err = validate_email($email)) + { + $errors[] = $err; + } + if ($bb_cfg['reg_email_activation']) + { + $pr_data['user_active'] = 0; + $db_data['user_active'] = 0; + } + $db_data['user_email'] = $email; + } + } + $tp_data['USER_EMAIL'] = htmlCHR($email); + break; + + /** + * Язык (edit, reg) + */ + case 'user_lang': + $user_lang = isset($_POST['user_lang']) ? (string) $_POST['user_lang'] : $pr_data['user_lang']; + if ($submit && ($user_lang != $pr_data['user_lang'] || $mode == 'register')) + { + $pr_data['user_lang'] = $user_lang; + $db_data['user_lang'] = $user_lang; + } + break; + + /** + * Часовой пояс (edit, reg) + */ + case 'user_timezone': + $user_timezone = isset($_POST['user_timezone']) ? (int) $_POST['user_timezone'] : $pr_data['user_timezone']; + if ($submit && ($user_timezone != $pr_data['user_timezone'] || $mode == 'register')) + { + if (isset($lang['TZ'][$user_timezone])) + { + $pr_data['user_timezone'] = $user_timezone; + $db_data['user_timezone'] = $user_timezone; + } + } + break; + + /** + * Пол (edit, reg) + */ + case 'user_gender': + $user_gender = isset($_POST['user_gender']) ? (int) $_POST['user_gender'] : $pr_data['user_gender']; + if ($submit && $user_gender != $pr_data['user_gender']) + { + $pr_data['user_gender'] = $user_gender; + $db_data['user_gender'] = $user_gender; + } + $tp_data['USER_GENDER'] = build_select('user_gender', array_flip($lang['GENDER_SELECT']), $pr_data['user_gender']); + break; + + /** + * Возраст (edit) + */ + case 'user_birthday': + $user_birthday = isset($_POST['user_birthday']) ? (string) $_POST['user_birthday'] : $pr_data['user_birthday']; + + if ($submit && $user_birthday != $pr_data['user_birthday']) + { + $birthday_date = date_parse($user_birthday); + + if (!empty($birthday_date['year'])) + { + if (strtotime($user_birthday) >= TIMENOW) + { + $errors[] = $lang['WRONG_BIRTHDAY_FORMAT']; + } + elseif (bb_date(TIMENOW, 'Y', false) - $birthday_date['year'] > $bb_cfg['birthday_max_age']) + { + $errors[] = sprintf($lang['BIRTHDAY_TO_HIGH'], $bb_cfg['birthday_max_age']); + } + elseif (bb_date(TIMENOW, 'Y', false) - $birthday_date['year'] < $bb_cfg['birthday_min_age']) + { + $errors[] = sprintf($lang['BIRTHDAY_TO_LOW'], $bb_cfg['birthday_min_age']); + } + } + + $pr_data['user_birthday'] = $user_birthday; + $db_data['user_birthday'] = $user_birthday; + } + $tp_data['USER_BIRTHDAY'] = $pr_data['user_birthday']; + break; + + /** + * opt (edit) + */ + case 'user_opt': + $user_opt = $pr_data['user_opt']; + $reg_mode = ($mode == 'register'); + + $update_user_opt = array( + # 'user_opt_name' => ($reg_mode) ? #reg_setting : #in_login_change + 'user_viewemail' => ($reg_mode) ? false : true, + 'user_viewonline' => ($reg_mode) ? false : true, + 'user_notify' => ($reg_mode) ? true : true, + 'user_notify_pm' => ($reg_mode) ? true : true, + 'user_porn_forums' => ($reg_mode) ? false : true, + 'user_dls' => ($reg_mode) ? false : true, + 'user_callseed' => ($reg_mode) ? true : true, + ); + + foreach ($update_user_opt as $opt => $can_change_opt) + { + if ($submit && (isset($_POST[$opt]) && $can_change_opt || $reg_mode)) + { + $change_opt = ($reg_mode) ? $can_change_opt : !empty($_POST[$opt]); + setbit($user_opt, $bf['user_opt'][$opt], $change_opt); + } + $tp_data[strtoupper($opt)] = bf($user_opt, 'user_opt', $opt); + } + if ($submit && ($user_opt != $pr_data['user_opt'] || $reg_mode)) + { + $pr_data['user_opt'] = $user_opt; + $db_data['user_opt'] = (int) $user_opt; + } + break; + + /** + * Avatar (edit) + */ + case 'avatar_ext_id': + if ($submit && !bf($pr_data['user_opt'], 'user_opt', 'dis_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); + } + } + } + $tp_data['AVATARS_MAX_SIZE'] = humn_size($bb_cfg['avatars']['max_size']); + break; + + /** + * ICQ (edit) + */ + case 'user_icq': + $icq = isset($_POST['user_icq']) ? (string) $_POST['user_icq'] : $pr_data['user_icq']; + if ($submit && $icq != $pr_data['user_icq']) + { + if ($icq == '' || preg_match('#^\d{6,15}$#', $icq)) + { + $pr_data['user_icq'] = $icq; + $db_data['user_icq'] = (string) $icq; + } + else + { + $pr_data['user_icq'] = ''; + $errors[] = htmlCHR($lang['ICQ_ERROR']); + } + } + $tp_data['USER_ICQ'] = $pr_data['user_icq']; + break; + + /** + * Сайт (edit) + */ + case 'user_website': + $website = isset($_POST['user_website']) ? (string) $_POST['user_website'] : $pr_data['user_website']; + $website = htmlCHR($website); + if ($submit && $website != $pr_data['user_website']) + { + if ($website == '' || preg_match('#^https?://[\w\#!$%&~/.\-;:=,?@а-яА-Я\[\]+]+$#iu', $website)) + { + $pr_data['user_website'] = $website; + $db_data['user_website'] = (string) $website; + } + else + { + $pr_data['user_website'] = ''; + $errors[] = htmlCHR($lang['WEBSITE_ERROR']); + } + } + $tp_data['USER_WEBSITE'] = $pr_data['user_website']; + break; + + /** + * Откуда (edit) + */ + case 'user_from': + $from = isset($_POST['user_from']) ? (string) $_POST['user_from'] : $pr_data['user_from']; + $from = htmlCHR($from); + if ($submit && $from != $pr_data['user_from']) + { + $pr_data['user_from'] = $from; + $db_data['user_from'] = (string) $from; + } + $tp_data['USER_FROM'] = $pr_data['user_from']; + break; + + /** + * Подпись (edit) + */ + case 'user_sig': + $sig = isset($_POST['user_sig']) ? (string) $_POST['user_sig'] : $pr_data['user_sig']; + if ($submit && $sig != $pr_data['user_sig']) + { + $sig = prepare_message($sig); + + if (mb_strlen($sig, 'UTF-8') > $bb_cfg['max_sig_chars']) + { + $errors[] = $lang['SIGNATURE_TOO_LONG']; + } + else if (preg_match('#<(a|b|i|u|table|tr|td|img) #i', $sig) || preg_match('#(href|src|target|title)=#i', $sig)) + { + $errors[] = $lang['SIGNATURE_ERROR_HTML']; + } + + $pr_data['user_sig'] = $sig; + $db_data['user_sig'] = (string) $sig; + } + $tp_data['USER_SIG'] = $pr_data['user_sig']; + break; + + /** + * Род занятий (edit) + */ + case 'user_occ': + $occ = isset($_POST['user_occ']) ? (string) $_POST['user_occ'] : $pr_data['user_occ']; + $occ = htmlCHR($occ); + if ($submit && $occ != $pr_data['user_occ']) + { + $pr_data['user_occ'] = $occ; + $db_data['user_occ'] = (string) $occ; + } + $tp_data['USER_OCC'] = $pr_data['user_occ']; + break; + + /** + * Интересы + */ + case 'user_interests': + $interests = isset($_POST['user_interests']) ? (string) $_POST['user_interests'] : $pr_data['user_interests']; + $interests = htmlCHR($interests); + if ($submit && $interests != $pr_data['user_interests']) + { + $pr_data['user_interests'] = $interests; + $db_data['user_interests'] = (string) $interests; + } + $tp_data['USER_INTERESTS'] = $pr_data['user_interests']; + break; + + /** + * Skype + */ + case 'user_skype': + $skype = isset($_POST['user_skype']) ? (string) $_POST['user_skype'] : $pr_data['user_skype']; + if ($submit && $skype != $pr_data['user_skype']) + { + if ($skype != '' && !preg_match("#^[a-zA-Z0-9_.\-@,]{6,32}$#", $skype)) + { + $errors[] = $lang['SKYPE_ERROR']; + } + $pr_data['user_skype'] = $skype; + $db_data['user_skype'] = (string) $skype; + } + $tp_data['USER_SKYPE'] = $pr_data['user_skype']; + break; + + /** + * Twitter + */ + case 'user_twitter': + $twitter = isset($_POST['user_twitter']) ? (string) $_POST['user_twitter'] : $pr_data['user_twitter']; + if ($submit && $twitter != $pr_data['user_twitter']) + { + if ($twitter != '' && !preg_match("#^[a-zA-Z0-9_]{1,15}$#", $twitter)) + { + $errors[] = $lang['TWITTER_ERROR']; + } + $pr_data['user_twitter'] = $twitter; + $db_data['user_twitter'] = (string) $twitter; + } + $tp_data['USER_TWITTER'] = $pr_data['user_twitter']; + break; + + /** + * Выбор шаблона (edit) + */ + case 'tpl_name': + $templates = isset($_POST['tpl_name']) ? (string) $_POST['tpl_name'] : $pr_data['tpl_name']; + $templates = htmlCHR($templates); + if ($submit && $templates != $pr_data['tpl_name']) + { + $pr_data['tpl_name'] = $bb_cfg['tpl_name']; + $db_data['tpl_name'] = (string) $bb_cfg['tpl_name']; + foreach ($bb_cfg['templates'] as $folder => $name) + { + if ($templates == $folder) + { + $pr_data['tpl_name'] = $templates; + $db_data['tpl_name'] = (string) $templates; + } + } + } + $tp_data['TEMPLATES_SELECT'] = templates_select($pr_data['tpl_name'], 'tpl_name'); + break; + + /** + * default + */ + default: + trigger_error("invalid profile field: $field", E_USER_ERROR); + } +} + +// submit +if ($submit && !$errors) +{ + /** + * Создание нового профиля + */ + if ($mode == 'register') + { + if ($bb_cfg['reg_email_activation']) + { + $user_actkey = make_rand_str(12); + $db_data['user_active'] = 0; + $db_data['user_actkey'] = $user_actkey; + } + else + { + $db_data['user_active'] = 1; + $db_data['user_actkey'] = ''; + } + $db_data['user_regdate'] = TIMENOW; + + if (!IS_ADMIN) $db_data['user_reg_ip'] = USER_IP; + + if (!isset($db_data['tpl_name'])) $db_data['tpl_name'] = (string) $bb_cfg['tpl_name']; + + $sql_args = DB()->build_array('INSERT', $db_data); + + DB()->query("INSERT INTO ". BB_USERS . $sql_args); + $new_user_id = DB()->sql_nextid(); + + if (IS_ADMIN) + { + set_pr_die_append_msg($new_user_id); + $message = $lang['ACCOUNT_ADDED']; + } + else + { + if ($bb_cfg['reg_email_activation']) + { + $message = $lang['ACCOUNT_INACTIVE']; + $email_template = 'user_welcome_inactive'; + } + else + { + $message = $lang['ACCOUNT_ADDED']; + $email_template = 'user_welcome'; + } + + 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("$username <$email>"); + + $emailer->use_template($email_template, $user_lang); + + $emailer->assign_vars(array( + 'SITENAME' => $bb_cfg['sitename'], + 'WELCOME_MSG' => sprintf($lang['WELCOME_SUBJECT'], $bb_cfg['sitename']), + 'USERNAME' => html_entity_decode($username), + 'PASSWORD' => $new_pass, + + '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); + } + /** + * Редактирование + */ + else + { + set_pr_die_append_msg($pr_data['user_id']); + + // если что-то было изменено + if ($db_data) + { + if (!$pr_data['user_active']) + { + $user_actkey = make_rand_str(12); + $pr_data['user_actkey'] = $user_actkey; + $db_data['user_actkey'] = $user_actkey; + + require(INC_DIR .'emailer.class.php'); + $emailer = new emailer($bb_cfg['smtp_delivery']); + + $emailer->from($bb_cfg['sitename'] ." <{$bb_cfg['board_email']}>"); + $emailer->use_template('user_activate', $pr_data['user_lang']); + $emailer->email_address("$username <$email>"); + + $emailer->assign_vars(array( + 'SITENAME' => $bb_cfg['sitename'], + 'USERNAME' => html_entity_decode($username), + 'U_ACTIVATE' => make_url("profile.php?mode=activate&u={$pr_data['user_id']}&act_key=$user_actkey"), + )); + $emailer->send(); + $emailer->reset(); + + $message = $lang['PROFILE_UPDATED_INACTIVE']; + $user->session_end(); + } + else + { + meta_refresh('index.php' , 10); + $message = $lang['PROFILE_UPDATED']; + } + + $sql_args = DB()->build_array('UPDATE', $db_data); + + DB()->query("UPDATE ". BB_USERS ." SET $sql_args WHERE user_id = {$pr_data['user_id']} LIMIT 1"); + + if ($pr_data['user_id'] != $userdata['user_id']) + { + if ($pr_data['user_level'] == MOD && !empty($db_data['username'])) + { + $datastore->update('moderators'); + } + } + + cache_rm_user_sessions ($pr_data['user_id']); + + if($adm_edit) + { + bb_die($lang['PROFILE_USER'] . ' '. profile_url($pr_data) .' '. $lang['GOOD_UPDATE']); + } + elseif(!$pr_data['user_active']) + { + bb_die($lang['PROFILE_UPDATED_INACTIVE']); + } + else + { + meta_refresh('index.php' , 10); + bb_die($lang['PROFILE_UPDATED']); + } + } + else + { + bb_die($lang['NOTHING_HAS_CHANGED']); + } + } +} + +$template->assign_vars($tp_data); + +$template->assign_vars(array( + 'PAGE_TITLE' => ($mode == 'editprofile') ? $lang['EDIT_PROFILE'] . ($adm_edit ? " :: {$pr_data['username']}" : '') : $lang['REGISTER'], + 'SHOW_REG_AGREEMENT' => ($mode == 'register' && !IS_ADMIN), + 'ERROR_MESSAGE' => ($errors) ? join('
    ', array_unique($errors)) : '', + 'MODE' => $mode, + 'EDIT_PROFILE' => ($mode == 'editprofile'), + 'ADM_EDIT' => $adm_edit, + 'SHOW_PASS' => ($adm_edit || ($mode == 'register' && IS_ADMIN)), + 'CAPTCHA_HTML' => ($need_captcha) ? CAPTCHA()->get_html() : '', + + 'LANGUAGE_SELECT' => language_select($pr_data['user_lang'], 'user_lang'), + 'TIMEZONE_SELECT' => tz_select($pr_data['user_timezone'], 'user_timezone'), + 'USER_TIMEZONE' => $pr_data['user_timezone'], + + 'AVATAR_EXPLAIN' => sprintf($lang['AVATAR_EXPLAIN'], $bb_cfg['avatars']['max_width'], $bb_cfg['avatars']['max_height'], (round($bb_cfg['avatars']['max_size'] / 1024))), + 'AVATAR_DISALLOWED' => bf($pr_data['user_opt'], 'user_opt', 'dis_avatar'), + + 'SIGNATURE_EXPLAIN' => sprintf($lang['SIGNATURE_EXPLAIN'], $bb_cfg['max_sig_chars']), + 'SIG_DISALLOWED' => bf($pr_data['user_opt'], 'user_opt', 'dis_sig'), + + 'PR_USER_ID' => $pr_data['user_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'); \ No newline at end of file diff --git a/upload/includes/ucp/topic_watch.php b/upload/includes/ucp/topic_watch.php index bf468a3fe..593f27bee 100644 --- a/upload/includes/ucp/topic_watch.php +++ b/upload/includes/ucp/topic_watch.php @@ -1,100 +1,100 @@ -sql_query($sql))) - { - bb_die('Could not delete topic watch information #1'); - } -} - -$template->assign_vars(array( - 'PAGE_TITLE' => $lang['WATCHED_TOPICS'], - 'S_FORM_ACTION' => BB_ROOT .'profile.php?mode=watch', -)); - -$sql = "SELECT COUNT(topic_id) as watch_count FROM ". BB_TOPICS_WATCH ." WHERE user_id = $user_id"; -if ( !($result = DB() ->sql_query($sql)) ) -{ - bb_die('Could not obtain watch topic information #2'); -} -$row = DB() ->sql_fetchrow($result); -$watch_count = ( $row['watch_count'] ) ? $row['watch_count'] : 0; -DB() ->sql_freeresult($result); - -if ($watch_count > 0) -{ - $sql = "SELECT w.*, t.*, f.*, u.*, u2.username as last_username, u2.user_id as last_user_id, - u2.user_level as last_user_level, u2.user_rank as last_user_rank - FROM ". BB_TOPICS_WATCH ." w, ". BB_TOPICS ." t, ". BB_USERS ." u, ". BB_FORUMS ." f, ". BB_POSTS ." p, " . BB_USERS . " u2 - WHERE w.topic_id = t.topic_id - AND t.forum_id = f.forum_id - AND p.post_id = t.topic_last_post_id - AND p.poster_id = u2.user_id - AND t.topic_poster = u.user_id - AND w.user_id = $user_id - GROUP BY t.topic_last_post_time DESC - LIMIT $start, $per_page"; - if (!($result = DB() ->sql_query($sql))) - { - bb_die('Could not obtain watch topic information #3'); - } - $watch = DB() ->sql_fetchrowset($result); - - if ($watch) - { - for ( $i = 0; $i < count($watch); $i++ ) - { - $is_unread = is_unread($watch[$i]['topic_last_post_time'], $watch[$i]['topic_id'], $watch[$i]['forum_id']); - - $template->assign_block_vars('watch', array( - 'ROW_CLASS' => ( !($i % 2) ) ? 'row1' : 'row2', - 'POST_ID' => $watch[$i]['topic_first_post_id'], - 'TOPIC_ID' => $watch[$i]['topic_id'], - 'TOPIC_TITLE' => wbr(str_short($watch[$i]['topic_title'], 70)), - 'FULL_TOPIC_TITLE' => wbr($watch[$i]['topic_title']), - 'U_TOPIC' => TOPIC_URL . $watch[$i]['topic_id'], - 'FORUM_TITLE' => wbr($watch[$i]['forum_name']), - 'U_FORUM' => FORUM_URL . $watch[$i]['forum_id'], - 'REPLIES' => $watch[$i]['topic_replies'], - 'AUTHOR' => profile_url($watch[$i]), - 'LAST_POST' => bb_date($watch[$i]['topic_last_post_time']) .'
    '. profile_url(array('user_id' => $watch[$i]['last_user_id'], 'username' => $watch[$i]['last_username'], 'user_rank' => $watch[$i]['last_user_rank'])), - 'LAST_POST_ID' => $watch[$i]['topic_last_post_id'], - 'IS_UNREAD' => $is_unread, - 'TOPIC_ICON' => get_topic_icon($watch[$i], $is_unread), - 'PAGINATION' => ($watch[$i]['topic_status'] == TOPIC_MOVED) ? '' : build_topic_pagination(TOPIC_URL . $watch[$i]['topic_id'], $watch[$i]['topic_replies'], $bb_cfg['posts_per_page']), - )); - } - - $template->assign_vars(array( - 'MATCHES' => (count($watch) == 1) ? sprintf($lang['FOUND_SEARCH_MATCH'], count($watch)) : sprintf($lang['FOUND_SEARCH_MATCHES'], count($watch)), - 'PAGINATION' => generate_pagination(BB_ROOT .'profile.php?mode=watch', $watch_count, $per_page, $start), - 'PAGE_NUMBER' => sprintf($lang['PAGE_OF'], ( floor( $start / $per_page ) + 1 ), ceil( $watch_count / $per_page )), - 'U_PER_PAGE' => BB_ROOT .'profile.php?mode=watch', - 'PER_PAGE' => $per_page, - )); - } - DB() ->sql_freeresult($result); -} -else -{ - meta_refresh(BB_ROOT, '3'); - bb_die($lang['NO_WATCHED_TOPICS']); -} - +sql_query($sql))) + { + bb_die('Could not delete topic watch information #1'); + } +} + +$template->assign_vars(array( + 'PAGE_TITLE' => $lang['WATCHED_TOPICS'], + 'S_FORM_ACTION' => BB_ROOT .'profile.php?mode=watch', +)); + +$sql = "SELECT COUNT(topic_id) as watch_count FROM ". BB_TOPICS_WATCH ." WHERE user_id = $user_id"; +if ( !($result = DB() ->sql_query($sql)) ) +{ + bb_die('Could not obtain watch topic information #2'); +} +$row = DB() ->sql_fetchrow($result); +$watch_count = ( $row['watch_count'] ) ? $row['watch_count'] : 0; +DB() ->sql_freeresult($result); + +if ($watch_count > 0) +{ + $sql = "SELECT w.*, t.*, f.*, u.*, u2.username as last_username, u2.user_id as last_user_id, + u2.user_level as last_user_level, u2.user_rank as last_user_rank + FROM ". BB_TOPICS_WATCH ." w, ". BB_TOPICS ." t, ". BB_USERS ." u, ". BB_FORUMS ." f, ". BB_POSTS ." p, " . BB_USERS . " u2 + WHERE w.topic_id = t.topic_id + AND t.forum_id = f.forum_id + AND p.post_id = t.topic_last_post_id + AND p.poster_id = u2.user_id + AND t.topic_poster = u.user_id + AND w.user_id = $user_id + GROUP BY t.topic_last_post_time DESC + LIMIT $start, $per_page"; + if (!($result = DB() ->sql_query($sql))) + { + bb_die('Could not obtain watch topic information #3'); + } + $watch = DB() ->sql_fetchrowset($result); + + if ($watch) + { + for ( $i = 0; $i < count($watch); $i++ ) + { + $is_unread = is_unread($watch[$i]['topic_last_post_time'], $watch[$i]['topic_id'], $watch[$i]['forum_id']); + + $template->assign_block_vars('watch', array( + 'ROW_CLASS' => ( !($i % 2) ) ? 'row1' : 'row2', + 'POST_ID' => $watch[$i]['topic_first_post_id'], + 'TOPIC_ID' => $watch[$i]['topic_id'], + 'TOPIC_TITLE' => wbr(str_short($watch[$i]['topic_title'], 70)), + 'FULL_TOPIC_TITLE' => wbr($watch[$i]['topic_title']), + 'U_TOPIC' => TOPIC_URL . $watch[$i]['topic_id'], + 'FORUM_TITLE' => wbr($watch[$i]['forum_name']), + 'U_FORUM' => FORUM_URL . $watch[$i]['forum_id'], + 'REPLIES' => $watch[$i]['topic_replies'], + 'AUTHOR' => profile_url($watch[$i]), + 'LAST_POST' => bb_date($watch[$i]['topic_last_post_time']) .'
    '. profile_url(array('user_id' => $watch[$i]['last_user_id'], 'username' => $watch[$i]['last_username'], 'user_rank' => $watch[$i]['last_user_rank'])), + 'LAST_POST_ID' => $watch[$i]['topic_last_post_id'], + 'IS_UNREAD' => $is_unread, + 'TOPIC_ICON' => get_topic_icon($watch[$i], $is_unread), + 'PAGINATION' => ($watch[$i]['topic_status'] == TOPIC_MOVED) ? '' : build_topic_pagination(TOPIC_URL . $watch[$i]['topic_id'], $watch[$i]['topic_replies'], $bb_cfg['posts_per_page']), + )); + } + + $template->assign_vars(array( + 'MATCHES' => (count($watch) == 1) ? sprintf($lang['FOUND_SEARCH_MATCH'], count($watch)) : sprintf($lang['FOUND_SEARCH_MATCHES'], count($watch)), + 'PAGINATION' => generate_pagination(BB_ROOT .'profile.php?mode=watch', $watch_count, $per_page, $start), + 'PAGE_NUMBER' => sprintf($lang['PAGE_OF'], ( floor( $start / $per_page ) + 1 ), ceil( $watch_count / $per_page )), + 'U_PER_PAGE' => BB_ROOT .'profile.php?mode=watch', + 'PER_PAGE' => $per_page, + )); + } + DB() ->sql_freeresult($result); +} +else +{ + meta_refresh(BB_ROOT, '3'); + bb_die($lang['NO_WATCHED_TOPICS']); +} + print_page('usercp_topic_watch.tpl'); \ No newline at end of file diff --git a/upload/includes/ucp/viewprofile.php b/upload/includes/ucp/viewprofile.php index ac85b794a..626d64c17 100644 --- a/upload/includes/ucp/viewprofile.php +++ b/upload/includes/ucp/viewprofile.php @@ -1,240 +1,240 @@ -enqueue(array( - 'ranks', -)); - -if (empty($_GET[POST_USERS_URL]) || $_GET[POST_USERS_URL] == GUEST_UID) -{ - bb_die($lang['NO_USER_ID_SPECIFIED']); -} -if (!$profiledata = get_userdata($_GET[POST_USERS_URL])) -{ - bb_die($lang['NO_USER_ID_SPECIFIED']); -} - -if (!$userdata['session_logged_in']) -{ - redirect(LOGIN_URL . "?redirect={$_SERVER['REQUEST_URI']}"); -} - -if (!$ranks = $datastore->get('ranks')) -{ - $datastore->update('ranks'); - $ranks = $datastore->get('ranks'); -} - -$poster_rank = $rank_image= $rank_style = $rank_select = ''; -if ($user_rank = $profiledata['user_rank'] AND isset($ranks[$user_rank])) -{ - $rank_image = ($ranks[$user_rank]['rank_image']) ? '' : ''; - $poster_rank = $ranks[$user_rank]['rank_title']; - $rank_style = $ranks[$user_rank]['rank_style']; -} -if (IS_ADMIN) -{ - $rank_select = array($lang['NONE'] => 0); - foreach ($ranks as $row) - { - $rank_select[$row['rank_title']] = $row['rank_id']; - } - $rank_select = build_select('rank-sel', $rank_select, $user_rank); -} - -if (bf($profiledata['user_opt'], 'user_opt', 'user_viewemail') || $profiledata['user_id'] == $userdata['user_id'] || IS_AM) -{ - $email_uri = ($bb_cfg['board_email_form']) ? 'profile.php?mode=email&'. POST_USERS_URL .'='. $profiledata['user_id'] : 'mailto:'. $profiledata['user_email']; - $email = ''. $profiledata['user_email'] .''; -} -else -{ - $email = ''; -} - -// Report -// -// Get report user module and create report link -// -include(INC_DIR ."functions_report.php"); -$report_user = report_modules('name', 'report_user'); - -if ($report_user && $report_user->auth_check('auth_write')) -{ - $template->assign_block_vars('switch_report_user', array()); - $template->assign_vars(array( - 'U_REPORT_USER' => 'report.php?mode='. $report_user->mode .'&id='. $profiledata['user_id'], - 'L_REPORT_USER' => $report_user->lang['WRITE_REPORT']) - ); -} -// Report [END] - -// -// Generate page -// - -$profile_user_id = ($profiledata['user_id'] == $userdata['user_id']); - -$signature = ($bb_cfg['allow_sig'] && $profiledata['user_sig']) ? $profiledata['user_sig'] : ''; - -if(bf($profiledata['user_opt'], 'user_opt', 'dis_sig')) -{ - if($profile_user_id) - { - $signature = $lang['SIGNATURE_DISABLE']; - } - else - { - $signature = ''; - } -} -else if ($signature) -{ - $signature = bbcode2html($signature); -} - -$template->assign_vars(array( - 'PAGE_TITLE' => sprintf($lang['VIEWING_USER_PROFILE'], $profiledata['username']), - 'USERNAME' => $profiledata['username'], - 'PROFILE_USER_ID' => $profiledata['user_id'], - 'PROFILE_USER' => $profile_user_id, - 'USER_REGDATE' => bb_date($profiledata['user_regdate'], 'Y-m-d H:i', false), - 'POSTER_RANK' => ($poster_rank) ? "". $poster_rank ."" : $lang['USER'], - 'RANK_IMAGE' => $rank_image, - 'RANK_SELECT' => $rank_select, - 'POSTS' => $profiledata['user_posts'], - 'PM' => ''. $lang['SEND_PRIVATE_MESSAGE'] .'', - 'EMAIL' => $email, - 'WWW' => $profiledata['user_website'], - 'ICQ' => $profiledata['user_icq'], - 'LAST_VISIT_TIME' => ($profiledata['user_lastvisit']) ? (bf($profiledata['user_opt'], 'user_opt', 'user_viewonline') && !IS_ADMIN) ? $lang['HIDDEN_USER'] : bb_date($profiledata['user_lastvisit'], 'Y-m-d H:i', false) : $lang['NEVER'], - 'LAST_ACTIVITY_TIME' => ($profiledata['user_session_time']) ? (bf($profiledata['user_opt'], 'user_opt', 'user_viewonline') && !IS_ADMIN) ? $lang['HIDDEN_USER'] : bb_date($profiledata['user_session_time'], 'Y-m-d H:i', false) : $lang['NEVER'], - - 'USER_ACTIVE' => $profiledata['user_active'], - 'LOCATION' => $profiledata['user_from'], - 'OCCUPATION' => $profiledata['user_occ'], - 'INTERESTS' => $profiledata['user_interests'], - 'SKYPE' => $profiledata['user_skype'], - 'TWITTER' => $profiledata['user_twitter'], - 'USER_POINTS' => $profiledata['user_points'], - 'GENDER' => ($bb_cfg['gender']) ? $lang['GENDER_SELECT'][$profiledata['user_gender']] : '', - 'BIRTHDAY' => ($bb_cfg['birthday_enabled'] && $profiledata['user_birthday'] != '0000-00-00') ? $profiledata['user_birthday'] : '', - 'AGE' => ($bb_cfg['birthday_enabled'] && $profiledata['user_birthday'] != '0000-00-00') ? birthday_age($profiledata['user_birthday']) : '', - - 'L_VIEWING_PROFILE' => sprintf($lang['VIEWING_USER_PROFILE'], $profiledata['username']), - 'L_MY_PROFILE' => sprintf($lang['VIEWING_MY_PROFILE'], 'profile.php?mode=editprofile'), - - 'U_SEARCH_USER' => "search.php?search_author=1&uid={$profiledata['user_id']}", - 'U_SEARCH_TOPICS' => "search.php?uid={$profiledata['user_id']}&myt=1", - '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', 'dis_avatar')), - - 'SIGNATURE' => $signature, - 'SHOW_PASSKEY' => (IS_ADMIN || $profile_user_id), - 'SHOW_ROLE' => (IS_AM || $profile_user_id || $profiledata['user_active']), - 'GROUP_MEMBERSHIP' => false, - 'TRAF_STATS' => !(IS_AM || $profile_user_id), -)); - -if (IS_ADMIN) -{ - $group_membership = array(); - $sql = " - SELECT COUNT(g.group_id) AS groups_cnt, g.group_single_user, ug.user_pending - FROM ". BB_USER_GROUP ." ug - LEFT JOIN ". BB_GROUPS ." g USING(group_id) - WHERE ug.user_id = {$profiledata['user_id']} - GROUP BY ug.user_id, g.group_single_user, ug.user_pending - ORDER BY NULL - "; - if ($rowset = DB()->fetch_rowset($sql)) - { - $member = $pending = $single = 0; - foreach ($rowset as $row) - { - if (!$row['group_single_user'] && !$row['user_pending']) - { - $member = $row['groups_cnt']; - } - else if (!$row['group_single_user'] && $row['user_pending']) - { - $pending = $row['groups_cnt']; - } - else if ($row['group_single_user']) - { - $single = $row['groups_cnt']; - } - } - if ($member) $group_membership[] = $lang['PARTY'] ." $member"; - if ($pending) $group_membership[] = $lang['CANDIDATE'] ." $pending"; - if ($single) $group_membership[] = $lang['INDIVIDUAL']; - $group_membership = join(', ', $group_membership); - } - $template->assign_vars(array( - 'GROUP_MEMBERSHIP' => (bool) $group_membership, - 'GROUP_MEMBERSHIP_TXT' => $group_membership, - )); -} -else if (IS_MOD) -{ - $template->assign_vars(array( - 'SHOW_GROUP_MEMBERSHIP' => ($profiledata['user_level'] != USER), - )); -} - -// Show users torrent-profile -if (IS_AM || $profile_user_id || !bf($profiledata['user_opt'], 'user_opt', 'user_dls')) -{ - require(INC_DIR .'ucp/viewtorrent.php'); -} - -// Ajax bt_userdata -if (IS_AM || $profile_user_id) -{ - show_bt_userdata($profiledata['user_id']); -} -else -{ - $template->assign_vars(array( - 'DOWN_TOTAL_BYTES' => false, - 'MIN_DL_BYTES' => false, - )); -} - -if (IS_ADMIN) -{ - $ajax_user_opt = bb_json_encode(array( - 'dis_avatar' => bf($profiledata['user_opt'], 'user_opt', 'dis_avatar'), - 'dis_sig' => bf($profiledata['user_opt'], 'user_opt', 'dis_sig'), - 'dis_passkey' => bf($profiledata['user_opt'], 'user_opt', 'dis_passkey'), - 'dis_pm' => bf($profiledata['user_opt'], 'user_opt', 'dis_pm'), - 'dis_post' => bf($profiledata['user_opt'], 'user_opt', 'dis_post'), - 'dis_post_edit' => bf($profiledata['user_opt'], 'user_opt', 'dis_post_edit'), - 'dis_topic' => bf($profiledata['user_opt'], 'user_opt', 'dis_topic'), - )); - - $template->assign_vars(array( - 'EDITABLE_TPLS' => true, - 'AJAX_USER_OPT' => $ajax_user_opt, - 'U_MANAGE' => "profile.php?mode=editprofile&u={$profiledata['user_id']}", - 'U_PERMISSIONS' => "admin/admin_ug_auth.php?mode=user&u={$profiledata['user_id']}", - )); -} - -$user_restrictions = array(); - -if (bf($profiledata['user_opt'], 'user_opt', 'dis_avatar')) $user_restrictions[] = $lang['HIDE_AVATARS']; -if (bf($profiledata['user_opt'], 'user_opt', 'dis_sig')) $user_restrictions[] = $lang['SHOW_CAPTION']; -if (bf($profiledata['user_opt'], 'user_opt', 'dis_passkey')) $user_restrictions[] = $lang['DOWNLOAD_TORRENT']; -if (bf($profiledata['user_opt'], 'user_opt', 'dis_pm')) $user_restrictions[] = $lang['SEND_PM']; -if (bf($profiledata['user_opt'], 'user_opt', 'dis_post')) $user_restrictions[] = $lang['SEND_MESSAGE']; -if (bf($profiledata['user_opt'], 'user_opt', 'dis_post_edit')) $user_restrictions[] = $lang['EDIT_POST']; -if (bf($profiledata['user_opt'], 'user_opt', 'dis_topic')) $user_restrictions[] = $lang['NEW_THREADS']; - -$template->assign_var('USER_RESTRICTIONS', join('
  • ', $user_restrictions)); - +enqueue(array( + 'ranks', +)); + +if (empty($_GET[POST_USERS_URL]) || $_GET[POST_USERS_URL] == GUEST_UID) +{ + bb_die($lang['NO_USER_ID_SPECIFIED']); +} +if (!$profiledata = get_userdata($_GET[POST_USERS_URL])) +{ + bb_die($lang['NO_USER_ID_SPECIFIED']); +} + +if (!$userdata['session_logged_in']) +{ + redirect(LOGIN_URL . "?redirect={$_SERVER['REQUEST_URI']}"); +} + +if (!$ranks = $datastore->get('ranks')) +{ + $datastore->update('ranks'); + $ranks = $datastore->get('ranks'); +} + +$poster_rank = $rank_image= $rank_style = $rank_select = ''; +if ($user_rank = $profiledata['user_rank'] AND isset($ranks[$user_rank])) +{ + $rank_image = ($ranks[$user_rank]['rank_image']) ? '' : ''; + $poster_rank = $ranks[$user_rank]['rank_title']; + $rank_style = $ranks[$user_rank]['rank_style']; +} +if (IS_ADMIN) +{ + $rank_select = array($lang['NONE'] => 0); + foreach ($ranks as $row) + { + $rank_select[$row['rank_title']] = $row['rank_id']; + } + $rank_select = build_select('rank-sel', $rank_select, $user_rank); +} + +if (bf($profiledata['user_opt'], 'user_opt', 'user_viewemail') || $profiledata['user_id'] == $userdata['user_id'] || IS_AM) +{ + $email_uri = ($bb_cfg['board_email_form']) ? 'profile.php?mode=email&'. POST_USERS_URL .'='. $profiledata['user_id'] : 'mailto:'. $profiledata['user_email']; + $email = ''. $profiledata['user_email'] .''; +} +else +{ + $email = ''; +} + +// Report +// +// Get report user module and create report link +// +include(INC_DIR ."functions_report.php"); +$report_user = report_modules('name', 'report_user'); + +if ($report_user && $report_user->auth_check('auth_write')) +{ + $template->assign_block_vars('switch_report_user', array()); + $template->assign_vars(array( + 'U_REPORT_USER' => 'report.php?mode='. $report_user->mode .'&id='. $profiledata['user_id'], + 'L_REPORT_USER' => $report_user->lang['WRITE_REPORT']) + ); +} +// Report [END] + +// +// Generate page +// + +$profile_user_id = ($profiledata['user_id'] == $userdata['user_id']); + +$signature = ($bb_cfg['allow_sig'] && $profiledata['user_sig']) ? $profiledata['user_sig'] : ''; + +if(bf($profiledata['user_opt'], 'user_opt', 'dis_sig')) +{ + if($profile_user_id) + { + $signature = $lang['SIGNATURE_DISABLE']; + } + else + { + $signature = ''; + } +} +else if ($signature) +{ + $signature = bbcode2html($signature); +} + +$template->assign_vars(array( + 'PAGE_TITLE' => sprintf($lang['VIEWING_USER_PROFILE'], $profiledata['username']), + 'USERNAME' => $profiledata['username'], + 'PROFILE_USER_ID' => $profiledata['user_id'], + 'PROFILE_USER' => $profile_user_id, + 'USER_REGDATE' => bb_date($profiledata['user_regdate'], 'Y-m-d H:i', false), + 'POSTER_RANK' => ($poster_rank) ? "". $poster_rank ."" : $lang['USER'], + 'RANK_IMAGE' => $rank_image, + 'RANK_SELECT' => $rank_select, + 'POSTS' => $profiledata['user_posts'], + 'PM' => ''. $lang['SEND_PRIVATE_MESSAGE'] .'', + 'EMAIL' => $email, + 'WWW' => $profiledata['user_website'], + 'ICQ' => $profiledata['user_icq'], + 'LAST_VISIT_TIME' => ($profiledata['user_lastvisit']) ? (bf($profiledata['user_opt'], 'user_opt', 'user_viewonline') && !IS_ADMIN) ? $lang['HIDDEN_USER'] : bb_date($profiledata['user_lastvisit'], 'Y-m-d H:i', false) : $lang['NEVER'], + 'LAST_ACTIVITY_TIME' => ($profiledata['user_session_time']) ? (bf($profiledata['user_opt'], 'user_opt', 'user_viewonline') && !IS_ADMIN) ? $lang['HIDDEN_USER'] : bb_date($profiledata['user_session_time'], 'Y-m-d H:i', false) : $lang['NEVER'], + + 'USER_ACTIVE' => $profiledata['user_active'], + 'LOCATION' => $profiledata['user_from'], + 'OCCUPATION' => $profiledata['user_occ'], + 'INTERESTS' => $profiledata['user_interests'], + 'SKYPE' => $profiledata['user_skype'], + 'TWITTER' => $profiledata['user_twitter'], + 'USER_POINTS' => $profiledata['user_points'], + 'GENDER' => ($bb_cfg['gender']) ? $lang['GENDER_SELECT'][$profiledata['user_gender']] : '', + 'BIRTHDAY' => ($bb_cfg['birthday_enabled'] && $profiledata['user_birthday'] != '0000-00-00') ? $profiledata['user_birthday'] : '', + 'AGE' => ($bb_cfg['birthday_enabled'] && $profiledata['user_birthday'] != '0000-00-00') ? birthday_age($profiledata['user_birthday']) : '', + + 'L_VIEWING_PROFILE' => sprintf($lang['VIEWING_USER_PROFILE'], $profiledata['username']), + 'L_MY_PROFILE' => sprintf($lang['VIEWING_MY_PROFILE'], 'profile.php?mode=editprofile'), + + 'U_SEARCH_USER' => "search.php?search_author=1&uid={$profiledata['user_id']}", + 'U_SEARCH_TOPICS' => "search.php?uid={$profiledata['user_id']}&myt=1", + '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', 'dis_avatar')), + + 'SIGNATURE' => $signature, + 'SHOW_PASSKEY' => (IS_ADMIN || $profile_user_id), + 'SHOW_ROLE' => (IS_AM || $profile_user_id || $profiledata['user_active']), + 'GROUP_MEMBERSHIP' => false, + 'TRAF_STATS' => !(IS_AM || $profile_user_id), +)); + +if (IS_ADMIN) +{ + $group_membership = array(); + $sql = " + SELECT COUNT(g.group_id) AS groups_cnt, g.group_single_user, ug.user_pending + FROM ". BB_USER_GROUP ." ug + LEFT JOIN ". BB_GROUPS ." g USING(group_id) + WHERE ug.user_id = {$profiledata['user_id']} + GROUP BY ug.user_id, g.group_single_user, ug.user_pending + ORDER BY NULL + "; + if ($rowset = DB()->fetch_rowset($sql)) + { + $member = $pending = $single = 0; + foreach ($rowset as $row) + { + if (!$row['group_single_user'] && !$row['user_pending']) + { + $member = $row['groups_cnt']; + } + else if (!$row['group_single_user'] && $row['user_pending']) + { + $pending = $row['groups_cnt']; + } + else if ($row['group_single_user']) + { + $single = $row['groups_cnt']; + } + } + if ($member) $group_membership[] = $lang['PARTY'] ." $member"; + if ($pending) $group_membership[] = $lang['CANDIDATE'] ." $pending"; + if ($single) $group_membership[] = $lang['INDIVIDUAL']; + $group_membership = join(', ', $group_membership); + } + $template->assign_vars(array( + 'GROUP_MEMBERSHIP' => (bool) $group_membership, + 'GROUP_MEMBERSHIP_TXT' => $group_membership, + )); +} +else if (IS_MOD) +{ + $template->assign_vars(array( + 'SHOW_GROUP_MEMBERSHIP' => ($profiledata['user_level'] != USER), + )); +} + +// Show users torrent-profile +if (IS_AM || $profile_user_id || !bf($profiledata['user_opt'], 'user_opt', 'user_dls')) +{ + require(INC_DIR .'ucp/viewtorrent.php'); +} + +// Ajax bt_userdata +if (IS_AM || $profile_user_id) +{ + show_bt_userdata($profiledata['user_id']); +} +else +{ + $template->assign_vars(array( + 'DOWN_TOTAL_BYTES' => false, + 'MIN_DL_BYTES' => false, + )); +} + +if (IS_ADMIN) +{ + $ajax_user_opt = bb_json_encode(array( + 'dis_avatar' => bf($profiledata['user_opt'], 'user_opt', 'dis_avatar'), + 'dis_sig' => bf($profiledata['user_opt'], 'user_opt', 'dis_sig'), + 'dis_passkey' => bf($profiledata['user_opt'], 'user_opt', 'dis_passkey'), + 'dis_pm' => bf($profiledata['user_opt'], 'user_opt', 'dis_pm'), + 'dis_post' => bf($profiledata['user_opt'], 'user_opt', 'dis_post'), + 'dis_post_edit' => bf($profiledata['user_opt'], 'user_opt', 'dis_post_edit'), + 'dis_topic' => bf($profiledata['user_opt'], 'user_opt', 'dis_topic'), + )); + + $template->assign_vars(array( + 'EDITABLE_TPLS' => true, + 'AJAX_USER_OPT' => $ajax_user_opt, + 'U_MANAGE' => "profile.php?mode=editprofile&u={$profiledata['user_id']}", + 'U_PERMISSIONS' => "admin/admin_ug_auth.php?mode=user&u={$profiledata['user_id']}", + )); +} + +$user_restrictions = array(); + +if (bf($profiledata['user_opt'], 'user_opt', 'dis_avatar')) $user_restrictions[] = $lang['HIDE_AVATARS']; +if (bf($profiledata['user_opt'], 'user_opt', 'dis_sig')) $user_restrictions[] = $lang['SHOW_CAPTION']; +if (bf($profiledata['user_opt'], 'user_opt', 'dis_passkey')) $user_restrictions[] = $lang['DOWNLOAD_TORRENT']; +if (bf($profiledata['user_opt'], 'user_opt', 'dis_pm')) $user_restrictions[] = $lang['SEND_PM']; +if (bf($profiledata['user_opt'], 'user_opt', 'dis_post')) $user_restrictions[] = $lang['SEND_MESSAGE']; +if (bf($profiledata['user_opt'], 'user_opt', 'dis_post_edit')) $user_restrictions[] = $lang['EDIT_POST']; +if (bf($profiledata['user_opt'], 'user_opt', 'dis_topic')) $user_restrictions[] = $lang['NEW_THREADS']; + +$template->assign_var('USER_RESTRICTIONS', join('
  • ', $user_restrictions)); + print_page('usercp_viewprofile.tpl'); \ No newline at end of file diff --git a/upload/language/en/html/advert.html b/upload/language/en/html/advert.html index fa68550e7..686c07b2e 100644 --- a/upload/language/en/html/advert.html +++ b/upload/language/en/html/advert.html @@ -1,17 +1,17 @@ -ADVERTISING ON THE SITE - -
    -
    - ADVERTISING ON THE SITE -
    - -
    -

    Advertising on ">

    -

    For advertising please contact:

    -
    -
    -
    -

    [ Close ]

    +ADVERTISING ON THE SITE + +
    +
    + ADVERTISING ON THE SITE +
    + +
    +

    Advertising on ">

    +

    For advertising please contact:

    +
    +
    +
    +

    [ Close ]

    \ No newline at end of file diff --git a/upload/language/en/html/sidebar1.html b/upload/language/en/html/sidebar1.html index 3799fb682..30742dc5a 100644 --- a/upload/language/en/html/sidebar1.html +++ b/upload/language/en/html/sidebar1.html @@ -1,23 +1,23 @@ -
    -

    BitTorrent clients

    - -
    - -
    - - - -
    - +
    +

    BitTorrent clients

    + +
    + +
    + + + +
    + \ No newline at end of file diff --git a/upload/language/en/html/sidebar2.html b/upload/language/en/html/sidebar2.html index 496958bb7..ab7180ea0 100644 --- a/upload/language/en/html/sidebar2.html +++ b/upload/language/en/html/sidebar2.html @@ -1,18 +1,18 @@ -
    -

    Sidebar 2

    - To add content into this sidebar, edit the following files: -

    -
      -
    • language/*/html/sidebar2.html
    • -
    • /templates/default/page_footer.tpl
    • -
    -
    - To disable this sidebar, set the variable $page_cfg['show_sidebar2'] in file config.php to false. -
    - -
    - -
    -

    Partners

    - We are grateful to all people who have made material assistance to the development of TorrentPier II, specified in the file contributors.txt. +
    +

    Sidebar 2

    + To add content into this sidebar, edit the following files: +

    +
      +
    • language/*/html/sidebar2.html
    • +
    • /templates/default/page_footer.tpl
    • +
    +
    + To disable this sidebar, set the variable $page_cfg['show_sidebar2'] in file config.php to false. +
    + +
    + +
    +

    Partners

    + We are grateful to all people who have made material assistance to the development of TorrentPier II, specified in the file contributors.txt.
    \ No newline at end of file diff --git a/upload/language/en/main.php b/upload/language/en/main.php index 04a744596..caf5728db 100644 --- a/upload/language/en/main.php +++ b/upload/language/en/main.php @@ -1,2979 +1,2979 @@ -Show All'; -$lang['TOPIC'] = 'Topic'; -$lang['TOPICS'] = 'Topics'; -$lang['TOPICS_SHORT'] = 'Topics'; -$lang['REPLIES'] = 'Replies'; -$lang['REPLIES_SHORT'] = 'Replies'; -$lang['VIEWS'] = 'Views'; -$lang['POSTS'] = 'Posts'; -$lang['POSTS_SHORT'] = 'Posts'; -$lang['POSTED'] = 'Posted'; -$lang['USERNAME'] = 'Username'; -$lang['PASSWORD'] = 'Password'; -$lang['EMAIL'] = 'Email'; -$lang['PM'] = 'PM'; -$lang['AUTHOR'] = 'Author'; -$lang['TIME'] = 'Time'; -$lang['HOURS'] = 'Hours'; -$lang['MESSAGE'] = 'Message'; -$lang['TORRENT'] = 'Torrent'; -$lang['PERMISSIONS'] = 'Permissions'; -$lang['TYPE'] = 'Type'; -$lang['SEEDER'] = 'Seeder'; -$lang['LEECHER'] = 'Leecher'; -$lang['RELEASER'] = 'Releaser'; - -$lang['1_DAY'] = '1 Day'; -$lang['7_DAYS'] = '7 Days'; -$lang['2_WEEKS'] = '2 Weeks'; -$lang['1_MONTH'] = '1 Month'; -$lang['3_MONTHS'] = '3 Months'; -$lang['6_MONTHS'] = '6 Months'; -$lang['1_YEAR'] = '1 Year'; - -$lang['GO'] = 'Go to'; -$lang['SUBMIT'] = 'Submit'; -$lang['RESET'] = 'Reset'; -$lang['CANCEL'] = 'Cancel'; -$lang['PREVIEW'] = 'Preview'; -$lang['AJAX_PREVIEW'] = 'Quick View'; -$lang['CONFIRM'] = 'Confirm'; -$lang['YES'] = 'Yes'; -$lang['NO'] = 'No'; -$lang['ENABLED'] = 'Enabled'; -$lang['DISABLED'] = 'Disabled'; -$lang['ERROR'] = 'Error'; -$lang['SELECT_ACTION'] = 'Select action'; - -$lang['NEXT_PAGE'] = 'Next'; -$lang['PREVIOUS_PAGE'] = 'Previous'; -$lang['GOTO_PAGE'] = 'Go to page'; -$lang['GOTO_SHORT'] = 'Page'; -$lang['JOINED'] = 'Joined'; -$lang['LONGEVITY'] = 'Longevity'; -$lang['IP_ADDRESS'] = 'IP Address'; -$lang['POSTED_AFTER'] = 'after'; - -$lang['SELECT_FORUM'] = 'Select forum'; -$lang['VIEW_LATEST_POST'] = 'View latest post'; -$lang['VIEW_NEWEST_POST'] = 'View newest post'; -$lang['PAGE_OF'] = 'Page %d of %s'; - -$lang['ICQ'] = 'ICQ'; - -$lang['SKYPE'] = 'Skype'; -$lang['SKYPE_ERROR'] = 'You entered an invalid Skype login'; - -$lang['TWITTER'] = 'Twitter'; -$lang['TWITTER_ERROR'] = 'You entered an invalid Twitter login'; - -$lang['FORUM_INDEX'] = '%s Forum Index'; // eg. sitename Forum Index, %s can be removed if you prefer - -$lang['POST_NEW_TOPIC'] = 'Post new topic'; -$lang['POST_NEW_RELEASE'] = 'Post new release'; -$lang['POST_REGULAR_TOPIC'] = 'Post regular topic'; -$lang['REPLY_TO_TOPIC'] = 'Reply to topic'; -$lang['REPLY_WITH_QUOTE'] = 'Reply with quote'; - -$lang['CLICK_RETURN_TOPIC'] = 'Click %sHere%s to return to the topic'; // %s's here are for uris, do not remove! -$lang['CLICK_RETURN_LOGIN'] = 'Click %sHere%s to try again'; -$lang['CLICK_RETURN_FORUM'] = 'Click %sHere%s to return to the forum'; -$lang['CLICK_VIEW_MESSAGE'] = 'Click %sHere%s to return to your message'; -$lang['CLICK_RETURN_MODCP'] = 'Click %sHere%s to return to Moderator Control Panel'; -$lang['CLICK_RETURN_GROUP'] = 'Click %sHere%s to return to group information'; - -$lang['ADMIN_PANEL'] = 'Go to Administration Panel'; -$lang['ALL_CACHE'] = 'All cache'; -$lang['ALL_CACHE_CLEARED'] = 'Cache has been cleared'; -$lang['ALL_TEMPLATE_CLEARED'] = 'Template cache has been cleared'; -$lang['DATASTORE'] = 'Datastore'; -$lang['DATASTORE_CLEARED'] = 'Datastore has been cleared'; -$lang['BOARD_DISABLE'] = 'Sorry, this board is currently not available. Please try again later.'; - -$lang['LOADING'] = 'Loading...'; -$lang['JUMPBOX_TITLE'] = 'Select forum'; -$lang['DISPLAYING_OPTIONS'] = 'Displaying options'; - -// -// Global Header strings -// -$lang['REGISTERED_USERS'] = 'Registered Users:'; -$lang['BROWSING_FORUM'] = 'Users browsing this forum:'; -$lang['ONLINE_USERS'] = 'In total there are %1$d users online: %2$d registered and %3$d guests'; -$lang['RECORD_ONLINE_USERS'] = 'The most users ever online was %s on %s'; // first %s = number of users, second %s is the date. - -$lang['ONLINE_ADMIN'] = 'Administrator'; -$lang['ONLINE_MOD'] = 'Moderator'; -$lang['ONLINE_GROUP_MEMBER'] = 'Group member'; - -$lang['CURRENT_TIME'] = 'Current time is: %s'; - -$lang['SEARCH_NEW'] = 'View newest posts'; -$lang['SEARCH_SELF'] = 'My posts'; -$lang['SEARCH_SELF_BY_LAST'] = 'last post time'; -$lang['SEARCH_SELF_BY_MY'] = 'my post time'; -$lang['SEARCH_UNANSWERED'] = 'View unanswered posts'; -$lang['SEARCH_UNANSWERED_SHORT'] = 'unanswered'; -$lang['SEARCH_LATEST'] = 'latest'; - -$lang['REGISTER'] = 'Register'; -$lang['PROFILE'] = 'Profile'; -$lang['EDIT_PROFILE'] = 'Edit profile'; -$lang['SEARCH'] = 'Search'; -$lang['MEMBERLIST'] = 'Memberlist'; -$lang['USERGROUPS'] = 'Usergroups'; -$lang['LASTPOST'] = 'Last Post'; -$lang['MODERATOR'] = 'Moderator'; -$lang['MODERATORS'] = 'Moderators'; -$lang['TERMS'] = 'Terms'; -$lang['NOTHING_HAS_CHANGED'] = 'Nothing has been changed'; - -// -// Stats block text -// -$lang['POSTED_TOPICS_TOTAL'] = 'Our users have posted a total of %s topics'; // Number of topics -$lang['POSTED_ARTICLES_ZERO_TOTAL'] = 'Our users have posted a total of 0 articles'; // Number of posts -$lang['POSTED_ARTICLES_TOTAL'] = 'Our users have posted a total of %s articles'; // Number of posts -$lang['REGISTERED_USERS_ZERO_TOTAL'] = 'We have 0 registered users'; // # registered users -$lang['REGISTERED_USERS_TOTAL'] = 'We have %s registered users'; // # registered users -$lang['USERS_TOTAL_GENDER'] = 'Boys: %d, Girls: %d, Others: %d'; -$lang['NEWEST_USER'] = 'The newest registered user is %s'; // a href, username, /a - -// Tracker stats -$lang['TORRENTS_STAT'] = 'Torrents: %s,  Total size: %s'; // first %s = number of torrents, second %s is the total size. -$lang['PEERS_STAT'] = 'Peers: %s,  Seeders: %s,  Leechers: %s'; // first %s = number of peers, second %s = number of seeders, third %s = number of leechers. -$lang['SPEED_STAT'] = 'Total speed: %s '; // %s = total speed. - -$lang['NO_NEW_POSTS_LAST_VISIT'] = 'No new posts since your last visit'; -$lang['NO_NEW_POSTS'] = 'No new posts'; -$lang['NEW_POSTS'] = 'New posts'; -$lang['NEW_POST'] = 'New post'; -$lang['NO_NEW_POSTS_HOT'] = 'No new posts [ Popular ]'; -$lang['NEW_POSTS_HOT'] = 'New posts [ Popular ]'; -$lang['NEW_POSTS_LOCKED'] = 'New posts [ Locked ]'; -$lang['FORUM_LOCKED_MAIN'] = 'Forum is locked'; - -// -// Login -// -$lang['ENTER_PASSWORD'] = 'Please enter username and password to log in.'; -$lang['LOGIN'] = 'Log in'; -$lang['LOGOUT'] = 'Log out'; -$lang['CONFIRM_LOGOUT'] = 'Are you sure you want to log out?'; - -$lang['FORGOTTEN_PASSWORD'] = 'Password forgotten?'; -$lang['AUTO_LOGIN'] = 'Log me on automatically'; -$lang['ERROR_LOGIN'] = 'The username you submitted is incorrect or invalid, or the password is invalid.'; -$lang['REMEMBER'] = 'Remember'; -$lang['USER_WELCOME'] = 'Welcome,'; - -// -// Index page -// -$lang['HOME'] = 'Home'; -$lang['NO_POSTS'] = 'No posts'; -$lang['NO_FORUMS'] = 'This board has no forums'; - -$lang['PRIVATE_MESSAGE'] = 'Private Message'; -$lang['PRIVATE_MESSAGES'] = 'Private Messages'; -$lang['WHOSONLINE'] = 'Who is online'; - -$lang['MARK_ALL_FORUMS_READ'] = 'Flag all forums as read'; -$lang['FORUMS_MARKED_READ'] = 'All forums flagged as read'; - -$lang['LATEST_NEWS'] = 'Latest news'; -$lang['NETWORK_NEWS'] = 'Network news'; -$lang['SUBFORUMS'] = 'Subforums'; - -// -// Viewforum -// -$lang['VIEW_FORUM'] = 'View Forum'; - -$lang['FORUM_NOT_EXIST'] = 'The forum you selected does not exist.'; -$lang['REACHED_ON_ERROR'] = 'You have reached this page in error.'; -$lang['ERROR_PORNO_FORUM'] = 'This type of forums (18+) was hidden in your profile by you'; - -$lang['DISPLAY_TOPICS'] = 'Display topics'; -$lang['ALL_TOPICS'] = 'All Topics'; -$lang['MODERATE_FORUM'] = 'Moderate this forum'; -$lang['TITLE_SEARCH_HINT'] = 'search title...'; - -$lang['TOPIC_ANNOUNCEMENT'] = 'Announcement:'; -$lang['TOPIC_STICKY'] = 'Sticky:'; -$lang['TOPIC_MOVED'] = 'Moved:'; -$lang['TOPIC_POLL'] = '[ Poll ]'; - -$lang['MARK_TOPICS_READ'] = 'Mark all topics read'; -$lang['TOPICS_MARKED_READ'] = 'The topics for this forum have just been marked read'; - -$lang['RULES_POST_CAN'] = 'You can post new topics in this forum'; -$lang['RULES_POST_CANNOT'] = 'You cannot post new topics in this forum'; -$lang['RULES_REPLY_CAN'] = 'You can reply to topics in this forum'; -$lang['RULES_REPLY_CANNOT'] = 'You cannot reply to topics in this forum'; -$lang['RULES_EDIT_CAN'] = 'You can edit your posts in this forum'; -$lang['RULES_EDIT_CANNOT'] = 'You cannot edit your posts in this forum'; -$lang['RULES_DELETE_CAN'] = 'You can delete your posts in this forum'; -$lang['RULES_DELETE_CANNOT'] = 'You cannot delete your posts in this forum'; -$lang['RULES_VOTE_CAN'] = 'You can vote in polls in this forum'; -$lang['RULES_VOTE_CANNOT'] = 'You cannot vote in polls in this forum'; -$lang['RULES_MODERATE'] = 'You can moderate this forum'; - -$lang['NO_TOPICS_POST_ONE'] = 'There are no posts in this forum.
    Click on the Post New Topic link on this page to post one.'; - -// -// Viewtopic -// -$lang['VIEW_TOPIC'] = 'View topic'; - -$lang['GUEST'] = 'Guest'; -$lang['POST_SUBJECT'] = 'Post subject'; -$lang['SUBMIT_VOTE'] = 'Submit Vote'; -$lang['VIEW_RESULTS'] = 'View Results'; - -$lang['NO_NEWER_TOPICS'] = 'There are no newer topics in this forum'; -$lang['NO_OLDER_TOPICS'] = 'There are no older topics in this forum'; -$lang['TOPIC_POST_NOT_EXIST'] = 'The topic or post you requested does not exist'; -$lang['NO_POSTS_TOPIC'] = 'There are no posts in this topic'; - -$lang['DISPLAY_POSTS'] = 'Display posts'; -$lang['ALL_POSTS'] = 'All Posts'; -$lang['NEWEST_FIRST'] = 'Newest First'; -$lang['OLDEST_FIRST'] = 'Oldest First'; - -$lang['BACK_TO_TOP'] = 'Back to top'; - -$lang['READ_PROFILE'] = 'View user\'s profile'; -$lang['VISIT_WEBSITE'] = 'Visit poster\'s website'; -$lang['VIEW_IP'] = 'View poster IP address'; -$lang['MODERATE_POST'] = 'Moderate posts'; -$lang['DELETE_POST'] = 'Delete this post'; - -$lang['WROTE'] = 'wrote'; // proceeds the username and is followed by the quoted text -$lang['QUOTE'] = 'Quote'; // comes before bbcode quote output -$lang['CODE'] = 'Code'; // comes before bbcode code output -$lang['SPOILER_HEAD'] = 'hidden text'; -$lang['SPOILER_CLOSE'] = 'turn'; -$lang['PLAY_ON_CURPAGE'] = 'Start playing on current page'; - -$lang['EDITED_TIME_TOTAL'] = 'Last edited by %s on %s; edited %d time in total'; // Last edited by me on 12 Oct 2001; edited 1 time in total -$lang['EDITED_TIMES_TOTAL'] = 'Last edited by %s on %s; edited %d times in total'; // Last edited by me on 12 Oct 2001; edited 2 times in total - -$lang['LOCK_TOPIC'] = 'Lock the topic'; -$lang['UNLOCK_TOPIC'] = 'Unlock the topic'; -$lang['MOVE_TOPIC'] = 'Move the topic'; -$lang['DELETE_TOPIC'] = 'Delete the topic'; -$lang['SPLIT_TOPIC'] = 'Split the topic'; - -$lang['STOP_WATCHING_TOPIC'] = 'Stop following the topic'; -$lang['START_WATCHING_TOPIC'] = 'Follow the topic for replies'; -$lang['NO_LONGER_WATCHING'] = 'You are no longer following this topic'; -$lang['YOU_ARE_WATCHING'] = 'You are following this topic now'; - -$lang['TOTAL_VOTES'] = 'Total Votes'; -$lang['SEARCH_IN_TOPIC'] = 'search in topic...'; -$lang['HIDE_IN_TOPIC'] = 'Hide'; - -$lang['SHOW'] = 'Show'; -$lang['AVATARS'] = 'Avatars'; -$lang['RANK_IMAGES'] = 'Rank images'; -$lang['POST_IMAGES'] = 'Post images'; -$lang['SIGNATURES'] = 'Signatures'; -$lang['SPOILER'] = 'Spoiler'; -$lang['SHOW_OPENED'] = 'Show opened'; -$lang['DOWNLOAD_PIC'] = 'Downloadable pictures'; - -$lang['MODERATE_TOPIC'] = 'Moderate this topic'; -$lang['SELECT_POSTS_PER_PAGE'] = 'posts per page'; - -// -// Posting/Replying (Not private messaging!) -// -$lang['TOPIC_REVIEW'] = 'Topic review'; - -$lang['NO_POST_MODE'] = 'No post mode selected'; // If posting.php is called without a mode (newtopic/reply/delete/etc, shouldn't be shown normaly) - -$lang['POST_A_NEW_TOPIC'] = 'Post new topic'; -$lang['POST_A_REPLY'] = 'Post new reply'; -$lang['POST_TOPIC_AS'] = 'Post topic as'; -$lang['EDIT_POST'] = 'Edit post'; -$lang['EDIT_TOPIC_TITLE'] = 'Edit topic title'; -$lang['EDIT_POST_NOT_1'] = 'You are not allowed '; -$lang['EDIT_POST_NOT_2'] = 'You can not '; -$lang['EDIT_POST_AJAX'] = 'You can not edit post with the status '; -$lang['AFTER_THE_LAPSE'] = 'after the lapse of '; - -$lang['DONT_MESSAGE_TITLE'] = 'You should specify message title'; -$lang['INVALID_TOPIC_ID'] = 'Topic Absent!'; -$lang['INVALID_TOPIC_ID_DB'] = 'Topic does not exist in the database!'; - -$lang['NOT_POST'] = 'Absent Message'; -$lang['NOT_EDIT_TOR_STATUS'] = 'You can not edit release with the status'; -$lang['TOR_STATUS_DAYS'] = 'days'; - -$lang['OPTIONS'] = 'Options'; - -$lang['POST_ANNOUNCEMENT'] = 'Announcement'; -$lang['POST_STICKY'] = 'Sticky'; -$lang['POST_NORMAL'] = 'Normal'; -$lang['POST_DOWNLOAD'] = 'Download'; - -$lang['CONFIRM_DELETE'] = 'Are you sure you want to delete this post?'; -$lang['CONFIRM_DELETE_POLL'] = 'Are you sure you want to delete this poll?'; - -$lang['FLOOD_ERROR'] = 'You cannot make another post so soon after your last; please try again in a short while.'; -$lang['EMPTY_SUBJECT'] = 'You must specify a subject.'; -$lang['EMPTY_MESSAGE'] = 'You must enter a message.'; -$lang['FORUM_LOCKED'] = 'This forum is locked: you cannot post, reply to, or edit topics.'; -$lang['TOPIC_LOCKED'] = 'This topic is locked: you cannot edit posts or make replies.'; -$lang['TOPIC_LOCKED_SHORT'] = 'Topic locked'; -$lang['NO_POST_ID'] = 'You must select a post to edit'; -$lang['NO_TOPIC_ID'] = 'You must select a topic to reply to'; -$lang['NO_VALID_MODE'] = 'You can only post, reply, edit, or quote messages. Please return and try again.'; -$lang['NO_SUCH_POST'] = 'There is no such post. Please return and try again.'; -$lang['EDIT_OWN_POSTS'] = 'Sorry, but you can only edit your own posts.'; -$lang['DELETE_OWN_POSTS'] = 'Sorry, but you can only delete your own posts.'; -$lang['CANNOT_DELETE_REPLIED'] = 'Sorry, but you may not delete posts that have been replied to.'; -$lang['CANNOT_DELETE_POLL'] = 'Sorry, but you cannot delete an active poll.'; -$lang['EMPTY_POLL_TITLE'] = 'You must enter a title for your poll.'; -$lang['TO_FEW_POLL_OPTIONS'] = 'You must enter at least two poll options.'; -$lang['TO_MANY_POLL_OPTIONS'] = 'You have tried to enter too many poll options.'; -$lang['POST_HAS_NO_POLL'] = 'This post has no poll.'; -$lang['ALREADY_VOTED'] = 'You have already voted in this poll.'; -$lang['NO_VOTE_OPTION'] = 'You must specify an option when voting.'; -$lang['LOCKED_WARN'] = 'You posted into locked topic!'; - -$lang['ADD_POLL'] = 'Add a Poll'; -$lang['ADD_POLL_EXPLAIN'] = 'If you do not want to add a poll to your topic, leave the fields blank.'; -$lang['POLL_QUESTION'] = 'Poll question'; -$lang['POLL_OPTION'] = 'Poll option'; -$lang['ADD_OPTION'] = 'Add option'; -$lang['UPDATE'] = 'Update'; -$lang['POLL_FOR'] = 'Run poll for'; -$lang['DAYS'] = 'Days'; -$lang['POLL_FOR_EXPLAIN'] = '[ Enter 0 or leave blank for a never-ending poll ]'; -$lang['DELETE_POLL'] = 'Delete Poll'; - -$lang['MAX_SMILIES_PER_POST'] = 'Emoticons limit of %s emoticons exceeded.'; - -$lang['ATTACH_SIGNATURE'] = 'Attach signature (signatures can be changed in profile)'; -$lang['NOTIFY'] = 'Notify me when on replies'; - -$lang['STORED'] = 'Your message has been entered successfully.'; -$lang['EDITED'] = 'The message has been changed'; -$lang['DELETED'] = 'Your message has been deleted successfully.'; -$lang['POLL_DELETE'] = 'Your poll has been deleted successfully.'; -$lang['VOTE_CAST'] = 'Your vote has been cast.'; - -$lang['TOPIC_REPLY_NOTIFICATION'] = 'Topic Reply Notification'; -$lang['EMOTICONS'] = 'Emoticons'; -$lang['MORE_EMOTICONS'] = 'View more Emoticons'; - -$lang['FONT_COLOR'] = 'Font colour'; -$lang['COLOR_DEFAULT'] = 'Default'; -$lang['COLOR_DARK_RED'] = 'Dark Red'; -$lang['COLOR_RED'] = 'Red'; -$lang['COLOR_ORANGE'] = 'Orange'; -$lang['COLOR_BROWN'] = 'Brown'; -$lang['COLOR_YELLOW'] = 'Yellow'; -$lang['COLOR_GREEN'] = 'Green'; -$lang['COLOR_OLIVE'] = 'Olive'; -$lang['COLOR_CYAN'] = 'Cyan'; -$lang['COLOR_BLUE'] = 'Blue'; -$lang['COLOR_DARK_BLUE'] = 'Dark Blue'; -$lang['COLOR_INDIGO'] = 'Indigo'; -$lang['COLOR_VIOLET'] = 'Violet'; -$lang['COLOR_WHITE'] = 'White'; -$lang['COLOR_BLACK'] = 'Black'; - -$lang['FONT_SIZE'] = 'Font size'; -$lang['FONT_TINY'] = 'Tiny'; -$lang['FONT_SMALL'] = 'Small'; -$lang['FONT_NORMAL'] = 'Normal'; -$lang['FONT_LARGE'] = 'Large'; -$lang['FONT_HUGE'] = 'Huge'; - -$lang['STYLES_TIP'] = 'Tip: Styles can be applied quickly to selected text.'; - -$lang['NEW_POSTS_PREVIEW'] = 'Topic has new, edited or unread posts'; - -// -// Private Messaging -// -$lang['PRIVATE_MESSAGING'] = 'Private Messaging'; - -$lang['NO_NEW_PM'] = 'no new messages'; - -$lang['NEW_PMS_FORMAT'] = '%1$s %2$s'; // 1 new message -$lang['NEW_PMS_DECLENSION'] = array('new message', 'new messages'); - -$lang['UNREAD_PMS_FORMAT'] = '%1$s %2$s'; // 1 new message -$lang['UNREAD_PMS_DECLENSION'] = array('unread', 'unread'); - -$lang['UNREAD_MESSAGE'] = 'Unread message'; -$lang['READ_MESSAGE'] = 'Read message'; - -$lang['READ_PM'] = 'Read message'; -$lang['POST_NEW_PM'] = 'Post message'; -$lang['POST_REPLY_PM'] = 'Reply to message'; -$lang['POST_QUOTE_PM'] = 'Quote message'; -$lang['EDIT_PM'] = 'Edit message'; - -$lang['INBOX'] = 'Inbox'; -$lang['OUTBOX'] = 'Outbox'; -$lang['SAVEBOX'] = 'Savebox'; -$lang['SENTBOX'] = 'Sentbox'; -$lang['FLAG'] = 'Flag'; -$lang['SUBJECT'] = 'Subject'; -$lang['FROM'] = 'From'; -$lang['TO'] = 'To'; -$lang['DATE'] = 'Date'; -$lang['MARK'] = 'Mark'; -$lang['SENT'] = 'Sent'; -$lang['SAVED'] = 'Saved'; -$lang['DELETE_MARKED'] = 'Delete Marked'; -$lang['DELETE_ALL'] = 'Delete All'; -$lang['SAVE_MARKED'] = 'Save Marked'; -$lang['SAVE_MESSAGE'] = 'Save Message'; -$lang['DELETE_MESSAGE'] = 'Delete Message'; - -$lang['DISPLAY_MESSAGES'] = 'Display messages'; // Followed by number of days/weeks/months -$lang['ALL_MESSAGES'] = 'All Messages'; - -$lang['NO_MESSAGES_FOLDER'] = 'There are no messages in this folder'; - -$lang['PM_DISABLED'] = 'Private messaging has been disabled on this board.'; -$lang['CANNOT_SEND_PRIVMSG'] = 'Sorry, but the administrator has prevented you from sending private messages.'; -$lang['NO_TO_USER'] = 'You must specify a username to whom to send this message.'; -$lang['NO_SUCH_USER'] = 'Sorry, but no such user exists.'; - -$lang['DISABLE_BBCODE_PM'] = 'Disable BBCode in this message'; -$lang['DISABLE_SMILIES_PM'] = 'Disable Smilies in this message'; - -$lang['MESSAGE_SENT'] = 'Your message has been sent.'; - -$lang['CLICK_RETURN_INBOX'] = 'Return to your:

    %sInbox%s'; -$lang['CLICK_RETURN_SENTBOX'] = '   %sSentbox%s'; -$lang['CLICK_RETURN_OUTBOX'] = '   %sOutbox%s'; -$lang['CLICK_RETURN_SAVEBOX'] = '   %sSavebox%s'; -$lang['CLICK_RETURN_INDEX'] = '%sReturn to the Index%s'; - -$lang['SEND_A_NEW_MESSAGE'] = 'Send a new private message'; -$lang['SEND_A_REPLY'] = 'Reply to a private message'; -$lang['EDIT_MESSAGE'] = 'Edit private message'; - -$lang['NOTIFICATION_SUBJECT'] = 'New Private Message has been recieved!'; - -$lang['FIND_USERNAME'] = 'Find a username'; -$lang['SELECT_USERNAME'] = 'Select a Username'; -$lang['FIND'] = 'Find'; -$lang['NO_MATCH'] = 'No matches found.'; - -$lang['NO_PM_ID'] = 'Please specify post ID'; -$lang['NO_SUCH_FOLDER'] = 'Folder is not found'; -$lang['NO_FOLDER'] = 'Please specify the folder'; - -$lang['MARK_ALL'] = 'Mark all'; -$lang['UNMARK_ALL'] = 'Unmark all'; - -$lang['CONFIRM_DELETE_PM'] = 'Are you sure you want to delete this message?'; -$lang['CONFIRM_DELETE_PMS'] = 'Are you sure you want to delete these messages?'; - -$lang['INBOX_SIZE'] = 'Your Inbox is
    %d%% full'; // eg. Your Inbox is 50% full -$lang['SENTBOX_SIZE'] = 'Your Sentbox is
    %d%% full'; -$lang['SAVEBOX_SIZE'] = 'Your Savebox is
    %d%% full'; - -$lang['CLICK_VIEW_PRIVMSG'] = 'Click %sHere%s to visit your Inbox'; - -$lang['OUTBOX_EXPL'] = ''; - -// -// Profiles/Registration -// -$lang['VIEWING_USER_PROFILE'] = 'Viewing profile :: %s'; -$lang['VIEWING_MY_PROFILE'] = 'My profile [ Settings / Change profile ]'; - -$lang['DISABLED_USER'] = 'Account disabled'; -$lang['MANAGE_USER'] = 'Administration'; - -$lang['PREFERENCES'] = 'Preferences'; -$lang['ITEMS_REQUIRED'] = 'Items marked with a * are required unless stated otherwise.'; -$lang['REGISTRATION_INFO'] = 'Registration Information'; -$lang['PROFILE_INFO'] = 'Profile Information'; -$lang['PROFILE_INFO_WARN'] = 'Publicly available information'; -$lang['AVATAR_PANEL'] = 'Avatar control panel'; - -$lang['WEBSITE'] = 'Website'; -$lang['LOCATION'] = 'Location'; -$lang['CONTACT'] = 'Contact'; -$lang['EMAIL_ADDRESS'] = 'E-mail address'; -$lang['SEND_PRIVATE_MESSAGE'] = 'Send private message'; -$lang['HIDDEN_EMAIL'] = '[ Hidden ]'; -$lang['INTERESTS'] = 'Interests'; -$lang['OCCUPATION'] = 'Occupation'; -$lang['POSTER_RANK'] = 'Poster rank'; -$lang['AWARDED_RANK'] = 'Awarded rank'; -$lang['SHOT_RANK'] = 'Shot rank'; - -$lang['TOTAL_POSTS'] = 'Total posts'; -$lang['SEARCH_USER_POSTS'] = 'Find posts'; // Find all posts by username -$lang['SEARCH_USER_POSTS_SHORT'] = 'Find user posts'; -$lang['SEARCH_USER_TOPICS'] = 'Find user topics'; // Find all topics by username - -$lang['NO_USER_ID_SPECIFIED'] = 'Sorry, but that user does not exist.'; -$lang['WRONG_PROFILE'] = 'You cannot modify a profile that is not your own.'; - -$lang['ONLY_ONE_AVATAR'] = 'Only one type of avatar can be specified'; -$lang['FILE_NO_DATA'] = 'The file at the URL you gave contains no data'; -$lang['NO_CONNECTION_URL'] = 'A connection could not be made to the URL you gave'; -$lang['INCOMPLETE_URL'] = 'The URL you entered is incomplete'; -$lang['NO_SEND_ACCOUNT_INACTIVE'] = 'Sorry, but your password cannot be retrieved because your account is currently inactive'; -$lang['NO_SEND_ACCOUNT'] = 'Sorry, but your password cannot be retrieved. Please contact the forum administrator for more information'; - -$lang['ALWAYS_ADD_SIG'] = 'Always attach my signature'; -$lang['HIDE_PORN_FORUMS'] = 'Hide content 18+'; -$lang['ALWAYS_NOTIFY'] = 'Always notify me of replies'; -$lang['ALWAYS_NOTIFY_EXPLAIN'] = 'Sends an e-mail when someone replies to a topic you have posted in. This can be changed whenever you post.'; - -$lang['BOARD_LANG'] = 'Board language'; -$lang['GENDER'] = 'Gender'; -$lang['GENDER_SELECT'] = array( - 0 => 'Unknown', - 1 => 'Male', - 2 => 'Female' -); -$lang['MODULE_OFF'] = 'Module is disabled!'; - -$lang['BIRTHDAY'] = 'Birthday'; -$lang['HAPPY_BIRTHDAY'] = 'Happy Birthday!'; -$lang['WRONG_BIRTHDAY_FORMAT'] = 'The birthday format was entered incorrectly.'; -$lang['AGE'] = 'Age'; -$lang['BIRTHDAY_TO_HIGH'] = 'Sorry, this site, does not accept user older than %d years old'; -$lang['BIRTHDAY_TO_LOW'] = 'Sorry, this site, does not accept user yonger than %d years old'; -$lang['BIRTHDAY_TODAY'] = 'Users with a birthday today: '; -$lang['BIRTHDAY_WEEK'] = 'Users with a birthday within the next %d days: %s'; -$lang['NOBIRTHDAY_WEEK'] = 'No users are having a birthday in the upcoming %d days'; // %d is substitude with the number of days -$lang['NOBIRTHDAY_TODAY'] = 'No users have a birthday today'; -$lang['BIRTHDAY_ENABLE'] = 'Enable birthday'; -$lang['BIRTHDAY_MAX_AGE'] = 'Max age'; -$lang['BIRTHDAY_MIN_AGE'] = 'Min age'; -$lang['BIRTHDAY_CHECK_DAY'] = 'Days to check for come shortly birthdays'; -$lang['YEARS'] = 'Years'; - -$lang['NO_THEMES'] = 'No Themes In database'; -$lang['TIMEZONE'] = 'Timezone'; -$lang['DATE_FORMAT_PROFILE'] = 'Date format'; -$lang['DATE_FORMAT_EXPLAIN'] = 'The syntax used is identical to the PHP date() function.'; -$lang['SIGNATURE'] = 'Signature'; -$lang['SIGNATURE_EXPLAIN'] = 'This is a block of text that can be added to posts you make. There is a %d character limit'; -$lang['SIGNATURE_DISABLE'] = 'Signed off for violation of forum rules'; -$lang['PUBLIC_VIEW_EMAIL'] = 'Show e-mail address in my profile'; - -$lang['EMAIL_EXPLAIN'] = 'At this address you will be sent to complete the registration'; - -$lang['CURRENT_PASSWORD'] = 'Current password'; -$lang['NEW_PASSWORD'] = 'New password'; -$lang['CONFIRM_PASSWORD'] = 'Confirm password'; -$lang['CONFIRM_PASSWORD_EXPLAIN'] = 'You must confirm your current password if you wish to change it or alter your e-mail address'; -$lang['PASSWORD_IF_CHANGED'] = 'You only need to supply a password if you want to change it'; -$lang['PASSWORD_CONFIRM_IF_CHANGED'] = 'You only need to confirm your password if you changed it above'; - -$lang['AUTOLOGIN'] = 'Autologin'; -$lang['RESET_AUTOLOGIN'] = 'Reset autologin key'; -$lang['RESET_AUTOLOGIN_EXPL'] = ''; - -$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['UPLOAD_AVATAR_FILE'] = 'Upload Avatar'; - -$lang['SELECT_AVATAR'] = 'Select avatar'; -$lang['RETURN_PROFILE'] = 'Return to profile'; -$lang['SELECT_CATEGORY'] = 'Select category'; - -$lang['DELETE_IMAGE'] = 'Delete Image'; -$lang['CURRENT_IMAGE'] = 'Current Image'; - -$lang['NOTIFY_ON_PRIVMSG'] = 'Notify on new Private Message'; -$lang['HIDE_USER'] = 'Hide your online status'; -$lang['HIDDEN_USER'] = 'Hidden user'; - -$lang['PROFILE_UPDATED'] = 'Your profile has been updated'; -$lang['PROFILE_UPDATED_INACTIVE'] = 'Your profile has been updated. However, you have changed vital details, thus your account is inactive now. Check your e-mail to find out how to reactivate your account, or if admin activation is required, wait for the administrator to reactivate it.'; - -$lang['PASSWORD_MISMATCH'] = 'The passwords you entered did not match.'; -$lang['CURRENT_PASSWORD_MISMATCH'] = 'The current password you supplied does not match that stored in the database.'; -$lang['PASSWORD_LONG'] = 'Your password must be no more than 32 characters.'; -$lang['TOO_MANY_REGISTERS'] = 'You have made too many registration attempts. Please try again later.'; -$lang['USERNAME_TAKEN'] = 'Sorry, but this username has already been taken.'; -$lang['USERNAME_INVALID'] = 'Sorry, but this username contains an invalid character'; -$lang['USERNAME_DISALLOWED'] = 'Sorry, but this username has been disallowed.'; -$lang['USERNAME_TOO_LONG'] = 'Your name is too long.'; -$lang['USERNAME_TOO_SMALL'] = 'Your name is too small.'; -$lang['EMAIL_TAKEN'] = 'Sorry, but that e-mail address is already registered to a user.'; -$lang['EMAIL_BANNED'] = 'Sorry, but %s address has been banned.'; -$lang['EMAIL_INVALID'] = 'Sorry, but this e-mail address is invalid.'; -$lang['EMAIL_TOO_LONG'] = 'Your email is too long.'; -$lang['SIGNATURE_TOO_LONG'] = 'Your signature is too long.'; -$lang['SIGNATURE_ERROR_HTML'] = 'The signature can contain only BBCode'; -$lang['FIELDS_EMPTY'] = 'You must fill in the required fields.'; -$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_IMAGESIZE'] = 'The avatar must be less than %d pixels wide and %d pixels high'; -$lang['AVATAR_DISABLE'] = 'Forbidden to show avatar'; - -$lang['WELCOME_SUBJECT'] = 'Welcome to %s Forums'; // Welcome to my.com forums -$lang['NEW_ACCOUNT_SUBJECT'] = 'New user account'; -$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_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_ACTIVE'] = 'Your account has just been activated. Thank you for registering'; -$lang['REACTIVATE'] = 'Reactivate your account!'; -$lang['ALREADY_ACTIVATED'] = 'You have already activated your account'; - -$lang['REGISTRATION'] = 'Registration Agreement Terms'; - -$lang['WRONG_ACTIVATION'] = 'The activation key you supplied does not match any in the database.'; -$lang['SEND_PASSWORD'] = 'Send me a new password'; -$lang['PASSWORD_UPDATED'] = 'A new password has been created; please check your e-mail for details on how to activate it.'; -$lang['NO_EMAIL_MATCH'] = 'The e-mail address you supplied does not match the one listed for that username.'; -$lang['NEW_PASSWORD_ACTIVATION'] = 'New password activation'; -$lang['PASSWORD_ACTIVATED'] = 'Your account has been re-activated. To log in, please use the password supplied in the e-mail you received.'; - -$lang['SEND_EMAIL_MSG'] = 'Send an e-mail message'; -$lang['NO_USER_SPECIFIED'] = 'No user was specified'; -$lang['USER_PREVENT_EMAIL'] = 'This user does not wish to receive e-mail. Try sending them a private message.'; -$lang['USER_NOT_EXIST'] = 'That user does not exist'; -$lang['EMAIL_MESSAGE_DESC'] = 'This message will be sent as plain text, so do not include any HTML or BBCode. The return address for this message will be set to your e-mail address.'; -$lang['FLOOD_EMAIL_LIMIT'] = 'You cannot send another e-mail at this time. Try again later.'; -$lang['RECIPIENT'] = 'Recipient'; -$lang['EMAIL_SENT'] = 'The e-mail has been sent.'; -$lang['SEND_EMAIL'] = 'Send e-mail'; -$lang['EMPTY_SUBJECT_EMAIL'] = 'You must specify a subject for the e-mail.'; -$lang['EMPTY_MESSAGE_EMAIL'] = 'You must enter a message to be e-mailed.'; - -$lang['USER_AGREEMENT'] = 'User agreement'; -$lang['USER_AGREEMENT_HEAD'] = 'In order to proceed, you must agree with the following rules'; -$lang['USER_AGREEMENT_AGREE'] = 'I have read and agree to the User agreement above'; - -$lang['COPYRIGHT_HOLDERS'] = 'For copyright holders'; -$lang['ADVERT'] = 'Advertise on this site'; - -// -// Visual confirmation system strings -// -$lang['CONFIRM_CODE_WRONG'] = 'The confirmation code you entered was incorrect'; -$lang['CONFIRM_CODE_IMPAIRED'] = 'If you are visually impaired or cannot otherwise read this code please contact the %sAdministrator%s for help.'; -$lang['CONFIRM_CODE'] = 'Confirmation code'; -$lang['CONFIRM_CODE_EXPLAIN'] = 'Enter the code exactly as you see it. The code is case sensitive and zero has a diagonal line through it.'; - -// -// Memberslist -// -$lang['SORT'] = 'Sort'; -$lang['SORT_TOP_TEN'] = 'Top Ten Posters'; -$lang['SORT_JOINED'] = 'Joined Date'; -$lang['SORT_USERNAME'] = 'Username'; -$lang['SORT_LOCATION'] = 'Location'; -$lang['SORT_POSTS'] = 'Total posts'; -$lang['SORT_EMAIL'] = 'Email'; -$lang['SORT_WEBSITE'] = 'Website'; -$lang['ASC'] = 'Ascending'; -$lang['DESC'] = 'Descending'; -$lang['ORDER'] = 'Order'; - -// -// Group control panel -// -$lang['GROUP_CONTROL_PANEL'] = 'User Groups'; -$lang['MEMBERSHIP_DETAILS'] = 'Group Membership Details'; -$lang['JOIN_A_GROUP'] = 'Join a Group'; - -$lang['GROUP_INFORMATION'] = 'Group Information'; -$lang['GROUP_NAME'] = 'Group name'; -$lang['GROUP_DESCRIPTION'] = 'Group description'; -$lang['GROUP_MEMBERSHIP'] = 'Group membership'; -$lang['GROUP_MEMBERS'] = 'Group Members'; -$lang['GROUP_MODERATOR'] = 'Group Moderator'; -$lang['PENDING_MEMBERS'] = 'Pending Members'; - -$lang['GROUP_TYPE'] = 'Group type'; -$lang['GROUP_OPEN'] = 'Open group'; -$lang['GROUP_CLOSED'] = 'Closed group'; -$lang['GROUP_HIDDEN'] = 'Hidden group'; - -$lang['GROUP_MEMBER_MOD'] = 'Group moderator'; -$lang['GROUP_MEMBER_MEMBER'] = 'Current memberships'; -$lang['GROUP_MEMBER_PENDING'] = 'Memberships pending'; -$lang['GROUP_MEMBER_OPEN'] = 'Open groups'; -$lang['GROUP_MEMBER_CLOSED'] = 'Closed groups'; -$lang['GROUP_MEMBER_HIDDEN'] = 'Hidden groups'; - -$lang['NO_GROUPS_EXIST'] = 'No Groups Exist'; -$lang['GROUP_NOT_EXIST'] = 'That user group does not exist'; - -$lang['NO_GROUP_MEMBERS'] = 'This group has no members'; -$lang['HIDDEN_GROUP_MEMBERS'] = 'This group is hidden; you cannot view its membership'; -$lang['NO_PENDING_GROUP_MEMBERS'] = 'This group has no pending members'; -$lang['GROUP_JOINED'] = 'You have successfully subscribed to this group.
    You will be notified when your subscription is approved by the group moderator.'; -$lang['GROUP_REQUEST'] = 'A request to join your group has been made.'; -$lang['GROUP_APPROVED'] = 'Your request has been approved.'; -$lang['GROUP_ADDED'] = 'You have been added to this usergroup.'; -$lang['ALREADY_MEMBER_GROUP'] = 'You are already a member of this group'; -$lang['USER_IS_MEMBER_GROUP'] = 'User is already a member of this group'; -$lang['GROUP_TYPE_UPDATED'] = 'Successfully updated group type.'; -$lang['EFFECTIVE_DATE'] = 'Effective Date'; - -$lang['COULD_NOT_ADD_USER'] = 'The user you selected does not exist.'; -$lang['COULD_NOT_ANON_USER'] = 'You cannot make Anonymous a group member.'; - -$lang['CONFIRM_UNSUB'] = 'Are you sure you want to unsubscribe from this group?'; -$lang['CONFIRM_UNSUB_PENDING'] = 'Your subscription to this group has not yet been approved; are you sure you want to unsubscribe?'; - -$lang['UNSUB_SUCCESS'] = 'You have been un-subscribed from this group.'; - -$lang['APPROVE_SELECTED'] = 'Approve Selected'; -$lang['DENY_SELECTED'] = 'Deny Selected'; -$lang['NOT_LOGGED_IN'] = 'You must be logged in to join a group.'; -$lang['REMOVE_SELECTED'] = 'Remove Selected'; -$lang['ADD_MEMBER'] = 'Add Member'; -$lang['NOT_GROUP_MODERATOR'] = 'You are not this group\'s moderator, therefore you cannot perform that action.'; - -$lang['LOGIN_TO_JOIN'] = 'Log in to join or manage group memberships'; -$lang['THIS_OPEN_GROUP'] = 'This is an open group: click to request membership'; -$lang['THIS_CLOSED_GROUP'] = 'This is a closed group: no more users accepted'; -$lang['THIS_HIDDEN_GROUP'] = 'This is a hidden group: automatic user addition is not allowed'; -$lang['MEMBER_THIS_GROUP'] = 'You are a member of this group'; -$lang['PENDING_THIS_GROUP'] = 'Your membership of this group is pending'; -$lang['ARE_GROUP_MODERATOR'] = 'You are the group moderator'; -$lang['NONE'] = 'None'; - -$lang['SUBSCRIBE'] = 'Subscribe'; -$lang['UNSUBSCRIBE_GROUP'] = 'Unsubscribe'; -$lang['VIEW_INFORMATION'] = 'View Information'; -$lang['MEMBERS_IN_GROUP'] = 'Members in group'; - -// -// Search -// -$lang['SEARCH_OFF'] = 'Search is temporarily disabled'; -$lang['SEARCH_ERROR'] = 'At the moment, the search engine is not available

    Try to repeat the request after several seconds'; -$lang['SEARCH_HELP_URL'] = 'Search Help'; -$lang['SEARCH_QUERY'] = 'Search Query'; -$lang['SEARCH_OPTIONS'] = 'Search Options'; - -$lang['SEARCH_WORDS'] = 'Search for Keywords'; -$lang['SEARCH_WORDS_EXPL'] = 'You can use + to define words which must be in the results and - to define words which should not be in the result (ex: "+word1 -word2"). Use * as a wildcard for partial matches'; -$lang['SEARCH_AUTHOR'] = 'Search for Author'; -$lang['SEARCH_AUTHOR_EXPL'] = 'Use * as a wildcard for partial matches'; - -$lang['SEARCH_TITLES_ONLY'] = 'Search topic titles only'; -$lang['SEARCH_ALL_WORDS'] = 'all words'; -$lang['SEARCH_MY_MSG_ONLY'] = 'Search only in my posts'; -$lang['IN_MY_POSTS'] = 'In my posts'; -$lang['SEARCH_MY_TOPICS'] = 'in my topics'; -$lang['NEW_TOPICS'] = 'New topics'; - -$lang['RETURN_FIRST'] = 'Return first'; // followed by xxx characters in a select box -$lang['CHARACTERS_POSTS'] = 'characters of posts'; - -$lang['SEARCH_PREVIOUS'] = 'Search previous'; - -$lang['SORT_BY'] = 'Sort by'; -$lang['SORT_TIME'] = 'Post Time'; -$lang['SORT_POST_SUBJECT'] = 'Post Subject'; -$lang['SORT_TOPIC_TITLE'] = 'Topic Title'; -$lang['SORT_AUTHOR'] = 'Author'; -$lang['SORT_FORUM'] = 'Forum'; - -$lang['DISPLAY_RESULTS_AS'] = 'Display results as'; -$lang['ALL_AVAILABLE'] = 'All available'; -$lang['BRIEFLY'] = 'Briefly'; -$lang['NO_SEARCHABLE_FORUMS'] = 'You do not have permissions to search any forum on this site.'; - -$lang['NO_SEARCH_MATCH'] = 'No topics or posts met your search criteria'; -$lang['FOUND_SEARCH_MATCH'] = 'Search found %d match'; // eg. Search found 1 match -$lang['FOUND_SEARCH_MATCHES'] = 'Search found %d matches'; // eg. Search found 24 matches -$lang['TOO_MANY_SEARCH_RESULTS'] = 'Too many results may be found, please try to be more specific'; - -$lang['CLOSE_WINDOW'] = 'Close Window'; -$lang['CLOSE'] = 'close'; -$lang['HIDE'] = 'hide'; -$lang['SEARCH_TERMS'] = 'Search terms'; - -// -// Auth related entries -// -// Note the %s will be replaced with one of the following 'user' arrays -$lang['SORRY_AUTH_VIEW'] = 'Sorry, but only %s can view this forum.'; -$lang['SORRY_AUTH_READ'] = 'Sorry, but only %s can read topics in this forum.'; -$lang['SORRY_AUTH_POST'] = 'Sorry, but only %s can post topics in this forum.'; -$lang['SORRY_AUTH_REPLY'] = 'Sorry, but only %s can reply to posts in this forum.'; -$lang['SORRY_AUTH_EDIT'] = 'Sorry, but only %s can edit posts in this forum.'; -$lang['SORRY_AUTH_DELETE'] = 'Sorry, but only %s can delete posts in this forum.'; -$lang['SORRY_AUTH_VOTE'] = 'Sorry, but only %s can vote in polls in this forum.'; -$lang['SORRY_AUTH_STICKY'] = 'Sorry, but only %s can post sticky messages in this forum.'; -$lang['SORRY_AUTH_ANNOUNCE'] = 'Sorry, but only %s can post announcements in this forum.'; - -// These replace the %s in the above strings -$lang['AUTH_ANONYMOUS_USERS'] = 'anonymous users'; -$lang['AUTH_REGISTERED_USERS'] = 'registered users'; -$lang['AUTH_USERS_GRANTED_ACCESS'] = 'users granted special access'; -$lang['AUTH_MODERATORS'] = 'moderators'; -$lang['AUTH_ADMINISTRATORS'] = 'administrators'; - -$lang['NOT_MODERATOR'] = 'You are not a moderator of this forum.'; -$lang['NOT_AUTHORISED'] = 'Not Authorised'; - -$lang['YOU_BEEN_BANNED'] = 'You have been banned from this forum.
    Please contact the webmaster or board administrator for more information.'; - -// -// Viewonline -// -$lang['REG_USERS_ONLINE'] = 'Who is online registered users: %d and '; -$lang['HIDDEN_USERS_ONLINE'] = 'hidden users: %d'; -$lang['GUEST_USERS_ONLINE'] = 'Online Guests: %d'; -$lang['ALL_USERS_ONLINE'] = 'All users:'; -$lang['ONLINE_EXPLAIN'] = 'users active over the past five minutes'; -$lang['LAST_UPDATED'] = 'Last Updated'; - -// -// Moderator Control Panel -// -$lang['MOD_CP'] = 'Moderator Control Panel'; -$lang['MOD_CP_EXPLAIN'] = 'Using the form below you can perform mass moderation operations on this forum. You can lock, unlock, move or delete any number of topics.'; - -$lang['SELECT'] = 'Select'; -$lang['DELETE'] = 'Delete'; -$lang['MOVE'] = 'Move'; -$lang['LOCK'] = 'Lock'; -$lang['UNLOCK'] = 'Unlock'; - -$lang['TOPICS_REMOVED'] = 'The selected topics have been successfully removed from the database.'; -$lang['NO_TOPICS_REMOVED'] = 'No topics were removed.'; -$lang['TOPICS_LOCKED'] = 'The selected topics have been locked.'; -$lang['TOPICS_MOVED'] = 'The selected topics have been moved.'; -$lang['TOPICS_UNLOCKED'] = 'The selected topics have been unlocked.'; -$lang['NO_TOPICS_MOVED'] = 'No topics were moved.'; - -$lang['CONFIRM_DELETE_TOPIC'] = 'Are you sure you want to remove the selected topic/s?'; -$lang['CONFIRM_LOCK_TOPIC'] = 'Are you sure you want to lock the selected topic/s?'; -$lang['CONFIRM_UNLOCK_TOPIC'] = 'Are you sure you want to unlock the selected topic/s?'; -$lang['CONFIRM_MOVE_TOPIC'] = 'Are you sure you want to move the selected topic/s?'; - -$lang['MOVE_TO_FORUM'] = 'Move to forum'; -$lang['LEAVE_SHADOW_TOPIC'] = 'Leave shadow topic in old forum.'; - -$lang['SPLIT_TOPIC_EXPLAIN'] = 'Using the form below you can split a topic in two, either by selecting the posts individually or by splitting at a selected post'; -$lang['NEW_TOPIC_TITLE'] = 'New topic title'; -$lang['FORUM_FOR_NEW_TOPIC'] = 'Forum for new topic'; -$lang['SPLIT_POSTS'] = 'Split selected posts'; -$lang['SPLIT_AFTER'] = 'Split from selected post'; -$lang['TOPIC_SPLIT'] = 'The selected topic has been split successfully'; - -$lang['TOO_MANY_ERROR'] = 'You have selected too many posts. You can only select one post to split a topic after!'; - -$lang['NONE_SELECTED'] = 'You have none selected to perform this operation on. Please go back and select at least one.'; -$lang['NEW_FORUM'] = 'New forum'; - -$lang['THIS_POSTS_IP'] = 'IP address for this post'; -$lang['OTHER_IP_THIS_USER'] = 'Other IP addresses this user has posted from'; -$lang['USERS_THIS_IP'] = 'Users posting from this IP address'; -$lang['IP_INFO'] = 'IP Information'; -$lang['LOOKUP_IP'] = 'Look up IP address'; - -// -// Timezones ... for display on each page -// -$lang['ALL_TIMES'] = 'All times are %s'; // eg. All times are GMT - 12 Hours (times from next block) - -$lang['-12'] = 'GMT - 12 Hours'; -$lang['-11'] = 'GMT - 11 Hours'; -$lang['-10'] = 'GMT - 10 Hours'; -$lang['-9'] = 'GMT - 9 Hours'; -$lang['-8'] = 'GMT - 8 Hours'; -$lang['-7'] = 'GMT - 7 Hours'; -$lang['-6'] = 'GMT - 6 Hours'; -$lang['-5'] = 'GMT - 5 Hours'; -$lang['-4'] = 'GMT - 4 Hours'; -$lang['-3.5'] = 'GMT - 3.5 Hours'; -$lang['-3'] = 'GMT - 3 Hours'; -$lang['-2'] = 'GMT - 2 Hours'; -$lang['-1'] = 'GMT - 1 Hours'; -$lang['0'] = 'GMT'; -$lang['1'] = 'GMT + 1 Hour'; -$lang['2'] = 'GMT + 2 Hours'; -$lang['3'] = 'GMT + 3 Hours'; -$lang['3.5'] = 'GMT + 3.5 Hours'; -$lang['4'] = 'GMT + 4 Hours'; -$lang['4.5'] = 'GMT + 4.5 Hours'; -$lang['5'] = 'GMT + 5 Hours'; -$lang['5.5'] = 'GMT + 5.5 Hours'; -$lang['6'] = 'GMT + 6 Hours'; -$lang['6.5'] = 'GMT + 6.5 Hours'; -$lang['7'] = 'GMT + 7 Hours'; -$lang['8'] = 'GMT + 8 Hours'; -$lang['9'] = 'GMT + 9 Hours'; -$lang['9.5'] = 'GMT + 9.5 Hours'; -$lang['10'] = 'GMT + 10 Hours'; -$lang['11'] = 'GMT + 11 Hours'; -$lang['12'] = 'GMT + 12 Hours'; -$lang['13'] = 'GMT + 13 Hours'; - -// These are displayed in the timezone select box -$lang['TZ']['-12'] = 'GMT - 12 Hours'; -$lang['TZ']['-11'] = 'GMT - 11 Hours'; -$lang['TZ']['-10'] = 'GMT - 10 Hours'; -$lang['TZ']['-9'] = 'GMT - 9 Hours'; -$lang['TZ']['-8'] = 'GMT - 8 Hours'; -$lang['TZ']['-7'] = 'GMT - 7 Hours'; -$lang['TZ']['-6'] = 'GMT - 6 Hours'; -$lang['TZ']['-5'] = 'GMT - 5 Hours'; -$lang['TZ']['-4'] = 'GMT - 4 Hours'; -$lang['TZ']['-3.5'] = 'GMT - 3.5 Hours'; -$lang['TZ']['-3'] = 'GMT - 3 Hours'; -$lang['TZ']['-2'] = 'GMT - 2 Hours'; -$lang['TZ']['-1'] = 'GMT - 1 Hours'; -$lang['TZ']['0'] = 'GMT'; -$lang['TZ']['1'] = 'GMT + 1 Hour'; -$lang['TZ']['2'] = 'GMT + 2 Hours'; -$lang['TZ']['3'] = 'GMT + 3 Hours'; -$lang['TZ']['3.5'] = 'GMT + 3.5 Hours'; -$lang['TZ']['4'] = 'GMT + 4 Hours'; -$lang['TZ']['4.5'] = 'GMT + 4.5 Hours'; -$lang['TZ']['5'] = 'GMT + 5 Hours'; -$lang['TZ']['5.5'] = 'GMT + 5.5 Hours'; -$lang['TZ']['6'] = 'GMT + 6 Hours'; -$lang['TZ']['6.5'] = 'GMT + 6.5 Hours'; -$lang['TZ']['7'] = 'GMT + 7 Hours'; -$lang['TZ']['8'] = 'GMT + 8 Hours'; -$lang['TZ']['9'] = 'GMT + 9 Hours'; -$lang['TZ']['9.5'] = 'GMT + 9.5 Hours'; -$lang['TZ']['10'] = 'GMT + 10 Hours'; -$lang['TZ']['11'] = 'GMT + 11 Hours'; -$lang['TZ']['12'] = 'GMT + 12 Hours'; -$lang['TZ']['13'] = 'GMT + 13 Hours'; - -$lang['DATETIME']['TODAY'] = 'Today'; -$lang['DATETIME']['YESTERDAY'] = 'Yesterday'; - -$lang['DATETIME']['SUNDAY'] = 'Sunday'; -$lang['DATETIME']['MONDAY'] = 'Monday'; -$lang['DATETIME']['TUESDAY'] = 'Tuesday'; -$lang['DATETIME']['WEDNESDAY'] = 'Wednesday'; -$lang['DATETIME']['THURSDAY'] = 'Thursday'; -$lang['DATETIME']['FRIDAY'] = 'Friday'; -$lang['DATETIME']['SATURDAY'] = 'Saturday'; -$lang['DATETIME']['SUN'] = 'Sun'; -$lang['DATETIME']['MON'] = 'Mon'; -$lang['DATETIME']['TUE'] = 'Tue'; -$lang['DATETIME']['WED'] = 'Wed'; -$lang['DATETIME']['THU'] = 'Thu'; -$lang['DATETIME']['FRI'] = 'Fri'; -$lang['DATETIME']['SAT'] = 'Sat'; -$lang['DATETIME']['JANUARY'] = 'January'; -$lang['DATETIME']['FEBRUARY'] = 'February'; -$lang['DATETIME']['MARCH'] = 'March'; -$lang['DATETIME']['APRIL'] = 'April'; -$lang['DATETIME']['MAY'] = 'May'; -$lang['DATETIME']['JUNE'] = 'June'; -$lang['DATETIME']['JULY'] = 'July'; -$lang['DATETIME']['AUGUST'] = 'August'; -$lang['DATETIME']['SEPTEMBER'] = 'September'; -$lang['DATETIME']['OCTOBER'] = 'October'; -$lang['DATETIME']['NOVEMBER'] = 'November'; -$lang['DATETIME']['DECEMBER'] = 'December'; -$lang['DATETIME']['JAN'] = 'Jan'; -$lang['DATETIME']['FEB'] = 'Feb'; -$lang['DATETIME']['MAR'] = 'Mar'; -$lang['DATETIME']['APR'] = 'Apr'; -$lang['DATETIME']['JUN'] = 'Jun'; -$lang['DATETIME']['JUL'] = 'Jul'; -$lang['DATETIME']['AUG'] = 'Aug'; -$lang['DATETIME']['SEP'] = 'Sep'; -$lang['DATETIME']['OCT'] = 'Oct'; -$lang['DATETIME']['NOV'] = 'Nov'; -$lang['DATETIME']['DEC'] = 'Dec'; - -// -// Errors -// -$lang['INFORMATION'] = 'Information'; -$lang['ADMIN_REAUTHENTICATE'] = 'To administer/moderate the board you must re-authenticate yourself.'; - -// -// Attachment Mod Main Language Variables -// - -// Auth Related Entries -$lang['RULES_ATTACH_CAN'] = 'You can attach files in this forum'; -$lang['RULES_ATTACH_CANNOT'] = 'You cannot attach files in this forum'; -$lang['RULES_DOWNLOAD_CAN'] = 'You can download files in this forum'; -$lang['RULES_DOWNLOAD_CANNOT'] = 'You cannot download files in this forum'; -$lang['SORRY_AUTH_VIEW_ATTACH'] = 'Sorry but you are not authorized to view or download this Attachment'; - -// Viewtopic -> Display of Attachments -$lang['DESCRIPTION'] = 'Description'; // used in Administration Panel too... -$lang['DOWNLOAD'] = 'Download'; // this Language Variable is defined in admin.php too, but we are unable to access it from the main Language File -$lang['FILESIZE'] = 'Filesize'; -$lang['VIEWED'] = 'Viewed'; -$lang['DOWNLOAD_NUMBER'] = '%d times'; // replace %d with count -$lang['EXTENSION_DISABLED_AFTER_POSTING'] = 'The Extension \'%s\' was deactivated by an board admin, therefore this Attachment is not displayed.'; // used in Posts and PM's, replace %s with mime type - -$lang['ATTACHMENT'] = 'Attachments'; -$lang['ATTACHMENT_THUMBNAIL'] = 'Attachment Thumbnail'; - -// Posting/PM -> Posting Attachments -$lang['ADD_ATTACHMENT'] = 'Add Attachment'; -$lang['ADD_ATTACHMENT_TITLE'] = 'Add an Attachment'; -$lang['ADD_ATTACHMENT_EXPLAIN'] = 'If you do not want to add an Attachment to your Post, please leave the Fields blank'; -$lang['FILENAME'] = 'Filename'; -$lang['FILE_COMMENT'] = 'File Comment'; - -// Posting/PM -> Posted Attachments -$lang['POSTED_ATTACHMENTS'] = 'Posted Attachments'; -$lang['UPDATE_COMMENT'] = 'Update Comment'; -$lang['DELETE_ATTACHMENTS'] = 'Delete Attachments'; -$lang['DELETE_ATTACHMENT'] = 'Delete Attachment'; -$lang['DELETE_THUMBNAIL'] = 'Delete Thumbnail'; -$lang['UPLOAD_NEW_VERSION'] = 'Upload New Version'; - -// Errors -> Posting Attachments -$lang['INVALID_FILENAME'] = '%s is an invalid filename'; // replace %s with given filename -$lang['ATTACHMENT_PHP_SIZE_NA'] = 'The Attachment is too big.
    Could not get the maximum Size defined in PHP.
    The Attachment Mod is unable to determine the maximum Upload Size defined in the php.ini.'; -$lang['ATTACHMENT_PHP_SIZE_OVERRUN'] = 'The Attachment is too big.
    Maximum Upload Size: %d MB.
    Please note that this Size is defined in php.ini, this means it\'s set by PHP and the Attachment Mod can not override this value.'; // replace %d with ini_get('upload_max_filesize') -$lang['DISALLOWED_EXTENSION'] = 'The Extension %s is not allowed'; // replace %s with extension (e.g. .php) -$lang['DISALLOWED_EXTENSION_WITHIN_FORUM'] = 'You are not allowed to post Files with the Extension %s within this Forum'; // replace %s with the Extension -$lang['ATTACHMENT_TOO_BIG'] = 'The Attachment is too big.
    Max Size: %d'; // replace %d with maximum file size, %s with size var -$lang['ATTACH_QUOTA_REACHED'] = 'Sorry, but the maximum filesize for all Attachments is reached. Please contact the Board Administrator if you have questions.'; -$lang['TOO_MANY_ATTACHMENTS'] = 'Attachment cannot be added, since the max. number of %d Attachments in this post was achieved'; // replace %d with maximum number of attachments -$lang['ERROR_IMAGESIZE'] = 'The Attachment/Image must be less than %d pixels wide and %d pixels high'; -$lang['GENERAL_UPLOAD_ERROR'] = 'Upload Error: Could not upload Attachment to %s.'; // replace %s with local path - -$lang['ERROR_EMPTY_ADD_ATTACHBOX'] = 'You have to enter values in the \'Add an Attachment\' Box'; -$lang['ERROR_MISSING_OLD_ENTRY'] = 'Unable to Update Attachment, could not find old Attachment Entry'; - -// Errors -> PM Related -$lang['ATTACH_QUOTA_SENDER_PM_REACHED'] = 'Sorry, but the maximum filesize for all Attachments in your Private Message Folder has been reached. Please delete some of your received/sent Attachments.'; -$lang['ATTACH_QUOTA_RECEIVER_PM_REACHED'] = 'Sorry, but the maximum filesize for all Attachments in the Private Message Folder of \'%s\' has been reached. Please let him know, or wait until he/she has deleted some of his/her Attachments.'; - -// Errors -> Download -$lang['NO_ATTACHMENT_SELECTED'] = 'You haven\'t selected an attachment to download or view.'; -$lang['ERROR_NO_ATTACHMENT'] = 'The selected Attachment does not exist anymore'; - -// Delete Attachments -$lang['CONFIRM_DELETE_ATTACHMENTS'] = 'Are you sure you want to delete the selected Attachments?'; -$lang['DELETED_ATTACHMENTS'] = 'The selected Attachments have been deleted.'; -$lang['ERROR_DELETED_ATTACHMENTS'] = 'Could not delete Attachments.'; -$lang['CONFIRM_DELETE_PM_ATTACHMENTS'] = 'Are you sure you want to delete all Attachments posted in this PM?'; - -// General Error Messages -$lang['ATTACHMENT_FEATURE_DISABLED'] = 'The Attachment Feature is disabled.'; - -$lang['DIRECTORY_DOES_NOT_EXIST'] = 'The Directory \'%s\' does not exist or Could not be found.'; // replace %s with directory -$lang['DIRECTORY_IS_NOT_A_DIR'] = 'Please check if \'%s\' is a directory.'; // replace %s with directory -$lang['DIRECTORY_NOT_WRITEABLE'] = 'Directory \'%s\' is not writeable. You\'ll have to create the upload path and chmod it to 777 (or change the owner to you httpd-servers owner) to upload files.
    If you have only plain FTP-access change the \'Attribute\' of the directory to rwxrwxrwx.'; // replace %s with directory - -// Attach Rules Window -$lang['RULES_PAGE'] = 'Attachment Rules'; -$lang['ATTACH_RULES_TITLE'] = 'Allowed Extension Groups and their Sizes'; -$lang['GROUP_RULE_HEADER'] = '%s -> Maximum Upload Size: %s'; // Replace first %s with Extension Group, second one with the Size STRING -$lang['ALLOWED_EXTENSIONS_AND_SIZES'] = 'Allowed Extensions and Sizes'; -$lang['NOTE_USER_EMPTY_GROUP_PERMISSIONS'] = 'NOTE:
    You are normally allowed to attach files within this Forum,
    but since no Extension Group is allowed to be attached here,
    you are unable to attach anything. If you try,
    you will receive an Error Message.
    '; - -// Quota Variables -$lang['UPLOAD_QUOTA'] = 'Upload Quota'; -$lang['PM_QUOTA'] = 'PM Quota'; - -// Common Variables -$lang['BYTES'] = 'Bytes'; -$lang['KB'] = 'KB'; -$lang['MB'] = 'MB'; -$lang['GB'] = 'GB'; -$lang['ATTACH_SEARCH_QUERY'] = 'Search Attachments'; -$lang['TEST_SETTINGS'] = 'Test Settings'; -$lang['NOT_ASSIGNED'] = 'Not Assigned'; -$lang['NO_FILE_COMMENT_AVAILABLE'] = 'No File Comment available'; -$lang['ATTACHBOX_LIMIT'] = 'Your Attachbox is
    %d%% full'; -$lang['NO_QUOTA_LIMIT'] = 'No Quota Limit'; -$lang['UNLIMITED'] = 'Unlimited'; - -//bt -$lang['BT_REG_YES'] = 'Registered'; -$lang['BT_REG_NO'] = 'Not registered'; -$lang['BT_ADDED'] = 'Added'; -$lang['BT_REG_ON_TRACKER'] = 'Register on tracker'; -$lang['BT_REG_FAIL'] = 'Could not register torrent on tracker'; -$lang['BT_REG_FAIL_SAME_HASH'] = 'Another torrent with same info_hash already registered'; -$lang['BT_UNREG_FROM_TRACKER'] = 'Remove from tracker'; -$lang['BT_UNREGISTERED'] = 'Torrent unregistered'; -$lang['BT_REGISTERED'] = 'Torrent registered on tracker

    Now you need to download your torrent and run it using your BitTorrent client choosing the folder with the original files you\'re sharing as the download path'; -$lang['INVALID_ANN_URL'] = 'Invalid Announce URL [%s]

    must be %s'; -$lang['PASSKEY_ERR_TOR_NOT_REG'] = 'Could not add passkey

    Torrent not registered on tracker'; -$lang['PASSKEY_ERR_EMPTY'] = 'Could not add passkey (passkey is empty)

    Go to your forum profile and generate it'; -$lang['BT_PASSKEY'] = 'Passkey'; -$lang['BT_GEN_PASSKEY'] = 'create a new'; -$lang['BT_PASSKEY_VIEW'] = 'show'; -$lang['BT_GEN_PASSKEY_NEW'] = "Attention! After changing the new passkey, you will need to re-download all the active torrents! \n Are you sure you want to create a new passkey?"; -$lang['BT_NO_SEARCHABLE_FORUMS'] = 'No searchable forums found'; - -$lang['SEEDS'] = 'Seed'; -$lang['LEECHS'] = 'Leech'; -$lang['SPEED_UP'] = 'Speed Up'; -$lang['SPEED_DOWN'] = 'Speed Down'; - -$lang['SEEDERS'] = 'Seeders'; -$lang['LEECHERS'] = 'Leechers'; -$lang['RELEASING'] = 'Self'; -$lang['SEEDING'] = 'Seed'; -$lang['LEECHING'] = 'Leech'; -$lang['IS_REGISTERED'] = 'Registered'; -$lang['MAGNET'] = 'Magnet'; - -//torrent status mod -$lang['TOR_STATUS'] = 'Status'; -$lang['TOR_STATUS_SELECT_ACTION'] = 'Select status'; -$lang['TOR_STATUS_NOT_SELECT'] = 'You have not selected status.'; -$lang['TOR_STATUS_SELECT_ALL'] = 'All statuses'; -$lang['TOR_STATUS_NAME'] = array( - TOR_NOT_APPROVED => 'not checked', - TOR_CLOSED => 'closed', - TOR_APPROVED => 'checked', - TOR_NEED_EDIT => 'not formalized until', - TOR_NO_DESC => 'not formalized', - TOR_DUP => 'repeat', - TOR_CLOSED_CPHOLD => 'closed right', - TOR_CONSUMED => 'absorbed', - TOR_DOUBTFUL => 'doubtful', - TOR_CHECKING => 'verified', - TOR_TMP => 'temporary', - TOR_PREMOD => 'pre-moderation', -); -$lang['TOR_STATUS_FAILED'] = 'Such status does not exist!'; -$lang['TORRENT_FAILED'] = 'Distribution was not found!'; -$lang['TOR_STATUS_DUB'] = 'Distribution has the same status'; -$lang['TOR_DONT_CHANGE'] = 'Change of status can not be!'; -$lang['TOR_STATUS_OF'] = 'Distribution has the status of:'; -$lang['TOR_STATUS_CHANGED'] = 'Status changed: '; -$lang['TOR_BACK'] = ' back'; -$lang['PROCEED'] = 'Proceed'; -$lang['INVALID_ATTACH_ID'] = 'Missing file identifier!'; -$lang['CHANGE_TOR_TYPE'] = 'Type the torrent successfully changed'; -$lang['DEL_TORRENT'] = 'Are you sure you want to delete the torrent?'; -$lang['DEL_MOVE_TORRENT'] = 'Are you sure you want to delete and move the topic?'; -$lang['UNEXECUTED_RELEASE'] = 'Do you have a shapeless release before creating a new fix his unformed!'; -$lang['STATUS_DOES_EXIST'] = 'Such status does not exist: '; - -// tor_comment -$lang['TOR_MOD_TITLE'] = 'Changing the status of distribution - %s'; -$lang['TOR_MOD_MSG'] = "Hello, %s.\n\n Status [url=%s]your[/url] distribution is changed to [b]%s[/b]"; - -$lang['TOR_AUTH_TITLE'] = 'Changes in the design - %s'; -$lang['TOR_AUTH_MSG'] = "Hello, %s.\n\n Making my distribution changed - [url=%s]%s[/url]\n\n Please re-check it."; -$lang['TOR_AUTH_FIXED'] = 'Fixed'; -$lang['TOR_AUTH_SENT_COMMENT'] = ' · The information sent to the moderator. Expect.'; -//end torrent status mod - -$lang['BT_TOPIC_TITLE'] = 'Topic title'; -$lang['BT_SEEDER_LAST_SEEN'] = 'Seed last seen'; -$lang['BT_SORT_FORUM'] = 'Forum'; -$lang['SIZE'] = 'Size'; -$lang['PIECE_LENGTH'] = 'Piece length'; -$lang['COMPLETED'] = 'Completed'; -$lang['ADDED'] = 'Added'; -$lang['DELETE_TORRENT'] = 'Delete torrent'; -$lang['DELETE_MOVE_TORRENT'] = 'Delete and move topic'; -$lang['DL_TORRENT'] = 'Download .torrent'; -$lang['BT_LAST_POST'] = 'Last post'; -$lang['BT_CREATED'] = 'Topic posted'; -$lang['BT_REPLIES'] = 'Replies'; -$lang['BT_VIEWS'] = 'Views'; - -// Gold/Silver releases -$lang['GOLD'] = 'Gold'; -$lang['SILVER'] = 'Silver'; -$lang['SET_GOLD_TORRENT'] = 'Make gold'; -$lang['UNSET_GOLD_TORRENT'] = 'UnMake gold'; -$lang['SET_SILVER_TORRENT'] = 'Make silver'; -$lang['UNSET_SILVER_TORRENT'] = 'UnMake silver'; -$lang['GOLD_STATUS'] = 'GOLD TORRENT! DOWNLOAD TRAFFIC DOES NOT CONSIDER!'; -$lang['SILVER_STATUS'] = 'SILVER TORRENT! DOWNLOAD TRAFFIC PARTIALLY CONSIDERED!'; -// End - Gold/Silver releases - -$lang['SEARCH_IN_FORUMS'] = 'Search in Forums'; -$lang['SELECT_CAT'] = 'Select category'; -$lang['GO_TO_SECTION'] = 'Goto section'; -$lang['TORRENTS_FROM'] = 'Posts from'; -$lang['SHOW_ONLY'] = 'Show only'; -$lang['SHOW_COLUMN'] = 'Show column'; -$lang['SEL_CHAPTERS'] = 'Link to the selected partitions'; -$lang['NOT_SEL_CHAPTERS'] = 'You have not selected topics'; -$lang['SEL_CHAPTERS_HELP'] = 'You can select a maximum %s partition'; -$lang['HIDE_CONTENTS'] = 'Hide the contents of {...}'; -$lang['FILTER_BY_NAME'] = 'filter by name '; - -$lang['BT_ONLY_ACTIVE'] = 'Active'; -$lang['BT_ONLY_MY'] = 'My releases'; -$lang['BT_SEED_EXIST'] = 'Seeder exist'; -$lang['BT_ONLY_NEW'] = 'New from last visit'; -$lang['BT_SHOW_CAT'] = 'Category'; -$lang['BT_SHOW_FORUM'] = 'Forum'; -$lang['BT_SHOW_AUTHOR'] = 'Author'; -$lang['BT_SHOW_SPEED'] = 'Speed'; -$lang['SEED_NOT_SEEN'] = 'Seeder not seen'; -$lang['TITLE_MATCH'] = 'Title match'; -$lang['BT_USER_NOT_FOUND'] = 'not found'; -$lang['DL_SPEED'] = 'Overall download speed'; - -$lang['BT_DISREGARD'] = 'disregarding'; -$lang['BT_NEVER'] = 'never'; -$lang['BT_ALL_DAYS_FOR'] = 'all the time'; -$lang['BT_1_DAY_FOR'] = 'last day'; -$lang['BT_3_DAY_FOR'] = 'last three days'; -$lang['BT_7_DAYS_FOR'] = 'last week'; -$lang['BT_2_WEEKS_FOR'] = 'last two weeks'; -$lang['BT_1_MONTH_FOR'] = 'last month'; -$lang['BT_1_DAY'] = '1 day'; -$lang['BT_3_DAYS'] = '3 days'; -$lang['BT_7_DAYS'] = 'week'; -$lang['BT_2_WEEKS'] = '2 weeks'; -$lang['BT_1_MONTH'] = 'month'; - -$lang['DL_LIST_AND_TORRENT_ACTIVITY'] = 'DL-List and Torrent activity'; -$lang['DL_WILL'] = 'Will download'; -$lang['DL_DOWN'] = 'Downloading'; -$lang['DL_COMPLETE'] = 'Complete'; -$lang['DL_CANCEL'] = 'Cancel'; - -$lang['DLWILL_2'] = 'Will download'; -$lang['DLDOWN_2'] = 'Downloading'; -$lang['DLCOMPLETE_2'] = 'Complete'; -$lang['DLCANCEL_2'] = 'Cancel'; - -$lang['DL_LIST_DEL'] = 'Clear DL-List'; -$lang['DL_LIST_DEL_CONFIRM'] = 'Delete DL-List for this topic?'; -$lang['SHOW_DL_LIST'] = 'Show DL-List'; -$lang['SET_DL_STATUS'] = 'Download'; -$lang['UNSET_DL_STATUS'] = 'Not Download'; -$lang['TOPICS_DOWN_SETS'] = 'Topic status changed to Download'; -$lang['TOPICS_DOWN_UNSETS'] = 'Download status removed'; - -$lang['TOPIC_DL'] = 'DL'; - -$lang['MY_DOWNLOADS'] = 'My Downloads'; -$lang['SEARCH_DL_WILL'] = 'Planned'; -$lang['SEARCH_DL_WILL_DOWNLOADS'] = 'Planned Downloads'; -$lang['SEARCH_DL_DOWN'] = 'Current'; -$lang['SEARCH_DL_COMPLETE'] = 'Completed'; -$lang['SEARCH_DL_COMPLETE_DOWNLOADS'] = 'Completed Downloads'; -$lang['SEARCH_DL_CANCEL'] = 'Canceled'; -$lang['CUR_DOWNLOADS'] = 'Current Downloads'; -$lang['CUR_UPLOADS'] = 'Current Uploads'; -$lang['SEARCH_RELEASES'] = 'Find releases'; -$lang['TOR_SEARCH_TITLE'] = 'Torrent search options'; -$lang['OPEN_TOPIC'] = 'Open topic'; - -$lang['ALLOWED_ONLY_1ST_POST_ATTACH'] = 'Posting torrents allowed only in first post'; -$lang['ALLOWED_ONLY_1ST_POST_REG'] = 'Registering torrents allowed only from first post'; -$lang['REG_NOT_ALLOWED_IN_THIS_FORUM'] = 'Could not register torrent in this forum'; -$lang['ALREADY_REG'] = 'Torrent already registered'; -$lang['NOT_TORRENT'] = 'This file is not torrent'; -$lang['ONLY_1_TOR_PER_POST'] = 'You can register only one torrent in one post'; -$lang['ONLY_1_TOR_PER_TOPIC'] = 'You can register only one torrent in one topic'; -$lang['VIEWING_USER_BT_PROFILE'] = 'Viewing torrent-profile :: %s'; // %s is username -$lang['CUR_ACTIVE_DLS'] = 'Active torrents'; - -$lang['TD_TRAF'] = 'Today'; -$lang['YS_TRAF'] = 'Yesterday'; -$lang['TOTAL_TRAF'] = 'Total'; - -$lang['USER_RATIO'] = 'Ratio'; -$lang['MAX_SPEED'] = 'Speed'; -$lang['DOWNLOADED'] = 'Downloaded'; -$lang['UPLOADED'] = 'Uploaded'; -$lang['RELEASED'] = 'Released'; -$lang['BONUS'] = 'On the rare'; -$lang['IT_WILL_BE_DOWN'] = 'it will start to be considered after it will be downloaded'; -$lang['SPMODE_FULL'] = 'Show peers in full details'; - -// Seed Bonus -$lang['MY_BONUS'] = 'My bonus (%s bonuses in stock)'; -$lang['BONUS_SELECT'] = 'Select'; -$lang['SEED_BONUS'] = 'Seed Bonus'; -$lang['EXCHANGE'] = 'Exchange'; -$lang['EXCHANGE_BONUS'] = 'Exchange of seed bonuses'; -$lang['BONUS_UPLOAD_DESC'] = '%s to distribution
    To exchange bonus points on %1$s traffic which will be added on to the sum of your distribution.'; -$lang['BONUS_UPLOAD_PRICE'] = '%s'; -$lang['PRICE'] = 'Price'; -$lang['EXCHANGE_NOT'] = 'The exchange not available'; -$lang['BONUS_SUCCES'] = 'To you it is successfully enlisted %s'; -$lang['BONUS_NOT_SUCCES'] = 'You do not have bonuses available. More Seeding!'; -$lang['BONUS_RETURN'] = 'Return to the Seed Exchange Bonus'; - -$lang['TRACKER'] = 'Tracker'; -$lang['OPEN_TOPICS'] = 'Open topics'; -$lang['OPEN_IN_SAME_WINDOW'] = 'open in same window'; -$lang['SHOW_TIME_TOPICS'] = 'show time of the creation topics'; -$lang['SHOW_CURSOR'] = 'highlight the row under the cursor'; - -$lang['BT_LOW_RATIO_FUNC'] = "You can not use this option (ratio is too low)"; -$lang['BT_LOW_RATIO_FOR_DL'] = "With ratio %s you can not download torrents"; -$lang['BT_RATIO_WARNING_MSG'] = 'If your ratio falls below %s, you will not be able to download Torrents! More about the rating.'; - -$lang['SEEDER_LAST_SEEN'] = 'Seeder not seen: %s'; - -$lang['NEED_TO_LOGIN_FIRST'] = 'You need to login first'; -$lang['ONLY_FOR_MOD'] = 'This option only for moderators'; -$lang['ONLY_FOR_ADMIN'] = 'This option only for admins'; -$lang['ONLY_FOR_SUPER_ADMIN'] = 'This option only for super admins'; - -$lang['LOGS'] = 'Topic history'; -$lang['FORUM_LOGS'] = 'History Forum'; -$lang['AUTOCLEAN'] = 'Autoclean:'; -$lang['DESIGNER'] = 'Designer'; - -$lang['LAST_IP'] = 'Last IP:'; -$lang['REG_IP'] = 'Registration IP:'; -$lang['OTHER_IP'] = 'Other IP:'; -$lang['ALREADY_REG_IP'] = 'With your IP-address is already registered user %s. If you have not previously registered on our tracker, mail to Administrator'; -$lang['HIDDEN'] = 'Hidden'; -// -// That's all, Folks! -// ------------------------------------------------- - -// from admin -$lang['NOT_ADMIN'] = 'You are not authorised to administer this board'; - -$lang['COOKIES_REQUIRED'] = 'Cookies must be enabled!'; -$lang['SESSION_EXPIRED'] = 'Session expired'; - -// Sort memberlist per letter -$lang['SORT_PER_LETTER'] = 'Show only usernames starting with'; -$lang['OTHERS'] = 'others'; -$lang['ALL'] = 'all'; - -$lang['POST_LINK'] = 'Post link'; -$lang['GOTO_QUOTED_POST'] = 'Go to the quoted post'; -$lang['LAST_VISITED'] = 'Last Visited'; -$lang['LAST_ACTIVITY'] = 'Last activity'; -$lang['NEVER'] = 'Never'; - -//mpd -$lang['DELETE_POSTS'] = 'Delete selected posts'; -$lang['DELETE_POSTS_SUCCESFULLY'] = 'The selected posts have been successfully removed'; -//mpd end - -//ts -$lang['TOPICS_ANNOUNCEMENT'] = 'Announcements'; -$lang['TOPICS_STICKY'] = 'Stickies'; -$lang['TOPICS_NORMAL'] = 'Topics'; -//ts end - -//dpc -$lang['DOUBLE_POST_ERROR'] = 'You cannot make another post with the exact same text as your last.'; -//dpc end - -//upt -$lang['UPDATE_POST_TIME'] = 'Update post time'; -//upt end - -$lang['TOPIC_SPLIT_NEW'] = 'New topic'; -$lang['TOPIC_SPLIT_OLD'] = 'Old topic'; -$lang['BOT_LEAVE_MSG_MOVED'] = 'Add bot-message about moving'; -$lang['BOT_AFTER_SPLIT_TO_OLD'] = 'Add bot-message about split to old topic'; -$lang['BOT_AFTER_SPLIT_TO_NEW'] = 'Add bot-message about split to new topic'; -//qr -$lang['QUICK_REPLY'] = 'Quick Reply'; -$lang['INS_NAME_TIP'] = 'Insert name or selected text.'; -$lang['QUOTE_SELECTED'] = 'Quote selected'; -$lang['TRANSLIT_RULES'] = 'Translit rules'; -$lang['QR_ATTACHSIG'] = 'Attach signature'; -$lang['QR_NOTIFY'] = 'Notify on reply'; -$lang['QR_DISABLE'] = 'Disable'; -$lang['QR_USERNAME'] = 'Name'; -$lang['NO_TEXT_SEL'] = 'Select a text anywhere on a page and try again'; -$lang['QR_FONT_SEL'] = 'Font face'; -$lang['QR_COLOR_SEL'] = 'Font color'; -$lang['QR_SIZE_SEL'] = 'Font size'; -$lang['COLOR_STEEL_BLUE'] = 'Steel Blue'; -$lang['COLOR_GRAY'] = 'Gray'; -$lang['COLOR_DARK_GREEN'] = 'Dark Green'; -//qr end - -//txtb -$lang['ICQ_TXTB'] = '[ICQ]'; -$lang['REPLY_WITH_QUOTE_TXTB'] = '[Quote]'; -$lang['READ_PROFILE_TXTB'] = '[Profile]'; -$lang['SEND_EMAIL_TXTB'] = '[E-mail]'; -$lang['VISIT_WEBSITE_TXTB'] = '[www]'; -$lang['EDIT_DELETE_POST_TXTB'] = '[Edit]'; -$lang['SEARCH_USER_POSTS_TXTB'] = '[Search]'; -$lang['VIEW_IP_TXTB'] = '[ip]'; -$lang['DELETE_POST_TXTB'] = '[x]'; -$lang['MODERATE_POST_TXTB'] = '[m]'; -$lang['SEND_PM_TXTB'] = '[PM]'; -//txtb end - -$lang['DECLENSION']['REPLIES'] = array('reply', 'replies'); -$lang['DECLENSION']['TIMES'] = array('time', 'times'); - -$lang['DELTA_TIME']['INTERVALS'] = array( - 'seconds' => array('second', 'seconds'), - 'minutes' => array('minute', 'minutes'), - 'hours' => array('hour', 'hours'), - 'mday' => array('day', 'days'), - 'mon' => array('month', 'months'), - 'year' => array('year', 'years'), -); -$lang['DELTA_TIME']['FORMAT'] = '%1$s %2$s'; // 5(%1) minutes(%2) - -$lang['AUTH_TYPES'][AUTH_ALL] = $lang['AUTH_ANONYMOUS_USERS']; -$lang['AUTH_TYPES'][AUTH_REG] = $lang['AUTH_REGISTERED_USERS']; -$lang['AUTH_TYPES'][AUTH_ACL] = $lang['AUTH_USERS_GRANTED_ACCESS']; -$lang['AUTH_TYPES'][AUTH_MOD] = $lang['AUTH_MODERATORS']; -$lang['AUTH_TYPES'][AUTH_ADMIN] = $lang['AUTH_ADMINISTRATORS']; - -$lang['NEW_USER_REG_DISABLED'] = 'Sorry, registration is disabled at this time'; -$lang['ONLY_NEW_POSTS'] = 'only new posts'; -$lang['ONLY_NEW_TOPICS'] = 'only new topics'; - -$lang['TORHELP_TITLE'] = 'Please help seeding these torrents!'; - -// -// Reports (need to translate it!) -// -$lang['REPORTS'] = 'Reports'; -$lang['REPORTS_DISABLE'] = 'Reports disabled'; -$lang['NEW_REPORT'] = ' (one open)'; -$lang['NEW_REPORTS'] = ' (%d open)'; -$lang['NO_NEW_REPORTS'] = ': no new Reports'; -$lang['REPORT_INDEX'] = 'Index'; -$lang['STATISTICS'] = 'Statistics'; -$lang['STATISTIC'] = 'Statistic'; -$lang['VALUE'] = 'Value'; -$lang['REPORT_COUNT'] = 'Current report count'; -$lang['REPORT_MODULES_COUNT'] = 'Report modules count'; -$lang['REPORT_HACK_COUNT'] = 'Overall report count'; -$lang['DELETED_REPORTS'] = 'Reports suggested for deletion'; -$lang['REPORT_TYPE'] = 'Report type'; -$lang['REPORT_BY'] = 'by'; -$lang['NO_REPORTS'] = 'No reports'; -$lang['INVERT_SELECT'] = 'Invert selection'; -$lang['REPORTED_BY'] = 'Reported by'; -$lang['REPORTED_TIME'] = 'Reported on'; -$lang['STATUS'] = 'Status'; -$lang['LAST_CHANGED_BY'] = 'Last changed by'; -$lang['CHANGES'] = 'Changes'; -$lang['REPORT_CHANGE_TEXT'] = 'Marked as "%1$s" by %2$s on %3$s.'; -$lang['REPORT_CHANGE_TEXT_COMMENT'] = 'Marked as "%1$s" by %2$s on %3$s:
    %4$s'; -$lang['REPORT_CHANGE_DELETE_TEXT'] = 'Suggested for deletion by %1$s on %2$s.'; -$lang['ACTION'] = 'Action'; -$lang['REPORT_MARK'] = 'Mark as'; -$lang['OPEN_REPORTS'] = 'Offene Meldungen'; -$lang['NO_REPORTS_FOUND'] = 'No matching reports found.'; -$lang['NO_REPORTS_SELECTED'] = 'No reports were selected.'; -$lang['REPORT_NOT_EXISTS'] = 'The selected report doesn\'t exist.'; -$lang['REPORT_NOT_SUPPORTED'] = 'This feature isn\'t supported.'; -$lang['CLICK_RETURN_REPORT'] = '%sClick here%s to return to the report.'; -$lang['CLICK_RETURN_REPORT_LIST'] = '%sClick here%s to return to the report list.'; - -$lang['REPORT_STATUS'] = array( - REPORT_NEW => 'new', - REPORT_OPEN => 'open', - REPORT_IN_PROCESS => 'in process', - REPORT_CLEARED => 'cleared', - REPORT_DELETE => 'suggested for deletion', -); - -$lang['REASON'] = 'Reason'; -$lang['REPORT_SUBJECT'] = 'Subject'; -$lang['REPORT_TITLE_EMPTY'] = 'You must enter a title of the report.'; -$lang['REPORT_DESC_EMPTY'] = 'You must enter a message.'; -$lang['REPORT_INSERTED'] = 'The report was sent to the team.'; - -$lang['CHANGE_REPORT'] = 'Change report'; -$lang['CHANGE_REPORTS'] = 'Change reports'; -$lang['CHANGE_REPORT_EXPLAIN'] = 'Are you sure you want to change the status of the selected report?'; -$lang['CHANGE_REPORTS_EXPLAIN'] = 'Are you sure you want to change the status of the selected reports?'; -$lang['COMMENT'] = 'Comment'; -$lang['REPORT_CHANGED'] = 'The status of the selected report was changed.'; -$lang['REPORTS_CHANGED'] = 'The status of the selected reports was changed.'; - -$lang['DELETE_REPORT'] = 'Delete report'; -$lang['DELETE_REPORTS'] = 'Delete reports'; -$lang['DELETE_REPORT_EXPLAIN'] = 'Are you sure you want to delete the selected report?'; -$lang['DELETE_REPORTS_EXPLAIN'] = 'Are you sure you want to delete the selected reports?'; -$lang['REPORT_DELETED'] = 'The selected report was deleted.'; -$lang['REPORTS_DELETED'] = 'The selected reports were deleted.';// -// -// Reports [END] -// - -// search -$lang['SEARCH_S'] = 'search...'; -$lang['FORUM_S'] = 'on forum'; -$lang['TRACKER_S'] = 'on tracker'; - -// copyright -$lang['NOTICE'] = '!ATTENTION!'; -$lang['POWERED'] = 'UG93ZXJlZCBieSA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3RvcnJlbnRwaWVyLm1lIj5Ub3JyZW50UGllciBJSTwvYT4gJmNvcHk7IE1laXRoYXIsIFRvcnJlbnRQaWVyIElJIFRlYW0='; -$lang['COPY'] = 'The site does not give electronic versions of products, and is engaged only in a collecting and cataloguing of the references sent and published at a forum by our readers. If you are the legal owner of any submitted material and do not wish that the reference to it was in our catalogue, contact us and we shall immediately remove her. Files for an exchange on tracker are given by users of a site, and the administration does not bear the responsibility for their maintenance. The request to not fill in the files protected by copyrights, and also files of the illegal maintenance!'; - -// FILELIST -$lang['FILELIST'] = 'Filelist'; -$lang['COLLAPSE'] = 'Collapse directory'; -$lang['EXPAND'] = 'Expand'; -$lang['SWITCH'] = 'Switch'; -$lang['EMPTY_ATTACH_ID'] = 'Missing file identifier!'; -$lang['TOR_NOT_FOUND'] = 'File is missing on the server!'; -$lang['ERROR_BUILD'] = 'Error: unable to build a list of files'; -$lang['TORFILE_INVALID'] = 'Torrent file is corrupt'; -// FILELIST - -// Profile -$lang['WEBSITE_ERROR'] = 'The "site" may contain only http://sitename'; -$lang['ICQ_ERROR'] = 'The field of "ICQ" may contain only icq number'; -$lang['INVALID_DATE'] = 'Error date '; -$lang['PROFILE_USER'] = 'Viewing profile'; -$lang['GOOD_UPDATE'] = 'was successfully changed'; -$lang['DENY_VISITORS'] = 'Hide the current list of downloads on your profile'; -$lang['BAN_USER'] = 'To prevent a user'; -$lang['USER_NOT_ALLOWED'] = 'Users are not permitted'; -$lang['HIDE_AVATARS'] = 'Show avatars'; -$lang['SHOW_CAPTION'] = 'Show your signature'; -$lang['DOWNLOAD_TORRENT'] = 'Download torrent'; -$lang['SEND_PM'] = 'Send PM'; -$lang['SEND_MESSAGE'] = 'Send message'; -$lang['NEW_THREADS'] = 'New Threads'; -$lang['PROFILE_NOT_FOUND'] = 'Profile not found'; - -$lang['USER_DELETE'] = 'Delete'; -$lang['USER_DELETE_EXPLAIN'] = 'Delete this user'; -$lang['USER_DELETE_ME'] = 'Sorry, your account is forbidden to remove!'; -$lang['USER_DELETE_CSV'] = 'Sorry, this account is not allowed to delete!'; -$lang['USER_DELETE_CONFIRM'] = 'Are you sure you want to delete this user?'; -$lang['USER_DELETED'] = 'User was successfully deleted'; -$lang['DELETE_USER_ALL_POSTS'] = 'Delete all user posts'; -$lang['DELETE_USER_ALL_POSTS_CONFIRM'] = 'Are you sure you want to delete all messages and all topics started by this user?'; -$lang['DELETE_USER_POSTS'] = 'Delete all messages, except for capital'; -$lang['DELETE_USER_POSTS_ME'] = 'Are you sure you want to delete all my posts?'; -$lang['DELETE_USER_POSTS_CONFIRM'] = 'Are you sure you want to delete all messages, except for capital?'; -$lang['USER_DELETED_POSTS'] = 'Posts were successfully removed'; - -$lang['USER'] = 'User'; -$lang['ROLE'] = 'Role:'; -$lang['MEMBERSHIP_IN'] = 'Membership in'; -$lang['PARTY'] = 'Party:'; -$lang['CANDIDATE'] = 'Candidate:'; -$lang['INDIVIDUAL'] = 'Has the individual rights'; -$lang['GROUP_LIST_HIDDEN'] = 'You are not authorized to view hidden groups'; - -$lang['USER_ACTIVATE'] = 'Activate'; -$lang['USER_DEACTIVATE'] = 'Deactivate'; -$lang['DEACTIVATE_CONFIRM'] = 'Are you sure you want to enable this user?'; -$lang['USER_ACTIVATE_ON'] = 'User has been successfully activated'; -$lang['USER_DEACTIVATE_ME'] = 'You can not deactivate my account!'; -$lang['ACTIVATE_CONFIRM'] = 'Are you sure you want to disable this user?'; -$lang['USER_ACTIVATE_OFF'] = 'User has been successfully deactivated'; - -// Register -$lang['CHOOSE_A_NAME'] = 'You should choose a name'; -$lang['CHOOSE_E_MAIL'] = 'You must specify the e-mail'; -$lang['CHOOSE_PASS'] = 'Field for the password must not be empty!'; -$lang['CHOOSE_PASS_ERR'] = 'Entered passwords do not match'; -$lang['CHOOSE_PASS_ERR_MIN'] = 'Your password must be at least %d characters'; -$lang['CHOOSE_PASS_ERR_MAX'] = 'Your password must be no longer than $d characters'; -$lang['CHOOSE_PASS_OK'] = 'Passwords match'; -$lang['CHOOSE_PASS_REG_OK'] = 'Passwords match, you can proceed with the registration'; -$lang['CHOOSE_PASS_FAILED'] = 'To change the password, you must correctly specify the current password'; -$lang['EMAILER_DISABLED'] = 'Sorry, this feature is temporarily not working'; -$lang['TERMS_ON'] = 'I agree with these terms and conditions'; -$lang['TERMS_OFF'] = 'I do not agree to these terms'; -$lang['JAVASCRIPT_ON_REGISTER'] = 'To register, heads necessary to enable JavaScript'; -$lang['REGISTERED_IN_TIME'] = "At the moment registration is closed

    You can register from 01:00 to 17:00 MSK (now ". date('H:i') ." MSK)

    We apologize for this inconvenience"; -$lang['AUTOCOMPLETE'] = 'Password generate'; -$lang['YOUR_NEW_PASSWORD'] = 'Your are new password:'; -$lang['REGENERATE'] = 'Regenerate'; - -// Debug -$lang['EXECUTION_TIME'] = 'Execution time:'; -$lang['SEC'] = 'sec'; -$lang['ON'] = 'on'; -$lang['OFF'] = 'off'; -$lang['MEMORY'] = 'Mem: '; -$lang['QUERIES'] = 'queries'; -$lang['LIMIT'] = 'Limit:'; - -// Attach Guest -$lang['DOWNLOAD_INFO'] = 'Download free and at maximum speed!'; -$lang['HOW_TO_DOWNLOAD'] = 'How to Download?'; -$lang['WHAT_IS_A_TORRENT'] = 'What is a torrent?'; -$lang['RATINGS_AND_LIMITATIONS'] = 'Ratings and Limitations'; - -$lang['SCREENSHOTS_RULES'] = 'Read the rules laid out screenshots!'; -$lang['SCREENSHOTS_RULES_TOPIC'] = 'Read the rules laid out the screenshots in this section!'; -$lang['AJAX_EDIT_OPEN'] = 'Have you already opened one quick editing!'; -$lang['GO_TO_PAGE'] = 'Go to page ...'; -$lang['EDIT'] = 'Edit'; -$lang['SAVE'] = 'Save'; -$lang['NEW_WINDOW'] = 'in a new window'; - -// BB Code -$lang['ALIGN'] = 'Align:'; -$lang['LEFT'] = 'To the left'; -$lang['RIGHT'] = 'To the right'; -$lang['CENTER'] = 'Centered'; -$lang['JUSTIFY'] = 'Fit to width'; -$lang['HOR_LINE'] = 'Horizontal line (Ctrl+8)'; -$lang['NEW_LINE'] = 'New line'; -$lang['BOLD'] = 'Bold text: [b]text[/b] (Ctrl+B)'; -$lang['ITALIC'] = 'Italic text: [i]text[/i] (Ctrl+I)'; -$lang['UNDERLINE'] = 'Underline text: [u]text[/u] (Ctrl+U)'; -$lang['STRIKEOUT'] = 'Strikeout text: [s]text[/s] (Ctrl+S)'; -$lang['QUOTE_TITLE'] = 'Quote text: [quote]text[/quote] (Ctrl+Q)'; -$lang['IMG_TITLE'] = 'Insert image: [img]http://image_url[/img] (Ctrl+R)'; -$lang['URL'] = 'Url'; -$lang['URL_TITLE'] = 'Insert URL: [url]http://url[/url] or [url=http://url]URL text[/url] (Ctrl+W)'; -$lang['CODE_TITLE'] = 'Code display: [code]code[/code] (Ctrl+K)'; -$lang['LIST'] = 'List'; -$lang['LIST_TITLE'] = 'List: [list]text[/list] (Ctrl+l)'; -$lang['LIST_ITEM'] = 'Ordered list: [list=]text[/list] (Ctrl+O)'; -$lang['QUOTE_SEL'] = 'Quote selected'; -$lang['TRANSLIT'] = 'Translit'; -$lang['TRANSLIT_TITLE'] = 'Translit selected to russian'; -$lang['JAVASCRIPT_ON'] = 'Heads necessary to send messages to enable JavaScript'; - -$lang['NEW'] = 'New'; -$lang['NEWEST'] = 'Newest'; -$lang['LATEST'] = 'Latest'; -$lang['POST'] = 'Post'; -$lang['OLD'] = 'Old'; - -// DL-List -$lang['DL_USER'] = 'Username'; -$lang['DL_PERCENT'] = 'Complete percent'; -$lang['DL_UL'] = 'UL'; -$lang['DL_DL'] = 'DL'; -$lang['DL_UL_SPEED'] = 'UL speed'; -$lang['DL_DL_SPEED'] = 'DL speed'; -$lang['DL_PORT'] = 'Port'; -$lang['DL_FORMULA'] = 'Formula: Uploaded/TorrentSize'; -$lang['DL_ULR'] = 'ULR'; -$lang['DL_STOPPED'] = 'stopped'; -$lang['DL_UPD'] = 'upd: '; -$lang['DL_INFO'] = 'shows data only for the current session'; - -// Post PIN -$lang['POST_PIN'] = 'Pin first post'; -$lang['POST_UNPIN'] = 'Unpin first post'; -$lang['POST_PINNED'] = 'First post pinned'; -$lang['POST_UNPINNED'] = 'First post unpinned'; - -// Management of my messages -$lang['GOTO_MY_MESSAGE'] = 'Close and return to the list "My Messages"'; -$lang['DEL_MY_MESSAGE'] = 'Selected topics have been removed from the "My Messages"'; -$lang['NO_TOPICS_MY_MESSAGE'] = 'No topics found in the list of your posts (maybe you have already removed them)'; -$lang['EDIT_MY_MESSAGE_LIST'] = 'edit list'; -$lang['SELECT_INVERT'] = 'select / invert'; -$lang['RESTORE_ALL_POSTS'] = 'Restore all posts'; -$lang['DEL_LIST_MY_MESSAGE'] = 'Delete the selected topic from the list'; -$lang['DEL_LIST_MY_MESSAGE_INFO'] = 'After removal of up to update the entire list it can be shown already deleted threads'; -$lang['DEL_LIST_INFO'] = 'To delete an order from the list, click on the icon to the left of the names of any section'; - -// Watched topics -$lang['WATCHED_TOPICS'] = 'Watched topics'; -$lang['NO_WATCHED_TOPICS'] = 'You are not watching any topics'; - -// set_die_append_msg -$lang['INDEX_RETURN'] = 'Back to home page'; -$lang['FORUM_RETURN'] = 'Back to forum'; -$lang['TOPIC_RETURN'] = 'Back to the topic'; -$lang['POST_RETURN'] = 'Go to post'; -$lang['PROFILE_EDIT_RETURN'] = 'Return to editing'; -$lang['PROFILE_RETURN'] = 'Go to the profile'; - -$lang['WARNING'] = 'Warning'; -$lang['INDEXER'] = "Reindex search"; - -$lang['FORUM_STYLE'] = 'Forum style'; - -$lang['LINKS_ARE_FORBIDDEN'] = 'Links are forbidden'; - -$lang['GENERAL'] = 'General Admin'; -$lang['USERS'] = 'User Admin'; -$lang['GROUPS'] = 'Group Admin'; -$lang['FORUMS'] = 'Forum Admin'; -$lang['MODS'] = 'Modifications'; -$lang['TORRENTPIER'] = 'Product configuration'; - -$lang['CONFIGURATION'] = 'Configuration'; -$lang['MANAGE'] = 'Management'; -$lang['DISALLOW'] = 'Disallow names'; -$lang['PRUNE'] = 'Pruning'; -$lang['MASS_EMAIL'] = 'Mass Email'; -$lang['RANKS'] = 'Ranks'; -$lang['SMILIES'] = 'Smilies'; -$lang['BAN_MANAGEMENT'] = 'Ban Control'; -$lang['WORD_CENSOR'] = 'Word Censors'; -$lang['EXPORT'] = 'Export'; -$lang['CREATE_NEW'] = 'Create'; -$lang['ADD_NEW'] = 'Add'; -$lang['CRON'] = 'Task Scheduler (cron)'; -$lang['REBUILD_SEARCH_INDEX'] = 'Rebuild search index'; -$lang['FORUM_CONFIG'] = 'Forum settings'; -$lang['TRACKER_CONFIG'] = 'Tracker settings'; -$lang['RELEASE_TEMPLATES'] = 'Release Templates'; -$lang['ACTIONS_LOG'] = 'Report on action'; - -// -//Welcome page -// -$lang['IDX_BROWSER_NSP_FRAME'] = 'Sorry, your browser doesn\'t seem to support frames'; -$lang['IDX_CLEAR_CACHE'] ='Clear Cache:'; -$lang['IDX_CLEAR_DATASTORE'] = 'Datastore'; -$lang['IDX_CLEAR_TEMPLATES'] = 'Templates'; -$lang['IDX_CLEAR_NEWNEWS'] = 'Net news'; -$lang['IDX_UPDATE'] = 'Update:'; -$lang['IDX_UPDATE_USER_LEVELS'] = 'User levels'; -$lang['IDX_SYNCHRONIZE'] = 'Synchronize:'; -$lang['IDX_SYNCHRONIZE_TOPICS'] = 'Topics'; -$lang['IDX_SYNCHRONIZE_POSTCOUNT'] = 'User posts count'; -// -// Welcome page END -// - -// -// Index -// -$lang['MAIN_INDEX'] = 'Forum Index'; -$lang['FORUM_STATS'] = 'Forum Statistics'; -$lang['ADMIN_INDEX'] = 'Admin Index'; -$lang['CREATE_PROFILE'] = 'Create profile'; - -$lang['TP_VERSION'] = 'TorrentPier version'; -$lang['TP_RELEASE_DATE'] = 'Release date'; -$lang['PHP_INFO'] = 'Information about PHP'; - -$lang['CLICK_RETURN_ADMIN_INDEX'] = 'Click %sHere%s to return to the Admin Index'; - -$lang['NUMBER_POSTS'] = 'Number of posts'; -$lang['POSTS_PER_DAY'] = 'Posts per day'; -$lang['NUMBER_TOPICS'] = 'Number of topics'; -$lang['TOPICS_PER_DAY'] = 'Topics per day'; -$lang['NUMBER_USERS'] = 'Number of users'; -$lang['USERS_PER_DAY'] = 'Users per day'; -$lang['BOARD_STARTED'] = 'Board started'; -$lang['AVATAR_DIR_SIZE'] = 'Avatar directory size'; -$lang['DATABASE_SIZE'] = 'Database size'; -$lang['GZIP_COMPRESSION'] ='Gzip compression'; -$lang['NOT_AVAILABLE'] = 'Not available'; - -// Clear Cache -$lang['CLEAR_CACHE'] = 'Clear Cache'; -$lang['TEMPLATES'] = 'Templates'; - -// Update -$lang['USER_LEVELS'] = 'User levels'; -$lang['USER_LEVELS_UPDATED'] = 'User levels have been updated'; - -// Synchronize -$lang['SYNCHRONIZE'] = 'Synchronize'; -$lang['TOPICS_DATA_SYNCHRONIZED'] = 'Topics data have been synchronized'; -$lang['USER_POSTS_COUNT'] = 'User posts count'; -$lang['USER POSTS COUNT SYNCHRONIZED'] = 'User posts count has been synchronized'; - -// Online Userlist -$lang['SHOW_ONLINE_USERLIST'] = 'Show the list of online users'; - -// -// Auth pages -// -$lang['USER_SELECT'] = 'Select a User'; -$lang['GROUP_SELECT'] = 'Select a Group'; -$lang['SELECT_A_FORUM'] = 'Select a Forum'; -$lang['AUTH_CONTROL_USER'] = 'User Permissions Control'; -$lang['AUTH_CONTROL_GROUP'] = 'Group Permissions Control'; -$lang['AUTH_CONTROL_FORUM'] = 'Forum Permissions Control'; -$lang['LOOK_UP_FORUM'] = 'Look up Forum'; - -$lang['GROUP_AUTH_EXPLAIN'] = 'Here you can alter the permissions and moderator status assigned to each user group. Do not forget when changing group permissions that individual user permissions may still allow the user entry to forums, etc. You will be warned if this is the case.'; -$lang['USER_AUTH_EXPLAIN'] = 'Here you can alter the permissions and moderator status assigned to each individual user. Do not forget when changing user permissions that group permissions may still allow the user entry to forums, etc. You will be warned if this is the case.'; -$lang['FORUM_AUTH_EXPLAIN'] = 'Here you can alter the authorisation levels of each forum. You will have both a simple and advanced method for doing this, where advanced offers greater control of each forum operation. Remember that changing the permission level of forums will affect which users can carry out the various operations within them.'; - -$lang['SIMPLE_MODE'] = 'Simple Mode'; -$lang['ADVANCED_MODE'] = 'Advanced Mode'; -$lang['MODERATOR_STATUS'] = 'Moderator status'; - -$lang['ALLOWED_ACCESS'] = 'Allowed Access'; -$lang['DISALLOWED_ACCESS'] = 'Disallowed Access'; -$lang['IS_MODERATOR'] = 'Is Moderator'; - -$lang['CONFLICT_WARNING'] = 'Authorisation Conflict Warning'; -$lang['CONFLICT_ACCESS_USERAUTH'] = 'This user still has access rights to this forum via group membership. You may want to alter the group permissions or remove this user the group to fully prevent them having access rights. The groups granting rights (and the forums involved) are noted below.'; -$lang['CONFLICT_MOD_USERAUTH'] = 'This user still has moderator rights to this forum via group membership. You may want to alter the group permissions or remove this user the group to fully prevent them having moderator rights. The groups granting rights (and the forums involved) are noted below.'; - -$lang['CONFLICT_ACCESS_GROUPAUTH'] = 'The following user (or users) still have access rights to this forum via their user permission settings. You may want to alter the user permissions to fully prevent them having access rights. The users granted rights (and the forums involved) are noted below.'; -$lang['CONFLICT_MOD_GROUPAUTH'] = 'The following user (or users) still have moderator rights to this forum via their user permissions settings. You may want to alter the user permissions to fully prevent them having moderator rights. The users granted rights (and the forums involved) are noted below.'; - -$lang['PUBLIC'] = 'Public'; -$lang['PRIVATE'] = 'Private'; -$lang['REGISTERED'] = 'Registered'; -$lang['ADMINISTRATORS'] = 'Administrators'; - -// These are displayed in the drop down boxes for advanced -// mode forum auth, try and keep them short! -$lang['FORUM_ALL'] = 'ALL'; -$lang['FORUM_REG'] = 'REG'; -$lang['FORUM_PRIVATE'] = 'PRIVATE'; -$lang['FORUM_MOD'] = 'MOD'; -$lang['FORUM_ADMIN'] = 'ADMIN'; - -$lang['AUTH_VIEW'] = $lang['VIEW'] = 'View'; -$lang['AUTH_READ'] = $lang['READ'] = 'Read'; -$lang['AUTH_POST'] = $lang['POST'] = 'Post'; -$lang['AUTH_REPLY'] = $lang['REPLY'] = 'Reply'; -$lang['AUTH_EDIT'] = $lang['EDIT'] = 'Edit'; -$lang['AUTH_DELETE'] = $lang['DELETE'] = 'Delete'; -$lang['AUTH_STICKY'] = $lang['STICKY'] = 'Sticky'; -$lang['AUTH_ANNOUNCE'] = $lang['ANNOUNCE'] = 'Announce'; -$lang['AUTH_VOTE'] = $lang['VOTE'] = 'Vote'; -$lang['AUTH_POLLCREATE'] = $lang['POLLCREATE'] = 'Poll create'; -$lang['AUTH_ATTACHMENTS'] = $lang['AUTH_ATTACH'] = 'Post Files'; -$lang['AUTH_DOWNLOAD'] = $lang['AUTH_DOWNLOAD'] = 'Download Files'; - -$lang['SIMPLE_PERMISSION'] = 'Simple Permissions'; - -$lang['USER_LEVEL'] = 'User Level'; -$lang['AUTH_USER'] = 'User'; -$lang['AUTH_ADMIN'] = 'Administrator'; -$lang['GROUP_MEMBERSHIPS'] = 'Usergroup memberships'; -$lang['USERGROUP_MEMBERS'] = 'This group has the following members'; - -$lang['FORUM_AUTH_UPDATED'] = 'Forum permissions have been updated'; -$lang['USER_AUTH_UPDATED'] = 'User permissions have been updated'; -$lang['GROUP_AUTH_UPDATED'] = 'Group permissions have been updated'; - -$lang['AUTH_UPDATED'] = 'Permissions have been updated'; -$lang['CLICK_RETURN_USERAUTH'] = 'Click %sHere%s to return to User Permissions'; -$lang['CLICK_RETURN_GROUPAUTH'] = 'Click %sHere%s to return to Group Permissions'; -$lang['CLICK_RETURN_FORUMAUTH'] = 'Click %sHere%s to return to Forum Permissions'; - -// -// Banning -// -$lang['BAN_CONTROL'] = 'Ban Control'; -$lang['BAN_EXPLAIN'] = 'Here you can control the banning of users. You can achieve this by banning either or both of a specific user or an individual or range of IP addresses or hostnames. These methods prevent a user from even reaching the index page of your board. To prevent a user from registering under a different username you can also specify a banned email address. Please note that banning an email address alone will not prevent that user from being able to log on or post to your board. You should use one of the first two methods to achieve this.'; -$lang['BAN_EXPLAIN_WARN'] = 'Please note that entering a range of IP addresses results in all the addresses between the start and end being added to the banlist. Attempts will be made to minimise the number of addresses added to the database by introducing wildcards automatically where appropriate. If you really must enter a range, try to keep it small or better yet state specific addresses.'; - -$lang['SELECT_IP'] = 'Select an IP address'; -$lang['SELECT_EMAIL'] = 'Select an Email address'; - -$lang['BAN_USERNAME'] = 'Ban one or more specific users'; -$lang['BAN_USERNAME_EXPLAIN'] = 'You can ban multiple users in one go using the appropriate combination of mouse and keyboard for your computer and browser'; - -$lang['BAN_IP'] = 'Ban one or more IP addresses or hostnames'; -$lang['IP_HOSTNAME'] = 'IP addresses or hostnames'; -$lang['BAN_IP_EXPLAIN'] = 'To specify several different IP addresses or hostnames separate them with commas. To specify a range of IP addresses, separate the start and end with a hyphen (-); to specify a wildcard, use an asterisk (*).'; - -$lang['BAN_EMAIL'] = 'Ban one or more email addresses'; -$lang['BAN_EMAIL_EXPLAIN'] = 'To specify more than one email address, separate them with commas. To specify a wildcard username, use * like *@hotmail.com'; - -$lang['UNBAN_USERNAME'] = 'Un-ban one more specific users'; -$lang['UNBAN_USERNAME_EXPLAIN'] = 'You can unban multiple users in one go using the appropriate combination of mouse and keyboard for your computer and browser'; - -$lang['UNBAN_IP'] = 'Un-ban one or more IP addresses'; -$lang['UNBAN_IP_EXPLAIN'] = 'You can unban multiple IP addresses in one go using the appropriate combination of mouse and keyboard for your computer and browser'; - -$lang['UNBAN_EMAIL'] = 'Un-ban one or more email addresses'; -$lang['UNBAN_EMAIL_EXPLAIN'] = 'You can unban multiple email addresses in one go using the appropriate combination of mouse and keyboard for your computer and browser'; - -$lang['NO_BANNED_USERS'] = 'No banned usernames'; -$lang['NO_BANNED_IP'] = 'No banned IP addresses'; -$lang['NO_BANNED_EMAIL'] = 'No banned email addresses'; - -$lang['BAN_UPDATE_SUCESSFUL'] = 'The banlist has been updated successfully'; -$lang['CLICK_RETURN_BANADMIN'] = 'Click %sHere%s to return to Ban Control'; - -// -// Configuration -// -$lang['GENERAL_CONFIG'] = 'General Configuration'; -$lang['CONFIG_EXPLAIN'] = 'The form below will allow you to customize all the general board options. For User and Forum configurations use the related links on the left hand side.'; - -$lang['CONFIG_MODS'] = 'Configuration modifications'; -$lang['MODS_EXPLAIN'] = 'This form allows you to adjust the modifications'; - -$lang['CLICK_RETURN_CONFIG'] = '%sClick Here to return to General Configuration%s'; -$lang['CLICK_RETURN_CONFIG_MODS'] = '%sBack to the settings modifications%s'; - -$lang['GENERAL_SETTINGS'] = 'General Board Settings'; -$lang['SITE_NAME'] = 'Site name'; -$lang['SITE_DESC'] = 'Site description'; -$lang['FORUMS_DISABLE'] = 'Disable board'; -$lang['BOARD_DISABLE_EXPLAIN'] = 'This will make the board unavailable to users. Administrators are able to access the Administration Panel while the board is disabled.'; -$lang['ACCT_ACTIVATION'] = 'Enable account activation'; -$lang['ACC_NONE'] = 'None'; // These three entries are the type of activation -$lang['ACC_USER'] = 'User'; -$lang['ACC_ADMIN'] = 'Admin'; - -$lang['ABILITIES_SETTINGS'] = 'User and Forum Basic Settings'; -$lang['MAX_POLL_OPTIONS'] = 'Max number of poll options'; -$lang['FLOOD_INTERVAL'] = 'Flood Interval'; -$lang['FLOOD_INTERVAL_EXPLAIN'] = 'Number of seconds a user must wait between posts'; -$lang['TOPICS_PER_PAGE'] = 'Topics Per Page'; -$lang['POSTS_PER_PAGE'] = 'Posts Per Page'; -$lang['HOT_THRESHOLD'] = 'Posts for Popular Threshold'; -$lang['DEFAULT_LANGUAGE'] = 'Default Language'; -$lang['DATE_FORMAT'] = 'Date Format'; -$lang['SYSTEM_TIMEZONE'] = 'System Timezone'; -$lang['ENABLE_PRUNE'] = 'Enable Forum Pruning'; -$lang['ALLOW_BBCODE'] = 'Allow BBCode'; -$lang['ALLOW_SMILIES'] = 'Allow Smilies'; -$lang['SMILIES_PATH'] = 'Smilies Storage Path'; -$lang['SMILIES_PATH_EXPLAIN'] = 'Path under your phpBB root dir, e.g. images/smiles'; -$lang['ALLOW_SIG'] = 'Allow Signatures'; -$lang['MAX_SIG_LENGTH'] = 'Maximum signature length'; -$lang['MAX_SIG_LENGTH_EXPLAIN'] = 'Maximum number of characters in user signatures'; -$lang['ALLOW_NAME_CHANGE'] = 'Allow Username changes'; - -$lang['EMAIL_SETTINGS'] = 'Email Settings'; - -// Visual Confirmation -$lang['VISUAL_CONFIRM'] = 'Enable Visual Confirmation'; -$lang['VISUAL_CONFIRM_EXPLAIN'] = 'Requires users enter a code defined by an image when registering.'; - -// Autologin Keys - added 2.0.18 -$lang['ALLOW_AUTOLOGIN'] = 'Allow automatic logins'; -$lang['ALLOW_AUTOLOGIN_EXPLAIN'] = 'Determines whether users are allowed to select to be automatically logged in when visiting the forum'; -$lang['AUTOLOGIN_TIME'] = 'Automatic login key expiry'; -$lang['AUTOLOGIN_TIME_EXPLAIN'] = 'How long an autologin key is valid for in days if the user does not visit the board. Set to zero to disable expiry.'; - -// -// Forum Management -// -$lang['FORUM_ADMIN_MAIN'] = 'Forum Administration'; -$lang['FORUM_ADMIN_EXPLAIN'] = 'From this panel you can add, delete, edit, re-order and re-synchronise categories and forums'; -$lang['EDIT_FORUM'] = 'Edit forum'; -$lang['CREATE_FORUM'] = 'Create new forum'; -$lang['CREATE_CATEGORY'] = 'Create new category'; -$lang['REMOVE'] = 'Remove'; -$lang['UPDATE_ORDER'] = 'Update Order'; -$lang['CONFIG_UPDATED'] = 'Forum Configuration Has Been Updated Successfully'; -$lang['MOVE_UP'] = 'Move up'; -$lang['MOVE_DOWN'] = 'Move down'; -$lang['RESYNC'] = 'Resync'; -$lang['NO_MODE'] = 'No mode was set'; -$lang['FORUM_EDIT_DELETE_EXPLAIN'] = 'The form below will allow you to customize all the general board options. For User and Forum configurations use the related links on the left hand side'; - -$lang['MOVE_CONTENTS'] = 'Move all contents'; -$lang['FORUM_DELETE'] = 'Delete Forum'; -$lang['FORUM_DELETE_EXPLAIN'] = 'The form below will allow you to delete a forum (or category) and decide where you want to put all topics (or forums) it contained.'; -$lang['CATEGORY_DELETE'] = 'Delete Category'; - -$lang['STATUS_LOCKED'] = 'Locked'; -$lang['STATUS_UNLOCKED'] = 'Unlocked'; -$lang['FORUM_SETTINGS'] = 'General Forum Settings'; -$lang['FORUM_NAME'] = 'Forum name'; -$lang['FORUM_DESC'] = 'Description'; -$lang['FORUM_STATUS'] = 'Forum status'; -$lang['FORUM_PRUNING'] = 'Auto-pruning'; - -$lang['PRUNE_DAYS'] = 'Remove topics that have not been posted to in'; -$lang['SET_PRUNE_DATA'] = 'You have turned on auto-prune for this forum but did not set a number of days to prune. Please go back and do so.'; - -$lang['MOVE_AND_DELETE'] = 'Move and Delete'; - -$lang['DELETE_ALL_POSTS'] = 'Delete all posts'; -$lang['NOWHERE_TO_MOVE'] = 'Nowhere to move to'; - -$lang['EDIT_CATEGORY'] = 'Edit Category'; -$lang['EDIT_CATEGORY_EXPLAIN'] = 'Use this form to modify a category\'s name.'; - -$lang['FORUMS_UPDATED'] = 'Forum and Category information updated successfully'; - -$lang['MUST_DELETE_FORUMS'] = 'You need to delete all forums before you can delete this category'; - -$lang['CLICK_RETURN_FORUMADMIN'] = 'Click %sHere%s to return to Forum Administration'; - -$lang['SHOW_ALL_FORUMS_ON_ONE_PAGE'] = 'Show all forums on one page'; - -// -// Smiley Management -// -$lang['SMILEY_TITLE'] = 'Smiles Editing Utility'; -$lang['SMILE_DESC'] = 'From this page you can add, remove and edit the emoticons or smileys that your users can use in their posts and private messages.'; - -$lang['SMILEY_CONFIG'] = 'Smiley Configuration'; -$lang['SMILEY_CODE'] = 'Smiley Code'; -$lang['SMILEY_URL'] = 'Smiley Image File'; -$lang['SMILEY_EMOT'] = 'Smiley Emotion'; -$lang['SMILE_ADD'] = 'Add a new Smiley'; -$lang['SMILE'] = 'Smile'; -$lang['EMOTION'] = 'Emotion'; - -$lang['SELECT_PAK'] = 'Select Pack (.pak) File'; -$lang['REPLACE_EXISTING'] = 'Replace Existing Smiley'; -$lang['KEEP_EXISTING'] = 'Keep Existing Smiley'; -$lang['SMILEY_IMPORT_INST'] = 'You should unzip the smiley package and upload all files to the appropriate Smiley directory for your installation. Then select the correct information in this form to import the smiley pack.'; -$lang['SMILEY_IMPORT'] = 'Smiley Pack Import'; -$lang['CHOOSE_SMILE_PAK'] = 'Choose a Smile Pack .pak file'; -$lang['IMPORT'] = 'Import Smileys'; -$lang['SMILE_CONFLICTS'] = 'What should be done in case of conflicts'; -$lang['DEL_EXISTING_SMILEYS'] = 'Delete existing smileys before import'; -$lang['IMPORT_SMILE_PACK'] = 'Import Smiley Pack'; -$lang['EXPORT_SMILE_PACK'] = 'Create Smiley Pack'; -$lang['EXPORT_SMILES'] = 'To create a smiley pack from your currently installed smileys, click %sHere%s to download the smiles.pak file. Name this file appropriately making sure to keep the .pak file extension. Then create a zip file containing all of your smiley images plus this .pak configuration file.'; - -$lang['SMILEY_ADD_SUCCESS'] = 'The Smiley has been added successfully'; -$lang['SMILEY_EDIT_SUCCESS'] = 'The Smiley has been updated successfully'; -$lang['SMILEY_IMPORT_SUCCESS'] = 'The Smiley Pack has been imported successfully!'; -$lang['SMILEY_DEL_SUCCESS'] = 'The Smiley has been removed successfully'; -$lang['CLICK_RETURN_SMILEADMIN'] = 'Click %sHere%s to return to Smiley Administration'; - -// -// User Management -// -$lang['USER_ADMIN'] = 'User Administration'; -$lang['USER_ADMIN_EXPLAIN'] = 'Here you can change your users\' information and certain options. To modify the users\' permissions, please use the user and group permissions system.'; - -$lang['LOOK_UP_USER'] = 'Look up user'; - -$lang['ADMIN_USER_FAIL'] = 'Could not update the user\'s profile.'; -$lang['ADMIN_USER_UPDATED'] = 'The user\'s profile has been updated successfully.'; -$lang['CLICK_RETURN_USERADMIN'] = 'Click %sHere%s to return to User Administration'; - -$lang['USER_ALLOWPM'] = 'Can send Private Messages'; -$lang['USER_ALLOWAVATAR'] = 'Can display avatar'; - -$lang['ADMIN_AVATAR_EXPLAIN'] = 'Here you can see and delete the user\'s current avatar.'; - -$lang['USER_SPECIAL'] = 'Special admin-only fields'; -$lang['USER_SPECIAL_EXPLAIN'] = 'These fields are not able to be modified by the users. Here you can set their status and other options that are not given to users.'; - -// -// Group Management -// -$lang['GROUP_ADMINISTRATION'] = 'Group Administration'; -$lang['GROUP_ADMIN_EXPLAIN'] = 'From this panel you can administer all your usergroups. You can delete, create and edit existing groups. You may choose moderators, toggle open/closed group status and set the group name and description'; -$lang['ERROR_UPDATING_GROUPS'] = 'There was an error while updating the groups'; -$lang['UPDATED_GROUP'] = 'The group has been updated successfully'; -$lang['ADDED_NEW_GROUP'] = 'The new group has been created successfully'; -$lang['DELETED_GROUP'] = 'The group has been deleted successfully'; -$lang['CREATE_NEW_GROUP'] = 'Create new group'; -$lang['EDIT_GROUP'] = 'Edit group'; -$lang['GROUP_STATUS'] = 'Group status'; -$lang['GROUP_DELETE'] = 'Delete group'; -$lang['GROUP_DELETE_CHECK'] = 'Delete this group'; -$lang['SUBMIT_GROUP_CHANGES'] = 'Submit Changes'; -$lang['RESET_GROUP_CHANGES'] = 'Reset Changes'; -$lang['NO_GROUP_NAME'] = 'You must specify a name for this group'; -$lang['NO_GROUP_MODERATOR'] = 'You must specify a moderator for this group'; -$lang['NO_GROUP_MODE'] = 'You must specify a mode for this group, open or closed'; -$lang['NO_GROUP_ACTION'] = 'No action was specified'; -$lang['DELETE_OLD_GROUP_MOD'] = 'Delete the old group moderator?'; -$lang['DELETE_OLD_GROUP_MOD_EXPL'] = 'If you\'re changing the group moderator, check this box to remove the old moderator from the group. Otherwise, do not check it, and the user will become a regular member of the group.'; -$lang['CLICK_RETURN_GROUPSADMIN'] = 'Click %sHere%s to return to Group Administration.'; -$lang['SELECT_GROUP'] = 'Select a group'; -$lang['LOOK_UP_GROUP'] = 'Look up group'; - -// -// Prune Administration -// -$lang['FORUM_PRUNE'] = 'Forum Prune'; -$lang['FORUM_PRUNE_EXPLAIN'] = 'This will delete any topic which has not been posted to within the number of days you select. If you do not enter a number then all topics will be deleted. It will not remove sticky topics and announcements. You will need to remove those topics manually.'; -$lang['DO_PRUNE'] = 'Do Prune'; -$lang['ALL_FORUMS'] = 'All Forums'; -$lang['PRUNE_TOPICS_NOT_POSTED'] = 'Prune topics with no replies in this many days'; -$lang['TOPICS_PRUNED'] = 'Topics pruned'; -$lang['POSTS_PRUNED'] = 'Posts pruned'; -$lang['PRUNE_SUCCESS'] = 'Forum has been pruned successfully'; -$lang['NOT_DAYS'] = 'Prune days not selected'; - -// -// Word censor -// -$lang['WORDS_TITLE'] = 'Word Censoring'; -$lang['WORDS_EXPLAIN'] = 'From this control panel you can add, edit, and remove words that will be automatically censored on your forums. In addition people will not be allowed to register with usernames containing these words. Wildcards (*) are accepted in the word field. For example, *test* will match detestable, test* would match testing, *test would match detest.'; -$lang['WORD'] = 'Word'; -$lang['EDIT_WORD_CENSOR'] = 'Edit word censor'; -$lang['REPLACEMENT'] = 'Replacement'; -$lang['ADD_NEW_WORD'] = 'Add new word'; -$lang['UPDATE_WORD'] = 'Update word censor'; - -$lang['MUST_ENTER_WORD'] = 'You must enter a word and its replacement'; -$lang['NO_WORD_SELECTED'] = 'No word selected for editing'; - -$lang['WORD_UPDATED'] = 'The selected word censor has been updated successfully'; -$lang['WORD_ADDED'] = 'The word censor has been added successfully'; -$lang['WORD_REMOVED'] = 'The selected word censor has been removed successfully '; - -$lang['CLICK_RETURN_WORDADMIN'] = 'Click %sHere%s to return to Word Censor Administration'; - -// -// Mass Email -// -$lang['MASS_EMAIL_EXPLAIN'] = 'Here you can email a message to either all of your users or all users of a specific group. To do this, an email will be sent out to the administrative email address supplied, with a blind carbon copy sent to all recipients. If you are emailing a large group of people please be patient after submitting and do not stop the page halfway through. It is normal for a mass emailing to take a long time and you will be notified when the script has completed'; -$lang['COMPOSE'] = 'Compose'; - -$lang['RECIPIENTS'] = 'Recipients'; -$lang['ALL_USERS'] = 'All Users'; - -$lang['EMAIL_SUCCESSFULL'] = 'Your message has been sent'; -$lang['CLICK_RETURN_MASSEMAIL'] = 'Click %sHere%s to return to the Mass Email form'; - -// -// Ranks admin -// -$lang['RANKS_TITLE'] = 'Rank Administration'; -$lang['RANKS_EXPLAIN'] = 'Using this form you can add, edit, view and delete ranks. You can also create custom ranks which can be applied to a user via the user management facility'; - -$lang['ADD_NEW_RANK'] = 'Add new rank'; -$lang['RANK_TITLE'] = 'Rank Title'; -$lang['STYLE_COLOR'] = 'Style rank'; -$lang['STYLE_COLOR_FAQ'] = 'Specify class for painting at the title of the desired color. For example colorAdmin'; -$lang['RANK_SPECIAL'] = 'Set as Special Rank'; -$lang['RANK_MINIMUM'] = 'Minimum Posts'; -$lang['RANK_MAXIMUM'] = 'Maximum Posts'; -$lang['RANK_IMAGE'] = 'Rank Image'; -$lang['RANK_IMAGE_EXPLAIN'] = 'Use this to define a small image associated with the rank'; - -$lang['MUST_SELECT_RANK'] = 'You must select a rank'; -$lang['NO_ASSIGNED_RANK'] = 'No special rank assigned'; - -$lang['RANK_UPDATED'] = 'The rank has been updated successfully'; -$lang['RANK_ADDED'] = 'The rank has been added successfully'; -$lang['RANK_REMOVED'] = 'The rank has been deleted successfully'; -$lang['NO_UPDATE_RANKS'] = 'The rank has been deleted successfully. However, user accounts using this rank were not updated. You will need to manually reset the rank on these accounts'; - -$lang['CLICK_RETURN_RANKADMIN'] = 'Click %sHere%s to return to Rank Administration'; - -// -// Disallow Username Admin -// -$lang['DISALLOW_CONTROL'] = 'Username Disallow Control'; -$lang['DISALLOW_EXPLAIN'] = 'Here you can control usernames which will not be allowed to be used. Disallowed usernames are allowed to contain a wildcard character of *. Please note that you will not be allowed to specify any username that has already been registered. You must first delete that name then disallow it.'; - -$lang['DELETE_DISALLOW'] = 'Delete'; -$lang['DELETE_DISALLOW_TITLE'] = 'Remove a Disallowed Username'; -$lang['DELETE_DISALLOW_EXPLAIN'] = 'You can remove a disallowed username by selecting the username from this list and clicking submit'; - -$lang['ADD_DISALLOW'] = 'Add'; -$lang['ADD_DISALLOW_TITLE'] = 'Add a disallowed username'; -$lang['ADD_DISALLOW_EXPLAIN'] = 'You can disallow a username using the wildcard character * to match any character'; - -$lang['NO_DISALLOWED'] = 'No Disallowed Usernames'; - -$lang['DISALLOWED_DELETED'] = 'The disallowed username has been removed successfully'; -$lang['DISALLOW_SUCCESSFUL'] = 'The disallowed username has been added successfully'; -$lang['DISALLOWED_ALREADY'] = 'The name you entered could not be disallowed. It either already exists in the list, exists in the word censor list, or a matching username is present.'; - -$lang['CLICK_RETURN_DISALLOWADMIN'] = 'Click %sHere%s to return to Disallow Username Administration'; - -// -// Version Check -// -$lang['VERSION_INFORMATION'] = 'Version Information'; - -// -// Login attempts configuration -// -$lang['MAX_LOGIN_ATTEMPTS'] = 'Allowed login attempts'; -$lang['MAX_LOGIN_ATTEMPTS_EXPLAIN'] = 'The number of allowed board login attempts.'; -$lang['LOGIN_RESET_TIME'] = 'Login lock time'; -$lang['LOGIN_RESET_TIME_EXPLAIN'] = 'Time in minutes the user have to wait until he is allowed to login again after exceeding the number of allowed login attempts.'; - -// -// Permissions List -// -$lang['PERMISSIONS_LIST'] = 'Permissions List'; -$lang['AUTH_CONTROL_CATEGORY'] = 'Category Permissions Control'; -$lang['FORUM_AUTH_LIST_EXPLAIN'] = 'This provides a summary of the authorisation levels of each forum. You can edit these permissions, using either a simple or advanced method by clicking on the forum name. Remember that changing the permission level of forums will affect which users can carry out the various operations within them.'; -$lang['CAT_AUTH_LIST_EXPLAIN'] = 'This provides a summary of the authorisation levels of each forum within this category. You can edit the permissions of individual forums, using either a simple or advanced method by clicking on the forum name. Alternatively, you can set the permissions for all the forums in this category by using the drop-down menus at the bottom of the page. Remember that changing the permission level of forums will affect which users can carry out the various operations within them.'; -$lang['FORUM_AUTH_LIST_EXPLAIN_ALL'] = 'All users'; -$lang['FORUM_AUTH_LIST_EXPLAIN_REG'] = 'All registered users'; -$lang['FORUM_AUTH_LIST_EXPLAIN_PRIVATE'] = 'Only users granted special permission'; -$lang['FORUM_AUTH_LIST_EXPLAIN_MOD'] = 'Only moderators of this forum'; -$lang['FORUM_AUTH_LIST_EXPLAIN_ADMIN'] = 'Only administrators'; -$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_VIEW'] = '%s can view this forum'; -$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_READ'] = '%s can read posts in this forum'; -$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_POST'] = '%s can post in this forum'; -$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_REPLY'] = '%s can reply to posts this forum'; -$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_EDIT'] = '%s can edit posts in this forum'; -$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_DELETE'] = '%s can delete posts in this forum'; -$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_STICKY'] = '%s can post sticky topics in this forum'; -$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_ANNOUNCE'] = '%s can post announcements in this forum'; -$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_VOTE'] = '%s can vote in polls in this forum'; -$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_POLLCREATE'] = '%s can create polls in this forum'; -$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_ATTACHMENTS'] = '%s can post attachments'; -$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_DOWNLOAD'] = '%s can download attachments'; - -// -// Misc -// -$lang['SF_SHOW_ON_INDEX'] = 'Show on main page'; -$lang['SF_PARENT_FORUM'] = 'Parent forum'; -$lang['SF_NO_PARENT'] = 'No parent forum'; -$lang['TEMPLATE'] = 'Template'; - -// -// Reports (need to translate!) -// -$lang['REPORT_CONFIG_EXPLAIN'] = 'On this page you can change the general configuration of the report feature.'; -$lang['REPORT_SUBJECT_AUTH'] = 'Individual permissions'; -$lang['REPORT_SUBJECT_AUTH_EXPLAIN'] = 'If this setting is enabled, moderators can only view reports they can edit. For example a post report will be hidden if the user isn\'t a moderator of the forum the post belongs to.'; -$lang['REPORT_MODULES_CACHE'] = 'Cache modules in a file'; -$lang['REPORT_MODULES_CACHE_EXPLAIN'] = 'Note: The cache directory must be set to CHMOD 777 (full write permissions).'; -$lang['REPORT_NOTIFY'] = 'Email notification'; -$lang['REPORT_NOTIFY_CHANGE'] = 'on status changes and new reports'; -$lang['REPORT_NOTIFY_NEW'] = 'on new reports'; -$lang['REPORT_LIST_ADMIN'] = 'Admin-only report list'; -$lang['REPORT_NEW_WINDOW'] = 'Open subjects in a new window'; -$lang['REPORT_NEW_WINDOW_EXPLAIN'] = 'This setting also affects direct links to the reports at the view topic page.'; -$lang['REPORT_CONFIG_UPDATED'] = 'The configuration has been updated.'; -$lang['CLICK_RETURN_REPORT_CONFIG'] = 'Click %sHere%s to return to the configuration.'; - -$lang['MODULES_REASONS'] = 'Modules and Reasons'; -$lang['REPORT_ADMIN_EXPLAIN'] = 'On this page you can install new report modules and edit or uninstall currently installed modules. In addition you can set up predefined reasons for every report module.'; -$lang['REPORT_MODULE'] = 'Report module'; -$lang['INSTALLED_MODULES'] = 'Installed modules'; -$lang['NO_MODULES_INSTALLED'] = 'No modules installed'; -$lang['REASONS'] = 'Reasons (%d)'; -$lang['SYNC'] = 'Sync'; -$lang['UNINSTALL'] = 'Uninstall'; -$lang['INSTALL2'] = 'Install'; -$lang['INACTIVE_MODULES'] = 'Inactive modules'; -$lang['NO_MODULES_INACTIVE'] = 'No inactive modules'; -$lang['REPORT_MODULE_NOT_EXISTS'] = 'The selected module doesn\'t exist.'; -$lang['CLICK_RETURN_REPORT_ADMIN'] = 'Click %sHere%s to return to the Modules & Reasons administration.'; - -$lang['BACK_MODULES'] = 'Back to the modules'; -$lang['REPORT_REASON'] = 'Report reason'; -$lang['NO_REASONS'] = 'No reasons for this module'; -$lang['ADD_REASON'] = 'Add reason'; -$lang['EDIT_REASON'] = 'Edit reason'; -$lang['REASON_DESC_EXPLAIN'] = 'If the description matches with a language variable, the variable will be used instead.'; -$lang['REASON_DESC_EMPTY'] = 'You must enter a report reason.'; -$lang['REPORT_REASON_ADDED'] = 'The report reason has been added.'; -$lang['REPORT_REASON_EDITED'] = 'The report reason has been edited.'; -$lang['DELETE_REASON'] = 'Delete reason'; -$lang['DELETE_REPORT_REASON_EXPLAIN'] = 'Are you sure you want to delete the selected report reason?'; -$lang['REPORT_REASON_DELETED'] = 'The report reason has been deleted.'; -$lang['REPORT_REASON_NOT_EXISTS'] = 'The selected report reason doesn\'t exist.'; -$lang['CLICK_RETURN_REPORT_REASONS'] = 'Click %sHere%s to return to the report reasons administration.'; - -$lang['REPORT_MODULE_SYNCED'] = 'The module has been synced.'; - -$lang['UNINSTALL_REPORT_MODULE'] = 'Uninstall module'; -$lang['UNINSTALL_REPORT_MODULE_EXPLAIN'] = 'Are you sure you want to uninstall the selected report module?
    Note: All reports in the module will be deleted, too.'; -$lang['REPORT_MODULE_UNINSTALLED'] = 'The module has been uninstalled.'; - -$lang['INSTALL_REPORT_MODULE'] = 'Install module'; -$lang['EDIT_REPORT_MODULE'] = 'Edit module'; -$lang['REPORT_PRUNE'] = 'Prune reports'; -$lang['REPORT_PRUNE_EXPLAIN'] = 'Cleared reports and reports marked for deletion will be deleted automatically after x days. Set to zero to disable the feature.'; -$lang['REPORT_PERMISSIONS'] = 'Report permissions'; -$lang['WRITE'] = 'Write'; -$lang['REPORT_AUTH'] = array( - REPORT_AUTH_USER => 'Users', - REPORT_AUTH_MOD => 'Moderators', - REPORT_AUTH_CONFIRM => 'Moderators (after confirmation)', - REPORT_AUTH_ADMIN => 'Administrators'); -$lang['REPORT_AUTH_NOTIFY_EXPLAIN'] = 'Moderators will only be notified if they can view and edit the report.'; -$lang['REPORT_AUTH_DELETE_EXPLAIN'] = 'If you select Moderators (after confirmation), deletions have to be confirmed by an administrator.'; -$lang['REPORT_MODULE_INSTALLED'] = 'The module has been installed.'; -$lang['REPORT_MODULE_EDITED'] = 'The module has been edited.'; -// -// Reports [END] -// - -// -// Mods -// -$lang['MAX_NEWS_TITLE'] = 'Max. length of the news'; -$lang['NEWS_COUNT'] = 'How many news show'; -$lang['NEWS_FORUM_ID'] = 'From what forums to display
    Of the several forums raises, separated by commas. Example 1,2,3
    '; -$lang['NOAVATAR'] = 'No avatar'; -$lang['TRACKER_STATS'] = 'Statistics on the tracker'; -$lang['WHOIS_INFO'] = 'Information about IP address'; -$lang['SHOW_MOD_HOME_PAGE'] = 'Show on moderators the index.php'; -$lang['PREMOD_HELP'] = '

    Pre-moderation

    If you do not have distributions to the status of v, #, or T in this section, including subsections, the distribution will automatically receive this status
    '; -$lang['TOR_COMMENT'] = '

    Commentary on the status of distribution

    Comment successfully allows you to specify releasers mistakes. When nedooformlennyh statuses releasers available form of the response of the correction release
    '; -$lang['SEED_BONUS_ADD'] = '

    Adding seed bonus

    Number of distributions are handed out by the user and the size of bonuses for them (charging times an hour)
    '; -$lang['SEED_BONUS_RELEASE'] = 'to N-number of releases'; -$lang['SEED_BONUS_POINTS'] = 'bonuses in an hour'; -$lang['SEED_BONUS_TOR_SIZE'] = '

    Minimum distribution for which will be awarded bonuses

    If you want to calculate bonuses for all distribution, leave blank.
    '; -$lang['SEED_BONUS_USER_REGDATA'] = '

    Minimum length of user tracker, after which will be awarded bonuses

    If you want to accrue bonuses to all users, leave blank.
    '; -$lang['SEED_BONUS_WARNING'] = 'ATTENTION! Seed Bonuses should be in ascending order'; -$lang['SEED_BONUS_EXCHANGE'] = 'Configuring Exchange Sid Bonuses'; -$lang['SEED_BONUS_ROPORTION'] = 'Proportion addition for an exchange of bonuses on GB'; - -// Modules, this replaces the keys used -$lang['CONTROL_PANEL'] = 'Control Panel'; -$lang['SHADOW_ATTACHMENTS'] = 'Shadow Attachments'; -$lang['FORBIDDEN_EXTENSIONS'] = 'Forbidden Extensions'; -$lang['EXTENSION_CONTROL'] = 'Extension Control'; -$lang['EXTENSION_GROUP_MANAGE'] = 'Extension Groups Control'; -$lang['SPECIAL_CATEGORIES'] = 'Special Categories'; -$lang['SYNC_ATTACHMENTS'] = 'Synchronize Attachments'; -$lang['QUOTA_LIMITS'] = 'Quota Limits'; - -// Attachments -> Management -$lang['ATTACH_SETTINGS'] = 'Attachment Settings'; -$lang['MANAGE_ATTACHMENTS_EXPLAIN'] = 'Here you can configure the Main Settings for the Attachment Mod. If you press the Test Settings Button, the Attachment Mod does a few System Tests to be sure that the Mod will work properly. If you have problems with uploading Files, please run this Test, to get a detailed error-message.'; -$lang['ATTACH_FILESIZE_SETTINGS'] = 'Attachment Filesize Settings'; -$lang['ATTACH_NUMBER_SETTINGS'] = 'Attachment Number Settings'; -$lang['ATTACH_OPTIONS_SETTINGS'] = 'Attachment Options'; - -$lang['UPLOAD_DIRECTORY'] = 'Upload Directory'; -$lang['UPLOAD_DIRECTORY_EXPLAIN'] = 'Enter the relative path from your phpBB2 installation to the Attachments upload directory. For example, enter \'files\' if your phpBB2 Installation is located at http://www.yourdomain.com/phpBB2 and the Attachment Upload Directory is located at http://www.yourdomain.com/phpBB2/files.'; -$lang['ATTACH_IMG_PATH'] = 'Attachment Posting Icon'; -$lang['ATTACH_IMG_PATH_EXPLAIN'] = 'This Image is displayed next to Attachment Links in individual Postings. Leave this field empty if you don\'t want an icon to be displayed. This Setting will be overwritten by the Settings in Extension Groups Management.'; -$lang['ATTACH_TOPIC_ICON'] = 'Attachment Topic Icon'; -$lang['ATTACH_TOPIC_ICON_EXPLAIN'] = 'This Image is displayed before topics with Attachments. Leave this field empty if you don\'t want an icon to be displayed.'; -$lang['ATTACH_DISPLAY_ORDER'] = 'Attachment Display Order'; -$lang['ATTACH_DISPLAY_ORDER_EXPLAIN'] = 'Here you can choose whether to display the Attachments in Posts/PMs in Descending Filetime Order (Newest Attachment First) or Ascending Filetime Order (Oldest Attachment First).'; -$lang['SHOW_APCP'] = 'Use the new control panel applications'; -$lang['SHOW_APCP_EXPLAIN'] = 'Choose whether you want to use a separate control panel applications (yes), or the old method with two boxes for applications and editing applications (none) in the message box. It is difficult to explain how it looks, so try for yourself.'; - -$lang['MAX_FILESIZE_ATTACH'] = 'Filesize'; -$lang['MAX_FILESIZE_ATTACH_EXPLAIN'] = 'Maximum filesize for Attachments. A value of 0 means \'unlimited\'. This Setting is restricted by your Server Configuration. For example, if your php Configuration only allows a maximum of 2 MB uploads, this cannot be overwritten by the Mod.'; -$lang['ATTACH_QUOTA'] = 'Attachment Quota'; -$lang['ATTACH_QUOTA_EXPLAIN'] = 'Maximum Disk Space ALL Attachments can hold on your Webspace. A value of 0 means \'unlimited\'.'; -$lang['MAX_FILESIZE_PM'] = 'Maximum Filesize in Private Messages Folder'; -$lang['MAX_FILESIZE_PM_EXPLAIN'] = 'Maximum Disk Space Attachments can use up in each User\'s Private Message box. A value of 0 means \'unlimited\'.'; -$lang['DEFAULT_QUOTA_LIMIT'] = 'Default Quota Limit'; -$lang['DEFAULT_QUOTA_LIMIT_EXPLAIN'] = 'Here you are able to select the Default Quota Limit automatically assigned to newly registered Users and Users without an defined Quota Limit. The Option \'No Quota Limit\' is for not using any Attachment Quotas, instead using the default Settings you have defined within this Management Panel.'; - -$lang['MAX_ATTACHMENTS'] = 'Maximum Number of Attachments'; -$lang['MAX_ATTACHMENTS_EXPLAIN'] = 'The maximum number of attachments allowed in one post.'; -$lang['MAX_ATTACHMENTS_PM'] = 'Maximum number of Attachments in one Private Message'; -$lang['MAX_ATTACHMENTS_PM_EXPLAIN'] = 'Define the maximum number of attachments the user is allowed to include in a private message.'; - -$lang['DISABLE_MOD'] = 'Disable Attachment Mod'; -$lang['DISABLE_MOD_EXPLAIN'] = 'This option is mainly for testing new templates or themes, it disables all Attachment Functions except the Admin Panel.'; -$lang['PM_ATTACHMENTS'] = 'Allow Attachments in Private Messages'; -$lang['PM_ATTACHMENTS_EXPLAIN'] = 'Allow/Disallow attaching files to Private Messages.'; -$lang['ATTACHMENT_TOPIC_REVIEW'] = 'Show applications in the review of communications topics when writing an answer?'; -$lang['ATTACHMENT_TOPIC_REVIEW_EXPLAIN'] = 'If you put a "yes", all applications will be displayed in the review of communications topics.'; - -// Attachments -> Shadow Attachments -$lang['SHADOW_ATTACHMENTS_EXPLAIN'] = 'Here you can delete attachment data from postings when the files are missing from your filesystem, and delete files that are no longer attached to any postings. You can download or view a file if you click on it; if no link is present, the file does not exist.'; -$lang['SHADOW_ATTACHMENTS_FILE_EXPLAIN'] = 'Delete all attachments files that exist on your filesystem and are not assigned to an existing post.'; -$lang['SHADOW_ATTACHMENTS_ROW_EXPLAIN'] = 'Delete all posting attachment data for files that don\'t exist on your filesystem.'; -$lang['EMPTY_FILE_ENTRY'] = 'Empty File Entry'; - -// Attachments -> Sync -$lang['SYNC_THUMBNAIL_RESETTED'] = 'Thumbnail resetted for Attachment: %s'; // replace %s with physical Filename -$lang['ATTACH_SYNC_FINISHED'] = 'Attachment Syncronization Finished.'; -$lang['SYNC_TOPICS'] = 'Sync Topics'; -$lang['SYNC_POSTS'] = 'Sync Posts'; -$lang['SYNC_THUMBNAILS'] = 'Sync Thumbnails'; - -// Extensions -> Extension Control -$lang['MANAGE_EXTENSIONS'] = 'Manage Extensions'; -$lang['MANAGE_EXTENSIONS_EXPLAIN'] = 'Here you can manage your File Extensions. If you want to allow/disallow a Extension to be uploaded, please use the Extension Groups Management.'; -$lang['EXPLANATION'] = 'Explanation'; -$lang['EXTENSION_GROUP'] = 'Extension Group'; -$lang['INVALID_EXTENSION'] = 'Invalid Extension'; -$lang['EXTENSION_EXIST'] = 'The Extension %s already exist'; // replace %s with the Extension -$lang['UNABLE_ADD_FORBIDDEN_EXTENSION'] = 'The Extension %s is forbidden, you are not able to add it to the allowed Extensions'; // replace %s with Extension - -// Extensions -> Extension Groups Management -$lang['MANAGE_EXTENSION_GROUPS'] = 'Manage Extension Groups'; -$lang['MANAGE_EXTENSION_GROUPS_EXPLAIN'] = 'Here you can add, delete and modify your Extension Groups, you can disable Extension Groups, assign a special Category to them, change the download mechanism and you can define a Upload Icon which will be displayed in front of an Attachment belonging to the Group.'; -$lang['SPECIAL_CATEGORY'] = 'Special Category'; -$lang['CATEGORY_IMAGES'] = 'Images'; -$lang['ALLOWED'] = 'Allowed'; -$lang['ALLOWED_FORUMS'] = 'Allowed Forums'; -$lang['EXT_GROUP_PERMISSIONS'] = 'Group Permissions'; -$lang['DOWNLOAD_MODE'] = 'Download Mode'; -$lang['UPLOAD_ICON'] = 'Upload Icon'; -$lang['MAX_GROUPS_FILESIZE'] = 'Maximum Filesize'; -$lang['EXTENSION_GROUP_EXIST'] = 'The Extension Group %s already exist'; // replace %s with the group name - -// Extensions -> Special Categories -$lang['MANAGE_CATEGORIES'] = 'Manage Special Categories'; -$lang['MANAGE_CATEGORIES_EXPLAIN'] = 'Here you can configure the Special Categories. You can set up Special Parameters and Conditions for the Special Categorys assigned to an Extension Group.'; -$lang['SETTINGS_CAT_IMAGES'] = 'Settings for Special Category: Images'; -$lang['SETTINGS_CAT_FLASH'] = 'Settings for Special Category: Flash Files'; -$lang['DISPLAY_INLINED'] = 'Display Images Inlined'; -$lang['DISPLAY_INLINED_EXPLAIN'] = 'Choose whether to display images directly within the post (yes) or to display images as a link ?'; -$lang['MAX_IMAGE_SIZE'] = 'Maximum Image Dimensions'; -$lang['MAX_IMAGE_SIZE_EXPLAIN'] = 'Here you can define the maximum allowed Image Dimension to be attached (Width x Height in pixels).
    If it is set to 0x0, this feature is disabled. With some Images this Feature will not work due to limitations in PHP.'; -$lang['IMAGE_LINK_SIZE'] = 'Image Link Dimensions'; -$lang['IMAGE_LINK_SIZE_EXPLAIN'] = 'If this defined Dimension of an Image is reached, the Image will be displayed as a Link, rather than displaying it inlined,
    if Inline View is enabled (Width x Height in pixels).
    If it is set to 0x0, this feature is disabled. With some Images this Feature will not work due to limitations in PHP.'; -$lang['ASSIGNED_GROUP'] = 'Assigned Group'; - -$lang['IMAGE_CREATE_THUMBNAIL'] = 'Create Thumbnail'; -$lang['IMAGE_CREATE_THUMBNAIL_EXPLAIN'] = 'Always create a Thumbnail. This feature overrides nearly all Settings within this Special Category, except of the Maximum Image Dimensions. With this Feature a Thumbnail will be displayed within the post, the User can click it to open the real Image.
    Please Note that this feature requires Imagick to be installed, if it\'s not installed or if Safe-Mode is enabled the GD-Extension of PHP will be used. If the Image-Type is not supported by PHP, this Feature will be not used.'; -$lang['IMAGE_MIN_THUMB_FILESIZE'] = 'Minimum Thumbnail Filesize'; -$lang['IMAGE_MIN_THUMB_FILESIZE_EXPLAIN'] = 'If a Image is smaller than this defined Filesize, no Thumbnail will be created, because it\'s small enough.'; -$lang['IMAGE_IMAGICK_PATH'] = 'Imagick Program (Complete Path)'; -$lang['IMAGE_IMAGICK_PATH_EXPLAIN'] = 'Enter the Path to the convert program of imagick, normally /usr/bin/convert (on windows: c:/imagemagick/convert.exe).'; -$lang['IMAGE_SEARCH_IMAGICK'] = 'Search Imagick'; - -$lang['USE_GD2'] = 'Make use of GD2 Extension'; -$lang['USE_GD2_EXPLAIN'] = 'PHP is able to be compiled with the GD1 or GD2 Extension for image manipulating. To correctly create Thumbnails without imagemagick the Attachment Mod uses two different methods, based on your selection here. If your thumbnails are in a bad quality or screwed up, try to change this setting.'; -$lang['ATTACHMENT_VERSION'] = 'Attachment Mod Version %s'; // %s is the version number - -// Extensions -> Forbidden Extensions -$lang['MANAGE_FORBIDDEN_EXTENSIONS'] = 'Manage Forbidden Extensions'; -$lang['MANAGE_FORBIDDEN_EXTENSIONS_EXPLAIN'] = 'Here you can add or delete the forbidden extensions. The Extensions php, php3 and php4 are forbidden by default for security reasons, you can not delete them.'; -$lang['FORBIDDEN_EXTENSION_EXIST'] = 'The forbidden Extension %s already exist'; // replace %s with the extension -$lang['EXTENSION_EXIST_FORBIDDEN'] = 'The Extension %s is defined in your allowed Extensions, please delete it their before you add it here.'; // replace %s with the extension - -// Extensions -> Extension Groups Control -> Group Permissions -$lang['GROUP_PERMISSIONS_TITLE_ADMIN'] = 'Extension Group Permissions -> \'%s\''; // Replace %s with the Groups Name -$lang['GROUP_PERMISSIONS_EXPLAIN'] = 'Here you are able to restrict the selected Extension Group to Forums of your choice (defined in the Allowed Forums Box). The Default is to allow Extension Groups to all Forums the User is able to Attach Files into (the normal way the Attachment Mod did it since the beginning). Just add those Forums you want the Extension Group (the Extensions within this Group) to be allowed there, the default ALL FORUMS will disappear when you add Forums to the List. You are able to re-add ALL FORUMS at any given Time. If you add a Forum to your Board and the Permission is set to ALL FORUMS nothing will change. But if you have changed and restricted the access to certain Forums, you have to check back here to add your newly created Forum. It is easy to do this automatically, but this will force you to edit a bunch of Files, therefore i have chosen the way it is now. Please keep in mind, that all of your Forums will be listed here.'; -$lang['NOTE_ADMIN_EMPTY_GROUP_PERMISSIONS'] = 'NOTE:
    Within the below listed Forums your Users are normally allowed to attach files, but since no Extension Group is allowed to be attached there, your Users are unable to attach anything. If they try, they will receive Error Messages. Maybe you want to set the Permission \'Post Files\' to ADMIN at these Forums.

    '; -$lang['ADD_FORUMS'] = 'Add Forums'; -$lang['ADD_SELECTED'] = 'Add Selected'; -$lang['PERM_ALL_FORUMS'] = 'ALL FORUMS'; - -// Attachments -> Quota Limits -$lang['MANAGE_QUOTAS'] = 'Manage Attachment Quota Limits'; -$lang['MANAGE_QUOTAS_EXPLAIN'] = 'Here you are able to add/delete/change Quota Limits. You are able to assign these Quota Limits to Users and Groups later. To assign a Quota Limit to a User, you have to go to Users->Management, select the User and you will see the Options at the bottom. To assign a Quota Limit to a Group, go to Groups->Management, select the Group to edit it, and you will see the Configuration Settings. If you want to see, which Users and Groups are assigned to a specific Quota Limit, click on \'View\' at the left of the Quota Description.'; -$lang['ASSIGNED_USERS'] = 'Assigned Users'; -$lang['ASSIGNED_GROUPS'] = 'Assigned Groups'; -$lang['QUOTA_LIMIT_EXIST'] = 'The Quota Limit %s exist already.'; // Replace %s with the Quota Description - -// Attachments -> Control Panel -$lang['CONTROL_PANEL_TITLE'] = 'File Attachment Control Panel'; -$lang['CONTROL_PANEL_EXPLAIN'] = 'Here you can view and manage all attachments based on Users, Attachments, Views etc...'; -$lang['FILECOMMENT'] = 'File Comment'; - -// Control Panel -> Search -$lang['SEARCH_WILDCARD_EXPLAIN'] = 'Use * as a wildcard for partial matches'; -$lang['SIZE_SMALLER_THAN'] = 'Attachment size smaller than (bytes)'; -$lang['SIZE_GREATER_THAN'] = 'Attachment size greater than (bytes)'; -$lang['COUNT_SMALLER_THAN'] = 'Download count is smaller than'; -$lang['COUNT_GREATER_THAN'] = 'Download count is greater than'; -$lang['MORE_DAYS_OLD'] = 'More than this many days old'; -$lang['NO_ATTACH_SEARCH_MATCH'] = 'No Attachments met your search criteria'; - -// Control Panel -> Statistics -$lang['NUMBER_OF_ATTACHMENTS'] = 'Number of Attachments'; -$lang['TOTAL_FILESIZE'] = 'Total Filesize'; -$lang['NUMBER_POSTS_ATTACH'] = 'Number of Posts with Attachments'; -$lang['NUMBER_TOPICS_ATTACH'] = 'Number of Topics with Attachments'; -$lang['NUMBER_USERS_ATTACH'] = 'Independent Users Posted Attachments'; -$lang['NUMBER_PMS_ATTACH'] = 'Total Number of Attachments in Private Messages'; -$lang['ATTACHMENTS_PER_DAY'] = 'Attachments per day'; - -// Control Panel -> Attachments -$lang['STATISTICS_FOR_USER'] = 'Attachment Statistics for %s'; // replace %s with username -$lang['DOWNLOADS'] = 'Downloads'; -$lang['POST_TIME'] = 'Post Time'; -$lang['POSTED_IN_TOPIC'] = 'Posted in Topic'; -$lang['SUBMIT_CHANGES'] = 'Submit Changes'; - -// Sort Types -$lang['SORT_ATTACHMENTS'] = 'Attachments'; -$lang['SORT_SIZE'] = 'Size'; -$lang['SORT_FILENAME'] = 'Filename'; -$lang['SORT_COMMENT'] = 'Comment'; -$lang['SORT_EXTENSION'] = 'Extension'; -$lang['SORT_DOWNLOADS'] = 'Downloads'; -$lang['SORT_POSTTIME'] = 'Post Time'; - -// View Types -$lang['VIEW_STATISTIC'] = 'Statistics'; -$lang['VIEW_SEARCH'] = 'Search'; -$lang['VIEW_USERNAME'] = 'Username'; -$lang['VIEW_ATTACHMENTS'] = 'Attachments'; - -// Successfully updated -$lang['ATTACH_CONFIG_UPDATED'] = 'Attachment Configuration updated successfully'; -$lang['CLICK_RETURN_ATTACH_CONFIG'] = 'Click %sHere%s to return to Attachment Configuration'; -$lang['TEST_SETTINGS_SUCCESSFUL'] = 'Settings Test has been finished, configuration seems to be fine.'; - -// Some basic definitions -$lang['ATTACHMENTS'] = 'Attachments'; -$lang['EXTENSIONS'] = 'Extensions'; -$lang['EXTENSION'] = 'Extension'; - -$lang['RETURN_CONFIG'] = '%sReturn to Configuration%s'; -$lang['CONFIG_UPD'] = 'Configuration Updated Successfully'; -$lang['SET_DEFAULTS'] = 'Restore defaults'; - -// -// Tracker config -// -$lang['TRACKER_CFG_TITLE'] = 'Tracker'; -$lang['FORUM_CFG_TITLE'] = 'Forum settings'; -$lang['TRACKER_SETTINGS'] = 'Tracker settings'; - -$lang['CHANGES_DISABLED'] = 'Changes disabled (see $tr_cfg in config.php)'; - -$lang['OFF_TRACKER'] = 'Disable tracker'; -$lang['OFF_REASON'] = 'Disable reason'; -$lang['OFF_REASON_EXPL'] = 'this message will be sent to client when the tracker is disabled'; -$lang['AUTOCLEAN_EXPL'] = 'autoclean peers table - do not disable without reason'; -$lang['COMPACT_MODE'] = 'Compact mode'; -$lang['COMPACT_MODE_EXPL'] = '"Yes" - tracker will only accept clients working in compact mode
    "No" - compatible mode (chosen by client)'; -$lang['BROWSER_REDIRECT_URL'] = 'Browser redirect URL'; -$lang['BROWSER_REDIRECT_URL_EXPL'] = 'if user tries to open tracker URL in Web browser
    leave blank to disable'; - -$lang['ANNOUNCE_INTERVAL_HEAD'] = 'Misc'; -$lang['ANNOUNCE_INTERVAL'] = 'Announce interval'; -$lang['ANNOUNCE_INTERVAL_EXPL'] = 'peers should wait at least this many seconds between announcements'; -$lang['NUMWANT'] = 'Numwant value'; -$lang['NUMWANT_EXPL'] = 'number of peers being sent to client'; -$lang['EXPIRE_FACTOR'] = 'Peer expire factor'; -$lang['EXPIRE_FACTOR_EXPL'] = 'Consider a peer dead if it has not announced in a number of seconds equal to this many times the calculated announce interval at the time of its last announcement (must be greater than 1)'; -$lang['IGNORE_GIVEN_IP'] = 'Ignore IP reported by client'; -$lang['UPDATE_DLSTAT'] = 'Store users up/down statistics'; - -$lang['LIMIT_ACTIVE_TOR_HEAD'] = 'Limits'; -$lang['LIMIT_ACTIVE_TOR'] = 'Limit active torrents'; -$lang['LIMIT_SEED_COUNT'] = 'Seeding limit'; -$lang['LIMIT_SEED_COUNT_EXPL'] = '(0 - no limit)'; -$lang['LIMIT_LEECH_COUNT'] = 'Leeching limit'; -$lang['LIMIT_LEECH_COUNT_EXPL'] = '(0 - no limit)'; -$lang['LEECH_EXPIRE_FACTOR'] = 'Leech expire factor'; -$lang['LEECH_EXPIRE_FACTOR_EXPL'] = 'Treat a peer as active for this number of minutes even if it sent "stopped" event after starting dl
    0 - take into account "stopped" event'; -$lang['LIMIT_CONCURRENT_IPS'] = "Limit concurrent IP's"; -$lang['LIMIT_CONCURRENT_IPS_EXPL'] = 'per torrent limit'; -$lang['LIMIT_SEED_IPS'] = 'Seeding IP limit'; -$lang['LIMIT_SEED_IPS_EXPL'] = "allow seeding from no more than xx IP's
    0 - no limit"; -$lang['LIMIT_LEECH_IPS'] = 'Leeching IP limit'; -$lang['LIMIT_LEECH_IPS_EXPL'] = "allow leeching from no more than xx IP's
    0 - no limit"; - -$lang['USE_AUTH_KEY_HEAD'] = 'Authorization'; -$lang['USE_AUTH_KEY'] = 'Passkey'; -$lang['USE_AUTH_KEY_EXPL'] = 'enable check for passkey'; -$lang['AUTH_KEY_NAME'] = 'Passkey name'; -$lang['AUTH_KEY_NAME_EXPL'] = 'passkey key name in GET request'; -$lang['ALLOW_GUEST_DL'] = 'Allow guest access to tracker'; - -// -// Forum config -// -$lang['FORUM_CFG_EXPL'] = 'Forum config'; - -$lang['BT_SELECT_FORUMS'] = 'Forum options:'; -$lang['BT_SELECT_FORUMS_EXPL'] = 'hold down Ctrl while selecting multiple forums'; - -$lang['REG_TORRENTS'] = 'Register torrents'; -$lang['DISALLOWED'] = 'Prohibited'; -$lang['ALLOW_REG_TRACKER'] = 'Allowed forums for registering .torrents on tracker'; -$lang['ALLOW_PORNO_TOPIC'] = 'Allowed to post content 18+'; -$lang['SHOW_DL_BUTTONS'] = 'Show buttons for manually changing DL-status'; -$lang['SELF_MODERATED'] = 'Users can move their topics to another forum'; - -$lang['BT_ANNOUNCE_URL_HEAD'] = 'Announce URL'; -$lang['BT_ANNOUNCE_URL'] = 'Announce url'; -$lang['BT_ANNOUNCE_URL_EXPL'] = 'you can define additional allowed urls in "includes/torrent_announce_urls.php"'; -$lang['BT_DISABLE_DHT'] = 'Disable DHT network'; -$lang['BT_DISABLE_DHT_EXPL'] = 'Disable Peer Exchange and DHT (recommended for private networks, only url announce)'; -$lang['BT_CHECK_ANNOUNCE_URL'] = 'Verify announce url'; -$lang['BT_CHECK_ANNOUNCE_URL_EXPL'] = 'register on tracker only allowed urls'; -$lang['BT_REPLACE_ANN_URL'] = 'Replace announce url'; -$lang['BT_REPLACE_ANN_URL_EXPL'] = 'replace original announce url with your default in .torrent files'; -$lang['BT_DEL_ADDIT_ANN_URLS'] = 'Remove all additional announce urls'; -$lang['BT_DEL_ADDIT_ANN_URLS_EXPL'] = 'if the torrent contains the addresses of other trackers, they will be removed'; - -$lang['BT_SHOW_PEERS_HEAD'] = 'Peers-List'; -$lang['BT_SHOW_PEERS'] = 'Show peers (seeders and leechers)'; -$lang['BT_SHOW_PEERS_EXPL'] = 'this will show seeders/leechers list above the topic with torrent'; -$lang['BT_SHOW_PEERS_MODE'] = 'By default, show peers as:'; -$lang['BT_SHOW_PEERS_MODE_COUNT'] = 'Count only'; -$lang['BT_SHOW_PEERS_MODE_NAMES'] = 'Names only'; -$lang['BT_SHOW_PEERS_MODE_FULL'] = 'Full details'; -$lang['BT_ALLOW_SPMODE_CHANGE'] = 'Allow "Full details" mode'; -$lang['BT_ALLOW_SPMODE_CHANGE_EXPL'] = 'if "no", only default peer display mode will be available'; -$lang['BT_SHOW_IP_ONLY_MODER'] = 'Peers\' IPs are visible to moderators only'; -$lang['BT_SHOW_PORT_ONLY_MODER'] = 'Peers\' Ports are visible to moderators only'; - -$lang['BT_SHOW_DL_LIST_HEAD'] = 'DL-List'; -$lang['BT_SHOW_DL_LIST'] = 'Show DL-List in Download topics'; -$lang['BT_DL_LIST_ONLY_1ST_PAGE'] = 'Show DL-List only on first page in topics'; -$lang['BT_DL_LIST_ONLY_COUNT'] = 'Show only number of users'; -$lang['BT_SHOW_DL_LIST_BUTTONS'] = 'Show buttons for manually changing DL-status'; -$lang['BT_SHOW_DL_BUT_WILL'] = $lang['DL_WILL']; -$lang['BT_SHOW_DL_BUT_DOWN'] = $lang['DL_DOWN']; -$lang['BT_SHOW_DL_BUT_COMPL'] = $lang['DL_COMPLETE']; -$lang['BT_SHOW_DL_BUT_CANCEL'] = $lang['DL_CANCEL']; - -$lang['BT_ADD_AUTH_KEY_HEAD'] = 'Passkey'; -$lang['BT_ADD_AUTH_KEY'] = 'Enable adding passkey to the torrent-files before downloading'; - -$lang['BT_TOR_BROWSE_ONLY_REG_HEAD'] = 'Torrent browser (tracker)'; -$lang['BT_TOR_BROWSE_ONLY_REG'] = 'Torrent browser (tracker.php) accessible only for logged in users'; -$lang['BT_SEARCH_BOOL_MODE'] = 'Allow boolean full-text searches'; -$lang['BT_SEARCH_BOOL_MODE_EXPL'] = 'use *, +, -,.. in searches'; - -$lang['BT_SHOW_DL_STAT_ON_INDEX_HEAD'] = "Miscellaneous"; -$lang['BT_SHOW_DL_STAT_ON_INDEX'] = "Show users UL/DL statistics at the top of the forum's main page"; -$lang['BT_NEWTOPIC_AUTO_REG'] = 'Automatically register torrent on tracker for new topics'; -$lang['BT_SET_DLTYPE_ON_TOR_REG'] = 'Change topic status to "Download" while registering torrent on tracker'; -$lang['BT_SET_DLTYPE_ON_TOR_REG_EXPL'] = 'will change topic type to "Download" regardless of forum settings'; -$lang['BT_UNSET_DLTYPE_ON_TOR_UNREG'] = 'Change topic status to "Normal" while unregistering torrent from tracker'; - -// -// Release -// -$lang['TEMPLATE_DISABLE'] = 'Template disabled'; -$lang['FOR_NEW_TEMPLATE'] = 'for new patterns!'; -$lang['CHANGED'] = 'Changed'; -$lang['REMOVED'] = 'Removed'; -$lang['QUESTION'] = 'Are you sure want to delete?'; - -$lang['CRON_LIST'] = 'Cron list'; -$lang['CRON_ID'] = 'ID'; -$lang['CRON_ACTIVE'] = 'On'; -$lang['CRON_ACTIVE_EXPL'] = 'Active tasks'; -$lang['CRON_TITLE'] = 'Title'; -$lang['CRON_SCRIPT'] = 'Script'; -$lang['CRON_SCHEDULE'] = 'Schedule'; -$lang['CRON_LAST_RUN'] = 'Last Run'; -$lang['CRON_NEXT_RUN'] = 'Next Run'; -$lang['CRON_RUN_COUNT'] = 'Runs'; -$lang['CRON_MANAGE'] = 'Manage'; -$lang['CRON_OPTIONS'] = 'Cron options'; - -$lang['CRON_ENABLED'] = 'Cron enabled'; -$lang['CRON_CHECK_INTERVAL'] = 'Cron check interval (sec)'; - -$lang['WITH_SELECTED'] = 'With selected'; -$lang['NOTHING'] = 'do nothing'; -$lang['CRON_RUN'] = 'Run'; -$lang['CRON_DEL'] = 'Delete'; -$lang['CRON_DISABLE'] = 'Disable'; -$lang['CRON_ENABLE'] = 'Enable'; - -$lang['RUN_MAIN_CRON'] = 'Start cron'; -$lang['ADD_JOB'] = 'Add cron'; -$lang['CRON_WORKS'] = 'Cron is now works or is broken -> '; -$lang['REPAIR_CRON'] = 'Repair Cron'; - -$lang['CRON_EDIT_HEAD_EDIT'] = 'Edit job'; -$lang['CRON_EDIT_HEAD_ADD'] = 'Add job'; -$lang['CRON_SCRIPT_EXPL'] = 'name of the script from "includes/cron/jobs/"';; -$lang['SCHEDULE'] = array( - 'select' => '» Select start', - 'hourly' => 'hourly', - 'daily' => 'daily', - 'weekly' => 'weekly', - 'monthly' => 'monthly', - 'interval' => 'interval' -); -$lang['NOSELECT'] = 'No select'; -$lang['RUN_DAY'] = 'Run day'; -$lang['RUN_DAY_EXPL'] = 'the day when this job run'; -$lang['RUN_TIME'] = 'Run time'; -$lang['RUN_TIME_EXPL'] = 'the time when this job run (e.g. 05:00:00)'; -$lang['RUN_ORDER'] = 'Run order'; -$lang['LAST_RUN'] = 'Last Run'; -$lang['NEXT_RUN'] = 'Next Run'; -$lang['RUN_INTERVAL'] = 'Run interval'; -$lang['RUN_INTERVAL_EXPL'] = 'e.g. 00:10:00'; -$lang['LOG_ENABLED'] = 'Log enabled'; -$lang['LOG_FILE'] = 'Log file'; -$lang['LOG_FILE_EXPL'] = 'the file for save the log'; -$lang['LOG_SQL_QUERIES'] = 'Log SQL queries'; -$lang['FORUM_DISABLE'] = 'Disable board'; -$lang['BOARD_DISABLE_EXPL'] = 'disable board when this job is run'; -$lang['RUN_COUNTER'] = 'Run counter'; - -$lang['JOB_REMOVED'] = 'The problem has been removed successfully'; -$lang['SCRIPT_DUPLICATE'] = 'Script '. @$_POST['cron_script'] .' already exists!'; -$lang['TITLE_DUPLICATE'] = 'Task Name '. @$_POST['cron_title'] .' already exists!'; -$lang['CLICK_RETURN_JOBS_ADDED'] = '%sReturn to the addition problem%s'; -$lang['CLICK_RETURN_JOBS'] = '%sBack to the Task Scheduler%s'; - -$lang['REBUILD_SEARCH'] = 'Rebuild Search Index'; -$lang['REBUILD_SEARCH_DESC'] = 'This mod will index every post in your forum, rebuilding the search tables. You can stop whenever you like and the next time you run it again you\'ll have the option of continuing from where you left off.

    It may take a long time to show its progress (depending on "Posts per cycle" and "Time limit"), so please do not move from its progress page until it is complete, unless of course you want to interrupt it.'; - -// -// Input screen -// -$lang['STARTING_POST_ID'] = 'Starting post_id'; -$lang['STARTING_POST_ID_EXPLAIN'] = 'First post where processing will begin from
    You can choose to start from the beginning or from the post you last stopped'; - -$lang['START_OPTION_BEGINNING'] = 'start from beginning'; -$lang['START_OPTION_CONTINUE'] = 'continue from last stopped'; - -$lang['CLEAR_SEARCH_TABLES'] = 'Clear search tables'; -$lang['CLEAR_SEARCH_TABLES_EXPLAIN'] = ''; -$lang['CLEAR_SEARCH_NO'] = 'NO'; -$lang['CLEAR_SEARCH_DELETE'] = 'DELETE'; -$lang['CLEAR_SEARCH_TRUNCATE'] = 'TRUNCATE'; - -$lang['NUM_OF_POSTS'] = 'Number of posts'; -$lang['NUM_OF_POSTS_EXPLAIN'] = 'Number of total posts to process
    It\'s automatically filled with the number of total/remaining posts found in the db'; - -$lang['POSTS_PER_CYCLE'] = 'Posts per cycle'; -$lang['POSTS_PER_CYCLE_EXPLAIN'] = 'Number of posts to process per cycle
    Keep it low to avoid php/webserver timeouts'; - -$lang['REFRESH_RATE'] = 'Refresh rate'; -$lang['REFRESH_RATE_EXPLAIN'] = 'How much time (secs) to stay idle before moving to next processing cycle
    Usually you don\'t have to change this'; - -$lang['TIME_LIMIT'] = 'Time limit'; -$lang['TIME_LIMIT_EXPLAIN'] = 'How much time (secs) post processing can last before moving to next cycle'; -$lang['TIME_LIMIT_EXPLAIN_SAFE'] = 'Your php (safe mode) has a timeout of %s secs configured, so stay below this value'; -$lang['TIME_LIMIT_EXPLAIN_WEBSERVER'] = 'Your webserver has a timeout of %s secs configured, so stay below this value'; - -$lang['DISABLE_BOARD'] = 'Disable board'; -$lang['DISABLE_BOARD_EXPLAIN'] = 'Whether or not to disable your board while processing'; -$lang['DISABLE_BOARD_EXPLAIN_ENABLED'] = 'It will be enabled automatically after the end of processing'; -$lang['DISABLE_BOARD_EXPLAIN_ALREADY'] = 'Your board is already disabled'; - -// -// Information strings -// -$lang['INFO_PROCESSING_STOPPED'] = 'You last stopped the processing at post_id %s (%s processed posts) on %s'; -$lang['INFO_PROCESSING_ABORTED'] = 'You last aborted the processing at post_id %s (%s processed posts) on %s'; -$lang['INFO_PROCESSING_ABORTED_SOON'] = 'Please wait some mins before you continue...'; -$lang['INFO_PROCESSING_FINISHED'] = 'You successfully finished the processing (%s processed posts) on %s'; -$lang['INFO_PROCESSING_FINISHED_NEW'] = 'You successfully finished the processing at post_id %s (%s processed posts) on %s,
    but there have been %s new post(s) after that date'; - -// -// Progress screen -// -$lang['REBUILD_SEARCH_PROGRESS'] = 'Rebuild Search Progress'; - -$lang['PROCESSED_POST_IDS'] = 'Processed post ids : %s - %s'; -$lang['TIMER_EXPIRED'] = 'Timer expired at %s secs. '; -$lang['CLEARED_SEARCH_TABLES'] = 'Cleared search tables. '; -$lang['DELETED_POSTS'] = '%s post(s) were deleted by your users during processing. '; -$lang['PROCESSING_NEXT_POSTS'] = 'Processing next %s post(s). Please wait...'; -$lang['ALL_SESSION_POSTS_PROCESSED'] = 'Processed all posts in current session.'; -$lang['ALL_POSTS_PROCESSED'] = 'All posts were processed successfully.'; -$lang['ALL_TABLES_OPTIMIZED'] = 'All search tables were optimized successfully.'; - -$lang['PROCESSING_POST_DETAILS'] = 'Processing post'; -$lang['PROCESSED_POSTS'] = 'Processed Posts'; -$lang['PERCENT'] = 'Percent'; -$lang['CURRENT_SESSION'] = 'Current Session'; -$lang['TOTAL'] = 'Total'; - -$lang['PROCESS_DETAILS'] = 'from %s to %s (out of total %s)'; -$lang['PERCENT_COMPLETED'] = '%s %% completed'; - -$lang['PROCESSING_TIME_DETAILS'] = 'Current session details'; -$lang['PROCESSING_TIME'] = 'Processing time'; -$lang['TIME_LAST_POSTS'] = 'Last %s post(s)'; -$lang['TIME_FROM_THE_BEGINNING'] = 'From the beginning'; -$lang['TIME_AVERAGE'] = 'Average per cycle'; -$lang['TIME_ESTIMATED'] = 'Estimated until finish'; - -$lang['DATABASE_SIZE_DETAILS'] = 'Database size details'; -$lang['SIZE_CURRENT'] = 'Current'; -$lang['SIZE_ESTIMATED'] = 'Estimated after finish'; -$lang['SIZE_SEARCH_TABLES'] = 'Search Tables size'; -$lang['SIZE_DATABASE'] = 'Database size'; - -$lang['ACTIVE_PARAMETERS'] = 'Active parameters'; -$lang['POSTS_LAST_CYCLE'] = 'Processed post(s) on last cycle'; -$lang['BOARD_STATUS'] = 'Board status'; -$lang['BOARD_DISABLED'] = 'Disabled'; -$lang['BOARD_ENABLED'] = 'Enabled'; - -$lang['INFO_ESTIMATED_VALUES'] = '(*) All the estimated values are calculated approximately
    - based on the current completed percent and may not represent the actual final values.
    - As the completed percent increases the estimated values will come closer to the actual ones.'; - -$lang['CLICK_RETURN_REBUILD_SEARCH'] = 'Click %shere%s to return to Rebuild Search'; -$lang['REBUILD_SEARCH_ABORTED'] = 'Rebuild search aborted at post_id %s.

    If you aborted while processing was on, you have to wait for some mins until you run Rebuild Search again, so the last cycle can finish.'; -$lang['WRONG_INPUT'] = 'You have entered some wrong values. Please check your input and try again.'; - -// Buttons -$lang['PROCESSING'] = 'Processing...'; -$lang['FINISHED'] = 'Finished'; - -$lang['BOT_TOPIC_MOVED_FROM_TO'] = 'Topic has been moved from forum [b]%s[/b] to forum [b]%s[/b][br][br]%s'; -$lang['BOT_MESS_SPLITS'] = 'Topic has been split. New topic - [b]%s[/b][br][br]%s'; -$lang['BOT_TOPIC_SPLITS'] = 'Topic has been split from [b]%s[/b][br][br]%s'; - -$lang['CALLSEED'] = 'Downloaded the call'; -$lang['CALLSEED_EXPLAIN'] = 'Take notice with a request to return to the distribution?'; -$lang['CALLSEED_SUBJECT'] = 'Download help %s'; -$lang['CALLSEED_TEXT'] = 'Hello![br]Your help is needed in the release [url=%s]%s[/url][br]If you decide to help, but already deleted the torrent file, you can download it [url=%s]this[/url][br][br]I hope for your help!'; -$lang['CALLSEED_MSG_OK'] = 'Message has been sent to all those who downloaded this release'; -$lang['CALLSEED_MSG_SPAM'] = 'Request has already been once successfully sent (Probably not you)

    The next opportunity to send a request to be %s.'; -$lang['CALLSEED_HAVE_SEED'] = 'Topic does not require help (Seeders: %d)'; - -$lang['LOG_ACTION']['LOG_TYPE'] = array( - 'mod_topic_delete' => 'Topic:
    deleted', - 'mod_topic_move' => 'Topic:
    moved', - 'mod_topic_lock' => 'Topic:
    closed', - 'mod_topic_unlock' => 'Topic:
    opened', - 'mod_topic_split' => 'Topic:
    split', - 'mod_post_delete' => 'Post:
    deleted', - 'adm_user_delete' => 'User:
    deleted', - 'adm_user_ban' => 'User:
    ban', - 'adm_user_unban' => 'User:
    unban', -); - -$lang['ACTS_LOG_ALL_ACTIONS'] = 'All actions'; -$lang['ACTS_LOG_SEARCH_OPTIONS'] = 'Actions Log: Search options'; -$lang['ACTS_LOG_FORUM'] = 'Forum'; -$lang['ACTS_LOG_ACTION'] = 'Action'; -$lang['ACTS_LOG_USER'] = 'User'; -$lang['ACTS_LOG_LOGS_FROM'] = 'Logs from '; -$lang['ACTS_LOG_FIRST'] = 'first '; -$lang['ACTS_LOG_DAYS_BACK'] = 'days back'; -$lang['ACTS_LOG_TOPIC_MATCH'] = 'Topic title match'; -$lang['ACTS_LOG_SORT_BY'] = 'Sort by'; -$lang['ACTS_LOG_LOGS_ACTION'] = 'Action'; -$lang['ACTS_LOG_USERNAME'] = 'Username'; -$lang['ACTS_LOG_TIME'] = 'Time'; -$lang['ACTS_LOG_INFO'] = 'Info'; -$lang['ACTS_LOG_FILTER'] = 'Filter'; -$lang['ACTS_LOG_TOPICS'] = 'Topics:'; - -$lang['RELEASE'] = 'Release Templates'; -$lang['RELEASES'] = 'Releases'; - -$lang['BACK'] = 'Back'; -$lang['ERROR_FORM'] = 'Invalid fields'; -$lang['RELEASE_WELCOME'] = 'Pleae fill in the releae form'; -$lang['NEW_RELEASE'] = 'New release'; -$lang['NEXT'] = 'Continue'; -$lang['OTHER'] = 'Other'; - -$lang['TPL_EMPTY_FIELD'] = 'You must fill the field %s'; -$lang['TPL_EMPTY_SEL'] = 'You must select %s'; -$lang['TPL_NOT_NUM'] = '%s - Not a num'; -$lang['TPL_NOT_URL'] = '%s - Must be http:// URL'; -$lang['TPL_NOT_IMG_URL'] = '%s - Must be http:// IMG_URL'; -$lang['TPL_PUT_INTO_SUBJECT'] = 'put into the subject'; -$lang['TPL_POSTER'] = 'poster'; -$lang['TPL_REQ_FILLING'] = 'requires filling'; -$lang['TPL_NEW_LINE'] = 'new line'; -$lang['TPL_NEW_LINE_AFTER'] = 'new line after the title'; -$lang['TPL_NUM'] = 'number'; -$lang['TPL_URL'] = 'URL'; -$lang['TPL_IMG'] = 'image'; -$lang['TPL_PRE'] = 'pre'; -$lang['TPL_SPOILER'] = 'spoiler'; -$lang['TPL_IN_LINE'] = 'in the same line'; -$lang['TPL_HEADER_ONLY'] = 'only in a title'; - -$lang['SEARCH_INVALID_USERNAME'] = 'Invalid username entered to Search'; -$lang['SEARCH_INVALID_EMAIL'] = 'Invalid email address entered to Search'; -$lang['SEARCH_INVALID_IP'] = 'Invalid IP address entered to Search'; -$lang['SEARCH_INVALID_GROUP'] = 'Invalid Group entered to Search'; -$lang['SEARCH_INVALID_RANK'] = 'Invalid rank entered to Search'; -$lang['SEARCH_INVALID_DATE'] = 'Invalid Date entered to Search'; -$lang['SEARCH_INVALID_POSTCOUNT'] = 'Invalid Post Count entered to Search'; -$lang['SEARCH_INVALID_USERFIELD'] = 'Invalid Userfield data entered'; -$lang['SEARCH_INVALID_LASTVISITED'] = 'Invalid data entered for Last Visited search'; -$lang['SEARCH_INVALID_LANGUAGE'] = 'Invalid Language Selected'; -$lang['SEARCH_INVALID_TIMEZONE'] = 'Invalid Timezone Selected'; -$lang['SEARCH_INVALID_MODERATORS'] = 'Invalid Forum Selected'; -$lang['SEARCH_INVALID'] = 'Invalid Search'; -$lang['SEARCH_INVALID_DAY'] = 'The day you entered was invalid'; -$lang['SEARCH_INVALID_MONTH'] = 'The month you entered was invalid'; -$lang['SEARCH_INVALID_YEAR'] = 'The year you entered was invalid'; -$lang['SEARCH_FOR_USERNAME'] = 'Searching usernames matching %s'; -$lang['SEARCH_FOR_EMAIL'] = 'Searching email addresses matching %s'; -$lang['SEARCH_FOR_IP'] = 'Searching IP addresses matching %s'; -$lang['SEARCH_FOR_DATE'] = 'Searching users who joined %s %d/%d/%d'; -$lang['SEARCH_FOR_GROUP'] = 'Searching group members of %s'; -$lang['SEARCH_FOR_RANK'] = 'Searching carriers rank of %s'; -$lang['SEARCH_FOR_BANNED'] = 'Searching banned users'; -$lang['SEARCH_FOR_ADMINS'] = 'Searching Administrators'; -$lang['SEARCH_FOR_MODS'] = 'Searching Moderators'; -$lang['SEARCH_FOR_DISABLED'] = 'Searching for disabled users'; -$lang['SEARCH_FOR_POSTCOUNT_GREATER'] = 'Searching for users with a post count greater than %d'; -$lang['SEARCH_FOR_POSTCOUNT_LESSER'] = 'Searching for users with a post count less than %d'; -$lang['SEARCH_FOR_POSTCOUNT_RANGE'] = 'Searching for users with a post count between %d and %d'; -$lang['SEARCH_FOR_POSTCOUNT_EQUALS'] = 'Searching for users with a post count value of %d'; -$lang['SEARCH_FOR_USERFIELD_ICQ'] = 'Searching for users with a ICQ address matching %s'; -$lang['SEARCH_FOR_USERFIELD_SKYPE'] = 'Searching for users with an Skype matching %s'; -$lang['SEARCH_FOR_USERFIELD_TWITTER'] = 'Searching for users with an Twitter matching %s'; -$lang['SEARCH_FOR_USERFIELD_WEBSITE'] = 'Searching for users with an Website matching %s'; -$lang['SEARCH_FOR_USERFIELD_LOCATION'] = 'Searching for users with a Location matching %s'; -$lang['SEARCH_FOR_USERFIELD_INTERESTS'] = 'Searching for users with their Interests field matching %s'; -$lang['SEARCH_FOR_USERFIELD_OCCUPATION'] = 'Searching for users with their Occupation field matching %s'; -$lang['SEARCH_FOR_LASTVISITED_INTHELAST'] = 'Searching for users who have visited in the last %s %s'; -$lang['SEARCH_FOR_LASTVISITED_AFTERTHELAST'] = 'Searching for users who have visited after the last %s %s'; -$lang['SEARCH_FOR_LANGUAGE'] = 'Searching for users who have set %s as their language'; -$lang['SEARCH_FOR_TIMEZONE'] = 'Searching for users who have set GMT %s as their timezone'; -$lang['SEARCH_FOR_STYLE'] = 'Searching for users who have set %s as their style'; -$lang['SEARCH_FOR_MODERATORS'] = 'Search for moderators of the Forum -> %s'; -$lang['SEARCH_USERS_ADVANCED'] = 'Advanced User Search'; -$lang['SEARCH_USERS_EXPLAIN'] = 'This Module allows you to perform advanced searches for users on a wide range of criteria. Please read the descriptions under each field to understand each search option completely.'; -$lang['SEARCH_USERNAME_EXPLAIN'] = 'Here you can perform a case insensitive search for usernames. If you would like to match part of the username, use * (an asterix) as a wildcard.'; -$lang['SEARCH_EMAIL_EXPLAIN'] = 'Enter an expression to match a user\'s email address. This is case insensitive. If you want to do a partial match, use * (an asterix) as a wildcard.'; -$lang['SEARCH_IP_EXPLAIN'] = 'Search for users by a specific IP address (xxx.xxx.xxx.xxx), wildcard (xxx.xxx.xxx.*) or range (xxx.xxx.xxx.xxx-yyy.yyy.yyy.yyy). Note: the last quad .255 is considered the range of all the IPs in that quad. If you enter 10.0.0.255, it is just like entering 10.0.0.* (No IP is assigned .255 for that matter, it is reserved). Where you may encounter this is in ranges, 10.0.0.5-10.0.0.255 is the same as "10.0.0.*" . You should really enter 10.0.0.5-10.0.0.254 .'; -$lang['SEARCH_USERS_JOINED'] = 'Users that joined'; -$lang['SEARCH_USERS_LASTVISITED'] = 'Users whom have visited'; -$lang['IN_THE_LAST'] = 'in the last'; -$lang['AFTER_THE_LAST'] = 'after the last'; -$lang['BEFORE'] = 'Before'; -$lang['AFTER'] = 'After'; -$lang['SEARCH_USERS_JOINED_EXPLAIN'] = 'Search for users the join Before or After (and on) a specific date. The date format is YYYY/MM/DD.'; -$lang['SEARCH_USERS_GROUPS_EXPLAIN'] = 'View all members of the selected group.'; -$lang['SEARCH_USERS_RANKS_EXPLAIN'] = 'View all carriers of the selected rank.'; -$lang['BANNED_USERS'] = 'Banned Users'; -$lang['DISABLED_USERS'] = 'Disabled Users'; -$lang['SEARCH_USERS_MISC_EXPLAIN'] = 'Administrators - All users with Administrator powers; Moderators - All forum moderators; Banned Users - All accounts that have been banned on these forums; Disabled Users - All users with disabled accounts (either manually disabled or never verified their email address); Users with disabled PMs - Selects users who have the Private Messages priviliges removed (Done via User Management)'; -$lang['POSTCOUNT'] = 'Postcount'; -$lang['EQUALS'] = 'Equals'; -$lang['GREATER_THAN'] = 'Greater than'; -$lang['LESS_THAN'] = 'Less than'; -$lang['SEARCH_USERS_POSTCOUNT_EXPLAIN'] = 'You can search for users based on the Postcount value. You can either search by a specific value, greater than or lesser than a value or between two values. To do the range search, select "Equals" then put the beginning and ending values of the range separated by a dash (-), e.g. 10-15'; -$lang['USERFIELD'] = 'Userfield'; -$lang['SEARCH_USERS_USERFIELD_EXPLAIN'] = 'Search for users based on various profile fields. Wildcards are supported using an asterix (*).'; -$lang['SEARCH_USERS_LASTVISITED_EXPLAIN'] = 'You can search for users based on their last login date using this search option'; -$lang['SEARCH_USERS_LANGUAGE_EXPLAIN'] = 'This will display users whom have selected a specific language in their Profile'; -$lang['SEARCH_USERS_TIMEZONE_EXPLAIN'] = 'Users who have selected a specific timezone in their profile'; -$lang['SEARCH_USERS_STYLE_EXPLAIN'] = 'Display users who have selected a specific style.'; -$lang['MODERATORS_OF'] = 'Moderators of'; -$lang['SEARCH_USERS_MODERATORS_EXPLAIN'] = 'Search for users with Moderating permissions to a specific forum. Moderating permissions are recoginised either by User Permissions or by being in a Group with the right Group Permssions.'; - -$lang['SEARCH_USERS_NEW'] = '%s yielded %d result(s). Perform another search.'; -$lang['BANNED'] = 'Banned'; -$lang['NOT_BANNED'] = 'Not Banned'; -$lang['SEARCH_NO_RESULTS'] = 'No users match your selected criteria. Please try another search. If you\'re searching the username or email address fields, for partial matches you must use the wildcard * (an asterix).'; -$lang['ACCOUNT_STATUS'] = 'Account Status'; -$lang['SORT_OPTIONS'] = 'Sort options:'; -$lang['LAST_VISIT'] = 'Last Visit'; -$lang['DAY'] = 'Day'; - -$lang['POST_EDIT_CANNOT'] = 'Sorry, but you cannot edit posts'; -$lang['FORUMS_IN_CAT'] = 'forums in that category'; - -$lang['MC_TITLE'] = 'Comment Moderation'; -$lang['MC_LEGEND'] = 'Type a comment'; -$lang['MC_FAQ'] = 'Entered text will be displayed under this message'; -$lang['MC_COMMENT_PM_SUBJECT'] = "%s in your message"; -$lang['MC_COMMENT_PM_MSG'] = "Hello, [b]%s[/b]\nModerator left in your message [url=%s][b]%s[/b][/url][quote]\n%s\n[/quote]"; -$lang['MC_COMMENT'] = array( - 0 => array( - 'title' => '', - 'type' => 'Delete comment', - ), - 1 => array( - 'title' => 'Comment from %s', - 'type' => 'Comment', - ), - 2 => array( - 'title' => 'Information from %s', - 'type' => 'Information', - ), - 3 => array( - 'title' => 'Warning from %s', - 'type' => 'Warning', - ), - 4 => array( - 'title' => 'Violation from %s', - 'type' => 'Violation', - ), +Show All'; +$lang['TOPIC'] = 'Topic'; +$lang['TOPICS'] = 'Topics'; +$lang['TOPICS_SHORT'] = 'Topics'; +$lang['REPLIES'] = 'Replies'; +$lang['REPLIES_SHORT'] = 'Replies'; +$lang['VIEWS'] = 'Views'; +$lang['POSTS'] = 'Posts'; +$lang['POSTS_SHORT'] = 'Posts'; +$lang['POSTED'] = 'Posted'; +$lang['USERNAME'] = 'Username'; +$lang['PASSWORD'] = 'Password'; +$lang['EMAIL'] = 'Email'; +$lang['PM'] = 'PM'; +$lang['AUTHOR'] = 'Author'; +$lang['TIME'] = 'Time'; +$lang['HOURS'] = 'Hours'; +$lang['MESSAGE'] = 'Message'; +$lang['TORRENT'] = 'Torrent'; +$lang['PERMISSIONS'] = 'Permissions'; +$lang['TYPE'] = 'Type'; +$lang['SEEDER'] = 'Seeder'; +$lang['LEECHER'] = 'Leecher'; +$lang['RELEASER'] = 'Releaser'; + +$lang['1_DAY'] = '1 Day'; +$lang['7_DAYS'] = '7 Days'; +$lang['2_WEEKS'] = '2 Weeks'; +$lang['1_MONTH'] = '1 Month'; +$lang['3_MONTHS'] = '3 Months'; +$lang['6_MONTHS'] = '6 Months'; +$lang['1_YEAR'] = '1 Year'; + +$lang['GO'] = 'Go to'; +$lang['SUBMIT'] = 'Submit'; +$lang['RESET'] = 'Reset'; +$lang['CANCEL'] = 'Cancel'; +$lang['PREVIEW'] = 'Preview'; +$lang['AJAX_PREVIEW'] = 'Quick View'; +$lang['CONFIRM'] = 'Confirm'; +$lang['YES'] = 'Yes'; +$lang['NO'] = 'No'; +$lang['ENABLED'] = 'Enabled'; +$lang['DISABLED'] = 'Disabled'; +$lang['ERROR'] = 'Error'; +$lang['SELECT_ACTION'] = 'Select action'; + +$lang['NEXT_PAGE'] = 'Next'; +$lang['PREVIOUS_PAGE'] = 'Previous'; +$lang['GOTO_PAGE'] = 'Go to page'; +$lang['GOTO_SHORT'] = 'Page'; +$lang['JOINED'] = 'Joined'; +$lang['LONGEVITY'] = 'Longevity'; +$lang['IP_ADDRESS'] = 'IP Address'; +$lang['POSTED_AFTER'] = 'after'; + +$lang['SELECT_FORUM'] = 'Select forum'; +$lang['VIEW_LATEST_POST'] = 'View latest post'; +$lang['VIEW_NEWEST_POST'] = 'View newest post'; +$lang['PAGE_OF'] = 'Page %d of %s'; + +$lang['ICQ'] = 'ICQ'; + +$lang['SKYPE'] = 'Skype'; +$lang['SKYPE_ERROR'] = 'You entered an invalid Skype login'; + +$lang['TWITTER'] = 'Twitter'; +$lang['TWITTER_ERROR'] = 'You entered an invalid Twitter login'; + +$lang['FORUM_INDEX'] = '%s Forum Index'; // eg. sitename Forum Index, %s can be removed if you prefer + +$lang['POST_NEW_TOPIC'] = 'Post new topic'; +$lang['POST_NEW_RELEASE'] = 'Post new release'; +$lang['POST_REGULAR_TOPIC'] = 'Post regular topic'; +$lang['REPLY_TO_TOPIC'] = 'Reply to topic'; +$lang['REPLY_WITH_QUOTE'] = 'Reply with quote'; + +$lang['CLICK_RETURN_TOPIC'] = 'Click %sHere%s to return to the topic'; // %s's here are for uris, do not remove! +$lang['CLICK_RETURN_LOGIN'] = 'Click %sHere%s to try again'; +$lang['CLICK_RETURN_FORUM'] = 'Click %sHere%s to return to the forum'; +$lang['CLICK_VIEW_MESSAGE'] = 'Click %sHere%s to return to your message'; +$lang['CLICK_RETURN_MODCP'] = 'Click %sHere%s to return to Moderator Control Panel'; +$lang['CLICK_RETURN_GROUP'] = 'Click %sHere%s to return to group information'; + +$lang['ADMIN_PANEL'] = 'Go to Administration Panel'; +$lang['ALL_CACHE'] = 'All cache'; +$lang['ALL_CACHE_CLEARED'] = 'Cache has been cleared'; +$lang['ALL_TEMPLATE_CLEARED'] = 'Template cache has been cleared'; +$lang['DATASTORE'] = 'Datastore'; +$lang['DATASTORE_CLEARED'] = 'Datastore has been cleared'; +$lang['BOARD_DISABLE'] = 'Sorry, this board is currently not available. Please try again later.'; + +$lang['LOADING'] = 'Loading...'; +$lang['JUMPBOX_TITLE'] = 'Select forum'; +$lang['DISPLAYING_OPTIONS'] = 'Displaying options'; + +// +// Global Header strings +// +$lang['REGISTERED_USERS'] = 'Registered Users:'; +$lang['BROWSING_FORUM'] = 'Users browsing this forum:'; +$lang['ONLINE_USERS'] = 'In total there are %1$d users online: %2$d registered and %3$d guests'; +$lang['RECORD_ONLINE_USERS'] = 'The most users ever online was %s on %s'; // first %s = number of users, second %s is the date. + +$lang['ONLINE_ADMIN'] = 'Administrator'; +$lang['ONLINE_MOD'] = 'Moderator'; +$lang['ONLINE_GROUP_MEMBER'] = 'Group member'; + +$lang['CURRENT_TIME'] = 'Current time is: %s'; + +$lang['SEARCH_NEW'] = 'View newest posts'; +$lang['SEARCH_SELF'] = 'My posts'; +$lang['SEARCH_SELF_BY_LAST'] = 'last post time'; +$lang['SEARCH_SELF_BY_MY'] = 'my post time'; +$lang['SEARCH_UNANSWERED'] = 'View unanswered posts'; +$lang['SEARCH_UNANSWERED_SHORT'] = 'unanswered'; +$lang['SEARCH_LATEST'] = 'latest'; + +$lang['REGISTER'] = 'Register'; +$lang['PROFILE'] = 'Profile'; +$lang['EDIT_PROFILE'] = 'Edit profile'; +$lang['SEARCH'] = 'Search'; +$lang['MEMBERLIST'] = 'Memberlist'; +$lang['USERGROUPS'] = 'Usergroups'; +$lang['LASTPOST'] = 'Last Post'; +$lang['MODERATOR'] = 'Moderator'; +$lang['MODERATORS'] = 'Moderators'; +$lang['TERMS'] = 'Terms'; +$lang['NOTHING_HAS_CHANGED'] = 'Nothing has been changed'; + +// +// Stats block text +// +$lang['POSTED_TOPICS_TOTAL'] = 'Our users have posted a total of %s topics'; // Number of topics +$lang['POSTED_ARTICLES_ZERO_TOTAL'] = 'Our users have posted a total of 0 articles'; // Number of posts +$lang['POSTED_ARTICLES_TOTAL'] = 'Our users have posted a total of %s articles'; // Number of posts +$lang['REGISTERED_USERS_ZERO_TOTAL'] = 'We have 0 registered users'; // # registered users +$lang['REGISTERED_USERS_TOTAL'] = 'We have %s registered users'; // # registered users +$lang['USERS_TOTAL_GENDER'] = 'Boys: %d, Girls: %d, Others: %d'; +$lang['NEWEST_USER'] = 'The newest registered user is %s'; // a href, username, /a + +// Tracker stats +$lang['TORRENTS_STAT'] = 'Torrents: %s,  Total size: %s'; // first %s = number of torrents, second %s is the total size. +$lang['PEERS_STAT'] = 'Peers: %s,  Seeders: %s,  Leechers: %s'; // first %s = number of peers, second %s = number of seeders, third %s = number of leechers. +$lang['SPEED_STAT'] = 'Total speed: %s '; // %s = total speed. + +$lang['NO_NEW_POSTS_LAST_VISIT'] = 'No new posts since your last visit'; +$lang['NO_NEW_POSTS'] = 'No new posts'; +$lang['NEW_POSTS'] = 'New posts'; +$lang['NEW_POST'] = 'New post'; +$lang['NO_NEW_POSTS_HOT'] = 'No new posts [ Popular ]'; +$lang['NEW_POSTS_HOT'] = 'New posts [ Popular ]'; +$lang['NEW_POSTS_LOCKED'] = 'New posts [ Locked ]'; +$lang['FORUM_LOCKED_MAIN'] = 'Forum is locked'; + +// +// Login +// +$lang['ENTER_PASSWORD'] = 'Please enter username and password to log in.'; +$lang['LOGIN'] = 'Log in'; +$lang['LOGOUT'] = 'Log out'; +$lang['CONFIRM_LOGOUT'] = 'Are you sure you want to log out?'; + +$lang['FORGOTTEN_PASSWORD'] = 'Password forgotten?'; +$lang['AUTO_LOGIN'] = 'Log me on automatically'; +$lang['ERROR_LOGIN'] = 'The username you submitted is incorrect or invalid, or the password is invalid.'; +$lang['REMEMBER'] = 'Remember'; +$lang['USER_WELCOME'] = 'Welcome,'; + +// +// Index page +// +$lang['HOME'] = 'Home'; +$lang['NO_POSTS'] = 'No posts'; +$lang['NO_FORUMS'] = 'This board has no forums'; + +$lang['PRIVATE_MESSAGE'] = 'Private Message'; +$lang['PRIVATE_MESSAGES'] = 'Private Messages'; +$lang['WHOSONLINE'] = 'Who is online'; + +$lang['MARK_ALL_FORUMS_READ'] = 'Flag all forums as read'; +$lang['FORUMS_MARKED_READ'] = 'All forums flagged as read'; + +$lang['LATEST_NEWS'] = 'Latest news'; +$lang['NETWORK_NEWS'] = 'Network news'; +$lang['SUBFORUMS'] = 'Subforums'; + +// +// Viewforum +// +$lang['VIEW_FORUM'] = 'View Forum'; + +$lang['FORUM_NOT_EXIST'] = 'The forum you selected does not exist.'; +$lang['REACHED_ON_ERROR'] = 'You have reached this page in error.'; +$lang['ERROR_PORNO_FORUM'] = 'This type of forums (18+) was hidden in your profile by you'; + +$lang['DISPLAY_TOPICS'] = 'Display topics'; +$lang['ALL_TOPICS'] = 'All Topics'; +$lang['MODERATE_FORUM'] = 'Moderate this forum'; +$lang['TITLE_SEARCH_HINT'] = 'search title...'; + +$lang['TOPIC_ANNOUNCEMENT'] = 'Announcement:'; +$lang['TOPIC_STICKY'] = 'Sticky:'; +$lang['TOPIC_MOVED'] = 'Moved:'; +$lang['TOPIC_POLL'] = '[ Poll ]'; + +$lang['MARK_TOPICS_READ'] = 'Mark all topics read'; +$lang['TOPICS_MARKED_READ'] = 'The topics for this forum have just been marked read'; + +$lang['RULES_POST_CAN'] = 'You can post new topics in this forum'; +$lang['RULES_POST_CANNOT'] = 'You cannot post new topics in this forum'; +$lang['RULES_REPLY_CAN'] = 'You can reply to topics in this forum'; +$lang['RULES_REPLY_CANNOT'] = 'You cannot reply to topics in this forum'; +$lang['RULES_EDIT_CAN'] = 'You can edit your posts in this forum'; +$lang['RULES_EDIT_CANNOT'] = 'You cannot edit your posts in this forum'; +$lang['RULES_DELETE_CAN'] = 'You can delete your posts in this forum'; +$lang['RULES_DELETE_CANNOT'] = 'You cannot delete your posts in this forum'; +$lang['RULES_VOTE_CAN'] = 'You can vote in polls in this forum'; +$lang['RULES_VOTE_CANNOT'] = 'You cannot vote in polls in this forum'; +$lang['RULES_MODERATE'] = 'You can moderate this forum'; + +$lang['NO_TOPICS_POST_ONE'] = 'There are no posts in this forum.
    Click on the Post New Topic link on this page to post one.'; + +// +// Viewtopic +// +$lang['VIEW_TOPIC'] = 'View topic'; + +$lang['GUEST'] = 'Guest'; +$lang['POST_SUBJECT'] = 'Post subject'; +$lang['SUBMIT_VOTE'] = 'Submit Vote'; +$lang['VIEW_RESULTS'] = 'View Results'; + +$lang['NO_NEWER_TOPICS'] = 'There are no newer topics in this forum'; +$lang['NO_OLDER_TOPICS'] = 'There are no older topics in this forum'; +$lang['TOPIC_POST_NOT_EXIST'] = 'The topic or post you requested does not exist'; +$lang['NO_POSTS_TOPIC'] = 'There are no posts in this topic'; + +$lang['DISPLAY_POSTS'] = 'Display posts'; +$lang['ALL_POSTS'] = 'All Posts'; +$lang['NEWEST_FIRST'] = 'Newest First'; +$lang['OLDEST_FIRST'] = 'Oldest First'; + +$lang['BACK_TO_TOP'] = 'Back to top'; + +$lang['READ_PROFILE'] = 'View user\'s profile'; +$lang['VISIT_WEBSITE'] = 'Visit poster\'s website'; +$lang['VIEW_IP'] = 'View poster IP address'; +$lang['MODERATE_POST'] = 'Moderate posts'; +$lang['DELETE_POST'] = 'Delete this post'; + +$lang['WROTE'] = 'wrote'; // proceeds the username and is followed by the quoted text +$lang['QUOTE'] = 'Quote'; // comes before bbcode quote output +$lang['CODE'] = 'Code'; // comes before bbcode code output +$lang['SPOILER_HEAD'] = 'hidden text'; +$lang['SPOILER_CLOSE'] = 'turn'; +$lang['PLAY_ON_CURPAGE'] = 'Start playing on current page'; + +$lang['EDITED_TIME_TOTAL'] = 'Last edited by %s on %s; edited %d time in total'; // Last edited by me on 12 Oct 2001; edited 1 time in total +$lang['EDITED_TIMES_TOTAL'] = 'Last edited by %s on %s; edited %d times in total'; // Last edited by me on 12 Oct 2001; edited 2 times in total + +$lang['LOCK_TOPIC'] = 'Lock the topic'; +$lang['UNLOCK_TOPIC'] = 'Unlock the topic'; +$lang['MOVE_TOPIC'] = 'Move the topic'; +$lang['DELETE_TOPIC'] = 'Delete the topic'; +$lang['SPLIT_TOPIC'] = 'Split the topic'; + +$lang['STOP_WATCHING_TOPIC'] = 'Stop following the topic'; +$lang['START_WATCHING_TOPIC'] = 'Follow the topic for replies'; +$lang['NO_LONGER_WATCHING'] = 'You are no longer following this topic'; +$lang['YOU_ARE_WATCHING'] = 'You are following this topic now'; + +$lang['TOTAL_VOTES'] = 'Total Votes'; +$lang['SEARCH_IN_TOPIC'] = 'search in topic...'; +$lang['HIDE_IN_TOPIC'] = 'Hide'; + +$lang['SHOW'] = 'Show'; +$lang['AVATARS'] = 'Avatars'; +$lang['RANK_IMAGES'] = 'Rank images'; +$lang['POST_IMAGES'] = 'Post images'; +$lang['SIGNATURES'] = 'Signatures'; +$lang['SPOILER'] = 'Spoiler'; +$lang['SHOW_OPENED'] = 'Show opened'; +$lang['DOWNLOAD_PIC'] = 'Downloadable pictures'; + +$lang['MODERATE_TOPIC'] = 'Moderate this topic'; +$lang['SELECT_POSTS_PER_PAGE'] = 'posts per page'; + +// +// Posting/Replying (Not private messaging!) +// +$lang['TOPIC_REVIEW'] = 'Topic review'; + +$lang['NO_POST_MODE'] = 'No post mode selected'; // If posting.php is called without a mode (newtopic/reply/delete/etc, shouldn't be shown normaly) + +$lang['POST_A_NEW_TOPIC'] = 'Post new topic'; +$lang['POST_A_REPLY'] = 'Post new reply'; +$lang['POST_TOPIC_AS'] = 'Post topic as'; +$lang['EDIT_POST'] = 'Edit post'; +$lang['EDIT_TOPIC_TITLE'] = 'Edit topic title'; +$lang['EDIT_POST_NOT_1'] = 'You are not allowed '; +$lang['EDIT_POST_NOT_2'] = 'You can not '; +$lang['EDIT_POST_AJAX'] = 'You can not edit post with the status '; +$lang['AFTER_THE_LAPSE'] = 'after the lapse of '; + +$lang['DONT_MESSAGE_TITLE'] = 'You should specify message title'; +$lang['INVALID_TOPIC_ID'] = 'Topic Absent!'; +$lang['INVALID_TOPIC_ID_DB'] = 'Topic does not exist in the database!'; + +$lang['NOT_POST'] = 'Absent Message'; +$lang['NOT_EDIT_TOR_STATUS'] = 'You can not edit release with the status'; +$lang['TOR_STATUS_DAYS'] = 'days'; + +$lang['OPTIONS'] = 'Options'; + +$lang['POST_ANNOUNCEMENT'] = 'Announcement'; +$lang['POST_STICKY'] = 'Sticky'; +$lang['POST_NORMAL'] = 'Normal'; +$lang['POST_DOWNLOAD'] = 'Download'; + +$lang['CONFIRM_DELETE'] = 'Are you sure you want to delete this post?'; +$lang['CONFIRM_DELETE_POLL'] = 'Are you sure you want to delete this poll?'; + +$lang['FLOOD_ERROR'] = 'You cannot make another post so soon after your last; please try again in a short while.'; +$lang['EMPTY_SUBJECT'] = 'You must specify a subject.'; +$lang['EMPTY_MESSAGE'] = 'You must enter a message.'; +$lang['FORUM_LOCKED'] = 'This forum is locked: you cannot post, reply to, or edit topics.'; +$lang['TOPIC_LOCKED'] = 'This topic is locked: you cannot edit posts or make replies.'; +$lang['TOPIC_LOCKED_SHORT'] = 'Topic locked'; +$lang['NO_POST_ID'] = 'You must select a post to edit'; +$lang['NO_TOPIC_ID'] = 'You must select a topic to reply to'; +$lang['NO_VALID_MODE'] = 'You can only post, reply, edit, or quote messages. Please return and try again.'; +$lang['NO_SUCH_POST'] = 'There is no such post. Please return and try again.'; +$lang['EDIT_OWN_POSTS'] = 'Sorry, but you can only edit your own posts.'; +$lang['DELETE_OWN_POSTS'] = 'Sorry, but you can only delete your own posts.'; +$lang['CANNOT_DELETE_REPLIED'] = 'Sorry, but you may not delete posts that have been replied to.'; +$lang['CANNOT_DELETE_POLL'] = 'Sorry, but you cannot delete an active poll.'; +$lang['EMPTY_POLL_TITLE'] = 'You must enter a title for your poll.'; +$lang['TO_FEW_POLL_OPTIONS'] = 'You must enter at least two poll options.'; +$lang['TO_MANY_POLL_OPTIONS'] = 'You have tried to enter too many poll options.'; +$lang['POST_HAS_NO_POLL'] = 'This post has no poll.'; +$lang['ALREADY_VOTED'] = 'You have already voted in this poll.'; +$lang['NO_VOTE_OPTION'] = 'You must specify an option when voting.'; +$lang['LOCKED_WARN'] = 'You posted into locked topic!'; + +$lang['ADD_POLL'] = 'Add a Poll'; +$lang['ADD_POLL_EXPLAIN'] = 'If you do not want to add a poll to your topic, leave the fields blank.'; +$lang['POLL_QUESTION'] = 'Poll question'; +$lang['POLL_OPTION'] = 'Poll option'; +$lang['ADD_OPTION'] = 'Add option'; +$lang['UPDATE'] = 'Update'; +$lang['POLL_FOR'] = 'Run poll for'; +$lang['DAYS'] = 'Days'; +$lang['POLL_FOR_EXPLAIN'] = '[ Enter 0 or leave blank for a never-ending poll ]'; +$lang['DELETE_POLL'] = 'Delete Poll'; + +$lang['MAX_SMILIES_PER_POST'] = 'Emoticons limit of %s emoticons exceeded.'; + +$lang['ATTACH_SIGNATURE'] = 'Attach signature (signatures can be changed in profile)'; +$lang['NOTIFY'] = 'Notify me when on replies'; + +$lang['STORED'] = 'Your message has been entered successfully.'; +$lang['EDITED'] = 'The message has been changed'; +$lang['DELETED'] = 'Your message has been deleted successfully.'; +$lang['POLL_DELETE'] = 'Your poll has been deleted successfully.'; +$lang['VOTE_CAST'] = 'Your vote has been cast.'; + +$lang['TOPIC_REPLY_NOTIFICATION'] = 'Topic Reply Notification'; +$lang['EMOTICONS'] = 'Emoticons'; +$lang['MORE_EMOTICONS'] = 'View more Emoticons'; + +$lang['FONT_COLOR'] = 'Font colour'; +$lang['COLOR_DEFAULT'] = 'Default'; +$lang['COLOR_DARK_RED'] = 'Dark Red'; +$lang['COLOR_RED'] = 'Red'; +$lang['COLOR_ORANGE'] = 'Orange'; +$lang['COLOR_BROWN'] = 'Brown'; +$lang['COLOR_YELLOW'] = 'Yellow'; +$lang['COLOR_GREEN'] = 'Green'; +$lang['COLOR_OLIVE'] = 'Olive'; +$lang['COLOR_CYAN'] = 'Cyan'; +$lang['COLOR_BLUE'] = 'Blue'; +$lang['COLOR_DARK_BLUE'] = 'Dark Blue'; +$lang['COLOR_INDIGO'] = 'Indigo'; +$lang['COLOR_VIOLET'] = 'Violet'; +$lang['COLOR_WHITE'] = 'White'; +$lang['COLOR_BLACK'] = 'Black'; + +$lang['FONT_SIZE'] = 'Font size'; +$lang['FONT_TINY'] = 'Tiny'; +$lang['FONT_SMALL'] = 'Small'; +$lang['FONT_NORMAL'] = 'Normal'; +$lang['FONT_LARGE'] = 'Large'; +$lang['FONT_HUGE'] = 'Huge'; + +$lang['STYLES_TIP'] = 'Tip: Styles can be applied quickly to selected text.'; + +$lang['NEW_POSTS_PREVIEW'] = 'Topic has new, edited or unread posts'; + +// +// Private Messaging +// +$lang['PRIVATE_MESSAGING'] = 'Private Messaging'; + +$lang['NO_NEW_PM'] = 'no new messages'; + +$lang['NEW_PMS_FORMAT'] = '%1$s %2$s'; // 1 new message +$lang['NEW_PMS_DECLENSION'] = array('new message', 'new messages'); + +$lang['UNREAD_PMS_FORMAT'] = '%1$s %2$s'; // 1 new message +$lang['UNREAD_PMS_DECLENSION'] = array('unread', 'unread'); + +$lang['UNREAD_MESSAGE'] = 'Unread message'; +$lang['READ_MESSAGE'] = 'Read message'; + +$lang['READ_PM'] = 'Read message'; +$lang['POST_NEW_PM'] = 'Post message'; +$lang['POST_REPLY_PM'] = 'Reply to message'; +$lang['POST_QUOTE_PM'] = 'Quote message'; +$lang['EDIT_PM'] = 'Edit message'; + +$lang['INBOX'] = 'Inbox'; +$lang['OUTBOX'] = 'Outbox'; +$lang['SAVEBOX'] = 'Savebox'; +$lang['SENTBOX'] = 'Sentbox'; +$lang['FLAG'] = 'Flag'; +$lang['SUBJECT'] = 'Subject'; +$lang['FROM'] = 'From'; +$lang['TO'] = 'To'; +$lang['DATE'] = 'Date'; +$lang['MARK'] = 'Mark'; +$lang['SENT'] = 'Sent'; +$lang['SAVED'] = 'Saved'; +$lang['DELETE_MARKED'] = 'Delete Marked'; +$lang['DELETE_ALL'] = 'Delete All'; +$lang['SAVE_MARKED'] = 'Save Marked'; +$lang['SAVE_MESSAGE'] = 'Save Message'; +$lang['DELETE_MESSAGE'] = 'Delete Message'; + +$lang['DISPLAY_MESSAGES'] = 'Display messages'; // Followed by number of days/weeks/months +$lang['ALL_MESSAGES'] = 'All Messages'; + +$lang['NO_MESSAGES_FOLDER'] = 'There are no messages in this folder'; + +$lang['PM_DISABLED'] = 'Private messaging has been disabled on this board.'; +$lang['CANNOT_SEND_PRIVMSG'] = 'Sorry, but the administrator has prevented you from sending private messages.'; +$lang['NO_TO_USER'] = 'You must specify a username to whom to send this message.'; +$lang['NO_SUCH_USER'] = 'Sorry, but no such user exists.'; + +$lang['DISABLE_BBCODE_PM'] = 'Disable BBCode in this message'; +$lang['DISABLE_SMILIES_PM'] = 'Disable Smilies in this message'; + +$lang['MESSAGE_SENT'] = 'Your message has been sent.'; + +$lang['CLICK_RETURN_INBOX'] = 'Return to your:

    %sInbox%s'; +$lang['CLICK_RETURN_SENTBOX'] = '   %sSentbox%s'; +$lang['CLICK_RETURN_OUTBOX'] = '   %sOutbox%s'; +$lang['CLICK_RETURN_SAVEBOX'] = '   %sSavebox%s'; +$lang['CLICK_RETURN_INDEX'] = '%sReturn to the Index%s'; + +$lang['SEND_A_NEW_MESSAGE'] = 'Send a new private message'; +$lang['SEND_A_REPLY'] = 'Reply to a private message'; +$lang['EDIT_MESSAGE'] = 'Edit private message'; + +$lang['NOTIFICATION_SUBJECT'] = 'New Private Message has been recieved!'; + +$lang['FIND_USERNAME'] = 'Find a username'; +$lang['SELECT_USERNAME'] = 'Select a Username'; +$lang['FIND'] = 'Find'; +$lang['NO_MATCH'] = 'No matches found.'; + +$lang['NO_PM_ID'] = 'Please specify post ID'; +$lang['NO_SUCH_FOLDER'] = 'Folder is not found'; +$lang['NO_FOLDER'] = 'Please specify the folder'; + +$lang['MARK_ALL'] = 'Mark all'; +$lang['UNMARK_ALL'] = 'Unmark all'; + +$lang['CONFIRM_DELETE_PM'] = 'Are you sure you want to delete this message?'; +$lang['CONFIRM_DELETE_PMS'] = 'Are you sure you want to delete these messages?'; + +$lang['INBOX_SIZE'] = 'Your Inbox is
    %d%% full'; // eg. Your Inbox is 50% full +$lang['SENTBOX_SIZE'] = 'Your Sentbox is
    %d%% full'; +$lang['SAVEBOX_SIZE'] = 'Your Savebox is
    %d%% full'; + +$lang['CLICK_VIEW_PRIVMSG'] = 'Click %sHere%s to visit your Inbox'; + +$lang['OUTBOX_EXPL'] = ''; + +// +// Profiles/Registration +// +$lang['VIEWING_USER_PROFILE'] = 'Viewing profile :: %s'; +$lang['VIEWING_MY_PROFILE'] = 'My profile [ Settings / Change profile ]'; + +$lang['DISABLED_USER'] = 'Account disabled'; +$lang['MANAGE_USER'] = 'Administration'; + +$lang['PREFERENCES'] = 'Preferences'; +$lang['ITEMS_REQUIRED'] = 'Items marked with a * are required unless stated otherwise.'; +$lang['REGISTRATION_INFO'] = 'Registration Information'; +$lang['PROFILE_INFO'] = 'Profile Information'; +$lang['PROFILE_INFO_WARN'] = 'Publicly available information'; +$lang['AVATAR_PANEL'] = 'Avatar control panel'; + +$lang['WEBSITE'] = 'Website'; +$lang['LOCATION'] = 'Location'; +$lang['CONTACT'] = 'Contact'; +$lang['EMAIL_ADDRESS'] = 'E-mail address'; +$lang['SEND_PRIVATE_MESSAGE'] = 'Send private message'; +$lang['HIDDEN_EMAIL'] = '[ Hidden ]'; +$lang['INTERESTS'] = 'Interests'; +$lang['OCCUPATION'] = 'Occupation'; +$lang['POSTER_RANK'] = 'Poster rank'; +$lang['AWARDED_RANK'] = 'Awarded rank'; +$lang['SHOT_RANK'] = 'Shot rank'; + +$lang['TOTAL_POSTS'] = 'Total posts'; +$lang['SEARCH_USER_POSTS'] = 'Find posts'; // Find all posts by username +$lang['SEARCH_USER_POSTS_SHORT'] = 'Find user posts'; +$lang['SEARCH_USER_TOPICS'] = 'Find user topics'; // Find all topics by username + +$lang['NO_USER_ID_SPECIFIED'] = 'Sorry, but that user does not exist.'; +$lang['WRONG_PROFILE'] = 'You cannot modify a profile that is not your own.'; + +$lang['ONLY_ONE_AVATAR'] = 'Only one type of avatar can be specified'; +$lang['FILE_NO_DATA'] = 'The file at the URL you gave contains no data'; +$lang['NO_CONNECTION_URL'] = 'A connection could not be made to the URL you gave'; +$lang['INCOMPLETE_URL'] = 'The URL you entered is incomplete'; +$lang['NO_SEND_ACCOUNT_INACTIVE'] = 'Sorry, but your password cannot be retrieved because your account is currently inactive'; +$lang['NO_SEND_ACCOUNT'] = 'Sorry, but your password cannot be retrieved. Please contact the forum administrator for more information'; + +$lang['ALWAYS_ADD_SIG'] = 'Always attach my signature'; +$lang['HIDE_PORN_FORUMS'] = 'Hide content 18+'; +$lang['ALWAYS_NOTIFY'] = 'Always notify me of replies'; +$lang['ALWAYS_NOTIFY_EXPLAIN'] = 'Sends an e-mail when someone replies to a topic you have posted in. This can be changed whenever you post.'; + +$lang['BOARD_LANG'] = 'Board language'; +$lang['GENDER'] = 'Gender'; +$lang['GENDER_SELECT'] = array( + 0 => 'Unknown', + 1 => 'Male', + 2 => 'Female' +); +$lang['MODULE_OFF'] = 'Module is disabled!'; + +$lang['BIRTHDAY'] = 'Birthday'; +$lang['HAPPY_BIRTHDAY'] = 'Happy Birthday!'; +$lang['WRONG_BIRTHDAY_FORMAT'] = 'The birthday format was entered incorrectly.'; +$lang['AGE'] = 'Age'; +$lang['BIRTHDAY_TO_HIGH'] = 'Sorry, this site, does not accept user older than %d years old'; +$lang['BIRTHDAY_TO_LOW'] = 'Sorry, this site, does not accept user yonger than %d years old'; +$lang['BIRTHDAY_TODAY'] = 'Users with a birthday today: '; +$lang['BIRTHDAY_WEEK'] = 'Users with a birthday within the next %d days: %s'; +$lang['NOBIRTHDAY_WEEK'] = 'No users are having a birthday in the upcoming %d days'; // %d is substitude with the number of days +$lang['NOBIRTHDAY_TODAY'] = 'No users have a birthday today'; +$lang['BIRTHDAY_ENABLE'] = 'Enable birthday'; +$lang['BIRTHDAY_MAX_AGE'] = 'Max age'; +$lang['BIRTHDAY_MIN_AGE'] = 'Min age'; +$lang['BIRTHDAY_CHECK_DAY'] = 'Days to check for come shortly birthdays'; +$lang['YEARS'] = 'Years'; + +$lang['NO_THEMES'] = 'No Themes In database'; +$lang['TIMEZONE'] = 'Timezone'; +$lang['DATE_FORMAT_PROFILE'] = 'Date format'; +$lang['DATE_FORMAT_EXPLAIN'] = 'The syntax used is identical to the PHP date() function.'; +$lang['SIGNATURE'] = 'Signature'; +$lang['SIGNATURE_EXPLAIN'] = 'This is a block of text that can be added to posts you make. There is a %d character limit'; +$lang['SIGNATURE_DISABLE'] = 'Signed off for violation of forum rules'; +$lang['PUBLIC_VIEW_EMAIL'] = 'Show e-mail address in my profile'; + +$lang['EMAIL_EXPLAIN'] = 'At this address you will be sent to complete the registration'; + +$lang['CURRENT_PASSWORD'] = 'Current password'; +$lang['NEW_PASSWORD'] = 'New password'; +$lang['CONFIRM_PASSWORD'] = 'Confirm password'; +$lang['CONFIRM_PASSWORD_EXPLAIN'] = 'You must confirm your current password if you wish to change it or alter your e-mail address'; +$lang['PASSWORD_IF_CHANGED'] = 'You only need to supply a password if you want to change it'; +$lang['PASSWORD_CONFIRM_IF_CHANGED'] = 'You only need to confirm your password if you changed it above'; + +$lang['AUTOLOGIN'] = 'Autologin'; +$lang['RESET_AUTOLOGIN'] = 'Reset autologin key'; +$lang['RESET_AUTOLOGIN_EXPL'] = ''; + +$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['UPLOAD_AVATAR_FILE'] = 'Upload Avatar'; + +$lang['SELECT_AVATAR'] = 'Select avatar'; +$lang['RETURN_PROFILE'] = 'Return to profile'; +$lang['SELECT_CATEGORY'] = 'Select category'; + +$lang['DELETE_IMAGE'] = 'Delete Image'; +$lang['CURRENT_IMAGE'] = 'Current Image'; + +$lang['NOTIFY_ON_PRIVMSG'] = 'Notify on new Private Message'; +$lang['HIDE_USER'] = 'Hide your online status'; +$lang['HIDDEN_USER'] = 'Hidden user'; + +$lang['PROFILE_UPDATED'] = 'Your profile has been updated'; +$lang['PROFILE_UPDATED_INACTIVE'] = 'Your profile has been updated. However, you have changed vital details, thus your account is inactive now. Check your e-mail to find out how to reactivate your account, or if admin activation is required, wait for the administrator to reactivate it.'; + +$lang['PASSWORD_MISMATCH'] = 'The passwords you entered did not match.'; +$lang['CURRENT_PASSWORD_MISMATCH'] = 'The current password you supplied does not match that stored in the database.'; +$lang['PASSWORD_LONG'] = 'Your password must be no more than 32 characters.'; +$lang['TOO_MANY_REGISTERS'] = 'You have made too many registration attempts. Please try again later.'; +$lang['USERNAME_TAKEN'] = 'Sorry, but this username has already been taken.'; +$lang['USERNAME_INVALID'] = 'Sorry, but this username contains an invalid character'; +$lang['USERNAME_DISALLOWED'] = 'Sorry, but this username has been disallowed.'; +$lang['USERNAME_TOO_LONG'] = 'Your name is too long.'; +$lang['USERNAME_TOO_SMALL'] = 'Your name is too small.'; +$lang['EMAIL_TAKEN'] = 'Sorry, but that e-mail address is already registered to a user.'; +$lang['EMAIL_BANNED'] = 'Sorry, but %s address has been banned.'; +$lang['EMAIL_INVALID'] = 'Sorry, but this e-mail address is invalid.'; +$lang['EMAIL_TOO_LONG'] = 'Your email is too long.'; +$lang['SIGNATURE_TOO_LONG'] = 'Your signature is too long.'; +$lang['SIGNATURE_ERROR_HTML'] = 'The signature can contain only BBCode'; +$lang['FIELDS_EMPTY'] = 'You must fill in the required fields.'; +$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_IMAGESIZE'] = 'The avatar must be less than %d pixels wide and %d pixels high'; +$lang['AVATAR_DISABLE'] = 'Forbidden to show avatar'; + +$lang['WELCOME_SUBJECT'] = 'Welcome to %s Forums'; // Welcome to my.com forums +$lang['NEW_ACCOUNT_SUBJECT'] = 'New user account'; +$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_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_ACTIVE'] = 'Your account has just been activated. Thank you for registering'; +$lang['REACTIVATE'] = 'Reactivate your account!'; +$lang['ALREADY_ACTIVATED'] = 'You have already activated your account'; + +$lang['REGISTRATION'] = 'Registration Agreement Terms'; + +$lang['WRONG_ACTIVATION'] = 'The activation key you supplied does not match any in the database.'; +$lang['SEND_PASSWORD'] = 'Send me a new password'; +$lang['PASSWORD_UPDATED'] = 'A new password has been created; please check your e-mail for details on how to activate it.'; +$lang['NO_EMAIL_MATCH'] = 'The e-mail address you supplied does not match the one listed for that username.'; +$lang['NEW_PASSWORD_ACTIVATION'] = 'New password activation'; +$lang['PASSWORD_ACTIVATED'] = 'Your account has been re-activated. To log in, please use the password supplied in the e-mail you received.'; + +$lang['SEND_EMAIL_MSG'] = 'Send an e-mail message'; +$lang['NO_USER_SPECIFIED'] = 'No user was specified'; +$lang['USER_PREVENT_EMAIL'] = 'This user does not wish to receive e-mail. Try sending them a private message.'; +$lang['USER_NOT_EXIST'] = 'That user does not exist'; +$lang['EMAIL_MESSAGE_DESC'] = 'This message will be sent as plain text, so do not include any HTML or BBCode. The return address for this message will be set to your e-mail address.'; +$lang['FLOOD_EMAIL_LIMIT'] = 'You cannot send another e-mail at this time. Try again later.'; +$lang['RECIPIENT'] = 'Recipient'; +$lang['EMAIL_SENT'] = 'The e-mail has been sent.'; +$lang['SEND_EMAIL'] = 'Send e-mail'; +$lang['EMPTY_SUBJECT_EMAIL'] = 'You must specify a subject for the e-mail.'; +$lang['EMPTY_MESSAGE_EMAIL'] = 'You must enter a message to be e-mailed.'; + +$lang['USER_AGREEMENT'] = 'User agreement'; +$lang['USER_AGREEMENT_HEAD'] = 'In order to proceed, you must agree with the following rules'; +$lang['USER_AGREEMENT_AGREE'] = 'I have read and agree to the User agreement above'; + +$lang['COPYRIGHT_HOLDERS'] = 'For copyright holders'; +$lang['ADVERT'] = 'Advertise on this site'; + +// +// Visual confirmation system strings +// +$lang['CONFIRM_CODE_WRONG'] = 'The confirmation code you entered was incorrect'; +$lang['CONFIRM_CODE_IMPAIRED'] = 'If you are visually impaired or cannot otherwise read this code please contact the %sAdministrator%s for help.'; +$lang['CONFIRM_CODE'] = 'Confirmation code'; +$lang['CONFIRM_CODE_EXPLAIN'] = 'Enter the code exactly as you see it. The code is case sensitive and zero has a diagonal line through it.'; + +// +// Memberslist +// +$lang['SORT'] = 'Sort'; +$lang['SORT_TOP_TEN'] = 'Top Ten Posters'; +$lang['SORT_JOINED'] = 'Joined Date'; +$lang['SORT_USERNAME'] = 'Username'; +$lang['SORT_LOCATION'] = 'Location'; +$lang['SORT_POSTS'] = 'Total posts'; +$lang['SORT_EMAIL'] = 'Email'; +$lang['SORT_WEBSITE'] = 'Website'; +$lang['ASC'] = 'Ascending'; +$lang['DESC'] = 'Descending'; +$lang['ORDER'] = 'Order'; + +// +// Group control panel +// +$lang['GROUP_CONTROL_PANEL'] = 'User Groups'; +$lang['MEMBERSHIP_DETAILS'] = 'Group Membership Details'; +$lang['JOIN_A_GROUP'] = 'Join a Group'; + +$lang['GROUP_INFORMATION'] = 'Group Information'; +$lang['GROUP_NAME'] = 'Group name'; +$lang['GROUP_DESCRIPTION'] = 'Group description'; +$lang['GROUP_MEMBERSHIP'] = 'Group membership'; +$lang['GROUP_MEMBERS'] = 'Group Members'; +$lang['GROUP_MODERATOR'] = 'Group Moderator'; +$lang['PENDING_MEMBERS'] = 'Pending Members'; + +$lang['GROUP_TYPE'] = 'Group type'; +$lang['GROUP_OPEN'] = 'Open group'; +$lang['GROUP_CLOSED'] = 'Closed group'; +$lang['GROUP_HIDDEN'] = 'Hidden group'; + +$lang['GROUP_MEMBER_MOD'] = 'Group moderator'; +$lang['GROUP_MEMBER_MEMBER'] = 'Current memberships'; +$lang['GROUP_MEMBER_PENDING'] = 'Memberships pending'; +$lang['GROUP_MEMBER_OPEN'] = 'Open groups'; +$lang['GROUP_MEMBER_CLOSED'] = 'Closed groups'; +$lang['GROUP_MEMBER_HIDDEN'] = 'Hidden groups'; + +$lang['NO_GROUPS_EXIST'] = 'No Groups Exist'; +$lang['GROUP_NOT_EXIST'] = 'That user group does not exist'; + +$lang['NO_GROUP_MEMBERS'] = 'This group has no members'; +$lang['HIDDEN_GROUP_MEMBERS'] = 'This group is hidden; you cannot view its membership'; +$lang['NO_PENDING_GROUP_MEMBERS'] = 'This group has no pending members'; +$lang['GROUP_JOINED'] = 'You have successfully subscribed to this group.
    You will be notified when your subscription is approved by the group moderator.'; +$lang['GROUP_REQUEST'] = 'A request to join your group has been made.'; +$lang['GROUP_APPROVED'] = 'Your request has been approved.'; +$lang['GROUP_ADDED'] = 'You have been added to this usergroup.'; +$lang['ALREADY_MEMBER_GROUP'] = 'You are already a member of this group'; +$lang['USER_IS_MEMBER_GROUP'] = 'User is already a member of this group'; +$lang['GROUP_TYPE_UPDATED'] = 'Successfully updated group type.'; +$lang['EFFECTIVE_DATE'] = 'Effective Date'; + +$lang['COULD_NOT_ADD_USER'] = 'The user you selected does not exist.'; +$lang['COULD_NOT_ANON_USER'] = 'You cannot make Anonymous a group member.'; + +$lang['CONFIRM_UNSUB'] = 'Are you sure you want to unsubscribe from this group?'; +$lang['CONFIRM_UNSUB_PENDING'] = 'Your subscription to this group has not yet been approved; are you sure you want to unsubscribe?'; + +$lang['UNSUB_SUCCESS'] = 'You have been un-subscribed from this group.'; + +$lang['APPROVE_SELECTED'] = 'Approve Selected'; +$lang['DENY_SELECTED'] = 'Deny Selected'; +$lang['NOT_LOGGED_IN'] = 'You must be logged in to join a group.'; +$lang['REMOVE_SELECTED'] = 'Remove Selected'; +$lang['ADD_MEMBER'] = 'Add Member'; +$lang['NOT_GROUP_MODERATOR'] = 'You are not this group\'s moderator, therefore you cannot perform that action.'; + +$lang['LOGIN_TO_JOIN'] = 'Log in to join or manage group memberships'; +$lang['THIS_OPEN_GROUP'] = 'This is an open group: click to request membership'; +$lang['THIS_CLOSED_GROUP'] = 'This is a closed group: no more users accepted'; +$lang['THIS_HIDDEN_GROUP'] = 'This is a hidden group: automatic user addition is not allowed'; +$lang['MEMBER_THIS_GROUP'] = 'You are a member of this group'; +$lang['PENDING_THIS_GROUP'] = 'Your membership of this group is pending'; +$lang['ARE_GROUP_MODERATOR'] = 'You are the group moderator'; +$lang['NONE'] = 'None'; + +$lang['SUBSCRIBE'] = 'Subscribe'; +$lang['UNSUBSCRIBE_GROUP'] = 'Unsubscribe'; +$lang['VIEW_INFORMATION'] = 'View Information'; +$lang['MEMBERS_IN_GROUP'] = 'Members in group'; + +// +// Search +// +$lang['SEARCH_OFF'] = 'Search is temporarily disabled'; +$lang['SEARCH_ERROR'] = 'At the moment, the search engine is not available

    Try to repeat the request after several seconds'; +$lang['SEARCH_HELP_URL'] = 'Search Help'; +$lang['SEARCH_QUERY'] = 'Search Query'; +$lang['SEARCH_OPTIONS'] = 'Search Options'; + +$lang['SEARCH_WORDS'] = 'Search for Keywords'; +$lang['SEARCH_WORDS_EXPL'] = 'You can use + to define words which must be in the results and - to define words which should not be in the result (ex: "+word1 -word2"). Use * as a wildcard for partial matches'; +$lang['SEARCH_AUTHOR'] = 'Search for Author'; +$lang['SEARCH_AUTHOR_EXPL'] = 'Use * as a wildcard for partial matches'; + +$lang['SEARCH_TITLES_ONLY'] = 'Search topic titles only'; +$lang['SEARCH_ALL_WORDS'] = 'all words'; +$lang['SEARCH_MY_MSG_ONLY'] = 'Search only in my posts'; +$lang['IN_MY_POSTS'] = 'In my posts'; +$lang['SEARCH_MY_TOPICS'] = 'in my topics'; +$lang['NEW_TOPICS'] = 'New topics'; + +$lang['RETURN_FIRST'] = 'Return first'; // followed by xxx characters in a select box +$lang['CHARACTERS_POSTS'] = 'characters of posts'; + +$lang['SEARCH_PREVIOUS'] = 'Search previous'; + +$lang['SORT_BY'] = 'Sort by'; +$lang['SORT_TIME'] = 'Post Time'; +$lang['SORT_POST_SUBJECT'] = 'Post Subject'; +$lang['SORT_TOPIC_TITLE'] = 'Topic Title'; +$lang['SORT_AUTHOR'] = 'Author'; +$lang['SORT_FORUM'] = 'Forum'; + +$lang['DISPLAY_RESULTS_AS'] = 'Display results as'; +$lang['ALL_AVAILABLE'] = 'All available'; +$lang['BRIEFLY'] = 'Briefly'; +$lang['NO_SEARCHABLE_FORUMS'] = 'You do not have permissions to search any forum on this site.'; + +$lang['NO_SEARCH_MATCH'] = 'No topics or posts met your search criteria'; +$lang['FOUND_SEARCH_MATCH'] = 'Search found %d match'; // eg. Search found 1 match +$lang['FOUND_SEARCH_MATCHES'] = 'Search found %d matches'; // eg. Search found 24 matches +$lang['TOO_MANY_SEARCH_RESULTS'] = 'Too many results may be found, please try to be more specific'; + +$lang['CLOSE_WINDOW'] = 'Close Window'; +$lang['CLOSE'] = 'close'; +$lang['HIDE'] = 'hide'; +$lang['SEARCH_TERMS'] = 'Search terms'; + +// +// Auth related entries +// +// Note the %s will be replaced with one of the following 'user' arrays +$lang['SORRY_AUTH_VIEW'] = 'Sorry, but only %s can view this forum.'; +$lang['SORRY_AUTH_READ'] = 'Sorry, but only %s can read topics in this forum.'; +$lang['SORRY_AUTH_POST'] = 'Sorry, but only %s can post topics in this forum.'; +$lang['SORRY_AUTH_REPLY'] = 'Sorry, but only %s can reply to posts in this forum.'; +$lang['SORRY_AUTH_EDIT'] = 'Sorry, but only %s can edit posts in this forum.'; +$lang['SORRY_AUTH_DELETE'] = 'Sorry, but only %s can delete posts in this forum.'; +$lang['SORRY_AUTH_VOTE'] = 'Sorry, but only %s can vote in polls in this forum.'; +$lang['SORRY_AUTH_STICKY'] = 'Sorry, but only %s can post sticky messages in this forum.'; +$lang['SORRY_AUTH_ANNOUNCE'] = 'Sorry, but only %s can post announcements in this forum.'; + +// These replace the %s in the above strings +$lang['AUTH_ANONYMOUS_USERS'] = 'anonymous users'; +$lang['AUTH_REGISTERED_USERS'] = 'registered users'; +$lang['AUTH_USERS_GRANTED_ACCESS'] = 'users granted special access'; +$lang['AUTH_MODERATORS'] = 'moderators'; +$lang['AUTH_ADMINISTRATORS'] = 'administrators'; + +$lang['NOT_MODERATOR'] = 'You are not a moderator of this forum.'; +$lang['NOT_AUTHORISED'] = 'Not Authorised'; + +$lang['YOU_BEEN_BANNED'] = 'You have been banned from this forum.
    Please contact the webmaster or board administrator for more information.'; + +// +// Viewonline +// +$lang['REG_USERS_ONLINE'] = 'Who is online registered users: %d and '; +$lang['HIDDEN_USERS_ONLINE'] = 'hidden users: %d'; +$lang['GUEST_USERS_ONLINE'] = 'Online Guests: %d'; +$lang['ALL_USERS_ONLINE'] = 'All users:'; +$lang['ONLINE_EXPLAIN'] = 'users active over the past five minutes'; +$lang['LAST_UPDATED'] = 'Last Updated'; + +// +// Moderator Control Panel +// +$lang['MOD_CP'] = 'Moderator Control Panel'; +$lang['MOD_CP_EXPLAIN'] = 'Using the form below you can perform mass moderation operations on this forum. You can lock, unlock, move or delete any number of topics.'; + +$lang['SELECT'] = 'Select'; +$lang['DELETE'] = 'Delete'; +$lang['MOVE'] = 'Move'; +$lang['LOCK'] = 'Lock'; +$lang['UNLOCK'] = 'Unlock'; + +$lang['TOPICS_REMOVED'] = 'The selected topics have been successfully removed from the database.'; +$lang['NO_TOPICS_REMOVED'] = 'No topics were removed.'; +$lang['TOPICS_LOCKED'] = 'The selected topics have been locked.'; +$lang['TOPICS_MOVED'] = 'The selected topics have been moved.'; +$lang['TOPICS_UNLOCKED'] = 'The selected topics have been unlocked.'; +$lang['NO_TOPICS_MOVED'] = 'No topics were moved.'; + +$lang['CONFIRM_DELETE_TOPIC'] = 'Are you sure you want to remove the selected topic/s?'; +$lang['CONFIRM_LOCK_TOPIC'] = 'Are you sure you want to lock the selected topic/s?'; +$lang['CONFIRM_UNLOCK_TOPIC'] = 'Are you sure you want to unlock the selected topic/s?'; +$lang['CONFIRM_MOVE_TOPIC'] = 'Are you sure you want to move the selected topic/s?'; + +$lang['MOVE_TO_FORUM'] = 'Move to forum'; +$lang['LEAVE_SHADOW_TOPIC'] = 'Leave shadow topic in old forum.'; + +$lang['SPLIT_TOPIC_EXPLAIN'] = 'Using the form below you can split a topic in two, either by selecting the posts individually or by splitting at a selected post'; +$lang['NEW_TOPIC_TITLE'] = 'New topic title'; +$lang['FORUM_FOR_NEW_TOPIC'] = 'Forum for new topic'; +$lang['SPLIT_POSTS'] = 'Split selected posts'; +$lang['SPLIT_AFTER'] = 'Split from selected post'; +$lang['TOPIC_SPLIT'] = 'The selected topic has been split successfully'; + +$lang['TOO_MANY_ERROR'] = 'You have selected too many posts. You can only select one post to split a topic after!'; + +$lang['NONE_SELECTED'] = 'You have none selected to perform this operation on. Please go back and select at least one.'; +$lang['NEW_FORUM'] = 'New forum'; + +$lang['THIS_POSTS_IP'] = 'IP address for this post'; +$lang['OTHER_IP_THIS_USER'] = 'Other IP addresses this user has posted from'; +$lang['USERS_THIS_IP'] = 'Users posting from this IP address'; +$lang['IP_INFO'] = 'IP Information'; +$lang['LOOKUP_IP'] = 'Look up IP address'; + +// +// Timezones ... for display on each page +// +$lang['ALL_TIMES'] = 'All times are %s'; // eg. All times are GMT - 12 Hours (times from next block) + +$lang['-12'] = 'GMT - 12 Hours'; +$lang['-11'] = 'GMT - 11 Hours'; +$lang['-10'] = 'GMT - 10 Hours'; +$lang['-9'] = 'GMT - 9 Hours'; +$lang['-8'] = 'GMT - 8 Hours'; +$lang['-7'] = 'GMT - 7 Hours'; +$lang['-6'] = 'GMT - 6 Hours'; +$lang['-5'] = 'GMT - 5 Hours'; +$lang['-4'] = 'GMT - 4 Hours'; +$lang['-3.5'] = 'GMT - 3.5 Hours'; +$lang['-3'] = 'GMT - 3 Hours'; +$lang['-2'] = 'GMT - 2 Hours'; +$lang['-1'] = 'GMT - 1 Hours'; +$lang['0'] = 'GMT'; +$lang['1'] = 'GMT + 1 Hour'; +$lang['2'] = 'GMT + 2 Hours'; +$lang['3'] = 'GMT + 3 Hours'; +$lang['3.5'] = 'GMT + 3.5 Hours'; +$lang['4'] = 'GMT + 4 Hours'; +$lang['4.5'] = 'GMT + 4.5 Hours'; +$lang['5'] = 'GMT + 5 Hours'; +$lang['5.5'] = 'GMT + 5.5 Hours'; +$lang['6'] = 'GMT + 6 Hours'; +$lang['6.5'] = 'GMT + 6.5 Hours'; +$lang['7'] = 'GMT + 7 Hours'; +$lang['8'] = 'GMT + 8 Hours'; +$lang['9'] = 'GMT + 9 Hours'; +$lang['9.5'] = 'GMT + 9.5 Hours'; +$lang['10'] = 'GMT + 10 Hours'; +$lang['11'] = 'GMT + 11 Hours'; +$lang['12'] = 'GMT + 12 Hours'; +$lang['13'] = 'GMT + 13 Hours'; + +// These are displayed in the timezone select box +$lang['TZ']['-12'] = 'GMT - 12 Hours'; +$lang['TZ']['-11'] = 'GMT - 11 Hours'; +$lang['TZ']['-10'] = 'GMT - 10 Hours'; +$lang['TZ']['-9'] = 'GMT - 9 Hours'; +$lang['TZ']['-8'] = 'GMT - 8 Hours'; +$lang['TZ']['-7'] = 'GMT - 7 Hours'; +$lang['TZ']['-6'] = 'GMT - 6 Hours'; +$lang['TZ']['-5'] = 'GMT - 5 Hours'; +$lang['TZ']['-4'] = 'GMT - 4 Hours'; +$lang['TZ']['-3.5'] = 'GMT - 3.5 Hours'; +$lang['TZ']['-3'] = 'GMT - 3 Hours'; +$lang['TZ']['-2'] = 'GMT - 2 Hours'; +$lang['TZ']['-1'] = 'GMT - 1 Hours'; +$lang['TZ']['0'] = 'GMT'; +$lang['TZ']['1'] = 'GMT + 1 Hour'; +$lang['TZ']['2'] = 'GMT + 2 Hours'; +$lang['TZ']['3'] = 'GMT + 3 Hours'; +$lang['TZ']['3.5'] = 'GMT + 3.5 Hours'; +$lang['TZ']['4'] = 'GMT + 4 Hours'; +$lang['TZ']['4.5'] = 'GMT + 4.5 Hours'; +$lang['TZ']['5'] = 'GMT + 5 Hours'; +$lang['TZ']['5.5'] = 'GMT + 5.5 Hours'; +$lang['TZ']['6'] = 'GMT + 6 Hours'; +$lang['TZ']['6.5'] = 'GMT + 6.5 Hours'; +$lang['TZ']['7'] = 'GMT + 7 Hours'; +$lang['TZ']['8'] = 'GMT + 8 Hours'; +$lang['TZ']['9'] = 'GMT + 9 Hours'; +$lang['TZ']['9.5'] = 'GMT + 9.5 Hours'; +$lang['TZ']['10'] = 'GMT + 10 Hours'; +$lang['TZ']['11'] = 'GMT + 11 Hours'; +$lang['TZ']['12'] = 'GMT + 12 Hours'; +$lang['TZ']['13'] = 'GMT + 13 Hours'; + +$lang['DATETIME']['TODAY'] = 'Today'; +$lang['DATETIME']['YESTERDAY'] = 'Yesterday'; + +$lang['DATETIME']['SUNDAY'] = 'Sunday'; +$lang['DATETIME']['MONDAY'] = 'Monday'; +$lang['DATETIME']['TUESDAY'] = 'Tuesday'; +$lang['DATETIME']['WEDNESDAY'] = 'Wednesday'; +$lang['DATETIME']['THURSDAY'] = 'Thursday'; +$lang['DATETIME']['FRIDAY'] = 'Friday'; +$lang['DATETIME']['SATURDAY'] = 'Saturday'; +$lang['DATETIME']['SUN'] = 'Sun'; +$lang['DATETIME']['MON'] = 'Mon'; +$lang['DATETIME']['TUE'] = 'Tue'; +$lang['DATETIME']['WED'] = 'Wed'; +$lang['DATETIME']['THU'] = 'Thu'; +$lang['DATETIME']['FRI'] = 'Fri'; +$lang['DATETIME']['SAT'] = 'Sat'; +$lang['DATETIME']['JANUARY'] = 'January'; +$lang['DATETIME']['FEBRUARY'] = 'February'; +$lang['DATETIME']['MARCH'] = 'March'; +$lang['DATETIME']['APRIL'] = 'April'; +$lang['DATETIME']['MAY'] = 'May'; +$lang['DATETIME']['JUNE'] = 'June'; +$lang['DATETIME']['JULY'] = 'July'; +$lang['DATETIME']['AUGUST'] = 'August'; +$lang['DATETIME']['SEPTEMBER'] = 'September'; +$lang['DATETIME']['OCTOBER'] = 'October'; +$lang['DATETIME']['NOVEMBER'] = 'November'; +$lang['DATETIME']['DECEMBER'] = 'December'; +$lang['DATETIME']['JAN'] = 'Jan'; +$lang['DATETIME']['FEB'] = 'Feb'; +$lang['DATETIME']['MAR'] = 'Mar'; +$lang['DATETIME']['APR'] = 'Apr'; +$lang['DATETIME']['JUN'] = 'Jun'; +$lang['DATETIME']['JUL'] = 'Jul'; +$lang['DATETIME']['AUG'] = 'Aug'; +$lang['DATETIME']['SEP'] = 'Sep'; +$lang['DATETIME']['OCT'] = 'Oct'; +$lang['DATETIME']['NOV'] = 'Nov'; +$lang['DATETIME']['DEC'] = 'Dec'; + +// +// Errors +// +$lang['INFORMATION'] = 'Information'; +$lang['ADMIN_REAUTHENTICATE'] = 'To administer/moderate the board you must re-authenticate yourself.'; + +// +// Attachment Mod Main Language Variables +// + +// Auth Related Entries +$lang['RULES_ATTACH_CAN'] = 'You can attach files in this forum'; +$lang['RULES_ATTACH_CANNOT'] = 'You cannot attach files in this forum'; +$lang['RULES_DOWNLOAD_CAN'] = 'You can download files in this forum'; +$lang['RULES_DOWNLOAD_CANNOT'] = 'You cannot download files in this forum'; +$lang['SORRY_AUTH_VIEW_ATTACH'] = 'Sorry but you are not authorized to view or download this Attachment'; + +// Viewtopic -> Display of Attachments +$lang['DESCRIPTION'] = 'Description'; // used in Administration Panel too... +$lang['DOWNLOAD'] = 'Download'; // this Language Variable is defined in admin.php too, but we are unable to access it from the main Language File +$lang['FILESIZE'] = 'Filesize'; +$lang['VIEWED'] = 'Viewed'; +$lang['DOWNLOAD_NUMBER'] = '%d times'; // replace %d with count +$lang['EXTENSION_DISABLED_AFTER_POSTING'] = 'The Extension \'%s\' was deactivated by an board admin, therefore this Attachment is not displayed.'; // used in Posts and PM's, replace %s with mime type + +$lang['ATTACHMENT'] = 'Attachments'; +$lang['ATTACHMENT_THUMBNAIL'] = 'Attachment Thumbnail'; + +// Posting/PM -> Posting Attachments +$lang['ADD_ATTACHMENT'] = 'Add Attachment'; +$lang['ADD_ATTACHMENT_TITLE'] = 'Add an Attachment'; +$lang['ADD_ATTACHMENT_EXPLAIN'] = 'If you do not want to add an Attachment to your Post, please leave the Fields blank'; +$lang['FILENAME'] = 'Filename'; +$lang['FILE_COMMENT'] = 'File Comment'; + +// Posting/PM -> Posted Attachments +$lang['POSTED_ATTACHMENTS'] = 'Posted Attachments'; +$lang['UPDATE_COMMENT'] = 'Update Comment'; +$lang['DELETE_ATTACHMENTS'] = 'Delete Attachments'; +$lang['DELETE_ATTACHMENT'] = 'Delete Attachment'; +$lang['DELETE_THUMBNAIL'] = 'Delete Thumbnail'; +$lang['UPLOAD_NEW_VERSION'] = 'Upload New Version'; + +// Errors -> Posting Attachments +$lang['INVALID_FILENAME'] = '%s is an invalid filename'; // replace %s with given filename +$lang['ATTACHMENT_PHP_SIZE_NA'] = 'The Attachment is too big.
    Could not get the maximum Size defined in PHP.
    The Attachment Mod is unable to determine the maximum Upload Size defined in the php.ini.'; +$lang['ATTACHMENT_PHP_SIZE_OVERRUN'] = 'The Attachment is too big.
    Maximum Upload Size: %d MB.
    Please note that this Size is defined in php.ini, this means it\'s set by PHP and the Attachment Mod can not override this value.'; // replace %d with ini_get('upload_max_filesize') +$lang['DISALLOWED_EXTENSION'] = 'The Extension %s is not allowed'; // replace %s with extension (e.g. .php) +$lang['DISALLOWED_EXTENSION_WITHIN_FORUM'] = 'You are not allowed to post Files with the Extension %s within this Forum'; // replace %s with the Extension +$lang['ATTACHMENT_TOO_BIG'] = 'The Attachment is too big.
    Max Size: %d'; // replace %d with maximum file size, %s with size var +$lang['ATTACH_QUOTA_REACHED'] = 'Sorry, but the maximum filesize for all Attachments is reached. Please contact the Board Administrator if you have questions.'; +$lang['TOO_MANY_ATTACHMENTS'] = 'Attachment cannot be added, since the max. number of %d Attachments in this post was achieved'; // replace %d with maximum number of attachments +$lang['ERROR_IMAGESIZE'] = 'The Attachment/Image must be less than %d pixels wide and %d pixels high'; +$lang['GENERAL_UPLOAD_ERROR'] = 'Upload Error: Could not upload Attachment to %s.'; // replace %s with local path + +$lang['ERROR_EMPTY_ADD_ATTACHBOX'] = 'You have to enter values in the \'Add an Attachment\' Box'; +$lang['ERROR_MISSING_OLD_ENTRY'] = 'Unable to Update Attachment, could not find old Attachment Entry'; + +// Errors -> PM Related +$lang['ATTACH_QUOTA_SENDER_PM_REACHED'] = 'Sorry, but the maximum filesize for all Attachments in your Private Message Folder has been reached. Please delete some of your received/sent Attachments.'; +$lang['ATTACH_QUOTA_RECEIVER_PM_REACHED'] = 'Sorry, but the maximum filesize for all Attachments in the Private Message Folder of \'%s\' has been reached. Please let him know, or wait until he/she has deleted some of his/her Attachments.'; + +// Errors -> Download +$lang['NO_ATTACHMENT_SELECTED'] = 'You haven\'t selected an attachment to download or view.'; +$lang['ERROR_NO_ATTACHMENT'] = 'The selected Attachment does not exist anymore'; + +// Delete Attachments +$lang['CONFIRM_DELETE_ATTACHMENTS'] = 'Are you sure you want to delete the selected Attachments?'; +$lang['DELETED_ATTACHMENTS'] = 'The selected Attachments have been deleted.'; +$lang['ERROR_DELETED_ATTACHMENTS'] = 'Could not delete Attachments.'; +$lang['CONFIRM_DELETE_PM_ATTACHMENTS'] = 'Are you sure you want to delete all Attachments posted in this PM?'; + +// General Error Messages +$lang['ATTACHMENT_FEATURE_DISABLED'] = 'The Attachment Feature is disabled.'; + +$lang['DIRECTORY_DOES_NOT_EXIST'] = 'The Directory \'%s\' does not exist or Could not be found.'; // replace %s with directory +$lang['DIRECTORY_IS_NOT_A_DIR'] = 'Please check if \'%s\' is a directory.'; // replace %s with directory +$lang['DIRECTORY_NOT_WRITEABLE'] = 'Directory \'%s\' is not writeable. You\'ll have to create the upload path and chmod it to 777 (or change the owner to you httpd-servers owner) to upload files.
    If you have only plain FTP-access change the \'Attribute\' of the directory to rwxrwxrwx.'; // replace %s with directory + +// Attach Rules Window +$lang['RULES_PAGE'] = 'Attachment Rules'; +$lang['ATTACH_RULES_TITLE'] = 'Allowed Extension Groups and their Sizes'; +$lang['GROUP_RULE_HEADER'] = '%s -> Maximum Upload Size: %s'; // Replace first %s with Extension Group, second one with the Size STRING +$lang['ALLOWED_EXTENSIONS_AND_SIZES'] = 'Allowed Extensions and Sizes'; +$lang['NOTE_USER_EMPTY_GROUP_PERMISSIONS'] = 'NOTE:
    You are normally allowed to attach files within this Forum,
    but since no Extension Group is allowed to be attached here,
    you are unable to attach anything. If you try,
    you will receive an Error Message.
    '; + +// Quota Variables +$lang['UPLOAD_QUOTA'] = 'Upload Quota'; +$lang['PM_QUOTA'] = 'PM Quota'; + +// Common Variables +$lang['BYTES'] = 'Bytes'; +$lang['KB'] = 'KB'; +$lang['MB'] = 'MB'; +$lang['GB'] = 'GB'; +$lang['ATTACH_SEARCH_QUERY'] = 'Search Attachments'; +$lang['TEST_SETTINGS'] = 'Test Settings'; +$lang['NOT_ASSIGNED'] = 'Not Assigned'; +$lang['NO_FILE_COMMENT_AVAILABLE'] = 'No File Comment available'; +$lang['ATTACHBOX_LIMIT'] = 'Your Attachbox is
    %d%% full'; +$lang['NO_QUOTA_LIMIT'] = 'No Quota Limit'; +$lang['UNLIMITED'] = 'Unlimited'; + +//bt +$lang['BT_REG_YES'] = 'Registered'; +$lang['BT_REG_NO'] = 'Not registered'; +$lang['BT_ADDED'] = 'Added'; +$lang['BT_REG_ON_TRACKER'] = 'Register on tracker'; +$lang['BT_REG_FAIL'] = 'Could not register torrent on tracker'; +$lang['BT_REG_FAIL_SAME_HASH'] = 'Another torrent with same info_hash already registered'; +$lang['BT_UNREG_FROM_TRACKER'] = 'Remove from tracker'; +$lang['BT_UNREGISTERED'] = 'Torrent unregistered'; +$lang['BT_REGISTERED'] = 'Torrent registered on tracker

    Now you need to download your torrent and run it using your BitTorrent client choosing the folder with the original files you\'re sharing as the download path'; +$lang['INVALID_ANN_URL'] = 'Invalid Announce URL [%s]

    must be %s'; +$lang['PASSKEY_ERR_TOR_NOT_REG'] = 'Could not add passkey

    Torrent not registered on tracker'; +$lang['PASSKEY_ERR_EMPTY'] = 'Could not add passkey (passkey is empty)

    Go to your forum profile and generate it'; +$lang['BT_PASSKEY'] = 'Passkey'; +$lang['BT_GEN_PASSKEY'] = 'create a new'; +$lang['BT_PASSKEY_VIEW'] = 'show'; +$lang['BT_GEN_PASSKEY_NEW'] = "Attention! After changing the new passkey, you will need to re-download all the active torrents! \n Are you sure you want to create a new passkey?"; +$lang['BT_NO_SEARCHABLE_FORUMS'] = 'No searchable forums found'; + +$lang['SEEDS'] = 'Seed'; +$lang['LEECHS'] = 'Leech'; +$lang['SPEED_UP'] = 'Speed Up'; +$lang['SPEED_DOWN'] = 'Speed Down'; + +$lang['SEEDERS'] = 'Seeders'; +$lang['LEECHERS'] = 'Leechers'; +$lang['RELEASING'] = 'Self'; +$lang['SEEDING'] = 'Seed'; +$lang['LEECHING'] = 'Leech'; +$lang['IS_REGISTERED'] = 'Registered'; +$lang['MAGNET'] = 'Magnet'; + +//torrent status mod +$lang['TOR_STATUS'] = 'Status'; +$lang['TOR_STATUS_SELECT_ACTION'] = 'Select status'; +$lang['TOR_STATUS_NOT_SELECT'] = 'You have not selected status.'; +$lang['TOR_STATUS_SELECT_ALL'] = 'All statuses'; +$lang['TOR_STATUS_NAME'] = array( + TOR_NOT_APPROVED => 'not checked', + TOR_CLOSED => 'closed', + TOR_APPROVED => 'checked', + TOR_NEED_EDIT => 'not formalized until', + TOR_NO_DESC => 'not formalized', + TOR_DUP => 'repeat', + TOR_CLOSED_CPHOLD => 'closed right', + TOR_CONSUMED => 'absorbed', + TOR_DOUBTFUL => 'doubtful', + TOR_CHECKING => 'verified', + TOR_TMP => 'temporary', + TOR_PREMOD => 'pre-moderation', +); +$lang['TOR_STATUS_FAILED'] = 'Such status does not exist!'; +$lang['TORRENT_FAILED'] = 'Distribution was not found!'; +$lang['TOR_STATUS_DUB'] = 'Distribution has the same status'; +$lang['TOR_DONT_CHANGE'] = 'Change of status can not be!'; +$lang['TOR_STATUS_OF'] = 'Distribution has the status of:'; +$lang['TOR_STATUS_CHANGED'] = 'Status changed: '; +$lang['TOR_BACK'] = ' back'; +$lang['PROCEED'] = 'Proceed'; +$lang['INVALID_ATTACH_ID'] = 'Missing file identifier!'; +$lang['CHANGE_TOR_TYPE'] = 'Type the torrent successfully changed'; +$lang['DEL_TORRENT'] = 'Are you sure you want to delete the torrent?'; +$lang['DEL_MOVE_TORRENT'] = 'Are you sure you want to delete and move the topic?'; +$lang['UNEXECUTED_RELEASE'] = 'Do you have a shapeless release before creating a new fix his unformed!'; +$lang['STATUS_DOES_EXIST'] = 'Such status does not exist: '; + +// tor_comment +$lang['TOR_MOD_TITLE'] = 'Changing the status of distribution - %s'; +$lang['TOR_MOD_MSG'] = "Hello, %s.\n\n Status [url=%s]your[/url] distribution is changed to [b]%s[/b]"; + +$lang['TOR_AUTH_TITLE'] = 'Changes in the design - %s'; +$lang['TOR_AUTH_MSG'] = "Hello, %s.\n\n Making my distribution changed - [url=%s]%s[/url]\n\n Please re-check it."; +$lang['TOR_AUTH_FIXED'] = 'Fixed'; +$lang['TOR_AUTH_SENT_COMMENT'] = ' · The information sent to the moderator. Expect.'; +//end torrent status mod + +$lang['BT_TOPIC_TITLE'] = 'Topic title'; +$lang['BT_SEEDER_LAST_SEEN'] = 'Seed last seen'; +$lang['BT_SORT_FORUM'] = 'Forum'; +$lang['SIZE'] = 'Size'; +$lang['PIECE_LENGTH'] = 'Piece length'; +$lang['COMPLETED'] = 'Completed'; +$lang['ADDED'] = 'Added'; +$lang['DELETE_TORRENT'] = 'Delete torrent'; +$lang['DELETE_MOVE_TORRENT'] = 'Delete and move topic'; +$lang['DL_TORRENT'] = 'Download .torrent'; +$lang['BT_LAST_POST'] = 'Last post'; +$lang['BT_CREATED'] = 'Topic posted'; +$lang['BT_REPLIES'] = 'Replies'; +$lang['BT_VIEWS'] = 'Views'; + +// Gold/Silver releases +$lang['GOLD'] = 'Gold'; +$lang['SILVER'] = 'Silver'; +$lang['SET_GOLD_TORRENT'] = 'Make gold'; +$lang['UNSET_GOLD_TORRENT'] = 'UnMake gold'; +$lang['SET_SILVER_TORRENT'] = 'Make silver'; +$lang['UNSET_SILVER_TORRENT'] = 'UnMake silver'; +$lang['GOLD_STATUS'] = 'GOLD TORRENT! DOWNLOAD TRAFFIC DOES NOT CONSIDER!'; +$lang['SILVER_STATUS'] = 'SILVER TORRENT! DOWNLOAD TRAFFIC PARTIALLY CONSIDERED!'; +// End - Gold/Silver releases + +$lang['SEARCH_IN_FORUMS'] = 'Search in Forums'; +$lang['SELECT_CAT'] = 'Select category'; +$lang['GO_TO_SECTION'] = 'Goto section'; +$lang['TORRENTS_FROM'] = 'Posts from'; +$lang['SHOW_ONLY'] = 'Show only'; +$lang['SHOW_COLUMN'] = 'Show column'; +$lang['SEL_CHAPTERS'] = 'Link to the selected partitions'; +$lang['NOT_SEL_CHAPTERS'] = 'You have not selected topics'; +$lang['SEL_CHAPTERS_HELP'] = 'You can select a maximum %s partition'; +$lang['HIDE_CONTENTS'] = 'Hide the contents of {...}'; +$lang['FILTER_BY_NAME'] = 'filter by name '; + +$lang['BT_ONLY_ACTIVE'] = 'Active'; +$lang['BT_ONLY_MY'] = 'My releases'; +$lang['BT_SEED_EXIST'] = 'Seeder exist'; +$lang['BT_ONLY_NEW'] = 'New from last visit'; +$lang['BT_SHOW_CAT'] = 'Category'; +$lang['BT_SHOW_FORUM'] = 'Forum'; +$lang['BT_SHOW_AUTHOR'] = 'Author'; +$lang['BT_SHOW_SPEED'] = 'Speed'; +$lang['SEED_NOT_SEEN'] = 'Seeder not seen'; +$lang['TITLE_MATCH'] = 'Title match'; +$lang['BT_USER_NOT_FOUND'] = 'not found'; +$lang['DL_SPEED'] = 'Overall download speed'; + +$lang['BT_DISREGARD'] = 'disregarding'; +$lang['BT_NEVER'] = 'never'; +$lang['BT_ALL_DAYS_FOR'] = 'all the time'; +$lang['BT_1_DAY_FOR'] = 'last day'; +$lang['BT_3_DAY_FOR'] = 'last three days'; +$lang['BT_7_DAYS_FOR'] = 'last week'; +$lang['BT_2_WEEKS_FOR'] = 'last two weeks'; +$lang['BT_1_MONTH_FOR'] = 'last month'; +$lang['BT_1_DAY'] = '1 day'; +$lang['BT_3_DAYS'] = '3 days'; +$lang['BT_7_DAYS'] = 'week'; +$lang['BT_2_WEEKS'] = '2 weeks'; +$lang['BT_1_MONTH'] = 'month'; + +$lang['DL_LIST_AND_TORRENT_ACTIVITY'] = 'DL-List and Torrent activity'; +$lang['DL_WILL'] = 'Will download'; +$lang['DL_DOWN'] = 'Downloading'; +$lang['DL_COMPLETE'] = 'Complete'; +$lang['DL_CANCEL'] = 'Cancel'; + +$lang['DLWILL_2'] = 'Will download'; +$lang['DLDOWN_2'] = 'Downloading'; +$lang['DLCOMPLETE_2'] = 'Complete'; +$lang['DLCANCEL_2'] = 'Cancel'; + +$lang['DL_LIST_DEL'] = 'Clear DL-List'; +$lang['DL_LIST_DEL_CONFIRM'] = 'Delete DL-List for this topic?'; +$lang['SHOW_DL_LIST'] = 'Show DL-List'; +$lang['SET_DL_STATUS'] = 'Download'; +$lang['UNSET_DL_STATUS'] = 'Not Download'; +$lang['TOPICS_DOWN_SETS'] = 'Topic status changed to Download'; +$lang['TOPICS_DOWN_UNSETS'] = 'Download status removed'; + +$lang['TOPIC_DL'] = 'DL'; + +$lang['MY_DOWNLOADS'] = 'My Downloads'; +$lang['SEARCH_DL_WILL'] = 'Planned'; +$lang['SEARCH_DL_WILL_DOWNLOADS'] = 'Planned Downloads'; +$lang['SEARCH_DL_DOWN'] = 'Current'; +$lang['SEARCH_DL_COMPLETE'] = 'Completed'; +$lang['SEARCH_DL_COMPLETE_DOWNLOADS'] = 'Completed Downloads'; +$lang['SEARCH_DL_CANCEL'] = 'Canceled'; +$lang['CUR_DOWNLOADS'] = 'Current Downloads'; +$lang['CUR_UPLOADS'] = 'Current Uploads'; +$lang['SEARCH_RELEASES'] = 'Find releases'; +$lang['TOR_SEARCH_TITLE'] = 'Torrent search options'; +$lang['OPEN_TOPIC'] = 'Open topic'; + +$lang['ALLOWED_ONLY_1ST_POST_ATTACH'] = 'Posting torrents allowed only in first post'; +$lang['ALLOWED_ONLY_1ST_POST_REG'] = 'Registering torrents allowed only from first post'; +$lang['REG_NOT_ALLOWED_IN_THIS_FORUM'] = 'Could not register torrent in this forum'; +$lang['ALREADY_REG'] = 'Torrent already registered'; +$lang['NOT_TORRENT'] = 'This file is not torrent'; +$lang['ONLY_1_TOR_PER_POST'] = 'You can register only one torrent in one post'; +$lang['ONLY_1_TOR_PER_TOPIC'] = 'You can register only one torrent in one topic'; +$lang['VIEWING_USER_BT_PROFILE'] = 'Viewing torrent-profile :: %s'; // %s is username +$lang['CUR_ACTIVE_DLS'] = 'Active torrents'; + +$lang['TD_TRAF'] = 'Today'; +$lang['YS_TRAF'] = 'Yesterday'; +$lang['TOTAL_TRAF'] = 'Total'; + +$lang['USER_RATIO'] = 'Ratio'; +$lang['MAX_SPEED'] = 'Speed'; +$lang['DOWNLOADED'] = 'Downloaded'; +$lang['UPLOADED'] = 'Uploaded'; +$lang['RELEASED'] = 'Released'; +$lang['BONUS'] = 'On the rare'; +$lang['IT_WILL_BE_DOWN'] = 'it will start to be considered after it will be downloaded'; +$lang['SPMODE_FULL'] = 'Show peers in full details'; + +// Seed Bonus +$lang['MY_BONUS'] = 'My bonus (%s bonuses in stock)'; +$lang['BONUS_SELECT'] = 'Select'; +$lang['SEED_BONUS'] = 'Seed Bonus'; +$lang['EXCHANGE'] = 'Exchange'; +$lang['EXCHANGE_BONUS'] = 'Exchange of seed bonuses'; +$lang['BONUS_UPLOAD_DESC'] = '%s to distribution
    To exchange bonus points on %1$s traffic which will be added on to the sum of your distribution.'; +$lang['BONUS_UPLOAD_PRICE'] = '%s'; +$lang['PRICE'] = 'Price'; +$lang['EXCHANGE_NOT'] = 'The exchange not available'; +$lang['BONUS_SUCCES'] = 'To you it is successfully enlisted %s'; +$lang['BONUS_NOT_SUCCES'] = 'You do not have bonuses available. More Seeding!'; +$lang['BONUS_RETURN'] = 'Return to the Seed Exchange Bonus'; + +$lang['TRACKER'] = 'Tracker'; +$lang['OPEN_TOPICS'] = 'Open topics'; +$lang['OPEN_IN_SAME_WINDOW'] = 'open in same window'; +$lang['SHOW_TIME_TOPICS'] = 'show time of the creation topics'; +$lang['SHOW_CURSOR'] = 'highlight the row under the cursor'; + +$lang['BT_LOW_RATIO_FUNC'] = "You can not use this option (ratio is too low)"; +$lang['BT_LOW_RATIO_FOR_DL'] = "With ratio %s you can not download torrents"; +$lang['BT_RATIO_WARNING_MSG'] = 'If your ratio falls below %s, you will not be able to download Torrents! More about the rating.'; + +$lang['SEEDER_LAST_SEEN'] = 'Seeder not seen: %s'; + +$lang['NEED_TO_LOGIN_FIRST'] = 'You need to login first'; +$lang['ONLY_FOR_MOD'] = 'This option only for moderators'; +$lang['ONLY_FOR_ADMIN'] = 'This option only for admins'; +$lang['ONLY_FOR_SUPER_ADMIN'] = 'This option only for super admins'; + +$lang['LOGS'] = 'Topic history'; +$lang['FORUM_LOGS'] = 'History Forum'; +$lang['AUTOCLEAN'] = 'Autoclean:'; +$lang['DESIGNER'] = 'Designer'; + +$lang['LAST_IP'] = 'Last IP:'; +$lang['REG_IP'] = 'Registration IP:'; +$lang['OTHER_IP'] = 'Other IP:'; +$lang['ALREADY_REG_IP'] = 'With your IP-address is already registered user %s. If you have not previously registered on our tracker, mail to Administrator'; +$lang['HIDDEN'] = 'Hidden'; +// +// That's all, Folks! +// ------------------------------------------------- + +// from admin +$lang['NOT_ADMIN'] = 'You are not authorised to administer this board'; + +$lang['COOKIES_REQUIRED'] = 'Cookies must be enabled!'; +$lang['SESSION_EXPIRED'] = 'Session expired'; + +// Sort memberlist per letter +$lang['SORT_PER_LETTER'] = 'Show only usernames starting with'; +$lang['OTHERS'] = 'others'; +$lang['ALL'] = 'all'; + +$lang['POST_LINK'] = 'Post link'; +$lang['GOTO_QUOTED_POST'] = 'Go to the quoted post'; +$lang['LAST_VISITED'] = 'Last Visited'; +$lang['LAST_ACTIVITY'] = 'Last activity'; +$lang['NEVER'] = 'Never'; + +//mpd +$lang['DELETE_POSTS'] = 'Delete selected posts'; +$lang['DELETE_POSTS_SUCCESFULLY'] = 'The selected posts have been successfully removed'; +//mpd end + +//ts +$lang['TOPICS_ANNOUNCEMENT'] = 'Announcements'; +$lang['TOPICS_STICKY'] = 'Stickies'; +$lang['TOPICS_NORMAL'] = 'Topics'; +//ts end + +//dpc +$lang['DOUBLE_POST_ERROR'] = 'You cannot make another post with the exact same text as your last.'; +//dpc end + +//upt +$lang['UPDATE_POST_TIME'] = 'Update post time'; +//upt end + +$lang['TOPIC_SPLIT_NEW'] = 'New topic'; +$lang['TOPIC_SPLIT_OLD'] = 'Old topic'; +$lang['BOT_LEAVE_MSG_MOVED'] = 'Add bot-message about moving'; +$lang['BOT_AFTER_SPLIT_TO_OLD'] = 'Add bot-message about split to old topic'; +$lang['BOT_AFTER_SPLIT_TO_NEW'] = 'Add bot-message about split to new topic'; +//qr +$lang['QUICK_REPLY'] = 'Quick Reply'; +$lang['INS_NAME_TIP'] = 'Insert name or selected text.'; +$lang['QUOTE_SELECTED'] = 'Quote selected'; +$lang['TRANSLIT_RULES'] = 'Translit rules'; +$lang['QR_ATTACHSIG'] = 'Attach signature'; +$lang['QR_NOTIFY'] = 'Notify on reply'; +$lang['QR_DISABLE'] = 'Disable'; +$lang['QR_USERNAME'] = 'Name'; +$lang['NO_TEXT_SEL'] = 'Select a text anywhere on a page and try again'; +$lang['QR_FONT_SEL'] = 'Font face'; +$lang['QR_COLOR_SEL'] = 'Font color'; +$lang['QR_SIZE_SEL'] = 'Font size'; +$lang['COLOR_STEEL_BLUE'] = 'Steel Blue'; +$lang['COLOR_GRAY'] = 'Gray'; +$lang['COLOR_DARK_GREEN'] = 'Dark Green'; +//qr end + +//txtb +$lang['ICQ_TXTB'] = '[ICQ]'; +$lang['REPLY_WITH_QUOTE_TXTB'] = '[Quote]'; +$lang['READ_PROFILE_TXTB'] = '[Profile]'; +$lang['SEND_EMAIL_TXTB'] = '[E-mail]'; +$lang['VISIT_WEBSITE_TXTB'] = '[www]'; +$lang['EDIT_DELETE_POST_TXTB'] = '[Edit]'; +$lang['SEARCH_USER_POSTS_TXTB'] = '[Search]'; +$lang['VIEW_IP_TXTB'] = '[ip]'; +$lang['DELETE_POST_TXTB'] = '[x]'; +$lang['MODERATE_POST_TXTB'] = '[m]'; +$lang['SEND_PM_TXTB'] = '[PM]'; +//txtb end + +$lang['DECLENSION']['REPLIES'] = array('reply', 'replies'); +$lang['DECLENSION']['TIMES'] = array('time', 'times'); + +$lang['DELTA_TIME']['INTERVALS'] = array( + 'seconds' => array('second', 'seconds'), + 'minutes' => array('minute', 'minutes'), + 'hours' => array('hour', 'hours'), + 'mday' => array('day', 'days'), + 'mon' => array('month', 'months'), + 'year' => array('year', 'years'), +); +$lang['DELTA_TIME']['FORMAT'] = '%1$s %2$s'; // 5(%1) minutes(%2) + +$lang['AUTH_TYPES'][AUTH_ALL] = $lang['AUTH_ANONYMOUS_USERS']; +$lang['AUTH_TYPES'][AUTH_REG] = $lang['AUTH_REGISTERED_USERS']; +$lang['AUTH_TYPES'][AUTH_ACL] = $lang['AUTH_USERS_GRANTED_ACCESS']; +$lang['AUTH_TYPES'][AUTH_MOD] = $lang['AUTH_MODERATORS']; +$lang['AUTH_TYPES'][AUTH_ADMIN] = $lang['AUTH_ADMINISTRATORS']; + +$lang['NEW_USER_REG_DISABLED'] = 'Sorry, registration is disabled at this time'; +$lang['ONLY_NEW_POSTS'] = 'only new posts'; +$lang['ONLY_NEW_TOPICS'] = 'only new topics'; + +$lang['TORHELP_TITLE'] = 'Please help seeding these torrents!'; + +// +// Reports (need to translate it!) +// +$lang['REPORTS'] = 'Reports'; +$lang['REPORTS_DISABLE'] = 'Reports disabled'; +$lang['NEW_REPORT'] = ' (one open)'; +$lang['NEW_REPORTS'] = ' (%d open)'; +$lang['NO_NEW_REPORTS'] = ': no new Reports'; +$lang['REPORT_INDEX'] = 'Index'; +$lang['STATISTICS'] = 'Statistics'; +$lang['STATISTIC'] = 'Statistic'; +$lang['VALUE'] = 'Value'; +$lang['REPORT_COUNT'] = 'Current report count'; +$lang['REPORT_MODULES_COUNT'] = 'Report modules count'; +$lang['REPORT_HACK_COUNT'] = 'Overall report count'; +$lang['DELETED_REPORTS'] = 'Reports suggested for deletion'; +$lang['REPORT_TYPE'] = 'Report type'; +$lang['REPORT_BY'] = 'by'; +$lang['NO_REPORTS'] = 'No reports'; +$lang['INVERT_SELECT'] = 'Invert selection'; +$lang['REPORTED_BY'] = 'Reported by'; +$lang['REPORTED_TIME'] = 'Reported on'; +$lang['STATUS'] = 'Status'; +$lang['LAST_CHANGED_BY'] = 'Last changed by'; +$lang['CHANGES'] = 'Changes'; +$lang['REPORT_CHANGE_TEXT'] = 'Marked as "%1$s" by %2$s on %3$s.'; +$lang['REPORT_CHANGE_TEXT_COMMENT'] = 'Marked as "%1$s" by %2$s on %3$s:
    %4$s'; +$lang['REPORT_CHANGE_DELETE_TEXT'] = 'Suggested for deletion by %1$s on %2$s.'; +$lang['ACTION'] = 'Action'; +$lang['REPORT_MARK'] = 'Mark as'; +$lang['OPEN_REPORTS'] = 'Offene Meldungen'; +$lang['NO_REPORTS_FOUND'] = 'No matching reports found.'; +$lang['NO_REPORTS_SELECTED'] = 'No reports were selected.'; +$lang['REPORT_NOT_EXISTS'] = 'The selected report doesn\'t exist.'; +$lang['REPORT_NOT_SUPPORTED'] = 'This feature isn\'t supported.'; +$lang['CLICK_RETURN_REPORT'] = '%sClick here%s to return to the report.'; +$lang['CLICK_RETURN_REPORT_LIST'] = '%sClick here%s to return to the report list.'; + +$lang['REPORT_STATUS'] = array( + REPORT_NEW => 'new', + REPORT_OPEN => 'open', + REPORT_IN_PROCESS => 'in process', + REPORT_CLEARED => 'cleared', + REPORT_DELETE => 'suggested for deletion', +); + +$lang['REASON'] = 'Reason'; +$lang['REPORT_SUBJECT'] = 'Subject'; +$lang['REPORT_TITLE_EMPTY'] = 'You must enter a title of the report.'; +$lang['REPORT_DESC_EMPTY'] = 'You must enter a message.'; +$lang['REPORT_INSERTED'] = 'The report was sent to the team.'; + +$lang['CHANGE_REPORT'] = 'Change report'; +$lang['CHANGE_REPORTS'] = 'Change reports'; +$lang['CHANGE_REPORT_EXPLAIN'] = 'Are you sure you want to change the status of the selected report?'; +$lang['CHANGE_REPORTS_EXPLAIN'] = 'Are you sure you want to change the status of the selected reports?'; +$lang['COMMENT'] = 'Comment'; +$lang['REPORT_CHANGED'] = 'The status of the selected report was changed.'; +$lang['REPORTS_CHANGED'] = 'The status of the selected reports was changed.'; + +$lang['DELETE_REPORT'] = 'Delete report'; +$lang['DELETE_REPORTS'] = 'Delete reports'; +$lang['DELETE_REPORT_EXPLAIN'] = 'Are you sure you want to delete the selected report?'; +$lang['DELETE_REPORTS_EXPLAIN'] = 'Are you sure you want to delete the selected reports?'; +$lang['REPORT_DELETED'] = 'The selected report was deleted.'; +$lang['REPORTS_DELETED'] = 'The selected reports were deleted.';// +// +// Reports [END] +// + +// search +$lang['SEARCH_S'] = 'search...'; +$lang['FORUM_S'] = 'on forum'; +$lang['TRACKER_S'] = 'on tracker'; + +// copyright +$lang['NOTICE'] = '!ATTENTION!'; +$lang['POWERED'] = 'UG93ZXJlZCBieSA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3RvcnJlbnRwaWVyLm1lIj5Ub3JyZW50UGllciBJSTwvYT4gJmNvcHk7IE1laXRoYXIsIFRvcnJlbnRQaWVyIElJIFRlYW0='; +$lang['COPY'] = 'The site does not give electronic versions of products, and is engaged only in a collecting and cataloguing of the references sent and published at a forum by our readers. If you are the legal owner of any submitted material and do not wish that the reference to it was in our catalogue, contact us and we shall immediately remove her. Files for an exchange on tracker are given by users of a site, and the administration does not bear the responsibility for their maintenance. The request to not fill in the files protected by copyrights, and also files of the illegal maintenance!'; + +// FILELIST +$lang['FILELIST'] = 'Filelist'; +$lang['COLLAPSE'] = 'Collapse directory'; +$lang['EXPAND'] = 'Expand'; +$lang['SWITCH'] = 'Switch'; +$lang['EMPTY_ATTACH_ID'] = 'Missing file identifier!'; +$lang['TOR_NOT_FOUND'] = 'File is missing on the server!'; +$lang['ERROR_BUILD'] = 'Error: unable to build a list of files'; +$lang['TORFILE_INVALID'] = 'Torrent file is corrupt'; +// FILELIST + +// Profile +$lang['WEBSITE_ERROR'] = 'The "site" may contain only http://sitename'; +$lang['ICQ_ERROR'] = 'The field of "ICQ" may contain only icq number'; +$lang['INVALID_DATE'] = 'Error date '; +$lang['PROFILE_USER'] = 'Viewing profile'; +$lang['GOOD_UPDATE'] = 'was successfully changed'; +$lang['DENY_VISITORS'] = 'Hide the current list of downloads on your profile'; +$lang['BAN_USER'] = 'To prevent a user'; +$lang['USER_NOT_ALLOWED'] = 'Users are not permitted'; +$lang['HIDE_AVATARS'] = 'Show avatars'; +$lang['SHOW_CAPTION'] = 'Show your signature'; +$lang['DOWNLOAD_TORRENT'] = 'Download torrent'; +$lang['SEND_PM'] = 'Send PM'; +$lang['SEND_MESSAGE'] = 'Send message'; +$lang['NEW_THREADS'] = 'New Threads'; +$lang['PROFILE_NOT_FOUND'] = 'Profile not found'; + +$lang['USER_DELETE'] = 'Delete'; +$lang['USER_DELETE_EXPLAIN'] = 'Delete this user'; +$lang['USER_DELETE_ME'] = 'Sorry, your account is forbidden to remove!'; +$lang['USER_DELETE_CSV'] = 'Sorry, this account is not allowed to delete!'; +$lang['USER_DELETE_CONFIRM'] = 'Are you sure you want to delete this user?'; +$lang['USER_DELETED'] = 'User was successfully deleted'; +$lang['DELETE_USER_ALL_POSTS'] = 'Delete all user posts'; +$lang['DELETE_USER_ALL_POSTS_CONFIRM'] = 'Are you sure you want to delete all messages and all topics started by this user?'; +$lang['DELETE_USER_POSTS'] = 'Delete all messages, except for capital'; +$lang['DELETE_USER_POSTS_ME'] = 'Are you sure you want to delete all my posts?'; +$lang['DELETE_USER_POSTS_CONFIRM'] = 'Are you sure you want to delete all messages, except for capital?'; +$lang['USER_DELETED_POSTS'] = 'Posts were successfully removed'; + +$lang['USER'] = 'User'; +$lang['ROLE'] = 'Role:'; +$lang['MEMBERSHIP_IN'] = 'Membership in'; +$lang['PARTY'] = 'Party:'; +$lang['CANDIDATE'] = 'Candidate:'; +$lang['INDIVIDUAL'] = 'Has the individual rights'; +$lang['GROUP_LIST_HIDDEN'] = 'You are not authorized to view hidden groups'; + +$lang['USER_ACTIVATE'] = 'Activate'; +$lang['USER_DEACTIVATE'] = 'Deactivate'; +$lang['DEACTIVATE_CONFIRM'] = 'Are you sure you want to enable this user?'; +$lang['USER_ACTIVATE_ON'] = 'User has been successfully activated'; +$lang['USER_DEACTIVATE_ME'] = 'You can not deactivate my account!'; +$lang['ACTIVATE_CONFIRM'] = 'Are you sure you want to disable this user?'; +$lang['USER_ACTIVATE_OFF'] = 'User has been successfully deactivated'; + +// Register +$lang['CHOOSE_A_NAME'] = 'You should choose a name'; +$lang['CHOOSE_E_MAIL'] = 'You must specify the e-mail'; +$lang['CHOOSE_PASS'] = 'Field for the password must not be empty!'; +$lang['CHOOSE_PASS_ERR'] = 'Entered passwords do not match'; +$lang['CHOOSE_PASS_ERR_MIN'] = 'Your password must be at least %d characters'; +$lang['CHOOSE_PASS_ERR_MAX'] = 'Your password must be no longer than $d characters'; +$lang['CHOOSE_PASS_OK'] = 'Passwords match'; +$lang['CHOOSE_PASS_REG_OK'] = 'Passwords match, you can proceed with the registration'; +$lang['CHOOSE_PASS_FAILED'] = 'To change the password, you must correctly specify the current password'; +$lang['EMAILER_DISABLED'] = 'Sorry, this feature is temporarily not working'; +$lang['TERMS_ON'] = 'I agree with these terms and conditions'; +$lang['TERMS_OFF'] = 'I do not agree to these terms'; +$lang['JAVASCRIPT_ON_REGISTER'] = 'To register, heads necessary to enable JavaScript'; +$lang['REGISTERED_IN_TIME'] = "At the moment registration is closed

    You can register from 01:00 to 17:00 MSK (now ". date('H:i') ." MSK)

    We apologize for this inconvenience"; +$lang['AUTOCOMPLETE'] = 'Password generate'; +$lang['YOUR_NEW_PASSWORD'] = 'Your are new password:'; +$lang['REGENERATE'] = 'Regenerate'; + +// Debug +$lang['EXECUTION_TIME'] = 'Execution time:'; +$lang['SEC'] = 'sec'; +$lang['ON'] = 'on'; +$lang['OFF'] = 'off'; +$lang['MEMORY'] = 'Mem: '; +$lang['QUERIES'] = 'queries'; +$lang['LIMIT'] = 'Limit:'; + +// Attach Guest +$lang['DOWNLOAD_INFO'] = 'Download free and at maximum speed!'; +$lang['HOW_TO_DOWNLOAD'] = 'How to Download?'; +$lang['WHAT_IS_A_TORRENT'] = 'What is a torrent?'; +$lang['RATINGS_AND_LIMITATIONS'] = 'Ratings and Limitations'; + +$lang['SCREENSHOTS_RULES'] = 'Read the rules laid out screenshots!'; +$lang['SCREENSHOTS_RULES_TOPIC'] = 'Read the rules laid out the screenshots in this section!'; +$lang['AJAX_EDIT_OPEN'] = 'Have you already opened one quick editing!'; +$lang['GO_TO_PAGE'] = 'Go to page ...'; +$lang['EDIT'] = 'Edit'; +$lang['SAVE'] = 'Save'; +$lang['NEW_WINDOW'] = 'in a new window'; + +// BB Code +$lang['ALIGN'] = 'Align:'; +$lang['LEFT'] = 'To the left'; +$lang['RIGHT'] = 'To the right'; +$lang['CENTER'] = 'Centered'; +$lang['JUSTIFY'] = 'Fit to width'; +$lang['HOR_LINE'] = 'Horizontal line (Ctrl+8)'; +$lang['NEW_LINE'] = 'New line'; +$lang['BOLD'] = 'Bold text: [b]text[/b] (Ctrl+B)'; +$lang['ITALIC'] = 'Italic text: [i]text[/i] (Ctrl+I)'; +$lang['UNDERLINE'] = 'Underline text: [u]text[/u] (Ctrl+U)'; +$lang['STRIKEOUT'] = 'Strikeout text: [s]text[/s] (Ctrl+S)'; +$lang['QUOTE_TITLE'] = 'Quote text: [quote]text[/quote] (Ctrl+Q)'; +$lang['IMG_TITLE'] = 'Insert image: [img]http://image_url[/img] (Ctrl+R)'; +$lang['URL'] = 'Url'; +$lang['URL_TITLE'] = 'Insert URL: [url]http://url[/url] or [url=http://url]URL text[/url] (Ctrl+W)'; +$lang['CODE_TITLE'] = 'Code display: [code]code[/code] (Ctrl+K)'; +$lang['LIST'] = 'List'; +$lang['LIST_TITLE'] = 'List: [list]text[/list] (Ctrl+l)'; +$lang['LIST_ITEM'] = 'Ordered list: [list=]text[/list] (Ctrl+O)'; +$lang['QUOTE_SEL'] = 'Quote selected'; +$lang['TRANSLIT'] = 'Translit'; +$lang['TRANSLIT_TITLE'] = 'Translit selected to russian'; +$lang['JAVASCRIPT_ON'] = 'Heads necessary to send messages to enable JavaScript'; + +$lang['NEW'] = 'New'; +$lang['NEWEST'] = 'Newest'; +$lang['LATEST'] = 'Latest'; +$lang['POST'] = 'Post'; +$lang['OLD'] = 'Old'; + +// DL-List +$lang['DL_USER'] = 'Username'; +$lang['DL_PERCENT'] = 'Complete percent'; +$lang['DL_UL'] = 'UL'; +$lang['DL_DL'] = 'DL'; +$lang['DL_UL_SPEED'] = 'UL speed'; +$lang['DL_DL_SPEED'] = 'DL speed'; +$lang['DL_PORT'] = 'Port'; +$lang['DL_FORMULA'] = 'Formula: Uploaded/TorrentSize'; +$lang['DL_ULR'] = 'ULR'; +$lang['DL_STOPPED'] = 'stopped'; +$lang['DL_UPD'] = 'upd: '; +$lang['DL_INFO'] = 'shows data only for the current session'; + +// Post PIN +$lang['POST_PIN'] = 'Pin first post'; +$lang['POST_UNPIN'] = 'Unpin first post'; +$lang['POST_PINNED'] = 'First post pinned'; +$lang['POST_UNPINNED'] = 'First post unpinned'; + +// Management of my messages +$lang['GOTO_MY_MESSAGE'] = 'Close and return to the list "My Messages"'; +$lang['DEL_MY_MESSAGE'] = 'Selected topics have been removed from the "My Messages"'; +$lang['NO_TOPICS_MY_MESSAGE'] = 'No topics found in the list of your posts (maybe you have already removed them)'; +$lang['EDIT_MY_MESSAGE_LIST'] = 'edit list'; +$lang['SELECT_INVERT'] = 'select / invert'; +$lang['RESTORE_ALL_POSTS'] = 'Restore all posts'; +$lang['DEL_LIST_MY_MESSAGE'] = 'Delete the selected topic from the list'; +$lang['DEL_LIST_MY_MESSAGE_INFO'] = 'After removal of up to update the entire list it can be shown already deleted threads'; +$lang['DEL_LIST_INFO'] = 'To delete an order from the list, click on the icon to the left of the names of any section'; + +// Watched topics +$lang['WATCHED_TOPICS'] = 'Watched topics'; +$lang['NO_WATCHED_TOPICS'] = 'You are not watching any topics'; + +// set_die_append_msg +$lang['INDEX_RETURN'] = 'Back to home page'; +$lang['FORUM_RETURN'] = 'Back to forum'; +$lang['TOPIC_RETURN'] = 'Back to the topic'; +$lang['POST_RETURN'] = 'Go to post'; +$lang['PROFILE_EDIT_RETURN'] = 'Return to editing'; +$lang['PROFILE_RETURN'] = 'Go to the profile'; + +$lang['WARNING'] = 'Warning'; +$lang['INDEXER'] = "Reindex search"; + +$lang['FORUM_STYLE'] = 'Forum style'; + +$lang['LINKS_ARE_FORBIDDEN'] = 'Links are forbidden'; + +$lang['GENERAL'] = 'General Admin'; +$lang['USERS'] = 'User Admin'; +$lang['GROUPS'] = 'Group Admin'; +$lang['FORUMS'] = 'Forum Admin'; +$lang['MODS'] = 'Modifications'; +$lang['TORRENTPIER'] = 'Product configuration'; + +$lang['CONFIGURATION'] = 'Configuration'; +$lang['MANAGE'] = 'Management'; +$lang['DISALLOW'] = 'Disallow names'; +$lang['PRUNE'] = 'Pruning'; +$lang['MASS_EMAIL'] = 'Mass Email'; +$lang['RANKS'] = 'Ranks'; +$lang['SMILIES'] = 'Smilies'; +$lang['BAN_MANAGEMENT'] = 'Ban Control'; +$lang['WORD_CENSOR'] = 'Word Censors'; +$lang['EXPORT'] = 'Export'; +$lang['CREATE_NEW'] = 'Create'; +$lang['ADD_NEW'] = 'Add'; +$lang['CRON'] = 'Task Scheduler (cron)'; +$lang['REBUILD_SEARCH_INDEX'] = 'Rebuild search index'; +$lang['FORUM_CONFIG'] = 'Forum settings'; +$lang['TRACKER_CONFIG'] = 'Tracker settings'; +$lang['RELEASE_TEMPLATES'] = 'Release Templates'; +$lang['ACTIONS_LOG'] = 'Report on action'; + +// +//Welcome page +// +$lang['IDX_BROWSER_NSP_FRAME'] = 'Sorry, your browser doesn\'t seem to support frames'; +$lang['IDX_CLEAR_CACHE'] ='Clear Cache:'; +$lang['IDX_CLEAR_DATASTORE'] = 'Datastore'; +$lang['IDX_CLEAR_TEMPLATES'] = 'Templates'; +$lang['IDX_CLEAR_NEWNEWS'] = 'Net news'; +$lang['IDX_UPDATE'] = 'Update:'; +$lang['IDX_UPDATE_USER_LEVELS'] = 'User levels'; +$lang['IDX_SYNCHRONIZE'] = 'Synchronize:'; +$lang['IDX_SYNCHRONIZE_TOPICS'] = 'Topics'; +$lang['IDX_SYNCHRONIZE_POSTCOUNT'] = 'User posts count'; +// +// Welcome page END +// + +// +// Index +// +$lang['MAIN_INDEX'] = 'Forum Index'; +$lang['FORUM_STATS'] = 'Forum Statistics'; +$lang['ADMIN_INDEX'] = 'Admin Index'; +$lang['CREATE_PROFILE'] = 'Create profile'; + +$lang['TP_VERSION'] = 'TorrentPier version'; +$lang['TP_RELEASE_DATE'] = 'Release date'; +$lang['PHP_INFO'] = 'Information about PHP'; + +$lang['CLICK_RETURN_ADMIN_INDEX'] = 'Click %sHere%s to return to the Admin Index'; + +$lang['NUMBER_POSTS'] = 'Number of posts'; +$lang['POSTS_PER_DAY'] = 'Posts per day'; +$lang['NUMBER_TOPICS'] = 'Number of topics'; +$lang['TOPICS_PER_DAY'] = 'Topics per day'; +$lang['NUMBER_USERS'] = 'Number of users'; +$lang['USERS_PER_DAY'] = 'Users per day'; +$lang['BOARD_STARTED'] = 'Board started'; +$lang['AVATAR_DIR_SIZE'] = 'Avatar directory size'; +$lang['DATABASE_SIZE'] = 'Database size'; +$lang['GZIP_COMPRESSION'] ='Gzip compression'; +$lang['NOT_AVAILABLE'] = 'Not available'; + +// Clear Cache +$lang['CLEAR_CACHE'] = 'Clear Cache'; +$lang['TEMPLATES'] = 'Templates'; + +// Update +$lang['USER_LEVELS'] = 'User levels'; +$lang['USER_LEVELS_UPDATED'] = 'User levels have been updated'; + +// Synchronize +$lang['SYNCHRONIZE'] = 'Synchronize'; +$lang['TOPICS_DATA_SYNCHRONIZED'] = 'Topics data have been synchronized'; +$lang['USER_POSTS_COUNT'] = 'User posts count'; +$lang['USER POSTS COUNT SYNCHRONIZED'] = 'User posts count has been synchronized'; + +// Online Userlist +$lang['SHOW_ONLINE_USERLIST'] = 'Show the list of online users'; + +// +// Auth pages +// +$lang['USER_SELECT'] = 'Select a User'; +$lang['GROUP_SELECT'] = 'Select a Group'; +$lang['SELECT_A_FORUM'] = 'Select a Forum'; +$lang['AUTH_CONTROL_USER'] = 'User Permissions Control'; +$lang['AUTH_CONTROL_GROUP'] = 'Group Permissions Control'; +$lang['AUTH_CONTROL_FORUM'] = 'Forum Permissions Control'; +$lang['LOOK_UP_FORUM'] = 'Look up Forum'; + +$lang['GROUP_AUTH_EXPLAIN'] = 'Here you can alter the permissions and moderator status assigned to each user group. Do not forget when changing group permissions that individual user permissions may still allow the user entry to forums, etc. You will be warned if this is the case.'; +$lang['USER_AUTH_EXPLAIN'] = 'Here you can alter the permissions and moderator status assigned to each individual user. Do not forget when changing user permissions that group permissions may still allow the user entry to forums, etc. You will be warned if this is the case.'; +$lang['FORUM_AUTH_EXPLAIN'] = 'Here you can alter the authorisation levels of each forum. You will have both a simple and advanced method for doing this, where advanced offers greater control of each forum operation. Remember that changing the permission level of forums will affect which users can carry out the various operations within them.'; + +$lang['SIMPLE_MODE'] = 'Simple Mode'; +$lang['ADVANCED_MODE'] = 'Advanced Mode'; +$lang['MODERATOR_STATUS'] = 'Moderator status'; + +$lang['ALLOWED_ACCESS'] = 'Allowed Access'; +$lang['DISALLOWED_ACCESS'] = 'Disallowed Access'; +$lang['IS_MODERATOR'] = 'Is Moderator'; + +$lang['CONFLICT_WARNING'] = 'Authorisation Conflict Warning'; +$lang['CONFLICT_ACCESS_USERAUTH'] = 'This user still has access rights to this forum via group membership. You may want to alter the group permissions or remove this user the group to fully prevent them having access rights. The groups granting rights (and the forums involved) are noted below.'; +$lang['CONFLICT_MOD_USERAUTH'] = 'This user still has moderator rights to this forum via group membership. You may want to alter the group permissions or remove this user the group to fully prevent them having moderator rights. The groups granting rights (and the forums involved) are noted below.'; + +$lang['CONFLICT_ACCESS_GROUPAUTH'] = 'The following user (or users) still have access rights to this forum via their user permission settings. You may want to alter the user permissions to fully prevent them having access rights. The users granted rights (and the forums involved) are noted below.'; +$lang['CONFLICT_MOD_GROUPAUTH'] = 'The following user (or users) still have moderator rights to this forum via their user permissions settings. You may want to alter the user permissions to fully prevent them having moderator rights. The users granted rights (and the forums involved) are noted below.'; + +$lang['PUBLIC'] = 'Public'; +$lang['PRIVATE'] = 'Private'; +$lang['REGISTERED'] = 'Registered'; +$lang['ADMINISTRATORS'] = 'Administrators'; + +// These are displayed in the drop down boxes for advanced +// mode forum auth, try and keep them short! +$lang['FORUM_ALL'] = 'ALL'; +$lang['FORUM_REG'] = 'REG'; +$lang['FORUM_PRIVATE'] = 'PRIVATE'; +$lang['FORUM_MOD'] = 'MOD'; +$lang['FORUM_ADMIN'] = 'ADMIN'; + +$lang['AUTH_VIEW'] = $lang['VIEW'] = 'View'; +$lang['AUTH_READ'] = $lang['READ'] = 'Read'; +$lang['AUTH_POST'] = $lang['POST'] = 'Post'; +$lang['AUTH_REPLY'] = $lang['REPLY'] = 'Reply'; +$lang['AUTH_EDIT'] = $lang['EDIT'] = 'Edit'; +$lang['AUTH_DELETE'] = $lang['DELETE'] = 'Delete'; +$lang['AUTH_STICKY'] = $lang['STICKY'] = 'Sticky'; +$lang['AUTH_ANNOUNCE'] = $lang['ANNOUNCE'] = 'Announce'; +$lang['AUTH_VOTE'] = $lang['VOTE'] = 'Vote'; +$lang['AUTH_POLLCREATE'] = $lang['POLLCREATE'] = 'Poll create'; +$lang['AUTH_ATTACHMENTS'] = $lang['AUTH_ATTACH'] = 'Post Files'; +$lang['AUTH_DOWNLOAD'] = $lang['AUTH_DOWNLOAD'] = 'Download Files'; + +$lang['SIMPLE_PERMISSION'] = 'Simple Permissions'; + +$lang['USER_LEVEL'] = 'User Level'; +$lang['AUTH_USER'] = 'User'; +$lang['AUTH_ADMIN'] = 'Administrator'; +$lang['GROUP_MEMBERSHIPS'] = 'Usergroup memberships'; +$lang['USERGROUP_MEMBERS'] = 'This group has the following members'; + +$lang['FORUM_AUTH_UPDATED'] = 'Forum permissions have been updated'; +$lang['USER_AUTH_UPDATED'] = 'User permissions have been updated'; +$lang['GROUP_AUTH_UPDATED'] = 'Group permissions have been updated'; + +$lang['AUTH_UPDATED'] = 'Permissions have been updated'; +$lang['CLICK_RETURN_USERAUTH'] = 'Click %sHere%s to return to User Permissions'; +$lang['CLICK_RETURN_GROUPAUTH'] = 'Click %sHere%s to return to Group Permissions'; +$lang['CLICK_RETURN_FORUMAUTH'] = 'Click %sHere%s to return to Forum Permissions'; + +// +// Banning +// +$lang['BAN_CONTROL'] = 'Ban Control'; +$lang['BAN_EXPLAIN'] = 'Here you can control the banning of users. You can achieve this by banning either or both of a specific user or an individual or range of IP addresses or hostnames. These methods prevent a user from even reaching the index page of your board. To prevent a user from registering under a different username you can also specify a banned email address. Please note that banning an email address alone will not prevent that user from being able to log on or post to your board. You should use one of the first two methods to achieve this.'; +$lang['BAN_EXPLAIN_WARN'] = 'Please note that entering a range of IP addresses results in all the addresses between the start and end being added to the banlist. Attempts will be made to minimise the number of addresses added to the database by introducing wildcards automatically where appropriate. If you really must enter a range, try to keep it small or better yet state specific addresses.'; + +$lang['SELECT_IP'] = 'Select an IP address'; +$lang['SELECT_EMAIL'] = 'Select an Email address'; + +$lang['BAN_USERNAME'] = 'Ban one or more specific users'; +$lang['BAN_USERNAME_EXPLAIN'] = 'You can ban multiple users in one go using the appropriate combination of mouse and keyboard for your computer and browser'; + +$lang['BAN_IP'] = 'Ban one or more IP addresses or hostnames'; +$lang['IP_HOSTNAME'] = 'IP addresses or hostnames'; +$lang['BAN_IP_EXPLAIN'] = 'To specify several different IP addresses or hostnames separate them with commas. To specify a range of IP addresses, separate the start and end with a hyphen (-); to specify a wildcard, use an asterisk (*).'; + +$lang['BAN_EMAIL'] = 'Ban one or more email addresses'; +$lang['BAN_EMAIL_EXPLAIN'] = 'To specify more than one email address, separate them with commas. To specify a wildcard username, use * like *@hotmail.com'; + +$lang['UNBAN_USERNAME'] = 'Un-ban one more specific users'; +$lang['UNBAN_USERNAME_EXPLAIN'] = 'You can unban multiple users in one go using the appropriate combination of mouse and keyboard for your computer and browser'; + +$lang['UNBAN_IP'] = 'Un-ban one or more IP addresses'; +$lang['UNBAN_IP_EXPLAIN'] = 'You can unban multiple IP addresses in one go using the appropriate combination of mouse and keyboard for your computer and browser'; + +$lang['UNBAN_EMAIL'] = 'Un-ban one or more email addresses'; +$lang['UNBAN_EMAIL_EXPLAIN'] = 'You can unban multiple email addresses in one go using the appropriate combination of mouse and keyboard for your computer and browser'; + +$lang['NO_BANNED_USERS'] = 'No banned usernames'; +$lang['NO_BANNED_IP'] = 'No banned IP addresses'; +$lang['NO_BANNED_EMAIL'] = 'No banned email addresses'; + +$lang['BAN_UPDATE_SUCESSFUL'] = 'The banlist has been updated successfully'; +$lang['CLICK_RETURN_BANADMIN'] = 'Click %sHere%s to return to Ban Control'; + +// +// Configuration +// +$lang['GENERAL_CONFIG'] = 'General Configuration'; +$lang['CONFIG_EXPLAIN'] = 'The form below will allow you to customize all the general board options. For User and Forum configurations use the related links on the left hand side.'; + +$lang['CONFIG_MODS'] = 'Configuration modifications'; +$lang['MODS_EXPLAIN'] = 'This form allows you to adjust the modifications'; + +$lang['CLICK_RETURN_CONFIG'] = '%sClick Here to return to General Configuration%s'; +$lang['CLICK_RETURN_CONFIG_MODS'] = '%sBack to the settings modifications%s'; + +$lang['GENERAL_SETTINGS'] = 'General Board Settings'; +$lang['SITE_NAME'] = 'Site name'; +$lang['SITE_DESC'] = 'Site description'; +$lang['FORUMS_DISABLE'] = 'Disable board'; +$lang['BOARD_DISABLE_EXPLAIN'] = 'This will make the board unavailable to users. Administrators are able to access the Administration Panel while the board is disabled.'; +$lang['ACCT_ACTIVATION'] = 'Enable account activation'; +$lang['ACC_NONE'] = 'None'; // These three entries are the type of activation +$lang['ACC_USER'] = 'User'; +$lang['ACC_ADMIN'] = 'Admin'; + +$lang['ABILITIES_SETTINGS'] = 'User and Forum Basic Settings'; +$lang['MAX_POLL_OPTIONS'] = 'Max number of poll options'; +$lang['FLOOD_INTERVAL'] = 'Flood Interval'; +$lang['FLOOD_INTERVAL_EXPLAIN'] = 'Number of seconds a user must wait between posts'; +$lang['TOPICS_PER_PAGE'] = 'Topics Per Page'; +$lang['POSTS_PER_PAGE'] = 'Posts Per Page'; +$lang['HOT_THRESHOLD'] = 'Posts for Popular Threshold'; +$lang['DEFAULT_LANGUAGE'] = 'Default Language'; +$lang['DATE_FORMAT'] = 'Date Format'; +$lang['SYSTEM_TIMEZONE'] = 'System Timezone'; +$lang['ENABLE_PRUNE'] = 'Enable Forum Pruning'; +$lang['ALLOW_BBCODE'] = 'Allow BBCode'; +$lang['ALLOW_SMILIES'] = 'Allow Smilies'; +$lang['SMILIES_PATH'] = 'Smilies Storage Path'; +$lang['SMILIES_PATH_EXPLAIN'] = 'Path under your phpBB root dir, e.g. images/smiles'; +$lang['ALLOW_SIG'] = 'Allow Signatures'; +$lang['MAX_SIG_LENGTH'] = 'Maximum signature length'; +$lang['MAX_SIG_LENGTH_EXPLAIN'] = 'Maximum number of characters in user signatures'; +$lang['ALLOW_NAME_CHANGE'] = 'Allow Username changes'; + +$lang['EMAIL_SETTINGS'] = 'Email Settings'; + +// Visual Confirmation +$lang['VISUAL_CONFIRM'] = 'Enable Visual Confirmation'; +$lang['VISUAL_CONFIRM_EXPLAIN'] = 'Requires users enter a code defined by an image when registering.'; + +// Autologin Keys - added 2.0.18 +$lang['ALLOW_AUTOLOGIN'] = 'Allow automatic logins'; +$lang['ALLOW_AUTOLOGIN_EXPLAIN'] = 'Determines whether users are allowed to select to be automatically logged in when visiting the forum'; +$lang['AUTOLOGIN_TIME'] = 'Automatic login key expiry'; +$lang['AUTOLOGIN_TIME_EXPLAIN'] = 'How long an autologin key is valid for in days if the user does not visit the board. Set to zero to disable expiry.'; + +// +// Forum Management +// +$lang['FORUM_ADMIN_MAIN'] = 'Forum Administration'; +$lang['FORUM_ADMIN_EXPLAIN'] = 'From this panel you can add, delete, edit, re-order and re-synchronise categories and forums'; +$lang['EDIT_FORUM'] = 'Edit forum'; +$lang['CREATE_FORUM'] = 'Create new forum'; +$lang['CREATE_CATEGORY'] = 'Create new category'; +$lang['REMOVE'] = 'Remove'; +$lang['UPDATE_ORDER'] = 'Update Order'; +$lang['CONFIG_UPDATED'] = 'Forum Configuration Has Been Updated Successfully'; +$lang['MOVE_UP'] = 'Move up'; +$lang['MOVE_DOWN'] = 'Move down'; +$lang['RESYNC'] = 'Resync'; +$lang['NO_MODE'] = 'No mode was set'; +$lang['FORUM_EDIT_DELETE_EXPLAIN'] = 'The form below will allow you to customize all the general board options. For User and Forum configurations use the related links on the left hand side'; + +$lang['MOVE_CONTENTS'] = 'Move all contents'; +$lang['FORUM_DELETE'] = 'Delete Forum'; +$lang['FORUM_DELETE_EXPLAIN'] = 'The form below will allow you to delete a forum (or category) and decide where you want to put all topics (or forums) it contained.'; +$lang['CATEGORY_DELETE'] = 'Delete Category'; + +$lang['STATUS_LOCKED'] = 'Locked'; +$lang['STATUS_UNLOCKED'] = 'Unlocked'; +$lang['FORUM_SETTINGS'] = 'General Forum Settings'; +$lang['FORUM_NAME'] = 'Forum name'; +$lang['FORUM_DESC'] = 'Description'; +$lang['FORUM_STATUS'] = 'Forum status'; +$lang['FORUM_PRUNING'] = 'Auto-pruning'; + +$lang['PRUNE_DAYS'] = 'Remove topics that have not been posted to in'; +$lang['SET_PRUNE_DATA'] = 'You have turned on auto-prune for this forum but did not set a number of days to prune. Please go back and do so.'; + +$lang['MOVE_AND_DELETE'] = 'Move and Delete'; + +$lang['DELETE_ALL_POSTS'] = 'Delete all posts'; +$lang['NOWHERE_TO_MOVE'] = 'Nowhere to move to'; + +$lang['EDIT_CATEGORY'] = 'Edit Category'; +$lang['EDIT_CATEGORY_EXPLAIN'] = 'Use this form to modify a category\'s name.'; + +$lang['FORUMS_UPDATED'] = 'Forum and Category information updated successfully'; + +$lang['MUST_DELETE_FORUMS'] = 'You need to delete all forums before you can delete this category'; + +$lang['CLICK_RETURN_FORUMADMIN'] = 'Click %sHere%s to return to Forum Administration'; + +$lang['SHOW_ALL_FORUMS_ON_ONE_PAGE'] = 'Show all forums on one page'; + +// +// Smiley Management +// +$lang['SMILEY_TITLE'] = 'Smiles Editing Utility'; +$lang['SMILE_DESC'] = 'From this page you can add, remove and edit the emoticons or smileys that your users can use in their posts and private messages.'; + +$lang['SMILEY_CONFIG'] = 'Smiley Configuration'; +$lang['SMILEY_CODE'] = 'Smiley Code'; +$lang['SMILEY_URL'] = 'Smiley Image File'; +$lang['SMILEY_EMOT'] = 'Smiley Emotion'; +$lang['SMILE_ADD'] = 'Add a new Smiley'; +$lang['SMILE'] = 'Smile'; +$lang['EMOTION'] = 'Emotion'; + +$lang['SELECT_PAK'] = 'Select Pack (.pak) File'; +$lang['REPLACE_EXISTING'] = 'Replace Existing Smiley'; +$lang['KEEP_EXISTING'] = 'Keep Existing Smiley'; +$lang['SMILEY_IMPORT_INST'] = 'You should unzip the smiley package and upload all files to the appropriate Smiley directory for your installation. Then select the correct information in this form to import the smiley pack.'; +$lang['SMILEY_IMPORT'] = 'Smiley Pack Import'; +$lang['CHOOSE_SMILE_PAK'] = 'Choose a Smile Pack .pak file'; +$lang['IMPORT'] = 'Import Smileys'; +$lang['SMILE_CONFLICTS'] = 'What should be done in case of conflicts'; +$lang['DEL_EXISTING_SMILEYS'] = 'Delete existing smileys before import'; +$lang['IMPORT_SMILE_PACK'] = 'Import Smiley Pack'; +$lang['EXPORT_SMILE_PACK'] = 'Create Smiley Pack'; +$lang['EXPORT_SMILES'] = 'To create a smiley pack from your currently installed smileys, click %sHere%s to download the smiles.pak file. Name this file appropriately making sure to keep the .pak file extension. Then create a zip file containing all of your smiley images plus this .pak configuration file.'; + +$lang['SMILEY_ADD_SUCCESS'] = 'The Smiley has been added successfully'; +$lang['SMILEY_EDIT_SUCCESS'] = 'The Smiley has been updated successfully'; +$lang['SMILEY_IMPORT_SUCCESS'] = 'The Smiley Pack has been imported successfully!'; +$lang['SMILEY_DEL_SUCCESS'] = 'The Smiley has been removed successfully'; +$lang['CLICK_RETURN_SMILEADMIN'] = 'Click %sHere%s to return to Smiley Administration'; + +// +// User Management +// +$lang['USER_ADMIN'] = 'User Administration'; +$lang['USER_ADMIN_EXPLAIN'] = 'Here you can change your users\' information and certain options. To modify the users\' permissions, please use the user and group permissions system.'; + +$lang['LOOK_UP_USER'] = 'Look up user'; + +$lang['ADMIN_USER_FAIL'] = 'Could not update the user\'s profile.'; +$lang['ADMIN_USER_UPDATED'] = 'The user\'s profile has been updated successfully.'; +$lang['CLICK_RETURN_USERADMIN'] = 'Click %sHere%s to return to User Administration'; + +$lang['USER_ALLOWPM'] = 'Can send Private Messages'; +$lang['USER_ALLOWAVATAR'] = 'Can display avatar'; + +$lang['ADMIN_AVATAR_EXPLAIN'] = 'Here you can see and delete the user\'s current avatar.'; + +$lang['USER_SPECIAL'] = 'Special admin-only fields'; +$lang['USER_SPECIAL_EXPLAIN'] = 'These fields are not able to be modified by the users. Here you can set their status and other options that are not given to users.'; + +// +// Group Management +// +$lang['GROUP_ADMINISTRATION'] = 'Group Administration'; +$lang['GROUP_ADMIN_EXPLAIN'] = 'From this panel you can administer all your usergroups. You can delete, create and edit existing groups. You may choose moderators, toggle open/closed group status and set the group name and description'; +$lang['ERROR_UPDATING_GROUPS'] = 'There was an error while updating the groups'; +$lang['UPDATED_GROUP'] = 'The group has been updated successfully'; +$lang['ADDED_NEW_GROUP'] = 'The new group has been created successfully'; +$lang['DELETED_GROUP'] = 'The group has been deleted successfully'; +$lang['CREATE_NEW_GROUP'] = 'Create new group'; +$lang['EDIT_GROUP'] = 'Edit group'; +$lang['GROUP_STATUS'] = 'Group status'; +$lang['GROUP_DELETE'] = 'Delete group'; +$lang['GROUP_DELETE_CHECK'] = 'Delete this group'; +$lang['SUBMIT_GROUP_CHANGES'] = 'Submit Changes'; +$lang['RESET_GROUP_CHANGES'] = 'Reset Changes'; +$lang['NO_GROUP_NAME'] = 'You must specify a name for this group'; +$lang['NO_GROUP_MODERATOR'] = 'You must specify a moderator for this group'; +$lang['NO_GROUP_MODE'] = 'You must specify a mode for this group, open or closed'; +$lang['NO_GROUP_ACTION'] = 'No action was specified'; +$lang['DELETE_OLD_GROUP_MOD'] = 'Delete the old group moderator?'; +$lang['DELETE_OLD_GROUP_MOD_EXPL'] = 'If you\'re changing the group moderator, check this box to remove the old moderator from the group. Otherwise, do not check it, and the user will become a regular member of the group.'; +$lang['CLICK_RETURN_GROUPSADMIN'] = 'Click %sHere%s to return to Group Administration.'; +$lang['SELECT_GROUP'] = 'Select a group'; +$lang['LOOK_UP_GROUP'] = 'Look up group'; + +// +// Prune Administration +// +$lang['FORUM_PRUNE'] = 'Forum Prune'; +$lang['FORUM_PRUNE_EXPLAIN'] = 'This will delete any topic which has not been posted to within the number of days you select. If you do not enter a number then all topics will be deleted. It will not remove sticky topics and announcements. You will need to remove those topics manually.'; +$lang['DO_PRUNE'] = 'Do Prune'; +$lang['ALL_FORUMS'] = 'All Forums'; +$lang['PRUNE_TOPICS_NOT_POSTED'] = 'Prune topics with no replies in this many days'; +$lang['TOPICS_PRUNED'] = 'Topics pruned'; +$lang['POSTS_PRUNED'] = 'Posts pruned'; +$lang['PRUNE_SUCCESS'] = 'Forum has been pruned successfully'; +$lang['NOT_DAYS'] = 'Prune days not selected'; + +// +// Word censor +// +$lang['WORDS_TITLE'] = 'Word Censoring'; +$lang['WORDS_EXPLAIN'] = 'From this control panel you can add, edit, and remove words that will be automatically censored on your forums. In addition people will not be allowed to register with usernames containing these words. Wildcards (*) are accepted in the word field. For example, *test* will match detestable, test* would match testing, *test would match detest.'; +$lang['WORD'] = 'Word'; +$lang['EDIT_WORD_CENSOR'] = 'Edit word censor'; +$lang['REPLACEMENT'] = 'Replacement'; +$lang['ADD_NEW_WORD'] = 'Add new word'; +$lang['UPDATE_WORD'] = 'Update word censor'; + +$lang['MUST_ENTER_WORD'] = 'You must enter a word and its replacement'; +$lang['NO_WORD_SELECTED'] = 'No word selected for editing'; + +$lang['WORD_UPDATED'] = 'The selected word censor has been updated successfully'; +$lang['WORD_ADDED'] = 'The word censor has been added successfully'; +$lang['WORD_REMOVED'] = 'The selected word censor has been removed successfully '; + +$lang['CLICK_RETURN_WORDADMIN'] = 'Click %sHere%s to return to Word Censor Administration'; + +// +// Mass Email +// +$lang['MASS_EMAIL_EXPLAIN'] = 'Here you can email a message to either all of your users or all users of a specific group. To do this, an email will be sent out to the administrative email address supplied, with a blind carbon copy sent to all recipients. If you are emailing a large group of people please be patient after submitting and do not stop the page halfway through. It is normal for a mass emailing to take a long time and you will be notified when the script has completed'; +$lang['COMPOSE'] = 'Compose'; + +$lang['RECIPIENTS'] = 'Recipients'; +$lang['ALL_USERS'] = 'All Users'; + +$lang['EMAIL_SUCCESSFULL'] = 'Your message has been sent'; +$lang['CLICK_RETURN_MASSEMAIL'] = 'Click %sHere%s to return to the Mass Email form'; + +// +// Ranks admin +// +$lang['RANKS_TITLE'] = 'Rank Administration'; +$lang['RANKS_EXPLAIN'] = 'Using this form you can add, edit, view and delete ranks. You can also create custom ranks which can be applied to a user via the user management facility'; + +$lang['ADD_NEW_RANK'] = 'Add new rank'; +$lang['RANK_TITLE'] = 'Rank Title'; +$lang['STYLE_COLOR'] = 'Style rank'; +$lang['STYLE_COLOR_FAQ'] = 'Specify class for painting at the title of the desired color. For example colorAdmin'; +$lang['RANK_SPECIAL'] = 'Set as Special Rank'; +$lang['RANK_MINIMUM'] = 'Minimum Posts'; +$lang['RANK_MAXIMUM'] = 'Maximum Posts'; +$lang['RANK_IMAGE'] = 'Rank Image'; +$lang['RANK_IMAGE_EXPLAIN'] = 'Use this to define a small image associated with the rank'; + +$lang['MUST_SELECT_RANK'] = 'You must select a rank'; +$lang['NO_ASSIGNED_RANK'] = 'No special rank assigned'; + +$lang['RANK_UPDATED'] = 'The rank has been updated successfully'; +$lang['RANK_ADDED'] = 'The rank has been added successfully'; +$lang['RANK_REMOVED'] = 'The rank has been deleted successfully'; +$lang['NO_UPDATE_RANKS'] = 'The rank has been deleted successfully. However, user accounts using this rank were not updated. You will need to manually reset the rank on these accounts'; + +$lang['CLICK_RETURN_RANKADMIN'] = 'Click %sHere%s to return to Rank Administration'; + +// +// Disallow Username Admin +// +$lang['DISALLOW_CONTROL'] = 'Username Disallow Control'; +$lang['DISALLOW_EXPLAIN'] = 'Here you can control usernames which will not be allowed to be used. Disallowed usernames are allowed to contain a wildcard character of *. Please note that you will not be allowed to specify any username that has already been registered. You must first delete that name then disallow it.'; + +$lang['DELETE_DISALLOW'] = 'Delete'; +$lang['DELETE_DISALLOW_TITLE'] = 'Remove a Disallowed Username'; +$lang['DELETE_DISALLOW_EXPLAIN'] = 'You can remove a disallowed username by selecting the username from this list and clicking submit'; + +$lang['ADD_DISALLOW'] = 'Add'; +$lang['ADD_DISALLOW_TITLE'] = 'Add a disallowed username'; +$lang['ADD_DISALLOW_EXPLAIN'] = 'You can disallow a username using the wildcard character * to match any character'; + +$lang['NO_DISALLOWED'] = 'No Disallowed Usernames'; + +$lang['DISALLOWED_DELETED'] = 'The disallowed username has been removed successfully'; +$lang['DISALLOW_SUCCESSFUL'] = 'The disallowed username has been added successfully'; +$lang['DISALLOWED_ALREADY'] = 'The name you entered could not be disallowed. It either already exists in the list, exists in the word censor list, or a matching username is present.'; + +$lang['CLICK_RETURN_DISALLOWADMIN'] = 'Click %sHere%s to return to Disallow Username Administration'; + +// +// Version Check +// +$lang['VERSION_INFORMATION'] = 'Version Information'; + +// +// Login attempts configuration +// +$lang['MAX_LOGIN_ATTEMPTS'] = 'Allowed login attempts'; +$lang['MAX_LOGIN_ATTEMPTS_EXPLAIN'] = 'The number of allowed board login attempts.'; +$lang['LOGIN_RESET_TIME'] = 'Login lock time'; +$lang['LOGIN_RESET_TIME_EXPLAIN'] = 'Time in minutes the user have to wait until he is allowed to login again after exceeding the number of allowed login attempts.'; + +// +// Permissions List +// +$lang['PERMISSIONS_LIST'] = 'Permissions List'; +$lang['AUTH_CONTROL_CATEGORY'] = 'Category Permissions Control'; +$lang['FORUM_AUTH_LIST_EXPLAIN'] = 'This provides a summary of the authorisation levels of each forum. You can edit these permissions, using either a simple or advanced method by clicking on the forum name. Remember that changing the permission level of forums will affect which users can carry out the various operations within them.'; +$lang['CAT_AUTH_LIST_EXPLAIN'] = 'This provides a summary of the authorisation levels of each forum within this category. You can edit the permissions of individual forums, using either a simple or advanced method by clicking on the forum name. Alternatively, you can set the permissions for all the forums in this category by using the drop-down menus at the bottom of the page. Remember that changing the permission level of forums will affect which users can carry out the various operations within them.'; +$lang['FORUM_AUTH_LIST_EXPLAIN_ALL'] = 'All users'; +$lang['FORUM_AUTH_LIST_EXPLAIN_REG'] = 'All registered users'; +$lang['FORUM_AUTH_LIST_EXPLAIN_PRIVATE'] = 'Only users granted special permission'; +$lang['FORUM_AUTH_LIST_EXPLAIN_MOD'] = 'Only moderators of this forum'; +$lang['FORUM_AUTH_LIST_EXPLAIN_ADMIN'] = 'Only administrators'; +$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_VIEW'] = '%s can view this forum'; +$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_READ'] = '%s can read posts in this forum'; +$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_POST'] = '%s can post in this forum'; +$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_REPLY'] = '%s can reply to posts this forum'; +$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_EDIT'] = '%s can edit posts in this forum'; +$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_DELETE'] = '%s can delete posts in this forum'; +$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_STICKY'] = '%s can post sticky topics in this forum'; +$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_ANNOUNCE'] = '%s can post announcements in this forum'; +$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_VOTE'] = '%s can vote in polls in this forum'; +$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_POLLCREATE'] = '%s can create polls in this forum'; +$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_ATTACHMENTS'] = '%s can post attachments'; +$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_DOWNLOAD'] = '%s can download attachments'; + +// +// Misc +// +$lang['SF_SHOW_ON_INDEX'] = 'Show on main page'; +$lang['SF_PARENT_FORUM'] = 'Parent forum'; +$lang['SF_NO_PARENT'] = 'No parent forum'; +$lang['TEMPLATE'] = 'Template'; + +// +// Reports (need to translate!) +// +$lang['REPORT_CONFIG_EXPLAIN'] = 'On this page you can change the general configuration of the report feature.'; +$lang['REPORT_SUBJECT_AUTH'] = 'Individual permissions'; +$lang['REPORT_SUBJECT_AUTH_EXPLAIN'] = 'If this setting is enabled, moderators can only view reports they can edit. For example a post report will be hidden if the user isn\'t a moderator of the forum the post belongs to.'; +$lang['REPORT_MODULES_CACHE'] = 'Cache modules in a file'; +$lang['REPORT_MODULES_CACHE_EXPLAIN'] = 'Note: The cache directory must be set to CHMOD 777 (full write permissions).'; +$lang['REPORT_NOTIFY'] = 'Email notification'; +$lang['REPORT_NOTIFY_CHANGE'] = 'on status changes and new reports'; +$lang['REPORT_NOTIFY_NEW'] = 'on new reports'; +$lang['REPORT_LIST_ADMIN'] = 'Admin-only report list'; +$lang['REPORT_NEW_WINDOW'] = 'Open subjects in a new window'; +$lang['REPORT_NEW_WINDOW_EXPLAIN'] = 'This setting also affects direct links to the reports at the view topic page.'; +$lang['REPORT_CONFIG_UPDATED'] = 'The configuration has been updated.'; +$lang['CLICK_RETURN_REPORT_CONFIG'] = 'Click %sHere%s to return to the configuration.'; + +$lang['MODULES_REASONS'] = 'Modules and Reasons'; +$lang['REPORT_ADMIN_EXPLAIN'] = 'On this page you can install new report modules and edit or uninstall currently installed modules. In addition you can set up predefined reasons for every report module.'; +$lang['REPORT_MODULE'] = 'Report module'; +$lang['INSTALLED_MODULES'] = 'Installed modules'; +$lang['NO_MODULES_INSTALLED'] = 'No modules installed'; +$lang['REASONS'] = 'Reasons (%d)'; +$lang['SYNC'] = 'Sync'; +$lang['UNINSTALL'] = 'Uninstall'; +$lang['INSTALL2'] = 'Install'; +$lang['INACTIVE_MODULES'] = 'Inactive modules'; +$lang['NO_MODULES_INACTIVE'] = 'No inactive modules'; +$lang['REPORT_MODULE_NOT_EXISTS'] = 'The selected module doesn\'t exist.'; +$lang['CLICK_RETURN_REPORT_ADMIN'] = 'Click %sHere%s to return to the Modules & Reasons administration.'; + +$lang['BACK_MODULES'] = 'Back to the modules'; +$lang['REPORT_REASON'] = 'Report reason'; +$lang['NO_REASONS'] = 'No reasons for this module'; +$lang['ADD_REASON'] = 'Add reason'; +$lang['EDIT_REASON'] = 'Edit reason'; +$lang['REASON_DESC_EXPLAIN'] = 'If the description matches with a language variable, the variable will be used instead.'; +$lang['REASON_DESC_EMPTY'] = 'You must enter a report reason.'; +$lang['REPORT_REASON_ADDED'] = 'The report reason has been added.'; +$lang['REPORT_REASON_EDITED'] = 'The report reason has been edited.'; +$lang['DELETE_REASON'] = 'Delete reason'; +$lang['DELETE_REPORT_REASON_EXPLAIN'] = 'Are you sure you want to delete the selected report reason?'; +$lang['REPORT_REASON_DELETED'] = 'The report reason has been deleted.'; +$lang['REPORT_REASON_NOT_EXISTS'] = 'The selected report reason doesn\'t exist.'; +$lang['CLICK_RETURN_REPORT_REASONS'] = 'Click %sHere%s to return to the report reasons administration.'; + +$lang['REPORT_MODULE_SYNCED'] = 'The module has been synced.'; + +$lang['UNINSTALL_REPORT_MODULE'] = 'Uninstall module'; +$lang['UNINSTALL_REPORT_MODULE_EXPLAIN'] = 'Are you sure you want to uninstall the selected report module?
    Note: All reports in the module will be deleted, too.'; +$lang['REPORT_MODULE_UNINSTALLED'] = 'The module has been uninstalled.'; + +$lang['INSTALL_REPORT_MODULE'] = 'Install module'; +$lang['EDIT_REPORT_MODULE'] = 'Edit module'; +$lang['REPORT_PRUNE'] = 'Prune reports'; +$lang['REPORT_PRUNE_EXPLAIN'] = 'Cleared reports and reports marked for deletion will be deleted automatically after x days. Set to zero to disable the feature.'; +$lang['REPORT_PERMISSIONS'] = 'Report permissions'; +$lang['WRITE'] = 'Write'; +$lang['REPORT_AUTH'] = array( + REPORT_AUTH_USER => 'Users', + REPORT_AUTH_MOD => 'Moderators', + REPORT_AUTH_CONFIRM => 'Moderators (after confirmation)', + REPORT_AUTH_ADMIN => 'Administrators'); +$lang['REPORT_AUTH_NOTIFY_EXPLAIN'] = 'Moderators will only be notified if they can view and edit the report.'; +$lang['REPORT_AUTH_DELETE_EXPLAIN'] = 'If you select Moderators (after confirmation), deletions have to be confirmed by an administrator.'; +$lang['REPORT_MODULE_INSTALLED'] = 'The module has been installed.'; +$lang['REPORT_MODULE_EDITED'] = 'The module has been edited.'; +// +// Reports [END] +// + +// +// Mods +// +$lang['MAX_NEWS_TITLE'] = 'Max. length of the news'; +$lang['NEWS_COUNT'] = 'How many news show'; +$lang['NEWS_FORUM_ID'] = 'From what forums to display
    Of the several forums raises, separated by commas. Example 1,2,3
    '; +$lang['NOAVATAR'] = 'No avatar'; +$lang['TRACKER_STATS'] = 'Statistics on the tracker'; +$lang['WHOIS_INFO'] = 'Information about IP address'; +$lang['SHOW_MOD_HOME_PAGE'] = 'Show on moderators the index.php'; +$lang['PREMOD_HELP'] = '

    Pre-moderation

    If you do not have distributions to the status of v, #, or T in this section, including subsections, the distribution will automatically receive this status
    '; +$lang['TOR_COMMENT'] = '

    Commentary on the status of distribution

    Comment successfully allows you to specify releasers mistakes. When nedooformlennyh statuses releasers available form of the response of the correction release
    '; +$lang['SEED_BONUS_ADD'] = '

    Adding seed bonus

    Number of distributions are handed out by the user and the size of bonuses for them (charging times an hour)
    '; +$lang['SEED_BONUS_RELEASE'] = 'to N-number of releases'; +$lang['SEED_BONUS_POINTS'] = 'bonuses in an hour'; +$lang['SEED_BONUS_TOR_SIZE'] = '

    Minimum distribution for which will be awarded bonuses

    If you want to calculate bonuses for all distribution, leave blank.
    '; +$lang['SEED_BONUS_USER_REGDATA'] = '

    Minimum length of user tracker, after which will be awarded bonuses

    If you want to accrue bonuses to all users, leave blank.
    '; +$lang['SEED_BONUS_WARNING'] = 'ATTENTION! Seed Bonuses should be in ascending order'; +$lang['SEED_BONUS_EXCHANGE'] = 'Configuring Exchange Sid Bonuses'; +$lang['SEED_BONUS_ROPORTION'] = 'Proportion addition for an exchange of bonuses on GB'; + +// Modules, this replaces the keys used +$lang['CONTROL_PANEL'] = 'Control Panel'; +$lang['SHADOW_ATTACHMENTS'] = 'Shadow Attachments'; +$lang['FORBIDDEN_EXTENSIONS'] = 'Forbidden Extensions'; +$lang['EXTENSION_CONTROL'] = 'Extension Control'; +$lang['EXTENSION_GROUP_MANAGE'] = 'Extension Groups Control'; +$lang['SPECIAL_CATEGORIES'] = 'Special Categories'; +$lang['SYNC_ATTACHMENTS'] = 'Synchronize Attachments'; +$lang['QUOTA_LIMITS'] = 'Quota Limits'; + +// Attachments -> Management +$lang['ATTACH_SETTINGS'] = 'Attachment Settings'; +$lang['MANAGE_ATTACHMENTS_EXPLAIN'] = 'Here you can configure the Main Settings for the Attachment Mod. If you press the Test Settings Button, the Attachment Mod does a few System Tests to be sure that the Mod will work properly. If you have problems with uploading Files, please run this Test, to get a detailed error-message.'; +$lang['ATTACH_FILESIZE_SETTINGS'] = 'Attachment Filesize Settings'; +$lang['ATTACH_NUMBER_SETTINGS'] = 'Attachment Number Settings'; +$lang['ATTACH_OPTIONS_SETTINGS'] = 'Attachment Options'; + +$lang['UPLOAD_DIRECTORY'] = 'Upload Directory'; +$lang['UPLOAD_DIRECTORY_EXPLAIN'] = 'Enter the relative path from your phpBB2 installation to the Attachments upload directory. For example, enter \'files\' if your phpBB2 Installation is located at http://www.yourdomain.com/phpBB2 and the Attachment Upload Directory is located at http://www.yourdomain.com/phpBB2/files.'; +$lang['ATTACH_IMG_PATH'] = 'Attachment Posting Icon'; +$lang['ATTACH_IMG_PATH_EXPLAIN'] = 'This Image is displayed next to Attachment Links in individual Postings. Leave this field empty if you don\'t want an icon to be displayed. This Setting will be overwritten by the Settings in Extension Groups Management.'; +$lang['ATTACH_TOPIC_ICON'] = 'Attachment Topic Icon'; +$lang['ATTACH_TOPIC_ICON_EXPLAIN'] = 'This Image is displayed before topics with Attachments. Leave this field empty if you don\'t want an icon to be displayed.'; +$lang['ATTACH_DISPLAY_ORDER'] = 'Attachment Display Order'; +$lang['ATTACH_DISPLAY_ORDER_EXPLAIN'] = 'Here you can choose whether to display the Attachments in Posts/PMs in Descending Filetime Order (Newest Attachment First) or Ascending Filetime Order (Oldest Attachment First).'; +$lang['SHOW_APCP'] = 'Use the new control panel applications'; +$lang['SHOW_APCP_EXPLAIN'] = 'Choose whether you want to use a separate control panel applications (yes), or the old method with two boxes for applications and editing applications (none) in the message box. It is difficult to explain how it looks, so try for yourself.'; + +$lang['MAX_FILESIZE_ATTACH'] = 'Filesize'; +$lang['MAX_FILESIZE_ATTACH_EXPLAIN'] = 'Maximum filesize for Attachments. A value of 0 means \'unlimited\'. This Setting is restricted by your Server Configuration. For example, if your php Configuration only allows a maximum of 2 MB uploads, this cannot be overwritten by the Mod.'; +$lang['ATTACH_QUOTA'] = 'Attachment Quota'; +$lang['ATTACH_QUOTA_EXPLAIN'] = 'Maximum Disk Space ALL Attachments can hold on your Webspace. A value of 0 means \'unlimited\'.'; +$lang['MAX_FILESIZE_PM'] = 'Maximum Filesize in Private Messages Folder'; +$lang['MAX_FILESIZE_PM_EXPLAIN'] = 'Maximum Disk Space Attachments can use up in each User\'s Private Message box. A value of 0 means \'unlimited\'.'; +$lang['DEFAULT_QUOTA_LIMIT'] = 'Default Quota Limit'; +$lang['DEFAULT_QUOTA_LIMIT_EXPLAIN'] = 'Here you are able to select the Default Quota Limit automatically assigned to newly registered Users and Users without an defined Quota Limit. The Option \'No Quota Limit\' is for not using any Attachment Quotas, instead using the default Settings you have defined within this Management Panel.'; + +$lang['MAX_ATTACHMENTS'] = 'Maximum Number of Attachments'; +$lang['MAX_ATTACHMENTS_EXPLAIN'] = 'The maximum number of attachments allowed in one post.'; +$lang['MAX_ATTACHMENTS_PM'] = 'Maximum number of Attachments in one Private Message'; +$lang['MAX_ATTACHMENTS_PM_EXPLAIN'] = 'Define the maximum number of attachments the user is allowed to include in a private message.'; + +$lang['DISABLE_MOD'] = 'Disable Attachment Mod'; +$lang['DISABLE_MOD_EXPLAIN'] = 'This option is mainly for testing new templates or themes, it disables all Attachment Functions except the Admin Panel.'; +$lang['PM_ATTACHMENTS'] = 'Allow Attachments in Private Messages'; +$lang['PM_ATTACHMENTS_EXPLAIN'] = 'Allow/Disallow attaching files to Private Messages.'; +$lang['ATTACHMENT_TOPIC_REVIEW'] = 'Show applications in the review of communications topics when writing an answer?'; +$lang['ATTACHMENT_TOPIC_REVIEW_EXPLAIN'] = 'If you put a "yes", all applications will be displayed in the review of communications topics.'; + +// Attachments -> Shadow Attachments +$lang['SHADOW_ATTACHMENTS_EXPLAIN'] = 'Here you can delete attachment data from postings when the files are missing from your filesystem, and delete files that are no longer attached to any postings. You can download or view a file if you click on it; if no link is present, the file does not exist.'; +$lang['SHADOW_ATTACHMENTS_FILE_EXPLAIN'] = 'Delete all attachments files that exist on your filesystem and are not assigned to an existing post.'; +$lang['SHADOW_ATTACHMENTS_ROW_EXPLAIN'] = 'Delete all posting attachment data for files that don\'t exist on your filesystem.'; +$lang['EMPTY_FILE_ENTRY'] = 'Empty File Entry'; + +// Attachments -> Sync +$lang['SYNC_THUMBNAIL_RESETTED'] = 'Thumbnail resetted for Attachment: %s'; // replace %s with physical Filename +$lang['ATTACH_SYNC_FINISHED'] = 'Attachment Syncronization Finished.'; +$lang['SYNC_TOPICS'] = 'Sync Topics'; +$lang['SYNC_POSTS'] = 'Sync Posts'; +$lang['SYNC_THUMBNAILS'] = 'Sync Thumbnails'; + +// Extensions -> Extension Control +$lang['MANAGE_EXTENSIONS'] = 'Manage Extensions'; +$lang['MANAGE_EXTENSIONS_EXPLAIN'] = 'Here you can manage your File Extensions. If you want to allow/disallow a Extension to be uploaded, please use the Extension Groups Management.'; +$lang['EXPLANATION'] = 'Explanation'; +$lang['EXTENSION_GROUP'] = 'Extension Group'; +$lang['INVALID_EXTENSION'] = 'Invalid Extension'; +$lang['EXTENSION_EXIST'] = 'The Extension %s already exist'; // replace %s with the Extension +$lang['UNABLE_ADD_FORBIDDEN_EXTENSION'] = 'The Extension %s is forbidden, you are not able to add it to the allowed Extensions'; // replace %s with Extension + +// Extensions -> Extension Groups Management +$lang['MANAGE_EXTENSION_GROUPS'] = 'Manage Extension Groups'; +$lang['MANAGE_EXTENSION_GROUPS_EXPLAIN'] = 'Here you can add, delete and modify your Extension Groups, you can disable Extension Groups, assign a special Category to them, change the download mechanism and you can define a Upload Icon which will be displayed in front of an Attachment belonging to the Group.'; +$lang['SPECIAL_CATEGORY'] = 'Special Category'; +$lang['CATEGORY_IMAGES'] = 'Images'; +$lang['ALLOWED'] = 'Allowed'; +$lang['ALLOWED_FORUMS'] = 'Allowed Forums'; +$lang['EXT_GROUP_PERMISSIONS'] = 'Group Permissions'; +$lang['DOWNLOAD_MODE'] = 'Download Mode'; +$lang['UPLOAD_ICON'] = 'Upload Icon'; +$lang['MAX_GROUPS_FILESIZE'] = 'Maximum Filesize'; +$lang['EXTENSION_GROUP_EXIST'] = 'The Extension Group %s already exist'; // replace %s with the group name + +// Extensions -> Special Categories +$lang['MANAGE_CATEGORIES'] = 'Manage Special Categories'; +$lang['MANAGE_CATEGORIES_EXPLAIN'] = 'Here you can configure the Special Categories. You can set up Special Parameters and Conditions for the Special Categorys assigned to an Extension Group.'; +$lang['SETTINGS_CAT_IMAGES'] = 'Settings for Special Category: Images'; +$lang['SETTINGS_CAT_FLASH'] = 'Settings for Special Category: Flash Files'; +$lang['DISPLAY_INLINED'] = 'Display Images Inlined'; +$lang['DISPLAY_INLINED_EXPLAIN'] = 'Choose whether to display images directly within the post (yes) or to display images as a link ?'; +$lang['MAX_IMAGE_SIZE'] = 'Maximum Image Dimensions'; +$lang['MAX_IMAGE_SIZE_EXPLAIN'] = 'Here you can define the maximum allowed Image Dimension to be attached (Width x Height in pixels).
    If it is set to 0x0, this feature is disabled. With some Images this Feature will not work due to limitations in PHP.'; +$lang['IMAGE_LINK_SIZE'] = 'Image Link Dimensions'; +$lang['IMAGE_LINK_SIZE_EXPLAIN'] = 'If this defined Dimension of an Image is reached, the Image will be displayed as a Link, rather than displaying it inlined,
    if Inline View is enabled (Width x Height in pixels).
    If it is set to 0x0, this feature is disabled. With some Images this Feature will not work due to limitations in PHP.'; +$lang['ASSIGNED_GROUP'] = 'Assigned Group'; + +$lang['IMAGE_CREATE_THUMBNAIL'] = 'Create Thumbnail'; +$lang['IMAGE_CREATE_THUMBNAIL_EXPLAIN'] = 'Always create a Thumbnail. This feature overrides nearly all Settings within this Special Category, except of the Maximum Image Dimensions. With this Feature a Thumbnail will be displayed within the post, the User can click it to open the real Image.
    Please Note that this feature requires Imagick to be installed, if it\'s not installed or if Safe-Mode is enabled the GD-Extension of PHP will be used. If the Image-Type is not supported by PHP, this Feature will be not used.'; +$lang['IMAGE_MIN_THUMB_FILESIZE'] = 'Minimum Thumbnail Filesize'; +$lang['IMAGE_MIN_THUMB_FILESIZE_EXPLAIN'] = 'If a Image is smaller than this defined Filesize, no Thumbnail will be created, because it\'s small enough.'; +$lang['IMAGE_IMAGICK_PATH'] = 'Imagick Program (Complete Path)'; +$lang['IMAGE_IMAGICK_PATH_EXPLAIN'] = 'Enter the Path to the convert program of imagick, normally /usr/bin/convert (on windows: c:/imagemagick/convert.exe).'; +$lang['IMAGE_SEARCH_IMAGICK'] = 'Search Imagick'; + +$lang['USE_GD2'] = 'Make use of GD2 Extension'; +$lang['USE_GD2_EXPLAIN'] = 'PHP is able to be compiled with the GD1 or GD2 Extension for image manipulating. To correctly create Thumbnails without imagemagick the Attachment Mod uses two different methods, based on your selection here. If your thumbnails are in a bad quality or screwed up, try to change this setting.'; +$lang['ATTACHMENT_VERSION'] = 'Attachment Mod Version %s'; // %s is the version number + +// Extensions -> Forbidden Extensions +$lang['MANAGE_FORBIDDEN_EXTENSIONS'] = 'Manage Forbidden Extensions'; +$lang['MANAGE_FORBIDDEN_EXTENSIONS_EXPLAIN'] = 'Here you can add or delete the forbidden extensions. The Extensions php, php3 and php4 are forbidden by default for security reasons, you can not delete them.'; +$lang['FORBIDDEN_EXTENSION_EXIST'] = 'The forbidden Extension %s already exist'; // replace %s with the extension +$lang['EXTENSION_EXIST_FORBIDDEN'] = 'The Extension %s is defined in your allowed Extensions, please delete it their before you add it here.'; // replace %s with the extension + +// Extensions -> Extension Groups Control -> Group Permissions +$lang['GROUP_PERMISSIONS_TITLE_ADMIN'] = 'Extension Group Permissions -> \'%s\''; // Replace %s with the Groups Name +$lang['GROUP_PERMISSIONS_EXPLAIN'] = 'Here you are able to restrict the selected Extension Group to Forums of your choice (defined in the Allowed Forums Box). The Default is to allow Extension Groups to all Forums the User is able to Attach Files into (the normal way the Attachment Mod did it since the beginning). Just add those Forums you want the Extension Group (the Extensions within this Group) to be allowed there, the default ALL FORUMS will disappear when you add Forums to the List. You are able to re-add ALL FORUMS at any given Time. If you add a Forum to your Board and the Permission is set to ALL FORUMS nothing will change. But if you have changed and restricted the access to certain Forums, you have to check back here to add your newly created Forum. It is easy to do this automatically, but this will force you to edit a bunch of Files, therefore i have chosen the way it is now. Please keep in mind, that all of your Forums will be listed here.'; +$lang['NOTE_ADMIN_EMPTY_GROUP_PERMISSIONS'] = 'NOTE:
    Within the below listed Forums your Users are normally allowed to attach files, but since no Extension Group is allowed to be attached there, your Users are unable to attach anything. If they try, they will receive Error Messages. Maybe you want to set the Permission \'Post Files\' to ADMIN at these Forums.

    '; +$lang['ADD_FORUMS'] = 'Add Forums'; +$lang['ADD_SELECTED'] = 'Add Selected'; +$lang['PERM_ALL_FORUMS'] = 'ALL FORUMS'; + +// Attachments -> Quota Limits +$lang['MANAGE_QUOTAS'] = 'Manage Attachment Quota Limits'; +$lang['MANAGE_QUOTAS_EXPLAIN'] = 'Here you are able to add/delete/change Quota Limits. You are able to assign these Quota Limits to Users and Groups later. To assign a Quota Limit to a User, you have to go to Users->Management, select the User and you will see the Options at the bottom. To assign a Quota Limit to a Group, go to Groups->Management, select the Group to edit it, and you will see the Configuration Settings. If you want to see, which Users and Groups are assigned to a specific Quota Limit, click on \'View\' at the left of the Quota Description.'; +$lang['ASSIGNED_USERS'] = 'Assigned Users'; +$lang['ASSIGNED_GROUPS'] = 'Assigned Groups'; +$lang['QUOTA_LIMIT_EXIST'] = 'The Quota Limit %s exist already.'; // Replace %s with the Quota Description + +// Attachments -> Control Panel +$lang['CONTROL_PANEL_TITLE'] = 'File Attachment Control Panel'; +$lang['CONTROL_PANEL_EXPLAIN'] = 'Here you can view and manage all attachments based on Users, Attachments, Views etc...'; +$lang['FILECOMMENT'] = 'File Comment'; + +// Control Panel -> Search +$lang['SEARCH_WILDCARD_EXPLAIN'] = 'Use * as a wildcard for partial matches'; +$lang['SIZE_SMALLER_THAN'] = 'Attachment size smaller than (bytes)'; +$lang['SIZE_GREATER_THAN'] = 'Attachment size greater than (bytes)'; +$lang['COUNT_SMALLER_THAN'] = 'Download count is smaller than'; +$lang['COUNT_GREATER_THAN'] = 'Download count is greater than'; +$lang['MORE_DAYS_OLD'] = 'More than this many days old'; +$lang['NO_ATTACH_SEARCH_MATCH'] = 'No Attachments met your search criteria'; + +// Control Panel -> Statistics +$lang['NUMBER_OF_ATTACHMENTS'] = 'Number of Attachments'; +$lang['TOTAL_FILESIZE'] = 'Total Filesize'; +$lang['NUMBER_POSTS_ATTACH'] = 'Number of Posts with Attachments'; +$lang['NUMBER_TOPICS_ATTACH'] = 'Number of Topics with Attachments'; +$lang['NUMBER_USERS_ATTACH'] = 'Independent Users Posted Attachments'; +$lang['NUMBER_PMS_ATTACH'] = 'Total Number of Attachments in Private Messages'; +$lang['ATTACHMENTS_PER_DAY'] = 'Attachments per day'; + +// Control Panel -> Attachments +$lang['STATISTICS_FOR_USER'] = 'Attachment Statistics for %s'; // replace %s with username +$lang['DOWNLOADS'] = 'Downloads'; +$lang['POST_TIME'] = 'Post Time'; +$lang['POSTED_IN_TOPIC'] = 'Posted in Topic'; +$lang['SUBMIT_CHANGES'] = 'Submit Changes'; + +// Sort Types +$lang['SORT_ATTACHMENTS'] = 'Attachments'; +$lang['SORT_SIZE'] = 'Size'; +$lang['SORT_FILENAME'] = 'Filename'; +$lang['SORT_COMMENT'] = 'Comment'; +$lang['SORT_EXTENSION'] = 'Extension'; +$lang['SORT_DOWNLOADS'] = 'Downloads'; +$lang['SORT_POSTTIME'] = 'Post Time'; + +// View Types +$lang['VIEW_STATISTIC'] = 'Statistics'; +$lang['VIEW_SEARCH'] = 'Search'; +$lang['VIEW_USERNAME'] = 'Username'; +$lang['VIEW_ATTACHMENTS'] = 'Attachments'; + +// Successfully updated +$lang['ATTACH_CONFIG_UPDATED'] = 'Attachment Configuration updated successfully'; +$lang['CLICK_RETURN_ATTACH_CONFIG'] = 'Click %sHere%s to return to Attachment Configuration'; +$lang['TEST_SETTINGS_SUCCESSFUL'] = 'Settings Test has been finished, configuration seems to be fine.'; + +// Some basic definitions +$lang['ATTACHMENTS'] = 'Attachments'; +$lang['EXTENSIONS'] = 'Extensions'; +$lang['EXTENSION'] = 'Extension'; + +$lang['RETURN_CONFIG'] = '%sReturn to Configuration%s'; +$lang['CONFIG_UPD'] = 'Configuration Updated Successfully'; +$lang['SET_DEFAULTS'] = 'Restore defaults'; + +// +// Tracker config +// +$lang['TRACKER_CFG_TITLE'] = 'Tracker'; +$lang['FORUM_CFG_TITLE'] = 'Forum settings'; +$lang['TRACKER_SETTINGS'] = 'Tracker settings'; + +$lang['CHANGES_DISABLED'] = 'Changes disabled (see $tr_cfg in config.php)'; + +$lang['OFF_TRACKER'] = 'Disable tracker'; +$lang['OFF_REASON'] = 'Disable reason'; +$lang['OFF_REASON_EXPL'] = 'this message will be sent to client when the tracker is disabled'; +$lang['AUTOCLEAN_EXPL'] = 'autoclean peers table - do not disable without reason'; +$lang['COMPACT_MODE'] = 'Compact mode'; +$lang['COMPACT_MODE_EXPL'] = '"Yes" - tracker will only accept clients working in compact mode
    "No" - compatible mode (chosen by client)'; +$lang['BROWSER_REDIRECT_URL'] = 'Browser redirect URL'; +$lang['BROWSER_REDIRECT_URL_EXPL'] = 'if user tries to open tracker URL in Web browser
    leave blank to disable'; + +$lang['ANNOUNCE_INTERVAL_HEAD'] = 'Misc'; +$lang['ANNOUNCE_INTERVAL'] = 'Announce interval'; +$lang['ANNOUNCE_INTERVAL_EXPL'] = 'peers should wait at least this many seconds between announcements'; +$lang['NUMWANT'] = 'Numwant value'; +$lang['NUMWANT_EXPL'] = 'number of peers being sent to client'; +$lang['EXPIRE_FACTOR'] = 'Peer expire factor'; +$lang['EXPIRE_FACTOR_EXPL'] = 'Consider a peer dead if it has not announced in a number of seconds equal to this many times the calculated announce interval at the time of its last announcement (must be greater than 1)'; +$lang['IGNORE_GIVEN_IP'] = 'Ignore IP reported by client'; +$lang['UPDATE_DLSTAT'] = 'Store users up/down statistics'; + +$lang['LIMIT_ACTIVE_TOR_HEAD'] = 'Limits'; +$lang['LIMIT_ACTIVE_TOR'] = 'Limit active torrents'; +$lang['LIMIT_SEED_COUNT'] = 'Seeding limit'; +$lang['LIMIT_SEED_COUNT_EXPL'] = '(0 - no limit)'; +$lang['LIMIT_LEECH_COUNT'] = 'Leeching limit'; +$lang['LIMIT_LEECH_COUNT_EXPL'] = '(0 - no limit)'; +$lang['LEECH_EXPIRE_FACTOR'] = 'Leech expire factor'; +$lang['LEECH_EXPIRE_FACTOR_EXPL'] = 'Treat a peer as active for this number of minutes even if it sent "stopped" event after starting dl
    0 - take into account "stopped" event'; +$lang['LIMIT_CONCURRENT_IPS'] = "Limit concurrent IP's"; +$lang['LIMIT_CONCURRENT_IPS_EXPL'] = 'per torrent limit'; +$lang['LIMIT_SEED_IPS'] = 'Seeding IP limit'; +$lang['LIMIT_SEED_IPS_EXPL'] = "allow seeding from no more than xx IP's
    0 - no limit"; +$lang['LIMIT_LEECH_IPS'] = 'Leeching IP limit'; +$lang['LIMIT_LEECH_IPS_EXPL'] = "allow leeching from no more than xx IP's
    0 - no limit"; + +$lang['USE_AUTH_KEY_HEAD'] = 'Authorization'; +$lang['USE_AUTH_KEY'] = 'Passkey'; +$lang['USE_AUTH_KEY_EXPL'] = 'enable check for passkey'; +$lang['AUTH_KEY_NAME'] = 'Passkey name'; +$lang['AUTH_KEY_NAME_EXPL'] = 'passkey key name in GET request'; +$lang['ALLOW_GUEST_DL'] = 'Allow guest access to tracker'; + +// +// Forum config +// +$lang['FORUM_CFG_EXPL'] = 'Forum config'; + +$lang['BT_SELECT_FORUMS'] = 'Forum options:'; +$lang['BT_SELECT_FORUMS_EXPL'] = 'hold down Ctrl while selecting multiple forums'; + +$lang['REG_TORRENTS'] = 'Register torrents'; +$lang['DISALLOWED'] = 'Prohibited'; +$lang['ALLOW_REG_TRACKER'] = 'Allowed forums for registering .torrents on tracker'; +$lang['ALLOW_PORNO_TOPIC'] = 'Allowed to post content 18+'; +$lang['SHOW_DL_BUTTONS'] = 'Show buttons for manually changing DL-status'; +$lang['SELF_MODERATED'] = 'Users can move their topics to another forum'; + +$lang['BT_ANNOUNCE_URL_HEAD'] = 'Announce URL'; +$lang['BT_ANNOUNCE_URL'] = 'Announce url'; +$lang['BT_ANNOUNCE_URL_EXPL'] = 'you can define additional allowed urls in "includes/torrent_announce_urls.php"'; +$lang['BT_DISABLE_DHT'] = 'Disable DHT network'; +$lang['BT_DISABLE_DHT_EXPL'] = 'Disable Peer Exchange and DHT (recommended for private networks, only url announce)'; +$lang['BT_CHECK_ANNOUNCE_URL'] = 'Verify announce url'; +$lang['BT_CHECK_ANNOUNCE_URL_EXPL'] = 'register on tracker only allowed urls'; +$lang['BT_REPLACE_ANN_URL'] = 'Replace announce url'; +$lang['BT_REPLACE_ANN_URL_EXPL'] = 'replace original announce url with your default in .torrent files'; +$lang['BT_DEL_ADDIT_ANN_URLS'] = 'Remove all additional announce urls'; +$lang['BT_DEL_ADDIT_ANN_URLS_EXPL'] = 'if the torrent contains the addresses of other trackers, they will be removed'; + +$lang['BT_SHOW_PEERS_HEAD'] = 'Peers-List'; +$lang['BT_SHOW_PEERS'] = 'Show peers (seeders and leechers)'; +$lang['BT_SHOW_PEERS_EXPL'] = 'this will show seeders/leechers list above the topic with torrent'; +$lang['BT_SHOW_PEERS_MODE'] = 'By default, show peers as:'; +$lang['BT_SHOW_PEERS_MODE_COUNT'] = 'Count only'; +$lang['BT_SHOW_PEERS_MODE_NAMES'] = 'Names only'; +$lang['BT_SHOW_PEERS_MODE_FULL'] = 'Full details'; +$lang['BT_ALLOW_SPMODE_CHANGE'] = 'Allow "Full details" mode'; +$lang['BT_ALLOW_SPMODE_CHANGE_EXPL'] = 'if "no", only default peer display mode will be available'; +$lang['BT_SHOW_IP_ONLY_MODER'] = 'Peers\' IPs are visible to moderators only'; +$lang['BT_SHOW_PORT_ONLY_MODER'] = 'Peers\' Ports are visible to moderators only'; + +$lang['BT_SHOW_DL_LIST_HEAD'] = 'DL-List'; +$lang['BT_SHOW_DL_LIST'] = 'Show DL-List in Download topics'; +$lang['BT_DL_LIST_ONLY_1ST_PAGE'] = 'Show DL-List only on first page in topics'; +$lang['BT_DL_LIST_ONLY_COUNT'] = 'Show only number of users'; +$lang['BT_SHOW_DL_LIST_BUTTONS'] = 'Show buttons for manually changing DL-status'; +$lang['BT_SHOW_DL_BUT_WILL'] = $lang['DL_WILL']; +$lang['BT_SHOW_DL_BUT_DOWN'] = $lang['DL_DOWN']; +$lang['BT_SHOW_DL_BUT_COMPL'] = $lang['DL_COMPLETE']; +$lang['BT_SHOW_DL_BUT_CANCEL'] = $lang['DL_CANCEL']; + +$lang['BT_ADD_AUTH_KEY_HEAD'] = 'Passkey'; +$lang['BT_ADD_AUTH_KEY'] = 'Enable adding passkey to the torrent-files before downloading'; + +$lang['BT_TOR_BROWSE_ONLY_REG_HEAD'] = 'Torrent browser (tracker)'; +$lang['BT_TOR_BROWSE_ONLY_REG'] = 'Torrent browser (tracker.php) accessible only for logged in users'; +$lang['BT_SEARCH_BOOL_MODE'] = 'Allow boolean full-text searches'; +$lang['BT_SEARCH_BOOL_MODE_EXPL'] = 'use *, +, -,.. in searches'; + +$lang['BT_SHOW_DL_STAT_ON_INDEX_HEAD'] = "Miscellaneous"; +$lang['BT_SHOW_DL_STAT_ON_INDEX'] = "Show users UL/DL statistics at the top of the forum's main page"; +$lang['BT_NEWTOPIC_AUTO_REG'] = 'Automatically register torrent on tracker for new topics'; +$lang['BT_SET_DLTYPE_ON_TOR_REG'] = 'Change topic status to "Download" while registering torrent on tracker'; +$lang['BT_SET_DLTYPE_ON_TOR_REG_EXPL'] = 'will change topic type to "Download" regardless of forum settings'; +$lang['BT_UNSET_DLTYPE_ON_TOR_UNREG'] = 'Change topic status to "Normal" while unregistering torrent from tracker'; + +// +// Release +// +$lang['TEMPLATE_DISABLE'] = 'Template disabled'; +$lang['FOR_NEW_TEMPLATE'] = 'for new patterns!'; +$lang['CHANGED'] = 'Changed'; +$lang['REMOVED'] = 'Removed'; +$lang['QUESTION'] = 'Are you sure want to delete?'; + +$lang['CRON_LIST'] = 'Cron list'; +$lang['CRON_ID'] = 'ID'; +$lang['CRON_ACTIVE'] = 'On'; +$lang['CRON_ACTIVE_EXPL'] = 'Active tasks'; +$lang['CRON_TITLE'] = 'Title'; +$lang['CRON_SCRIPT'] = 'Script'; +$lang['CRON_SCHEDULE'] = 'Schedule'; +$lang['CRON_LAST_RUN'] = 'Last Run'; +$lang['CRON_NEXT_RUN'] = 'Next Run'; +$lang['CRON_RUN_COUNT'] = 'Runs'; +$lang['CRON_MANAGE'] = 'Manage'; +$lang['CRON_OPTIONS'] = 'Cron options'; + +$lang['CRON_ENABLED'] = 'Cron enabled'; +$lang['CRON_CHECK_INTERVAL'] = 'Cron check interval (sec)'; + +$lang['WITH_SELECTED'] = 'With selected'; +$lang['NOTHING'] = 'do nothing'; +$lang['CRON_RUN'] = 'Run'; +$lang['CRON_DEL'] = 'Delete'; +$lang['CRON_DISABLE'] = 'Disable'; +$lang['CRON_ENABLE'] = 'Enable'; + +$lang['RUN_MAIN_CRON'] = 'Start cron'; +$lang['ADD_JOB'] = 'Add cron'; +$lang['CRON_WORKS'] = 'Cron is now works or is broken -> '; +$lang['REPAIR_CRON'] = 'Repair Cron'; + +$lang['CRON_EDIT_HEAD_EDIT'] = 'Edit job'; +$lang['CRON_EDIT_HEAD_ADD'] = 'Add job'; +$lang['CRON_SCRIPT_EXPL'] = 'name of the script from "includes/cron/jobs/"';; +$lang['SCHEDULE'] = array( + 'select' => '» Select start', + 'hourly' => 'hourly', + 'daily' => 'daily', + 'weekly' => 'weekly', + 'monthly' => 'monthly', + 'interval' => 'interval' +); +$lang['NOSELECT'] = 'No select'; +$lang['RUN_DAY'] = 'Run day'; +$lang['RUN_DAY_EXPL'] = 'the day when this job run'; +$lang['RUN_TIME'] = 'Run time'; +$lang['RUN_TIME_EXPL'] = 'the time when this job run (e.g. 05:00:00)'; +$lang['RUN_ORDER'] = 'Run order'; +$lang['LAST_RUN'] = 'Last Run'; +$lang['NEXT_RUN'] = 'Next Run'; +$lang['RUN_INTERVAL'] = 'Run interval'; +$lang['RUN_INTERVAL_EXPL'] = 'e.g. 00:10:00'; +$lang['LOG_ENABLED'] = 'Log enabled'; +$lang['LOG_FILE'] = 'Log file'; +$lang['LOG_FILE_EXPL'] = 'the file for save the log'; +$lang['LOG_SQL_QUERIES'] = 'Log SQL queries'; +$lang['FORUM_DISABLE'] = 'Disable board'; +$lang['BOARD_DISABLE_EXPL'] = 'disable board when this job is run'; +$lang['RUN_COUNTER'] = 'Run counter'; + +$lang['JOB_REMOVED'] = 'The problem has been removed successfully'; +$lang['SCRIPT_DUPLICATE'] = 'Script '. @$_POST['cron_script'] .' already exists!'; +$lang['TITLE_DUPLICATE'] = 'Task Name '. @$_POST['cron_title'] .' already exists!'; +$lang['CLICK_RETURN_JOBS_ADDED'] = '%sReturn to the addition problem%s'; +$lang['CLICK_RETURN_JOBS'] = '%sBack to the Task Scheduler%s'; + +$lang['REBUILD_SEARCH'] = 'Rebuild Search Index'; +$lang['REBUILD_SEARCH_DESC'] = 'This mod will index every post in your forum, rebuilding the search tables. You can stop whenever you like and the next time you run it again you\'ll have the option of continuing from where you left off.

    It may take a long time to show its progress (depending on "Posts per cycle" and "Time limit"), so please do not move from its progress page until it is complete, unless of course you want to interrupt it.'; + +// +// Input screen +// +$lang['STARTING_POST_ID'] = 'Starting post_id'; +$lang['STARTING_POST_ID_EXPLAIN'] = 'First post where processing will begin from
    You can choose to start from the beginning or from the post you last stopped'; + +$lang['START_OPTION_BEGINNING'] = 'start from beginning'; +$lang['START_OPTION_CONTINUE'] = 'continue from last stopped'; + +$lang['CLEAR_SEARCH_TABLES'] = 'Clear search tables'; +$lang['CLEAR_SEARCH_TABLES_EXPLAIN'] = ''; +$lang['CLEAR_SEARCH_NO'] = 'NO'; +$lang['CLEAR_SEARCH_DELETE'] = 'DELETE'; +$lang['CLEAR_SEARCH_TRUNCATE'] = 'TRUNCATE'; + +$lang['NUM_OF_POSTS'] = 'Number of posts'; +$lang['NUM_OF_POSTS_EXPLAIN'] = 'Number of total posts to process
    It\'s automatically filled with the number of total/remaining posts found in the db'; + +$lang['POSTS_PER_CYCLE'] = 'Posts per cycle'; +$lang['POSTS_PER_CYCLE_EXPLAIN'] = 'Number of posts to process per cycle
    Keep it low to avoid php/webserver timeouts'; + +$lang['REFRESH_RATE'] = 'Refresh rate'; +$lang['REFRESH_RATE_EXPLAIN'] = 'How much time (secs) to stay idle before moving to next processing cycle
    Usually you don\'t have to change this'; + +$lang['TIME_LIMIT'] = 'Time limit'; +$lang['TIME_LIMIT_EXPLAIN'] = 'How much time (secs) post processing can last before moving to next cycle'; +$lang['TIME_LIMIT_EXPLAIN_SAFE'] = 'Your php (safe mode) has a timeout of %s secs configured, so stay below this value'; +$lang['TIME_LIMIT_EXPLAIN_WEBSERVER'] = 'Your webserver has a timeout of %s secs configured, so stay below this value'; + +$lang['DISABLE_BOARD'] = 'Disable board'; +$lang['DISABLE_BOARD_EXPLAIN'] = 'Whether or not to disable your board while processing'; +$lang['DISABLE_BOARD_EXPLAIN_ENABLED'] = 'It will be enabled automatically after the end of processing'; +$lang['DISABLE_BOARD_EXPLAIN_ALREADY'] = 'Your board is already disabled'; + +// +// Information strings +// +$lang['INFO_PROCESSING_STOPPED'] = 'You last stopped the processing at post_id %s (%s processed posts) on %s'; +$lang['INFO_PROCESSING_ABORTED'] = 'You last aborted the processing at post_id %s (%s processed posts) on %s'; +$lang['INFO_PROCESSING_ABORTED_SOON'] = 'Please wait some mins before you continue...'; +$lang['INFO_PROCESSING_FINISHED'] = 'You successfully finished the processing (%s processed posts) on %s'; +$lang['INFO_PROCESSING_FINISHED_NEW'] = 'You successfully finished the processing at post_id %s (%s processed posts) on %s,
    but there have been %s new post(s) after that date'; + +// +// Progress screen +// +$lang['REBUILD_SEARCH_PROGRESS'] = 'Rebuild Search Progress'; + +$lang['PROCESSED_POST_IDS'] = 'Processed post ids : %s - %s'; +$lang['TIMER_EXPIRED'] = 'Timer expired at %s secs. '; +$lang['CLEARED_SEARCH_TABLES'] = 'Cleared search tables. '; +$lang['DELETED_POSTS'] = '%s post(s) were deleted by your users during processing. '; +$lang['PROCESSING_NEXT_POSTS'] = 'Processing next %s post(s). Please wait...'; +$lang['ALL_SESSION_POSTS_PROCESSED'] = 'Processed all posts in current session.'; +$lang['ALL_POSTS_PROCESSED'] = 'All posts were processed successfully.'; +$lang['ALL_TABLES_OPTIMIZED'] = 'All search tables were optimized successfully.'; + +$lang['PROCESSING_POST_DETAILS'] = 'Processing post'; +$lang['PROCESSED_POSTS'] = 'Processed Posts'; +$lang['PERCENT'] = 'Percent'; +$lang['CURRENT_SESSION'] = 'Current Session'; +$lang['TOTAL'] = 'Total'; + +$lang['PROCESS_DETAILS'] = 'from %s to %s (out of total %s)'; +$lang['PERCENT_COMPLETED'] = '%s %% completed'; + +$lang['PROCESSING_TIME_DETAILS'] = 'Current session details'; +$lang['PROCESSING_TIME'] = 'Processing time'; +$lang['TIME_LAST_POSTS'] = 'Last %s post(s)'; +$lang['TIME_FROM_THE_BEGINNING'] = 'From the beginning'; +$lang['TIME_AVERAGE'] = 'Average per cycle'; +$lang['TIME_ESTIMATED'] = 'Estimated until finish'; + +$lang['DATABASE_SIZE_DETAILS'] = 'Database size details'; +$lang['SIZE_CURRENT'] = 'Current'; +$lang['SIZE_ESTIMATED'] = 'Estimated after finish'; +$lang['SIZE_SEARCH_TABLES'] = 'Search Tables size'; +$lang['SIZE_DATABASE'] = 'Database size'; + +$lang['ACTIVE_PARAMETERS'] = 'Active parameters'; +$lang['POSTS_LAST_CYCLE'] = 'Processed post(s) on last cycle'; +$lang['BOARD_STATUS'] = 'Board status'; +$lang['BOARD_DISABLED'] = 'Disabled'; +$lang['BOARD_ENABLED'] = 'Enabled'; + +$lang['INFO_ESTIMATED_VALUES'] = '(*) All the estimated values are calculated approximately
    + based on the current completed percent and may not represent the actual final values.
    + As the completed percent increases the estimated values will come closer to the actual ones.'; + +$lang['CLICK_RETURN_REBUILD_SEARCH'] = 'Click %shere%s to return to Rebuild Search'; +$lang['REBUILD_SEARCH_ABORTED'] = 'Rebuild search aborted at post_id %s.

    If you aborted while processing was on, you have to wait for some mins until you run Rebuild Search again, so the last cycle can finish.'; +$lang['WRONG_INPUT'] = 'You have entered some wrong values. Please check your input and try again.'; + +// Buttons +$lang['PROCESSING'] = 'Processing...'; +$lang['FINISHED'] = 'Finished'; + +$lang['BOT_TOPIC_MOVED_FROM_TO'] = 'Topic has been moved from forum [b]%s[/b] to forum [b]%s[/b][br][br]%s'; +$lang['BOT_MESS_SPLITS'] = 'Topic has been split. New topic - [b]%s[/b][br][br]%s'; +$lang['BOT_TOPIC_SPLITS'] = 'Topic has been split from [b]%s[/b][br][br]%s'; + +$lang['CALLSEED'] = 'Downloaded the call'; +$lang['CALLSEED_EXPLAIN'] = 'Take notice with a request to return to the distribution?'; +$lang['CALLSEED_SUBJECT'] = 'Download help %s'; +$lang['CALLSEED_TEXT'] = 'Hello![br]Your help is needed in the release [url=%s]%s[/url][br]If you decide to help, but already deleted the torrent file, you can download it [url=%s]this[/url][br][br]I hope for your help!'; +$lang['CALLSEED_MSG_OK'] = 'Message has been sent to all those who downloaded this release'; +$lang['CALLSEED_MSG_SPAM'] = 'Request has already been once successfully sent (Probably not you)

    The next opportunity to send a request to be %s.'; +$lang['CALLSEED_HAVE_SEED'] = 'Topic does not require help (Seeders: %d)'; + +$lang['LOG_ACTION']['LOG_TYPE'] = array( + 'mod_topic_delete' => 'Topic:
    deleted', + 'mod_topic_move' => 'Topic:
    moved', + 'mod_topic_lock' => 'Topic:
    closed', + 'mod_topic_unlock' => 'Topic:
    opened', + 'mod_topic_split' => 'Topic:
    split', + 'mod_post_delete' => 'Post:
    deleted', + 'adm_user_delete' => 'User:
    deleted', + 'adm_user_ban' => 'User:
    ban', + 'adm_user_unban' => 'User:
    unban', +); + +$lang['ACTS_LOG_ALL_ACTIONS'] = 'All actions'; +$lang['ACTS_LOG_SEARCH_OPTIONS'] = 'Actions Log: Search options'; +$lang['ACTS_LOG_FORUM'] = 'Forum'; +$lang['ACTS_LOG_ACTION'] = 'Action'; +$lang['ACTS_LOG_USER'] = 'User'; +$lang['ACTS_LOG_LOGS_FROM'] = 'Logs from '; +$lang['ACTS_LOG_FIRST'] = 'first '; +$lang['ACTS_LOG_DAYS_BACK'] = 'days back'; +$lang['ACTS_LOG_TOPIC_MATCH'] = 'Topic title match'; +$lang['ACTS_LOG_SORT_BY'] = 'Sort by'; +$lang['ACTS_LOG_LOGS_ACTION'] = 'Action'; +$lang['ACTS_LOG_USERNAME'] = 'Username'; +$lang['ACTS_LOG_TIME'] = 'Time'; +$lang['ACTS_LOG_INFO'] = 'Info'; +$lang['ACTS_LOG_FILTER'] = 'Filter'; +$lang['ACTS_LOG_TOPICS'] = 'Topics:'; + +$lang['RELEASE'] = 'Release Templates'; +$lang['RELEASES'] = 'Releases'; + +$lang['BACK'] = 'Back'; +$lang['ERROR_FORM'] = 'Invalid fields'; +$lang['RELEASE_WELCOME'] = 'Pleae fill in the releae form'; +$lang['NEW_RELEASE'] = 'New release'; +$lang['NEXT'] = 'Continue'; +$lang['OTHER'] = 'Other'; + +$lang['TPL_EMPTY_FIELD'] = 'You must fill the field %s'; +$lang['TPL_EMPTY_SEL'] = 'You must select %s'; +$lang['TPL_NOT_NUM'] = '%s - Not a num'; +$lang['TPL_NOT_URL'] = '%s - Must be http:// URL'; +$lang['TPL_NOT_IMG_URL'] = '%s - Must be http:// IMG_URL'; +$lang['TPL_PUT_INTO_SUBJECT'] = 'put into the subject'; +$lang['TPL_POSTER'] = 'poster'; +$lang['TPL_REQ_FILLING'] = 'requires filling'; +$lang['TPL_NEW_LINE'] = 'new line'; +$lang['TPL_NEW_LINE_AFTER'] = 'new line after the title'; +$lang['TPL_NUM'] = 'number'; +$lang['TPL_URL'] = 'URL'; +$lang['TPL_IMG'] = 'image'; +$lang['TPL_PRE'] = 'pre'; +$lang['TPL_SPOILER'] = 'spoiler'; +$lang['TPL_IN_LINE'] = 'in the same line'; +$lang['TPL_HEADER_ONLY'] = 'only in a title'; + +$lang['SEARCH_INVALID_USERNAME'] = 'Invalid username entered to Search'; +$lang['SEARCH_INVALID_EMAIL'] = 'Invalid email address entered to Search'; +$lang['SEARCH_INVALID_IP'] = 'Invalid IP address entered to Search'; +$lang['SEARCH_INVALID_GROUP'] = 'Invalid Group entered to Search'; +$lang['SEARCH_INVALID_RANK'] = 'Invalid rank entered to Search'; +$lang['SEARCH_INVALID_DATE'] = 'Invalid Date entered to Search'; +$lang['SEARCH_INVALID_POSTCOUNT'] = 'Invalid Post Count entered to Search'; +$lang['SEARCH_INVALID_USERFIELD'] = 'Invalid Userfield data entered'; +$lang['SEARCH_INVALID_LASTVISITED'] = 'Invalid data entered for Last Visited search'; +$lang['SEARCH_INVALID_LANGUAGE'] = 'Invalid Language Selected'; +$lang['SEARCH_INVALID_TIMEZONE'] = 'Invalid Timezone Selected'; +$lang['SEARCH_INVALID_MODERATORS'] = 'Invalid Forum Selected'; +$lang['SEARCH_INVALID'] = 'Invalid Search'; +$lang['SEARCH_INVALID_DAY'] = 'The day you entered was invalid'; +$lang['SEARCH_INVALID_MONTH'] = 'The month you entered was invalid'; +$lang['SEARCH_INVALID_YEAR'] = 'The year you entered was invalid'; +$lang['SEARCH_FOR_USERNAME'] = 'Searching usernames matching %s'; +$lang['SEARCH_FOR_EMAIL'] = 'Searching email addresses matching %s'; +$lang['SEARCH_FOR_IP'] = 'Searching IP addresses matching %s'; +$lang['SEARCH_FOR_DATE'] = 'Searching users who joined %s %d/%d/%d'; +$lang['SEARCH_FOR_GROUP'] = 'Searching group members of %s'; +$lang['SEARCH_FOR_RANK'] = 'Searching carriers rank of %s'; +$lang['SEARCH_FOR_BANNED'] = 'Searching banned users'; +$lang['SEARCH_FOR_ADMINS'] = 'Searching Administrators'; +$lang['SEARCH_FOR_MODS'] = 'Searching Moderators'; +$lang['SEARCH_FOR_DISABLED'] = 'Searching for disabled users'; +$lang['SEARCH_FOR_POSTCOUNT_GREATER'] = 'Searching for users with a post count greater than %d'; +$lang['SEARCH_FOR_POSTCOUNT_LESSER'] = 'Searching for users with a post count less than %d'; +$lang['SEARCH_FOR_POSTCOUNT_RANGE'] = 'Searching for users with a post count between %d and %d'; +$lang['SEARCH_FOR_POSTCOUNT_EQUALS'] = 'Searching for users with a post count value of %d'; +$lang['SEARCH_FOR_USERFIELD_ICQ'] = 'Searching for users with a ICQ address matching %s'; +$lang['SEARCH_FOR_USERFIELD_SKYPE'] = 'Searching for users with an Skype matching %s'; +$lang['SEARCH_FOR_USERFIELD_TWITTER'] = 'Searching for users with an Twitter matching %s'; +$lang['SEARCH_FOR_USERFIELD_WEBSITE'] = 'Searching for users with an Website matching %s'; +$lang['SEARCH_FOR_USERFIELD_LOCATION'] = 'Searching for users with a Location matching %s'; +$lang['SEARCH_FOR_USERFIELD_INTERESTS'] = 'Searching for users with their Interests field matching %s'; +$lang['SEARCH_FOR_USERFIELD_OCCUPATION'] = 'Searching for users with their Occupation field matching %s'; +$lang['SEARCH_FOR_LASTVISITED_INTHELAST'] = 'Searching for users who have visited in the last %s %s'; +$lang['SEARCH_FOR_LASTVISITED_AFTERTHELAST'] = 'Searching for users who have visited after the last %s %s'; +$lang['SEARCH_FOR_LANGUAGE'] = 'Searching for users who have set %s as their language'; +$lang['SEARCH_FOR_TIMEZONE'] = 'Searching for users who have set GMT %s as their timezone'; +$lang['SEARCH_FOR_STYLE'] = 'Searching for users who have set %s as their style'; +$lang['SEARCH_FOR_MODERATORS'] = 'Search for moderators of the Forum -> %s'; +$lang['SEARCH_USERS_ADVANCED'] = 'Advanced User Search'; +$lang['SEARCH_USERS_EXPLAIN'] = 'This Module allows you to perform advanced searches for users on a wide range of criteria. Please read the descriptions under each field to understand each search option completely.'; +$lang['SEARCH_USERNAME_EXPLAIN'] = 'Here you can perform a case insensitive search for usernames. If you would like to match part of the username, use * (an asterix) as a wildcard.'; +$lang['SEARCH_EMAIL_EXPLAIN'] = 'Enter an expression to match a user\'s email address. This is case insensitive. If you want to do a partial match, use * (an asterix) as a wildcard.'; +$lang['SEARCH_IP_EXPLAIN'] = 'Search for users by a specific IP address (xxx.xxx.xxx.xxx), wildcard (xxx.xxx.xxx.*) or range (xxx.xxx.xxx.xxx-yyy.yyy.yyy.yyy). Note: the last quad .255 is considered the range of all the IPs in that quad. If you enter 10.0.0.255, it is just like entering 10.0.0.* (No IP is assigned .255 for that matter, it is reserved). Where you may encounter this is in ranges, 10.0.0.5-10.0.0.255 is the same as "10.0.0.*" . You should really enter 10.0.0.5-10.0.0.254 .'; +$lang['SEARCH_USERS_JOINED'] = 'Users that joined'; +$lang['SEARCH_USERS_LASTVISITED'] = 'Users whom have visited'; +$lang['IN_THE_LAST'] = 'in the last'; +$lang['AFTER_THE_LAST'] = 'after the last'; +$lang['BEFORE'] = 'Before'; +$lang['AFTER'] = 'After'; +$lang['SEARCH_USERS_JOINED_EXPLAIN'] = 'Search for users the join Before or After (and on) a specific date. The date format is YYYY/MM/DD.'; +$lang['SEARCH_USERS_GROUPS_EXPLAIN'] = 'View all members of the selected group.'; +$lang['SEARCH_USERS_RANKS_EXPLAIN'] = 'View all carriers of the selected rank.'; +$lang['BANNED_USERS'] = 'Banned Users'; +$lang['DISABLED_USERS'] = 'Disabled Users'; +$lang['SEARCH_USERS_MISC_EXPLAIN'] = 'Administrators - All users with Administrator powers; Moderators - All forum moderators; Banned Users - All accounts that have been banned on these forums; Disabled Users - All users with disabled accounts (either manually disabled or never verified their email address); Users with disabled PMs - Selects users who have the Private Messages priviliges removed (Done via User Management)'; +$lang['POSTCOUNT'] = 'Postcount'; +$lang['EQUALS'] = 'Equals'; +$lang['GREATER_THAN'] = 'Greater than'; +$lang['LESS_THAN'] = 'Less than'; +$lang['SEARCH_USERS_POSTCOUNT_EXPLAIN'] = 'You can search for users based on the Postcount value. You can either search by a specific value, greater than or lesser than a value or between two values. To do the range search, select "Equals" then put the beginning and ending values of the range separated by a dash (-), e.g. 10-15'; +$lang['USERFIELD'] = 'Userfield'; +$lang['SEARCH_USERS_USERFIELD_EXPLAIN'] = 'Search for users based on various profile fields. Wildcards are supported using an asterix (*).'; +$lang['SEARCH_USERS_LASTVISITED_EXPLAIN'] = 'You can search for users based on their last login date using this search option'; +$lang['SEARCH_USERS_LANGUAGE_EXPLAIN'] = 'This will display users whom have selected a specific language in their Profile'; +$lang['SEARCH_USERS_TIMEZONE_EXPLAIN'] = 'Users who have selected a specific timezone in their profile'; +$lang['SEARCH_USERS_STYLE_EXPLAIN'] = 'Display users who have selected a specific style.'; +$lang['MODERATORS_OF'] = 'Moderators of'; +$lang['SEARCH_USERS_MODERATORS_EXPLAIN'] = 'Search for users with Moderating permissions to a specific forum. Moderating permissions are recoginised either by User Permissions or by being in a Group with the right Group Permssions.'; + +$lang['SEARCH_USERS_NEW'] = '%s yielded %d result(s). Perform another search.'; +$lang['BANNED'] = 'Banned'; +$lang['NOT_BANNED'] = 'Not Banned'; +$lang['SEARCH_NO_RESULTS'] = 'No users match your selected criteria. Please try another search. If you\'re searching the username or email address fields, for partial matches you must use the wildcard * (an asterix).'; +$lang['ACCOUNT_STATUS'] = 'Account Status'; +$lang['SORT_OPTIONS'] = 'Sort options:'; +$lang['LAST_VISIT'] = 'Last Visit'; +$lang['DAY'] = 'Day'; + +$lang['POST_EDIT_CANNOT'] = 'Sorry, but you cannot edit posts'; +$lang['FORUMS_IN_CAT'] = 'forums in that category'; + +$lang['MC_TITLE'] = 'Comment Moderation'; +$lang['MC_LEGEND'] = 'Type a comment'; +$lang['MC_FAQ'] = 'Entered text will be displayed under this message'; +$lang['MC_COMMENT_PM_SUBJECT'] = "%s in your message"; +$lang['MC_COMMENT_PM_MSG'] = "Hello, [b]%s[/b]\nModerator left in your message [url=%s][b]%s[/b][/url][quote]\n%s\n[/quote]"; +$lang['MC_COMMENT'] = array( + 0 => array( + 'title' => '', + 'type' => 'Delete comment', + ), + 1 => array( + 'title' => 'Comment from %s', + 'type' => 'Comment', + ), + 2 => array( + 'title' => 'Information from %s', + 'type' => 'Information', + ), + 3 => array( + 'title' => 'Warning from %s', + 'type' => 'Warning', + ), + 4 => array( + 'title' => 'Violation from %s', + 'type' => 'Violation', + ), ); \ No newline at end of file diff --git a/upload/language/ru/html/advert.html b/upload/language/ru/html/advert.html index a0b6da695..6dc7c9ec9 100644 --- a/upload/language/ru/html/advert.html +++ b/upload/language/ru/html/advert.html @@ -1,17 +1,17 @@ -РЕКЛАМА НА САЙТЕ - -
    -
    - РЕКЛАМА НА САЙТЕ -
    - -
    -

    Размещение рекламы на ">

    -

    По вопросам размещения рекламы обращайтесь по адресу:

    -
    -
    -
    -

    [ Закрыть ]

    +РЕКЛАМА НА САЙТЕ + +
    +
    + РЕКЛАМА НА САЙТЕ +
    + +
    +

    Размещение рекламы на ">

    +

    По вопросам размещения рекламы обращайтесь по адресу:

    +
    +
    +
    +

    [ Закрыть ]

    \ No newline at end of file diff --git a/upload/language/ru/html/sidebar1.html b/upload/language/ru/html/sidebar1.html index e87544bf2..d4e269883 100644 --- a/upload/language/ru/html/sidebar1.html +++ b/upload/language/ru/html/sidebar1.html @@ -1,23 +1,23 @@ -
    -

    BitTorrent клиенты

    - -
    - -
    - - - -
    - +
    +

    BitTorrent клиенты

    + +
    + +
    + + + +
    + \ No newline at end of file diff --git a/upload/language/ru/html/sidebar2.html b/upload/language/ru/html/sidebar2.html index 1f9e8b847..cf495da63 100644 --- a/upload/language/ru/html/sidebar2.html +++ b/upload/language/ru/html/sidebar2.html @@ -1,18 +1,18 @@ -
    -

    Боковая панель 2

    - Для добавления контента в данную боковую панель, отредактируйте указанные файлы: -

    -
      -
    • language/*/html/sidebar2.html
    • -
    • /templates/default/page_footer.tpl
    • -
    -
    - Для отключения данной боковой панели, установите значение переменной $page_cfg['show_sidebar2'] в файле config.php в положение false. -
    - -
    - -
    -

    Партнеры

    - Выражаем благодарность всем людям, внесшим материальную помощь в развитие TorrentPier II, указанным в файле contributors.txt. +
    +

    Боковая панель 2

    + Для добавления контента в данную боковую панель, отредактируйте указанные файлы: +

    +
      +
    • language/*/html/sidebar2.html
    • +
    • /templates/default/page_footer.tpl
    • +
    +
    + Для отключения данной боковой панели, установите значение переменной $page_cfg['show_sidebar2'] в файле config.php в положение false. +
    + +
    + +
    +

    Партнеры

    + Выражаем благодарность всем людям, внесшим материальную помощь в развитие TorrentPier II, указанным в файле contributors.txt.
    \ No newline at end of file diff --git a/upload/language/ru/main.php b/upload/language/ru/main.php index a59589126..6f5cadf3a 100644 --- a/upload/language/ru/main.php +++ b/upload/language/ru/main.php @@ -1,2979 +1,2979 @@ -Показать все'; -$lang['TOPIC'] = 'Тема'; -$lang['TOPICS'] = 'Темы'; -$lang['TOPICS_SHORT'] = 'Тем'; -$lang['REPLIES'] = 'Ответов'; -$lang['REPLIES_SHORT'] = 'Отв.'; -$lang['VIEWS'] = 'Просм.'; -$lang['POSTS'] = 'Сообщений'; -$lang['POSTS_SHORT'] = 'Сообщ.'; -$lang['POSTED'] = 'Добавлено'; -$lang['USERNAME'] = 'Имя'; -$lang['PASSWORD'] = 'Пароль'; -$lang['EMAIL'] = 'Email'; -$lang['PM'] = 'ЛС'; -$lang['AUTHOR'] = 'Автор'; -$lang['TIME'] = 'Время'; -$lang['HOURS'] = 'Часы'; -$lang['MESSAGE'] = 'Сообщение'; -$lang['TORRENT'] = 'Торрент'; -$lang['PERMISSIONS'] = 'Права доступа'; -$lang['TYPE'] = 'Тип'; -$lang['SEEDER'] = 'Сидер'; -$lang['LEECHER'] = 'Личер'; -$lang['RELEASER'] = 'Релизер'; - -$lang['1_DAY'] = 'за последний день'; -$lang['7_DAYS'] = 'за последние 7 дней'; -$lang['2_WEEKS'] = 'за последние 2 недели'; -$lang['1_MONTH'] = 'за последний месяц'; -$lang['3_MONTHS'] = 'за последние 3 месяца'; -$lang['6_MONTHS'] = 'за последние 6 месяцев'; -$lang['1_YEAR'] = 'за последний год'; - -$lang['GO'] = 'Перейти'; -$lang['SUBMIT'] = 'Отправить'; -$lang['RESET'] = 'Вернуть'; -$lang['CANCEL'] = 'Отмена'; -$lang['PREVIEW'] = 'Предв. просмотр'; -$lang['AJAX_PREVIEW'] = 'Быстрый просмотр'; -$lang['CONFIRM'] = 'Подтвердите'; -$lang['YES'] = 'Да'; -$lang['NO'] = 'Нет'; -$lang['ENABLED'] = 'Включено'; -$lang['DISABLED'] = 'Выключено'; -$lang['ERROR'] = 'Ошибка'; -$lang['SELECT_ACTION'] = 'Выберите действие'; - -$lang['NEXT_PAGE'] = 'След.'; -$lang['PREVIOUS_PAGE'] = 'Пред.'; -$lang['GOTO_PAGE'] = 'Страницы'; -$lang['GOTO_SHORT'] = 'Стр.'; -$lang['JOINED'] = 'Зарегистрирован'; -$lang['LONGEVITY'] = 'Стаж'; -$lang['IP_ADDRESS'] = 'Адрес IP'; -$lang['POSTED_AFTER'] = 'спустя'; - -$lang['SELECT_FORUM'] = 'Выберите форум'; -$lang['VIEW_LATEST_POST'] = 'Посмотреть последнее сообщение'; -$lang['VIEW_NEWEST_POST'] = 'Перейти к первому непрочитанному сообщению'; -$lang['PAGE_OF'] = 'Страница %d из %s'; - -$lang['ICQ'] = 'ICQ'; - -$lang['SKYPE'] = 'Skype'; -$lang['SKYPE_ERROR'] = 'Вы ввели некорректный логин Skype'; - -$lang['TWITTER'] = 'Twitter'; -$lang['TWITTER_ERROR'] = 'Вы ввели некорректный логин Twitter'; - -$lang['FORUM_INDEX'] = 'Список форумов %s'; - -$lang['POST_NEW_TOPIC'] = 'Начать новую тему'; -$lang['POST_NEW_RELEASE'] = 'Создать раздачу'; -$lang['POST_REGULAR_TOPIC'] = 'Создать обычную тему'; -$lang['REPLY_TO_TOPIC'] = 'Ответить на тему'; -$lang['REPLY_WITH_QUOTE'] = 'Ответить с цитатой'; - -$lang['CLICK_RETURN_TOPIC'] = '%sВернуться в тему%s'; -$lang['CLICK_RETURN_LOGIN'] = '%sПопробовать еще раз%s'; -$lang['CLICK_RETURN_FORUM'] = '%sВернуться в форум%s'; -$lang['CLICK_VIEW_MESSAGE'] = '%sПросмотреть ваше сообщение%s'; -$lang['CLICK_RETURN_MODCP'] = '%sВернуться к панели модерации%s'; -$lang['CLICK_RETURN_GROUP'] = '%sВернуться к информации о группах%s'; - -$lang['ADMIN_PANEL'] = 'Администраторский раздел'; -$lang['ALL_CACHE'] = 'Весь кеш'; -$lang['ALL_CACHE_CLEARED'] = 'Кеш очищен'; -$lang['ALL_TEMPLATE_CLEARED'] = 'Кеш шаблона очищен'; -$lang['DATASTORE'] = 'Datastore'; -$lang['DATASTORE_CLEARED'] = 'Datastore очищен'; -$lang['BOARD_DISABLE'] = 'Извините, эти форумы отключены. Попробуйте зайти попозже'; - -$lang['LOADING'] = 'Загружается…'; -$lang['JUMPBOX_TITLE'] = 'Выберите форум для перехода'; -$lang['DISPLAYING_OPTIONS'] = 'Опции показа'; - -// -// Global Header strings -// -$lang['REGISTERED_USERS'] = 'Зарегистрированные пользователи:'; -$lang['BROWSING_FORUM'] = 'Сейчас этот форум просматривают:'; -$lang['ONLINE_USERS'] = 'Сейчас на форуме %1$d посетителей: %2$d зарегистрированных и %3$d гостей'; -$lang['RECORD_ONLINE_USERS'] = 'Больше всего посетителей (%s) здесь было %s'; // first %s = number of users, second %s is the date. - -$lang['ONLINE_ADMIN'] = 'Администратор'; -$lang['ONLINE_MOD'] = 'Модератор'; -$lang['ONLINE_GROUP_MEMBER'] = 'Участник групп'; - -$lang['CURRENT_TIME'] = 'Текущее время: %s'; - -$lang['SEARCH_NEW'] = 'Новые сообщения'; -$lang['SEARCH_SELF'] = 'Мои сообщения'; -$lang['SEARCH_SELF_BY_LAST'] = 'времени последнего сообщения'; -$lang['SEARCH_SELF_BY_MY'] = 'времени моего сообщения'; -$lang['SEARCH_UNANSWERED'] = 'Сообщения без ответов'; -$lang['SEARCH_UNANSWERED_SHORT'] = 'без ответов'; -$lang['SEARCH_LATEST'] = 'Последние'; - -$lang['REGISTER'] = 'Регистрация'; -$lang['PROFILE'] = 'Профиль'; -$lang['EDIT_PROFILE'] = 'Редактирование профиля'; -$lang['SEARCH'] = 'Поиск'; -$lang['MEMBERLIST'] = 'Пользователи'; -$lang['USERGROUPS'] = 'Группы'; -$lang['LASTPOST'] = 'Посл. сообщение'; -$lang['MODERATOR'] = 'Модератор'; -$lang['MODERATORS'] = 'Модераторы'; -$lang['TERMS'] = 'Правила'; -$lang['NOTHING_HAS_CHANGED'] = 'Ничего не было изменено'; - -// -// Stats block text -// -$lang['POSTED_TOPICS_TOTAL'] = 'Наши пользователи создали тем: %s'; // Number of topics -$lang['POSTED_ARTICLES_ZERO_TOTAL'] = 'Наши пользователи не оставили ни одного сообщения'; // Number of posts -$lang['POSTED_ARTICLES_TOTAL'] = 'Наши пользователи оставили сообщений: %s'; // Number of posts -$lang['REGISTERED_USERS_ZERO_TOTAL'] = 'У нас нет зарегистрированных пользователей'; // # registered users -$lang['REGISTERED_USERS_TOTAL'] = 'Всего зарегистрированных пользователей: %s'; // # registered users -$lang['USERS_TOTAL_GENDER'] = 'Парней: %d, Девушек: %d, Не указали: %d'; -$lang['NEWEST_USER'] = 'Последний зарегистрированный пользователь: %s'; // username - -// Tracker stats -$lang['TORRENTS_STAT'] = 'Раздач: %s,  Общий размер: %s'; // first %s = number of torrents, second %s is the total size. -$lang['PEERS_STAT'] = 'Пиров: %s,  Сидов: %s,  Личеров: %s'; // first %s = number of peers, second %s = number of seeders, third %s = number of leechers. -$lang['SPEED_STAT'] = 'Скорость обмена: %s '; // %s = total speed. - -$lang['NO_NEW_POSTS_LAST_VISIT'] = 'Нет новых сообщений с последнего посещения'; -$lang['NO_NEW_POSTS'] = 'Нет новых сообщений'; -$lang['NEW_POSTS'] = 'Новые сообщения'; -$lang['NEW_POST'] = 'Новое сообщение'; -$lang['NO_NEW_POSTS_HOT'] = 'Нет новых сообщений [ Популярная тема ]'; -$lang['NEW_POSTS_HOT'] = 'Новые сообщения [ Популярная тема ]'; -$lang['NEW_POSTS_LOCKED'] = 'Новые сообщения [ Тема закрыта ]'; -$lang['FORUM_LOCKED_MAIN'] = 'Форум закрыт'; - -// -// Login -// -$lang['ENTER_PASSWORD'] = 'Введите ваше имя и пароль для входа в систему'; -$lang['LOGIN'] = 'Вход'; -$lang['LOGOUT'] = 'Выход'; -$lang['CONFIRM_LOGOUT'] = 'Вы уверены, что хотите выйти?'; - -$lang['FORGOTTEN_PASSWORD'] = 'Забыли пароль?'; -$lang['AUTO_LOGIN'] = 'Автоматически входить при каждом посещении'; -$lang['ERROR_LOGIN'] = 'Вы ввели неверное/неактивное имя пользователя или неверный пароль.'; -$lang['REMEMBER'] = 'Запомнить'; -$lang['USER_WELCOME'] = 'Рады видеть вас,'; - -// -// Index page -// -$lang['HOME'] = 'Главная'; -$lang['NO_POSTS'] = 'Нет сообщений'; -$lang['NO_FORUMS'] = 'Нет доступных для показа форумов'; - -$lang['PRIVATE_MESSAGE'] = 'Личное сообщение'; -$lang['PRIVATE_MESSAGES'] = 'Личные сообщения'; -$lang['WHOSONLINE'] = 'Кто сейчас на форуме'; - -$lang['MARK_ALL_FORUMS_READ'] = 'Отметить все форумы как прочтенные'; -$lang['FORUMS_MARKED_READ'] = 'Все форумы были отмечены как прочтенные'; - -$lang['LATEST_NEWS'] = 'Новости трекера'; -$lang['NETWORK_NEWS'] = 'Новости в сети'; -$lang['SUBFORUMS'] = 'Подфорумы'; - -// -// Viewforum -// -$lang['VIEW_FORUM'] = 'Просмотр форума'; - -$lang['FORUM_NOT_EXIST'] = 'Форума, который вы выбрали, не существует'; -$lang['REACHED_ON_ERROR'] = 'Вы попали на эту страницу из-за ошибки'; -$lang['ERROR_PORNO_FORUM'] = 'Данный тип форумов (18+) скрыт вами в профиле'; - -$lang['DISPLAY_TOPICS'] = 'Показать'; -$lang['ALL_TOPICS'] = 'все темы'; -$lang['MODERATE_FORUM'] = 'Модерировать этот форум'; -$lang['TITLE_SEARCH_HINT'] = 'поиск по названию…'; - -$lang['TOPIC_ANNOUNCEMENT'] = 'Объявление:'; -$lang['TOPIC_STICKY'] = 'Прилеплена:'; -$lang['TOPIC_MOVED'] = 'Перемещена:'; -$lang['TOPIC_POLL'] = '[ Опрос ]'; - -$lang['MARK_TOPICS_READ'] = 'Отметить все темы как прочтенные'; -$lang['TOPICS_MARKED_READ'] = 'Все темы в этом форуме были отмечены как прочтенные'; - -$lang['RULES_POST_CAN'] = 'Вы можете начинать темы'; -$lang['RULES_POST_CANNOT'] = 'Вы не можете начинать темы'; -$lang['RULES_REPLY_CAN'] = 'Вы можете отвечать на сообщения'; -$lang['RULES_REPLY_CANNOT'] = 'Вы не можете отвечать на сообщения'; -$lang['RULES_EDIT_CAN'] = 'Вы можете редактировать свои сообщения'; -$lang['RULES_EDIT_CANNOT'] = 'Вы не можете редактировать свои сообщения'; -$lang['RULES_DELETE_CAN'] = 'Вы можете удалять свои сообщения'; -$lang['RULES_DELETE_CANNOT'] = 'Вы не можете удалять свои сообщения'; -$lang['RULES_VOTE_CAN'] = 'Вы можете голосовать в опросах'; -$lang['RULES_VOTE_CANNOT'] = 'Вы не можете голосовать в опросах'; -$lang['RULES_MODERATE'] = 'Вы можете модерировать этот форум'; - -$lang['NO_TOPICS_POST_ONE'] = 'В этом форуме пока нет сообщений
    Кликните Начать новую тему, и ваше сообщение станет первым.'; - -// -// Viewtopic -// -$lang['VIEW_TOPIC'] = 'Просмотр темы'; - -$lang['GUEST'] = 'Гость'; -$lang['POST_SUBJECT'] = 'Заголовок сообщения'; -$lang['SUBMIT_VOTE'] = 'Проголосовать'; -$lang['VIEW_RESULTS'] = 'Результаты'; - -$lang['NO_NEWER_TOPICS'] = 'В этом форуме нет более новых тем'; -$lang['NO_OLDER_TOPICS'] = 'В этом форуме нет более старых тем'; -$lang['TOPIC_POST_NOT_EXIST'] = 'Темы, которую вы запросили, не существует.'; -$lang['NO_POSTS_TOPIC'] = 'В этой теме нет сообщений'; - -$lang['DISPLAY_POSTS'] = 'Показать сообщения'; -$lang['ALL_POSTS'] = 'все сообщения'; -$lang['NEWEST_FIRST'] = 'Начиная с новых'; -$lang['OLDEST_FIRST'] = 'Начиная со старых'; - -$lang['BACK_TO_TOP'] = 'Вернуться к началу'; - -$lang['READ_PROFILE'] = 'Посмотреть профиль'; -$lang['VISIT_WEBSITE'] = 'Посетить сайт автора'; -$lang['VIEW_IP'] = 'Показать IP адрес автора'; -$lang['MODERATE_POST'] = 'Модерировать сообщения'; -$lang['DELETE_POST'] = 'Удалить это сообщение'; - -$lang['WROTE'] = 'писал(а)'; // proceeds the username and is followed by the quoted text -$lang['QUOTE'] = 'Цитата'; // comes before bbcode quote output -$lang['CODE'] = 'Код'; // comes before bbcode code output -$lang['SPOILER_HEAD'] = 'Скрытый текст'; -$lang['SPOILER_CLOSE'] = 'Свернуть'; -$lang['PLAY_ON_CURPAGE'] = 'Начать проигрывание на текущей странице'; - -$lang['EDITED_TIME_TOTAL'] = 'Последний раз редактировалось: %s (%s), всего редактировалось %d раз'; // Last edited by me on 12 Oct 2001, edited 1 time in total -$lang['EDITED_TIMES_TOTAL'] = 'Последний раз редактировалось: %s (%s), всего редактировалось %d раз(а)'; // Last edited by me on 12 Oct 2001, edited 2 times in total - -$lang['LOCK_TOPIC'] = 'Закрыть тему'; -$lang['UNLOCK_TOPIC'] = 'Вновь открыть тему'; -$lang['MOVE_TOPIC'] = 'Перенести тему'; -$lang['DELETE_TOPIC'] = 'Удалить тему'; -$lang['SPLIT_TOPIC'] = 'Разделить тему'; - -$lang['STOP_WATCHING_TOPIC'] = 'Перестать следить за ответами'; -$lang['START_WATCHING_TOPIC'] = 'Следить за ответами в теме'; -$lang['NO_LONGER_WATCHING'] = 'Вы больше не следите за ответами в этой теме'; -$lang['YOU_ARE_WATCHING'] = 'Теперь вы следите за ответами в этой теме'; - -$lang['TOTAL_VOTES'] = 'Всего проголосовало'; -$lang['SEARCH_IN_TOPIC'] = 'Искать в теме…'; -$lang['HIDE_IN_TOPIC'] = 'Не показывать'; - -$lang['SHOW'] = 'Показывать'; -$lang['AVATARS'] = 'Аватары'; -$lang['RANK_IMAGES'] = 'Картинки званий'; -$lang['POST_IMAGES'] = 'Картинки в сообщениях'; -$lang['SIGNATURES'] = 'Подписи'; -$lang['SPOILER'] = 'Спойлер'; -$lang['SHOW_OPENED'] = 'Спойлер открытым'; -$lang['DOWNLOAD_PIC'] = 'Загружаемые картинки'; - -$lang['MODERATE_TOPIC'] = 'Модерировать этот топик'; -$lang['SELECT_POSTS_PER_PAGE'] = 'сообщ. на страницу'; - -// -// Posting/Replying (Not private messaging!) -// -$lang['TOPIC_REVIEW'] = 'Обзор темы'; - -$lang['NO_POST_MODE'] = 'Не указан режим сообщения'; - -$lang['POST_A_NEW_TOPIC'] = 'Начать новую тему'; -$lang['POST_A_REPLY'] = 'Ответить'; -$lang['POST_TOPIC_AS'] = 'Статус создаваемой темы'; -$lang['EDIT_POST'] = 'Редактировать сообщение'; -$lang['EDIT_TOPIC_TITLE'] = 'Изменить название темы'; -$lang['EDIT_POST_NOT_1'] = 'Вам запрещено '; -$lang['EDIT_POST_NOT_2'] = 'Вы не можете '; -$lang['EDIT_POST_AJAX'] = 'редактировать сообщение со статусом'; -$lang['AFTER_THE_LAPSE'] = 'по прошествии '; - -$lang['DONT_MESSAGE_TITLE'] = 'Вы не указали заголовок сообщения'; -$lang['INVALID_TOPIC_ID'] = 'Топик отсутствует!'; -$lang['INVALID_TOPIC_ID_DB'] = 'Топик отсутствует в базе данных!'; - -$lang['NOT_POST'] = 'Сообщение отсутствует'; -$lang['NOT_EDIT_TOR_STATUS'] = 'Вы не можете редактировать раздачу со статусом'; -$lang['TOR_STATUS_DAYS'] = 'дней'; - -$lang['OPTIONS'] = 'Настройки'; - -$lang['POST_ANNOUNCEMENT'] = 'Объявление'; -$lang['POST_STICKY'] = 'Прилепленная'; -$lang['POST_NORMAL'] = 'Обычная'; -$lang['POST_DOWNLOAD'] = 'Скачиваемая'; - -$lang['CONFIRM_DELETE'] = 'Вы уверены, что хотите удалить это сообщение?'; -$lang['CONFIRM_DELETE_POLL'] = 'Вы уверены, что хотите удалить этот опрос?'; - -$lang['FLOOD_ERROR'] = 'Вы не можете отправить следующее сообщение сразу после предыдущего. Пожалуйста, попробуйте чуть попозже.'; -$lang['EMPTY_SUBJECT'] = 'Вы должны указать заголовок сообщения, когда начинаете новую тему'; -$lang['EMPTY_MESSAGE'] = 'Вы должны ввести текст сообщения'; -$lang['FORUM_LOCKED'] = 'Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.'; -$lang['TOPIC_LOCKED'] = 'Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.'; -$lang['TOPIC_LOCKED_SHORT'] = 'Тема закрыта'; -$lang['NO_POST_ID'] = 'Вы должны выбрать сообщение для редактирования'; -$lang['NO_TOPIC_ID'] = 'Вы должны выбрать тему для ответа'; -$lang['NO_VALID_MODE'] = 'Вы можете только создавать темы, отвечать и редактировать сообщения. Вернитесь и попробуйте еще раз.'; -$lang['NO_SUCH_POST'] = 'Сообщение отсутствует. Вернитесь и попробуйте еще раз.'; -$lang['EDIT_OWN_POSTS'] = 'Извините, вы можете редактировать только ваши собственные сообщения'; -$lang['DELETE_OWN_POSTS'] = 'Извините, вы можете удалять только ваши собственные сообщения'; -$lang['CANNOT_DELETE_REPLIED'] = 'Извините, вы не можете удалить сообщение, на которое были получены ответы'; -$lang['CANNOT_DELETE_POLL'] = 'Извините, вы не можете удалить активный опрос'; -$lang['EMPTY_POLL_TITLE'] = 'Вы должны ввести заголовок для опроса'; -$lang['TO_FEW_POLL_OPTIONS'] = 'Вы должны ввести не менее двух вариантов ответа'; -$lang['TO_MANY_POLL_OPTIONS'] = 'Вы попытались ввести слишком много вариантов ответа'; -$lang['POST_HAS_NO_POLL'] = 'В этом сообщении нет опроса'; -$lang['ALREADY_VOTED'] = 'Вы уже голосовали в этом опросе'; -$lang['NO_VOTE_OPTION'] = 'Вы должны указать вариант ответа при голосовании'; -$lang['LOCKED_WARN'] = 'Вы отправили сообщение в закрытый топик!'; - -$lang['ADD_POLL'] = 'Добавить опрос'; -$lang['ADD_POLL_EXPLAIN'] = 'Если вы не хотите добавлять опрос к вашему сообщению, оставьте поля пустыми'; -$lang['POLL_QUESTION'] = 'Вопрос'; -$lang['POLL_OPTION'] = 'Вариант ответа'; -$lang['ADD_OPTION'] = 'Добавить еще вариант'; -$lang['UPDATE'] = 'Обновить'; -$lang['POLL_FOR'] = 'Опрос должен идти'; -$lang['DAYS'] = 'Дней'; -$lang['POLL_FOR_EXPLAIN'] = '[ оставьте поле пустым, чтобы опрос не кончался ]'; -$lang['DELETE_POLL'] = 'Удалить опрос'; - -$lang['MAX_SMILIES_PER_POST'] = 'Лимит в %s смайликов в сообщении превышен.'; - -$lang['ATTACH_SIGNATURE'] = 'Присоединить подпись (можно изменять в профиле)'; -$lang['NOTIFY'] = 'Сообщать мне о получении ответа'; - -$lang['STORED'] = 'Сообщение было успешно добавлено'; -$lang['EDITED'] = 'Сообщение было успешно изменено'; -$lang['DELETED'] = 'Cообщение было успешно удалено'; -$lang['POLL_DELETE'] = 'Ваш опрос был успешно удален'; -$lang['VOTE_CAST'] = 'Ваш голос был учтен'; - -$lang['TOPIC_REPLY_NOTIFICATION'] = 'Уведомление об ответе в теме'; -$lang['EMOTICONS'] = 'Смайлики'; -$lang['MORE_EMOTICONS'] = 'Дополнительные смайлики'; - -$lang['FONT_COLOR'] = 'Цвет'; -$lang['COLOR_DEFAULT'] = 'По умолчанию'; -$lang['COLOR_DARK_RED'] = 'Темно-красный'; -$lang['COLOR_RED'] = 'Красный'; -$lang['COLOR_ORANGE'] = 'Оранжевый'; -$lang['COLOR_BROWN'] = 'Коричневый'; -$lang['COLOR_YELLOW'] = 'Желтый'; -$lang['COLOR_GREEN'] = 'Зеленый'; -$lang['COLOR_OLIVE'] = 'Оливковый'; -$lang['COLOR_CYAN'] = 'Голубой'; -$lang['COLOR_BLUE'] = 'Синий'; -$lang['COLOR_DARK_BLUE'] = 'Темно-синий'; -$lang['COLOR_INDIGO'] = 'Индиго'; -$lang['COLOR_VIOLET'] = 'Фиолетовый'; -$lang['COLOR_WHITE'] = 'Белый'; -$lang['COLOR_BLACK'] = 'Черный'; - -$lang['FONT_SIZE'] = 'Размер'; -$lang['FONT_TINY'] = 'Очень маленький'; -$lang['FONT_SMALL'] = 'Маленький'; -$lang['FONT_NORMAL'] = 'Обычный'; -$lang['FONT_LARGE'] = 'Большой'; -$lang['FONT_HUGE'] = 'Огромный'; - -$lang['STYLES_TIP'] = 'Подсказка: можно быстро применить стили к выделенному тексту'; - -$lang['NEW_POSTS_PREVIEW'] = 'В топике есть новые, измененные или непрочитанные сообщения'; - -// -// Private Messaging -// -$lang['PRIVATE_MESSAGING'] = 'Личные сообщения'; - -$lang['NO_NEW_PM'] = 'новых нет'; - -$lang['NEW_PMS_FORMAT'] = '%1$s %2$s'; // 1 новое сообщ. -$lang['NEW_PMS_DECLENSION'] = array('новое сообщение', 'новых сообщений'); - -$lang['UNREAD_PMS_FORMAT'] = '%1$s %2$s'; // 1 непрочитанное -$lang['UNREAD_PMS_DECLENSION'] = array('непрочитанное', 'непрочитанных'); - -$lang['UNREAD_MESSAGE'] = 'Непрочитанное сообщение'; -$lang['READ_MESSAGE'] = 'Прочитанное сообщение'; - -$lang['READ_PM'] = 'Прочитать сообщение'; -$lang['POST_NEW_PM'] = 'Написать новое сообщение'; -$lang['POST_REPLY_PM'] = 'Ответить на сообщение'; -$lang['POST_QUOTE_PM'] = 'Ответить с цитатой'; -$lang['EDIT_PM'] = 'Редактировать сообщение'; - -$lang['INBOX'] = 'Входящие'; -$lang['OUTBOX'] = 'Исходящие'; -$lang['SAVEBOX'] = 'Сохраненные'; -$lang['SENTBOX'] = 'Отправленные'; -$lang['FLAG'] = 'Флаг'; -$lang['SUBJECT'] = 'Тема'; -$lang['FROM'] = 'От'; -$lang['TO'] = 'Кому'; -$lang['DATE'] = 'Дата'; -$lang['MARK'] = 'Отметка'; -$lang['SENT'] = 'Отправлено'; -$lang['SAVED'] = 'Сохранено'; -$lang['DELETE_MARKED'] = 'Удалить отмеченное'; -$lang['DELETE_ALL'] = 'Удалить все'; -$lang['SAVE_MARKED'] = 'Сохранить отмеченное'; -$lang['SAVE_MESSAGE'] = 'Сохранить сообщение'; -$lang['DELETE_MESSAGE'] = 'Удалить сообщение'; - -$lang['DISPLAY_MESSAGES'] = 'Показать сообщения'; // Followed by number of days/weeks/months -$lang['ALL_MESSAGES'] = 'Все сообщения'; - -$lang['NO_MESSAGES_FOLDER'] = 'В этой папке нет сообщений'; - -$lang['PM_DISABLED'] = 'Возможность отправки личных сообщений на этих форумах была отключена'; -$lang['CANNOT_SEND_PRIVMSG'] = 'Извините, вам запрещено отправлять личные сообщения'; -$lang['NO_TO_USER'] = 'Вы должны указать имя получателя этого сообщения'; -$lang['NO_SUCH_USER'] = 'Извините, такого пользователя не существует'; - -$lang['DISABLE_BBCODE_PM'] = 'Отключить BBCode'; -$lang['DISABLE_SMILIES_PM'] = 'Отключить смайлики'; - -$lang['MESSAGE_SENT'] = 'Ваше сообщение было отправлено'; - -$lang['CLICK_RETURN_INBOX'] = 'Перейти в папку:

    %sВходящие%s'; -$lang['CLICK_RETURN_SENTBOX'] = '   %sОтправленные%s'; -$lang['CLICK_RETURN_OUTBOX'] = '   %sИсходящие%s'; -$lang['CLICK_RETURN_SAVEBOX'] = '   %sСохраненные%s'; -$lang['CLICK_RETURN_INDEX'] = '%sВернуться к списку форумов%s'; - -$lang['SEND_A_NEW_MESSAGE'] = 'Отправить личное сообщение'; -$lang['SEND_A_REPLY'] = 'Ответить на личное сообщение'; -$lang['EDIT_MESSAGE'] = 'Редактировать личное сообщение'; - -$lang['NOTIFICATION_SUBJECT'] = 'Вам пришло новое личное сообщение'; - -$lang['FIND_USERNAME'] = 'Найти пользователя'; -$lang['SELECT_USERNAME'] = 'Выберите пользователя'; -$lang['FIND'] = 'Найти'; -$lang['NO_MATCH'] = 'Не найдено'; - -$lang['NO_PM_ID'] = 'Не указан ID'; -$lang['NO_SUCH_FOLDER'] = 'Такой папки нет'; -$lang['NO_FOLDER'] = 'Не указана папка'; - -$lang['MARK_ALL'] = 'Выделить все'; -$lang['UNMARK_ALL'] = 'Снять выделение'; - -$lang['CONFIRM_DELETE_PM'] = 'Вы уверены, что хотите удалить это сообщение?'; -$lang['CONFIRM_DELETE_PMS'] = 'Вы уверены, что хотите удалить эти сообщения?'; - -$lang['INBOX_SIZE'] = 'Ваша папка «Входящие»
    заполнена на %d%%'; // eg. Your Inbox is 50% full -$lang['SENTBOX_SIZE'] = 'Ваша папка «Отправленные»
    заполнена на %d%%'; -$lang['SAVEBOX_SIZE'] = 'Ваша папка «Сохраненные»
    заполнена на %d%%'; - -$lang['CLICK_VIEW_PRIVMSG'] = '%sПерейти в папку «Входящие»%s'; - -$lang['OUTBOX_EXPL'] = 'В папке Исходящие находятся отправленные, но еще не прочтенные получателем сообщения. В Отправленные они попадают только после того, как получатель их прочтет. Сообщения, находящиеся в папке Исходящие, можно отредактировать или удалить.'; - -// -// Profiles/Registration -// -$lang['VIEWING_USER_PROFILE'] = 'Профиль пользователя %s'; -$lang['VIEWING_MY_PROFILE'] = 'Мой профиль [ Настройки / Изменить профиль ]'; - -$lang['DISABLED_USER'] = 'Пользователь деактивирован'; -$lang['MANAGE_USER'] = 'Администрирование'; - -$lang['PREFERENCES'] = 'Личные настройки'; -$lang['ITEMS_REQUIRED'] = 'Поля, отмеченные *, обязательны к заполнению, если не указано обратное'; -$lang['REGISTRATION_INFO'] = 'Регистрационная информация'; -$lang['PROFILE_INFO'] = 'Профиль'; -$lang['PROFILE_INFO_WARN'] = 'Эта информация будет в открытом доступе'; -$lang['AVATAR_PANEL'] = 'Управление аватарой'; - -$lang['WEBSITE'] = 'Сайт'; -$lang['LOCATION'] = 'Откуда'; -$lang['CONTACT'] = 'Как связаться с'; // Как связаться с Vasya_Poopkin -$lang['EMAIL_ADDRESS'] = 'Адрес e-mail'; -$lang['SEND_PRIVATE_MESSAGE'] = 'Отправить ЛС'; -$lang['HIDDEN_EMAIL'] = '[ скрыт ]'; -$lang['INTERESTS'] = 'Интересы'; -$lang['OCCUPATION'] = 'Род занятий'; -$lang['POSTER_RANK'] = 'Звание'; -$lang['AWARDED_RANK'] = 'Присвоено звание'; -$lang['SHOT_RANK'] = 'Звание снято'; - -$lang['TOTAL_POSTS'] = 'Всего сообщений'; -$lang['SEARCH_USER_POSTS'] = 'Найти сообщения'; // Find all posts by username -$lang['SEARCH_USER_POSTS_SHORT'] = 'Найти сообщения пользователя'; -$lang['SEARCH_USER_TOPICS'] = 'Начатые темы'; // Find all topics by username - -$lang['NO_USER_ID_SPECIFIED'] = 'Извините, такого пользователя не существует'; -$lang['WRONG_PROFILE'] = 'Вы не можете редактировать чужой профиль.'; - -$lang['ONLY_ONE_AVATAR'] = 'Может быть указан только один тип аватары'; -$lang['FILE_NO_DATA'] = 'Файл по указанному вами URL не содержит данных'; -$lang['NO_CONNECTION_URL'] = 'Невозможно установить соединения с указанным вами URL'; -$lang['INCOMPLETE_URL'] = 'Вы указали неполный URL'; -$lang['NO_SEND_ACCOUNT_INACTIVE'] = 'Извините, но пароль не может быть выслан (учетная запись неактивна)'; -$lang['NO_SEND_ACCOUNT'] = 'Извините, но пароль для этого пользователя не может быть выслан. Обратитесь к администраторам форума за дополнительной информацией'; - -$lang['ALWAYS_ADD_SIG'] = 'Всегда присоединять мою подпись'; -$lang['HIDE_PORN_FORUMS'] = 'Скрыть контент 18+'; -$lang['ALWAYS_NOTIFY'] = 'Всегда сообщать мне об ответах'; -$lang['ALWAYS_NOTIFY_EXPLAIN'] = 'Когда кто-нибудь ответит на тему, в которую вы писали, вам высылается e-mail. Это можно также настроить при размещении сообщения.'; - -$lang['BOARD_LANG'] = 'Язык'; -$lang['GENDER'] = 'Пол'; -$lang['GENDER_SELECT'] = array( - 0 => 'Не указан', - 1 => 'Мужской', - 2 => 'Женский' -); -$lang['MODULE_OFF'] = 'Модуль отключен!'; - -$lang['BIRTHDAY'] = 'День рождения'; -$lang['HAPPY_BIRTHDAY'] = 'С Днем Рождения!'; -$lang['WRONG_BIRTHDAY_FORMAT'] = 'Дата рождения указана неверно'; -$lang['AGE'] = 'Возраст'; -$lang['BIRTHDAY_TO_HIGH'] = 'Извините, сайт запрещено посещать пользователям старше %d лет'; -$lang['BIRTHDAY_TO_LOW'] = 'Извините, сайт запрещено посещать детям младше %d лет'; -$lang['BIRTHDAY_TODAY'] = 'Пользователи, празднующие День Рождения сегодня: '; -$lang['BIRTHDAY_WEEK'] = 'Пользователи, празднующие День Рождения в ближайшие %d дней: %s'; -$lang['NOBIRTHDAY_WEEK'] = 'В ближайшие %d дней никто не празднует День Рождения.'; // %d is substitude with the number of days -$lang['NOBIRTHDAY_TODAY'] = 'Сегодня никто не празднует День Рождения.'; -$lang['BIRTHDAY_ENABLE'] = 'Показывать дни рождения'; -$lang['BIRTHDAY_MAX_AGE'] = 'Максимальный возраст'; -$lang['BIRTHDAY_MIN_AGE'] = 'Минимальный возраст'; -$lang['BIRTHDAY_CHECK_DAY'] = 'Показывать ближайшие дни рождения за'; -$lang['YEARS'] = 'Лет'; - -$lang['NO_THEMES'] = 'В базе нет цветовых схем'; -$lang['TIMEZONE'] = 'Часовой пояс'; -$lang['DATE_FORMAT_PROFILE'] = 'Формат даты'; -$lang['DATE_FORMAT_EXPLAIN'] = 'Синтаксис идентичен функции date() языка PHP'; -$lang['SIGNATURE'] = 'Подпись'; -$lang['SIGNATURE_EXPLAIN'] = 'Это текст, который можно добавлять к размещаемым вами сообщениям. Длина его ограничена %d символами.'; -$lang['SIGNATURE_DISABLE'] = 'Подпись отключена за нарушение правил форума'; -$lang['PUBLIC_VIEW_EMAIL'] = 'Показывать мой адрес e-mail в профиле'; - -$lang['EMAIL_EXPLAIN'] = 'На этот адрес вам будет отправлено письмо для завершения регистрации'; - -$lang['CURRENT_PASSWORD'] = 'Текущий пароль'; -$lang['NEW_PASSWORD'] = "Новый пароль"; -$lang['CONFIRM_PASSWORD'] = 'Подтвердите пароль'; -$lang['CONFIRM_PASSWORD_EXPLAIN'] = 'Вы должны указать ваш текущий пароль, если хотите изменить его или поменять свой email.'; -$lang['PASSWORD_IF_CHANGED'] = 'Указывайте пароль только если вы хотите его поменять'; -$lang['PASSWORD_CONFIRM_IF_CHANGED'] = 'Подтверждать пароль нужно в том случае, если вы изменили его выше.'; - -$lang['AUTOLOGIN'] = 'Автовход'; -$lang['RESET_AUTOLOGIN'] = 'Удалить ключ автоматического входа на форум'; -$lang['RESET_AUTOLOGIN_EXPL'] = 'включая все места, где вы заходили на форум с включенным авто-входом'; - -$lang['AVATAR'] = 'Аватара'; -$lang['AVATAR_EXPLAIN'] = 'Показывает небольшое изображение под информацией о вас в сообщениях. Может быть показано только одно изображение, шириной не более %d пикселов, высотой не более %d пикселов и объемом не более %d кб.'; -$lang['UPLOAD_AVATAR_FILE'] = 'Загрузить аватару'; - -$lang['SELECT_AVATAR'] = 'Выберите аватару'; -$lang['RETURN_PROFILE'] = 'Вернуться к профилю'; -$lang['SELECT_CATEGORY'] = 'Выберите категорию'; - -$lang['DELETE_IMAGE'] = 'Удалить изображение'; -$lang['CURRENT_IMAGE'] = 'Текущее изображение'; - -$lang['NOTIFY_ON_PRIVMSG'] = 'Уведомлять о новых личных сообщениях'; -$lang['HIDE_USER'] = 'Скрывать ваше пребывание на форуме'; -$lang['HIDDEN_USER'] = 'Скрыто пользователем'; - -$lang['PROFILE_UPDATED'] = 'Ваш профиль был изменен'; -$lang['PROFILE_UPDATED_INACTIVE'] = 'Ваш профиль был изменен, но вы изменили важные данные, так что теперь ваша учетная запись неактивна. Проверьте ваш почтовый ящик, чтобы узнать как вновь активировать учетную запись или, если требуется одобрение администратора, подождите, пока это сделает администратор.'; - -$lang['PASSWORD_MISMATCH'] = 'Введенные пароли не совпадают'; -$lang['CURRENT_PASSWORD_MISMATCH'] = 'Введенный вами пароль не совпадает с паролем из базы'; -$lang['PASSWORD_LONG'] = 'Ваш пароль должен быть не длиннее 20 символов'; -$lang['TOO_MANY_REGISTERS'] = 'Вы исчерпали предельное количество попыток регистрации для данной сессии. Пожалуйста, повторите попытку позднее.'; -$lang['USERNAME_TAKEN'] = 'Извините, пользователь с таким именем уже существует'; -$lang['USERNAME_INVALID'] = 'Извините, это имя содержит неподходящие символы'; -$lang['USERNAME_DISALLOWED'] = 'Извините, это имя было запрещено к использованию'; -$lang['USERNAME_TOO_LONG'] = 'Слишком длинное имя'; -$lang['USERNAME_TOO_SMALL'] = 'Слишком короткое имя'; -$lang['EMAIL_TAKEN'] = 'Извините, этот e-mail адрес уже занят другим пользователем'; -$lang['EMAIL_BANNED'] = 'Извините, адрес %s находится в черном списке'; -$lang['EMAIL_INVALID'] = 'Извините, но этот e-mail адрес неправилен'; -$lang['EMAIL_TOO_LONG'] = 'Слишком длинный email адрес'; -$lang['SIGNATURE_TOO_LONG'] = 'Слишком длинная подпись'; -$lang['SIGNATURE_ERROR_HTML'] = 'Подпись может содержать только BBCode'; -$lang['FIELDS_EMPTY'] = 'Вы должны заполнить обязательные поля'; -$lang['AVATAR_FILETYPE'] = 'Файл аватары должен быть .jpg, .gif или .png'; -$lang['AVATAR_FILESIZE'] = 'Объем файла аватары должен быть не более %d кб'; -$lang['AVATAR_IMAGESIZE'] = 'Аватара должна быть не больше %d пикселов в ширину и %d пикселов в высоту'; -$lang['AVATAR_DISABLE'] = 'Запрещено показывать аватар'; - -$lang['WELCOME_SUBJECT'] = 'Добро пожаловать на сайт %s'; -$lang['NEW_ACCOUNT_SUBJECT'] = 'Новый пользователь'; -$lang['ACCOUNT_ACTIVATED_SUBJECT'] = 'Учетная запись активирована'; - -$lang['ACCOUNT_ADDED'] = 'Спасибо за регистрацию, учетная запись была создана. Вы можете войти в систему, используя ваше имя и пароль.'; -$lang['ACCOUNT_INACTIVE'] = 'Учетная запись была создана. На этом форуме требуется активация учетной записи, ключ для активации был выслан на введенный вами адрес. Проверьте свою почту для более подробной информации.'; -$lang['ACCOUNT_ACTIVE'] = 'Ваша учетная запись была активирована. Спасибо за регистрацию'; -$lang['REACTIVATE'] = 'Вновь активировать учетную запись'; -$lang['ALREADY_ACTIVATED'] = 'Вы уже активировали свою учетную запись'; - -$lang['REGISTRATION'] = 'Условия регистрации'; - -$lang['WRONG_ACTIVATION'] = 'Введенный вами ключ активации не совпадает с хранящимся в базе'; -$lang['SEND_PASSWORD'] = 'Выслать новый пароль'; -$lang['PASSWORD_UPDATED'] = 'Новый пароль был создан, проверьте почтовый ящик, чтобы узнать как его активировать'; -$lang['NO_EMAIL_MATCH'] = 'Введенный вами адрес e-mail не совпадает с записанным на этого пользователя'; -$lang['NEW_PASSWORD_ACTIVATION'] = 'Активация нового пароля'; -$lang['PASSWORD_ACTIVATED'] = 'Ваша учетная запись была вновь активирована. Для входа в систему используйте пароль из присланного вам письма.'; - -$lang['SEND_EMAIL_MSG'] = 'Отправить e-mail'; -$lang['NO_USER_SPECIFIED'] = 'Пользователь не был выбран'; -$lang['USER_PREVENT_EMAIL'] = 'Пользователь не желает получать e-mail. Попробуйте отправить ему/ей личное сообщение'; -$lang['USER_NOT_EXIST'] = 'Пользователя не существует'; -$lang['EMAIL_MESSAGE_DESC'] = 'Сообщение будет отправлено в виде простого текста, не включайте в него HTML или BBCode. В качестве обратного адреса будет показываться ваш e-mail адрес.'; -$lang['FLOOD_EMAIL_LIMIT'] = 'Вы не можете отправить еще один e-mail сразу после предыдущего, повторите запрос позднее.'; -$lang['RECIPIENT'] = 'Получатель'; -$lang['EMAIL_SENT'] = 'Сообщение было отправлено'; -$lang['SEND_EMAIL'] = 'Отправить e-mail'; -$lang['EMPTY_SUBJECT_EMAIL'] = 'Вы должны указать тему сообщения'; -$lang['EMPTY_MESSAGE_EMAIL'] = 'Вы должны указать текст сообщения для отправки'; - -$lang['USER_AGREEMENT'] = 'Пользовательское соглашение'; -$lang['USER_AGREEMENT_HEAD'] = 'Для продолжения регистрации вы должны принять наше ПОЛЬЗОВАТЕЛЬСКОЕ СОГЛАШЕНИЕ'; -$lang['USER_AGREEMENT_AGREE'] = 'Я прочел ПОЛЬЗОВАТЕЛЬСКОЕ СОГЛАШЕНИЕ и обязуюсь его не нарушать'; - -$lang['COPYRIGHT_HOLDERS'] = 'Для правообладателей'; -$lang['ADVERT'] = 'Реклама на сайте'; - -// -// Visual confirmation system strings -// -$lang['CONFIRM_CODE_WRONG'] = 'Вы ввели неверный код подтверждения'; -$lang['CONFIRM_CODE_IMPAIRED'] = 'Если у вас плохое зрение или вы не можете прочесть этот код по какой-то другой причине, то обратитесь за помощью к %sАдминистратору%s.'; -$lang['CONFIRM_CODE'] = 'Код подтверждения'; -$lang['CONFIRM_CODE_EXPLAIN'] = 'Введите код в точности так, как вы его видите. Код является регистро-зависимым, а символ нуля имеет косую линию внутри цифры.'; - -// -// Memberslist -// -$lang['SORT'] = 'Упорядочить'; -$lang['SORT_TOP_TEN'] = 'десять самых активных участников'; -$lang['SORT_JOINED'] = 'по дате регистрации'; -$lang['SORT_USERNAME'] = 'по имени пользователя'; -$lang['SORT_LOCATION'] = 'по местонахождению'; -$lang['SORT_POSTS'] = 'по количеству сообщений'; -$lang['SORT_EMAIL'] = 'по адресу e-mail'; -$lang['SORT_WEBSITE'] = 'по адресу сайта'; -$lang['ASC'] = 'по возрастанию'; -$lang['DESC'] = 'по убыванию'; -$lang['ORDER'] = ''; // не нужно, в английском используется в контексте 'Order ascending'; - -// -// Group control panel -// -$lang['GROUP_CONTROL_PANEL'] = 'Группы'; -$lang['MEMBERSHIP_DETAILS'] = 'Информация о членстве в группах'; -$lang['JOIN_A_GROUP'] = 'Вступить в группу'; - -$lang['GROUP_INFORMATION'] = 'Информация о группе'; -$lang['GROUP_NAME'] = 'Название группы'; -$lang['GROUP_DESCRIPTION'] = 'Описание группы'; -$lang['GROUP_MEMBERSHIP'] = 'Членство в группе'; -$lang['GROUP_MEMBERS'] = 'Члены группы'; -$lang['GROUP_MODERATOR'] = 'Модератор группы'; -$lang['PENDING_MEMBERS'] = 'Кандидаты в члены группы'; - -$lang['GROUP_TYPE'] = 'Тип группы'; -$lang['GROUP_OPEN'] = 'Группа с открытым членством'; -$lang['GROUP_CLOSED'] = 'Группа с закрытым членством'; -$lang['GROUP_HIDDEN'] = 'Скрытая группа'; - -$lang['GROUP_MEMBER_MOD'] = 'Являетесь модератором групп'; -$lang['GROUP_MEMBER_MEMBER'] = 'Являетесь членом групп'; -$lang['GROUP_MEMBER_PENDING'] = 'Кандидат в члены групп'; -$lang['GROUP_MEMBER_OPEN'] = 'Группы с открытым членством'; -$lang['GROUP_MEMBER_CLOSED'] = 'Группы с закрытым членством'; -$lang['GROUP_MEMBER_HIDDEN'] = 'Скрытые группы'; - -$lang['NO_GROUPS_EXIST'] = 'Нет ни одной группы'; -$lang['GROUP_NOT_EXIST'] = 'Такой группы не существует'; - -$lang['NO_GROUP_MEMBERS'] = 'В этой группе нет ни одного члена'; -$lang['HIDDEN_GROUP_MEMBERS'] = 'Эта группа скрыта, вы не можете посмотреть ее состав'; -$lang['NO_PENDING_GROUP_MEMBERS'] = 'В этой группе нет кандидатов в члены'; -$lang['GROUP_JOINED'] = 'Вы попросили о вступлении в группу. Когда вашу просьбу одобрит модератор группы, вам будет прислано уведомление.'; -$lang['GROUP_REQUEST'] = 'Было подана просьба о вступлении в группу.'; -$lang['GROUP_APPROVED'] = 'Ваша просьба была удовлетворена.'; -$lang['GROUP_ADDED'] = 'Вы были включены в группу'; -$lang['ALREADY_MEMBER_GROUP'] = 'Вы уже являетесь членом этой группы'; -$lang['USER_IS_MEMBER_GROUP'] = 'Пользователь уже является членом этой группы'; -$lang['GROUP_TYPE_UPDATED'] = 'Тип группы успешно изменен'; -$lang['EFFECTIVE_DATE'] = 'Дата вступления'; - -$lang['COULD_NOT_ADD_USER'] = 'Выбранного пользователя не существует'; -$lang['COULD_NOT_ANON_USER'] = 'Вы не можете сделать анонимного пользователя членом группы'; - -$lang['CONFIRM_UNSUB'] = 'Вы уверены, что хотите выйти из этой группы?'; -$lang['CONFIRM_UNSUB_PENDING'] = 'Вы уверены, что хотите отказаться от участия в этой группе? Ваша просьба о вступлении не была рассмотрена!'; - -$lang['UNSUB_SUCCESS'] = 'Вы успешно покинули эту группу.'; - -$lang['APPROVE_SELECTED'] = 'Одобрить выделенное'; -$lang['DENY_SELECTED'] = 'Отклонить выделенное'; -$lang['NOT_LOGGED_IN'] = 'Вы должны войти в систему, прежде чем вступать в группу.'; -$lang['REMOVE_SELECTED'] = 'Удалить выделенное'; -$lang['ADD_MEMBER'] = 'Добавить члена группы'; -$lang['NOT_GROUP_MODERATOR'] = 'Вы не являетесь модератором группы и не можете выполнить данное действие'; - -$lang['LOGIN_TO_JOIN'] = 'Войдите в систему, чтобы менять свое членство в группах'; -$lang['THIS_OPEN_GROUP'] = 'Это группа с открытым членством, вы можете подать просьбу о вступлении'; -$lang['THIS_CLOSED_GROUP'] = 'Это группа с закрытым членством, новые пользователи не принимаются'; -$lang['THIS_HIDDEN_GROUP'] = 'Это скрытая группа, автоматическое добавление пользователей не разрешается'; -$lang['MEMBER_THIS_GROUP'] = 'Вы член этой группы'; -$lang['PENDING_THIS_GROUP'] = 'Вы кандидат в члены этой группы'; -$lang['ARE_GROUP_MODERATOR'] = 'Вы модератор этой группы'; -$lang['NONE'] = 'Нет'; - -$lang['SUBSCRIBE'] = 'Записаться в группу'; -$lang['UNSUBSCRIBE_GROUP'] = 'Выйти из группы'; -$lang['VIEW_INFORMATION'] = 'Просмотреть информацию'; -$lang['MEMBERS_IN_GROUP'] = 'Кол-во участников'; - -// -// Search -// -$lang['SEARCH_OFF'] = 'Поиск временно отключен'; -$lang['SEARCH_ERROR'] = 'В данный момент поисковик недоступен

    Попробуйте повторить запрос через несколько секунд'; -$lang['SEARCH_HELP_URL'] = 'Помощь по поиску'; -$lang['SEARCH_QUERY'] = 'Запрос'; -$lang['SEARCH_OPTIONS'] = 'Параметры запроса'; - -$lang['SEARCH_WORDS'] = 'Ключевые слова'; -$lang['SEARCH_WORDS_EXPL'] = 'Вы можете использовать + (знак "плюс" написанный слитно перед словом: "+слово") чтобы определить слова, которые должны быть в результатах и - (знак "минус") для слов, которых не должно быть. Используйте * в качестве шаблона для частичного совпадения.'; -$lang['SEARCH_AUTHOR'] = 'Поиск по автору'; -$lang['SEARCH_AUTHOR_EXPL'] = 'Используйте * в качестве шаблона'; - -$lang['SEARCH_TITLES_ONLY'] = 'Искать только в названиях тем'; -$lang['SEARCH_ALL_WORDS'] = 'искать все слова'; -$lang['SEARCH_MY_MSG_ONLY'] = 'Искать только в моих сообщениях'; -$lang['IN_MY_POSTS'] = 'В моих сообщениях'; -$lang['SEARCH_MY_TOPICS'] = 'в моих темах'; -$lang['NEW_TOPICS'] = 'Новые темы'; - -$lang['RETURN_FIRST'] = 'Показывать первые'; // followed by xxx characters -$lang['CHARACTERS_POSTS'] = 'символов сообщений'; - -$lang['SEARCH_PREVIOUS'] = 'Время размещения'; // followed by days, weeks, months, year, all - -$lang['SORT_BY'] = 'Упорядочить по'; -$lang['SORT_TIME'] = 'Время размещения'; -$lang['SORT_POST_SUBJECT'] = 'Заголовок сообщения'; -$lang['SORT_TOPIC_TITLE'] = 'Название темы'; -$lang['SORT_AUTHOR'] = 'Автор'; -$lang['SORT_FORUM'] = 'Форум'; - -$lang['DISPLAY_RESULTS_AS'] = 'Показывать результаты как'; -$lang['ALL_AVAILABLE'] = 'Все имеющиеся'; -$lang['BRIEFLY'] = 'Кратко'; -$lang['NO_SEARCHABLE_FORUMS'] = 'У вас нет доступа к поиску ни в одном из форумов на сайте'; - -$lang['NO_SEARCH_MATCH'] = 'Подходящих тем или сообщений не найдено'; -$lang['FOUND_SEARCH_MATCH'] = 'Результатов поиска: %d'; // eg. Search found 1 match -$lang['FOUND_SEARCH_MATCHES'] = 'Результатов поиска: %d'; // eg. Search found 24 matches -$lang['TOO_MANY_SEARCH_RESULTS'] = 'По вашему запросу может быть найдено слишком много сообщений. Постарайтесь более точно сформулировать то, что вы хотите найти.'; - -$lang['CLOSE_WINDOW'] = 'Закрыть окно'; -$lang['CLOSE'] = 'закрыть'; -$lang['HIDE'] = 'спрятать'; -$lang['SEARCH_TERMS'] = 'Поисковый запрос'; - -// -// Auth related entries -// -// Note the %s will be replaced with one of the following 'user' arrays -$lang['SORRY_AUTH_VIEW'] = 'Извините, только %s могут видеть этот форум'; -$lang['SORRY_AUTH_READ'] = 'Извините, только %s могут читать сообщения в этом форуме'; -$lang['SORRY_AUTH_POST'] = 'Извините, только %s могут начинать темы в этом форуме'; -$lang['SORRY_AUTH_REPLY'] = 'Извините, только %s могут отвечать на сообщения в этом форуме'; -$lang['SORRY_AUTH_EDIT'] = 'Извините, только %s могут редактировать сообщения в этом форуме'; -$lang['SORRY_AUTH_DELETE'] = 'Извините, только %s могут удалять сообщения в этом форуме'; -$lang['SORRY_AUTH_VOTE'] = 'Извините, только %s могут голосовать в опросах этого форума'; -$lang['SORRY_AUTH_STICKY'] = 'Извините, только %s могут прилеплять темы в этом форуме'; -$lang['SORRY_AUTH_ANNOUNCE'] = 'Извините, только %s могут размещать объявления в этом форуме'; - -// These replace the %s in the above strings -$lang['AUTH_ANONYMOUS_USERS'] = 'гости'; -$lang['AUTH_REGISTERED_USERS'] = 'зарегистрированные пользователи'; -$lang['AUTH_USERS_GRANTED_ACCESS'] = 'пользователи со специальными правами доступа'; -$lang['AUTH_MODERATORS'] = 'модераторы'; -$lang['AUTH_ADMINISTRATORS'] = 'администраторы'; - -$lang['NOT_MODERATOR'] = 'Вы не являетесь модератором этого форума'; -$lang['NOT_AUTHORISED'] = 'Нет доступа'; - -$lang['YOU_BEEN_BANNED'] = 'Вам был закрыт доступ к форуму
    Обратитесь к вебмастеру или администратору сайта за дополнительной информацией'; - -// -// Viewonline -// -$lang['REG_USERS_ONLINE'] = 'Сейчас на сайте зарегистрированных пользователей: %d и '; -$lang['HIDDEN_USERS_ONLINE'] = 'скрытых пользователей: %d'; -$lang['GUEST_USERS_ONLINE'] = 'Сейчас на сайте гостей: %d'; -$lang['ALL_USERS_ONLINE'] = 'Всех:'; -$lang['ONLINE_EXPLAIN'] = 'данные за последние пять минут'; -$lang['LAST_UPDATED'] = 'Последнее изменение'; - -// -// Moderator Control Panel -// -$lang['MOD_CP'] = 'Панель модерации'; -$lang['MOD_CP_EXPLAIN'] = 'Здесь вы можете проводить массовую модерацию этого форума. Вы можете закрывать, открывать, перемещать или удалять любое количество тем.'; - -$lang['SELECT'] = 'Выбрать'; -$lang['DELETE'] = 'Удалить'; -$lang['MOVE'] = 'Переместить'; -$lang['LOCK'] = 'Закрыть'; -$lang['UNLOCK'] = 'Открыть'; - -$lang['TOPICS_REMOVED'] = 'Выбранные темы были успешно удалены из базы данных'; -$lang['NO_TOPICS_REMOVED'] = 'Не было удалено ни одной темы'; -$lang['TOPICS_LOCKED'] = 'Выбранные темы были закрыты'; -$lang['TOPICS_MOVED'] = 'Выбранные темы были перемещены'; -$lang['TOPICS_UNLOCKED'] = 'Выбранные темы были открыты'; -$lang['NO_TOPICS_MOVED'] = 'Не было перенесено ни одной темы'; - -$lang['CONFIRM_DELETE_TOPIC'] = 'Вы действительно хотите удалить выбранные темы?'; -$lang['CONFIRM_LOCK_TOPIC'] = 'Вы действительно хотите закрыть выбранные темы?'; -$lang['CONFIRM_UNLOCK_TOPIC'] = 'Вы действительно хотите открыть выбранные темы?'; -$lang['CONFIRM_MOVE_TOPIC'] = 'Вы действительно хотите переместить выбранные темы?'; - -$lang['MOVE_TO_FORUM'] = 'Переместить в форум'; -$lang['LEAVE_SHADOW_TOPIC'] = 'Оставить ссылку в старом форуме'; - -$lang['SPLIT_TOPIC_EXPLAIN'] = 'С использованием этой формы вы можете разделить тему на две либо выбирая сообщения по одному, либо разбив по выбранному сообщению'; -$lang['NEW_TOPIC_TITLE'] = 'Заголовок новой темы'; -$lang['FORUM_FOR_NEW_TOPIC'] = 'Форум для новой темы'; -$lang['SPLIT_POSTS'] = 'Отделить выбранные сообщения'; -$lang['SPLIT_AFTER'] = 'Отделить все сообщения после выбранного'; -$lang['TOPIC_SPLIT'] = 'Выбранная тема была успешно отделена'; - -$lang['TOO_MANY_ERROR'] = 'Вы выбрали слишком много сообщений. Вы можете выбрать только одно сообщение, чтобы отделить все сообщения после него.'; - -$lang['NONE_SELECTED'] = 'Вы ничего не выбрали для совершения этой операции. Вернитесь назад и выберите.'; -$lang['NEW_FORUM'] = 'Новый форум'; - -$lang['THIS_POSTS_IP'] = 'IP-адрес для этого сообщения'; -$lang['OTHER_IP_THIS_USER'] = 'Другие IP-адреса с которых писал этот пользователь'; -$lang['USERS_THIS_IP'] = 'Пользователи, писавшие с этого IP'; -$lang['IP_INFO'] = 'Информация об IP-адресе'; -$lang['LOOKUP_IP'] = 'Посмотреть хост для IP'; - -// -// Timezones ... for display on each page -// -$lang['ALL_TIMES'] = 'Часовой пояс: %s'; // This is followed by GMT and the timezone offset - -$lang['-12'] = 'GMT - 12'; -$lang['-11'] = 'GMT - 11'; -$lang['-10'] = 'GMT - 10'; -$lang['-9'] = 'GMT - 9'; -$lang['-8'] = 'GMT - 8'; -$lang['-7'] = 'GMT - 7'; -$lang['-6'] = 'GMT - 6'; -$lang['-5'] = 'GMT - 5'; -$lang['-4'] = 'GMT - 4'; -$lang['-3.5'] = 'GMT - 3:30'; -$lang['-3'] = 'GMT - 3'; -$lang['-2'] = 'GMT - 2'; -$lang['-1'] = 'GMT - 1'; -$lang['0'] = 'GMT'; -$lang['1'] = 'GMT + 1'; -$lang['2'] = 'GMT + 2'; -$lang['3'] = 'GMT + 3'; -$lang['3.5'] = 'GMT + 3:30'; -$lang['4'] = 'GMT + 4'; -$lang['4.5'] = 'GMT + 4:30'; -$lang['5'] = 'GMT + 5'; -$lang['5.5'] = 'GMT + 5:30'; -$lang['6'] = 'GMT + 6'; -$lang['6.5'] = 'GMT + 6:30'; -$lang['7'] = 'GMT + 7'; -$lang['8'] = 'GMT + 8'; -$lang['9'] = 'GMT + 9'; -$lang['9.5'] = 'GMT + 9:30'; -$lang['10'] = 'GMT + 10'; -$lang['11'] = 'GMT + 11'; -$lang['12'] = 'GMT + 12'; -$lang['13'] = 'GMT + 13'; - -// это для выпадающего меню, раньше тут еще были города -$lang['TZ']['-12'] = 'GMT - 12'; -$lang['TZ']['-11'] = 'GMT - 11'; -$lang['TZ']['-10'] = 'GMT - 10'; -$lang['TZ']['-9'] = 'GMT - 9'; -$lang['TZ']['-8'] = 'GMT - 8'; -$lang['TZ']['-7'] = 'GMT - 7'; -$lang['TZ']['-6'] = 'GMT - 6'; -$lang['TZ']['-5'] = 'GMT - 5'; -$lang['TZ']['-4'] = 'GMT - 4'; -$lang['TZ']['-3.5'] = 'GMT - 3:30'; -$lang['TZ']['-3'] = 'GMT - 3'; -$lang['TZ']['-2'] = 'GMT - 2'; -$lang['TZ']['-1'] = 'GMT - 1'; -$lang['TZ']['0'] = 'GMT (время по Гринвичу)'; -$lang['TZ']['1'] = 'GMT + 1'; -$lang['TZ']['2'] = 'GMT + 2'; -$lang['TZ']['3'] = 'GMT + 3'; -$lang['TZ']['3.5'] = 'GMT + 3:30'; -$lang['TZ']['4'] = 'GMT + 4 (Московское время)'; -$lang['TZ']['4.5'] = 'GMT + 4:30'; -$lang['TZ']['5'] = 'GMT + 5'; -$lang['TZ']['5.5'] = 'GMT + 5:30'; -$lang['TZ']['6'] = 'GMT + 6'; -$lang['TZ']['6.5'] = 'GMT + 6:30'; -$lang['TZ']['7'] = 'GMT + 7'; -$lang['TZ']['8'] = 'GMT + 8'; -$lang['TZ']['9'] = 'GMT + 9'; -$lang['TZ']['9.5'] = 'GMT + 9:30'; -$lang['TZ']['10'] = 'GMT + 10'; -$lang['TZ']['11'] = 'GMT + 11'; -$lang['TZ']['12'] = 'GMT + 12'; -$lang['TZ']['13'] = 'GMT + 13'; - -$lang['DATETIME']['TODAY'] = 'Сегодня, в'; -$lang['DATETIME']['YESTERDAY'] = 'Вчера, в'; - -$lang['DATETIME']['SUNDAY'] = 'Воскресенье'; -$lang['DATETIME']['MONDAY'] = 'Понедельник'; -$lang['DATETIME']['TUESDAY'] = 'Вторник'; -$lang['DATETIME']['WEDNESDAY'] = 'Среда'; -$lang['DATETIME']['THURSDAY'] = 'Четверг'; -$lang['DATETIME']['FRIDAY'] = 'Пятница'; -$lang['DATETIME']['SATURDAY'] = 'Суббота'; -$lang['DATETIME']['SUN'] = 'Вс'; -$lang['DATETIME']['MON'] = 'Пн'; -$lang['DATETIME']['TUE'] = 'Вт'; -$lang['DATETIME']['WED'] = 'Ср'; -$lang['DATETIME']['THU'] = 'Чт'; -$lang['DATETIME']['FRI'] = 'Пт'; -$lang['DATETIME']['SAT'] = 'Сб'; -$lang['DATETIME']['JANUARY'] = 'Январь'; -$lang['DATETIME']['FEBRUARY'] = 'Февраль'; -$lang['DATETIME']['MARCH'] = 'Март'; -$lang['DATETIME']['APRIL'] = 'Апрель'; -$lang['DATETIME']['MAY'] = 'Май'; -$lang['DATETIME']['JUNE'] = 'Июнь'; -$lang['DATETIME']['JULY'] = 'Июль'; -$lang['DATETIME']['AUGUST'] = 'Август'; -$lang['DATETIME']['SEPTEMBER'] = 'Сентябрь'; -$lang['DATETIME']['OCTOBER'] = 'Октябрь'; -$lang['DATETIME']['NOVEMBER'] = 'Ноябрь'; -$lang['DATETIME']['DECEMBER'] = 'Декабрь'; -$lang['DATETIME']['JAN'] = 'Янв'; -$lang['DATETIME']['FEB'] = 'Фев'; -$lang['DATETIME']['MAR'] = 'Мар'; -$lang['DATETIME']['APR'] = 'Апр'; -$lang['DATETIME']['JUN'] = 'Июн'; -$lang['DATETIME']['JUL'] = 'Июл'; -$lang['DATETIME']['AUG'] = 'Авг'; -$lang['DATETIME']['SEP'] = 'Сен'; -$lang['DATETIME']['OCT'] = 'Окт'; -$lang['DATETIME']['NOV'] = 'Ноя'; -$lang['DATETIME']['DEC'] = 'Дек'; - -// -// Errors -// -$lang['INFORMATION'] = 'Информация'; -$lang['ADMIN_REAUTHENTICATE'] = 'Чтобы получить доступ к админ/мод панели, вам необходимо еще раз ввести пароль.'; - -// -// Attachment Mod Main Language Variables -// - -// Auth Related Entries -$lang['RULES_ATTACH_CAN'] = 'Вы можете прикреплять файлы к сообщениям'; -$lang['RULES_ATTACH_CANNOT'] = 'Вы не можете прикреплять файлы к сообщениям'; -$lang['RULES_DOWNLOAD_CAN'] = 'Вы можете скачивать файлы'; -$lang['RULES_DOWNLOAD_CANNOT'] = 'Вы не можете скачивать файлы'; -$lang['SORRY_AUTH_VIEW_ATTACH'] = 'Вы не можете просматривать или скачивать файлы'; - -// Viewtopic -> Display of Attachments -$lang['DESCRIPTION'] = 'Описание'; // used in Administration Panel too... -$lang['DOWNLOAD'] = 'Скачать'; // this Language Variable is defined in admin.php too, but we are unable to access it from the main Language File -$lang['FILESIZE'] = 'Размер'; -$lang['VIEWED'] = 'Просмотров'; -$lang['DOWNLOAD_NUMBER'] = '%d раз'; // replace %d with count -$lang['EXTENSION_DISABLED_AFTER_POSTING'] = 'Расширение \'%s\' было деактивировано администратором, поэтому это приложение не отображается.'; // used in Posts and PM's, replace %s with mime type - -$lang['ATTACHMENT'] = 'Вложение'; -$lang['ATTACHMENT_THUMBNAIL'] = 'Вложение (миниатюра)'; - -// Posting/PM -> Posting Attachments -$lang['ADD_ATTACHMENT'] = 'Прикрепить файл'; -$lang['ADD_ATTACHMENT_TITLE'] = 'Прикрепить файл'; -$lang['ADD_ATTACHMENT_EXPLAIN'] = 'Если вы не хотите прикреплять файл, оставьте это поле пустым'; -$lang['FILENAME'] = 'Имя файла'; -$lang['FILE_COMMENT'] = 'Комментарий'; - -// Posting/PM -> Posted Attachments -$lang['POSTED_ATTACHMENTS'] = 'Прикрепленные файлы'; -$lang['UPDATE_COMMENT'] = 'Обновить комментарий'; -$lang['DELETE_ATTACHMENTS'] = 'Удалить файлы'; -$lang['DELETE_ATTACHMENT'] = 'Удалить файл'; -$lang['DELETE_THUMBNAIL'] = 'Удалить пиктограмму'; -$lang['UPLOAD_NEW_VERSION'] = 'Загрузить новую версию'; - -// Errors -> Posting Attachments -$lang['INVALID_FILENAME'] = '%s - неправильное имя файла'; // replace %s with given filename -$lang['ATTACHMENT_PHP_SIZE_NA'] = 'Вложение слишком велико.
    Невозможно превышать ограничение установленное в PHP.
    Attachment Mod не может определить максимальный размер закачиваемых файлов, определенный в php.ini.'; -$lang['ATTACHMENT_PHP_SIZE_OVERRUN'] = 'Вложение слишком велико.
    Максимальный размер закачиваемого файла: %d MB.
    Отметьте, что эта величина определена в php.ini и Attachment Mod не может изменить это значение в большую сторону.'; // replace %d with ini_get('upload_max_filesize') -$lang['DISALLOWED_EXTENSION'] = 'Расширение %s запрещено администратором'; // replace %s with extension (e.g. .php) -$lang['DISALLOWED_EXTENSION_WITHIN_FORUM'] = 'Вы не можете публиковать файлы с расширением %s в этом форуме'; // replace %s with the Extension -$lang['ATTACHMENT_TOO_BIG'] = 'Вложение слишком велико.
    Максимальный размер: %d'; // replace %d with maximum file size, %s with size var -$lang['ATTACH_QUOTA_REACHED'] = 'Достигнут максимальный общий размер ваших вложений. Пожалуйста, обратитесь к администратору по этому вопросу.'; -$lang['TOO_MANY_ATTACHMENTS'] = 'Вложение невозможно, так как максимальное количество (%d) вложений в этом сообщении достигнуто.'; // replace %d with maximum number of attachments -$lang['ERROR_IMAGESIZE'] = 'Изображение должно быть меньше, чем %d пикселей в ширину и %d пикселей в высоту.'; -$lang['GENERAL_UPLOAD_ERROR'] = 'Ошибка закачки: Невозможно закачать вложение в %s.'; // replace %s with local path - -$lang['ERROR_EMPTY_ADD_ATTACHBOX'] = 'Вы должны указать "Имя Файла" в форме "Прикрепить файл"'; -$lang['ERROR_MISSING_OLD_ENTRY'] = 'Невозможно обновить вложение, старое вложение не обнаружено'; - -// Errors -> PM Related -$lang['ATTACH_QUOTA_SENDER_PM_REACHED'] = 'К сожалению, вы достигли максимального общего объема закачанных файлов в папке личных сообщений. Пожалуйста, удалите часть принятых/отправленных вложений.'; -$lang['ATTACH_QUOTA_RECEIVER_PM_REACHED'] = 'К сожалению, \'%s\' достиг(ла) максимального общего объема закачанных файлов в папке личных сообщений. Пожалуйста, сообщите ему(ей) или подождите удаления некоторых из вложений.'; - -// Errors -> Download -$lang['NO_ATTACHMENT_SELECTED'] = 'Вы не выделили вложений для скачивания или просмотра.'; -$lang['ERROR_NO_ATTACHMENT'] = 'Выделенных вложений больше не существует.'; - -// Delete Attachments -$lang['CONFIRM_DELETE_ATTACHMENTS'] = 'Вы уверены, что хотите удалить выделенные вложения?'; -$lang['DELETED_ATTACHMENTS'] = 'Выделенные вложения удалены.'; -$lang['ERROR_DELETED_ATTACHMENTS'] = 'Невозможно удалить вложения.'; -$lang['CONFIRM_DELETE_PM_ATTACHMENTS'] = 'Вы уверены, что хотите удалить все вложения в этом личном сообщении?'; - -// General Error Messages -$lang['ATTACHMENT_FEATURE_DISABLED'] = 'Функция вложений выключена.'; - -$lang['DIRECTORY_DOES_NOT_EXIST'] = 'Директория \'%s\' не существует или не может быть найдена.'; // replace %s with directory -$lang['DIRECTORY_IS_NOT_A_DIR'] = 'Пожалуйста, проверьте является ли \'%s\' директорией.'; // replace %s with directory -$lang['DIRECTORY_NOT_WRITEABLE'] = 'Директория \'%s\' недоступна для записи. Вам нужно создать директорию для закачек и выполнить chmod 777 (или изменить владельца httpd-servers) для закачки фалов на сервер.
    Если у вас только FTP доступ к серверу измените \'Атрибуты\' директории на rwxrwxrwx.'; // replace %s with directory - -// Attach Rules Window -$lang['RULES_PAGE'] = 'Правила вложений'; -$lang['ATTACH_RULES_TITLE'] = 'Разрешенные группы расширений и их размер'; -$lang['GROUP_RULE_HEADER'] = '%s -> Максимальный общий размер: %s'; // Replace first %s with Extension Group, second one with the Size STRING -$lang['ALLOWED_EXTENSIONS_AND_SIZES'] = 'Разрешенные расширения и их размер'; -$lang['NOTE_USER_EMPTY_GROUP_PERMISSIONS'] = 'ВНИМАНИЕ:
    Вы можете отправлять вложения в этот форум,
    но, так как ни одной группе расширений не разрешено быть вложенной здесь,
    вы не можете ничего отправить. Если вы попытаетесь,
    то получите сообщение об ошибке.
    '; - -// Quota Variables -$lang['UPLOAD_QUOTA'] = 'Квота'; -$lang['PM_QUOTA'] = 'Квота ЛС'; - -// Common Variables -$lang['BYTES'] = 'Байт'; -$lang['KB'] = 'KB'; -$lang['MB'] = 'MB'; -$lang['GB'] = 'GB'; -$lang['ATTACH_SEARCH_QUERY'] = 'Поиск вложений'; -$lang['TEST_SETTINGS'] = 'Проверить настройки'; -$lang['NOT_ASSIGNED'] = 'Не назначено'; -$lang['NO_FILE_COMMENT_AVAILABLE'] = 'Комментарий недоступен'; -$lang['ATTACHBOX_LIMIT'] = 'Ваш ящик вложений заполнен на %d%%'; -$lang['NO_QUOTA_LIMIT'] = 'Квота отсутствует'; -$lang['UNLIMITED'] = 'Без ограничений'; - -//bt -$lang['BT_REG_YES'] = 'Зарегистрирован'; -$lang['BT_REG_NO'] = 'Не зарегистрирован'; -$lang['BT_ADDED'] = 'Добавлен'; -$lang['BT_REG_ON_TRACKER'] = 'Зарегистрировать торрент'; -$lang['BT_REG_FAIL'] = 'Не удалось зарегистрировать торрент на трекере'; -$lang['BT_REG_FAIL_SAME_HASH'] = 'Другой торрент с таким же info_hash уже зарегистрирован'; -$lang['BT_UNREG_FROM_TRACKER'] = 'Разрегистрировать торрент'; -$lang['BT_UNREGISTERED'] = 'Торрент разрегистрирован'; -$lang['BT_REGISTERED'] = 'Торрент зарегистрирован на трекере

    Теперь вам нужно его скачать и поставить на закачку у самого себя в ту же директорию, где лежат оригинальные файлы'; -$lang['INVALID_ANN_URL'] = 'Неправильный Аnnounce URL [%s]

    должен быть %s'; -$lang['PASSKEY_ERR_TOR_NOT_REG'] = 'Невозможно добавить passkey

    Торрент не зарегистрирован на трекере'; -$lang['PASSKEY_ERR_EMPTY'] = 'Невозможно добавить passkey

    Вам необходимо зайти в ваш форумный профиль и сгенерировать passkey'; -$lang['BT_PASSKEY'] = 'Passkey'; -$lang['BT_GEN_PASSKEY'] = 'Создать новый'; -$lang['BT_PASSKEY_VIEW'] = 'Показать'; -$lang['BT_GEN_PASSKEY_NEW'] = "Внимание! После изменения нового passkey, вам необходимо будет заново скачать все активные торренты! \n Вы уверены, что хотите создать новый passkey?"; -$lang['BT_NO_SEARCHABLE_FORUMS'] = 'Доступных для поиска форумов не найдено'; - -$lang['SEEDS'] = 'Сидам'; -$lang['LEECHS'] = 'Личерам'; -$lang['SPEED_UP'] = 'Скорость отдачи'; -$lang['SPEED_DOWN'] = 'Скорость скачивания'; - -$lang['SEEDERS'] = 'Сидов'; -$lang['LEECHERS'] = 'Личеров'; -$lang['RELEASING'] = 'Свои'; -$lang['SEEDING'] = 'Сидер'; -$lang['LEECHING'] = 'Личер'; -$lang['IS_REGISTERED'] = 'Зарегистрирован'; -$lang['MAGNET'] = 'Magnet'; - -//torrent status mod -$lang['TOR_STATUS'] = 'Статус'; -$lang['TOR_STATUS_SELECT_ACTION'] = 'Выберите статус'; -$lang['TOR_STATUS_NOT_SELECT'] = 'Вы не выбрали статус.'; -$lang['TOR_STATUS_SELECT_ALL'] = 'Все статусы'; -$lang['TOR_STATUS_NAME'] = array( - TOR_NOT_APPROVED => 'не проверено', - TOR_CLOSED => 'закрыто', - TOR_APPROVED => 'проверено', - TOR_NEED_EDIT => 'недооформлено', - TOR_NO_DESC => 'неоформлено', - TOR_DUP => 'повтор', - TOR_CLOSED_CPHOLD => 'закрыто правообладателем', - TOR_CONSUMED => 'поглощено', - TOR_DOUBTFUL => 'сомнительно', - TOR_CHECKING => 'проверяется', - TOR_TMP => 'временная', - TOR_PREMOD => 'премодерация', -); -$lang['TOR_STATUS_FAILED'] = 'Такого статуса не существует!'; -$lang['TORRENT_FAILED'] = 'Раздача не найдена!'; -$lang['TOR_STATUS_DUB'] = 'Раздача имеет тот же статус'; -$lang['TOR_DONT_CHANGE'] = 'Изменение статуса невозможно!'; -$lang['TOR_STATUS_OF'] = 'Раздача имеет статус:'; -$lang['TOR_STATUS_CHANGED'] = 'Статус изменил: '; -$lang['TOR_BACK'] = ' назад'; -$lang['PROCEED'] = 'Продолжить'; -$lang['INVALID_ATTACH_ID'] = 'Отсутствует идентификатор файла!'; -$lang['CHANGE_TOR_TYPE'] = 'Тип торрента успешно изменен'; -$lang['DEL_TORRENT'] = 'Вы уверены, что хотите удалить торрент?'; -$lang['DEL_MOVE_TORRENT'] = 'Вы уверены, что хотите удалить и перенести топик?'; -$lang['UNEXECUTED_RELEASE'] = 'У вас есть неоформленный релиз, прежде чем создавать новый - исправьте свой неоформленный!'; -$lang['STATUS_DOES_EXIST'] = 'Такого статуса не существует: '; - -// tor_comment -$lang['TOR_MOD_TITLE'] = 'Изменение статуса раздачи - %s'; -$lang['TOR_MOD_MSG'] = "Здравствуйте, %s.\n\n Статус [url=%s]вашей[/url] раздачи изменен на [b]%s[/b]"; - -$lang['TOR_AUTH_TITLE'] = 'Изменение в оформлении - %s'; -$lang['TOR_AUTH_MSG'] = "Здравствуйте, %s.\n\n Оформление моей раздачи изменено - [url=%s]%s[/url]\n\n Просьба повторно ее проверить."; -$lang['TOR_AUTH_FIXED'] = 'Исправил'; -$lang['TOR_AUTH_SENT_COMMENT'] = ' · Информация отправлена модератору. Ожидайте.'; -//end torrent status mod - -$lang['BT_TOPIC_TITLE'] = 'Название темы'; -$lang['BT_SEEDER_LAST_SEEN'] = 'Последний сид'; -$lang['BT_SORT_FORUM'] = 'Форум'; -$lang['SIZE'] = 'Размер'; -$lang['PIECE_LENGTH'] = 'Размер блока'; -$lang['COMPLETED'] = 'Скачан'; -$lang['ADDED'] = 'Добавлен'; -$lang['DELETE_TORRENT'] = 'Удалить торрент'; -$lang['DELETE_MOVE_TORRENT'] = 'Удалить и перенести топик'; -$lang['DL_TORRENT'] = 'Скачать .torrent'; -$lang['BT_LAST_POST'] = 'Посл. сообщение'; -$lang['BT_CREATED'] = 'Время создания топика'; -$lang['BT_REPLIES'] = 'Сообщения'; -$lang['BT_VIEWS'] = 'Просмотры'; - -// Gold/Silver releases -$lang['GOLD'] = 'Золото'; -$lang['SILVER'] = 'Серебро'; -$lang['SET_GOLD_TORRENT'] = 'Сделать золотым'; -$lang['UNSET_GOLD_TORRENT'] = 'Снять золото'; -$lang['SET_SILVER_TORRENT'] = 'Сделать серебряным'; -$lang['UNSET_SILVER_TORRENT'] = 'Снять серебро'; -$lang['GOLD_STATUS'] = 'ЗОЛОТАЯ РАЗДАЧА! СКАЧАННОЕ НЕ ЗАСЧИТЫВАЕТСЯ!'; -$lang['SILVER_STATUS'] = 'СЕРЕБРЯНАЯ РАЗДАЧА! СКАЧАННОЕ ЗАСЧИТЫВАЕТСЯ ТОЛЬКО НАПОЛОВИНУ!'; -// End - Gold/Silver releases - -$lang['SEARCH_IN_FORUMS'] = 'Искать в форумах'; -$lang['SELECT_CAT'] = 'Выбрать категорию…'; -$lang['GO_TO_SECTION'] = 'перейти к разделу'; -$lang['TORRENTS_FROM'] = 'Торренты за'; -$lang['SHOW_ONLY'] = 'Показывать только'; -$lang['SHOW_COLUMN'] = 'Показывать колонку'; -$lang['SEL_CHAPTERS'] = 'Ссылка на выбранные разделы'; -$lang['NOT_SEL_CHAPTERS'] = 'Вы не выбрали разделы'; -$lang['SEL_CHAPTERS_HELP'] = 'Вы можете выбрать максимум %s разделов'; -$lang['HIDE_CONTENTS'] = 'Скрыть содержимое {...}'; -$lang['FILTER_BY_NAME'] = 'фильтр по названию'; - -$lang['BT_ONLY_ACTIVE'] = 'Активные (есть сидер или личер)'; -$lang['BT_ONLY_MY'] = 'Мои раздачи'; -$lang['BT_SEED_EXIST'] = 'Есть сид (полный источник)'; -$lang['BT_ONLY_NEW'] = 'Новые с последнего посещения'; -$lang['BT_SHOW_CAT'] = 'Категория'; -$lang['BT_SHOW_FORUM'] = 'Форум'; -$lang['BT_SHOW_AUTHOR'] = 'Автор'; -$lang['BT_SHOW_SPEED'] = 'Скорость'; -$lang['SEED_NOT_SEEN'] = 'Источника не было'; -$lang['TITLE_MATCH'] = 'Название содержит'; -$lang['BT_USER_NOT_FOUND'] = 'не найден'; -$lang['DL_SPEED'] = 'Общая скорость скачивания'; - -$lang['BT_DISREGARD'] = 'не учитывать'; -$lang['BT_NEVER'] = 'никогда'; -$lang['BT_ALL_DAYS_FOR'] = 'за все время'; -$lang['BT_1_DAY_FOR'] = 'за сегодня'; -$lang['BT_3_DAY_FOR'] = 'последние 3 дня'; -$lang['BT_7_DAYS_FOR'] = 'посл. неделю'; -$lang['BT_2_WEEKS_FOR'] = 'посл. 2 недели'; -$lang['BT_1_MONTH_FOR'] = 'последний месяц'; -$lang['BT_1_DAY'] = 'день'; -$lang['BT_3_DAYS'] = '3 дня'; -$lang['BT_7_DAYS'] = 'неделю'; -$lang['BT_2_WEEKS'] = '2 недели'; -$lang['BT_1_MONTH'] = 'месяц'; - -$lang['DL_LIST_AND_TORRENT_ACTIVITY'] = 'Статистика раздачи'; -$lang['DL_WILL'] = 'Буду качать'; -$lang['DL_DOWN'] = 'Качаю'; -$lang['DL_COMPLETE'] = 'Скачал'; -$lang['DL_CANCEL'] = 'Отмена'; - -$lang['DLWILL_2'] = 'Будут качать'; -$lang['DLDOWN_2'] = 'Качают'; -$lang['DLCOMPLETE_2'] = 'Скачали'; -$lang['DLCANCEL_2'] = 'Отмена'; - -$lang['DL_LIST_DEL'] = 'Очистить DL-List'; -$lang['DL_LIST_DEL_CONFIRM'] = 'Вы уверены, что хотите удалить DL-List для этого топика?'; -$lang['SHOW_DL_LIST'] = 'Список скачавших'; -$lang['SET_DL_STATUS'] = 'Разрешить скачивание'; -$lang['UNSET_DL_STATUS'] = 'Запретить скачивание'; -$lang['TOPICS_DOWN_SETS'] = 'Выбранные темы изменили статус на: Скачиваемые'; -$lang['TOPICS_DOWN_UNSETS'] = 'Выбранные темы перестали быть Скачиваемыми'; - -$lang['TOPIC_DL'] = 'DL'; - -$lang['MY_DOWNLOADS'] = 'Мои закачки'; -$lang['SEARCH_DL_WILL'] = 'Будущие'; -$lang['SEARCH_DL_WILL_DOWNLOADS'] = 'Будущие закачки'; -$lang['SEARCH_DL_DOWN'] = 'Текущие'; -$lang['SEARCH_DL_COMPLETE'] = 'Прошлые'; -$lang['SEARCH_DL_COMPLETE_DOWNLOADS'] = 'Прошлые закачки'; -$lang['SEARCH_DL_CANCEL'] = 'Отмененные'; -$lang['CUR_DOWNLOADS'] = 'Текущие закачки'; -$lang['CUR_UPLOADS'] = 'Текущие раздачи'; -$lang['SEARCH_RELEASES'] = 'Найти раздачи'; -$lang['TOR_SEARCH_TITLE'] = 'Опции показа торрентов'; -$lang['OPEN_TOPIC'] = 'Открыть топик'; - -$lang['ALLOWED_ONLY_1ST_POST_ATTACH'] = 'Вы можете прикреплять торрент-файлы только к первому сообщению в теме'; -$lang['ALLOWED_ONLY_1ST_POST_REG'] = 'Вы можете регистрировать торрент-файлы на трекере только из первого сообщения в теме'; -$lang['REG_NOT_ALLOWED_IN_THIS_FORUM'] = 'В этом форуме регистрация торрентов на трекере запрещена'; -$lang['ALREADY_REG'] = 'Торрент уже зарегистрирован'; -$lang['NOT_TORRENT'] = 'Это не торрент-файл'; -$lang['ONLY_1_TOR_PER_POST'] = 'Вы не можете зарегистрировать еще один торрент для этого сообщения'; -$lang['ONLY_1_TOR_PER_TOPIC'] = 'Вы не можете зарегистрировать еще один торрент для этого топика'; -$lang['VIEWING_USER_BT_PROFILE'] = 'Торрент-профиль'; // %s is username -$lang['CUR_ACTIVE_DLS'] = 'Активные раздачи'; - -$lang['TD_TRAF'] = 'Сегодня'; -$lang['YS_TRAF'] = 'Вчера'; -$lang['TOTAL_TRAF'] = 'Всего'; - -$lang['USER_RATIO'] = 'Рейтинг'; -$lang['MAX_SPEED'] = 'Скорость'; -$lang['DOWNLOADED'] = 'Скачано'; -$lang['UPLOADED'] = 'Отдано'; -$lang['RELEASED'] = 'На своих'; -$lang['BONUS'] = 'На редких'; -$lang['IT_WILL_BE_DOWN'] = 'начнет учитываться после того как будет скачано'; -$lang['SPMODE_FULL'] = 'Подробная статистика пиров'; - -// Seed Bonus -$lang['MY_BONUS'] = 'Мой бонус (%s бонусов в наличии)'; -$lang['BONUS_SELECT'] = 'Выбор'; -$lang['SEED_BONUS'] = 'СидБонус'; -$lang['EXCHANGE'] = 'Обменять'; -$lang['EXCHANGE_BONUS'] = 'Обмен сид бонусов'; -$lang['BONUS_UPLOAD_DESC'] = '%s к раздаче
    Обменять бонусные очки на %1$s трафика, который будет приплюсован к сумме вашей раздачи.'; -$lang['BONUS_UPLOAD_PRICE'] = '%s'; -$lang['PRICE'] = 'Цена'; -$lang['EXCHANGE_NOT'] = 'Обмен не доступен'; -$lang['BONUS_SUCCES'] = 'Обмен произведен удачно! Вам прибавлено %s'; -$lang['BONUS_NOT_SUCCES'] = 'У вас недостаточно Бонусов в наличии. Больше сидируйте!'; -$lang['BONUS_RETURN'] = 'Вернуться к обмену Сид бонусов'; - -$lang['TRACKER'] = 'Трекер'; -$lang['OPEN_TOPICS'] = 'Открывать топики'; -$lang['OPEN_IN_SAME_WINDOW'] = 'открывать в этом же окне'; -$lang['SHOW_TIME_TOPICS'] = 'показывать время создания темы'; -$lang['SHOW_CURSOR'] = 'подсвечивать строки под курсором'; - -$lang['BT_LOW_RATIO_FUNC'] = 'У вас слишком низкий рейтинг для того, чтобы воспользоваться этой функцией'; -$lang['BT_LOW_RATIO_FOR_DL'] = 'Рейтинг %s уже не позволяет вам скачивать новые торренты.

    Для поднятия рейтинга вы можете что-либо раздать из ваших прошлых закачек, либо организовать новую раздачу.

    Пожалуйста, помните о том, что ваше yчастие в системе BitTorrent не может ограничиваться только скачиванием!'; -$lang['BT_RATIO_WARNING_MSG'] = 'Если ваш рейтинг упадет ниже %s, вы не сможете скачивать торренты! Подробнее о рейтинге.'; - -$lang['SEEDER_LAST_SEEN'] = 'Полного источника не было: %s'; - -$lang['NEED_TO_LOGIN_FIRST'] = 'Вы должны авторизоваться на сайте'; -$lang['ONLY_FOR_MOD'] = 'Эта опция доступна только модераторам'; -$lang['ONLY_FOR_ADMIN'] = 'Эта опция доступна только администраторам'; -$lang['ONLY_FOR_SUPER_ADMIN'] = 'Эта опция доступна только суперадминистраторам'; - -$lang['LOGS'] = 'История темы'; -$lang['FORUM_LOGS'] = 'История форума'; -$lang['AUTOCLEAN'] = 'Автоочистка'; -$lang['DESIGNER'] = 'Конструктор'; - -$lang['LAST_IP'] = 'Последний IP:'; -$lang['REG_IP'] = 'IP регистрации:'; -$lang['OTHER_IP'] = 'Другие IP:'; -$lang['ALREADY_REG_IP'] = 'С вашего IP-адреса уже зарегистрирован пользователь %s. Если вы ранее не регистрировались на нашем сайте, обратитесь к Администрации'; -$lang['HIDDEN'] = 'Скрыт'; -// -// That's all, Folks! -// ------------------------------------------------- - -// from admin -$lang['NOT_ADMIN'] = 'У вас нет прав на администрирование'; - -$lang['COOKIES_REQUIRED'] = 'Куки должны быть включены!'; -$lang['SESSION_EXPIRED'] = 'Сессия устарела'; - -// Sort memberlist per letter -$lang['SORT_PER_LETTER'] = 'Имя начинается с буквы'; -$lang['OTHERS'] = 'другие'; -$lang['ALL'] = 'все'; - -$lang['POST_LINK'] = 'Линк на это сообщение'; -$lang['GOTO_QUOTED_POST'] = 'Перейти к цитируемому сообщению'; -$lang['LAST_VISITED'] = 'Последний визит'; -$lang['LAST_ACTIVITY'] = 'Последняя активность'; -$lang['NEVER'] = 'Никогда'; - -//mpd -$lang['DELETE_POSTS'] = 'Удалить сообщения'; -$lang['DELETE_POSTS_SUCCESFULLY'] = 'Выбранные сообщения были успешно удалены'; -//mpd end - -//ts -$lang['TOPICS_ANNOUNCEMENT'] = 'Объявления'; -$lang['TOPICS_STICKY'] = 'Прилеплены'; -$lang['TOPICS_NORMAL'] = 'Топики'; -//ts end - -//dpc -$lang['DOUBLE_POST_ERROR'] = 'Вы не можете отправить подряд два одинаковых сообщения'; -//dpc end - -//upt -$lang['UPDATE_POST_TIME'] = 'Обновить время сообщения'; -//upt end - -$lang['TOPIC_SPLIT_NEW'] = 'Новая тема'; -$lang['TOPIC_SPLIT_OLD'] = 'Старая тема'; -$lang['BOT_LEAVE_MSG_MOVED'] = 'Оставить сообщение о переносе'; -$lang['BOT_AFTER_SPLIT_TO_OLD'] = 'Оставить сообщение о разделении в старой теме'; -$lang['BOT_AFTER_SPLIT_TO_NEW'] = 'Добавить сообщение о разделении в новую тему'; -//qr -$lang['QUICK_REPLY'] = 'Быстрый ответ'; -$lang['INS_NAME_TIP'] = 'Вставить имя или выделенный кусок сообщения.'; -$lang['QUOTE_SELECTED'] = 'Цитировать выделенный текст'; -$lang['TRANSLIT_RULES'] = 'Правила транслита'; -$lang['QR_ATTACHSIG'] = 'Присоединить подпись'; -$lang['QR_NOTIFY'] = 'Уведомлять об ответах'; -$lang['QR_DISABLE'] = 'Отключить'; -$lang['QR_USERNAME'] = 'Имя'; -$lang['NO_TEXT_SEL'] = 'Нет выделенного текста'; -$lang['QR_FONT_SEL'] = 'Шрифт'; -$lang['QR_COLOR_SEL'] = 'Цвет шрифта'; -$lang['QR_SIZE_SEL'] = 'Размер шрифта'; -$lang['COLOR_STEEL_BLUE'] = 'Темно-Голубой'; -$lang['COLOR_GRAY'] = 'Серый'; -$lang['COLOR_DARK_GREEN'] = 'Темно-Зеленый'; -//qr end - -//txtb -$lang['ICQ_TXTB'] = '[ICQ]'; -$lang['REPLY_WITH_QUOTE_TXTB'] = '[Цитировать]'; -$lang['READ_PROFILE_TXTB'] = '[Профиль]'; -$lang['SEND_EMAIL_TXTB'] = '[E-mail]'; -$lang['VISIT_WEBSITE_TXTB'] = '[www]'; -$lang['EDIT_DELETE_POST_TXTB'] = '[Изменить]'; -$lang['SEARCH_USER_POSTS_TXTB'] = '[Поиск]'; -$lang['VIEW_IP_TXTB'] = '[ip]'; -$lang['DELETE_POST_TXTB'] = '[x]'; -$lang['MODERATE_POST_TXTB'] = '[m]'; -$lang['SEND_PM_TXTB'] = '[ЛС]'; -//txtb end - -$lang['DECLENSION']['REPLIES'] = array('ответ', 'ответа', 'ответов'); -$lang['DECLENSION']['TIMES'] = array('раз', 'раза', 'раз'); - -$lang['DELTA_TIME']['INTERVALS'] = array( - 'seconds' => array('секунда', 'секунды', 'секунд'), - 'minutes' => array('минута', 'минуты', 'минут'), - 'hours' => array('час', 'часа', 'часов'), - 'mday' => array('день', 'дня', 'дней'), - 'mon' => array('месяц', 'месяца', 'месяцев'), - 'year' => array('год', 'года', 'лет'), -); -$lang['DELTA_TIME']['FORMAT'] = '%1$s %2$s'; // 5(%1) минут(%2) - -$lang['AUTH_TYPES'][AUTH_ALL] = $lang['AUTH_ANONYMOUS_USERS']; -$lang['AUTH_TYPES'][AUTH_REG] = $lang['AUTH_REGISTERED_USERS']; -$lang['AUTH_TYPES'][AUTH_ACL] = $lang['AUTH_USERS_GRANTED_ACCESS']; -$lang['AUTH_TYPES'][AUTH_MOD] = $lang['AUTH_MODERATORS']; -$lang['AUTH_TYPES'][AUTH_ADMIN] = $lang['AUTH_ADMINISTRATORS']; - -$lang['NEW_USER_REG_DISABLED'] = 'Регистрация новых пользователей временно отключена'; -$lang['ONLY_NEW_POSTS'] = 'только новые сообщения'; -$lang['ONLY_NEW_TOPICS'] = 'только новые темы'; - -$lang['TORHELP_TITLE'] = 'Этим раздачам необходима ваша помощь!'; - -// -// Reports -// -$lang['REPORTS'] = 'Нарушения'; -$lang['REPORTS_DISABLE'] = 'Система нарушений отключена'; -$lang['NEW_REPORT'] = ': одно открыто'; -$lang['NEW_REPORTS'] = ': %d открыто'; -$lang['NO_NEW_REPORTS'] = ': нет открытых'; -$lang['REPORT_INDEX'] = 'Полный список нарушений'; -$lang['STATISTICS'] = 'Статистика'; -$lang['STATISTIC'] = 'Параметр'; -$lang['VALUE'] = 'Значение'; -$lang['REPORT_COUNT'] = 'Текущее число сообщений'; -$lang['REPORT_MODULES_COUNT'] = 'Число модулей'; -$lang['REPORT_HACK_COUNT'] = 'Общее число сообщений'; -$lang['DELETED_REPORTS'] = 'Сообщения, отмеченные для удаления'; -$lang['REPORT_TYPE'] = 'Тип сообщения'; -$lang['REPORT_BY'] = 'от'; -$lang['NO_REPORTS'] = 'Нет сообщений'; -$lang['INVERT_SELECT'] = 'Обратить выделение'; -$lang['REPORTED_BY'] = 'Сообщение от'; -$lang['REPORTED_TIME'] = 'Дата сообщения'; -$lang['STATUS'] = 'Статус'; -$lang['LAST_CHANGED_BY'] = 'Последнее изменение'; -$lang['CHANGES'] = 'Изменения'; -$lang['REPORT_CHANGE_TEXT'] = 'Отмечено как "%1$s" пользователем %2$s в %3$s.'; -$lang['REPORT_CHANGE_TEXT_COMMENT'] = 'Отмечено как "%1$s" пользователем %2$s в %3$s:
    %4$s'; -$lang['REPORT_CHANGE_DELETE_TEXT'] = 'Отмечено для удаления пользователем %1$s в %2$s.'; -$lang['ACTION'] = 'Действие'; -$lang['REPORT_MARK'] = 'Отметить как'; -$lang['OPEN_REPORTS'] = 'открытые сообщения'; -$lang['NO_REPORTS_FOUND'] = 'Подходящих сообщений не найдено.'; -$lang['NO_REPORTS_SELECTED'] = 'Не было выделено ни одного сообщения.'; -$lang['REPORT_NOT_EXISTS'] = 'Выбранное сообщение не существует.'; -$lang['REPORT_NOT_SUPPORTED'] = 'Данная опция не поддерживается.'; -$lang['CLICK_RETURN_REPORT'] = '%sВернуться к сообщению%s'; -$lang['CLICK_RETURN_REPORT_LIST'] = '%sВернуться к списку сообщений%s'; - -$lang['REPORT_STATUS'] = array( - REPORT_NEW => 'Новое', - REPORT_OPEN => 'Открыто', - REPORT_IN_PROCESS => 'В обработке', - REPORT_CLEARED => 'Закрыто', - REPORT_DELETE => 'Отмечено для удаления', -); - -$lang['REASON'] = 'Причина'; -$lang['REPORT_SUBJECT'] = 'Тема'; -$lang['REPORT_TITLE_EMPTY'] = 'Необходимо ввести заголовок сообщения.'; -$lang['REPORT_DESC_EMPTY'] = 'Необходимо ввести сообщение.'; -$lang['REPORT_INSERTED'] = 'Сообщение было отправлено администрации.'; - -$lang['CHANGE_REPORT'] = 'Изменить сообщение'; -$lang['CHANGE_REPORTS'] = 'Изменить сообщения'; -$lang['CHANGE_REPORT_EXPLAIN'] = 'Вы уверены, что хотите изменить статус выбранного сообщения?'; -$lang['CHANGE_REPORTS_EXPLAIN'] = 'Вы уверены, что хотите изменить статус выбранных сообщений?'; -$lang['COMMENT'] = 'Комментарий'; -$lang['REPORT_CHANGED'] = 'Статус выбранного сообщения был изменен.'; -$lang['REPORTS_CHANGED'] = 'Статус выбранных сообщений был изменен.'; - -$lang['DELETE_REPORT'] = 'Удалить сообщение'; -$lang['DELETE_REPORTS'] = 'Удалить сообщения'; -$lang['DELETE_REPORT_EXPLAIN'] = 'Вы уверены, что хотите удалить выбранное сообщение?'; -$lang['DELETE_REPORTS_EXPLAIN'] = 'Вы уверены, что хотите удалить выбранные сообщения?'; -$lang['REPORT_DELETED'] = 'Выбранное сообщение удалено.'; -$lang['REPORTS_DELETED'] = 'Выбранные сообщения удалены.'; -// -// Reports [END] -// - -// search -$lang['SEARCH_S'] = 'поиск…'; -$lang['FORUM_S'] = 'по форуму'; -$lang['TRACKER_S'] = 'по трекеру'; - -// copyright -$lang['NOTICE'] = '!ВНИМАНИЕ!'; -$lang['POWERED'] = 'UG93ZXJlZCBieSA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3RvcnJlbnRwaWVyLm1lIj5Ub3JyZW50UGllciBJSTwvYT4gJmNvcHk7IE1laXRoYXIsIFRvcnJlbnRQaWVyIElJIFRlYW0='; -$lang['COPY'] = 'Сайт не предоставляет электронные версии произведений, а занимается лишь коллекционированием и каталогизацией ссылок, присылаемых и публикуемых на форуме нашими читателями. Если вы являетесь правообладателем какого-либо представленного материала и не желаете, чтобы ссылка на него находилась в нашем каталоге, свяжитесь с нами, и мы незамедлительно удалим ее. Файлы для обмена на трекере предоставлены пользователями сайта, и администрация не несет ответственности за их содержание. Просьба не заливать файлы, защищенные авторскими правами, а также файлы нелегального содержания!'; - -// FILELIST -$lang['FILELIST'] = 'Список файлов'; -$lang['COLLAPSE'] = 'Свернуть директории'; -$lang['EXPAND'] = 'Развернуть'; -$lang['SWITCH'] = 'Переключить'; -$lang['EMPTY_ATTACH_ID'] = 'Отсутствует идентификатор файла!'; -$lang['TOR_NOT_FOUND'] = 'Файл отсутствует на сервере!'; -$lang['ERROR_BUILD'] = 'Ошибка: не удалось выстроить список файлов'; -$lang['TORFILE_INVALID'] = 'Торрент-файл поврежден!'; -// FILELIST - -// Профиль -$lang['WEBSITE_ERROR'] = 'Поле "Сайт" может содержать только http://ссылку'; -$lang['ICQ_ERROR'] = 'Поле "ICQ" может содержать только номер icq'; -$lang['INVALID_DATE'] = 'Ошибка даты '; -$lang['PROFILE_USER'] = 'Профиль пользователя'; -$lang['GOOD_UPDATE'] = 'был успешно изменен'; -$lang['DENY_VISITORS'] = 'Скрывать список текущих закачек в профиле'; -$lang['BAN_USER'] = 'Запретить пользователю'; -$lang['USER_NOT_ALLOWED'] = 'Пользователю запрещено'; -$lang['HIDE_AVATARS'] = 'Показывать аватар'; -$lang['SHOW_CAPTION'] = 'Показывать подпись'; -$lang['DOWNLOAD_TORRENT'] = 'Скачивать торренты'; -$lang['SEND_PM'] = 'Отправлять ЛС'; -$lang['SEND_MESSAGE'] = 'Отправлять сообщения'; -$lang['NEW_THREADS'] = 'Создавать темы'; -$lang['PROFILE_NOT_FOUND'] = 'Профиль не найден'; - -$lang['USER_DELETE'] = 'Удаление'; -$lang['USER_DELETE_EXPLAIN'] = 'Удалить этого пользователя'; -$lang['USER_DELETE_ME'] = 'Извините, свой аккаунт запрещено удалять!'; -$lang['USER_DELETE_CSV'] = 'Извините, этот аккаунт запрещено удалять!'; -$lang['USER_DELETE_CONFIRM'] = 'Вы действительно хотите удалить этого пользователя?'; -$lang['USER_DELETED'] = 'Пользователь был успешно удален'; -$lang['DELETE_USER_ALL_POSTS'] = 'Удалить все сообщения пользователя'; -$lang['DELETE_USER_ALL_POSTS_CONFIRM'] = 'Вы действительно хотите удалить все сообщения и все начатые пользователем топики целиком?'; -$lang['DELETE_USER_POSTS'] = 'Удалить все сообщения, кроме заглавных'; -$lang['DELETE_USER_POSTS_ME'] = 'Вы действительно хотите удалить все свои сообщения?'; -$lang['DELETE_USER_POSTS_CONFIRM'] = 'Вы действительно хотите удалить все сообщения пользователя, кроме заглавных?'; -$lang['USER_DELETED_POSTS'] = 'Сообщения успешно удалены'; - -$lang['USER'] = 'Пользователь'; -$lang['ROLE'] = 'Роль:'; -$lang['MEMBERSHIP_IN'] = 'Членство в группах'; -$lang['PARTY'] = 'Участник:'; -$lang['CANDIDATE'] = 'Кандидат:'; -$lang['INDIVIDUAL'] = 'Имеет индивидуальные права'; -$lang['GROUP_LIST_HIDDEN'] = 'У вас нет прав на просмотр скрытых групп'; - -$lang['USER_ACTIVATE'] = 'Активировать'; -$lang['USER_DEACTIVATE'] = 'Деактивировать'; -$lang['DEACTIVATE_CONFIRM'] = 'Вы действительно хотите активировать этого пользователя?'; -$lang['USER_ACTIVATE_ON'] = 'Пользователь успешно активирован'; -$lang['USER_DEACTIVATE_ME'] = 'Вы не можете деактивировать свой аккаунт!'; -$lang['ACTIVATE_CONFIRM'] = 'Вы действительно хотите деактивировать этого пользователя?'; -$lang['USER_ACTIVATE_OFF'] = 'Пользователь успешно деактивирован'; - -// Регистрация -$lang['CHOOSE_A_NAME'] = 'Вы должны выбрать имя'; -$lang['CHOOSE_E_MAIL'] = 'Вы должны указать e-mail'; -$lang['CHOOSE_PASS'] = 'Поля для ввода пароля не должны быть пустыми!'; -$lang['CHOOSE_PASS_ERR'] = 'Введенные пароли не совпадают'; -$lang['CHOOSE_PASS_ERR_MIN'] = 'Пароль должен быть не короче %d символов'; -$lang['CHOOSE_PASS_ERR_MAX'] = 'Пароль должен быть не длиннее %d символов'; -$lang['CHOOSE_PASS_OK'] = 'Пароли совпадают'; -$lang['CHOOSE_PASS_REG_OK'] = 'Пароли совпадают, можете продолжить регистрацию'; -$lang['CHOOSE_PASS_FAILED'] = 'Для изменения пароля вы должны правильно указать текущий пароль'; -$lang['EMAILER_DISABLED'] = 'Извините, эта функция временно не работает'; -$lang['TERMS_ON'] = 'Я согласен с этими условиями'; -$lang['TERMS_OFF'] = 'Я не согласен с этими условиями'; -$lang['JAVASCRIPT_ON_REGISTER'] = 'Для регистрации необходимо включить JavaScript'; -$lang['REGISTERED_IN_TIME'] = "В данный момент регистрация закрыта

    вы можете зарегистрироваться с 01:00 до 17:00 MSK (сейчас ". date('H:i') ." MSK)

    Приносим извинения за это временное неудобство"; -$lang['AUTOCOMPLETE'] = 'Сгенерировать пароль'; -$lang['YOUR_NEW_PASSWORD'] = 'Ваш пароль: '; -$lang['REGENERATE'] = 'Перегенерировать'; - -// Debug -$lang['EXECUTION_TIME'] = 'Время выполнения:'; -$lang['SEC'] = 'сек'; -$lang['ON'] = 'вкл'; -$lang['OFF'] = 'выкл'; -$lang['MEMORY'] = 'Память: '; -$lang['QUERIES'] = 'запр.'; -$lang['LIMIT'] = 'Лимит:'; - -// Attach Guest -$lang['DOWNLOAD_INFO'] = 'Скачать бесплатно и на максимальной скорости!'; -$lang['HOW_TO_DOWNLOAD'] = 'Как скачивать?'; -$lang['WHAT_IS_A_TORRENT'] = 'Что такое торрент?'; -$lang['RATINGS_AND_LIMITATIONS'] = 'Рейтинг и ограничения'; - -$lang['SCREENSHOTS_RULES'] = 'Прочтите правила размещения скриншотов!'; -$lang['SCREENSHOTS_RULES_TOPIC'] = 'Прочтите правила размещения скриншотов в этом разделе!'; -$lang['AJAX_EDIT_OPEN'] = 'У вас уже открыто одно быстрое редактирование!'; -$lang['GO_TO_PAGE'] = 'К странице…'; -$lang['EDIT'] = 'Изменить'; -$lang['SAVE'] = 'Сохранить'; -$lang['NEW_WINDOW'] = 'в новом окне'; - -// BB Code -$lang['ALIGN'] = 'Выравнивание:'; -$lang['LEFT'] = 'Влево'; -$lang['RIGHT'] = 'Вправо'; -$lang['CENTER'] = 'По центру'; -$lang['JUSTIFY'] = 'По ширине'; -$lang['HOR_LINE'] = 'Горизонтальная линия (Ctrl+8)'; -$lang['NEW_LINE'] = 'Перенос на новую строку'; -$lang['BOLD'] = 'Жирный текст: [b]текст[/b] (Ctrl+B)'; -$lang['ITALIC'] = 'Наклонный текст: [i]текст[/i] (Ctrl+I)'; -$lang['UNDERLINE'] = 'Подчеркнутый текст: [u]текст[/u] (Ctrl+U)'; -$lang['STRIKEOUT'] = 'Зачеркнутый текст: [s]текст[/s] (Ctrl+S)'; -$lang['QUOTE_TITLE'] = 'Цитата: [quote]текст[/quote] (Ctrl+Q)'; -$lang['IMG_TITLE'] = 'Вставить картинку: [img]http://image_url[/img] (Ctrl+R)'; -$lang['URL'] = 'Ссылка'; -$lang['URL_TITLE'] = 'Ссылка (Ctrl+W)'; -$lang['CODE_TITLE'] = 'Код: [code]код[/code] (Ctrl+K)'; -$lang['LIST'] = 'Список'; -$lang['LIST_TITLE'] = 'Список: [list]текст[/list] (Ctrl+L)'; -$lang['LIST_ITEM'] = 'Нумерованный список: [list=]текст[/list] (Ctrl+O)'; -$lang['QUOTE_SEL'] = 'Цит.выдел'; -$lang['TRANSLIT'] = 'Транслит'; -$lang['TRANSLIT_TITLE'] = 'Перевести выделение из транслита на русский'; -$lang['JAVASCRIPT_ON'] = 'Для отправки сообщений необходимо включить JavaScript'; - -$lang['NEW'] = 'Новое'; -$lang['NEWEST'] = 'Непрочит.'; -$lang['LATEST'] = 'Последнее'; -$lang['POST'] = 'Пост'; -$lang['OLD'] = 'Прочит'; - -// DL-лист -$lang['DL_USER'] = 'Пользователь'; -$lang['DL_PERCENT'] = 'Скачано процентов'; -$lang['DL_UL'] = 'Отдано'; -$lang['DL_DL'] = 'Скачано'; -$lang['DL_UL_SPEED'] = 'Отдача'; -$lang['DL_DL_SPEED'] = 'Загрузка'; -$lang['DL_PORT'] = 'Порт'; -$lang['DL_FORMULA'] = 'Формула: Отдано/Размер раздачи'; -$lang['DL_ULR'] = 'ULR'; -$lang['DL_STOPPED'] = 'Остановил Скачивание/Раздачу'; -$lang['DL_UPD'] = 'Подключен: '; -$lang['DL_INFO'] = 'показаны данные только за текущую сессию'; - -// Закрепление первого поста -$lang['POST_PIN'] = 'Закрепить первый пост'; -$lang['POST_UNPIN'] = 'Открепить первый пост'; -$lang['POST_PINNED'] = 'Первый пост закреплен'; -$lang['POST_UNPINNED'] = 'Первый пост откреплен'; - -// Управление моими сообщениями -$lang['GOTO_MY_MESSAGE'] = 'Закрыть и вернуться к списку "Мои сообщения"'; -$lang['DEL_MY_MESSAGE'] = 'Выбранные темы удалены из списка "Мои сообщения"'; -$lang['NO_TOPICS_MY_MESSAGE'] = 'Темы не найдены в списке ваших сообщений (возможно вы их уже удалили)'; -$lang['EDIT_MY_MESSAGE_LIST'] = 'Редактировать список'; -$lang['SELECT_INVERT'] = 'отметить/инвертировать'; -$lang['RESTORE_ALL_POSTS'] = 'Восстановить все сообщения'; -$lang['DEL_LIST_MY_MESSAGE'] = 'Удалить выбранные темы из списка'; -$lang['DEL_LIST_MY_MESSAGE_INFO'] = 'После удаления и до обновления всего списка в нем могут быть показаны уже удаленные темы'; -$lang['DEL_LIST_INFO'] = 'Для удаления тем из списка кликните на иконку слева от названия любого раздела'; - -//Отслеживаемые темы -$lang['WATCHED_TOPICS'] = 'Отслеживаемые темы'; -$lang['NO_WATCHED_TOPICS'] = 'Вы не отслеживаете ни одну из тем'; - -// set_die_append_msg -$lang['INDEX_RETURN'] = 'Вернуться на главную'; -$lang['FORUM_RETURN'] = 'Вернуться в форум'; -$lang['TOPIC_RETURN'] = 'Вернуться в тему'; -$lang['POST_RETURN'] = 'Перейти к сообщению'; -$lang['PROFILE_EDIT_RETURN'] = 'Вернуться к редактированию'; -$lang['PROFILE_RETURN'] = 'Перейти к просмотру профиля'; - -$lang['WARNING'] = 'Предупреждение'; -$lang['INDEXER'] = "Переиндексировать поиск"; - -$lang['FORUM_STYLE'] = 'Стиль форума'; - -$lang['LINKS_ARE_FORBIDDEN'] = 'Ссылки запрещены'; - -$lang['GENERAL'] = 'Общие настройки'; -$lang['USERS'] = 'Пользователи'; -$lang['GROUPS'] = 'Группы'; -$lang['FORUMS'] = 'Форумы'; -$lang['MODS'] = 'Модификации'; -$lang['TORRENTPIER'] = 'Технические настройки'; - -$lang['CONFIGURATION'] = 'Конфигурация'; -$lang['MANAGE'] = 'Управление'; -$lang['DISALLOW'] = 'Запрещенные имена'; -$lang['PRUNE'] = 'Чистка'; -$lang['MASS_EMAIL'] = 'Массовая рассылка почты'; -$lang['RANKS'] = 'Звания'; -$lang['SMILIES'] = 'Смайлики'; -$lang['BAN_MANAGEMENT'] = 'Черные списки (Ban)'; -$lang['WORD_CENSOR'] = 'Автоцензор'; -$lang['EXPORT'] = 'Экспорт'; -$lang['CREATE_NEW'] = 'Создать'; -$lang['ADD_NEW'] = 'Добавить'; -$lang['CRON'] = 'Планировщик задач (cron)'; -$lang['REBUILD_SEARCH_INDEX'] = 'Перечесть индексы поиска'; -$lang['FORUM_CONFIG'] = 'Настройки форумов'; -$lang['TRACKER_CONFIG'] = 'Настройки трекера'; -$lang['RELEASE_TEMPLATES'] = 'Шаблоны для релизов'; -$lang['ACTIONS_LOG'] = 'Отчет по действиям'; - -// -//Welcome page -// -$lang['IDX_BROWSER_NSP_FRAME'] = 'Простите, но ваш браузер не поддерживает фреймы.'; -$lang['IDX_CLEAR_CACHE'] ='Очистить кеш:'; -$lang['IDX_CLEAR_DATASTORE'] = 'Данные'; -$lang['IDX_CLEAR_TEMPLATES'] = 'Шаблоны'; -$lang['IDX_CLEAR_NEWNEWS'] = 'Новости'; -$lang['IDX_UPDATE'] = 'Обновить:'; -$lang['IDX_UPDATE_USER_LEVELS'] = 'Уровни пользователей'; -$lang['IDX_SYNCHRONIZE'] = 'Синхронизировать:'; -$lang['IDX_SYNCHRONIZE_TOPICS'] = 'Темы'; -$lang['IDX_SYNCHRONIZE_POSTCOUNT'] = 'Количество сообщений'; -// -// Welcome page END -// - -// -// Index -// -$lang['MAIN_INDEX'] = 'Список форумов'; -$lang['FORUM_STATS'] = 'Статистика форумов'; -$lang['ADMIN_INDEX'] = 'Главная страница'; -$lang['CREATE_PROFILE'] = 'Создать аккаунт'; - -$lang['TP_VERSION'] = 'Версия TorrentPier II'; -$lang['TP_RELEASE_DATE'] = 'Дата выпуска'; -$lang['PHP_INFO'] = 'Информация о PHP'; - -$lang['CLICK_RETURN_ADMIN_INDEX'] = '%sВернуться на главную страницу администраторского раздела%s'; - -$lang['NUMBER_POSTS'] = 'Кол-во сообщений'; -$lang['POSTS_PER_DAY'] = 'Сообщений в день'; -$lang['NUMBER_TOPICS'] = 'Кол-во тем'; -$lang['TOPICS_PER_DAY'] = 'Тем в день'; -$lang['NUMBER_USERS'] = 'Кол-во пользователей'; -$lang['USERS_PER_DAY'] = 'Пользователей в день'; -$lang['BOARD_STARTED'] = 'Дата запуска'; -$lang['AVATAR_DIR_SIZE'] = 'Размер директории с аватарами'; -$lang['DATABASE_SIZE'] = 'Объем БД'; -$lang['GZIP_COMPRESSION'] ='сжатие Gzip'; -$lang['NOT_AVAILABLE'] = 'Недоступно'; - -// Clear Cache -$lang['CLEAR_CACHE'] = 'Очистить кеш'; -$lang['TEMPLATES'] = 'Шаблона'; - -// Update -$lang['USER_LEVELS'] = 'Уровни и права пользователей'; -$lang['USER_LEVELS_UPDATED'] = 'Уровни и права пользователей обновлены'; - -// Synchronize -$lang['SYNCHRONIZE'] = 'Синхронизировать'; -$lang['TOPICS_DATA_SYNCHRONIZED'] = 'Темы синхронизированы'; -$lang['USER_POSTS_COUNT'] = 'Количество сообщений пользователей'; -$lang['USER POSTS COUNT SYNCHRONIZED'] = 'Количество сообщений пользователей синхронизированы'; - -// Online Userlist -$lang['SHOW_ONLINE_USERLIST'] = 'Показать список пользователей онлайн'; - -// -// Auth pages -// -$lang['USER_SELECT'] = 'Выберите пользователя'; -$lang['GROUP_SELECT'] = 'Выберите группу'; -$lang['SELECT_A_FORUM'] = 'Выберите форум'; -$lang['AUTH_CONTROL_USER'] = 'Права пользователей'; -$lang['AUTH_CONTROL_GROUP'] = 'Права групп'; -$lang['AUTH_CONTROL_FORUM'] = 'Доступ к форумам'; -$lang['LOOK_UP_FORUM'] = 'Выбрать форум'; - -$lang['GROUP_AUTH_EXPLAIN'] = 'Здесь вы можете изменить права доступа и статус модератора для каждой группы пользователей. Не забывайте при изменении прав доступа для групп, что права доступа для отдельных пользователей могут давать пользователю возможность входа в форумы и т.п. Вы будете предупреждены в этом случае.'; -$lang['USER_AUTH_EXPLAIN'] = 'Здесь вы можете изменить права доступа и статус модератора для отдельных пользователей. Не забывайте при изменении прав пользователя, что права доступа для группы могут давать пользователю возможность входа в форумы и т.п. Вы будете предупреждены в этом случае.'; -$lang['FORUM_AUTH_EXPLAIN'] = 'Здесь вы можете регулировать доступ к каждому форуму. У вас будет обычный и продвинутый режим для этого, продвинутый дает больше возможностей для контроля. Помните, что изменение прав доступа к форуму повлияет на то, какие пользователи смогут совершать в нем различные действия.'; - -$lang['SIMPLE_MODE'] = 'Простой режим'; -$lang['ADVANCED_MODE'] = 'Продвинутый режим'; -$lang['MODERATOR_STATUS'] = 'Статус модератора'; - -$lang['ALLOWED_ACCESS'] = 'Доступ открыт'; -$lang['DISALLOWED_ACCESS'] = 'Доступ закрыт'; -$lang['IS_MODERATOR'] = 'Модератор'; - -$lang['CONFLICT_WARNING'] = 'Предупреждение о конфликте прав'; -$lang['CONFLICT_ACCESS_USERAUTH'] = 'У пользователя (пользователей) все еще есть права доступа к этому форуму, связанные с членством в группе. Вам, возможно, надо изменить права доступа для групп или исключить пользователя из группы для того, чтобы полностью закрыть ему права доступа. Группы, дающие такие права, перечислены ниже.'; -$lang['CONFLICT_MOD_USERAUTH'] = 'У данного пользователя все еще есть право модерирования этого форума, связанное с его членством в группе. Вам, возможно, надо изменить права доступа для групп или исключить пользователя из группы для того, чтобы полностью закрыть ему право модерации. Группы, дающие это право, перечислены ниже.'; - -$lang['CONFLICT_ACCESS_GROUPAUTH'] = 'У пользователя (пользователей) все еще есть права доступа к этому форуму из-за установок их личных прав. Вам, возможно, надо изменить их права для того, чтобы полностью закрыть им доступ. Пользователи, имеющие такие права, перечислены ниже.'; -$lang['CONFLICT_MOD_GROUPAUTH'] = 'У пользователя (пользователей) все еще есть право модерирования этого форума из-за установок их личных прав. Вам, возможно, надо изменить их права для того, чтобы полностью закрыть им возможность модерирования. Пользователи, имеющие такие права, перечислены ниже.'; - -$lang['PUBLIC'] = 'Публичный'; -$lang['PRIVATE'] = 'Приватный'; -$lang['REGISTERED'] = 'Зарегистрированный'; -$lang['ADMINISTRATORS'] = 'Администраторы'; - -// These are displayed in the drop down boxes for advanced -// mode forum auth, try and keep them short! -$lang['FORUM_ALL'] = 'Все'; -$lang['FORUM_REG'] = 'Регистр.'; -$lang['FORUM_PRIVATE'] = 'Приватный'; -$lang['FORUM_MOD'] = 'Модератор'; -$lang['FORUM_ADMIN'] = 'Админ'; - -$lang['AUTH_VIEW'] = $lang['VIEW'] = 'Видеть'; -$lang['AUTH_READ'] = $lang['READ'] = 'Читать'; -$lang['AUTH_POST'] = $lang['POST'] = 'Создавать темы'; -$lang['AUTH_REPLY'] = $lang['REPLY'] = 'Отвечать'; -$lang['AUTH_EDIT'] = $lang['EDIT'] = 'Редактировать'; -$lang['AUTH_DELETE'] = $lang['DELETE'] = 'Удалить'; -$lang['AUTH_STICKY'] = $lang['STICKY'] = 'Прилеплять темы'; -$lang['AUTH_ANNOUNCE'] = $lang['ANNOUNCE'] = 'Создавать объявления'; -$lang['AUTH_VOTE'] = $lang['VOTE'] = 'Голосовать'; -$lang['AUTH_POLLCREATE'] = $lang['POLLCREATE'] = 'Создавать опросы'; -$lang['AUTH_ATTACHMENTS'] = $lang['AUTH_ATTACH'] = 'Прикреплять файлы'; -$lang['AUTH_DOWNLOAD'] = 'Скачивать файлы'; - -$lang['SIMPLE_PERMISSION'] = 'Простое право доступа'; - -$lang['USER_LEVEL'] = 'Статус пользователя'; -$lang['AUTH_USER'] = 'Пользователь'; -$lang['AUTH_ADMIN'] = 'Администратор'; -$lang['GROUP_MEMBERSHIPS'] = 'Членство в группах'; -$lang['USERGROUP_MEMBERS'] = 'В этой группе состоят'; - -$lang['FORUM_AUTH_UPDATED'] = 'Права доступа к форуму изменены'; -$lang['USER_AUTH_UPDATED'] = 'Права пользователя изменены'; -$lang['GROUP_AUTH_UPDATED'] = 'Права группы изменены'; - -$lang['AUTH_UPDATED'] = 'Права доступа изменены'; -$lang['CLICK_RETURN_USERAUTH'] = '%sВернуться к управлению правами пользователей%s'; -$lang['CLICK_RETURN_GROUPAUTH'] = '%sВернуться к управлению правами групп%s'; -$lang['CLICK_RETURN_FORUMAUTH'] = '%sВернуться к управлению доступом к форумам%s'; - -// -// Banning -// -$lang['BAN_CONTROL'] = 'Черные списки'; -$lang['BAN_EXPLAIN'] = 'Здесь вы можете закрывать пользователям любой доступ к форумам. Вы можете внести в черный список конкретного пользователя, а также один ил несколько IP адресов или имен серверов. Этот метод не даст пользователю увидеть даже список форумов. Чтобы запретить регистрацию под другим именем, вы можете также внести в черный список адрес e-mail. Учтите, запрещение только e-mail адреса не закроет пользователю возможность заходить на форум и писать сообщения. Для этого вам придется воспользоваться одним из первых двух методов.'; -$lang['BAN_EXPLAIN_WARN'] = 'Учтите, что ввод диапазона IP адресов приведет к добавлению всех адресов между первым и последним в «черный список». Будут проделаны попытки уменьшить это количество вводом шаблонов, где это возможно. Если вам действительно надо ввести диапазон адресов, постарайтесь сделать его поменьше или, что еще лучше, вводите отдельные адреса.'; - -$lang['SELECT_IP'] = 'Выберите IP адрес'; -$lang['SELECT_EMAIL'] = 'Выберите адрес e-mail'; - -$lang['BAN_USERNAME'] = 'Закрытие доступа отдельным пользователям'; -$lang['BAN_USERNAME_EXPLAIN'] = 'Вы можете закрыть доступ нескольким пользователям за один раз, используя подходящую для вашего компьютера и браузера комбинацию клавиатуры и мыши.'; - -$lang['BAN_IP'] = 'Закрыть доступ с одного или нескольких адресов IP или хостов'; -$lang['IP_HOSTNAME'] = 'Адреса IP или хосты'; -$lang['BAN_IP_EXPLAIN'] = 'Чтобы указать несколько разных адресов или хостов, разделите их запятыми. Чтобы указать последовательность адресов IP разделите начало и конец дефисом (-), чтобы указать шаблон используйте *'; - -$lang['BAN_EMAIL'] = 'Запретить e-mail адреса'; -$lang['BAN_EMAIL_EXPLAIN'] = 'Чтобы запретить несколько e-mail адресов, разделите их запятыми. Чтобы указать шаблон, используйте *, например *@mail.ru'; - -$lang['UNBAN_USERNAME'] = 'Вновь открыть доступ пользователям'; -$lang['UNBAN_USERNAME_EXPLAIN'] = 'Вы можете вновь открыть доступ нескольким пользователям за один раз, используя подходящую для вашего компьютера и браузера комбинацию клавиатуры и мыши.'; - -$lang['UNBAN_IP'] = 'Вновь открыть доступ с адресов IP'; -$lang['UNBAN_IP_EXPLAIN'] = 'Вы можете вновь разрешить доступ с нескольких адресов IP за один раз, используя подходящую для вашего компьютера и браузера комбинацию клавиатуры и мыши.'; - -$lang['UNBAN_EMAIL'] = 'Вновь разрешить адреса e-mail'; -$lang['UNBAN_EMAIL_EXPLAIN'] = 'Вы можете вновь разрешить несколько адресов e-mail за один раз, используя подходящую для вашего компьютера и браузера комбинацию клавиатуры и мыши.'; - -$lang['NO_BANNED_USERS'] = 'Черный список пользователей пуст'; -$lang['NO_BANNED_IP'] = 'Черный список адресов IP пуст'; -$lang['NO_BANNED_EMAIL'] = 'Черный список адресов e-mail пуст'; - -$lang['BAN_UPDATE_SUCESSFUL'] = 'Черный список был успешно обновлен'; -$lang['CLICK_RETURN_BANADMIN'] = '%sВернуться к черным спискам%s'; - -// -// Configuration -// -$lang['GENERAL_CONFIG'] = 'Общие настройки'; -$lang['CONFIG_EXPLAIN'] = 'Эта форма позволит вам изменить общие настройки форумов. Для управления пользователями и отдельными форумами используйте соответствующие ссылки слева.'; - -$lang['CONFIG_MODS'] = 'Настройки модификаций'; -$lang['MODS_EXPLAIN'] = 'Эта форма позволит вам изменить настройки модификаций.'; - -$lang['CLICK_RETURN_CONFIG'] = '%sВернуться к общим настройкам%s'; -$lang['CLICK_RETURN_CONFIG_MODS'] = '%sВернуться к настройкам модификаций%s'; - -$lang['GENERAL_SETTINGS'] = 'Общие настройки форумов'; -$lang['SITE_NAME'] = 'Название сайта'; -$lang['SITE_DESC'] = 'Описание сайта'; -$lang['FORUMS_DISABLE'] = 'Отключить форумы'; -$lang['BOARD_DISABLE_EXPLAIN'] = 'Форумы станут недоступными пользователям. У Администраторов останется доступ через Панель Администрирования пока форум выключен.'; -$lang['ACCT_ACTIVATION'] = 'Включить активизацию учетных записей'; -$lang['ACC_NONE'] = 'Нет'; // These three entries are the type of activation -$lang['ACC_USER'] = 'Пользователем'; -$lang['ACC_ADMIN'] = 'Администратором'; - -$lang['ABILITIES_SETTINGS'] = 'Общие настройки форумов и пользователей'; -$lang['MAX_POLL_OPTIONS'] = 'Макс. кол-во вариантов ответа в опросе'; -$lang['FLOOD_INTERVAL'] = 'Задержка «флуда»'; -$lang['FLOOD_INTERVAL_EXPLAIN'] = 'Время (в секундах), которое должно пройти между двумя сообщениями пользователя.'; -$lang['TOPICS_PER_PAGE'] = 'Тем на страницу'; -$lang['POSTS_PER_PAGE'] = 'Сообщений на страницу'; -$lang['HOT_THRESHOLD'] = 'Сообщений в «популярной» теме'; -$lang['DEFAULT_LANGUAGE'] = 'Язык по умолчанию'; -$lang['DATE_FORMAT'] = 'Формат даты'; -$lang['SYSTEM_TIMEZONE'] = 'Часовой пояс'; -$lang['ENABLE_PRUNE'] = 'Включить чистку форумов'; -$lang['ALLOW_BBCODE'] = 'Разрешить BBCode'; -$lang['ALLOW_SMILIES'] = 'Разрешить смайлики'; -$lang['SMILIES_PATH'] = 'Путь к смайликам'; -$lang['SMILIES_PATH_EXPLAIN'] = 'Каталог ниже корня phpBB, например images/smilies'; -$lang['ALLOW_SIG'] = 'Разрешить подписи'; -$lang['MAX_SIG_LENGTH'] = 'Макс. длина подписи'; -$lang['MAX_SIG_LENGTH_EXPLAIN'] = 'Максимальное кол-во символов в подписи пользователя'; -$lang['ALLOW_NAME_CHANGE'] = 'Разрешить смену имени пользователя'; - -$lang['EMAIL_SETTINGS'] = 'Настройки e-mail'; - -// Visual Confirmation -$lang['VISUAL_CONFIRM'] = 'Включить визуальное подтверждение'; -$lang['VISUAL_CONFIRM_EXPLAIN'] = 'Потребовать от пользователей ввести при регистрации изображенный на картинке код.'; - -// Autologin Keys - added 2.0.18 -$lang['ALLOW_AUTOLOGIN'] = 'Разрешить автоматический вход на форум'; -$lang['ALLOW_AUTOLOGIN_EXPLAIN'] = 'Разрешен ли пользователям автоматический вход на форум'; -$lang['AUTOLOGIN_TIME'] = 'Автоматический вход на форум действителен'; -$lang['AUTOLOGIN_TIME_EXPLAIN'] = 'Срок в днях с последнего посещения, в течение которого пользователь может автоматически войти на форум. Установите равным нулю, если хотите отключить данную возможность.'; - -// -// Forum Management -// -$lang['FORUM_ADMIN_MAIN'] = 'Управление форумами'; -$lang['FORUM_ADMIN_EXPLAIN'] = 'Здесь вы можете создавать, удалять и изменять порядок вывода категорий и форумов'; -$lang['EDIT_FORUM'] = 'Изменить форум'; -$lang['CREATE_FORUM'] = 'Создать новый форум'; -$lang['CREATE_CATEGORY'] = 'Создать новую категорию'; -$lang['REMOVE'] = 'Удалить'; -$lang['UPDATE_ORDER'] = 'Изменить порядок'; -$lang['CONFIG_UPDATED'] = 'Конфигурация форумов успешно изменена'; -$lang['MOVE_UP'] = 'вверх'; // 'Сдвинуть вверх'; -$lang['MOVE_DOWN'] = 'вниз'; // 'Сдвинуть вниз'; -$lang['RESYNC'] = 'Синхронизация'; -$lang['NO_MODE'] = 'Не было задано действие'; -$lang['FORUM_EDIT_DELETE_EXPLAIN'] = 'Здесь вы можете изменить название и описание форума, закрыть его (или вновь открыть) и настроить автоматическую чистку. Для управления правами доступа к форуму воспользуйтесь соответствующей ссылкой в левой части.'; - -$lang['MOVE_CONTENTS'] = 'Перенести все содержимое'; -$lang['FORUM_DELETE'] = 'Удалить форум'; -$lang['FORUM_DELETE_EXPLAIN'] = 'Здесь вы сможете удалить форум (или категорию) и решить, куда перенести все темы (или форумы), которые там содержались.'; -$lang['CATEGORY_DELETE'] = 'Удалить Категорию'; - -$lang['STATUS_LOCKED'] = 'Закрыт'; -$lang['STATUS_UNLOCKED'] = 'Открыт'; -$lang['FORUM_SETTINGS'] = 'Общие параметры форума'; -$lang['FORUM_NAME'] = 'Название форума'; -$lang['FORUM_DESC'] = 'Описание'; -$lang['FORUM_STATUS'] = 'Статус форума'; -$lang['FORUM_PRUNING'] = 'Автоматическая чистка'; - -$lang['PRUNE_DAYS'] = 'Удалять темы, в которых не было сообщений последние'; -$lang['SET_PRUNE_DATA'] = 'Вы выбрали для этого форума автоматическую чистку, но не указали количество дней. Пожалуйста, вернитесь и укажите.'; - -$lang['MOVE_AND_DELETE'] = 'Перенести и удалить'; - -$lang['DELETE_ALL_POSTS'] = 'Удалить все темы'; -$lang['NOWHERE_TO_MOVE'] = 'Некуда переносить'; - -$lang['EDIT_CATEGORY'] = 'Изменить категорию'; -$lang['EDIT_CATEGORY_EXPLAIN'] = 'Используйте эту форму, чтобы изменить название категории'; - -$lang['FORUMS_UPDATED'] = 'Информация о форумах и категориях успешно изменена'; - -$lang['MUST_DELETE_FORUMS'] = 'Вы должны удалить все форумы, прежде чем сможете удалить эту категорию'; - -$lang['CLICK_RETURN_FORUMADMIN'] = '%sВернуться к управлению форумами%s'; - -$lang['SHOW_ALL_FORUMS_ON_ONE_PAGE'] = 'Открыть все форумы на одной странице'; - -// -// Smiley Management -// -$lang['SMILEY_TITLE'] = 'Утилита редактирования смайликов'; -$lang['SMILE_DESC'] = 'Здесь вы можете редактировать список смайликов'; - -$lang['SMILEY_CONFIG'] = 'Управление смайликами'; -$lang['SMILEY_CODE'] = 'Код смайлика'; -$lang['SMILEY_URL'] = 'Файл с изображением смайлика'; -$lang['SMILEY_EMOT'] = 'Эмоция смайлика'; -$lang['SMILE_ADD'] = 'Добавить новый смайлик'; -$lang['SMILE'] = 'Смайлик'; -$lang['EMOTION'] = 'Эмоция'; - -$lang['SELECT_PAK'] = 'Выберите файл с набором (.pak)'; -$lang['REPLACE_EXISTING'] = 'Заменить существующий смайлик'; -$lang['KEEP_EXISTING'] = 'Сохранить существующий смайлик'; -$lang['SMILEY_IMPORT_INST'] = 'Вы должны распаковать набор смайликов и закачать все файлы в подходящую для вашей установки директорию. Потом выберите в этой форме нужную информацию для импорта набора смайликов.'; -$lang['SMILEY_IMPORT'] = 'Импорт набора смайликов'; -$lang['CHOOSE_SMILE_PAK'] = 'Выберите файл .pak с набором'; -$lang['IMPORT'] = 'Импортировать смайлики'; -$lang['SMILE_CONFLICTS'] = 'Что делать в случае конфликта'; -$lang['DEL_EXISTING_SMILEYS'] = 'Удалить перед импортом существующие смайлики'; -$lang['IMPORT_SMILE_PACK'] = 'Импортировать набор смайликов'; -$lang['EXPORT_SMILE_PACK'] = 'Создать набор смайликов'; -$lang['EXPORT_SMILES'] = 'Для создания набора смайликов из смайликов, установленных в данный момент, %sскачайте файл smiles.pak%s. Переименуйте его как вам нужно, сохранив при этом расширение .pak, затем создайте файл zip, содержащий все изображения смайликов, а также этот файл.'; - -$lang['SMILEY_ADD_SUCCESS'] = 'Смайлик был успешно добавлен'; -$lang['SMILEY_EDIT_SUCCESS'] = 'Смайлик был успешно изменен'; -$lang['SMILEY_IMPORT_SUCCESS'] = 'Набор смайликов был успешно импортирован'; -$lang['SMILEY_DEL_SUCCESS'] = 'Смайлик был успешно удален'; -$lang['CLICK_RETURN_SMILEADMIN'] = '%sВернуться к списку смайликов%s'; - -// -// User Management -// -$lang['USER_ADMIN'] = 'Управление пользователями'; -$lang['USER_ADMIN_EXPLAIN'] = 'Здесь вы можете изменить информацию о пользователе. Чтобы изменить права доступа используйте панель управления правами доступа'; - -$lang['LOOK_UP_USER'] = 'Выбрать пользователя'; - -$lang['ADMIN_USER_FAIL'] = 'Не могу изменить профиль пользователя'; -$lang['ADMIN_USER_UPDATED'] = 'Профиль пользователя был успешно изменен'; -$lang['CLICK_RETURN_USERADMIN'] = '%sВернуться к управлению пользователями%s'; - -$lang['USER_ALLOWPM'] = 'Может посылать личные сообщения'; -$lang['USER_ALLOWAVATAR'] = 'Может показывать аватару'; - -$lang['ADMIN_AVATAR_EXPLAIN'] = 'Здесь вы можете просмотреть и удалить текущую аватару пользователя'; - -$lang['USER_SPECIAL'] = 'Поля только для админа'; -$lang['USER_SPECIAL_EXPLAIN'] = 'Эти поля сами пользователи редактировать не могут. Здесь вы можете установить их статус и сделать прочие недоступные им настройки.'; - -// -// Group Management -// -$lang['GROUP_ADMINISTRATION'] = 'Управление группами'; -$lang['GROUP_ADMIN_EXPLAIN'] = 'Здесь вы можете управлять всеми вашими группами: это включает удаление, добавление и изменение групп. Вы можете назначать модераторов, изменять открытый/закрытый статус группы и устанавливать ее название и описание.'; -$lang['ERROR_UPDATING_GROUPS'] = 'Ошибка при изменении группы.'; -$lang['UPDATED_GROUP'] = 'Группа была успешно изменена'; -$lang['ADDED_NEW_GROUP'] = 'Группа была успешно создана'; -$lang['DELETED_GROUP'] = 'Группа была успешно удалена'; -$lang['CREATE_NEW_GROUP'] = 'Создать новую группу'; -$lang['EDIT_GROUP'] = 'Изменить группу'; -$lang['GROUP_STATUS'] = 'Статус группы'; -$lang['GROUP_DELETE'] = 'Удалить группу.'; -$lang['GROUP_DELETE_CHECK'] = 'Удалить эту группу'; -$lang['SUBMIT_GROUP_CHANGES'] = 'Сохранить изменения'; -$lang['RESET_GROUP_CHANGES'] = 'Отменить изменения'; -$lang['NO_GROUP_NAME'] = 'Вы должны указать название группы'; -$lang['NO_GROUP_MODERATOR'] = 'Вы должны выбрать модератора группы'; -$lang['NO_GROUP_MODE'] = 'Вы должны выбрать режим группы: открытый или закрытый'; -$lang['NO_GROUP_ACTION'] = 'Не было выбрано действие'; -$lang['DELETE_OLD_GROUP_MOD'] = 'Удалить старого модератора?'; -$lang['DELETE_OLD_GROUP_MOD_EXPL'] = 'Если вы меняете модератора группы и поставите здесь галочку, то предыдущий модератор будет исключен из группы. Если вы ее не поставите, то он станет обычным членом группы.'; -$lang['CLICK_RETURN_GROUPSADMIN'] = '%sВернуться к управлению группами%s'; -$lang['SELECT_GROUP'] = 'Выберите группу'; -$lang['LOOK_UP_GROUP'] = 'Выбрать группу'; - -// -// Prune Administration -// -$lang['FORUM_PRUNE'] = 'Чистка форумов'; -$lang['FORUM_PRUNE_EXPLAIN'] = 'Будут удалены темы, в которых не было новых сообщений за выбранное число дней. Если вы не введете число, то будут удалены все темы. Не будут удалены прилепленные темы и объявления. Вам придется удалять такие темы вручную.'; -$lang['DO_PRUNE'] = 'Провести чистку'; -$lang['ALL_FORUMS'] = 'Все форумы'; -$lang['PRUNE_TOPICS_NOT_POSTED'] = 'Удалить темы, в которых не было ответов за данное кол-во дней'; -$lang['TOPICS_PRUNED'] = 'Тем вычищено'; -$lang['POSTS_PRUNED'] = 'Сообщений вычищено'; -$lang['PRUNE_SUCCESS'] = 'Форум успешно почищен'; -$lang['NOT_DAYS'] = 'Вы не указали количество дней'; - -// -// Word censor -// -$lang['WORDS_TITLE'] = 'Автоцензор'; -$lang['WORDS_EXPLAIN'] = 'Здесь вы можете добавить, изменить или удалить слова, которые будут автоматически подвергаться цензуре на ваших форумах. Кроме того, пользователи не смогут зарегистрироваться под именами, содержащими эти слова. В списке слов могут использоваться шаблоны (*), т.е. к \'*тест*\' подойдет \'протестировать\', к \'тест*\' — \'тестирование\', к \'*тест\' — \'протест\'.
    (Примечание переводчика) Рекомендую пользоваться этой фичей очень аккуратно: например, некие очевидные замены буду неадекватно реагировать на слова \'потребитель\', \'употреблять\' и т.п.'; -$lang['WORD'] = 'Слово'; -$lang['EDIT_WORD_CENSOR'] = 'Изменить автоцензор'; -$lang['REPLACEMENT'] = 'Замена'; -$lang['ADD_NEW_WORD'] = 'Добавить новое слово'; -$lang['UPDATE_WORD'] = 'Обновить автоцензор'; - -$lang['MUST_ENTER_WORD'] = 'Вы должны ввести слово и его замену'; -$lang['NO_WORD_SELECTED'] = 'Не выбрано слово для редактирования'; - -$lang['WORD_UPDATED'] = 'Выбранный автоцензор был успешно изменен'; -$lang['WORD_ADDED'] = 'Автоцензор был успешно добавлен'; -$lang['WORD_REMOVED'] = 'Выбранный автоцензор был успешно удален'; - -$lang['CLICK_RETURN_WORDADMIN'] = '%sВернуться к управлению автоцензором%s'; - -// -// Mass Email -// -$lang['MASS_EMAIL_EXPLAIN'] = 'Вы можете разослать e-mail сообщение либо всем вашим пользователям, либо пользователям, входящим в определенную группу. Сообщение будет отправлено на административный адрес, с BCC: всем получателям. Если вы отправляете письмо большой группе людей, то будьте терпеливы: не останавливайте загрузку страницы после нажатия кнопки. Массовая рассылка может занять много времени, вы увидите сообщение, когда выполнение завершится.'; -$lang['COMPOSE'] = 'Текст сообщения'; - -$lang['RECIPIENTS'] = 'Получатели'; -$lang['ALL_USERS'] = 'Все пользователи'; - -$lang['EMAIL_SUCCESSFULL'] = 'Ваше сообщение было отправлено'; -$lang['CLICK_RETURN_MASSEMAIL'] = '%sВернуться к массовой рассылке%s'; - -// -// Ranks admin -// -$lang['RANKS_TITLE'] = 'Управление званиями'; -$lang['RANKS_EXPLAIN'] = 'Здесь вы можете добавлять, редактировать, просматривать и удалять звания. Вы также можете создавать специальные звания, которые могут затем быть присвоены пользователям на странице управления пользователями.'; - -$lang['ADD_NEW_RANK'] = 'Новое звание'; -$lang['RANK_TITLE'] = 'Звание'; -$lang['STYLE_COLOR'] = 'Стиль звания'; -$lang['STYLE_COLOR_FAQ'] = 'Укажите class для окраски звания в нужный цвет. Например colorAdmin'; -$lang['RANK_SPECIAL'] = 'Специальное звание'; -$lang['RANK_MINIMUM'] = 'Минимум сообщений'; -$lang['RANK_MAXIMUM'] = 'Максимум сообщений'; -$lang['RANK_IMAGE'] = 'Картинка к званию'; -$lang['RANK_IMAGE_EXPLAIN'] = 'Здесь вы можете присвоить всем имеющим такое звание специальное изображение. Вы можете указать либо относительный, либо абсолютный путь к изображению'; - -$lang['MUST_SELECT_RANK'] = 'Извините, вы не выбрали звание. Вернитесь и попробуйте еще раз.'; -$lang['NO_ASSIGNED_RANK'] = 'Специального звания не присвоено'; - -$lang['RANK_UPDATED'] = 'Звание было успешно изменено'; -$lang['RANK_ADDED'] = 'Звание было успешно добавлено'; -$lang['RANK_REMOVED'] = 'Звание было успешно удалено'; -$lang['NO_UPDATE_RANKS'] = 'Звание было успешно удалено. Тем не менее, информация о пользователях, у которых было это звание, не была изменена. Вам придется изменить эту информацию вручную.'; - -$lang['CLICK_RETURN_RANKADMIN'] = '%sВернуться к управлению званиями%s'; - -// -// Disallow Username Admin -// -$lang['DISALLOW_CONTROL'] = 'Запрещенные имена пользователя'; -$lang['DISALLOW_EXPLAIN'] = "Здесь вы можете задать имена, которые будут запрещены к использованию. Запрещенные имена могут содержать шаблон '*'. Учтите: вы не сможете запретить имя, если уже существует пользователь с таким именем. Вам придется сначала удалить пользователя, а уже потом запретить имя."; - -$lang['DELETE_DISALLOW'] = 'Удалить'; -$lang['DELETE_DISALLOW_TITLE'] = 'Удалить запрещенное имя пользователя'; -$lang['DELETE_DISALLOW_EXPLAIN'] = 'Вы можете убрать запрещенное имя, выбрав его из списка и нажав кнопку «сохранить»'; - -$lang['ADD_DISALLOW'] = 'Добавить'; -$lang['ADD_DISALLOW_TITLE'] = 'Добавить запрещенное имя пользователя'; -$lang['ADD_DISALLOW_EXPLAIN'] = 'Вы можете запретить имя пользователя, используя шаблон \'*\', который подходит к любому символу'; - -$lang['NO_DISALLOWED'] = 'Нет запрещенных имен'; - -$lang['DISALLOWED_DELETED'] = 'Запрещенное имя пользователя было успешно удалено'; -$lang['DISALLOW_SUCCESSFUL'] = 'Запрещенное имя пользователя было успешно добавлено'; -$lang['DISALLOWED_ALREADY'] = 'Имя, которое вы пытаетесь запретить, либо уже запрещено, либо есть в списке нецензурных слов, либо существует пользователь с подходящим именем'; - -$lang['CLICK_RETURN_DISALLOWADMIN'] = '%sВернуться к управлению запрещенными именами%s'; - -// -// Version Check -// -$lang['VERSION_INFORMATION'] = 'Информация о версии TorrentPier II'; - -// -// Login attempts configuration -// -$lang['MAX_LOGIN_ATTEMPTS'] = 'Разрешено попыток входа'; -$lang['MAX_LOGIN_ATTEMPTS_EXPLAIN'] = 'Количество разрешенных попыток входа на трекер. Для отключения поставьте 0.'; -$lang['LOGIN_RESET_TIME'] = 'Время блокировки имени пользователя.'; -$lang['LOGIN_RESET_TIME_EXPLAIN'] = 'Время, через которое пользователь сможет войти на трекер, после превышения количества разрешенных попыток входа (в минутах).'; - -// -// Permissions List -// -$lang['PERMISSIONS_LIST'] = 'Список прав доступа'; -$lang['AUTH_CONTROL_CATEGORY'] = 'Права доступа к категориям'; -$lang['FORUM_AUTH_LIST_EXPLAIN'] = 'Здесь вы можете установить права доступа для каждого форума. Вы можете изменить права с помощью простого или продвинутого режима, нажав на название форума. Помните, что изменение уровня прав доступа к форумам повлияет на то, какие пользователи смогут выполнять в них различные действия.'; -$lang['CAT_AUTH_LIST_EXPLAIN'] = 'Здесь вы можете установить права доступа для каждого форума в этой категории. Вы можете изменить права отдельных форумов с помощью простого или продвинутого режима, нажав на название форума. Кроме того, вы можете установить общие права для всех форумов в этой категории с помощью выпадающего меню в нижней части страницы. Помните, что изменение уровня прав доступа к форумам повлияет на то, какие пользователи смогут выполнять в них различные действия.'; -$lang['FORUM_AUTH_LIST_EXPLAIN_ALL'] = 'Все пользователи'; -$lang['FORUM_AUTH_LIST_EXPLAIN_REG'] = 'Все зарегистрированые пользователи'; -$lang['FORUM_AUTH_LIST_EXPLAIN_PRIVATE'] = 'Только пользователи со спец правами'; -$lang['FORUM_AUTH_LIST_EXPLAIN_MOD'] = 'Только модераторы этого форума'; -$lang['FORUM_AUTH_LIST_EXPLAIN_ADMIN'] = 'Только администраторы'; -$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_VIEW'] = '%s могут просматривать этот форум'; -$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_READ'] = '%s могут просматривать сообщения в этом форуме'; -$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_POST'] = '%s могут создавать сообщения в этом форуме'; -$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_REPLY'] = '%s могут отвечать на сообщения в этом форуме'; -$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_EDIT'] = '%s могут редактировать сообщения в этом форуме'; -$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_DELETE'] = '%s могут удалять сообщения в этом форуме'; -$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_STICKY'] = '%s могут прикреплять темы в этом форуме'; -$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_ANNOUNCE'] = '%s могут размещать объявления в этом форуме'; -$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_VOTE'] = '%s могут голосовать в опросах этого форума'; -$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_POLLCREATE'] = '%s могут создавать опросы в этом форуме'; -$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_ATTACHMENTS'] = '%s могут прикреплять вложения'; -$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_DOWNLOAD'] = '%s могут скачивать вложения'; - -// -// Misc -// -$lang['SF_SHOW_ON_INDEX'] = 'Показывать на главной'; -$lang['SF_PARENT_FORUM'] = 'Родительский форум'; -$lang['SF_NO_PARENT'] = 'Нет родительского форума'; -$lang['TEMPLATE'] = 'Шаблон'; - -// -// Reports -// -$lang['REPORT_CONFIG_EXPLAIN'] = 'На этой странице находятся основные настройки модуля "Сообщения о нарушениях".'; -$lang['REPORT_SUBJECT_AUTH'] = 'Индивидуальные права доступа'; -$lang['REPORT_SUBJECT_AUTH_EXPLAIN'] = 'Если опция включена, то модераторы смогут просматривать и редактировать только сообщения о нарушениях в модерируемых ими форумах.'; -$lang['REPORT_MODULES_CACHE'] = 'Кэшировать модули в файлах'; -$lang['REPORT_MODULES_CACHE_EXPLAIN'] = 'Замечание: права доступа к директории cache в режим "полный доступ на запись и чтение" (CHMOD 777).'; -$lang['REPORT_NOTIFY'] = 'Уведомления по e-mail'; -$lang['REPORT_NOTIFY_CHANGE'] = 'об изменениях статусов и новых сообщениях'; -$lang['REPORT_NOTIFY_NEW'] = 'о новых сообщениях'; -$lang['REPORT_LIST_ADMIN'] = 'Список сообщений доступен только администратору'; -$lang['REPORT_NEW_WINDOW'] = 'Открывать страницу с нарушением в новом окне'; -$lang['REPORT_NEW_WINDOW_EXPLAIN'] = 'Эта опция так же влияет на вид ссылок к форме отправки сообщения о нарушении на страницах просмотра тем.'; -$lang['REPORT_CONFIG_UPDATED'] = 'Конфигурция обновлена.'; -$lang['CLICK_RETURN_REPORT_CONFIG'] = '%sНажмите%s для возврата к настройкам модуля.'; - -$lang['MODULES_REASONS'] = 'Модули и Причины'; -$lang['REPORT_ADMIN_EXPLAIN'] = 'На этой странице вы можете установить новый модуль, изменить настройки модуля или удалить уже установленный модуль. Так же здесь вы можете задать установить Причины написания сообщений о нарушении для каждого модуля.'; -$lang['REPORT_MODULE'] = 'Модуль Сообщений о нарушении'; -$lang['INSTALLED_MODULES'] = 'Установленные модули'; -$lang['NO_MODULES_INSTALLED'] = 'Нет установленных модулей'; -$lang['REASONS'] = 'Причины (%d)'; -$lang['SYNC'] = 'Синхронизировать'; -$lang['UNINSTALL'] = 'Удалить'; -$lang['INSTALL2'] = 'Установить'; -$lang['INACTIVE_MODULES'] = 'Неактивные модули'; -$lang['NO_MODULES_INACTIVE'] = 'Нет неактивных модулей'; -$lang['REPORT_MODULE_NOT_EXISTS'] = 'Выбранный модель не существует.'; -$lang['CLICK_RETURN_REPORT_ADMIN'] = '%sНажмите%s для возврата к настройкам Модулей и Причин.'; - -$lang['BACK_MODULES'] = 'Назад к модулям'; -$lang['REPORT_REASON'] = 'Причина написания сообщения'; -$lang['NO_REASONS'] = 'Нет определенных Причин для этого модуля'; -$lang['ADD_REASON'] = 'Добавить Причину'; -$lang['EDIT_REASON'] = 'Редактировать Причину'; -$lang['REASON_DESC_EXPLAIN'] = 'Если название совпадет с языковой переменно, то будет использована переменная.'; -$lang['REASON_DESC_EMPTY'] = 'Нобходимо ввести текст Причины.'; -$lang['REPORT_REASON_ADDED'] = 'Причина добавлена.'; -$lang['REPORT_REASON_EDITED'] = 'Причина отредактирована.'; -$lang['DELETE_REASON'] = 'Удалить Причину'; -$lang['DELETE_REPORT_REASON_EXPLAIN'] = 'Вы уверены, что хотите удалить выбранную Причину?'; -$lang['REPORT_REASON_DELETED'] = 'Причина удалена.'; -$lang['REPORT_REASON_NOT_EXISTS'] = 'Выбранная Причина не существует.'; -$lang['CLICK_RETURN_REPORT_REASONS'] = '%sНажмите%s для возврата к настройкам Причин сообщений о нарушениях.'; - -$lang['REPORT_MODULE_SYNCED'] = 'Модуль синхронизирован.'; - -$lang['UNINSTALL_REPORT_MODULE'] = 'Удалить модуль'; -$lang['UNINSTALL_REPORT_MODULE_EXPLAIN'] = 'Вы уверены, что хотите удалить выбранный модуль?
    Замечание: все сообщения для этого модуля также будут удалены.'; -$lang['REPORT_MODULE_UNINSTALLED'] = 'Модуль удален.'; - -$lang['INSTALL_REPORT_MODULE'] = 'Установить модуль'; -$lang['EDIT_REPORT_MODULE'] = 'Редактировать настройки модуля'; -$lang['REPORT_PRUNE'] = 'Очистить сообщения'; -$lang['REPORT_PRUNE_EXPLAIN'] = 'Зыкрытые и отмеченные для удаления сообщения автоматически будут удалены через x дней. Значение zero отключает автоматическую чистку.'; -$lang['REPORT_PERMISSIONS'] = 'Права доступа'; -$lang['WRITE'] = 'Написать'; -$lang['REPORT_AUTH'] = array( - REPORT_AUTH_USER => 'Пользователи', - REPORT_AUTH_MOD => 'Модераторы', - REPORT_AUTH_CONFIRM => 'Модераторы (после подтверждения)', - REPORT_AUTH_ADMIN => 'Администраторы'); -$lang['REPORT_AUTH_NOTIFY_EXPLAIN'] = 'Модераторы будут уведомлены только, если они могут просматривать и редактировать сообщение.'; -$lang['REPORT_AUTH_DELETE_EXPLAIN'] = 'Если выбрано Модераторы (после подтверждения), удаление сообщения должно быть подтверждено администратором.'; -$lang['REPORT_MODULE_INSTALLED'] = 'Модуль удален.'; -$lang['REPORT_MODULE_EDITED'] = 'Модуль отредактирован.'; -// -// Reports [END] -// - -// -// Mods -// -$lang['MAX_NEWS_TITLE'] = 'Макс. длина новости'; -$lang['NEWS_COUNT'] = 'Сколько показывать новостей'; -$lang['NEWS_FORUM_ID'] = 'Из каких форумов выводить
    Из нескольких форумов выводите, через запятую. Например 1,2,3
    '; -$lang['NOAVATAR'] = 'Нет аватара'; -$lang['TRACKER_STATS'] = 'Статистика по трекеру'; -$lang['WHOIS_INFO'] = 'Информация о IP адресе'; -$lang['SHOW_MOD_HOME_PAGE'] = 'Показывать модераторов на главной'; -$lang['PREMOD_HELP'] = '

    Премодерация

    Если у релизера нет раздач со статусом , # или T в текущем разделе, включая подразделы, то раздача автоматически получает данный статус
    '; -$lang['TOR_COMMENT'] = '

    Комментарий к статусу раздачи

    Комметарий позволяет указать релизеру допущенные ошибки. При недооформленных статусах релизеру доступна форма ответа о исправлении релиза
    '; -$lang['SEED_BONUS_ADD'] = '

    Добавление сид бонуса

    Кол-во раздаваемых раздач пользователем и размер начисления бонусов за них (начисления раз в час)
    '; -$lang['SEED_BONUS_RELEASE'] = 'до N-числа релизов'; -$lang['SEED_BONUS_POINTS'] = 'бонусов в час'; -$lang['SEED_BONUS_TOR_SIZE'] = '

    Минимальный размер раздачи, за который будут начисляться бонусы

    Если хотите начислять бонусы за все раздачи, оставьте поле пустым.
    '; -$lang['SEED_BONUS_USER_REGDATA'] = '

    Минимальный стаж пользователя на трекере, после которого будут начисляться бонусы

    Если хотите начислять бонусы всем пользователям, оставьте поле пустым.
    '; -$lang['SEED_BONUS_WARNING'] = 'ВНИМАНИЕ! Сид Бонусы должны быть в порядке возрастания'; -$lang['SEED_BONUS_EXCHANGE'] = 'Настройка обмена Сид Бонусов'; -$lang['SEED_BONUS_ROPORTION'] = 'Добавление пропорции для обмена бонусов на GB'; - -// Modules, this replaces the keys used -$lang['CONTROL_PANEL'] = 'Контрольная Панель'; -$lang['SHADOW_ATTACHMENTS'] = 'Теневые приложения'; -$lang['FORBIDDEN_EXTENSIONS'] = 'Запрещенные Расширения'; -$lang['EXTENSION_CONTROL'] = 'Контроль Расширений'; -$lang['EXTENSION_GROUP_MANAGE'] = 'Контроль Групп Расширений'; -$lang['SPECIAL_CATEGORIES'] = 'Специальные Категории'; -$lang['SYNC_ATTACHMENTS'] = 'Синхронизация Приложений'; -$lang['QUOTA_LIMITS'] = 'Ограничение Квоты'; - -// Attachments -> Management -$lang['ATTACH_SETTINGS'] = 'Конфигурация приложений'; -$lang['MANAGE_ATTACHMENTS_EXPLAIN'] = 'Здесь Вы можете конфигурировать главные настройки для Мода Приложений. Если Вы нажмете на кнопку "Проверить Настройки", Мод Приложений проведет несколько тестов, чтобы проверить - все ли правильно настроено. Если у Вас возникли проблемы с закачиванием файлов, используйте эту функцию, чтобы получить подробную информацию об ошибке.'; -$lang['ATTACH_FILESIZE_SETTINGS'] = 'Настройки размеров приложений'; -$lang['ATTACH_NUMBER_SETTINGS'] = 'Настройка количества приложений'; -$lang['ATTACH_OPTIONS_SETTINGS'] = 'Настройка приложений'; - -$lang['UPLOAD_DIRECTORY'] = 'Папка для закачанных приложений'; -$lang['UPLOAD_DIRECTORY_EXPLAIN'] = 'Задайте относительный путь от папки форума к папке приложений. Например, задайте \'files\', если путь к форуму http://www.yourdomain.com/phpBB2 и папка приложений находится в http://www.yourdomain.com/phpBB2/files.'; -$lang['ATTACH_IMG_PATH'] = 'Иконка для приложений'; -$lang['ATTACH_IMG_PATH_EXPLAIN'] = 'Эта картинка появляется возле ссылок к приложениям в персональных сообщениях. Оставьте это поле пустым, если не хотите видеть иконку. Эта конфигурация будет переписана настройками в Контроле Групп Расширений.'; -$lang['ATTACH_TOPIC_ICON'] = 'Иконка для тем с приложениями'; -$lang['ATTACH_TOPIC_ICON_EXPLAIN'] = 'Эта картинка появляется возле тем с приложениями. Оставьте это поле пустым, если не хотите видеть иконку.'; -$lang['ATTACH_DISPLAY_ORDER'] = 'Последовательность отображения приложений'; -$lang['ATTACH_DISPLAY_ORDER_EXPLAIN'] = 'Здесь Вы можете выбрать, как показывать приложения в постах/личных сообщениях - в порядке убывания (самое новое приложение сначала) или в порядке возрастания (самое старое приложение сначала).'; -$lang['SHOW_APCP'] = 'Использовать новую панель контроля приложений'; -$lang['SHOW_APCP_EXPLAIN'] = 'Выберите, хотите ли Вы использовать отдельную панель контроля приложений (да), или старый метод с двумя боксами для приложений и редактирования приложений (нет) в окне сообщения. Трудно объяснить, как это выглядит, поэтому попробуйте сами.'; - -$lang['MAX_FILESIZE_ATTACH'] = 'Максимальный размер приложений'; -$lang['MAX_FILESIZE_ATTACH_EXPLAIN'] = 'Максимальный размер для приложений. Ноль значит неограниченно. Эта настройка зависит от конфигурации Вашего сервера. Например, если php на Вашем сервере позволяет закачивать файлы не более 2 МБ, то эту величину изменить невозможно.'; -$lang['ATTACH_QUOTA'] = 'Квота приложений'; -$lang['ATTACH_QUOTA_EXPLAIN'] = 'Максимальный размер для всех приложений. Ноль значит неограниченно.'; -$lang['MAX_FILESIZE_PM'] = 'Максимальный размер в папке для личных сообщений'; -$lang['MAX_FILESIZE_PM_EXPLAIN'] = 'Максимальная величина, которую приложения могут занимать в личных почтовых ящиках каждого пользователя. Ноль значит неограниченно.'; -$lang['DEFAULT_QUOTA_LIMIT'] = 'Стандартное ограничение квоты'; -$lang['DEFAULT_QUOTA_LIMIT_EXPLAIN'] = 'Здесь Вы можете конфигурировать стандартное ограничение квоты для новых пользователей или пользователей без установленных ограничений. Настройка "Без Ограничений" для тех, кто не хочет использовать квоты приложений. Вместо этого будут использованы стандартные настройки, заданные в контрольной панеле.'; - -$lang['MAX_ATTACHMENTS'] = 'Максимальное количество приложений'; -$lang['MAX_ATTACHMENTS_EXPLAIN'] = 'Максимальное количество приложений, разрешенных в каждом сообщении.'; -$lang['MAX_ATTACHMENTS_PM'] = 'Максимальное количество приложений разрешенных в каждом личном сообщении'; -$lang['MAX_ATTACHMENTS_PM_EXPLAIN'] = 'Задайте максимальное количество приложений, разрешенное в каждом личном сообщении.'; - -$lang['DISABLE_MOD'] = 'Выключить мод приложений'; -$lang['DISABLE_MOD_EXPLAIN'] = 'Эта настройка используется главным образом для проверки новых скинов, она выключает все функции Мода Приложений, кроме административной панели.'; -$lang['PM_ATTACHMENTS'] = 'Разрешить приложения в личных сообщениях'; -$lang['PM_ATTACHMENTS_EXPLAIN'] = 'Разрешить/Запретить добавлять приложения к личным сообщениям.'; -$lang['ATTACHMENT_TOPIC_REVIEW'] = 'Показывать приложения в окне обзора сообщений темы при написании ответа?'; -$lang['ATTACHMENT_TOPIC_REVIEW_EXPLAIN'] = 'Если поставите "да", все приложения будут показываться в окне обзора сообщений темы.'; - -// Attachments -> Shadow Attachments -$lang['SHADOW_ATTACHMENTS_EXPLAIN'] = 'Здесь Вы можете удалить приложения, если сами файлы исчезли с сервера, или удалить файлы, которые не прикреплены ни к каким сообщениям. Вы можете скачать или посмотреть файл кликнув по нему. Если ссылки нет, то файл не существует.'; -$lang['SHADOW_ATTACHMENTS_FILE_EXPLAIN'] = 'Удалить все приложения, которые существуют на сервере и не прикреплены ни к какому сообщению.'; -$lang['SHADOW_ATTACHMENTS_ROW_EXPLAIN'] = 'Удалить всю информацию про приложения, которые больше не существуют в системе.'; -$lang['EMPTY_FILE_ENTRY'] = 'Занесение пустого файла'; - -// Attachments -> Sync -$lang['SYNC_THUMBNAIL_RESETTED'] = 'Обновлена миниатюра для приложения: %s'; // replace %s with physical Filename -$lang['ATTACH_SYNC_FINISHED'] = 'Синхронизация приложений окончена.'; -$lang['SYNC_TOPICS'] = 'Синхронизация тем'; -$lang['SYNC_POSTS'] = 'Синхронизация сообщений'; -$lang['SYNC_THUMBNAILS'] = 'Синхронизация миниатюр'; - -// Extensions -> Extension Control -$lang['MANAGE_EXTENSIONS'] = 'Конфигурация расширений'; -$lang['MANAGE_EXTENSIONS_EXPLAIN'] = 'Здесь Вы можете настроить расширения файлов. Если Вы хотите разрешить/запретить определенные расширения, пожалуйста, используйте Контроль Групп Расширений.'; -$lang['EXPLANATION'] = 'Обьяснение'; -$lang['EXTENSION_GROUP'] = 'Группа Расширений'; -$lang['INVALID_EXTENSION'] = 'Неправильное расширения'; -$lang['EXTENSION_EXIST'] = 'Расширение %s уже существует'; // replace %s with the Extension -$lang['UNABLE_ADD_FORBIDDEN_EXTENSION'] = 'Расширение %s запрещено, Вы не можете добавить его к группе разрешенных расширений'; // replace %s with Extension - -// Extensions -> Extension Groups Management -$lang['MANAGE_EXTENSION_GROUPS'] = 'Контроль Групп Расширений'; -$lang['MANAGE_EXTENSION_GROUPS_EXPLAIN'] = 'Здесь Вы можете добавить, убрать или изменить группы расширений, Вы можете выключить группы расширений, добавить их в определенные категории, изменить механизм скачивания и выбрать иконку, которая будет отображаться приложением, которое относится к определенной группе.'; -$lang['SPECIAL_CATEGORY'] = 'Специальная категория'; -$lang['CATEGORY_IMAGES'] = 'Картинки'; -$lang['ALLOWED'] = 'Разрешено'; -$lang['ALLOWED_FORUMS'] = 'Разрешенные форумы'; -$lang['EXT_GROUP_PERMISSIONS'] = 'Права Групп'; -$lang['DOWNLOAD_MODE'] = 'Метод скачивания'; -$lang['UPLOAD_ICON'] = 'Иконка для закачки'; -$lang['MAX_GROUPS_FILESIZE'] = 'Максимальный размер файла'; -$lang['EXTENSION_GROUP_EXIST'] = 'Группа расширений %s уже существует'; // replace %s with the group name - -// Extensions -> Special Categories -$lang['MANAGE_CATEGORIES'] = 'Контроль специальных категорий'; -$lang['MANAGE_CATEGORIES_EXPLAIN'] = 'Здесь Вы можете настраивать специальные категории. Вы можете задать специальные параметры для специальных категорий прикрепленных к группам расширений.'; -$lang['SETTINGS_CAT_IMAGES'] = 'Настройки для специальной категории: Изображения'; -$lang['SETTINGS_CAT_FLASH'] = 'Настройки для специальной категории: Flash файлы'; -$lang['DISPLAY_INLINED'] = 'Отображать изображения в сообщениях'; -$lang['DISPLAY_INLINED_EXPLAIN'] = 'Выберите отображать ли изображения прямо в сообщениях (да) или отображать изображения в виде ссылок на них?'; -$lang['MAX_IMAGE_SIZE'] = 'Максимальная величина изображения'; -$lang['MAX_IMAGE_SIZE_EXPLAIN'] = 'Здесь Вы можете задать максимальную величину изображения (ширина х высота в пикселях).
    Если установлен ноль, то эта функция отключена. С некоторыми изображениями эта функция не будет работать из-за ограничений в PHP.'; -$lang['IMAGE_LINK_SIZE'] = 'Величина изображений, которые будут автоматически показываться как ссылка'; -$lang['IMAGE_LINK_SIZE_EXPLAIN'] = 'Картинки установленной величины будут отображаться как ссылка, а не прямо в сообщении,
    если включена функция "Отображать изображения в сообщениях".
    Если установлен ноль, эта функция отключена. С некоторыми изображениями эта функция не будет работать из-за ограничений в PHP.'; -$lang['ASSIGNED_GROUP'] = 'Прикрепленная группа'; - -$lang['IMAGE_CREATE_THUMBNAIL'] = 'Создать миниатюру'; -$lang['IMAGE_CREATE_THUMBNAIL_EXPLAIN'] = 'Всегда создавать миниатюры. Эта функция замещает все настройки в этой специальной категории, кроме настройки "Максимальная величина изображения". При включении этой функции в сообщении будет отображаться миниатюра, пользователь может на нее нажать, чтобы открыть само изображение.
    Пожалуйста, заметьте, что для этой функции необходим Imagick, если он не инсталлирован или если включен Safe-Mode, будет использоваться PHP расширения GD. Если тип изображения не поддерживается PHP, эта функция не будет задействована.'; -$lang['IMAGE_MIN_THUMB_FILESIZE'] = 'Минимальный размер миниатюры'; -$lang['IMAGE_MIN_THUMB_FILESIZE_EXPLAIN'] = 'Если изображение меньше, чем данный размер, миниатюра создаваться не будет, потому что само изображение уже достаточно маленькое.'; -$lang['IMAGE_IMAGICK_PATH'] = 'Приложение Imagick (полный путь)'; -$lang['IMAGE_IMAGICK_PATH_EXPLAIN'] = 'Задайте путь к программе конвертации Imagick, обычно /usr/bin/convert (в windows: c:/imagemagick/convert.exe).'; -$lang['IMAGE_SEARCH_IMAGICK'] = 'Поиск Imagick'; - -$lang['USE_GD2'] = 'Включить использование GD2 расширения'; -$lang['USE_GD2_EXPLAIN'] = 'PHP может быть скомпилировано с расширением GD1 или GD2 для работы с изображениями. Чтобы правильно создать миниатюры без imagemagick, Мод приложений может использовать два разных способа, основываясь на Вашем выборе в данной опции. Если Ваши Эскизы будут плохого качества или обезображены, попробуйте изменить эту настройку.'; -$lang['ATTACHMENT_VERSION'] = 'Версия Мода приложений (Attachment Mod) %s'; // %s is the version number - -// Extensions -> Forbidden Extensions -$lang['MANAGE_FORBIDDEN_EXTENSIONS'] = 'Управление запрещенными расширениями'; -$lang['MANAGE_FORBIDDEN_EXTENSIONS_EXPLAIN'] = 'Здесь Вы можете добавить или удалить запрещенное расширение. Расширения php, php3, php4 запрещены для безопасности по умолчанию, и их невозможно удалить.'; -$lang['FORBIDDEN_EXTENSION_EXIST'] = 'Запрещенное расширение %s уже существует'; // replace %s with the extension -$lang['EXTENSION_EXIST_FORBIDDEN'] = 'Расширение %s уже задано в разрешенных расширениях, пожалуйста, удалите его оттуда, перед тем, как добавлять его здесь.'; // replace %s with the extension - -// Extensions -> Extension Groups Control -> Group Permissions -$lang['GROUP_PERMISSIONS_TITLE_ADMIN'] = 'Права групп расширений -> \'%s\''; // Replace %s with the Groups Name -$lang['GROUP_PERMISSIONS_EXPLAIN'] = 'Здесь Вы можете ограничить использование определенных групп расширений в форумах (как задано в боксе "Разрешенные Форумы"). По умолчанию разрешены все группы расширений во всех форумах, в которых пользователь может добавлять файлы (т.е. нормальный метод, который использовался в Моде приложений с самого начала). Если Вы разрешите только определенные форумы, то вариант "Все Форумы" исчезнет. Вы сможете снова добавить все форумы в любое время. Если Вы добавите новый раздел на Вашем форуме и разрешение установлено на "Все форумы", то ничего не изменится. Но если Вы изменили или ограничили доступ к определенным форумам, Вы должны вернуться сюда и добавить этот новый форум. Это можно было бы сделать автоматически, но Вам бы пришлось изменять много файлов, поэтому автор решил использовать текущий вариант. Пожалуйста, заметьте, что здесь будут перечислены все Вами форумы.'; -$lang['NOTE_ADMIN_EMPTY_GROUP_PERMISSIONS'] = 'Замечание:
    В ниже перечисленных форумах пользователи обычно могут добавлять файлы, но так как никакие группы расширений там не разрешены, пользователи не смогут ничего прикрепить. Если они попробуют, они увидят сообщение об ошибке. Может быть Вы хотите установить разрешение \'Добавить файлы\' для администрации в этих форумах.

    '; -$lang['ADD_FORUMS'] = 'Добавить форумы'; -$lang['ADD_SELECTED'] = 'Добавить выбранные'; -$lang['PERM_ALL_FORUMS'] = 'Все форумы'; - -// Attachments -> Quota Limits -$lang['MANAGE_QUOTAS'] = 'Настройка лимита квоты для расширений'; -$lang['MANAGE_QUOTAS_EXPLAIN'] = 'Здесь Вы можете добавить/удалить/изменить квоты для расширений. Позднее Вы можете прикрепить эти ограничения к определенным пользователям или группам. Чтобы прикрепить ограничение к пользователю, откройте Пользователи->Управление, выберите пользователя и Вы увидите необходимые настройки внизу страницы. Чтобы прикрепить ограничение к группе, откройте Группы->Управление, выберите группу и Вы увидите панель настроек. Если Вы хотите увидеть, какие пользователи и группы прикреплены к определенным ограничениям, нажмите на "Посмотреть" слева от описания квоты.'; -$lang['ASSIGNED_USERS'] = 'Прикрепленные пользователи'; -$lang['ASSIGNED_GROUPS'] = 'Прикрепленные группы'; -$lang['QUOTA_LIMIT_EXIST'] = 'Ограничение %s уже существует.'; // Replace %s with the Quota Description - -// Attachments -> Control Panel -$lang['CONTROL_PANEL_TITLE'] = 'Контрольная панель приложений'; -$lang['CONTROL_PANEL_EXPLAIN'] = 'Здесь Вы можете увидеть и настроить все приложения в зависимости от пользователей, приложений, количества просмотров и т.п.'; -$lang['FILECOMMENT'] = 'Комментарий к файлу'; - -// Control Panel -> Search -$lang['SEARCH_WILDCARD_EXPLAIN'] = 'Используйте *, если не знаете точного названия'; -$lang['SIZE_SMALLER_THAN'] = 'Приложение меньше чем (в байтах)'; -$lang['SIZE_GREATER_THAN'] = 'Приложение больше чем (в байтах)'; -$lang['COUNT_SMALLER_THAN'] = 'Количество скачиваний меньше чем'; -$lang['COUNT_GREATER_THAN'] = 'Количество скачиваний больше чем'; -$lang['MORE_DAYS_OLD'] = 'Старее, чем это количество дней'; -$lang['NO_ATTACH_SEARCH_MATCH'] = 'Не найдено ни одного приложения, которое бы отвечало Вашему поиску'; - -// Control Panel -> Statistics -$lang['NUMBER_OF_ATTACHMENTS'] = 'Количество приложений'; -$lang['TOTAL_FILESIZE'] = 'Общий размер всех приложений'; -$lang['NUMBER_POSTS_ATTACH'] = 'Количество сообщений с приложениями'; -$lang['NUMBER_TOPICS_ATTACH'] = 'Количество тем с приложениями'; -$lang['NUMBER_USERS_ATTACH'] = 'Уникальных пользователей прикрепивших приложения'; -$lang['NUMBER_PMS_ATTACH'] = 'Количество приложений в личных сообщениях'; -$lang['ATTACHMENTS_PER_DAY'] = 'Прикрепления за день'; - -// Control Panel -> Attachments -$lang['STATISTICS_FOR_USER'] = 'Статистика приложений для %s'; // replace %s with username -$lang['DOWNLOADS'] = 'Скачиваний'; -$lang['POST_TIME'] = 'Дата сообщения'; -$lang['POSTED_IN_TOPIC'] = 'Размещено в теме'; -$lang['SUBMIT_CHANGES'] = 'Сохранить изменения'; - -// Sort Types -$lang['SORT_ATTACHMENTS'] = 'Приложения'; -$lang['SORT_SIZE'] = 'Размер'; -$lang['SORT_FILENAME'] = 'Название файла'; -$lang['SORT_COMMENT'] = 'Комментарий'; -$lang['SORT_EXTENSION'] = 'Расширение'; -$lang['SORT_DOWNLOADS'] = 'Скачено'; -$lang['SORT_POSTTIME'] = 'Дата сообщения'; - -// View Types -$lang['VIEW_STATISTIC'] = 'Статистика'; -$lang['VIEW_SEARCH'] = 'Поиск'; -$lang['VIEW_USERNAME'] = 'Имя'; -$lang['VIEW_ATTACHMENTS'] = 'Приложения'; - -// Successfully updated -$lang['ATTACH_CONFIG_UPDATED'] = 'Конфигурация приложений успешно изменена'; -$lang['CLICK_RETURN_ATTACH_CONFIG'] = 'Нажмите %sтут%s, чтобы вернуться к конфигурации приложений'; -$lang['TEST_SETTINGS_SUCCESSFUL'] = 'Тест настроек окончен, конфигурация в порядке.'; - -// Some basic definitions -$lang['ATTACHMENTS'] = 'Приложения'; -$lang['EXTENSIONS'] = 'Расширения'; -$lang['EXTENSION'] = 'Расширение'; - -$lang['RETURN_CONFIG'] = '%sВернуться к настройкам%s'; -$lang['CONFIG_UPD'] = 'Конфигурация успешно изменена'; -$lang['SET_DEFAULTS'] = 'Значения по умолчанию'; - -// -// Tracker config -// -$lang['TRACKER_CFG_TITLE'] = 'Трекер'; -$lang['FORUM_CFG_TITLE'] = 'Настройки форумов'; -$lang['TRACKER_SETTINGS'] = 'Настройки трекера'; - -$lang['CHANGES_DISABLED'] = 'Изменения недоступны (редактируйте $tr_cfg в файле config.php)'; - -$lang['OFF_TRACKER'] = 'Отключить трекер'; -$lang['OFF_REASON'] = 'Причина отключения'; -$lang['OFF_REASON_EXPL'] = 'этот текст будет отправляться клиенту пока трекер отключен'; -$lang['AUTOCLEAN_EXPL'] = 'периодически очищать таблицу peer\'s - не отключайте без особой необходимости!'; -$lang['COMPACT_MODE'] = 'Компактный режим'; -$lang['COMPACT_MODE_EXPL'] = '"Да" - трекер будет работать только в компактном режиме
    "Нет" - будет определяется клиентом
    в компактном режиме расход трафика наименьший, но могут возникнуть проблемы из-за несовместимости с очень старыми клиентами'; -$lang['BROWSER_REDIRECT_URL'] = 'Browser redirect URL'; -$lang['BROWSER_REDIRECT_URL_EXPL'] = "переадресация на этот URL при попытке зайти на трекер Web browser'ом
    оставьте пустым для отключения"; - -$lang['ANNOUNCE_INTERVAL_HEAD'] = 'Разное'; -$lang['ANNOUNCE_INTERVAL'] = 'Announce интервал'; -$lang['ANNOUNCE_INTERVAL_EXPL'] = 'пауза между announcements'; -$lang['NUMWANT'] = 'Значение numwant'; -$lang['NUMWANT_EXPL'] = 'количество источников (peers) отправляемых клиенту'; -$lang['EXPIRE_FACTOR'] = 'Фактор смерти peer\'ов'; -$lang['EXPIRE_FACTOR_EXPL'] = "время жизни peer'а расчитывается как announce интервал умноженный на фактор смерти peer'а
    должен быть не меньше 1"; -$lang['IGNORE_GIVEN_IP'] = 'Игнорировать указанный клиентом IP'; -$lang['UPDATE_DLSTAT'] = 'Вести учет скачанного/отданного юзером'; - -$lang['LIMIT_ACTIVE_TOR_HEAD'] = 'Ограничения'; -$lang['LIMIT_ACTIVE_TOR'] = 'Ограничить количество одновременных закачек'; -$lang['LIMIT_SEED_COUNT'] = 'Seeding ограничение'; -$lang['LIMIT_SEED_COUNT_EXPL'] = 'ограничение на количество одновременных раздач
    0 - нет ограничений'; -$lang['LIMIT_LEECH_COUNT'] = 'Leeching ограничение'; -$lang['LIMIT_LEECH_COUNT_EXPL'] = 'ограничение на количество одновременных закачек
    0 - нет ограничений'; -$lang['LEECH_EXPIRE_FACTOR'] = 'Leech expire factor'; -$lang['LEECH_EXPIRE_FACTOR_EXPL'] = 'сколько минут считать начатую закачку активной, независимо от того, остановил ли ее юзер
    0 - учитывать остановку'; -$lang['LIMIT_CONCURRENT_IPS'] = 'Ограничить количество подключений с разных IP'; -$lang['LIMIT_CONCURRENT_IPS_EXPL'] = 'считается отдельно для каждого торрента'; -$lang['LIMIT_SEED_IPS'] = 'Seeding IP ограничение'; -$lang['LIMIT_SEED_IPS_EXPL'] = "раздаваь можно не более чем с хх IP's
    (0 - нет ограничений)"; -$lang['LIMIT_LEECH_IPS'] = 'Leeching IP ограничение'; -$lang['LIMIT_LEECH_IPS_EXPL'] = "скачивать можно не более чем с хх IP's
    (0 - нет ограничений)"; - -$lang['USE_AUTH_KEY_HEAD'] = 'Авторизация'; -$lang['USE_AUTH_KEY'] = 'Passkey'; -$lang['USE_AUTH_KEY_EXPL'] = 'включить авторизацию по passkey'; -$lang['AUTH_KEY_NAME'] = 'Имя ключа passkey'; -$lang['AUTH_KEY_NAME_EXPL'] = 'имя ключа, который будет добавляться в GET запросе к announce url для идентификации юзера'; -$lang['ALLOW_GUEST_DL'] = 'Разрешить "гостям" (неавторизованным юзерам) доступ к трекеру'; - -// -// Forum config -// -$lang['FORUM_CFG_EXPL'] = 'Настройки форума'; - -$lang['BT_SELECT_FORUMS'] = 'Форумы, в которых:'; -$lang['BT_SELECT_FORUMS_EXPL'] = 'для выделения нескольких форумов, отмечайте их с нажатой клавишей Ctrl'; - -$lang['REG_TORRENTS'] = 'Регистрация торрентов'; -$lang['DISALLOWED'] = 'Запрещено'; -$lang['ALLOW_REG_TRACKER'] = 'Разрешена регистрация торрентов на трекере'; -$lang['ALLOW_PORNO_TOPIC'] = 'Разрешено размещать контент 18+'; -$lang['SHOW_DL_BUTTONS'] = 'Показывать кнопки для изменения DL-статуса'; -$lang['SELF_MODERATED'] = 'Автор топика может перенести его в другой форум'; - -$lang['BT_ANNOUNCE_URL_HEAD'] = 'Announce URL'; -$lang['BT_ANNOUNCE_URL'] = 'Announce url'; -$lang['BT_ANNOUNCE_URL_EXPL'] = 'дополнительные разрешенные адреса можно задать в "includes/torrent_announce_urls.php"'; -$lang['BT_DISABLE_DHT'] = 'Запретить DHT сети'; -$lang['BT_DISABLE_DHT_EXPL'] = 'Запретить обмен пирами и DHT (рекомендовано для приватных сетей, только url announce)'; -$lang['BT_CHECK_ANNOUNCE_URL'] = 'Проверять announce url'; -$lang['BT_CHECK_ANNOUNCE_URL_EXPL'] = 'разрешить регистрацию на трекере только если announce url входит в список разрешенных'; -$lang['BT_REPLACE_ANN_URL'] = 'Заменять announce url'; -$lang['BT_REPLACE_ANN_URL_EXPL'] = 'заменять оригинальный announce url в .torrent файлах на ваш'; -$lang['BT_DEL_ADDIT_ANN_URLS'] = 'Удалять все дополнительные announce urls'; -$lang['BT_DEL_ADDIT_ANN_URLS_EXPL'] = 'если торрент содержит адреса других трекеров, они будут удалены'; - -$lang['BT_SHOW_PEERS_HEAD'] = 'Peers-List'; -$lang['BT_SHOW_PEERS'] = 'Показывать список источников (seeders/leechers)'; -$lang['BT_SHOW_PEERS_EXPL'] = 'будет выводиться над топиком с торрентом'; -$lang['BT_SHOW_PEERS_MODE'] = 'По умолчанию показывать источники как:'; -$lang['BT_SHOW_PEERS_MODE_COUNT'] = 'Только количество'; -$lang['BT_SHOW_PEERS_MODE_NAMES'] = 'Только имена'; -$lang['BT_SHOW_PEERS_MODE_FULL'] = 'Подробно'; -$lang['BT_ALLOW_SPMODE_CHANGE'] = 'Разрешить подробный показ источников'; -$lang['BT_ALLOW_SPMODE_CHANGE_EXPL'] = 'если выбрано "нет" - будет доступен только режим по умолчанию'; -$lang['BT_SHOW_IP_ONLY_MODER'] = 'IP могут видеть только модераторы'; -$lang['BT_SHOW_PORT_ONLY_MODER'] = 'Port могут видеть только модераторы'; - -$lang['BT_SHOW_DL_LIST_HEAD'] = 'DL-List'; -$lang['BT_SHOW_DL_LIST'] = 'Показывать DL-List при просмотре топика'; -$lang['BT_DL_LIST_ONLY_1ST_PAGE'] = 'Показывать DL-List только на первой странице топика'; -$lang['BT_DL_LIST_ONLY_COUNT'] = 'Показывать только количество'; -$lang['BT_SHOW_DL_LIST_BUTTONS'] = 'Показывать кнопки для изменения DL-статуса'; -$lang['BT_SHOW_DL_BUT_WILL'] = $lang['DL_WILL']; -$lang['BT_SHOW_DL_BUT_DOWN'] = $lang['DL_DOWN']; -$lang['BT_SHOW_DL_BUT_COMPL'] = $lang['DL_COMPLETE']; -$lang['BT_SHOW_DL_BUT_CANCEL'] = $lang['DL_CANCEL']; - -$lang['BT_ADD_AUTH_KEY_HEAD'] = 'Passkey'; -$lang['BT_ADD_AUTH_KEY'] = 'Aвтодобавление passkey к торрент-файлам перед их скачиванием'; - -$lang['BT_TOR_BROWSE_ONLY_REG_HEAD'] = 'Torrent browser (трекер)'; -$lang['BT_TOR_BROWSE_ONLY_REG'] = 'Torrent browser (tracker.php) не доступен для гостей'; -$lang['BT_SEARCH_BOOL_MODE'] = 'Разрешить полнотекстовый поиск в логическом режиме'; -$lang['BT_SEARCH_BOOL_MODE_EXPL'] = 'использовать *, +, - и т.д. при поиске'; - -$lang['BT_SHOW_DL_STAT_ON_INDEX_HEAD'] = 'Разное'; -$lang['BT_SHOW_DL_STAT_ON_INDEX'] = 'Показывать UL/DL статистику юзера на главной странице форума'; -$lang['BT_NEWTOPIC_AUTO_REG'] = 'Регистрировать торренты на трекере для новых топиков'; -$lang['BT_SET_DLTYPE_ON_TOR_REG'] = 'Изменять статус топика на "Download" во время регистрации торрента на трекере'; -$lang['BT_SET_DLTYPE_ON_TOR_REG_EXPL'] = 'не зависит от того, разрешено ли в этом форуме создавать Download-топики (в настройках форумов)'; -$lang['BT_UNSET_DLTYPE_ON_TOR_UNREG'] = 'Изменять статус топика на "Normal" во время удаления торрента с трекера'; - -// -// Release -// -$lang['TEMPLATE_DISABLE'] = 'Шаблон отключен'; -$lang['FOR_NEW_TEMPLATE'] = 'для новых шаблонов!'; -$lang['CHANGED'] = 'Изменено'; -$lang['REMOVED'] = 'Удалено'; -$lang['QUESTION'] = 'Вы уверены, что хотите удалить?'; - -$lang['CRON_LIST'] = 'Список задач'; -$lang['CRON_ID'] = 'ID'; -$lang['CRON_ACTIVE'] = 'Вкл'; -$lang['CRON_ACTIVE_EXPL'] = 'Активность задачи'; -$lang['CRON_TITLE'] = 'Название задачи'; -$lang['CRON_SCRIPT'] = 'Скрипт'; -$lang['CRON_SCHEDULE'] = 'Запуск'; -$lang['CRON_LAST_RUN'] = 'Посл. запуск'; -$lang['CRON_NEXT_RUN'] = 'След. запуск'; -$lang['CRON_RUN_COUNT'] = 'Запусков'; -$lang['CRON_MANAGE'] = 'Управление'; -$lang['CRON_OPTIONS'] = 'Настройки крона'; - -$lang['CRON_ENABLED'] = 'Крон включен'; -$lang['CRON_CHECK_INTERVAL'] = 'Проверка (сек)'; - -$lang['WITH_SELECTED'] = 'С выделенными'; -$lang['NOTHING'] = 'ничего не делать'; -$lang['CRON_RUN'] = 'запустить'; -$lang['CRON_DEL'] = 'удалить'; -$lang['CRON_DISABLE'] = 'отключить'; -$lang['CRON_ENABLE'] = 'включить'; - -$lang['RUN_MAIN_CRON'] = 'Запустить крон'; -$lang['ADD_JOB'] = 'Добавить задачу'; -$lang['CRON_WORKS'] = 'Крон в данный момент запущен или завис · '; -$lang['REPAIR_CRON'] = 'Восстановить'; - -$lang['CRON_EDIT_HEAD_EDIT'] = 'Редактировать задачу'; -$lang['CRON_EDIT_HEAD_ADD'] = 'Добавить задачу'; -$lang['CRON_SCRIPT_EXPL'] = 'название в папке "includes/cron/jobs/"'; -$lang['SCHEDULE'] = array( - 'select' => '» Выберите запуск', - 'hourly' => 'ежечасно', - 'daily' => 'ежедневно', - 'weekly' => 'еженедельно', - 'monthly' => 'ежемесячно', - 'interval' => 'интервал' -); -$lang['NOSELECT'] = 'Не указан'; -$lang['RUN_DAY'] = 'День запуска'; -$lang['RUN_DAY_EXPL'] = 'день месяца/недели, когда эта задача будет выполняться'; -$lang['RUN_TIME'] = 'Время запуска'; -$lang['RUN_TIME_EXPL'] = 'время запуска этой задачи (напр. 05:00:00)'; -$lang['RUN_ORDER'] = 'Порядок запуска'; -$lang['LAST_RUN'] = 'Последний запуск'; -$lang['NEXT_RUN'] = 'Следующий запуск'; -$lang['RUN_INTERVAL'] = 'Интервал запуска'; -$lang['RUN_INTERVAL_EXPL'] = 'напр. 00:10:00'; -$lang['LOG_ENABLED'] = 'Логирование включено'; -$lang['LOG_FILE'] = 'Файл лога'; -$lang['LOG_FILE_EXPL'] = 'файл, куда будут сохраняться логи'; -$lang['LOG_SQL_QUERIES'] = 'Логировать SQL запросы'; -$lang['FORUM_DISABLE'] = 'Отключать форум'; -$lang['BOARD_DISABLE_EXPL'] = 'отключать форум, когда задача выполняется?'; -$lang['RUN_COUNTER'] = 'Кол-во запусков'; - -$lang['JOB_REMOVED'] = 'Задача была успешно удалена'; -$lang['SCRIPT_DUPLICATE'] = 'Скрипт '. @$_POST['cron_script'] .' уже существует!'; -$lang['TITLE_DUPLICATE'] = 'Название задачи '. @$_POST['cron_title'] .' уже существует!'; -$lang['CLICK_RETURN_JOBS_ADDED'] = '%sВернуться к добавлению задачи%s'; -$lang['CLICK_RETURN_JOBS'] = '%sВернуться к планировщику задач%s'; - -$lang['REBUILD_SEARCH'] = 'Индексировать'; -$lang['REBUILD_SEARCH_DESC'] = 'Эта функция индексирует таблицы поиска. Индексация может занять некоторое время.
    Пожалуйста, не закрывайте эту страницу до окончания индексации'; - -// -// Input screen -// -$lang['STARTING_POST_ID'] = 'Начальный ID сообщения'; -$lang['STARTING_POST_ID_EXPLAIN'] = 'Первая запись, с которой начнется обработка
    Вы можете выбрать, чтобы начать с начала или с записи, на которой вы в последний раз остановились'; - -$lang['START_OPTION_BEGINNING'] = 'начать с начала'; -$lang['START_OPTION_CONTINUE'] = 'продолжить с последней остановленной'; - -$lang['CLEAR_SEARCH_TABLES'] = 'Очистить таблицы поиска'; -$lang['CLEAR_SEARCH_TABLES_EXPLAIN'] = ''; -$lang['CLEAR_SEARCH_NO'] = 'Нет'; -$lang['CLEAR_SEARCH_DELETE'] = 'Удаление'; -$lang['CLEAR_SEARCH_TRUNCATE'] = 'Очистка'; - -$lang['NUM_OF_POSTS'] = 'Количество записей'; -$lang['NUM_OF_POSTS_EXPLAIN'] = 'Общее количество записей в процессе
    Автоматически заполняется количество от общего/оставшегося числа записей, найденных в БД'; - -$lang['POSTS_PER_CYCLE'] = 'Записей за цикл'; -$lang['POSTS_PER_CYCLE_EXPLAIN'] = 'Количество записей для обработки за один цикл
    Держите его низким, чтобы избежать таймаута PHP / веб-сервера'; - -$lang['REFRESH_RATE'] = 'Период обновления'; -$lang['REFRESH_RATE_EXPLAIN'] = 'Сколько времени (сек) бездействовать перед переходом к следующему циклу обработки
    Обычно вам не нужно менять это'; - -$lang['TIME_LIMIT'] = 'Ограничение времени'; -$lang['TIME_LIMIT_EXPLAIN'] = 'Сколько времени (сек) после обработки может длиться до перехода к следующему циклу'; -$lang['TIME_LIMIT_EXPLAIN_SAFE'] = 'Ваш PHP (Safe Mode) настроен на таймаут %s сек, так что не превышайте этого значения'; -$lang['TIME_LIMIT_EXPLAIN_WEBSERVER'] = 'Ваш веб-сервер настроен на таймаут %s сек, так что не превышайте этого значения'; - -$lang['DISABLE_BOARD'] = 'Отключение форума'; -$lang['DISABLE_BOARD_EXPLAIN'] = 'Отключать ли форум при обработке'; -$lang['DISABLE_BOARD_EXPLAIN_ENABLED'] = 'Он будет включен автоматически после окончания обработки'; -$lang['DISABLE_BOARD_EXPLAIN_ALREADY'] = 'Ваш форум уже отключен'; - -// -// Information strings -// -$lang['INFO_PROCESSING_STOPPED'] = 'В последний раз вы остановились в процессе обработки на post_id %s (%s обработанных записей) от %s'; -$lang['INFO_PROCESSING_ABORTED'] = 'В последний раз вы прервали процесс обработки на post_id %s (%s обработанных записей) от %s'; -$lang['INFO_PROCESSING_ABORTED_SOON'] = 'Пожалуйста, подождите несколько минут, прежде чем продолжить…'; -$lang['INFO_PROCESSING_FINISHED'] = 'Вы успешно завершили процесс (%s обработанных записей) от %s'; -$lang['INFO_PROCESSING_FINISHED_NEW'] = 'Вы успешно завершили процесс на post_id %s (%s обработанных записей) от %s,
    но были %s новых записей после этой даты'; - -// -// Progress screen -// -$lang['REBUILD_SEARCH_PROGRESS'] = 'Процесс перестроения поиска'; - -$lang['PROCESSED_POST_IDS'] = 'Обработанные записи: %s - %s'; -$lang['TIMER_EXPIRED'] = 'Таймер истек в %s секунд. '; -$lang['CLEARED_SEARCH_TABLES'] = 'Очистка таблиц поиска. '; -$lang['DELETED_POSTS'] = '%s записей были удалены пользователей во время обработки. '; -$lang['PROCESSING_NEXT_POSTS'] = 'Обрабатывается следующие %s записей. Ждите...'; -$lang['ALL_SESSION_POSTS_PROCESSED'] = 'Обработаны все записи в текущей сессии.'; -$lang['ALL_POSTS_PROCESSED'] = 'Все записи были обработаны успешно.'; -$lang['ALL_TABLES_OPTIMIZED'] = 'Все поисковые таблицы были оптимизированы успешно.'; - -$lang['PROCESSING_POST_DETAILS'] = 'Обрабатываемая запись'; -$lang['PROCESSED_POSTS'] = 'Обработанные записи'; -$lang['PERCENT'] = 'Процентов'; -$lang['CURRENT_SESSION'] = 'Текущая сессия'; -$lang['TOTAL'] = 'Всего'; - -$lang['PROCESS_DETAILS'] = 'с %s до %s (из общего %s)'; -$lang['PERCENT_COMPLETED'] = '%s %% завершено'; - -$lang['PROCESSING_TIME_DETAILS'] = 'Детали текущей сесии'; -$lang['PROCESSING_TIME'] = 'Время выполнения'; -$lang['TIME_LAST_POSTS'] = 'Последние %s записей'; -$lang['TIME_FROM_THE_BEGINNING'] = 'Время с начала'; -$lang['TIME_AVERAGE'] = 'Среднее время за цикл'; -$lang['TIME_ESTIMATED'] = 'Расчетное время до завершения'; - -$lang['DATABASE_SIZE_DETAILS'] = 'Детали размера БД'; -$lang['SIZE_CURRENT'] = 'Текущий'; -$lang['SIZE_ESTIMATED'] = 'Расчетный размер после окончания'; -$lang['SIZE_SEARCH_TABLES'] = 'Размер таблицы поиска'; -$lang['SIZE_DATABASE'] = 'Размер ДБ'; - -$lang['ACTIVE_PARAMETERS'] = 'Активные параметры'; -$lang['POSTS_LAST_CYCLE'] = 'Обработанная(ые) запись(и) на последнем цикле'; -$lang['BOARD_STATUS'] = 'Статус форума'; -$lang['BOARD_DISABLED'] = 'Отключен'; -$lang['BOARD_ENABLED'] = 'Включен'; - -$lang['INFO_ESTIMATED_VALUES'] = '(*) Все оценочные значения рассчитываются примерно
    - на основе текущего завершенного процента и не могут представлять фактического конечного значения.
    - С ростом процентов расчетные значения приближаются к фактическим.'; - -$lang['CLICK_RETURN_REBUILD_SEARCH'] = 'Нажмите %sздесь%s, чтобы вернуться к перестроению поиска'; -$lang['REBUILD_SEARCH_ABORTED'] = 'Перестроение поиска прервано на post_id %s.

    Если вы прервали процесс обработки, вы должны подождать несколько минут до запуска перестроения поиска снова, чтобы последний цикл можно было закончить.'; -$lang['WRONG_INPUT'] = 'Вы ввели некоторые неправильные значения. Проверьте введенные данные и попробуйте еще раз.'; - -// Buttons -$lang['PROCESSING'] = 'Идет обработка...'; -$lang['FINISHED'] = 'Закончить'; - -$lang['BOT_TOPIC_MOVED_FROM_TO'] = 'Топик был перенесен из форума [b]%s[/b] в форум [b]%s[/b][br][br]%s'; -$lang['BOT_MESS_SPLITS'] = 'Сообщения из этой темы были выделены в отдельный топик [b]%s[/b][br][br]%s'; -$lang['BOT_TOPIC_SPLITS'] = 'Тема была выделена из [b]%s[/b][br][br]%s'; - -$lang['CALLSEED'] = 'Позвать скачавших'; -$lang['CALLSEED_EXPLAIN'] = 'Принимать уведомления с просьбой вернуться на раздачу?'; -$lang['CALLSEED_SUBJECT'] = 'Помогите скачать %s'; -$lang['CALLSEED_TEXT'] = 'Здравствуйте![br]Ваша помощь необходима в раздаче [url=%s]%s[/url][br]Если Вы решили помочь, но уже удалили торрент-файл, Вы можете скачать его [url=%s]здесь[/url][br][br]Надеюсь на Вашу помощь!'; -$lang['CALLSEED_MSG_OK'] = 'Сообщения успешно отправлены всем скачавшим данный релиз'; -$lang['CALLSEED_MSG_SPAM'] = 'Запрос уже был отправлен (возможно не Вами)

    Следующая возможность отправить запрос будет через %s.'; -$lang['CALLSEED_HAVE_SEED'] = 'Раздача не нуждается в помощи (Сидеров: %d)'; - -$lang['LOG_ACTION']['LOG_TYPE'] = array( - 'mod_topic_delete' => 'Топик:
    удален', - 'mod_topic_move' => 'Топик:
    перенесен', - 'mod_topic_lock' => 'Топик:
    закрыт', - 'mod_topic_unlock' => 'Топик:
    открыт', - 'mod_topic_split' => 'Топик:
    разделен', - 'mod_post_delete' => 'Пост:
    удален', - 'adm_user_delete' => 'Юзер:
    удален', - 'adm_user_ban' => 'Юзер:
    забанен', - 'adm_user_unban' => 'Юзер:
    разбанен' -); - -$lang['ACTS_LOG_ALL_ACTIONS'] = 'Все действия'; -$lang['ACTS_LOG_SEARCH_OPTIONS'] = 'Настройки отчета по действиям'; -$lang['ACTS_LOG_FORUM'] = 'Форум'; -$lang['ACTS_LOG_ACTION'] = 'Действие'; -$lang['ACTS_LOG_USER'] = 'Пользователь'; -$lang['ACTS_LOG_LOGS_FROM'] = 'Логи с '; -$lang['ACTS_LOG_FIRST'] = 'сначала: '; -$lang['ACTS_LOG_DAYS_BACK'] = 'дней назад'; -$lang['ACTS_LOG_TOPIC_MATCH'] = 'Совпадение с названием темы'; -$lang['ACTS_LOG_SORT_BY'] = 'Сортировать по'; -$lang['ACTS_LOG_LOGS_ACTION'] = 'Действие'; -$lang['ACTS_LOG_USERNAME'] = 'Имя пользователя'; -$lang['ACTS_LOG_TIME'] = 'Время'; -$lang['ACTS_LOG_INFO'] = 'Инфо'; -$lang['ACTS_LOG_FILTER'] = 'Фильтр'; -$lang['ACTS_LOG_TOPICS'] = 'Топик:'; - -$lang['RELEASE'] = 'Шаблоны для релизов'; -$lang['RELEASES'] = 'Релизы'; - -$lang['BACK'] = 'Назад'; -$lang['ERROR_FORM'] = 'Неверно заполнены поля'; -$lang['RELEASE_WELCOME'] = 'Заполните форму для релиза'; -$lang['NEW_RELEASE'] = 'Новый релиз'; -$lang['NEXT'] = 'Продолжить'; -$lang['OTHER'] = 'Другой'; - -$lang['TPL_EMPTY_FIELD'] = 'Вы должны заполнить поле %s'; -$lang['TPL_EMPTY_SEL'] = 'Вы должны выбрать %s'; -$lang['TPL_NOT_NUM'] = '%s - должно быть число'; -$lang['TPL_NOT_URL'] = '%s - должна быть http:// ссылка'; -$lang['TPL_NOT_IMG_URL'] = '%s - должна быть http:// ссылка на картинку'; -$lang['TPL_PUT_INTO_SUBJECT'] = 'поместить в заголовок'; -$lang['TPL_POSTER'] = 'постер'; -$lang['TPL_REQ_FILLING'] = 'требует заполнения'; -$lang['TPL_NEW_LINE'] = 'новая строка'; -$lang['TPL_NEW_LINE_AFTER'] = 'новая строка после названия'; -$lang['TPL_NUM'] = 'число'; -$lang['TPL_URL'] = 'ссылка'; -$lang['TPL_IMG'] = 'картинка'; -$lang['TPL_PRE'] = 'pre'; -$lang['TPL_SPOILER'] = 'спойлер'; -$lang['TPL_IN_LINE'] = 'на той же строке'; -$lang['TPL_HEADER_ONLY'] = 'только в заголовке'; - -$lang['SEARCH_INVALID_USERNAME'] = 'Введено неправильное имя для поиска'; -$lang['SEARCH_INVALID_EMAIL'] = 'Введен неправильный адрес email для поиска'; -$lang['SEARCH_INVALID_IP'] = 'Введен неправильный IP-адрес для поиска'; -$lang['SEARCH_INVALID_GROUP'] = 'Введена неправильная группа для поиска'; -$lang['SEARCH_INVALID_RANK'] = 'Введено неправильное звание для поиска'; -$lang['SEARCH_INVALID_DATE'] = 'Введена неправильная дата для поиска'; -$lang['SEARCH_INVALID_POSTCOUNT'] = 'Введено неправильное количество сообщений для поиска'; -$lang['SEARCH_INVALID_USERFIELD'] = 'Введены неправильные пользовательские данные для поиска'; -$lang['SEARCH_INVALID_LASTVISITED'] = 'Введены неправильные данные для поиска по последним посещениям'; -$lang['SEARCH_INVALID_LANGUAGE'] = 'Выбран неправильный язык'; -$lang['SEARCH_INVALID_TIMEZONE'] = 'Выбран неправильный часовой пояс'; -$lang['SEARCH_INVALID_MODERATORS'] = 'Выбран неправильный форум'; -$lang['SEARCH_INVALID'] = 'Неверный поиск'; -$lang['SEARCH_INVALID_DAY'] = 'Введенный день неверен'; -$lang['SEARCH_INVALID_MONTH'] = 'Введенный месяц неверен'; -$lang['SEARCH_INVALID_YEAR'] = 'Введенный год неверен'; -$lang['SEARCH_FOR_USERNAME'] = 'Поиск имени пользователя %s'; -$lang['SEARCH_FOR_EMAIL'] = 'Поиск адреса email %s'; -$lang['SEARCH_FOR_IP'] = 'Поиск IP адреса %s'; -$lang['SEARCH_FOR_DATE'] = 'Поиск пользователей, зарегистрированных %s %d/%d/%d'; -$lang['SEARCH_FOR_GROUP'] = 'Поиск членов группы %s'; -$lang['SEARCH_FOR_RANK'] = 'Поиск носителей звания %s'; -$lang['SEARCH_FOR_BANNED'] = 'Поиск забаненных пользователей'; -$lang['SEARCH_FOR_ADMINS'] = 'Поиск администраторов'; -$lang['SEARCH_FOR_MODS'] = 'Поиск модераторов'; -$lang['SEARCH_FOR_DISABLED'] = 'Поиск отключенных пользователей'; -$lang['SEARCH_FOR_POSTCOUNT_GREATER'] = 'Поиск пользователей с количеством сообщений более %d'; -$lang['SEARCH_FOR_POSTCOUNT_LESSER'] = 'Поиск пользователей с количеством сообщений менее %d'; -$lang['SEARCH_FOR_POSTCOUNT_RANGE'] = 'Поиск пользователей с количеством сообщений от %d до %d'; -$lang['SEARCH_FOR_POSTCOUNT_EQUALS'] = 'Поиск пользователей с количеством сообщений %d'; -$lang['SEARCH_FOR_USERFIELD_ICQ'] = 'Поиск пользователей с адресом ICQ %s'; -$lang['SEARCH_FOR_USERFIELD_SKYPE'] = 'Поиск пользователей с логином в Skype %s'; -$lang['SEARCH_FOR_USERFIELD_TWITTER'] = 'Поиск пользователей с логином в Twitter %s'; -$lang['SEARCH_FOR_USERFIELD_WEBSITE'] = 'Поиск пользователей, чей веб-сайт %s'; -$lang['SEARCH_FOR_USERFIELD_LOCATION'] = 'Поиск пользователей из %s'; -$lang['SEARCH_FOR_USERFIELD_INTERESTS'] = 'Поиск пользователей с интересами %s'; -$lang['SEARCH_FOR_USERFIELD_OCCUPATION'] = 'Поиск пользователей с родом занятий %s'; -$lang['SEARCH_FOR_LASTVISITED_INTHELAST'] = 'Поиск пользователей, посетивших трекер в последние %s %s'; -$lang['SEARCH_FOR_LASTVISITED_AFTERTHELAST'] = 'Поиск пользователей, посетивших трекер после %s %s'; -$lang['SEARCH_FOR_LANGUAGE'] = 'Поиск пользователей, у которых выбран %s язык'; -$lang['SEARCH_FOR_TIMEZONE'] = 'Поиск пользователей с часовым поясом GMT %s'; -$lang['SEARCH_FOR_STYLE'] = 'Поиск пользователей, использующих стиль %s'; -$lang['SEARCH_FOR_MODERATORS'] = 'Поиск модареторов форума -> %s'; -$lang['SEARCH_USERS_ADVANCED'] = 'Расширенный поиск пользователя'; -$lang['SEARCH_USERS_EXPLAIN'] = 'Позволяет осуществлять расширенный поиск пользователей по большому диапазону критериев. Пожалуйста, читайте описания полей поиска, чтобы полностью понять каждую из поисковых возможностей.'; -$lang['SEARCH_USERNAME_EXPLAIN'] = 'Здесь можно произвести регистронезависимый поиск имени пользователя. Если вы хотите задать только часть имени, используйте * (звездочка) как маску.'; -$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_USERS_JOINED'] = 'Пользователи, зарегистрированные'; -$lang['SEARCH_USERS_LASTVISITED'] = 'Пользователи, посетившие трекер'; -$lang['IN_THE_LAST'] = 'за последние'; -$lang['AFTER_THE_LAST'] = 'ранее чем за последние'; -$lang['BEFORE'] = 'До'; -$lang['AFTER'] = 'После'; -$lang['SEARCH_USERS_JOINED_EXPLAIN'] = 'Поиск пользователей, зарегистрированных До или После (включительно) указанной даты. Формат даты ГГГГ/ММ/ДД.'; -$lang['SEARCH_USERS_GROUPS_EXPLAIN'] = 'Просмотреть всех членов выбранной группы.'; -$lang['SEARCH_USERS_RANKS_EXPLAIN'] = 'Просмотреть всех носителей выбранного звания.'; -$lang['BANNED_USERS'] = 'Забаненные пользователи'; -$lang['DISABLED_USERS'] = 'Отключенные пользователи'; -$lang['SEARCH_USERS_MISC_EXPLAIN'] = 'Администраторы - все пользователи с правами администратора; Модераторы - все модераторы форумов; Забаненные пользователи - все учетные записи, запрещенные на трекере; отключенные пользователи - все пользователи с отключенными учетными записями (вручную, или не подтвердившие свой адрес email); Пользователи с отключенными ЛС - Пользователи, не имеющие права пользоваться личными сообщениями (установлено через управление пользователями)'; -$lang['POSTCOUNT'] = 'Число сообщений'; -$lang['EQUALS'] = 'Равно'; -$lang['GREATER_THAN'] = 'Больше чем'; -$lang['LESS_THAN'] = 'Меньше чем'; -$lang['SEARCH_USERS_POSTCOUNT_EXPLAIN'] = 'Вы можете искать пользователей по количеству оставленных сообщений. Поиск можно произвести либо по конкретному значению, либо большему или меньшему заданного, либо находящемуся в заданном диапазоне значений. Для поиска в диапазоне, выберите "Равно", и задайте начало и конец диапазона через дефис (-), напр. 10-15'; -$lang['USERFIELD'] = 'Поле профиля'; -$lang['SEARCH_USERS_USERFIELD_EXPLAIN'] = 'Поиск пользователей по различным полям профиля. В качестве маски разрешены звездочки (*).'; -$lang['SEARCH_USERS_LASTVISITED_EXPLAIN'] = 'Вы можете искать пользователей по дате их последнего входа на трекер, используя эту поисковую возможность.'; -$lang['SEARCH_USERS_LANGUAGE_EXPLAIN'] = 'Поиск пользователей, выбравших заданный язык в своем профиле'; -$lang['SEARCH_USERS_TIMEZONE_EXPLAIN'] = 'Поиск пользователей, выбравших заданный часовой пояс в своем профиле'; -$lang['SEARCH_USERS_STYLE_EXPLAIN'] = 'Поиск пользователей, выбравших заданный стиль в своем профиле'; -$lang['MODERATORS_OF'] = 'Модераторы'; -$lang['SEARCH_USERS_MODERATORS_EXPLAIN'] = 'Поиск пользователей с правами модератора на заданном форуме. Права модератора определяются в соответствии с правами пользователя, или в соответствии с правами группы, челоном которой он является.'; - -$lang['SEARCH_USERS_NEW'] = '%s дал %d результат(ов). Новый поиск.'; -$lang['BANNED'] = 'Забаненные'; -$lang['NOT_BANNED'] = 'Не забаненные'; -$lang['SEARCH_NO_RESULTS'] = 'Нет пользователей, отвечающих выбранным критериям. Пожалуйста, попробуйте повторить поиск. Если вы ищете имя пользователя или адрес email по частичному совпадению, вы должны использовать маску * (звездочку).'; -$lang['ACCOUNT_STATUS'] = 'Статус учетной записи'; -$lang['SORT_OPTIONS'] = 'Поля сортировки:'; -$lang['LAST_VISIT'] = 'Последнее посещение'; -$lang['DAY'] = 'День'; - -$lang['POST_EDIT_CANNOT'] = 'Извините, вы не можете редактировать сообщения'; -$lang['FORUMS_IN_CAT'] = 'форумов в этой категории'; - -$lang['MC_TITLE'] = 'Модераторский комментарий'; -$lang['MC_LEGEND'] = 'Тип комментария'; -$lang['MC_FAQ'] = 'Введенный Вами текст будет отображаться под этим сообщением'; -$lang['MC_COMMENT_PM_SUBJECT'] = "%s в Вашем сообщении"; -$lang['MC_COMMENT_PM_MSG'] = "Здравствуйте, [b]%s[/b]\nМодератор оставил в Вашем сообщении [url=%s][b]%s[/b][/url][quote]\n%s\n[/quote]"; -$lang['MC_COMMENT'] = array( - 0 => array( - 'title' => '', - 'type' => 'Удалить комментарий', - ), - 1 => array( - 'title' => 'Комментарий от %s', - 'type' => 'Комментарий', - ), - 2 => array( - 'title' => 'Информация от %s', - 'type' => 'Информация', - ), - 3 => array( - 'title' => 'Предупреждение от %s', - 'type' => 'Предупреждение', - ), - 4 => array( - 'title' => 'Нарушение от %s', - 'type' => 'Нарушение', - ), +Показать все'; +$lang['TOPIC'] = 'Тема'; +$lang['TOPICS'] = 'Темы'; +$lang['TOPICS_SHORT'] = 'Тем'; +$lang['REPLIES'] = 'Ответов'; +$lang['REPLIES_SHORT'] = 'Отв.'; +$lang['VIEWS'] = 'Просм.'; +$lang['POSTS'] = 'Сообщений'; +$lang['POSTS_SHORT'] = 'Сообщ.'; +$lang['POSTED'] = 'Добавлено'; +$lang['USERNAME'] = 'Имя'; +$lang['PASSWORD'] = 'Пароль'; +$lang['EMAIL'] = 'Email'; +$lang['PM'] = 'ЛС'; +$lang['AUTHOR'] = 'Автор'; +$lang['TIME'] = 'Время'; +$lang['HOURS'] = 'Часы'; +$lang['MESSAGE'] = 'Сообщение'; +$lang['TORRENT'] = 'Торрент'; +$lang['PERMISSIONS'] = 'Права доступа'; +$lang['TYPE'] = 'Тип'; +$lang['SEEDER'] = 'Сидер'; +$lang['LEECHER'] = 'Личер'; +$lang['RELEASER'] = 'Релизер'; + +$lang['1_DAY'] = 'за последний день'; +$lang['7_DAYS'] = 'за последние 7 дней'; +$lang['2_WEEKS'] = 'за последние 2 недели'; +$lang['1_MONTH'] = 'за последний месяц'; +$lang['3_MONTHS'] = 'за последние 3 месяца'; +$lang['6_MONTHS'] = 'за последние 6 месяцев'; +$lang['1_YEAR'] = 'за последний год'; + +$lang['GO'] = 'Перейти'; +$lang['SUBMIT'] = 'Отправить'; +$lang['RESET'] = 'Вернуть'; +$lang['CANCEL'] = 'Отмена'; +$lang['PREVIEW'] = 'Предв. просмотр'; +$lang['AJAX_PREVIEW'] = 'Быстрый просмотр'; +$lang['CONFIRM'] = 'Подтвердите'; +$lang['YES'] = 'Да'; +$lang['NO'] = 'Нет'; +$lang['ENABLED'] = 'Включено'; +$lang['DISABLED'] = 'Выключено'; +$lang['ERROR'] = 'Ошибка'; +$lang['SELECT_ACTION'] = 'Выберите действие'; + +$lang['NEXT_PAGE'] = 'След.'; +$lang['PREVIOUS_PAGE'] = 'Пред.'; +$lang['GOTO_PAGE'] = 'Страницы'; +$lang['GOTO_SHORT'] = 'Стр.'; +$lang['JOINED'] = 'Зарегистрирован'; +$lang['LONGEVITY'] = 'Стаж'; +$lang['IP_ADDRESS'] = 'Адрес IP'; +$lang['POSTED_AFTER'] = 'спустя'; + +$lang['SELECT_FORUM'] = 'Выберите форум'; +$lang['VIEW_LATEST_POST'] = 'Посмотреть последнее сообщение'; +$lang['VIEW_NEWEST_POST'] = 'Перейти к первому непрочитанному сообщению'; +$lang['PAGE_OF'] = 'Страница %d из %s'; + +$lang['ICQ'] = 'ICQ'; + +$lang['SKYPE'] = 'Skype'; +$lang['SKYPE_ERROR'] = 'Вы ввели некорректный логин Skype'; + +$lang['TWITTER'] = 'Twitter'; +$lang['TWITTER_ERROR'] = 'Вы ввели некорректный логин Twitter'; + +$lang['FORUM_INDEX'] = 'Список форумов %s'; + +$lang['POST_NEW_TOPIC'] = 'Начать новую тему'; +$lang['POST_NEW_RELEASE'] = 'Создать раздачу'; +$lang['POST_REGULAR_TOPIC'] = 'Создать обычную тему'; +$lang['REPLY_TO_TOPIC'] = 'Ответить на тему'; +$lang['REPLY_WITH_QUOTE'] = 'Ответить с цитатой'; + +$lang['CLICK_RETURN_TOPIC'] = '%sВернуться в тему%s'; +$lang['CLICK_RETURN_LOGIN'] = '%sПопробовать еще раз%s'; +$lang['CLICK_RETURN_FORUM'] = '%sВернуться в форум%s'; +$lang['CLICK_VIEW_MESSAGE'] = '%sПросмотреть ваше сообщение%s'; +$lang['CLICK_RETURN_MODCP'] = '%sВернуться к панели модерации%s'; +$lang['CLICK_RETURN_GROUP'] = '%sВернуться к информации о группах%s'; + +$lang['ADMIN_PANEL'] = 'Администраторский раздел'; +$lang['ALL_CACHE'] = 'Весь кеш'; +$lang['ALL_CACHE_CLEARED'] = 'Кеш очищен'; +$lang['ALL_TEMPLATE_CLEARED'] = 'Кеш шаблона очищен'; +$lang['DATASTORE'] = 'Datastore'; +$lang['DATASTORE_CLEARED'] = 'Datastore очищен'; +$lang['BOARD_DISABLE'] = 'Извините, эти форумы отключены. Попробуйте зайти попозже'; + +$lang['LOADING'] = 'Загружается…'; +$lang['JUMPBOX_TITLE'] = 'Выберите форум для перехода'; +$lang['DISPLAYING_OPTIONS'] = 'Опции показа'; + +// +// Global Header strings +// +$lang['REGISTERED_USERS'] = 'Зарегистрированные пользователи:'; +$lang['BROWSING_FORUM'] = 'Сейчас этот форум просматривают:'; +$lang['ONLINE_USERS'] = 'Сейчас на форуме %1$d посетителей: %2$d зарегистрированных и %3$d гостей'; +$lang['RECORD_ONLINE_USERS'] = 'Больше всего посетителей (%s) здесь было %s'; // first %s = number of users, second %s is the date. + +$lang['ONLINE_ADMIN'] = 'Администратор'; +$lang['ONLINE_MOD'] = 'Модератор'; +$lang['ONLINE_GROUP_MEMBER'] = 'Участник групп'; + +$lang['CURRENT_TIME'] = 'Текущее время: %s'; + +$lang['SEARCH_NEW'] = 'Новые сообщения'; +$lang['SEARCH_SELF'] = 'Мои сообщения'; +$lang['SEARCH_SELF_BY_LAST'] = 'времени последнего сообщения'; +$lang['SEARCH_SELF_BY_MY'] = 'времени моего сообщения'; +$lang['SEARCH_UNANSWERED'] = 'Сообщения без ответов'; +$lang['SEARCH_UNANSWERED_SHORT'] = 'без ответов'; +$lang['SEARCH_LATEST'] = 'Последние'; + +$lang['REGISTER'] = 'Регистрация'; +$lang['PROFILE'] = 'Профиль'; +$lang['EDIT_PROFILE'] = 'Редактирование профиля'; +$lang['SEARCH'] = 'Поиск'; +$lang['MEMBERLIST'] = 'Пользователи'; +$lang['USERGROUPS'] = 'Группы'; +$lang['LASTPOST'] = 'Посл. сообщение'; +$lang['MODERATOR'] = 'Модератор'; +$lang['MODERATORS'] = 'Модераторы'; +$lang['TERMS'] = 'Правила'; +$lang['NOTHING_HAS_CHANGED'] = 'Ничего не было изменено'; + +// +// Stats block text +// +$lang['POSTED_TOPICS_TOTAL'] = 'Наши пользователи создали тем: %s'; // Number of topics +$lang['POSTED_ARTICLES_ZERO_TOTAL'] = 'Наши пользователи не оставили ни одного сообщения'; // Number of posts +$lang['POSTED_ARTICLES_TOTAL'] = 'Наши пользователи оставили сообщений: %s'; // Number of posts +$lang['REGISTERED_USERS_ZERO_TOTAL'] = 'У нас нет зарегистрированных пользователей'; // # registered users +$lang['REGISTERED_USERS_TOTAL'] = 'Всего зарегистрированных пользователей: %s'; // # registered users +$lang['USERS_TOTAL_GENDER'] = 'Парней: %d, Девушек: %d, Не указали: %d'; +$lang['NEWEST_USER'] = 'Последний зарегистрированный пользователь: %s'; // username + +// Tracker stats +$lang['TORRENTS_STAT'] = 'Раздач: %s,  Общий размер: %s'; // first %s = number of torrents, second %s is the total size. +$lang['PEERS_STAT'] = 'Пиров: %s,  Сидов: %s,  Личеров: %s'; // first %s = number of peers, second %s = number of seeders, third %s = number of leechers. +$lang['SPEED_STAT'] = 'Скорость обмена: %s '; // %s = total speed. + +$lang['NO_NEW_POSTS_LAST_VISIT'] = 'Нет новых сообщений с последнего посещения'; +$lang['NO_NEW_POSTS'] = 'Нет новых сообщений'; +$lang['NEW_POSTS'] = 'Новые сообщения'; +$lang['NEW_POST'] = 'Новое сообщение'; +$lang['NO_NEW_POSTS_HOT'] = 'Нет новых сообщений [ Популярная тема ]'; +$lang['NEW_POSTS_HOT'] = 'Новые сообщения [ Популярная тема ]'; +$lang['NEW_POSTS_LOCKED'] = 'Новые сообщения [ Тема закрыта ]'; +$lang['FORUM_LOCKED_MAIN'] = 'Форум закрыт'; + +// +// Login +// +$lang['ENTER_PASSWORD'] = 'Введите ваше имя и пароль для входа в систему'; +$lang['LOGIN'] = 'Вход'; +$lang['LOGOUT'] = 'Выход'; +$lang['CONFIRM_LOGOUT'] = 'Вы уверены, что хотите выйти?'; + +$lang['FORGOTTEN_PASSWORD'] = 'Забыли пароль?'; +$lang['AUTO_LOGIN'] = 'Автоматически входить при каждом посещении'; +$lang['ERROR_LOGIN'] = 'Вы ввели неверное/неактивное имя пользователя или неверный пароль.'; +$lang['REMEMBER'] = 'Запомнить'; +$lang['USER_WELCOME'] = 'Рады видеть вас,'; + +// +// Index page +// +$lang['HOME'] = 'Главная'; +$lang['NO_POSTS'] = 'Нет сообщений'; +$lang['NO_FORUMS'] = 'Нет доступных для показа форумов'; + +$lang['PRIVATE_MESSAGE'] = 'Личное сообщение'; +$lang['PRIVATE_MESSAGES'] = 'Личные сообщения'; +$lang['WHOSONLINE'] = 'Кто сейчас на форуме'; + +$lang['MARK_ALL_FORUMS_READ'] = 'Отметить все форумы как прочтенные'; +$lang['FORUMS_MARKED_READ'] = 'Все форумы были отмечены как прочтенные'; + +$lang['LATEST_NEWS'] = 'Новости трекера'; +$lang['NETWORK_NEWS'] = 'Новости в сети'; +$lang['SUBFORUMS'] = 'Подфорумы'; + +// +// Viewforum +// +$lang['VIEW_FORUM'] = 'Просмотр форума'; + +$lang['FORUM_NOT_EXIST'] = 'Форума, который вы выбрали, не существует'; +$lang['REACHED_ON_ERROR'] = 'Вы попали на эту страницу из-за ошибки'; +$lang['ERROR_PORNO_FORUM'] = 'Данный тип форумов (18+) скрыт вами в профиле'; + +$lang['DISPLAY_TOPICS'] = 'Показать'; +$lang['ALL_TOPICS'] = 'все темы'; +$lang['MODERATE_FORUM'] = 'Модерировать этот форум'; +$lang['TITLE_SEARCH_HINT'] = 'поиск по названию…'; + +$lang['TOPIC_ANNOUNCEMENT'] = 'Объявление:'; +$lang['TOPIC_STICKY'] = 'Прилеплена:'; +$lang['TOPIC_MOVED'] = 'Перемещена:'; +$lang['TOPIC_POLL'] = '[ Опрос ]'; + +$lang['MARK_TOPICS_READ'] = 'Отметить все темы как прочтенные'; +$lang['TOPICS_MARKED_READ'] = 'Все темы в этом форуме были отмечены как прочтенные'; + +$lang['RULES_POST_CAN'] = 'Вы можете начинать темы'; +$lang['RULES_POST_CANNOT'] = 'Вы не можете начинать темы'; +$lang['RULES_REPLY_CAN'] = 'Вы можете отвечать на сообщения'; +$lang['RULES_REPLY_CANNOT'] = 'Вы не можете отвечать на сообщения'; +$lang['RULES_EDIT_CAN'] = 'Вы можете редактировать свои сообщения'; +$lang['RULES_EDIT_CANNOT'] = 'Вы не можете редактировать свои сообщения'; +$lang['RULES_DELETE_CAN'] = 'Вы можете удалять свои сообщения'; +$lang['RULES_DELETE_CANNOT'] = 'Вы не можете удалять свои сообщения'; +$lang['RULES_VOTE_CAN'] = 'Вы можете голосовать в опросах'; +$lang['RULES_VOTE_CANNOT'] = 'Вы не можете голосовать в опросах'; +$lang['RULES_MODERATE'] = 'Вы можете модерировать этот форум'; + +$lang['NO_TOPICS_POST_ONE'] = 'В этом форуме пока нет сообщений
    Кликните Начать новую тему, и ваше сообщение станет первым.'; + +// +// Viewtopic +// +$lang['VIEW_TOPIC'] = 'Просмотр темы'; + +$lang['GUEST'] = 'Гость'; +$lang['POST_SUBJECT'] = 'Заголовок сообщения'; +$lang['SUBMIT_VOTE'] = 'Проголосовать'; +$lang['VIEW_RESULTS'] = 'Результаты'; + +$lang['NO_NEWER_TOPICS'] = 'В этом форуме нет более новых тем'; +$lang['NO_OLDER_TOPICS'] = 'В этом форуме нет более старых тем'; +$lang['TOPIC_POST_NOT_EXIST'] = 'Темы, которую вы запросили, не существует.'; +$lang['NO_POSTS_TOPIC'] = 'В этой теме нет сообщений'; + +$lang['DISPLAY_POSTS'] = 'Показать сообщения'; +$lang['ALL_POSTS'] = 'все сообщения'; +$lang['NEWEST_FIRST'] = 'Начиная с новых'; +$lang['OLDEST_FIRST'] = 'Начиная со старых'; + +$lang['BACK_TO_TOP'] = 'Вернуться к началу'; + +$lang['READ_PROFILE'] = 'Посмотреть профиль'; +$lang['VISIT_WEBSITE'] = 'Посетить сайт автора'; +$lang['VIEW_IP'] = 'Показать IP адрес автора'; +$lang['MODERATE_POST'] = 'Модерировать сообщения'; +$lang['DELETE_POST'] = 'Удалить это сообщение'; + +$lang['WROTE'] = 'писал(а)'; // proceeds the username and is followed by the quoted text +$lang['QUOTE'] = 'Цитата'; // comes before bbcode quote output +$lang['CODE'] = 'Код'; // comes before bbcode code output +$lang['SPOILER_HEAD'] = 'Скрытый текст'; +$lang['SPOILER_CLOSE'] = 'Свернуть'; +$lang['PLAY_ON_CURPAGE'] = 'Начать проигрывание на текущей странице'; + +$lang['EDITED_TIME_TOTAL'] = 'Последний раз редактировалось: %s (%s), всего редактировалось %d раз'; // Last edited by me on 12 Oct 2001, edited 1 time in total +$lang['EDITED_TIMES_TOTAL'] = 'Последний раз редактировалось: %s (%s), всего редактировалось %d раз(а)'; // Last edited by me on 12 Oct 2001, edited 2 times in total + +$lang['LOCK_TOPIC'] = 'Закрыть тему'; +$lang['UNLOCK_TOPIC'] = 'Вновь открыть тему'; +$lang['MOVE_TOPIC'] = 'Перенести тему'; +$lang['DELETE_TOPIC'] = 'Удалить тему'; +$lang['SPLIT_TOPIC'] = 'Разделить тему'; + +$lang['STOP_WATCHING_TOPIC'] = 'Перестать следить за ответами'; +$lang['START_WATCHING_TOPIC'] = 'Следить за ответами в теме'; +$lang['NO_LONGER_WATCHING'] = 'Вы больше не следите за ответами в этой теме'; +$lang['YOU_ARE_WATCHING'] = 'Теперь вы следите за ответами в этой теме'; + +$lang['TOTAL_VOTES'] = 'Всего проголосовало'; +$lang['SEARCH_IN_TOPIC'] = 'Искать в теме…'; +$lang['HIDE_IN_TOPIC'] = 'Не показывать'; + +$lang['SHOW'] = 'Показывать'; +$lang['AVATARS'] = 'Аватары'; +$lang['RANK_IMAGES'] = 'Картинки званий'; +$lang['POST_IMAGES'] = 'Картинки в сообщениях'; +$lang['SIGNATURES'] = 'Подписи'; +$lang['SPOILER'] = 'Спойлер'; +$lang['SHOW_OPENED'] = 'Спойлер открытым'; +$lang['DOWNLOAD_PIC'] = 'Загружаемые картинки'; + +$lang['MODERATE_TOPIC'] = 'Модерировать этот топик'; +$lang['SELECT_POSTS_PER_PAGE'] = 'сообщ. на страницу'; + +// +// Posting/Replying (Not private messaging!) +// +$lang['TOPIC_REVIEW'] = 'Обзор темы'; + +$lang['NO_POST_MODE'] = 'Не указан режим сообщения'; + +$lang['POST_A_NEW_TOPIC'] = 'Начать новую тему'; +$lang['POST_A_REPLY'] = 'Ответить'; +$lang['POST_TOPIC_AS'] = 'Статус создаваемой темы'; +$lang['EDIT_POST'] = 'Редактировать сообщение'; +$lang['EDIT_TOPIC_TITLE'] = 'Изменить название темы'; +$lang['EDIT_POST_NOT_1'] = 'Вам запрещено '; +$lang['EDIT_POST_NOT_2'] = 'Вы не можете '; +$lang['EDIT_POST_AJAX'] = 'редактировать сообщение со статусом'; +$lang['AFTER_THE_LAPSE'] = 'по прошествии '; + +$lang['DONT_MESSAGE_TITLE'] = 'Вы не указали заголовок сообщения'; +$lang['INVALID_TOPIC_ID'] = 'Топик отсутствует!'; +$lang['INVALID_TOPIC_ID_DB'] = 'Топик отсутствует в базе данных!'; + +$lang['NOT_POST'] = 'Сообщение отсутствует'; +$lang['NOT_EDIT_TOR_STATUS'] = 'Вы не можете редактировать раздачу со статусом'; +$lang['TOR_STATUS_DAYS'] = 'дней'; + +$lang['OPTIONS'] = 'Настройки'; + +$lang['POST_ANNOUNCEMENT'] = 'Объявление'; +$lang['POST_STICKY'] = 'Прилепленная'; +$lang['POST_NORMAL'] = 'Обычная'; +$lang['POST_DOWNLOAD'] = 'Скачиваемая'; + +$lang['CONFIRM_DELETE'] = 'Вы уверены, что хотите удалить это сообщение?'; +$lang['CONFIRM_DELETE_POLL'] = 'Вы уверены, что хотите удалить этот опрос?'; + +$lang['FLOOD_ERROR'] = 'Вы не можете отправить следующее сообщение сразу после предыдущего. Пожалуйста, попробуйте чуть попозже.'; +$lang['EMPTY_SUBJECT'] = 'Вы должны указать заголовок сообщения, когда начинаете новую тему'; +$lang['EMPTY_MESSAGE'] = 'Вы должны ввести текст сообщения'; +$lang['FORUM_LOCKED'] = 'Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.'; +$lang['TOPIC_LOCKED'] = 'Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.'; +$lang['TOPIC_LOCKED_SHORT'] = 'Тема закрыта'; +$lang['NO_POST_ID'] = 'Вы должны выбрать сообщение для редактирования'; +$lang['NO_TOPIC_ID'] = 'Вы должны выбрать тему для ответа'; +$lang['NO_VALID_MODE'] = 'Вы можете только создавать темы, отвечать и редактировать сообщения. Вернитесь и попробуйте еще раз.'; +$lang['NO_SUCH_POST'] = 'Сообщение отсутствует. Вернитесь и попробуйте еще раз.'; +$lang['EDIT_OWN_POSTS'] = 'Извините, вы можете редактировать только ваши собственные сообщения'; +$lang['DELETE_OWN_POSTS'] = 'Извините, вы можете удалять только ваши собственные сообщения'; +$lang['CANNOT_DELETE_REPLIED'] = 'Извините, вы не можете удалить сообщение, на которое были получены ответы'; +$lang['CANNOT_DELETE_POLL'] = 'Извините, вы не можете удалить активный опрос'; +$lang['EMPTY_POLL_TITLE'] = 'Вы должны ввести заголовок для опроса'; +$lang['TO_FEW_POLL_OPTIONS'] = 'Вы должны ввести не менее двух вариантов ответа'; +$lang['TO_MANY_POLL_OPTIONS'] = 'Вы попытались ввести слишком много вариантов ответа'; +$lang['POST_HAS_NO_POLL'] = 'В этом сообщении нет опроса'; +$lang['ALREADY_VOTED'] = 'Вы уже голосовали в этом опросе'; +$lang['NO_VOTE_OPTION'] = 'Вы должны указать вариант ответа при голосовании'; +$lang['LOCKED_WARN'] = 'Вы отправили сообщение в закрытый топик!'; + +$lang['ADD_POLL'] = 'Добавить опрос'; +$lang['ADD_POLL_EXPLAIN'] = 'Если вы не хотите добавлять опрос к вашему сообщению, оставьте поля пустыми'; +$lang['POLL_QUESTION'] = 'Вопрос'; +$lang['POLL_OPTION'] = 'Вариант ответа'; +$lang['ADD_OPTION'] = 'Добавить еще вариант'; +$lang['UPDATE'] = 'Обновить'; +$lang['POLL_FOR'] = 'Опрос должен идти'; +$lang['DAYS'] = 'Дней'; +$lang['POLL_FOR_EXPLAIN'] = '[ оставьте поле пустым, чтобы опрос не кончался ]'; +$lang['DELETE_POLL'] = 'Удалить опрос'; + +$lang['MAX_SMILIES_PER_POST'] = 'Лимит в %s смайликов в сообщении превышен.'; + +$lang['ATTACH_SIGNATURE'] = 'Присоединить подпись (можно изменять в профиле)'; +$lang['NOTIFY'] = 'Сообщать мне о получении ответа'; + +$lang['STORED'] = 'Сообщение было успешно добавлено'; +$lang['EDITED'] = 'Сообщение было успешно изменено'; +$lang['DELETED'] = 'Cообщение было успешно удалено'; +$lang['POLL_DELETE'] = 'Ваш опрос был успешно удален'; +$lang['VOTE_CAST'] = 'Ваш голос был учтен'; + +$lang['TOPIC_REPLY_NOTIFICATION'] = 'Уведомление об ответе в теме'; +$lang['EMOTICONS'] = 'Смайлики'; +$lang['MORE_EMOTICONS'] = 'Дополнительные смайлики'; + +$lang['FONT_COLOR'] = 'Цвет'; +$lang['COLOR_DEFAULT'] = 'По умолчанию'; +$lang['COLOR_DARK_RED'] = 'Темно-красный'; +$lang['COLOR_RED'] = 'Красный'; +$lang['COLOR_ORANGE'] = 'Оранжевый'; +$lang['COLOR_BROWN'] = 'Коричневый'; +$lang['COLOR_YELLOW'] = 'Желтый'; +$lang['COLOR_GREEN'] = 'Зеленый'; +$lang['COLOR_OLIVE'] = 'Оливковый'; +$lang['COLOR_CYAN'] = 'Голубой'; +$lang['COLOR_BLUE'] = 'Синий'; +$lang['COLOR_DARK_BLUE'] = 'Темно-синий'; +$lang['COLOR_INDIGO'] = 'Индиго'; +$lang['COLOR_VIOLET'] = 'Фиолетовый'; +$lang['COLOR_WHITE'] = 'Белый'; +$lang['COLOR_BLACK'] = 'Черный'; + +$lang['FONT_SIZE'] = 'Размер'; +$lang['FONT_TINY'] = 'Очень маленький'; +$lang['FONT_SMALL'] = 'Маленький'; +$lang['FONT_NORMAL'] = 'Обычный'; +$lang['FONT_LARGE'] = 'Большой'; +$lang['FONT_HUGE'] = 'Огромный'; + +$lang['STYLES_TIP'] = 'Подсказка: можно быстро применить стили к выделенному тексту'; + +$lang['NEW_POSTS_PREVIEW'] = 'В топике есть новые, измененные или непрочитанные сообщения'; + +// +// Private Messaging +// +$lang['PRIVATE_MESSAGING'] = 'Личные сообщения'; + +$lang['NO_NEW_PM'] = 'новых нет'; + +$lang['NEW_PMS_FORMAT'] = '%1$s %2$s'; // 1 новое сообщ. +$lang['NEW_PMS_DECLENSION'] = array('новое сообщение', 'новых сообщений'); + +$lang['UNREAD_PMS_FORMAT'] = '%1$s %2$s'; // 1 непрочитанное +$lang['UNREAD_PMS_DECLENSION'] = array('непрочитанное', 'непрочитанных'); + +$lang['UNREAD_MESSAGE'] = 'Непрочитанное сообщение'; +$lang['READ_MESSAGE'] = 'Прочитанное сообщение'; + +$lang['READ_PM'] = 'Прочитать сообщение'; +$lang['POST_NEW_PM'] = 'Написать новое сообщение'; +$lang['POST_REPLY_PM'] = 'Ответить на сообщение'; +$lang['POST_QUOTE_PM'] = 'Ответить с цитатой'; +$lang['EDIT_PM'] = 'Редактировать сообщение'; + +$lang['INBOX'] = 'Входящие'; +$lang['OUTBOX'] = 'Исходящие'; +$lang['SAVEBOX'] = 'Сохраненные'; +$lang['SENTBOX'] = 'Отправленные'; +$lang['FLAG'] = 'Флаг'; +$lang['SUBJECT'] = 'Тема'; +$lang['FROM'] = 'От'; +$lang['TO'] = 'Кому'; +$lang['DATE'] = 'Дата'; +$lang['MARK'] = 'Отметка'; +$lang['SENT'] = 'Отправлено'; +$lang['SAVED'] = 'Сохранено'; +$lang['DELETE_MARKED'] = 'Удалить отмеченное'; +$lang['DELETE_ALL'] = 'Удалить все'; +$lang['SAVE_MARKED'] = 'Сохранить отмеченное'; +$lang['SAVE_MESSAGE'] = 'Сохранить сообщение'; +$lang['DELETE_MESSAGE'] = 'Удалить сообщение'; + +$lang['DISPLAY_MESSAGES'] = 'Показать сообщения'; // Followed by number of days/weeks/months +$lang['ALL_MESSAGES'] = 'Все сообщения'; + +$lang['NO_MESSAGES_FOLDER'] = 'В этой папке нет сообщений'; + +$lang['PM_DISABLED'] = 'Возможность отправки личных сообщений на этих форумах была отключена'; +$lang['CANNOT_SEND_PRIVMSG'] = 'Извините, вам запрещено отправлять личные сообщения'; +$lang['NO_TO_USER'] = 'Вы должны указать имя получателя этого сообщения'; +$lang['NO_SUCH_USER'] = 'Извините, такого пользователя не существует'; + +$lang['DISABLE_BBCODE_PM'] = 'Отключить BBCode'; +$lang['DISABLE_SMILIES_PM'] = 'Отключить смайлики'; + +$lang['MESSAGE_SENT'] = 'Ваше сообщение было отправлено'; + +$lang['CLICK_RETURN_INBOX'] = 'Перейти в папку:

    %sВходящие%s'; +$lang['CLICK_RETURN_SENTBOX'] = '   %sОтправленные%s'; +$lang['CLICK_RETURN_OUTBOX'] = '   %sИсходящие%s'; +$lang['CLICK_RETURN_SAVEBOX'] = '   %sСохраненные%s'; +$lang['CLICK_RETURN_INDEX'] = '%sВернуться к списку форумов%s'; + +$lang['SEND_A_NEW_MESSAGE'] = 'Отправить личное сообщение'; +$lang['SEND_A_REPLY'] = 'Ответить на личное сообщение'; +$lang['EDIT_MESSAGE'] = 'Редактировать личное сообщение'; + +$lang['NOTIFICATION_SUBJECT'] = 'Вам пришло новое личное сообщение'; + +$lang['FIND_USERNAME'] = 'Найти пользователя'; +$lang['SELECT_USERNAME'] = 'Выберите пользователя'; +$lang['FIND'] = 'Найти'; +$lang['NO_MATCH'] = 'Не найдено'; + +$lang['NO_PM_ID'] = 'Не указан ID'; +$lang['NO_SUCH_FOLDER'] = 'Такой папки нет'; +$lang['NO_FOLDER'] = 'Не указана папка'; + +$lang['MARK_ALL'] = 'Выделить все'; +$lang['UNMARK_ALL'] = 'Снять выделение'; + +$lang['CONFIRM_DELETE_PM'] = 'Вы уверены, что хотите удалить это сообщение?'; +$lang['CONFIRM_DELETE_PMS'] = 'Вы уверены, что хотите удалить эти сообщения?'; + +$lang['INBOX_SIZE'] = 'Ваша папка «Входящие»
    заполнена на %d%%'; // eg. Your Inbox is 50% full +$lang['SENTBOX_SIZE'] = 'Ваша папка «Отправленные»
    заполнена на %d%%'; +$lang['SAVEBOX_SIZE'] = 'Ваша папка «Сохраненные»
    заполнена на %d%%'; + +$lang['CLICK_VIEW_PRIVMSG'] = '%sПерейти в папку «Входящие»%s'; + +$lang['OUTBOX_EXPL'] = 'В папке Исходящие находятся отправленные, но еще не прочтенные получателем сообщения. В Отправленные они попадают только после того, как получатель их прочтет. Сообщения, находящиеся в папке Исходящие, можно отредактировать или удалить.'; + +// +// Profiles/Registration +// +$lang['VIEWING_USER_PROFILE'] = 'Профиль пользователя %s'; +$lang['VIEWING_MY_PROFILE'] = 'Мой профиль [ Настройки / Изменить профиль ]'; + +$lang['DISABLED_USER'] = 'Пользователь деактивирован'; +$lang['MANAGE_USER'] = 'Администрирование'; + +$lang['PREFERENCES'] = 'Личные настройки'; +$lang['ITEMS_REQUIRED'] = 'Поля, отмеченные *, обязательны к заполнению, если не указано обратное'; +$lang['REGISTRATION_INFO'] = 'Регистрационная информация'; +$lang['PROFILE_INFO'] = 'Профиль'; +$lang['PROFILE_INFO_WARN'] = 'Эта информация будет в открытом доступе'; +$lang['AVATAR_PANEL'] = 'Управление аватарой'; + +$lang['WEBSITE'] = 'Сайт'; +$lang['LOCATION'] = 'Откуда'; +$lang['CONTACT'] = 'Как связаться с'; // Как связаться с Vasya_Poopkin +$lang['EMAIL_ADDRESS'] = 'Адрес e-mail'; +$lang['SEND_PRIVATE_MESSAGE'] = 'Отправить ЛС'; +$lang['HIDDEN_EMAIL'] = '[ скрыт ]'; +$lang['INTERESTS'] = 'Интересы'; +$lang['OCCUPATION'] = 'Род занятий'; +$lang['POSTER_RANK'] = 'Звание'; +$lang['AWARDED_RANK'] = 'Присвоено звание'; +$lang['SHOT_RANK'] = 'Звание снято'; + +$lang['TOTAL_POSTS'] = 'Всего сообщений'; +$lang['SEARCH_USER_POSTS'] = 'Найти сообщения'; // Find all posts by username +$lang['SEARCH_USER_POSTS_SHORT'] = 'Найти сообщения пользователя'; +$lang['SEARCH_USER_TOPICS'] = 'Начатые темы'; // Find all topics by username + +$lang['NO_USER_ID_SPECIFIED'] = 'Извините, такого пользователя не существует'; +$lang['WRONG_PROFILE'] = 'Вы не можете редактировать чужой профиль.'; + +$lang['ONLY_ONE_AVATAR'] = 'Может быть указан только один тип аватары'; +$lang['FILE_NO_DATA'] = 'Файл по указанному вами URL не содержит данных'; +$lang['NO_CONNECTION_URL'] = 'Невозможно установить соединения с указанным вами URL'; +$lang['INCOMPLETE_URL'] = 'Вы указали неполный URL'; +$lang['NO_SEND_ACCOUNT_INACTIVE'] = 'Извините, но пароль не может быть выслан (учетная запись неактивна)'; +$lang['NO_SEND_ACCOUNT'] = 'Извините, но пароль для этого пользователя не может быть выслан. Обратитесь к администраторам форума за дополнительной информацией'; + +$lang['ALWAYS_ADD_SIG'] = 'Всегда присоединять мою подпись'; +$lang['HIDE_PORN_FORUMS'] = 'Скрыть контент 18+'; +$lang['ALWAYS_NOTIFY'] = 'Всегда сообщать мне об ответах'; +$lang['ALWAYS_NOTIFY_EXPLAIN'] = 'Когда кто-нибудь ответит на тему, в которую вы писали, вам высылается e-mail. Это можно также настроить при размещении сообщения.'; + +$lang['BOARD_LANG'] = 'Язык'; +$lang['GENDER'] = 'Пол'; +$lang['GENDER_SELECT'] = array( + 0 => 'Не указан', + 1 => 'Мужской', + 2 => 'Женский' +); +$lang['MODULE_OFF'] = 'Модуль отключен!'; + +$lang['BIRTHDAY'] = 'День рождения'; +$lang['HAPPY_BIRTHDAY'] = 'С Днем Рождения!'; +$lang['WRONG_BIRTHDAY_FORMAT'] = 'Дата рождения указана неверно'; +$lang['AGE'] = 'Возраст'; +$lang['BIRTHDAY_TO_HIGH'] = 'Извините, сайт запрещено посещать пользователям старше %d лет'; +$lang['BIRTHDAY_TO_LOW'] = 'Извините, сайт запрещено посещать детям младше %d лет'; +$lang['BIRTHDAY_TODAY'] = 'Пользователи, празднующие День Рождения сегодня: '; +$lang['BIRTHDAY_WEEK'] = 'Пользователи, празднующие День Рождения в ближайшие %d дней: %s'; +$lang['NOBIRTHDAY_WEEK'] = 'В ближайшие %d дней никто не празднует День Рождения.'; // %d is substitude with the number of days +$lang['NOBIRTHDAY_TODAY'] = 'Сегодня никто не празднует День Рождения.'; +$lang['BIRTHDAY_ENABLE'] = 'Показывать дни рождения'; +$lang['BIRTHDAY_MAX_AGE'] = 'Максимальный возраст'; +$lang['BIRTHDAY_MIN_AGE'] = 'Минимальный возраст'; +$lang['BIRTHDAY_CHECK_DAY'] = 'Показывать ближайшие дни рождения за'; +$lang['YEARS'] = 'Лет'; + +$lang['NO_THEMES'] = 'В базе нет цветовых схем'; +$lang['TIMEZONE'] = 'Часовой пояс'; +$lang['DATE_FORMAT_PROFILE'] = 'Формат даты'; +$lang['DATE_FORMAT_EXPLAIN'] = 'Синтаксис идентичен функции date() языка PHP'; +$lang['SIGNATURE'] = 'Подпись'; +$lang['SIGNATURE_EXPLAIN'] = 'Это текст, который можно добавлять к размещаемым вами сообщениям. Длина его ограничена %d символами.'; +$lang['SIGNATURE_DISABLE'] = 'Подпись отключена за нарушение правил форума'; +$lang['PUBLIC_VIEW_EMAIL'] = 'Показывать мой адрес e-mail в профиле'; + +$lang['EMAIL_EXPLAIN'] = 'На этот адрес вам будет отправлено письмо для завершения регистрации'; + +$lang['CURRENT_PASSWORD'] = 'Текущий пароль'; +$lang['NEW_PASSWORD'] = "Новый пароль"; +$lang['CONFIRM_PASSWORD'] = 'Подтвердите пароль'; +$lang['CONFIRM_PASSWORD_EXPLAIN'] = 'Вы должны указать ваш текущий пароль, если хотите изменить его или поменять свой email.'; +$lang['PASSWORD_IF_CHANGED'] = 'Указывайте пароль только если вы хотите его поменять'; +$lang['PASSWORD_CONFIRM_IF_CHANGED'] = 'Подтверждать пароль нужно в том случае, если вы изменили его выше.'; + +$lang['AUTOLOGIN'] = 'Автовход'; +$lang['RESET_AUTOLOGIN'] = 'Удалить ключ автоматического входа на форум'; +$lang['RESET_AUTOLOGIN_EXPL'] = 'включая все места, где вы заходили на форум с включенным авто-входом'; + +$lang['AVATAR'] = 'Аватара'; +$lang['AVATAR_EXPLAIN'] = 'Показывает небольшое изображение под информацией о вас в сообщениях. Может быть показано только одно изображение, шириной не более %d пикселов, высотой не более %d пикселов и объемом не более %d кб.'; +$lang['UPLOAD_AVATAR_FILE'] = 'Загрузить аватару'; + +$lang['SELECT_AVATAR'] = 'Выберите аватару'; +$lang['RETURN_PROFILE'] = 'Вернуться к профилю'; +$lang['SELECT_CATEGORY'] = 'Выберите категорию'; + +$lang['DELETE_IMAGE'] = 'Удалить изображение'; +$lang['CURRENT_IMAGE'] = 'Текущее изображение'; + +$lang['NOTIFY_ON_PRIVMSG'] = 'Уведомлять о новых личных сообщениях'; +$lang['HIDE_USER'] = 'Скрывать ваше пребывание на форуме'; +$lang['HIDDEN_USER'] = 'Скрыто пользователем'; + +$lang['PROFILE_UPDATED'] = 'Ваш профиль был изменен'; +$lang['PROFILE_UPDATED_INACTIVE'] = 'Ваш профиль был изменен, но вы изменили важные данные, так что теперь ваша учетная запись неактивна. Проверьте ваш почтовый ящик, чтобы узнать как вновь активировать учетную запись или, если требуется одобрение администратора, подождите, пока это сделает администратор.'; + +$lang['PASSWORD_MISMATCH'] = 'Введенные пароли не совпадают'; +$lang['CURRENT_PASSWORD_MISMATCH'] = 'Введенный вами пароль не совпадает с паролем из базы'; +$lang['PASSWORD_LONG'] = 'Ваш пароль должен быть не длиннее 20 символов'; +$lang['TOO_MANY_REGISTERS'] = 'Вы исчерпали предельное количество попыток регистрации для данной сессии. Пожалуйста, повторите попытку позднее.'; +$lang['USERNAME_TAKEN'] = 'Извините, пользователь с таким именем уже существует'; +$lang['USERNAME_INVALID'] = 'Извините, это имя содержит неподходящие символы'; +$lang['USERNAME_DISALLOWED'] = 'Извините, это имя было запрещено к использованию'; +$lang['USERNAME_TOO_LONG'] = 'Слишком длинное имя'; +$lang['USERNAME_TOO_SMALL'] = 'Слишком короткое имя'; +$lang['EMAIL_TAKEN'] = 'Извините, этот e-mail адрес уже занят другим пользователем'; +$lang['EMAIL_BANNED'] = 'Извините, адрес %s находится в черном списке'; +$lang['EMAIL_INVALID'] = 'Извините, но этот e-mail адрес неправилен'; +$lang['EMAIL_TOO_LONG'] = 'Слишком длинный email адрес'; +$lang['SIGNATURE_TOO_LONG'] = 'Слишком длинная подпись'; +$lang['SIGNATURE_ERROR_HTML'] = 'Подпись может содержать только BBCode'; +$lang['FIELDS_EMPTY'] = 'Вы должны заполнить обязательные поля'; +$lang['AVATAR_FILETYPE'] = 'Файл аватары должен быть .jpg, .gif или .png'; +$lang['AVATAR_FILESIZE'] = 'Объем файла аватары должен быть не более %d кб'; +$lang['AVATAR_IMAGESIZE'] = 'Аватара должна быть не больше %d пикселов в ширину и %d пикселов в высоту'; +$lang['AVATAR_DISABLE'] = 'Запрещено показывать аватар'; + +$lang['WELCOME_SUBJECT'] = 'Добро пожаловать на сайт %s'; +$lang['NEW_ACCOUNT_SUBJECT'] = 'Новый пользователь'; +$lang['ACCOUNT_ACTIVATED_SUBJECT'] = 'Учетная запись активирована'; + +$lang['ACCOUNT_ADDED'] = 'Спасибо за регистрацию, учетная запись была создана. Вы можете войти в систему, используя ваше имя и пароль.'; +$lang['ACCOUNT_INACTIVE'] = 'Учетная запись была создана. На этом форуме требуется активация учетной записи, ключ для активации был выслан на введенный вами адрес. Проверьте свою почту для более подробной информации.'; +$lang['ACCOUNT_ACTIVE'] = 'Ваша учетная запись была активирована. Спасибо за регистрацию'; +$lang['REACTIVATE'] = 'Вновь активировать учетную запись'; +$lang['ALREADY_ACTIVATED'] = 'Вы уже активировали свою учетную запись'; + +$lang['REGISTRATION'] = 'Условия регистрации'; + +$lang['WRONG_ACTIVATION'] = 'Введенный вами ключ активации не совпадает с хранящимся в базе'; +$lang['SEND_PASSWORD'] = 'Выслать новый пароль'; +$lang['PASSWORD_UPDATED'] = 'Новый пароль был создан, проверьте почтовый ящик, чтобы узнать как его активировать'; +$lang['NO_EMAIL_MATCH'] = 'Введенный вами адрес e-mail не совпадает с записанным на этого пользователя'; +$lang['NEW_PASSWORD_ACTIVATION'] = 'Активация нового пароля'; +$lang['PASSWORD_ACTIVATED'] = 'Ваша учетная запись была вновь активирована. Для входа в систему используйте пароль из присланного вам письма.'; + +$lang['SEND_EMAIL_MSG'] = 'Отправить e-mail'; +$lang['NO_USER_SPECIFIED'] = 'Пользователь не был выбран'; +$lang['USER_PREVENT_EMAIL'] = 'Пользователь не желает получать e-mail. Попробуйте отправить ему/ей личное сообщение'; +$lang['USER_NOT_EXIST'] = 'Пользователя не существует'; +$lang['EMAIL_MESSAGE_DESC'] = 'Сообщение будет отправлено в виде простого текста, не включайте в него HTML или BBCode. В качестве обратного адреса будет показываться ваш e-mail адрес.'; +$lang['FLOOD_EMAIL_LIMIT'] = 'Вы не можете отправить еще один e-mail сразу после предыдущего, повторите запрос позднее.'; +$lang['RECIPIENT'] = 'Получатель'; +$lang['EMAIL_SENT'] = 'Сообщение было отправлено'; +$lang['SEND_EMAIL'] = 'Отправить e-mail'; +$lang['EMPTY_SUBJECT_EMAIL'] = 'Вы должны указать тему сообщения'; +$lang['EMPTY_MESSAGE_EMAIL'] = 'Вы должны указать текст сообщения для отправки'; + +$lang['USER_AGREEMENT'] = 'Пользовательское соглашение'; +$lang['USER_AGREEMENT_HEAD'] = 'Для продолжения регистрации вы должны принять наше ПОЛЬЗОВАТЕЛЬСКОЕ СОГЛАШЕНИЕ'; +$lang['USER_AGREEMENT_AGREE'] = 'Я прочел ПОЛЬЗОВАТЕЛЬСКОЕ СОГЛАШЕНИЕ и обязуюсь его не нарушать'; + +$lang['COPYRIGHT_HOLDERS'] = 'Для правообладателей'; +$lang['ADVERT'] = 'Реклама на сайте'; + +// +// Visual confirmation system strings +// +$lang['CONFIRM_CODE_WRONG'] = 'Вы ввели неверный код подтверждения'; +$lang['CONFIRM_CODE_IMPAIRED'] = 'Если у вас плохое зрение или вы не можете прочесть этот код по какой-то другой причине, то обратитесь за помощью к %sАдминистратору%s.'; +$lang['CONFIRM_CODE'] = 'Код подтверждения'; +$lang['CONFIRM_CODE_EXPLAIN'] = 'Введите код в точности так, как вы его видите. Код является регистро-зависимым, а символ нуля имеет косую линию внутри цифры.'; + +// +// Memberslist +// +$lang['SORT'] = 'Упорядочить'; +$lang['SORT_TOP_TEN'] = 'десять самых активных участников'; +$lang['SORT_JOINED'] = 'по дате регистрации'; +$lang['SORT_USERNAME'] = 'по имени пользователя'; +$lang['SORT_LOCATION'] = 'по местонахождению'; +$lang['SORT_POSTS'] = 'по количеству сообщений'; +$lang['SORT_EMAIL'] = 'по адресу e-mail'; +$lang['SORT_WEBSITE'] = 'по адресу сайта'; +$lang['ASC'] = 'по возрастанию'; +$lang['DESC'] = 'по убыванию'; +$lang['ORDER'] = ''; // не нужно, в английском используется в контексте 'Order ascending'; + +// +// Group control panel +// +$lang['GROUP_CONTROL_PANEL'] = 'Группы'; +$lang['MEMBERSHIP_DETAILS'] = 'Информация о членстве в группах'; +$lang['JOIN_A_GROUP'] = 'Вступить в группу'; + +$lang['GROUP_INFORMATION'] = 'Информация о группе'; +$lang['GROUP_NAME'] = 'Название группы'; +$lang['GROUP_DESCRIPTION'] = 'Описание группы'; +$lang['GROUP_MEMBERSHIP'] = 'Членство в группе'; +$lang['GROUP_MEMBERS'] = 'Члены группы'; +$lang['GROUP_MODERATOR'] = 'Модератор группы'; +$lang['PENDING_MEMBERS'] = 'Кандидаты в члены группы'; + +$lang['GROUP_TYPE'] = 'Тип группы'; +$lang['GROUP_OPEN'] = 'Группа с открытым членством'; +$lang['GROUP_CLOSED'] = 'Группа с закрытым членством'; +$lang['GROUP_HIDDEN'] = 'Скрытая группа'; + +$lang['GROUP_MEMBER_MOD'] = 'Являетесь модератором групп'; +$lang['GROUP_MEMBER_MEMBER'] = 'Являетесь членом групп'; +$lang['GROUP_MEMBER_PENDING'] = 'Кандидат в члены групп'; +$lang['GROUP_MEMBER_OPEN'] = 'Группы с открытым членством'; +$lang['GROUP_MEMBER_CLOSED'] = 'Группы с закрытым членством'; +$lang['GROUP_MEMBER_HIDDEN'] = 'Скрытые группы'; + +$lang['NO_GROUPS_EXIST'] = 'Нет ни одной группы'; +$lang['GROUP_NOT_EXIST'] = 'Такой группы не существует'; + +$lang['NO_GROUP_MEMBERS'] = 'В этой группе нет ни одного члена'; +$lang['HIDDEN_GROUP_MEMBERS'] = 'Эта группа скрыта, вы не можете посмотреть ее состав'; +$lang['NO_PENDING_GROUP_MEMBERS'] = 'В этой группе нет кандидатов в члены'; +$lang['GROUP_JOINED'] = 'Вы попросили о вступлении в группу. Когда вашу просьбу одобрит модератор группы, вам будет прислано уведомление.'; +$lang['GROUP_REQUEST'] = 'Было подана просьба о вступлении в группу.'; +$lang['GROUP_APPROVED'] = 'Ваша просьба была удовлетворена.'; +$lang['GROUP_ADDED'] = 'Вы были включены в группу'; +$lang['ALREADY_MEMBER_GROUP'] = 'Вы уже являетесь членом этой группы'; +$lang['USER_IS_MEMBER_GROUP'] = 'Пользователь уже является членом этой группы'; +$lang['GROUP_TYPE_UPDATED'] = 'Тип группы успешно изменен'; +$lang['EFFECTIVE_DATE'] = 'Дата вступления'; + +$lang['COULD_NOT_ADD_USER'] = 'Выбранного пользователя не существует'; +$lang['COULD_NOT_ANON_USER'] = 'Вы не можете сделать анонимного пользователя членом группы'; + +$lang['CONFIRM_UNSUB'] = 'Вы уверены, что хотите выйти из этой группы?'; +$lang['CONFIRM_UNSUB_PENDING'] = 'Вы уверены, что хотите отказаться от участия в этой группе? Ваша просьба о вступлении не была рассмотрена!'; + +$lang['UNSUB_SUCCESS'] = 'Вы успешно покинули эту группу.'; + +$lang['APPROVE_SELECTED'] = 'Одобрить выделенное'; +$lang['DENY_SELECTED'] = 'Отклонить выделенное'; +$lang['NOT_LOGGED_IN'] = 'Вы должны войти в систему, прежде чем вступать в группу.'; +$lang['REMOVE_SELECTED'] = 'Удалить выделенное'; +$lang['ADD_MEMBER'] = 'Добавить члена группы'; +$lang['NOT_GROUP_MODERATOR'] = 'Вы не являетесь модератором группы и не можете выполнить данное действие'; + +$lang['LOGIN_TO_JOIN'] = 'Войдите в систему, чтобы менять свое членство в группах'; +$lang['THIS_OPEN_GROUP'] = 'Это группа с открытым членством, вы можете подать просьбу о вступлении'; +$lang['THIS_CLOSED_GROUP'] = 'Это группа с закрытым членством, новые пользователи не принимаются'; +$lang['THIS_HIDDEN_GROUP'] = 'Это скрытая группа, автоматическое добавление пользователей не разрешается'; +$lang['MEMBER_THIS_GROUP'] = 'Вы член этой группы'; +$lang['PENDING_THIS_GROUP'] = 'Вы кандидат в члены этой группы'; +$lang['ARE_GROUP_MODERATOR'] = 'Вы модератор этой группы'; +$lang['NONE'] = 'Нет'; + +$lang['SUBSCRIBE'] = 'Записаться в группу'; +$lang['UNSUBSCRIBE_GROUP'] = 'Выйти из группы'; +$lang['VIEW_INFORMATION'] = 'Просмотреть информацию'; +$lang['MEMBERS_IN_GROUP'] = 'Кол-во участников'; + +// +// Search +// +$lang['SEARCH_OFF'] = 'Поиск временно отключен'; +$lang['SEARCH_ERROR'] = 'В данный момент поисковик недоступен

    Попробуйте повторить запрос через несколько секунд'; +$lang['SEARCH_HELP_URL'] = 'Помощь по поиску'; +$lang['SEARCH_QUERY'] = 'Запрос'; +$lang['SEARCH_OPTIONS'] = 'Параметры запроса'; + +$lang['SEARCH_WORDS'] = 'Ключевые слова'; +$lang['SEARCH_WORDS_EXPL'] = 'Вы можете использовать + (знак "плюс" написанный слитно перед словом: "+слово") чтобы определить слова, которые должны быть в результатах и - (знак "минус") для слов, которых не должно быть. Используйте * в качестве шаблона для частичного совпадения.'; +$lang['SEARCH_AUTHOR'] = 'Поиск по автору'; +$lang['SEARCH_AUTHOR_EXPL'] = 'Используйте * в качестве шаблона'; + +$lang['SEARCH_TITLES_ONLY'] = 'Искать только в названиях тем'; +$lang['SEARCH_ALL_WORDS'] = 'искать все слова'; +$lang['SEARCH_MY_MSG_ONLY'] = 'Искать только в моих сообщениях'; +$lang['IN_MY_POSTS'] = 'В моих сообщениях'; +$lang['SEARCH_MY_TOPICS'] = 'в моих темах'; +$lang['NEW_TOPICS'] = 'Новые темы'; + +$lang['RETURN_FIRST'] = 'Показывать первые'; // followed by xxx characters +$lang['CHARACTERS_POSTS'] = 'символов сообщений'; + +$lang['SEARCH_PREVIOUS'] = 'Время размещения'; // followed by days, weeks, months, year, all + +$lang['SORT_BY'] = 'Упорядочить по'; +$lang['SORT_TIME'] = 'Время размещения'; +$lang['SORT_POST_SUBJECT'] = 'Заголовок сообщения'; +$lang['SORT_TOPIC_TITLE'] = 'Название темы'; +$lang['SORT_AUTHOR'] = 'Автор'; +$lang['SORT_FORUM'] = 'Форум'; + +$lang['DISPLAY_RESULTS_AS'] = 'Показывать результаты как'; +$lang['ALL_AVAILABLE'] = 'Все имеющиеся'; +$lang['BRIEFLY'] = 'Кратко'; +$lang['NO_SEARCHABLE_FORUMS'] = 'У вас нет доступа к поиску ни в одном из форумов на сайте'; + +$lang['NO_SEARCH_MATCH'] = 'Подходящих тем или сообщений не найдено'; +$lang['FOUND_SEARCH_MATCH'] = 'Результатов поиска: %d'; // eg. Search found 1 match +$lang['FOUND_SEARCH_MATCHES'] = 'Результатов поиска: %d'; // eg. Search found 24 matches +$lang['TOO_MANY_SEARCH_RESULTS'] = 'По вашему запросу может быть найдено слишком много сообщений. Постарайтесь более точно сформулировать то, что вы хотите найти.'; + +$lang['CLOSE_WINDOW'] = 'Закрыть окно'; +$lang['CLOSE'] = 'закрыть'; +$lang['HIDE'] = 'спрятать'; +$lang['SEARCH_TERMS'] = 'Поисковый запрос'; + +// +// Auth related entries +// +// Note the %s will be replaced with one of the following 'user' arrays +$lang['SORRY_AUTH_VIEW'] = 'Извините, только %s могут видеть этот форум'; +$lang['SORRY_AUTH_READ'] = 'Извините, только %s могут читать сообщения в этом форуме'; +$lang['SORRY_AUTH_POST'] = 'Извините, только %s могут начинать темы в этом форуме'; +$lang['SORRY_AUTH_REPLY'] = 'Извините, только %s могут отвечать на сообщения в этом форуме'; +$lang['SORRY_AUTH_EDIT'] = 'Извините, только %s могут редактировать сообщения в этом форуме'; +$lang['SORRY_AUTH_DELETE'] = 'Извините, только %s могут удалять сообщения в этом форуме'; +$lang['SORRY_AUTH_VOTE'] = 'Извините, только %s могут голосовать в опросах этого форума'; +$lang['SORRY_AUTH_STICKY'] = 'Извините, только %s могут прилеплять темы в этом форуме'; +$lang['SORRY_AUTH_ANNOUNCE'] = 'Извините, только %s могут размещать объявления в этом форуме'; + +// These replace the %s in the above strings +$lang['AUTH_ANONYMOUS_USERS'] = 'гости'; +$lang['AUTH_REGISTERED_USERS'] = 'зарегистрированные пользователи'; +$lang['AUTH_USERS_GRANTED_ACCESS'] = 'пользователи со специальными правами доступа'; +$lang['AUTH_MODERATORS'] = 'модераторы'; +$lang['AUTH_ADMINISTRATORS'] = 'администраторы'; + +$lang['NOT_MODERATOR'] = 'Вы не являетесь модератором этого форума'; +$lang['NOT_AUTHORISED'] = 'Нет доступа'; + +$lang['YOU_BEEN_BANNED'] = 'Вам был закрыт доступ к форуму
    Обратитесь к вебмастеру или администратору сайта за дополнительной информацией'; + +// +// Viewonline +// +$lang['REG_USERS_ONLINE'] = 'Сейчас на сайте зарегистрированных пользователей: %d и '; +$lang['HIDDEN_USERS_ONLINE'] = 'скрытых пользователей: %d'; +$lang['GUEST_USERS_ONLINE'] = 'Сейчас на сайте гостей: %d'; +$lang['ALL_USERS_ONLINE'] = 'Всех:'; +$lang['ONLINE_EXPLAIN'] = 'данные за последние пять минут'; +$lang['LAST_UPDATED'] = 'Последнее изменение'; + +// +// Moderator Control Panel +// +$lang['MOD_CP'] = 'Панель модерации'; +$lang['MOD_CP_EXPLAIN'] = 'Здесь вы можете проводить массовую модерацию этого форума. Вы можете закрывать, открывать, перемещать или удалять любое количество тем.'; + +$lang['SELECT'] = 'Выбрать'; +$lang['DELETE'] = 'Удалить'; +$lang['MOVE'] = 'Переместить'; +$lang['LOCK'] = 'Закрыть'; +$lang['UNLOCK'] = 'Открыть'; + +$lang['TOPICS_REMOVED'] = 'Выбранные темы были успешно удалены из базы данных'; +$lang['NO_TOPICS_REMOVED'] = 'Не было удалено ни одной темы'; +$lang['TOPICS_LOCKED'] = 'Выбранные темы были закрыты'; +$lang['TOPICS_MOVED'] = 'Выбранные темы были перемещены'; +$lang['TOPICS_UNLOCKED'] = 'Выбранные темы были открыты'; +$lang['NO_TOPICS_MOVED'] = 'Не было перенесено ни одной темы'; + +$lang['CONFIRM_DELETE_TOPIC'] = 'Вы действительно хотите удалить выбранные темы?'; +$lang['CONFIRM_LOCK_TOPIC'] = 'Вы действительно хотите закрыть выбранные темы?'; +$lang['CONFIRM_UNLOCK_TOPIC'] = 'Вы действительно хотите открыть выбранные темы?'; +$lang['CONFIRM_MOVE_TOPIC'] = 'Вы действительно хотите переместить выбранные темы?'; + +$lang['MOVE_TO_FORUM'] = 'Переместить в форум'; +$lang['LEAVE_SHADOW_TOPIC'] = 'Оставить ссылку в старом форуме'; + +$lang['SPLIT_TOPIC_EXPLAIN'] = 'С использованием этой формы вы можете разделить тему на две либо выбирая сообщения по одному, либо разбив по выбранному сообщению'; +$lang['NEW_TOPIC_TITLE'] = 'Заголовок новой темы'; +$lang['FORUM_FOR_NEW_TOPIC'] = 'Форум для новой темы'; +$lang['SPLIT_POSTS'] = 'Отделить выбранные сообщения'; +$lang['SPLIT_AFTER'] = 'Отделить все сообщения после выбранного'; +$lang['TOPIC_SPLIT'] = 'Выбранная тема была успешно отделена'; + +$lang['TOO_MANY_ERROR'] = 'Вы выбрали слишком много сообщений. Вы можете выбрать только одно сообщение, чтобы отделить все сообщения после него.'; + +$lang['NONE_SELECTED'] = 'Вы ничего не выбрали для совершения этой операции. Вернитесь назад и выберите.'; +$lang['NEW_FORUM'] = 'Новый форум'; + +$lang['THIS_POSTS_IP'] = 'IP-адрес для этого сообщения'; +$lang['OTHER_IP_THIS_USER'] = 'Другие IP-адреса с которых писал этот пользователь'; +$lang['USERS_THIS_IP'] = 'Пользователи, писавшие с этого IP'; +$lang['IP_INFO'] = 'Информация об IP-адресе'; +$lang['LOOKUP_IP'] = 'Посмотреть хост для IP'; + +// +// Timezones ... for display on each page +// +$lang['ALL_TIMES'] = 'Часовой пояс: %s'; // This is followed by GMT and the timezone offset + +$lang['-12'] = 'GMT - 12'; +$lang['-11'] = 'GMT - 11'; +$lang['-10'] = 'GMT - 10'; +$lang['-9'] = 'GMT - 9'; +$lang['-8'] = 'GMT - 8'; +$lang['-7'] = 'GMT - 7'; +$lang['-6'] = 'GMT - 6'; +$lang['-5'] = 'GMT - 5'; +$lang['-4'] = 'GMT - 4'; +$lang['-3.5'] = 'GMT - 3:30'; +$lang['-3'] = 'GMT - 3'; +$lang['-2'] = 'GMT - 2'; +$lang['-1'] = 'GMT - 1'; +$lang['0'] = 'GMT'; +$lang['1'] = 'GMT + 1'; +$lang['2'] = 'GMT + 2'; +$lang['3'] = 'GMT + 3'; +$lang['3.5'] = 'GMT + 3:30'; +$lang['4'] = 'GMT + 4'; +$lang['4.5'] = 'GMT + 4:30'; +$lang['5'] = 'GMT + 5'; +$lang['5.5'] = 'GMT + 5:30'; +$lang['6'] = 'GMT + 6'; +$lang['6.5'] = 'GMT + 6:30'; +$lang['7'] = 'GMT + 7'; +$lang['8'] = 'GMT + 8'; +$lang['9'] = 'GMT + 9'; +$lang['9.5'] = 'GMT + 9:30'; +$lang['10'] = 'GMT + 10'; +$lang['11'] = 'GMT + 11'; +$lang['12'] = 'GMT + 12'; +$lang['13'] = 'GMT + 13'; + +// это для выпадающего меню, раньше тут еще были города +$lang['TZ']['-12'] = 'GMT - 12'; +$lang['TZ']['-11'] = 'GMT - 11'; +$lang['TZ']['-10'] = 'GMT - 10'; +$lang['TZ']['-9'] = 'GMT - 9'; +$lang['TZ']['-8'] = 'GMT - 8'; +$lang['TZ']['-7'] = 'GMT - 7'; +$lang['TZ']['-6'] = 'GMT - 6'; +$lang['TZ']['-5'] = 'GMT - 5'; +$lang['TZ']['-4'] = 'GMT - 4'; +$lang['TZ']['-3.5'] = 'GMT - 3:30'; +$lang['TZ']['-3'] = 'GMT - 3'; +$lang['TZ']['-2'] = 'GMT - 2'; +$lang['TZ']['-1'] = 'GMT - 1'; +$lang['TZ']['0'] = 'GMT (время по Гринвичу)'; +$lang['TZ']['1'] = 'GMT + 1'; +$lang['TZ']['2'] = 'GMT + 2'; +$lang['TZ']['3'] = 'GMT + 3'; +$lang['TZ']['3.5'] = 'GMT + 3:30'; +$lang['TZ']['4'] = 'GMT + 4 (Московское время)'; +$lang['TZ']['4.5'] = 'GMT + 4:30'; +$lang['TZ']['5'] = 'GMT + 5'; +$lang['TZ']['5.5'] = 'GMT + 5:30'; +$lang['TZ']['6'] = 'GMT + 6'; +$lang['TZ']['6.5'] = 'GMT + 6:30'; +$lang['TZ']['7'] = 'GMT + 7'; +$lang['TZ']['8'] = 'GMT + 8'; +$lang['TZ']['9'] = 'GMT + 9'; +$lang['TZ']['9.5'] = 'GMT + 9:30'; +$lang['TZ']['10'] = 'GMT + 10'; +$lang['TZ']['11'] = 'GMT + 11'; +$lang['TZ']['12'] = 'GMT + 12'; +$lang['TZ']['13'] = 'GMT + 13'; + +$lang['DATETIME']['TODAY'] = 'Сегодня, в'; +$lang['DATETIME']['YESTERDAY'] = 'Вчера, в'; + +$lang['DATETIME']['SUNDAY'] = 'Воскресенье'; +$lang['DATETIME']['MONDAY'] = 'Понедельник'; +$lang['DATETIME']['TUESDAY'] = 'Вторник'; +$lang['DATETIME']['WEDNESDAY'] = 'Среда'; +$lang['DATETIME']['THURSDAY'] = 'Четверг'; +$lang['DATETIME']['FRIDAY'] = 'Пятница'; +$lang['DATETIME']['SATURDAY'] = 'Суббота'; +$lang['DATETIME']['SUN'] = 'Вс'; +$lang['DATETIME']['MON'] = 'Пн'; +$lang['DATETIME']['TUE'] = 'Вт'; +$lang['DATETIME']['WED'] = 'Ср'; +$lang['DATETIME']['THU'] = 'Чт'; +$lang['DATETIME']['FRI'] = 'Пт'; +$lang['DATETIME']['SAT'] = 'Сб'; +$lang['DATETIME']['JANUARY'] = 'Январь'; +$lang['DATETIME']['FEBRUARY'] = 'Февраль'; +$lang['DATETIME']['MARCH'] = 'Март'; +$lang['DATETIME']['APRIL'] = 'Апрель'; +$lang['DATETIME']['MAY'] = 'Май'; +$lang['DATETIME']['JUNE'] = 'Июнь'; +$lang['DATETIME']['JULY'] = 'Июль'; +$lang['DATETIME']['AUGUST'] = 'Август'; +$lang['DATETIME']['SEPTEMBER'] = 'Сентябрь'; +$lang['DATETIME']['OCTOBER'] = 'Октябрь'; +$lang['DATETIME']['NOVEMBER'] = 'Ноябрь'; +$lang['DATETIME']['DECEMBER'] = 'Декабрь'; +$lang['DATETIME']['JAN'] = 'Янв'; +$lang['DATETIME']['FEB'] = 'Фев'; +$lang['DATETIME']['MAR'] = 'Мар'; +$lang['DATETIME']['APR'] = 'Апр'; +$lang['DATETIME']['JUN'] = 'Июн'; +$lang['DATETIME']['JUL'] = 'Июл'; +$lang['DATETIME']['AUG'] = 'Авг'; +$lang['DATETIME']['SEP'] = 'Сен'; +$lang['DATETIME']['OCT'] = 'Окт'; +$lang['DATETIME']['NOV'] = 'Ноя'; +$lang['DATETIME']['DEC'] = 'Дек'; + +// +// Errors +// +$lang['INFORMATION'] = 'Информация'; +$lang['ADMIN_REAUTHENTICATE'] = 'Чтобы получить доступ к админ/мод панели, вам необходимо еще раз ввести пароль.'; + +// +// Attachment Mod Main Language Variables +// + +// Auth Related Entries +$lang['RULES_ATTACH_CAN'] = 'Вы можете прикреплять файлы к сообщениям'; +$lang['RULES_ATTACH_CANNOT'] = 'Вы не можете прикреплять файлы к сообщениям'; +$lang['RULES_DOWNLOAD_CAN'] = 'Вы можете скачивать файлы'; +$lang['RULES_DOWNLOAD_CANNOT'] = 'Вы не можете скачивать файлы'; +$lang['SORRY_AUTH_VIEW_ATTACH'] = 'Вы не можете просматривать или скачивать файлы'; + +// Viewtopic -> Display of Attachments +$lang['DESCRIPTION'] = 'Описание'; // used in Administration Panel too... +$lang['DOWNLOAD'] = 'Скачать'; // this Language Variable is defined in admin.php too, but we are unable to access it from the main Language File +$lang['FILESIZE'] = 'Размер'; +$lang['VIEWED'] = 'Просмотров'; +$lang['DOWNLOAD_NUMBER'] = '%d раз'; // replace %d with count +$lang['EXTENSION_DISABLED_AFTER_POSTING'] = 'Расширение \'%s\' было деактивировано администратором, поэтому это приложение не отображается.'; // used in Posts and PM's, replace %s with mime type + +$lang['ATTACHMENT'] = 'Вложение'; +$lang['ATTACHMENT_THUMBNAIL'] = 'Вложение (миниатюра)'; + +// Posting/PM -> Posting Attachments +$lang['ADD_ATTACHMENT'] = 'Прикрепить файл'; +$lang['ADD_ATTACHMENT_TITLE'] = 'Прикрепить файл'; +$lang['ADD_ATTACHMENT_EXPLAIN'] = 'Если вы не хотите прикреплять файл, оставьте это поле пустым'; +$lang['FILENAME'] = 'Имя файла'; +$lang['FILE_COMMENT'] = 'Комментарий'; + +// Posting/PM -> Posted Attachments +$lang['POSTED_ATTACHMENTS'] = 'Прикрепленные файлы'; +$lang['UPDATE_COMMENT'] = 'Обновить комментарий'; +$lang['DELETE_ATTACHMENTS'] = 'Удалить файлы'; +$lang['DELETE_ATTACHMENT'] = 'Удалить файл'; +$lang['DELETE_THUMBNAIL'] = 'Удалить пиктограмму'; +$lang['UPLOAD_NEW_VERSION'] = 'Загрузить новую версию'; + +// Errors -> Posting Attachments +$lang['INVALID_FILENAME'] = '%s - неправильное имя файла'; // replace %s with given filename +$lang['ATTACHMENT_PHP_SIZE_NA'] = 'Вложение слишком велико.
    Невозможно превышать ограничение установленное в PHP.
    Attachment Mod не может определить максимальный размер закачиваемых файлов, определенный в php.ini.'; +$lang['ATTACHMENT_PHP_SIZE_OVERRUN'] = 'Вложение слишком велико.
    Максимальный размер закачиваемого файла: %d MB.
    Отметьте, что эта величина определена в php.ini и Attachment Mod не может изменить это значение в большую сторону.'; // replace %d with ini_get('upload_max_filesize') +$lang['DISALLOWED_EXTENSION'] = 'Расширение %s запрещено администратором'; // replace %s with extension (e.g. .php) +$lang['DISALLOWED_EXTENSION_WITHIN_FORUM'] = 'Вы не можете публиковать файлы с расширением %s в этом форуме'; // replace %s with the Extension +$lang['ATTACHMENT_TOO_BIG'] = 'Вложение слишком велико.
    Максимальный размер: %d'; // replace %d with maximum file size, %s with size var +$lang['ATTACH_QUOTA_REACHED'] = 'Достигнут максимальный общий размер ваших вложений. Пожалуйста, обратитесь к администратору по этому вопросу.'; +$lang['TOO_MANY_ATTACHMENTS'] = 'Вложение невозможно, так как максимальное количество (%d) вложений в этом сообщении достигнуто.'; // replace %d with maximum number of attachments +$lang['ERROR_IMAGESIZE'] = 'Изображение должно быть меньше, чем %d пикселей в ширину и %d пикселей в высоту.'; +$lang['GENERAL_UPLOAD_ERROR'] = 'Ошибка закачки: Невозможно закачать вложение в %s.'; // replace %s with local path + +$lang['ERROR_EMPTY_ADD_ATTACHBOX'] = 'Вы должны указать "Имя Файла" в форме "Прикрепить файл"'; +$lang['ERROR_MISSING_OLD_ENTRY'] = 'Невозможно обновить вложение, старое вложение не обнаружено'; + +// Errors -> PM Related +$lang['ATTACH_QUOTA_SENDER_PM_REACHED'] = 'К сожалению, вы достигли максимального общего объема закачанных файлов в папке личных сообщений. Пожалуйста, удалите часть принятых/отправленных вложений.'; +$lang['ATTACH_QUOTA_RECEIVER_PM_REACHED'] = 'К сожалению, \'%s\' достиг(ла) максимального общего объема закачанных файлов в папке личных сообщений. Пожалуйста, сообщите ему(ей) или подождите удаления некоторых из вложений.'; + +// Errors -> Download +$lang['NO_ATTACHMENT_SELECTED'] = 'Вы не выделили вложений для скачивания или просмотра.'; +$lang['ERROR_NO_ATTACHMENT'] = 'Выделенных вложений больше не существует.'; + +// Delete Attachments +$lang['CONFIRM_DELETE_ATTACHMENTS'] = 'Вы уверены, что хотите удалить выделенные вложения?'; +$lang['DELETED_ATTACHMENTS'] = 'Выделенные вложения удалены.'; +$lang['ERROR_DELETED_ATTACHMENTS'] = 'Невозможно удалить вложения.'; +$lang['CONFIRM_DELETE_PM_ATTACHMENTS'] = 'Вы уверены, что хотите удалить все вложения в этом личном сообщении?'; + +// General Error Messages +$lang['ATTACHMENT_FEATURE_DISABLED'] = 'Функция вложений выключена.'; + +$lang['DIRECTORY_DOES_NOT_EXIST'] = 'Директория \'%s\' не существует или не может быть найдена.'; // replace %s with directory +$lang['DIRECTORY_IS_NOT_A_DIR'] = 'Пожалуйста, проверьте является ли \'%s\' директорией.'; // replace %s with directory +$lang['DIRECTORY_NOT_WRITEABLE'] = 'Директория \'%s\' недоступна для записи. Вам нужно создать директорию для закачек и выполнить chmod 777 (или изменить владельца httpd-servers) для закачки фалов на сервер.
    Если у вас только FTP доступ к серверу измените \'Атрибуты\' директории на rwxrwxrwx.'; // replace %s with directory + +// Attach Rules Window +$lang['RULES_PAGE'] = 'Правила вложений'; +$lang['ATTACH_RULES_TITLE'] = 'Разрешенные группы расширений и их размер'; +$lang['GROUP_RULE_HEADER'] = '%s -> Максимальный общий размер: %s'; // Replace first %s with Extension Group, second one with the Size STRING +$lang['ALLOWED_EXTENSIONS_AND_SIZES'] = 'Разрешенные расширения и их размер'; +$lang['NOTE_USER_EMPTY_GROUP_PERMISSIONS'] = 'ВНИМАНИЕ:
    Вы можете отправлять вложения в этот форум,
    но, так как ни одной группе расширений не разрешено быть вложенной здесь,
    вы не можете ничего отправить. Если вы попытаетесь,
    то получите сообщение об ошибке.
    '; + +// Quota Variables +$lang['UPLOAD_QUOTA'] = 'Квота'; +$lang['PM_QUOTA'] = 'Квота ЛС'; + +// Common Variables +$lang['BYTES'] = 'Байт'; +$lang['KB'] = 'KB'; +$lang['MB'] = 'MB'; +$lang['GB'] = 'GB'; +$lang['ATTACH_SEARCH_QUERY'] = 'Поиск вложений'; +$lang['TEST_SETTINGS'] = 'Проверить настройки'; +$lang['NOT_ASSIGNED'] = 'Не назначено'; +$lang['NO_FILE_COMMENT_AVAILABLE'] = 'Комментарий недоступен'; +$lang['ATTACHBOX_LIMIT'] = 'Ваш ящик вложений заполнен на %d%%'; +$lang['NO_QUOTA_LIMIT'] = 'Квота отсутствует'; +$lang['UNLIMITED'] = 'Без ограничений'; + +//bt +$lang['BT_REG_YES'] = 'Зарегистрирован'; +$lang['BT_REG_NO'] = 'Не зарегистрирован'; +$lang['BT_ADDED'] = 'Добавлен'; +$lang['BT_REG_ON_TRACKER'] = 'Зарегистрировать торрент'; +$lang['BT_REG_FAIL'] = 'Не удалось зарегистрировать торрент на трекере'; +$lang['BT_REG_FAIL_SAME_HASH'] = 'Другой торрент с таким же info_hash уже зарегистрирован'; +$lang['BT_UNREG_FROM_TRACKER'] = 'Разрегистрировать торрент'; +$lang['BT_UNREGISTERED'] = 'Торрент разрегистрирован'; +$lang['BT_REGISTERED'] = 'Торрент зарегистрирован на трекере

    Теперь вам нужно его скачать и поставить на закачку у самого себя в ту же директорию, где лежат оригинальные файлы'; +$lang['INVALID_ANN_URL'] = 'Неправильный Аnnounce URL [%s]

    должен быть %s'; +$lang['PASSKEY_ERR_TOR_NOT_REG'] = 'Невозможно добавить passkey

    Торрент не зарегистрирован на трекере'; +$lang['PASSKEY_ERR_EMPTY'] = 'Невозможно добавить passkey

    Вам необходимо зайти в ваш форумный профиль и сгенерировать passkey'; +$lang['BT_PASSKEY'] = 'Passkey'; +$lang['BT_GEN_PASSKEY'] = 'Создать новый'; +$lang['BT_PASSKEY_VIEW'] = 'Показать'; +$lang['BT_GEN_PASSKEY_NEW'] = "Внимание! После изменения нового passkey, вам необходимо будет заново скачать все активные торренты! \n Вы уверены, что хотите создать новый passkey?"; +$lang['BT_NO_SEARCHABLE_FORUMS'] = 'Доступных для поиска форумов не найдено'; + +$lang['SEEDS'] = 'Сидам'; +$lang['LEECHS'] = 'Личерам'; +$lang['SPEED_UP'] = 'Скорость отдачи'; +$lang['SPEED_DOWN'] = 'Скорость скачивания'; + +$lang['SEEDERS'] = 'Сидов'; +$lang['LEECHERS'] = 'Личеров'; +$lang['RELEASING'] = 'Свои'; +$lang['SEEDING'] = 'Сидер'; +$lang['LEECHING'] = 'Личер'; +$lang['IS_REGISTERED'] = 'Зарегистрирован'; +$lang['MAGNET'] = 'Magnet'; + +//torrent status mod +$lang['TOR_STATUS'] = 'Статус'; +$lang['TOR_STATUS_SELECT_ACTION'] = 'Выберите статус'; +$lang['TOR_STATUS_NOT_SELECT'] = 'Вы не выбрали статус.'; +$lang['TOR_STATUS_SELECT_ALL'] = 'Все статусы'; +$lang['TOR_STATUS_NAME'] = array( + TOR_NOT_APPROVED => 'не проверено', + TOR_CLOSED => 'закрыто', + TOR_APPROVED => 'проверено', + TOR_NEED_EDIT => 'недооформлено', + TOR_NO_DESC => 'неоформлено', + TOR_DUP => 'повтор', + TOR_CLOSED_CPHOLD => 'закрыто правообладателем', + TOR_CONSUMED => 'поглощено', + TOR_DOUBTFUL => 'сомнительно', + TOR_CHECKING => 'проверяется', + TOR_TMP => 'временная', + TOR_PREMOD => 'премодерация', +); +$lang['TOR_STATUS_FAILED'] = 'Такого статуса не существует!'; +$lang['TORRENT_FAILED'] = 'Раздача не найдена!'; +$lang['TOR_STATUS_DUB'] = 'Раздача имеет тот же статус'; +$lang['TOR_DONT_CHANGE'] = 'Изменение статуса невозможно!'; +$lang['TOR_STATUS_OF'] = 'Раздача имеет статус:'; +$lang['TOR_STATUS_CHANGED'] = 'Статус изменил: '; +$lang['TOR_BACK'] = ' назад'; +$lang['PROCEED'] = 'Продолжить'; +$lang['INVALID_ATTACH_ID'] = 'Отсутствует идентификатор файла!'; +$lang['CHANGE_TOR_TYPE'] = 'Тип торрента успешно изменен'; +$lang['DEL_TORRENT'] = 'Вы уверены, что хотите удалить торрент?'; +$lang['DEL_MOVE_TORRENT'] = 'Вы уверены, что хотите удалить и перенести топик?'; +$lang['UNEXECUTED_RELEASE'] = 'У вас есть неоформленный релиз, прежде чем создавать новый - исправьте свой неоформленный!'; +$lang['STATUS_DOES_EXIST'] = 'Такого статуса не существует: '; + +// tor_comment +$lang['TOR_MOD_TITLE'] = 'Изменение статуса раздачи - %s'; +$lang['TOR_MOD_MSG'] = "Здравствуйте, %s.\n\n Статус [url=%s]вашей[/url] раздачи изменен на [b]%s[/b]"; + +$lang['TOR_AUTH_TITLE'] = 'Изменение в оформлении - %s'; +$lang['TOR_AUTH_MSG'] = "Здравствуйте, %s.\n\n Оформление моей раздачи изменено - [url=%s]%s[/url]\n\n Просьба повторно ее проверить."; +$lang['TOR_AUTH_FIXED'] = 'Исправил'; +$lang['TOR_AUTH_SENT_COMMENT'] = ' · Информация отправлена модератору. Ожидайте.'; +//end torrent status mod + +$lang['BT_TOPIC_TITLE'] = 'Название темы'; +$lang['BT_SEEDER_LAST_SEEN'] = 'Последний сид'; +$lang['BT_SORT_FORUM'] = 'Форум'; +$lang['SIZE'] = 'Размер'; +$lang['PIECE_LENGTH'] = 'Размер блока'; +$lang['COMPLETED'] = 'Скачан'; +$lang['ADDED'] = 'Добавлен'; +$lang['DELETE_TORRENT'] = 'Удалить торрент'; +$lang['DELETE_MOVE_TORRENT'] = 'Удалить и перенести топик'; +$lang['DL_TORRENT'] = 'Скачать .torrent'; +$lang['BT_LAST_POST'] = 'Посл. сообщение'; +$lang['BT_CREATED'] = 'Время создания топика'; +$lang['BT_REPLIES'] = 'Сообщения'; +$lang['BT_VIEWS'] = 'Просмотры'; + +// Gold/Silver releases +$lang['GOLD'] = 'Золото'; +$lang['SILVER'] = 'Серебро'; +$lang['SET_GOLD_TORRENT'] = 'Сделать золотым'; +$lang['UNSET_GOLD_TORRENT'] = 'Снять золото'; +$lang['SET_SILVER_TORRENT'] = 'Сделать серебряным'; +$lang['UNSET_SILVER_TORRENT'] = 'Снять серебро'; +$lang['GOLD_STATUS'] = 'ЗОЛОТАЯ РАЗДАЧА! СКАЧАННОЕ НЕ ЗАСЧИТЫВАЕТСЯ!'; +$lang['SILVER_STATUS'] = 'СЕРЕБРЯНАЯ РАЗДАЧА! СКАЧАННОЕ ЗАСЧИТЫВАЕТСЯ ТОЛЬКО НАПОЛОВИНУ!'; +// End - Gold/Silver releases + +$lang['SEARCH_IN_FORUMS'] = 'Искать в форумах'; +$lang['SELECT_CAT'] = 'Выбрать категорию…'; +$lang['GO_TO_SECTION'] = 'перейти к разделу'; +$lang['TORRENTS_FROM'] = 'Торренты за'; +$lang['SHOW_ONLY'] = 'Показывать только'; +$lang['SHOW_COLUMN'] = 'Показывать колонку'; +$lang['SEL_CHAPTERS'] = 'Ссылка на выбранные разделы'; +$lang['NOT_SEL_CHAPTERS'] = 'Вы не выбрали разделы'; +$lang['SEL_CHAPTERS_HELP'] = 'Вы можете выбрать максимум %s разделов'; +$lang['HIDE_CONTENTS'] = 'Скрыть содержимое {...}'; +$lang['FILTER_BY_NAME'] = 'фильтр по названию'; + +$lang['BT_ONLY_ACTIVE'] = 'Активные (есть сидер или личер)'; +$lang['BT_ONLY_MY'] = 'Мои раздачи'; +$lang['BT_SEED_EXIST'] = 'Есть сид (полный источник)'; +$lang['BT_ONLY_NEW'] = 'Новые с последнего посещения'; +$lang['BT_SHOW_CAT'] = 'Категория'; +$lang['BT_SHOW_FORUM'] = 'Форум'; +$lang['BT_SHOW_AUTHOR'] = 'Автор'; +$lang['BT_SHOW_SPEED'] = 'Скорость'; +$lang['SEED_NOT_SEEN'] = 'Источника не было'; +$lang['TITLE_MATCH'] = 'Название содержит'; +$lang['BT_USER_NOT_FOUND'] = 'не найден'; +$lang['DL_SPEED'] = 'Общая скорость скачивания'; + +$lang['BT_DISREGARD'] = 'не учитывать'; +$lang['BT_NEVER'] = 'никогда'; +$lang['BT_ALL_DAYS_FOR'] = 'за все время'; +$lang['BT_1_DAY_FOR'] = 'за сегодня'; +$lang['BT_3_DAY_FOR'] = 'последние 3 дня'; +$lang['BT_7_DAYS_FOR'] = 'посл. неделю'; +$lang['BT_2_WEEKS_FOR'] = 'посл. 2 недели'; +$lang['BT_1_MONTH_FOR'] = 'последний месяц'; +$lang['BT_1_DAY'] = 'день'; +$lang['BT_3_DAYS'] = '3 дня'; +$lang['BT_7_DAYS'] = 'неделю'; +$lang['BT_2_WEEKS'] = '2 недели'; +$lang['BT_1_MONTH'] = 'месяц'; + +$lang['DL_LIST_AND_TORRENT_ACTIVITY'] = 'Статистика раздачи'; +$lang['DL_WILL'] = 'Буду качать'; +$lang['DL_DOWN'] = 'Качаю'; +$lang['DL_COMPLETE'] = 'Скачал'; +$lang['DL_CANCEL'] = 'Отмена'; + +$lang['DLWILL_2'] = 'Будут качать'; +$lang['DLDOWN_2'] = 'Качают'; +$lang['DLCOMPLETE_2'] = 'Скачали'; +$lang['DLCANCEL_2'] = 'Отмена'; + +$lang['DL_LIST_DEL'] = 'Очистить DL-List'; +$lang['DL_LIST_DEL_CONFIRM'] = 'Вы уверены, что хотите удалить DL-List для этого топика?'; +$lang['SHOW_DL_LIST'] = 'Список скачавших'; +$lang['SET_DL_STATUS'] = 'Разрешить скачивание'; +$lang['UNSET_DL_STATUS'] = 'Запретить скачивание'; +$lang['TOPICS_DOWN_SETS'] = 'Выбранные темы изменили статус на: Скачиваемые'; +$lang['TOPICS_DOWN_UNSETS'] = 'Выбранные темы перестали быть Скачиваемыми'; + +$lang['TOPIC_DL'] = 'DL'; + +$lang['MY_DOWNLOADS'] = 'Мои закачки'; +$lang['SEARCH_DL_WILL'] = 'Будущие'; +$lang['SEARCH_DL_WILL_DOWNLOADS'] = 'Будущие закачки'; +$lang['SEARCH_DL_DOWN'] = 'Текущие'; +$lang['SEARCH_DL_COMPLETE'] = 'Прошлые'; +$lang['SEARCH_DL_COMPLETE_DOWNLOADS'] = 'Прошлые закачки'; +$lang['SEARCH_DL_CANCEL'] = 'Отмененные'; +$lang['CUR_DOWNLOADS'] = 'Текущие закачки'; +$lang['CUR_UPLOADS'] = 'Текущие раздачи'; +$lang['SEARCH_RELEASES'] = 'Найти раздачи'; +$lang['TOR_SEARCH_TITLE'] = 'Опции показа торрентов'; +$lang['OPEN_TOPIC'] = 'Открыть топик'; + +$lang['ALLOWED_ONLY_1ST_POST_ATTACH'] = 'Вы можете прикреплять торрент-файлы только к первому сообщению в теме'; +$lang['ALLOWED_ONLY_1ST_POST_REG'] = 'Вы можете регистрировать торрент-файлы на трекере только из первого сообщения в теме'; +$lang['REG_NOT_ALLOWED_IN_THIS_FORUM'] = 'В этом форуме регистрация торрентов на трекере запрещена'; +$lang['ALREADY_REG'] = 'Торрент уже зарегистрирован'; +$lang['NOT_TORRENT'] = 'Это не торрент-файл'; +$lang['ONLY_1_TOR_PER_POST'] = 'Вы не можете зарегистрировать еще один торрент для этого сообщения'; +$lang['ONLY_1_TOR_PER_TOPIC'] = 'Вы не можете зарегистрировать еще один торрент для этого топика'; +$lang['VIEWING_USER_BT_PROFILE'] = 'Торрент-профиль'; // %s is username +$lang['CUR_ACTIVE_DLS'] = 'Активные раздачи'; + +$lang['TD_TRAF'] = 'Сегодня'; +$lang['YS_TRAF'] = 'Вчера'; +$lang['TOTAL_TRAF'] = 'Всего'; + +$lang['USER_RATIO'] = 'Рейтинг'; +$lang['MAX_SPEED'] = 'Скорость'; +$lang['DOWNLOADED'] = 'Скачано'; +$lang['UPLOADED'] = 'Отдано'; +$lang['RELEASED'] = 'На своих'; +$lang['BONUS'] = 'На редких'; +$lang['IT_WILL_BE_DOWN'] = 'начнет учитываться после того как будет скачано'; +$lang['SPMODE_FULL'] = 'Подробная статистика пиров'; + +// Seed Bonus +$lang['MY_BONUS'] = 'Мой бонус (%s бонусов в наличии)'; +$lang['BONUS_SELECT'] = 'Выбор'; +$lang['SEED_BONUS'] = 'СидБонус'; +$lang['EXCHANGE'] = 'Обменять'; +$lang['EXCHANGE_BONUS'] = 'Обмен сид бонусов'; +$lang['BONUS_UPLOAD_DESC'] = '%s к раздаче
    Обменять бонусные очки на %1$s трафика, который будет приплюсован к сумме вашей раздачи.'; +$lang['BONUS_UPLOAD_PRICE'] = '%s'; +$lang['PRICE'] = 'Цена'; +$lang['EXCHANGE_NOT'] = 'Обмен не доступен'; +$lang['BONUS_SUCCES'] = 'Обмен произведен удачно! Вам прибавлено %s'; +$lang['BONUS_NOT_SUCCES'] = 'У вас недостаточно Бонусов в наличии. Больше сидируйте!'; +$lang['BONUS_RETURN'] = 'Вернуться к обмену Сид бонусов'; + +$lang['TRACKER'] = 'Трекер'; +$lang['OPEN_TOPICS'] = 'Открывать топики'; +$lang['OPEN_IN_SAME_WINDOW'] = 'открывать в этом же окне'; +$lang['SHOW_TIME_TOPICS'] = 'показывать время создания темы'; +$lang['SHOW_CURSOR'] = 'подсвечивать строки под курсором'; + +$lang['BT_LOW_RATIO_FUNC'] = 'У вас слишком низкий рейтинг для того, чтобы воспользоваться этой функцией'; +$lang['BT_LOW_RATIO_FOR_DL'] = 'Рейтинг %s уже не позволяет вам скачивать новые торренты.

    Для поднятия рейтинга вы можете что-либо раздать из ваших прошлых закачек, либо организовать новую раздачу.

    Пожалуйста, помните о том, что ваше yчастие в системе BitTorrent не может ограничиваться только скачиванием!'; +$lang['BT_RATIO_WARNING_MSG'] = 'Если ваш рейтинг упадет ниже %s, вы не сможете скачивать торренты! Подробнее о рейтинге.'; + +$lang['SEEDER_LAST_SEEN'] = 'Полного источника не было: %s'; + +$lang['NEED_TO_LOGIN_FIRST'] = 'Вы должны авторизоваться на сайте'; +$lang['ONLY_FOR_MOD'] = 'Эта опция доступна только модераторам'; +$lang['ONLY_FOR_ADMIN'] = 'Эта опция доступна только администраторам'; +$lang['ONLY_FOR_SUPER_ADMIN'] = 'Эта опция доступна только суперадминистраторам'; + +$lang['LOGS'] = 'История темы'; +$lang['FORUM_LOGS'] = 'История форума'; +$lang['AUTOCLEAN'] = 'Автоочистка'; +$lang['DESIGNER'] = 'Конструктор'; + +$lang['LAST_IP'] = 'Последний IP:'; +$lang['REG_IP'] = 'IP регистрации:'; +$lang['OTHER_IP'] = 'Другие IP:'; +$lang['ALREADY_REG_IP'] = 'С вашего IP-адреса уже зарегистрирован пользователь %s. Если вы ранее не регистрировались на нашем сайте, обратитесь к Администрации'; +$lang['HIDDEN'] = 'Скрыт'; +// +// That's all, Folks! +// ------------------------------------------------- + +// from admin +$lang['NOT_ADMIN'] = 'У вас нет прав на администрирование'; + +$lang['COOKIES_REQUIRED'] = 'Куки должны быть включены!'; +$lang['SESSION_EXPIRED'] = 'Сессия устарела'; + +// Sort memberlist per letter +$lang['SORT_PER_LETTER'] = 'Имя начинается с буквы'; +$lang['OTHERS'] = 'другие'; +$lang['ALL'] = 'все'; + +$lang['POST_LINK'] = 'Линк на это сообщение'; +$lang['GOTO_QUOTED_POST'] = 'Перейти к цитируемому сообщению'; +$lang['LAST_VISITED'] = 'Последний визит'; +$lang['LAST_ACTIVITY'] = 'Последняя активность'; +$lang['NEVER'] = 'Никогда'; + +//mpd +$lang['DELETE_POSTS'] = 'Удалить сообщения'; +$lang['DELETE_POSTS_SUCCESFULLY'] = 'Выбранные сообщения были успешно удалены'; +//mpd end + +//ts +$lang['TOPICS_ANNOUNCEMENT'] = 'Объявления'; +$lang['TOPICS_STICKY'] = 'Прилеплены'; +$lang['TOPICS_NORMAL'] = 'Топики'; +//ts end + +//dpc +$lang['DOUBLE_POST_ERROR'] = 'Вы не можете отправить подряд два одинаковых сообщения'; +//dpc end + +//upt +$lang['UPDATE_POST_TIME'] = 'Обновить время сообщения'; +//upt end + +$lang['TOPIC_SPLIT_NEW'] = 'Новая тема'; +$lang['TOPIC_SPLIT_OLD'] = 'Старая тема'; +$lang['BOT_LEAVE_MSG_MOVED'] = 'Оставить сообщение о переносе'; +$lang['BOT_AFTER_SPLIT_TO_OLD'] = 'Оставить сообщение о разделении в старой теме'; +$lang['BOT_AFTER_SPLIT_TO_NEW'] = 'Добавить сообщение о разделении в новую тему'; +//qr +$lang['QUICK_REPLY'] = 'Быстрый ответ'; +$lang['INS_NAME_TIP'] = 'Вставить имя или выделенный кусок сообщения.'; +$lang['QUOTE_SELECTED'] = 'Цитировать выделенный текст'; +$lang['TRANSLIT_RULES'] = 'Правила транслита'; +$lang['QR_ATTACHSIG'] = 'Присоединить подпись'; +$lang['QR_NOTIFY'] = 'Уведомлять об ответах'; +$lang['QR_DISABLE'] = 'Отключить'; +$lang['QR_USERNAME'] = 'Имя'; +$lang['NO_TEXT_SEL'] = 'Нет выделенного текста'; +$lang['QR_FONT_SEL'] = 'Шрифт'; +$lang['QR_COLOR_SEL'] = 'Цвет шрифта'; +$lang['QR_SIZE_SEL'] = 'Размер шрифта'; +$lang['COLOR_STEEL_BLUE'] = 'Темно-Голубой'; +$lang['COLOR_GRAY'] = 'Серый'; +$lang['COLOR_DARK_GREEN'] = 'Темно-Зеленый'; +//qr end + +//txtb +$lang['ICQ_TXTB'] = '[ICQ]'; +$lang['REPLY_WITH_QUOTE_TXTB'] = '[Цитировать]'; +$lang['READ_PROFILE_TXTB'] = '[Профиль]'; +$lang['SEND_EMAIL_TXTB'] = '[E-mail]'; +$lang['VISIT_WEBSITE_TXTB'] = '[www]'; +$lang['EDIT_DELETE_POST_TXTB'] = '[Изменить]'; +$lang['SEARCH_USER_POSTS_TXTB'] = '[Поиск]'; +$lang['VIEW_IP_TXTB'] = '[ip]'; +$lang['DELETE_POST_TXTB'] = '[x]'; +$lang['MODERATE_POST_TXTB'] = '[m]'; +$lang['SEND_PM_TXTB'] = '[ЛС]'; +//txtb end + +$lang['DECLENSION']['REPLIES'] = array('ответ', 'ответа', 'ответов'); +$lang['DECLENSION']['TIMES'] = array('раз', 'раза', 'раз'); + +$lang['DELTA_TIME']['INTERVALS'] = array( + 'seconds' => array('секунда', 'секунды', 'секунд'), + 'minutes' => array('минута', 'минуты', 'минут'), + 'hours' => array('час', 'часа', 'часов'), + 'mday' => array('день', 'дня', 'дней'), + 'mon' => array('месяц', 'месяца', 'месяцев'), + 'year' => array('год', 'года', 'лет'), +); +$lang['DELTA_TIME']['FORMAT'] = '%1$s %2$s'; // 5(%1) минут(%2) + +$lang['AUTH_TYPES'][AUTH_ALL] = $lang['AUTH_ANONYMOUS_USERS']; +$lang['AUTH_TYPES'][AUTH_REG] = $lang['AUTH_REGISTERED_USERS']; +$lang['AUTH_TYPES'][AUTH_ACL] = $lang['AUTH_USERS_GRANTED_ACCESS']; +$lang['AUTH_TYPES'][AUTH_MOD] = $lang['AUTH_MODERATORS']; +$lang['AUTH_TYPES'][AUTH_ADMIN] = $lang['AUTH_ADMINISTRATORS']; + +$lang['NEW_USER_REG_DISABLED'] = 'Регистрация новых пользователей временно отключена'; +$lang['ONLY_NEW_POSTS'] = 'только новые сообщения'; +$lang['ONLY_NEW_TOPICS'] = 'только новые темы'; + +$lang['TORHELP_TITLE'] = 'Этим раздачам необходима ваша помощь!'; + +// +// Reports +// +$lang['REPORTS'] = 'Нарушения'; +$lang['REPORTS_DISABLE'] = 'Система нарушений отключена'; +$lang['NEW_REPORT'] = ': одно открыто'; +$lang['NEW_REPORTS'] = ': %d открыто'; +$lang['NO_NEW_REPORTS'] = ': нет открытых'; +$lang['REPORT_INDEX'] = 'Полный список нарушений'; +$lang['STATISTICS'] = 'Статистика'; +$lang['STATISTIC'] = 'Параметр'; +$lang['VALUE'] = 'Значение'; +$lang['REPORT_COUNT'] = 'Текущее число сообщений'; +$lang['REPORT_MODULES_COUNT'] = 'Число модулей'; +$lang['REPORT_HACK_COUNT'] = 'Общее число сообщений'; +$lang['DELETED_REPORTS'] = 'Сообщения, отмеченные для удаления'; +$lang['REPORT_TYPE'] = 'Тип сообщения'; +$lang['REPORT_BY'] = 'от'; +$lang['NO_REPORTS'] = 'Нет сообщений'; +$lang['INVERT_SELECT'] = 'Обратить выделение'; +$lang['REPORTED_BY'] = 'Сообщение от'; +$lang['REPORTED_TIME'] = 'Дата сообщения'; +$lang['STATUS'] = 'Статус'; +$lang['LAST_CHANGED_BY'] = 'Последнее изменение'; +$lang['CHANGES'] = 'Изменения'; +$lang['REPORT_CHANGE_TEXT'] = 'Отмечено как "%1$s" пользователем %2$s в %3$s.'; +$lang['REPORT_CHANGE_TEXT_COMMENT'] = 'Отмечено как "%1$s" пользователем %2$s в %3$s:
    %4$s'; +$lang['REPORT_CHANGE_DELETE_TEXT'] = 'Отмечено для удаления пользователем %1$s в %2$s.'; +$lang['ACTION'] = 'Действие'; +$lang['REPORT_MARK'] = 'Отметить как'; +$lang['OPEN_REPORTS'] = 'открытые сообщения'; +$lang['NO_REPORTS_FOUND'] = 'Подходящих сообщений не найдено.'; +$lang['NO_REPORTS_SELECTED'] = 'Не было выделено ни одного сообщения.'; +$lang['REPORT_NOT_EXISTS'] = 'Выбранное сообщение не существует.'; +$lang['REPORT_NOT_SUPPORTED'] = 'Данная опция не поддерживается.'; +$lang['CLICK_RETURN_REPORT'] = '%sВернуться к сообщению%s'; +$lang['CLICK_RETURN_REPORT_LIST'] = '%sВернуться к списку сообщений%s'; + +$lang['REPORT_STATUS'] = array( + REPORT_NEW => 'Новое', + REPORT_OPEN => 'Открыто', + REPORT_IN_PROCESS => 'В обработке', + REPORT_CLEARED => 'Закрыто', + REPORT_DELETE => 'Отмечено для удаления', +); + +$lang['REASON'] = 'Причина'; +$lang['REPORT_SUBJECT'] = 'Тема'; +$lang['REPORT_TITLE_EMPTY'] = 'Необходимо ввести заголовок сообщения.'; +$lang['REPORT_DESC_EMPTY'] = 'Необходимо ввести сообщение.'; +$lang['REPORT_INSERTED'] = 'Сообщение было отправлено администрации.'; + +$lang['CHANGE_REPORT'] = 'Изменить сообщение'; +$lang['CHANGE_REPORTS'] = 'Изменить сообщения'; +$lang['CHANGE_REPORT_EXPLAIN'] = 'Вы уверены, что хотите изменить статус выбранного сообщения?'; +$lang['CHANGE_REPORTS_EXPLAIN'] = 'Вы уверены, что хотите изменить статус выбранных сообщений?'; +$lang['COMMENT'] = 'Комментарий'; +$lang['REPORT_CHANGED'] = 'Статус выбранного сообщения был изменен.'; +$lang['REPORTS_CHANGED'] = 'Статус выбранных сообщений был изменен.'; + +$lang['DELETE_REPORT'] = 'Удалить сообщение'; +$lang['DELETE_REPORTS'] = 'Удалить сообщения'; +$lang['DELETE_REPORT_EXPLAIN'] = 'Вы уверены, что хотите удалить выбранное сообщение?'; +$lang['DELETE_REPORTS_EXPLAIN'] = 'Вы уверены, что хотите удалить выбранные сообщения?'; +$lang['REPORT_DELETED'] = 'Выбранное сообщение удалено.'; +$lang['REPORTS_DELETED'] = 'Выбранные сообщения удалены.'; +// +// Reports [END] +// + +// search +$lang['SEARCH_S'] = 'поиск…'; +$lang['FORUM_S'] = 'по форуму'; +$lang['TRACKER_S'] = 'по трекеру'; + +// copyright +$lang['NOTICE'] = '!ВНИМАНИЕ!'; +$lang['POWERED'] = 'UG93ZXJlZCBieSA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3RvcnJlbnRwaWVyLm1lIj5Ub3JyZW50UGllciBJSTwvYT4gJmNvcHk7IE1laXRoYXIsIFRvcnJlbnRQaWVyIElJIFRlYW0='; +$lang['COPY'] = 'Сайт не предоставляет электронные версии произведений, а занимается лишь коллекционированием и каталогизацией ссылок, присылаемых и публикуемых на форуме нашими читателями. Если вы являетесь правообладателем какого-либо представленного материала и не желаете, чтобы ссылка на него находилась в нашем каталоге, свяжитесь с нами, и мы незамедлительно удалим ее. Файлы для обмена на трекере предоставлены пользователями сайта, и администрация не несет ответственности за их содержание. Просьба не заливать файлы, защищенные авторскими правами, а также файлы нелегального содержания!'; + +// FILELIST +$lang['FILELIST'] = 'Список файлов'; +$lang['COLLAPSE'] = 'Свернуть директории'; +$lang['EXPAND'] = 'Развернуть'; +$lang['SWITCH'] = 'Переключить'; +$lang['EMPTY_ATTACH_ID'] = 'Отсутствует идентификатор файла!'; +$lang['TOR_NOT_FOUND'] = 'Файл отсутствует на сервере!'; +$lang['ERROR_BUILD'] = 'Ошибка: не удалось выстроить список файлов'; +$lang['TORFILE_INVALID'] = 'Торрент-файл поврежден!'; +// FILELIST + +// Профиль +$lang['WEBSITE_ERROR'] = 'Поле "Сайт" может содержать только http://ссылку'; +$lang['ICQ_ERROR'] = 'Поле "ICQ" может содержать только номер icq'; +$lang['INVALID_DATE'] = 'Ошибка даты '; +$lang['PROFILE_USER'] = 'Профиль пользователя'; +$lang['GOOD_UPDATE'] = 'был успешно изменен'; +$lang['DENY_VISITORS'] = 'Скрывать список текущих закачек в профиле'; +$lang['BAN_USER'] = 'Запретить пользователю'; +$lang['USER_NOT_ALLOWED'] = 'Пользователю запрещено'; +$lang['HIDE_AVATARS'] = 'Показывать аватар'; +$lang['SHOW_CAPTION'] = 'Показывать подпись'; +$lang['DOWNLOAD_TORRENT'] = 'Скачивать торренты'; +$lang['SEND_PM'] = 'Отправлять ЛС'; +$lang['SEND_MESSAGE'] = 'Отправлять сообщения'; +$lang['NEW_THREADS'] = 'Создавать темы'; +$lang['PROFILE_NOT_FOUND'] = 'Профиль не найден'; + +$lang['USER_DELETE'] = 'Удаление'; +$lang['USER_DELETE_EXPLAIN'] = 'Удалить этого пользователя'; +$lang['USER_DELETE_ME'] = 'Извините, свой аккаунт запрещено удалять!'; +$lang['USER_DELETE_CSV'] = 'Извините, этот аккаунт запрещено удалять!'; +$lang['USER_DELETE_CONFIRM'] = 'Вы действительно хотите удалить этого пользователя?'; +$lang['USER_DELETED'] = 'Пользователь был успешно удален'; +$lang['DELETE_USER_ALL_POSTS'] = 'Удалить все сообщения пользователя'; +$lang['DELETE_USER_ALL_POSTS_CONFIRM'] = 'Вы действительно хотите удалить все сообщения и все начатые пользователем топики целиком?'; +$lang['DELETE_USER_POSTS'] = 'Удалить все сообщения, кроме заглавных'; +$lang['DELETE_USER_POSTS_ME'] = 'Вы действительно хотите удалить все свои сообщения?'; +$lang['DELETE_USER_POSTS_CONFIRM'] = 'Вы действительно хотите удалить все сообщения пользователя, кроме заглавных?'; +$lang['USER_DELETED_POSTS'] = 'Сообщения успешно удалены'; + +$lang['USER'] = 'Пользователь'; +$lang['ROLE'] = 'Роль:'; +$lang['MEMBERSHIP_IN'] = 'Членство в группах'; +$lang['PARTY'] = 'Участник:'; +$lang['CANDIDATE'] = 'Кандидат:'; +$lang['INDIVIDUAL'] = 'Имеет индивидуальные права'; +$lang['GROUP_LIST_HIDDEN'] = 'У вас нет прав на просмотр скрытых групп'; + +$lang['USER_ACTIVATE'] = 'Активировать'; +$lang['USER_DEACTIVATE'] = 'Деактивировать'; +$lang['DEACTIVATE_CONFIRM'] = 'Вы действительно хотите активировать этого пользователя?'; +$lang['USER_ACTIVATE_ON'] = 'Пользователь успешно активирован'; +$lang['USER_DEACTIVATE_ME'] = 'Вы не можете деактивировать свой аккаунт!'; +$lang['ACTIVATE_CONFIRM'] = 'Вы действительно хотите деактивировать этого пользователя?'; +$lang['USER_ACTIVATE_OFF'] = 'Пользователь успешно деактивирован'; + +// Регистрация +$lang['CHOOSE_A_NAME'] = 'Вы должны выбрать имя'; +$lang['CHOOSE_E_MAIL'] = 'Вы должны указать e-mail'; +$lang['CHOOSE_PASS'] = 'Поля для ввода пароля не должны быть пустыми!'; +$lang['CHOOSE_PASS_ERR'] = 'Введенные пароли не совпадают'; +$lang['CHOOSE_PASS_ERR_MIN'] = 'Пароль должен быть не короче %d символов'; +$lang['CHOOSE_PASS_ERR_MAX'] = 'Пароль должен быть не длиннее %d символов'; +$lang['CHOOSE_PASS_OK'] = 'Пароли совпадают'; +$lang['CHOOSE_PASS_REG_OK'] = 'Пароли совпадают, можете продолжить регистрацию'; +$lang['CHOOSE_PASS_FAILED'] = 'Для изменения пароля вы должны правильно указать текущий пароль'; +$lang['EMAILER_DISABLED'] = 'Извините, эта функция временно не работает'; +$lang['TERMS_ON'] = 'Я согласен с этими условиями'; +$lang['TERMS_OFF'] = 'Я не согласен с этими условиями'; +$lang['JAVASCRIPT_ON_REGISTER'] = 'Для регистрации необходимо включить JavaScript'; +$lang['REGISTERED_IN_TIME'] = "В данный момент регистрация закрыта

    вы можете зарегистрироваться с 01:00 до 17:00 MSK (сейчас ". date('H:i') ." MSK)

    Приносим извинения за это временное неудобство"; +$lang['AUTOCOMPLETE'] = 'Сгенерировать пароль'; +$lang['YOUR_NEW_PASSWORD'] = 'Ваш пароль: '; +$lang['REGENERATE'] = 'Перегенерировать'; + +// Debug +$lang['EXECUTION_TIME'] = 'Время выполнения:'; +$lang['SEC'] = 'сек'; +$lang['ON'] = 'вкл'; +$lang['OFF'] = 'выкл'; +$lang['MEMORY'] = 'Память: '; +$lang['QUERIES'] = 'запр.'; +$lang['LIMIT'] = 'Лимит:'; + +// Attach Guest +$lang['DOWNLOAD_INFO'] = 'Скачать бесплатно и на максимальной скорости!'; +$lang['HOW_TO_DOWNLOAD'] = 'Как скачивать?'; +$lang['WHAT_IS_A_TORRENT'] = 'Что такое торрент?'; +$lang['RATINGS_AND_LIMITATIONS'] = 'Рейтинг и ограничения'; + +$lang['SCREENSHOTS_RULES'] = 'Прочтите правила размещения скриншотов!'; +$lang['SCREENSHOTS_RULES_TOPIC'] = 'Прочтите правила размещения скриншотов в этом разделе!'; +$lang['AJAX_EDIT_OPEN'] = 'У вас уже открыто одно быстрое редактирование!'; +$lang['GO_TO_PAGE'] = 'К странице…'; +$lang['EDIT'] = 'Изменить'; +$lang['SAVE'] = 'Сохранить'; +$lang['NEW_WINDOW'] = 'в новом окне'; + +// BB Code +$lang['ALIGN'] = 'Выравнивание:'; +$lang['LEFT'] = 'Влево'; +$lang['RIGHT'] = 'Вправо'; +$lang['CENTER'] = 'По центру'; +$lang['JUSTIFY'] = 'По ширине'; +$lang['HOR_LINE'] = 'Горизонтальная линия (Ctrl+8)'; +$lang['NEW_LINE'] = 'Перенос на новую строку'; +$lang['BOLD'] = 'Жирный текст: [b]текст[/b] (Ctrl+B)'; +$lang['ITALIC'] = 'Наклонный текст: [i]текст[/i] (Ctrl+I)'; +$lang['UNDERLINE'] = 'Подчеркнутый текст: [u]текст[/u] (Ctrl+U)'; +$lang['STRIKEOUT'] = 'Зачеркнутый текст: [s]текст[/s] (Ctrl+S)'; +$lang['QUOTE_TITLE'] = 'Цитата: [quote]текст[/quote] (Ctrl+Q)'; +$lang['IMG_TITLE'] = 'Вставить картинку: [img]http://image_url[/img] (Ctrl+R)'; +$lang['URL'] = 'Ссылка'; +$lang['URL_TITLE'] = 'Ссылка (Ctrl+W)'; +$lang['CODE_TITLE'] = 'Код: [code]код[/code] (Ctrl+K)'; +$lang['LIST'] = 'Список'; +$lang['LIST_TITLE'] = 'Список: [list]текст[/list] (Ctrl+L)'; +$lang['LIST_ITEM'] = 'Нумерованный список: [list=]текст[/list] (Ctrl+O)'; +$lang['QUOTE_SEL'] = 'Цит.выдел'; +$lang['TRANSLIT'] = 'Транслит'; +$lang['TRANSLIT_TITLE'] = 'Перевести выделение из транслита на русский'; +$lang['JAVASCRIPT_ON'] = 'Для отправки сообщений необходимо включить JavaScript'; + +$lang['NEW'] = 'Новое'; +$lang['NEWEST'] = 'Непрочит.'; +$lang['LATEST'] = 'Последнее'; +$lang['POST'] = 'Пост'; +$lang['OLD'] = 'Прочит'; + +// DL-лист +$lang['DL_USER'] = 'Пользователь'; +$lang['DL_PERCENT'] = 'Скачано процентов'; +$lang['DL_UL'] = 'Отдано'; +$lang['DL_DL'] = 'Скачано'; +$lang['DL_UL_SPEED'] = 'Отдача'; +$lang['DL_DL_SPEED'] = 'Загрузка'; +$lang['DL_PORT'] = 'Порт'; +$lang['DL_FORMULA'] = 'Формула: Отдано/Размер раздачи'; +$lang['DL_ULR'] = 'ULR'; +$lang['DL_STOPPED'] = 'Остановил Скачивание/Раздачу'; +$lang['DL_UPD'] = 'Подключен: '; +$lang['DL_INFO'] = 'показаны данные только за текущую сессию'; + +// Закрепление первого поста +$lang['POST_PIN'] = 'Закрепить первый пост'; +$lang['POST_UNPIN'] = 'Открепить первый пост'; +$lang['POST_PINNED'] = 'Первый пост закреплен'; +$lang['POST_UNPINNED'] = 'Первый пост откреплен'; + +// Управление моими сообщениями +$lang['GOTO_MY_MESSAGE'] = 'Закрыть и вернуться к списку "Мои сообщения"'; +$lang['DEL_MY_MESSAGE'] = 'Выбранные темы удалены из списка "Мои сообщения"'; +$lang['NO_TOPICS_MY_MESSAGE'] = 'Темы не найдены в списке ваших сообщений (возможно вы их уже удалили)'; +$lang['EDIT_MY_MESSAGE_LIST'] = 'Редактировать список'; +$lang['SELECT_INVERT'] = 'отметить/инвертировать'; +$lang['RESTORE_ALL_POSTS'] = 'Восстановить все сообщения'; +$lang['DEL_LIST_MY_MESSAGE'] = 'Удалить выбранные темы из списка'; +$lang['DEL_LIST_MY_MESSAGE_INFO'] = 'После удаления и до обновления всего списка в нем могут быть показаны уже удаленные темы'; +$lang['DEL_LIST_INFO'] = 'Для удаления тем из списка кликните на иконку слева от названия любого раздела'; + +//Отслеживаемые темы +$lang['WATCHED_TOPICS'] = 'Отслеживаемые темы'; +$lang['NO_WATCHED_TOPICS'] = 'Вы не отслеживаете ни одну из тем'; + +// set_die_append_msg +$lang['INDEX_RETURN'] = 'Вернуться на главную'; +$lang['FORUM_RETURN'] = 'Вернуться в форум'; +$lang['TOPIC_RETURN'] = 'Вернуться в тему'; +$lang['POST_RETURN'] = 'Перейти к сообщению'; +$lang['PROFILE_EDIT_RETURN'] = 'Вернуться к редактированию'; +$lang['PROFILE_RETURN'] = 'Перейти к просмотру профиля'; + +$lang['WARNING'] = 'Предупреждение'; +$lang['INDEXER'] = "Переиндексировать поиск"; + +$lang['FORUM_STYLE'] = 'Стиль форума'; + +$lang['LINKS_ARE_FORBIDDEN'] = 'Ссылки запрещены'; + +$lang['GENERAL'] = 'Общие настройки'; +$lang['USERS'] = 'Пользователи'; +$lang['GROUPS'] = 'Группы'; +$lang['FORUMS'] = 'Форумы'; +$lang['MODS'] = 'Модификации'; +$lang['TORRENTPIER'] = 'Технические настройки'; + +$lang['CONFIGURATION'] = 'Конфигурация'; +$lang['MANAGE'] = 'Управление'; +$lang['DISALLOW'] = 'Запрещенные имена'; +$lang['PRUNE'] = 'Чистка'; +$lang['MASS_EMAIL'] = 'Массовая рассылка почты'; +$lang['RANKS'] = 'Звания'; +$lang['SMILIES'] = 'Смайлики'; +$lang['BAN_MANAGEMENT'] = 'Черные списки (Ban)'; +$lang['WORD_CENSOR'] = 'Автоцензор'; +$lang['EXPORT'] = 'Экспорт'; +$lang['CREATE_NEW'] = 'Создать'; +$lang['ADD_NEW'] = 'Добавить'; +$lang['CRON'] = 'Планировщик задач (cron)'; +$lang['REBUILD_SEARCH_INDEX'] = 'Перечесть индексы поиска'; +$lang['FORUM_CONFIG'] = 'Настройки форумов'; +$lang['TRACKER_CONFIG'] = 'Настройки трекера'; +$lang['RELEASE_TEMPLATES'] = 'Шаблоны для релизов'; +$lang['ACTIONS_LOG'] = 'Отчет по действиям'; + +// +//Welcome page +// +$lang['IDX_BROWSER_NSP_FRAME'] = 'Простите, но ваш браузер не поддерживает фреймы.'; +$lang['IDX_CLEAR_CACHE'] ='Очистить кеш:'; +$lang['IDX_CLEAR_DATASTORE'] = 'Данные'; +$lang['IDX_CLEAR_TEMPLATES'] = 'Шаблоны'; +$lang['IDX_CLEAR_NEWNEWS'] = 'Новости'; +$lang['IDX_UPDATE'] = 'Обновить:'; +$lang['IDX_UPDATE_USER_LEVELS'] = 'Уровни пользователей'; +$lang['IDX_SYNCHRONIZE'] = 'Синхронизировать:'; +$lang['IDX_SYNCHRONIZE_TOPICS'] = 'Темы'; +$lang['IDX_SYNCHRONIZE_POSTCOUNT'] = 'Количество сообщений'; +// +// Welcome page END +// + +// +// Index +// +$lang['MAIN_INDEX'] = 'Список форумов'; +$lang['FORUM_STATS'] = 'Статистика форумов'; +$lang['ADMIN_INDEX'] = 'Главная страница'; +$lang['CREATE_PROFILE'] = 'Создать аккаунт'; + +$lang['TP_VERSION'] = 'Версия TorrentPier II'; +$lang['TP_RELEASE_DATE'] = 'Дата выпуска'; +$lang['PHP_INFO'] = 'Информация о PHP'; + +$lang['CLICK_RETURN_ADMIN_INDEX'] = '%sВернуться на главную страницу администраторского раздела%s'; + +$lang['NUMBER_POSTS'] = 'Кол-во сообщений'; +$lang['POSTS_PER_DAY'] = 'Сообщений в день'; +$lang['NUMBER_TOPICS'] = 'Кол-во тем'; +$lang['TOPICS_PER_DAY'] = 'Тем в день'; +$lang['NUMBER_USERS'] = 'Кол-во пользователей'; +$lang['USERS_PER_DAY'] = 'Пользователей в день'; +$lang['BOARD_STARTED'] = 'Дата запуска'; +$lang['AVATAR_DIR_SIZE'] = 'Размер директории с аватарами'; +$lang['DATABASE_SIZE'] = 'Объем БД'; +$lang['GZIP_COMPRESSION'] ='сжатие Gzip'; +$lang['NOT_AVAILABLE'] = 'Недоступно'; + +// Clear Cache +$lang['CLEAR_CACHE'] = 'Очистить кеш'; +$lang['TEMPLATES'] = 'Шаблона'; + +// Update +$lang['USER_LEVELS'] = 'Уровни и права пользователей'; +$lang['USER_LEVELS_UPDATED'] = 'Уровни и права пользователей обновлены'; + +// Synchronize +$lang['SYNCHRONIZE'] = 'Синхронизировать'; +$lang['TOPICS_DATA_SYNCHRONIZED'] = 'Темы синхронизированы'; +$lang['USER_POSTS_COUNT'] = 'Количество сообщений пользователей'; +$lang['USER POSTS COUNT SYNCHRONIZED'] = 'Количество сообщений пользователей синхронизированы'; + +// Online Userlist +$lang['SHOW_ONLINE_USERLIST'] = 'Показать список пользователей онлайн'; + +// +// Auth pages +// +$lang['USER_SELECT'] = 'Выберите пользователя'; +$lang['GROUP_SELECT'] = 'Выберите группу'; +$lang['SELECT_A_FORUM'] = 'Выберите форум'; +$lang['AUTH_CONTROL_USER'] = 'Права пользователей'; +$lang['AUTH_CONTROL_GROUP'] = 'Права групп'; +$lang['AUTH_CONTROL_FORUM'] = 'Доступ к форумам'; +$lang['LOOK_UP_FORUM'] = 'Выбрать форум'; + +$lang['GROUP_AUTH_EXPLAIN'] = 'Здесь вы можете изменить права доступа и статус модератора для каждой группы пользователей. Не забывайте при изменении прав доступа для групп, что права доступа для отдельных пользователей могут давать пользователю возможность входа в форумы и т.п. Вы будете предупреждены в этом случае.'; +$lang['USER_AUTH_EXPLAIN'] = 'Здесь вы можете изменить права доступа и статус модератора для отдельных пользователей. Не забывайте при изменении прав пользователя, что права доступа для группы могут давать пользователю возможность входа в форумы и т.п. Вы будете предупреждены в этом случае.'; +$lang['FORUM_AUTH_EXPLAIN'] = 'Здесь вы можете регулировать доступ к каждому форуму. У вас будет обычный и продвинутый режим для этого, продвинутый дает больше возможностей для контроля. Помните, что изменение прав доступа к форуму повлияет на то, какие пользователи смогут совершать в нем различные действия.'; + +$lang['SIMPLE_MODE'] = 'Простой режим'; +$lang['ADVANCED_MODE'] = 'Продвинутый режим'; +$lang['MODERATOR_STATUS'] = 'Статус модератора'; + +$lang['ALLOWED_ACCESS'] = 'Доступ открыт'; +$lang['DISALLOWED_ACCESS'] = 'Доступ закрыт'; +$lang['IS_MODERATOR'] = 'Модератор'; + +$lang['CONFLICT_WARNING'] = 'Предупреждение о конфликте прав'; +$lang['CONFLICT_ACCESS_USERAUTH'] = 'У пользователя (пользователей) все еще есть права доступа к этому форуму, связанные с членством в группе. Вам, возможно, надо изменить права доступа для групп или исключить пользователя из группы для того, чтобы полностью закрыть ему права доступа. Группы, дающие такие права, перечислены ниже.'; +$lang['CONFLICT_MOD_USERAUTH'] = 'У данного пользователя все еще есть право модерирования этого форума, связанное с его членством в группе. Вам, возможно, надо изменить права доступа для групп или исключить пользователя из группы для того, чтобы полностью закрыть ему право модерации. Группы, дающие это право, перечислены ниже.'; + +$lang['CONFLICT_ACCESS_GROUPAUTH'] = 'У пользователя (пользователей) все еще есть права доступа к этому форуму из-за установок их личных прав. Вам, возможно, надо изменить их права для того, чтобы полностью закрыть им доступ. Пользователи, имеющие такие права, перечислены ниже.'; +$lang['CONFLICT_MOD_GROUPAUTH'] = 'У пользователя (пользователей) все еще есть право модерирования этого форума из-за установок их личных прав. Вам, возможно, надо изменить их права для того, чтобы полностью закрыть им возможность модерирования. Пользователи, имеющие такие права, перечислены ниже.'; + +$lang['PUBLIC'] = 'Публичный'; +$lang['PRIVATE'] = 'Приватный'; +$lang['REGISTERED'] = 'Зарегистрированный'; +$lang['ADMINISTRATORS'] = 'Администраторы'; + +// These are displayed in the drop down boxes for advanced +// mode forum auth, try and keep them short! +$lang['FORUM_ALL'] = 'Все'; +$lang['FORUM_REG'] = 'Регистр.'; +$lang['FORUM_PRIVATE'] = 'Приватный'; +$lang['FORUM_MOD'] = 'Модератор'; +$lang['FORUM_ADMIN'] = 'Админ'; + +$lang['AUTH_VIEW'] = $lang['VIEW'] = 'Видеть'; +$lang['AUTH_READ'] = $lang['READ'] = 'Читать'; +$lang['AUTH_POST'] = $lang['POST'] = 'Создавать темы'; +$lang['AUTH_REPLY'] = $lang['REPLY'] = 'Отвечать'; +$lang['AUTH_EDIT'] = $lang['EDIT'] = 'Редактировать'; +$lang['AUTH_DELETE'] = $lang['DELETE'] = 'Удалить'; +$lang['AUTH_STICKY'] = $lang['STICKY'] = 'Прилеплять темы'; +$lang['AUTH_ANNOUNCE'] = $lang['ANNOUNCE'] = 'Создавать объявления'; +$lang['AUTH_VOTE'] = $lang['VOTE'] = 'Голосовать'; +$lang['AUTH_POLLCREATE'] = $lang['POLLCREATE'] = 'Создавать опросы'; +$lang['AUTH_ATTACHMENTS'] = $lang['AUTH_ATTACH'] = 'Прикреплять файлы'; +$lang['AUTH_DOWNLOAD'] = 'Скачивать файлы'; + +$lang['SIMPLE_PERMISSION'] = 'Простое право доступа'; + +$lang['USER_LEVEL'] = 'Статус пользователя'; +$lang['AUTH_USER'] = 'Пользователь'; +$lang['AUTH_ADMIN'] = 'Администратор'; +$lang['GROUP_MEMBERSHIPS'] = 'Членство в группах'; +$lang['USERGROUP_MEMBERS'] = 'В этой группе состоят'; + +$lang['FORUM_AUTH_UPDATED'] = 'Права доступа к форуму изменены'; +$lang['USER_AUTH_UPDATED'] = 'Права пользователя изменены'; +$lang['GROUP_AUTH_UPDATED'] = 'Права группы изменены'; + +$lang['AUTH_UPDATED'] = 'Права доступа изменены'; +$lang['CLICK_RETURN_USERAUTH'] = '%sВернуться к управлению правами пользователей%s'; +$lang['CLICK_RETURN_GROUPAUTH'] = '%sВернуться к управлению правами групп%s'; +$lang['CLICK_RETURN_FORUMAUTH'] = '%sВернуться к управлению доступом к форумам%s'; + +// +// Banning +// +$lang['BAN_CONTROL'] = 'Черные списки'; +$lang['BAN_EXPLAIN'] = 'Здесь вы можете закрывать пользователям любой доступ к форумам. Вы можете внести в черный список конкретного пользователя, а также один ил несколько IP адресов или имен серверов. Этот метод не даст пользователю увидеть даже список форумов. Чтобы запретить регистрацию под другим именем, вы можете также внести в черный список адрес e-mail. Учтите, запрещение только e-mail адреса не закроет пользователю возможность заходить на форум и писать сообщения. Для этого вам придется воспользоваться одним из первых двух методов.'; +$lang['BAN_EXPLAIN_WARN'] = 'Учтите, что ввод диапазона IP адресов приведет к добавлению всех адресов между первым и последним в «черный список». Будут проделаны попытки уменьшить это количество вводом шаблонов, где это возможно. Если вам действительно надо ввести диапазон адресов, постарайтесь сделать его поменьше или, что еще лучше, вводите отдельные адреса.'; + +$lang['SELECT_IP'] = 'Выберите IP адрес'; +$lang['SELECT_EMAIL'] = 'Выберите адрес e-mail'; + +$lang['BAN_USERNAME'] = 'Закрытие доступа отдельным пользователям'; +$lang['BAN_USERNAME_EXPLAIN'] = 'Вы можете закрыть доступ нескольким пользователям за один раз, используя подходящую для вашего компьютера и браузера комбинацию клавиатуры и мыши.'; + +$lang['BAN_IP'] = 'Закрыть доступ с одного или нескольких адресов IP или хостов'; +$lang['IP_HOSTNAME'] = 'Адреса IP или хосты'; +$lang['BAN_IP_EXPLAIN'] = 'Чтобы указать несколько разных адресов или хостов, разделите их запятыми. Чтобы указать последовательность адресов IP разделите начало и конец дефисом (-), чтобы указать шаблон используйте *'; + +$lang['BAN_EMAIL'] = 'Запретить e-mail адреса'; +$lang['BAN_EMAIL_EXPLAIN'] = 'Чтобы запретить несколько e-mail адресов, разделите их запятыми. Чтобы указать шаблон, используйте *, например *@mail.ru'; + +$lang['UNBAN_USERNAME'] = 'Вновь открыть доступ пользователям'; +$lang['UNBAN_USERNAME_EXPLAIN'] = 'Вы можете вновь открыть доступ нескольким пользователям за один раз, используя подходящую для вашего компьютера и браузера комбинацию клавиатуры и мыши.'; + +$lang['UNBAN_IP'] = 'Вновь открыть доступ с адресов IP'; +$lang['UNBAN_IP_EXPLAIN'] = 'Вы можете вновь разрешить доступ с нескольких адресов IP за один раз, используя подходящую для вашего компьютера и браузера комбинацию клавиатуры и мыши.'; + +$lang['UNBAN_EMAIL'] = 'Вновь разрешить адреса e-mail'; +$lang['UNBAN_EMAIL_EXPLAIN'] = 'Вы можете вновь разрешить несколько адресов e-mail за один раз, используя подходящую для вашего компьютера и браузера комбинацию клавиатуры и мыши.'; + +$lang['NO_BANNED_USERS'] = 'Черный список пользователей пуст'; +$lang['NO_BANNED_IP'] = 'Черный список адресов IP пуст'; +$lang['NO_BANNED_EMAIL'] = 'Черный список адресов e-mail пуст'; + +$lang['BAN_UPDATE_SUCESSFUL'] = 'Черный список был успешно обновлен'; +$lang['CLICK_RETURN_BANADMIN'] = '%sВернуться к черным спискам%s'; + +// +// Configuration +// +$lang['GENERAL_CONFIG'] = 'Общие настройки'; +$lang['CONFIG_EXPLAIN'] = 'Эта форма позволит вам изменить общие настройки форумов. Для управления пользователями и отдельными форумами используйте соответствующие ссылки слева.'; + +$lang['CONFIG_MODS'] = 'Настройки модификаций'; +$lang['MODS_EXPLAIN'] = 'Эта форма позволит вам изменить настройки модификаций.'; + +$lang['CLICK_RETURN_CONFIG'] = '%sВернуться к общим настройкам%s'; +$lang['CLICK_RETURN_CONFIG_MODS'] = '%sВернуться к настройкам модификаций%s'; + +$lang['GENERAL_SETTINGS'] = 'Общие настройки форумов'; +$lang['SITE_NAME'] = 'Название сайта'; +$lang['SITE_DESC'] = 'Описание сайта'; +$lang['FORUMS_DISABLE'] = 'Отключить форумы'; +$lang['BOARD_DISABLE_EXPLAIN'] = 'Форумы станут недоступными пользователям. У Администраторов останется доступ через Панель Администрирования пока форум выключен.'; +$lang['ACCT_ACTIVATION'] = 'Включить активизацию учетных записей'; +$lang['ACC_NONE'] = 'Нет'; // These three entries are the type of activation +$lang['ACC_USER'] = 'Пользователем'; +$lang['ACC_ADMIN'] = 'Администратором'; + +$lang['ABILITIES_SETTINGS'] = 'Общие настройки форумов и пользователей'; +$lang['MAX_POLL_OPTIONS'] = 'Макс. кол-во вариантов ответа в опросе'; +$lang['FLOOD_INTERVAL'] = 'Задержка «флуда»'; +$lang['FLOOD_INTERVAL_EXPLAIN'] = 'Время (в секундах), которое должно пройти между двумя сообщениями пользователя.'; +$lang['TOPICS_PER_PAGE'] = 'Тем на страницу'; +$lang['POSTS_PER_PAGE'] = 'Сообщений на страницу'; +$lang['HOT_THRESHOLD'] = 'Сообщений в «популярной» теме'; +$lang['DEFAULT_LANGUAGE'] = 'Язык по умолчанию'; +$lang['DATE_FORMAT'] = 'Формат даты'; +$lang['SYSTEM_TIMEZONE'] = 'Часовой пояс'; +$lang['ENABLE_PRUNE'] = 'Включить чистку форумов'; +$lang['ALLOW_BBCODE'] = 'Разрешить BBCode'; +$lang['ALLOW_SMILIES'] = 'Разрешить смайлики'; +$lang['SMILIES_PATH'] = 'Путь к смайликам'; +$lang['SMILIES_PATH_EXPLAIN'] = 'Каталог ниже корня phpBB, например images/smilies'; +$lang['ALLOW_SIG'] = 'Разрешить подписи'; +$lang['MAX_SIG_LENGTH'] = 'Макс. длина подписи'; +$lang['MAX_SIG_LENGTH_EXPLAIN'] = 'Максимальное кол-во символов в подписи пользователя'; +$lang['ALLOW_NAME_CHANGE'] = 'Разрешить смену имени пользователя'; + +$lang['EMAIL_SETTINGS'] = 'Настройки e-mail'; + +// Visual Confirmation +$lang['VISUAL_CONFIRM'] = 'Включить визуальное подтверждение'; +$lang['VISUAL_CONFIRM_EXPLAIN'] = 'Потребовать от пользователей ввести при регистрации изображенный на картинке код.'; + +// Autologin Keys - added 2.0.18 +$lang['ALLOW_AUTOLOGIN'] = 'Разрешить автоматический вход на форум'; +$lang['ALLOW_AUTOLOGIN_EXPLAIN'] = 'Разрешен ли пользователям автоматический вход на форум'; +$lang['AUTOLOGIN_TIME'] = 'Автоматический вход на форум действителен'; +$lang['AUTOLOGIN_TIME_EXPLAIN'] = 'Срок в днях с последнего посещения, в течение которого пользователь может автоматически войти на форум. Установите равным нулю, если хотите отключить данную возможность.'; + +// +// Forum Management +// +$lang['FORUM_ADMIN_MAIN'] = 'Управление форумами'; +$lang['FORUM_ADMIN_EXPLAIN'] = 'Здесь вы можете создавать, удалять и изменять порядок вывода категорий и форумов'; +$lang['EDIT_FORUM'] = 'Изменить форум'; +$lang['CREATE_FORUM'] = 'Создать новый форум'; +$lang['CREATE_CATEGORY'] = 'Создать новую категорию'; +$lang['REMOVE'] = 'Удалить'; +$lang['UPDATE_ORDER'] = 'Изменить порядок'; +$lang['CONFIG_UPDATED'] = 'Конфигурация форумов успешно изменена'; +$lang['MOVE_UP'] = 'вверх'; // 'Сдвинуть вверх'; +$lang['MOVE_DOWN'] = 'вниз'; // 'Сдвинуть вниз'; +$lang['RESYNC'] = 'Синхронизация'; +$lang['NO_MODE'] = 'Не было задано действие'; +$lang['FORUM_EDIT_DELETE_EXPLAIN'] = 'Здесь вы можете изменить название и описание форума, закрыть его (или вновь открыть) и настроить автоматическую чистку. Для управления правами доступа к форуму воспользуйтесь соответствующей ссылкой в левой части.'; + +$lang['MOVE_CONTENTS'] = 'Перенести все содержимое'; +$lang['FORUM_DELETE'] = 'Удалить форум'; +$lang['FORUM_DELETE_EXPLAIN'] = 'Здесь вы сможете удалить форум (или категорию) и решить, куда перенести все темы (или форумы), которые там содержались.'; +$lang['CATEGORY_DELETE'] = 'Удалить Категорию'; + +$lang['STATUS_LOCKED'] = 'Закрыт'; +$lang['STATUS_UNLOCKED'] = 'Открыт'; +$lang['FORUM_SETTINGS'] = 'Общие параметры форума'; +$lang['FORUM_NAME'] = 'Название форума'; +$lang['FORUM_DESC'] = 'Описание'; +$lang['FORUM_STATUS'] = 'Статус форума'; +$lang['FORUM_PRUNING'] = 'Автоматическая чистка'; + +$lang['PRUNE_DAYS'] = 'Удалять темы, в которых не было сообщений последние'; +$lang['SET_PRUNE_DATA'] = 'Вы выбрали для этого форума автоматическую чистку, но не указали количество дней. Пожалуйста, вернитесь и укажите.'; + +$lang['MOVE_AND_DELETE'] = 'Перенести и удалить'; + +$lang['DELETE_ALL_POSTS'] = 'Удалить все темы'; +$lang['NOWHERE_TO_MOVE'] = 'Некуда переносить'; + +$lang['EDIT_CATEGORY'] = 'Изменить категорию'; +$lang['EDIT_CATEGORY_EXPLAIN'] = 'Используйте эту форму, чтобы изменить название категории'; + +$lang['FORUMS_UPDATED'] = 'Информация о форумах и категориях успешно изменена'; + +$lang['MUST_DELETE_FORUMS'] = 'Вы должны удалить все форумы, прежде чем сможете удалить эту категорию'; + +$lang['CLICK_RETURN_FORUMADMIN'] = '%sВернуться к управлению форумами%s'; + +$lang['SHOW_ALL_FORUMS_ON_ONE_PAGE'] = 'Открыть все форумы на одной странице'; + +// +// Smiley Management +// +$lang['SMILEY_TITLE'] = 'Утилита редактирования смайликов'; +$lang['SMILE_DESC'] = 'Здесь вы можете редактировать список смайликов'; + +$lang['SMILEY_CONFIG'] = 'Управление смайликами'; +$lang['SMILEY_CODE'] = 'Код смайлика'; +$lang['SMILEY_URL'] = 'Файл с изображением смайлика'; +$lang['SMILEY_EMOT'] = 'Эмоция смайлика'; +$lang['SMILE_ADD'] = 'Добавить новый смайлик'; +$lang['SMILE'] = 'Смайлик'; +$lang['EMOTION'] = 'Эмоция'; + +$lang['SELECT_PAK'] = 'Выберите файл с набором (.pak)'; +$lang['REPLACE_EXISTING'] = 'Заменить существующий смайлик'; +$lang['KEEP_EXISTING'] = 'Сохранить существующий смайлик'; +$lang['SMILEY_IMPORT_INST'] = 'Вы должны распаковать набор смайликов и закачать все файлы в подходящую для вашей установки директорию. Потом выберите в этой форме нужную информацию для импорта набора смайликов.'; +$lang['SMILEY_IMPORT'] = 'Импорт набора смайликов'; +$lang['CHOOSE_SMILE_PAK'] = 'Выберите файл .pak с набором'; +$lang['IMPORT'] = 'Импортировать смайлики'; +$lang['SMILE_CONFLICTS'] = 'Что делать в случае конфликта'; +$lang['DEL_EXISTING_SMILEYS'] = 'Удалить перед импортом существующие смайлики'; +$lang['IMPORT_SMILE_PACK'] = 'Импортировать набор смайликов'; +$lang['EXPORT_SMILE_PACK'] = 'Создать набор смайликов'; +$lang['EXPORT_SMILES'] = 'Для создания набора смайликов из смайликов, установленных в данный момент, %sскачайте файл smiles.pak%s. Переименуйте его как вам нужно, сохранив при этом расширение .pak, затем создайте файл zip, содержащий все изображения смайликов, а также этот файл.'; + +$lang['SMILEY_ADD_SUCCESS'] = 'Смайлик был успешно добавлен'; +$lang['SMILEY_EDIT_SUCCESS'] = 'Смайлик был успешно изменен'; +$lang['SMILEY_IMPORT_SUCCESS'] = 'Набор смайликов был успешно импортирован'; +$lang['SMILEY_DEL_SUCCESS'] = 'Смайлик был успешно удален'; +$lang['CLICK_RETURN_SMILEADMIN'] = '%sВернуться к списку смайликов%s'; + +// +// User Management +// +$lang['USER_ADMIN'] = 'Управление пользователями'; +$lang['USER_ADMIN_EXPLAIN'] = 'Здесь вы можете изменить информацию о пользователе. Чтобы изменить права доступа используйте панель управления правами доступа'; + +$lang['LOOK_UP_USER'] = 'Выбрать пользователя'; + +$lang['ADMIN_USER_FAIL'] = 'Не могу изменить профиль пользователя'; +$lang['ADMIN_USER_UPDATED'] = 'Профиль пользователя был успешно изменен'; +$lang['CLICK_RETURN_USERADMIN'] = '%sВернуться к управлению пользователями%s'; + +$lang['USER_ALLOWPM'] = 'Может посылать личные сообщения'; +$lang['USER_ALLOWAVATAR'] = 'Может показывать аватару'; + +$lang['ADMIN_AVATAR_EXPLAIN'] = 'Здесь вы можете просмотреть и удалить текущую аватару пользователя'; + +$lang['USER_SPECIAL'] = 'Поля только для админа'; +$lang['USER_SPECIAL_EXPLAIN'] = 'Эти поля сами пользователи редактировать не могут. Здесь вы можете установить их статус и сделать прочие недоступные им настройки.'; + +// +// Group Management +// +$lang['GROUP_ADMINISTRATION'] = 'Управление группами'; +$lang['GROUP_ADMIN_EXPLAIN'] = 'Здесь вы можете управлять всеми вашими группами: это включает удаление, добавление и изменение групп. Вы можете назначать модераторов, изменять открытый/закрытый статус группы и устанавливать ее название и описание.'; +$lang['ERROR_UPDATING_GROUPS'] = 'Ошибка при изменении группы.'; +$lang['UPDATED_GROUP'] = 'Группа была успешно изменена'; +$lang['ADDED_NEW_GROUP'] = 'Группа была успешно создана'; +$lang['DELETED_GROUP'] = 'Группа была успешно удалена'; +$lang['CREATE_NEW_GROUP'] = 'Создать новую группу'; +$lang['EDIT_GROUP'] = 'Изменить группу'; +$lang['GROUP_STATUS'] = 'Статус группы'; +$lang['GROUP_DELETE'] = 'Удалить группу.'; +$lang['GROUP_DELETE_CHECK'] = 'Удалить эту группу'; +$lang['SUBMIT_GROUP_CHANGES'] = 'Сохранить изменения'; +$lang['RESET_GROUP_CHANGES'] = 'Отменить изменения'; +$lang['NO_GROUP_NAME'] = 'Вы должны указать название группы'; +$lang['NO_GROUP_MODERATOR'] = 'Вы должны выбрать модератора группы'; +$lang['NO_GROUP_MODE'] = 'Вы должны выбрать режим группы: открытый или закрытый'; +$lang['NO_GROUP_ACTION'] = 'Не было выбрано действие'; +$lang['DELETE_OLD_GROUP_MOD'] = 'Удалить старого модератора?'; +$lang['DELETE_OLD_GROUP_MOD_EXPL'] = 'Если вы меняете модератора группы и поставите здесь галочку, то предыдущий модератор будет исключен из группы. Если вы ее не поставите, то он станет обычным членом группы.'; +$lang['CLICK_RETURN_GROUPSADMIN'] = '%sВернуться к управлению группами%s'; +$lang['SELECT_GROUP'] = 'Выберите группу'; +$lang['LOOK_UP_GROUP'] = 'Выбрать группу'; + +// +// Prune Administration +// +$lang['FORUM_PRUNE'] = 'Чистка форумов'; +$lang['FORUM_PRUNE_EXPLAIN'] = 'Будут удалены темы, в которых не было новых сообщений за выбранное число дней. Если вы не введете число, то будут удалены все темы. Не будут удалены прилепленные темы и объявления. Вам придется удалять такие темы вручную.'; +$lang['DO_PRUNE'] = 'Провести чистку'; +$lang['ALL_FORUMS'] = 'Все форумы'; +$lang['PRUNE_TOPICS_NOT_POSTED'] = 'Удалить темы, в которых не было ответов за данное кол-во дней'; +$lang['TOPICS_PRUNED'] = 'Тем вычищено'; +$lang['POSTS_PRUNED'] = 'Сообщений вычищено'; +$lang['PRUNE_SUCCESS'] = 'Форум успешно почищен'; +$lang['NOT_DAYS'] = 'Вы не указали количество дней'; + +// +// Word censor +// +$lang['WORDS_TITLE'] = 'Автоцензор'; +$lang['WORDS_EXPLAIN'] = 'Здесь вы можете добавить, изменить или удалить слова, которые будут автоматически подвергаться цензуре на ваших форумах. Кроме того, пользователи не смогут зарегистрироваться под именами, содержащими эти слова. В списке слов могут использоваться шаблоны (*), т.е. к \'*тест*\' подойдет \'протестировать\', к \'тест*\' — \'тестирование\', к \'*тест\' — \'протест\'.
    (Примечание переводчика) Рекомендую пользоваться этой фичей очень аккуратно: например, некие очевидные замены буду неадекватно реагировать на слова \'потребитель\', \'употреблять\' и т.п.'; +$lang['WORD'] = 'Слово'; +$lang['EDIT_WORD_CENSOR'] = 'Изменить автоцензор'; +$lang['REPLACEMENT'] = 'Замена'; +$lang['ADD_NEW_WORD'] = 'Добавить новое слово'; +$lang['UPDATE_WORD'] = 'Обновить автоцензор'; + +$lang['MUST_ENTER_WORD'] = 'Вы должны ввести слово и его замену'; +$lang['NO_WORD_SELECTED'] = 'Не выбрано слово для редактирования'; + +$lang['WORD_UPDATED'] = 'Выбранный автоцензор был успешно изменен'; +$lang['WORD_ADDED'] = 'Автоцензор был успешно добавлен'; +$lang['WORD_REMOVED'] = 'Выбранный автоцензор был успешно удален'; + +$lang['CLICK_RETURN_WORDADMIN'] = '%sВернуться к управлению автоцензором%s'; + +// +// Mass Email +// +$lang['MASS_EMAIL_EXPLAIN'] = 'Вы можете разослать e-mail сообщение либо всем вашим пользователям, либо пользователям, входящим в определенную группу. Сообщение будет отправлено на административный адрес, с BCC: всем получателям. Если вы отправляете письмо большой группе людей, то будьте терпеливы: не останавливайте загрузку страницы после нажатия кнопки. Массовая рассылка может занять много времени, вы увидите сообщение, когда выполнение завершится.'; +$lang['COMPOSE'] = 'Текст сообщения'; + +$lang['RECIPIENTS'] = 'Получатели'; +$lang['ALL_USERS'] = 'Все пользователи'; + +$lang['EMAIL_SUCCESSFULL'] = 'Ваше сообщение было отправлено'; +$lang['CLICK_RETURN_MASSEMAIL'] = '%sВернуться к массовой рассылке%s'; + +// +// Ranks admin +// +$lang['RANKS_TITLE'] = 'Управление званиями'; +$lang['RANKS_EXPLAIN'] = 'Здесь вы можете добавлять, редактировать, просматривать и удалять звания. Вы также можете создавать специальные звания, которые могут затем быть присвоены пользователям на странице управления пользователями.'; + +$lang['ADD_NEW_RANK'] = 'Новое звание'; +$lang['RANK_TITLE'] = 'Звание'; +$lang['STYLE_COLOR'] = 'Стиль звания'; +$lang['STYLE_COLOR_FAQ'] = 'Укажите class для окраски звания в нужный цвет. Например colorAdmin'; +$lang['RANK_SPECIAL'] = 'Специальное звание'; +$lang['RANK_MINIMUM'] = 'Минимум сообщений'; +$lang['RANK_MAXIMUM'] = 'Максимум сообщений'; +$lang['RANK_IMAGE'] = 'Картинка к званию'; +$lang['RANK_IMAGE_EXPLAIN'] = 'Здесь вы можете присвоить всем имеющим такое звание специальное изображение. Вы можете указать либо относительный, либо абсолютный путь к изображению'; + +$lang['MUST_SELECT_RANK'] = 'Извините, вы не выбрали звание. Вернитесь и попробуйте еще раз.'; +$lang['NO_ASSIGNED_RANK'] = 'Специального звания не присвоено'; + +$lang['RANK_UPDATED'] = 'Звание было успешно изменено'; +$lang['RANK_ADDED'] = 'Звание было успешно добавлено'; +$lang['RANK_REMOVED'] = 'Звание было успешно удалено'; +$lang['NO_UPDATE_RANKS'] = 'Звание было успешно удалено. Тем не менее, информация о пользователях, у которых было это звание, не была изменена. Вам придется изменить эту информацию вручную.'; + +$lang['CLICK_RETURN_RANKADMIN'] = '%sВернуться к управлению званиями%s'; + +// +// Disallow Username Admin +// +$lang['DISALLOW_CONTROL'] = 'Запрещенные имена пользователя'; +$lang['DISALLOW_EXPLAIN'] = "Здесь вы можете задать имена, которые будут запрещены к использованию. Запрещенные имена могут содержать шаблон '*'. Учтите: вы не сможете запретить имя, если уже существует пользователь с таким именем. Вам придется сначала удалить пользователя, а уже потом запретить имя."; + +$lang['DELETE_DISALLOW'] = 'Удалить'; +$lang['DELETE_DISALLOW_TITLE'] = 'Удалить запрещенное имя пользователя'; +$lang['DELETE_DISALLOW_EXPLAIN'] = 'Вы можете убрать запрещенное имя, выбрав его из списка и нажав кнопку «сохранить»'; + +$lang['ADD_DISALLOW'] = 'Добавить'; +$lang['ADD_DISALLOW_TITLE'] = 'Добавить запрещенное имя пользователя'; +$lang['ADD_DISALLOW_EXPLAIN'] = 'Вы можете запретить имя пользователя, используя шаблон \'*\', который подходит к любому символу'; + +$lang['NO_DISALLOWED'] = 'Нет запрещенных имен'; + +$lang['DISALLOWED_DELETED'] = 'Запрещенное имя пользователя было успешно удалено'; +$lang['DISALLOW_SUCCESSFUL'] = 'Запрещенное имя пользователя было успешно добавлено'; +$lang['DISALLOWED_ALREADY'] = 'Имя, которое вы пытаетесь запретить, либо уже запрещено, либо есть в списке нецензурных слов, либо существует пользователь с подходящим именем'; + +$lang['CLICK_RETURN_DISALLOWADMIN'] = '%sВернуться к управлению запрещенными именами%s'; + +// +// Version Check +// +$lang['VERSION_INFORMATION'] = 'Информация о версии TorrentPier II'; + +// +// Login attempts configuration +// +$lang['MAX_LOGIN_ATTEMPTS'] = 'Разрешено попыток входа'; +$lang['MAX_LOGIN_ATTEMPTS_EXPLAIN'] = 'Количество разрешенных попыток входа на трекер. Для отключения поставьте 0.'; +$lang['LOGIN_RESET_TIME'] = 'Время блокировки имени пользователя.'; +$lang['LOGIN_RESET_TIME_EXPLAIN'] = 'Время, через которое пользователь сможет войти на трекер, после превышения количества разрешенных попыток входа (в минутах).'; + +// +// Permissions List +// +$lang['PERMISSIONS_LIST'] = 'Список прав доступа'; +$lang['AUTH_CONTROL_CATEGORY'] = 'Права доступа к категориям'; +$lang['FORUM_AUTH_LIST_EXPLAIN'] = 'Здесь вы можете установить права доступа для каждого форума. Вы можете изменить права с помощью простого или продвинутого режима, нажав на название форума. Помните, что изменение уровня прав доступа к форумам повлияет на то, какие пользователи смогут выполнять в них различные действия.'; +$lang['CAT_AUTH_LIST_EXPLAIN'] = 'Здесь вы можете установить права доступа для каждого форума в этой категории. Вы можете изменить права отдельных форумов с помощью простого или продвинутого режима, нажав на название форума. Кроме того, вы можете установить общие права для всех форумов в этой категории с помощью выпадающего меню в нижней части страницы. Помните, что изменение уровня прав доступа к форумам повлияет на то, какие пользователи смогут выполнять в них различные действия.'; +$lang['FORUM_AUTH_LIST_EXPLAIN_ALL'] = 'Все пользователи'; +$lang['FORUM_AUTH_LIST_EXPLAIN_REG'] = 'Все зарегистрированые пользователи'; +$lang['FORUM_AUTH_LIST_EXPLAIN_PRIVATE'] = 'Только пользователи со спец правами'; +$lang['FORUM_AUTH_LIST_EXPLAIN_MOD'] = 'Только модераторы этого форума'; +$lang['FORUM_AUTH_LIST_EXPLAIN_ADMIN'] = 'Только администраторы'; +$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_VIEW'] = '%s могут просматривать этот форум'; +$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_READ'] = '%s могут просматривать сообщения в этом форуме'; +$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_POST'] = '%s могут создавать сообщения в этом форуме'; +$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_REPLY'] = '%s могут отвечать на сообщения в этом форуме'; +$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_EDIT'] = '%s могут редактировать сообщения в этом форуме'; +$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_DELETE'] = '%s могут удалять сообщения в этом форуме'; +$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_STICKY'] = '%s могут прикреплять темы в этом форуме'; +$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_ANNOUNCE'] = '%s могут размещать объявления в этом форуме'; +$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_VOTE'] = '%s могут голосовать в опросах этого форума'; +$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_POLLCREATE'] = '%s могут создавать опросы в этом форуме'; +$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_ATTACHMENTS'] = '%s могут прикреплять вложения'; +$lang['FORUM_AUTH_LIST_EXPLAIN_AUTH_DOWNLOAD'] = '%s могут скачивать вложения'; + +// +// Misc +// +$lang['SF_SHOW_ON_INDEX'] = 'Показывать на главной'; +$lang['SF_PARENT_FORUM'] = 'Родительский форум'; +$lang['SF_NO_PARENT'] = 'Нет родительского форума'; +$lang['TEMPLATE'] = 'Шаблон'; + +// +// Reports +// +$lang['REPORT_CONFIG_EXPLAIN'] = 'На этой странице находятся основные настройки модуля "Сообщения о нарушениях".'; +$lang['REPORT_SUBJECT_AUTH'] = 'Индивидуальные права доступа'; +$lang['REPORT_SUBJECT_AUTH_EXPLAIN'] = 'Если опция включена, то модераторы смогут просматривать и редактировать только сообщения о нарушениях в модерируемых ими форумах.'; +$lang['REPORT_MODULES_CACHE'] = 'Кэшировать модули в файлах'; +$lang['REPORT_MODULES_CACHE_EXPLAIN'] = 'Замечание: права доступа к директории cache в режим "полный доступ на запись и чтение" (CHMOD 777).'; +$lang['REPORT_NOTIFY'] = 'Уведомления по e-mail'; +$lang['REPORT_NOTIFY_CHANGE'] = 'об изменениях статусов и новых сообщениях'; +$lang['REPORT_NOTIFY_NEW'] = 'о новых сообщениях'; +$lang['REPORT_LIST_ADMIN'] = 'Список сообщений доступен только администратору'; +$lang['REPORT_NEW_WINDOW'] = 'Открывать страницу с нарушением в новом окне'; +$lang['REPORT_NEW_WINDOW_EXPLAIN'] = 'Эта опция так же влияет на вид ссылок к форме отправки сообщения о нарушении на страницах просмотра тем.'; +$lang['REPORT_CONFIG_UPDATED'] = 'Конфигурция обновлена.'; +$lang['CLICK_RETURN_REPORT_CONFIG'] = '%sНажмите%s для возврата к настройкам модуля.'; + +$lang['MODULES_REASONS'] = 'Модули и Причины'; +$lang['REPORT_ADMIN_EXPLAIN'] = 'На этой странице вы можете установить новый модуль, изменить настройки модуля или удалить уже установленный модуль. Так же здесь вы можете задать установить Причины написания сообщений о нарушении для каждого модуля.'; +$lang['REPORT_MODULE'] = 'Модуль Сообщений о нарушении'; +$lang['INSTALLED_MODULES'] = 'Установленные модули'; +$lang['NO_MODULES_INSTALLED'] = 'Нет установленных модулей'; +$lang['REASONS'] = 'Причины (%d)'; +$lang['SYNC'] = 'Синхронизировать'; +$lang['UNINSTALL'] = 'Удалить'; +$lang['INSTALL2'] = 'Установить'; +$lang['INACTIVE_MODULES'] = 'Неактивные модули'; +$lang['NO_MODULES_INACTIVE'] = 'Нет неактивных модулей'; +$lang['REPORT_MODULE_NOT_EXISTS'] = 'Выбранный модель не существует.'; +$lang['CLICK_RETURN_REPORT_ADMIN'] = '%sНажмите%s для возврата к настройкам Модулей и Причин.'; + +$lang['BACK_MODULES'] = 'Назад к модулям'; +$lang['REPORT_REASON'] = 'Причина написания сообщения'; +$lang['NO_REASONS'] = 'Нет определенных Причин для этого модуля'; +$lang['ADD_REASON'] = 'Добавить Причину'; +$lang['EDIT_REASON'] = 'Редактировать Причину'; +$lang['REASON_DESC_EXPLAIN'] = 'Если название совпадет с языковой переменно, то будет использована переменная.'; +$lang['REASON_DESC_EMPTY'] = 'Нобходимо ввести текст Причины.'; +$lang['REPORT_REASON_ADDED'] = 'Причина добавлена.'; +$lang['REPORT_REASON_EDITED'] = 'Причина отредактирована.'; +$lang['DELETE_REASON'] = 'Удалить Причину'; +$lang['DELETE_REPORT_REASON_EXPLAIN'] = 'Вы уверены, что хотите удалить выбранную Причину?'; +$lang['REPORT_REASON_DELETED'] = 'Причина удалена.'; +$lang['REPORT_REASON_NOT_EXISTS'] = 'Выбранная Причина не существует.'; +$lang['CLICK_RETURN_REPORT_REASONS'] = '%sНажмите%s для возврата к настройкам Причин сообщений о нарушениях.'; + +$lang['REPORT_MODULE_SYNCED'] = 'Модуль синхронизирован.'; + +$lang['UNINSTALL_REPORT_MODULE'] = 'Удалить модуль'; +$lang['UNINSTALL_REPORT_MODULE_EXPLAIN'] = 'Вы уверены, что хотите удалить выбранный модуль?
    Замечание: все сообщения для этого модуля также будут удалены.'; +$lang['REPORT_MODULE_UNINSTALLED'] = 'Модуль удален.'; + +$lang['INSTALL_REPORT_MODULE'] = 'Установить модуль'; +$lang['EDIT_REPORT_MODULE'] = 'Редактировать настройки модуля'; +$lang['REPORT_PRUNE'] = 'Очистить сообщения'; +$lang['REPORT_PRUNE_EXPLAIN'] = 'Зыкрытые и отмеченные для удаления сообщения автоматически будут удалены через x дней. Значение zero отключает автоматическую чистку.'; +$lang['REPORT_PERMISSIONS'] = 'Права доступа'; +$lang['WRITE'] = 'Написать'; +$lang['REPORT_AUTH'] = array( + REPORT_AUTH_USER => 'Пользователи', + REPORT_AUTH_MOD => 'Модераторы', + REPORT_AUTH_CONFIRM => 'Модераторы (после подтверждения)', + REPORT_AUTH_ADMIN => 'Администраторы'); +$lang['REPORT_AUTH_NOTIFY_EXPLAIN'] = 'Модераторы будут уведомлены только, если они могут просматривать и редактировать сообщение.'; +$lang['REPORT_AUTH_DELETE_EXPLAIN'] = 'Если выбрано Модераторы (после подтверждения), удаление сообщения должно быть подтверждено администратором.'; +$lang['REPORT_MODULE_INSTALLED'] = 'Модуль удален.'; +$lang['REPORT_MODULE_EDITED'] = 'Модуль отредактирован.'; +// +// Reports [END] +// + +// +// Mods +// +$lang['MAX_NEWS_TITLE'] = 'Макс. длина новости'; +$lang['NEWS_COUNT'] = 'Сколько показывать новостей'; +$lang['NEWS_FORUM_ID'] = 'Из каких форумов выводить
    Из нескольких форумов выводите, через запятую. Например 1,2,3
    '; +$lang['NOAVATAR'] = 'Нет аватара'; +$lang['TRACKER_STATS'] = 'Статистика по трекеру'; +$lang['WHOIS_INFO'] = 'Информация о IP адресе'; +$lang['SHOW_MOD_HOME_PAGE'] = 'Показывать модераторов на главной'; +$lang['PREMOD_HELP'] = '

    Премодерация

    Если у релизера нет раздач со статусом , # или T в текущем разделе, включая подразделы, то раздача автоматически получает данный статус
    '; +$lang['TOR_COMMENT'] = '

    Комментарий к статусу раздачи

    Комметарий позволяет указать релизеру допущенные ошибки. При недооформленных статусах релизеру доступна форма ответа о исправлении релиза
    '; +$lang['SEED_BONUS_ADD'] = '

    Добавление сид бонуса

    Кол-во раздаваемых раздач пользователем и размер начисления бонусов за них (начисления раз в час)
    '; +$lang['SEED_BONUS_RELEASE'] = 'до N-числа релизов'; +$lang['SEED_BONUS_POINTS'] = 'бонусов в час'; +$lang['SEED_BONUS_TOR_SIZE'] = '

    Минимальный размер раздачи, за который будут начисляться бонусы

    Если хотите начислять бонусы за все раздачи, оставьте поле пустым.
    '; +$lang['SEED_BONUS_USER_REGDATA'] = '

    Минимальный стаж пользователя на трекере, после которого будут начисляться бонусы

    Если хотите начислять бонусы всем пользователям, оставьте поле пустым.
    '; +$lang['SEED_BONUS_WARNING'] = 'ВНИМАНИЕ! Сид Бонусы должны быть в порядке возрастания'; +$lang['SEED_BONUS_EXCHANGE'] = 'Настройка обмена Сид Бонусов'; +$lang['SEED_BONUS_ROPORTION'] = 'Добавление пропорции для обмена бонусов на GB'; + +// Modules, this replaces the keys used +$lang['CONTROL_PANEL'] = 'Контрольная Панель'; +$lang['SHADOW_ATTACHMENTS'] = 'Теневые приложения'; +$lang['FORBIDDEN_EXTENSIONS'] = 'Запрещенные Расширения'; +$lang['EXTENSION_CONTROL'] = 'Контроль Расширений'; +$lang['EXTENSION_GROUP_MANAGE'] = 'Контроль Групп Расширений'; +$lang['SPECIAL_CATEGORIES'] = 'Специальные Категории'; +$lang['SYNC_ATTACHMENTS'] = 'Синхронизация Приложений'; +$lang['QUOTA_LIMITS'] = 'Ограничение Квоты'; + +// Attachments -> Management +$lang['ATTACH_SETTINGS'] = 'Конфигурация приложений'; +$lang['MANAGE_ATTACHMENTS_EXPLAIN'] = 'Здесь Вы можете конфигурировать главные настройки для Мода Приложений. Если Вы нажмете на кнопку "Проверить Настройки", Мод Приложений проведет несколько тестов, чтобы проверить - все ли правильно настроено. Если у Вас возникли проблемы с закачиванием файлов, используйте эту функцию, чтобы получить подробную информацию об ошибке.'; +$lang['ATTACH_FILESIZE_SETTINGS'] = 'Настройки размеров приложений'; +$lang['ATTACH_NUMBER_SETTINGS'] = 'Настройка количества приложений'; +$lang['ATTACH_OPTIONS_SETTINGS'] = 'Настройка приложений'; + +$lang['UPLOAD_DIRECTORY'] = 'Папка для закачанных приложений'; +$lang['UPLOAD_DIRECTORY_EXPLAIN'] = 'Задайте относительный путь от папки форума к папке приложений. Например, задайте \'files\', если путь к форуму http://www.yourdomain.com/phpBB2 и папка приложений находится в http://www.yourdomain.com/phpBB2/files.'; +$lang['ATTACH_IMG_PATH'] = 'Иконка для приложений'; +$lang['ATTACH_IMG_PATH_EXPLAIN'] = 'Эта картинка появляется возле ссылок к приложениям в персональных сообщениях. Оставьте это поле пустым, если не хотите видеть иконку. Эта конфигурация будет переписана настройками в Контроле Групп Расширений.'; +$lang['ATTACH_TOPIC_ICON'] = 'Иконка для тем с приложениями'; +$lang['ATTACH_TOPIC_ICON_EXPLAIN'] = 'Эта картинка появляется возле тем с приложениями. Оставьте это поле пустым, если не хотите видеть иконку.'; +$lang['ATTACH_DISPLAY_ORDER'] = 'Последовательность отображения приложений'; +$lang['ATTACH_DISPLAY_ORDER_EXPLAIN'] = 'Здесь Вы можете выбрать, как показывать приложения в постах/личных сообщениях - в порядке убывания (самое новое приложение сначала) или в порядке возрастания (самое старое приложение сначала).'; +$lang['SHOW_APCP'] = 'Использовать новую панель контроля приложений'; +$lang['SHOW_APCP_EXPLAIN'] = 'Выберите, хотите ли Вы использовать отдельную панель контроля приложений (да), или старый метод с двумя боксами для приложений и редактирования приложений (нет) в окне сообщения. Трудно объяснить, как это выглядит, поэтому попробуйте сами.'; + +$lang['MAX_FILESIZE_ATTACH'] = 'Максимальный размер приложений'; +$lang['MAX_FILESIZE_ATTACH_EXPLAIN'] = 'Максимальный размер для приложений. Ноль значит неограниченно. Эта настройка зависит от конфигурации Вашего сервера. Например, если php на Вашем сервере позволяет закачивать файлы не более 2 МБ, то эту величину изменить невозможно.'; +$lang['ATTACH_QUOTA'] = 'Квота приложений'; +$lang['ATTACH_QUOTA_EXPLAIN'] = 'Максимальный размер для всех приложений. Ноль значит неограниченно.'; +$lang['MAX_FILESIZE_PM'] = 'Максимальный размер в папке для личных сообщений'; +$lang['MAX_FILESIZE_PM_EXPLAIN'] = 'Максимальная величина, которую приложения могут занимать в личных почтовых ящиках каждого пользователя. Ноль значит неограниченно.'; +$lang['DEFAULT_QUOTA_LIMIT'] = 'Стандартное ограничение квоты'; +$lang['DEFAULT_QUOTA_LIMIT_EXPLAIN'] = 'Здесь Вы можете конфигурировать стандартное ограничение квоты для новых пользователей или пользователей без установленных ограничений. Настройка "Без Ограничений" для тех, кто не хочет использовать квоты приложений. Вместо этого будут использованы стандартные настройки, заданные в контрольной панеле.'; + +$lang['MAX_ATTACHMENTS'] = 'Максимальное количество приложений'; +$lang['MAX_ATTACHMENTS_EXPLAIN'] = 'Максимальное количество приложений, разрешенных в каждом сообщении.'; +$lang['MAX_ATTACHMENTS_PM'] = 'Максимальное количество приложений разрешенных в каждом личном сообщении'; +$lang['MAX_ATTACHMENTS_PM_EXPLAIN'] = 'Задайте максимальное количество приложений, разрешенное в каждом личном сообщении.'; + +$lang['DISABLE_MOD'] = 'Выключить мод приложений'; +$lang['DISABLE_MOD_EXPLAIN'] = 'Эта настройка используется главным образом для проверки новых скинов, она выключает все функции Мода Приложений, кроме административной панели.'; +$lang['PM_ATTACHMENTS'] = 'Разрешить приложения в личных сообщениях'; +$lang['PM_ATTACHMENTS_EXPLAIN'] = 'Разрешить/Запретить добавлять приложения к личным сообщениям.'; +$lang['ATTACHMENT_TOPIC_REVIEW'] = 'Показывать приложения в окне обзора сообщений темы при написании ответа?'; +$lang['ATTACHMENT_TOPIC_REVIEW_EXPLAIN'] = 'Если поставите "да", все приложения будут показываться в окне обзора сообщений темы.'; + +// Attachments -> Shadow Attachments +$lang['SHADOW_ATTACHMENTS_EXPLAIN'] = 'Здесь Вы можете удалить приложения, если сами файлы исчезли с сервера, или удалить файлы, которые не прикреплены ни к каким сообщениям. Вы можете скачать или посмотреть файл кликнув по нему. Если ссылки нет, то файл не существует.'; +$lang['SHADOW_ATTACHMENTS_FILE_EXPLAIN'] = 'Удалить все приложения, которые существуют на сервере и не прикреплены ни к какому сообщению.'; +$lang['SHADOW_ATTACHMENTS_ROW_EXPLAIN'] = 'Удалить всю информацию про приложения, которые больше не существуют в системе.'; +$lang['EMPTY_FILE_ENTRY'] = 'Занесение пустого файла'; + +// Attachments -> Sync +$lang['SYNC_THUMBNAIL_RESETTED'] = 'Обновлена миниатюра для приложения: %s'; // replace %s with physical Filename +$lang['ATTACH_SYNC_FINISHED'] = 'Синхронизация приложений окончена.'; +$lang['SYNC_TOPICS'] = 'Синхронизация тем'; +$lang['SYNC_POSTS'] = 'Синхронизация сообщений'; +$lang['SYNC_THUMBNAILS'] = 'Синхронизация миниатюр'; + +// Extensions -> Extension Control +$lang['MANAGE_EXTENSIONS'] = 'Конфигурация расширений'; +$lang['MANAGE_EXTENSIONS_EXPLAIN'] = 'Здесь Вы можете настроить расширения файлов. Если Вы хотите разрешить/запретить определенные расширения, пожалуйста, используйте Контроль Групп Расширений.'; +$lang['EXPLANATION'] = 'Обьяснение'; +$lang['EXTENSION_GROUP'] = 'Группа Расширений'; +$lang['INVALID_EXTENSION'] = 'Неправильное расширения'; +$lang['EXTENSION_EXIST'] = 'Расширение %s уже существует'; // replace %s with the Extension +$lang['UNABLE_ADD_FORBIDDEN_EXTENSION'] = 'Расширение %s запрещено, Вы не можете добавить его к группе разрешенных расширений'; // replace %s with Extension + +// Extensions -> Extension Groups Management +$lang['MANAGE_EXTENSION_GROUPS'] = 'Контроль Групп Расширений'; +$lang['MANAGE_EXTENSION_GROUPS_EXPLAIN'] = 'Здесь Вы можете добавить, убрать или изменить группы расширений, Вы можете выключить группы расширений, добавить их в определенные категории, изменить механизм скачивания и выбрать иконку, которая будет отображаться приложением, которое относится к определенной группе.'; +$lang['SPECIAL_CATEGORY'] = 'Специальная категория'; +$lang['CATEGORY_IMAGES'] = 'Картинки'; +$lang['ALLOWED'] = 'Разрешено'; +$lang['ALLOWED_FORUMS'] = 'Разрешенные форумы'; +$lang['EXT_GROUP_PERMISSIONS'] = 'Права Групп'; +$lang['DOWNLOAD_MODE'] = 'Метод скачивания'; +$lang['UPLOAD_ICON'] = 'Иконка для закачки'; +$lang['MAX_GROUPS_FILESIZE'] = 'Максимальный размер файла'; +$lang['EXTENSION_GROUP_EXIST'] = 'Группа расширений %s уже существует'; // replace %s with the group name + +// Extensions -> Special Categories +$lang['MANAGE_CATEGORIES'] = 'Контроль специальных категорий'; +$lang['MANAGE_CATEGORIES_EXPLAIN'] = 'Здесь Вы можете настраивать специальные категории. Вы можете задать специальные параметры для специальных категорий прикрепленных к группам расширений.'; +$lang['SETTINGS_CAT_IMAGES'] = 'Настройки для специальной категории: Изображения'; +$lang['SETTINGS_CAT_FLASH'] = 'Настройки для специальной категории: Flash файлы'; +$lang['DISPLAY_INLINED'] = 'Отображать изображения в сообщениях'; +$lang['DISPLAY_INLINED_EXPLAIN'] = 'Выберите отображать ли изображения прямо в сообщениях (да) или отображать изображения в виде ссылок на них?'; +$lang['MAX_IMAGE_SIZE'] = 'Максимальная величина изображения'; +$lang['MAX_IMAGE_SIZE_EXPLAIN'] = 'Здесь Вы можете задать максимальную величину изображения (ширина х высота в пикселях).
    Если установлен ноль, то эта функция отключена. С некоторыми изображениями эта функция не будет работать из-за ограничений в PHP.'; +$lang['IMAGE_LINK_SIZE'] = 'Величина изображений, которые будут автоматически показываться как ссылка'; +$lang['IMAGE_LINK_SIZE_EXPLAIN'] = 'Картинки установленной величины будут отображаться как ссылка, а не прямо в сообщении,
    если включена функция "Отображать изображения в сообщениях".
    Если установлен ноль, эта функция отключена. С некоторыми изображениями эта функция не будет работать из-за ограничений в PHP.'; +$lang['ASSIGNED_GROUP'] = 'Прикрепленная группа'; + +$lang['IMAGE_CREATE_THUMBNAIL'] = 'Создать миниатюру'; +$lang['IMAGE_CREATE_THUMBNAIL_EXPLAIN'] = 'Всегда создавать миниатюры. Эта функция замещает все настройки в этой специальной категории, кроме настройки "Максимальная величина изображения". При включении этой функции в сообщении будет отображаться миниатюра, пользователь может на нее нажать, чтобы открыть само изображение.
    Пожалуйста, заметьте, что для этой функции необходим Imagick, если он не инсталлирован или если включен Safe-Mode, будет использоваться PHP расширения GD. Если тип изображения не поддерживается PHP, эта функция не будет задействована.'; +$lang['IMAGE_MIN_THUMB_FILESIZE'] = 'Минимальный размер миниатюры'; +$lang['IMAGE_MIN_THUMB_FILESIZE_EXPLAIN'] = 'Если изображение меньше, чем данный размер, миниатюра создаваться не будет, потому что само изображение уже достаточно маленькое.'; +$lang['IMAGE_IMAGICK_PATH'] = 'Приложение Imagick (полный путь)'; +$lang['IMAGE_IMAGICK_PATH_EXPLAIN'] = 'Задайте путь к программе конвертации Imagick, обычно /usr/bin/convert (в windows: c:/imagemagick/convert.exe).'; +$lang['IMAGE_SEARCH_IMAGICK'] = 'Поиск Imagick'; + +$lang['USE_GD2'] = 'Включить использование GD2 расширения'; +$lang['USE_GD2_EXPLAIN'] = 'PHP может быть скомпилировано с расширением GD1 или GD2 для работы с изображениями. Чтобы правильно создать миниатюры без imagemagick, Мод приложений может использовать два разных способа, основываясь на Вашем выборе в данной опции. Если Ваши Эскизы будут плохого качества или обезображены, попробуйте изменить эту настройку.'; +$lang['ATTACHMENT_VERSION'] = 'Версия Мода приложений (Attachment Mod) %s'; // %s is the version number + +// Extensions -> Forbidden Extensions +$lang['MANAGE_FORBIDDEN_EXTENSIONS'] = 'Управление запрещенными расширениями'; +$lang['MANAGE_FORBIDDEN_EXTENSIONS_EXPLAIN'] = 'Здесь Вы можете добавить или удалить запрещенное расширение. Расширения php, php3, php4 запрещены для безопасности по умолчанию, и их невозможно удалить.'; +$lang['FORBIDDEN_EXTENSION_EXIST'] = 'Запрещенное расширение %s уже существует'; // replace %s with the extension +$lang['EXTENSION_EXIST_FORBIDDEN'] = 'Расширение %s уже задано в разрешенных расширениях, пожалуйста, удалите его оттуда, перед тем, как добавлять его здесь.'; // replace %s with the extension + +// Extensions -> Extension Groups Control -> Group Permissions +$lang['GROUP_PERMISSIONS_TITLE_ADMIN'] = 'Права групп расширений -> \'%s\''; // Replace %s with the Groups Name +$lang['GROUP_PERMISSIONS_EXPLAIN'] = 'Здесь Вы можете ограничить использование определенных групп расширений в форумах (как задано в боксе "Разрешенные Форумы"). По умолчанию разрешены все группы расширений во всех форумах, в которых пользователь может добавлять файлы (т.е. нормальный метод, который использовался в Моде приложений с самого начала). Если Вы разрешите только определенные форумы, то вариант "Все Форумы" исчезнет. Вы сможете снова добавить все форумы в любое время. Если Вы добавите новый раздел на Вашем форуме и разрешение установлено на "Все форумы", то ничего не изменится. Но если Вы изменили или ограничили доступ к определенным форумам, Вы должны вернуться сюда и добавить этот новый форум. Это можно было бы сделать автоматически, но Вам бы пришлось изменять много файлов, поэтому автор решил использовать текущий вариант. Пожалуйста, заметьте, что здесь будут перечислены все Вами форумы.'; +$lang['NOTE_ADMIN_EMPTY_GROUP_PERMISSIONS'] = 'Замечание:
    В ниже перечисленных форумах пользователи обычно могут добавлять файлы, но так как никакие группы расширений там не разрешены, пользователи не смогут ничего прикрепить. Если они попробуют, они увидят сообщение об ошибке. Может быть Вы хотите установить разрешение \'Добавить файлы\' для администрации в этих форумах.

    '; +$lang['ADD_FORUMS'] = 'Добавить форумы'; +$lang['ADD_SELECTED'] = 'Добавить выбранные'; +$lang['PERM_ALL_FORUMS'] = 'Все форумы'; + +// Attachments -> Quota Limits +$lang['MANAGE_QUOTAS'] = 'Настройка лимита квоты для расширений'; +$lang['MANAGE_QUOTAS_EXPLAIN'] = 'Здесь Вы можете добавить/удалить/изменить квоты для расширений. Позднее Вы можете прикрепить эти ограничения к определенным пользователям или группам. Чтобы прикрепить ограничение к пользователю, откройте Пользователи->Управление, выберите пользователя и Вы увидите необходимые настройки внизу страницы. Чтобы прикрепить ограничение к группе, откройте Группы->Управление, выберите группу и Вы увидите панель настроек. Если Вы хотите увидеть, какие пользователи и группы прикреплены к определенным ограничениям, нажмите на "Посмотреть" слева от описания квоты.'; +$lang['ASSIGNED_USERS'] = 'Прикрепленные пользователи'; +$lang['ASSIGNED_GROUPS'] = 'Прикрепленные группы'; +$lang['QUOTA_LIMIT_EXIST'] = 'Ограничение %s уже существует.'; // Replace %s with the Quota Description + +// Attachments -> Control Panel +$lang['CONTROL_PANEL_TITLE'] = 'Контрольная панель приложений'; +$lang['CONTROL_PANEL_EXPLAIN'] = 'Здесь Вы можете увидеть и настроить все приложения в зависимости от пользователей, приложений, количества просмотров и т.п.'; +$lang['FILECOMMENT'] = 'Комментарий к файлу'; + +// Control Panel -> Search +$lang['SEARCH_WILDCARD_EXPLAIN'] = 'Используйте *, если не знаете точного названия'; +$lang['SIZE_SMALLER_THAN'] = 'Приложение меньше чем (в байтах)'; +$lang['SIZE_GREATER_THAN'] = 'Приложение больше чем (в байтах)'; +$lang['COUNT_SMALLER_THAN'] = 'Количество скачиваний меньше чем'; +$lang['COUNT_GREATER_THAN'] = 'Количество скачиваний больше чем'; +$lang['MORE_DAYS_OLD'] = 'Старее, чем это количество дней'; +$lang['NO_ATTACH_SEARCH_MATCH'] = 'Не найдено ни одного приложения, которое бы отвечало Вашему поиску'; + +// Control Panel -> Statistics +$lang['NUMBER_OF_ATTACHMENTS'] = 'Количество приложений'; +$lang['TOTAL_FILESIZE'] = 'Общий размер всех приложений'; +$lang['NUMBER_POSTS_ATTACH'] = 'Количество сообщений с приложениями'; +$lang['NUMBER_TOPICS_ATTACH'] = 'Количество тем с приложениями'; +$lang['NUMBER_USERS_ATTACH'] = 'Уникальных пользователей прикрепивших приложения'; +$lang['NUMBER_PMS_ATTACH'] = 'Количество приложений в личных сообщениях'; +$lang['ATTACHMENTS_PER_DAY'] = 'Прикрепления за день'; + +// Control Panel -> Attachments +$lang['STATISTICS_FOR_USER'] = 'Статистика приложений для %s'; // replace %s with username +$lang['DOWNLOADS'] = 'Скачиваний'; +$lang['POST_TIME'] = 'Дата сообщения'; +$lang['POSTED_IN_TOPIC'] = 'Размещено в теме'; +$lang['SUBMIT_CHANGES'] = 'Сохранить изменения'; + +// Sort Types +$lang['SORT_ATTACHMENTS'] = 'Приложения'; +$lang['SORT_SIZE'] = 'Размер'; +$lang['SORT_FILENAME'] = 'Название файла'; +$lang['SORT_COMMENT'] = 'Комментарий'; +$lang['SORT_EXTENSION'] = 'Расширение'; +$lang['SORT_DOWNLOADS'] = 'Скачено'; +$lang['SORT_POSTTIME'] = 'Дата сообщения'; + +// View Types +$lang['VIEW_STATISTIC'] = 'Статистика'; +$lang['VIEW_SEARCH'] = 'Поиск'; +$lang['VIEW_USERNAME'] = 'Имя'; +$lang['VIEW_ATTACHMENTS'] = 'Приложения'; + +// Successfully updated +$lang['ATTACH_CONFIG_UPDATED'] = 'Конфигурация приложений успешно изменена'; +$lang['CLICK_RETURN_ATTACH_CONFIG'] = 'Нажмите %sтут%s, чтобы вернуться к конфигурации приложений'; +$lang['TEST_SETTINGS_SUCCESSFUL'] = 'Тест настроек окончен, конфигурация в порядке.'; + +// Some basic definitions +$lang['ATTACHMENTS'] = 'Приложения'; +$lang['EXTENSIONS'] = 'Расширения'; +$lang['EXTENSION'] = 'Расширение'; + +$lang['RETURN_CONFIG'] = '%sВернуться к настройкам%s'; +$lang['CONFIG_UPD'] = 'Конфигурация успешно изменена'; +$lang['SET_DEFAULTS'] = 'Значения по умолчанию'; + +// +// Tracker config +// +$lang['TRACKER_CFG_TITLE'] = 'Трекер'; +$lang['FORUM_CFG_TITLE'] = 'Настройки форумов'; +$lang['TRACKER_SETTINGS'] = 'Настройки трекера'; + +$lang['CHANGES_DISABLED'] = 'Изменения недоступны (редактируйте $tr_cfg в файле config.php)'; + +$lang['OFF_TRACKER'] = 'Отключить трекер'; +$lang['OFF_REASON'] = 'Причина отключения'; +$lang['OFF_REASON_EXPL'] = 'этот текст будет отправляться клиенту пока трекер отключен'; +$lang['AUTOCLEAN_EXPL'] = 'периодически очищать таблицу peer\'s - не отключайте без особой необходимости!'; +$lang['COMPACT_MODE'] = 'Компактный режим'; +$lang['COMPACT_MODE_EXPL'] = '"Да" - трекер будет работать только в компактном режиме
    "Нет" - будет определяется клиентом
    в компактном режиме расход трафика наименьший, но могут возникнуть проблемы из-за несовместимости с очень старыми клиентами'; +$lang['BROWSER_REDIRECT_URL'] = 'Browser redirect URL'; +$lang['BROWSER_REDIRECT_URL_EXPL'] = "переадресация на этот URL при попытке зайти на трекер Web browser'ом
    оставьте пустым для отключения"; + +$lang['ANNOUNCE_INTERVAL_HEAD'] = 'Разное'; +$lang['ANNOUNCE_INTERVAL'] = 'Announce интервал'; +$lang['ANNOUNCE_INTERVAL_EXPL'] = 'пауза между announcements'; +$lang['NUMWANT'] = 'Значение numwant'; +$lang['NUMWANT_EXPL'] = 'количество источников (peers) отправляемых клиенту'; +$lang['EXPIRE_FACTOR'] = 'Фактор смерти peer\'ов'; +$lang['EXPIRE_FACTOR_EXPL'] = "время жизни peer'а расчитывается как announce интервал умноженный на фактор смерти peer'а
    должен быть не меньше 1"; +$lang['IGNORE_GIVEN_IP'] = 'Игнорировать указанный клиентом IP'; +$lang['UPDATE_DLSTAT'] = 'Вести учет скачанного/отданного юзером'; + +$lang['LIMIT_ACTIVE_TOR_HEAD'] = 'Ограничения'; +$lang['LIMIT_ACTIVE_TOR'] = 'Ограничить количество одновременных закачек'; +$lang['LIMIT_SEED_COUNT'] = 'Seeding ограничение'; +$lang['LIMIT_SEED_COUNT_EXPL'] = 'ограничение на количество одновременных раздач
    0 - нет ограничений'; +$lang['LIMIT_LEECH_COUNT'] = 'Leeching ограничение'; +$lang['LIMIT_LEECH_COUNT_EXPL'] = 'ограничение на количество одновременных закачек
    0 - нет ограничений'; +$lang['LEECH_EXPIRE_FACTOR'] = 'Leech expire factor'; +$lang['LEECH_EXPIRE_FACTOR_EXPL'] = 'сколько минут считать начатую закачку активной, независимо от того, остановил ли ее юзер
    0 - учитывать остановку'; +$lang['LIMIT_CONCURRENT_IPS'] = 'Ограничить количество подключений с разных IP'; +$lang['LIMIT_CONCURRENT_IPS_EXPL'] = 'считается отдельно для каждого торрента'; +$lang['LIMIT_SEED_IPS'] = 'Seeding IP ограничение'; +$lang['LIMIT_SEED_IPS_EXPL'] = "раздаваь можно не более чем с хх IP's
    (0 - нет ограничений)"; +$lang['LIMIT_LEECH_IPS'] = 'Leeching IP ограничение'; +$lang['LIMIT_LEECH_IPS_EXPL'] = "скачивать можно не более чем с хх IP's
    (0 - нет ограничений)"; + +$lang['USE_AUTH_KEY_HEAD'] = 'Авторизация'; +$lang['USE_AUTH_KEY'] = 'Passkey'; +$lang['USE_AUTH_KEY_EXPL'] = 'включить авторизацию по passkey'; +$lang['AUTH_KEY_NAME'] = 'Имя ключа passkey'; +$lang['AUTH_KEY_NAME_EXPL'] = 'имя ключа, который будет добавляться в GET запросе к announce url для идентификации юзера'; +$lang['ALLOW_GUEST_DL'] = 'Разрешить "гостям" (неавторизованным юзерам) доступ к трекеру'; + +// +// Forum config +// +$lang['FORUM_CFG_EXPL'] = 'Настройки форума'; + +$lang['BT_SELECT_FORUMS'] = 'Форумы, в которых:'; +$lang['BT_SELECT_FORUMS_EXPL'] = 'для выделения нескольких форумов, отмечайте их с нажатой клавишей Ctrl'; + +$lang['REG_TORRENTS'] = 'Регистрация торрентов'; +$lang['DISALLOWED'] = 'Запрещено'; +$lang['ALLOW_REG_TRACKER'] = 'Разрешена регистрация торрентов на трекере'; +$lang['ALLOW_PORNO_TOPIC'] = 'Разрешено размещать контент 18+'; +$lang['SHOW_DL_BUTTONS'] = 'Показывать кнопки для изменения DL-статуса'; +$lang['SELF_MODERATED'] = 'Автор топика может перенести его в другой форум'; + +$lang['BT_ANNOUNCE_URL_HEAD'] = 'Announce URL'; +$lang['BT_ANNOUNCE_URL'] = 'Announce url'; +$lang['BT_ANNOUNCE_URL_EXPL'] = 'дополнительные разрешенные адреса можно задать в "includes/torrent_announce_urls.php"'; +$lang['BT_DISABLE_DHT'] = 'Запретить DHT сети'; +$lang['BT_DISABLE_DHT_EXPL'] = 'Запретить обмен пирами и DHT (рекомендовано для приватных сетей, только url announce)'; +$lang['BT_CHECK_ANNOUNCE_URL'] = 'Проверять announce url'; +$lang['BT_CHECK_ANNOUNCE_URL_EXPL'] = 'разрешить регистрацию на трекере только если announce url входит в список разрешенных'; +$lang['BT_REPLACE_ANN_URL'] = 'Заменять announce url'; +$lang['BT_REPLACE_ANN_URL_EXPL'] = 'заменять оригинальный announce url в .torrent файлах на ваш'; +$lang['BT_DEL_ADDIT_ANN_URLS'] = 'Удалять все дополнительные announce urls'; +$lang['BT_DEL_ADDIT_ANN_URLS_EXPL'] = 'если торрент содержит адреса других трекеров, они будут удалены'; + +$lang['BT_SHOW_PEERS_HEAD'] = 'Peers-List'; +$lang['BT_SHOW_PEERS'] = 'Показывать список источников (seeders/leechers)'; +$lang['BT_SHOW_PEERS_EXPL'] = 'будет выводиться над топиком с торрентом'; +$lang['BT_SHOW_PEERS_MODE'] = 'По умолчанию показывать источники как:'; +$lang['BT_SHOW_PEERS_MODE_COUNT'] = 'Только количество'; +$lang['BT_SHOW_PEERS_MODE_NAMES'] = 'Только имена'; +$lang['BT_SHOW_PEERS_MODE_FULL'] = 'Подробно'; +$lang['BT_ALLOW_SPMODE_CHANGE'] = 'Разрешить подробный показ источников'; +$lang['BT_ALLOW_SPMODE_CHANGE_EXPL'] = 'если выбрано "нет" - будет доступен только режим по умолчанию'; +$lang['BT_SHOW_IP_ONLY_MODER'] = 'IP могут видеть только модераторы'; +$lang['BT_SHOW_PORT_ONLY_MODER'] = 'Port могут видеть только модераторы'; + +$lang['BT_SHOW_DL_LIST_HEAD'] = 'DL-List'; +$lang['BT_SHOW_DL_LIST'] = 'Показывать DL-List при просмотре топика'; +$lang['BT_DL_LIST_ONLY_1ST_PAGE'] = 'Показывать DL-List только на первой странице топика'; +$lang['BT_DL_LIST_ONLY_COUNT'] = 'Показывать только количество'; +$lang['BT_SHOW_DL_LIST_BUTTONS'] = 'Показывать кнопки для изменения DL-статуса'; +$lang['BT_SHOW_DL_BUT_WILL'] = $lang['DL_WILL']; +$lang['BT_SHOW_DL_BUT_DOWN'] = $lang['DL_DOWN']; +$lang['BT_SHOW_DL_BUT_COMPL'] = $lang['DL_COMPLETE']; +$lang['BT_SHOW_DL_BUT_CANCEL'] = $lang['DL_CANCEL']; + +$lang['BT_ADD_AUTH_KEY_HEAD'] = 'Passkey'; +$lang['BT_ADD_AUTH_KEY'] = 'Aвтодобавление passkey к торрент-файлам перед их скачиванием'; + +$lang['BT_TOR_BROWSE_ONLY_REG_HEAD'] = 'Torrent browser (трекер)'; +$lang['BT_TOR_BROWSE_ONLY_REG'] = 'Torrent browser (tracker.php) не доступен для гостей'; +$lang['BT_SEARCH_BOOL_MODE'] = 'Разрешить полнотекстовый поиск в логическом режиме'; +$lang['BT_SEARCH_BOOL_MODE_EXPL'] = 'использовать *, +, - и т.д. при поиске'; + +$lang['BT_SHOW_DL_STAT_ON_INDEX_HEAD'] = 'Разное'; +$lang['BT_SHOW_DL_STAT_ON_INDEX'] = 'Показывать UL/DL статистику юзера на главной странице форума'; +$lang['BT_NEWTOPIC_AUTO_REG'] = 'Регистрировать торренты на трекере для новых топиков'; +$lang['BT_SET_DLTYPE_ON_TOR_REG'] = 'Изменять статус топика на "Download" во время регистрации торрента на трекере'; +$lang['BT_SET_DLTYPE_ON_TOR_REG_EXPL'] = 'не зависит от того, разрешено ли в этом форуме создавать Download-топики (в настройках форумов)'; +$lang['BT_UNSET_DLTYPE_ON_TOR_UNREG'] = 'Изменять статус топика на "Normal" во время удаления торрента с трекера'; + +// +// Release +// +$lang['TEMPLATE_DISABLE'] = 'Шаблон отключен'; +$lang['FOR_NEW_TEMPLATE'] = 'для новых шаблонов!'; +$lang['CHANGED'] = 'Изменено'; +$lang['REMOVED'] = 'Удалено'; +$lang['QUESTION'] = 'Вы уверены, что хотите удалить?'; + +$lang['CRON_LIST'] = 'Список задач'; +$lang['CRON_ID'] = 'ID'; +$lang['CRON_ACTIVE'] = 'Вкл'; +$lang['CRON_ACTIVE_EXPL'] = 'Активность задачи'; +$lang['CRON_TITLE'] = 'Название задачи'; +$lang['CRON_SCRIPT'] = 'Скрипт'; +$lang['CRON_SCHEDULE'] = 'Запуск'; +$lang['CRON_LAST_RUN'] = 'Посл. запуск'; +$lang['CRON_NEXT_RUN'] = 'След. запуск'; +$lang['CRON_RUN_COUNT'] = 'Запусков'; +$lang['CRON_MANAGE'] = 'Управление'; +$lang['CRON_OPTIONS'] = 'Настройки крона'; + +$lang['CRON_ENABLED'] = 'Крон включен'; +$lang['CRON_CHECK_INTERVAL'] = 'Проверка (сек)'; + +$lang['WITH_SELECTED'] = 'С выделенными'; +$lang['NOTHING'] = 'ничего не делать'; +$lang['CRON_RUN'] = 'запустить'; +$lang['CRON_DEL'] = 'удалить'; +$lang['CRON_DISABLE'] = 'отключить'; +$lang['CRON_ENABLE'] = 'включить'; + +$lang['RUN_MAIN_CRON'] = 'Запустить крон'; +$lang['ADD_JOB'] = 'Добавить задачу'; +$lang['CRON_WORKS'] = 'Крон в данный момент запущен или завис · '; +$lang['REPAIR_CRON'] = 'Восстановить'; + +$lang['CRON_EDIT_HEAD_EDIT'] = 'Редактировать задачу'; +$lang['CRON_EDIT_HEAD_ADD'] = 'Добавить задачу'; +$lang['CRON_SCRIPT_EXPL'] = 'название в папке "includes/cron/jobs/"'; +$lang['SCHEDULE'] = array( + 'select' => '» Выберите запуск', + 'hourly' => 'ежечасно', + 'daily' => 'ежедневно', + 'weekly' => 'еженедельно', + 'monthly' => 'ежемесячно', + 'interval' => 'интервал' +); +$lang['NOSELECT'] = 'Не указан'; +$lang['RUN_DAY'] = 'День запуска'; +$lang['RUN_DAY_EXPL'] = 'день месяца/недели, когда эта задача будет выполняться'; +$lang['RUN_TIME'] = 'Время запуска'; +$lang['RUN_TIME_EXPL'] = 'время запуска этой задачи (напр. 05:00:00)'; +$lang['RUN_ORDER'] = 'Порядок запуска'; +$lang['LAST_RUN'] = 'Последний запуск'; +$lang['NEXT_RUN'] = 'Следующий запуск'; +$lang['RUN_INTERVAL'] = 'Интервал запуска'; +$lang['RUN_INTERVAL_EXPL'] = 'напр. 00:10:00'; +$lang['LOG_ENABLED'] = 'Логирование включено'; +$lang['LOG_FILE'] = 'Файл лога'; +$lang['LOG_FILE_EXPL'] = 'файл, куда будут сохраняться логи'; +$lang['LOG_SQL_QUERIES'] = 'Логировать SQL запросы'; +$lang['FORUM_DISABLE'] = 'Отключать форум'; +$lang['BOARD_DISABLE_EXPL'] = 'отключать форум, когда задача выполняется?'; +$lang['RUN_COUNTER'] = 'Кол-во запусков'; + +$lang['JOB_REMOVED'] = 'Задача была успешно удалена'; +$lang['SCRIPT_DUPLICATE'] = 'Скрипт '. @$_POST['cron_script'] .' уже существует!'; +$lang['TITLE_DUPLICATE'] = 'Название задачи '. @$_POST['cron_title'] .' уже существует!'; +$lang['CLICK_RETURN_JOBS_ADDED'] = '%sВернуться к добавлению задачи%s'; +$lang['CLICK_RETURN_JOBS'] = '%sВернуться к планировщику задач%s'; + +$lang['REBUILD_SEARCH'] = 'Индексировать'; +$lang['REBUILD_SEARCH_DESC'] = 'Эта функция индексирует таблицы поиска. Индексация может занять некоторое время.
    Пожалуйста, не закрывайте эту страницу до окончания индексации'; + +// +// Input screen +// +$lang['STARTING_POST_ID'] = 'Начальный ID сообщения'; +$lang['STARTING_POST_ID_EXPLAIN'] = 'Первая запись, с которой начнется обработка
    Вы можете выбрать, чтобы начать с начала или с записи, на которой вы в последний раз остановились'; + +$lang['START_OPTION_BEGINNING'] = 'начать с начала'; +$lang['START_OPTION_CONTINUE'] = 'продолжить с последней остановленной'; + +$lang['CLEAR_SEARCH_TABLES'] = 'Очистить таблицы поиска'; +$lang['CLEAR_SEARCH_TABLES_EXPLAIN'] = ''; +$lang['CLEAR_SEARCH_NO'] = 'Нет'; +$lang['CLEAR_SEARCH_DELETE'] = 'Удаление'; +$lang['CLEAR_SEARCH_TRUNCATE'] = 'Очистка'; + +$lang['NUM_OF_POSTS'] = 'Количество записей'; +$lang['NUM_OF_POSTS_EXPLAIN'] = 'Общее количество записей в процессе
    Автоматически заполняется количество от общего/оставшегося числа записей, найденных в БД'; + +$lang['POSTS_PER_CYCLE'] = 'Записей за цикл'; +$lang['POSTS_PER_CYCLE_EXPLAIN'] = 'Количество записей для обработки за один цикл
    Держите его низким, чтобы избежать таймаута PHP / веб-сервера'; + +$lang['REFRESH_RATE'] = 'Период обновления'; +$lang['REFRESH_RATE_EXPLAIN'] = 'Сколько времени (сек) бездействовать перед переходом к следующему циклу обработки
    Обычно вам не нужно менять это'; + +$lang['TIME_LIMIT'] = 'Ограничение времени'; +$lang['TIME_LIMIT_EXPLAIN'] = 'Сколько времени (сек) после обработки может длиться до перехода к следующему циклу'; +$lang['TIME_LIMIT_EXPLAIN_SAFE'] = 'Ваш PHP (Safe Mode) настроен на таймаут %s сек, так что не превышайте этого значения'; +$lang['TIME_LIMIT_EXPLAIN_WEBSERVER'] = 'Ваш веб-сервер настроен на таймаут %s сек, так что не превышайте этого значения'; + +$lang['DISABLE_BOARD'] = 'Отключение форума'; +$lang['DISABLE_BOARD_EXPLAIN'] = 'Отключать ли форум при обработке'; +$lang['DISABLE_BOARD_EXPLAIN_ENABLED'] = 'Он будет включен автоматически после окончания обработки'; +$lang['DISABLE_BOARD_EXPLAIN_ALREADY'] = 'Ваш форум уже отключен'; + +// +// Information strings +// +$lang['INFO_PROCESSING_STOPPED'] = 'В последний раз вы остановились в процессе обработки на post_id %s (%s обработанных записей) от %s'; +$lang['INFO_PROCESSING_ABORTED'] = 'В последний раз вы прервали процесс обработки на post_id %s (%s обработанных записей) от %s'; +$lang['INFO_PROCESSING_ABORTED_SOON'] = 'Пожалуйста, подождите несколько минут, прежде чем продолжить…'; +$lang['INFO_PROCESSING_FINISHED'] = 'Вы успешно завершили процесс (%s обработанных записей) от %s'; +$lang['INFO_PROCESSING_FINISHED_NEW'] = 'Вы успешно завершили процесс на post_id %s (%s обработанных записей) от %s,
    но были %s новых записей после этой даты'; + +// +// Progress screen +// +$lang['REBUILD_SEARCH_PROGRESS'] = 'Процесс перестроения поиска'; + +$lang['PROCESSED_POST_IDS'] = 'Обработанные записи: %s - %s'; +$lang['TIMER_EXPIRED'] = 'Таймер истек в %s секунд. '; +$lang['CLEARED_SEARCH_TABLES'] = 'Очистка таблиц поиска. '; +$lang['DELETED_POSTS'] = '%s записей были удалены пользователей во время обработки. '; +$lang['PROCESSING_NEXT_POSTS'] = 'Обрабатывается следующие %s записей. Ждите...'; +$lang['ALL_SESSION_POSTS_PROCESSED'] = 'Обработаны все записи в текущей сессии.'; +$lang['ALL_POSTS_PROCESSED'] = 'Все записи были обработаны успешно.'; +$lang['ALL_TABLES_OPTIMIZED'] = 'Все поисковые таблицы были оптимизированы успешно.'; + +$lang['PROCESSING_POST_DETAILS'] = 'Обрабатываемая запись'; +$lang['PROCESSED_POSTS'] = 'Обработанные записи'; +$lang['PERCENT'] = 'Процентов'; +$lang['CURRENT_SESSION'] = 'Текущая сессия'; +$lang['TOTAL'] = 'Всего'; + +$lang['PROCESS_DETAILS'] = 'с %s до %s (из общего %s)'; +$lang['PERCENT_COMPLETED'] = '%s %% завершено'; + +$lang['PROCESSING_TIME_DETAILS'] = 'Детали текущей сесии'; +$lang['PROCESSING_TIME'] = 'Время выполнения'; +$lang['TIME_LAST_POSTS'] = 'Последние %s записей'; +$lang['TIME_FROM_THE_BEGINNING'] = 'Время с начала'; +$lang['TIME_AVERAGE'] = 'Среднее время за цикл'; +$lang['TIME_ESTIMATED'] = 'Расчетное время до завершения'; + +$lang['DATABASE_SIZE_DETAILS'] = 'Детали размера БД'; +$lang['SIZE_CURRENT'] = 'Текущий'; +$lang['SIZE_ESTIMATED'] = 'Расчетный размер после окончания'; +$lang['SIZE_SEARCH_TABLES'] = 'Размер таблицы поиска'; +$lang['SIZE_DATABASE'] = 'Размер ДБ'; + +$lang['ACTIVE_PARAMETERS'] = 'Активные параметры'; +$lang['POSTS_LAST_CYCLE'] = 'Обработанная(ые) запись(и) на последнем цикле'; +$lang['BOARD_STATUS'] = 'Статус форума'; +$lang['BOARD_DISABLED'] = 'Отключен'; +$lang['BOARD_ENABLED'] = 'Включен'; + +$lang['INFO_ESTIMATED_VALUES'] = '(*) Все оценочные значения рассчитываются примерно
    + на основе текущего завершенного процента и не могут представлять фактического конечного значения.
    + С ростом процентов расчетные значения приближаются к фактическим.'; + +$lang['CLICK_RETURN_REBUILD_SEARCH'] = 'Нажмите %sздесь%s, чтобы вернуться к перестроению поиска'; +$lang['REBUILD_SEARCH_ABORTED'] = 'Перестроение поиска прервано на post_id %s.

    Если вы прервали процесс обработки, вы должны подождать несколько минут до запуска перестроения поиска снова, чтобы последний цикл можно было закончить.'; +$lang['WRONG_INPUT'] = 'Вы ввели некоторые неправильные значения. Проверьте введенные данные и попробуйте еще раз.'; + +// Buttons +$lang['PROCESSING'] = 'Идет обработка...'; +$lang['FINISHED'] = 'Закончить'; + +$lang['BOT_TOPIC_MOVED_FROM_TO'] = 'Топик был перенесен из форума [b]%s[/b] в форум [b]%s[/b][br][br]%s'; +$lang['BOT_MESS_SPLITS'] = 'Сообщения из этой темы были выделены в отдельный топик [b]%s[/b][br][br]%s'; +$lang['BOT_TOPIC_SPLITS'] = 'Тема была выделена из [b]%s[/b][br][br]%s'; + +$lang['CALLSEED'] = 'Позвать скачавших'; +$lang['CALLSEED_EXPLAIN'] = 'Принимать уведомления с просьбой вернуться на раздачу?'; +$lang['CALLSEED_SUBJECT'] = 'Помогите скачать %s'; +$lang['CALLSEED_TEXT'] = 'Здравствуйте![br]Ваша помощь необходима в раздаче [url=%s]%s[/url][br]Если Вы решили помочь, но уже удалили торрент-файл, Вы можете скачать его [url=%s]здесь[/url][br][br]Надеюсь на Вашу помощь!'; +$lang['CALLSEED_MSG_OK'] = 'Сообщения успешно отправлены всем скачавшим данный релиз'; +$lang['CALLSEED_MSG_SPAM'] = 'Запрос уже был отправлен (возможно не Вами)

    Следующая возможность отправить запрос будет через %s.'; +$lang['CALLSEED_HAVE_SEED'] = 'Раздача не нуждается в помощи (Сидеров: %d)'; + +$lang['LOG_ACTION']['LOG_TYPE'] = array( + 'mod_topic_delete' => 'Топик:
    удален', + 'mod_topic_move' => 'Топик:
    перенесен', + 'mod_topic_lock' => 'Топик:
    закрыт', + 'mod_topic_unlock' => 'Топик:
    открыт', + 'mod_topic_split' => 'Топик:
    разделен', + 'mod_post_delete' => 'Пост:
    удален', + 'adm_user_delete' => 'Юзер:
    удален', + 'adm_user_ban' => 'Юзер:
    забанен', + 'adm_user_unban' => 'Юзер:
    разбанен' +); + +$lang['ACTS_LOG_ALL_ACTIONS'] = 'Все действия'; +$lang['ACTS_LOG_SEARCH_OPTIONS'] = 'Настройки отчета по действиям'; +$lang['ACTS_LOG_FORUM'] = 'Форум'; +$lang['ACTS_LOG_ACTION'] = 'Действие'; +$lang['ACTS_LOG_USER'] = 'Пользователь'; +$lang['ACTS_LOG_LOGS_FROM'] = 'Логи с '; +$lang['ACTS_LOG_FIRST'] = 'сначала: '; +$lang['ACTS_LOG_DAYS_BACK'] = 'дней назад'; +$lang['ACTS_LOG_TOPIC_MATCH'] = 'Совпадение с названием темы'; +$lang['ACTS_LOG_SORT_BY'] = 'Сортировать по'; +$lang['ACTS_LOG_LOGS_ACTION'] = 'Действие'; +$lang['ACTS_LOG_USERNAME'] = 'Имя пользователя'; +$lang['ACTS_LOG_TIME'] = 'Время'; +$lang['ACTS_LOG_INFO'] = 'Инфо'; +$lang['ACTS_LOG_FILTER'] = 'Фильтр'; +$lang['ACTS_LOG_TOPICS'] = 'Топик:'; + +$lang['RELEASE'] = 'Шаблоны для релизов'; +$lang['RELEASES'] = 'Релизы'; + +$lang['BACK'] = 'Назад'; +$lang['ERROR_FORM'] = 'Неверно заполнены поля'; +$lang['RELEASE_WELCOME'] = 'Заполните форму для релиза'; +$lang['NEW_RELEASE'] = 'Новый релиз'; +$lang['NEXT'] = 'Продолжить'; +$lang['OTHER'] = 'Другой'; + +$lang['TPL_EMPTY_FIELD'] = 'Вы должны заполнить поле %s'; +$lang['TPL_EMPTY_SEL'] = 'Вы должны выбрать %s'; +$lang['TPL_NOT_NUM'] = '%s - должно быть число'; +$lang['TPL_NOT_URL'] = '%s - должна быть http:// ссылка'; +$lang['TPL_NOT_IMG_URL'] = '%s - должна быть http:// ссылка на картинку'; +$lang['TPL_PUT_INTO_SUBJECT'] = 'поместить в заголовок'; +$lang['TPL_POSTER'] = 'постер'; +$lang['TPL_REQ_FILLING'] = 'требует заполнения'; +$lang['TPL_NEW_LINE'] = 'новая строка'; +$lang['TPL_NEW_LINE_AFTER'] = 'новая строка после названия'; +$lang['TPL_NUM'] = 'число'; +$lang['TPL_URL'] = 'ссылка'; +$lang['TPL_IMG'] = 'картинка'; +$lang['TPL_PRE'] = 'pre'; +$lang['TPL_SPOILER'] = 'спойлер'; +$lang['TPL_IN_LINE'] = 'на той же строке'; +$lang['TPL_HEADER_ONLY'] = 'только в заголовке'; + +$lang['SEARCH_INVALID_USERNAME'] = 'Введено неправильное имя для поиска'; +$lang['SEARCH_INVALID_EMAIL'] = 'Введен неправильный адрес email для поиска'; +$lang['SEARCH_INVALID_IP'] = 'Введен неправильный IP-адрес для поиска'; +$lang['SEARCH_INVALID_GROUP'] = 'Введена неправильная группа для поиска'; +$lang['SEARCH_INVALID_RANK'] = 'Введено неправильное звание для поиска'; +$lang['SEARCH_INVALID_DATE'] = 'Введена неправильная дата для поиска'; +$lang['SEARCH_INVALID_POSTCOUNT'] = 'Введено неправильное количество сообщений для поиска'; +$lang['SEARCH_INVALID_USERFIELD'] = 'Введены неправильные пользовательские данные для поиска'; +$lang['SEARCH_INVALID_LASTVISITED'] = 'Введены неправильные данные для поиска по последним посещениям'; +$lang['SEARCH_INVALID_LANGUAGE'] = 'Выбран неправильный язык'; +$lang['SEARCH_INVALID_TIMEZONE'] = 'Выбран неправильный часовой пояс'; +$lang['SEARCH_INVALID_MODERATORS'] = 'Выбран неправильный форум'; +$lang['SEARCH_INVALID'] = 'Неверный поиск'; +$lang['SEARCH_INVALID_DAY'] = 'Введенный день неверен'; +$lang['SEARCH_INVALID_MONTH'] = 'Введенный месяц неверен'; +$lang['SEARCH_INVALID_YEAR'] = 'Введенный год неверен'; +$lang['SEARCH_FOR_USERNAME'] = 'Поиск имени пользователя %s'; +$lang['SEARCH_FOR_EMAIL'] = 'Поиск адреса email %s'; +$lang['SEARCH_FOR_IP'] = 'Поиск IP адреса %s'; +$lang['SEARCH_FOR_DATE'] = 'Поиск пользователей, зарегистрированных %s %d/%d/%d'; +$lang['SEARCH_FOR_GROUP'] = 'Поиск членов группы %s'; +$lang['SEARCH_FOR_RANK'] = 'Поиск носителей звания %s'; +$lang['SEARCH_FOR_BANNED'] = 'Поиск забаненных пользователей'; +$lang['SEARCH_FOR_ADMINS'] = 'Поиск администраторов'; +$lang['SEARCH_FOR_MODS'] = 'Поиск модераторов'; +$lang['SEARCH_FOR_DISABLED'] = 'Поиск отключенных пользователей'; +$lang['SEARCH_FOR_POSTCOUNT_GREATER'] = 'Поиск пользователей с количеством сообщений более %d'; +$lang['SEARCH_FOR_POSTCOUNT_LESSER'] = 'Поиск пользователей с количеством сообщений менее %d'; +$lang['SEARCH_FOR_POSTCOUNT_RANGE'] = 'Поиск пользователей с количеством сообщений от %d до %d'; +$lang['SEARCH_FOR_POSTCOUNT_EQUALS'] = 'Поиск пользователей с количеством сообщений %d'; +$lang['SEARCH_FOR_USERFIELD_ICQ'] = 'Поиск пользователей с адресом ICQ %s'; +$lang['SEARCH_FOR_USERFIELD_SKYPE'] = 'Поиск пользователей с логином в Skype %s'; +$lang['SEARCH_FOR_USERFIELD_TWITTER'] = 'Поиск пользователей с логином в Twitter %s'; +$lang['SEARCH_FOR_USERFIELD_WEBSITE'] = 'Поиск пользователей, чей веб-сайт %s'; +$lang['SEARCH_FOR_USERFIELD_LOCATION'] = 'Поиск пользователей из %s'; +$lang['SEARCH_FOR_USERFIELD_INTERESTS'] = 'Поиск пользователей с интересами %s'; +$lang['SEARCH_FOR_USERFIELD_OCCUPATION'] = 'Поиск пользователей с родом занятий %s'; +$lang['SEARCH_FOR_LASTVISITED_INTHELAST'] = 'Поиск пользователей, посетивших трекер в последние %s %s'; +$lang['SEARCH_FOR_LASTVISITED_AFTERTHELAST'] = 'Поиск пользователей, посетивших трекер после %s %s'; +$lang['SEARCH_FOR_LANGUAGE'] = 'Поиск пользователей, у которых выбран %s язык'; +$lang['SEARCH_FOR_TIMEZONE'] = 'Поиск пользователей с часовым поясом GMT %s'; +$lang['SEARCH_FOR_STYLE'] = 'Поиск пользователей, использующих стиль %s'; +$lang['SEARCH_FOR_MODERATORS'] = 'Поиск модареторов форума -> %s'; +$lang['SEARCH_USERS_ADVANCED'] = 'Расширенный поиск пользователя'; +$lang['SEARCH_USERS_EXPLAIN'] = 'Позволяет осуществлять расширенный поиск пользователей по большому диапазону критериев. Пожалуйста, читайте описания полей поиска, чтобы полностью понять каждую из поисковых возможностей.'; +$lang['SEARCH_USERNAME_EXPLAIN'] = 'Здесь можно произвести регистронезависимый поиск имени пользователя. Если вы хотите задать только часть имени, используйте * (звездочка) как маску.'; +$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_USERS_JOINED'] = 'Пользователи, зарегистрированные'; +$lang['SEARCH_USERS_LASTVISITED'] = 'Пользователи, посетившие трекер'; +$lang['IN_THE_LAST'] = 'за последние'; +$lang['AFTER_THE_LAST'] = 'ранее чем за последние'; +$lang['BEFORE'] = 'До'; +$lang['AFTER'] = 'После'; +$lang['SEARCH_USERS_JOINED_EXPLAIN'] = 'Поиск пользователей, зарегистрированных До или После (включительно) указанной даты. Формат даты ГГГГ/ММ/ДД.'; +$lang['SEARCH_USERS_GROUPS_EXPLAIN'] = 'Просмотреть всех членов выбранной группы.'; +$lang['SEARCH_USERS_RANKS_EXPLAIN'] = 'Просмотреть всех носителей выбранного звания.'; +$lang['BANNED_USERS'] = 'Забаненные пользователи'; +$lang['DISABLED_USERS'] = 'Отключенные пользователи'; +$lang['SEARCH_USERS_MISC_EXPLAIN'] = 'Администраторы - все пользователи с правами администратора; Модераторы - все модераторы форумов; Забаненные пользователи - все учетные записи, запрещенные на трекере; отключенные пользователи - все пользователи с отключенными учетными записями (вручную, или не подтвердившие свой адрес email); Пользователи с отключенными ЛС - Пользователи, не имеющие права пользоваться личными сообщениями (установлено через управление пользователями)'; +$lang['POSTCOUNT'] = 'Число сообщений'; +$lang['EQUALS'] = 'Равно'; +$lang['GREATER_THAN'] = 'Больше чем'; +$lang['LESS_THAN'] = 'Меньше чем'; +$lang['SEARCH_USERS_POSTCOUNT_EXPLAIN'] = 'Вы можете искать пользователей по количеству оставленных сообщений. Поиск можно произвести либо по конкретному значению, либо большему или меньшему заданного, либо находящемуся в заданном диапазоне значений. Для поиска в диапазоне, выберите "Равно", и задайте начало и конец диапазона через дефис (-), напр. 10-15'; +$lang['USERFIELD'] = 'Поле профиля'; +$lang['SEARCH_USERS_USERFIELD_EXPLAIN'] = 'Поиск пользователей по различным полям профиля. В качестве маски разрешены звездочки (*).'; +$lang['SEARCH_USERS_LASTVISITED_EXPLAIN'] = 'Вы можете искать пользователей по дате их последнего входа на трекер, используя эту поисковую возможность.'; +$lang['SEARCH_USERS_LANGUAGE_EXPLAIN'] = 'Поиск пользователей, выбравших заданный язык в своем профиле'; +$lang['SEARCH_USERS_TIMEZONE_EXPLAIN'] = 'Поиск пользователей, выбравших заданный часовой пояс в своем профиле'; +$lang['SEARCH_USERS_STYLE_EXPLAIN'] = 'Поиск пользователей, выбравших заданный стиль в своем профиле'; +$lang['MODERATORS_OF'] = 'Модераторы'; +$lang['SEARCH_USERS_MODERATORS_EXPLAIN'] = 'Поиск пользователей с правами модератора на заданном форуме. Права модератора определяются в соответствии с правами пользователя, или в соответствии с правами группы, челоном которой он является.'; + +$lang['SEARCH_USERS_NEW'] = '%s дал %d результат(ов). Новый поиск.'; +$lang['BANNED'] = 'Забаненные'; +$lang['NOT_BANNED'] = 'Не забаненные'; +$lang['SEARCH_NO_RESULTS'] = 'Нет пользователей, отвечающих выбранным критериям. Пожалуйста, попробуйте повторить поиск. Если вы ищете имя пользователя или адрес email по частичному совпадению, вы должны использовать маску * (звездочку).'; +$lang['ACCOUNT_STATUS'] = 'Статус учетной записи'; +$lang['SORT_OPTIONS'] = 'Поля сортировки:'; +$lang['LAST_VISIT'] = 'Последнее посещение'; +$lang['DAY'] = 'День'; + +$lang['POST_EDIT_CANNOT'] = 'Извините, вы не можете редактировать сообщения'; +$lang['FORUMS_IN_CAT'] = 'форумов в этой категории'; + +$lang['MC_TITLE'] = 'Модераторский комментарий'; +$lang['MC_LEGEND'] = 'Тип комментария'; +$lang['MC_FAQ'] = 'Введенный Вами текст будет отображаться под этим сообщением'; +$lang['MC_COMMENT_PM_SUBJECT'] = "%s в Вашем сообщении"; +$lang['MC_COMMENT_PM_MSG'] = "Здравствуйте, [b]%s[/b]\nМодератор оставил в Вашем сообщении [url=%s][b]%s[/b][/url][quote]\n%s\n[/quote]"; +$lang['MC_COMMENT'] = array( + 0 => array( + 'title' => '', + 'type' => 'Удалить комментарий', + ), + 1 => array( + 'title' => 'Комментарий от %s', + 'type' => 'Комментарий', + ), + 2 => array( + 'title' => 'Информация от %s', + 'type' => 'Информация', + ), + 3 => array( + 'title' => 'Предупреждение от %s', + 'type' => 'Предупреждение', + ), + 4 => array( + 'title' => 'Нарушение от %s', + 'type' => 'Нарушение', + ), ); \ No newline at end of file diff --git a/upload/language/ru/search_stopwords.txt b/upload/language/ru/search_stopwords.txt index d73a0f482..165744409 100644 --- a/upload/language/ru/search_stopwords.txt +++ b/upload/language/ru/search_stopwords.txt @@ -1,469 +1,469 @@ -автор -алло -ало -английский -аннотация -аудио -аудиокнига -аудиоспектакль -без -битрейт -близко -более -больше -будем -будет -будете -будешь -будит -будто -буду -будут -будь -буедт -буит -бывает -был -была -были -было -быть -важная -важное -важные -важный -вам -вами -вас -ваш -ваша -ваше -ваши -вверх -вдали -вдруг -ведь -везде -версия -весь -видео -вниз -внизу -вокруг -вон -восемь -восьмой -вот -впрочем -времени -время -всё -все -всегда -всего -всем -всеми -всему -всех -всею -всю -всюду -вся -второй -выпуска -где -гоблинa -говорил -говорит -год -года -году -давай -давно -даже -дал -далеко -дальше -даром -два -двадцать -две -двенадцать -двух -двухголосый -девять -действительно -день -десять -для -дни -днями -довольно -долго -должно -доп -другая -другие -других -другова -другого -другое -другой -дублирование -дык -его -ему -если -есть -ещё -еще -жанр -закадровый -занят -занята -занято -заняты -затем -зато -зачем -здесь -зип -значит -ибо -издатель -издательство -изначально -или -именно -иметь -ими -имхо -имя -иногда -интерфейса -информация -исполнитель -кадра -каждая -каждое -каждые -каждый -кажется -как -какая -какже -какой -качество -кем -когда -кого -кодек -ком -компьютерное -кому -конечно -коотрый -которая -которого -которой -которые -который -которых -кроме -кругом -кто -куда -лет -либо -лишь -лол -лучше -любительский -люди -мало -мегалол -между -менее -меньше -меня -миллионов -мимо -минут -мля -мне -много -многоголосый -мной -мною -моё -мог -могли -могу -могут -модель -мое -может -можно -мои -мой -мочь -моя -наверху -над -надо -назад -название -наиболее -наконец -нам -нами -нас -нах -наш -наша -наше -наши -неё -него -недавно -недалеко -нее -ней -нельзя -нем -немного -нему -нередко -несжатый -несколько -нет -нею -нибудь -ниже -низко -никогда -никуда -ними -них -ничего -нужно -оба -обложка -обычно -обычный -один -однажды -однако -одного -одноголосый -одной -около -она -они -оно -операционные -описание -опять -оригинальное -особенно -особено -ответ -отовсюду -отсканированные -отсутствует -отсюда -очень -ошибками -ошибок -первый -перевод -перед -песен -платформа -под -пожалуйста -позже -пока -полное -пор -пора -после -посреди -постер -потом -потому -почему -почти -прекрасно -при -присутствует -про -продолжительность -просто -против -профессиональный -процент -процентов -прочем -пятый -пять -раз -разве -размер -разработчик -разработчика -рано -раньше -рар -режиссер -ролях -рус -русский -рядом -сайт -сам -сама -самаво -сами -самим -самими -самих -само -самого -самой -самом -самому -саму -сборки -своё -свое -своего -своей -свои -своих -свой -свою -своя -себе -себя -сегодня -седня -седьмой -сейчас -семь -сжатый -системные -системы -сих -сказал -сказала -сказать -сколько -скриншот -слишком -сначала -снова -собой -собою -совсем -спасибо -список -стал -страна -страницы -субтитры -суть -таб -таблэтка -тагда -так -такая -также -такие -такйо -такое -такой -там -тама -твоё -твой -твоя -тебе -тебя -текст -тем -теми -теперь -тех -тип -тобой -тобою -тогда -того -тоже -той -только -том -тому -топик -топика -торент -торрент -тот -точек -тоьлко -тою -транслит -требования -требуется -третий -три -трэклист -туда -тут -тысяч -тысяча -уже -уметь -упс -формат -форум -форума -хороше -хорошо -хотеть -хоть -хотя -хочешь -часто -чаще -чего -чей -человек -чем -чему -через -четвертый -четыре -что -чтоб -чтобы -чуть -чье -чья -шестой -шесть -щас -эта -эти -этим -этими -этих -это -этого -этой -этом -этому -этот -эту -язык +автор +алло +ало +английский +аннотация +аудио +аудиокнига +аудиоспектакль +без +битрейт +близко +более +больше +будем +будет +будете +будешь +будит +будто +буду +будут +будь +буедт +буит +бывает +был +была +были +было +быть +важная +важное +важные +важный +вам +вами +вас +ваш +ваша +ваше +ваши +вверх +вдали +вдруг +ведь +везде +версия +весь +видео +вниз +внизу +вокруг +вон +восемь +восьмой +вот +впрочем +времени +время +всё +все +всегда +всего +всем +всеми +всему +всех +всею +всю +всюду +вся +второй +выпуска +где +гоблинa +говорил +говорит +год +года +году +давай +давно +даже +дал +далеко +дальше +даром +два +двадцать +две +двенадцать +двух +двухголосый +девять +действительно +день +десять +для +дни +днями +довольно +долго +должно +доп +другая +другие +других +другова +другого +другое +другой +дублирование +дык +его +ему +если +есть +ещё +еще +жанр +закадровый +занят +занята +занято +заняты +затем +зато +зачем +здесь +зип +значит +ибо +издатель +издательство +изначально +или +именно +иметь +ими +имхо +имя +иногда +интерфейса +информация +исполнитель +кадра +каждая +каждое +каждые +каждый +кажется +как +какая +какже +какой +качество +кем +когда +кого +кодек +ком +компьютерное +кому +конечно +коотрый +которая +которого +которой +которые +который +которых +кроме +кругом +кто +куда +лет +либо +лишь +лол +лучше +любительский +люди +мало +мегалол +между +менее +меньше +меня +миллионов +мимо +минут +мля +мне +много +многоголосый +мной +мною +моё +мог +могли +могу +могут +модель +мое +может +можно +мои +мой +мочь +моя +наверху +над +надо +назад +название +наиболее +наконец +нам +нами +нас +нах +наш +наша +наше +наши +неё +него +недавно +недалеко +нее +ней +нельзя +нем +немного +нему +нередко +несжатый +несколько +нет +нею +нибудь +ниже +низко +никогда +никуда +ними +них +ничего +нужно +оба +обложка +обычно +обычный +один +однажды +однако +одного +одноголосый +одной +около +она +они +оно +операционные +описание +опять +оригинальное +особенно +особено +ответ +отовсюду +отсканированные +отсутствует +отсюда +очень +ошибками +ошибок +первый +перевод +перед +песен +платформа +под +пожалуйста +позже +пока +полное +пор +пора +после +посреди +постер +потом +потому +почему +почти +прекрасно +при +присутствует +про +продолжительность +просто +против +профессиональный +процент +процентов +прочем +пятый +пять +раз +разве +размер +разработчик +разработчика +рано +раньше +рар +режиссер +ролях +рус +русский +рядом +сайт +сам +сама +самаво +сами +самим +самими +самих +само +самого +самой +самом +самому +саму +сборки +своё +свое +своего +своей +свои +своих +свой +свою +своя +себе +себя +сегодня +седня +седьмой +сейчас +семь +сжатый +системные +системы +сих +сказал +сказала +сказать +сколько +скриншот +слишком +сначала +снова +собой +собою +совсем +спасибо +список +стал +страна +страницы +субтитры +суть +таб +таблэтка +тагда +так +такая +также +такие +такйо +такое +такой +там +тама +твоё +твой +твоя +тебе +тебя +текст +тем +теми +теперь +тех +тип +тобой +тобою +тогда +того +тоже +той +только +том +тому +топик +топика +торент +торрент +тот +точек +тоьлко +тою +транслит +требования +требуется +третий +три +трэклист +туда +тут +тысяч +тысяча +уже +уметь +упс +формат +форум +форума +хороше +хорошо +хотеть +хоть +хотя +хочешь +часто +чаще +чего +чей +человек +чем +чему +через +четвертый +четыре +что +чтоб +чтобы +чуть +чье +чья +шестой +шесть +щас +эта +эти +этим +этими +этих +это +этого +этой +этом +этому +этот +эту +язык diff --git a/upload/language/ru/search_synonyms.txt b/upload/language/ru/search_synonyms.txt index 6ee9fc600..077786f50 100644 --- a/upload/language/ru/search_synonyms.txt +++ b/upload/language/ru/search_synonyms.txt @@ -1,75 +1,75 @@ -аббревиатура абревиатура -абонент абанент -агрессивный агресивный -агрессия агресия -агрессор агресор -аккумулятор акамулятор -аккумулятор акумулятор -аккуратно акуратно -аккуратный акуратный -апелляция апеляция -аппарат апарат -аппаратура апаратура -ассистент асистент -баррикада барикада -больше больеш -брэнд бренд -будущее будующее -будущем будующеем -будущем будующем -будущий будующий -видеть видить -всегда всигда -всегда свегда -всякий свякий -гауптвахта гаупвахта -грамотный граммотный -гуманизм гумманизм -делать деалть -дилер диллер -жизнь жизьнь -жизнь жызнь -зачет зачот -идти итти -именно миенно -инженер инжинер -интерес антирес -интерес интирес -инцидент инцедент -инцидент инциндент -легко лекго -легко лехко -машина машына -машина мошина -мощность мощьность -наконец наканец -например напирмер -ничего ничево -ничто ништо -новый нвоый -опечатка очепятка -офис оффис -перспектива переспектива -последний полседний -потом патом -потом поотм -программа софтинка -программист програмист -программу софтинку -просто рпосто -против проитв -раса расса -реклама рекламма -рекламу рекламму -свои сови -сказать сакзать -сколько сколко -случай случяй -смотреть смортеть -твой товй -теперь теепрь -функцыя функцыя -хороший хароший -черный чорный -черным чорным +аббревиатура абревиатура +абонент абанент +агрессивный агресивный +агрессия агресия +агрессор агресор +аккумулятор акамулятор +аккумулятор акумулятор +аккуратно акуратно +аккуратный акуратный +апелляция апеляция +аппарат апарат +аппаратура апаратура +ассистент асистент +баррикада барикада +больше больеш +брэнд бренд +будущее будующее +будущем будующеем +будущем будующем +будущий будующий +видеть видить +всегда всигда +всегда свегда +всякий свякий +гауптвахта гаупвахта +грамотный граммотный +гуманизм гумманизм +делать деалть +дилер диллер +жизнь жизьнь +жизнь жызнь +зачет зачот +идти итти +именно миенно +инженер инжинер +интерес антирес +интерес интирес +инцидент инцедент +инцидент инциндент +легко лекго +легко лехко +машина машына +машина мошина +мощность мощьность +наконец наканец +например напирмер +ничего ничево +ничто ништо +новый нвоый +опечатка очепятка +офис оффис +перспектива переспектива +последний полседний +потом патом +потом поотм +программа софтинка +программист програмист +программу софтинку +просто рпосто +против проитв +раса расса +реклама рекламма +рекламу рекламму +свои сови +сказать сакзать +сколько сколко +случай случяй +смотреть смортеть +твой товй +теперь теепрь +функцыя функцыя +хороший хароший +черный чорный +черным чорным эффект эфект \ No newline at end of file diff --git a/upload/language/ua/html/advert.html b/upload/language/ua/html/advert.html index bb03d1397..42c1fd934 100644 --- a/upload/language/ua/html/advert.html +++ b/upload/language/ua/html/advert.html @@ -1,17 +1,17 @@ -РЕКЛАМА НА САЙТІ - -
    -
    - РЕКЛАМА НА САЙТІ -
    - -
    -

    Розміщення реклами на ">

    -

    З питань розміщення реклами звертайтесь за адресою:

    -
    -
    -
    -

    [ Закрити ]

    +РЕКЛАМА НА САЙТІ + +
    +
    + РЕКЛАМА НА САЙТІ +
    + +
    +

    Розміщення реклами на ">

    +

    З питань розміщення реклами звертайтесь за адресою:

    +
    +
    +
    +

    [ Закрити ]

    \ No newline at end of file diff --git a/upload/language/ua/html/sidebar1.html b/upload/language/ua/html/sidebar1.html index c2ed1cadb..2e5201485 100644 --- a/upload/language/ua/html/sidebar1.html +++ b/upload/language/ua/html/sidebar1.html @@ -1,23 +1,23 @@ -
    -

    BitTorrent клієнти

    -
      -
    • uTorrent (рекомендований: 3.4)
    • -
    • BitTorrent (рекомендований: 7.9)
    • -
    • Transmission (рекомендований: 2.82)
    • -
    -
    - -
    - - - -
    - +
    +

    BitTorrent клієнти

    +
      +
    • uTorrent (рекомендований: 3.4)
    • +
    • BitTorrent (рекомендований: 7.9)
    • +
    • Transmission (рекомендований: 2.82)
    • +
    +
    + +
    + + + +
    + \ No newline at end of file diff --git a/upload/language/ua/html/sidebar2.html b/upload/language/ua/html/sidebar2.html index 614ba72ee..7201efba5 100644 --- a/upload/language/ua/html/sidebar2.html +++ b/upload/language/ua/html/sidebar2.html @@ -1,18 +1,18 @@ -
    -

    Бічна панель 2

    - Для додавання контенту в дану бічну панель, треба редагувати вказані файли: -

    -
      -
    • language/*/html/sidebar2.html
    • -
    • /templates/default/page_footer.tpl
    • -
    -
    - Для відключення даної бічній панелі, встановіть значення змінної $page_cfg['show_sidebar2'] у файлі config.php в положення false. -
    - -
    - -
    -

    Партнери

    - Висловлюємо подяку всім людям, які зробили матеріальну допомогу в розвиток TorrentPier II, вказаним у файлі contributors.txt. +
    +

    Бічна панель 2

    + Для додавання контенту в дану бічну панель, треба редагувати вказані файли: +

    +
      +
    • language/*/html/sidebar2.html
    • +
    • /templates/default/page_footer.tpl
    • +
    +
    + Для відключення даної бічній панелі, встановіть значення змінної $page_cfg['show_sidebar2'] у файлі config.php в положення false. +
    + +
    + +
    +

    Партнери

    + Висловлюємо подяку всім людям, які зробили матеріальну допомогу в розвиток TorrentPier II, вказаним у файлі contributors.txt.
    \ No newline at end of file diff --git a/upload/language/ua/search_stopwords.txt b/upload/language/ua/search_stopwords.txt index d73a0f482..165744409 100644 --- a/upload/language/ua/search_stopwords.txt +++ b/upload/language/ua/search_stopwords.txt @@ -1,469 +1,469 @@ -автор -алло -ало -английский -аннотация -аудио -аудиокнига -аудиоспектакль -без -битрейт -близко -более -больше -будем -будет -будете -будешь -будит -будто -буду -будут -будь -буедт -буит -бывает -был -была -были -было -быть -важная -важное -важные -важный -вам -вами -вас -ваш -ваша -ваше -ваши -вверх -вдали -вдруг -ведь -везде -версия -весь -видео -вниз -внизу -вокруг -вон -восемь -восьмой -вот -впрочем -времени -время -всё -все -всегда -всего -всем -всеми -всему -всех -всею -всю -всюду -вся -второй -выпуска -где -гоблинa -говорил -говорит -год -года -году -давай -давно -даже -дал -далеко -дальше -даром -два -двадцать -две -двенадцать -двух -двухголосый -девять -действительно -день -десять -для -дни -днями -довольно -долго -должно -доп -другая -другие -других -другова -другого -другое -другой -дублирование -дык -его -ему -если -есть -ещё -еще -жанр -закадровый -занят -занята -занято -заняты -затем -зато -зачем -здесь -зип -значит -ибо -издатель -издательство -изначально -или -именно -иметь -ими -имхо -имя -иногда -интерфейса -информация -исполнитель -кадра -каждая -каждое -каждые -каждый -кажется -как -какая -какже -какой -качество -кем -когда -кого -кодек -ком -компьютерное -кому -конечно -коотрый -которая -которого -которой -которые -который -которых -кроме -кругом -кто -куда -лет -либо -лишь -лол -лучше -любительский -люди -мало -мегалол -между -менее -меньше -меня -миллионов -мимо -минут -мля -мне -много -многоголосый -мной -мною -моё -мог -могли -могу -могут -модель -мое -может -можно -мои -мой -мочь -моя -наверху -над -надо -назад -название -наиболее -наконец -нам -нами -нас -нах -наш -наша -наше -наши -неё -него -недавно -недалеко -нее -ней -нельзя -нем -немного -нему -нередко -несжатый -несколько -нет -нею -нибудь -ниже -низко -никогда -никуда -ними -них -ничего -нужно -оба -обложка -обычно -обычный -один -однажды -однако -одного -одноголосый -одной -около -она -они -оно -операционные -описание -опять -оригинальное -особенно -особено -ответ -отовсюду -отсканированные -отсутствует -отсюда -очень -ошибками -ошибок -первый -перевод -перед -песен -платформа -под -пожалуйста -позже -пока -полное -пор -пора -после -посреди -постер -потом -потому -почему -почти -прекрасно -при -присутствует -про -продолжительность -просто -против -профессиональный -процент -процентов -прочем -пятый -пять -раз -разве -размер -разработчик -разработчика -рано -раньше -рар -режиссер -ролях -рус -русский -рядом -сайт -сам -сама -самаво -сами -самим -самими -самих -само -самого -самой -самом -самому -саму -сборки -своё -свое -своего -своей -свои -своих -свой -свою -своя -себе -себя -сегодня -седня -седьмой -сейчас -семь -сжатый -системные -системы -сих -сказал -сказала -сказать -сколько -скриншот -слишком -сначала -снова -собой -собою -совсем -спасибо -список -стал -страна -страницы -субтитры -суть -таб -таблэтка -тагда -так -такая -также -такие -такйо -такое -такой -там -тама -твоё -твой -твоя -тебе -тебя -текст -тем -теми -теперь -тех -тип -тобой -тобою -тогда -того -тоже -той -только -том -тому -топик -топика -торент -торрент -тот -точек -тоьлко -тою -транслит -требования -требуется -третий -три -трэклист -туда -тут -тысяч -тысяча -уже -уметь -упс -формат -форум -форума -хороше -хорошо -хотеть -хоть -хотя -хочешь -часто -чаще -чего -чей -человек -чем -чему -через -четвертый -четыре -что -чтоб -чтобы -чуть -чье -чья -шестой -шесть -щас -эта -эти -этим -этими -этих -это -этого -этой -этом -этому -этот -эту -язык +автор +алло +ало +английский +аннотация +аудио +аудиокнига +аудиоспектакль +без +битрейт +близко +более +больше +будем +будет +будете +будешь +будит +будто +буду +будут +будь +буедт +буит +бывает +был +была +были +было +быть +важная +важное +важные +важный +вам +вами +вас +ваш +ваша +ваше +ваши +вверх +вдали +вдруг +ведь +везде +версия +весь +видео +вниз +внизу +вокруг +вон +восемь +восьмой +вот +впрочем +времени +время +всё +все +всегда +всего +всем +всеми +всему +всех +всею +всю +всюду +вся +второй +выпуска +где +гоблинa +говорил +говорит +год +года +году +давай +давно +даже +дал +далеко +дальше +даром +два +двадцать +две +двенадцать +двух +двухголосый +девять +действительно +день +десять +для +дни +днями +довольно +долго +должно +доп +другая +другие +других +другова +другого +другое +другой +дублирование +дык +его +ему +если +есть +ещё +еще +жанр +закадровый +занят +занята +занято +заняты +затем +зато +зачем +здесь +зип +значит +ибо +издатель +издательство +изначально +или +именно +иметь +ими +имхо +имя +иногда +интерфейса +информация +исполнитель +кадра +каждая +каждое +каждые +каждый +кажется +как +какая +какже +какой +качество +кем +когда +кого +кодек +ком +компьютерное +кому +конечно +коотрый +которая +которого +которой +которые +который +которых +кроме +кругом +кто +куда +лет +либо +лишь +лол +лучше +любительский +люди +мало +мегалол +между +менее +меньше +меня +миллионов +мимо +минут +мля +мне +много +многоголосый +мной +мною +моё +мог +могли +могу +могут +модель +мое +может +можно +мои +мой +мочь +моя +наверху +над +надо +назад +название +наиболее +наконец +нам +нами +нас +нах +наш +наша +наше +наши +неё +него +недавно +недалеко +нее +ней +нельзя +нем +немного +нему +нередко +несжатый +несколько +нет +нею +нибудь +ниже +низко +никогда +никуда +ними +них +ничего +нужно +оба +обложка +обычно +обычный +один +однажды +однако +одного +одноголосый +одной +около +она +они +оно +операционные +описание +опять +оригинальное +особенно +особено +ответ +отовсюду +отсканированные +отсутствует +отсюда +очень +ошибками +ошибок +первый +перевод +перед +песен +платформа +под +пожалуйста +позже +пока +полное +пор +пора +после +посреди +постер +потом +потому +почему +почти +прекрасно +при +присутствует +про +продолжительность +просто +против +профессиональный +процент +процентов +прочем +пятый +пять +раз +разве +размер +разработчик +разработчика +рано +раньше +рар +режиссер +ролях +рус +русский +рядом +сайт +сам +сама +самаво +сами +самим +самими +самих +само +самого +самой +самом +самому +саму +сборки +своё +свое +своего +своей +свои +своих +свой +свою +своя +себе +себя +сегодня +седня +седьмой +сейчас +семь +сжатый +системные +системы +сих +сказал +сказала +сказать +сколько +скриншот +слишком +сначала +снова +собой +собою +совсем +спасибо +список +стал +страна +страницы +субтитры +суть +таб +таблэтка +тагда +так +такая +также +такие +такйо +такое +такой +там +тама +твоё +твой +твоя +тебе +тебя +текст +тем +теми +теперь +тех +тип +тобой +тобою +тогда +того +тоже +той +только +том +тому +топик +топика +торент +торрент +тот +точек +тоьлко +тою +транслит +требования +требуется +третий +три +трэклист +туда +тут +тысяч +тысяча +уже +уметь +упс +формат +форум +форума +хороше +хорошо +хотеть +хоть +хотя +хочешь +часто +чаще +чего +чей +человек +чем +чему +через +четвертый +четыре +что +чтоб +чтобы +чуть +чье +чья +шестой +шесть +щас +эта +эти +этим +этими +этих +это +этого +этой +этом +этому +этот +эту +язык diff --git a/upload/language/ua/search_synonyms.txt b/upload/language/ua/search_synonyms.txt index 6ee9fc600..077786f50 100644 --- a/upload/language/ua/search_synonyms.txt +++ b/upload/language/ua/search_synonyms.txt @@ -1,75 +1,75 @@ -аббревиатура абревиатура -абонент абанент -агрессивный агресивный -агрессия агресия -агрессор агресор -аккумулятор акамулятор -аккумулятор акумулятор -аккуратно акуратно -аккуратный акуратный -апелляция апеляция -аппарат апарат -аппаратура апаратура -ассистент асистент -баррикада барикада -больше больеш -брэнд бренд -будущее будующее -будущем будующеем -будущем будующем -будущий будующий -видеть видить -всегда всигда -всегда свегда -всякий свякий -гауптвахта гаупвахта -грамотный граммотный -гуманизм гумманизм -делать деалть -дилер диллер -жизнь жизьнь -жизнь жызнь -зачет зачот -идти итти -именно миенно -инженер инжинер -интерес антирес -интерес интирес -инцидент инцедент -инцидент инциндент -легко лекго -легко лехко -машина машына -машина мошина -мощность мощьность -наконец наканец -например напирмер -ничего ничево -ничто ништо -новый нвоый -опечатка очепятка -офис оффис -перспектива переспектива -последний полседний -потом патом -потом поотм -программа софтинка -программист програмист -программу софтинку -просто рпосто -против проитв -раса расса -реклама рекламма -рекламу рекламму -свои сови -сказать сакзать -сколько сколко -случай случяй -смотреть смортеть -твой товй -теперь теепрь -функцыя функцыя -хороший хароший -черный чорный -черным чорным +аббревиатура абревиатура +абонент абанент +агрессивный агресивный +агрессия агресия +агрессор агресор +аккумулятор акамулятор +аккумулятор акумулятор +аккуратно акуратно +аккуратный акуратный +апелляция апеляция +аппарат апарат +аппаратура апаратура +ассистент асистент +баррикада барикада +больше больеш +брэнд бренд +будущее будующее +будущем будующеем +будущем будующем +будущий будующий +видеть видить +всегда всигда +всегда свегда +всякий свякий +гауптвахта гаупвахта +грамотный граммотный +гуманизм гумманизм +делать деалть +дилер диллер +жизнь жизьнь +жизнь жызнь +зачет зачот +идти итти +именно миенно +инженер инжинер +интерес антирес +интерес интирес +инцидент инцедент +инцидент инциндент +легко лекго +легко лехко +машина машына +машина мошина +мощность мощьность +наконец наканец +например напирмер +ничего ничево +ничто ништо +новый нвоый +опечатка очепятка +офис оффис +перспектива переспектива +последний полседний +потом патом +потом поотм +программа софтинка +программист програмист +программу софтинку +просто рпосто +против проитв +раса расса +реклама рекламма +рекламу рекламму +свои сови +сказать сакзать +сколько сколко +случай случяй +смотреть смортеть +твой товй +теперь теепрь +функцыя функцыя +хороший хароший +черный чорный +черным чорным эффект эфект \ No newline at end of file diff --git a/upload/misc.php b/upload/misc.php index 11265c9d5..900dde854 100644 --- a/upload/misc.php +++ b/upload/misc.php @@ -1,144 +1,144 @@ -session_start(); - -$do = request_var('do', ''); - -if ($do == 'attach_rules') -{ - if (!$forum_id = @intval(request_var('f', '')) OR !forum_exists($forum_id)) - { - bb_die('invalid forum_id'); - } - require(BB_ROOT .'attach_mod/attachment_mod.php'); - // Display the allowed Extension Groups and Upload Size - $auth = auth(AUTH_ALL, $forum_id, $userdata); - $_max_filesize = $attach_config['max_filesize']; - - if (!$auth['auth_attachments'] || !$auth['auth_view']) - { - bb_die('You are not allowed to call this file'); - } - - $sql = 'SELECT group_id, group_name, max_filesize, forum_permissions - FROM ' . BB_EXTENSION_GROUPS . ' - WHERE allow_group = 1 - ORDER BY group_name ASC'; - - if (!($result = DB()->sql_query($sql))) - { - bb_die('Could not query extension groups'); - } - - $allowed_filesize = array(); - $rows = DB()->sql_fetchrowset($result); - $num_rows = DB()->num_rows($result); - DB()->sql_freeresult($result); - - // Ok, only process those Groups allowed within this forum - $nothing = true; - for ($i = 0; $i < $num_rows; $i++) - { - $auth_cache = trim($rows[$i]['forum_permissions']); - - $permit = ((is_forum_authed($auth_cache, $forum_id)) || trim($rows[$i]['forum_permissions']) == ''); - - if ($permit) - { - $nothing = false; - $group_name = $rows[$i]['group_name']; - $f_size = intval(trim($rows[$i]['max_filesize'])); - $det_filesize = (!$f_size) ? $_max_filesize : $f_size; - - $max_filesize = (!$det_filesize) ? $lang['UNLIMITED'] : humn_size($det_filesize); - - $template->assign_block_vars('group_row', array( - 'GROUP_RULE_HEADER' => sprintf($lang['GROUP_RULE_HEADER'], $group_name, $max_filesize), - )); - - $sql = 'SELECT extension - FROM ' . BB_EXTENSIONS . " - WHERE group_id = " . (int) $rows[$i]['group_id'] . " - ORDER BY extension ASC"; - - if (!($result = DB()->sql_query($sql))) - { - bb_die('Could not query extensions'); - } - - $e_rows = DB()->sql_fetchrowset($result); - $e_num_rows = DB()->num_rows($result); - DB()->sql_freeresult($result); - - for ($j = 0; $j < $e_num_rows; $j++) - { - $template->assign_block_vars('group_row.extension_row', array( - 'EXTENSION' => $e_rows[$j]['extension'], - )); - } - } - } - - $template->assign_vars(array( - 'PAGE_TITLE' => $lang['ATTACH_RULES_TITLE'], - )); - - if ($nothing) - { - $template->assign_block_vars('switch_nothing', array()); - } - - print_page('attach_rules.tpl', 'simple'); -} -elseif ($do == 'info') -{ - $req_mode = (string) request_var('show', 'not_found'); - if(preg_match('/\//i', $req_mode)) - { - die('Include detected!'); - } - if(preg_match('/ - - - - - - - - - - - -
    - - - - session_start(); + +$do = request_var('do', ''); + +if ($do == 'attach_rules') +{ + if (!$forum_id = @intval(request_var('f', '')) OR !forum_exists($forum_id)) + { + bb_die('invalid forum_id'); + } + require(BB_ROOT .'attach_mod/attachment_mod.php'); + // Display the allowed Extension Groups and Upload Size + $auth = auth(AUTH_ALL, $forum_id, $userdata); + $_max_filesize = $attach_config['max_filesize']; + + if (!$auth['auth_attachments'] || !$auth['auth_view']) + { + bb_die('You are not allowed to call this file'); + } + + $sql = 'SELECT group_id, group_name, max_filesize, forum_permissions + FROM ' . BB_EXTENSION_GROUPS . ' + WHERE allow_group = 1 + ORDER BY group_name ASC'; + + if (!($result = DB()->sql_query($sql))) + { + bb_die('Could not query extension groups'); + } + + $allowed_filesize = array(); + $rows = DB()->sql_fetchrowset($result); + $num_rows = DB()->num_rows($result); + DB()->sql_freeresult($result); + + // Ok, only process those Groups allowed within this forum + $nothing = true; + for ($i = 0; $i < $num_rows; $i++) + { + $auth_cache = trim($rows[$i]['forum_permissions']); + + $permit = ((is_forum_authed($auth_cache, $forum_id)) || trim($rows[$i]['forum_permissions']) == ''); + + if ($permit) + { + $nothing = false; + $group_name = $rows[$i]['group_name']; + $f_size = intval(trim($rows[$i]['max_filesize'])); + $det_filesize = (!$f_size) ? $_max_filesize : $f_size; + + $max_filesize = (!$det_filesize) ? $lang['UNLIMITED'] : humn_size($det_filesize); + + $template->assign_block_vars('group_row', array( + 'GROUP_RULE_HEADER' => sprintf($lang['GROUP_RULE_HEADER'], $group_name, $max_filesize), + )); + + $sql = 'SELECT extension + FROM ' . BB_EXTENSIONS . " + WHERE group_id = " . (int) $rows[$i]['group_id'] . " + ORDER BY extension ASC"; + + if (!($result = DB()->sql_query($sql))) + { + bb_die('Could not query extensions'); + } + + $e_rows = DB()->sql_fetchrowset($result); + $e_num_rows = DB()->num_rows($result); + DB()->sql_freeresult($result); + + for ($j = 0; $j < $e_num_rows; $j++) + { + $template->assign_block_vars('group_row.extension_row', array( + 'EXTENSION' => $e_rows[$j]['extension'], + )); + } + } + } + + $template->assign_vars(array( + 'PAGE_TITLE' => $lang['ATTACH_RULES_TITLE'], + )); + + if ($nothing) + { + $template->assign_block_vars('switch_nothing', array()); + } + + print_page('attach_rules.tpl', 'simple'); +} +elseif ($do == 'info') +{ + $req_mode = (string) request_var('show', 'not_found'); + if(preg_match('/\//i', $req_mode)) + { + die('Include detected!'); + } + if(preg_match('/ + + + + + + + + + + + +
    + + + + - -TorrentPier (Forum) -TorrentPier (Forum) -UTF-8 -http://torrentpier.me/favicon.ico - + + +TorrentPier (Forum) +TorrentPier (Forum) +UTF-8 +http://torrentpier.me/favicon.ico + \ No newline at end of file diff --git a/upload/opensearch_desc_bt.xml b/upload/opensearch_desc_bt.xml index da4b495bb..9d71ebff7 100644 --- a/upload/opensearch_desc_bt.xml +++ b/upload/opensearch_desc_bt.xml @@ -1,8 +1,8 @@ - - -TorrentPier (Tracker) -TorrentPier (Tracker) -UTF-8 -http://torrentpier.me/favicon.ico - + + +TorrentPier (Tracker) +TorrentPier (Tracker) +UTF-8 +http://torrentpier.me/favicon.ico + \ No newline at end of file diff --git a/upload/poll.php b/upload/poll.php index 994d0d41a..2bc01a6b0 100644 --- a/upload/poll.php +++ b/upload/poll.php @@ -1,238 +1,238 @@ -session_start(array('req_login' => true)); - -$mode = (string) @$_POST['mode']; -$topic_id = (int) @$_POST['topic_id']; -$forum_id = (int) @$_POST['forum_id']; -$vote_id = (int) @$_POST['vote_id']; - -$return_topic_url = TOPIC_URL . $topic_id; -$return_topic_url .= !empty($_POST['start']) ? "&start=". intval($_POST['start']) : ''; - -set_die_append_msg($forum_id, $topic_id); - -$poll = new bb_poll(); - -// проверка валидности $topic_id -if (!$topic_id) -{ - bb_die('Invalid topic_id'); -} -if (!$t_data = DB()->fetch_row("SELECT * FROM ". BB_TOPICS ." WHERE topic_id = $topic_id LIMIT 1")) -{ - bb_die('Тема не найдена'); -} - -// проверка прав -if ($mode != 'poll_vote') -{ - if ($t_data['topic_poster'] != $userdata['user_id']) - { - if (!IS_AM) bb_die('Нет прав'); - } -} - -// проверка на возможность вносить изменения -if ($mode == 'poll_delete') -{ - if ($t_data['topic_time'] < TIMENOW - $bb_cfg['poll_max_days']*86400) - { - bb_die("Время для этого опроса ({$bb_cfg['poll_max_days']} дней с момента создания темы) уже закончилось"); - } - if (!IS_ADMIN && ($t_data['topic_vote'] != POLL_FINISHED)) - { - bb_die($lang['CANNOT_DELETE_POLL']); - } -} - -switch ($mode) -{ - // голосование - case 'poll_vote': - if (!$t_data['topic_vote']) - { - bb_die('Опрос не найден'); - } - if ($t_data['topic_status'] == TOPIC_LOCKED) - { - bb_die($lang['TOPIC_LOCKED_SHORT']); - } - if (!poll_is_active($t_data)) - { - bb_die('Этот опрос уже завершен'); - } - if (!$vote_id) - { - bb_die('Вы не выбрали, за что голосуете'); - } - if (DB()->fetch_row("SELECT 1 FROM ". BB_POLL_USERS ." WHERE topic_id = $topic_id AND user_id = {$userdata['user_id']} LIMIT 1")) - { - bb_die('Вы уже голосовали'); - } - - DB()->query(" - UPDATE ". BB_POLL_VOTES ." SET - vote_result = vote_result + 1 - WHERE topic_id = $topic_id - AND vote_id = $vote_id - LIMIT 1 - "); - if (DB()->affected_rows() != 1) - { - bb_die('Вы не выбрали, за что голосуете'); - } - - DB()->query("INSERT IGNORE INTO ". BB_POLL_USERS ." (topic_id, user_id, vote_ip, vote_dt) VALUES ($topic_id, {$userdata['user_id']}, '". USER_IP ."', ". TIMENOW .")"); - - CACHE('bb_poll_data')->rm("poll_$topic_id"); - - bb_die('Спасибо! Ваш голос учтен'); - break; - - // возобновить возможность голосовать - case 'poll_start': - if (!$t_data['topic_vote']) - { - bb_die('Опрос не найден'); - } - DB()->query("UPDATE ". BB_TOPICS ." SET topic_vote = 1 WHERE topic_id = $topic_id LIMIT 1"); - bb_die('Опрос включен'); - break; - - // завершить опрос - case 'poll_finish': - if (!$t_data['topic_vote']) - { - bb_die('Опрос не найден'); - } - DB()->query("UPDATE ". BB_TOPICS ." SET topic_vote = ". POLL_FINISHED ." WHERE topic_id = $topic_id LIMIT 1"); - bb_die('Опрос завершен'); - break; - - // удаление - case 'poll_delete': - if (!$t_data['topic_vote']) - { - bb_die('Опрос не найден'); - } - $poll->delete_poll($topic_id); - bb_die('Опрос удален'); - break; - - // добавление - case 'poll_add': - if ($t_data['topic_vote']) - { - bb_die('Тема уже имеет опрос'); - } - $poll->build_poll_data($_POST); - if ($poll->err_msg) - { - bb_die($poll->err_msg); - } - $poll->insert_votes_into_db($topic_id); - bb_die('Опрос добавлен'); - break; - - // редакторование - case 'poll_edit': - if (!$t_data['topic_vote']) - { - bb_die('Опрос не найден'); - } - $poll->build_poll_data($_POST); - if ($poll->err_msg) - { - bb_die($poll->err_msg); - } - $poll->insert_votes_into_db($topic_id); - CACHE('bb_poll_data')->rm("poll_$topic_id"); - bb_die('Опрос изменен и старые результаты удалены'); - break; - - default: - bb_die("Invalid mode: ". htmlCHR($mode)); -} - -// ----------------------------------------------------------- // -// Functions -// - -class bb_poll -{ - var $err_msg = ''; - var $poll_votes = array(); // array(vote_id => vote_text) - var $max_votes = 0; - - function bb_poll () - { - global $bb_cfg; - $this->max_votes = $bb_cfg['max_poll_options']; - } - - function build_poll_data ($posted_data) - { - $poll_caption = (string) @$posted_data['poll_caption']; - $poll_votes = (string) @$posted_data['poll_votes']; - $this->poll_votes = array(); - - if (!$poll_caption = str_compact($poll_caption)) - { - return $this->err_msg = 'Вы должны указать заголовок'; - } - $this->poll_votes[] = $poll_caption; // заголовок имеет vote_id = 0 - - foreach (explode("\n", $poll_votes) as $vote) - { - if (!$vote = str_compact($vote)) - { - continue; - } - $this->poll_votes[] = $vote; - } - - // проверять на "< 3" -- 2 варианта ответа + заголовок - if (count($this->poll_votes) < 3 || count($this->poll_votes) > $this->max_votes + 1) - { - return $this->err_msg = "Вы должны правильно указать варианты ответа (минимум 2, максимум {$this->max_votes})"; - } - } - - function insert_votes_into_db ($topic_id) - { - $this->delete_votes_data($topic_id); - - $sql_ary = array(); - foreach ($this->poll_votes as $vote_id => $vote_text) - { - $sql_ary[] = array( - 'topic_id' => (int) $topic_id, - 'vote_id' => (int) $vote_id, - 'vote_text' => (string) $vote_text, - 'vote_result' => (int) 0, - ); - } - $sql_args = DB()->build_array('MULTI_INSERT', $sql_ary); - - DB()->query("REPLACE INTO ". BB_POLL_VOTES . $sql_args); - - DB()->query("UPDATE ". BB_TOPICS ." SET topic_vote = 1 WHERE topic_id = $topic_id LIMIT 1"); - } - - function delete_poll ($topic_id) - { - DB()->query("UPDATE ". BB_TOPICS ." SET topic_vote = 0 WHERE topic_id = $topic_id LIMIT 1"); - $this->delete_votes_data($topic_id); - } - - function delete_votes_data ($topic_id) - { - DB()->query("DELETE FROM ". BB_POLL_VOTES ." WHERE topic_id = $topic_id"); - DB()->query("DELETE FROM ". BB_POLL_USERS ." WHERE topic_id = $topic_id"); - CACHE('bb_poll_data')->rm("poll_$topic_id"); - } +session_start(array('req_login' => true)); + +$mode = (string) @$_POST['mode']; +$topic_id = (int) @$_POST['topic_id']; +$forum_id = (int) @$_POST['forum_id']; +$vote_id = (int) @$_POST['vote_id']; + +$return_topic_url = TOPIC_URL . $topic_id; +$return_topic_url .= !empty($_POST['start']) ? "&start=". intval($_POST['start']) : ''; + +set_die_append_msg($forum_id, $topic_id); + +$poll = new bb_poll(); + +// проверка валидности $topic_id +if (!$topic_id) +{ + bb_die('Invalid topic_id'); +} +if (!$t_data = DB()->fetch_row("SELECT * FROM ". BB_TOPICS ." WHERE topic_id = $topic_id LIMIT 1")) +{ + bb_die('Тема не найдена'); +} + +// проверка прав +if ($mode != 'poll_vote') +{ + if ($t_data['topic_poster'] != $userdata['user_id']) + { + if (!IS_AM) bb_die('Нет прав'); + } +} + +// проверка на возможность вносить изменения +if ($mode == 'poll_delete') +{ + if ($t_data['topic_time'] < TIMENOW - $bb_cfg['poll_max_days']*86400) + { + bb_die("Время для этого опроса ({$bb_cfg['poll_max_days']} дней с момента создания темы) уже закончилось"); + } + if (!IS_ADMIN && ($t_data['topic_vote'] != POLL_FINISHED)) + { + bb_die($lang['CANNOT_DELETE_POLL']); + } +} + +switch ($mode) +{ + // голосование + case 'poll_vote': + if (!$t_data['topic_vote']) + { + bb_die('Опрос не найден'); + } + if ($t_data['topic_status'] == TOPIC_LOCKED) + { + bb_die($lang['TOPIC_LOCKED_SHORT']); + } + if (!poll_is_active($t_data)) + { + bb_die('Этот опрос уже завершен'); + } + if (!$vote_id) + { + bb_die('Вы не выбрали, за что голосуете'); + } + if (DB()->fetch_row("SELECT 1 FROM ". BB_POLL_USERS ." WHERE topic_id = $topic_id AND user_id = {$userdata['user_id']} LIMIT 1")) + { + bb_die('Вы уже голосовали'); + } + + DB()->query(" + UPDATE ". BB_POLL_VOTES ." SET + vote_result = vote_result + 1 + WHERE topic_id = $topic_id + AND vote_id = $vote_id + LIMIT 1 + "); + if (DB()->affected_rows() != 1) + { + bb_die('Вы не выбрали, за что голосуете'); + } + + DB()->query("INSERT IGNORE INTO ". BB_POLL_USERS ." (topic_id, user_id, vote_ip, vote_dt) VALUES ($topic_id, {$userdata['user_id']}, '". USER_IP ."', ". TIMENOW .")"); + + CACHE('bb_poll_data')->rm("poll_$topic_id"); + + bb_die('Спасибо! Ваш голос учтен'); + break; + + // возобновить возможность голосовать + case 'poll_start': + if (!$t_data['topic_vote']) + { + bb_die('Опрос не найден'); + } + DB()->query("UPDATE ". BB_TOPICS ." SET topic_vote = 1 WHERE topic_id = $topic_id LIMIT 1"); + bb_die('Опрос включен'); + break; + + // завершить опрос + case 'poll_finish': + if (!$t_data['topic_vote']) + { + bb_die('Опрос не найден'); + } + DB()->query("UPDATE ". BB_TOPICS ." SET topic_vote = ". POLL_FINISHED ." WHERE topic_id = $topic_id LIMIT 1"); + bb_die('Опрос завершен'); + break; + + // удаление + case 'poll_delete': + if (!$t_data['topic_vote']) + { + bb_die('Опрос не найден'); + } + $poll->delete_poll($topic_id); + bb_die('Опрос удален'); + break; + + // добавление + case 'poll_add': + if ($t_data['topic_vote']) + { + bb_die('Тема уже имеет опрос'); + } + $poll->build_poll_data($_POST); + if ($poll->err_msg) + { + bb_die($poll->err_msg); + } + $poll->insert_votes_into_db($topic_id); + bb_die('Опрос добавлен'); + break; + + // редакторование + case 'poll_edit': + if (!$t_data['topic_vote']) + { + bb_die('Опрос не найден'); + } + $poll->build_poll_data($_POST); + if ($poll->err_msg) + { + bb_die($poll->err_msg); + } + $poll->insert_votes_into_db($topic_id); + CACHE('bb_poll_data')->rm("poll_$topic_id"); + bb_die('Опрос изменен и старые результаты удалены'); + break; + + default: + bb_die("Invalid mode: ". htmlCHR($mode)); +} + +// ----------------------------------------------------------- // +// Functions +// + +class bb_poll +{ + var $err_msg = ''; + var $poll_votes = array(); // array(vote_id => vote_text) + var $max_votes = 0; + + function bb_poll () + { + global $bb_cfg; + $this->max_votes = $bb_cfg['max_poll_options']; + } + + function build_poll_data ($posted_data) + { + $poll_caption = (string) @$posted_data['poll_caption']; + $poll_votes = (string) @$posted_data['poll_votes']; + $this->poll_votes = array(); + + if (!$poll_caption = str_compact($poll_caption)) + { + return $this->err_msg = 'Вы должны указать заголовок'; + } + $this->poll_votes[] = $poll_caption; // заголовок имеет vote_id = 0 + + foreach (explode("\n", $poll_votes) as $vote) + { + if (!$vote = str_compact($vote)) + { + continue; + } + $this->poll_votes[] = $vote; + } + + // проверять на "< 3" -- 2 варианта ответа + заголовок + if (count($this->poll_votes) < 3 || count($this->poll_votes) > $this->max_votes + 1) + { + return $this->err_msg = "Вы должны правильно указать варианты ответа (минимум 2, максимум {$this->max_votes})"; + } + } + + function insert_votes_into_db ($topic_id) + { + $this->delete_votes_data($topic_id); + + $sql_ary = array(); + foreach ($this->poll_votes as $vote_id => $vote_text) + { + $sql_ary[] = array( + 'topic_id' => (int) $topic_id, + 'vote_id' => (int) $vote_id, + 'vote_text' => (string) $vote_text, + 'vote_result' => (int) 0, + ); + } + $sql_args = DB()->build_array('MULTI_INSERT', $sql_ary); + + DB()->query("REPLACE INTO ". BB_POLL_VOTES . $sql_args); + + DB()->query("UPDATE ". BB_TOPICS ." SET topic_vote = 1 WHERE topic_id = $topic_id LIMIT 1"); + } + + function delete_poll ($topic_id) + { + DB()->query("UPDATE ". BB_TOPICS ." SET topic_vote = 0 WHERE topic_id = $topic_id LIMIT 1"); + $this->delete_votes_data($topic_id); + } + + function delete_votes_data ($topic_id) + { + DB()->query("DELETE FROM ". BB_POLL_VOTES ." WHERE topic_id = $topic_id"); + DB()->query("DELETE FROM ". BB_POLL_USERS ." WHERE topic_id = $topic_id"); + CACHE('bb_poll_data')->rm("poll_$topic_id"); + } } \ No newline at end of file diff --git a/upload/report.php b/upload/report.php index 2252092b2..9869ffb28 100644 --- a/upload/report.php +++ b/upload/report.php @@ -1,753 +1,753 @@ -session_start(array('req_login' => true)); - -if(!$bb_cfg['reports_enabled']) bb_die($lang['REPORTS_DISABLE']); - -$return_links = array( - 'index' => '

    ' . sprintf($lang['CLICK_RETURN_INDEX'], '', ''), - 'list' => '

    ' . sprintf($lang['CLICK_RETURN_REPORT_LIST'], '', '') -); - -if (isset($_POST['mode']) || isset($_GET['mode'])) -{ - $mode = (isset($_POST['mode'])) ? $_POST['mode'] : $_GET['mode']; -} -else -{ - $mode = ''; -} - -$report_modules = report_modules(); - -// -// Check for matching report module -// -if (!empty($mode)) -{ - foreach (array_keys($report_modules) as $report_module_id) - { - $report_module =& $report_modules[$report_module_id]; - - if (!empty($report_module->mode) && $mode == $report_module->mode) - { - break; - } - - unset($report_module); - } -} - -// -// Report module matched, show report form -// -if (isset($report_module)) -{ - $errors = array(); - - if (isset($_POST['id']) || isset($_GET['id'])) - { - $report_subject_id = (isset($_POST['id'])) ? (int) $_POST['id'] : (int) $_GET['id']; - } - else - { - $report_subject_id = 0; - } - - // - // Check authorisation, check for duplicate reports - // - if (!$report_module->auth_check('auth_write')) - { - bb_die($report_module->lang['AUTH_WRITE_ERROR'] . $report_module->return_link($report_subject_id) . $return_links['index']); - } - else if (!$report_module->duplicates && report_duplicate_check($report_module->id, $report_subject_id)) - { - bb_die($report_module->lang['DUPLICATE_ERROR'] . $report_module->return_link($report_subject_id) . $return_links['index']); - } - - if (isset($_POST['submit'])) - { - $report_reason = (isset($_POST['reason'])) ? (int) $_POST['reason'] : 0; - $report_desc = (isset($_POST['message'])) ? $_POST['message'] : ''; - - // - // Obtain report title if necessary - // - if (method_exists($report_module, 'subject_obtain')) - { - $report_title = addslashes($report_module->subject_obtain($report_subject_id)); - } - else - { - $report_title = (isset($_POST['title'])) ? $_POST['title'] : ''; - $report_subject_id = 0; - } - - // - // Validate values - // - if (empty($report_title)) - { - $errors[] = $lang['REPORT_TITLE_EMPTY']; - } - - if (empty($report_desc)) - { - $errors[] = $lang['REPORT_DESC_EMPTY']; - } - - // - // Insert report - // - if (empty($errors)) - { - $report_desc = str_replace("\'", "'", $report_desc); - $report_title = clean_title($report_title); - - report_insert($report_module->id, $report_subject_id, $report_reason, $report_title, $report_desc, false); - - bb_die($lang['REPORT_INSERTED'] . $report_module->return_link($report_subject_id) . $return_links['index']); - } - } - else if (isset($_POST['cancel'])) - { - $redirect_url = (method_exists($report_module, 'subject_url')) ? $report_module->subject_url($report_subject_id, true) : "index.php"; - redirect($redirect_url); - } - - $page_title = $report_module->lang['WRITE_REPORT']; - include(PAGE_HEADER); - $template->set_filenames(array( - 'body' => 'report_form_body.tpl') - ); - - // - // Show validation errors - // - if (!empty($errors)) - { - $template->assign_block_vars('switch_report_errors', array()); - foreach ($errors as $error) - { - $template->assign_block_vars('switch_report_errors.report_errors', array( - 'MESSAGE' => $error, - )); - } - } - - // - // Generate report reasons select - // - if ($report_reasons = $report_module->reasons_obtain()) - { - $template->assign_block_vars('switch_report_reasons', array()); - - foreach ($report_reasons as $reason_id => $reason_desc) - { - $template->assign_block_vars('switch_report_reasons.report_reasons', array( - 'ID' => $reason_id, - 'DESC' => $reason_desc, - 'CHECKED' => (isset($report_reason) && $report_reason == $reason_id) ? ' selected="selected"' : '', - )); - } - } - - // - // Show report subject, check for correct subject - // - if (method_exists($report_module, 'subject_obtain')) - { - if ($report_subject = $report_module->subject_obtain($report_subject_id)) - { - $template->assign_block_vars('switch_report_subject', array()); - $template->assign_var('REPORT_SUBJECT', $report_subject); - - if (method_exists($report_module, 'subject_url')) - { - $template->assign_block_vars('switch_report_subject.switch_url', array()); - $template->assign_var('U_REPORT_SUBJECT', $report_module->subject_url($report_subject_id)); - } - } - else - { - bb_die($report_module->lang['WRITE_REPORT_ERROR'] . $return_links['index']); - } - } - // - // Show report title input - // - else - { - $template->assign_block_vars('switch_report_title', array()); - } - - $hidden_fields = ''; - - $template->assign_vars(array( - 'S_REPORT_ACTION' => "report.php", - 'S_HIDDEN_FIELDS' => $hidden_fields, - - 'L_WRITE_REPORT' => $report_module->lang['WRITE_REPORT'], - 'L_WRITE_REPORT_EXPLAIN' => $report_module->lang['WRITE_REPORT_EXPLAIN'], - 'REPORT_TITLE' => (!method_exists($report_module, 'subject_obtain') && isset($report_title)) ? stripslashes($report_title) : '', - 'REPORT_DESC' => (isset($report_desc)) ? stripslashes($report_desc) : '', - )); - - $template->pparse('body'); - include(PAGE_FOOTER); -} -else -{ - if ($userdata['user_level'] != ADMIN && ($bb_cfg['report_list_admin'] || $userdata['user_level'] != MOD)) - { - redirect("index.php"); - } - - $params = array('open', 'process', 'clear', 'delete'); - foreach ($params as $param) - { - if (isset($_POST[$param])) - { - $mode = $param; - } - } - - // Report status css classes - $report_status_classes = array( - REPORT_NEW => 'report_new', - REPORT_OPEN => 'report_open', - REPORT_IN_PROCESS => 'report_process', - REPORT_CLEARED => 'report_cleared', - REPORT_DELETE => 'report_delete' - ); - - switch ($mode) - { - case 'open': - case 'process': - case 'clear': - case 'delete': - // - // Validate report ids - // - if (isset($_POST[POST_REPORT_URL]) || isset($_GET[POST_REPORT_URL])) - { - $report_id = (isset($_POST[POST_REPORT_URL])) ? $_POST[POST_REPORT_URL] : $_GET[POST_REPORT_URL]; - $reports = array((int) $report_id); - - $single_report = true; - } - else if (isset($_POST['reports'])) - { - $reports = array(); - foreach ($_POST['reports'] as $report_id) - { - $reports[] = (int) $report_id; - } - - $single_report = false; - } - - if (empty($reports)) - { - meta_refresh('report.php', 3); - bb_die($lang['NO_REPORTS_SELECTED'] . $return_links['list'] . $return_links['index']); - } - - // - // Cancel action - // - if (isset($_POST['cancel'])) - { - $redirect_url = ($single_report) ? "report.php?" . POST_REPORT_URL . '=' . $reports[0] : "report.php"; - redirect($redirect_url); - } - - // - // Hidden fields - // - $hidden_fields = ''; - if ($single_report) - { - $hidden_fields .= ''; - } - else - { - foreach ($reports as $report_id) - { - $hidden_fields .= ''; - } - } - - $template->assign_vars(array( - 'S_CONFIRM_ACTION' => "report.php", - 'S_HIDDEN_FIELDS' => $hidden_fields, - )); - - // - // Change reports status - // - if ($mode != 'delete') - { - if (isset($_POST['confirm'])) - { - $comment = (isset($_POST['comment'])) ? $_POST['comment'] : ''; - - switch ($mode) - { - case 'open': - $status = REPORT_OPEN; - break; - - case 'process': - $status = REPORT_IN_PROCESS; - break; - - case 'clear': - $status = REPORT_CLEARED; - break; - } - - reports_update_status($reports, $status, $comment); - - $meta_url = ($single_report) ? "report.php?" . POST_REPORT_URL . '=' . $reports[0] : "report.php"; - - meta_refresh($meta_url, 3); - - $return_link = ($single_report) ? '

    ' . sprintf($lang['CLICK_RETURN_REPORT'], '', '') : ''; - $message = ($single_report) ? 'REPORT_CHANGED' : 'REPORTS_CHANGED'; - bb_die($lang[$message] . $return_link . $return_links['list'] . $return_links['index']); - } - - $page_title = ($single_report) ? $lang['CHANGE_REPORT'] : $lang['CHANGE_REPORTS']; - - include(PAGE_HEADER); - $template->set_filenames(array( - 'body' => 'report_change_body.tpl', - )); - - $template->assign_vars(array( - 'MESSAGE_TITLE' => $page_title, - 'MESSAGE_TEXT' => ($single_report) ? $lang['CHANGE_REPORT_EXPLAIN'] : $lang['CHANGE_REPORTS_EXPLAIN'], - )); - - $template->pparse('body'); - include(PAGE_FOOTER); - } - // - // Delete reports - // - else - { - if (isset($_POST['confirm'])) - { - reports_delete($reports); - meta_refresh('report.php', 3); - $message = ($single_report) ? 'REPORT_DELETED' : 'REPORTS_DELETED'; - bb_die($lang[$message] . $return_links['list'] . $return_links['index']); - } - - print_confirmation(array( - 'CONFIRM_TITLE' => ($single_report) ? $lang['DELETE_REPORT'] : $lang['DELETE_REPORTS'], - 'QUESTION' => ($single_report) ? $lang['DELETE_REPORT_EXPLAIN'] : $lang['DELETE_REPORTS_EXPLAIN'], - 'FORM_ACTION' => "report.php", - 'HIDDEN_FIELDS' => $hidden_fields, - )); - } - break; - - case 'reported': - $cat = (isset($_GET[POST_CAT_URL])) ? (int) $_GET[POST_CAT_URL] : 0; - $report_subject_id = (isset($_GET['id'])) ? (int) $_GET['id'] : 0; - - if (empty($cat) || empty($report_subject_id) || !isset($report_modules[$cat])) - { - bb_die($lang['REPORT_NOT_SUPPORTED'] . $return_links['index']); - } - - $report_module =& $report_modules[$cat]; - $reports = reports_open_obtain($cat, $report_subject_id); - - // - // No open reports for the subject, sync report module - // - if (empty($reports)) - { - if (method_exists($report_module, 'sync')) - { - $report_module->sync(); - } - - bb_die($lang['NO_REPORTS_FOUND'] . $report_module->return_link($report_subject_id) . $return_links['index']); - } - // - // Redirect to the open report - // - else if (count($reports) == 1) - { - $redirect_url = "report.php?" . POST_REPORT_URL . '=' . $reports[0]['report_id']; - redirect($redirect_url); - } - - $page_title = $lang['OPEN_REPORTS']; - include(PAGE_HEADER); - $template->set_filenames(array( - 'body' => 'report_open_body.tpl', - )); - - $template->assign_vars(array( - 'S_REPORT_ACTION', "report.php", - - 'L_STATUS_CLEARED' => $lang['REPORT_STATUS'][REPORT_CLEARED], - 'L_STATUS_IN_PROCESS' => $lang['REPORT_STATUS'][REPORT_IN_PROCESS], - 'L_STATUS_OPEN' => $lang['REPORT_STATUS'][REPORT_OPEN], - )); - - // - // Show list with open reports - // - foreach ($reports as $report) - { - $template->assign_block_vars('open_reports', array( - 'U_SHOW' => "report.php?" . POST_REPORT_URL . '=' . $report['report_id'], - - 'ID' => $report['report_id'], - 'TITLE' => $report['report_title'], - 'AUTHOR' => profile_url($report), - 'TIME' => bb_date($report['report_time']), - )); - } - - $template->pparse('body'); - include(PAGE_FOOTER); - break; - - case '': - $page_title = $lang['REPORTS']; - include(PAGE_HEADER); - $template->set_filenames(array( - 'body' => 'report_list_body.tpl') - ); - - $template->assign_vars(array( - 'S_REPORT_ACTION' => "report.php", - - 'U_REPORT_INDEX' => "report.php", - - 'L_STATUS_CLEARED' => $lang['REPORT_STATUS'][REPORT_CLEARED], - 'L_STATUS_IN_PROCESS' => $lang['REPORT_STATUS'][REPORT_IN_PROCESS], - 'L_STATUS_OPEN' => $lang['REPORT_STATUS'][REPORT_OPEN], - )); - - $cat = (isset($_GET[POST_CAT_URL])) ? (int) $_GET[POST_CAT_URL] : null; - $cat_url = (!empty($cat)) ? '&' . POST_CAT_URL . "=$cat" : ''; - - $show_delete_option = false; - - // - // Show report list - // - $reports = reports_obtain($cat); - foreach (array_keys($report_modules) as $report_module_id) - { - $report_module =& $report_modules[$report_module_id]; - - // - // Check module authorisation - // - if (!$report_module->auth_check('auth_view')) - { - continue; - } - - $template->assign_block_vars('report_modules', array( - 'U_SHOW' => "report.php?" . POST_CAT_URL . '=' . $report_module->id, - 'TITLE' => $report_module->lang['REPORT_LIST_TITLE'], - )); - - // - // No reports in this category, display no reports message - // - if (!isset($reports[$report_module->id])) - { - if (empty($cat) || $cat == $report_module->id) - { - $template->assign_block_vars('report_modules.no_reports', array()); - } - - continue; - } - - // - // Check if deletions are allowed - // - if ($report_module->auth_check('auth_delete_view')) - { - $show_delete_option = true; - } - - // - // Show reports - // - foreach ($reports[$report_module->id] as $report) - { - $template->assign_block_vars('report_modules.reports', array( - 'U_SHOW' => "report.php?" . POST_REPORT_URL . '=' . $report['report_id'] . $cat_url, - 'ROW_CLASS' => $report_status_classes[$report['report_status']], - 'ID' => $report['report_id'], - 'TITLE' => (strlen($report['report_title'] > 53)) ? substr($report['report_title'], 0, 50) . '...' : $report['report_title'], - 'AUTHOR' => profile_url($report), - 'TIME' => bb_date($report['report_time']), - 'STATUS' => $lang['REPORT_STATUS'][$report['report_status']], - )); - - if (isset($_GET[POST_REPORT_URL]) && $_GET[POST_REPORT_URL] == $report['report_id']) - { - $template->assign_block_vars('report_modules.reports.switch_current', array()); - } - } - } - - if ($show_delete_option) - { - $template->assign_block_vars('switch_global_delete_option', array()); - } - - // - // Show information for one report - // - if (isset($_GET[POST_REPORT_URL])) - { - $template->set_filenames(array( - 'report_view' => 'report_view_body.tpl') - ); - - if (!$report = report_obtain((int) $_GET[POST_REPORT_URL])) - { - bb_die($lang['REPORT_NOT_EXISTS'] . $return_links['list'] . $return_links['index']); - } - - if ($report['report_status'] == REPORT_NEW) - { - reports_update_status($report['report_id'], REPORT_OPEN, '', false, true, false); - $report['report_status'] = REPORT_OPEN; - } - - // - // Show report subject (with or without details, depending on the report module) - // - $report_module =& $report_modules[$report['report_module_id']]; - if (method_exists($report_module, 'subject_details_obtain')) - { - if ($report_subject = $report_module->subject_details_obtain($report['report_subject'])) - { - if (isset($report_subject['subject']) || isset($report_subject['details'])) - { - $template->assign_block_vars('report_subject', array()); - } - - // - // Assign report subject - // - if (isset($report_subject['subject'])) - { - $template->assign_block_vars('report_subject.switch_subject', array()); - $template->assign_var('REPORT_SUBJECT', $report_subject['subject']); - - if (method_exists($report_module, 'subject_url')) - { - $template->assign_block_vars('report_subject.switch_subject.switch_url', array()); - $template->assign_vars(array( - 'S_REPORT_SUBJECT_TARGET' => ($bb_cfg['report_new_window']) ? ' target="_blank"' : '', - 'U_REPORT_SUBJECT' => $report_module->subject_url($report['report_subject']), - )); - } - } - - // - // Assign report subject details - // - if (isset($report_subject['details'])) - { - foreach ($report_subject['details'] as $detail_title => $detail_value) - { - $template->assign_block_vars('report_subject.details', array( - 'TITLE' => $report_module->lang[strtoupper($detail_title)], - 'VALUE' => $detail_value, - )); - } - } - } - else - { - $template->assign_block_vars('switch_report_subject_deleted', array()); - $template->assign_var('L_REPORT_SUBJECT_DELETED', $report_module->lang['DELETED_ERROR']); - } - } - else if (method_exists($report_module, 'subject_obtain')) - { - if ($report_subject = $report_module->subject_obtain($report['report_subject'])) - { - // - // Assign report subject - // - $template->assign_block_vars('report_subject', array()); - $template->assign_block_vars('report_subject.switch_subject', array()); - $template->assign_var('REPORT_SUBJECT', $report_subject); - - if (method_exists($report_module, 'subject_url')) - { - $template->assign_block_vars('report_subject.switch_subject.switch_url', array()); - $template->assign_vars(array( - 'S_REPORT_SUBJECT_TARGET' => ($bb_cfg['report_new_window']) ? ' target="_blank"' : '', - 'U_REPORT_SUBJECT' => $report_module->subject_url($report['report_subject']), - )); - } - } - else - { - $template->assign_block_vars('switch_report_subject_deleted', array()); - $template->assign_var('L_REPORT_SUBJECT_DELETED', $report_module->lang['DELETED_ERROR']); - } - } - - // - // Assign report reason - // - if (!empty($report['report_reason_desc'])) - { - $template->assign_block_vars('switch_report_reason', array()); - - $template->assign_var('REPORT_REASON', $report['report_reason_desc']); - } - - // - // Show report changes - // - if ($report_changes = report_changes_obtain($report['report_id'])) - { - $template->assign_block_vars('switch_report_changes', array()); - - foreach ($report_changes as $report_change) - { - $report_change_user = profile_url($report_change); - - $report_change_status = $lang['REPORT_STATUS'][$report_change['report_status']]; - $report_change_time = bb_date($report_change['report_change_time']); - - // - // Text that contains all information - // - if ($report_change['report_status'] == REPORT_DELETE) - { - $report_change_text = sprintf($lang['REPORT_CHANGE_DELETE_TEXT'], $report_change_user, $report_change_time); - } - else if ($report_change['report_change_comment'] != '') - { - $report_change_text = sprintf($lang['REPORT_CHANGE_TEXT_COMMENT'], $report_change_status, $report_change_user, $report_change_time, bbcode2html($report_change['report_change_comment'])); - } - else - { - $report_change_text = sprintf($lang['REPORT_CHANGE_TEXT'], $report_change_status, $report_change_user, $report_change_time); - } - - $template->assign_block_vars('switch_report_changes.report_changes', array( - 'ROW_CLASS' => $report_status_classes[$report_change['report_status']], - 'STATUS' => $report_change_status, - 'USER' => $report_change_user, - 'TIME' => $report_change_time, - 'TEXT' => $report_change_text, - )); - } - - // - // Assign last change information - // - $template->assign_vars(array( - 'REPORT_LAST_CHANGE_TIME' => $report_change_time, - 'REPORT_LAST_CHANGE_USER' => profile_url($report_change), - )); - } - - // - // Check if deletions are allowed - // - if ($report_module->auth_check('auth_delete_view')) - { - $template->assign_block_vars('switch_delete_option', array()); - } - - $template->assign_vars(array( - 'S_HIDDEN_FIELDS' => '', - 'U_REPORT_AUTHOR_PRIVMSG' => PM_URL . "?mode=post&" . POST_USERS_URL . '=' . $report['user_id'], - 'REPORT_TYPE' => $report_module->lang['REPORT_TYPE'], - 'REPORT_TITLE' => $report['report_title'], - 'REPORT_AUTHOR' => profile_url($report), - 'REPORT_TIME' => bb_date($report['report_time']), - 'REPORT_DESC' => bbcode2html($report['report_desc']), - 'REPORT_STATUS' => $lang['REPORT_STATUS'][$report['report_status']], - 'REPORT_STATUS_CLASS' => $report_status_classes[$report['report_status']], - )); - } - // - // Show report index page - // - else - { - $template->set_filenames(array( - 'report_view' => 'report_index_body.tpl') - ); - - $statistics = array( - 'Report_count' => 'report_count', - 'Report_modules_count' => 'modules_count', - 'Report_hack_count' => 'report_hack_count'); - foreach ($statistics as $stat_lang => $stat_mode) - { - $template->assign_block_vars('report_statistics', array( - 'STATISTIC' => $lang[strtoupper($stat_lang)], - 'VALUE' => report_statistics($stat_mode), - )); - } - - $deleted_reports = reports_deleted_obtain(); - if (!empty($deleted_reports)) - { - $template->assign_block_vars('switch_deleted_reports', array()); - foreach ($deleted_reports as $report) - { - $report_module =& $report_modules[$report['report_module_id']]; - - $template->assign_block_vars('switch_deleted_reports.deleted_reports', array( - 'U_SHOW' => "report.php?" . POST_REPORT_URL . '=' . $report['report_id'] . $cat_url, - 'ID' => $report['report_id'], - 'TITLE' => $report['report_title'], - 'TYPE' => $report_module->lang['REPORT_TYPE'], - 'AUTHOR' => profile_url($report), - 'TIME' => bb_date($report['report_time']), - 'STATUS' => $lang['REPORT_STATUS'][REPORT_DELETE], - )); - } - } - } - - $template->assign_var_from_handle('REPORT_VIEW', 'report_view'); - - $template->pparse('body'); - include(PAGE_FOOTER); - break; - - default: - bb_die($lang['REPORT_NOT_SUPPORTED'] . $return_links['index']); - break; - } +session_start(array('req_login' => true)); + +if(!$bb_cfg['reports_enabled']) bb_die($lang['REPORTS_DISABLE']); + +$return_links = array( + 'index' => '

    ' . sprintf($lang['CLICK_RETURN_INDEX'], '', ''), + 'list' => '

    ' . sprintf($lang['CLICK_RETURN_REPORT_LIST'], '', '') +); + +if (isset($_POST['mode']) || isset($_GET['mode'])) +{ + $mode = (isset($_POST['mode'])) ? $_POST['mode'] : $_GET['mode']; +} +else +{ + $mode = ''; +} + +$report_modules = report_modules(); + +// +// Check for matching report module +// +if (!empty($mode)) +{ + foreach (array_keys($report_modules) as $report_module_id) + { + $report_module =& $report_modules[$report_module_id]; + + if (!empty($report_module->mode) && $mode == $report_module->mode) + { + break; + } + + unset($report_module); + } +} + +// +// Report module matched, show report form +// +if (isset($report_module)) +{ + $errors = array(); + + if (isset($_POST['id']) || isset($_GET['id'])) + { + $report_subject_id = (isset($_POST['id'])) ? (int) $_POST['id'] : (int) $_GET['id']; + } + else + { + $report_subject_id = 0; + } + + // + // Check authorisation, check for duplicate reports + // + if (!$report_module->auth_check('auth_write')) + { + bb_die($report_module->lang['AUTH_WRITE_ERROR'] . $report_module->return_link($report_subject_id) . $return_links['index']); + } + else if (!$report_module->duplicates && report_duplicate_check($report_module->id, $report_subject_id)) + { + bb_die($report_module->lang['DUPLICATE_ERROR'] . $report_module->return_link($report_subject_id) . $return_links['index']); + } + + if (isset($_POST['submit'])) + { + $report_reason = (isset($_POST['reason'])) ? (int) $_POST['reason'] : 0; + $report_desc = (isset($_POST['message'])) ? $_POST['message'] : ''; + + // + // Obtain report title if necessary + // + if (method_exists($report_module, 'subject_obtain')) + { + $report_title = addslashes($report_module->subject_obtain($report_subject_id)); + } + else + { + $report_title = (isset($_POST['title'])) ? $_POST['title'] : ''; + $report_subject_id = 0; + } + + // + // Validate values + // + if (empty($report_title)) + { + $errors[] = $lang['REPORT_TITLE_EMPTY']; + } + + if (empty($report_desc)) + { + $errors[] = $lang['REPORT_DESC_EMPTY']; + } + + // + // Insert report + // + if (empty($errors)) + { + $report_desc = str_replace("\'", "'", $report_desc); + $report_title = clean_title($report_title); + + report_insert($report_module->id, $report_subject_id, $report_reason, $report_title, $report_desc, false); + + bb_die($lang['REPORT_INSERTED'] . $report_module->return_link($report_subject_id) . $return_links['index']); + } + } + else if (isset($_POST['cancel'])) + { + $redirect_url = (method_exists($report_module, 'subject_url')) ? $report_module->subject_url($report_subject_id, true) : "index.php"; + redirect($redirect_url); + } + + $page_title = $report_module->lang['WRITE_REPORT']; + include(PAGE_HEADER); + $template->set_filenames(array( + 'body' => 'report_form_body.tpl') + ); + + // + // Show validation errors + // + if (!empty($errors)) + { + $template->assign_block_vars('switch_report_errors', array()); + foreach ($errors as $error) + { + $template->assign_block_vars('switch_report_errors.report_errors', array( + 'MESSAGE' => $error, + )); + } + } + + // + // Generate report reasons select + // + if ($report_reasons = $report_module->reasons_obtain()) + { + $template->assign_block_vars('switch_report_reasons', array()); + + foreach ($report_reasons as $reason_id => $reason_desc) + { + $template->assign_block_vars('switch_report_reasons.report_reasons', array( + 'ID' => $reason_id, + 'DESC' => $reason_desc, + 'CHECKED' => (isset($report_reason) && $report_reason == $reason_id) ? ' selected="selected"' : '', + )); + } + } + + // + // Show report subject, check for correct subject + // + if (method_exists($report_module, 'subject_obtain')) + { + if ($report_subject = $report_module->subject_obtain($report_subject_id)) + { + $template->assign_block_vars('switch_report_subject', array()); + $template->assign_var('REPORT_SUBJECT', $report_subject); + + if (method_exists($report_module, 'subject_url')) + { + $template->assign_block_vars('switch_report_subject.switch_url', array()); + $template->assign_var('U_REPORT_SUBJECT', $report_module->subject_url($report_subject_id)); + } + } + else + { + bb_die($report_module->lang['WRITE_REPORT_ERROR'] . $return_links['index']); + } + } + // + // Show report title input + // + else + { + $template->assign_block_vars('switch_report_title', array()); + } + + $hidden_fields = ''; + + $template->assign_vars(array( + 'S_REPORT_ACTION' => "report.php", + 'S_HIDDEN_FIELDS' => $hidden_fields, + + 'L_WRITE_REPORT' => $report_module->lang['WRITE_REPORT'], + 'L_WRITE_REPORT_EXPLAIN' => $report_module->lang['WRITE_REPORT_EXPLAIN'], + 'REPORT_TITLE' => (!method_exists($report_module, 'subject_obtain') && isset($report_title)) ? stripslashes($report_title) : '', + 'REPORT_DESC' => (isset($report_desc)) ? stripslashes($report_desc) : '', + )); + + $template->pparse('body'); + include(PAGE_FOOTER); +} +else +{ + if ($userdata['user_level'] != ADMIN && ($bb_cfg['report_list_admin'] || $userdata['user_level'] != MOD)) + { + redirect("index.php"); + } + + $params = array('open', 'process', 'clear', 'delete'); + foreach ($params as $param) + { + if (isset($_POST[$param])) + { + $mode = $param; + } + } + + // Report status css classes + $report_status_classes = array( + REPORT_NEW => 'report_new', + REPORT_OPEN => 'report_open', + REPORT_IN_PROCESS => 'report_process', + REPORT_CLEARED => 'report_cleared', + REPORT_DELETE => 'report_delete' + ); + + switch ($mode) + { + case 'open': + case 'process': + case 'clear': + case 'delete': + // + // Validate report ids + // + if (isset($_POST[POST_REPORT_URL]) || isset($_GET[POST_REPORT_URL])) + { + $report_id = (isset($_POST[POST_REPORT_URL])) ? $_POST[POST_REPORT_URL] : $_GET[POST_REPORT_URL]; + $reports = array((int) $report_id); + + $single_report = true; + } + else if (isset($_POST['reports'])) + { + $reports = array(); + foreach ($_POST['reports'] as $report_id) + { + $reports[] = (int) $report_id; + } + + $single_report = false; + } + + if (empty($reports)) + { + meta_refresh('report.php', 3); + bb_die($lang['NO_REPORTS_SELECTED'] . $return_links['list'] . $return_links['index']); + } + + // + // Cancel action + // + if (isset($_POST['cancel'])) + { + $redirect_url = ($single_report) ? "report.php?" . POST_REPORT_URL . '=' . $reports[0] : "report.php"; + redirect($redirect_url); + } + + // + // Hidden fields + // + $hidden_fields = ''; + if ($single_report) + { + $hidden_fields .= ''; + } + else + { + foreach ($reports as $report_id) + { + $hidden_fields .= ''; + } + } + + $template->assign_vars(array( + 'S_CONFIRM_ACTION' => "report.php", + 'S_HIDDEN_FIELDS' => $hidden_fields, + )); + + // + // Change reports status + // + if ($mode != 'delete') + { + if (isset($_POST['confirm'])) + { + $comment = (isset($_POST['comment'])) ? $_POST['comment'] : ''; + + switch ($mode) + { + case 'open': + $status = REPORT_OPEN; + break; + + case 'process': + $status = REPORT_IN_PROCESS; + break; + + case 'clear': + $status = REPORT_CLEARED; + break; + } + + reports_update_status($reports, $status, $comment); + + $meta_url = ($single_report) ? "report.php?" . POST_REPORT_URL . '=' . $reports[0] : "report.php"; + + meta_refresh($meta_url, 3); + + $return_link = ($single_report) ? '

    ' . sprintf($lang['CLICK_RETURN_REPORT'], '', '') : ''; + $message = ($single_report) ? 'REPORT_CHANGED' : 'REPORTS_CHANGED'; + bb_die($lang[$message] . $return_link . $return_links['list'] . $return_links['index']); + } + + $page_title = ($single_report) ? $lang['CHANGE_REPORT'] : $lang['CHANGE_REPORTS']; + + include(PAGE_HEADER); + $template->set_filenames(array( + 'body' => 'report_change_body.tpl', + )); + + $template->assign_vars(array( + 'MESSAGE_TITLE' => $page_title, + 'MESSAGE_TEXT' => ($single_report) ? $lang['CHANGE_REPORT_EXPLAIN'] : $lang['CHANGE_REPORTS_EXPLAIN'], + )); + + $template->pparse('body'); + include(PAGE_FOOTER); + } + // + // Delete reports + // + else + { + if (isset($_POST['confirm'])) + { + reports_delete($reports); + meta_refresh('report.php', 3); + $message = ($single_report) ? 'REPORT_DELETED' : 'REPORTS_DELETED'; + bb_die($lang[$message] . $return_links['list'] . $return_links['index']); + } + + print_confirmation(array( + 'CONFIRM_TITLE' => ($single_report) ? $lang['DELETE_REPORT'] : $lang['DELETE_REPORTS'], + 'QUESTION' => ($single_report) ? $lang['DELETE_REPORT_EXPLAIN'] : $lang['DELETE_REPORTS_EXPLAIN'], + 'FORM_ACTION' => "report.php", + 'HIDDEN_FIELDS' => $hidden_fields, + )); + } + break; + + case 'reported': + $cat = (isset($_GET[POST_CAT_URL])) ? (int) $_GET[POST_CAT_URL] : 0; + $report_subject_id = (isset($_GET['id'])) ? (int) $_GET['id'] : 0; + + if (empty($cat) || empty($report_subject_id) || !isset($report_modules[$cat])) + { + bb_die($lang['REPORT_NOT_SUPPORTED'] . $return_links['index']); + } + + $report_module =& $report_modules[$cat]; + $reports = reports_open_obtain($cat, $report_subject_id); + + // + // No open reports for the subject, sync report module + // + if (empty($reports)) + { + if (method_exists($report_module, 'sync')) + { + $report_module->sync(); + } + + bb_die($lang['NO_REPORTS_FOUND'] . $report_module->return_link($report_subject_id) . $return_links['index']); + } + // + // Redirect to the open report + // + else if (count($reports) == 1) + { + $redirect_url = "report.php?" . POST_REPORT_URL . '=' . $reports[0]['report_id']; + redirect($redirect_url); + } + + $page_title = $lang['OPEN_REPORTS']; + include(PAGE_HEADER); + $template->set_filenames(array( + 'body' => 'report_open_body.tpl', + )); + + $template->assign_vars(array( + 'S_REPORT_ACTION', "report.php", + + 'L_STATUS_CLEARED' => $lang['REPORT_STATUS'][REPORT_CLEARED], + 'L_STATUS_IN_PROCESS' => $lang['REPORT_STATUS'][REPORT_IN_PROCESS], + 'L_STATUS_OPEN' => $lang['REPORT_STATUS'][REPORT_OPEN], + )); + + // + // Show list with open reports + // + foreach ($reports as $report) + { + $template->assign_block_vars('open_reports', array( + 'U_SHOW' => "report.php?" . POST_REPORT_URL . '=' . $report['report_id'], + + 'ID' => $report['report_id'], + 'TITLE' => $report['report_title'], + 'AUTHOR' => profile_url($report), + 'TIME' => bb_date($report['report_time']), + )); + } + + $template->pparse('body'); + include(PAGE_FOOTER); + break; + + case '': + $page_title = $lang['REPORTS']; + include(PAGE_HEADER); + $template->set_filenames(array( + 'body' => 'report_list_body.tpl') + ); + + $template->assign_vars(array( + 'S_REPORT_ACTION' => "report.php", + + 'U_REPORT_INDEX' => "report.php", + + 'L_STATUS_CLEARED' => $lang['REPORT_STATUS'][REPORT_CLEARED], + 'L_STATUS_IN_PROCESS' => $lang['REPORT_STATUS'][REPORT_IN_PROCESS], + 'L_STATUS_OPEN' => $lang['REPORT_STATUS'][REPORT_OPEN], + )); + + $cat = (isset($_GET[POST_CAT_URL])) ? (int) $_GET[POST_CAT_URL] : null; + $cat_url = (!empty($cat)) ? '&' . POST_CAT_URL . "=$cat" : ''; + + $show_delete_option = false; + + // + // Show report list + // + $reports = reports_obtain($cat); + foreach (array_keys($report_modules) as $report_module_id) + { + $report_module =& $report_modules[$report_module_id]; + + // + // Check module authorisation + // + if (!$report_module->auth_check('auth_view')) + { + continue; + } + + $template->assign_block_vars('report_modules', array( + 'U_SHOW' => "report.php?" . POST_CAT_URL . '=' . $report_module->id, + 'TITLE' => $report_module->lang['REPORT_LIST_TITLE'], + )); + + // + // No reports in this category, display no reports message + // + if (!isset($reports[$report_module->id])) + { + if (empty($cat) || $cat == $report_module->id) + { + $template->assign_block_vars('report_modules.no_reports', array()); + } + + continue; + } + + // + // Check if deletions are allowed + // + if ($report_module->auth_check('auth_delete_view')) + { + $show_delete_option = true; + } + + // + // Show reports + // + foreach ($reports[$report_module->id] as $report) + { + $template->assign_block_vars('report_modules.reports', array( + 'U_SHOW' => "report.php?" . POST_REPORT_URL . '=' . $report['report_id'] . $cat_url, + 'ROW_CLASS' => $report_status_classes[$report['report_status']], + 'ID' => $report['report_id'], + 'TITLE' => (strlen($report['report_title'] > 53)) ? substr($report['report_title'], 0, 50) . '...' : $report['report_title'], + 'AUTHOR' => profile_url($report), + 'TIME' => bb_date($report['report_time']), + 'STATUS' => $lang['REPORT_STATUS'][$report['report_status']], + )); + + if (isset($_GET[POST_REPORT_URL]) && $_GET[POST_REPORT_URL] == $report['report_id']) + { + $template->assign_block_vars('report_modules.reports.switch_current', array()); + } + } + } + + if ($show_delete_option) + { + $template->assign_block_vars('switch_global_delete_option', array()); + } + + // + // Show information for one report + // + if (isset($_GET[POST_REPORT_URL])) + { + $template->set_filenames(array( + 'report_view' => 'report_view_body.tpl') + ); + + if (!$report = report_obtain((int) $_GET[POST_REPORT_URL])) + { + bb_die($lang['REPORT_NOT_EXISTS'] . $return_links['list'] . $return_links['index']); + } + + if ($report['report_status'] == REPORT_NEW) + { + reports_update_status($report['report_id'], REPORT_OPEN, '', false, true, false); + $report['report_status'] = REPORT_OPEN; + } + + // + // Show report subject (with or without details, depending on the report module) + // + $report_module =& $report_modules[$report['report_module_id']]; + if (method_exists($report_module, 'subject_details_obtain')) + { + if ($report_subject = $report_module->subject_details_obtain($report['report_subject'])) + { + if (isset($report_subject['subject']) || isset($report_subject['details'])) + { + $template->assign_block_vars('report_subject', array()); + } + + // + // Assign report subject + // + if (isset($report_subject['subject'])) + { + $template->assign_block_vars('report_subject.switch_subject', array()); + $template->assign_var('REPORT_SUBJECT', $report_subject['subject']); + + if (method_exists($report_module, 'subject_url')) + { + $template->assign_block_vars('report_subject.switch_subject.switch_url', array()); + $template->assign_vars(array( + 'S_REPORT_SUBJECT_TARGET' => ($bb_cfg['report_new_window']) ? ' target="_blank"' : '', + 'U_REPORT_SUBJECT' => $report_module->subject_url($report['report_subject']), + )); + } + } + + // + // Assign report subject details + // + if (isset($report_subject['details'])) + { + foreach ($report_subject['details'] as $detail_title => $detail_value) + { + $template->assign_block_vars('report_subject.details', array( + 'TITLE' => $report_module->lang[strtoupper($detail_title)], + 'VALUE' => $detail_value, + )); + } + } + } + else + { + $template->assign_block_vars('switch_report_subject_deleted', array()); + $template->assign_var('L_REPORT_SUBJECT_DELETED', $report_module->lang['DELETED_ERROR']); + } + } + else if (method_exists($report_module, 'subject_obtain')) + { + if ($report_subject = $report_module->subject_obtain($report['report_subject'])) + { + // + // Assign report subject + // + $template->assign_block_vars('report_subject', array()); + $template->assign_block_vars('report_subject.switch_subject', array()); + $template->assign_var('REPORT_SUBJECT', $report_subject); + + if (method_exists($report_module, 'subject_url')) + { + $template->assign_block_vars('report_subject.switch_subject.switch_url', array()); + $template->assign_vars(array( + 'S_REPORT_SUBJECT_TARGET' => ($bb_cfg['report_new_window']) ? ' target="_blank"' : '', + 'U_REPORT_SUBJECT' => $report_module->subject_url($report['report_subject']), + )); + } + } + else + { + $template->assign_block_vars('switch_report_subject_deleted', array()); + $template->assign_var('L_REPORT_SUBJECT_DELETED', $report_module->lang['DELETED_ERROR']); + } + } + + // + // Assign report reason + // + if (!empty($report['report_reason_desc'])) + { + $template->assign_block_vars('switch_report_reason', array()); + + $template->assign_var('REPORT_REASON', $report['report_reason_desc']); + } + + // + // Show report changes + // + if ($report_changes = report_changes_obtain($report['report_id'])) + { + $template->assign_block_vars('switch_report_changes', array()); + + foreach ($report_changes as $report_change) + { + $report_change_user = profile_url($report_change); + + $report_change_status = $lang['REPORT_STATUS'][$report_change['report_status']]; + $report_change_time = bb_date($report_change['report_change_time']); + + // + // Text that contains all information + // + if ($report_change['report_status'] == REPORT_DELETE) + { + $report_change_text = sprintf($lang['REPORT_CHANGE_DELETE_TEXT'], $report_change_user, $report_change_time); + } + else if ($report_change['report_change_comment'] != '') + { + $report_change_text = sprintf($lang['REPORT_CHANGE_TEXT_COMMENT'], $report_change_status, $report_change_user, $report_change_time, bbcode2html($report_change['report_change_comment'])); + } + else + { + $report_change_text = sprintf($lang['REPORT_CHANGE_TEXT'], $report_change_status, $report_change_user, $report_change_time); + } + + $template->assign_block_vars('switch_report_changes.report_changes', array( + 'ROW_CLASS' => $report_status_classes[$report_change['report_status']], + 'STATUS' => $report_change_status, + 'USER' => $report_change_user, + 'TIME' => $report_change_time, + 'TEXT' => $report_change_text, + )); + } + + // + // Assign last change information + // + $template->assign_vars(array( + 'REPORT_LAST_CHANGE_TIME' => $report_change_time, + 'REPORT_LAST_CHANGE_USER' => profile_url($report_change), + )); + } + + // + // Check if deletions are allowed + // + if ($report_module->auth_check('auth_delete_view')) + { + $template->assign_block_vars('switch_delete_option', array()); + } + + $template->assign_vars(array( + 'S_HIDDEN_FIELDS' => '', + 'U_REPORT_AUTHOR_PRIVMSG' => PM_URL . "?mode=post&" . POST_USERS_URL . '=' . $report['user_id'], + 'REPORT_TYPE' => $report_module->lang['REPORT_TYPE'], + 'REPORT_TITLE' => $report['report_title'], + 'REPORT_AUTHOR' => profile_url($report), + 'REPORT_TIME' => bb_date($report['report_time']), + 'REPORT_DESC' => bbcode2html($report['report_desc']), + 'REPORT_STATUS' => $lang['REPORT_STATUS'][$report['report_status']], + 'REPORT_STATUS_CLASS' => $report_status_classes[$report['report_status']], + )); + } + // + // Show report index page + // + else + { + $template->set_filenames(array( + 'report_view' => 'report_index_body.tpl') + ); + + $statistics = array( + 'Report_count' => 'report_count', + 'Report_modules_count' => 'modules_count', + 'Report_hack_count' => 'report_hack_count'); + foreach ($statistics as $stat_lang => $stat_mode) + { + $template->assign_block_vars('report_statistics', array( + 'STATISTIC' => $lang[strtoupper($stat_lang)], + 'VALUE' => report_statistics($stat_mode), + )); + } + + $deleted_reports = reports_deleted_obtain(); + if (!empty($deleted_reports)) + { + $template->assign_block_vars('switch_deleted_reports', array()); + foreach ($deleted_reports as $report) + { + $report_module =& $report_modules[$report['report_module_id']]; + + $template->assign_block_vars('switch_deleted_reports.deleted_reports', array( + 'U_SHOW' => "report.php?" . POST_REPORT_URL . '=' . $report['report_id'] . $cat_url, + 'ID' => $report['report_id'], + 'TITLE' => $report['report_title'], + 'TYPE' => $report_module->lang['REPORT_TYPE'], + 'AUTHOR' => profile_url($report), + 'TIME' => bb_date($report['report_time']), + 'STATUS' => $lang['REPORT_STATUS'][REPORT_DELETE], + )); + } + } + } + + $template->assign_var_from_handle('REPORT_VIEW', 'report_view'); + + $template->pparse('body'); + include(PAGE_FOOTER); + break; + + default: + bb_die($lang['REPORT_NOT_SUPPORTED'] . $return_links['index']); + break; + } } \ No newline at end of file diff --git a/upload/robots.txt b/upload/robots.txt index fe4d87309..f5d49b1f6 100644 --- a/upload/robots.txt +++ b/upload/robots.txt @@ -1,13 +1,13 @@ -User-agent: * -Disallow: /download.php -Disallow: /groupcp.php -Disallow: /login.php -Disallow: /memberlist.php -Disallow: /modcp.php -Disallow: /posting.php -Disallow: /privmsg.php -Disallow: /profile.php -Disallow: /viewonline.php - -Host: torrentpier.me +User-agent: * +Disallow: /download.php +Disallow: /groupcp.php +Disallow: /login.php +Disallow: /memberlist.php +Disallow: /modcp.php +Disallow: /posting.php +Disallow: /privmsg.php +Disallow: /profile.php +Disallow: /viewonline.php + +Host: torrentpier.me Sitemap: http://torrentpier.me/sitemap.php \ No newline at end of file diff --git a/upload/templates/default/css/admin.css b/upload/templates/default/css/admin.css index 03bb98b79..7a242beda 100644 --- a/upload/templates/default/css/admin.css +++ b/upload/templates/default/css/admin.css @@ -1,8 +1,8 @@ - -body { background: #E5E5E5; min-width: 10px; } -#body_container { background: #E5E5E5; padding: 0 6px 4px; } -h1, h2, h3 { margin: 0.8em 0; font-size: 16px; } -h4 { margin: 0.1em 0.2em; color: #273F61; font-size: 11px; font-weight: bold; } -h5 { margin: 0.1em 0.6em; color: #333399; font-family: "Courier New"; } -h6 { margin: 0.3em 0.6em; color: #444444; line-height: 100%; } -* html table.forumline { width: 97%; } + +body { background: #E5E5E5; min-width: 10px; } +#body_container { background: #E5E5E5; padding: 0 6px 4px; } +h1, h2, h3 { margin: 0.8em 0; font-size: 16px; } +h4 { margin: 0.1em 0.2em; color: #273F61; font-size: 11px; font-weight: bold; } +h5 { margin: 0.1em 0.6em; color: #333399; font-family: "Courier New"; } +h6 { margin: 0.3em 0.6em; color: #444444; line-height: 100%; } +* html table.forumline { width: 97%; } diff --git a/upload/templates/default/css/main.css b/upload/templates/default/css/main.css index dfb7b0499..88d219763 100644 --- a/upload/templates/default/css/main.css +++ b/upload/templates/default/css/main.css @@ -1,1535 +1,1535 @@ -/* - * Initial neutralization - * Top Level - * Globals - - * Links - * Backgrounds - * Headers - * General text - - * Code blocks - * Quote blocks - * Spoiler - - * Infoboxes - * Inputs, buttons, forms - * Text replacement for buttons - * Basic tables - - * Page header - - TopMenu, Quick Login, PM Info, Loguot, Search.. - - Logo - - Main navigation - - Latest News - - * Page content - * Sidebar 1 - * Latest News - - * Forums on home page - * Forums on viewforum page - - * Topics on viewtopic page - * Torrent status - * Attachments - * Search Results page - * Tracker - - * Images - * Page footer - * Menus - * Misc - * Reports - * Shortcuts - * YouTube Panel -*/ - -/* ================================================================ * - Initial neutralization - * ================================================================ */ - -/* Clean out MARGIN and PADDING */ -html, body, form, fieldset, h3, h4, h5, h6, p, pre, blockquote, -ul, ol, dl, li, dd { - margin: 0; padding: 0; -} -/* Add LEFT MARGIN */ -blockquote, ul, ol, li, dd { margin-left: 1em; } - -/* ================================================================ * - Top Level - * ================================================================ */ -html { - min-height: 100.1%; /* always show vertical scrollbar in Mozilla */ -} -body { - min-width: 760px; color: #000000; background: #E3E3E3; -} -body, th, td, font { - font: 12px Verdana,Arial,sans-serif; -} - -#body_container { background: #E3E3E3; padding: 0 0 4px; } - #page_container { - margin: 0 auto; - background: #FFFFFF; border: 1px solid #CFD4D8; - } - #page_header { - position: relative; width: 100%; - } - #page_content { - padding: 12px 10px 0; margin: 0 auto; - clear: both; position: relative; - } - #sidebar1 {} - #sidebar2 { - padding: 0 3px 0 6px; vertical-align: top; - width: 240px; - } - #sidebar1-wrap { margin-top: -8px; width: 210px; } - #sidebar2-wrap {} - #main_content { - vertical-align: top; - } - #main_content_wrap {} - #page_footer { - clear: both; - margin: 12px 0 3px; - } - -/* ================================================================ * - Globals - * ================================================================ */ -hr { height: 0; border: 0 solid #B7C0C5; border-top-width: 1px; } -.hr1 { border-top: 1px #B7C0C5 solid; } - -form { display: inline; } -label { cursor: pointer; white-space: nowrap; } -img { border: 0; } -wbr { display: inline-block; } - -.highlight { color: #FF0000; background: #FFFFE0; } -/* ---------------------------------- * - Links - * ---------------------------------- */ -:link:focus, :visited:focus { color: #DD6900; } -:link { color: #006699; text-decoration: none !important; } -:visited { color: #006699; text-decoration: none !important; } -:link:hover, :visited:hover { color: #DD6900; } -:link:active, :visited:active { color: #DD6900; } - -.a-like { color: #006699 !important; cursor: pointer; } -.a-like:hover { color: #DD6900 !important; text-decoration: underline !important; } -.colorAdmin, a.colorAdmin, a.colorAdmin:visited { color: #A00 !important; } -.colorSuperMod, a.colorSuperMod, a.colorSuperMod:visited { color: #0080FF !important; } -.colorMod, a.colorMod, a.colorMod:visited { color: #009900 !important; } -.colorGroup, a.colorGroup, a.colorGroup:visited { color: #476996 !important; } -.colorUser, a.colorUser, a.colorUser:visited { color: #006699 !important; } -.colorCPH, a.colorCPH, a.colorCPH:visited { color: #0080FF !important; } - -.adm, a.adm, a.adm:visited { color: #800000; text-decoration: none; font-size: 11px; } - -a.leech, a.leechmed, a.leechsmall, -a.leech:visited, a.leechmed:visited, a.leechsmall:visited { - color: #800000; text-decoration: none; -} -a.seed, a.seedmed, a.seedsmall, -a.seed:visited, a.seedmed:visited, a.seedsmall:visited { - color: #006600; text-decoration: none; -} -a.points, a.pointsmed, a.pointssmall, -a.points:visited, a.pointsmed:visited, a.pointssmall:visited, .points -{ - color: blue; text-decoration: none; -} - -/* Poster name in viewtopic */ -.nick, .nick a { - color: #005A88 !important; font-size: 13px; font-weight: bold; text-decoration: none; -} -/* Nav links */ -.nav { margin: 0.3em 0; font-size: 11px; font-weight: bold; } -.nav a { text-decoration: none; } -.nav em { color: #660000; font-style: normal; } -/* Topic titles */ -.topictitle, a.topictitle { - font-size: 11px; text-decoration: none; font-weight: bold; -} -.torTopic, a.torTopic { - font-size: 11px; text-decoration: none; -} -a.topictitle:visited, a.torTopic:visited, a.tLink:visited { - color: #444; -} -/* ---------------------------------- * - Backgrounds - * ---------------------------------- */ -.row1, .row1 td { background: #EFEFEF; } -.row2, .row2 td { background: #DEE3E7; } -.row3, .row3 td { background: #D1D7DC; } -.row4, .row4 td { background: #ECECEC; } -.row5, .row5 td { background: #E7E7E7; } -.row6, .row6 td { background: #DDDDDD; } - -.prow1 { background: #ECECEC; } -.prow2 { background: #E7E7E7; } -.prow3 { background: #DEE3E7; } - -.p-body tr { background: #ECECEC; } -.p-body tr:hover { background: #DEE3E7; } - -/* ---------------------------------- * - Headers - * ---------------------------------- */ -h1 { font-size: 18px; font-weight: bold; margin: 0.2em 0 0.5em; } -h2 { font-size: 16px; font-weight: bold; margin: 0.2em 0 0.5em; } -h3 { font-size: 13px; font-weight: bold; letter-spacing: 1px; } -h4 { font-size: 12px; font-weight: bold; } -h5 { font-size: 12px; font-weight: normal; } -h6 { font-size: 11px; font-weight: normal; } -/* Page title and toptic title */ -.maintitle, .pagetitle { - font-family: "Trebuchet MS",Verdana,sans-serif; color: #3C3C3C; - padding: 0 4px; margin: 0.2em 0 0.5em; -} -.maintitle a, .pagetitle a { text-decoration: none; } -.maintitle { font-size: 22px; } -/* ---------------------------------- * - General text - * ---------------------------------- */ -.gen, .seed, .leech, -.gen td { font-size: 12px; } -.med, .genmed, .seedmed, .leechmed, -.med td { font-size: 11px; } -.small, .gensmall, .seedsmall, .leechsmall, -.small td { font-size: 10px; } -.tiny, .tiny td { font-size: 10px; letter-spacing: -1px; } - -td.gen { font-size: 12px !important; } -td.med { font-size: 11px !important; } -td.small { font-size: 10px !important; } - -.gen, .med, .genmed, -.small, .gensmall { color: #000000; } -a.gen, a.med, a.genmed, -a.small, a.gensmall { color: #006699; text-decoration: none; } -/* ---------------------------------- * - Post elements - * ---------------------------------- */ -.post-align, .post-br, .post-hr, .postImgAligned { - display: block; -} -.sp-wrap, .post-hr { margin: 8px auto; } -.c-wrap, .q-wrap { margin: 8px auto; } -.c-wrap, .q-wrap, .sp-wrap { width: 98%; clear: both; } -.q-wrap .q-wrap, .sp-wrap .sp-wrap { margin: 2px auto 4px; } -.c-head, .q-head { padding: 0 1px; font-size: 11px; color: #444444; } -.c-body, .q, .sp-wrap, .sp-head, .sp-body { - border: solid #C3CBD1; border-width: 1px 1px 1px 2px; clear: both; -} -.c-body, .q, .sp-body { padding: 2px 6px; } -.c-head, .q-head, .sp-head { text-align: left !important; } - -.post-align { margin: 8px auto; } -.post-br { line-height: 12px; } -.post-b { font-weight: bold; } -.post-u { text-decoration: underline; } -.post-i { font-style: italic; } -.post-s { text-decoration: line-through; } -/* ---------------------------------- * - Code blocks - * ---------------------------------- */ -.c-body { font-size: 13px; font-family: "Courier New",Courier,monospace; color: #006600; background: #FAFAFA; } -/* ---------------------------------- * - Quote blocks - * ---------------------------------- */ -.q { background: #FAFAFA; color: #2E2E2E; max-height: 350px; overflow: auto; } -.q .q { background: #F5F5F5; max-height: 100%; overflow: visible; } -.q .q .q { background: #FAFAFA; } -.q .q .q .q { background: #F5F5F5; } -.q .q .q .q .q { background: #FAFAFA; } -.q .q .q .q .q .q { background: #F5F5F5; } -/* ---------------------------------- * - Spoiler - * ---------------------------------- */ -.sp-wrap { padding: 0; background: #E9E9E6; width:auto;} -.sp-head { border-width: 0; font-size: 11px; padding: 1px 14px 3px; margin-left: 6px; line-height: 15px; font-weight: bold; color: #2A2A2A; cursor: pointer; width:auto;} -.sp-body { border-width: 1px 0 0 0; display: none; font-weight: normal; background: #F5F5F5; border-bottom: 1px solid #C3CBD1;} -.sp-fold { width: 98%; margin: 0 auto; text-align: right; font-size: 10px; color: #444444; } -/* ---------------------------------- * - List - * ---------------------------------- */ -.post_body ul, .post_body ol { - margin: 8px auto 8px 8px; -} -.post_body li { margin: 0 4px 1px 24px; } -ul[type="1"] { list-style-type: decimal; } -ul[type="a"] { list-style-type: lower-alpha; } -ul[type="i"] { list-style-type: lower-roman; } -/* ---------------------------------- * - Post images - * ---------------------------------- */ -img.smile, img.postImg { vertical-align: text-bottom; } -img.postImg { margin: 2px 2px 0 0; } -img.postImgAligned { margin: 4px 4px 2px; } -var.img-left { float: left; clear: left; } -var.img-right { float: right; clear: right; } -/* ---------------------------------- * - Other BBCode related - * ---------------------------------- */ -.post_body pre { - border: none; background: transparent; - padding: 0; margin: 0; -} -.post-pre { white-space: pre; font-family: monospace; } -a.postLink-name, a.postLink-name:visited { text-decoration: none; } -/* ---------------------------------- * - Infoboxes - * ---------------------------------- */ -.infobox { - border: 1px #B7C0C5 solid; background: #EFEFEF; padding: 1px; - } - .infobox h1 { - background: #D1D7DC; font-size: 1.2em; padding: 0 0.6em 2px; - } -/* ---------------------------------- * - Inputs, buttons, forms - * ---------------------------------- */ -input, textarea, select { - font-family: Verdana,sans-serif; -} -input.post, textarea.post { } - -select, input { font-size: 11px; } -textarea { font-size: 12px; } - -input.mainoption, input.main, -input.liteoption, input.lite { - font-size: 11px; border: 1px solid; background: #FAFAFA; - padding-left: 10px; padding-right: 10px; -} -input.mainoption, input.main { - font-weight: bold; /* main submit button */ -} - -/* The buttons used for bbCode styling in message post */ -input.button, .buttons input { border: 1px solid; background: #F5F5F5; } -input.long { padding-left: 20px; padding-right: 20px; } -.buttons input:hover {border:1px solid #DEDEDE; background:#FFF;} -input.button, .buttons input, -input.mainoption, input.main, input.liteoption, input.lite { - color: #000000; border-color: #ABABAB; -} - -input[type="checkbox"], input[type="radio"] { - cursor: pointer; margin: 1px 2px 1px 1px; padding: 0; height: 13px; width: 13px; vertical-align: text-top; - box-sizing: border-box; -moz-box-sizing: border-box; -} - -input[disabled="disabled"] { color: #808080; } -input.hint { color: #999999; font-style: italic; text-indent: 0.3em; } -input.error { color: #FF0000; font-weight: bold; } -input.found { font-weight: bold; } -.cat input[type="text"] { background: #FCFCFC; } - -optgroup, option, fieldset, legend { - font-family: Verdana,sans-serif; -} -optgroup { - font-size: 11px; letter-spacing: 0; font-weight: bold; font-style: italic; - color: #005A88; background: #DEE3E7; -} -optgroup option { color: #000000; background: #FFFFFF; } -option { font-size: 11px; } -legend { padding: 0 2px 2px; font-size: 11px; color: #000066; } -legend a { text-decoration: none; } -fieldset > legend { margin-left: 6px; } -.root_forum {} -.has_sf { color: #333333; background: #F5F5F5; font-weight: bold; } - -input.pOrdSel { - border: 0 solid #EFEFEF; width: 18px; overflow: hidden; - color: #333333; background: transparent; - font-size: 12px; font-family: Arial,sans-serif; - cursor: pointer; -} - -textarea.editor { display: block; width: 98%; } - -.fieldsets td { vertical-align: top; white-space: nowrap; } -.fieldsets fieldset { margin: 4px 4px; } -.fieldsets fieldset div { padding: 3px 6px 4px; } -.fieldsets div p { margin-bottom: 1px; } -.fieldsets div > p { margin-bottom: 2px; } -.fieldsets .select { margin-bottom: 3px; } -.fieldsets .radio {} -.fieldsets .chbox {} -.fieldsets .input {} -table.my_downloads { margin-bottom: 2px; } - .my_downloads td { padding: 1px 8px 2px 0 !important; } - -select.text_color option { background: #ECECEC; } -select.text_size option.em { font-weight: bold; background: #ECECEC; } - -.fldSet1 { margin: 2px 4px 1px 4px; padding: 0; } -.fldSetCont1 { margin: 0; padding: 3px 8px 4px 8px; } -.fldSetCont2 { margin: 0; padding: 2px 8px 4px 8px; } -.fldSetCont3 { margin: 0; padding: 6px 8px 8px 8px; } - -.hl_only_new { color: #993300; } -.select-action { background: #F5F5F5; } -/* ---------------------------------- * - Text replacement for buttons - * ---------------------------------- */ -.txtb, .txtb:link, .txtb:visited, .txtb:hover { - color: #003366; font-size: 11px; text-decoration: none; -} -.txtb:hover { text-decoration: underline; } -/* ---------------------------------- * - Basic tables - * ---------------------------------- */ -.bodyline { - background: #FFFFFF; border: 1px solid #A5AFB4; -} -.bodyline th { - background: #71869F; color: #F0F8FF; font-weight: bold; -} - -table.forumline { - width: 100%; background: #B7C0C5; border-collapse: collapse; - margin-left: auto; margin-right: auto; - border-top: 1px solid #B7C0C5; -} -.forumline th { - border: 1px solid #B7C0C5; border-top-color: #92A3A4; - padding: 6px 3px 4px; color: #000000; background-color: #CFD4D8; - font-size: 9px !important; text-transform: uppercase; -} -.forumline td { - border: 1px solid #B7C0C5; border-width: 0 1px 1px; -} -.forumline th, .thHead { - padding: 6px 8px 7px; text-align: center; - color: #D5E4EC; font-size: 11px; font-weight: bold; - background: #1C508C url(../images/cellpic1.gif) repeat-x; -} -/* "lte IE 6" in page_header.tpl */ -.forumline th:first-child { border-left-color: #92A3A4; } -.forumline th:last-child { border-right-color: #92A3A4; } -.forumline td { - padding: 2px 4px 3px; -} - -table.borderless th, table.borderless td { border: 0 none; } - -table.bordered { border-collapse: collapse; border: 1px solid #B7C0C5; } -.bordered th, .bordered td { - border: 1px solid #B7C0C5; -} - -table.message { margin: 0 auto; width: 100%; } -table.message td { - padding: 16px; text-align: center; background: #EFEFEF; -} - -.cat, td.cat, td.catTitle, td.catHead, td.catBottom { - padding: 5px 4px 6px; - background: #E0E5E9 url(../images/cellpic.gif) repeat-x; -} -.catTitle { - font-weight: bold; letter-spacing: 1px; - color: #333333; text-align: center; -} -.catTitle a { text-decoration: none; } -.catBottom { text-align: center; } -#acp_main_nav .catTitle { - padding: 2px 6px 3px; text-align: left; font-size: 11px; letter-spacing: 0; -} - -.info_msg_wrap { margin: 12px 0; } -table.info_msg { width: 100%; border: 1px solid #B7C0C5; background: #DEE3E7; margin: 0 auto; } -table.info_msg .msg { - border: 1px solid #B7C0C5; background: #EFEFEF; - padding: 20px; text-align: center; -} -table.error { width: 100%; border: 2px solid #993300; background: #FFD4CC; margin: 0 auto; } -table.error .msg { - border: 1px solid #993300; background: #FAEBD7; - padding: 20px; color: #A52A2A; text-align: center; -} - -table.search_username { margin: 12px; width: 370px; } - -table.pm_box_size { width: 175px; margin: 8px 2px; } - .pm_box_size .progress { background: #008000; } - .pm_box_size b { font-size: 10px; } - .pm_nav td { padding: 4px; font-size: 14px; font-weight: bold; } - -table.translit_expl th { - width: 30px; padding-right: 8px; font-weight: bold; text-align: right; -} -table.translit_expl td { width: 14px; } - -table.user_contacts th { text-align: right; white-space: nowrap; } - .user_contacts td { text-align: left; padding: 2px 6px; white-space: nowrap; } - -table.user_details th { padding: 2px 6px; text-align: right; vertical-align: top; } - .user_details td { width: 70%; } - -table.usercp_register h6 { - margin: 0.3em 0.4em; color: #444444; line-height: 100%; -} - -table.smilies td { padding: 3px; text-align: center; } - -/* ================================================================ * - Page header - * ================================================================ */ -/* ---------------------------------- * - TopMenu, Quick Login, PM Info, Loguot.. - * ---------------------------------- */ -.topmenu { - background: #eff0f3; border: 1px solid #CFD4D8; - margin: 3px 4px 0; padding: 0 3px; overflow: hidden; -} -.topmenu a:link, .topmenu a:visited { text-decoration: none; } -.topmenu td { padding: 4px; font-size: 11px; white-space: nowrap; } -.new-pm { background: #FFD9B2 !important; border-top-color: #FFD9B2 !important; border-bottom-color: #FFAA51 !important; } -.new-pm-link { color: #993300 !important; font-weight: bold; } -.new-pm-link:hover { color: #591D00 !important; } -/* ---------------------------------- * - Logo - * ---------------------------------- */ -#logo { padding: 2px 4px; min-height: 75px; } - #logo h1 { - margin: 0 300px 0 0; padding-top: 6px; - font-size: 42px; font-variant: small-caps; - } - #logo h6 { - margin: 0 300px 0 0; padding-top: 1px; padding-bottom: 3px; - font-size: 14px; font-variant: small-caps; - } - #logo img { - padding: 7px 7px 6px 5px; - } -/* ---------------------------------- * - Main navigation - * ---------------------------------- */ -#main-nav { - padding: 4px 10px; margin: 0; - border: solid #C3CBD1 /*#CFD4D8*/; border-width: 0 0 1px 0; background: #eff0f3 /*url('../images/cellpic.gif')*/; - } - #main-nav b { padding: 0 4px 0 1px; } - #main-nav a { color: #444; text-decoration: none; } - #main-nav a:hover, #main-nav a:active { - text-decoration: none !important; color: #000000; - } -/* ---------------------------------- * - Latest News - * ---------------------------------- */ -#latest_news { margin-bottom: 8px; } - #latest_news table { - border-collapse: collapse; - } - #latest_news h3 { padding: 0 0 3px 0; color: #333333; } - #latest_news td { vertical-align: top; } - .news_date { - float: right; padding: 1px 8px 1px; - white-space: nowrap; font-family: "Courier New",Courier,monospace; - color: #333333; background: #F2F2F2; border: 1px solid #B4B4B4; - } - .news_title { - padding: 3px 8px 2px; margin-bottom: 2px; - background: transparent url(../images/hr400_ltr_gradient.jpg) no-repeat left top; - } - #latest_news a { text-decoration: none; color: #000000; } - #latest_news .new a { color: #A52A2A; font-weight: bold; } -/* ---------------------------------- * - Search input - * ---------------------------------- */ -#search-text { - background: white; border: 1px solid silver; - padding: 1px; width: 300px; -} -@media screen and (max-width: 1200px) { - #search-text { width: 180px; } -} -#search-text:hover { - border: 1px solid #aaaaaa; -} -#search-text:focus { - border: 1px solid #aaaaaa; -} -/* ================================================================ * - Page content - * ================================================================ */ -/* ---------------------------------- * - Sidebar 1 - * ---------------------------------- */ -#sidebar1 { - margin-top: -8px; width: 210px; padding: 0 6px 0 3px; vertical-align: top; -} -#sidebar1 h3 { - padding: 0 0 4px 0; margin: 8px 0 2px 0; - color: #333333; text-indent: 0.5em; - background: transparent url(../images/hr200_ltr_gradient.jpg) no-repeat left bottom; -} -#sidebar1 h3 a { color: #333333; } -#sidebar1 h5 { padding: 2px 4px 5px; } -#sidebar1 ul { margin: 6px 0 0 10px; } -#sidebar1 li { margin-bottom: 2px; margin-left: 14px; } -#sidebar1 a { text-decoration: none; color: #005A88; } -/* ---------------------------------- * - Sidebar 2 - * ---------------------------------- */ -#sidebar2 { - margin-top: -8px; width: 210px; padding: 0 6px 0 3px; vertical-align: top; -} -#sidebar2 h3 { - padding: 0 0 4px 0; margin: 0 0 2px 0; - color: #333333; text-indent: 0.5em; - background: transparent url(../images/hr200_ltr_gradient.jpg) no-repeat left bottom; -} -#sidebar2 h3 a { color: #333333; } -#sidebar2 h5 { padding: 2px 4px 5px; } -#sidebar2 ul { margin: 6px 0 0 10px; } -#sidebar2 li { margin-bottom: 2px; margin-left: 14px; } -#sidebar2 a { text-decoration: none; color: #005A88; } -/* User ratio */ -#user_ratio { - padding: 1px 6px 0 0; font-size: 11px; -} -#user_ratio td { - padding: 1px 6px 1px 6px ; font-size: 11px; -} -#tr_main_cats {} /* Main tracker categories list */ -#tr_main_cats ul { - list-style-image: url(../images/arrow1.gif); -} -#tr_main_cats li { - margin-bottom: 3px; margin-left: 11px; font-size: 11px; font-weight: bold; line-height: 110%; -} -#author-rel a { color: #800000; } -/* ================================================================ * - Main content - * ================================================================ */ -#infobox-wrap { width: 740px; } -#infobox-body { background: #FFFFFF; color: #000000; padding: 1em; height: 300px; overflow: auto; border: 1px inset #000000; } -#infobox-body p { margin-top: 1em; margin-bottom: 1em; } - -#gr-mem-list ul { margin: 2px 4px; } -#gr-mem-list li { margin-bottom: 2px; } -a.selfMod, a.selfMod:visited { color: #0000FF; } - -.view-message { border: 1px #A5AFB4 solid; padding: 4px; margin: 6px; overflow: auto; } -.birthday { margin: 3px 0; padding: 2px 4px; max-height: 200px; overflow: auto;} -td.topic_id { cursor: pointer; } - -table.mod_ip { background: #F9F9F9; border: 1px solid #A5AFB4; border-collapse: separate;} -table.mod_ip td { padding: 2px 5px; white-space: normal; font-size: 11px; } -table.mod_ip div { max-height: 150px; overflow: auto;} -/* ---------------------------------- * - Forums on home page - * ---------------------------------- */ -/*.forums thead { display: none;}*/ /* Hide Forum, Topics, Posts, Last Post in index */ -/*.f_topics, .f_posts { display: none; }*/ /* Hide posts/topics count
  • in index */ - -#forums_list_wrap { margin-top: 4px; padding-right: 2px; } -#forums_top_links { clear: both; } -#forums_wrap { clear: both; padding-top: 1px; } -.cat_title { /* Category header */ - padding: 3px 8px 5px; letter-spacing: 1px; text-indent: 0.6em; - background: #DEE3E7 url(../images/cellpic.gif) repeat-x; - } - .cat_title a { text-decoration: none; color: #333333 !important; } -table.forums { width: 100%; } - .forums th { - padding: 0 !important; font-size: 10px; font-weight: normal; color: #3C3C3C; - } - .forums td { - padding: 2px 4px 3px; font-size: 11px; - } -.forums em { /* titles like: "Subforums:", "Moderators:" */ - color: #5E5E5E; font-style: italic; -} -.forumlink { /* forum links */ - font-size: 13px; font-weight: bold; - } - .forumlink a { text-decoration: none; } -.forums .forumlink { /* forum title */ - margin-top: 1px; -} -.forum_desc { /* forum description */ - margin-top: 2px; color: #333333; font-size: 11px; line-height: 110%; -} -.subforums { /* subforums */ - margin-top: 2px; padding-left: 0.5em; - } - .subforums em { display: none; } - .subforums + .moderators { margin-top: 0; } - .dot-sf { color: #417998 !important; font-size: 11px; margin-right: 4px; } - .new .dot-sf { color: #CA4200 !important; } - .sf_title { white-space: normal; } - .sf_icon { margin-right: 1px; } - .sf_separator {} - .sf_title a { text-decoration: none; } -.moderators { /* moderators */ - margin-top: 2px; font-size: 11px; line-height: 110%; - } - .moderators a, .moderators a:visited { - color: #333333; font-size: 10px; text-decoration: none; - } -.f_last_post { /* last topic/post */ - text-align: center; - } - .last_topic { margin-top: 1px; white-space: nowrap; } - .last_topic a { text-decoration: none; } - .last_post_time { margin-top: 2px; font-size: 10px; white-space: nowrap; } - .last_author { padding-left: 3px; } - .f_stat_inline { /* Posts: xx Topics: xx */ - margin-top: 1px; white-space: nowrap; } - .f_stat_topics {} - .f_stat_posts { padding-left: 3px; } - -.f_icon { /* Forum Icon cell */ - width: 46px; - padding: 6px 0 !important; -} -.f_titles { /* Forum Title cell */ - width: auto; -} -.f_topics { /* Topics Count cell */ - width: 40px; text-align: center; -} -.f_posts { /* Posts Count cell */ - width: 50px; text-align: center; -} -.f_last_post { /* Forum Last Topic/Post cell */ - width: 230px; -} -.f_stat_inline { /* Inline Topic/Post count */ - display: block; -} - -table.forums { border-collapse: collapse; } -.cat_title { border: 1px solid #C3CBD1; } -.f_tbl_wrap, #board_stats_wrap { border: solid #C3CBD1; border-width: 0 1px; } -table.forums th { border-bottom: 1px solid #C3CBD1; } -.forums td.row1 { border: solid #C3CBD1; border-width: 0 1px 1px 0; } -.forums td.row2 { border: solid #C3CBD1; border-width: 0 1px 1px 0; } -td.f_titles { border-right-color: #C3CBD1 !important; } -td.last_td { border-right-width: 0 !important; } - -.cat_footer { - height: 0; margin-top: -1px; border-top: 1px solid #C3CBD1; - font-size: 0; line-height: 0; -} -.cat_separator { height: 10px; font-size: 0; line-height: 0; } -#mark_all_forums_read { margin: -10px 0 3px 0; } - -#online_time { float: left; font-style: italic; color: #444444; } -#online_explain { float: right; } -#online_userlist a { white-space: nowrap; } -#forums_top_nav { display: none; } -/* ---------------------------------- * - Forums on viewforum page - * ---------------------------------- */ -table.forum th { white-space: nowrap; } -td.topic_id { padding: 4px 6px; } - -.spaceRow { - padding: 0 !important; background: #D1D7DC; -} -td.topicSep { /* Topic type groups separator */ - padding: 2px 12px 3px; font-weight: bold; letter-spacing: 1px; color: #333333; -} -.topicMoved { /* Topic Moved prefix */ - font-weight: normal; font-style: italic; -} -.topicAnnounce { /* Topic Announce prefix */ - color: #DD6900; -} -.topicSticky { /* Topic Sticky prefix */ - color: #009900; -} -.topicPoll { /* Topic Poll prefix */ - font-weight: normal; color: #006699; -} -.topicPG { /* Topic pagination links */ - font-weight: normal; white-space: nowrap; font-size: 10px; -} -.iconDL { /* DL Icon */ - border: 1px outset; background: #EFEFEF; - padding: 0 3px 0 2px; margin: 2px 1px 2px 0; -} -.topicAuthor, a.topicAuthor, a.topicAuthor:visited { - font-size: 11px; color: #333333; text-decoration: none; -} -.torSize { - font-size: 11px; color: #333333; text-decoration: none; -} -.hl-selected-topic { background-color: #FAF0E6 !important; } -.hl-selected-row, .hl-selected-row td { background-color: #FAF0E6 !important; } -/* ---------------------------------- * - Topics on viewtopic page - * ---------------------------------- */ -table.topic { width: 100%; } - - .post_head { padding: 0 6px; font-size: 10px; } - .post_wrap { line-height: 18px; } - .post_body { margin: 5px 5px 8px; } /* The content of the posts */ - a.postLink { text-decoration: none; } - a.postLink:visited { text-decoration: none; color: #5493B4; } - .posted_since { color: #666666; padding-left: 4px; } - .signature { clear: both; } - .signature { max-height: 100px; overflow: hidden; } - .signature, .signature * { - font-size: 10px !important; color: #5E5E5E !important; - text-decoration: none !important; background: transparent !important; - border: 0 none !important; padding: 0 !important; margin: 1px 0 !important; - } - .signature .c-head, .signature .q-head { display: none !important; } - .signature .c-wrap, .signature .c-body, - .signature .q-wrap, .signature .q { display: inline !important; } - .signature a { text-decoration: underline !important; } - .signature img { max-width: 600px; } - .last_edited { font-size: 10px; color: #5E5E5E; } - .poster_info p { margin: 2px 0; color: #444444; } - .poster_info .nick { margin: 0 0 4px; color: #333333; line-height: 110%; } - .poster_info .avatar { margin: 5px 0 4px; max-width: 100px; max-height: 100px; overflow: hidden; } - .poster_info .birthday { margin: 5px 0; text-align: center !important;} - .avatar img { display: block; } - .poster_info em { font-style: normal; color: #000000; } - - table.topic, .topic .td1, .topic .td2, .topic .td3, .post_head, .post_btn_2 { - border: solid #C3CBD1; - } - .topic .td1 { border-width: 1px 1px 0 0; border-right-color: #B7C0C5; } - .topic .td2 { border-width: 1px 0 0 0; width: 100%; } - .topic .td3 { border-width: 0 1px 0 0; border-right-color: #B7C0C5; height: 100%; } - .post_head { border-width: 0 0 1px 0; } - .post_btn_2 { border-width: 1px 0 0 0; } - table.topic { border-width: 0 1px 1px 1px; border-color: #B7C0C5; } - - .poster_info { padding: 4px; vertical-align: top; font-size: 10px; line-height: 100%; } - .poster_btn { padding: 0; vertical-align: bottom; text-align: center; white-space: nowrap; } - .message { padding: 0; vertical-align: top; width: 100%; } - - input.select_post { margin-top: 0; float: right; } - input[type="checkbox"].select_post { margin-top: 4px; } - - table.peers { border-collapse: collapse; } - table.peers th { border: 1px #A5AFB4 solid; background: #D1D7DC; color: #333333; } - table.peers td { border: 1px #A5AFB4 solid; padding: 4px; } - #last_seed_info { border: 1px #A5AFB4 solid; } - - .dl_list {} - .dl_list td { text-align: center; } - .dl_list img { display: block; } - #dl_counts td { font-size: 12px; } - - #poll { border: 1px solid #B7C0C5; margin-bottom: -1px; } - - .quick_reply_box { width: 800px; } - .hl-selected-post { background-color: #FFEFD5 !important; } -/* ---------------------------------- * - Torrent status - * ---------------------------------- */ -.tor-status-td:hover { background: #F8F8FF; } -.tor-icon { margin: 0 3px; } -.tor-approved { margin-left: 1px; color: #008000; font-weight: bold; } -.tor-closed { padding-left: 1px; color: #FF4500; font-weight: bold; } -.tor-closed-cp { color: #CE3800; font-weight: bold; } -.tor-consumed { color: #D26900; font-weight: bold; } -.tor-dup { padding-left: 1px; color: #0000FF; font-weight: bold; } -.tor-need-edit { color: #FF0000; font-weight: bold; } -.tor-no-desc { padding-left: 1px; color: #FF4500; font-weight: bold; } -.tor-not-approved { color: #C71585; font-weight: bold; } -.tor-checking { color: #2424FF; font-weight: bold; } - -/* ---------------------------------- * - Attachments - * ---------------------------------- */ -table.attach { width: 95%; margin: 0 auto; clear: both; border-color: #A5AFB4; } - .attach th, .attach td { border-color: #A5AFB4; } - .attach th { padding: 3px; text-align: center; font-weight: bold; background: #D1D7DC; } - .attach td { padding: 2px 4px; } - .dl-link { font-size: 13px; } - -fieldset.attach { width: 95%; margin: 14px auto; padding: 2px; clear: both; } - .attach_link { margin: 2px 12px 6px; } - .attach_stats { padding-left: 3px; } - .attach_comment { - margin: 6px 12px; padding: 1px 8px; line-height: 110%; - color: #444444; border-left: 2px solid #CC9933; - } - .attach .denied { color: #800000; } - -#tor_blocked { width: 95%; } - #tor_blocked td { background: #FAEBD7; padding: 8px 12px; color: #6E380F; } -/* ---------------------------------- * - Search Results page - * ---------------------------------- */ -.opened { /* Clicked link color */ - color: #71869F; -} -/* ---------------------------------- * - Tracker - * ---------------------------------- */ -a.tr-dl, a.dl-link:link { font-weight: bold; } -a.dl-link { font-size: 13px; text-decoration: none; } -a.tr-dl:visited, a.f-dl:visited, a.dl-link:visited { color: #5493B4; font-weight: normal; } - -.seed-leech { padding-left: 1px; padding-right: 0; } -.tr_tm { margin-top: 2px; font-size: 10px; color: #676767; } -.ch { font-style: italic; color: #0080FF; } -#fs-sel-cat option.cat-title { font-weight: bold; color: #005A88; background: #F5F5F5; } -tr.hl-tr:hover td { background-color: #F8F8F8 !important; } -#fs-nav-ul .b { font-weight: bold; } -#fs-nav-ul li, #fs-nav-close { cursor: pointer; } -#fs-nav-ul span.f:hover, #fs-nav-close:hover { color: blue; background: #DEE2E4; } -#fs-nav-list { border: 3px double #9AA7AD; background: #EFEFEF; padding: 8px; max-height: 500px; overflow: auto; } -#fs-sel-cat { width: 260px; } -#fs-sel-cat option.cat-title { font-weight: bold; color: #005A88; background: #F5F5F5; } - -.dlWill { color: #0066CC; } -.dlDown, .leech, .leechmed, .leechsmall { color: #800000 !important; } -.dlComplete, .seed, .seedmed, .seedsmall { color: #006600 !important; } -.dlCancel { color: #666666 !important; } - -a.dlWill, a.dlWill:visited { color: #0066CC !important; text-decoration: none; } -a.dlDown, a.dlDown:visited { color: #800000 !important; text-decoration: none; } -a.dlComplete, a.dlComplete:visited { color: #006600 !important; text-decoration: none; } -a.dlCancel, a.dlCancel:visited { color: #666666 !important; text-decoration: none; } -/* ================================================================ * - Images - * ================================================================ */ -img.forum_icon { width: auto; height: auto; } -img.topic_icon { width: 19px; height: 18px; } -img.pm_box_icon { width: 28px; height: 25px; } -img.icon1 { width: 12px; height: 9px; } -img.icon2 { width: 18px; height: 9px; } -img.feed-small { width: 12px; height: 12px; } -img.spacer { display: block; height: 1px; } -/* ================================================================ * - Page footer - * ================================================================ */ -.bottom_info { font-size: 11px; } -.copyright { font-size: 10px; color: #444444; letter-spacing: -1px; } -.copyright a { text-decoration: none; } - -#timezone { - float: right; text-align: right; white-space: nowrap; - font-size: 10px; line-height: 110%; color: #333333; -} -.tz_time { font-family: "Courier New",Courier,monospace; font-size: 11px; } - -#f_icons_legend { margin: 4px auto; } -/* ================================================================ * - Menus - * ================================================================ */ -.menu-root { padding-right: 13px; white-space: nowrap; - background: transparent url(../images/menu_open.gif) no-repeat right; } -.menu-alt1 { padding-right: 0; background: transparent; } -img.menu-alt1 { width: 9px; height: 9px; } -a.menu-root, a.menu-root:visited, a.menu-root:hover { - text-decoration: none !important; } -.menu-sub { position: absolute; display: none; z-index: 1000; } - .menu-sub table { background: #FFFFFF; border: 1px solid #92A3A4; } - .menu-sub table th { background: #71869F; color: #F0F8FF; font-weight: bold; font-size: 11px; } - .menu-sub table td { background: #E7E7E7; font-size: 11px; } - .menu-sub table td.cat { background: #B5BEC3; } - .menu-sub legend { font-weight: bold; } - .menu-sub label { display: block; padding-right: 2px; margin-right: 1px; } - .menu-sub label:hover { background: #D1D7DC; color: #993300; } -.menu-a { background: #FFFFFF; border: 1px solid #92A3A4; } -.menu-a a { color: #0000A0; background: #E7E7E7; padding: 4px 10px 5px; margin: 1px; display: block; text-decoration: none !important; } -.menu-a a:hover { color: #0000FF; background: #D1D7DC; text-decoration: none !important; } -/* ================================================================ * - Ajax - * ================================================================ */ -var.ajax-params { display: none; } -#ajax-loading, #ajax-error { - position: fixed; top:0 !important; z-index: 2000; padding: 4px; font-size: 11px; - max-width: 400px; max-height: 200px; white-space: nowrap; display: none; -} -#ajax-loading { - display: none; - background: rgba(0,0,0, 0.5) url(../images/loading_1.gif) no-repeat center center; - float: right; - width: 85px; - height: 30px; - border-bottom-left-radius: 10px; - -webkit-border-bottom-left-radius: 10px; - -khtml-border-bottom-left-radius: 10px; -} -#ajax-error { - background: #d32031 url(../images/loading_1.gif) no-repeat center center; - float: right; - min-width: 200px; - height: 30px; - border-bottom-left-radius: 10px; - -webkit-border-bottom-left-radius: 10px; - -khtml-border-bottom-left-radius: 10px; -} -.editable-container { cursor: pointer; } -.editable-container:hover { background: #E8E9F8; } -.loading-1 { background: transparent url(../images/loading_1.gif) no-repeat left center; padding-left: 22px; } -/* ================================================================ * - Treeview, TableSorter - * ================================================================ */ -.treeview, .treeview ul { - padding: 0; margin: 0; list-style: none; font-size: 11px; line-height: 14px; -} -.treeview ul { - margin-top: 4px; -} -.treeview .hitarea { - background: url(../images/treeview/treeview-default.gif) -64px -25px no-repeat; - width: 16px; height: 16px; margin-left: -16px; float: left; cursor: pointer; -} -/* fix for IE6 */ -* html .hitarea { - display: inline; float: none; -} -.treeview li { - margin: 0; padding: 1px 0 1px 16px; -} -.treeview span { - padding-left: 3px; display: block; -} -.treeview a.selected { - background-color: #eee; -} -#treecontrol { margin: 1em 0; display: none; } -.treeview .hover { color: red; cursor: pointer; } - -.treeview li { background: url(../images/treeview/treeview-default-line.gif) 0 0 no-repeat; } -.treeview li.collapsable, .treeview li.expandable { background-position: 0 -176px; } - -.treeview .expandable-hitarea { background-position: -80px -3px; } - -.treeview li.last { background-position: 0 -1766px } -.treeview li.lastCollapsable, .treeview li.lastExpandable { - background-image: url(../images/treeview/treeview-default.gif); -} -.treeview li.lastCollapsable { background-position: 0 -111px } -.treeview li.lastExpandable { background-position: -32px -67px } - -.treeview div.lastCollapsable-hitarea, .treeview div.lastExpandable-hitarea { background-position: 0; } - -/* Tablesorter */ -.tablesorter u { display: none; } -.tablesorter .header { - cursor: pointer; white-space: nowrap; -} -.tablesorter .tbs-text { - padding-bottom: 1px; -} -.headerSortUp .tbs-text, .headerSortDown .tbs-text { - border-bottom: 2px solid; -} -.tbs-icon { - padding-left: 8px; - background: url(../images/tbl_sort_bg.gif) no-repeat 0 50%; -} -.headerSortUp .tbs-icon { - background-image: url(../images/tbl_sort_asc.gif); -} -.headerSortDown .tbs-icon { - background-image: url(../images/tbl_sort_desc.gif); -} -/* ================================================================ * - Misc - * ================================================================ */ -.sf { padding-left: 20px !important; } -.jumpbox { margin: 6px 0; text-align: right; white-space: nowrap; } - -.attachrow { font-size: 11px; border: 1px #A5AFB4 solid; } -.attachheader { font-size: 11px; border: 1px #A5AFB4 solid; background: #D1D7DC; } -.attachtable { font-size: 12px; border: 1px #A5AFB4 solid; border-collapse: collapse; } - -pre, .pre { - font-family: Courier,monospace; font-size: 12px; - border: 1px solid #B7C0C5; background: #F5F5F5; - padding: 4px; margin: 10px; text-align: left; -} -.pre { width:100%; overflow: auto; white-space: nowrap; } - -.ann { font-size: 13px; text-align: center; color: #993300; font-weight: bold; } - -.clickable { cursor: pointer; } -.folded, .folded2 { display: block; - background: transparent url(../images/icon_plus_1.gif) no-repeat left center; padding-left: 14px; } -.unfolded, .unfolded2 { display: block; - background: transparent url(../images/icon_minus_1.gif) no-repeat left center; padding-left: 14px; } -.folded2 { background-image: url(../images/icon_plus_2.gif); } -.unfolded2 { background-image: url(../images/icon_minus_2.gif); } - -.warnColor1 { color: #993300; } -.warnColor2 { color: #FF0000; } -.warnBorder1 { border: 1px solid #A52A2A; } -.warningBox1 { border: 1px solid #A52A2A; color: #993300; padding: 12px; } -.warningBox2 { color: #993300 !important; background: #FFD9B2; border: 2px solid #CC6600; padding: 8px; } - -/* ================================================================ * - Reports - * ================================================================ */ -/* Color pixel */ -div.report_pixel { - height: 1em; - width: 1em; - float: left; - margin-right: 3px -} - -/* Report list colors */ -td.report_cleared, div.report_cleared { - background-color: #7ce380; -} - -td.report_process, div.report_process { - background-color: #ffc267; -} - -td.report_open, div.report_open { - background-color: #f2a0a7; -} - -td.report_new, div.report_new { - background-color: #f88085; -} - -td.report_delete, div.report_delete { - background-color: #9eabb2; -} - -/* Report mode select */ -select.report_mode option { - margin: 1px 0 -} - -select.report_mode optgroup { - background-color: #FFF; - color: #000; - font-style: normal; - font-weight: bold; - margin-left: 3px -} - -select.report_mode optgroup option { - border-left: 1.3em solid; - padding-left: 2px; - margin-left: 1px; -} - -select.report_mode option.report_cleared { - border-color: #1e6731 -} - -select.report_mode option.report_process { - border-color: #e6721b -} - -select.report_mode option.report_open { - border-color: #8b201d -} - -/* ================================================================ * - Shortcuts - * ================================================================ */ -.spacer_0, .spacer_2, .spacer_4, .spacer_6, .spacer_8, .spacer_10, .spacer_12 { - font-size: 0; line-height: 0; } -.spacer_0 { height: 0; } -.spacer_2 { height: 2px; } -.spacer_4 { height: 4px; } -.spacer_6 { height: 6px; } -.spacer_8 { height: 8px; } -.spacer_10 { height: 10px; } -.spacer_12 { height: 12px; } - -.pad_0, .pad_0 td, td.pad_0 { padding: 0; } -.pad_2, .pad_2 td, td.pad_2 { padding: 2px; } -.pad_4, .pad_4 td, td.pad_4 { padding: 4px; } -.pad_6, .pad_6 td, td.pad_6 { padding: 6px; } -.pad_8, .pad_8 td, td.pad_8 { padding: 8px; } -.pad_10, .pad_10 td, td.pad_10 { padding: 10px; } -.pad_12, .pad_12 td, td.pad_12 { padding: 12px; } -.pad_14, .pad_14 td, td.pad_14 { padding: 14px; } -.pad_16, .pad_16 td, td.pad_16 { padding: 16px; } - -.mrg_0 { margin: 0 !important; } -.mrg_2 { margin: 2px !important; } -.mrg_4 { margin: 4px !important; } -.mrg_6 { margin: 6px !important; } -.mrg_8 { margin: 8px !important; } -.mrg_10 { margin: 10px !important; } -.mrg_12 { margin: 12px !important; } -.mrg_14 { margin: 14px !important; } -.mrg_16 { margin: 16px !important; } - -.lh_100 { line-height: 100%; } -.lh_110 { line-height: 110%; } -.lh_120 { line-height: 120%; } -.lh_150 { line-height: 150%; } - -.wAuto { width: auto !important; } /* widthAuto */ -.w50 { width: 50% !important; } -.w60 { width: 60% !important; } -.w70 { width: 70% !important; } -.w80 { width: 80% !important; } -.w85 { width: 85% !important; } -.w90 { width: 90% !important; } -.w95 { width: 95% !important; } -.w100 { width: 100% !important; } - -.border { border: solid #B7C0C5; } -.bw_T { border-width: 1px 0 0 0 !important; } -.bw_TR { border-width: 1px 1px 0 0 !important; } -.bw_TRB { border-width: 1px 1px 1px 0 !important; } -.bw_TRBL { border-width: 1px 1px 1px 1px !important; } -.bw_TB { border-width: 1px 0 1px 0 !important; } -.bw_TBL { border-width: 1px 0 1px 1px !important; } -.bw_TL { border-width: 1px 0 0 1px !important; } -.bw_TRL { border-width: 1px 1px 0 1px !important; } -.bw_R { border-width: 0 1px 0 0 !important; } -.bw_RB { border-width: 0 1px 1px 0 !important; } -.bw_RBL { border-width: 0 1px 1px 1px !important; } -.bw_RL { border-width: 0 1px 0 1px !important; } -.bw_B { border-width: 0 0 1px 0 !important; } -.bw_BL { border-width: 0 0 1px 1px !important; } -.bw_L { border-width: 0 0 0 1px !important; } - -.bCenter { margin-left: auto !important; margin-right: auto !important; } /* blockCenter */ -.bLeft { margin-right: auto !important; } -.block { display: block; } -.bold { font-weight: bold; } -.bRight { margin-left: auto !important; } -.clear { clear: both; height: 0; font-size: 0; line-height: 0; overflow: hidden; } -.clearB { clear: both; } -.floatL { float: left; } -.floatR { float: right; } -.hidden { display: none; } -.inline { display: inline; } -.normal { font-weight: normal; } -.nowrap { white-space: nowrap !important; } -.wrap { white-space: normal !important; } -.strike { text-decoration: line-through; } -.tCenter { text-align: center !important; } /* textCenter */ -.tLeft { text-align: left !important; } -.tRight { text-align: right !important; } -.vBottom { vertical-align: bottom !important; } -.vTop { vertical-align: top !important; } -/* ================================================================ * - YouTube.Panel - * ================================================================ */ -.Panels { - z-index:200; - top:50%; - left:50%; - background-attachment:fixed, scroll; - background: url(../images/aerobg.png), -moz-linear-gradient(top, rgba(200,200,200,0.4) 0%, rgba(255,255,255,1) 100%); - background: url(../images/aerobg.png), -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(200,200,200,0.4)), color-stop(100%,rgba(255,255,255,1))); - background: url(../images/aerobg.png), -webkit-linear-gradient(top, rgba(200,200,200,0.4) 0%,rgba(255,255,255,1) 100%); - background: url(../images/aerobg.png), -o-linear-gradient(top, rgba(200,200,200,0.4) 0%,rgba(255,255,255,1) 100%); - background: url(../images/aerobg.png), -ms-linear-gradient(top, rgba(200,200,200,0.4) 0%,rgba(255,255,255,1) 100%); - filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#66c8c8c8', endColorstr='#ffffff',GradientType=0 ); - background: url(../images/aerobg.png), linear-gradient(top, rgba(200,200,200,0.4) 0%,rgba(255,255,255,1) 100%); - background-size:cover; - -moz-background-size:cover; - -webkit-background-size:cover; - border:1px solid gray; - border-radius:3px; - -moz-border-radius:3px; - -webkit-border-radius:3px; - box-shadow:0 2px 5px rgba(0,0,0,0.3),0 0 1px #FFF inset; - -moz-box-shadow:0 2px 5px rgba(0,0,0,0.3),0 0 1px #FFF inset; - -webkit-box-shadow:0 2px 5px rgba(0,0,0,0.3),0 0 1px #FFF inset; - position:fixed; - max-width:99%; - min-width:100px; - min-height:24px; - overflow:hidden; - margin:1px; -} - -.Panels.Minimized { - position:relative; - top:auto!important; - left:auto!important; - float:left; - max-width:200px; - height:24px!important; - margin:0!important; -} - -.PanelsButton { - float:right; - overflow:hidden; - margin:5px 5px 0 10px; -} - -.PanelsClose { color: #006699; cursor: pointer; } - -.PanelsClose:hover { color: #DD6900; text-decoration: underline !important; } -.PanelsTitle { - overflow:hidden; - white-space:nowrap; - max-height:20px; - font-weight:700; -} - -.Panels.Minimized .PanelsTitle.Hidden { - display:block; -} - -.PanelsTitle,.PanelsMenu { - padding:5px 5px 0; -} - -.Panels.Minimized .PanelsTitle,.Panels.Minimized .PanelsMenu { - cursor:inherit; -} - -.PanelsContent,.PanelsFooter { - border-top:1px dashed #A9A9A9; - clear:both; - margin:5px 0 0; - padding:5px; -} - -#PanelsDock { - bottom:0; - left:0; - position:fixed; - padding:0 0 0 5px; -} - -#PanelsDockToggle { - border:1px solid gray; - box-shadow:0 2px 5px rgba(0,0,0,0.3),0 0 1px #FFF inset; - -moz-box-shadow:0 2px 5px rgba(0,0,0,0.3),0 0 1px #FFF inset; - -webkit-box-shadow:0 2px 5px rgba(0,0,0,0.3),0 0 1px #FFF inset; - float:left; - border-radius:0 3px 3px 0; - -moz-border-radius:0 3px 3px 0; - -webkit-border-radius:0 3px 3px 0; - margin:1px 1px 1px 0; - padding:4px 10px; -} - -.Panels.Minimized .PanelsMenu,.Panels.Minimized .PanelsContent,.Panels.Minimized .PanelsFooter,.PanelsTitle.Hidden,.PanelsMenu.Hidden { - display:none; -} -span.button { - background-image:url(../images/def_button.png); -} - -span.button:hover { - background-image:url(../images/def_button_light.png); -} - -span.YTLink{ - background-color:gray; - border:1px solid #333333; - display:inline-block; - font-weight:bold; - padding:2px 2px 2px 5px; - margin:1px 2px -6px; - border-radius:3px; - -moz-border-radius:3px; - -webkit-border-radius:3px; -} -span.YTLinkButton{ - background-color:#008500; - border:1px solid #333333; - color:white; - display:inline-block; - float:right; - margin:-3px -3px -3px 4px; - padding:2px 4px; - -webkit-border-top-right-radius: 3px; - -webkit-border-bottom-right-radius: 3px; - -moz-border-radius-topright: 3px; - -moz-border-radius-bottomright: 3px; - border-top-right-radius: 3px; - border-bottom-right-radius: 3px; - cursor: url(../images/link_help.cur), pointer; -} -span.YTLink a.postLink{ - color:white; - float:left; -} - -span#autocomplete { - cursor: pointer; - color: #006699; - font: 12px Arial,sans-serif; -} - -div#autocomplete_popup { - position: fixed; - z-index: 999; - width: 300px; - height: 100px; - background: #FFFFFF; - text-align: center; - display: none; - border: 1px solid #B7C0C5; -} - -div#autocomplete_popup div.relative { - position: relative; - width: 300px; - height: 100px; -} - -div#autocomplete_popup div.title { - background: url("../images/cellpic1.gif") repeat-x scroll 0 0 #1C508C; - color: #D5E4EC; - font-size: 11px; - font-weight: bold; - padding: 6px 8px 7px; -} - -div#autocomplete_popup div.close { - position: absolute; - right: 7px; - cursor: pointer; - top: 7px; - color: red; - font-weight: bold; - width: 12px; - height: 12px; - background: url("../../../images/bad.gif") transparent no-repeat; -} - -div#autocomplete_popup input { - font-size: 16px; - margin: 20px 0 0; - width: 83px; -} - -div#autocomplete_popup span.regenerate { - width: 16px; - height: 16px; - margin: 24px 0 0 8px; - background: url("../../../images/pic_loading.gif") transparent no-repeat; - cursor: pointer; - display: inline-block; -} -/* ================================================================ * - Alert - * ================================================================ */ -.alert { - padding: 8px 15px; - margin: 20px auto; - border: 1px solid transparent; - border-radius: 4px; -} -.alert h4 { - margin-top: 0; - color: inherit; - font-size: 14px !important; -} -.alert .alert-link { - font-weight: bold; -} -.alert > p, -.alert > ul { - margin: 0 0 1px 15px; -} -.alert > p + p { - margin-top: 5px; -} -.alert-dismissable { - padding-right: 35px; -} -.alert-dismissable .close { - position: relative; - top: -2px; - right: -21px; - color: inherit; -} -.alert-success { - color: #3c763d; - background-color: #dff0d8; - border-color: #d6e9c6; -} -.alert-success hr { - border-top-color: #c9e2b3; -} -.alert-success .alert-link { - color: #2b542c; -} -.alert-info { - color: #31708f; - background-color: #d9edf7; - border-color: #bce8f1; -} -.alert-info hr { - border-top-color: #a6e1ec; -} -.alert-info .alert-link { - color: #245269; -} -.alert-warning { - color: #8a6d3b; - background-color: #fcf8e3; - border-color: #f0d575; -} -.alert-warning hr { - border-top-color: #f7e1b5; -} -.alert-warning .alert-link { - color: #66512c; -} -.alert-danger { - color: #a94442; - background-color: #f2dede; - border-color: #ebccd1; -} -.alert-danger hr { - border-top-color: #e4b9c0; -} -.alert-danger .alert-link { - color: #843534; -} - -/** - * Alert theme - **/ -.alert { - text-shadow: 0 1px 0 rgba(255, 255, 255, .2); - -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); -} -.alert-success { - background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); - background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0); - background-repeat: repeat-x; - border-color: #b2dba1; -} -.alert-info { - background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%); - background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0); - background-repeat: repeat-x; - border-color: #9acfea; -} -.alert-warning { - background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); - background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0); - background-repeat: repeat-x; - border-color: #f0d575; -} -.alert-danger { - background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); - background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%); - filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0); - background-repeat: repeat-x; - border-color: #dca7a7; +/* + * Initial neutralization + * Top Level + * Globals + + * Links + * Backgrounds + * Headers + * General text + + * Code blocks + * Quote blocks + * Spoiler + + * Infoboxes + * Inputs, buttons, forms + * Text replacement for buttons + * Basic tables + + * Page header + - TopMenu, Quick Login, PM Info, Loguot, Search.. + - Logo + - Main navigation + - Latest News + + * Page content + * Sidebar 1 + * Latest News + + * Forums on home page + * Forums on viewforum page + + * Topics on viewtopic page + * Torrent status + * Attachments + * Search Results page + * Tracker + + * Images + * Page footer + * Menus + * Misc + * Reports + * Shortcuts + * YouTube Panel +*/ + +/* ================================================================ * + Initial neutralization + * ================================================================ */ + +/* Clean out MARGIN and PADDING */ +html, body, form, fieldset, h3, h4, h5, h6, p, pre, blockquote, +ul, ol, dl, li, dd { + margin: 0; padding: 0; +} +/* Add LEFT MARGIN */ +blockquote, ul, ol, li, dd { margin-left: 1em; } + +/* ================================================================ * + Top Level + * ================================================================ */ +html { + min-height: 100.1%; /* always show vertical scrollbar in Mozilla */ +} +body { + min-width: 760px; color: #000000; background: #E3E3E3; +} +body, th, td, font { + font: 12px Verdana,Arial,sans-serif; +} + +#body_container { background: #E3E3E3; padding: 0 0 4px; } + #page_container { + margin: 0 auto; + background: #FFFFFF; border: 1px solid #CFD4D8; + } + #page_header { + position: relative; width: 100%; + } + #page_content { + padding: 12px 10px 0; margin: 0 auto; + clear: both; position: relative; + } + #sidebar1 {} + #sidebar2 { + padding: 0 3px 0 6px; vertical-align: top; + width: 240px; + } + #sidebar1-wrap { margin-top: -8px; width: 210px; } + #sidebar2-wrap {} + #main_content { + vertical-align: top; + } + #main_content_wrap {} + #page_footer { + clear: both; + margin: 12px 0 3px; + } + +/* ================================================================ * + Globals + * ================================================================ */ +hr { height: 0; border: 0 solid #B7C0C5; border-top-width: 1px; } +.hr1 { border-top: 1px #B7C0C5 solid; } + +form { display: inline; } +label { cursor: pointer; white-space: nowrap; } +img { border: 0; } +wbr { display: inline-block; } + +.highlight { color: #FF0000; background: #FFFFE0; } +/* ---------------------------------- * + Links + * ---------------------------------- */ +:link:focus, :visited:focus { color: #DD6900; } +:link { color: #006699; text-decoration: none !important; } +:visited { color: #006699; text-decoration: none !important; } +:link:hover, :visited:hover { color: #DD6900; } +:link:active, :visited:active { color: #DD6900; } + +.a-like { color: #006699 !important; cursor: pointer; } +.a-like:hover { color: #DD6900 !important; text-decoration: underline !important; } +.colorAdmin, a.colorAdmin, a.colorAdmin:visited { color: #A00 !important; } +.colorSuperMod, a.colorSuperMod, a.colorSuperMod:visited { color: #0080FF !important; } +.colorMod, a.colorMod, a.colorMod:visited { color: #009900 !important; } +.colorGroup, a.colorGroup, a.colorGroup:visited { color: #476996 !important; } +.colorUser, a.colorUser, a.colorUser:visited { color: #006699 !important; } +.colorCPH, a.colorCPH, a.colorCPH:visited { color: #0080FF !important; } + +.adm, a.adm, a.adm:visited { color: #800000; text-decoration: none; font-size: 11px; } + +a.leech, a.leechmed, a.leechsmall, +a.leech:visited, a.leechmed:visited, a.leechsmall:visited { + color: #800000; text-decoration: none; +} +a.seed, a.seedmed, a.seedsmall, +a.seed:visited, a.seedmed:visited, a.seedsmall:visited { + color: #006600; text-decoration: none; +} +a.points, a.pointsmed, a.pointssmall, +a.points:visited, a.pointsmed:visited, a.pointssmall:visited, .points +{ + color: blue; text-decoration: none; +} + +/* Poster name in viewtopic */ +.nick, .nick a { + color: #005A88 !important; font-size: 13px; font-weight: bold; text-decoration: none; +} +/* Nav links */ +.nav { margin: 0.3em 0; font-size: 11px; font-weight: bold; } +.nav a { text-decoration: none; } +.nav em { color: #660000; font-style: normal; } +/* Topic titles */ +.topictitle, a.topictitle { + font-size: 11px; text-decoration: none; font-weight: bold; +} +.torTopic, a.torTopic { + font-size: 11px; text-decoration: none; +} +a.topictitle:visited, a.torTopic:visited, a.tLink:visited { + color: #444; +} +/* ---------------------------------- * + Backgrounds + * ---------------------------------- */ +.row1, .row1 td { background: #EFEFEF; } +.row2, .row2 td { background: #DEE3E7; } +.row3, .row3 td { background: #D1D7DC; } +.row4, .row4 td { background: #ECECEC; } +.row5, .row5 td { background: #E7E7E7; } +.row6, .row6 td { background: #DDDDDD; } + +.prow1 { background: #ECECEC; } +.prow2 { background: #E7E7E7; } +.prow3 { background: #DEE3E7; } + +.p-body tr { background: #ECECEC; } +.p-body tr:hover { background: #DEE3E7; } + +/* ---------------------------------- * + Headers + * ---------------------------------- */ +h1 { font-size: 18px; font-weight: bold; margin: 0.2em 0 0.5em; } +h2 { font-size: 16px; font-weight: bold; margin: 0.2em 0 0.5em; } +h3 { font-size: 13px; font-weight: bold; letter-spacing: 1px; } +h4 { font-size: 12px; font-weight: bold; } +h5 { font-size: 12px; font-weight: normal; } +h6 { font-size: 11px; font-weight: normal; } +/* Page title and toptic title */ +.maintitle, .pagetitle { + font-family: "Trebuchet MS",Verdana,sans-serif; color: #3C3C3C; + padding: 0 4px; margin: 0.2em 0 0.5em; +} +.maintitle a, .pagetitle a { text-decoration: none; } +.maintitle { font-size: 22px; } +/* ---------------------------------- * + General text + * ---------------------------------- */ +.gen, .seed, .leech, +.gen td { font-size: 12px; } +.med, .genmed, .seedmed, .leechmed, +.med td { font-size: 11px; } +.small, .gensmall, .seedsmall, .leechsmall, +.small td { font-size: 10px; } +.tiny, .tiny td { font-size: 10px; letter-spacing: -1px; } + +td.gen { font-size: 12px !important; } +td.med { font-size: 11px !important; } +td.small { font-size: 10px !important; } + +.gen, .med, .genmed, +.small, .gensmall { color: #000000; } +a.gen, a.med, a.genmed, +a.small, a.gensmall { color: #006699; text-decoration: none; } +/* ---------------------------------- * + Post elements + * ---------------------------------- */ +.post-align, .post-br, .post-hr, .postImgAligned { + display: block; +} +.sp-wrap, .post-hr { margin: 8px auto; } +.c-wrap, .q-wrap { margin: 8px auto; } +.c-wrap, .q-wrap, .sp-wrap { width: 98%; clear: both; } +.q-wrap .q-wrap, .sp-wrap .sp-wrap { margin: 2px auto 4px; } +.c-head, .q-head { padding: 0 1px; font-size: 11px; color: #444444; } +.c-body, .q, .sp-wrap, .sp-head, .sp-body { + border: solid #C3CBD1; border-width: 1px 1px 1px 2px; clear: both; +} +.c-body, .q, .sp-body { padding: 2px 6px; } +.c-head, .q-head, .sp-head { text-align: left !important; } + +.post-align { margin: 8px auto; } +.post-br { line-height: 12px; } +.post-b { font-weight: bold; } +.post-u { text-decoration: underline; } +.post-i { font-style: italic; } +.post-s { text-decoration: line-through; } +/* ---------------------------------- * + Code blocks + * ---------------------------------- */ +.c-body { font-size: 13px; font-family: "Courier New",Courier,monospace; color: #006600; background: #FAFAFA; } +/* ---------------------------------- * + Quote blocks + * ---------------------------------- */ +.q { background: #FAFAFA; color: #2E2E2E; max-height: 350px; overflow: auto; } +.q .q { background: #F5F5F5; max-height: 100%; overflow: visible; } +.q .q .q { background: #FAFAFA; } +.q .q .q .q { background: #F5F5F5; } +.q .q .q .q .q { background: #FAFAFA; } +.q .q .q .q .q .q { background: #F5F5F5; } +/* ---------------------------------- * + Spoiler + * ---------------------------------- */ +.sp-wrap { padding: 0; background: #E9E9E6; width:auto;} +.sp-head { border-width: 0; font-size: 11px; padding: 1px 14px 3px; margin-left: 6px; line-height: 15px; font-weight: bold; color: #2A2A2A; cursor: pointer; width:auto;} +.sp-body { border-width: 1px 0 0 0; display: none; font-weight: normal; background: #F5F5F5; border-bottom: 1px solid #C3CBD1;} +.sp-fold { width: 98%; margin: 0 auto; text-align: right; font-size: 10px; color: #444444; } +/* ---------------------------------- * + List + * ---------------------------------- */ +.post_body ul, .post_body ol { + margin: 8px auto 8px 8px; +} +.post_body li { margin: 0 4px 1px 24px; } +ul[type="1"] { list-style-type: decimal; } +ul[type="a"] { list-style-type: lower-alpha; } +ul[type="i"] { list-style-type: lower-roman; } +/* ---------------------------------- * + Post images + * ---------------------------------- */ +img.smile, img.postImg { vertical-align: text-bottom; } +img.postImg { margin: 2px 2px 0 0; } +img.postImgAligned { margin: 4px 4px 2px; } +var.img-left { float: left; clear: left; } +var.img-right { float: right; clear: right; } +/* ---------------------------------- * + Other BBCode related + * ---------------------------------- */ +.post_body pre { + border: none; background: transparent; + padding: 0; margin: 0; +} +.post-pre { white-space: pre; font-family: monospace; } +a.postLink-name, a.postLink-name:visited { text-decoration: none; } +/* ---------------------------------- * + Infoboxes + * ---------------------------------- */ +.infobox { + border: 1px #B7C0C5 solid; background: #EFEFEF; padding: 1px; + } + .infobox h1 { + background: #D1D7DC; font-size: 1.2em; padding: 0 0.6em 2px; + } +/* ---------------------------------- * + Inputs, buttons, forms + * ---------------------------------- */ +input, textarea, select { + font-family: Verdana,sans-serif; +} +input.post, textarea.post { } + +select, input { font-size: 11px; } +textarea { font-size: 12px; } + +input.mainoption, input.main, +input.liteoption, input.lite { + font-size: 11px; border: 1px solid; background: #FAFAFA; + padding-left: 10px; padding-right: 10px; +} +input.mainoption, input.main { + font-weight: bold; /* main submit button */ +} + +/* The buttons used for bbCode styling in message post */ +input.button, .buttons input { border: 1px solid; background: #F5F5F5; } +input.long { padding-left: 20px; padding-right: 20px; } +.buttons input:hover {border:1px solid #DEDEDE; background:#FFF;} +input.button, .buttons input, +input.mainoption, input.main, input.liteoption, input.lite { + color: #000000; border-color: #ABABAB; +} + +input[type="checkbox"], input[type="radio"] { + cursor: pointer; margin: 1px 2px 1px 1px; padding: 0; height: 13px; width: 13px; vertical-align: text-top; + box-sizing: border-box; -moz-box-sizing: border-box; +} + +input[disabled="disabled"] { color: #808080; } +input.hint { color: #999999; font-style: italic; text-indent: 0.3em; } +input.error { color: #FF0000; font-weight: bold; } +input.found { font-weight: bold; } +.cat input[type="text"] { background: #FCFCFC; } + +optgroup, option, fieldset, legend { + font-family: Verdana,sans-serif; +} +optgroup { + font-size: 11px; letter-spacing: 0; font-weight: bold; font-style: italic; + color: #005A88; background: #DEE3E7; +} +optgroup option { color: #000000; background: #FFFFFF; } +option { font-size: 11px; } +legend { padding: 0 2px 2px; font-size: 11px; color: #000066; } +legend a { text-decoration: none; } +fieldset > legend { margin-left: 6px; } +.root_forum {} +.has_sf { color: #333333; background: #F5F5F5; font-weight: bold; } + +input.pOrdSel { + border: 0 solid #EFEFEF; width: 18px; overflow: hidden; + color: #333333; background: transparent; + font-size: 12px; font-family: Arial,sans-serif; + cursor: pointer; +} + +textarea.editor { display: block; width: 98%; } + +.fieldsets td { vertical-align: top; white-space: nowrap; } +.fieldsets fieldset { margin: 4px 4px; } +.fieldsets fieldset div { padding: 3px 6px 4px; } +.fieldsets div p { margin-bottom: 1px; } +.fieldsets div > p { margin-bottom: 2px; } +.fieldsets .select { margin-bottom: 3px; } +.fieldsets .radio {} +.fieldsets .chbox {} +.fieldsets .input {} +table.my_downloads { margin-bottom: 2px; } + .my_downloads td { padding: 1px 8px 2px 0 !important; } + +select.text_color option { background: #ECECEC; } +select.text_size option.em { font-weight: bold; background: #ECECEC; } + +.fldSet1 { margin: 2px 4px 1px 4px; padding: 0; } +.fldSetCont1 { margin: 0; padding: 3px 8px 4px 8px; } +.fldSetCont2 { margin: 0; padding: 2px 8px 4px 8px; } +.fldSetCont3 { margin: 0; padding: 6px 8px 8px 8px; } + +.hl_only_new { color: #993300; } +.select-action { background: #F5F5F5; } +/* ---------------------------------- * + Text replacement for buttons + * ---------------------------------- */ +.txtb, .txtb:link, .txtb:visited, .txtb:hover { + color: #003366; font-size: 11px; text-decoration: none; +} +.txtb:hover { text-decoration: underline; } +/* ---------------------------------- * + Basic tables + * ---------------------------------- */ +.bodyline { + background: #FFFFFF; border: 1px solid #A5AFB4; +} +.bodyline th { + background: #71869F; color: #F0F8FF; font-weight: bold; +} + +table.forumline { + width: 100%; background: #B7C0C5; border-collapse: collapse; + margin-left: auto; margin-right: auto; + border-top: 1px solid #B7C0C5; +} +.forumline th { + border: 1px solid #B7C0C5; border-top-color: #92A3A4; + padding: 6px 3px 4px; color: #000000; background-color: #CFD4D8; + font-size: 9px !important; text-transform: uppercase; +} +.forumline td { + border: 1px solid #B7C0C5; border-width: 0 1px 1px; +} +.forumline th, .thHead { + padding: 6px 8px 7px; text-align: center; + color: #D5E4EC; font-size: 11px; font-weight: bold; + background: #1C508C url(../images/cellpic1.gif) repeat-x; +} +/* "lte IE 6" in page_header.tpl */ +.forumline th:first-child { border-left-color: #92A3A4; } +.forumline th:last-child { border-right-color: #92A3A4; } +.forumline td { + padding: 2px 4px 3px; +} + +table.borderless th, table.borderless td { border: 0 none; } + +table.bordered { border-collapse: collapse; border: 1px solid #B7C0C5; } +.bordered th, .bordered td { + border: 1px solid #B7C0C5; +} + +table.message { margin: 0 auto; width: 100%; } +table.message td { + padding: 16px; text-align: center; background: #EFEFEF; +} + +.cat, td.cat, td.catTitle, td.catHead, td.catBottom { + padding: 5px 4px 6px; + background: #E0E5E9 url(../images/cellpic.gif) repeat-x; +} +.catTitle { + font-weight: bold; letter-spacing: 1px; + color: #333333; text-align: center; +} +.catTitle a { text-decoration: none; } +.catBottom { text-align: center; } +#acp_main_nav .catTitle { + padding: 2px 6px 3px; text-align: left; font-size: 11px; letter-spacing: 0; +} + +.info_msg_wrap { margin: 12px 0; } +table.info_msg { width: 100%; border: 1px solid #B7C0C5; background: #DEE3E7; margin: 0 auto; } +table.info_msg .msg { + border: 1px solid #B7C0C5; background: #EFEFEF; + padding: 20px; text-align: center; +} +table.error { width: 100%; border: 2px solid #993300; background: #FFD4CC; margin: 0 auto; } +table.error .msg { + border: 1px solid #993300; background: #FAEBD7; + padding: 20px; color: #A52A2A; text-align: center; +} + +table.search_username { margin: 12px; width: 370px; } + +table.pm_box_size { width: 175px; margin: 8px 2px; } + .pm_box_size .progress { background: #008000; } + .pm_box_size b { font-size: 10px; } + .pm_nav td { padding: 4px; font-size: 14px; font-weight: bold; } + +table.translit_expl th { + width: 30px; padding-right: 8px; font-weight: bold; text-align: right; +} +table.translit_expl td { width: 14px; } + +table.user_contacts th { text-align: right; white-space: nowrap; } + .user_contacts td { text-align: left; padding: 2px 6px; white-space: nowrap; } + +table.user_details th { padding: 2px 6px; text-align: right; vertical-align: top; } + .user_details td { width: 70%; } + +table.usercp_register h6 { + margin: 0.3em 0.4em; color: #444444; line-height: 100%; +} + +table.smilies td { padding: 3px; text-align: center; } + +/* ================================================================ * + Page header + * ================================================================ */ +/* ---------------------------------- * + TopMenu, Quick Login, PM Info, Loguot.. + * ---------------------------------- */ +.topmenu { + background: #eff0f3; border: 1px solid #CFD4D8; + margin: 3px 4px 0; padding: 0 3px; overflow: hidden; +} +.topmenu a:link, .topmenu a:visited { text-decoration: none; } +.topmenu td { padding: 4px; font-size: 11px; white-space: nowrap; } +.new-pm { background: #FFD9B2 !important; border-top-color: #FFD9B2 !important; border-bottom-color: #FFAA51 !important; } +.new-pm-link { color: #993300 !important; font-weight: bold; } +.new-pm-link:hover { color: #591D00 !important; } +/* ---------------------------------- * + Logo + * ---------------------------------- */ +#logo { padding: 2px 4px; min-height: 75px; } + #logo h1 { + margin: 0 300px 0 0; padding-top: 6px; + font-size: 42px; font-variant: small-caps; + } + #logo h6 { + margin: 0 300px 0 0; padding-top: 1px; padding-bottom: 3px; + font-size: 14px; font-variant: small-caps; + } + #logo img { + padding: 7px 7px 6px 5px; + } +/* ---------------------------------- * + Main navigation + * ---------------------------------- */ +#main-nav { + padding: 4px 10px; margin: 0; + border: solid #C3CBD1 /*#CFD4D8*/; border-width: 0 0 1px 0; background: #eff0f3 /*url('../images/cellpic.gif')*/; + } + #main-nav b { padding: 0 4px 0 1px; } + #main-nav a { color: #444; text-decoration: none; } + #main-nav a:hover, #main-nav a:active { + text-decoration: none !important; color: #000000; + } +/* ---------------------------------- * + Latest News + * ---------------------------------- */ +#latest_news { margin-bottom: 8px; } + #latest_news table { + border-collapse: collapse; + } + #latest_news h3 { padding: 0 0 3px 0; color: #333333; } + #latest_news td { vertical-align: top; } + .news_date { + float: right; padding: 1px 8px 1px; + white-space: nowrap; font-family: "Courier New",Courier,monospace; + color: #333333; background: #F2F2F2; border: 1px solid #B4B4B4; + } + .news_title { + padding: 3px 8px 2px; margin-bottom: 2px; + background: transparent url(../images/hr400_ltr_gradient.jpg) no-repeat left top; + } + #latest_news a { text-decoration: none; color: #000000; } + #latest_news .new a { color: #A52A2A; font-weight: bold; } +/* ---------------------------------- * + Search input + * ---------------------------------- */ +#search-text { + background: white; border: 1px solid silver; + padding: 1px; width: 300px; +} +@media screen and (max-width: 1200px) { + #search-text { width: 180px; } +} +#search-text:hover { + border: 1px solid #aaaaaa; +} +#search-text:focus { + border: 1px solid #aaaaaa; +} +/* ================================================================ * + Page content + * ================================================================ */ +/* ---------------------------------- * + Sidebar 1 + * ---------------------------------- */ +#sidebar1 { + margin-top: -8px; width: 210px; padding: 0 6px 0 3px; vertical-align: top; +} +#sidebar1 h3 { + padding: 0 0 4px 0; margin: 8px 0 2px 0; + color: #333333; text-indent: 0.5em; + background: transparent url(../images/hr200_ltr_gradient.jpg) no-repeat left bottom; +} +#sidebar1 h3 a { color: #333333; } +#sidebar1 h5 { padding: 2px 4px 5px; } +#sidebar1 ul { margin: 6px 0 0 10px; } +#sidebar1 li { margin-bottom: 2px; margin-left: 14px; } +#sidebar1 a { text-decoration: none; color: #005A88; } +/* ---------------------------------- * + Sidebar 2 + * ---------------------------------- */ +#sidebar2 { + margin-top: -8px; width: 210px; padding: 0 6px 0 3px; vertical-align: top; +} +#sidebar2 h3 { + padding: 0 0 4px 0; margin: 0 0 2px 0; + color: #333333; text-indent: 0.5em; + background: transparent url(../images/hr200_ltr_gradient.jpg) no-repeat left bottom; +} +#sidebar2 h3 a { color: #333333; } +#sidebar2 h5 { padding: 2px 4px 5px; } +#sidebar2 ul { margin: 6px 0 0 10px; } +#sidebar2 li { margin-bottom: 2px; margin-left: 14px; } +#sidebar2 a { text-decoration: none; color: #005A88; } +/* User ratio */ +#user_ratio { + padding: 1px 6px 0 0; font-size: 11px; +} +#user_ratio td { + padding: 1px 6px 1px 6px ; font-size: 11px; +} +#tr_main_cats {} /* Main tracker categories list */ +#tr_main_cats ul { + list-style-image: url(../images/arrow1.gif); +} +#tr_main_cats li { + margin-bottom: 3px; margin-left: 11px; font-size: 11px; font-weight: bold; line-height: 110%; +} +#author-rel a { color: #800000; } +/* ================================================================ * + Main content + * ================================================================ */ +#infobox-wrap { width: 740px; } +#infobox-body { background: #FFFFFF; color: #000000; padding: 1em; height: 300px; overflow: auto; border: 1px inset #000000; } +#infobox-body p { margin-top: 1em; margin-bottom: 1em; } + +#gr-mem-list ul { margin: 2px 4px; } +#gr-mem-list li { margin-bottom: 2px; } +a.selfMod, a.selfMod:visited { color: #0000FF; } + +.view-message { border: 1px #A5AFB4 solid; padding: 4px; margin: 6px; overflow: auto; } +.birthday { margin: 3px 0; padding: 2px 4px; max-height: 200px; overflow: auto;} +td.topic_id { cursor: pointer; } + +table.mod_ip { background: #F9F9F9; border: 1px solid #A5AFB4; border-collapse: separate;} +table.mod_ip td { padding: 2px 5px; white-space: normal; font-size: 11px; } +table.mod_ip div { max-height: 150px; overflow: auto;} +/* ---------------------------------- * + Forums on home page + * ---------------------------------- */ +/*.forums thead { display: none;}*/ /* Hide Forum, Topics, Posts, Last Post in index */ +/*.f_topics, .f_posts { display: none; }*/ /* Hide posts/topics count in index */ + +#forums_list_wrap { margin-top: 4px; padding-right: 2px; } +#forums_top_links { clear: both; } +#forums_wrap { clear: both; padding-top: 1px; } +.cat_title { /* Category header */ + padding: 3px 8px 5px; letter-spacing: 1px; text-indent: 0.6em; + background: #DEE3E7 url(../images/cellpic.gif) repeat-x; + } + .cat_title a { text-decoration: none; color: #333333 !important; } +table.forums { width: 100%; } + .forums th { + padding: 0 !important; font-size: 10px; font-weight: normal; color: #3C3C3C; + } + .forums td { + padding: 2px 4px 3px; font-size: 11px; + } +.forums em { /* titles like: "Subforums:", "Moderators:" */ + color: #5E5E5E; font-style: italic; +} +.forumlink { /* forum links */ + font-size: 13px; font-weight: bold; + } + .forumlink a { text-decoration: none; } +.forums .forumlink { /* forum title */ + margin-top: 1px; +} +.forum_desc { /* forum description */ + margin-top: 2px; color: #333333; font-size: 11px; line-height: 110%; +} +.subforums { /* subforums */ + margin-top: 2px; padding-left: 0.5em; + } + .subforums em { display: none; } + .subforums + .moderators { margin-top: 0; } + .dot-sf { color: #417998 !important; font-size: 11px; margin-right: 4px; } + .new .dot-sf { color: #CA4200 !important; } + .sf_title { white-space: normal; } + .sf_icon { margin-right: 1px; } + .sf_separator {} + .sf_title a { text-decoration: none; } +.moderators { /* moderators */ + margin-top: 2px; font-size: 11px; line-height: 110%; + } + .moderators a, .moderators a:visited { + color: #333333; font-size: 10px; text-decoration: none; + } +.f_last_post { /* last topic/post */ + text-align: center; + } + .last_topic { margin-top: 1px; white-space: nowrap; } + .last_topic a { text-decoration: none; } + .last_post_time { margin-top: 2px; font-size: 10px; white-space: nowrap; } + .last_author { padding-left: 3px; } + .f_stat_inline { /* Posts: xx Topics: xx */ + margin-top: 1px; white-space: nowrap; } + .f_stat_topics {} + .f_stat_posts { padding-left: 3px; } + +.f_icon { /* Forum Icon cell */ + width: 46px; + padding: 6px 0 !important; +} +.f_titles { /* Forum Title cell */ + width: auto; +} +.f_topics { /* Topics Count cell */ + width: 40px; text-align: center; +} +.f_posts { /* Posts Count cell */ + width: 50px; text-align: center; +} +.f_last_post { /* Forum Last Topic/Post cell */ + width: 230px; +} +.f_stat_inline { /* Inline Topic/Post count */ + display: block; +} + +table.forums { border-collapse: collapse; } +.cat_title { border: 1px solid #C3CBD1; } +.f_tbl_wrap, #board_stats_wrap { border: solid #C3CBD1; border-width: 0 1px; } +table.forums th { border-bottom: 1px solid #C3CBD1; } +.forums td.row1 { border: solid #C3CBD1; border-width: 0 1px 1px 0; } +.forums td.row2 { border: solid #C3CBD1; border-width: 0 1px 1px 0; } +td.f_titles { border-right-color: #C3CBD1 !important; } +td.last_td { border-right-width: 0 !important; } + +.cat_footer { + height: 0; margin-top: -1px; border-top: 1px solid #C3CBD1; + font-size: 0; line-height: 0; +} +.cat_separator { height: 10px; font-size: 0; line-height: 0; } +#mark_all_forums_read { margin: -10px 0 3px 0; } + +#online_time { float: left; font-style: italic; color: #444444; } +#online_explain { float: right; } +#online_userlist a { white-space: nowrap; } +#forums_top_nav { display: none; } +/* ---------------------------------- * + Forums on viewforum page + * ---------------------------------- */ +table.forum th { white-space: nowrap; } +td.topic_id { padding: 4px 6px; } + +.spaceRow { + padding: 0 !important; background: #D1D7DC; +} +td.topicSep { /* Topic type groups separator */ + padding: 2px 12px 3px; font-weight: bold; letter-spacing: 1px; color: #333333; +} +.topicMoved { /* Topic Moved prefix */ + font-weight: normal; font-style: italic; +} +.topicAnnounce { /* Topic Announce prefix */ + color: #DD6900; +} +.topicSticky { /* Topic Sticky prefix */ + color: #009900; +} +.topicPoll { /* Topic Poll prefix */ + font-weight: normal; color: #006699; +} +.topicPG { /* Topic pagination links */ + font-weight: normal; white-space: nowrap; font-size: 10px; +} +.iconDL { /* DL Icon */ + border: 1px outset; background: #EFEFEF; + padding: 0 3px 0 2px; margin: 2px 1px 2px 0; +} +.topicAuthor, a.topicAuthor, a.topicAuthor:visited { + font-size: 11px; color: #333333; text-decoration: none; +} +.torSize { + font-size: 11px; color: #333333; text-decoration: none; +} +.hl-selected-topic { background-color: #FAF0E6 !important; } +.hl-selected-row, .hl-selected-row td { background-color: #FAF0E6 !important; } +/* ---------------------------------- * + Topics on viewtopic page + * ---------------------------------- */ +table.topic { width: 100%; } + + .post_head { padding: 0 6px; font-size: 10px; } + .post_wrap { line-height: 18px; } + .post_body { margin: 5px 5px 8px; } /* The content of the posts */ + a.postLink { text-decoration: none; } + a.postLink:visited { text-decoration: none; color: #5493B4; } + .posted_since { color: #666666; padding-left: 4px; } + .signature { clear: both; } + .signature { max-height: 100px; overflow: hidden; } + .signature, .signature * { + font-size: 10px !important; color: #5E5E5E !important; + text-decoration: none !important; background: transparent !important; + border: 0 none !important; padding: 0 !important; margin: 1px 0 !important; + } + .signature .c-head, .signature .q-head { display: none !important; } + .signature .c-wrap, .signature .c-body, + .signature .q-wrap, .signature .q { display: inline !important; } + .signature a { text-decoration: underline !important; } + .signature img { max-width: 600px; } + .last_edited { font-size: 10px; color: #5E5E5E; } + .poster_info p { margin: 2px 0; color: #444444; } + .poster_info .nick { margin: 0 0 4px; color: #333333; line-height: 110%; } + .poster_info .avatar { margin: 5px 0 4px; max-width: 100px; max-height: 100px; overflow: hidden; } + .poster_info .birthday { margin: 5px 0; text-align: center !important;} + .avatar img { display: block; } + .poster_info em { font-style: normal; color: #000000; } + + table.topic, .topic .td1, .topic .td2, .topic .td3, .post_head, .post_btn_2 { + border: solid #C3CBD1; + } + .topic .td1 { border-width: 1px 1px 0 0; border-right-color: #B7C0C5; } + .topic .td2 { border-width: 1px 0 0 0; width: 100%; } + .topic .td3 { border-width: 0 1px 0 0; border-right-color: #B7C0C5; height: 100%; } + .post_head { border-width: 0 0 1px 0; } + .post_btn_2 { border-width: 1px 0 0 0; } + table.topic { border-width: 0 1px 1px 1px; border-color: #B7C0C5; } + + .poster_info { padding: 4px; vertical-align: top; font-size: 10px; line-height: 100%; } + .poster_btn { padding: 0; vertical-align: bottom; text-align: center; white-space: nowrap; } + .message { padding: 0; vertical-align: top; width: 100%; } + + input.select_post { margin-top: 0; float: right; } + input[type="checkbox"].select_post { margin-top: 4px; } + + table.peers { border-collapse: collapse; } + table.peers th { border: 1px #A5AFB4 solid; background: #D1D7DC; color: #333333; } + table.peers td { border: 1px #A5AFB4 solid; padding: 4px; } + #last_seed_info { border: 1px #A5AFB4 solid; } + + .dl_list {} + .dl_list td { text-align: center; } + .dl_list img { display: block; } + #dl_counts td { font-size: 12px; } + + #poll { border: 1px solid #B7C0C5; margin-bottom: -1px; } + + .quick_reply_box { width: 800px; } + .hl-selected-post { background-color: #FFEFD5 !important; } +/* ---------------------------------- * + Torrent status + * ---------------------------------- */ +.tor-status-td:hover { background: #F8F8FF; } +.tor-icon { margin: 0 3px; } +.tor-approved { margin-left: 1px; color: #008000; font-weight: bold; } +.tor-closed { padding-left: 1px; color: #FF4500; font-weight: bold; } +.tor-closed-cp { color: #CE3800; font-weight: bold; } +.tor-consumed { color: #D26900; font-weight: bold; } +.tor-dup { padding-left: 1px; color: #0000FF; font-weight: bold; } +.tor-need-edit { color: #FF0000; font-weight: bold; } +.tor-no-desc { padding-left: 1px; color: #FF4500; font-weight: bold; } +.tor-not-approved { color: #C71585; font-weight: bold; } +.tor-checking { color: #2424FF; font-weight: bold; } + +/* ---------------------------------- * + Attachments + * ---------------------------------- */ +table.attach { width: 95%; margin: 0 auto; clear: both; border-color: #A5AFB4; } + .attach th, .attach td { border-color: #A5AFB4; } + .attach th { padding: 3px; text-align: center; font-weight: bold; background: #D1D7DC; } + .attach td { padding: 2px 4px; } + .dl-link { font-size: 13px; } + +fieldset.attach { width: 95%; margin: 14px auto; padding: 2px; clear: both; } + .attach_link { margin: 2px 12px 6px; } + .attach_stats { padding-left: 3px; } + .attach_comment { + margin: 6px 12px; padding: 1px 8px; line-height: 110%; + color: #444444; border-left: 2px solid #CC9933; + } + .attach .denied { color: #800000; } + +#tor_blocked { width: 95%; } + #tor_blocked td { background: #FAEBD7; padding: 8px 12px; color: #6E380F; } +/* ---------------------------------- * + Search Results page + * ---------------------------------- */ +.opened { /* Clicked link color */ + color: #71869F; +} +/* ---------------------------------- * + Tracker + * ---------------------------------- */ +a.tr-dl, a.dl-link:link { font-weight: bold; } +a.dl-link { font-size: 13px; text-decoration: none; } +a.tr-dl:visited, a.f-dl:visited, a.dl-link:visited { color: #5493B4; font-weight: normal; } + +.seed-leech { padding-left: 1px; padding-right: 0; } +.tr_tm { margin-top: 2px; font-size: 10px; color: #676767; } +.ch { font-style: italic; color: #0080FF; } +#fs-sel-cat option.cat-title { font-weight: bold; color: #005A88; background: #F5F5F5; } +tr.hl-tr:hover td { background-color: #F8F8F8 !important; } +#fs-nav-ul .b { font-weight: bold; } +#fs-nav-ul li, #fs-nav-close { cursor: pointer; } +#fs-nav-ul span.f:hover, #fs-nav-close:hover { color: blue; background: #DEE2E4; } +#fs-nav-list { border: 3px double #9AA7AD; background: #EFEFEF; padding: 8px; max-height: 500px; overflow: auto; } +#fs-sel-cat { width: 260px; } +#fs-sel-cat option.cat-title { font-weight: bold; color: #005A88; background: #F5F5F5; } + +.dlWill { color: #0066CC; } +.dlDown, .leech, .leechmed, .leechsmall { color: #800000 !important; } +.dlComplete, .seed, .seedmed, .seedsmall { color: #006600 !important; } +.dlCancel { color: #666666 !important; } + +a.dlWill, a.dlWill:visited { color: #0066CC !important; text-decoration: none; } +a.dlDown, a.dlDown:visited { color: #800000 !important; text-decoration: none; } +a.dlComplete, a.dlComplete:visited { color: #006600 !important; text-decoration: none; } +a.dlCancel, a.dlCancel:visited { color: #666666 !important; text-decoration: none; } +/* ================================================================ * + Images + * ================================================================ */ +img.forum_icon { width: auto; height: auto; } +img.topic_icon { width: 19px; height: 18px; } +img.pm_box_icon { width: 28px; height: 25px; } +img.icon1 { width: 12px; height: 9px; } +img.icon2 { width: 18px; height: 9px; } +img.feed-small { width: 12px; height: 12px; } +img.spacer { display: block; height: 1px; } +/* ================================================================ * + Page footer + * ================================================================ */ +.bottom_info { font-size: 11px; } +.copyright { font-size: 10px; color: #444444; letter-spacing: -1px; } +.copyright a { text-decoration: none; } + +#timezone { + float: right; text-align: right; white-space: nowrap; + font-size: 10px; line-height: 110%; color: #333333; +} +.tz_time { font-family: "Courier New",Courier,monospace; font-size: 11px; } + +#f_icons_legend { margin: 4px auto; } +/* ================================================================ * + Menus + * ================================================================ */ +.menu-root { padding-right: 13px; white-space: nowrap; + background: transparent url(../images/menu_open.gif) no-repeat right; } +.menu-alt1 { padding-right: 0; background: transparent; } +img.menu-alt1 { width: 9px; height: 9px; } +a.menu-root, a.menu-root:visited, a.menu-root:hover { + text-decoration: none !important; } +.menu-sub { position: absolute; display: none; z-index: 1000; } + .menu-sub table { background: #FFFFFF; border: 1px solid #92A3A4; } + .menu-sub table th { background: #71869F; color: #F0F8FF; font-weight: bold; font-size: 11px; } + .menu-sub table td { background: #E7E7E7; font-size: 11px; } + .menu-sub table td.cat { background: #B5BEC3; } + .menu-sub legend { font-weight: bold; } + .menu-sub label { display: block; padding-right: 2px; margin-right: 1px; } + .menu-sub label:hover { background: #D1D7DC; color: #993300; } +.menu-a { background: #FFFFFF; border: 1px solid #92A3A4; } +.menu-a a { color: #0000A0; background: #E7E7E7; padding: 4px 10px 5px; margin: 1px; display: block; text-decoration: none !important; } +.menu-a a:hover { color: #0000FF; background: #D1D7DC; text-decoration: none !important; } +/* ================================================================ * + Ajax + * ================================================================ */ +var.ajax-params { display: none; } +#ajax-loading, #ajax-error { + position: fixed; top:0 !important; z-index: 2000; padding: 4px; font-size: 11px; + max-width: 400px; max-height: 200px; white-space: nowrap; display: none; +} +#ajax-loading { + display: none; + background: rgba(0,0,0, 0.5) url(../images/loading_1.gif) no-repeat center center; + float: right; + width: 85px; + height: 30px; + border-bottom-left-radius: 10px; + -webkit-border-bottom-left-radius: 10px; + -khtml-border-bottom-left-radius: 10px; +} +#ajax-error { + background: #d32031 url(../images/loading_1.gif) no-repeat center center; + float: right; + min-width: 200px; + height: 30px; + border-bottom-left-radius: 10px; + -webkit-border-bottom-left-radius: 10px; + -khtml-border-bottom-left-radius: 10px; +} +.editable-container { cursor: pointer; } +.editable-container:hover { background: #E8E9F8; } +.loading-1 { background: transparent url(../images/loading_1.gif) no-repeat left center; padding-left: 22px; } +/* ================================================================ * + Treeview, TableSorter + * ================================================================ */ +.treeview, .treeview ul { + padding: 0; margin: 0; list-style: none; font-size: 11px; line-height: 14px; +} +.treeview ul { + margin-top: 4px; +} +.treeview .hitarea { + background: url(../images/treeview/treeview-default.gif) -64px -25px no-repeat; + width: 16px; height: 16px; margin-left: -16px; float: left; cursor: pointer; +} +/* fix for IE6 */ +* html .hitarea { + display: inline; float: none; +} +.treeview li { + margin: 0; padding: 1px 0 1px 16px; +} +.treeview span { + padding-left: 3px; display: block; +} +.treeview a.selected { + background-color: #eee; +} +#treecontrol { margin: 1em 0; display: none; } +.treeview .hover { color: red; cursor: pointer; } + +.treeview li { background: url(../images/treeview/treeview-default-line.gif) 0 0 no-repeat; } +.treeview li.collapsable, .treeview li.expandable { background-position: 0 -176px; } + +.treeview .expandable-hitarea { background-position: -80px -3px; } + +.treeview li.last { background-position: 0 -1766px } +.treeview li.lastCollapsable, .treeview li.lastExpandable { + background-image: url(../images/treeview/treeview-default.gif); +} +.treeview li.lastCollapsable { background-position: 0 -111px } +.treeview li.lastExpandable { background-position: -32px -67px } + +.treeview div.lastCollapsable-hitarea, .treeview div.lastExpandable-hitarea { background-position: 0; } + +/* Tablesorter */ +.tablesorter u { display: none; } +.tablesorter .header { + cursor: pointer; white-space: nowrap; +} +.tablesorter .tbs-text { + padding-bottom: 1px; +} +.headerSortUp .tbs-text, .headerSortDown .tbs-text { + border-bottom: 2px solid; +} +.tbs-icon { + padding-left: 8px; + background: url(../images/tbl_sort_bg.gif) no-repeat 0 50%; +} +.headerSortUp .tbs-icon { + background-image: url(../images/tbl_sort_asc.gif); +} +.headerSortDown .tbs-icon { + background-image: url(../images/tbl_sort_desc.gif); +} +/* ================================================================ * + Misc + * ================================================================ */ +.sf { padding-left: 20px !important; } +.jumpbox { margin: 6px 0; text-align: right; white-space: nowrap; } + +.attachrow { font-size: 11px; border: 1px #A5AFB4 solid; } +.attachheader { font-size: 11px; border: 1px #A5AFB4 solid; background: #D1D7DC; } +.attachtable { font-size: 12px; border: 1px #A5AFB4 solid; border-collapse: collapse; } + +pre, .pre { + font-family: Courier,monospace; font-size: 12px; + border: 1px solid #B7C0C5; background: #F5F5F5; + padding: 4px; margin: 10px; text-align: left; +} +.pre { width:100%; overflow: auto; white-space: nowrap; } + +.ann { font-size: 13px; text-align: center; color: #993300; font-weight: bold; } + +.clickable { cursor: pointer; } +.folded, .folded2 { display: block; + background: transparent url(../images/icon_plus_1.gif) no-repeat left center; padding-left: 14px; } +.unfolded, .unfolded2 { display: block; + background: transparent url(../images/icon_minus_1.gif) no-repeat left center; padding-left: 14px; } +.folded2 { background-image: url(../images/icon_plus_2.gif); } +.unfolded2 { background-image: url(../images/icon_minus_2.gif); } + +.warnColor1 { color: #993300; } +.warnColor2 { color: #FF0000; } +.warnBorder1 { border: 1px solid #A52A2A; } +.warningBox1 { border: 1px solid #A52A2A; color: #993300; padding: 12px; } +.warningBox2 { color: #993300 !important; background: #FFD9B2; border: 2px solid #CC6600; padding: 8px; } + +/* ================================================================ * + Reports + * ================================================================ */ +/* Color pixel */ +div.report_pixel { + height: 1em; + width: 1em; + float: left; + margin-right: 3px +} + +/* Report list colors */ +td.report_cleared, div.report_cleared { + background-color: #7ce380; +} + +td.report_process, div.report_process { + background-color: #ffc267; +} + +td.report_open, div.report_open { + background-color: #f2a0a7; +} + +td.report_new, div.report_new { + background-color: #f88085; +} + +td.report_delete, div.report_delete { + background-color: #9eabb2; +} + +/* Report mode select */ +select.report_mode option { + margin: 1px 0 +} + +select.report_mode optgroup { + background-color: #FFF; + color: #000; + font-style: normal; + font-weight: bold; + margin-left: 3px +} + +select.report_mode optgroup option { + border-left: 1.3em solid; + padding-left: 2px; + margin-left: 1px; +} + +select.report_mode option.report_cleared { + border-color: #1e6731 +} + +select.report_mode option.report_process { + border-color: #e6721b +} + +select.report_mode option.report_open { + border-color: #8b201d +} + +/* ================================================================ * + Shortcuts + * ================================================================ */ +.spacer_0, .spacer_2, .spacer_4, .spacer_6, .spacer_8, .spacer_10, .spacer_12 { + font-size: 0; line-height: 0; } +.spacer_0 { height: 0; } +.spacer_2 { height: 2px; } +.spacer_4 { height: 4px; } +.spacer_6 { height: 6px; } +.spacer_8 { height: 8px; } +.spacer_10 { height: 10px; } +.spacer_12 { height: 12px; } + +.pad_0, .pad_0 td, td.pad_0 { padding: 0; } +.pad_2, .pad_2 td, td.pad_2 { padding: 2px; } +.pad_4, .pad_4 td, td.pad_4 { padding: 4px; } +.pad_6, .pad_6 td, td.pad_6 { padding: 6px; } +.pad_8, .pad_8 td, td.pad_8 { padding: 8px; } +.pad_10, .pad_10 td, td.pad_10 { padding: 10px; } +.pad_12, .pad_12 td, td.pad_12 { padding: 12px; } +.pad_14, .pad_14 td, td.pad_14 { padding: 14px; } +.pad_16, .pad_16 td, td.pad_16 { padding: 16px; } + +.mrg_0 { margin: 0 !important; } +.mrg_2 { margin: 2px !important; } +.mrg_4 { margin: 4px !important; } +.mrg_6 { margin: 6px !important; } +.mrg_8 { margin: 8px !important; } +.mrg_10 { margin: 10px !important; } +.mrg_12 { margin: 12px !important; } +.mrg_14 { margin: 14px !important; } +.mrg_16 { margin: 16px !important; } + +.lh_100 { line-height: 100%; } +.lh_110 { line-height: 110%; } +.lh_120 { line-height: 120%; } +.lh_150 { line-height: 150%; } + +.wAuto { width: auto !important; } /* widthAuto */ +.w50 { width: 50% !important; } +.w60 { width: 60% !important; } +.w70 { width: 70% !important; } +.w80 { width: 80% !important; } +.w85 { width: 85% !important; } +.w90 { width: 90% !important; } +.w95 { width: 95% !important; } +.w100 { width: 100% !important; } + +.border { border: solid #B7C0C5; } +.bw_T { border-width: 1px 0 0 0 !important; } +.bw_TR { border-width: 1px 1px 0 0 !important; } +.bw_TRB { border-width: 1px 1px 1px 0 !important; } +.bw_TRBL { border-width: 1px 1px 1px 1px !important; } +.bw_TB { border-width: 1px 0 1px 0 !important; } +.bw_TBL { border-width: 1px 0 1px 1px !important; } +.bw_TL { border-width: 1px 0 0 1px !important; } +.bw_TRL { border-width: 1px 1px 0 1px !important; } +.bw_R { border-width: 0 1px 0 0 !important; } +.bw_RB { border-width: 0 1px 1px 0 !important; } +.bw_RBL { border-width: 0 1px 1px 1px !important; } +.bw_RL { border-width: 0 1px 0 1px !important; } +.bw_B { border-width: 0 0 1px 0 !important; } +.bw_BL { border-width: 0 0 1px 1px !important; } +.bw_L { border-width: 0 0 0 1px !important; } + +.bCenter { margin-left: auto !important; margin-right: auto !important; } /* blockCenter */ +.bLeft { margin-right: auto !important; } +.block { display: block; } +.bold { font-weight: bold; } +.bRight { margin-left: auto !important; } +.clear { clear: both; height: 0; font-size: 0; line-height: 0; overflow: hidden; } +.clearB { clear: both; } +.floatL { float: left; } +.floatR { float: right; } +.hidden { display: none; } +.inline { display: inline; } +.normal { font-weight: normal; } +.nowrap { white-space: nowrap !important; } +.wrap { white-space: normal !important; } +.strike { text-decoration: line-through; } +.tCenter { text-align: center !important; } /* textCenter */ +.tLeft { text-align: left !important; } +.tRight { text-align: right !important; } +.vBottom { vertical-align: bottom !important; } +.vTop { vertical-align: top !important; } +/* ================================================================ * + YouTube.Panel + * ================================================================ */ +.Panels { + z-index:200; + top:50%; + left:50%; + background-attachment:fixed, scroll; + background: url(../images/aerobg.png), -moz-linear-gradient(top, rgba(200,200,200,0.4) 0%, rgba(255,255,255,1) 100%); + background: url(../images/aerobg.png), -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(200,200,200,0.4)), color-stop(100%,rgba(255,255,255,1))); + background: url(../images/aerobg.png), -webkit-linear-gradient(top, rgba(200,200,200,0.4) 0%,rgba(255,255,255,1) 100%); + background: url(../images/aerobg.png), -o-linear-gradient(top, rgba(200,200,200,0.4) 0%,rgba(255,255,255,1) 100%); + background: url(../images/aerobg.png), -ms-linear-gradient(top, rgba(200,200,200,0.4) 0%,rgba(255,255,255,1) 100%); + filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#66c8c8c8', endColorstr='#ffffff',GradientType=0 ); + background: url(../images/aerobg.png), linear-gradient(top, rgba(200,200,200,0.4) 0%,rgba(255,255,255,1) 100%); + background-size:cover; + -moz-background-size:cover; + -webkit-background-size:cover; + border:1px solid gray; + border-radius:3px; + -moz-border-radius:3px; + -webkit-border-radius:3px; + box-shadow:0 2px 5px rgba(0,0,0,0.3),0 0 1px #FFF inset; + -moz-box-shadow:0 2px 5px rgba(0,0,0,0.3),0 0 1px #FFF inset; + -webkit-box-shadow:0 2px 5px rgba(0,0,0,0.3),0 0 1px #FFF inset; + position:fixed; + max-width:99%; + min-width:100px; + min-height:24px; + overflow:hidden; + margin:1px; +} + +.Panels.Minimized { + position:relative; + top:auto!important; + left:auto!important; + float:left; + max-width:200px; + height:24px!important; + margin:0!important; +} + +.PanelsButton { + float:right; + overflow:hidden; + margin:5px 5px 0 10px; +} + +.PanelsClose { color: #006699; cursor: pointer; } + +.PanelsClose:hover { color: #DD6900; text-decoration: underline !important; } +.PanelsTitle { + overflow:hidden; + white-space:nowrap; + max-height:20px; + font-weight:700; +} + +.Panels.Minimized .PanelsTitle.Hidden { + display:block; +} + +.PanelsTitle,.PanelsMenu { + padding:5px 5px 0; +} + +.Panels.Minimized .PanelsTitle,.Panels.Minimized .PanelsMenu { + cursor:inherit; +} + +.PanelsContent,.PanelsFooter { + border-top:1px dashed #A9A9A9; + clear:both; + margin:5px 0 0; + padding:5px; +} + +#PanelsDock { + bottom:0; + left:0; + position:fixed; + padding:0 0 0 5px; +} + +#PanelsDockToggle { + border:1px solid gray; + box-shadow:0 2px 5px rgba(0,0,0,0.3),0 0 1px #FFF inset; + -moz-box-shadow:0 2px 5px rgba(0,0,0,0.3),0 0 1px #FFF inset; + -webkit-box-shadow:0 2px 5px rgba(0,0,0,0.3),0 0 1px #FFF inset; + float:left; + border-radius:0 3px 3px 0; + -moz-border-radius:0 3px 3px 0; + -webkit-border-radius:0 3px 3px 0; + margin:1px 1px 1px 0; + padding:4px 10px; +} + +.Panels.Minimized .PanelsMenu,.Panels.Minimized .PanelsContent,.Panels.Minimized .PanelsFooter,.PanelsTitle.Hidden,.PanelsMenu.Hidden { + display:none; +} +span.button { + background-image:url(../images/def_button.png); +} + +span.button:hover { + background-image:url(../images/def_button_light.png); +} + +span.YTLink{ + background-color:gray; + border:1px solid #333333; + display:inline-block; + font-weight:bold; + padding:2px 2px 2px 5px; + margin:1px 2px -6px; + border-radius:3px; + -moz-border-radius:3px; + -webkit-border-radius:3px; +} +span.YTLinkButton{ + background-color:#008500; + border:1px solid #333333; + color:white; + display:inline-block; + float:right; + margin:-3px -3px -3px 4px; + padding:2px 4px; + -webkit-border-top-right-radius: 3px; + -webkit-border-bottom-right-radius: 3px; + -moz-border-radius-topright: 3px; + -moz-border-radius-bottomright: 3px; + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; + cursor: url(../images/link_help.cur), pointer; +} +span.YTLink a.postLink{ + color:white; + float:left; +} + +span#autocomplete { + cursor: pointer; + color: #006699; + font: 12px Arial,sans-serif; +} + +div#autocomplete_popup { + position: fixed; + z-index: 999; + width: 300px; + height: 100px; + background: #FFFFFF; + text-align: center; + display: none; + border: 1px solid #B7C0C5; +} + +div#autocomplete_popup div.relative { + position: relative; + width: 300px; + height: 100px; +} + +div#autocomplete_popup div.title { + background: url("../images/cellpic1.gif") repeat-x scroll 0 0 #1C508C; + color: #D5E4EC; + font-size: 11px; + font-weight: bold; + padding: 6px 8px 7px; +} + +div#autocomplete_popup div.close { + position: absolute; + right: 7px; + cursor: pointer; + top: 7px; + color: red; + font-weight: bold; + width: 12px; + height: 12px; + background: url("../../../images/bad.gif") transparent no-repeat; +} + +div#autocomplete_popup input { + font-size: 16px; + margin: 20px 0 0; + width: 83px; +} + +div#autocomplete_popup span.regenerate { + width: 16px; + height: 16px; + margin: 24px 0 0 8px; + background: url("../../../images/pic_loading.gif") transparent no-repeat; + cursor: pointer; + display: inline-block; +} +/* ================================================================ * + Alert + * ================================================================ */ +.alert { + padding: 8px 15px; + margin: 20px auto; + border: 1px solid transparent; + border-radius: 4px; +} +.alert h4 { + margin-top: 0; + color: inherit; + font-size: 14px !important; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin: 0 0 1px 15px; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable { + padding-right: 35px; +} +.alert-dismissable .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #f0d575; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} + +/** + * Alert theme + **/ +.alert { + text-shadow: 0 1px 0 rgba(255, 255, 255, .2); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); +} +.alert-success { + background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); + background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0); + background-repeat: repeat-x; + border-color: #b2dba1; +} +.alert-info { + background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%); + background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0); + background-repeat: repeat-x; + border-color: #9acfea; +} +.alert-warning { + background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); + background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0); + background-repeat: repeat-x; + border-color: #f0d575; +} +.alert-danger { + background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); + background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0); + background-repeat: repeat-x; + border-color: #dca7a7; } \ No newline at end of file diff --git a/upload/templates/default/modcp.tpl b/upload/templates/default/modcp.tpl index fcf9d3fb4..d34e8923f 100644 --- a/upload/templates/default/modcp.tpl +++ b/upload/templates/default/modcp.tpl @@ -1,127 +1,127 @@ -

    {PAGE_TITLE}

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    {L_IP_INFO}
    {L_THIS_POSTS_IP}
    -

    {IP}

    -

    [ {L_LOOKUP_IP}

    -
    {L_USERS_THIS_IP}
    -

    {userrow.USERNAME}

    -

    [ {L_POSTS}: {userrow.POSTS} ]

    -

    [ {L_SEARCH_USER_POSTS_SHORT}

    -
    {L_OTHER_IP_THIS_USER}
    -

    {iprow.IP}

    -

    [ {L_POSTS}: {iprow.POSTS} ]

    -

    [ {L_LOOKUP_IP}

    -
    - - - - - - - -
    -{S_HIDDEN_FIELDS} - - - - - - - - -
    {MESSAGE_TITLE}
    - -
    - - - - - -
    {L_MOVE_TO_FORUM} -

    {S_FORUM_SELECT}

    -
    -
    - - -
    - - - - -
    - -

    - - -

    - -
    -
    - - -

    {MESSAGE_TEXT}

    - - - - - - -
    -
    • {TOPIC_TITLES}
    -
    - - -
    -   - -
    - -
    - -
    - - - - -
    - -
    - -
    -

    {CURRENT_TIME}

    -

    {S_TIMEZONE}

    -
    -
    - +

    {PAGE_TITLE}

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {L_IP_INFO}
    {L_THIS_POSTS_IP}
    +

    {IP}

    +

    [ {L_LOOKUP_IP}

    +
    {L_USERS_THIS_IP}
    +

    {userrow.USERNAME}

    +

    [ {L_POSTS}: {userrow.POSTS} ]

    +

    [ {L_SEARCH_USER_POSTS_SHORT}

    +
    {L_OTHER_IP_THIS_USER}
    +

    {iprow.IP}

    +

    [ {L_POSTS}: {iprow.POSTS} ]

    +

    [ {L_LOOKUP_IP}

    +
    + + + + + + + +
    +{S_HIDDEN_FIELDS} + + + + + + + + +
    {MESSAGE_TITLE}
    + +
    + + + + + +
    {L_MOVE_TO_FORUM} +

    {S_FORUM_SELECT}

    +
    +
    + + +
    + + + + +
    + +

    + + +

    + +
    +
    + + +

    {MESSAGE_TEXT}

    + + + + + + +
    +
    • {TOPIC_TITLES}
    +
    + + +
    +   + +
    + +
    + +
    + + + + +
    + +
    + +
    +

    {CURRENT_TIME}

    +

    {S_TIMEZONE}

    +
    +
    +
    \ No newline at end of file diff --git a/upload/templates/default/posting_tpl.tpl b/upload/templates/default/posting_tpl.tpl index cdecc39eb..792d9f659 100644 --- a/upload/templates/default/posting_tpl.tpl +++ b/upload/templates/default/posting_tpl.tpl @@ -1,4852 +1,4852 @@ - - - - -

    {FORUM_NAME}

    - - - - -
    - - - -
    - - - - - - - - - -
    Правила оформления
    -
    {TPL_RULES_HTML}
    -
    -
    -
    - - - - - --- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    Создание шаблона для релиза
    -
    -
    - - -
    название: [?]
    - -
    - -
    - - - - -
    -
    -
    -
    -

    сообщение: [?]

    - -
    -
    -
    -
    -
    [ Инструкция ]
    - -
    -
    - - -
    -
    - - - - -
    -
    - - - - - - - - - - - - - - - -
    - -
    - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - -
    - - - - -
    - + + + + +

    {FORUM_NAME}

    + + + + +
    + + + +
    + + + + + + + + + +
    Правила оформления
    +
    {TPL_RULES_HTML}
    +
    +
    +
    + + + + + +++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    Создание шаблона для релиза
    +
    +
    + + +
    название: [?]
    + +
    + +
    + + + + +
    +
    +
    +
    +

    сообщение: [?]

    + +
    +
    +
    +
    +
    [ Инструкция ]
    + +
    +
    + + +
    +
    + + + + +
    +
    + + + + + + + + + + + + + + + +
    + +
    + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + +
    + + + + +
    + \ No newline at end of file diff --git a/upload/templates/default/usercp_bonus.tpl b/upload/templates/default/usercp_bonus.tpl index fb4f168b2..8cc1a7596 100644 --- a/upload/templates/default/usercp_bonus.tpl +++ b/upload/templates/default/usercp_bonus.tpl @@ -1,53 +1,53 @@ - -{PAGE_TITLE} - - - - - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - -
    {MY_BONUS}
    {L_DESCRIPTION}{L_PRICE}{L_BONUS_SELECT}
    {bonus_upload.DESC}{bonus_upload.PRICE}
    - -
    - -
    - - -
    - -
    - -
    -

    {CURRENT_TIME}

    -

    {S_TIMEZONE}

    -
    -
    - + +{PAGE_TITLE} + + + + + +
    + +
    + + + + + + + + + + + + + + + + + + + + + + +
    {MY_BONUS}
    {L_DESCRIPTION}{L_PRICE}{L_BONUS_SELECT}
    {bonus_upload.DESC}{bonus_upload.PRICE}
    + +
    + +
    + + +
    + +
    + +
    +

    {CURRENT_TIME}

    +

    {S_TIMEZONE}

    +
    +
    +
    \ No newline at end of file diff --git a/upload/templates/default/usercp_topic_watch.tpl b/upload/templates/default/usercp_topic_watch.tpl index 1ba5e7ea4..be0c3c52c 100644 --- a/upload/templates/default/usercp_topic_watch.tpl +++ b/upload/templates/default/usercp_topic_watch.tpl @@ -1,127 +1,127 @@ - - - - - - - - - - - - - - - - - -
    -

    {PAGE_TITLE}

    - -
    {PAGINATION}
    - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +
    {L_FORUM}{L_TOPIC}{L_AUTHOR}{L_REPLIES}{L_LASTPOST}
    - {watch.TOPIC_ICON} - - {watch.FORUM_TITLE} - {watch.TOPIC_TITLE} -
     [{ICON_GOTOPOST}{L_GOTO_SHORT} {watch.PAGINATION} ] -
    {watch.AUTHOR}{watch.REPLIES} - {watch.LAST_POST}{ICON_NEWEST_REPLY} - {ICON_LATEST_REPLY} -
    - {L_DEL_LIST_INFO}{MATCHES} -
    +
    + +
    + +
    + + + + + + + + + + + + +
    +

    {PAGE_TITLE}

    + +
    {PAGINATION}
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {L_FORUM}{L_TOPIC}{L_AUTHOR}{L_REPLIES}{L_LASTPOST}
    + {watch.TOPIC_ICON} + + {watch.FORUM_TITLE} + {watch.TOPIC_TITLE} +
     [{ICON_GOTOPOST}{L_GOTO_SHORT} {watch.PAGINATION} ] +
    {watch.AUTHOR}{watch.REPLIES} + {watch.LAST_POST}{ICON_NEWEST_REPLY} + {ICON_LATEST_REPLY} +
    + {L_DEL_LIST_INFO}{MATCHES} +
    \ No newline at end of file diff --git a/upload/templates/default/viewtopic.tpl b/upload/templates/default/viewtopic.tpl index 749c0d599..fadfed052 100644 --- a/upload/templates/default/viewtopic.tpl +++ b/upload/templates/default/viewtopic.tpl @@ -1,637 +1,637 @@ - - - - - - - - - - - - - - - -
    - -

    - {TOPIC_TITLE} - - - - - - -

    - - -

    {PAGINATION}

    - - - - - - - -
    - {T_POST_REPLY} -
    - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - -
    - {L_MODERATE_TOPIC}{L_MODERATE_TOPIC} -  |  - {PIN_TITLE} - |{L_SELECT_POSTS_PER_PAGE} -
    {SELECT_PPP}
    -
    -   - - {L_SEARCH_SELF}  |  - {L_DISPLAYING_OPTIONS} - - -
    - - -
    -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    {L_AUTHOR}{L_MESSAGE}
    - - -

    {postrow.POSTER_NAME}

    -

    {postrow.POSTER_AVATAR}

    - - -

    - {postrow.POSTER_NAME} ® -

    - -

    {postrow.POSTER_NAME} ®

    - - -

    {postrow.POSTER_RANK}

    -

    {postrow.RANK_IMAGE}

    -

    {postrow.POSTER_AVATAR}

    -

    {L_GENDER}: {postrow.POSTER_GENDER}

    -

    {L_LONGEVITY}: {postrow.POSTER_JOINED}

    -

    {L_POSTS}: {postrow.POSTER_POSTS}

    -

    {L_LOCATION}: {postrow.POSTER_FROM}

    - -

    {postrow.POSTER_BIRTHDAY}

    - - -

    - -
    - -
    -

    - {MINIPOST_IMG_NEW}{MINIPOST_IMG} - {postrow.POST_DATE} - - ({L_POSTED_AFTER} {postrow.POSTED_AFTER}) - -

    - - - -

    - {POLL_IMG} - {QUOTE_IMG}{POST_BTN_SPACER} - {EDIT_POST_IMG}{POST_BTN_SPACER} - {DELETE_POST_IMG}{POST_BTN_SPACER} - {IP_POST_IMG}{POST_BTN_SPACER} - {postrow.REPORT}{POST_BTN_SPACER} - - {MC_IMG}{POST_BTN_SPACER} - {MOD_POST_IMG}{POST_BTN_SPACER} - -

    -
    -
    - -
    -
    - - {postrow.MESSAGE} -
    style="display: none;"> -
    -

    {postrow.MC_TITLE}


    -
    {postrow.MC_COMMENT}
    -
    -
    - {postrow.ATTACHMENTS} -
    - {postrow.SIGNATURE} -
    {postrow.EDITED_MESSAGE}
    -
    - - - - - -
    - - -   - -
    - {PROFILE_IMG}{POST_BTN_SPACER} - {PM_IMG}{POST_BTN_SPACER} -
    - - -
    - - - - - - - - -
    - - -
    - - - - - - - - - - - - - -
    {L_QUICK_REPLY}
    - -
    - -

    {L_QR_USERNAME}:

    - -
    - -
    -
    - -
    - -
    - -
    - - - - - - -
    -
    - {L_DISPLAY_POSTS}: {S_SELECT_POST_DAYS}  - {S_SELECT_POST_ORDER}  - -
    -
    - - - - - - -
    - {T_POST_REPLY} -
    - - -
    - -
    - -
    -

    {CURRENT_TIME}

    -

    {S_TIMEZONE}

    -
    -
    - -
    - - - - - + + + + + + + + + + + + + + + +
    + +

    + {TOPIC_TITLE} + + + + + + +

    + + +

    {PAGINATION}

    + + +
    {S_WATCH_TOPIC}
    -
    - -
    -
    {S_TOPIC_ADMIN}
    - - -
    - Admin:  - {L_LOGS}  -
    - - -
    -
    {S_DL_DELETE}
    - -
    -
    {S_AUTH_LIST}
    -
    -
    + + + + +
    + {T_POST_REPLY} +
    + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + +
    + {L_MODERATE_TOPIC}{L_MODERATE_TOPIC} +  |  + {PIN_TITLE} + |{L_SELECT_POSTS_PER_PAGE} +
    {SELECT_PPP}
    +
    +   + + {L_SEARCH_SELF}  |  + {L_DISPLAYING_OPTIONS} + + +
    + + +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    {L_AUTHOR}{L_MESSAGE}
    + + +

    {postrow.POSTER_NAME}

    +

    {postrow.POSTER_AVATAR}

    + + +

    + {postrow.POSTER_NAME} ® +

    + +

    {postrow.POSTER_NAME} ®

    + + +

    {postrow.POSTER_RANK}

    +

    {postrow.RANK_IMAGE}

    +

    {postrow.POSTER_AVATAR}

    +

    {L_GENDER}: {postrow.POSTER_GENDER}

    +

    {L_LONGEVITY}: {postrow.POSTER_JOINED}

    +

    {L_POSTS}: {postrow.POSTER_POSTS}

    +

    {L_LOCATION}: {postrow.POSTER_FROM}

    + +

    {postrow.POSTER_BIRTHDAY}

    + + +

    + +
    + +
    +

    + {MINIPOST_IMG_NEW}{MINIPOST_IMG} + {postrow.POST_DATE} + + ({L_POSTED_AFTER} {postrow.POSTED_AFTER}) + +

    + + + +

    + {POLL_IMG} + {QUOTE_IMG}{POST_BTN_SPACER} + {EDIT_POST_IMG}{POST_BTN_SPACER} + {DELETE_POST_IMG}{POST_BTN_SPACER} + {IP_POST_IMG}{POST_BTN_SPACER} + {postrow.REPORT}{POST_BTN_SPACER} + + {MC_IMG}{POST_BTN_SPACER} + {MOD_POST_IMG}{POST_BTN_SPACER} + +

    +
    +
    + +
    +
    + + {postrow.MESSAGE} +
    style="display: none;"> +
    +

    {postrow.MC_TITLE}


    +
    {postrow.MC_COMMENT}
    +
    +
    + {postrow.ATTACHMENTS} +
    + {postrow.SIGNATURE} +
    {postrow.EDITED_MESSAGE}
    +
    + + + + + +
    + + +   + +
    + {PROFILE_IMG}{POST_BTN_SPACER} + {PM_IMG}{POST_BTN_SPACER} +
    + + +
    + + + + + + + + +
    + + +
    + + + + + + + + + + + + + +
    {L_QUICK_REPLY}
    + +
    + +

    {L_QR_USERNAME}:

    + +
    + +
    +
    + +
    + +
    + +
    + + + + + + +
    +
    + {L_DISPLAY_POSTS}: {S_SELECT_POST_DAYS}  + {S_SELECT_POST_ORDER}  + +
    +
    + + + + + + +
    + {T_POST_REPLY} +
    + + +
    + +
    + +
    +

    {CURRENT_TIME}

    +

    {S_TIMEZONE}

    +
    +
    + +
    + + + + +
    {S_WATCH_TOPIC}
    +
    + +
    +
    {S_TOPIC_ADMIN}
    + + +
    + Admin:  + {L_LOGS}  +
    + + +
    +
    {S_DL_DELETE}
    + +
    +
    {S_AUTH_LIST}
    +
    +
    \ No newline at end of file diff --git a/upload/viewforum.php b/upload/viewforum.php index 6a76065bf..219e3aace 100644 --- a/upload/viewforum.php +++ b/upload/viewforum.php @@ -1,594 +1,594 @@ -session_start(); - -$lastvisit = (IS_GUEST) ? TIMENOW : $userdata['user_lastvisit']; - -// Caching output -$req_page = "forum_f{$forum_id}"; -$req_page .= ($start) ? "_start{$start}" : ''; - -define('REQUESTED_PAGE', $req_page); -caching_output(IS_GUEST, 'send', REQUESTED_PAGE .'_guest'); - -set_die_append_msg(); -if (!$forums = $datastore->get('cat_forums')) -{ - $datastore->update('cat_forums'); - $forums = $datastore->get('cat_forums'); -} -if (!$forum_id OR !$forum_data = @$forums['forum'][$forum_id]) -{ - bb_die($lang['FORUM_NOT_EXIST']); -} - -// Only new -$only_new = $user->opt_js['only_new']; -$only_new_sql = ''; -if ($only_new == ONLY_NEW_POSTS) -{ - $only_new_sql = "AND t.topic_last_post_time > $lastvisit"; -} -elseif ($only_new == ONLY_NEW_TOPICS) -{ - $only_new_sql = "AND t.topic_time > $lastvisit"; -} - -// Auth -$is_auth = auth(AUTH_ALL, $forum_id, $userdata, $forum_data); - -$moderation = (!empty($_REQUEST['mod']) && $is_auth['auth_mod']); - -if (!$is_auth['auth_view']) -{ - if (IS_GUEST) - { - $redirect = "f=$forum_id"; - $redirect .= ($start) ? "&start=$start" : ''; - redirect(LOGIN_URL . "?redirect=viewforum.php&$redirect"); - } - // The user is not authed to read this forum ... - $message = sprintf($lang['SORRY_AUTH_VIEW'], $is_auth['auth_view_type']); - bb_die($message); -} - -// Redirect to login page if not admin session -$mod_redirect_url = ''; - -// Filter by torrent status -$tor_status = -1; // all by default - -if ($is_auth['auth_mod']) -{ - $redirect = isset($_POST['redirect']) ? $_POST['redirect'] : @$_SERVER['REQUEST_URI']; - $redirect = url_arg($redirect, 'mod', 1, '&'); - $mod_redirect_url = LOGIN_URL . "?redirect=$redirect&admin=1"; - - if ($moderation && !$userdata['session_admin']) - { - redirect($mod_redirect_url); - } - if (isset($_REQUEST['tst']) && $_REQUEST['tst'] != -1) - { - $tor_status = (int) $_REQUEST['tst']; - // reset other req values - unset($_REQUEST['sort'], $_REQUEST['order'], $_REQUEST[$title_match_key]); - $show_type_separator = false; - } - $select_tst = array_merge(array($lang['TOR_STATUS_SELECT_ALL'] => -1), array_flip($lang['TOR_STATUS_NAME'])); - $template->assign_vars(array( - 'SELECT_TST' => build_select('tst', $select_tst, $tor_status), - )); - $select_st = array_merge(array($lang['TOR_STATUS_SELECT_ACTION'] => -1), array_flip($lang['TOR_STATUS_NAME'])); - $template->assign_vars(array( - 'SELECT_ST' => build_select('st', $select_st, -1), - )); -} - -// Topics read tracks -$tracking_topics = get_tracks('topic'); -$tracking_forums = get_tracks('forum'); - -if ($mark_read && !IS_GUEST) -{ - set_tracks(COOKIE_FORUM, $tracking_forums, $forum_id); - - set_die_append_msg($forum_id); - $message = $lang['TOPICS_MARKED_READ']; - bb_die($message); -} - -// Subforums -$show_subforums = ($bb_cfg['sf_on_first_page_only']) ? !$start : true; - -if (!$forums = $datastore->get('cat_forums')) -{ - $datastore->update('cat_forums'); - $forums = $datastore->get('cat_forums'); -} - -if($forums['forum'][$forum_id]['allow_porno_topic'] && bf($userdata['user_opt'], 'user_opt', 'user_porn_forums')) bb_die($lang['ERROR_PORNO_FORUM']); - -if (!$forum_data['forum_parent'] && isset($forums['f'][$forum_id]['subforums']) && $show_subforums) -{ - $not_auth_forums = $user->get_excluded_forums(AUTH_VIEW); - $ignore_forum_sql = ($not_auth_forums) ? "AND f.forum_id NOT IN($not_auth_forums)" : ''; - - $sql = " - SELECT - f.forum_id, f.forum_status, f.forum_last_post_id, f.forum_posts, f.forum_topics, - t.topic_last_post_time, t.topic_id AS last_topic_id, t.topic_title AS last_topic_title, - p.poster_id AS sf_last_user_id, IF(p.poster_id = $anon, p.post_username, u.username) AS sf_last_username, u.user_rank - FROM ". BB_FORUMS ." f - LEFT JOIN ". BB_TOPICS ." t ON(f.forum_last_post_id = t.topic_last_post_id) - LEFT JOIN ". BB_POSTS ." p ON(f.forum_last_post_id = p.post_id) - LEFT JOIN ". BB_USERS ." u ON(p.poster_id = u.user_id) - WHERE f.forum_parent = $forum_id - $only_new_sql - $ignore_forum_sql - GROUP BY f.forum_id - ORDER BY f.forum_order - "; - - if ($rowset = DB()->fetch_rowset($sql)) - { - $template->assign_vars(array( - 'SHOW_SUBFORUMS' => true, - 'FORUM_IMG' => $images['forum'], - 'FORUM_NEW_IMG' => $images['forum_new'], - 'FORUM_LOCKED_IMG' => $images['forum_locked'], - )); - } - foreach ($rowset as $sf_data) - { - $sf_forum_id = $sf_data['forum_id']; - $sf_last_tid = $sf_data['last_topic_id']; - $folder_image = $images['forum']; - $last_post = $lang['NO_POSTS']; - - if (!$fname_html =& $forums['forum_name_html'][$sf_forum_id]) - { - continue; - } - - if ($sf_data['forum_status'] == FORUM_LOCKED) - { - $folder_image = $images['forum_locked']; - } - elseif (is_unread($sf_data['topic_last_post_time'], $sf_last_tid, $sf_forum_id)) - { - $folder_image = $images['forum_new']; - } - - $last_post_user = profile_url(array('username' => $sf_data['sf_last_username'], 'user_id' => $sf_data['sf_last_user_id'], 'user_rank' => $sf_data['user_rank'])); - - if ($sf_data['forum_last_post_id']) - { - $last_post = bb_date($sf_data['topic_last_post_time'], $bb_cfg['last_post_date_format']); - $last_post .= "
    $last_post_user"; - $last_post .= 'latest'; - } - - $template->assign_block_vars('f', array( - 'FORUM_FOLDER_IMG' => $folder_image, - - 'FORUM_NAME' => $fname_html, - 'FORUM_DESC' => $forums['f'][$sf_forum_id]['forum_desc'], - 'U_VIEWFORUM' => FORUM_URL . $sf_forum_id, - 'TOPICS' => commify($sf_data['forum_topics']), - 'POSTS' => commify($sf_data['forum_posts']), - 'LAST_POST' => $last_post, - )); - - if ($sf_data['forum_last_post_id']) - { - $template->assign_block_vars('f.last', array( - 'FORUM_LAST_POST' => true, - 'SHOW_LAST_TOPIC' => $show_last_topic, - 'LAST_TOPIC_ID' => $sf_data['last_topic_id'], - 'LAST_TOPIC_TIP' => $sf_data['last_topic_title'], - 'LAST_TOPIC_TITLE' => str_short($sf_data['last_topic_title'], $last_topic_max_len), - 'LAST_POST_TIME' => bb_date($sf_data['topic_last_post_time'], $bb_cfg['last_post_date_format']), - 'LAST_POST_ID' => $sf_data['forum_last_post_id'], - 'LAST_POST_USER' => $last_post_user, - 'ICON_LATEST_REPLY' => $images['icon_latest_reply'], - )); - } - else - { - $template->assign_block_vars('f.last', array('FORUM_LAST_POST' => false)); - } - } -} -unset($rowset); -$datastore->rm('cat_forums'); - -// Topics per page -$topics_per_page = $bb_cfg['topics_per_page']; -$select_tpp = ''; - -if ($is_auth['auth_mod']) -{ - if ($req_tpp = abs(intval(@$_REQUEST['tpp'])) AND in_array($req_tpp, $bb_cfg['allowed_topics_per_page'])) - { - $topics_per_page = $req_tpp; - } - - $select_tpp = array(); - foreach ($bb_cfg['allowed_topics_per_page'] as $tpp) - { - $select_tpp[$tpp] = $tpp; - } -} - -// Generate a 'Show topics in previous x days' select box. -$topic_days = 0; // all the time -$forum_topics = $forum_data['forum_topics']; - -$sel_previous_days = array( - 0 => $lang['ALL_POSTS'], - 1 => $lang['1_DAY'], - 7 => $lang['7_DAYS'], - 14 => $lang['2_WEEKS'], - 30 => $lang['1_MONTH'], - 90 => $lang['3_MONTHS'], - 180 => $lang['6_MONTHS'], - 364 => $lang['1_YEAR'], -); - -if (!empty($_REQUEST['topicdays'])) -{ - if ($req_topic_days = abs(intval($_REQUEST['topicdays'])) AND isset($sel_previous_days[$req_topic_days])) - { - $sql = " - SELECT COUNT(*) AS forum_topics - FROM ". BB_TOPICS ." - WHERE forum_id = $forum_id - AND topic_last_post_time > ". (TIMENOW - 86400*$req_topic_days) ." - "; - - if ($row = DB()->fetch_row($sql)) - { - $topic_days = $req_topic_days; - $forum_topics = $row['forum_topics']; - } - } -} -// Correct $start value -if ($start > $forum_topics) -{ - redirect("viewforum.php?f=$forum_id"); -} - -// Generate SORT and ORDER selects -$sort_value = isset($_REQUEST['sort']) ? (int) $_REQUEST['sort'] : $forum_data['forum_display_sort']; -$order_value = isset($_REQUEST['order']) ? (int) $_REQUEST['order'] : $forum_data['forum_display_order']; -$sort_list = ''; -$order_list = ''; -$s_display_order = ' '. $lang['SORT_BY'] .': '. $sort_list .' '. $order_list .' '; - -// Selected SORT and ORDER methods -$sort_method = get_forum_display_sort_option($sort_value, 'field', 'sort'); -$order_method = get_forum_display_sort_option($order_value, 'field', 'order'); - -$order_sql = "ORDER BY t.topic_type DESC, $sort_method $order_method"; - -$limit_topics_time_sql = ($topic_days) ? "AND t.topic_last_post_time > ". (TIMENOW - 86400*$topic_days) : ''; - -$select_tor_sql = $join_tor_sql = ''; -$join_dl = ($bb_cfg['show_dl_status_in_forum'] && !IS_GUEST); - -$where_tor_sql = ''; -if ($forum_data['allow_reg_tracker']) -{ - if ($tor_status != -1) - { - $where_tor_sql = "AND tor.tor_status = $tor_status"; - } - - $select_tor_sql = ', - bt.auth_key, tor.info_hash, tor.size AS tor_size, tor.reg_time, tor.complete_count, tor.seeder_last_seen, tor.attach_id, tor.tor_status, tor.tor_type, - sn.seeders, sn.leechers - '; - $select_tor_sql .= ($join_dl) ? ', dl.user_status AS dl_status' : ''; - - $join_tor_sql = " - LEFT JOIN ". BB_BT_TORRENTS ." tor ON(t.topic_id = tor.topic_id) - LEFT JOIN ". BB_BT_USERS ." bt ON(bt.user_id = {$userdata['user_id']}) - LEFT JOIN ". BB_BT_TRACKER_SNAP ." sn ON(tor.topic_id = sn.topic_id) - "; - $join_tor_sql .= ($join_dl) ? " LEFT JOIN ". BB_BT_DLSTATUS ." dl ON(dl.user_id = {$userdata['user_id']} AND dl.topic_id = t.topic_id)" : ''; -} - -// Title match -$title_match_sql = ''; - -if ($title_match =& $_REQUEST[$title_match_key]) -{ - if ($tmp = mb_substr(trim($title_match), 0, $title_match_max_len)) - { - $title_match_val = clean_text_match($tmp, true, false, false); - $title_match_topics = get_title_match_topics($title_match_val, array(0 => $forum_id)); - - if ($search_match_topics_csv = join(',', $title_match_topics)) - { - $title_match_sql = "AND t.topic_id IN($search_match_topics_csv)"; - } - } -} - -// Get topics -$topic_ids = $topic_rowset = array(); - -// IDs -$sql = " - SELECT t.topic_id - FROM ". BB_TOPICS ." t - WHERE t.forum_id = $forum_id - $only_new_sql - $title_match_sql - $limit_topics_time_sql - $order_sql - LIMIT $start, $topics_per_page -"; -foreach (DB()->fetch_rowset($sql) as $row) -{ - $topic_ids[] = $row['topic_id']; -} - -// Titles, posters etc. -if ($topics_csv = join(',', $topic_ids)) -{ - $topic_rowset = DB()->fetch_rowset(" - SELECT - t.*, t.topic_poster AS first_user_id, u1.user_rank as first_user_rank, - IF(t.topic_poster = $anon, p1.post_username, u1.username) AS first_username, - p2.poster_id AS last_user_id, u2.user_rank as last_user_rank, - IF(p2.poster_id = $anon, p2.post_username, u2.username) AS last_username - $select_tor_sql - FROM ". BB_TOPICS ." t - LEFT JOIN ". BB_POSTS ." p1 ON(t.topic_first_post_id = p1.post_id) - LEFT JOIN ". BB_USERS ." u1 ON(t.topic_poster = u1.user_id) - LEFT JOIN ". BB_POSTS ." p2 ON(t.topic_last_post_id = p2.post_id) - LEFT JOIN ". BB_USERS ." u2 ON(p2.poster_id = u2.user_id) - $join_tor_sql - WHERE t.topic_id IN($topics_csv) - $where_tor_sql - GROUP BY t.topic_id - $order_sql - "); -} - -// Define censored word matches -$orig_word = $replacement_word = array(); -obtain_word_list($orig_word, $replacement_word); - -if($forum_data['allow_reg_tracker']) -{ - $post_new_topic_url = POSTING_URL . "?mode=new_rel&f=$forum_id"; - $post_img = $images['release_new']; - $post_new_topic = $lang['POST_NEW_RELEASE']; -} -else -{ - $post_new_topic_url = POSTING_URL . "?mode=newtopic&f=$forum_id"; - $post_img = $images['post_new']; - $post_new_topic = $lang['POST_NEW_TOPIC']; -} - -// Post URL generation for templating vars -$template->assign_vars(array( - 'U_POST_NEW_TOPIC' => $post_new_topic_url, - 'S_SELECT_TOPIC_DAYS' => build_select('topicdays', array_flip($sel_previous_days), $topic_days), - 'S_POST_DAYS_ACTION' => "viewforum.php?f=$forum_id&start=$start", - 'S_DISPLAY_ORDER' => $s_display_order, -)); - -// User authorisation levels output -$u_auth = array(); -$u_auth[] = ($is_auth['auth_post']) ? $lang['RULES_POST_CAN'] : $lang['RULES_POST_CANNOT']; -$u_auth[] = ($is_auth['auth_reply']) ? $lang['RULES_REPLY_CAN'] : $lang['RULES_REPLY_CANNOT']; -$u_auth[] = ($is_auth['auth_edit']) ? $lang['RULES_EDIT_CAN'] : $lang['RULES_EDIT_CANNOT']; -$u_auth[] = ($is_auth['auth_delete']) ? $lang['RULES_DELETE_CAN'] : $lang['RULES_DELETE_CANNOT']; -$u_auth[] = ($is_auth['auth_vote']) ? $lang['RULES_VOTE_CAN'] : $lang['RULES_VOTE_CANNOT']; -$u_auth[] = ($is_auth['auth_attachments']) ? $lang['RULES_ATTACH_CAN'] : $lang['RULES_ATTACH_CANNOT']; -$u_auth[] = ($is_auth['auth_download']) ? $lang['RULES_DOWNLOAD_CAN'] : $lang['RULES_DOWNLOAD_CANNOT']; -$u_auth[] = ($is_auth['auth_mod']) ? $lang['RULES_MODERATE'] : ''; -$u_auth = join("
    \n", $u_auth); - -$template->assign_vars(array( - 'SHOW_JUMPBOX' => true, - 'PAGE_TITLE' => htmlCHR($forum_data['forum_name']), - 'FORUM_ID' => $forum_id, - 'FORUM_NAME' => htmlCHR($forum_data['forum_name']), - 'TORRENTS' => $forum_data['allow_reg_tracker'], - 'POST_IMG' => ($forum_data['forum_status'] == FORUM_LOCKED) ? $images['post_locked'] : $post_img, - - 'FOLDER_IMG' => $images['folder'], - 'FOLDER_NEW_IMG' => $images['folder_new'], - 'FOLDER_LOCKED_IMG' => $images['folder_locked'], - 'FOLDER_STICKY_IMG' => $images['folder_sticky'], - 'FOLDER_ANNOUNCE_IMG' => $images['folder_announce'], - 'FOLDER_DOWNLOAD_IMG' => $images['folder_dl'], - - 'SHOW_ONLY_NEW_MENU' => true, - 'ONLY_NEW_POSTS_ON' => ($only_new == ONLY_NEW_POSTS), - 'ONLY_NEW_TOPICS_ON' => ($only_new == ONLY_NEW_TOPICS), - - 'TITLE_MATCH' => htmlCHR($title_match), - 'SELECT_TPP' => ($select_tpp) ? build_select('tpp', $select_tpp, $topics_per_page, null, null, 'onchange="$(\'#tpp\').submit();"') : '', - 'T_POST_NEW_TOPIC' => ($forum_data['forum_status'] == FORUM_LOCKED) ? $lang['FORUM_LOCKED'] : $post_new_topic, - 'S_AUTH_LIST' => $u_auth, - 'U_VIEW_FORUM' => FORUM_URL . $forum_id, - 'U_MARK_READ' => FORUM_URL . $forum_id ."&mark=topics", - 'U_SEARCH_SELF' => "search.php?uid={$userdata['user_id']}&f=$forum_id", -)); - -// Okay, lets dump out the page ... -$found_topics = 0; -foreach ($topic_rowset as $topic) -{ - $topic_id = $topic['topic_id']; - $moved = ($topic['topic_status'] == TOPIC_MOVED); - $replies = $topic['topic_replies']; - $t_hot = ($replies >= $bb_cfg['hot_threshold']); - $t_type = $topic['topic_type']; - $separator = ''; - $is_unread = is_unread($topic['topic_last_post_time'], $topic_id, $forum_id); - - if ($t_type == POST_ANNOUNCE && !defined('ANNOUNCE_SEP')) - { - define('ANNOUNCE_SEP', true); - $separator = $lang['TOPICS_ANNOUNCEMENT']; - } - elseif ($t_type == POST_STICKY && !defined('STICKY_SEP')) - { - define('STICKY_SEP', true); - $separator = $lang['TOPICS_STICKY']; - } - elseif ($t_type == POST_NORMAL && !defined('NORMAL_SEP')) - { - if (defined('ANNOUNCE_SEP') || defined('STICKY_SEP')) - { - define('NORMAL_SEP', true); - $separator = $lang['TOPICS_NORMAL']; - } - } - - // Gold/Silver releases mod - $is_gold = ''; - if ($tr_cfg['gold_silver_enabled'] && isset($topic['tor_type'])) - { - if ($topic['tor_type'] == TOR_TYPE_GOLD) - { - $is_gold = ' '; - } - elseif ($topic['tor_type'] == TOR_TYPE_SILVER) - { - $is_gold = ' '; - } - } - // END Gold/Silver releases mod - - $template->assign_block_vars('t', array( - 'FORUM_ID' => $forum_id, - 'TOPIC_ID' => $topic_id, - 'HREF_TOPIC_ID' => ($moved) ? $topic['topic_moved_id'] : $topic['topic_id'], - 'TOPIC_TITLE' => wbr($topic['topic_title']), - 'TOPICS_SEPARATOR' => $separator, - 'IS_UNREAD' => $is_unread, - 'TOPIC_ICON' => get_topic_icon($topic, $is_unread), - 'PAGINATION' => ($moved) ? '' : build_topic_pagination(TOPIC_URL . $topic_id, $replies, $bb_cfg['posts_per_page']), - 'REPLIES' => $replies, - 'VIEWS' => $topic['topic_views'], - 'TOR_STALED' => ($forum_data['allow_reg_tracker'] && !($t_type == POST_ANNOUNCE || $t_type == POST_STICKY || $topic['tor_size'])), - 'TOR_FROZEN' => isset($topic['tor_status']) ? ((!IS_AM) ? isset($bb_cfg['tor_frozen'][$topic['tor_status']]) : '') : '', - 'TOR_TYPE' => $is_gold, - - 'TOR_STATUS_ICON' => isset($topic['tor_status']) ? $bb_cfg['tor_icons'][$topic['tor_status']] : '', - 'TOR_STATUS_TEXT' => isset($topic['tor_status']) ? $lang['TOR_STATUS_NAME'][$topic['tor_status']] : '', - - 'ATTACH' => $topic['topic_attachment'], - 'STATUS' => $topic['topic_status'], - 'TYPE' => $topic['topic_type'], - 'DL' => ($topic['topic_dl_type'] == TOPIC_DL_TYPE_DL && !$forum_data['allow_reg_tracker']), - 'POLL' => $topic['topic_vote'], - 'DL_CLASS' => isset($topic['dl_status']) ? $dl_link_css[$topic['dl_status']] : '', - - 'TOPIC_AUTHOR' => profile_url(array('username' => str_short($topic['first_username'], 15), 'user_id' => $topic['first_user_id'], 'user_rank' => $topic['first_user_rank'])), - 'LAST_POSTER' => profile_url(array('username' => str_short($topic['last_username'], 15), 'user_id' => $topic['last_user_id'], 'user_rank' => $topic['last_user_rank'])), - 'LAST_POST_TIME' => bb_date($topic['topic_last_post_time']), - 'LAST_POST_ID' => $topic['topic_last_post_id'], - )); - - if (isset($topic['tor_size'])) - { - $tor_magnet = create_magnet($topic['info_hash'], $topic['auth_key'], $userdata['session_logged_in']); - - $template->assign_block_vars('t.tor', array( - 'SEEDERS' => (int) $topic['seeders'], - 'LEECHERS' => (int) $topic['leechers'], - 'TOR_SIZE' => humn_size($topic['tor_size']), - 'COMPL_CNT' => (int) $topic['complete_count'], - 'ATTACH_ID' => $topic['attach_id'], - 'MAGNET' => $tor_magnet, - )); - } - $found_topics++; -} -unset($topic_rowset); - -$pg_url = FORUM_URL . $forum_id; -$pg_url .= ($sort_value) ? "&sort=$sort_value" : ''; -$pg_url .= ($order_value) ? "&order=$order_value" : ''; -$template->assign_var('MOD_URL', $pg_url); -$pg_url = FORUM_URL . $forum_id; -$pg_url .= ($topic_days) ? "&topicdays=$topic_days" : ''; -$pg_url .= ($sort_value) ? "&sort=$sort_value" : ''; -$pg_url .= ($order_value) ? "&order=$order_value" : ''; -$pg_url .= ($moderation) ? "&mod=1" : ''; -$pg_url .= ($topics_per_page != $bb_cfg['topics_per_page']) ? "&tpp=$topics_per_page" : ''; - -if ($found_topics) -{ - generate_pagination($pg_url, $forum_topics, $topics_per_page, $start); -} -else -{ - if ($only_new) - { - $no_topics_msg = $lang['NO_NEW_POSTS']; - } - else - { - $no_topics_msg = ($topic_days || $title_match) ? $lang['NO_SEARCH_MATCH'] : $lang['NO_TOPICS_POST_ONE']; - } - $template->assign_vars(array( - 'NO_TOPICS' => $no_topics_msg, - )); -} - -$template->assign_vars(array( - 'PAGE_URL' => $pg_url, - 'PAGE_URL_TPP' => url_arg($pg_url, 'tpp', null), - 'FOUND_TOPICS' => $found_topics, - - 'AUTH_MOD' => $is_auth['auth_mod'], - 'SESSION_ADMIN' => $userdata['session_admin'], - 'MOD_REDIRECT_URL' => $mod_redirect_url, - 'MODERATION_ON' => $moderation, - 'PRUNE_DAYS' => $forum_data['prune_days'], - - 'CAT_ID' => $forum_data['cat_id'], - 'CAT_TITLE' => $forums['cat_title_html'][$forum_data['cat_id']], - 'U_VIEWCAT' => CAT_URL . $forum_data['cat_id'], - 'PARENT_FORUM_HREF' => ($parent_id = $forum_data['forum_parent']) ? FORUM_URL . $forum_data['forum_parent'] : '', - 'PARENT_FORUM_NAME' => ($parent_id = $forum_data['forum_parent']) ? $forums['forum_name_html'][$parent_id] : '', -)); - +session_start(); + +$lastvisit = (IS_GUEST) ? TIMENOW : $userdata['user_lastvisit']; + +// Caching output +$req_page = "forum_f{$forum_id}"; +$req_page .= ($start) ? "_start{$start}" : ''; + +define('REQUESTED_PAGE', $req_page); +caching_output(IS_GUEST, 'send', REQUESTED_PAGE .'_guest'); + +set_die_append_msg(); +if (!$forums = $datastore->get('cat_forums')) +{ + $datastore->update('cat_forums'); + $forums = $datastore->get('cat_forums'); +} +if (!$forum_id OR !$forum_data = @$forums['forum'][$forum_id]) +{ + bb_die($lang['FORUM_NOT_EXIST']); +} + +// Only new +$only_new = $user->opt_js['only_new']; +$only_new_sql = ''; +if ($only_new == ONLY_NEW_POSTS) +{ + $only_new_sql = "AND t.topic_last_post_time > $lastvisit"; +} +elseif ($only_new == ONLY_NEW_TOPICS) +{ + $only_new_sql = "AND t.topic_time > $lastvisit"; +} + +// Auth +$is_auth = auth(AUTH_ALL, $forum_id, $userdata, $forum_data); + +$moderation = (!empty($_REQUEST['mod']) && $is_auth['auth_mod']); + +if (!$is_auth['auth_view']) +{ + if (IS_GUEST) + { + $redirect = "f=$forum_id"; + $redirect .= ($start) ? "&start=$start" : ''; + redirect(LOGIN_URL . "?redirect=viewforum.php&$redirect"); + } + // The user is not authed to read this forum ... + $message = sprintf($lang['SORRY_AUTH_VIEW'], $is_auth['auth_view_type']); + bb_die($message); +} + +// Redirect to login page if not admin session +$mod_redirect_url = ''; + +// Filter by torrent status +$tor_status = -1; // all by default + +if ($is_auth['auth_mod']) +{ + $redirect = isset($_POST['redirect']) ? $_POST['redirect'] : @$_SERVER['REQUEST_URI']; + $redirect = url_arg($redirect, 'mod', 1, '&'); + $mod_redirect_url = LOGIN_URL . "?redirect=$redirect&admin=1"; + + if ($moderation && !$userdata['session_admin']) + { + redirect($mod_redirect_url); + } + if (isset($_REQUEST['tst']) && $_REQUEST['tst'] != -1) + { + $tor_status = (int) $_REQUEST['tst']; + // reset other req values + unset($_REQUEST['sort'], $_REQUEST['order'], $_REQUEST[$title_match_key]); + $show_type_separator = false; + } + $select_tst = array_merge(array($lang['TOR_STATUS_SELECT_ALL'] => -1), array_flip($lang['TOR_STATUS_NAME'])); + $template->assign_vars(array( + 'SELECT_TST' => build_select('tst', $select_tst, $tor_status), + )); + $select_st = array_merge(array($lang['TOR_STATUS_SELECT_ACTION'] => -1), array_flip($lang['TOR_STATUS_NAME'])); + $template->assign_vars(array( + 'SELECT_ST' => build_select('st', $select_st, -1), + )); +} + +// Topics read tracks +$tracking_topics = get_tracks('topic'); +$tracking_forums = get_tracks('forum'); + +if ($mark_read && !IS_GUEST) +{ + set_tracks(COOKIE_FORUM, $tracking_forums, $forum_id); + + set_die_append_msg($forum_id); + $message = $lang['TOPICS_MARKED_READ']; + bb_die($message); +} + +// Subforums +$show_subforums = ($bb_cfg['sf_on_first_page_only']) ? !$start : true; + +if (!$forums = $datastore->get('cat_forums')) +{ + $datastore->update('cat_forums'); + $forums = $datastore->get('cat_forums'); +} + +if($forums['forum'][$forum_id]['allow_porno_topic'] && bf($userdata['user_opt'], 'user_opt', 'user_porn_forums')) bb_die($lang['ERROR_PORNO_FORUM']); + +if (!$forum_data['forum_parent'] && isset($forums['f'][$forum_id]['subforums']) && $show_subforums) +{ + $not_auth_forums = $user->get_excluded_forums(AUTH_VIEW); + $ignore_forum_sql = ($not_auth_forums) ? "AND f.forum_id NOT IN($not_auth_forums)" : ''; + + $sql = " + SELECT + f.forum_id, f.forum_status, f.forum_last_post_id, f.forum_posts, f.forum_topics, + t.topic_last_post_time, t.topic_id AS last_topic_id, t.topic_title AS last_topic_title, + p.poster_id AS sf_last_user_id, IF(p.poster_id = $anon, p.post_username, u.username) AS sf_last_username, u.user_rank + FROM ". BB_FORUMS ." f + LEFT JOIN ". BB_TOPICS ." t ON(f.forum_last_post_id = t.topic_last_post_id) + LEFT JOIN ". BB_POSTS ." p ON(f.forum_last_post_id = p.post_id) + LEFT JOIN ". BB_USERS ." u ON(p.poster_id = u.user_id) + WHERE f.forum_parent = $forum_id + $only_new_sql + $ignore_forum_sql + GROUP BY f.forum_id + ORDER BY f.forum_order + "; + + if ($rowset = DB()->fetch_rowset($sql)) + { + $template->assign_vars(array( + 'SHOW_SUBFORUMS' => true, + 'FORUM_IMG' => $images['forum'], + 'FORUM_NEW_IMG' => $images['forum_new'], + 'FORUM_LOCKED_IMG' => $images['forum_locked'], + )); + } + foreach ($rowset as $sf_data) + { + $sf_forum_id = $sf_data['forum_id']; + $sf_last_tid = $sf_data['last_topic_id']; + $folder_image = $images['forum']; + $last_post = $lang['NO_POSTS']; + + if (!$fname_html =& $forums['forum_name_html'][$sf_forum_id]) + { + continue; + } + + if ($sf_data['forum_status'] == FORUM_LOCKED) + { + $folder_image = $images['forum_locked']; + } + elseif (is_unread($sf_data['topic_last_post_time'], $sf_last_tid, $sf_forum_id)) + { + $folder_image = $images['forum_new']; + } + + $last_post_user = profile_url(array('username' => $sf_data['sf_last_username'], 'user_id' => $sf_data['sf_last_user_id'], 'user_rank' => $sf_data['user_rank'])); + + if ($sf_data['forum_last_post_id']) + { + $last_post = bb_date($sf_data['topic_last_post_time'], $bb_cfg['last_post_date_format']); + $last_post .= "
    $last_post_user"; + $last_post .= 'latest'; + } + + $template->assign_block_vars('f', array( + 'FORUM_FOLDER_IMG' => $folder_image, + + 'FORUM_NAME' => $fname_html, + 'FORUM_DESC' => $forums['f'][$sf_forum_id]['forum_desc'], + 'U_VIEWFORUM' => FORUM_URL . $sf_forum_id, + 'TOPICS' => commify($sf_data['forum_topics']), + 'POSTS' => commify($sf_data['forum_posts']), + 'LAST_POST' => $last_post, + )); + + if ($sf_data['forum_last_post_id']) + { + $template->assign_block_vars('f.last', array( + 'FORUM_LAST_POST' => true, + 'SHOW_LAST_TOPIC' => $show_last_topic, + 'LAST_TOPIC_ID' => $sf_data['last_topic_id'], + 'LAST_TOPIC_TIP' => $sf_data['last_topic_title'], + 'LAST_TOPIC_TITLE' => str_short($sf_data['last_topic_title'], $last_topic_max_len), + 'LAST_POST_TIME' => bb_date($sf_data['topic_last_post_time'], $bb_cfg['last_post_date_format']), + 'LAST_POST_ID' => $sf_data['forum_last_post_id'], + 'LAST_POST_USER' => $last_post_user, + 'ICON_LATEST_REPLY' => $images['icon_latest_reply'], + )); + } + else + { + $template->assign_block_vars('f.last', array('FORUM_LAST_POST' => false)); + } + } +} +unset($rowset); +$datastore->rm('cat_forums'); + +// Topics per page +$topics_per_page = $bb_cfg['topics_per_page']; +$select_tpp = ''; + +if ($is_auth['auth_mod']) +{ + if ($req_tpp = abs(intval(@$_REQUEST['tpp'])) AND in_array($req_tpp, $bb_cfg['allowed_topics_per_page'])) + { + $topics_per_page = $req_tpp; + } + + $select_tpp = array(); + foreach ($bb_cfg['allowed_topics_per_page'] as $tpp) + { + $select_tpp[$tpp] = $tpp; + } +} + +// Generate a 'Show topics in previous x days' select box. +$topic_days = 0; // all the time +$forum_topics = $forum_data['forum_topics']; + +$sel_previous_days = array( + 0 => $lang['ALL_POSTS'], + 1 => $lang['1_DAY'], + 7 => $lang['7_DAYS'], + 14 => $lang['2_WEEKS'], + 30 => $lang['1_MONTH'], + 90 => $lang['3_MONTHS'], + 180 => $lang['6_MONTHS'], + 364 => $lang['1_YEAR'], +); + +if (!empty($_REQUEST['topicdays'])) +{ + if ($req_topic_days = abs(intval($_REQUEST['topicdays'])) AND isset($sel_previous_days[$req_topic_days])) + { + $sql = " + SELECT COUNT(*) AS forum_topics + FROM ". BB_TOPICS ." + WHERE forum_id = $forum_id + AND topic_last_post_time > ". (TIMENOW - 86400*$req_topic_days) ." + "; + + if ($row = DB()->fetch_row($sql)) + { + $topic_days = $req_topic_days; + $forum_topics = $row['forum_topics']; + } + } +} +// Correct $start value +if ($start > $forum_topics) +{ + redirect("viewforum.php?f=$forum_id"); +} + +// Generate SORT and ORDER selects +$sort_value = isset($_REQUEST['sort']) ? (int) $_REQUEST['sort'] : $forum_data['forum_display_sort']; +$order_value = isset($_REQUEST['order']) ? (int) $_REQUEST['order'] : $forum_data['forum_display_order']; +$sort_list = ''; +$order_list = ''; +$s_display_order = ' '. $lang['SORT_BY'] .': '. $sort_list .' '. $order_list .' '; + +// Selected SORT and ORDER methods +$sort_method = get_forum_display_sort_option($sort_value, 'field', 'sort'); +$order_method = get_forum_display_sort_option($order_value, 'field', 'order'); + +$order_sql = "ORDER BY t.topic_type DESC, $sort_method $order_method"; + +$limit_topics_time_sql = ($topic_days) ? "AND t.topic_last_post_time > ". (TIMENOW - 86400*$topic_days) : ''; + +$select_tor_sql = $join_tor_sql = ''; +$join_dl = ($bb_cfg['show_dl_status_in_forum'] && !IS_GUEST); + +$where_tor_sql = ''; +if ($forum_data['allow_reg_tracker']) +{ + if ($tor_status != -1) + { + $where_tor_sql = "AND tor.tor_status = $tor_status"; + } + + $select_tor_sql = ', + bt.auth_key, tor.info_hash, tor.size AS tor_size, tor.reg_time, tor.complete_count, tor.seeder_last_seen, tor.attach_id, tor.tor_status, tor.tor_type, + sn.seeders, sn.leechers + '; + $select_tor_sql .= ($join_dl) ? ', dl.user_status AS dl_status' : ''; + + $join_tor_sql = " + LEFT JOIN ". BB_BT_TORRENTS ." tor ON(t.topic_id = tor.topic_id) + LEFT JOIN ". BB_BT_USERS ." bt ON(bt.user_id = {$userdata['user_id']}) + LEFT JOIN ". BB_BT_TRACKER_SNAP ." sn ON(tor.topic_id = sn.topic_id) + "; + $join_tor_sql .= ($join_dl) ? " LEFT JOIN ". BB_BT_DLSTATUS ." dl ON(dl.user_id = {$userdata['user_id']} AND dl.topic_id = t.topic_id)" : ''; +} + +// Title match +$title_match_sql = ''; + +if ($title_match =& $_REQUEST[$title_match_key]) +{ + if ($tmp = mb_substr(trim($title_match), 0, $title_match_max_len)) + { + $title_match_val = clean_text_match($tmp, true, false, false); + $title_match_topics = get_title_match_topics($title_match_val, array(0 => $forum_id)); + + if ($search_match_topics_csv = join(',', $title_match_topics)) + { + $title_match_sql = "AND t.topic_id IN($search_match_topics_csv)"; + } + } +} + +// Get topics +$topic_ids = $topic_rowset = array(); + +// IDs +$sql = " + SELECT t.topic_id + FROM ". BB_TOPICS ." t + WHERE t.forum_id = $forum_id + $only_new_sql + $title_match_sql + $limit_topics_time_sql + $order_sql + LIMIT $start, $topics_per_page +"; +foreach (DB()->fetch_rowset($sql) as $row) +{ + $topic_ids[] = $row['topic_id']; +} + +// Titles, posters etc. +if ($topics_csv = join(',', $topic_ids)) +{ + $topic_rowset = DB()->fetch_rowset(" + SELECT + t.*, t.topic_poster AS first_user_id, u1.user_rank as first_user_rank, + IF(t.topic_poster = $anon, p1.post_username, u1.username) AS first_username, + p2.poster_id AS last_user_id, u2.user_rank as last_user_rank, + IF(p2.poster_id = $anon, p2.post_username, u2.username) AS last_username + $select_tor_sql + FROM ". BB_TOPICS ." t + LEFT JOIN ". BB_POSTS ." p1 ON(t.topic_first_post_id = p1.post_id) + LEFT JOIN ". BB_USERS ." u1 ON(t.topic_poster = u1.user_id) + LEFT JOIN ". BB_POSTS ." p2 ON(t.topic_last_post_id = p2.post_id) + LEFT JOIN ". BB_USERS ." u2 ON(p2.poster_id = u2.user_id) + $join_tor_sql + WHERE t.topic_id IN($topics_csv) + $where_tor_sql + GROUP BY t.topic_id + $order_sql + "); +} + +// Define censored word matches +$orig_word = $replacement_word = array(); +obtain_word_list($orig_word, $replacement_word); + +if($forum_data['allow_reg_tracker']) +{ + $post_new_topic_url = POSTING_URL . "?mode=new_rel&f=$forum_id"; + $post_img = $images['release_new']; + $post_new_topic = $lang['POST_NEW_RELEASE']; +} +else +{ + $post_new_topic_url = POSTING_URL . "?mode=newtopic&f=$forum_id"; + $post_img = $images['post_new']; + $post_new_topic = $lang['POST_NEW_TOPIC']; +} + +// Post URL generation for templating vars +$template->assign_vars(array( + 'U_POST_NEW_TOPIC' => $post_new_topic_url, + 'S_SELECT_TOPIC_DAYS' => build_select('topicdays', array_flip($sel_previous_days), $topic_days), + 'S_POST_DAYS_ACTION' => "viewforum.php?f=$forum_id&start=$start", + 'S_DISPLAY_ORDER' => $s_display_order, +)); + +// User authorisation levels output +$u_auth = array(); +$u_auth[] = ($is_auth['auth_post']) ? $lang['RULES_POST_CAN'] : $lang['RULES_POST_CANNOT']; +$u_auth[] = ($is_auth['auth_reply']) ? $lang['RULES_REPLY_CAN'] : $lang['RULES_REPLY_CANNOT']; +$u_auth[] = ($is_auth['auth_edit']) ? $lang['RULES_EDIT_CAN'] : $lang['RULES_EDIT_CANNOT']; +$u_auth[] = ($is_auth['auth_delete']) ? $lang['RULES_DELETE_CAN'] : $lang['RULES_DELETE_CANNOT']; +$u_auth[] = ($is_auth['auth_vote']) ? $lang['RULES_VOTE_CAN'] : $lang['RULES_VOTE_CANNOT']; +$u_auth[] = ($is_auth['auth_attachments']) ? $lang['RULES_ATTACH_CAN'] : $lang['RULES_ATTACH_CANNOT']; +$u_auth[] = ($is_auth['auth_download']) ? $lang['RULES_DOWNLOAD_CAN'] : $lang['RULES_DOWNLOAD_CANNOT']; +$u_auth[] = ($is_auth['auth_mod']) ? $lang['RULES_MODERATE'] : ''; +$u_auth = join("
    \n", $u_auth); + +$template->assign_vars(array( + 'SHOW_JUMPBOX' => true, + 'PAGE_TITLE' => htmlCHR($forum_data['forum_name']), + 'FORUM_ID' => $forum_id, + 'FORUM_NAME' => htmlCHR($forum_data['forum_name']), + 'TORRENTS' => $forum_data['allow_reg_tracker'], + 'POST_IMG' => ($forum_data['forum_status'] == FORUM_LOCKED) ? $images['post_locked'] : $post_img, + + 'FOLDER_IMG' => $images['folder'], + 'FOLDER_NEW_IMG' => $images['folder_new'], + 'FOLDER_LOCKED_IMG' => $images['folder_locked'], + 'FOLDER_STICKY_IMG' => $images['folder_sticky'], + 'FOLDER_ANNOUNCE_IMG' => $images['folder_announce'], + 'FOLDER_DOWNLOAD_IMG' => $images['folder_dl'], + + 'SHOW_ONLY_NEW_MENU' => true, + 'ONLY_NEW_POSTS_ON' => ($only_new == ONLY_NEW_POSTS), + 'ONLY_NEW_TOPICS_ON' => ($only_new == ONLY_NEW_TOPICS), + + 'TITLE_MATCH' => htmlCHR($title_match), + 'SELECT_TPP' => ($select_tpp) ? build_select('tpp', $select_tpp, $topics_per_page, null, null, 'onchange="$(\'#tpp\').submit();"') : '', + 'T_POST_NEW_TOPIC' => ($forum_data['forum_status'] == FORUM_LOCKED) ? $lang['FORUM_LOCKED'] : $post_new_topic, + 'S_AUTH_LIST' => $u_auth, + 'U_VIEW_FORUM' => FORUM_URL . $forum_id, + 'U_MARK_READ' => FORUM_URL . $forum_id ."&mark=topics", + 'U_SEARCH_SELF' => "search.php?uid={$userdata['user_id']}&f=$forum_id", +)); + +// Okay, lets dump out the page ... +$found_topics = 0; +foreach ($topic_rowset as $topic) +{ + $topic_id = $topic['topic_id']; + $moved = ($topic['topic_status'] == TOPIC_MOVED); + $replies = $topic['topic_replies']; + $t_hot = ($replies >= $bb_cfg['hot_threshold']); + $t_type = $topic['topic_type']; + $separator = ''; + $is_unread = is_unread($topic['topic_last_post_time'], $topic_id, $forum_id); + + if ($t_type == POST_ANNOUNCE && !defined('ANNOUNCE_SEP')) + { + define('ANNOUNCE_SEP', true); + $separator = $lang['TOPICS_ANNOUNCEMENT']; + } + elseif ($t_type == POST_STICKY && !defined('STICKY_SEP')) + { + define('STICKY_SEP', true); + $separator = $lang['TOPICS_STICKY']; + } + elseif ($t_type == POST_NORMAL && !defined('NORMAL_SEP')) + { + if (defined('ANNOUNCE_SEP') || defined('STICKY_SEP')) + { + define('NORMAL_SEP', true); + $separator = $lang['TOPICS_NORMAL']; + } + } + + // Gold/Silver releases mod + $is_gold = ''; + if ($tr_cfg['gold_silver_enabled'] && isset($topic['tor_type'])) + { + if ($topic['tor_type'] == TOR_TYPE_GOLD) + { + $is_gold = ' '; + } + elseif ($topic['tor_type'] == TOR_TYPE_SILVER) + { + $is_gold = ' '; + } + } + // END Gold/Silver releases mod + + $template->assign_block_vars('t', array( + 'FORUM_ID' => $forum_id, + 'TOPIC_ID' => $topic_id, + 'HREF_TOPIC_ID' => ($moved) ? $topic['topic_moved_id'] : $topic['topic_id'], + 'TOPIC_TITLE' => wbr($topic['topic_title']), + 'TOPICS_SEPARATOR' => $separator, + 'IS_UNREAD' => $is_unread, + 'TOPIC_ICON' => get_topic_icon($topic, $is_unread), + 'PAGINATION' => ($moved) ? '' : build_topic_pagination(TOPIC_URL . $topic_id, $replies, $bb_cfg['posts_per_page']), + 'REPLIES' => $replies, + 'VIEWS' => $topic['topic_views'], + 'TOR_STALED' => ($forum_data['allow_reg_tracker'] && !($t_type == POST_ANNOUNCE || $t_type == POST_STICKY || $topic['tor_size'])), + 'TOR_FROZEN' => isset($topic['tor_status']) ? ((!IS_AM) ? isset($bb_cfg['tor_frozen'][$topic['tor_status']]) : '') : '', + 'TOR_TYPE' => $is_gold, + + 'TOR_STATUS_ICON' => isset($topic['tor_status']) ? $bb_cfg['tor_icons'][$topic['tor_status']] : '', + 'TOR_STATUS_TEXT' => isset($topic['tor_status']) ? $lang['TOR_STATUS_NAME'][$topic['tor_status']] : '', + + 'ATTACH' => $topic['topic_attachment'], + 'STATUS' => $topic['topic_status'], + 'TYPE' => $topic['topic_type'], + 'DL' => ($topic['topic_dl_type'] == TOPIC_DL_TYPE_DL && !$forum_data['allow_reg_tracker']), + 'POLL' => $topic['topic_vote'], + 'DL_CLASS' => isset($topic['dl_status']) ? $dl_link_css[$topic['dl_status']] : '', + + 'TOPIC_AUTHOR' => profile_url(array('username' => str_short($topic['first_username'], 15), 'user_id' => $topic['first_user_id'], 'user_rank' => $topic['first_user_rank'])), + 'LAST_POSTER' => profile_url(array('username' => str_short($topic['last_username'], 15), 'user_id' => $topic['last_user_id'], 'user_rank' => $topic['last_user_rank'])), + 'LAST_POST_TIME' => bb_date($topic['topic_last_post_time']), + 'LAST_POST_ID' => $topic['topic_last_post_id'], + )); + + if (isset($topic['tor_size'])) + { + $tor_magnet = create_magnet($topic['info_hash'], $topic['auth_key'], $userdata['session_logged_in']); + + $template->assign_block_vars('t.tor', array( + 'SEEDERS' => (int) $topic['seeders'], + 'LEECHERS' => (int) $topic['leechers'], + 'TOR_SIZE' => humn_size($topic['tor_size']), + 'COMPL_CNT' => (int) $topic['complete_count'], + 'ATTACH_ID' => $topic['attach_id'], + 'MAGNET' => $tor_magnet, + )); + } + $found_topics++; +} +unset($topic_rowset); + +$pg_url = FORUM_URL . $forum_id; +$pg_url .= ($sort_value) ? "&sort=$sort_value" : ''; +$pg_url .= ($order_value) ? "&order=$order_value" : ''; +$template->assign_var('MOD_URL', $pg_url); +$pg_url = FORUM_URL . $forum_id; +$pg_url .= ($topic_days) ? "&topicdays=$topic_days" : ''; +$pg_url .= ($sort_value) ? "&sort=$sort_value" : ''; +$pg_url .= ($order_value) ? "&order=$order_value" : ''; +$pg_url .= ($moderation) ? "&mod=1" : ''; +$pg_url .= ($topics_per_page != $bb_cfg['topics_per_page']) ? "&tpp=$topics_per_page" : ''; + +if ($found_topics) +{ + generate_pagination($pg_url, $forum_topics, $topics_per_page, $start); +} +else +{ + if ($only_new) + { + $no_topics_msg = $lang['NO_NEW_POSTS']; + } + else + { + $no_topics_msg = ($topic_days || $title_match) ? $lang['NO_SEARCH_MATCH'] : $lang['NO_TOPICS_POST_ONE']; + } + $template->assign_vars(array( + 'NO_TOPICS' => $no_topics_msg, + )); +} + +$template->assign_vars(array( + 'PAGE_URL' => $pg_url, + 'PAGE_URL_TPP' => url_arg($pg_url, 'tpp', null), + 'FOUND_TOPICS' => $found_topics, + + 'AUTH_MOD' => $is_auth['auth_mod'], + 'SESSION_ADMIN' => $userdata['session_admin'], + 'MOD_REDIRECT_URL' => $mod_redirect_url, + 'MODERATION_ON' => $moderation, + 'PRUNE_DAYS' => $forum_data['prune_days'], + + 'CAT_ID' => $forum_data['cat_id'], + 'CAT_TITLE' => $forums['cat_title_html'][$forum_data['cat_id']], + 'U_VIEWCAT' => CAT_URL . $forum_data['cat_id'], + 'PARENT_FORUM_HREF' => ($parent_id = $forum_data['forum_parent']) ? FORUM_URL . $forum_data['forum_parent'] : '', + 'PARENT_FORUM_NAME' => ($parent_id = $forum_data['forum_parent']) ? $forums['forum_name_html'][$parent_id] : '', +)); + print_page('viewforum.tpl'); \ No newline at end of file diff --git a/upload/viewtopic.php b/upload/viewtopic.php index 83f2bb049..2049efab9 100644 --- a/upload/viewtopic.php +++ b/upload/viewtopic.php @@ -1,945 +1,945 @@ -enqueue(array( - 'ranks', -)); - -$page_cfg['load_tpl_vars'] = array( - 'post_buttons', - 'post_icons', - 'topic_icons', -); - -$newest = $next_topic_id = 0; -$start = isset($_GET['start']) ? abs(intval($_GET['start'])) : 0; -$topic_id = isset($_GET[POST_TOPIC_URL]) ? (int) $_GET[POST_TOPIC_URL] : 0; -$post_id = (!$topic_id && isset($_GET[POST_POST_URL])) ? (int) $_GET[POST_POST_URL] : 0; - -// Start session -$user->session_start(); - -set_die_append_msg(); - -// Posts per page -$posts_per_page = $bb_cfg['posts_per_page']; -$select_ppp = ''; - -if ($userdata['session_admin']) -{ - if ($req_ppp = abs(intval(@$_REQUEST['ppp'])) AND in_array($req_ppp, $bb_cfg['allowed_posts_per_page'])) - { - $posts_per_page = $req_ppp; - } - - $select_ppp = array(); - foreach ($bb_cfg['allowed_posts_per_page'] as $ppp) - { - $select_ppp[$ppp] = $ppp; - } -} - -if (isset($_REQUEST['single'])) -{ - $posts_per_page = 1; -} -else -{ - $start = floor($start/$posts_per_page) * $posts_per_page; -} - -if (!$topic_id && !$post_id) -{ - bb_die($lang['TOPIC_POST_NOT_EXIST']); -} - -$tracking_topics = get_tracks('topic'); -$tracking_forums = get_tracks('forum'); - -// Find topic id if user requested a newer or older topic -if ($topic_id && isset($_GET['view']) && ($_GET['view'] == 'next' || $_GET['view'] == 'previous')) -{ - $sql_condition = ($_GET['view'] == 'next') ? '>' : '<'; - $sql_ordering = ($_GET['view'] == 'next') ? 'ASC' : 'DESC'; - - $sql = "SELECT t.topic_id - FROM ". BB_TOPICS ." t, ". BB_TOPICS ." t2 - WHERE t2.topic_id = $topic_id - AND t.forum_id = t2.forum_id - AND t.topic_moved_id = 0 - AND t.topic_last_post_id $sql_condition t2.topic_last_post_id - ORDER BY t.topic_last_post_id $sql_ordering - LIMIT 1"; - - if ($row = DB()->fetch_row($sql)) - { - $next_topic_id = $topic_id = $row['topic_id']; - } - else - { - $message = ($_GET['view'] == 'next') ? $lang['NO_NEWER_TOPICS'] : $lang['NO_OLDER_TOPICS']; - bb_die($message); - } -} - -// Get forum/topic data -if ($topic_id) -{ - $sql = "SELECT t.*, f.*, tw.notify_status - FROM ". BB_TOPICS ." t - LEFT JOIN ". BB_FORUMS ." f USING(forum_id) - LEFT JOIN ". BB_TOPICS_WATCH ." tw ON(tw.topic_id = t.topic_id AND user_id = {$userdata['user_id']}) - WHERE t.topic_id = $topic_id - "; -} -elseif ($post_id) -{ - $sql = "SELECT t.*, f.*, p.post_time, tw.notify_status - FROM ". BB_TOPICS ." t - LEFT JOIN ". BB_FORUMS ." f USING(forum_id) - LEFT JOIN ". BB_POSTS ." p USING(topic_id) - LEFT JOIN ". BB_TOPICS_WATCH ." tw ON(tw.topic_id = t.topic_id AND user_id = {$userdata['user_id']}) - WHERE p.post_id = $post_id - "; -} -else -{ - bb_die($lang['TOPIC_POST_NOT_EXIST']); -} - -if (!$t_data = DB()->fetch_row($sql)) -{ - bb_die($lang['TOPIC_POST_NOT_EXIST']); -} - -$forum_topic_data =& $t_data; -$topic_id = $t_data['topic_id']; -$forum_id = $t_data['forum_id']; - -if($t_data['allow_porno_topic'] && bf($userdata['user_opt'], 'user_opt', 'user_porn_forums')) bb_die($lang['ERROR_PORNO_FORUM']); - -if ($userdata['session_admin'] && !empty($_REQUEST['mod'])) -{ - if (IS_ADMIN) - { - $datastore->enqueue(array('viewtopic_forum_select')); - } -} -if ($t_data['topic_attachment']) -{ - $datastore->enqueue(array( - 'attach_extensions', - )); -} - -// Find newest post -if (($next_topic_id || @$_GET['view'] === 'newest') && !IS_GUEST && $topic_id) -{ - $post_time = 'post_time >= '. get_last_read($topic_id, $forum_id); - $post_id_altern = ($next_topic_id) ? '' : ' OR post_id = '. $t_data['topic_last_post_id']; - - $sql = "SELECT post_id, post_time - FROM ". BB_POSTS ." - WHERE topic_id = $topic_id - AND ($post_time $post_id_altern) - ORDER BY post_time ASC - LIMIT 1"; - - if ($row = DB()->fetch_row($sql)) - { - $post_id = $newest = $row['post_id']; - $t_data['post_time'] = $row['post_time']; - } -} - -if ($post_id && !empty($t_data['post_time']) && ($t_data['topic_replies'] + 1) > $posts_per_page) -{ - $sql = "SELECT COUNT(post_id) AS prev_posts - FROM ". BB_POSTS ." - WHERE topic_id = $topic_id - AND post_time <= {$t_data['post_time']}"; - - if ($row = DB()->fetch_row($sql)) - { - $t_data['prev_posts'] = $row['prev_posts']; - } -} - -// Auth check -$is_auth = auth(AUTH_ALL, $forum_id, $userdata, $t_data); - -if (!$is_auth['auth_read']) -{ - if (IS_GUEST) - { - $redirect = ($post_id) ? POST_URL ."$post_id#$post_id" : TOPIC_URL . $topic_id; - $redirect .= ($start && !$post_id) ? "&start=$start" : ''; - redirect(LOGIN_URL . "?redirect=viewtopic.php&$redirect"); - } - bb_die($lang['TOPIC_POST_NOT_EXIST']); -} - -$forum_name = $t_data['forum_name']; -$topic_title = $t_data['topic_title']; -$topic_id = $t_data['topic_id']; -$topic_time = $t_data['topic_time']; - -$moderation = (!empty($_REQUEST['mod']) && $is_auth['auth_mod']); - -// Redirect to login page if not admin session -$mod_redirect_url = ''; - -if ($is_auth['auth_mod']) -{ - $redirect = isset($_POST['redirect']) ? $_POST['redirect'] : @$_SERVER['REQUEST_URI']; - $redirect = url_arg($redirect, 'mod', 1, '&'); - $mod_redirect_url = LOGIN_URL . "?redirect=$redirect&admin=1"; - - if ($moderation && !$userdata['session_admin']) - { - redirect($mod_redirect_url); - } -} - -if ($moderation) -{ - if (IS_ADMIN) - { - if (!$forum_select = $datastore->get('viewtopic_forum_select')) - { - $datastore->update('viewtopic_forum_select'); - $forum_select = $datastore->get('viewtopic_forum_select'); - } - $forum_select_html = $forum_select['viewtopic_forum_select']; - } - else - { - $not_auth_forums_csv = $user->get_not_auth_forums(AUTH_VIEW); - $forum_select_html = get_forum_select(explode(',', $not_auth_forums_csv), 'new_forum_id'); - } - $template->assign_vars(array( - 'S_FORUM_SELECT' => $forum_select_html, - )); -} - -if (!$forums = $datastore->get('cat_forums')) -{ - $datastore->update('cat_forums'); - $forums = $datastore->get('cat_forums'); -} - -$template->assign_vars(array( - 'CAT_TITLE' => $forums['cat_title_html'][$t_data['cat_id']], - 'U_VIEWCAT' => CAT_URL . $t_data['cat_id'], - 'PARENT_FORUM_HREF' => ($parent_id = $t_data['forum_parent']) ? FORUM_URL . $parent_id : '', - 'PARENT_FORUM_NAME' => ($parent_id = $t_data['forum_parent']) ? htmlCHR($forums['f'][$parent_id]['forum_name']) : '', -)); -unset($forums); -$datastore->rm('cat_forums'); - -if ($post_id && !empty($t_data['prev_posts'])) -{ - $start = floor(($t_data['prev_posts'] - 1) / $posts_per_page) * $posts_per_page; -} - -// -// Is user watching this thread? -// -$can_watch_topic = $is_watching_topic = false; - -if ($bb_cfg['topic_notify_enabled']) -{ - if ($userdata['session_logged_in']) - { - $can_watch_topic = TRUE; - - if (!empty($t_data['notify_status']) && $t_data['notify_status']) - { - if (isset($_GET['unwatch'])) - { - if ($_GET['unwatch'] == 'topic') - { - $is_watching_topic = 0; - - DB()->query("DELETE FROM ". BB_TOPICS_WATCH ." WHERE topic_id = $topic_id AND user_id = {$userdata['user_id']}"); - } - - set_die_append_msg($forum_id, $topic_id); - bb_die($lang['NO_LONGER_WATCHING']); - - } - else - { - $is_watching_topic = TRUE; - - if (!$t_data['notify_status']) - { - DB()->query("UPDATE ". BB_TOPICS_WATCH ." SET notify_status = ". TOPIC_WATCH_NOTIFIED ." WHERE topic_id = $topic_id AND user_id = {$userdata['user_id']}"); - } - } - } - else - { - if (isset($_GET['watch'])) - { - if ($_GET['watch'] == 'topic') - { - $is_watching_topic = TRUE; - - DB()->query(" - INSERT INTO ". BB_TOPICS_WATCH ." (user_id, topic_id, notify_status) - VALUES (". $userdata['user_id'] .", $topic_id, ". TOPIC_WATCH_NOTIFIED .") - "); - } - - set_die_append_msg($forum_id, $topic_id); - bb_die($lang['YOU_ARE_WATCHING']); - - } - else - { - $is_watching_topic = 0; - } - } - } - else - { - if (isset($_GET['unwatch'])) - { - if ($_GET['unwatch'] == 'topic') - { - redirect(LOGIN_URL . "?redirect=viewtopic.php&t=$topic_id&unwatch=topic"); - } - } - } -} - -// Generate a 'Show posts in previous x days' select box. If the postdays var is POSTed -// then get it's value, find the number of topics with dates newer than it (to properly -// handle pagination) and alter the main query -$post_days = 0; -$limit_posts_time = ''; -$total_replies = $t_data['topic_replies'] + 1; - -if (!empty($_REQUEST['postdays'])) -{ - if ($post_days = abs(intval($_REQUEST['postdays']))) - { - if (!empty($_POST['postdays'])) - { - $start = 0; - } - $min_post_time = TIMENOW - ($post_days*86400); - - $sql = "SELECT COUNT(p.post_id) AS num_posts - FROM " . BB_TOPICS . " t, " . BB_POSTS . " p - WHERE t.topic_id = $topic_id - AND p.topic_id = t.topic_id - AND p.post_time > $min_post_time"; - - $total_replies = ($row = DB()->fetch_row($sql)) ? $row['num_posts'] : 0; - $limit_posts_time = "AND p.post_time >= $min_post_time "; - } -} - -// Decide how to order the post display -$post_order = (isset($_POST['postorder']) && $_POST['postorder'] !== 'asc') ? 'desc' : 'asc'; - -// -// Go ahead and pull all data for this topic -// -// 1. Add first post of topic if it pinned and page of topic not first -$first_post = false; -if ($t_data['topic_show_first_post'] && $start) -{ - $first_post = DB()->fetch_rowset(" - SELECT - u.username, u.user_id, u.user_rank, u.user_posts, u.user_from, - u.user_regdate, u.user_sig, - u.avatar_ext_id, - u.user_opt, u.user_gender, u.user_birthday, - p.*, - u2.username as mc_username, u2.user_rank as mc_user_rank, - h.post_html, IF(h.post_html IS NULL, pt.post_text, NULL) AS post_text - FROM ". BB_POSTS ." p - LEFT JOIN ". BB_USERS ." u ON(u.user_id = p.poster_id) - LEFT JOIN ". BB_POSTS_TEXT ." pt ON(pt.post_id = p.post_id) - LEFT JOIN ". BB_POSTS_HTML ." h ON(h.post_id = p.post_id) - LEFT JOIN ". BB_USERS ." u2 ON(u2.user_id = p.mc_user_id) - WHERE - p.post_id = {$t_data['topic_first_post_id']} - LIMIT 1 - "); -} -// 2. All others posts -$sql = " - SELECT - u.username, u.user_id, u.user_rank, u.user_posts, u.user_from, - u.user_regdate, u.user_sig, - u.avatar_ext_id, - u.user_opt, u.user_gender, u.user_birthday, - p.*, - u2.username as mc_username, u2.user_rank as mc_user_rank, - h.post_html, IF(h.post_html IS NULL, pt.post_text, NULL) AS post_text - FROM ". BB_POSTS ." p - LEFT JOIN ". BB_USERS ." u ON(u.user_id = p.poster_id) - LEFT JOIN ". BB_POSTS_TEXT ." pt ON(pt.post_id = p.post_id) - LEFT JOIN ". BB_POSTS_HTML ." h ON(h.post_id = p.post_id) - LEFT JOIN ". BB_USERS ." u2 ON(u2.user_id = p.mc_user_id) - WHERE p.topic_id = $topic_id - $limit_posts_time - GROUP BY p.post_id - ORDER BY p.post_time $post_order - LIMIT $start, $posts_per_page -"; - -if ($postrow = DB()->fetch_rowset($sql)) -{ - if ($first_post) $postrow = array_merge($first_post, $postrow); - $total_posts = count($postrow); -} -else -{ - bb_die($lang['NO_POSTS_TOPIC']); -} - -if (!$ranks = $datastore->get('ranks')) -{ - $datastore->update('ranks'); - $ranks = $datastore->get('ranks'); -} - -// -// Define censored word matches -// -$orig_word = $replacement_word = array(); -obtain_word_list($orig_word, $replacement_word); - -// -// Censor topic title -// -if ( count($orig_word) ) -{ - $topic_title = preg_replace($orig_word, $replacement_word, $topic_title); -} - -// -// Post, reply and other URL generation for -// templating vars -// -$new_topic_url = POSTING_URL . "?mode=newtopic&f=$forum_id"; -$reply_topic_url = POSTING_URL . "?mode=reply&t=$topic_id"; -$view_forum_url = "viewforum.php?f=$forum_id"; -$view_prev_topic_url = "viewtopic.php?t=$topic_id&view=previous#newest"; -$view_next_topic_url = "viewtopic.php?t=$topic_id&view=next#newest"; - -$reply_img = ( $t_data['forum_status'] == FORUM_LOCKED || $t_data['topic_status'] == TOPIC_LOCKED) ? $images['reply_locked'] : $images['reply_new']; -$reply_alt = ( $t_data['forum_status'] == FORUM_LOCKED || $t_data['topic_status'] == TOPIC_LOCKED) ? $lang['TOPIC_LOCKED_SHORT'] : $lang['REPLY_TO_TOPIC']; - -// Set 'body' template for attach_mod -$template->set_filenames(array('body' => 'viewtopic.tpl')); - -// -// User authorisation levels output -// -$s_auth_can = ( ( $is_auth['auth_post'] ) ? $lang['RULES_POST_CAN'] : $lang['RULES_POST_CANNOT'] ) . '
    '; -$s_auth_can .= ( ( $is_auth['auth_reply'] ) ? $lang['RULES_REPLY_CAN'] : $lang['RULES_REPLY_CANNOT'] ) . '
    '; -$s_auth_can .= ( ( $is_auth['auth_edit'] ) ? $lang['RULES_EDIT_CAN'] : $lang['RULES_EDIT_CANNOT'] ) . '
    '; -$s_auth_can .= ( ( $is_auth['auth_delete'] ) ? $lang['RULES_DELETE_CAN'] : $lang['RULES_DELETE_CANNOT'] ) . '
    '; -$s_auth_can .= ( ( $is_auth['auth_vote'] ) ? $lang['RULES_VOTE_CAN'] : $lang['RULES_VOTE_CANNOT'] ) . '
    '; -$s_auth_can .= ( ($is_auth['auth_attachments'] ) ? $lang['RULES_ATTACH_CAN'] : $lang['RULES_ATTACH_CANNOT'] ) . '
    '; -$s_auth_can .= ( ($is_auth['auth_download'] ) ? $lang['RULES_DOWNLOAD_CAN'] : $lang['RULES_DOWNLOAD_CANNOT'] ) . '
    '; - -$topic_mod = ''; - -if ( $is_auth['auth_mod'] ) -{ - $s_auth_can .= $lang['RULES_MODERATE']; - $topic_mod .= "' . $lang['DELETE_TOPIC'] . ' '; - $topic_mod .= "' . $lang['MOVE_TOPIC'] . ' '; - $topic_mod .= ( $t_data['topic_status'] == TOPIC_UNLOCKED ) ? "' . $lang['LOCK_TOPIC'] . ' ' : "' . $lang['UNLOCK_TOPIC'] . ' '; - $topic_mod .= "' . $lang['SPLIT_TOPIC'] . ' '; - - if ($t_data['allow_reg_tracker'] || $t_data['topic_dl_type'] == TOPIC_DL_TYPE_DL || IS_ADMIN) - { - if ($t_data['topic_dl_type'] == TOPIC_DL_TYPE_DL) - { - $topic_mod .= "' . $lang['UNSET_DL_STATUS'] . ''; - } - else - { - $topic_mod .= "' . $lang['SET_DL_STATUS'] . ''; - } - } -} -elseif (($t_data['topic_poster'] == $userdata['user_id']) && $userdata['session_logged_in'] && $t_data['self_moderated']) -{ - $topic_mod .= "' . $lang['MOVE_TOPIC'] . ' '; -} - -// Get report topic module and create report link -require_once(INC_DIR ."functions_report.php"); -$report_topic = report_modules('name', 'report_topic'); - -if ($report_topic && $report_topic->auth_check('auth_write')) -{ - if ($forum_topic_data['topic_reported']) - { - $report_auth = ($userdata['user_level'] == ADMIN || (!$bb_cfg['report_list_admin'] && (!$bb_cfg['report_subject_auth'] || $is_auth['auth_mod']))); - if ($report_topic->auth_check('auth_view') && $is_auth) - { - $target = ($bb_cfg['report_new_window']) ? ' target="_blank"' : ''; - $s_report_topic =' ' . $report_topic->lang['DUPLICATE_REPORT'] . ' '; - } - else - { - $s_report_topic = ' ' . $report_topic->lang['DUPLICATE_REPORT'] . ' '; - } - } - else - { - $s_report_topic = ' ' . $report_topic->lang['WRITE_REPORT'] . ' '; - } - - $topic_mod .= $s_report_topic; - $template->assign_var('S_REPORT_TOPIC', $s_report_topic); -} - -// -// Topic watch information -// -$s_watching_topic = $s_watching_topic_img = ''; -if ( $can_watch_topic ) -{ - if ( $is_watching_topic ) - { - $s_watching_topic = "' . $lang['STOP_WATCHING_TOPIC'] . ''; - $s_watching_topic_img = ( isset($images['topic_un_watch']) ) ? "' . $lang['STOP_WATCHING_TOPIC'] . '' : ''; - } - else - { - $s_watching_topic = "' . $lang['START_WATCHING_TOPIC'] . ''; - $s_watching_topic_img = ( isset($images['Topic_watch']) ) ? "' . $lang['START_WATCHING_TOPIC'] . '' : ''; - } -} - -// If we've got a hightlight set pass it on to pagination, -$pg_url = TOPIC_URL . $topic_id; -$pg_url .= ($post_days) ? "&postdays=$post_days" : ''; -$pg_url .= ($post_order != 'asc') ? "&postorder=$post_order" : ''; -$pg_url .= isset($_REQUEST['single']) ? "&single=1" : ''; -$pg_url .= ($moderation) ? "&mod=1" : ''; -$pg_url .= ($posts_per_page != $bb_cfg['posts_per_page']) ? "&ppp=$posts_per_page" : ''; - -generate_pagination($pg_url, $total_replies, $posts_per_page, $start); - -// -// Selects -// -$sel_previous_days = array( - 0 => $lang['ALL_POSTS'], - 1 => $lang['1_DAY'], - 7 => $lang['7_DAYS'], - 14 => $lang['2_WEEKS'], - 30 => $lang['1_MONTH'], - 90 => $lang['3_MONTHS'], - 180 => $lang['6_MONTHS'], - 364 => $lang['1_YEAR'], -); - -$sel_post_order_ary = array( - $lang['OLDEST_FIRST'] => 'asc', - $lang['NEWEST_FIRST'] => 'desc', -); - -$topic_has_poll = ($t_data['topic_vote'] && !IS_GUEST); -$poll_time_expired = ($t_data['topic_time'] < TIMENOW - $bb_cfg['poll_max_days']*86400); -$can_manage_poll = ($t_data['topic_poster'] == $userdata['user_id'] || $is_auth['auth_mod']); -$can_add_poll = ($can_manage_poll && !$topic_has_poll && !$poll_time_expired && !$start); - -// -// Send vars to template -// -$template->assign_vars(array( - 'PAGE_URL' => $pg_url, - 'PAGE_URL_PPP' => url_arg($pg_url, 'ppp', null), - 'PAGE_START' => $start, - 'SHOW_JUMPBOX' => true, - - 'FORUM_ID' => $forum_id, - 'FORUM_NAME' => htmlCHR($forum_name), - 'TOPIC_ID' => $topic_id, - 'PAGE_TITLE' => $topic_title, - 'TOPIC_TITLE' => wbr($topic_title), - 'PORNO_FORUM' => $t_data['allow_porno_topic'], - 'REPLY_IMG' => $reply_img, - 'SHOW_BOT_NICK' => $bb_cfg['show_bot_nick'], - 'T_POST_REPLY' => $reply_alt, - - 'HIDE_AVATAR' => $user->opt_js['h_av'], - 'HIDE_RANK_IMG' => ($user->opt_js['h_rnk_i'] && $bb_cfg['show_rank_image']), - 'HIDE_POST_IMG' => $user->opt_js['h_post_i'], - 'HIDE_SMILE' => $user->opt_js['h_smile'], - 'HIDE_SIGNATURE' => $user->opt_js['h_sig'], - 'SPOILER_OPENED' => $user->opt_js['sp_op'], - 'SHOW_IMG_AFTER_LOAD' => $user->opt_js['i_aft_l'], - - 'HIDE_RANK_IMG_DIS' => !$bb_cfg['show_rank_image'], - - 'PINNED_FIRST_POST' => $t_data['topic_show_first_post'], - 'PIN_HREF' => $t_data['topic_show_first_post'] ? "modcp.php?t=$topic_id&mode=post_unpin" : "modcp.php?t=$topic_id&mode=post_pin", - 'PIN_TITLE' => $t_data['topic_show_first_post'] ? $lang['POST_UNPIN'] : $lang['POST_PIN'], - - 'AUTH_MOD' => $is_auth['auth_mod'], - 'IN_MODERATION' => $moderation, - 'SELECT_PPP' => ($moderation && $select_ppp && $total_replies > $posts_per_page) ? build_select('ppp', $select_ppp, $posts_per_page, null, null, 'onchange="$(\'#ppp\').submit();"') : '', - - 'S_SELECT_POST_DAYS' => build_select('postdays', array_flip($sel_previous_days), $post_days), - 'S_SELECT_POST_ORDER' => build_select('postorder', $sel_post_order_ary, $post_order), - 'S_POST_DAYS_ACTION' => "viewtopic.php?t=$topic_id&start=$start", - 'S_AUTH_LIST' => $s_auth_can, - 'S_TOPIC_ADMIN' => $topic_mod, - 'S_WATCH_TOPIC' => $s_watching_topic, - 'S_WATCH_TOPIC_IMG' => $s_watching_topic_img, - 'U_VIEW_TOPIC' => TOPIC_URL . $topic_id, - 'U_VIEW_FORUM' => $view_forum_url, - 'U_VIEW_OLDER_TOPIC' => $view_prev_topic_url, - 'U_VIEW_NEWER_TOPIC' => $view_next_topic_url, - 'U_POST_NEW_TOPIC' => $new_topic_url, - 'U_POST_REPLY_TOPIC' => $reply_topic_url, - 'U_SEARCH_SELF' => "search.php?uid={$userdata['user_id']}&t=$topic_id&dm=1", - - 'TOPIC_HAS_POLL' => $topic_has_poll, - 'POLL_IS_EDITABLE' => (!$poll_time_expired), - 'POLL_IS_FINISHED' => ($t_data['topic_vote'] == POLL_FINISHED), - 'CAN_MANAGE_POLL' => $can_manage_poll, - 'CAN_ADD_POLL' => $can_add_poll, -)); - -// Does this topic contain DL-List? -$template->assign_vars(array( - 'SHOW_TOR_ACT' => false, - 'PEERS_FULL_LINK' => false, - 'DL_LIST_HREF' => TOPIC_URL ."$topic_id&dl=names&spmode=full", -)); -require(INC_DIR .'torrent_show_dl_list.php'); - -if ($t_data['topic_attachment']) -{ - require(BB_ROOT .'attach_mod/attachment_mod.php'); - init_display_post_attachments($t_data['topic_attachment']); -} - -// -// Update the topic view counter -// -$sql = "INSERT INTO ". BUF_TOPIC_VIEW ." (topic_id, topic_views) VALUES ($topic_id, 1) ON DUPLICATE KEY UPDATE topic_views = topic_views + 1"; -if (!DB()->sql_query($sql)) -{ - bb_die('Could not update topic views'); -} - -// -// Does this topic contain a poll? -// -if ($topic_has_poll) -{ - $poll_votes_js = get_poll_data_items_js($topic_id); - - if (!$poll_votes_js) - { - $template->assign_vars(array( - 'TOPIC_HAS_POLL' => false, - )); - } - else - { - $template->assign_vars(array( - 'SHOW_VOTE_BTN' => poll_is_active($t_data), - 'POLL_VOTES_JS' => $poll_votes_js, - )); - } -} - -$prev_post_time = $max_post_time = 0; - -// Report -require_once(INC_DIR ."functions_report.php"); -$report_post = report_modules('name', 'report_post'); - -$this_date = bb_date(TIMENOW ,'md', false); - -for($i = 0; $i < $total_posts; $i++) -{ - $poster_id = $postrow[$i]['user_id']; - $poster = ($poster_id == GUEST_UID) ? $lang['GUEST'] : $postrow[$i]['username']; - $poster_birthday = ($poster_id != GUEST_UID) ? date('md', strtotime($postrow[$i]['user_birthday'])) : ''; - $post_date = bb_date($postrow[$i]['post_time'], $bb_cfg['post_date_format']); - $max_post_time = max($max_post_time, $postrow[$i]['post_time']); - $poster_posts = ($poster_id != GUEST_UID) ? $postrow[$i]['user_posts'] : ''; - $poster_from = ($postrow[$i]['user_from'] && $poster_id != GUEST_UID ) ? $postrow[$i]['user_from'] : ''; - $poster_joined = ($poster_id != GUEST_UID) ? $lang['JOINED'] . ': ' . bb_date($postrow[$i]['user_regdate'], $bb_cfg['date_format']) : ''; - $poster_longevity = ($poster_id != GUEST_UID) ? delta_time($postrow[$i]['user_regdate']) : ''; - $post_id = $postrow[$i]['post_id']; - $mc_type = $postrow[$i]['mc_type']; - $mc_comment = $postrow[$i]['mc_comment']; - $mc_user_id = profile_url(array('username' => $postrow[$i]['mc_username'], 'user_id' => $postrow[$i]['mc_user_id'], 'user_rank' => $postrow[$i]['mc_user_rank'])); - - $poster_avatar = ''; - if ( !$user->opt_js['h_av'] && $poster_id != GUEST_UID ) - { - $poster_avatar = get_avatar($poster_id, $postrow[$i]['avatar_ext_id'], !bf($postrow[$i]['user_opt'], 'user_opt', 'dis_avatar')); - } - - $poster_rank = $rank_image = ''; - $user_rank = $postrow[$i]['user_rank']; - if (!$user->opt_js['h_rnk_i'] AND isset($ranks[$user_rank])) - { - $rank_image = ($bb_cfg['show_rank_image'] && $ranks[$user_rank]['rank_image']) ? '' : ''; - $poster_rank = ($bb_cfg['show_rank_text']) ? $ranks[$user_rank]['rank_title'] : ''; - } - - // Handle anon users posting with usernames - if ($poster_id == GUEST_UID && $postrow[$i]['post_username'] != '') - { - $poster = $postrow[$i]['post_username']; - } - - // Buttons - $pm_btn = $profile_btn = $delpost_btn = $edit_btn = $ip_btn = $quote_btn = ''; - - if ($poster_id != GUEST_UID) - { - $profile_btn = true; - $pm_btn = true; - } - - if ($poster_id != BOT_UID) - { - $quote_btn = true; - $edit_btn = (($userdata['user_id'] == $poster_id && $is_auth['auth_edit']) || $is_auth['auth_mod']); - $ip_btn = ($is_auth['auth_mod'] || IS_MOD); - } - $delpost_btn = ($post_id != $t_data['topic_first_post_id'] && ($is_auth['auth_mod'] || ($userdata['user_id'] == $poster_id && $is_auth['auth_delete'] && $t_data['topic_last_post_id'] == $post_id && $postrow[$i]['post_time'] + 3600*3 > TIMENOW))); - - // Parse message and sig - $message = get_parsed_post($postrow[$i]); - - $user_sig = ($bb_cfg['allow_sig'] && !$user->opt_js['h_sig'] && $postrow[$i]['user_sig']) ? $postrow[$i]['user_sig'] : ''; - - if (bf($postrow[$i]['user_opt'], 'user_opt', 'dis_sig')) - { - $user_sig = $lang['SIGNATURE_DISABLE']; - } - elseif ($user_sig) - { - $user_sig = bbcode2html($user_sig); - } - - // Replace naughty words - if (count($orig_word)) - { - if ($user_sig) - { - $user_sig = str_replace('\"', '"', substr(@preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#se', "@preg_replace(\$orig_word, \$replacement_word, '\\0')", '>' . $user_sig . '<'), 1, -1)); - } - - $message = str_replace('\"', '"', substr(@preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#se', "@preg_replace(\$orig_word, \$replacement_word, '\\0')", '>' . $message . '<'), 1, -1)); - } - - // Replace newlines (we use this rather than nl2br because till recently it wasn't XHTML compliant) - if ($user_sig) - { - $user_sig = $bb_cfg['user_signature_start'] . $user_sig . $bb_cfg['user_signature_end']; - } - - // Editing information - if ($postrow[$i]['post_edit_count']) - { - $l_edit_time_total = ($postrow[$i]['post_edit_count'] == 1) ? $lang['EDITED_TIME_TOTAL'] : $lang['EDITED_TIMES_TOTAL']; - $l_edited_by = '

    ' . sprintf($l_edit_time_total, $poster, bb_date($postrow[$i]['post_edit_time']), $postrow[$i]['post_edit_count']); - } - else - { - $l_edited_by = ''; - } - - // Again this will be handled by the templating code at some point - $pg_row_class = !($i % 2) ? 'row2' : 'row1'; - - // Create report links - if ($report_post && $report_post->auth_check('auth_write')) - { - if ($postrow[$i]['post_reported']) - { - $report_auth = ($userdata['user_level'] == ADMIN || (!$bb_cfg['report_list_admin'] && (!$bb_cfg['report_subject_auth'] || $is_auth['auth_mod']))); - if ($report_post->auth_check('auth_view') && $report_auth) - { - $temp_url = "report.php?mode=reported&" . POST_CAT_URL . '=' . $report_post->id . '&id=' . $post_id; - $target = ($bb_cfg['report_new_window']) ? ' target="_blank"' : ''; - $report_img = '' . $report_post->lang['DUPLICATE_REPORT'] . ''; - $report = '[' . $report_post->lang['DUPLICATE_REPORT'] . ']'; - } - else - { - $report_img = '' . $report_post->lang['DUPLICATE_REPORT'] . ''; - $report = '['. $report_post->lang['DUPLICATE_REPORT'] .']'; - } - } - else - { - $temp_url = "report.php?mode=" . $report_post->mode . '&id=' . $post_id; - $report_img = '' . $report_post->lang['WRITE_REPORT'] . ''; - $report = '[' . $report_post->lang['WRITE_REPORT'] . ']'; - } - } - else - { - $report_img = $report = ''; - } - - // Mod comment - switch($mc_type) - { - case 1: // Комментарий - $mc_class = 'success'; - break; - case 2: // Информация - $mc_class = 'info'; - break; - case 3: // Предупреждение - $mc_class = 'warning'; - break; - case 4: // Нарушение - $mc_class = 'danger'; - break; - default: - $mc_class = ''; - break; - } - $mc_select_type = array(); - foreach ($lang['MC_COMMENT'] as $key => $value) - { - $mc_select_type[$key] = $value['type']; - } - - $template->assign_block_vars('postrow', array( - 'ROW_CLASS' => !($i % 2) ? 'row1' : 'row2', - 'POST_ID' => $post_id, - 'IS_NEWEST' => ($post_id == $newest), - 'POSTER_NAME' => profile_url(array('username' => $poster, 'user_rank' => $user_rank)), - 'POSTER_NAME_JS' => addslashes($poster), - 'POSTER_RANK' => $poster_rank, - 'RANK_IMAGE' => $rank_image, - 'POSTER_JOINED' => ($bb_cfg['show_poster_joined']) ? $poster_longevity : '', - - 'POSTER_JOINED_DATE' => $poster_joined, - 'POSTER_POSTS' => ($bb_cfg['show_poster_posts']) ? $poster_posts : '', - 'POSTER_FROM' => ($bb_cfg['show_poster_from']) ? wbr($poster_from) : '', - 'POSTER_BOT' => ($poster_id == BOT_UID), - 'POSTER_ID' => $poster_id, - 'POSTER_AUTHOR' => ($poster_id == $t_data['topic_poster']), - 'POSTER_GENDER' => ($bb_cfg['gender']) ? gender_image($postrow[$i]['user_gender']) : '', - 'POSTED_AFTER' => ($prev_post_time) ? delta_time($postrow[$i]['post_time'], $prev_post_time) : '', - 'IS_UNREAD' => is_unread($postrow[$i]['post_time'], $topic_id, $forum_id), - 'IS_FIRST_POST' => (!$start && ($post_id == $t_data['topic_first_post_id'])), - 'MOD_CHECKBOX' => ($moderation && ($start || defined('SPLIT_FORM_START'))), - 'POSTER_AVATAR' => $poster_avatar, - 'POST_NUMBER' => ($i + $start + 1), - 'POST_DATE' => $post_date, - 'MESSAGE' => $message, - 'SIGNATURE' => $user_sig, - 'EDITED_MESSAGE' => $l_edited_by, - - 'PM' => $pm_btn, - 'PROFILE' => $profile_btn, - - 'QUOTE' => $quote_btn, - 'EDIT' => $edit_btn, - 'DELETE' => $delpost_btn, - 'IP' => $ip_btn, - - 'REPORT' => ($bb_cfg['text_buttons']) ? $report : $report_img, - 'POSTER_BIRTHDAY' => ($bb_cfg['birthday_enabled'] && $this_date == $poster_birthday) ? '' : '', - - 'MC_COMMENT' => ($mc_type) ? bbcode2html($mc_comment) : '', - 'MC_BBCODE' => ($mc_type) ? $mc_comment : '', - 'MC_CLASS' => $mc_class, - 'MC_TITLE' => sprintf($lang['MC_COMMENT'][$mc_type]['title'], $mc_user_id), - 'MC_SELECT_TYPE' => build_select("mc_type_$post_id", array_flip($mc_select_type), $mc_type), - )); - - if ($postrow[$i]['post_attachment'] && $is_auth['auth_download'] && function_exists('display_post_attachments')) - { - display_post_attachments($post_id, $postrow[$i]['post_attachment']); - } - - if ($moderation && !defined('SPLIT_FORM_START') && ($start || $post_id == $t_data['topic_first_post_id'])) - { - define('SPLIT_FORM_START', TRUE); - } - - if ($poster_id != BOT_UID) - { - $prev_post_time = $postrow[$i]['post_time']; - } -} - -set_tracks(COOKIE_TOPIC, $tracking_topics, $topic_id, $max_post_time); - -if (defined('SPLIT_FORM_START')) -{ - $template->assign_vars(array( - 'SPLIT_FORM' => true, - 'START' => $start, - 'S_SPLIT_ACTION' => "modcp.php", - 'POST_FORUM_URL' => POST_FORUM_URL, - 'POST_TOPIC_URL' => POST_TOPIC_URL, - )); -} - -// Quick Reply -if ($bb_cfg['show_quick_reply']) -{ - if ($is_auth['auth_reply'] && !($t_data['forum_status'] == FORUM_LOCKED || $t_data['topic_status'] == TOPIC_LOCKED)) - { - $template->assign_vars(array( - 'QUICK_REPLY' => true, - 'QR_POST_ACTION' => POSTING_URL, - 'QR_TOPIC_ID' => $topic_id, - 'CAPTCHA_HTML' => (IS_GUEST) ? CAPTCHA()->get_html() : '', - )); - - if (!IS_GUEST) - { - $notify_user = bf($userdata['user_opt'], 'user_opt', 'user_notify'); - - $template->assign_vars(array( - 'QR_NOTIFY_CHECKED' => ($notify_user) ? $notify_user && $is_watching_topic : $is_watching_topic, - )); - } - } -} - -foreach($is_auth as $name => $is) -{ - $template->assign_vars(array(strtoupper($name) => $is)); -} - -$template->assign_vars(array( - 'PG_ROW_CLASS' => isset($pg_row_class) ? $pg_row_class : 'row1', -)); - -if (IS_ADMIN) -{ - $template->assign_vars(array( - 'U_LOGS' => "admin/admin_log.php?sid={$userdata['session_id']}&t=$topic_id&db=900", - )); -} - +enqueue(array( + 'ranks', +)); + +$page_cfg['load_tpl_vars'] = array( + 'post_buttons', + 'post_icons', + 'topic_icons', +); + +$newest = $next_topic_id = 0; +$start = isset($_GET['start']) ? abs(intval($_GET['start'])) : 0; +$topic_id = isset($_GET[POST_TOPIC_URL]) ? (int) $_GET[POST_TOPIC_URL] : 0; +$post_id = (!$topic_id && isset($_GET[POST_POST_URL])) ? (int) $_GET[POST_POST_URL] : 0; + +// Start session +$user->session_start(); + +set_die_append_msg(); + +// Posts per page +$posts_per_page = $bb_cfg['posts_per_page']; +$select_ppp = ''; + +if ($userdata['session_admin']) +{ + if ($req_ppp = abs(intval(@$_REQUEST['ppp'])) AND in_array($req_ppp, $bb_cfg['allowed_posts_per_page'])) + { + $posts_per_page = $req_ppp; + } + + $select_ppp = array(); + foreach ($bb_cfg['allowed_posts_per_page'] as $ppp) + { + $select_ppp[$ppp] = $ppp; + } +} + +if (isset($_REQUEST['single'])) +{ + $posts_per_page = 1; +} +else +{ + $start = floor($start/$posts_per_page) * $posts_per_page; +} + +if (!$topic_id && !$post_id) +{ + bb_die($lang['TOPIC_POST_NOT_EXIST']); +} + +$tracking_topics = get_tracks('topic'); +$tracking_forums = get_tracks('forum'); + +// Find topic id if user requested a newer or older topic +if ($topic_id && isset($_GET['view']) && ($_GET['view'] == 'next' || $_GET['view'] == 'previous')) +{ + $sql_condition = ($_GET['view'] == 'next') ? '>' : '<'; + $sql_ordering = ($_GET['view'] == 'next') ? 'ASC' : 'DESC'; + + $sql = "SELECT t.topic_id + FROM ". BB_TOPICS ." t, ". BB_TOPICS ." t2 + WHERE t2.topic_id = $topic_id + AND t.forum_id = t2.forum_id + AND t.topic_moved_id = 0 + AND t.topic_last_post_id $sql_condition t2.topic_last_post_id + ORDER BY t.topic_last_post_id $sql_ordering + LIMIT 1"; + + if ($row = DB()->fetch_row($sql)) + { + $next_topic_id = $topic_id = $row['topic_id']; + } + else + { + $message = ($_GET['view'] == 'next') ? $lang['NO_NEWER_TOPICS'] : $lang['NO_OLDER_TOPICS']; + bb_die($message); + } +} + +// Get forum/topic data +if ($topic_id) +{ + $sql = "SELECT t.*, f.*, tw.notify_status + FROM ". BB_TOPICS ." t + LEFT JOIN ". BB_FORUMS ." f USING(forum_id) + LEFT JOIN ". BB_TOPICS_WATCH ." tw ON(tw.topic_id = t.topic_id AND user_id = {$userdata['user_id']}) + WHERE t.topic_id = $topic_id + "; +} +elseif ($post_id) +{ + $sql = "SELECT t.*, f.*, p.post_time, tw.notify_status + FROM ". BB_TOPICS ." t + LEFT JOIN ". BB_FORUMS ." f USING(forum_id) + LEFT JOIN ". BB_POSTS ." p USING(topic_id) + LEFT JOIN ". BB_TOPICS_WATCH ." tw ON(tw.topic_id = t.topic_id AND user_id = {$userdata['user_id']}) + WHERE p.post_id = $post_id + "; +} +else +{ + bb_die($lang['TOPIC_POST_NOT_EXIST']); +} + +if (!$t_data = DB()->fetch_row($sql)) +{ + bb_die($lang['TOPIC_POST_NOT_EXIST']); +} + +$forum_topic_data =& $t_data; +$topic_id = $t_data['topic_id']; +$forum_id = $t_data['forum_id']; + +if($t_data['allow_porno_topic'] && bf($userdata['user_opt'], 'user_opt', 'user_porn_forums')) bb_die($lang['ERROR_PORNO_FORUM']); + +if ($userdata['session_admin'] && !empty($_REQUEST['mod'])) +{ + if (IS_ADMIN) + { + $datastore->enqueue(array('viewtopic_forum_select')); + } +} +if ($t_data['topic_attachment']) +{ + $datastore->enqueue(array( + 'attach_extensions', + )); +} + +// Find newest post +if (($next_topic_id || @$_GET['view'] === 'newest') && !IS_GUEST && $topic_id) +{ + $post_time = 'post_time >= '. get_last_read($topic_id, $forum_id); + $post_id_altern = ($next_topic_id) ? '' : ' OR post_id = '. $t_data['topic_last_post_id']; + + $sql = "SELECT post_id, post_time + FROM ". BB_POSTS ." + WHERE topic_id = $topic_id + AND ($post_time $post_id_altern) + ORDER BY post_time ASC + LIMIT 1"; + + if ($row = DB()->fetch_row($sql)) + { + $post_id = $newest = $row['post_id']; + $t_data['post_time'] = $row['post_time']; + } +} + +if ($post_id && !empty($t_data['post_time']) && ($t_data['topic_replies'] + 1) > $posts_per_page) +{ + $sql = "SELECT COUNT(post_id) AS prev_posts + FROM ". BB_POSTS ." + WHERE topic_id = $topic_id + AND post_time <= {$t_data['post_time']}"; + + if ($row = DB()->fetch_row($sql)) + { + $t_data['prev_posts'] = $row['prev_posts']; + } +} + +// Auth check +$is_auth = auth(AUTH_ALL, $forum_id, $userdata, $t_data); + +if (!$is_auth['auth_read']) +{ + if (IS_GUEST) + { + $redirect = ($post_id) ? POST_URL ."$post_id#$post_id" : TOPIC_URL . $topic_id; + $redirect .= ($start && !$post_id) ? "&start=$start" : ''; + redirect(LOGIN_URL . "?redirect=viewtopic.php&$redirect"); + } + bb_die($lang['TOPIC_POST_NOT_EXIST']); +} + +$forum_name = $t_data['forum_name']; +$topic_title = $t_data['topic_title']; +$topic_id = $t_data['topic_id']; +$topic_time = $t_data['topic_time']; + +$moderation = (!empty($_REQUEST['mod']) && $is_auth['auth_mod']); + +// Redirect to login page if not admin session +$mod_redirect_url = ''; + +if ($is_auth['auth_mod']) +{ + $redirect = isset($_POST['redirect']) ? $_POST['redirect'] : @$_SERVER['REQUEST_URI']; + $redirect = url_arg($redirect, 'mod', 1, '&'); + $mod_redirect_url = LOGIN_URL . "?redirect=$redirect&admin=1"; + + if ($moderation && !$userdata['session_admin']) + { + redirect($mod_redirect_url); + } +} + +if ($moderation) +{ + if (IS_ADMIN) + { + if (!$forum_select = $datastore->get('viewtopic_forum_select')) + { + $datastore->update('viewtopic_forum_select'); + $forum_select = $datastore->get('viewtopic_forum_select'); + } + $forum_select_html = $forum_select['viewtopic_forum_select']; + } + else + { + $not_auth_forums_csv = $user->get_not_auth_forums(AUTH_VIEW); + $forum_select_html = get_forum_select(explode(',', $not_auth_forums_csv), 'new_forum_id'); + } + $template->assign_vars(array( + 'S_FORUM_SELECT' => $forum_select_html, + )); +} + +if (!$forums = $datastore->get('cat_forums')) +{ + $datastore->update('cat_forums'); + $forums = $datastore->get('cat_forums'); +} + +$template->assign_vars(array( + 'CAT_TITLE' => $forums['cat_title_html'][$t_data['cat_id']], + 'U_VIEWCAT' => CAT_URL . $t_data['cat_id'], + 'PARENT_FORUM_HREF' => ($parent_id = $t_data['forum_parent']) ? FORUM_URL . $parent_id : '', + 'PARENT_FORUM_NAME' => ($parent_id = $t_data['forum_parent']) ? htmlCHR($forums['f'][$parent_id]['forum_name']) : '', +)); +unset($forums); +$datastore->rm('cat_forums'); + +if ($post_id && !empty($t_data['prev_posts'])) +{ + $start = floor(($t_data['prev_posts'] - 1) / $posts_per_page) * $posts_per_page; +} + +// +// Is user watching this thread? +// +$can_watch_topic = $is_watching_topic = false; + +if ($bb_cfg['topic_notify_enabled']) +{ + if ($userdata['session_logged_in']) + { + $can_watch_topic = TRUE; + + if (!empty($t_data['notify_status']) && $t_data['notify_status']) + { + if (isset($_GET['unwatch'])) + { + if ($_GET['unwatch'] == 'topic') + { + $is_watching_topic = 0; + + DB()->query("DELETE FROM ". BB_TOPICS_WATCH ." WHERE topic_id = $topic_id AND user_id = {$userdata['user_id']}"); + } + + set_die_append_msg($forum_id, $topic_id); + bb_die($lang['NO_LONGER_WATCHING']); + + } + else + { + $is_watching_topic = TRUE; + + if (!$t_data['notify_status']) + { + DB()->query("UPDATE ". BB_TOPICS_WATCH ." SET notify_status = ". TOPIC_WATCH_NOTIFIED ." WHERE topic_id = $topic_id AND user_id = {$userdata['user_id']}"); + } + } + } + else + { + if (isset($_GET['watch'])) + { + if ($_GET['watch'] == 'topic') + { + $is_watching_topic = TRUE; + + DB()->query(" + INSERT INTO ". BB_TOPICS_WATCH ." (user_id, topic_id, notify_status) + VALUES (". $userdata['user_id'] .", $topic_id, ". TOPIC_WATCH_NOTIFIED .") + "); + } + + set_die_append_msg($forum_id, $topic_id); + bb_die($lang['YOU_ARE_WATCHING']); + + } + else + { + $is_watching_topic = 0; + } + } + } + else + { + if (isset($_GET['unwatch'])) + { + if ($_GET['unwatch'] == 'topic') + { + redirect(LOGIN_URL . "?redirect=viewtopic.php&t=$topic_id&unwatch=topic"); + } + } + } +} + +// Generate a 'Show posts in previous x days' select box. If the postdays var is POSTed +// then get it's value, find the number of topics with dates newer than it (to properly +// handle pagination) and alter the main query +$post_days = 0; +$limit_posts_time = ''; +$total_replies = $t_data['topic_replies'] + 1; + +if (!empty($_REQUEST['postdays'])) +{ + if ($post_days = abs(intval($_REQUEST['postdays']))) + { + if (!empty($_POST['postdays'])) + { + $start = 0; + } + $min_post_time = TIMENOW - ($post_days*86400); + + $sql = "SELECT COUNT(p.post_id) AS num_posts + FROM " . BB_TOPICS . " t, " . BB_POSTS . " p + WHERE t.topic_id = $topic_id + AND p.topic_id = t.topic_id + AND p.post_time > $min_post_time"; + + $total_replies = ($row = DB()->fetch_row($sql)) ? $row['num_posts'] : 0; + $limit_posts_time = "AND p.post_time >= $min_post_time "; + } +} + +// Decide how to order the post display +$post_order = (isset($_POST['postorder']) && $_POST['postorder'] !== 'asc') ? 'desc' : 'asc'; + +// +// Go ahead and pull all data for this topic +// +// 1. Add first post of topic if it pinned and page of topic not first +$first_post = false; +if ($t_data['topic_show_first_post'] && $start) +{ + $first_post = DB()->fetch_rowset(" + SELECT + u.username, u.user_id, u.user_rank, u.user_posts, u.user_from, + u.user_regdate, u.user_sig, + u.avatar_ext_id, + u.user_opt, u.user_gender, u.user_birthday, + p.*, + u2.username as mc_username, u2.user_rank as mc_user_rank, + h.post_html, IF(h.post_html IS NULL, pt.post_text, NULL) AS post_text + FROM ". BB_POSTS ." p + LEFT JOIN ". BB_USERS ." u ON(u.user_id = p.poster_id) + LEFT JOIN ". BB_POSTS_TEXT ." pt ON(pt.post_id = p.post_id) + LEFT JOIN ". BB_POSTS_HTML ." h ON(h.post_id = p.post_id) + LEFT JOIN ". BB_USERS ." u2 ON(u2.user_id = p.mc_user_id) + WHERE + p.post_id = {$t_data['topic_first_post_id']} + LIMIT 1 + "); +} +// 2. All others posts +$sql = " + SELECT + u.username, u.user_id, u.user_rank, u.user_posts, u.user_from, + u.user_regdate, u.user_sig, + u.avatar_ext_id, + u.user_opt, u.user_gender, u.user_birthday, + p.*, + u2.username as mc_username, u2.user_rank as mc_user_rank, + h.post_html, IF(h.post_html IS NULL, pt.post_text, NULL) AS post_text + FROM ". BB_POSTS ." p + LEFT JOIN ". BB_USERS ." u ON(u.user_id = p.poster_id) + LEFT JOIN ". BB_POSTS_TEXT ." pt ON(pt.post_id = p.post_id) + LEFT JOIN ". BB_POSTS_HTML ." h ON(h.post_id = p.post_id) + LEFT JOIN ". BB_USERS ." u2 ON(u2.user_id = p.mc_user_id) + WHERE p.topic_id = $topic_id + $limit_posts_time + GROUP BY p.post_id + ORDER BY p.post_time $post_order + LIMIT $start, $posts_per_page +"; + +if ($postrow = DB()->fetch_rowset($sql)) +{ + if ($first_post) $postrow = array_merge($first_post, $postrow); + $total_posts = count($postrow); +} +else +{ + bb_die($lang['NO_POSTS_TOPIC']); +} + +if (!$ranks = $datastore->get('ranks')) +{ + $datastore->update('ranks'); + $ranks = $datastore->get('ranks'); +} + +// +// Define censored word matches +// +$orig_word = $replacement_word = array(); +obtain_word_list($orig_word, $replacement_word); + +// +// Censor topic title +// +if ( count($orig_word) ) +{ + $topic_title = preg_replace($orig_word, $replacement_word, $topic_title); +} + +// +// Post, reply and other URL generation for +// templating vars +// +$new_topic_url = POSTING_URL . "?mode=newtopic&f=$forum_id"; +$reply_topic_url = POSTING_URL . "?mode=reply&t=$topic_id"; +$view_forum_url = "viewforum.php?f=$forum_id"; +$view_prev_topic_url = "viewtopic.php?t=$topic_id&view=previous#newest"; +$view_next_topic_url = "viewtopic.php?t=$topic_id&view=next#newest"; + +$reply_img = ( $t_data['forum_status'] == FORUM_LOCKED || $t_data['topic_status'] == TOPIC_LOCKED) ? $images['reply_locked'] : $images['reply_new']; +$reply_alt = ( $t_data['forum_status'] == FORUM_LOCKED || $t_data['topic_status'] == TOPIC_LOCKED) ? $lang['TOPIC_LOCKED_SHORT'] : $lang['REPLY_TO_TOPIC']; + +// Set 'body' template for attach_mod +$template->set_filenames(array('body' => 'viewtopic.tpl')); + +// +// User authorisation levels output +// +$s_auth_can = ( ( $is_auth['auth_post'] ) ? $lang['RULES_POST_CAN'] : $lang['RULES_POST_CANNOT'] ) . '
    '; +$s_auth_can .= ( ( $is_auth['auth_reply'] ) ? $lang['RULES_REPLY_CAN'] : $lang['RULES_REPLY_CANNOT'] ) . '
    '; +$s_auth_can .= ( ( $is_auth['auth_edit'] ) ? $lang['RULES_EDIT_CAN'] : $lang['RULES_EDIT_CANNOT'] ) . '
    '; +$s_auth_can .= ( ( $is_auth['auth_delete'] ) ? $lang['RULES_DELETE_CAN'] : $lang['RULES_DELETE_CANNOT'] ) . '
    '; +$s_auth_can .= ( ( $is_auth['auth_vote'] ) ? $lang['RULES_VOTE_CAN'] : $lang['RULES_VOTE_CANNOT'] ) . '
    '; +$s_auth_can .= ( ($is_auth['auth_attachments'] ) ? $lang['RULES_ATTACH_CAN'] : $lang['RULES_ATTACH_CANNOT'] ) . '
    '; +$s_auth_can .= ( ($is_auth['auth_download'] ) ? $lang['RULES_DOWNLOAD_CAN'] : $lang['RULES_DOWNLOAD_CANNOT'] ) . '
    '; + +$topic_mod = ''; + +if ( $is_auth['auth_mod'] ) +{ + $s_auth_can .= $lang['RULES_MODERATE']; + $topic_mod .= "' . $lang['DELETE_TOPIC'] . ' '; + $topic_mod .= "' . $lang['MOVE_TOPIC'] . ' '; + $topic_mod .= ( $t_data['topic_status'] == TOPIC_UNLOCKED ) ? "' . $lang['LOCK_TOPIC'] . ' ' : "' . $lang['UNLOCK_TOPIC'] . ' '; + $topic_mod .= "' . $lang['SPLIT_TOPIC'] . ' '; + + if ($t_data['allow_reg_tracker'] || $t_data['topic_dl_type'] == TOPIC_DL_TYPE_DL || IS_ADMIN) + { + if ($t_data['topic_dl_type'] == TOPIC_DL_TYPE_DL) + { + $topic_mod .= "' . $lang['UNSET_DL_STATUS'] . ''; + } + else + { + $topic_mod .= "' . $lang['SET_DL_STATUS'] . ''; + } + } +} +elseif (($t_data['topic_poster'] == $userdata['user_id']) && $userdata['session_logged_in'] && $t_data['self_moderated']) +{ + $topic_mod .= "' . $lang['MOVE_TOPIC'] . ' '; +} + +// Get report topic module and create report link +require_once(INC_DIR ."functions_report.php"); +$report_topic = report_modules('name', 'report_topic'); + +if ($report_topic && $report_topic->auth_check('auth_write')) +{ + if ($forum_topic_data['topic_reported']) + { + $report_auth = ($userdata['user_level'] == ADMIN || (!$bb_cfg['report_list_admin'] && (!$bb_cfg['report_subject_auth'] || $is_auth['auth_mod']))); + if ($report_topic->auth_check('auth_view') && $is_auth) + { + $target = ($bb_cfg['report_new_window']) ? ' target="_blank"' : ''; + $s_report_topic =' ' . $report_topic->lang['DUPLICATE_REPORT'] . ' '; + } + else + { + $s_report_topic = ' ' . $report_topic->lang['DUPLICATE_REPORT'] . ' '; + } + } + else + { + $s_report_topic = ' ' . $report_topic->lang['WRITE_REPORT'] . ' '; + } + + $topic_mod .= $s_report_topic; + $template->assign_var('S_REPORT_TOPIC', $s_report_topic); +} + +// +// Topic watch information +// +$s_watching_topic = $s_watching_topic_img = ''; +if ( $can_watch_topic ) +{ + if ( $is_watching_topic ) + { + $s_watching_topic = "' . $lang['STOP_WATCHING_TOPIC'] . ''; + $s_watching_topic_img = ( isset($images['topic_un_watch']) ) ? "' . $lang['STOP_WATCHING_TOPIC'] . '' : ''; + } + else + { + $s_watching_topic = "' . $lang['START_WATCHING_TOPIC'] . ''; + $s_watching_topic_img = ( isset($images['Topic_watch']) ) ? "' . $lang['START_WATCHING_TOPIC'] . '' : ''; + } +} + +// If we've got a hightlight set pass it on to pagination, +$pg_url = TOPIC_URL . $topic_id; +$pg_url .= ($post_days) ? "&postdays=$post_days" : ''; +$pg_url .= ($post_order != 'asc') ? "&postorder=$post_order" : ''; +$pg_url .= isset($_REQUEST['single']) ? "&single=1" : ''; +$pg_url .= ($moderation) ? "&mod=1" : ''; +$pg_url .= ($posts_per_page != $bb_cfg['posts_per_page']) ? "&ppp=$posts_per_page" : ''; + +generate_pagination($pg_url, $total_replies, $posts_per_page, $start); + +// +// Selects +// +$sel_previous_days = array( + 0 => $lang['ALL_POSTS'], + 1 => $lang['1_DAY'], + 7 => $lang['7_DAYS'], + 14 => $lang['2_WEEKS'], + 30 => $lang['1_MONTH'], + 90 => $lang['3_MONTHS'], + 180 => $lang['6_MONTHS'], + 364 => $lang['1_YEAR'], +); + +$sel_post_order_ary = array( + $lang['OLDEST_FIRST'] => 'asc', + $lang['NEWEST_FIRST'] => 'desc', +); + +$topic_has_poll = ($t_data['topic_vote'] && !IS_GUEST); +$poll_time_expired = ($t_data['topic_time'] < TIMENOW - $bb_cfg['poll_max_days']*86400); +$can_manage_poll = ($t_data['topic_poster'] == $userdata['user_id'] || $is_auth['auth_mod']); +$can_add_poll = ($can_manage_poll && !$topic_has_poll && !$poll_time_expired && !$start); + +// +// Send vars to template +// +$template->assign_vars(array( + 'PAGE_URL' => $pg_url, + 'PAGE_URL_PPP' => url_arg($pg_url, 'ppp', null), + 'PAGE_START' => $start, + 'SHOW_JUMPBOX' => true, + + 'FORUM_ID' => $forum_id, + 'FORUM_NAME' => htmlCHR($forum_name), + 'TOPIC_ID' => $topic_id, + 'PAGE_TITLE' => $topic_title, + 'TOPIC_TITLE' => wbr($topic_title), + 'PORNO_FORUM' => $t_data['allow_porno_topic'], + 'REPLY_IMG' => $reply_img, + 'SHOW_BOT_NICK' => $bb_cfg['show_bot_nick'], + 'T_POST_REPLY' => $reply_alt, + + 'HIDE_AVATAR' => $user->opt_js['h_av'], + 'HIDE_RANK_IMG' => ($user->opt_js['h_rnk_i'] && $bb_cfg['show_rank_image']), + 'HIDE_POST_IMG' => $user->opt_js['h_post_i'], + 'HIDE_SMILE' => $user->opt_js['h_smile'], + 'HIDE_SIGNATURE' => $user->opt_js['h_sig'], + 'SPOILER_OPENED' => $user->opt_js['sp_op'], + 'SHOW_IMG_AFTER_LOAD' => $user->opt_js['i_aft_l'], + + 'HIDE_RANK_IMG_DIS' => !$bb_cfg['show_rank_image'], + + 'PINNED_FIRST_POST' => $t_data['topic_show_first_post'], + 'PIN_HREF' => $t_data['topic_show_first_post'] ? "modcp.php?t=$topic_id&mode=post_unpin" : "modcp.php?t=$topic_id&mode=post_pin", + 'PIN_TITLE' => $t_data['topic_show_first_post'] ? $lang['POST_UNPIN'] : $lang['POST_PIN'], + + 'AUTH_MOD' => $is_auth['auth_mod'], + 'IN_MODERATION' => $moderation, + 'SELECT_PPP' => ($moderation && $select_ppp && $total_replies > $posts_per_page) ? build_select('ppp', $select_ppp, $posts_per_page, null, null, 'onchange="$(\'#ppp\').submit();"') : '', + + 'S_SELECT_POST_DAYS' => build_select('postdays', array_flip($sel_previous_days), $post_days), + 'S_SELECT_POST_ORDER' => build_select('postorder', $sel_post_order_ary, $post_order), + 'S_POST_DAYS_ACTION' => "viewtopic.php?t=$topic_id&start=$start", + 'S_AUTH_LIST' => $s_auth_can, + 'S_TOPIC_ADMIN' => $topic_mod, + 'S_WATCH_TOPIC' => $s_watching_topic, + 'S_WATCH_TOPIC_IMG' => $s_watching_topic_img, + 'U_VIEW_TOPIC' => TOPIC_URL . $topic_id, + 'U_VIEW_FORUM' => $view_forum_url, + 'U_VIEW_OLDER_TOPIC' => $view_prev_topic_url, + 'U_VIEW_NEWER_TOPIC' => $view_next_topic_url, + 'U_POST_NEW_TOPIC' => $new_topic_url, + 'U_POST_REPLY_TOPIC' => $reply_topic_url, + 'U_SEARCH_SELF' => "search.php?uid={$userdata['user_id']}&t=$topic_id&dm=1", + + 'TOPIC_HAS_POLL' => $topic_has_poll, + 'POLL_IS_EDITABLE' => (!$poll_time_expired), + 'POLL_IS_FINISHED' => ($t_data['topic_vote'] == POLL_FINISHED), + 'CAN_MANAGE_POLL' => $can_manage_poll, + 'CAN_ADD_POLL' => $can_add_poll, +)); + +// Does this topic contain DL-List? +$template->assign_vars(array( + 'SHOW_TOR_ACT' => false, + 'PEERS_FULL_LINK' => false, + 'DL_LIST_HREF' => TOPIC_URL ."$topic_id&dl=names&spmode=full", +)); +require(INC_DIR .'torrent_show_dl_list.php'); + +if ($t_data['topic_attachment']) +{ + require(BB_ROOT .'attach_mod/attachment_mod.php'); + init_display_post_attachments($t_data['topic_attachment']); +} + +// +// Update the topic view counter +// +$sql = "INSERT INTO ". BUF_TOPIC_VIEW ." (topic_id, topic_views) VALUES ($topic_id, 1) ON DUPLICATE KEY UPDATE topic_views = topic_views + 1"; +if (!DB()->sql_query($sql)) +{ + bb_die('Could not update topic views'); +} + +// +// Does this topic contain a poll? +// +if ($topic_has_poll) +{ + $poll_votes_js = get_poll_data_items_js($topic_id); + + if (!$poll_votes_js) + { + $template->assign_vars(array( + 'TOPIC_HAS_POLL' => false, + )); + } + else + { + $template->assign_vars(array( + 'SHOW_VOTE_BTN' => poll_is_active($t_data), + 'POLL_VOTES_JS' => $poll_votes_js, + )); + } +} + +$prev_post_time = $max_post_time = 0; + +// Report +require_once(INC_DIR ."functions_report.php"); +$report_post = report_modules('name', 'report_post'); + +$this_date = bb_date(TIMENOW ,'md', false); + +for($i = 0; $i < $total_posts; $i++) +{ + $poster_id = $postrow[$i]['user_id']; + $poster = ($poster_id == GUEST_UID) ? $lang['GUEST'] : $postrow[$i]['username']; + $poster_birthday = ($poster_id != GUEST_UID) ? date('md', strtotime($postrow[$i]['user_birthday'])) : ''; + $post_date = bb_date($postrow[$i]['post_time'], $bb_cfg['post_date_format']); + $max_post_time = max($max_post_time, $postrow[$i]['post_time']); + $poster_posts = ($poster_id != GUEST_UID) ? $postrow[$i]['user_posts'] : ''; + $poster_from = ($postrow[$i]['user_from'] && $poster_id != GUEST_UID ) ? $postrow[$i]['user_from'] : ''; + $poster_joined = ($poster_id != GUEST_UID) ? $lang['JOINED'] . ': ' . bb_date($postrow[$i]['user_regdate'], $bb_cfg['date_format']) : ''; + $poster_longevity = ($poster_id != GUEST_UID) ? delta_time($postrow[$i]['user_regdate']) : ''; + $post_id = $postrow[$i]['post_id']; + $mc_type = $postrow[$i]['mc_type']; + $mc_comment = $postrow[$i]['mc_comment']; + $mc_user_id = profile_url(array('username' => $postrow[$i]['mc_username'], 'user_id' => $postrow[$i]['mc_user_id'], 'user_rank' => $postrow[$i]['mc_user_rank'])); + + $poster_avatar = ''; + if ( !$user->opt_js['h_av'] && $poster_id != GUEST_UID ) + { + $poster_avatar = get_avatar($poster_id, $postrow[$i]['avatar_ext_id'], !bf($postrow[$i]['user_opt'], 'user_opt', 'dis_avatar')); + } + + $poster_rank = $rank_image = ''; + $user_rank = $postrow[$i]['user_rank']; + if (!$user->opt_js['h_rnk_i'] AND isset($ranks[$user_rank])) + { + $rank_image = ($bb_cfg['show_rank_image'] && $ranks[$user_rank]['rank_image']) ? '' : ''; + $poster_rank = ($bb_cfg['show_rank_text']) ? $ranks[$user_rank]['rank_title'] : ''; + } + + // Handle anon users posting with usernames + if ($poster_id == GUEST_UID && $postrow[$i]['post_username'] != '') + { + $poster = $postrow[$i]['post_username']; + } + + // Buttons + $pm_btn = $profile_btn = $delpost_btn = $edit_btn = $ip_btn = $quote_btn = ''; + + if ($poster_id != GUEST_UID) + { + $profile_btn = true; + $pm_btn = true; + } + + if ($poster_id != BOT_UID) + { + $quote_btn = true; + $edit_btn = (($userdata['user_id'] == $poster_id && $is_auth['auth_edit']) || $is_auth['auth_mod']); + $ip_btn = ($is_auth['auth_mod'] || IS_MOD); + } + $delpost_btn = ($post_id != $t_data['topic_first_post_id'] && ($is_auth['auth_mod'] || ($userdata['user_id'] == $poster_id && $is_auth['auth_delete'] && $t_data['topic_last_post_id'] == $post_id && $postrow[$i]['post_time'] + 3600*3 > TIMENOW))); + + // Parse message and sig + $message = get_parsed_post($postrow[$i]); + + $user_sig = ($bb_cfg['allow_sig'] && !$user->opt_js['h_sig'] && $postrow[$i]['user_sig']) ? $postrow[$i]['user_sig'] : ''; + + if (bf($postrow[$i]['user_opt'], 'user_opt', 'dis_sig')) + { + $user_sig = $lang['SIGNATURE_DISABLE']; + } + elseif ($user_sig) + { + $user_sig = bbcode2html($user_sig); + } + + // Replace naughty words + if (count($orig_word)) + { + if ($user_sig) + { + $user_sig = str_replace('\"', '"', substr(@preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#se', "@preg_replace(\$orig_word, \$replacement_word, '\\0')", '>' . $user_sig . '<'), 1, -1)); + } + + $message = str_replace('\"', '"', substr(@preg_replace('#(\>(((?>([^><]+|(?R)))*)\<))#se', "@preg_replace(\$orig_word, \$replacement_word, '\\0')", '>' . $message . '<'), 1, -1)); + } + + // Replace newlines (we use this rather than nl2br because till recently it wasn't XHTML compliant) + if ($user_sig) + { + $user_sig = $bb_cfg['user_signature_start'] . $user_sig . $bb_cfg['user_signature_end']; + } + + // Editing information + if ($postrow[$i]['post_edit_count']) + { + $l_edit_time_total = ($postrow[$i]['post_edit_count'] == 1) ? $lang['EDITED_TIME_TOTAL'] : $lang['EDITED_TIMES_TOTAL']; + $l_edited_by = '

    ' . sprintf($l_edit_time_total, $poster, bb_date($postrow[$i]['post_edit_time']), $postrow[$i]['post_edit_count']); + } + else + { + $l_edited_by = ''; + } + + // Again this will be handled by the templating code at some point + $pg_row_class = !($i % 2) ? 'row2' : 'row1'; + + // Create report links + if ($report_post && $report_post->auth_check('auth_write')) + { + if ($postrow[$i]['post_reported']) + { + $report_auth = ($userdata['user_level'] == ADMIN || (!$bb_cfg['report_list_admin'] && (!$bb_cfg['report_subject_auth'] || $is_auth['auth_mod']))); + if ($report_post->auth_check('auth_view') && $report_auth) + { + $temp_url = "report.php?mode=reported&" . POST_CAT_URL . '=' . $report_post->id . '&id=' . $post_id; + $target = ($bb_cfg['report_new_window']) ? ' target="_blank"' : ''; + $report_img = '' . $report_post->lang['DUPLICATE_REPORT'] . ''; + $report = '[' . $report_post->lang['DUPLICATE_REPORT'] . ']'; + } + else + { + $report_img = '' . $report_post->lang['DUPLICATE_REPORT'] . ''; + $report = '['. $report_post->lang['DUPLICATE_REPORT'] .']'; + } + } + else + { + $temp_url = "report.php?mode=" . $report_post->mode . '&id=' . $post_id; + $report_img = '' . $report_post->lang['WRITE_REPORT'] . ''; + $report = '[' . $report_post->lang['WRITE_REPORT'] . ']'; + } + } + else + { + $report_img = $report = ''; + } + + // Mod comment + switch($mc_type) + { + case 1: // Комментарий + $mc_class = 'success'; + break; + case 2: // Информация + $mc_class = 'info'; + break; + case 3: // Предупреждение + $mc_class = 'warning'; + break; + case 4: // Нарушение + $mc_class = 'danger'; + break; + default: + $mc_class = ''; + break; + } + $mc_select_type = array(); + foreach ($lang['MC_COMMENT'] as $key => $value) + { + $mc_select_type[$key] = $value['type']; + } + + $template->assign_block_vars('postrow', array( + 'ROW_CLASS' => !($i % 2) ? 'row1' : 'row2', + 'POST_ID' => $post_id, + 'IS_NEWEST' => ($post_id == $newest), + 'POSTER_NAME' => profile_url(array('username' => $poster, 'user_rank' => $user_rank)), + 'POSTER_NAME_JS' => addslashes($poster), + 'POSTER_RANK' => $poster_rank, + 'RANK_IMAGE' => $rank_image, + 'POSTER_JOINED' => ($bb_cfg['show_poster_joined']) ? $poster_longevity : '', + + 'POSTER_JOINED_DATE' => $poster_joined, + 'POSTER_POSTS' => ($bb_cfg['show_poster_posts']) ? $poster_posts : '', + 'POSTER_FROM' => ($bb_cfg['show_poster_from']) ? wbr($poster_from) : '', + 'POSTER_BOT' => ($poster_id == BOT_UID), + 'POSTER_ID' => $poster_id, + 'POSTER_AUTHOR' => ($poster_id == $t_data['topic_poster']), + 'POSTER_GENDER' => ($bb_cfg['gender']) ? gender_image($postrow[$i]['user_gender']) : '', + 'POSTED_AFTER' => ($prev_post_time) ? delta_time($postrow[$i]['post_time'], $prev_post_time) : '', + 'IS_UNREAD' => is_unread($postrow[$i]['post_time'], $topic_id, $forum_id), + 'IS_FIRST_POST' => (!$start && ($post_id == $t_data['topic_first_post_id'])), + 'MOD_CHECKBOX' => ($moderation && ($start || defined('SPLIT_FORM_START'))), + 'POSTER_AVATAR' => $poster_avatar, + 'POST_NUMBER' => ($i + $start + 1), + 'POST_DATE' => $post_date, + 'MESSAGE' => $message, + 'SIGNATURE' => $user_sig, + 'EDITED_MESSAGE' => $l_edited_by, + + 'PM' => $pm_btn, + 'PROFILE' => $profile_btn, + + 'QUOTE' => $quote_btn, + 'EDIT' => $edit_btn, + 'DELETE' => $delpost_btn, + 'IP' => $ip_btn, + + 'REPORT' => ($bb_cfg['text_buttons']) ? $report : $report_img, + 'POSTER_BIRTHDAY' => ($bb_cfg['birthday_enabled'] && $this_date == $poster_birthday) ? '' : '', + + 'MC_COMMENT' => ($mc_type) ? bbcode2html($mc_comment) : '', + 'MC_BBCODE' => ($mc_type) ? $mc_comment : '', + 'MC_CLASS' => $mc_class, + 'MC_TITLE' => sprintf($lang['MC_COMMENT'][$mc_type]['title'], $mc_user_id), + 'MC_SELECT_TYPE' => build_select("mc_type_$post_id", array_flip($mc_select_type), $mc_type), + )); + + if ($postrow[$i]['post_attachment'] && $is_auth['auth_download'] && function_exists('display_post_attachments')) + { + display_post_attachments($post_id, $postrow[$i]['post_attachment']); + } + + if ($moderation && !defined('SPLIT_FORM_START') && ($start || $post_id == $t_data['topic_first_post_id'])) + { + define('SPLIT_FORM_START', TRUE); + } + + if ($poster_id != BOT_UID) + { + $prev_post_time = $postrow[$i]['post_time']; + } +} + +set_tracks(COOKIE_TOPIC, $tracking_topics, $topic_id, $max_post_time); + +if (defined('SPLIT_FORM_START')) +{ + $template->assign_vars(array( + 'SPLIT_FORM' => true, + 'START' => $start, + 'S_SPLIT_ACTION' => "modcp.php", + 'POST_FORUM_URL' => POST_FORUM_URL, + 'POST_TOPIC_URL' => POST_TOPIC_URL, + )); +} + +// Quick Reply +if ($bb_cfg['show_quick_reply']) +{ + if ($is_auth['auth_reply'] && !($t_data['forum_status'] == FORUM_LOCKED || $t_data['topic_status'] == TOPIC_LOCKED)) + { + $template->assign_vars(array( + 'QUICK_REPLY' => true, + 'QR_POST_ACTION' => POSTING_URL, + 'QR_TOPIC_ID' => $topic_id, + 'CAPTCHA_HTML' => (IS_GUEST) ? CAPTCHA()->get_html() : '', + )); + + if (!IS_GUEST) + { + $notify_user = bf($userdata['user_opt'], 'user_opt', 'user_notify'); + + $template->assign_vars(array( + 'QR_NOTIFY_CHECKED' => ($notify_user) ? $notify_user && $is_watching_topic : $is_watching_topic, + )); + } + } +} + +foreach($is_auth as $name => $is) +{ + $template->assign_vars(array(strtoupper($name) => $is)); +} + +$template->assign_vars(array( + 'PG_ROW_CLASS' => isset($pg_row_class) ? $pg_row_class : 'row1', +)); + +if (IS_ADMIN) +{ + $template->assign_vars(array( + 'U_LOGS' => "admin/admin_log.php?sid={$userdata['session_id']}&t=$topic_id&db=900", + )); +} + print_page('viewtopic.tpl'); \ No newline at end of file From 789118206231b0312571cf0b62823bb253c36065 Mon Sep 17 00:00:00 2001 From: Exile Date: Sat, 2 Aug 2014 16:21:53 +0400 Subject: [PATCH 06/32] r593 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Отступы. --- upload/templates/default/viewtopic.tpl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/upload/templates/default/viewtopic.tpl b/upload/templates/default/viewtopic.tpl index fadfed052..803e60373 100644 --- a/upload/templates/default/viewtopic.tpl +++ b/upload/templates/default/viewtopic.tpl @@ -42,8 +42,8 @@ ajax.callback.posts = function(data) { if(data.html){ $('#pp_'+ data.post_id).show().html(data.html); initPostBBCode('#pp_'+ data.post_id); - $('#pe_'+ data.post_id).hide(); - ajax.open_edit = false; + $('#pe_'+ data.post_id).hide(); + ajax.open_edit = false; } else if(data.text){ ajax.open_edit = data.post_id; $('#pe_'+ data.post_id).html(data.text); @@ -54,10 +54,10 @@ ajax.callback.posts = function(data) { $('tbody#post_'+ data.post_id).hide(); } if(data.quote) $('textarea#message').attr('value', $('textarea#message').val() + data.message +' ').focus(); - if(data.message_html){ - $('#view_message').show(); - $('.view-message').html(data.message_html); - initPostBBCode('.view-message'); + if(data.message_html){ + $('#view_message').show(); + $('.view-message').html(data.message_html); + initPostBBCode('.view-message'); var maxH = screen.height - 490; $('.view-message').css({ maxHeight: maxH }); } From 375f9c2dd26cc1b67f357b36e1b7a9fa59e09df7 Mon Sep 17 00:00:00 2001 From: Exile Date: Sat, 2 Aug 2014 19:08:21 +0400 Subject: [PATCH 07/32] r593 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Фикс задачи удаления неактивных пользователей. --- .../cron/jobs/prune_inactive_users.php | 47 ++++++++----------- 1 file changed, 20 insertions(+), 27 deletions(-) diff --git a/upload/includes/cron/jobs/prune_inactive_users.php b/upload/includes/cron/jobs/prune_inactive_users.php index bbf9b1964..83c1897ee 100644 --- a/upload/includes/cron/jobs/prune_inactive_users.php +++ b/upload/includes/cron/jobs/prune_inactive_users.php @@ -6,10 +6,7 @@ $users_per_cycle = 1000; require_once(INC_DIR .'functions_admin.php'); -$excluded_users = join(',', array( - GUEST_UID, - BOT_UID, -)); +$not_del_users = EXCLUDED_USERS_CSV; while (true) { @@ -19,32 +16,30 @@ while (true) if ($not_activated_days = intval($bb_cfg['user_not_activated_days_keep'])) { - $sql = " - SELECT user_id - FROM ". BB_USERS ." - WHERE user_active = 0 - AND user_lastvisit = 0 - AND user_regdate < ". (TIMENOW - 86400*$not_activated_days) ." - AND user_id NOT IN($excluded_users) - LIMIT $users_per_cycle - "; - foreach (DB()->fetch_rowset($sql) as $row) + $sql = DB()->fetch_rowset("SELECT user_id FROM ". BB_USERS ." + WHERE user_level = 0 + AND user_lastvisit = 0 + AND user_session_time = 0 + AND user_regdate <= ". (TIMENOW - 86400 * $not_activated_days) ." + AND user_id NOT IN($not_del_users) + LIMIT $users_per_cycle"); + + foreach ($sql as $row) { $not_activated_users[] = $row['user_id']; } } + if ($not_active_days = intval($bb_cfg['user_not_active_days_keep'])) { - $sql = " - SELECT user_id - FROM ". BB_USERS ." - WHERE user_active = 1 - AND user_posts = 0 - AND user_lastvisit < ". (TIMENOW - 86400*$not_active_days) ." - AND user_id NOT IN($excluded_users) - LIMIT $users_per_cycle - "; - foreach (DB()->fetch_rowset($sql) as $row) + $sql = DB()->fetch_rowset("SELECT user_id FROM ". BB_USERS ." + WHERE user_level = 0 + AND user_posts = 0 + AND user_lastvisit <= ". (TIMENOW - 86400 * $not_active_days) ." + AND user_id NOT IN($not_del_users) + LIMIT $users_per_cycle"); + + foreach ($sql as $row) { $not_active_users[] = $row['user_id']; } @@ -61,6 +56,4 @@ while (true) } sleep(3); -} - -unset($prune_users, $not_activated_users, $not_active_users); \ No newline at end of file +} \ No newline at end of file From f0317fa7c29fd79bd6d9d10de532f310a14bad46 Mon Sep 17 00:00:00 2001 From: Exile Date: Sat, 2 Aug 2014 21:11:49 +0400 Subject: [PATCH 08/32] r593 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Добавлена карта сайта. Необходимо протестировать работоспособность и локализовать. --- install/sql/mysql.sql | 3 + readme.txt | 4 +- upload/admin/admin_sitemap.php | 52 +++++ upload/ajax.php | 10 + upload/ajax/sitemap.php | 64 +++++++ upload/includes/class.sitemap.php | 229 +++++++++++++++++++++++ upload/includes/cron/jobs/sitemap.php | 19 ++ upload/sitemap/.keep | 0 upload/templates/admin/admin_sitemap.tpl | 122 ++++++++++++ 9 files changed, 502 insertions(+), 1 deletion(-) create mode 100644 upload/admin/admin_sitemap.php create mode 100644 upload/ajax/sitemap.php create mode 100644 upload/includes/class.sitemap.php create mode 100644 upload/includes/cron/jobs/sitemap.php create mode 100644 upload/sitemap/.keep create mode 100644 upload/templates/admin/admin_sitemap.tpl diff --git a/install/sql/mysql.sql b/install/sql/mysql.sql index fe0a74fb6..66c0e5ab7 100644 --- a/install/sql/mysql.sql +++ b/install/sql/mysql.sql @@ -557,8 +557,10 @@ INSERT INTO `bb_config` VALUES ('seed_bonus_points', ''); INSERT INTO `bb_config` VALUES ('seed_bonus_tor_size', '0'); INSERT INTO `bb_config` VALUES ('seed_bonus_user_regdate', '0'); INSERT INTO `bb_config` VALUES ('site_desc', 'A little text to describe your forum'); +INSERT INTO `bb_config` VALUES ('sitemap_time', ''); INSERT INTO `bb_config` VALUES ('sitename', 'TorrentPier II - Torrent Tracker'); INSERT INTO `bb_config` VALUES ('smilies_path', 'images/smiles'); +INSERT INTO `bb_config` VALUES ('static_sitemap', ''); INSERT INTO `bb_config` VALUES ('topics_per_page', '50'); INSERT INTO `bb_config` VALUES ('xs_use_cache', '1'); INSERT INTO `bb_config` VALUES ('active_ads', ''); @@ -642,6 +644,7 @@ INSERT INTO `bb_cron` VALUES (18, 1, 'Seeder last seen', 'tr_update_seeder_last_ INSERT INTO `bb_cron` VALUES (19, 1, 'Captcha', 'captcha_gen_gc.php', 'daily', NULL, '05:00:00', 120, '', '', NULL, 0, '', 0, 0, 0); INSERT INTO `bb_cron` VALUES (20, 1, 'Tracker dl-complete count', 'tr_complete_count.php', 'interval', NULL, NULL, 255, '', '', '06:00:00', 0, '', 0, 0, 0); INSERT INTO `bb_cron` VALUES (21, 1, 'Cache garbage collector', 'cache_gc.php', 'interval', NULL, NULL, 255, '', '', '00:05:00', 0, '', 0, 0, 0); +INSERT INTO `bb_cron` VALUES (22, 1, 'Sitemap update', 'sitemap.php', 'daily', NULL, '06:00:00', 30, '', '', NULL, 0, '', 0, 0, 0); -- -------------------------------------------------------- diff --git a/readme.txt b/readme.txt index fd68905d4..997fb1c42 100644 --- a/readme.txt +++ b/readme.txt @@ -6,7 +6,8 @@ Заходим в phpmyadmin, открываем или создаем новую базу, потом импортируем дамп (install/sql/mysql.sql) Правим файл конфигурации config.php (изменяем данные входа в БД, остальное по усмотрению) -* Файлы favicon.ico (меняем на свою иконку, если есть), robots.txt(допуск или запрет ботам поисковиков к серверу, блокирует не все, меняем адреса в строках Host: и Sitemap: на свои адреса) +* favicon.ico (меняем на свою иконку, если есть) +* robots.txt (меняем адреса в строках Host: и Sitemap: на свои) ************************************ ** Права доступа на папки и файлы ** @@ -24,6 +25,7 @@ - images/ranks - images/smiles - log +- sitemap - triggers ************************************ diff --git a/upload/admin/admin_sitemap.php b/upload/admin/admin_sitemap.php new file mode 100644 index 000000000..61cb44790 --- /dev/null +++ b/upload/admin/admin_sitemap.php @@ -0,0 +1,52 @@ +sql_query($sql)) +{ + bb_die('Could not query config information in admin_sitemap'); +} +else +{ + $new_params = array(); + + while ($row = DB()->sql_fetchrow($result)) + { + $config_name = $row['config_name']; + $config_value = $row['config_value']; + $default_config[$config_name] = $config_value; + $new[$config_name] = isset($_POST[$config_name]) ? $_POST[$config_name] : $default_config[$config_name]; + + if (isset($_POST['submit']) && $row['config_value'] != $new[$config_name]) + { + $new_params[$config_name] = $new[$config_name]; + } + } + + if (isset($_POST['submit'])) + { + if (!empty($new_params)) + { + bb_update_config($new_params); + } + } +} + +$s_mess = 'Файл индекса создан '.bb_date($new['sitemap_time'], $bb_cfg['post_date_format']).' доступен по адресу: '.make_url('/sitemap/sitemap.xml').''; +$message = (@file_exists(BB_ROOT. "/sitemap/sitemap.xml")) ? $s_mess : 'Файл индекса не создан'; + +$template->assign_vars(array( + 'STATIC_SITEMAP' => $new['static_sitemap'], + 'MESSAGE' => $message, +)); + +print_page('admin_sitemap.tpl', 'admin'); \ No newline at end of file diff --git a/upload/ajax.php b/upload/ajax.php index 58539d0c8..2979402fa 100644 --- a/upload/ajax.php +++ b/upload/ajax.php @@ -55,6 +55,10 @@ switch ($ajax->action) case 'group_membership': require(INC_DIR . 'functions_group.php'); break; + + case 'sitemap'; + require(INC_DIR .'class.sitemap.php'); + break; } // position in $ajax->valid_actions['xxx'] @@ -78,6 +82,7 @@ class ajax_common 'change_user_opt' => array('admin'), 'manage_user' => array('admin'), 'manage_admin' => array('admin'), + 'sitemap' => array('admin'), 'mod_action' => array('mod'), 'topic_tpl' => array('mod'), @@ -406,4 +411,9 @@ class ajax_common { require(AJAX_DIR . 'chat.php'); } + + function sitemap() + { + require(AJAX_DIR .'sitemap.php'); + } } \ No newline at end of file diff --git a/upload/ajax/sitemap.php b/upload/ajax/sitemap.php new file mode 100644 index 000000000..1a6c3a0d6 --- /dev/null +++ b/upload/ajax/sitemap.php @@ -0,0 +1,64 @@ +request['mode']; +$map = new sitemap(); +$html = ''; + +switch ($mode) +{ + case 'create': + $map->create(); + if (@file_exists(BB_ROOT. "/sitemap/sitemap.xml")) + { + $html .= 'Файл индекса создан '.bb_date(TIMENOW, $bb_cfg['post_date_format']).' доступен по адресу: '.make_url('/sitemap/sitemap.xml').''; + } else { + $html .= 'Файл индекса не создан'; + } + break; + + case 'search_update': + if (!@file_exists(BB_ROOT. "/sitemap/sitemap.xml")) + { + $map->create(); + } + + $map_link = make_url('/sitemap/sitemap.xml'); + + if (strpos($map->send_url("http://google.com/webmasters/sitemaps/ping?sitemap=", $map_link), "successfully added") !== false) { + $html .= '
    Уведомление поисковой системы Google: отправка завершена'; + } else { + $html .= '
    Уведомление поисковой системы Google: ошибка отправки URL: http://google.com/webmasters/sitemaps/ping?sitemap='.$map_link.''; + } + + if (strpos($map->send_url("http://ping.blogs.yandex.ru/ping?sitemap=", $map_link), "OK") !== false) { + $html .= '
    Уведомление поисковой системы Yandex: отправка завершена'; + } else { + $html .= '
    Уведомление поисковой системы Yandex: ошибка отправки URL: http://ping.blogs.yandex.ru/ping?sitemap='.$map_link.''; + } + + if ($map->send_url("http://www.bing.com/webmaster/ping.aspx?siteMap=", $map_link)) { + $html .= '
    Уведомление поисковой системы Bing: отправка завершена'; + } else { + $html .= '
    Уведомление поисковой системы Bing: ошибка отправки'; + } + + if (strpos ($map->send_url("http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url=", $map_link), "Thanks for the ping") !== false) { + $html .= '
    Уведомление поисковой системы Weblogs: отправка завершена'; + } else { + $html .= '
    Уведомление поисковой системы Weblogs: ошибка отправки URL: http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url='.$map_link.''; + } + + if ($map->send_url("http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap=", $map_link)) { + $html .= '
    Уведомление поисковой системы Yahoo: отправка завершена'; + } else { + $html .= '
    Уведомление поисковой системы Yahoo: ошибка отправки URL: http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url='.$map_link.''; + } + break; +} + +$this->response['html'] = $html; +$this->response['mode'] = $mode; \ No newline at end of file diff --git a/upload/includes/class.sitemap.php b/upload/includes/class.sitemap.php new file mode 100644 index 000000000..94616872d --- /dev/null +++ b/upload/includes/class.sitemap.php @@ -0,0 +1,229 @@ +home = 'http://'.$bb_cfg['server_name'].'/'; + } + + function build_map () { + $map = "\n\n"; + + $map .= $this->get_static(); + $map .= $this->get_forum(); + $map .= $this->get_topic(); + $map .= ""; + + return $map; + } + + function build_index ($count) { + $map = "\n\n"; + + $lastmod = date("Y-m-d"); + $map .= "\n{$this->home}sitemap/sitemap1.xml\n{$lastmod}\n\n"; + + for ($i = 0; $i < $count; $i++) { + $t = $i + 2; + $map .= "\n{$this->home}sitemap/sitemap{$t}.xml\n{$lastmod}\n\n"; + } + + $map .= ""; + + return $map; + } + + function build_stat () { + $map = "\n\n"; + + $map .= $this->get_static(); + $map .= $this->get_forum(); + $map .= ""; + + return $map; + } + + function build_map_topic ($n) { + $map = "\n\n"; + + $map .= $this->get_topic($n); + $map .= ""; + + return $map; + } + + function get_forum () { + global $datastore; + + $this->priority = $this->cat_priority; + $xml = ""; + $lastmod = date( "Y-m-d" ); + + if (!$forums = $datastore->get('cat_forums')) + { + $datastore->update('cat_forums'); + $forums = $datastore->get('cat_forums'); + } + $not_forums_id = $forums['not_auth_forums']['guest_view']; + + $ignore_forum_sql = ($not_forums_id) ? "WHERE forum_id NOT IN($not_forums_id)" : ''; + + $sql = DB()->sql_query("SELECT forum_id, forum_topics, forum_parent, forum_name FROM ".BB_FORUMS." ".$ignore_forum_sql." ORDER BY forum_id ASC"); + + while ($row = DB()->sql_fetchrow($sql)) { + if (function_exists('seo_url')) $loc = $this->home . seo_url(FORUM_URL . $row['forum_id'], $row['forum_name']); + else $loc = $this->home . FORUM_URL. $row['forum_id']; + $xml .= $this->get_xml( $loc, $lastmod ); + } + + return $xml; + } + + function get_topic ($page = false) { + global $datastore; + + $xml = ""; + $this->priority = $this->topic_priority; + + if ($page) { + $page = $page - 1; + $page = $page * 40000; + $this->limit = " LIMIT {$page},40000"; + } else { + if ($this->limit < 1) $this->limit = false; + if( $this->limit ) { + $this->limit = " LIMIT 0," . $this->limit; + } else { + $this->limit = ""; + } + } + + if (!$forums = $datastore->get('cat_forums')) { + $datastore->update('cat_forums'); + $forums = $datastore->get('cat_forums'); + } + + $not_forums_id = $forums['not_auth_forums']['guest_view']; + $ignore_forum_sql = ($not_forums_id) ? "WHERE forum_id NOT IN($not_forums_id)" : ''; + + $sql = DB()->sql_query("SELECT topic_id, topic_title, topic_time FROM " . BB_TOPICS . " ".$ignore_forum_sql." ORDER BY topic_time DESC" . $this->limit); + + while ($row = DB()->sql_fetchrow($sql)) { + if (function_exists('seo_url')) $loc = $this->home . seo_url(TOPIC_URL . $row['topic_id'], $row['topic_title']); + else $loc = $this->home . TOPIC_URL. $row['topic_id']; + $xml .= $this->get_xml($loc, date("Y-m-d", $row['topic_time'])); + } + + return $xml; + } + + function get_static () { + global $bb_cfg; + + $xml = ""; + $lastmod = date("Y-m-d"); + $this->priority = $this->stat_priority; + + if (isset($bb_cfg['static_sitemap'])) { + $static_url = preg_replace("/\s/", '', $bb_cfg['static_sitemap']); //вырезаем переносы строк + preg_match_all ('#(https?://[\w-]+[\.\w-]+/((?!https?://)[\w- ./?%&=])+)#', $static_url, $out); + + $static_url = count($out['0']); + if ($static_url > 0) + { + foreach($out['0'] as $url) + { + $loc = $url; + $xml .= $this->get_xml($loc, $lastmod); + } + } + } + + return $xml; + } + + function get_xml ($loc, $lastmod) { + $xml = "\t\n"; + + $xml .= "\t\t$loc\n"; + $xml .= "\t\t$lastmod\n"; + $xml .= "\t\t" . $this->priority . "\n"; + $xml .= "\t\n"; + + return $xml; + } + + function send_url ($url, $map) { + $data = false; + $file = $url.urlencode($map); + + if (function_exists('curl_init')) { + $ch = curl_init(); + + curl_setopt($ch, CURLOPT_URL, $file); + curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); + curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 6); + + $data = curl_exec($ch); + curl_close($ch); + + return $data; + } else { + return @file_get_contents($file); + } + } + + function create () { + $row = DB()->fetch_row("SELECT COUNT(*) AS count FROM ". BB_TOPICS); + + if (!$this->limit) $this->limit = $row['count']; + if ($this->limit > 40000) { + $pages_count = @ceil($row['count'] / 40000); + + $sitemap = $this->build_index($pages_count); + + $handler = fopen(BB_ROOT. "/sitemap/sitemap.xml", "wb+"); + fwrite($handler, $sitemap); + fclose($handler); + @chmod(BB_ROOT. "/sitemap/sitemap.xml", 0666); + + $sitemap = $this->build_stat(); + + $handler = fopen(BB_ROOT. "/sitemap/sitemap1.xml", "wb+"); + fwrite($handler, $sitemap); + fclose($handler); + @chmod(BB_ROOT. "/sitemap/sitemap.xml", 0666); + + for ($i = 0; $i < $pages_count; $i++) { + $t = $i + 2; + $n = $i + 1; + + $sitemap = $this->build_map_topic($n); + $handler = fopen(BB_ROOT. "/sitemap/sitemap{$t}.xml", "wb+"); + fwrite($handler, $sitemap); + fclose($handler); + @chmod(BB_ROOT. "/sitemap/sitemap{$t}.xml", 0666); + } + } else { + $sitemap = $this->build_map(); + + $handler = fopen(BB_ROOT. "/sitemap/sitemap.xml", "wb+"); + fwrite($handler, $sitemap); + fclose($handler); + @chmod(BB_ROOT. "/sitemap/sitemap.xml", 0666); + } + + $params['sitemap_time'] = TIMENOW; + bb_update_config($params); + } +} \ No newline at end of file diff --git a/upload/includes/cron/jobs/sitemap.php b/upload/includes/cron/jobs/sitemap.php new file mode 100644 index 000000000..5d9e55ae3 --- /dev/null +++ b/upload/includes/cron/jobs/sitemap.php @@ -0,0 +1,19 @@ +create(); + +if (@file_exists(BB_ROOT. "/sitemap/sitemap.xml")) +{ + $map_link = make_url('/sitemap/sitemap.xml'); + + $map->send_url("http://google.com/webmasters/sitemaps/ping?sitemap=", $map_link); + $map->send_url("http://ping.blogs.yandex.ru/ping?sitemap=", $map_link); + $map->send_url("http://www.bing.com/webmaster/ping.aspx?siteMap=", $map_link); + $map->send_url("http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url=", $map_link); + $map->send_url("http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap=", $map_link); +} \ No newline at end of file diff --git a/upload/sitemap/.keep b/upload/sitemap/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/upload/templates/admin/admin_sitemap.tpl b/upload/templates/admin/admin_sitemap.tpl new file mode 100644 index 000000000..45910616a --- /dev/null +++ b/upload/templates/admin/admin_sitemap.tpl @@ -0,0 +1,122 @@ + + + + +

    Меню управления Sitemap

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    Информация
    {MESSAGE}
    Опции + Создать / Обновить файл карты сайта   Уведомить поисковые системы о наличии новой версии карты сайта
    +
    +
    Дополнительные страницы для Sitemap
    + Дополнительные страницы
    +

    Здесь можно написать дополнительные страницы, например http://domain.ru/faq.php


    +

    Cсылки должны начинаться с http://

    +
    + +
    +    + +
    Описание
    +

    1. Необходимо зарегистрироваться в Google Sitemaps с использованием вашей учетной записи Google.


    +

    2. Перейдите по ссылке "Добавьте вашу карту сайта".


    +

    3. Необходимо зарегистрироваться в Yandex Webmaster с использованием вашей учетной записи.


    +

    4. Добавить карту сайта в Yandex Webmaster


    +
    +
    \ No newline at end of file From 0a3e461971b1dc041d39933cd1fe0926e98543ca Mon Sep 17 00:00:00 2001 From: Exile Date: Sun, 3 Aug 2014 02:45:30 +0400 Subject: [PATCH 09/32] r593 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Стили в админке карты сайта. --- upload/admin/admin_sitemap.php | 4 +-- upload/ajax/sitemap.php | 4 +-- upload/templates/admin/admin_sitemap.tpl | 42 +++++++++++++----------- 3 files changed, 26 insertions(+), 24 deletions(-) diff --git a/upload/admin/admin_sitemap.php b/upload/admin/admin_sitemap.php index 61cb44790..4eda8d0f5 100644 --- a/upload/admin/admin_sitemap.php +++ b/upload/admin/admin_sitemap.php @@ -41,8 +41,8 @@ else } } -$s_mess = 'Файл индекса создан '.bb_date($new['sitemap_time'], $bb_cfg['post_date_format']).' доступен по адресу: '.make_url('/sitemap/sitemap.xml').''; -$message = (@file_exists(BB_ROOT. "/sitemap/sitemap.xml")) ? $s_mess : 'Файл индекса не создан'; +$s_mess = 'Файл sitemap создан: '.bb_date($new['sitemap_time'], $bb_cfg['post_date_format']).' и доступен по адресу: '.make_url('/sitemap/sitemap.xml').''; +$message = (@file_exists(BB_ROOT. "/sitemap/sitemap.xml")) ? $s_mess : 'Файл sitemap еще не создан'; $template->assign_vars(array( 'STATIC_SITEMAP' => $new['static_sitemap'], diff --git a/upload/ajax/sitemap.php b/upload/ajax/sitemap.php index 1a6c3a0d6..4837a3757 100644 --- a/upload/ajax/sitemap.php +++ b/upload/ajax/sitemap.php @@ -14,9 +14,9 @@ switch ($mode) $map->create(); if (@file_exists(BB_ROOT. "/sitemap/sitemap.xml")) { - $html .= 'Файл индекса создан '.bb_date(TIMENOW, $bb_cfg['post_date_format']).' доступен по адресу: '.make_url('/sitemap/sitemap.xml').''; + $html .= 'Файл sitemap создан: '.bb_date(TIMENOW, $bb_cfg['post_date_format']).' и доступен по адресу: '.make_url('/sitemap/sitemap.xml').''; } else { - $html .= 'Файл индекса не создан'; + $html .= 'Файл sitemap еще не создан'; } break; diff --git a/upload/templates/admin/admin_sitemap.tpl b/upload/templates/admin/admin_sitemap.tpl index 45910616a..fa6a4f8d3 100644 --- a/upload/templates/admin/admin_sitemap.tpl +++ b/upload/templates/admin/admin_sitemap.tpl @@ -73,32 +73,45 @@ ajax.callback.sitemap = function(data) { } -

    Меню управления Sitemap

    +

    Управление картой сайта

    - + - + - + + + + + + + @@ -107,16 +120,5 @@ ajax.callback.sitemap = function(data) { - - - - - -
    Информация{L_INFORMATION}:
    {MESSAGE}
    ОпцииОпции: - Создать / Обновить файл карты сайта   Уведомить поисковые системы о наличии новой версии карты сайта
    + Создать / обновить файл карты сайта   + Уведомить поисковые системы о наличии новой версии карты сайта
    Дополнительные страницы для SitemapЧто сделать дальше?
    +

    1. Зарегистрируйте ваш сайт в Google Webmaster с использованием вашей учетной записи Google.

    +

    2. Зайдите в раздел "Файлы Sitemap" и нажмите кнопку "Добавление/проверка файла sitemap".

    +

    3. Зарегистрируйте ваш сайт в Yandex Webmaster с использованием вашей учетной записи.

    +

    4. Добавьте карту зарегистрированного вами сайта.

    +
    Дополнительные страницы для sitemap
    - Дополнительные страницы
    -

    Здесь можно написать дополнительные страницы, например http://domain.ru/faq.php


    -

    Cсылки должны начинаться с http://

    + Дополнительные страницы:
    - +
    +

    Здесь вы можете указать дополнительные страницы сайта (например http://torrentpier.me/memberlist.php), + которые должны быть включены в создаваемый файл вами файл sitemap. Каждая ссылка + должна начинаться с http(s):// и новой строки!

    Описание
    -

    1. Необходимо зарегистрироваться в Google Sitemaps с использованием вашей учетной записи Google.


    -

    2. Перейдите по ссылке "Добавьте вашу карту сайта".


    -

    3. Необходимо зарегистрироваться в Yandex Webmaster с использованием вашей учетной записи.


    -

    4. Добавить карту сайта в Yandex Webmaster


    -
    \ No newline at end of file From 4c4754e64bdb6eb04084fe82b6d7b579bd84f916 Mon Sep 17 00:00:00 2001 From: Exile Date: Sun, 3 Aug 2014 02:47:43 +0400 Subject: [PATCH 10/32] r593 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Фикс построения списка файлов в раздаче, в случае если торрент немного некорректно бенкодируется. --- upload/ajax/view_torrent.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/upload/ajax/view_torrent.php b/upload/ajax/view_torrent.php index e339acc90..5f9ed7227 100644 --- a/upload/ajax/view_torrent.php +++ b/upload/ajax/view_torrent.php @@ -10,6 +10,9 @@ if (!isset($this->request['attach_id'])) } $attach_id = (int) $this->request['attach_id']; +global $bnc_error; +$bnc_error = 0; + $torrent = DB()->fetch_row("SELECT at.attach_id, at.physical_filename FROM ". BB_ATTACHMENTS_DESC ." at WHERE at.attach_id = $attach_id LIMIT 1"); if (!$torrent) $this->ajax_die($lang['EMPTY_ATTACH_ID']); $filename = get_attachments_dir() .'/'. $torrent['physical_filename']; @@ -126,7 +129,8 @@ class torrent { if (is_string($cur_files_ary)) { - bb_die($lang['ERROR_BUILD']); + $GLOBALS['bnc_error'] = 1; + break(1); } $cur_files_ary[] = $this->build_file_item($name, $length); } @@ -169,4 +173,6 @@ function clean_tor_dirname ($dirname) return str_replace(array('[', ']', '<', '>', "'"), array('[', ']', '<', '>', '''), $dirname); } +if ($bnc_error) $tor_filelist = ''.$lang['ERROR_BUILD'].'

    '.$tor_filelist; + $this->response['html'] = $tor_filelist; \ No newline at end of file From 3221c10f50a2cbab96615ce95627ef847789fe9f Mon Sep 17 00:00:00 2001 From: Exile Date: Sun, 3 Aug 2014 02:53:55 +0400 Subject: [PATCH 11/32] r593 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Новые языковые для ошибки о непостроении содержимого торрента. --- upload/language/en/main.php | 2 +- upload/language/ru/main.php | 2 +- upload/language/ua/main.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/upload/language/en/main.php b/upload/language/en/main.php index caf5728db..15ffd9e05 100644 --- a/upload/language/en/main.php +++ b/upload/language/en/main.php @@ -1539,7 +1539,7 @@ $lang['EXPAND'] = 'Expand'; $lang['SWITCH'] = 'Switch'; $lang['EMPTY_ATTACH_ID'] = 'Missing file identifier!'; $lang['TOR_NOT_FOUND'] = 'File is missing on the server!'; -$lang['ERROR_BUILD'] = 'Error: unable to build a list of files'; +$lang['ERROR_BUILD'] = 'The content of this torrent file can not be viewed on the site (it was not possible to build a list of files)'; $lang['TORFILE_INVALID'] = 'Torrent file is corrupt'; // FILELIST diff --git a/upload/language/ru/main.php b/upload/language/ru/main.php index 6f5cadf3a..09610704f 100644 --- a/upload/language/ru/main.php +++ b/upload/language/ru/main.php @@ -1539,7 +1539,7 @@ $lang['EXPAND'] = 'Развернуть'; $lang['SWITCH'] = 'Переключить'; $lang['EMPTY_ATTACH_ID'] = 'Отсутствует идентификатор файла!'; $lang['TOR_NOT_FOUND'] = 'Файл отсутствует на сервере!'; -$lang['ERROR_BUILD'] = 'Ошибка: не удалось выстроить список файлов'; +$lang['ERROR_BUILD'] = 'Содержимое данного торрент-файла не может быть просмотрено на сайте (не удалось выстроить список файлов)'; $lang['TORFILE_INVALID'] = 'Торрент-файл поврежден!'; // FILELIST diff --git a/upload/language/ua/main.php b/upload/language/ua/main.php index 833ea87e0..73d4cf208 100644 --- a/upload/language/ua/main.php +++ b/upload/language/ua/main.php @@ -1539,7 +1539,7 @@ $lang['EXPAND'] = 'Розгорнути'; $lang['SWITCH'] = 'Перейти'; $lang['EMPTY_ATTACH_ID'] = 'Відсутній ідентифікатор файла!'; $lang['TOR_NOT_FOUND'] = 'Файл відсутній на сервері!'; -$lang['ERROR_BUILD'] = 'Помилка: не вдалося побудувати список файлів'; +$lang['ERROR_BUILD'] = 'Вміст даного торрент-файлу не може бути переглянуто на сайті (не вдалося вибудувати список файлів)'; $lang['TORFILE_INVALID'] = 'Торрент-файл пошкоджений!'; // FILELIST From 8ff0e5455c4b59d9e127aaea7673c892bf2e41eb Mon Sep 17 00:00:00 2001 From: Exile Date: Sun, 3 Aug 2014 14:15:50 +0400 Subject: [PATCH 12/32] r593 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Константа для папки аттач-мода. --- upload/admin/admin_attach_cp.php | 2 +- upload/admin/admin_attachments.php | 2 +- upload/admin/admin_extensions.php | 2 +- upload/admin/pagestart.php | 4 ++-- upload/ajax.php | 4 ++-- upload/attach_mod/attachment_mod.php | 14 ++++++------- upload/attach_mod/displaying.php | 2 +- .../includes/functions_includes.php | 4 ++-- upload/config.php | 20 +++++++++---------- upload/download.php | 4 ++-- upload/misc.php | 2 +- upload/posting.php | 2 +- upload/viewtopic.php | 2 +- 13 files changed, 32 insertions(+), 32 deletions(-) diff --git a/upload/admin/admin_attach_cp.php b/upload/admin/admin_attach_cp.php index c73e47d02..a285d4fc6 100644 --- a/upload/admin/admin_attach_cp.php +++ b/upload/admin/admin_attach_cp.php @@ -20,7 +20,7 @@ else $upload_dir = '../' . $attach_config['upload_dir']; } -include(BB_ROOT .'attach_mod/includes/functions_selects.php'); +include(ATTACH_DIR .'includes/functions_selects.php'); // Check if the language got included if (!isset($lang['TEST_SETTINGS_SUCCESSFUL'])) diff --git a/upload/admin/admin_attachments.php b/upload/admin/admin_attachments.php index 9550e5db6..adf1bd92a 100644 --- a/upload/admin/admin_attachments.php +++ b/upload/admin/admin_attachments.php @@ -23,7 +23,7 @@ else $upload_dir = '../' . $attach_config['upload_dir']; } -include(BB_ROOT .'attach_mod/includes/functions_selects.php'); +include(ATTACH_DIR .'includes/functions_selects.php'); // Check if the language got included if (!isset($lang['TEST_SETTINGS_SUCCESSFUL'])) diff --git a/upload/admin/admin_extensions.php b/upload/admin/admin_extensions.php index d894660d9..9092c3aee 100644 --- a/upload/admin/admin_extensions.php +++ b/upload/admin/admin_extensions.php @@ -26,7 +26,7 @@ else $upload_dir = BB_ROOT . $attach_config['upload_dir']; } -include(BB_ROOT .'attach_mod/includes/functions_selects.php'); +include(ATTACH_DIR .'includes/functions_selects.php'); // Check if the language got included if (!isset($lang['TEST_SETTINGS_SUCCESSFUL'])) diff --git a/upload/admin/pagestart.php b/upload/admin/pagestart.php index 735740990..40449b461 100644 --- a/upload/admin/pagestart.php +++ b/upload/admin/pagestart.php @@ -5,8 +5,8 @@ define('IN_FORUM', true); define('IN_ADMIN', true); require(BB_ROOT .'common.php'); -require(BB_ROOT .'attach_mod/attachment_mod.php'); -require(BB_ROOT .'attach_mod/includes/functions_admin.php'); +require(ATTACH_DIR .'attachment_mod.php'); +require(ATTACH_DIR .'includes/functions_admin.php'); require_once(INC_DIR .'functions_admin.php'); $user->session_start(); diff --git a/upload/ajax.php b/upload/ajax.php index 58539d0c8..f6838fbe2 100644 --- a/upload/ajax.php +++ b/upload/ajax.php @@ -34,12 +34,12 @@ switch ($ajax->action) case 'mod_action': case 'change_tor_status': case 'gen_passkey': - require(BB_ROOT . 'attach_mod/attachment_mod.php'); + require(ATTACH_DIR . 'attachment_mod.php'); require(INC_DIR . 'functions_torrent.php'); break; case 'change_torrent': - require(BB_ROOT . 'attach_mod/attachment_mod.php'); + require(ATTACH_DIR . 'attachment_mod.php'); require(INC_DIR . 'functions_torrent.php'); break; diff --git a/upload/attach_mod/attachment_mod.php b/upload/attach_mod/attachment_mod.php index 0e01672a6..3c87a76b0 100644 --- a/upload/attach_mod/attachment_mod.php +++ b/upload/attach_mod/attachment_mod.php @@ -2,11 +2,11 @@ if (!defined('IN_FORUM')) die("Hacking attempt"); -require(BB_ROOT .'attach_mod/includes/functions_includes.php'); -require(BB_ROOT .'attach_mod/includes/functions_attach.php'); -require(BB_ROOT .'attach_mod/includes/functions_delete.php'); -require(BB_ROOT .'attach_mod/includes/functions_thumbs.php'); -require(BB_ROOT .'attach_mod/includes/functions_filetypes.php'); +require(ATTACH_DIR .'includes/functions_includes.php'); +require(ATTACH_DIR .'includes/functions_attach.php'); +require(ATTACH_DIR .'includes/functions_delete.php'); +require(ATTACH_DIR .'includes/functions_thumbs.php'); +require(ATTACH_DIR .'includes/functions_filetypes.php'); if (defined('ATTACH_INSTALL')) { @@ -76,7 +76,7 @@ if (!($attach_config = CACHE('bb_cache')->get('attach_config'))) CACHE('bb_cache')->set('attach_config', $attach_config, 86400); } -include(BB_ROOT .'attach_mod/displaying.php'); -include(BB_ROOT .'attach_mod/posting_attachments.php'); +include(ATTACH_DIR .'displaying.php'); +include(ATTACH_DIR .'posting_attachments.php'); $upload_dir = $attach_config['upload_dir']; \ No newline at end of file diff --git a/upload/attach_mod/displaying.php b/upload/attach_mod/displaying.php index 4c544a2a6..1efd81481 100644 --- a/upload/attach_mod/displaying.php +++ b/upload/attach_mod/displaying.php @@ -344,7 +344,7 @@ function display_attachments($post_id) // bt if ($link && ($attachments['_'. $post_id][$i]['extension'] === TORRENT_EXT)) { - include(BB_ROOT .'attach_mod/displaying_torrent.php'); + include(ATTACH_DIR .'displaying_torrent.php'); } else if ($link) { diff --git a/upload/attach_mod/includes/functions_includes.php b/upload/attach_mod/includes/functions_includes.php index a5784ed56..a4e8708ad 100644 --- a/upload/attach_mod/includes/functions_includes.php +++ b/upload/attach_mod/includes/functions_includes.php @@ -33,9 +33,9 @@ function attachment_quota_settings($admin_mode, $submit = false, $mode) $upload_dir = BB_ROOT . $attach_config['upload_dir']; } - include(BB_ROOT .'attach_mod/includes/functions_selects.php'); + include(ATTACH_DIR .'includes/functions_selects.php'); if (!function_exists("process_quota_settings")) - include(BB_ROOT . 'attach_mod/includes/functions_admin.php'); + include(ATTACH_DIR . 'includes/functions_admin.php'); $user_id = 0; diff --git a/upload/config.php b/upload/config.php index b92071297..7e4b730dc 100644 --- a/upload/config.php +++ b/upload/config.php @@ -239,16 +239,16 @@ $page_cfg['show_torhelp'] = array( // Path (trailing slash '/' at the end: XX_PATH - without, XX_DIR - with) define('DIR_SEPR', DIRECTORY_SEPARATOR); -define('BB_PATH', realpath(BB_ROOT) ); // absolute pathname to the forum root -define('ADMIN_DIR', BB_PATH .'/admin/' ); -define('CACHE_DIR', BB_PATH .'/cache/' ); -define('CFG_DIR', BB_PATH .'/config/' ); -define('INC_DIR', BB_PATH .'/includes/' ); -define('LANG_ROOT_DIR', BB_PATH .'/language/' ); -define('LOG_DIR', BB_PATH .'/log/' ); -define('TEMPLATES_DIR', BB_PATH .'/templates/'); -define('TRIGGERS_DIR', BB_PATH .'/triggers/' ); -define('LOCKS_DIR', BB_PATH .'/locks/' ); +define('BB_PATH', realpath(BB_ROOT) ); // absolute pathname to the forum root +define('ADMIN_DIR', BB_PATH .'/admin/' ); +define('ATTACH_DIR', BB_PATH .'/attach_mod/'); +define('CACHE_DIR', BB_PATH .'/cache/' ); +define('CFG_DIR', BB_PATH .'/config/' ); +define('INC_DIR', BB_PATH .'/includes/' ); +define('LANG_ROOT_DIR', BB_PATH .'/language/' ); +define('LOG_DIR', BB_PATH .'/log/' ); +define('TEMPLATES_DIR', BB_PATH .'/templates/' ); +define('TRIGGERS_DIR', BB_PATH .'/triggers/' ); // URL's $bb_cfg['ajax_url'] = 'ajax.php'; # "http://{$_SERVER['SERVER_NAME']}/ajax.php" diff --git a/upload/download.php b/upload/download.php index 26ffe65a0..6af6676dc 100644 --- a/upload/download.php +++ b/upload/download.php @@ -5,8 +5,8 @@ define('BB_SCRIPT', 'download'); define('IN_SERVICE', true); define('NO_GZIP', true); define('BB_ROOT', './'); -require(BB_ROOT ."common.php"); -require(BB_ROOT ."attach_mod/attachment_mod.php"); +require(BB_ROOT .'common.php'); +require(ATTACH_DIR .'attachment_mod.php'); $datastore->enqueue(array( 'attach_extensions', diff --git a/upload/misc.php b/upload/misc.php index 900dde854..172f2317f 100644 --- a/upload/misc.php +++ b/upload/misc.php @@ -16,7 +16,7 @@ if ($do == 'attach_rules') { bb_die('invalid forum_id'); } - require(BB_ROOT .'attach_mod/attachment_mod.php'); + require(ATTACH_DIR .'attachment_mod.php'); // Display the allowed Extension Groups and Upload Size $auth = auth(AUTH_ALL, $forum_id, $userdata); $_max_filesize = $attach_config['max_filesize']; diff --git a/upload/posting.php b/upload/posting.php index 82b42e45c..acef3fa9f 100644 --- a/upload/posting.php +++ b/upload/posting.php @@ -6,7 +6,7 @@ define('BB_ROOT', './'); require(BB_ROOT ."common.php"); require(INC_DIR .'bbcode.php'); require(INC_DIR .'functions_post.php'); -require(BB_ROOT .'attach_mod/attachment_mod.php'); +require(ATTACH_DIR .'attachment_mod.php'); $page_cfg['load_tpl_vars'] = array('post_icons'); diff --git a/upload/viewtopic.php b/upload/viewtopic.php index 2049efab9..088e8e77e 100644 --- a/upload/viewtopic.php +++ b/upload/viewtopic.php @@ -631,7 +631,7 @@ require(INC_DIR .'torrent_show_dl_list.php'); if ($t_data['topic_attachment']) { - require(BB_ROOT .'attach_mod/attachment_mod.php'); + require(ATTACH_DIR .'attachment_mod.php'); init_display_post_attachments($t_data['topic_attachment']); } From c7176da3be371db00b1b045ad7313af9d5361f41 Mon Sep 17 00:00:00 2001 From: Exile Date: Sun, 3 Aug 2014 22:26:31 +0400 Subject: [PATCH 13/32] r593 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Фикс внешнего вида кнопки модераторского комментария. --- upload/templates/default/viewtopic.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/upload/templates/default/viewtopic.tpl b/upload/templates/default/viewtopic.tpl index 803e60373..27c5cf571 100644 --- a/upload/templates/default/viewtopic.tpl +++ b/upload/templates/default/viewtopic.tpl @@ -397,7 +397,7 @@ function build_poll_add_form (src_el) {IP_POST_IMG}{POST_BTN_SPACER} {postrow.REPORT}{POST_BTN_SPACER} - {MC_IMG}{POST_BTN_SPACER} + {MC_IMG}{POST_BTN_SPACER} {MOD_POST_IMG}{POST_BTN_SPACER}

    From b774115623793e7625d98e7cee8d1560735549ad Mon Sep 17 00:00:00 2001 From: Exile Date: Mon, 4 Aug 2014 12:11:15 +0400 Subject: [PATCH 14/32] r593 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Убираем лишнее присваивание константы. --- upload/includes/cron/jobs/prune_inactive_users.php | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/upload/includes/cron/jobs/prune_inactive_users.php b/upload/includes/cron/jobs/prune_inactive_users.php index 83c1897ee..a170d8168 100644 --- a/upload/includes/cron/jobs/prune_inactive_users.php +++ b/upload/includes/cron/jobs/prune_inactive_users.php @@ -2,11 +2,9 @@ if (!defined('BB_ROOT')) die(basename(__FILE__)); -$users_per_cycle = 1000; - require_once(INC_DIR .'functions_admin.php'); -$not_del_users = EXCLUDED_USERS_CSV; +$users_per_cycle = 1000; while (true) { @@ -21,7 +19,7 @@ while (true) AND user_lastvisit = 0 AND user_session_time = 0 AND user_regdate <= ". (TIMENOW - 86400 * $not_activated_days) ." - AND user_id NOT IN($not_del_users) + AND user_id NOT IN(". EXCLUDED_USERS_CSV .") LIMIT $users_per_cycle"); foreach ($sql as $row) @@ -36,7 +34,7 @@ while (true) WHERE user_level = 0 AND user_posts = 0 AND user_lastvisit <= ". (TIMENOW - 86400 * $not_active_days) ." - AND user_id NOT IN($not_del_users) + AND user_id NOT IN(". EXCLUDED_USERS_CSV .") LIMIT $users_per_cycle"); foreach ($sql as $row) From ade6ddf8e03766685be4646af020ee81269cc4b9 Mon Sep 17 00:00:00 2001 From: Exile Date: Mon, 4 Aug 2014 12:27:35 +0400 Subject: [PATCH 15/32] r593 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Переход на markdown в файле readme (для совместимости с гитхабом). --- readme.txt => README.md | 33 ++++++++++++--------------------- 1 file changed, 12 insertions(+), 21 deletions(-) rename readme.txt => README.md (61%) diff --git a/readme.txt b/README.md similarity index 61% rename from readme.txt rename to README.md index fd68905d4..fe81d97c7 100644 --- a/readme.txt +++ b/README.md @@ -1,6 +1,9 @@ -******************** -** Установка ** -******************** +TorrentPier II +====================== + +TorrentPier II - движок торрент-трекера, написанный на php. + +## Установка Распаковываем на сервер содержимое папки upload. Заходим в phpmyadmin, открываем или создаем новую базу, потом импортируем дамп (install/sql/mysql.sql) @@ -8,9 +11,7 @@ * Файлы favicon.ico (меняем на свою иконку, если есть), robots.txt(допуск или запрет ботам поисковиков к серверу, блокирует не все, меняем адреса в строках Host: и Sitemap: на свои адреса) -************************************ -** Права доступа на папки и файлы ** -************************************ +## Права доступа на папки и файлы Устанавливаем права доступа на данные папки 777, на файлы внутри этих папок (кроме .htaccess) 666: - ajax/html @@ -26,33 +27,23 @@ - log - triggers -************************************ -** Необходимые значения в php.ini ** -************************************ +## Необходимые значения в php.ini mbstring.internal_encoding = UTF-8 magic_quotes_gpc = Off -************************************ -** Необходимые модули для php ** -************************************ +## Необходимые модули для php php5-tidy -************************************ -** Необходимый запуск cron.php ** -************************************ +## Необходимый запуск cron.php Подробнее в теме http://torrentpier.me/threads/Отвязка-запуск-крона.52/ -************************************ -** Часто задаваемые вопросы ** -************************************ +## Часто задаваемые вопросы http://torrentpier.me/threads/faq-для-новичков.260/ -************************************ -** Где задать вопрос ** -************************************ +## Где задать вопрос http://torrentpier.me/forums/Основные-вопросы-по-torrentpier-ii.10/ \ No newline at end of file From e2b9135c5dd07a2352a60ad1a5e1d8ff34afc979 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=AE=D1=80=D0=B8=D0=B9?= Date: Mon, 4 Aug 2014 12:30:29 +0400 Subject: [PATCH 16/32] Update README.md --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index fe81d97c7..34863fa79 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,8 @@ TorrentPier II - движок торрент-трекера, написанны Заходим в phpmyadmin, открываем или создаем новую базу, потом импортируем дамп (install/sql/mysql.sql) Правим файл конфигурации config.php (изменяем данные входа в БД, остальное по усмотрению) -* Файлы favicon.ico (меняем на свою иконку, если есть), robots.txt(допуск или запрет ботам поисковиков к серверу, блокирует не все, меняем адреса в строках Host: и Sitemap: на свои адреса) +* favicon.ico (меняем на свою иконку, если есть) +* robots.txt (меняем адреса в строках Host: и Sitemap: на свои адреса) ## Права доступа на папки и файлы @@ -29,12 +30,12 @@ TorrentPier II - движок торрент-трекера, написанны ## Необходимые значения в php.ini -mbstring.internal_encoding = UTF-8 -magic_quotes_gpc = Off + mbstring.internal_encoding = UTF-8 + magic_quotes_gpc = Off ## Необходимые модули для php -php5-tidy + php5-tidy ## Необходимый запуск cron.php @@ -46,4 +47,4 @@ http://torrentpier.me/threads/faq-для-новичков.260/ ## Где задать вопрос -http://torrentpier.me/forums/Основные-вопросы-по-torrentpier-ii.10/ \ No newline at end of file +http://torrentpier.me/forums/Основные-вопросы-по-torrentpier-ii.10/ From 51d253108be6a39246043a27d9c329ebdfe9e2ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=AE=D1=80=D0=B8=D0=B9?= Date: Mon, 4 Aug 2014 12:46:05 +0400 Subject: [PATCH 17/32] Update README.md --- README.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 34863fa79..63be0c2e8 100644 --- a/README.md +++ b/README.md @@ -5,10 +5,14 @@ TorrentPier II - движок торрент-трекера, написанны ## Установка -Распаковываем на сервер содержимое папки upload. -Заходим в phpmyadmin, открываем или создаем новую базу, потом импортируем дамп (install/sql/mysql.sql) -Правим файл конфигурации config.php (изменяем данные входа в БД, остальное по усмотрению) +1. Распаковываем на сервер содержимое папки **upload**. +2. Создаем базу данных, в которую при помощи phpmyadmin (или любого другого удобного инструмента) импортируем дамп, расположенный в папке **install/sql/mysql.sql** +3. Правим файл конфигурации **config.php**, загруженный на сервер: + $bb_cfg['db']['db1'] = array('localhost', 'dbase', 'user', 'pass', $charset, $pconnect); + +В данной строке изменяем данные входа в базу данных, остальные правки в файле вносятся по усмотрению, исходя из необходимости из внесения (ориентируйтесь на описания, указанные у полей). +4. Редактируем указанные файлы: * favicon.ico (меняем на свою иконку, если есть) * robots.txt (меняем адреса в строках Host: и Sitemap: на свои адреса) From a9e4eae99ccb58b6ed49d833fb6a2fbb056b4c46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=AE=D1=80=D0=B8=D0=B9?= Date: Mon, 4 Aug 2014 12:47:02 +0400 Subject: [PATCH 18/32] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 63be0c2e8..f2309107a 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ TorrentPier II - движок торрент-трекера, написанны $bb_cfg['db']['db1'] = array('localhost', 'dbase', 'user', 'pass', $charset, $pconnect); В данной строке изменяем данные входа в базу данных, остальные правки в файле вносятся по усмотрению, исходя из необходимости из внесения (ориентируйтесь на описания, указанные у полей). + 4. Редактируем указанные файлы: * favicon.ico (меняем на свою иконку, если есть) * robots.txt (меняем адреса в строках Host: и Sitemap: на свои адреса) From ca995c20eda721faf4d838e3550c23710d6f1423 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=AE=D1=80=D0=B8=D0=B9?= Date: Mon, 4 Aug 2014 12:50:47 +0400 Subject: [PATCH 19/32] Update README.md --- README.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index f2309107a..700c621b1 100644 --- a/README.md +++ b/README.md @@ -8,14 +8,12 @@ TorrentPier II - движок торрент-трекера, написанны 1. Распаковываем на сервер содержимое папки **upload**. 2. Создаем базу данных, в которую при помощи phpmyadmin (или любого другого удобного инструмента) импортируем дамп, расположенный в папке **install/sql/mysql.sql** 3. Правим файл конфигурации **config.php**, загруженный на сервер: - - $bb_cfg['db']['db1'] = array('localhost', 'dbase', 'user', 'pass', $charset, $pconnect); - -В данной строке изменяем данные входа в базу данных, остальные правки в файле вносятся по усмотрению, исходя из необходимости из внесения (ориентируйтесь на описания, указанные у полей). +> $bb_cfg['db']['db1'] = array('localhost', 'dbase', 'user', 'pass', $charset, $pconnect); +> В данной строке изменяем данные входа в базу данных, остальные правки в файле вносятся по усмотрению, исходя из необходимости из внесения (ориентируйтесь на описания, указанные у полей). 4. Редактируем указанные файлы: -* favicon.ico (меняем на свою иконку, если есть) -* robots.txt (меняем адреса в строках Host: и Sitemap: на свои адреса) +>favicon.ico (меняем на свою иконку, если есть) + robots.txt (меняем адреса в строках Host: и Sitemap: на свои адреса) ## Права доступа на папки и файлы From aa04b12aad5dae06f9610c2fffc00cd311bfaf74 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=AE=D1=80=D0=B8=D0=B9?= Date: Mon, 4 Aug 2014 13:25:17 +0400 Subject: [PATCH 20/32] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 700c621b1..575525ffe 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ TorrentPier II - движок торрент-трекера, написанны ## Установка 1. Распаковываем на сервер содержимое папки **upload**. + 2. Создаем базу данных, в которую при помощи phpmyadmin (или любого другого удобного инструмента) импортируем дамп, расположенный в папке **install/sql/mysql.sql** 3. Правим файл конфигурации **config.php**, загруженный на сервер: > $bb_cfg['db']['db1'] = array('localhost', 'dbase', 'user', 'pass', $charset, $pconnect); From 18f3aa1fd355ee672042693e45d84ffacfa73400 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=AE=D1=80=D0=B8=D0=B9?= Date: Mon, 4 Aug 2014 13:31:31 +0400 Subject: [PATCH 21/32] Update README.md --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 575525ffe..14efbb3e5 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,12 @@ TorrentPier II ====================== -TorrentPier II - движок торрент-трекера, написанный на php. +TorrentPier II - движок торрент-трекера, написанный на php. Высокая скорость работы, простота модификации, устойчивость к высоким нагрузкам, в том числе поддержка альтернативных анонсеров (например, Ocelot). Помимо этого, крайне развитый официальный форму поддержки, где помимо прочего можно испыть движок в работе на демо-версии, не устанавливая его. ## Установка +Для установки вам необходимо выполнить несколько простих шагов: + 1. Распаковываем на сервер содержимое папки **upload**. 2. Создаем базу данных, в которую при помощи phpmyadmin (или любого другого удобного инструмента) импортируем дамп, расположенный в папке **install/sql/mysql.sql** @@ -41,6 +43,8 @@ TorrentPier II - движок торрент-трекера, написанны php5-tidy +Начиная с версии 2.0.9 (ревизия 592) данный модуль не является обязательным, но его установка крайне рекомендуется для повышения качества обработки html-кода. + ## Необходимый запуск cron.php Подробнее в теме http://torrentpier.me/threads/Отвязка-запуск-крона.52/ From 2f9251c48cde2e8c148354f488cbdc859fc34cc4 Mon Sep 17 00:00:00 2001 From: Dark Nightmare Date: Mon, 4 Aug 2014 17:19:08 +0600 Subject: [PATCH 22/32] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 14efbb3e5..f195e5a28 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ TorrentPier II ====================== -TorrentPier II - движок торрент-трекера, написанный на php. Высокая скорость работы, простота модификации, устойчивость к высоким нагрузкам, в том числе поддержка альтернативных анонсеров (например, Ocelot). Помимо этого, крайне развитый официальный форму поддержки, где помимо прочего можно испыть движок в работе на демо-версии, не устанавливая его. +TorrentPier II - движок торрент-трекера, написанный на php. Высокая скорость работы, простота модификации, устойчивость к высоким нагрузкам, в том числе и поддержка альтернативных анонсеров (например, Ocelot). Помимо этого, крайне развитый официальный форум поддержки, где помимо прочего можно испытать движок в работе на демо-версии, не устанавливая его. ## Установка -Для установки вам необходимо выполнить несколько простих шагов: +Для установки вам необходимо выполнить несколько простых шагов: 1. Распаковываем на сервер содержимое папки **upload**. From b53d6c2b51c4b5f5cb84cfaf10ef3d95f3d3d258 Mon Sep 17 00:00:00 2001 From: Exile Date: Mon, 4 Aug 2014 21:08:51 +0400 Subject: [PATCH 23/32] r593 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Локализация карты сайта. Разработка фичи завершена. --- upload/admin/admin_sitemap.php | 6 ++--- upload/ajax/sitemap.php | 28 ++++++++++++------------ upload/language/en/main.php | 23 ++++++++++++++++++- upload/language/ru/main.php | 23 ++++++++++++++++++- upload/language/ua/main.php | 23 ++++++++++++++++++- upload/templates/admin/admin_sitemap.tpl | 26 ++++++++++------------ 6 files changed, 95 insertions(+), 34 deletions(-) diff --git a/upload/admin/admin_sitemap.php b/upload/admin/admin_sitemap.php index 4eda8d0f5..836ee58d5 100644 --- a/upload/admin/admin_sitemap.php +++ b/upload/admin/admin_sitemap.php @@ -2,7 +2,7 @@ if (!empty($setmodules)) { - $module['Mods']['Sitemap'] = basename(__FILE__); + $module['Mods']['SITEMAP'] = basename(__FILE__); return; } require('./pagestart.php'); @@ -41,8 +41,8 @@ else } } -$s_mess = 'Файл sitemap создан: '.bb_date($new['sitemap_time'], $bb_cfg['post_date_format']).' и доступен по адресу: '.make_url('/sitemap/sitemap.xml').''; -$message = (@file_exists(BB_ROOT. "/sitemap/sitemap.xml")) ? $s_mess : 'Файл sitemap еще не создан'; +$s_mess = $lang['SITEMAP_CREATED'].': '.bb_date($new['sitemap_time'], $bb_cfg['post_date_format']).' '.lang['SITEMAP_AVAILABLE'].': '.make_url('/sitemap/sitemap.xml').''; +$message = (@file_exists(BB_ROOT. "/sitemap/sitemap.xml")) ? $s_mess : $lang['SITEMAP_NOT_CREATED']; $template->assign_vars(array( 'STATIC_SITEMAP' => $new['static_sitemap'], diff --git a/upload/ajax/sitemap.php b/upload/ajax/sitemap.php index 4837a3757..a0c3806bd 100644 --- a/upload/ajax/sitemap.php +++ b/upload/ajax/sitemap.php @@ -2,7 +2,7 @@ if (!defined('IN_AJAX')) die(basename(__FILE__)); -global $bb_cfg; +global $bb_cfg, $lang; $mode = (string) $this->request['mode']; $map = new sitemap(); @@ -14,9 +14,9 @@ switch ($mode) $map->create(); if (@file_exists(BB_ROOT. "/sitemap/sitemap.xml")) { - $html .= 'Файл sitemap создан: '.bb_date(TIMENOW, $bb_cfg['post_date_format']).' и доступен по адресу: '.make_url('/sitemap/sitemap.xml').''; + $html .= $lang['SITEMAP_CREATED'].': '.bb_date(TIMENOW, $bb_cfg['post_date_format']).' '.$lang['SITEMAP_AVAILABLE'].': '.make_url('/sitemap/sitemap.xml').''; } else { - $html .= 'Файл sitemap еще не создан'; + $html .= $lang['SITEMAP_NOT_CREATED']; } break; @@ -29,33 +29,33 @@ switch ($mode) $map_link = make_url('/sitemap/sitemap.xml'); if (strpos($map->send_url("http://google.com/webmasters/sitemaps/ping?sitemap=", $map_link), "successfully added") !== false) { - $html .= '
    Уведомление поисковой системы Google: отправка завершена'; + $html .= '
    '.$lang['SITEMAP_NOTIFY_SEARCH'].' Google: '.$lang['SITEMAP_SENT'].''; } else { - $html .= '
    Уведомление поисковой системы Google: ошибка отправки URL: http://google.com/webmasters/sitemaps/ping?sitemap='.$map_link.''; + $html .= '
    '.$lang['SITEMAP_NOTIFY_SEARCH'].' Google: '.$lang['SITEMAP_ERROR'].' URL: http://google.com/webmasters/sitemaps/ping?sitemap='.$map_link.''; } if (strpos($map->send_url("http://ping.blogs.yandex.ru/ping?sitemap=", $map_link), "OK") !== false) { - $html .= '
    Уведомление поисковой системы Yandex: отправка завершена'; + $html .= '
    '.$lang['SITEMAP_NOTIFY_SEARCH'].' Yandex: '.$lang['SITEMAP_SENT'].''; } else { - $html .= '
    Уведомление поисковой системы Yandex: ошибка отправки URL: http://ping.blogs.yandex.ru/ping?sitemap='.$map_link.''; + $html .= '
    '.$lang['SITEMAP_NOTIFY_SEARCH'].' Yandex: '.$lang['SITEMAP_ERROR'].' URL: http://ping.blogs.yandex.ru/ping?sitemap='.$map_link.''; } if ($map->send_url("http://www.bing.com/webmaster/ping.aspx?siteMap=", $map_link)) { - $html .= '
    Уведомление поисковой системы Bing: отправка завершена'; + $html .= '
    '.$lang['SITEMAP_NOTIFY_SEARCH'].' Bing: '.$lang['SITEMAP_SENT'].''; } else { - $html .= '
    Уведомление поисковой системы Bing: ошибка отправки'; + $html .= '
    '.$lang['SITEMAP_NOTIFY_SEARCH'].' Bing: '.$lang['SITEMAP_ERROR'].' URL: http://www.bing.com/webmaster/ping.aspx?siteMap='.$map_link.''; } - if (strpos ($map->send_url("http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url=", $map_link), "Thanks for the ping") !== false) { - $html .= '
    Уведомление поисковой системы Weblogs: отправка завершена'; + if (strpos($map->send_url("http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url=", $map_link), "Thanks for the ping") !== false) { + $html .= '
    '.$lang['SITEMAP_NOTIFY_SEARCH'].' Weblogs: '.$lang['SITEMAP_SENT'].''; } else { - $html .= '
    Уведомление поисковой системы Weblogs: ошибка отправки URL: http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url='.$map_link.''; + $html .= '
    '.$lang['SITEMAP_NOTIFY_SEARCH'].' Weblogs: '.$lang['SITEMAP_ERROR'].' URL: http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url='.$map_link.''; } if ($map->send_url("http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap=", $map_link)) { - $html .= '
    Уведомление поисковой системы Yahoo: отправка завершена'; + $html .= '
    '.$lang['SITEMAP_NOTIFY_SEARCH'].' Yahoo: '.$lang['SITEMAP_SENT'].''; } else { - $html .= '
    Уведомление поисковой системы Yahoo: ошибка отправки URL: http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url='.$map_link.''; + $html .= '
    '.$lang['SITEMAP_NOTIFY_SEARCH'].' Yahoo: '.$lang['SITEMAP_ERROR'].' URL: http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url='.$map_link.''; } break; } diff --git a/upload/language/en/main.php b/upload/language/en/main.php index caf5728db..d67bd3b51 100644 --- a/upload/language/en/main.php +++ b/upload/language/en/main.php @@ -2976,4 +2976,25 @@ $lang['MC_COMMENT'] = array( 'title' => 'Violation from %s', 'type' => 'Violation', ), -); \ No newline at end of file +); + +$lang['SITEMAP'] = 'Sitemap'; +$lang['SITEMAP_ADMIN'] = 'Manage sitemap'; +$lang['SITEMAP_CREATED'] = 'Sitemap created'; +$lang['SITEMAP_AVAILABLE'] = 'and is available at'; +$lang['SITEMAP_NOT_CREATED'] = 'Sitemap is not yet created'; +$lang['SITEMAP_NOTIFY_SEARCH'] = 'Notification of the search engine'; +$lang['SITEMAP_SENT'] = 'send completed'; +$lang['SITEMAP_ERROR'] = 'sending error'; +$lang['SITEMAP_OPTIONS'] = 'Options'; +$lang['SITEMAP_CREATE'] = 'Create / update the sitemap'; +$lang['SITEMAP_NOTIFY'] = 'Notify search engines about new version of sitemap'; +$lang['SITEMAP_WHAT_NEXT'] = 'What to do next?'; +$lang['SITEMAP_GOOGLE_1'] = 'Register your site at Google Webmaster using your Google account.'; +$lang['SITEMAP_GOOGLE_2'] = 'Add sitemap of site you registered.'; +$lang['SITEMAP_YANDEX_1'] = 'Register your site at Yandex Webmaster using your Yandex account.'; +$lang['SITEMAP_YANDEX_2'] = 'Add sitemap of site you registered.'; +$lang['SITEMAP_ADD_TITLE'] = 'Additional pages for sitemap'; +$lang['SITEMAP_ADD_PAGE'] = 'Additional pages'; +$lang['SITEMAP_ADD_EXP_1'] = 'You can specify additional pages on your site (for example, http://torrentpier.me/memberlist.php) which should be included in your sitemap file that you creating.'; +$lang['SITEMAP_ADD_EXP_2'] = 'Each reference must begin with http(s):// and a new line!'; \ No newline at end of file diff --git a/upload/language/ru/main.php b/upload/language/ru/main.php index 6f5cadf3a..b4ba79c53 100644 --- a/upload/language/ru/main.php +++ b/upload/language/ru/main.php @@ -2976,4 +2976,25 @@ $lang['MC_COMMENT'] = array( 'title' => 'Нарушение от %s', 'type' => 'Нарушение', ), -); \ No newline at end of file +); + +$lang['SITEMAP'] = 'Карта сайта (sitemap)'; +$lang['SITEMAP_ADMIN'] = 'Управление картой сайта (sitemap)'; +$lang['SITEMAP_CREATED'] = 'Файл sitemap создан'; +$lang['SITEMAP_AVAILABLE'] = 'и доступен по адресу'; +$lang['SITEMAP_NOT_CREATED'] = 'Файл sitemap еще не создан'; +$lang['SITEMAP_NOTIFY_SEARCH'] = 'Уведомление поисковой системы'; +$lang['SITEMAP_SENT'] = 'отправка завершена'; +$lang['SITEMAP_ERROR'] = 'ошибка отправки'; +$lang['SITEMAP_OPTIONS'] = 'Опции'; +$lang['SITEMAP_CREATE'] = 'Создать / обновить файл sitemap'; +$lang['SITEMAP_NOTIFY'] = 'Уведомить поисковые системы о наличии новой версии файла sitemap'; +$lang['SITEMAP_WHAT_NEXT'] = 'Что сделать дальше?'; +$lang['SITEMAP_GOOGLE_1'] = 'Зарегистрируйте ваш сайт в Google Webmaster с использованием вашей учетной записи Google.'; +$lang['SITEMAP_GOOGLE_2'] = 'Добавьте файл sitemap зарегистрированного вами сайта.'; +$lang['SITEMAP_YANDEX_1'] = 'Зарегистрируйте ваш сайт в Yandex Webmaster с использованием вашей учетной записи Yandex.'; +$lang['SITEMAP_YANDEX_2'] = 'Добавьте файл sitemap зарегистрированного вами сайта.'; +$lang['SITEMAP_ADD_TITLE'] = 'Дополнительные страницы для sitemap'; +$lang['SITEMAP_ADD_PAGE'] = 'Дополнительные страницы'; +$lang['SITEMAP_ADD_EXP_1'] = 'Здесь вы можете указать дополнительные страницы сайта (например http://torrentpier.me/memberlist.php), которые должны быть включены в создаваемый файл вами файл sitemap.'; +$lang['SITEMAP_ADD_EXP_2'] = 'Каждая ссылка должна начинаться с http(s):// и новой строки!'; \ No newline at end of file diff --git a/upload/language/ua/main.php b/upload/language/ua/main.php index 833ea87e0..b47472108 100644 --- a/upload/language/ua/main.php +++ b/upload/language/ua/main.php @@ -2976,4 +2976,25 @@ $lang['MC_COMMENT'] = array( 'title' => 'Порушення від %s', 'type' => 'Порушення', ), -); \ No newline at end of file +); + +$lang['SITEMAP'] = 'Карта сайту (sitemap)'; +$lang['SITEMAP_ADMIN'] = 'Управління картою сайту (sitemap)'; +$lang['SITEMAP_CREATED'] = 'Файл sitemap створений'; +$lang['SITEMAP_AVAILABLE'] = 'і доступний за адресою'; +$lang['SITEMAP_NOT_CREATED'] = 'Файл sitemap ще не створено'; +$lang['SITEMAP_NOTIFY_SEARCH'] = 'Повідомлення пошукової системи'; +$lang['SITEMAP_SENT'] = 'відправка завершена'; +$lang['SITEMAP_ERROR'] = 'помилка відсилання'; +$lang['SITEMAP_OPTIONS'] = 'Опції'; +$lang['SITEMAP_CREATE'] = 'Створити / оновити файл sitemap'; +$lang['SITEMAP_NOTIFY'] = 'Повідомити пошукові системи про наявність нової версії файлу sitemap'; +$lang['SITEMAP_WHAT_NEXT'] = 'Що зробити далі?'; +$lang['SITEMAP_GOOGLE_1'] = 'Зареєструйте ваш сайт в Google Webmaster з використанням вашого облікового запису Google.'; +$lang['SITEMAP_GOOGLE_2'] = 'Додайте файл sitemap зареєстрованого вами сайту.'; +$lang['SITEMAP_YANDEX_1'] = 'Зареєструйте ваш сайт в Yandex Webmaster з використанням вашого облікового запису Yandex.'; +$lang['SITEMAP_YANDEX_2'] = 'Додайте файл sitemap зареєстрованого вами сайту.'; +$lang['SITEMAP_ADD_TITLE'] = 'Додаткові сторінки для sitemap'; +$lang['SITEMAP_ADD_PAGE'] = 'Додаткові сторінки'; +$lang['SITEMAP_ADD_EXP_1'] = 'Тут ви можете вказати додаткові сторінки сайту (наприклад http://torrentpier.me/memberlist.php), які повинні бути включені в створюваний файл вами файл sitemap.'; +$lang['SITEMAP_ADD_EXP_2'] = 'Кожне посилання має починатись з http(s):// і нової рядки!'; \ No newline at end of file diff --git a/upload/templates/admin/admin_sitemap.tpl b/upload/templates/admin/admin_sitemap.tpl index fa6a4f8d3..675f64548 100644 --- a/upload/templates/admin/admin_sitemap.tpl +++ b/upload/templates/admin/admin_sitemap.tpl @@ -73,7 +73,7 @@ ajax.callback.sitemap = function(data) { } -

    Управление картой сайта

    +

    {L_SITEMAP_ADMIN}

    @@ -82,36 +82,34 @@ ajax.callback.sitemap = function(data) { - + - + - + From cd4ef72f01a3f0bf00e9fa7a4c6cf37be901f3db Mon Sep 17 00:00:00 2001 From: Exile Date: Mon, 4 Aug 2014 21:13:34 +0400 Subject: [PATCH 24/32] r593 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Фикс карты сайта. --- upload/admin/admin_sitemap.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/upload/admin/admin_sitemap.php b/upload/admin/admin_sitemap.php index 836ee58d5..122178815 100644 --- a/upload/admin/admin_sitemap.php +++ b/upload/admin/admin_sitemap.php @@ -41,7 +41,7 @@ else } } -$s_mess = $lang['SITEMAP_CREATED'].': '.bb_date($new['sitemap_time'], $bb_cfg['post_date_format']).' '.lang['SITEMAP_AVAILABLE'].': '.make_url('/sitemap/sitemap.xml').''; +$s_mess = $lang['SITEMAP_CREATED'].': '.bb_date($new['sitemap_time'], $bb_cfg['post_date_format']).' '.$lang['SITEMAP_AVAILABLE'].': '.make_url('/sitemap/sitemap.xml').''; $message = (@file_exists(BB_ROOT. "/sitemap/sitemap.xml")) ? $s_mess : $lang['SITEMAP_NOT_CREATED']; $template->assign_vars(array( From 5c524ab2dcef54f7f5e63494c9602811fce1ca77 Mon Sep 17 00:00:00 2001 From: Exile Date: Mon, 4 Aug 2014 21:18:28 +0400 Subject: [PATCH 25/32] r593 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Форматирование. --- upload/includes/class.sitemap.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/upload/includes/class.sitemap.php b/upload/includes/class.sitemap.php index 94616872d..75fd7a0e0 100644 --- a/upload/includes/class.sitemap.php +++ b/upload/includes/class.sitemap.php @@ -2,12 +2,12 @@ class sitemap { - var $home = ""; - var $limit = 0; + var $home = ""; + var $limit = 0; var $topic_priority = "0.5"; - var $stat_priority = "0.5"; - var $priority = "0.6"; - var $cat_priority = "0.7"; + var $stat_priority = "0.5"; + var $priority = "0.6"; + var $cat_priority = "0.7"; function sitemap () { global $bb_cfg; From 7e1068a4cd91d661c62883f0db71320af22dce78 Mon Sep 17 00:00:00 2001 From: Exile Date: Mon, 4 Aug 2014 21:33:53 +0400 Subject: [PATCH 26/32] Update README.md --- README.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index f195e5a28..0a73394cd 100644 --- a/README.md +++ b/README.md @@ -15,12 +15,12 @@ TorrentPier II - движок торрент-трекера, написанны > В данной строке изменяем данные входа в базу данных, остальные правки в файле вносятся по усмотрению, исходя из необходимости из внесения (ориентируйтесь на описания, указанные у полей). 4. Редактируем указанные файлы: ->favicon.ico (меняем на свою иконку, если есть) - robots.txt (меняем адреса в строках Host: и Sitemap: на свои адреса) + + favicon.ico (меняем на свою иконку, если есть) + + robots.txt (меняем адреса в строках **Host** и **Sitemap** на свои) ## Права доступа на папки и файлы -Устанавливаем права доступа на данные папки 777, на файлы внутри этих папок (кроме .htaccess) 666: +Устанавливаем права доступа (chmod) на указанные папки 777, а на файлы внутри этих папок (кроме файлов .htaccess и .keep) 666: - ajax/html - cache - cache/filecache @@ -32,9 +32,10 @@ TorrentPier II - движок торрент-трекера, написанны - images/ranks - images/smiles - log +- sitemap - triggers -## Необходимые значения в php.ini +## Необходимые настройки php (файл php.ini) mbstring.internal_encoding = UTF-8 magic_quotes_gpc = Off @@ -45,14 +46,13 @@ TorrentPier II - движок торрент-трекера, написанны Начиная с версии 2.0.9 (ревизия 592) данный модуль не является обязательным, но его установка крайне рекомендуется для повышения качества обработки html-кода. -## Необходимый запуск cron.php +## Рекомендуемый способ запуска cron.php -Подробнее в теме http://torrentpier.me/threads/Отвязка-запуск-крона.52/ +С более подробной информацией об отвязке крона, вы можете ознакомиться в теме http://torrentpier.me/threads/Отвязка-запуск-крона.52/ -## Часто задаваемые вопросы +## Полезные ссылки -http://torrentpier.me/threads/faq-для-новичков.260/ - -## Где задать вопрос - -http://torrentpier.me/forums/Основные-вопросы-по-torrentpier-ii.10/ ++ Наш форум http://torrentpier.me/ ++ Центр загрузки http://get.torrentpier.me/ ++ Часто задаваемые вопросы http://faq.torrentpier.me/ ++ Где задать вопрос http://torrentpier.me/forums/Основные-вопросы-по-torrentpier-ii.10/ From 8a83e02570349e2b2ec7a4bc9330ece3a67cfd8d Mon Sep 17 00:00:00 2001 From: Exile Date: Mon, 4 Aug 2014 21:36:36 +0400 Subject: [PATCH 27/32] Update README.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 0a73394cd..e502487df 100644 --- a/README.md +++ b/README.md @@ -15,12 +15,12 @@ TorrentPier II - движок торрент-трекера, написанны > В данной строке изменяем данные входа в базу данных, остальные правки в файле вносятся по усмотрению, исходя из необходимости из внесения (ориентируйтесь на описания, указанные у полей). 4. Редактируем указанные файлы: - + favicon.ico (меняем на свою иконку, если есть) - + robots.txt (меняем адреса в строках **Host** и **Sitemap** на свои) + + **favicon.ico** (меняем на свою иконку, если есть) + + **robots.txt** (меняем адреса в строках **Host** и **Sitemap** на свои) ## Права доступа на папки и файлы -Устанавливаем права доступа (chmod) на указанные папки 777, а на файлы внутри этих папок (кроме файлов .htaccess и .keep) 666: +Исходя из настроек вашего сервера, устанавливаем рекомендуемые права доступа (chmod) на указанные папки **777**, а на файлы внутри этих папок (кроме файлов **.htaccess** и **.keep**) **666**: - ajax/html - cache - cache/filecache @@ -48,11 +48,11 @@ TorrentPier II - движок торрент-трекера, написанны ## Рекомендуемый способ запуска cron.php -С более подробной информацией об отвязке крона, вы можете ознакомиться в теме http://torrentpier.me/threads/Отвязка-запуск-крона.52/ +Для значительного ускорения работы трекера для конечного пользователя, может потребоваться отвязка встроенного форумного крона. С более подробной информацией об отвязке крона, вы можете ознакомиться в теме http://torrentpier.me/threads/52/ ## Полезные ссылки + Наш форум http://torrentpier.me/ + Центр загрузки http://get.torrentpier.me/ + Часто задаваемые вопросы http://faq.torrentpier.me/ -+ Где задать вопрос http://torrentpier.me/forums/Основные-вопросы-по-torrentpier-ii.10/ ++ Где задать вопрос http://torrentpier.me/forums/10/ From 15f3bfb8d47076f371906ab4b02dbe9b8623519b Mon Sep 17 00:00:00 2001 From: Exile Date: Mon, 4 Aug 2014 21:41:50 +0400 Subject: [PATCH 28/32] Update README.md --- README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e502487df..983eae02f 100644 --- a/README.md +++ b/README.md @@ -35,16 +35,17 @@ TorrentPier II - движок торрент-трекера, написанны - sitemap - triggers -## Необходимые настройки php (файл php.ini) +## Необходимые настройки php mbstring.internal_encoding = UTF-8 magic_quotes_gpc = Off +Внести данные настройки необходимо в файл **php.ini**. Их вам может установить ваш хостер по запросу, если у вас возникакют какие-либо проблемы с их самостоятельной установкой. Впрочем, эти настройки могут быть установлены на сервере по-умолчанию, поэтому их внесение требуется исключительно по необходимости. -## Необходимые модули для php +## Необходимые модули php php5-tidy -Начиная с версии 2.0.9 (ревизия 592) данный модуль не является обязательным, но его установка крайне рекомендуется для повышения качества обработки html-кода. +Начиная с версии 2.0.9 (ревизия 592 в старой нумерации) данный модуль не является обязательным, но его установка крайне рекомендуется для повышения качества обработки html-кода. ## Рекомендуемый способ запуска cron.php From 753a8395af991680c176218cf3cab156930e8625 Mon Sep 17 00:00:00 2001 From: Exile Date: Mon, 4 Aug 2014 21:46:32 +0400 Subject: [PATCH 29/32] Update README.md --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 983eae02f..05ffc6e54 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@ TorrentPier II ====================== -TorrentPier II - движок торрент-трекера, написанный на php. Высокая скорость работы, простота модификации, устойчивость к высоким нагрузкам, в том числе и поддержка альтернативных анонсеров (например, Ocelot). Помимо этого, крайне развитый официальный форум поддержки, где помимо прочего можно испытать движок в работе на демо-версии, не устанавливая его. +TorrentPier II - движок торрент-трекера, написанный на php. Высокая скорость работы, простота модификации, устойчивость к высоким нагрузкам, в том числе и поддержка альтернативных анонсеров (например, Ocelot). Помимо этого, крайне развитый официальный форум поддержки, где помимо прочего можно испытать движок в работе на демо-версии, не устанавливая его а также получить любую другую интересующую вас информацию и скачать моды. ## Установка Для установки вам необходимо выполнить несколько простых шагов: -1. Распаковываем на сервер содержимое папки **upload**. +1. Распаковываем на сервер содержимое папки **upload** 2. Создаем базу данных, в которую при помощи phpmyadmin (или любого другого удобного инструмента) импортируем дамп, расположенный в папке **install/sql/mysql.sql** 3. Правим файл конфигурации **config.php**, загруженный на сервер: @@ -39,17 +39,17 @@ TorrentPier II - движок торрент-трекера, написанны mbstring.internal_encoding = UTF-8 magic_quotes_gpc = Off -Внести данные настройки необходимо в файл **php.ini**. Их вам может установить ваш хостер по запросу, если у вас возникакют какие-либо проблемы с их самостоятельной установкой. Впрочем, эти настройки могут быть установлены на сервере по-умолчанию, поэтому их внесение требуется исключительно по необходимости. +Внести данные настройки необходимо в файл **php.ini**. Их вам может установить ваш хостер по запросу, если у вас возникают какие-либо проблемы с их самостоятельной установкой. Впрочем, эти настройки могут быть установлены на сервере по-умолчанию, поэтому их внесение требуется исключительно по необходимости. ## Необходимые модули php php5-tidy -Начиная с версии 2.0.9 (ревизия 592 в старой нумерации) данный модуль не является обязательным, но его установка крайне рекомендуется для повышения качества обработки html-кода. +Начиная с версии 2.0.9 (ревизия 592 в старой нумерации) данный модуль не является обязательным, но его установка крайне рекомендуется для повышения качества обработки html-кода тем и сообщений пользователей. ## Рекомендуемый способ запуска cron.php -Для значительного ускорения работы трекера для конечного пользователя, может потребоваться отвязка встроенного форумного крона. С более подробной информацией об отвязке крона, вы можете ознакомиться в теме http://torrentpier.me/threads/52/ +Для значительного ускорения работы трекера может потребоваться отвязка встроенного форумного крона. С более подробной информацией об отвязке крона, вы можете ознакомиться в данной теме http://torrentpier.me/threads/52/ на нашем форуме поддержки. ## Полезные ссылки From 319fc3fb9ca10622e3dbe2357bbe5629c655d4b1 Mon Sep 17 00:00:00 2001 From: Exile Date: Mon, 4 Aug 2014 22:10:43 +0400 Subject: [PATCH 30/32] r593 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Неправильный текст ссылки. --- upload/ajax/sitemap.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/upload/ajax/sitemap.php b/upload/ajax/sitemap.php index a0c3806bd..b5aa40e2a 100644 --- a/upload/ajax/sitemap.php +++ b/upload/ajax/sitemap.php @@ -55,7 +55,7 @@ switch ($mode) if ($map->send_url("http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap=", $map_link)) { $html .= '
    '.$lang['SITEMAP_NOTIFY_SEARCH'].' Yahoo: '.$lang['SITEMAP_SENT'].''; } else { - $html .= '
    '.$lang['SITEMAP_NOTIFY_SEARCH'].' Yahoo: '.$lang['SITEMAP_ERROR'].' URL: http://rpc.weblogs.com/pingSiteForm?name=InfraBlog&url='.$map_link.''; + $html .= '
    '.$lang['SITEMAP_NOTIFY_SEARCH'].' Yahoo: '.$lang['SITEMAP_ERROR'].' URL: http://search.yahooapis.com/SiteExplorerService/V1/ping?sitemap='.$map_link.''; } break; } From b047e2d694fea4aa2094b09264b46fcf52256369 Mon Sep 17 00:00:00 2001 From: Exile Date: Mon, 4 Aug 2014 22:21:08 +0400 Subject: [PATCH 31/32] r593 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Серьезные правки стиля. --- upload/templates/default/css/main.css | 2 +- upload/templates/default/images/cellpic1.gif | Bin 1847 -> 781 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/upload/templates/default/css/main.css b/upload/templates/default/css/main.css index 88d219763..d05b4e76e 100644 --- a/upload/templates/default/css/main.css +++ b/upload/templates/default/css/main.css @@ -434,7 +434,7 @@ table.message td { } .cat, td.cat, td.catTitle, td.catHead, td.catBottom { - padding: 5px 4px 6px; + padding: 5px 4px 0; background: #E0E5E9 url(../images/cellpic.gif) repeat-x; } .catTitle { diff --git a/upload/templates/default/images/cellpic1.gif b/upload/templates/default/images/cellpic1.gif index 7c2011429774c467c548ddd0baa21a3b7244204f..49420e7156d113c35c0f13a809550a356368bc93 100644 GIT binary patch delta 406 zcmV;H0crlX4vhv0M@dFFIbjF@L9q#h0e>t20000806_o%2mgRNMN&mUI$S|oH!F)b zP%APYSCJo)8J9^(mtI{Ko@Ab5JQAd%q$y7+Mk!{hH6gGeH8oB?$>{u@^7=IW& zR6X+;8aWzS8u}U$0t$>EhJ*=&2Mso$u!I7R1~_mKAmE{a#f23KP?)%}fd`EqCyJc- zK%|Qa6H2Od;ex;f0uNv$NB{%Ig9!<4&P;%FL4pN7fd>7#KmmgV3=*_B%Al!H1}zkb zXd%L=0s&GLTor&-1XryLxQZPM0Dpj3vtA7(jTi;K6<&5MDgs0OQ369812?xIpB~l?Pn7aNvUF0R;*S2oSoo=K`cllMcX| zHR{km0>nnZ8iDQBxM|ncU8Z%67zTnPFhD!T@BqV!3lHuCxd9&|42*~#Jp&K`J4jfK AY5)KL delta 1480 zcmeBW+s?=7?&)S>naIK5w2`xgv0m{%cZ6?%f=gmaB9OMRuP8`N&Q2{+NJ>r5%(GQ` zzk9!uLS~AsQn;zFfp39xYDT6>~zjAO08Eg)icmdHZU_#Ff-IMG&V6e zH`h@xGB7mIH!#vSG}1LRw=y=eGB8kp0wthzMJZ`kK`w4k%YZyvrHqo20xNy}^73-M za$~*xqI7*jOG`_T8Ae9BKoz>hm3bwJ6}oxF$}kgLQj3#|>N5*UGV}8kKt?7e<(HP& zDgoUJ@kDL`+}ylkJ+O!LlJj%*D-sLz4fPB_o`Na#^~J9=Hy5tDxFjeQ;oy3#CKrcP z7NqJ2r55Lx7A2 zF<7;)ua#$BaYQm-VM4(417g<0lP-`4PyDHQz!YBuOxle9 z|NZ^*``6DO-@kqR^7+%p5AWZ-ee?R&%NNg|J$>@{(ZdJ#@7=v~`_|1H*RNf@a{1E5 z3+KjScm6wKdgMl@;Y>r6t8h zg$4O}xjETcnHlM6sVT`xi3#y>u`$t6krClxp&`LRfdT%0zCPYwo*wRQt}f0_jt=&A zwl>yQmKNq_rY6Qlz-*s-mo&FX#K^#)_>+YJ1av?Iu-IT=VE^AB>meK1EGui}8szF|72_CXu06>-K-)+@ ze1`lC$$6fh^WtK~mZmICwh>yrYPF`nrkiHkMpMP@il(N1*2ZDRPELD$6r7KSD%2}T zpO!W;IVk#w~TNcrz`t2hr|2PhE5pTx4V%91`EisH*CJj?mYakgyH0 z{Usq)lyPE_;(|5~4q-O|=R+>e?YzS``h%DJY#|KjNS$2Z}0D}WY>4LcH?0_At-S}*13}5>FLSJ-#^}I=oe&j LOE@ma!C(ylFNqFB From b8c47c3e2eb9e12f16d28da23795f780efa9466b Mon Sep 17 00:00:00 2001 From: Exile Date: Mon, 4 Aug 2014 22:56:35 +0400 Subject: [PATCH 32/32] r593 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Удаляем просмотр тех кто онлайн из-за ненадобности скрипта в целом. --- upload/config.php | 4 +- upload/includes/page_header.php | 1 - upload/language/en/main.php | 4 - upload/language/ru/main.php | 4 - upload/language/ua/main.php | 4 - upload/robots.txt | 3 +- upload/templates/default/index.tpl | 2 +- upload/templates/default/viewonline.tpl | 47 ---------- upload/viewonline.php | 118 ------------------------ 9 files changed, 4 insertions(+), 183 deletions(-) delete mode 100644 upload/templates/default/viewonline.tpl delete mode 100644 upload/viewonline.php diff --git a/upload/config.php b/upload/config.php index 7e4b730dc..bcde5c7a4 100644 --- a/upload/config.php +++ b/upload/config.php @@ -68,8 +68,8 @@ $domain_name = (!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : $do // Version info $bb_cfg['tp_version'] = '2.0.9 (RC)'; -$bb_cfg['tp_release_date'] = '30-07-2014'; -$bb_cfg['tp_release_state'] = 'R592'; +$bb_cfg['tp_release_date'] = '07-08-2014'; +$bb_cfg['tp_release_state'] = 'R593'; // Database $charset = 'utf8'; diff --git a/upload/includes/page_header.php b/upload/includes/page_header.php index 080ffda67..fb30f8cf8 100644 --- a/upload/includes/page_header.php +++ b/upload/includes/page_header.php @@ -46,7 +46,6 @@ if (defined('SHOW_ONLINE') && SHOW_ONLINE) 'LOGGED_IN_USER_LIST' => ${$online_list}['userlist'], 'USERS_ONLINE_COUNTS' => ${$online_list}['cnt'], 'RECORD_USERS' => sprintf($lang['RECORD_ONLINE_USERS'], $bb_cfg['record_online_users'], bb_date($bb_cfg['record_online_date'])), - 'U_VIEWONLINE' => "viewonline.php", )); } diff --git a/upload/language/en/main.php b/upload/language/en/main.php index 15ffd9e05..65aff8699 100644 --- a/upload/language/en/main.php +++ b/upload/language/en/main.php @@ -843,10 +843,6 @@ $lang['YOU_BEEN_BANNED'] = 'You have been banned from this forum.
    Please co // // Viewonline // -$lang['REG_USERS_ONLINE'] = 'Who is online registered users: %d and '; -$lang['HIDDEN_USERS_ONLINE'] = 'hidden users: %d'; -$lang['GUEST_USERS_ONLINE'] = 'Online Guests: %d'; -$lang['ALL_USERS_ONLINE'] = 'All users:'; $lang['ONLINE_EXPLAIN'] = 'users active over the past five minutes'; $lang['LAST_UPDATED'] = 'Last Updated'; diff --git a/upload/language/ru/main.php b/upload/language/ru/main.php index 09610704f..544f96749 100644 --- a/upload/language/ru/main.php +++ b/upload/language/ru/main.php @@ -843,10 +843,6 @@ $lang['YOU_BEEN_BANNED'] = 'Вам был закрыт доступ к фору // // Viewonline // -$lang['REG_USERS_ONLINE'] = 'Сейчас на сайте зарегистрированных пользователей: %d и '; -$lang['HIDDEN_USERS_ONLINE'] = 'скрытых пользователей: %d'; -$lang['GUEST_USERS_ONLINE'] = 'Сейчас на сайте гостей: %d'; -$lang['ALL_USERS_ONLINE'] = 'Всех:'; $lang['ONLINE_EXPLAIN'] = 'данные за последние пять минут'; $lang['LAST_UPDATED'] = 'Последнее изменение'; diff --git a/upload/language/ua/main.php b/upload/language/ua/main.php index 73d4cf208..98635f753 100644 --- a/upload/language/ua/main.php +++ b/upload/language/ua/main.php @@ -843,10 +843,6 @@ $lang['YOU_BEEN_BANNED'] = 'Вам був закритий доступ до ф // // Viewonline // -$lang['REG_USERS_ONLINE'] = 'Зараз на сайті зареєстрованих користувачів: %d '; -$lang['HIDDEN_USERS_ONLINE'] = 'прихованих користувачів: %d'; -$lang['GUEST_USERS_ONLINE'] = 'Зараз на сайті гостей: %d'; -$lang['ALL_USERS_ONLINE'] = 'Усіх:'; $lang['ONLINE_EXPLAIN'] = "дані за останні п'ять хвилин"; $lang['LAST_UPDATED'] = 'Остання зміна'; diff --git a/upload/robots.txt b/upload/robots.txt index f5d49b1f6..57f3228a1 100644 --- a/upload/robots.txt +++ b/upload/robots.txt @@ -7,7 +7,6 @@ Disallow: /modcp.php Disallow: /posting.php Disallow: /privmsg.php Disallow: /profile.php -Disallow: /viewonline.php Host: torrentpier.me -Sitemap: http://torrentpier.me/sitemap.php \ No newline at end of file +Sitemap: http://torrentpier.me/sitemap/sitemap.xml \ No newline at end of file diff --git a/upload/templates/default/index.tpl b/upload/templates/default/index.tpl index c9126a77c..c7f718a49 100644 --- a/upload/templates/default/index.tpl +++ b/upload/templates/default/index.tpl @@ -151,7 +151,7 @@
    -

    {L_WHOSONLINE}

    +

    {L_WHOSONLINE}

    {MESSAGE}
    Опции:{L_SITEMAP_OPTIONS}: - Создать / обновить файл карты сайта   - Уведомить поисковые системы о наличии новой версии карты сайта
    + {L_SITEMAP_CREATE}   + {L_SITEMAP_NOTIFY}
    Что сделать дальше?{L_SITEMAP_WHAT_NEXT}
    -

    1. Зарегистрируйте ваш сайт в Google Webmaster с использованием вашей учетной записи Google.

    -

    2. Зайдите в раздел "Файлы Sitemap" и нажмите кнопку "Добавление/проверка файла sitemap".

    -

    3. Зарегистрируйте ваш сайт в Yandex Webmaster с использованием вашей учетной записи.

    -

    4. Добавьте карту зарегистрированного вами сайта.

    +

    1. {L_SITEMAP_GOOGLE_1}

    +

    2. {L_SITEMAP_GOOGLE_2}

    +

    3. {L_SITEMAP_YANDEX_1}

    +

    4. {L_SITEMAP_YANDEX_2}

    Дополнительные страницы для sitemap{L_SITEMAP_ADD_TITLE}
    - Дополнительные страницы: + {L_SITEMAP_ADD_PAGE}:
    -

    Здесь вы можете указать дополнительные страницы сайта (например http://torrentpier.me/memberlist.php), - которые должны быть включены в создаваемый файл вами файл sitemap. Каждая ссылка - должна начинаться с http(s):// и новой строки!

    +

    {L_SITEMAP_ADD_EXP_1} {L_SITEMAP_ADD_EXP_2}

    diff --git a/upload/templates/default/viewonline.tpl b/upload/templates/default/viewonline.tpl deleted file mode 100644 index d1937bcff..000000000 --- a/upload/templates/default/viewonline.tpl +++ /dev/null @@ -1,47 +0,0 @@ - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    {L_USERNAME}{L_LAST_UPDATED}{L_IP_ADDRESS}
    {TOTAL_REGISTERED_USERS_ONLINE} | {L_ALL_USERS_ONLINE} {TOTAL_USERS_ONLINE}
    {reg_user_row.USER}{reg_user_row.LASTUPDATE_RAW}{reg_user_row.LASTUPDATE}{reg_user_row.USERIP}
    {TOTAL_GUEST_USERS_ONLINE}
    {guest_user_row.USER}{guest_user_row.LASTUPDATE}{guest_user_row.USERIP}
    - -
    - -
    - -

    {L_ONLINE_EXPLAIN}

    - -
    -

    {CURRENT_TIME}

    -

    {S_TIMEZONE}

    -
    -
    - -
    \ No newline at end of file diff --git a/upload/viewonline.php b/upload/viewonline.php deleted file mode 100644 index 518e811dc..000000000 --- a/upload/viewonline.php +++ /dev/null @@ -1,118 +0,0 @@ -session_start(array('req_login' => true)); -$page_cfg['use_tablesorter'] = true; - -// -// Output page header and load viewonline template -// -$template->assign_vars(array( - 'PAGE_TITLE' => $lang['WHOSONLINE'], -)); - -// -// Get auth data -// -$is_auth_ary = array(); -$is_auth_ary = auth(AUTH_VIEW, AUTH_LIST_ALL, $userdata); - -// -// Get user list -// -$sql = "SELECT u.user_id, u.username, u.user_opt, u.user_rank, s.session_logged_in, s.session_time, s.session_ip - FROM ".BB_USERS." u, ".BB_SESSIONS." s - WHERE u.user_id = s.session_user_id - AND s.session_time >= ".( TIMENOW - 300 ) . " - ORDER BY u.username ASC, s.session_ip ASC"; -if (!($result = DB()->sql_query($sql))) -{ - bb_die('Could not obtain regd user / online information'); -} - -$guest_users = 0; -$registered_users = 0; -$hidden_users = 0; - -$reg_counter = 0; -$guest_counter = 0; -$prev_user = 0; -$prev_ip = ''; - -$user_id = 0; - -while ($row = DB()->sql_fetchrow($result)) -{ - $view_online = false; - - if ($row['session_logged_in']) - { - $user_id = $row['user_id']; - - if ($user_id != $prev_user) - { - $username = profile_url($row); - - if (bf($row['user_opt'], 'user_opt', 'user_viewonline')) - { - $view_online = IS_AM; - $hidden_users++; - - $username = '' . $username . ''; - } - else - { - $view_online = true; - $registered_users++; - } - - $which_counter = 'reg_counter'; - $which_row = 'reg_user_row'; - $prev_user = $user_id; - } - } - else - { - if ($row['session_ip'] != $prev_ip) - { - $username = $lang['GUEST']; - $view_online = true; - $guest_users++; - - $which_counter = 'guest_counter'; - $which_row = 'guest_user_row'; - } - } - - $prev_ip = $row['session_ip']; - $user_ip = hexdec(substr($prev_ip, 0, 2)) . '.' . hexdec(substr($prev_ip, 2, 2)) . '.' . hexdec(substr($prev_ip, 4, 2)) . '.' . hexdec(substr($prev_ip, 6, 2)); - - if ($view_online) - { - $row_class = !($which_counter % 2) ? 'row1' : 'row2'; - - $template->assign_block_vars("$which_row", array( - 'ROW_CLASS' => $row_class, - 'USER' => $username, - 'LASTUPDATE' => bb_date($row['session_time']), - 'LASTUPDATE_RAW' => $row['session_time'], - 'USERIP' => $user_ip, - 'U_WHOIS_IP' => $bb_cfg['whois_info'] . $user_ip, - )); - - $which_counter++; - } -} - -$template->assign_vars(array( - 'TOTAL_USERS_ONLINE' => $registered_users + $hidden_users + $guest_users, - 'TOTAL_REGISTERED_USERS_ONLINE' => sprintf($lang['REG_USERS_ONLINE'], $registered_users) . sprintf($lang['HIDDEN_USERS_ONLINE'], $hidden_users), - 'TOTAL_GUEST_USERS_ONLINE' => sprintf($lang['GUEST_USERS_ONLINE'], $guest_users)) -); - -print_page('viewonline.tpl'); \ No newline at end of file