Merge branch 'master' into feature/retracker

This commit is contained in:
Dmitry Larchikov 2014-08-15 08:47:38 +04:00
commit 4288681eb6
52 changed files with 870 additions and 530 deletions

View file

@ -22,16 +22,17 @@ TorrentPier II - движок торрент-трекера, написанны
Исходя из настроек вашего сервера, устанавливаем рекомендуемые права доступа (chmod) на указанные папки **777**, а на файлы внутри этих папок (кроме файлов **.htaccess** и **.keep**) **666**:
- ajax/html
- atom
- cache
- cache/filecache
- files
- files/thumbs
- images
- images/avatars
- images/captcha
- images/ranks
- images/smiles
- log
- old_files
- old_files/thumbs
- sitemap
- triggers

View file

@ -114,7 +114,7 @@ CREATE TABLE IF NOT EXISTS `bb_attachments_config` (
-- Дамп данных таблицы `bb_attachments_config`
--
INSERT INTO `bb_attachments_config` VALUES ('upload_dir', 'files');
INSERT INTO `bb_attachments_config` VALUES ('upload_dir', 'old_files');
INSERT INTO `bb_attachments_config` VALUES ('upload_img', 'images/icon_clip.gif');
INSERT INTO `bb_attachments_config` VALUES ('topic_icon', 'images/icon_clip.gif');
INSERT INTO `bb_attachments_config` VALUES ('display_order', '0');
@ -645,6 +645,7 @@ INSERT INTO `bb_cron` VALUES (19, 1, 'Captcha', 'captcha_gen_gc.php', 'daily', N
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);
INSERT INTO `bb_cron` VALUES (23, 1, 'Update forums atom', 'update_forums_atom.php', 'interval', NULL, NULL, 255, '', '', '00:15:00', 0, '', 0, 0, 0);
-- --------------------------------------------------------

View file

@ -524,7 +524,7 @@ if ($view == 'attachments')
'S_DELETE_BOX' => $delete_box,
'S_HIDDEN' => $hidden_field,
'U_VIEW_ATTACHMENT' => BB_ROOT . 'download.php?id=' . $attachments[$i]['attach_id'],
'U_VIEW_ATTACHMENT' => BB_ROOT . DOWNLOAD_URL . $attachments[$i]['attach_id'],
));
}

View file

@ -58,7 +58,9 @@ if (isset($_GET['pane']) && $_GET['pane'] == 'left')
elseif (isset($_GET['pane']) && $_GET['pane'] == 'right')
{
$template->assign_vars(array(
'TPL_ADMIN_MAIN' => true,
'TPL_ADMIN_MAIN' => true,
'ADMIN_LOCK' => ($bb_cfg['board_disable']) ? true : false,
'ADMIN_LOCK_CRON' => (file_exists(BB_DISABLED)) ? true :false,
));
// Get forum statistics

View file

@ -9,14 +9,20 @@ require('./common.php');
$ajax->init();
// Init userdata
$user->session_start();
// Exit if board is disabled via ON/OFF trigger or by admin
if ($bb_cfg['board_disable'])
if ($ajax->action != 'manage_admin')
{
$ajax->ajax_die($lang['BOARD_DISABLE']);
}
else if (file_exists(BB_DISABLED))
{
$ajax->ajax_die($lang['BOARD_DISABLE_CRON']);
if ($bb_cfg['board_disable'])
{
$ajax->ajax_die($lang['BOARD_DISABLE']);
}
else if (file_exists(BB_DISABLED))
{
$ajax->ajax_die($lang['BOARD_DISABLE_CRON']);
}
}
// Load actions required modules
@ -65,10 +71,9 @@ switch ($ajax->action)
break;
}
// position in $ajax->valid_actions['xxx']
define('AJAX_AUTH', 0); // 'guest', 'user', 'mod', 'admin', 'super_admin'
// Position in $ajax->valid_actions['xxx']
define('AJAX_AUTH', 0); // 'guest', 'user', 'mod', 'admin', 'super_admin'
$user->session_start();
$ajax->exec();
//

View file

@ -1,2 +0,0 @@
order allow,deny
deny from all

View file

@ -99,7 +99,15 @@ switch ($mode)
sync('user_posts', 'all');
$this->response['sync_user_posts_html'] = '<span class="seed bold">'. $lang['USER POSTS COUNT SYNCHRONIZED'] .'</span>';
$this->response['sync_user_posts_html'] = '<span class="seed bold">'. $lang['USER_POSTS_COUNT_SYNCHRONIZED'] .'</span>';
break;
case 'unlock_cron':
cron_enable_board();
$this->response['unlock_cron_html'] = '<span class="seed bold">'. $lang['ADMIN_UNLOCKED'] .'</span>';
break;
}

View file

@ -57,6 +57,10 @@ switch($this->request['type'])
$this->prompt_for_confirm($lang['CONFIRM_DELETE']);
}
post_delete($post_id);
// Update atom feed
update_atom('topic', (int) $this->request['topic_id']);
$this->response['hide'] = true;
$this->response['post_id'] = $post_id;
}
@ -158,6 +162,9 @@ switch($this->request['type'])
}
else $this->ajax_die($lang['EMPTY_MESSAGE']);
// Update atom feed
update_atom('topic', (int) $this->request['topic_id']);
$this->response['html'] = bbcode2html($text);
}
else
@ -309,6 +316,9 @@ switch($this->request['type'])
user_notification('reply', $post, $post['topic_title'], $post['forum_id'], $topic_id, $notify);
}
// Update atom feed
update_atom('topic', (int) $this->request['topic_id']);
$this->response['redirect'] = make_url(POST_URL . "$post_id#$post_id");
break;

0
upload/atom/.keep Normal file
View file

View file

@ -99,11 +99,6 @@ function display_post_attachments($post_id, $switch_attachment)
{
display_attachments($post_id);
}
else
{
// Display Notice (attachment there but not having permissions to view it)
// Not included because this would mean template and language file changes (at this stage this is not a wise step. ;))
}
}
/**
@ -271,31 +266,23 @@ function display_attachments($post_id)
if ($image)
{
// Images
// NOTE: If you want to use the download.php everytime an image is displayed inlined, replace the
// Section between BEGIN and END with (Without the // of course):
// $img_source = BB_ROOT . 'download.php?id=' . $attachments['_' . $post_id][$i]['attach_id'];
// $download_link = TRUE;
// Check if we can reach the file or if it is stored outside of the webroot
if ($attach_config['upload_dir'][0] == '/' || ( $attach_config['upload_dir'][0] != '/' && $attach_config['upload_dir'][1] == ':'))
{
$img_source = BB_ROOT . 'download.php?id=' . $attachments['_' . $post_id][$i]['attach_id'];
$img_source = BB_ROOT . DOWNLOAD_URL . $attachments['_' . $post_id][$i]['attach_id'];
$download_link = TRUE;
}
else
{
// BEGIN
$img_source = $filename;
$download_link = FALSE;
// END
}
$template->assign_block_vars('postrow.attach.cat_images', array(
'DOWNLOAD_NAME' => $display_name,
'DOWNLOAD_NAME' => $display_name,
'S_UPLOAD_IMAGE' => $upload_image,
'IMG_SRC' => $img_source,
'FILESIZE' => $filesize,
'COMMENT' => $comment,
'IMG_SRC' => $img_source,
'FILESIZE' => $filesize,
'COMMENT' => $comment,
));
// Directly Viewed Image ... update the download count
@ -315,29 +302,22 @@ function display_attachments($post_id)
if ($thumbnail)
{
// Images, but display Thumbnail
// NOTE: If you want to use the download.php everytime an thumnmail is displayed inlined, replace the
// Section between BEGIN and END with (Without the // of course):
// $thumb_source = BB_ROOT . 'download.php?id=' . $attachments['_' . $post_id][$i]['attach_id'] . '&thumb=1';
// Check if we can reach the file or if it is stored outside of the webroot
if ($attach_config['upload_dir'][0] == '/' || ( $attach_config['upload_dir'][0] != '/' && $attach_config['upload_dir'][1] == ':'))
{
$thumb_source = BB_ROOT . 'download.php?id=' . $attachments['_' . $post_id][$i]['attach_id'] . '&thumb=1';
$thumb_source = BB_ROOT . DOWNLOAD_URL . $attachments['_' . $post_id][$i]['attach_id'] . '&thumb=1';
}
else
{
// BEGIN
$thumb_source = $thumbnail_filename;
// END
}
$template->assign_block_vars('postrow.attach.cat_thumb_images', array(
'DOWNLOAD_NAME' => $display_name,
'DOWNLOAD_NAME' => $display_name,
'S_UPLOAD_IMAGE' => $upload_image,
'IMG_SRC' => BB_ROOT . 'download.php?id=' . $attachments['_' . $post_id][$i]['attach_id'],
'IMG_THUMB_SRC' => $thumb_source,
'FILESIZE' => $filesize,
'COMMENT' => $comment,
'IMG_SRC' => BB_ROOT . DOWNLOAD_URL . $attachments['_' . $post_id][$i]['attach_id'],
'IMG_THUMB_SRC' => $thumb_source,
'FILESIZE' => $filesize,
'COMMENT' => $comment,
));
}
@ -352,15 +332,13 @@ function display_attachments($post_id)
// display attachment
$template->assign_block_vars('postrow.attach.attachrow', array(
'U_DOWNLOAD_LINK' => BB_ROOT . 'download.php?id=' . $attachments['_' . $post_id][$i]['attach_id'],
'S_UPLOAD_IMAGE' => $upload_image,
'DOWNLOAD_NAME' => $display_name,
'FILESIZE' => $filesize,
'COMMENT' => $comment,
'TARGET_BLANK' => $target_blank,
'DOWNLOAD_COUNT' => sprintf($lang['DOWNLOAD_NUMBER'], $attachments['_' . $post_id][$i]['download_count']),
'U_DOWNLOAD_LINK' => BB_ROOT . DOWNLOAD_URL . $attachments['_' . $post_id][$i]['attach_id'],
'S_UPLOAD_IMAGE' => $upload_image,
'DOWNLOAD_NAME' => $display_name,
'FILESIZE' => $filesize,
'COMMENT' => $comment,
'TARGET_BLANK' => $target_blank,
'DOWNLOAD_COUNT' => sprintf($lang['DOWNLOAD_NUMBER'], $attachments['_' . $post_id][$i]['download_count']),
));
}
}

View file

@ -75,7 +75,7 @@ $tor_auth_del = ($tor_auth && $tor_reged);
$tracker_link = ($tor_reged) ? $lang['BT_REG_YES'] : $lang['BT_REG_NO'];
$download_link = "download.php?id=$attach_id";
$download_link = DOWNLOAD_URL . $attach_id;
$description = ($comment) ? $comment : preg_replace("#.torrent$#i", '', $display_name);
if ($tor_auth_reg || $tor_auth_del)

View file

@ -806,7 +806,7 @@ class attach_parent
}
else
{
$download_link = BB_ROOT . 'download.php?id=' . $this->attachment_id_list[$i];
$download_link = BB_ROOT . DOWNLOAD_URL . $this->attachment_id_list[$i];
}
$template->assign_block_vars('attach_row', array(

View file

@ -56,6 +56,7 @@
* Avatars
* Misc
* Captcha
* Atom feed
**/
if (!defined('BB_ROOT')) die(basename(__FILE__));
@ -68,8 +69,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'] = '07-08-2014';
$bb_cfg['tp_release_state'] = 'R594b';
$bb_cfg['tp_release_date'] = '14-08-2014';
$bb_cfg['tp_release_state'] = 'R595';
// Database
$charset = 'utf8';
@ -164,9 +165,8 @@ $bb_cfg['ratio_url_help'] = 'viewtopic.php?t=3'; // Рейтинг и
$bb_cfg['search_help_url'] = 'viewtopic.php?t=4'; // Помощь по поиску
// Torrents
$bb_cfg['bt_min_ratio_allow_dl_tor'] = 0.3; // 0 - disable
$bb_cfg['bt_min_ratio_warning'] = 0.6; // 0 - disable
$bb_cfg['bt_min_ratio_dl_button'] = 0.5; // 0 - disable
$bb_cfg['bt_min_ratio_allow_dl_tor'] = 0.3; // 0 - disable
$bb_cfg['bt_min_ratio_warning'] = 0.6; // 0 - disable
$tr_cfg = array(
'autoclean' => true,
@ -220,9 +220,9 @@ $rating_limits = array(
'0.6' => 3,
);
// DL-Status
$bb_cfg['dl_will_days_keep'] = 60; // days to keep user's dlstatus records
$bb_cfg['dl_down_days_keep'] = 30;
// DL-Status (days to keep user's dlstatus records)
$bb_cfg['dl_will_days_keep'] = 360;
$bb_cfg['dl_down_days_keep'] = 180;
$bb_cfg['dl_complete_days_keep'] = 180;
$bb_cfg['dl_cancel_days_keep'] = 30;
@ -593,10 +593,16 @@ $bb_cfg['advert_url'] = 'misc.php?do=info&show=advert';
// Captcha
$bb_cfg['captcha'] = array(
'disabled' => false,
'disabled' => false,
'secret_key' => 'secret_key',
'img_url' => './images/captcha/', # without '/'
'img_path' => BB_PATH .'/images/captcha/', # without '/'
'img_url' => './images/captcha/', # with '/'
'img_path' => BB_PATH .'/images/captcha/', # with '/'
);
// Atom feed
$bb_cfg['atom'] = array(
'path' => BB_PATH .'/atom', # without '/'
'url' => './atom', # without '/'
);
define('BB_CFG_LOADED', true);

View file

@ -1,7 +1,7 @@
<?php
define('IN_FORUM', true);
define('BB_SCRIPT', 'download');
define('BB_SCRIPT', 'dl');
define('NO_GZIP', true);
define('BB_ROOT', './');
require(BB_ROOT .'common.php');

View file

@ -64,15 +64,6 @@ if (!$userdata['session_logged_in'])
redirect(LOGIN_URL . "?redirect=$redirect_type&$redirect");
}
if ($bb_cfg['bt_min_ratio_dl_button'] && $btu = get_bt_userdata($user->id))
{
if (($user_ratio = get_bt_ratio($btu)) < $bb_cfg['bt_min_ratio_dl_button'])
{
set_die_append_msg($forum_id, $topic_id);
bb_die($lang['BT_LOW_RATIO_FUNC']);
}
}
// Check if user did not confirm
if (@$_POST['cancel'])
{

68
upload/feed.php Normal file
View file

@ -0,0 +1,68 @@
<?php
define('IN_FORUM', true);
define('BB_SCRIPT', 'feed');
define('BB_ROOT', './');
require(BB_ROOT .'common.php');
$user->session_start(array('req_login' => true));
$mode = (string) @$_REQUEST['mode'];
$type = (string) @$_POST['type'];
$id = (int) @$_POST['id'];
$timecheck = TIMENOW - 600;
if (!$mode) bb_simple_die($lang['ATOM_NO_MODE']);
if ($mode == 'get_feed_url' && ($type == 'f' || $type == 'u') && $id >= 0)
{
if ($type == 'f')
{
// Check if the user has actually sent a forum ID
$sql = "SELECT allow_reg_tracker, forum_name FROM ". BB_FORUMS ." WHERE forum_id = $id LIMIT 1";
if (!$forum_data = DB()->fetch_row($sql))
{
if ($id == 0)
{
$forum_data = array();
}
else bb_simple_die($lang['ATOM_ERROR'].' #1');
}
if (file_exists($bb_cfg['atom']['path'] .'/f/'. $id .'.atom') && filemtime($bb_cfg['atom']['path'] .'/f/'. $id .'.atom') > $timecheck)
{
redirect($bb_cfg['atom']['url'] .'/f/'. $id .'.atom');
}
else
{
require_once(INC_DIR .'functions_atom.php');
if (update_forum_feed($id, $forum_data)) redirect($bb_cfg['atom']['url'] .'/f/'. $id .'.atom');
else bb_simple_die($lang['ATOM_NO_FORUM']);
}
}
if ($type == 'u')
{
// Check if the user has actually sent a user ID
if ($id < 1)
{
bb_simple_die($lang['ATOM_ERROR'].' #2');
}
if (!$username = get_username($id))
{
bb_simple_die($lang['ATOM_ERROR'].' #3');
}
if (file_exists($bb_cfg['atom']['path'] .'/u/'. floor($id/5000) .'/'. ($id % 100) .'/'. $id .'.atom') && filemtime($bb_cfg['atom']['path'] .'/u/'. floor($id/5000) .'/'. ($id % 100) .'/'. $id .'.atom') > $timecheck)
{
redirect($bb_cfg['atom']['url'] .'/u/'. floor($id/5000) .'/'. ($id % 100) .'/'. $id .'.atom');
}
else
{
require_once(INC_DIR .'functions_atom.php');
if (update_user_feed($id, $username)) redirect($bb_cfg['atom']['url'] .'/u/'. floor($id/5000) .'/'. ($id % 100) .'/'. $id .'.atom');
else bb_simple_die($lang['ATOM_NO_USER']);
}
}
}
else
{
bb_simple_die($lang['ATOM_ERROR'].' #4');
}

View file

@ -556,7 +556,7 @@ else
'S_HIDDEN_FIELDS' => $s_hidden_fields,
'S_MODE_SELECT' => $select_sort_mode,
'S_ORDER_SELECT' => $select_sort_order,
'S_GROUPCP_ACTION' => "groupcp.php?" . POST_GROUPS_URL . "=$group_id",
'S_GROUPCP_ACTION' => GROUP_URL . $group_id,
));
// Dump out the remaining users

