diff --git a/README.md b/README.md
index d4978f077..3600f2890 100644
--- a/README.md
+++ b/README.md
@@ -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
diff --git a/install/sql/mysql.sql b/install/sql/mysql.sql
index 66c0e5ab7..a34ee47bb 100644
--- a/install/sql/mysql.sql
+++ b/install/sql/mysql.sql
@@ -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);
-- --------------------------------------------------------
diff --git a/upload/admin/admin_attach_cp.php b/upload/admin/admin_attach_cp.php
index 5ec630366..274b673bb 100644
--- a/upload/admin/admin_attach_cp.php
+++ b/upload/admin/admin_attach_cp.php
@@ -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'],
));
}
diff --git a/upload/admin/index.php b/upload/admin/index.php
index cd5f5d4d2..1334f3d8b 100644
--- a/upload/admin/index.php
+++ b/upload/admin/index.php
@@ -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
diff --git a/upload/ajax.php b/upload/ajax.php
index f32feb163..34845418f 100644
--- a/upload/ajax.php
+++ b/upload/ajax.php
@@ -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();
//
diff --git a/upload/ajax/.htaccess b/upload/ajax/.htaccess
deleted file mode 100644
index baa56e5a3..000000000
--- a/upload/ajax/.htaccess
+++ /dev/null
@@ -1,2 +0,0 @@
-order allow,deny
-deny from all
\ No newline at end of file
diff --git a/upload/ajax/manage_admin.php b/upload/ajax/manage_admin.php
index 559f4753d..74311b2ac 100644
--- a/upload/ajax/manage_admin.php
+++ b/upload/ajax/manage_admin.php
@@ -99,7 +99,15 @@ switch ($mode)
sync('user_posts', 'all');
- $this->response['sync_user_posts_html'] = ''. $lang['USER POSTS COUNT SYNCHRONIZED'] .' ';
+ $this->response['sync_user_posts_html'] = ''. $lang['USER_POSTS_COUNT_SYNCHRONIZED'] .' ';
+
+ break;
+
+ case 'unlock_cron':
+
+ cron_enable_board();
+
+ $this->response['unlock_cron_html'] = ''. $lang['ADMIN_UNLOCKED'] .' ';
break;
}
diff --git a/upload/ajax/posts.php b/upload/ajax/posts.php
index 86ad38dbe..7c6397144 100644
--- a/upload/ajax/posts.php
+++ b/upload/ajax/posts.php
@@ -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;
diff --git a/upload/atom/.keep b/upload/atom/.keep
new file mode 100644
index 000000000..e69de29bb
diff --git a/upload/attach_mod/displaying.php b/upload/attach_mod/displaying.php
index 1efd81481..d1c6e3e6e 100644
--- a/upload/attach_mod/displaying.php
+++ b/upload/attach_mod/displaying.php
@@ -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']),
));
}
}
diff --git a/upload/attach_mod/displaying_torrent.php b/upload/attach_mod/displaying_torrent.php
index 0c8d478ce..6ee7e12f6 100644
--- a/upload/attach_mod/displaying_torrent.php
+++ b/upload/attach_mod/displaying_torrent.php
@@ -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)
diff --git a/upload/attach_mod/posting_attachments.php b/upload/attach_mod/posting_attachments.php
index 6e8a7f50a..60e91d161 100644
--- a/upload/attach_mod/posting_attachments.php
+++ b/upload/attach_mod/posting_attachments.php
@@ -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(
diff --git a/upload/config.php b/upload/config.php
index 9acacc759..a37115268 100644
--- a/upload/config.php
+++ b/upload/config.php
@@ -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);
\ No newline at end of file
diff --git a/upload/download.php b/upload/dl.php
similarity index 99%
rename from upload/download.php
rename to upload/dl.php
index 4596bed24..96e0a60eb 100644
--- a/upload/download.php
+++ b/upload/dl.php
@@ -1,7 +1,7 @@
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'])
{
diff --git a/upload/feed.php b/upload/feed.php
new file mode 100644
index 000000000..87b981957
--- /dev/null
+++ b/upload/feed.php
@@ -0,0 +1,68 @@
+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');
+}
\ No newline at end of file
diff --git a/upload/groupcp.php b/upload/groupcp.php
index f5e09354b..0b715176d 100644
--- a/upload/groupcp.php
+++ b/upload/groupcp.php
@@ -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
diff --git a/upload/includes/bbcode.php b/upload/includes/bbcode.php
index 8c26496d8..73c0ff20a 100644
--- a/upload/includes/bbcode.php
+++ b/upload/includes/bbcode.php
@@ -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\#!$%&~/.\-;:=,?@а-яА-Я\[\]+]+?';
diff --git a/upload/includes/captcha/captcha.php b/upload/includes/captcha/captcha.php
index 61fe023d3..4ecfcdc34 100644
--- a/upload/includes/captcha/captcha.php
+++ b/upload/includes/captcha/captcha.php
@@ -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);
diff --git a/upload/includes/cron/jobs/update_forums_atom.php b/upload/includes/cron/jobs/update_forums_atom.php
new file mode 100644
index 000000000..eaf6bc73e
--- /dev/null
+++ b/upload/includes/cron/jobs/update_forums_atom.php
@@ -0,0 +1,23 @@
+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);
+ }
+}
\ No newline at end of file
diff --git a/upload/includes/functions.php b/upload/includes/functions.php
index 9dc85f7ef..b92c29b34 100644
--- a/upload/includes/functions.php
+++ b/upload/includes/functions.php
@@ -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 = ' ';
+ break;
+ case TOR_TYPE_SILVER:
+ $is_gold = ' ';
+ 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;
+ }
}
\ No newline at end of file
diff --git a/upload/includes/functions_admin.php b/upload/includes/functions_admin.php
index 32ce428f8..1c4319d32 100644
--- a/upload/includes/functions_admin.php
+++ b/upload/includes/functions_admin.php
@@ -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)
diff --git a/upload/includes/functions_atom.php b/upload/includes/functions_atom.php
new file mode 100644
index 000000000..0c3c4f2e2
--- /dev/null
+++ b/upload/includes/functions_atom.php
@@ -0,0 +1,186 @@
+ 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 .= "\n";
+ $atom .= "\n";
+ $atom .= "$title \n";
+ $atom .= "". $date ."T$time+00:00 \n";
+ $atom .= "tag:rto.feed,2000:/$mode/$id \n";
+ $atom .= " \n";
+ foreach ($topics as $topic)
+ {
+ $topic_id = $topic['topic_id'];
+ $tor_size = '';
+ if (isset($topic['tor_size']))
+ {
+ $tor_size = str_replace(' ', ' ', ' ['. 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 .= "\n";
+ $atom .= " \n";
+ $atom .= " \n";
+ $atom .= " $author_name \n";
+ $atom .= " \n";
+ $atom .= " ". $date ."T$time+00:00 \n";
+ $atom .= " tag:rto.feed,". $date .":/t/$topic_id \n";
+ $atom .= " \n";
+ $atom .= " \n";
+ }
+ $atom .= " ";
+ @unlink($file_path);
+ $fp = fopen($file_path, "w");
+ fwrite($fp, $atom);
+ fclose ($fp);
+ return true;
+}
\ No newline at end of file
diff --git a/upload/includes/init_bb.php b/upload/includes/init_bb.php
index 51fe0e0ad..3ec627302 100644
--- a/upload/includes/init_bb.php
+++ b/upload/includes/init_bb.php
@@ -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']);
diff --git a/upload/includes/page_header.php b/upload/includes/page_header.php
index fb30f8cf8..77183659c 100644
--- a/upload/includes/page_header.php
+++ b/upload/includes/page_header.php
@@ -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,
diff --git a/upload/includes/torrent_show_dl_list.php b/upload/includes/torrent_show_dl_list.php
index a14fb286f..ddc9b8f11 100644
--- a/upload/includes/torrent_show_dl_list.php
+++ b/upload/includes/torrent_show_dl_list.php
@@ -90,10 +90,11 @@ if ($show_dl_list)
$dl_cat[$i] = "". $dl_cat[$i] .' ';
$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],
+ ));
}
}
}
diff --git a/upload/includes/ucp/viewtorrent.php b/upload/includes/ucp/viewtorrent.php
index 8456ace87..9a49233be 100644
--- a/upload/includes/ucp/viewtorrent.php
+++ b/upload/includes/ucp/viewtorrent.php
@@ -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 = ' ';
- }
- elseif ($row['tor_type'] == TOR_TYPE_SILVER)
- {
- $is_gold = ' ';
- }
- }
-
$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 : "$topic_title ",
'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 = ' ';
- }
- elseif ($row['tor_type'] == TOR_TYPE_SILVER)
- {
- $is_gold = ' ';
- }
- }
-
$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 : "$topic_title ",
'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 = ' ';
- }
- elseif ($row['tor_type'] == TOR_TYPE_SILVER)
- {
- $is_gold = ' ';
- }
- }
-
$compl_size = ($row['remain'] && $row['size'] && $row['size'] > $row['remain']) ? ($row['size'] - $row['remain']) : 0;
$compl_perc = ($compl_size) ? floor($compl_size * 100 / $row['size']) : 0;
$topic_title = wbr($row['topic_title']);
@@ -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' : '-',
diff --git a/upload/index.php b/upload/index.php
index 4358fb7ec..28a5b4f50 100644
--- a/upload/index.php
+++ b/upload/index.php
@@ -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');
\ No newline at end of file
diff --git a/upload/language/en/main.php b/upload/language/en/main.php
index 15d076349..1e30bdd35 100644
--- a/upload/language/en/main.php
+++ b/upload/language/en/main.php
@@ -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 %s '; // eg. All times are GMT - 12 Hours (times from next block)
-
-$lang['-12'] = 'GMT - 12 Hours';
-$lang['-11'] = 'GMT - 11 Hours';
-$lang['-10'] = 'GMT - 10 Hours';
-$lang['-9'] = 'GMT - 9 Hours';
-$lang['-8'] = 'GMT - 8 Hours';
-$lang['-7'] = 'GMT - 7 Hours';
-$lang['-6'] = 'GMT - 6 Hours';
-$lang['-5'] = 'GMT - 5 Hours';
-$lang['-4'] = 'GMT - 4 Hours';
-$lang['-3.5'] = 'GMT - 3.5 Hours';
-$lang['-3'] = 'GMT - 3 Hours';
-$lang['-2'] = 'GMT - 2 Hours';
-$lang['-1'] = 'GMT - 1 Hours';
-$lang['0'] = 'GMT';
-$lang['1'] = 'GMT + 1 Hour';
-$lang['2'] = 'GMT + 2 Hours';
-$lang['3'] = 'GMT + 3 Hours';
-$lang['3.5'] = 'GMT + 3.5 Hours';
-$lang['4'] = 'GMT + 4 Hours';
-$lang['4.5'] = 'GMT + 4.5 Hours';
-$lang['5'] = 'GMT + 5 Hours';
-$lang['5.5'] = 'GMT + 5.5 Hours';
-$lang['6'] = 'GMT + 6 Hours';
-$lang['6.5'] = 'GMT + 6.5 Hours';
-$lang['7'] = 'GMT + 7 Hours';
-$lang['8'] = 'GMT + 8 Hours';
-$lang['9'] = 'GMT + 9 Hours';
-$lang['9.5'] = 'GMT + 9.5 Hours';
-$lang['10'] = 'GMT + 10 Hours';
-$lang['11'] = 'GMT + 11 Hours';
-$lang['12'] = 'GMT + 12 Hours';
-$lang['13'] = 'GMT + 13 Hours';
+$lang['ALL_TIMES'] = 'All times are %s '; // 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'] = 'filter by name ';
+$lang['FILTER_BY_NAME'] = 'Filter by name ';
$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 %s you can not download torrents";
$lang['BT_RATIO_WARNING_MSG'] = 'If your ratio falls below %s, you will not be able to download Torrents! More about the rating. ';
@@ -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, http://torrentpier.me/memberlist.php ) which should be included in your sitemap file that you creating.';
-$lang['SITEMAP_ADD_EXP_2'] = 'Each reference must begin with http(s):// and a new line!';
\ No newline at end of file
+$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)';
diff --git a/upload/language/ru/main.php b/upload/language/ru/main.php
index d307a8914..b07702007 100644
--- a/upload/language/ru/main.php
+++ b/upload/language/ru/main.php
@@ -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'] = 'Часовой пояс: %s '; // This is followed by GMT and the timezone offset
-
-$lang['-12'] = 'GMT - 12';
-$lang['-11'] = 'GMT - 11';
-$lang['-10'] = 'GMT - 10';
-$lang['-9'] = 'GMT - 9';
-$lang['-8'] = 'GMT - 8';
-$lang['-7'] = 'GMT - 7';
-$lang['-6'] = 'GMT - 6';
-$lang['-5'] = 'GMT - 5';
-$lang['-4'] = 'GMT - 4';
-$lang['-3.5'] = 'GMT - 3:30';
-$lang['-3'] = 'GMT - 3';
-$lang['-2'] = 'GMT - 2';
-$lang['-1'] = 'GMT - 1';
-$lang['0'] = 'GMT';
-$lang['1'] = 'GMT + 1';
-$lang['2'] = 'GMT + 2';
-$lang['3'] = 'GMT + 3';
-$lang['3.5'] = 'GMT + 3:30';
-$lang['4'] = 'GMT + 4';
-$lang['4.5'] = 'GMT + 4:30';
-$lang['5'] = 'GMT + 5';
-$lang['5.5'] = 'GMT + 5:30';
-$lang['6'] = 'GMT + 6';
-$lang['6.5'] = 'GMT + 6:30';
-$lang['7'] = 'GMT + 7';
-$lang['8'] = 'GMT + 8';
-$lang['9'] = 'GMT + 9';
-$lang['9.5'] = 'GMT + 9:30';
-$lang['10'] = 'GMT + 10';
-$lang['11'] = 'GMT + 11';
-$lang['12'] = 'GMT + 12';
-$lang['13'] = 'GMT + 13';
+$lang['ALL_TIMES'] = 'Часовой пояс: %s '; // 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'] = 'фильтр по названию ';
+$lang['FILTER_BY_NAME'] = 'Фильтр по названию ';
$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'] = 'Рейтинг %s уже не позволяет вам скачивать новые торренты. Для поднятия рейтинга вы можете что-либо раздать из ваших прошлых закачек , либо организовать новую раздачу.Пожалуйста, помните о том, что ваше yчастие в системе BitTorrent не может ограничиваться только скачиванием! ';
$lang['BT_RATIO_WARNING_MSG'] = 'Если ваш рейтинг упадет ниже %s, вы не сможете скачивать торренты! Подробнее о рейтинге. ';
@@ -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'] = 'Здесь вы можете указать дополнительные страницы сайта (например http://torrentpier.me/memberlist.php ), которые должны быть включены в создаваемый файл вами файл sitemap.';
-$lang['SITEMAP_ADD_EXP_2'] = 'Каждая ссылка должна начинаться с http(s):// и новой строки!';
\ No newline at end of file
+$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'] = 'Для этого пользователя нет ленты (нет начатых тем)';
diff --git a/upload/language/ua/main.php b/upload/language/ua/main.php
index 13858a895..5bf9121a7 100644
--- a/upload/language/ua/main.php
+++ b/upload/language/ua/main.php
@@ -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'] = 'Часовий пояс: %s '; // This is followed by GMT and the timezone offset
-
-$lang['-12'] = 'GMT - 12';
-$lang['-11'] = 'GMT - 11';
-$lang['-10'] = 'GMT - 10';
-$lang['-9'] = 'GMT - 9';
-$lang['-8'] = 'GMT - 8';
-$lang['-7'] = 'GMT - 7';
-$lang['-6'] = 'GMT - 6';
-$lang['-5'] = 'GMT - 5';
-$lang['-4'] = 'GMT - 4';
-$lang['-3.5'] = 'GMT - 3:30';
-$lang['-3'] = 'GMT - 3';
-$lang['-2'] = 'GMT - 2';
-$lang['-1'] = 'GMT - 1';
-$lang['0'] = 'GMT';
-$lang['1'] = 'GMT + 1';
-$lang['2'] = 'GMT + 2';
-$lang['3'] = 'GMT + 3';
-$lang['3.5'] = 'GMT + 3:30';
-$lang['4'] = 'GMT + 4';
-$lang['4.5'] = 'GMT + 4:30';
-$lang['5'] = 'GMT + 5';
-$lang['5.5'] = 'GMT + 5:30';
-$lang['6'] = 'GMT + 6';
-$lang['6.5'] = 'GMT + 6:30';
-$lang['7'] = 'GMT + 7';
-$lang['8'] = 'GMT + 8';
-$lang['9'] = 'GMT + 9';
-$lang['9.5'] = 'GMT + 9:30';
-$lang['10'] = 'GMT + 10';
-$lang['11'] = 'GMT + 11';
-$lang['12'] = 'GMT + 12';
-$lang['13'] = 'GMT + 13';
+$lang['ALL_TIMES'] = 'Часовий пояс: %s '; // 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'] = 'фільтрувати за назвою ';
+$lang['FILTER_BY_NAME'] = 'Фільтрувати за назвою ';
$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'] = "Рейтинг %s вже не дозволяє вам викачувати нові торренти. Для підняття рейтингу ви можете що-небудь роздати ваших минулих закачувань , або організувати нову роздачу.будь Ласка, пам'ятайте про те, що ваша участь у системі BitTorrent не може обмежуватися тільки скачуванням! ";
$lang['BT_RATIO_WARNING_MSG'] = 'Якщо ваш рейтинг впаде нижче %s, ви не зможете скачувати торренти! Детальніше про рейтинг. ';
@@ -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'] = 'Тут ви можете вказати додаткові сторінки сайту (наприклад http://torrentpier.me/memberlist.php ), які повинні бути включені в створюваний файл вами файл sitemap.';
-$lang['SITEMAP_ADD_EXP_2'] = 'Кожне посилання має починатись з http(s):// і нової рядки!';
\ No newline at end of file
+$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'] = 'Для цього користувача немає стрічки (немає початих тем)';
diff --git a/upload/memberlist.php b/upload/memberlist.php
index 91cd53ca7..fc0ff96bd 100644
--- a/upload/memberlist.php
+++ b/upload/memberlist.php
@@ -202,7 +202,7 @@ if ($result = DB()->fetch_rowset($sql))
'PM' => $pm,
'EMAIL' => $email,
'WWW' => $www,
- 'U_VIEWPROFILE' => "profile.php?mode=viewprofile&". POST_USERS_URL ."=$user_id",
+ 'U_VIEWPROFILE' => PROFILE_URL . $user_id,
));
}
}
diff --git a/upload/files/.htaccess b/upload/old_files/.htaccess
similarity index 100%
rename from upload/files/.htaccess
rename to upload/old_files/.htaccess
diff --git a/upload/files/thumbs/.htaccess b/upload/old_files/thumbs/.htaccess
similarity index 100%
rename from upload/files/thumbs/.htaccess
rename to upload/old_files/thumbs/.htaccess
diff --git a/upload/posting.php b/upload/posting.php
index acef3fa9f..62956849f 100644
--- a/upload/posting.php
+++ b/upload/posting.php
@@ -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&postorder=desc" : '',
+ 'U_VIEWTOPIC' => ( $mode == 'reply' ) ? TOPIC_URL . $topic_id . "&postorder=desc" : '',
'S_NOTIFY_CHECKED' => ( $notify_user ) ? 'checked="checked"' : '',
'S_TYPE_TOGGLE' => $topic_type_toggle,
diff --git a/upload/robots.txt b/upload/robots.txt
index 57f3228a1..7516cba8a 100644
--- a/upload/robots.txt
+++ b/upload/robots.txt
@@ -1,5 +1,5 @@
User-agent: *
-Disallow: /download.php
+Disallow: /dl.php
Disallow: /groupcp.php
Disallow: /login.php
Disallow: /memberlist.php
diff --git a/upload/stats/tracker.php b/upload/stats/tracker.php
index e2018cbea..2c847eb6e 100644
--- a/upload/stats/tracker.php
+++ b/upload/stats/tracker.php
@@ -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;
diff --git a/upload/templates/admin/index.tpl b/upload/templates/admin/index.tpl
index bf07ee500..14641d9ae 100644
--- a/upload/templates/admin/index.tpl
+++ b/upload/templates/admin/index.tpl
@@ -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);
}
+
+
+
+
+
+
+
+
+
{L_CLEAR_CACHE}:
diff --git a/upload/templates/default/css/main.css b/upload/templates/default/css/main.css
index d05b4e76e..f09322839 100644
--- a/upload/templates/default/css/main.css
+++ b/upload/templates/default/css/main.css
@@ -434,7 +434,7 @@ table.message td {
}
.cat, td.cat, td.catTitle, td.catHead, td.catBottom {
- padding: 5px 4px 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
* ---------------------------------- */
diff --git a/upload/templates/default/images/feed.png b/upload/templates/default/images/feed.png
new file mode 100644
index 000000000..917dd18c9
Binary files /dev/null and b/upload/templates/default/images/feed.png differ
diff --git a/upload/templates/default/index.tpl b/upload/templates/default/index.tpl
index c7f718a49..2f3d3a12b 100644
--- a/upload/templates/default/index.tpl
+++ b/upload/templates/default/index.tpl
@@ -12,9 +12,10 @@
@@ -52,6 +53,11 @@
+
+
+
+
+
@@ -131,7 +137,9 @@
-
+
+
+
{NO_FORUMS_MSG}
@@ -146,6 +154,7 @@
@@ -179,11 +188,11 @@
};
- {WHOSBIRTHDAY_TODAY}
- {WHOSBIRTHDAY_WEEK}
+ {WHOSBIRTHDAY_TODAY}
+ {WHOSBIRTHDAY_WEEK}
-
+
{TOTAL_USERS_ONLINE} {USERS_ONLINE_COUNTS}
{RECORD_USERS}
diff --git a/upload/templates/default/index_map.tpl b/upload/templates/default/index_map.tpl
new file mode 100644
index 000000000..d78f82101
--- /dev/null
+++ b/upload/templates/default/index_map.tpl
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/upload/templates/default/posting_editor.tpl b/upload/templates/default/posting_editor.tpl
index 2b2eeabef..7d5d8838b 100644
--- a/upload/templates/default/posting_editor.tpl
+++ b/upload/templates/default/posting_editor.tpl
@@ -1,31 +1,25 @@
{L_QR_FONT_SEL}:
- Courier
- Courier New
- monospace
- Fixedsys
+ Monospace
+ Serif
+ Sans Serif
+ Cursive
Arial
- Comic Sans
- Georgia
Tahoma
- Times
- serif
- sans-serif
- cursive
- fantasy
- Monotype
+ Georgia
+ Fixedsys
@@ -60,11 +54,11 @@ ajax.callback.posts = function(data){
- {L_ALIGN}
- {L_LEFT}
- {L_RIGHT}
- {L_CENTER}
- {L_JUSTIFY}
+ {L_ALIGN}
+ {L_LEFT}
+ {L_RIGHT}
+ {L_CENTER}
+ {L_JUSTIFY}
diff --git a/upload/templates/default/search_results.tpl b/upload/templates/default/search_results.tpl
index dd5ccbdb0..8280806f8 100644
--- a/upload/templates/default/search_results.tpl
+++ b/upload/templates/default/search_results.tpl
@@ -190,17 +190,17 @@ function show_edit_options ()
- {L_DEL_LIST_INFO}
+ {L_DEL_LIST_INFO}
-
-
-
-
+
+
+
+
diff --git a/upload/templates/default/tpl_config.php b/upload/templates/default/tpl_config.php
index 660d62698..31773f5bf 100644
--- a/upload/templates/default/tpl_config.php
+++ b/upload/templates/default/tpl_config.php
@@ -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']) ? ' ' : '',
- 'TOPIC_ATTACH_ICON' => ' ',
- 'ATTACHMENT_ICON' => ' ',
- 'OPEN_MENU_IMG_ALT1' => '',
-
- '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']) ? ' ' : '',
+ 'TOPIC_ATTACH_ICON' => ' ',
+ 'OPEN_MENU_IMG_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' => ' ',
));
// post_buttons
diff --git a/upload/templates/default/usercp_viewprofile.tpl b/upload/templates/default/usercp_viewprofile.tpl
index 7281ef627..8f1938ca3 100644
--- a/upload/templates/default/usercp_viewprofile.tpl
+++ b/upload/templates/default/usercp_viewprofile.tpl
@@ -365,8 +365,9 @@ ajax.callback.gen_passkey = function(data){
{POSTS}
[ {L_SEARCH_USER_POSTS} ]
[ {L_SEARCH_USER_TOPICS} ]
- [ {L_SEARCH_RELEASES} ]
- [ {L_WATCHED_TOPICS} ]
+ [ {L_SEARCH_RELEASES} ]
+ [ {L_WATCHED_TOPICS} ]
+ [ {FEED_IMG} ]
diff --git a/upload/templates/default/viewtopic.tpl b/upload/templates/default/viewtopic.tpl
index 27c5cf571..60dfa8cfb 100644
--- a/upload/templates/default/viewtopic.tpl
+++ b/upload/templates/default/viewtopic.tpl
@@ -5,7 +5,6 @@
img.postImg, div.postImg-wrap { display: none; }
.smile { display: none; }
.signature { display: none; }
-