View file

@ -498,7 +498,7 @@ class bbcode
function init_replacements ()
{
$tpl = $this->tpl;
$img_url_exp = 'http://[^\s\?&;=\#\"<>]+?\.(jpg|jpeg|gif|png)([a-z0-9/?&%;][^\[\]]*)?';
$img_url_exp = '(https?:)?//[^\s\?&;=\#\"<>]+?\.(jpg|jpeg|gif|png)([a-z0-9/?&%;][^\[\]]*)?';
$email_exp = '[a-z0-9&\-_.]+?@[\w\-]+\.([\w\-\.]+\.)?[\w]+';
$url_exp = '[\w\#!$%&~/.\-;:=,?@а-яА-Я\[\]+]+?';

View file

@ -131,7 +131,7 @@ class captcha_common
CACHE('bb_cap_sid')->set('c_sid_'. $this->new_cap_sid, $this->new_cap_code, $this->key_ttl*2);
}
function get_img_url ($id)
function get_img_url ($id)
{
return $this->get_path($id, $this->cfg['img_url']);
}
@ -215,8 +215,6 @@ class captcha_kcaptcha extends captcha_common
$credits = $bb_cfg['server_name']; # if empty, HTTP_HOST will be shown
# CAPTCHA image colors (RGB, 0-255)
//$foreground_color = array(0, 0, 0);
//$background_color = array(220, 230, 255);
$foreground_color = array(mt_rand(0,100), mt_rand(0,100), mt_rand(0,100));
$background_color = array(mt_rand(200,255), mt_rand(200,255), mt_rand(200,255));
@ -316,7 +314,7 @@ class captcha_kcaptcha extends captcha_common
$center=$x/2;
// credits. To remove, see configuration file
// credits
$img2=imagecreatetruecolor($width, $height+($show_credits?12:0));
$foreground=imagecolorallocate($img2, $foreground_color[0], $foreground_color[1], $foreground_color[2]);
$background=imagecolorallocate($img2, $background_color[0], $background_color[1], $background_color[2]);
@ -390,8 +388,6 @@ class captcha_kcaptcha extends captcha_common
file_write('', $img_path, null, true, true);
imagejpeg($img2, $img_path, $jpeg_quality);
# imagegif($img2, $img_path);
# imagepng($img2, $img_path);
imagedestroy($img2);

View file

@ -0,0 +1,23 @@
<?php
if (!defined('BB_ROOT')) die(basename(__FILE__));
global $bb_cfg;
require_once(INC_DIR .'functions_atom.php');
$timecheck = TIMENOW - 600;
$forums_data = DB()->fetch_rowset("SELECT forum_id, allow_reg_tracker, forum_name FROM ". BB_FORUMS);
if (!file_exists($bb_cfg['atom']['path'] .'/f/0.atom') && filemtime($bb_cfg['atom']['path'] .'/f/0.atom') <= $timecheck)
{
update_forum_feed(0, $forums_data);
}
foreach ($forums_data as $forum_data)
{
if (!file_exists($bb_cfg['atom']['path'] .'/f/'. $forum_data['forum_id'] .'.atom') && filemtime($bb_cfg['atom']['path'] .'/f/'. $forum_data['forum_id'] .'.atom') <= $timecheck)
{
update_forum_feed($forum_data['forum_id'], $forum_data);
}
}

View file

@ -11,7 +11,7 @@ function get_path_from_id ($id, $ext_id, $base_path, $first_div, $sec_div)
function get_avatar_path ($id, $ext_id, $base_path = '')
{
return get_path_from_id($id, $ext_id, $base_path, 5000000, 100);
return get_path_from_id($id, $ext_id, $base_path, 5000, 100);
}
function delete_avatar ($user_id, $avatar_ext_id)
@ -24,7 +24,7 @@ function delete_avatar ($user_id, $avatar_ext_id)
function get_attach_path ($id)
{
global $bb_cfg;
return get_path_from_id($id, '', $bb_cfg['attach']['upload_path'], 1000000, 100);
return get_path_from_id($id, '', $bb_cfg['attach']['upload_path'], 1000, 100);
}
function get_tracks ($type)
@ -2808,4 +2808,49 @@ function gender_image ($gender)
}
return $user_gender;
}
function is_gold ($type)
{
global $lang, $tr_cfg;
if (!$tr_cfg['gold_silver_enabled'])
{
$is_gold = '';
return $is_gold;
}
else
{
switch ($type)
{
case TOR_TYPE_GOLD:
$is_gold = '<img src="images/tor_gold.gif" width="16" height="15" title="'. $lang['GOLD'] .'" />&nbsp;';
break;
case TOR_TYPE_SILVER:
$is_gold = '<img src="images/tor_silver.gif" width="16" height="15" title="'. $lang['SILVER'] .'" />&nbsp;';
break;
default:
$is_gold = '';
break;
}
}
return $is_gold;
}
function update_atom ($type, $id)
{
require_once(INC_DIR .'functions_atom.php');
switch ($type)
{
case 'user':
update_user_feed($id, get_username($id));
break;
case 'topic':
$topic_poster = (int) DB()->fetch_row("SELECT topic_poster FROM ". BB_TOPICS ." WHERE topic_id = $id LIMIT 1", 'topic_poster');
update_user_feed($topic_poster, get_username($topic_poster));
break;
}
}

View file

@ -277,6 +277,13 @@ function topic_delete ($mode_or_topic_id, $forum_id = null, $prune_time = 0, $pr
GROUP BY p.poster_id
");
// Get array for atom update
$atom_csv = array();
foreach (DB()->fetch_rowset('SELECT user_id FROM '.$tmp_user_posts) as $at)
{
$atom_csv[] = $at['user_id'];
}
DB()->query("
UPDATE
$tmp_user_posts tmp, ". BB_USERS ." u
@ -384,6 +391,12 @@ function topic_delete ($mode_or_topic_id, $forum_id = null, $prune_time = 0, $pr
// Sync
sync('forum', array_keys($sync_forums));
// Update atom feed
foreach ($atom_csv as $atom)
{
update_atom('user', $atom);
}
DB()->query("DROP TEMPORARY TABLE $tmp_delete_topics");
return $deleted_topics_count;
@ -663,6 +676,16 @@ function post_delete ($mode_or_post_id, $user_id = null, $exclude_first = true)
sync('forum', array_keys($sync_forums));
sync('user_posts', $sync_users);
// Update atom feed
foreach ($sync_topics as $atom_topic)
{
update_atom('topic', $atom_topic);
}
foreach ($sync_users as $atom_user)
{
update_atom('user', $atom_user);
}
DB()->query("DROP TEMPORARY TABLE $tmp_delete_posts");
return $deleted_posts_count;
@ -670,7 +693,7 @@ function post_delete ($mode_or_post_id, $user_id = null, $exclude_first = true)
function user_delete ($user_id, $delete_posts = false)
{
global $log_action;
global $bb_cfg, $log_action;
if (!$user_csv = get_id_csv($user_id))
{
@ -755,6 +778,13 @@ function user_delete ($user_id, $delete_posts = false)
DB()->query("UPDATE ". BB_PRIVMSGS ." SET privmsgs_from_userid = ". DELETED ." WHERE privmsgs_from_userid IN($user_csv)");
DB()->query("UPDATE ". BB_PRIVMSGS ." SET privmsgs_to_userid = ". DELETED ." WHERE privmsgs_to_userid IN($user_csv)");
// Delete user feed
foreach (explode(',', $user_csv) as $user_id)
{
$file_path = $bb_cfg['atom']['path'] .'/u/'. floor($user_id/5000) .'/'. ($user_id % 100) .'/'. $user_id .'.atom';
@unlink($file_path);
}
}
function get_usernames_for_log ($user_id)

View file

@ -0,0 +1,186 @@
<?php
if (!defined('BB_ROOT')) die(basename(__FILE__));
// Максимум записей = 50
// [Обновлено] - если дата изменения первого поста топика не старее недели (?) или в топике новые сообщения не старее недели (?)
function update_forum_feed ($forum_id, $forum_data)
{
global $bb_cfg;
$file_path = $bb_cfg['atom']['path'] .'/f/'. $forum_id .'.atom';
$select_tor_sql = $join_tor_sql = '';
if ($forum_id == 0) $forum_data['forum_name'] = 'Общая по всем разделам';
if ($forum_id > 0 && $forum_data['allow_reg_tracker'])
{
$select_tor_sql = ', tor.size AS tor_size, tor.tor_status';
$join_tor_sql = "LEFT JOIN ". BB_BT_TORRENTS ." tor ON(t.topic_id = tor.topic_id)";
}
if ($forum_id == 0)
{
$sql = "
SELECT
t.topic_id, t.topic_title, t.topic_status,
u1.username AS first_username,
p1.post_time AS topic_first_post_time, p1.post_edit_time AS topic_first_post_edit_time,
p2.post_time AS topic_last_post_time, p2.post_edit_time AS topic_last_post_edit_time,
tor.size AS tor_size, tor.tor_status
FROM ". BB_BT_TORRENTS ." tor
LEFT JOIN ". BB_TOPICS ." t ON(tor.topic_id = t.topic_id)
LEFT JOIN ". BB_USERS ." u1 ON(t.topic_poster = u1.user_id)
LEFT JOIN ". BB_POSTS ." p1 ON(t.topic_first_post_id = p1.post_id)
LEFT JOIN ". BB_POSTS ." p2 ON(t.topic_last_post_id = p2.post_id)
ORDER BY t.topic_last_post_time DESC
LIMIT 100
";
}
else if ($forum_id > 0)
{
$sql = "
SELECT
t.topic_id, t.topic_title, t.topic_status,
u1.username AS first_username,
p1.post_time AS topic_first_post_time, p1.post_edit_time AS topic_first_post_edit_time,
p2.post_time AS topic_last_post_time, p2.post_edit_time AS topic_last_post_edit_time
$select_tor_sql
FROM ". BB_TOPICS ." t
LEFT JOIN ". BB_USERS ." u1 ON(t.topic_poster = u1.user_id)
LEFT JOIN ". BB_POSTS ." p1 ON(t.topic_first_post_id = p1.post_id)
LEFT JOIN ". BB_POSTS ." p2 ON(t.topic_last_post_id = p2.post_id)
$join_tor_sql
WHERE t.forum_id = $forum_id
ORDER BY t.topic_last_post_time DESC
LIMIT 50
";
}
$topics_tmp = DB()->fetch_rowset($sql);
$topics = array();
foreach ($topics_tmp as $topic)
{
if (isset($topic['topic_status']))
{
if ($topic['topic_status'] == TOPIC_MOVED) continue;
}
if (isset($topic['tor_status']))
{
if (isset($bb_cfg['tor_frozen'][$topic['tor_status']])) continue;
}
$topics[] = $topic;
}
if (!count($topics))
{
@unlink($file_path);
return false;
}
if (create_atom($file_path, 'f', $forum_id, htmlCHR($forum_data['forum_name']), $topics)) return true;
else return false;
}
function update_user_feed ($user_id, $username)
{
global $bb_cfg;
$file_path = $bb_cfg['atom']['path'] .'/u/'. floor($user_id/5000) .'/'. ($user_id % 100) .'/'. $user_id .'.atom';
$sql = "
SELECT
t.topic_id, t.topic_title, t.topic_status,
u1.username AS first_username,
p1.post_time AS topic_first_post_time, p1.post_edit_time AS topic_first_post_edit_time,
p2.post_time AS topic_last_post_time, p2.post_edit_time AS topic_last_post_edit_time,
tor.size AS tor_size, tor.tor_status
FROM ". BB_TOPICS ." t
LEFT JOIN ". BB_USERS ." u1 ON(t.topic_poster = u1.user_id)
LEFT JOIN ". BB_POSTS ." p1 ON(t.topic_first_post_id = p1.post_id)
LEFT JOIN ". BB_POSTS ." p2 ON(t.topic_last_post_id = p2.post_id)
LEFT JOIN ". BB_BT_TORRENTS ." tor ON(t.topic_id = tor.topic_id)
WHERE t.topic_poster = $user_id
ORDER BY t.topic_last_post_time DESC
LIMIT 50
";
$topics_tmp = DB()->fetch_rowset($sql);
$topics = array();
foreach ($topics_tmp as $topic)
{
if (isset($topic['topic_status']))
{
if ($topic['topic_status'] == TOPIC_MOVED) continue;
}
if (isset($topic['tor_status']))
{
if (isset($bb_cfg['tor_frozen'][$topic['tor_status']])) continue;
}
$topics[] = $topic;
}
if (!count($topics))
{
@unlink($file_path);
return false;
}
if (create_atom($file_path, 'u', $user_id, wbr($username), $topics)) return true;
else return false;
}
function create_atom ($file_path, $mode, $id, $title, $topics)
{
global $bb_cfg;
$dir = dirname($file_path);
if (!file_exists($dir))
{
if (!bb_mkdir($dir)) return false;
}
foreach ($topics as $topic)
{
$last_time = $topic['topic_last_post_time'];
if ($topic['topic_last_post_edit_time']) $last_time = $topic['topic_last_post_edit_time'];
$date = bb_date($last_time, 'Y-m-d', 0);
$time = bb_date($last_time, 'H:i:s', 0);
break;
}
$atom = "";
$atom .= "<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n";
$atom .= "<feed xmlns=\"http://www.w3.org/2005/Atom\" xml:base=\"http://". $bb_cfg['server_name'] . $bb_cfg['script_path'] ."\">\n";
$atom .= "<title>$title</title>\n";
$atom .= "<updated>". $date ."T$time+00:00</updated>\n";
$atom .= "<id>tag:rto.feed,2000:/$mode/$id</id>\n";
$atom .= "<link href=\"http://". $bb_cfg['server_name'] . $bb_cfg['script_path'] ."\" />\n";
foreach ($topics as $topic)
{
$topic_id = $topic['topic_id'];
$tor_size = '';
if (isset($topic['tor_size']))
{
$tor_size = str_replace('&nbsp;', ' ', ' ['. humn_size($topic['tor_size']) .']');
}
$topic_title = $topic['topic_title'];
$orig_word = array();
$replacement_word = array();
obtain_word_list($orig_word, $replacement_word);
if (count($orig_word))
{
$topic_title = preg_replace($orig_word, $replacement_word, $topic_title);
}
$topic_title = wbr($topic_title);
$author_name = ($topic['first_username']) ? wbr($topic['first_username']) : 'Гость';
$last_time = $topic['topic_last_post_time'];
if ($topic['topic_last_post_edit_time']) $last_time = $topic['topic_last_post_edit_time'];
$date = bb_date($last_time, 'Y-m-d', 0);
$time = bb_date($last_time, 'H:i:s', 0);
$updated = '';
$checktime = TIMENOW - 604800; // неделя (week)
if ($topic['topic_first_post_edit_time'] && $topic['topic_first_post_edit_time'] > $checktime) $updated = '[Обновлено] ';
$atom .= "<entry>\n";
$atom .= " <title type=\"html\"><![CDATA[$updated$topic_title$tor_size]]></title>\n";
$atom .= " <author>\n";
$atom .= " <name>$author_name</name>\n";
$atom .= " </author>\n";
$atom .= " <updated>". $date ."T$time+00:00</updated>\n";
$atom .= " <id>tag:rto.feed,". $date .":/t/$topic_id</id>\n";
$atom .= " <link href=\"viewtopic.php?t=$topic_id\" />\n";
$atom .= "</entry>\n";
}
$atom .= "</feed>";
@unlink($file_path);
$fp = fopen($file_path, "w");
fwrite($fp, $atom);
fclose ($fp);
return true;
}

View file

@ -338,7 +338,7 @@ define('PAGE_HEADER', INC_DIR .'page_header.php');
define('PAGE_FOOTER', INC_DIR .'page_footer.php');
define('CAT_URL', 'index.php?c=');
define('DOWNLOAD_URL', 'download.php?id=');
define('DOWNLOAD_URL', 'dl.php?id=');
define('FORUM_URL', 'viewforum.php?f=');
define('GROUP_URL', 'groupcp.php?g=');
define('LOGIN_URL', $bb_cfg['login_url']);

View file

@ -190,7 +190,7 @@ $template->assign_vars(array(
'FULL_URL' => FULL_URL,
'CURRENT_TIME' => sprintf($lang['CURRENT_TIME'], bb_date(TIMENOW, $bb_cfg['last_visit_date_format'], false)),
'S_TIMEZONE' => sprintf($lang['ALL_TIMES'], $lang[''.str_replace(',', '.', floatval($bb_cfg['board_timezone'])).'']),
'S_TIMEZONE' => preg_replace('/\(.*?\)/', '', sprintf($lang['ALL_TIMES'], $lang['TZ'][str_replace(',', '.', floatval($bb_cfg['board_timezone']))])),
'PM_INFO' => $pm_info,
'PRIVMSG_IMG' => $icon_pm,

View file

@ -90,10 +90,11 @@ if ($show_dl_list)
$dl_cat[$i] = "<span class=$desc>". $dl_cat[$i] .'</span>';
$template->assign_block_vars('dl_users.users_row', array(
'DL_OPTION_NAME' => $lang[strtoupper($desc) .'_2'],
'DL_OPTION_NAME' => $lang[strtoupper($desc)],
'DL_OPTION_USERS' => $dl_cat[$i],
'DL_COUNT' => $dl_count[$i],
'DL_USERS_DIV_STYLE' => $dl_users_div_style));
'DL_USERS_DIV_STYLE' => $dl_users_div_style,
));
}
else if ($dl_count[$i] && $count_mode)
{
@ -102,8 +103,9 @@ if ($show_dl_list)
continue;
}
$template->assign_block_vars('dl_counts.count_row', array(
'DL_OPTION_NAME' => $lang[strtoupper($desc) .'_2'],
'DL_OPTION_USERS' => $dl_count[$i]));
'DL_OPTION_NAME' => $lang[strtoupper($desc)],
'DL_OPTION_USERS' => $dl_count[$i],
));
}
}
}

View file

@ -48,19 +48,6 @@ if ($releasing)
{
foreach ($releasing as $i => $row)
{
$is_gold = '';
if ($tr_cfg['gold_silver_enabled'])
{
if ($row['tor_type'] == TOR_TYPE_GOLD)
{
$is_gold = '<img src="images/tor_gold.gif" width="16" height="15" title="'. $lang['GOLD'] .'" />&nbsp;';
}
elseif ($row['tor_type'] == TOR_TYPE_SILVER)
{
$is_gold = '<img src="images/tor_silver.gif" width="16" height="15" title="'. $lang['SILVER'] .'" />&nbsp;';
}
}
$topic_title = wbr($row['topic_title']);
$template->assign_block_vars('released', array(
@ -69,7 +56,7 @@ if ($releasing)
'TOPIC_TITLE' => ($row['update_time']) ? $topic_title : "<s>$topic_title</s>",
'U_VIEW_FORUM' => FORUM_URL . $row['forum_id'],
'U_VIEW_TOPIC' => TOPIC_URL . $row['topic_id'],
'TOR_TYPE' => $is_gold,
'TOR_TYPE' => is_gold($row['tor_type']),
'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' : '-',
@ -83,19 +70,6 @@ if ($seeding)
{
foreach ($seeding as $i => $row)
{
$is_gold = '';
if ($tr_cfg['gold_silver_enabled'])
{
if ($row['tor_type'] == TOR_TYPE_GOLD)
{
$is_gold = '<img src="images/tor_gold.gif" width="16" height="15" title="'. $lang['GOLD'] .'" />&nbsp;';
}
elseif ($row['tor_type'] == TOR_TYPE_SILVER)
{
$is_gold = '<img src="images/tor_silver.gif" width="16" height="15" title="'. $lang['SILVER'] .'" />&nbsp;';
}
}
$topic_title = wbr($row['topic_title']);
$template->assign_block_vars('seed', array(
@ -104,7 +78,7 @@ if ($seeding)
'TOPIC_TITLE' => ($row['update_time']) ? $topic_title : "<s>$topic_title</s>",
'U_VIEW_FORUM' => FORUM_URL . $row['forum_id'],
'U_VIEW_TOPIC' => TOPIC_URL . $row['topic_id'],
'TOR_TYPE' => $is_gold,
'TOR_TYPE' => is_gold($row['tor_type']),
'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' : '-',
@ -118,19 +92,6 @@ if ($leeching)
{
foreach ($leeching as $i => $row)
{
$is_gold = '';
if ($tr_cfg['gold_silver_enabled'])
{
if ($row['tor_type'] == TOR_TYPE_GOLD)
{
$is_gold = '<img src="images/tor_gold.gif" width="16" height="15" title="'.$lang['GOLD'].'" />&nbsp;';
}
elseif ($row['tor_type'] == TOR_TYPE_SILVER)
{
$is_gold = '<img src="images/tor_silver.gif" width="16" height="15" title="'.$lang['SILVER'].'" />&nbsp;';
}
}
$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']);
@ -142,7 +103,7 @@ if ($leeching)
'U_VIEW_FORUM' => FORUM_URL . $row['forum_id'],
'U_VIEW_TOPIC' => TOPIC_URL . $row['topic_id'],
'COMPL_PERC' => $compl_perc,
'TOR_TYPE' => $is_gold,
'TOR_TYPE' => is_gold($row['tor_type']),
'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' : '-',

View file

@ -280,6 +280,7 @@ foreach ($cat_forums as $cid => $c)
$template->assign_vars(array(
'SHOW_FORUMS' => $forums_count,
'SHOW_MAP' => (isset($_GET['map']) && !IS_GUEST),
'PAGE_TITLE' => ($viewcat) ? $cat_title_html[$viewcat] : $lang['HOME'],
'NO_FORUMS_MSG' => ($only_new) ? $lang['NO_NEW_POSTS'] : $lang['NO_FORUMS'],
@ -427,4 +428,6 @@ if (IS_AM)
// Display page
define('SHOW_ONLINE', $show_online_users);
if (isset($_GET['map'])) $template->assign_vars(array('PAGE_TITLE' => $lang['FORUM_MAP']));
print_page('index.tpl');

View file

@ -103,6 +103,13 @@ $lang['DATASTORE'] = 'Datastore';
$lang['DATASTORE_CLEARED'] = 'Datastore has been cleared';
$lang['BOARD_DISABLE'] = 'Sorry, this forum is disabled. Try to come back later';
$lang['BOARD_DISABLE_CRON'] = 'Forum is down for maintenance. Try to come back later';
$lang['ADMIN_DISABLE'] = 'the forum is disabled by administrator, you can enable it at any time';
$lang['ADMIN_DISABLE_CRON'] = 'forum locked by the trigger cron job, you can remove a lock at any time';
$lang['ADMIN_DISABLE_TITLE'] = 'The forum is disabled';
$lang['ADMIN_DISABLE_CRON_TITLE'] = 'Forum is down for maintenance';
$lang['ADMIN_UNLOCK'] = 'Enable forum';
$lang['ADMIN_UNLOCKED'] = 'Unlocked';
$lang['ADMIN_UNLOCK_CRON'] = 'Remove lock';
$lang['LOADING'] = 'Loading...';
$lang['JUMPBOX_TITLE'] = 'Select forum';
@ -128,7 +135,8 @@ $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['SEARCH_LATEST'] = 'Latest topics';
$lang['LATEST_RELEASES'] = 'Latest releases';
$lang['REGISTER'] = 'Register';
$lang['PROFILE'] = 'Profile';
@ -895,74 +903,41 @@ $lang['LOOKUP_IP'] = 'Look up IP address';
//
// Timezones ... for display on each page
//
$lang['ALL_TIMES'] = 'All times are <span class="tz_time">%s</span>'; // 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';
$lang['ALL_TIMES'] = 'All times are <span class="tz_time">%s</span>'; // This is followed by UTC and the timezone offset
// 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['TZ']['-12'] = 'UTC - 12';
$lang['TZ']['-11'] = 'UTC - 11';
$lang['TZ']['-10'] = 'UTC - 10';
$lang['TZ']['-9'] = 'UTC - 9';
$lang['TZ']['-8'] = 'UTC - 8';
$lang['TZ']['-7'] = 'UTC - 7';
$lang['TZ']['-6'] = 'UTC - 6';
$lang['TZ']['-5'] = 'UTC - 5';
$lang['TZ']['-4'] = 'UTC - 4';
$lang['TZ']['-3.5'] = 'UTC - 3.5';
$lang['TZ']['-3'] = 'UTC - 3';
$lang['TZ']['-2'] = 'UTC - 2';
$lang['TZ']['-1'] = 'UTC - 1';
$lang['TZ']['0'] = 'UTC ± 0';
$lang['TZ']['1'] = 'UTC + 1';
$lang['TZ']['2'] = 'UTC + 2';
$lang['TZ']['3'] = 'UTC + 3';
$lang['TZ']['3.5'] = 'UTC + 3.5';
$lang['TZ']['4'] = 'UTC + 4';
$lang['TZ']['4.5'] = 'UTC + 4.5';
$lang['TZ']['5'] = 'UTC + 5';
$lang['TZ']['5.5'] = 'UTC + 5.5';
$lang['TZ']['6'] = 'UTC + 6';
$lang['TZ']['6.5'] = 'UTC + 6.5';
$lang['TZ']['7'] = 'UTC + 7';
$lang['TZ']['8'] = 'UTC + 8';
$lang['TZ']['9'] = 'UTC + 9';
$lang['TZ']['9.5'] = 'UTC + 9.5';
$lang['TZ']['10'] = 'UTC + 10';
$lang['TZ']['11'] = 'UTC + 11';
$lang['TZ']['12'] = 'UTC + 12';
$lang['TZ']['13'] = 'UTC + 13';
$lang['DATETIME']['TODAY'] = 'Today';
$lang['DATETIME']['YESTERDAY'] = 'Yesterday';
@ -1220,7 +1195,7 @@ $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'] = '<i>filter by name </i>';
$lang['FILTER_BY_NAME'] = '<i>Filter by name </i>';
$lang['BT_ONLY_ACTIVE'] = 'Active';
$lang['BT_ONLY_MY'] = 'My releases';
@ -1250,15 +1225,10 @@ $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['DLWILL'] = 'Will download';
$lang['DLDOWN'] = 'Downloading';
$lang['DLCOMPLETE'] = 'Complete';
$lang['DLCANCEL'] = 'Cancel';
$lang['DL_LIST_DEL'] = 'Clear DL-List';
$lang['DL_LIST_DEL_CONFIRM'] = 'Delete DL-List for this topic?';
@ -1279,7 +1249,7 @@ $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['SEARCH_RELEASES'] = 'Releases';
$lang['TOR_SEARCH_TITLE'] = 'Torrent search options';
$lang['OPEN_TOPIC'] = 'Open topic';
@ -1326,7 +1296,6 @@ $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 <b>%s</b> you can not download torrents";
$lang['BT_RATIO_WARNING_MSG'] = 'If your ratio falls below %s, you will not be able to download Torrents! <a href="%s"><b>More about the rating.</b></a>';
@ -1790,7 +1759,7 @@ $lang['USER_LEVELS_UPDATED'] = 'User levels have been updated';
$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';
$lang['USER_POSTS_COUNT_SYNCHRONIZED'] = 'User posts count has been synchronized';
// Online Userlist
$lang['SHOW_ONLINE_USERLIST'] = 'Show the list of online users';
@ -2601,10 +2570,10 @@ $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_SHOW_DL_BUT_WILL'] = $lang['DLWILL'];
$lang['BT_SHOW_DL_BUT_DOWN'] = $lang['DLDOWN'];
$lang['BT_SHOW_DL_BUT_COMPL'] = $lang['DLCOMPLETE'];
$lang['BT_SHOW_DL_BUT_CANCEL'] = $lang['DLCANCEL'];
$lang['BT_ADD_AUTH_KEY_HEAD'] = 'Passkey';
$lang['BT_ADD_AUTH_KEY'] = 'Enable adding passkey to the torrent-files before downloading';
@ -2900,7 +2869,7 @@ $lang['SEARCH_FOR_USERFIELD_OCCUPATION'] = 'Searching for users with their Occup
$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_TIMEZONE'] = 'Searching for users who have set UTC %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';
@ -2995,4 +2964,12 @@ $lang['SITEMAP_BING_2'] = 'Add sitemap of site you registered in its settings.';
$lang['SITEMAP_ADD_TITLE'] = 'Additional pages for sitemap';
$lang['SITEMAP_ADD_PAGE'] = 'Additional pages';
$lang['SITEMAP_ADD_EXP_1'] = 'You can specify additional pages on your site (for example, <b>http://torrentpier.me/memberlist.php</b>) which should be included in your sitemap file that you creating.';
$lang['SITEMAP_ADD_EXP_2'] = 'Each reference must begin with http(s):// and a new line!';
$lang['SITEMAP_ADD_EXP_2'] = 'Each reference must begin with http(s):// and a new line!';
$lang['FORUM_MAP'] = 'Forums\' map';
$lang['ATOM_FEED'] = 'Feed';
$lang['ATOM_ERROR'] = 'Error generating feed';
$lang['ATOM_SUBSCRIBE'] = 'Subscribe to the feed';
$lang['ATOM_NO_MODE'] = 'Do not specify a mode for the feed';
$lang['ATOM_NO_FORUM'] = 'This forum does not have a feed (no ongoing topics)';
$lang['ATOM_NO_USER'] = 'This user does not have a feed (no ongoing topics)';

View file

@ -103,6 +103,13 @@ $lang['DATASTORE'] = 'Datastore';
$lang['DATASTORE_CLEARED'] = 'Datastore очищен';
$lang['BOARD_DISABLE'] = 'Извините, этот форум отключен. Попробуйте зайти позднее';
$lang['BOARD_DISABLE_CRON'] = 'Форум отключен на техническое обслуживание. Попробуйте зайти позднее';
$lang['ADMIN_DISABLE'] = 'форум отключен администратором, вы можете включить его в любое время';
$lang['ADMIN_DISABLE_CRON'] = 'форум заблокирован триггером cron-заданий, вы можете снять блокировку в любое время';
$lang['ADMIN_DISABLE_TITLE'] = 'Форум отключен';
$lang['ADMIN_DISABLE_CRON_TITLE'] = 'Форум отключен на техническое обслуживание';
$lang['ADMIN_UNLOCK'] = 'Включить форум';
$lang['ADMIN_UNLOCKED'] = 'Разблокировано';
$lang['ADMIN_UNLOCK_CRON'] = 'Снять блокировку';
$lang['LOADING'] = 'Загружается…';
$lang['JUMPBOX_TITLE'] = 'Выберите форум для перехода';
@ -128,7 +135,8 @@ $lang['SEARCH_SELF_BY_LAST'] = 'времени последнего сообще
$lang['SEARCH_SELF_BY_MY'] = 'времени моего сообщения';
$lang['SEARCH_UNANSWERED'] = 'Сообщения без ответов';
$lang['SEARCH_UNANSWERED_SHORT'] = 'без ответов';
$lang['SEARCH_LATEST'] = 'Последние';
$lang['SEARCH_LATEST'] = 'Последние темы';
$lang['LATEST_RELEASES'] = 'Последние раздачи';
$lang['REGISTER'] = 'Регистрация';
$lang['PROFILE'] = 'Профиль';
@ -895,74 +903,41 @@ $lang['LOOKUP_IP'] = 'Посмотреть хост для IP';
//
// Timezones ... for display on each page
//
$lang['ALL_TIMES'] = 'Часовой пояс: <span class="tz_time">%s</span>'; // 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['ALL_TIMES'] = 'Часовой пояс: <span class="tz_time">%s</span>'; // This is followed by UTC and the timezone offset
// это для выпадающего меню, раньше тут еще были города
$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['TZ']['-12'] = 'UTC - 12';
$lang['TZ']['-11'] = 'UTC - 11';
$lang['TZ']['-10'] = 'UTC - 10';
$lang['TZ']['-9'] = 'UTC - 9';
$lang['TZ']['-8'] = 'UTC - 8';
$lang['TZ']['-7'] = 'UTC - 7';
$lang['TZ']['-6'] = 'UTC - 6';
$lang['TZ']['-5'] = 'UTC - 5';
$lang['TZ']['-4'] = 'UTC - 4';
$lang['TZ']['-3.5'] = 'UTC - 3:30';
$lang['TZ']['-3'] = 'UTC - 3';
$lang['TZ']['-2'] = 'UTC - 2';
$lang['TZ']['-1'] = 'UTC - 1';
$lang['TZ']['0'] = 'UTC ± 0';
$lang['TZ']['1'] = 'UTC + 1';
$lang['TZ']['2'] = 'UTC + 2';
$lang['TZ']['3'] = 'UTC + 3';
$lang['TZ']['3.5'] = 'UTC + 3:30';
$lang['TZ']['4'] = 'UTC + 4 (Московское время)';
$lang['TZ']['4.5'] = 'UTC + 4:30';
$lang['TZ']['5'] = 'UTC + 5';
$lang['TZ']['5.5'] = 'UTC + 5:30';
$lang['TZ']['6'] = 'UTC + 6';
$lang['TZ']['6.5'] = 'UTC + 6:30';
$lang['TZ']['7'] = 'UTC + 7';
$lang['TZ']['8'] = 'UTC + 8';
$lang['TZ']['9'] = 'UTC + 9';
$lang['TZ']['9.5'] = 'UTC + 9:30';
$lang['TZ']['10'] = 'UTC + 10';
$lang['TZ']['11'] = 'UTC + 11';
$lang['TZ']['12'] = 'UTC + 12';
$lang['TZ']['13'] = 'UTC + 13';
$lang['DATETIME']['TODAY'] = 'Сегодня, в';
$lang['DATETIME']['YESTERDAY'] = 'Вчера, в';
@ -1220,7 +1195,7 @@ $lang['SEL_CHAPTERS'] = 'Ссылка на выбранные разделы';
$lang['NOT_SEL_CHAPTERS'] = 'Вы не выбрали разделы';
$lang['SEL_CHAPTERS_HELP'] = 'Вы можете выбрать максимум %s разделов';
$lang['HIDE_CONTENTS'] = 'Скрыть содержимое {...}';
$lang['FILTER_BY_NAME'] = '<i>фильтр по названию</i>';
$lang['FILTER_BY_NAME'] = '<i>Фильтр по названию</i>';
$lang['BT_ONLY_ACTIVE'] = 'Активные (есть сидер или личер)';
$lang['BT_ONLY_MY'] = 'Мои раздачи';
@ -1250,15 +1225,10 @@ $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['DLWILL'] = 'Буду качать';
$lang['DLDOWN'] = 'Качаю';
$lang['DLCOMPLETE'] = 'Скачал';
$lang['DLCANCEL'] = 'Отмена';
$lang['DL_LIST_DEL'] = 'Очистить DL-List';
$lang['DL_LIST_DEL_CONFIRM'] = 'Вы уверены, что хотите удалить DL-List для этого топика?';
@ -1279,7 +1249,7 @@ $lang['SEARCH_DL_COMPLETE_DOWNLOADS'] = 'Прошлые закачки';
$lang['SEARCH_DL_CANCEL'] = 'Отмененные';
$lang['CUR_DOWNLOADS'] = 'Текущие закачки';
$lang['CUR_UPLOADS'] = 'Текущие раздачи';
$lang['SEARCH_RELEASES'] = 'Найти раздачи';
$lang['SEARCH_RELEASES'] = 'Раздачи';
$lang['TOR_SEARCH_TITLE'] = 'Опции показа торрентов';
$lang['OPEN_TOPIC'] = 'Открыть топик';
@ -1326,7 +1296,6 @@ $lang['OPEN_IN_SAME_WINDOW'] = 'открывать в этом же окне';
$lang['SHOW_TIME_TOPICS'] = 'показывать время создания темы';
$lang['SHOW_CURSOR'] = 'подсвечивать строки под курсором';
$lang['BT_LOW_RATIO_FUNC'] = 'У вас слишком низкий рейтинг для того, чтобы воспользоваться этой функцией';
$lang['BT_LOW_RATIO_FOR_DL'] = 'Рейтинг <b>%s</b> уже не позволяет вам скачивать новые торренты.<br /><br />Для поднятия рейтинга вы можете что-либо раздать из <a href="%s"><b>ваших прошлых закачек</b></a>, либо организовать новую раздачу.<br /><br /><b>Пожалуйста, помните о том, что ваше yчастие в системе BitTorrent не может ограничиваться только скачиванием!</b>';
$lang['BT_RATIO_WARNING_MSG'] = 'Если ваш рейтинг упадет ниже %s, вы не сможете скачивать торренты! <a href="%s"><b>Подробнее о рейтинге.</b></a>';
@ -1790,7 +1759,7 @@ $lang['USER_LEVELS_UPDATED'] = 'Уровни и права пользовате
$lang['SYNCHRONIZE'] = 'Синхронизировать';
$lang['TOPICS_DATA_SYNCHRONIZED'] = 'Темы синхронизированы';
$lang['USER_POSTS_COUNT'] = 'Количество сообщений пользователей';
$lang['USER POSTS COUNT SYNCHRONIZED'] = 'Количество сообщений пользователей синхронизированы';
$lang['USER_POSTS_COUNT_SYNCHRONIZED'] = 'Количество сообщений пользователей синхронизировано';
// Online Userlist
$lang['SHOW_ONLINE_USERLIST'] = 'Показать список пользователей онлайн';
@ -2601,10 +2570,10 @@ $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_SHOW_DL_BUT_WILL'] = $lang['DLWILL'];
$lang['BT_SHOW_DL_BUT_DOWN'] = $lang['DLDOWN'];
$lang['BT_SHOW_DL_BUT_COMPL'] = $lang['DLCOMPLETE'];
$lang['BT_SHOW_DL_BUT_CANCEL'] = $lang['DLCANCEL'];
$lang['BT_ADD_AUTH_KEY_HEAD'] = 'Passkey';
$lang['BT_ADD_AUTH_KEY'] = 'Aвтодобавление passkey к торрент-файлам перед их скачиванием';
@ -2900,7 +2869,7 @@ $lang['SEARCH_FOR_USERFIELD_OCCUPATION'] = 'Поиск пользователе
$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_TIMEZONE'] = 'Поиск пользователей с часовым поясом UTC %s';
$lang['SEARCH_FOR_STYLE'] = 'Поиск пользователей, использующих стиль %s';
$lang['SEARCH_FOR_MODERATORS'] = 'Поиск модареторов форума -> %s';
$lang['SEARCH_USERS_ADVANCED'] = 'Расширенный поиск пользователя';
@ -2995,4 +2964,12 @@ $lang['SITEMAP_BING_2'] = 'Добавьте файл sitemap зарегистр
$lang['SITEMAP_ADD_TITLE'] = 'Дополнительные страницы для sitemap';
$lang['SITEMAP_ADD_PAGE'] = 'Дополнительные страницы';
$lang['SITEMAP_ADD_EXP_1'] = 'Здесь вы можете указать дополнительные страницы сайта (например <b>http://torrentpier.me/memberlist.php</b>), которые должны быть включены в создаваемый файл вами файл sitemap.';
$lang['SITEMAP_ADD_EXP_2'] = 'Каждая ссылка должна начинаться с http(s):// и новой строки!';
$lang['SITEMAP_ADD_EXP_2'] = 'Каждая ссылка должна начинаться с http(s):// и новой строки!';
$lang['FORUM_MAP'] = 'Карта форумов';
$lang['ATOM_FEED'] = 'Лента';
$lang['ATOM_ERROR'] = 'Ошибка генерации ленты';
$lang['ATOM_SUBSCRIBE'] = 'Подписка на ленту';
$lang['ATOM_NO_MODE'] = 'Не указан режим для ленты';
$lang['ATOM_NO_FORUM'] = 'Для этого форума нет ленты (нет начатых тем)';
$lang['ATOM_NO_USER'] = 'Для этого пользователя нет ленты (нет начатых тем)';

View file

@ -103,6 +103,13 @@ $lang['DATASTORE'] = 'Datastore';
$lang['DATASTORE_CLEARED'] = 'Datastore очищено';
$lang['BOARD_DISABLE'] = 'Вибачте, цей форум відключений. Спробуйте зайти пізніше';
$lang['BOARD_DISABLE_CRON'] = 'Форум відключений на технічне обслуговування. Спробуйте зайти пізніше';
$lang['ADMIN_DISABLE'] = 'форум відключений адміністратором, ви можете включити його в будь-який час';
$lang['ADMIN_DISABLE_CRON'] = 'форум заблокований тригером cron-завдань, ви можете зняти блокування в будь-який час';
$lang['ADMIN_DISABLE_TITLE'] = 'Форум відключений';
$lang['ADMIN_DISABLE_CRON_TITLE'] = 'Форум відключений на технічне обслуговування';
$lang['ADMIN_UNLOCK'] = 'Включити форум';
$lang['ADMIN_UNLOCKED'] = 'Розблоковано';
$lang['ADMIN_UNLOCK_CRON'] = 'Зняти блокування';
$lang['LOADING'] = 'Завантаження...';
$lang['JUMPBOX_TITLE'] = 'Оберіть форум для переходу';
@ -128,7 +135,8 @@ $lang['SEARCH_SELF_BY_LAST'] = 'з часу останнього повідом
$lang['SEARCH_SELF_BY_MY'] = 'з часу мого повідомлення';
$lang['SEARCH_UNANSWERED'] = 'Повідомлення без відповідей';
$lang['SEARCH_UNANSWERED_SHORT'] = 'без відповідей';
$lang['SEARCH_LATEST'] = 'Останні';
$lang['SEARCH_LATEST'] = 'Останні теми';
$lang['LATEST_RELEASES'] = 'Останні роздачі';
$lang['REGISTER'] = 'Реєстрація';
$lang['PROFILE'] = 'Профіль';
@ -895,74 +903,41 @@ $lang['LOOKUP_IP'] = 'Показати хост для IP';
//
// Timezones ... for display on each page
//
$lang['ALL_TIMES'] = 'Часовий пояс: <span class="tz_time">%s</span>'; // 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['ALL_TIMES'] = 'Часовий пояс: <span class="tz_time">%s</span>'; // This is followed by UTC and the timezone offset
// це для випадного меню, раніше тут ще були міста
$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['TZ']['-12'] = 'UTC - 12';
$lang['TZ']['-11'] = 'UTC - 11';
$lang['TZ']['-10'] = 'UTC - 10';
$lang['TZ']['-9'] = 'UTC - 9';
$lang['TZ']['-8'] = 'UTC - 8';
$lang['TZ']['-7'] = 'UTC - 7';
$lang['TZ']['-6'] = 'UTC - 6';
$lang['TZ']['-5'] = 'UTC - 5';
$lang['TZ']['-4'] = 'UTC - 4';
$lang['TZ']['-3.5'] = 'UTC - 3:30';
$lang['TZ']['-3'] = 'UTC - 3';
$lang['TZ']['-2'] = 'UTC - 2';
$lang['TZ']['-1'] = 'UTC - 1';
$lang['TZ']['0'] = 'UTC ± 0';
$lang['TZ']['1'] = 'UTC + 1';
$lang['TZ']['2'] = 'UTC + 2';
$lang['TZ']['3'] = 'UTC + 3 (Київський час)';
$lang['TZ']['3.5'] = 'UTC + 3:30';
$lang['TZ']['4'] = 'UTC + 4';
$lang['TZ']['4.5'] = 'UTC + 4:30';
$lang['TZ']['5'] = 'UTC + 5';
$lang['TZ']['5.5'] = 'UTC + 5:30';
$lang['TZ']['6'] = 'UTC + 6';
$lang['TZ']['6.5'] = 'UTC + 6:30';
$lang['TZ']['7'] = 'UTC + 7';
$lang['TZ']['8'] = 'UTC + 8';
$lang['TZ']['9'] = 'UTC + 9';
$lang['TZ']['9.5'] = 'UTC + 9:30';
$lang['TZ']['10'] = 'UTC + 10';
$lang['TZ']['11'] = 'UTC + 11';
$lang['TZ']['12'] = 'UTC + 12';
$lang['TZ']['13'] = 'UTC + 13';
$lang['DATETIME']['TODAY'] = 'Сьогодні, в';
$lang['DATETIME']['YESTERDAY'] = 'Вчора, в';
@ -1220,7 +1195,7 @@ $lang['SEL_CHAPTERS'] = 'Посилання на вибрані розділи';
$lang['NOT_SEL_CHAPTERS'] = 'Ви не вибрали розділи';
$lang['SEL_CHAPTERS_HELP'] = 'Ви можете вибрати максимум %s розділів';
$lang['HIDE_CONTENTS'] = 'Приховати вміст {...}';
$lang['FILTER_BY_NAME'] = '<i>фільтрувати за назвою</i>';
$lang['FILTER_BY_NAME'] = '<i>Фільтрувати за назвою</i>';
$lang['BT_ONLY_ACTIVE'] = 'Активні (є сидер або лічер)';
$lang['BT_ONLY_MY'] = 'Мої роздачі';
@ -1250,15 +1225,10 @@ $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['DLWILL'] = 'Буду качати';
$lang['DLDOWN'] = 'Качаю';
$lang['DLCOMPLETE'] = 'Скачав';
$lang['DLCANCEL'] = 'Відміна';
$lang['DL_LIST_DEL'] = 'Очистити DL-List';
$lang['DL_LIST_DEL_CONFIRM'] = 'Ви впевнені, що хочете видалити DL-List для цього топіка?';
@ -1279,7 +1249,7 @@ $lang['SEARCH_DL_COMPLETE_DOWNLOADS'] = 'Минулі закачування';
$lang['SEARCH_DL_CANCEL'] = 'Скасовані';
$lang['CUR_DOWNLOADS'] = 'Поточні закачування';
$lang['CUR_UPLOADS'] = 'Поточні роздачі';
$lang['SEARCH_RELEASES'] = 'Знайти роздачі';
$lang['SEARCH_RELEASES'] = 'Роздачі';
$lang['TOR_SEARCH_TITLE'] = 'Опції показу торрентів';
$lang['OPEN_TOPIC'] = 'Відкрити топік';
@ -1326,7 +1296,6 @@ $lang['OPEN_IN_SAME_WINDOW'] = 'відкрити в цьому ж вікні';
$lang['SHOW_TIME_TOPICS'] = 'показувати час створення теми';
$lang['SHOW_CURSOR'] = 'підсвічувати рядок під курсором';
$lang['BT_LOW_RATIO_FUNC'] = 'У вас занадто низький рейтинг для того, щоб скористатися цією функцією';
$lang['BT_LOW_RATIO_FOR_DL'] = "Рейтинг <b>%s</b> вже не дозволяє вам викачувати нові торренти.<br /><br />Для підняття рейтингу ви можете що-небудь роздати <a href='%s'><b>ваших минулих закачувань</b></a>, або організувати нову роздачу.<br /><br /><b>будь Ласка, пам'ятайте про те, що ваша участь у системі BitTorrent не може обмежуватися тільки скачуванням!</b>";
$lang['BT_RATIO_WARNING_MSG'] = 'Якщо ваш рейтинг впаде нижче %s, ви не зможете скачувати торренти! <a href="%s"><b>Детальніше про рейтинг.</b></a>';
@ -1790,7 +1759,7 @@ $lang['USER_LEVELS_UPDATED'] = 'Рівні та права користувач
$lang['SYNCHRONIZE'] = 'Синхронізувати';
$lang['TOPICS_DATA_SYNCHRONIZED'] = 'Теми синхронізовані';
$lang['USER_POSTS_COUNT'] = 'Кількість повідомлень користувачів';
$lang['USER POSTS COUNT SYNCHRONIZED'] = 'Кількість повідомлень користувачів синхронізовані';
$lang['USER_POSTS_COUNT_SYNCHRONIZED'] = 'Кількість повідомлень користувачів синхронізовано';
// Online Userlist
$lang['SHOW_ONLINE_USERLIST'] = 'Показувати список користувачів онлайн';
@ -2600,10 +2569,10 @@ $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_SHOW_DL_BUT_WILL'] = $lang['DLWILL'];
$lang['BT_SHOW_DL_BUT_DOWN'] = $lang['DLDOWN'];
$lang['BT_SHOW_DL_BUT_COMPL'] = $lang['DLCOMPLETE'];
$lang['BT_SHOW_DL_BUT_CANCEL'] = $lang['DLCANCEL'];
$lang['BT_ADD_AUTH_KEY_HEAD'] = 'Passkey';
$lang['BT_ADD_AUTH_KEY'] = 'Автододавання passkey до торрент-файлів перед їх скачуванням';
@ -2899,7 +2868,7 @@ $lang['SEARCH_FOR_USERFIELD_OCCUPATION'] = 'Пошук користувачів
$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_TIMEZONE'] = 'Пошук користувачів з годинним поясом UTC %s';
$lang['SEARCH_FOR_STYLE'] = 'Пошук користувачів, які використовують стиль %s';
$lang['SEARCH_FOR_MODERATORS'] = 'Пошук модераторів форуму -> %s';
$lang['SEARCH_USERS_ADVANCED'] = 'Розширений пошук користувача';
@ -2994,4 +2963,12 @@ $lang['SITEMAP_BING_2'] = 'Додайте файл sitemap зареєстров
$lang['SITEMAP_ADD_TITLE'] = 'Додаткові сторінки для sitemap';
$lang['SITEMAP_ADD_PAGE'] = 'Додаткові сторінки';
$lang['SITEMAP_ADD_EXP_1'] = 'Тут ви можете вказати додаткові сторінки сайту (наприклад <b>http://torrentpier.me/memberlist.php</b>), які повинні бути включені в створюваний файл вами файл sitemap.';
$lang['SITEMAP_ADD_EXP_2'] = 'Кожне посилання має починатись з http(s):// і нової рядки!';
$lang['SITEMAP_ADD_EXP_2'] = 'Кожне посилання має починатись з http(s):// і нової рядки!';
$lang['FORUM_MAP'] = 'Карта форумів';
$lang['ATOM_FEED'] = 'Стрічка';
$lang['ATOM_ERROR'] = 'Помилка створення стрічки';
$lang['ATOM_SUBSCRIBE'] = 'Підписка на стрічку';
$lang['ATOM_NO_MODE'] = 'Не вказано режим для стрічки';
$lang['ATOM_NO_FORUM'] = 'Для цього форуму немає стрічки (немає початих тем)';
$lang['ATOM_NO_USER'] = 'Для цього користувача немає стрічки (немає початих тем)';

View file

@ -202,7 +202,7 @@ if ($result = DB()->fetch_rowset($sql))
'PM' => $pm,
'EMAIL' => $email,
'WWW' => $www,
'U_VIEWPROFILE' => "profile.php?mode=viewprofile&amp;". POST_USERS_URL ."=$user_id",
'U_VIEWPROFILE' => PROFILE_URL . $user_id,
));
}
}

View file

@ -353,7 +353,7 @@ elseif ( ($submit || $confirm) && !$topic_has_new_posts )
$return_message = '';
$return_meta = '';
switch ( $mode )
switch ($mode)
{
case 'editpost':
case 'newtopic':
@ -444,6 +444,9 @@ elseif ( ($submit || $confirm) && !$topic_has_new_posts )
}
}
// Update atom feed
update_atom('topic', $topic_id);
if ($mode == 'reply' && $post_info['topic_status'] == TOPIC_LOCKED)
{
$locked_warn = '
@ -671,7 +674,7 @@ $template->assign_vars(array(
'SUBJECT' => $subject,
'MESSAGE' => $message,
'U_VIEWTOPIC' => ( $mode == 'reply' ) ? "viewtopic.php?" . POST_TOPIC_URL . "=$topic_id&amp;postorder=desc" : '',
'U_VIEWTOPIC' => ( $mode == 'reply' ) ? TOPIC_URL . $topic_id . "&amp;postorder=desc" : '',
'S_NOTIFY_CHECKED' => ( $notify_user ) ? 'checked="checked"' : '',
'S_TYPE_TOGGLE' => $topic_type_toggle,

View file

@ -1,5 +1,5 @@
User-agent: *
Disallow: /download.php
Disallow: /dl.php
Disallow: /groupcp.php
Disallow: /login.php
Disallow: /memberlist.php

View file

@ -4,6 +4,10 @@ define('IN_ADMIN', true);
define('BB_ROOT', './../');
require(BB_ROOT .'common.php');
$user->session_start();
if (!IS_ADMIN) die('Unauthorized');
$peers_in_last_minutes = array(30, 15, 5, 1);
$peers_in_last_sec_limit = 300;

View file

@ -70,10 +70,28 @@ ajax.callback.manage_admin = function(data) {
$('#update_user_level').html(data.update_user_level_html);
$('#sync_topics').html(data.sync_topics_html);
$('#sync_user_posts').html(data.sync_user_posts_html);
$('#unlock_cron').html(data.unlock_cron_html);
}
</script>
<br />
<!-- IF ADMIN_LOCK_CRON -->
<div class="alert alert-danger" style="width: 95%;">
<h4 class="alert-heading">{L_ADMIN_DISABLE_CRON_TITLE}</h4><hr>
<a href="#" id="unlock_cron" onclick="ajax.manage_admin('unlock_cron'); return false;">{L_ADMIN_UNLOCK_CRON}</a>
({L_ADMIN_DISABLE_CRON})
</div>
<!-- ENDIF -->
<!-- IF ADMIN_LOCK -->
<div class="alert alert-danger" style="width: 95%;">
<h4 class="alert-heading">{L_ADMIN_DISABLE_TITLE}</h4><hr>
<a href="admin_board.php?mode=config">{L_ADMIN_UNLOCK}</a>
({L_ADMIN_DISABLE})
</div>
<!-- ENDIF -->
<table>
<tr>
<td><b>{L_CLEAR_CACHE}:</b></td>

View file

@ -434,7 +434,7 @@ table.message td {
}
.cat, td.cat, td.catTitle, td.catHead, td.catBottom {
padding: 5px 4px 0;
padding: 5px 4px 6px;
background: #E0E5E9 url(../images/cellpic.gif) repeat-x;
}
.catTitle {
@ -732,6 +732,8 @@ td.last_td { border-right-width: 0 !important; }
#online_explain { float: right; }
#online_userlist a { white-space: nowrap; }
#forums_top_nav { display: none; }
.f-map-wrap { margin-top: -1px; border: 1px solid #DEDEDE; }
/* ---------------------------------- *
Forums on viewforum page
* ---------------------------------- */

Binary file not shown.

After

Width:  |  Height:  |  Size: 520 B

View file

@ -12,9 +12,10 @@
<!-- IF LOGGED_IN -->
<div id="forums_top_links">
<div class="floatL">
<a href="{U_SEARCH_NEW}" class="med"><b>{L_SEARCH_NEW}</b></a> &#0183;
<a href="{U_SEARCH_SELF_BY_LAST}" class="med">{L_SEARCH_SELF}</a> <a href="#search-my-posts" class="menu-root menu-alt1">{OPEN_MENU_IMG_ALT1}</a> &#0183;
<a href="{U_SEARCH_LATEST}" class="med">{L_SEARCH_LATEST}</a>
<a href="{U_SEARCH_LATEST}" class="med">{L_SEARCH_LATEST}</a> &#0183;
<a href="{U_SEARCH_SELF_BY_LAST}" class="med">{L_SEARCH_SELF}</a> <a href="#search-my-posts" class="menu-root menu-alt1">{OPEN_MENU_IMG_ALT}</a> &#0183;
<a href="{SITE_URL}atom/f/0.atom" class="med">{FEED_IMG} {L_LATEST_RELEASES}</a> &#0183;
<a href="{U_INDEX}?map=1" class="med bold">{FEED_IMG} {L_FORUM_MAP}</a>
</div>
<div class="floatR med bold">
<a class="menu-root" href="#only-new-options">{L_DISPLAYING_OPTIONS}</a>
@ -52,6 +53,11 @@
<!-- ENDIF -->
<!-- IF SHOW_FORUMS -->
<!-- IF SHOW_MAP -->
<!-- INCLUDE index_map.tpl -->
<!-- ELSE -->
<!-- BEGIN c -->
<div class="category">
<h3 class="cat_title"><a href="{c.U_VIEWCAT}">{c.CAT_TITLE}</a></h3>
@ -131,7 +137,9 @@
<div class="cat_separator"></div>
<!-- END c -->
<!-- ELSE / start of !SHOW_FORUMS -->
<!-- ENDIF / SHOW_MAP -->
<!-- ELSE / SHOW_FORUMS -->
<table class="forumline">
<tr><td class="row1 tCenter pad_8">{NO_FORUMS_MSG}</td></tr>
@ -146,6 +154,7 @@
<!-- IF LOGGED_IN and SHOW_FORUMS -->
<div id="mark_all_forums_read">
<a href="{U_SEARCH_NEW}" class="med">{L_SEARCH_NEW}</a> &#0183;
<a href="{U_INDEX}" class="med" onclick="setCookie('{COOKIE_MARK}', 'all_forums');">{L_MARK_ALL_FORUMS_READ}</a>
</div>
<!-- ENDIF -->
@ -179,11 +188,11 @@
};
</script>
<div class="hr1" style="margin: 5px 0 4px;"></div>
<p id="birthday_today" class="birthday">{WHOSBIRTHDAY_TODAY}</p>
<p id="birthday_week" class="birthday">{WHOSBIRTHDAY_WEEK}</p>
<p id="birthday_today" class="birthday">{WHOSBIRTHDAY_TODAY}</p>
<p id="birthday_week" class="birthday">{WHOSBIRTHDAY_WEEK}</p>
<!-- ENDIF -->
<div class="hr1" style="margin: 5px 0 4px;"></div>
<div class="hr1" style="margin: 5px 0 4px;"></div>
<p>{TOTAL_USERS_ONLINE}<!-- IF IS_ADMIN --> &nbsp;{USERS_ONLINE_COUNTS}<!-- ENDIF --></p>
<p>{RECORD_USERS}</p>

View file

@ -0,0 +1,102 @@
<style type="text/css">
#f-map a { font-size: 12px; text-decoration: none; padding-left: 8px; }
#f-map li { margin: 4px 0 0 6px; }
#f-map .b { font-weight: bold; }
ul.tree-root { margin-left: 0; }
ul.tree-root > li > ul { margin-left: 0; }
ul.tree-root li { list-style: none; }
ul.tree-root > li { padding: 0; margin-left: 0 !important; }
.c_title {
display: block; margin: 9px 0; padding: 0 0 5px 5px; border-bottom: 1px solid #B7C0C5;
color: #800000; font-size: 13px; font-weight: bold; letter-spacing: 1px;
}
ul.tree-root img { cursor: pointer; }
a.hl, a.hl:visited { color: #1515FF; }
</style>
<script type="text/javascript">
function qs_highlight_found ()
{
this.style.display = '';
var a = $('a:first', this)[0];
var q = $('#q-search').val().toLowerCase();
if (q != '' && a.innerHTML.toLowerCase().indexOf(q) != -1) {
a.className = 'hl';
}
else {
a.className = '';
}
}
function open_feed (f_id)
{
$('#feed-id').val(f_id);
$('#feed-form').submit();
}
$(function(){
$('#q-search').focus().quicksearch('#f-map li', {
delay : 300,
noResults : '#f-none',
show : qs_highlight_found,
onAfter : function(){ $('#f-load').hide(); $('#f-map').show(); }
});
$.each($('#f-map a'), function(i,a) {
var f_id = $(a).attr('href');
$(a)
.attr('href', 'viewforum.php?f='+ f_id)
.before('<img class="feed-small" src="{IMG}feed.png" alt="feed" onclick="open_feed('+ f_id +')">')
;
});
$.each($('span.c_title'), function(i,el) {
$(el).text( this.title );
this.title = '';
});
});
</script>
<form id="feed-form" method="post" action="feed.php" target="_blank" style="display: none;">
<input type="hidden" name="mode" value="get_feed_url">
<input type="hidden" name="type" value="f">
<input id="feed-id" type="hidden" name="id" value="">
</form>
<div class="f-map-wrap row1 pad_8">
<div style="margin: 20px 56px;">
<div style="padding: 0 0 12px 3px;">
<form autocomplete="off">
<i>{L_FILTER_BY_NAME}:</i> &nbsp;<input type="text" id="q-search" style="width: 200px;">
</form>
<div id="f-none" style="padding: 25px 0 0 0; display: none;">{L_NO_MATCH}</div>
</div>
<div id="f-load" style="padding: 6px;"><i class="loading-1">{L_LOADING}</i></div>
<div id="f-map" style="display: none;">
<!-- BEGIN c -->
<ul class="tree-root">
<li>
<span class="b">
<span class="c_title" title="{c.CAT_TITLE}"></span>
</span>
<!-- BEGIN f -->
<ul>
<li>
<span class="b">
<a href="{c.f.FORUM_ID}">{c.f.FORUM_NAME}</a>
</span>
<!-- IF c.f.LAST_SF_ID -->
<ul>
<!-- BEGIN sf -->
<li>
<span><a href="{c.f.sf.SF_ID}">{c.f.sf.SF_NAME}</a></span>
</li>
<!-- END sf -->
</ul>
<!-- ENDIF -->
</li>
</ul>
<!-- END f -->
</li>
</ul>
<!-- END c -->
</div>
</div>
</div>
<br />

View file

@ -1,31 +1,25 @@
<!-- IF QUICK_REPLY -->
<!-- ELSE -->
<script type="text/javascript">
ajax.callback.posts = function(data){
$('#view_message').show();
$('.view-message').html(data.message_html);
initPostBBCode('.view-message');
var maxH = screen.height - 490;
$('.view-message').css({ maxHeight: maxH });
ajax.callback.posts = function(data) {
$('#view_message').show();
$('.view-message').html(data.message_html);
initPostBBCode('.view-message');
var maxH = screen.height - 490;
$('.view-message').css({maxHeight: maxH});
};
</script>
<div class="mrg_4" style="padding-left:2px;">
<select name="fontFace">
<option style="font-family: Verdana" value="-1" selected="selected">{L_QR_FONT_SEL}:</option>
<option style="font-family: Courier" value="Courier">&nbsp;Courier</option>
<option style="font-family: Courier New" value="Courier New">&nbsp;Courier New</option>
<option style="font-family: monospace" value="monospace">&nbsp;monospace</option>
<option style="font-family: Fixedsys" value="Fixedsys">&nbsp;Fixedsys</option>
<option style="font-family: monospace" value="monospace">&nbsp;Monospace</option>
<option style="font-family: serif" value="serif">&nbsp;Serif</option>
<option style="font-family: sans-serif" value="sans-serif">&nbsp;Sans Serif</option>
<option style="font-family: cursive" value="cursive">&nbsp;Cursive</option>
<option style="font-family: Arial" value="Arial">&nbsp;Arial</option>
<option style="font-family: Comic Sans MS" value="Comic Sans MS">&nbsp;Comic Sans</option>
<option style="font-family: Georgia" value="Georgia">&nbsp;Georgia</option>
<option style="font-family: Tahoma" value="Tahoma">&nbsp;Tahoma</option>
<option style="font-family: Times New Roman" value="Times New Roman">&nbsp;Times</option>
<option style="font-family: serif" value="serif">&nbsp;serif</option>
<option style="font-family: sans-serif" value="sans-serif">&nbsp;sans-serif</option>
<option style="font-family: cursive" value="cursive">&nbsp;cursive</option>
<option style="font-family: fantasy" value="fantasy">&nbsp;fantasy</option>
<option style="font-family: Monotype Corsiva" value="Monotype Corsiva">&nbsp;Monotype</option>
<option style="font-family: Georgia" value="Georgia">&nbsp;Georgia</option>
<option style="font-family: Fixedsys" value="Fixedsys">&nbsp;Fixedsys</option>
</select>
&nbsp;
<select name="codeColor" class="text_color">
@ -60,11 +54,11 @@ ajax.callback.posts = function(data){
</select>
&nbsp;
<select name="codeAlign" class="text_size">
<option value="left" selected="selected">{L_ALIGN}</option>
<option value="left">&nbsp;{L_LEFT}</option>
<option value="right">&nbsp;{L_RIGHT}</option>
<option value="center">&nbsp;{L_CENTER}</option>
<option value="justify">&nbsp;{L_JUSTIFY}</option>
<option value="left" selected="selected">{L_ALIGN}</option>
<option value="left">&nbsp;{L_LEFT}</option>
<option value="right">&nbsp;{L_RIGHT}</option>
<option value="center">&nbsp;{L_CENTER}</option>
<option value="justify">&nbsp;{L_JUSTIFY}</option>
</select>
&nbsp;
<span class="buttons">

View file

@ -190,17 +190,17 @@ function show_edit_options ()
<!-- IF MY_POSTS -->
<tr id="mod-action-row">
<td colspan="6" id="mod-action-cell" class="row2">
<span id="ed-list-desc" class="small">{L_DEL_LIST_INFO}</span>
<span id="ed-list-desc" class="small">{L_DEL_LIST_INFO}</span>
</td>
</tr>
<!-- ENDIF -->
<tr>
<td class="row2" colspan="6">
<!-- IF DL_CONTROLS -->
<input type="submit" name="dl_set_will" value="{L_DL_WILL}" class="liteoption" />
<input type="submit" name="dl_set_down" value="{L_DL_DOWN}" class="liteoption" />
<input type="submit" name="dl_set_complete" value="{L_DL_COMPLETE}" class="liteoption" />
<input type="submit" name="dl_set_cancel" value="{L_DL_CANCEL}" class="liteoption" />
<input type="submit" name="dl_set_will" value="{L_DLWILL}" class="liteoption" />
<input type="submit" name="dl_set_down" value="{L_DLDOWN}" class="liteoption" />
<input type="submit" name="dl_set_complete" value="{L_DLCOMPLETE}" class="liteoption" />
<input type="submit" name="dl_set_cancel" value="{L_DLCANCEL}" class="liteoption" />
<input type="hidden" name="redirect_type" value="search" />
<input type="hidden" name="mode" value="set_topics_dl_status" />
<!-- ELSE -->

View file

@ -61,7 +61,7 @@ $images['folder_dl_hot_new'] = $_main .'folder_dl_hot_new.gif';
// attach_icons
$images['icon_clip'] = $_img .'icon_clip.gif';
$images['icon_dn'] = $_img .'icon_dn.gif';
$images['icon_magnet'] = $_img .'magnet.png';
$images['icon_magnet'] = $_img .'magnet.png';
// posting_icons
$images['post_new'] = $_lang .'post.gif';
@ -100,7 +100,7 @@ $images['voting_graphic'][1] = $_main .'voting_bar.gif';
$images['voting_graphic'][2] = $_main .'voting_bar.gif';
$images['voting_graphic'][3] = $_main .'voting_bar.gif';
$images['voting_graphic'][4] = $_main .'voting_bar.gif';
$images['progress_bar'] = $_main .'progress_bar.gif';
$images['progress_bar'] = $_main .'progress_bar.gif';
$images['progress_bar_full'] = $_main .'progress_bar_full.gif';
// Report
@ -120,20 +120,16 @@ $bb_cfg['post_img_width_decr'] = 52; // decrement for posted images width
$bb_cfg['attach_img_width_decr'] = 130; // decrement for attach images width (px)
$template->assign_vars(array(
'IMG' => $_main,
'TEXT_BUTTONS' => $bb_cfg['text_buttons'],
'POST_BTN_SPACER' => ($bb_cfg['text_buttons']) ? '&nbsp;' : '',
'TOPIC_ATTACH_ICON' => '<img src="images/icon_clip.gif" alt="" />',
'ATTACHMENT_ICON' => '<img src="images/icon_clip.gif" alt="" />',
'OPEN_MENU_IMG_ALT1' => '<img src="'. $_main .'menu_open_1.gif" class="menu-alt1" alt="" />',
'TOPIC_LEFT_COL_SPACER_WITDH' => $bb_cfg['topic_left_column_witdh'] - 8, // 8px padding
// Images auto-resize
'IMG' => $_main,
'TEXT_BUTTONS' => $bb_cfg['text_buttons'],
'POST_BTN_SPACER' => ($bb_cfg['text_buttons']) ? '&nbsp;' : '',
'TOPIC_ATTACH_ICON' => '<img src="images/icon_clip.gif" alt="" />',
'OPEN_MENU_IMG_ALT' => '<img src="'. $_main .'menu_open_1.gif" class="menu-alt1" alt="" />',
'TOPIC_LEFT_COL_SPACER_WITDH' => $bb_cfg['topic_left_column_witdh'] - 8, // 8px padding
'POST_IMG_WIDTH_DECR_JS' => $bb_cfg['topic_left_column_witdh'] + $bb_cfg['post_img_width_decr'],
'ATTACH_IMG_WIDTH_DECR_JS' => $bb_cfg['topic_left_column_witdh'] + $bb_cfg['attach_img_width_decr'],
'MAGNET_LINKS' => $bb_cfg['magnet_links_enabled'],
'MAGNET_LINKS' => $bb_cfg['magnet_links_enabled'],
'FEED_IMG' => '<img src="'. $_main .'feed.png" class="feed-small" alt="'. $lang['ATOM_FEED'] .'" />',
));
// post_buttons

View file

@ -365,8 +365,9 @@ ajax.callback.gen_passkey = function(data){
<b>{POSTS}</b>
[ <a href="{U_SEARCH_USER}" class="med">{L_SEARCH_USER_POSTS}</a> ]
[ <a href="{U_SEARCH_TOPICS}" class="med">{L_SEARCH_USER_TOPICS}</a> ]
[ <a class="med" href="{U_SEARCH_RELEASES}">{L_SEARCH_RELEASES}</a> ]
<!-- IF PROFILE_USER -->[ <a class="med" href="{U_WATCHED_TOPICS}">{L_WATCHED_TOPICS}</a> ]<!-- ENDIF -->
[ <a href="{U_SEARCH_RELEASES}" class="med">{L_SEARCH_RELEASES}</a> ]
<!-- IF PROFILE_USER -->[ <a href="{U_WATCHED_TOPICS}" class="med">{L_WATCHED_TOPICS}</a> ]<!-- ENDIF -->
[ <a title="{L_ATOM_SUBSCRIBE}" href="#" onclick="return post2url('feed.php', {mode: 'get_feed_url', type: 'u', id: {PROFILE_USER_ID}})">{FEED_IMG}</a> ]
</p>
</td>
</tr>

View file

@ -5,7 +5,6 @@
<!-- IF HIDE_POST_IMG -->img.postImg, div.postImg-wrap { display: none; }<!-- ENDIF -->
<!-- IF HIDE_SMILE -->.smile { display: none; }<!-- ENDIF -->
<!-- IF HIDE_SIGNATURE -->.signature { display: none; }<!-- ENDIF -->
</style>
<!-- IF SPOILER_OPENED -->
<script type="text/javascript">
@ -19,7 +18,7 @@
ajax.open_edit = false;
function edit_post(post_id, type, text) {
if(ajax.open_edit && ajax.open_edit != post_id) {
alert('{L_AJAX_EDIT_OPEN}');
alert('{L_AJAX_EDIT_OPEN}');
} else{
if(ajax.open_edit && !text){
$('#pp_'+ post_id).show();
@ -27,12 +26,12 @@ function edit_post(post_id, type, text) {
} else{
$('#pp_'+ post_id).hide();
$('#pe_'+ post_id).show();
ajax.exec({
action : 'posts',
post_id : post_id,
text : text,
type : type
action : 'posts',
post_id : post_id,
topic_id : {TOPIC_ID},
text : text,
type : type
});
}
ajax.open_edit = false;
@ -199,7 +198,6 @@ function poll_manage (mode, confirm_msg)
$('#poll-submit-btn').click();
return false;
}
function build_poll_add_form (src_el)
{
$('#poll').empty().append( $('#poll-edit-tpl').contents() ).show();
@ -237,7 +235,6 @@ function build_poll_add_form (src_el)
<table cellspacing="0" cellpadding="0" class="borderless w100">
<tr>
<!-- IF AUTH_MOD -->
<td class="small bold nowrap" style="padding: 0 0 0 4px;">
<!-- IF IN_MODERATION -->{L_MODERATE_TOPIC}<!-- ELSE --><a href="{PAGE_URL}&amp;mod=1&amp;start={PAGE_START}" class="small bold">{L_MODERATE_TOPIC}</a><!-- ENDIF -->
@ -393,7 +390,7 @@ function build_poll_add_form (src_el)
<!-- IF postrow.IS_FIRST_POST and CAN_ADD_POLL --><a href="#" onclick="return build_poll_add_form(this);" class="txtb">{POLL_IMG}</a><!-- ENDIF -->
<!-- IF postrow.QUOTE --><a class="txtb" href="<!-- IF $bb_cfg['use_ajax_posts'] -->" onclick="ajax.exec({ action: 'posts', post_id: {postrow.POST_ID}, type: 'reply'}); return false;<!-- ELSE -->{QUOTE_URL}{postrow.POST_ID}<!-- ENDIF -->">{QUOTE_IMG}</a>{POST_BTN_SPACER}<!-- ENDIF -->
<!-- IF postrow.EDIT --><a class="txtb" href="<!-- IF $bb_cfg['use_ajax_posts'] -->" onclick="edit_post({postrow.POST_ID}, 'edit'); return false;<!-- ELSE -->{EDIT_POST_URL}{postrow.POST_ID}<!-- ENDIF -->">{EDIT_POST_IMG}</a>{POST_BTN_SPACER}<!-- ENDIF -->
<!-- IF postrow.DELETE --><a class="txtb" href="<!-- IF $bb_cfg['use_ajax_posts'] -->" onclick="ajax.exec({ action: 'posts', post_id: {postrow.POST_ID}, type: 'delete'}); return false;<!-- ELSE -->{DELETE_POST_URL}{postrow.POST_ID}<!-- ENDIF -->">{DELETE_POST_IMG}</a>{POST_BTN_SPACER}<!-- ENDIF -->
<!-- IF postrow.DELETE --><a class="txtb" href="<!-- IF $bb_cfg['use_ajax_posts'] -->" onclick="ajax.exec({ action: 'posts', post_id: {postrow.POST_ID}, topic_id : {TOPIC_ID}, type: 'delete'}); return false;<!-- ELSE -->{DELETE_POST_URL}{postrow.POST_ID}<!-- ENDIF -->">{DELETE_POST_IMG}</a>{POST_BTN_SPACER}<!-- ENDIF -->
<!-- IF postrow.IP --><a class="txtb" href="{IP_POST_URL}{postrow.POST_ID}&amp;t={TOPIC_ID}">{IP_POST_IMG}</a>{POST_BTN_SPACER}<!-- ENDIF -->
<!-- IF postrow.REPORT -->{postrow.REPORT}{POST_BTN_SPACER}<!-- ENDIF -->
<!-- IF AUTH_MOD -->

View file

@ -4,7 +4,7 @@
<!-- BEGIN denyrow -->
<fieldset class="attach">
<legend>{ATTACHMENT_ICON} {L_ATTACHMENT}</legend>
<legend>{TOPIC_ATTACH_ICON} {L_ATTACHMENT}</legend>
<p class="attach_link denied">{postrow.attach.denyrow.L_DENIED}</p>
</fieldset>
@ -13,7 +13,7 @@
<!-- BEGIN cat_images -->
<fieldset class="attach">
<legend>{ATTACHMENT_ICON} {L_ATTACHMENT} ({postrow.attach.cat_images.FILESIZE})</legend>
<legend>{TOPIC_ATTACH_ICON} {L_ATTACHMENT} ({postrow.attach.cat_images.FILESIZE})</legend>
<p class="tCenter pad_6">
<img src="{postrow.attach.cat_images.IMG_SRC}" id="attachImg" class="postImg" alt="img" border="0" />
</p>
@ -29,7 +29,7 @@
<!-- BEGIN cat_thumb_images -->
<fieldset class="attach">
<legend>{ATTACHMENT_ICON} {L_ATTACHMENT_THUMBNAIL}</legend>
<legend>{TOPIC_ATTACH_ICON} {L_ATTACHMENT_THUMBNAIL}</legend>
<p class="attach_link">
<a href="{postrow.attach.cat_thumb_images.IMG_SRC}" target="_blank"><img src="{postrow.attach.cat_thumb_images.IMG_THUMB_SRC}" alt="{postrow.attach.cat_thumb_images.DOWNLOAD_NAME}" border="0" /></a>
</p>

View file

@ -232,10 +232,10 @@ $(document).ready(function(){
&nbsp;
<!-- IF DL_BUTTONS -->
<form method="POST" action="{S_DL_ACTION}">{DL_HIDDEN_FIELDS}
<!-- IF DL_BUT_WILL --><input type="submit" name="dl_set_will" value="{L_DL_WILL}" class="liteoption" />&nbsp;<!-- ENDIF -->
<!-- IF DL_BUT_DOWN --><input type="submit" name="dl_set_down" value="{L_DL_DOWN}" class="liteoption" />&nbsp;<!-- ENDIF -->
<!-- IF DL_BUT_COMPL --><input type="submit" name="dl_set_complete" value="{L_DL_COMPLETE}" class="liteoption" />&nbsp;<!-- ENDIF -->
<!-- IF DL_BUT_CANCEL --><input type="submit" name="dl_set_cancel" value="{L_DL_CANCEL}" class="liteoption" /><!-- ENDIF -->
<!-- IF DL_BUT_WILL --><input type="submit" name="dl_set_will" value="{L_DLWILL}" class="liteoption" />&nbsp;<!-- ENDIF -->
<!-- IF DL_BUT_DOWN --><input type="submit" name="dl_set_down" value="{L_DLDOWN}" class="liteoption" />&nbsp;<!-- ENDIF -->
<!-- IF DL_BUT_COMPL --><input type="submit" name="dl_set_complete" value="{L_DLCOMPLETE}" class="liteoption" />&nbsp;<!-- ENDIF -->
<!-- IF DL_BUT_CANCEL --><input type="submit" name="dl_set_cancel" value="{L_DLCANCEL}" class="liteoption" /><!-- ENDIF -->
</form>
<!-- ENDIF -->
<!-- IF CALL_SEED --><form action="callseed.php?t={TOPIC_ID}" method="post"><input type="submit" value="{L_CALLSEED}" class="liteoption" />&nbsp;</form><!-- ENDIF -->

View file

@ -738,21 +738,6 @@ if ($allowed_forums)
$forum_id = (!$hide_forum && isset($tor['forum_id'])) ? $tor['forum_id'] : '';
$poster_id = (!$hide_author && isset($tor['poster_id'])) ? $tor['poster_id'] : '';
// Gold/Silver releases mod
$is_gold = '';
if ($tr_cfg['gold_silver_enabled'])
{
if ($tor['tor_type'] == TOR_TYPE_GOLD)
{
$is_gold = '<img src="images/tor_gold.gif" width="16" height="15" title="'.$lang['GOLD'].'" alt="" />&nbsp;';
}
elseif ($tor['tor_type'] == TOR_TYPE_SILVER)
{
$is_gold = '<img src="images/tor_silver.gif" width="16" height="15" title="'.$lang['SILVER'].'" alt="" />&nbsp;';
}
}
// END Gold/Silver releases mod
$template->assign_block_vars('tor', array(
'CAT_ID' => $cat_id,
'CAT_TITLE' => ($cat_id) ? $cat_title_html[$cat_id] : '',
@ -773,7 +758,7 @@ if ($allowed_forums)
'ATTACH_ID' => $att_id,
'MAGNET' => $tor_magnet,
'TOR_TYPE' => $is_gold,
'TOR_TYPE' => is_gold($tor['tor_type']),
'TOR_FROZEN' => (!IS_AM) ? isset($bb_cfg['tor_frozen'][$tor['tor_status']]) : '',
'TOR_STATUS_ICON' => $bb_cfg['tor_icons'][$tor['tor_status']],
@ -811,7 +796,7 @@ if ($tor_count)
$search_matches = ($tor_count == 1) ? sprintf($lang['FOUND_SEARCH_MATCH'], $tor_count) : sprintf($lang['FOUND_SEARCH_MATCHES'], $tor_count);
$search_max = "(max: $tor_search_limit)";
generate_pagination($base_url, $tor_count, $per_page, $start);
generate_pagination($base_url, $tor_count, $per_page, $start);
$template->assign_vars(array(
'MATCHES' => $search_matches,

View file

@ -68,9 +68,8 @@ if (!$is_auth['auth_view'])
{
if (IS_GUEST)
{
$redirect = "f=$forum_id";
$redirect .= ($start) ? "&start=$start" : '';
redirect(LOGIN_URL . "?redirect=viewforum.php&$redirect");
$redirect = ($start) ? "&start=$start" : '';
redirect(LOGIN_URL . "?redirect=". FORUM_URL . $forum_id . $redirect);
}
// The user is not authed to read this forum ...
$message = sprintf($lang['SORRY_AUTH_VIEW'], $is_auth['auth_view_type']);
@ -269,7 +268,7 @@ if (!empty($_REQUEST['topicdays']))
SELECT COUNT(*) AS forum_topics
FROM ". BB_TOPICS ."
WHERE forum_id = $forum_id
AND topic_last_post_time > ". (TIMENOW - 86400*$req_topic_days) ."
AND topic_last_post_time > ". (TIMENOW - 86400 * $req_topic_days) ."
";
if ($row = DB()->fetch_row($sql))
@ -282,7 +281,7 @@ if (!empty($_REQUEST['topicdays']))
// Correct $start value
if ($start > $forum_topics)
{
redirect("viewforum.php?f=$forum_id");
redirect(FORUM_URL . $forum_id);
}
// Generate SORT and ORDER selects
@ -480,21 +479,6 @@ foreach ($topic_rowset as $topic)
}
}
// 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 = '<img src="images/tor_gold.gif" width="16" height="15" title="'.$lang['GOLD'].'" alt="" />&nbsp;';
}
elseif ($topic['tor_type'] == TOR_TYPE_SILVER)
{
$is_gold = '<img src="images/tor_silver.gif" width="16" height="15" title="'.$lang['SILVER'].'" alt="" />&nbsp;';
}
}
// END Gold/Silver releases mod
$template->assign_block_vars('t', array(
'FORUM_ID' => $forum_id,
'TOPIC_ID' => $topic_id,
@ -508,7 +492,7 @@ foreach ($topic_rowset as $topic)
'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_TYPE' => isset($topic['tor_type']) ? is_gold($topic['tor_type']) : '',
'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']] : '',

View file

@ -179,7 +179,7 @@ if (!$is_auth['auth_read'])
{
$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");
redirect(LOGIN_URL . "?redirect=$redirect");
}
bb_die($lang['TOPIC_POST_NOT_EXIST']);
}
@ -313,7 +313,7 @@ if ($bb_cfg['topic_notify_enabled'])
{
if ($_GET['unwatch'] == 'topic')
{
redirect(LOGIN_URL . "?redirect=viewtopic.php&t=$topic_id&unwatch=topic");
redirect(LOGIN_URL . "?redirect=" . TOPIC_URL . "$topic_id&unwatch=topic");
}
}
}
@ -432,11 +432,11 @@ if ( count($orig_word) )
// Post, reply and other URL generation for
// templating vars
//
$new_topic_url = POSTING_URL . "?mode=newtopic&amp;f=$forum_id";
$reply_topic_url = POSTING_URL . "?mode=reply&amp;t=$topic_id";
$view_forum_url = "viewforum.php?f=$forum_id";
$view_prev_topic_url = "viewtopic.php?t=$topic_id&amp;view=previous#newest";
$view_next_topic_url = "viewtopic.php?t=$topic_id&amp;view=next#newest";
$new_topic_url = POSTING_URL . "?mode=newtopic&amp;f=" . $forum_id;
$reply_topic_url = POSTING_URL . "?mode=reply&amp;t=" . $topic_id;
$view_forum_url = FORUM_URL . $forum_id;
$view_prev_topic_url = TOPIC_URL . $topic_id . "&amp;view=previous#newest";
$view_next_topic_url = TOPIC_URL . $topic_id . "&amp;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'];
@ -447,17 +447,17 @@ $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'] ) . '<br />';
$s_auth_can .= ( ( $is_auth['auth_reply'] ) ? $lang['RULES_REPLY_CAN'] : $lang['RULES_REPLY_CANNOT'] ) . '<br />';
$s_auth_can .= ( ( $is_auth['auth_edit'] ) ? $lang['RULES_EDIT_CAN'] : $lang['RULES_EDIT_CANNOT'] ) . '<br />';
$s_auth_can .= ( ( $is_auth['auth_delete'] ) ? $lang['RULES_DELETE_CAN'] : $lang['RULES_DELETE_CANNOT'] ) . '<br />';
$s_auth_can .= ( ( $is_auth['auth_vote'] ) ? $lang['RULES_VOTE_CAN'] : $lang['RULES_VOTE_CANNOT'] ) . '<br />';
$s_auth_can .= ( ($is_auth['auth_attachments'] ) ? $lang['RULES_ATTACH_CAN'] : $lang['RULES_ATTACH_CANNOT'] ) . '<br />';
$s_auth_can .= ( ($is_auth['auth_download'] ) ? $lang['RULES_DOWNLOAD_CAN'] : $lang['RULES_DOWNLOAD_CANNOT'] ) . '<br />';
$s_auth_can = (($is_auth['auth_post']) ? $lang['RULES_POST_CAN'] : $lang['RULES_POST_CANNOT']) . '<br />';
$s_auth_can .= (($is_auth['auth_reply']) ? $lang['RULES_REPLY_CAN'] : $lang['RULES_REPLY_CANNOT']) . '<br />';
$s_auth_can .= (($is_auth['auth_edit']) ? $lang['RULES_EDIT_CAN'] : $lang['RULES_EDIT_CANNOT']) . '<br />';
$s_auth_can .= (($is_auth['auth_delete']) ? $lang['RULES_DELETE_CAN'] : $lang['RULES_DELETE_CANNOT']) . '<br />';
$s_auth_can .= (($is_auth['auth_vote']) ? $lang['RULES_VOTE_CAN'] : $lang['RULES_VOTE_CANNOT']) . '<br />';
$s_auth_can .= (($is_auth['auth_attachments']) ? $lang['RULES_ATTACH_CAN'] : $lang['RULES_ATTACH_CANNOT']) . '<br />';
$s_auth_can .= (($is_auth['auth_download']) ? $lang['RULES_DOWNLOAD_CAN'] : $lang['RULES_DOWNLOAD_CANNOT']) . '<br />';
$topic_mod = '';
if ( $is_auth['auth_mod'] )
if ($is_auth['auth_mod'])
{
$s_auth_can .= $lang['RULES_MODERATE'];
$topic_mod .= "<a href=\"modcp.php?" . POST_TOPIC_URL . "=$topic_id&amp;mode=delete&amp;sid=" . $userdata['session_id'] . '"><img src="' . $images['topic_mod_delete'] . '" alt="' . $lang['DELETE_TOPIC'] . '" title="' . $lang['DELETE_TOPIC'] . '" border="0" /></a>&nbsp;';
@ -514,17 +514,17 @@ if ($report_topic && $report_topic->auth_check('auth_write'))
// Topic watch information
//
$s_watching_topic = $s_watching_topic_img = '';
if ( $can_watch_topic )
if ($can_watch_topic)
{
if ( $is_watching_topic )
if ($is_watching_topic)
{
$s_watching_topic = "<a href=\"viewtopic.php?" . POST_TOPIC_URL . "=$topic_id&amp;unwatch=topic&amp;start=$start&amp;sid=" . $userdata['session_id'] . '">' . $lang['STOP_WATCHING_TOPIC'] . '</a>';
$s_watching_topic_img = ( isset($images['topic_un_watch']) ) ? "<a href=\"viewtopic.php?" . POST_TOPIC_URL . "=$topic_id&amp;unwatch=topic&amp;start=$start&amp;sid=" . $userdata['session_id'] . '"><img src="' . $images['topic_un_watch'] . '" alt="' . $lang['STOP_WATCHING_TOPIC'] . '" title="' . $lang['STOP_WATCHING_TOPIC'] . '" border="0"></a>' : '';
$s_watching_topic = "<a href=\"". TOPIC_URL . $topic_id ."&amp;unwatch=topic&amp;start=$start&amp;sid=" . $userdata['session_id'] . '">' . $lang['STOP_WATCHING_TOPIC'] . '</a>';
$s_watching_topic_img = (isset($images['topic_un_watch'])) ? "<a href=\"" . TOPIC_URL . "$topic_id&amp;unwatch=topic&amp;start=$start&amp;sid=" . $userdata['session_id'] . '"><img src="' . $images['topic_un_watch'] . '" alt="' . $lang['STOP_WATCHING_TOPIC'] . '" title="' . $lang['STOP_WATCHING_TOPIC'] . '" border="0"></a>' : '';
}
else
{
$s_watching_topic = "<a href=\"viewtopic.php?" . POST_TOPIC_URL . "=$topic_id&amp;watch=topic&amp;start=$start&amp;sid=" . $userdata['session_id'] . '">' . $lang['START_WATCHING_TOPIC'] . '</a>';
$s_watching_topic_img = ( isset($images['Topic_watch']) ) ? "<a href=\"viewtopic.php?" . POST_TOPIC_URL . "=$topic_id&amp;watch=topic&amp;start=$start&amp;sid=" . $userdata['session_id'] . '"><img src="' . $images['Topic_watch'] . '" alt="' . $lang['START_WATCHING_TOPIC'] . '" title="' . $lang['START_WATCHING_TOPIC'] . '" border="0"></a>' : '';
$s_watching_topic = "<a href=\"". TOPIC_URL . $topic_id ."&amp;watch=topic&amp;start=$start&amp;sid=" . $userdata['session_id'] . '">' . $lang['START_WATCHING_TOPIC'] . '</a>';
$s_watching_topic_img = (isset($images['Topic_watch'])) ? "<a href=\"". TOPIC_URL ."$topic_id&amp;watch=topic&amp;start=$start&amp;sid=" . $userdata['session_id'] . '"><img src="' . $images['Topic_watch'] . '" alt="' . $lang['START_WATCHING_TOPIC'] . '" title="' . $lang['START_WATCHING_TOPIC'] . '" border="0"></a>' : '';
}
}
@ -601,7 +601,7 @@ $template->assign_vars(array(
'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&amp;start=$start",
'S_POST_DAYS_ACTION' => TOPIC_URL . $topic_id . "&amp;start=$start",
'S_AUTH_LIST' => $s_auth_can,
'S_TOPIC_ADMIN' => $topic_mod,
'S_WATCH_TOPIC' => $s_watching_topic,