New forum disable system

Новая система "смерти" форума с человекоприятным выводом ошибки. Фикс символа табуляции в бб-кодах.
This commit is contained in:
Exile 2014-08-06 23:15:10 +04:00
commit 4d4440d41c
39 changed files with 195 additions and 248 deletions

View file

@ -17,7 +17,7 @@ require_once('./include/core_announce.php');
$passkey = @$_GET['passkey'];
if(!$passkey)
if (!$passkey)
{
err('Passkey required');
}

View file

@ -29,7 +29,7 @@ if (empty($_POST['confirm']))
}
else
{
if(!file_exists('passwords.php')) stderr($tracker_lang['error'], 'passwords.php not exists');
if (!file_exists('passwords.php')) stderr($tracker_lang['error'], 'passwords.php not exists');
include('passwords.php');
stdhead();

View file

@ -1,7 +1,6 @@
<?php
define ('IN_FORUM', true);
define ('IN_SERVICE', true);
define ('BB_ROOT', './');
require (BB_ROOT .'common.php');
require (BB_ROOT .'converter/constants.php');

View file

@ -1,8 +1,8 @@
<?php
if (!defined('EXCLUDED_USERS_CSV')) { define('EXCLUDED_USERS_CSV', join(',', array(GUEST_UID, BOT_UID,))); }
define('TB_USERS_TABLE', 'users');
define('TB_USERS_TABLE', 'users');
define('TB_CATEGORIES_TABLE', 'categories');
define('TB_TORRENTS_TABLE', 'torrents');
define('TB_COMMENTS_TABLE', 'comments');
define('MYBB_FORUMS_TABLE', 'mybb_forums');
define('TB_TORRENTS_TABLE', 'torrents');
define('TB_COMMENTS_TABLE', 'comments');
define('MYBB_FORUMS_TABLE', 'mybb_forums');

View file

@ -231,17 +231,17 @@ function append_images($tor)
switch(TR_TYPE)
{
case 'yse':
if(!empty($tor['image1']))
if (!empty($tor['image1']))
{
$poster = "[img=right]".make_img_path($tor['image1'])."[/img]";
}
if(!empty($tor['image2']))
if (!empty($tor['image2']))
{
$screens = '[spoiler="Скриншоты"][img]'.make_img_path($tor['image2'])."[/img][/spoiler]";
}
break;
case 'sky':
if(!empty($tor['poster']))
if (!empty($tor['poster']))
{
$poster = "[img=right]".make_img_path($tor['poster'])."[/img]";
}
@ -249,9 +249,9 @@ function append_images($tor)
if ($has_screens)
{
$screens .= '[spoiler="Скриншоты"]';
for ($i = 1; $i<=4; $i++)
for ($i = 1; $i <= 4; $i++)
{
if(!empty($tor['screenshot'.$i]))
if (!empty($tor['screenshot'.$i]))
{
$screens .= "[img]".make_img_path($tor['screenshot'.$i])."[/img] \n";
}
@ -347,7 +347,7 @@ function convert_torrent($torrent)
"topic_id" => $torrent['topic_id'],
"forum_id" => $torrent['category'],
"attach_id" => $torrent['attach_id'],
"size" => $torrent['size'],
"size" => $torrent['size'],
"reg_time" => $torrent['added'],
"complete_count" => $torrent['times_completed'],
"seeder_last_seen" => $torrent['lastseed'],
@ -406,7 +406,7 @@ function convert_cat($forum, $allow_torrents = true)
"forum_name" => $forum['name'],
"forum_order" => $forum['sort'],
"allow_reg_tracker" => $allow_torrents,
"allow_porno_topic" => $allow_torrents,
"allow_porno_topic" => $allow_torrents,
);
$columns = $values = array();

View file

@ -4,16 +4,16 @@ define('TR_TYPE', 'yse'); // 'sky' (SkyTracker) or 'yse' (TBDev YSE)
// Options
define('CLEAN', true); // Clean TorrentPier's database before converting?
//Users
define('CONVERT_USERS', true); // Converting users is enabled?
define('C_USERS_PER_ONCE', 250); // Number of users converting per once
define('CONVERT_USERS', true); // Converting users is enabled?
define('C_USERS_PER_ONCE', 250); // Number of users converting per once
//Torrents and categories
define('CONVERT_TORRENTS', true); // Converting torrents and categories is enabled?
define('CONVERT_TORRENTS', true); // Converting torrents and categories is enabled?
define('C_TORRENTS_PER_ONCE', 400); // Number of torrents converting per once
define('BDECODE', false); // Recalculate info_hash using bdecode?
define('BDECODE', false); // Recalculate info_hash using bdecode?
//Comments
define('CONVERT_COMMENTS', true); // Converting comments is enabled?
define('C_COMMENTS_PER_ONCE', 400); // Number of comments converting per once
define('C_COMMENTS_PER_ONCE', 400); // Number of comments converting per once
//Mybb forums & topics
define('CONVERT_MYBB_FORUMS', false); // Converting forums is enabled?
define('C_FORUMS_PER_ONCE', 100); // Number of forums converting per once
define('CONVERT_MYBB_FORUMS', false); // Converting forums is enabled?
define('C_FORUMS_PER_ONCE', 100); // Number of forums converting per once

View file

@ -1,7 +1,6 @@
<?php
define('IN_FORUM', true);
define('IN_SERVICE', true);
define('BB_ROOT', './');
require(BB_ROOT .'common.php');
require(INC_DIR .'functions_torrent.php');

View file

@ -1,8 +1,8 @@
<?php
if (!defined('EXCLUDED_USERS_CSV')) { define('EXCLUDED_USERS_CSV', join(',', array(GUEST_UID, BOT_UID,))); }
define('TB_USERS_TABLE', 'users');
define('TB_USERS_TABLE', 'users');
define('TB_CATEGORIES_TABLE', 'categories');
define('TB_TORRENTS_TABLE', 'torrents');
define('TB_COMMENTS_TABLE', 'comments');
define('MYBB_FORUMS_TABLE', 'mybb_forums');
define('TB_TORRENTS_TABLE', 'torrents');
define('TB_COMMENTS_TABLE', 'comments');
define('MYBB_FORUMS_TABLE', 'mybb_forums');

View file

@ -236,17 +236,17 @@ function append_images($tor)
switch(TR_TYPE)
{
case 'yse':
if(!empty($tor['image1']))
if (!empty($tor['image1']))
{
$poster = "[img=right]".make_img_path($tor['image1'])."[/img]";
}
if(!empty($tor['image2']))
if (!empty($tor['image2']))
{
$screens = '[spoiler="Скриншоты"][img]'.make_img_path($tor['image2'])."[/img][/spoiler]";
}
break;
case 'sky':
if(!empty($tor['poster']))
if (!empty($tor['poster']))
{
$poster = "[img=right]".make_img_path($tor['poster'])."[/img]";
}
@ -254,9 +254,9 @@ function append_images($tor)
if ($has_screens)
{
$screens .= '[spoiler="Скриншоты"]';
for ($i = 1; $i<=4; $i++)
for ($i = 1; $i <= 4; $i++)
{
if(!empty($tor['screenshot'.$i]))
if (!empty($tor['screenshot'.$i]))
{
$screens .= "[img]".make_img_path($tor['screenshot'.$i])."[/img] \n";
}

View file

@ -4,16 +4,16 @@ define('TR_TYPE', 'yse'); // 'sky' (SkyTracker) or 'yse' (TBDev YSE)
// Options
define('CLEAN', true); // Clean TorrentPier's database before converting?
//Users
define('CONVERT_USERS', true); // Converting users is enabled?
define('C_USERS_PER_ONCE', 250); // Number of users converting per once
define('CONVERT_USERS', true); // Converting users is enabled?
define('C_USERS_PER_ONCE', 250); // Number of users converting per once
//Torrents and categories
define('CONVERT_TORRENTS', true); // Converting torrents and categories is enabled?
define('CONVERT_TORRENTS', true); // Converting torrents and categories is enabled?
define('C_TORRENTS_PER_ONCE', 400); // Number of torrents converting per once
define('BDECODE', false); // Recalculate info_hash using bdecode?
define('BDECODE', false); // Recalculate info_hash using bdecode?
//Comments
define('CONVERT_COMMENTS', true); // Converting comments is enabled?
define('C_COMMENTS_PER_ONCE', 400); // Number of comments converting per once
define('C_COMMENTS_PER_ONCE', 400); // Number of comments converting per once
//Mybb forums & topics
define('CONVERT_MYBB_FORUMS', false); // Converting forums is enabled?
define('C_FORUMS_PER_ONCE', 100); // Number of forums converting per once
define('CONVERT_MYBB_FORUMS', false); // Converting forums is enabled?
define('C_FORUMS_PER_ONCE', 100); // Number of forums converting per once

View file

@ -1,7 +1,6 @@
<?php
define('IN_FORUM', true);
define('IN_SERVICE', true);
define('BB_ROOT', './');
require(BB_ROOT .'common.php');
require(INC_DIR .'functions_torrent.php');

View file

@ -434,9 +434,9 @@ if ($mode == 'groups')
'S_FILESIZE' => size_select('add_size_select', $size),
'S_ADD_DOWNLOAD_MODE' => download_select('add_download_mode'),
'S_SELECT_CAT' => category_select('add_category'),
'S_CANCEL_ACTION' => "admin_extensions.php?mode=groups",
'S_ATTACH_ACTION' => "admin_extensions.php?mode=groups")
);
'S_CANCEL_ACTION' => 'admin_extensions.php?mode=groups',
'S_ATTACH_ACTION' => 'admin_extensions.php?mode=groups',
));
$sql = 'SELECT * FROM ' . BB_EXTENSION_GROUPS;
@ -483,8 +483,8 @@ if ($mode == 'groups')
'MAX_FILESIZE' => $extension_group[$i]['max_filesize'],
'CAT_BOX' => ( $viewgroup == $extension_group[$i]['group_id'] ) ? '+' : '-',
'U_VIEWGROUP' => ( $viewgroup == $extension_group[$i]['group_id'] ) ? "admin_extensions.php?mode=groups" : "admin_extensions.php?mode=groups&" . POST_GROUPS_URL . "=" . $extension_group[$i]['group_id'],
'U_FORUM_PERMISSIONS' => "admin_extensions.php?mode=$mode&amp;e_mode=perm&amp;e_group=" . $extension_group[$i]['group_id'])
);
'U_FORUM_PERMISSIONS' => "admin_extensions.php?mode=$mode&amp;e_mode=perm&amp;e_group=" . $extension_group[$i]['group_id'],
));
if ($viewgroup && $viewgroup == $extension_group[$i]['group_id'])
{
@ -690,8 +690,8 @@ if ($e_mode == 'perm' && $group)
$template->assign_vars(array(
'TPL_ATTACH_EXTENSION_GROUPS_PERMISSIONS' => true,
'L_GROUP_PERMISSIONS_TITLE' => sprintf($lang['GROUP_PERMISSIONS_TITLE_ADMIN'], trim($group_name)),
'A_PERM_ACTION' => "admin_extensions.php?mode=groups&amp;e_mode=perm&amp;e_group=$group")
);
'A_PERM_ACTION' => "admin_extensions.php?mode=groups&amp;e_mode=perm&amp;e_group=$group",
));
$forum_option_values = array(0 => $lang['PERM_ALL_FORUMS']);

View file

@ -146,8 +146,8 @@ if (empty($forum_id))
// Output the selection table if no forum id was specified
$template->assign_vars(array(
'TPL_AUTH_SELECT_FORUM' => true,
'S_AUTH_ACTION' => "admin_forumauth.php",
'S_AUTH_SELECT' => get_forum_select('admin', 'f', null, 80),
'S_AUTH_ACTION' => 'admin_forumauth.php',
'S_AUTH_SELECT' => get_forum_select('admin', 'f', null, 80),
));
}
@ -243,11 +243,11 @@ else
$template->assign_vars(array(
'TPL_EDIT_FORUM_AUTH' => true,
'FORUM_NAME' => htmlCHR($forum_name),
'U_SWITCH_MODE' => $u_switch_mode,
'S_FORUMAUTH_ACTION' => "admin_forumauth.php",
'S_COLUMN_SPAN' => $s_column_span,
'S_HIDDEN_FIELDS' => $s_hidden_fields,
'FORUM_NAME' => htmlCHR($forum_name),
'U_SWITCH_MODE' => $u_switch_mode,
'S_FORUMAUTH_ACTION' => 'admin_forumauth.php',
'S_COLUMN_SPAN' => $s_column_span,
'S_HIDDEN_FIELDS' => $s_hidden_fields,
));
}

View file

@ -354,12 +354,12 @@ else
$s_hidden_fields = '<input type="hidden" name="' . POST_CAT_URL . '" value="' . $cat_id . '">';
$template->assign_vars(array(
'TPL_AUTH_CAT' => true,
'CAT_NAME' => htmlCHR($cat_name),
'S_FORUMAUTH_ACTION' => "admin_forumauth_list.php",
'S_COLUMN_SPAN' => count($forum_auth_fields)+1,
'S_HIDDEN_FIELDS' => $s_hidden_fields)
);
'TPL_AUTH_CAT' => true,
'CAT_NAME' => htmlCHR($cat_name),
'S_FORUMAUTH_ACTION' => 'admin_forumauth_list.php',
'S_COLUMN_SPAN' => count($forum_auth_fields) + 1,
'S_HIDDEN_FIELDS' => $s_hidden_fields,
));
}
print_page('admin_forumauth_list.tpl', 'admin');

View file

@ -22,8 +22,8 @@ if (isset($_GET['pane']) && $_GET['pane'] == 'left')
$template->assign_vars(array(
'TPL_ADMIN_NAVIGATE' => true,
'U_FORUM_INDEX' => "../index.php",
'U_ADMIN_INDEX' => "index.php?pane=right",
'U_FORUM_INDEX' => '../index.php',
'U_ADMIN_INDEX' => 'index.php?pane=right',
));
ksort($module);
@ -39,7 +39,7 @@ if (isset($_GET['pane']) && $_GET['pane'] == 'left')
ksort($action_array);
$row_count = 0;
while (list($action, $file) = each($action_array))
while (list($action, $file) = each($action_array))
{
$row_class = !($row_count % 2) ? 'row1' : 'row2';
@ -48,8 +48,8 @@ if (isset($_GET['pane']) && $_GET['pane'] == 'left')
$template->assign_block_vars('catrow.modulerow', array(
'ROW_CLASS' => $row_class,
'ADMIN_MODULE' => $action,
'U_ADMIN_MODULE' => $file)
);
'U_ADMIN_MODULE' => $file,
));
$row_count++;
}
}
@ -67,9 +67,9 @@ elseif (isset($_GET['pane']) && $_GET['pane'] == 'right')
$start_date = bb_date($bb_cfg['board_startdate']);
$boarddays = (TIMENOW - $bb_cfg['board_startdate']) / 86400;
$posts_per_day = sprintf('%.2f', $total_posts / $boarddays);
$posts_per_day = sprintf('%.2f', $total_posts / $boarddays);
$topics_per_day = sprintf('%.2f', $total_topics / $boarddays);
$users_per_day = sprintf('%.2f', $total_users / $boarddays);
$users_per_day = sprintf('%.2f', $total_users / $boarddays);
$avatar_dir_size = 0;
@ -91,17 +91,17 @@ elseif (isset($_GET['pane']) && $_GET['pane'] == 'right')
$avatar_dir_size = $lang['NOT_AVAILABLE'];
}
if(intval($posts_per_day) > $total_posts)
if (intval($posts_per_day) > $total_posts)
{
$posts_per_day = $total_posts;
}
if(intval($topics_per_day) > $total_topics)
if (intval($topics_per_day) > $total_topics)
{
$topics_per_day = $total_topics;
}
if($users_per_day > $total_users)
if ($users_per_day > $total_users)
{
$users_per_day = $total_users;
}
@ -196,7 +196,7 @@ elseif (isset($_GET['pane']) && $_GET['pane'] == 'right')
{
$registered_users = $hidden_users = 0;
for ($i=0, $cnt=count($onlinerow_reg); $i < $cnt; $i++)
for ($i = 0, $cnt = count($onlinerow_reg); $i < $cnt; $i++)
{
if (!in_array($onlinerow_reg[$i]['user_id'], $reg_userid_ary))
{
@ -232,11 +232,11 @@ elseif (isset($_GET['pane']) && $_GET['pane'] == 'right')
}
// Guest users
if( count($onlinerow_guest) )
if (count($onlinerow_guest))
{
$guest_users = 0;
for($i = 0; $i < count($onlinerow_guest); $i++)
for ($i = 0; $i < count($onlinerow_guest); $i++)
{
$guest_userip_ary[] = $onlinerow_guest[$i]['session_ip'];
$guest_users++;
@ -258,7 +258,7 @@ elseif (isset($_GET['pane']) && $_GET['pane'] == 'right')
else
{
$template->assign_vars(array(
'USERS_ONLINE_HREF' => "index.php?pane=right&users_online=1",
'USERS_ONLINE_HREF' => 'index.php?pane=right&users_online=1',
));
}
}

View file

@ -9,11 +9,15 @@ require('./common.php');
$ajax->init();
// Handle "board disabled via ON/OFF trigger"
if (file_exists(BB_DISABLED) || $bb_cfg['board_disable'])
// Exit if board is disabled via ON/OFF trigger or by admin
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
switch ($ajax->action)

View file

@ -29,10 +29,10 @@ unset($server_protocol, $server_port);
define('DBG_USER', (isset($_COOKIE[COOKIE_DBG])));
// Board/Tracker shared constants and functions
define('BB_BT_TORRENTS', 'bb_bt_torrents');
define('BB_BT_TRACKER', 'bb_bt_tracker');
define('BB_BT_TRACKER_SNAP', 'bb_bt_tracker_snap');
define('BB_BT_USERS', 'bb_bt_users');
define('BB_BT_TORRENTS', 'bb_bt_torrents');
define('BB_BT_TRACKER', 'bb_bt_tracker');
define('BB_BT_TRACKER_SNAP', 'bb_bt_tracker_snap');
define('BB_BT_USERS', 'bb_bt_users');
define('BT_AUTH_KEY_LENGTH', 10);
@ -173,7 +173,7 @@ class CACHES
$this->ref[$cache_name] =& $this->obj[$cache_name];
break;
case 'db_sqlite':
case 'db_sqlite':
if (!isset($this->obj[$cache_name]))
{
$cache_cfg['pconnect'] = $this->cfg['pconnect'];
@ -186,13 +186,13 @@ class CACHES
$this->ref[$cache_name] =& $this->obj[$cache_name];
break;
case 'redis':
if (!isset($this->obj[$cache_name]))
case 'redis':
if (!isset($this->obj[$cache_name]))
{
$this->obj[$cache_name] = new cache_redis($this->cfg['redis'], $this->cfg['prefix']);
}
$this->ref[$cache_name] =& $this->obj[$cache_name];
break;
break;
case 'eaccelerator':
if (!isset($this->obj[$cache_name]))
@ -202,7 +202,7 @@ class CACHES
$this->ref[$cache_name] =& $this->obj[$cache_name];
break;
case 'apc':
case 'apc':
if (!isset($this->obj[$cache_name]))
{
$this->obj[$cache_name] = new cache_apc($this->cfg['prefix']);
@ -470,8 +470,8 @@ class cache_sqlite extends cache_common
}
$this->db->shard($name);
$cached_items = array();
$this->prefix_len = strlen($this->prefix);
$this->prefix_sql = sqlite_escape_string($this->prefix);
$this->prefix_len = strlen($this->prefix);
$this->prefix_sql = sqlite_escape_string($this->prefix);
$name_ary = $name_sql = (array) $name;
array_deep($name_sql, 'sqlite_escape_string');
@ -514,7 +514,7 @@ class cache_sqlite extends cache_common
function set ($name, $value, $ttl = 604800)
{
$this->db->shard($this->prefix . $name);
$name_sql = sqlite_escape_string($this->prefix . $name);
$name_sql = sqlite_escape_string($this->prefix . $name);
$expire = TIMENOW + $ttl;
$value_sql = sqlite_escape_string(serialize($value));

View file

@ -68,8 +68,8 @@ $domain_name = (!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : $do
// Version info
$bb_cfg['tp_version'] = '2.0.9 (RC)';
$bb_cfg['tp_release_date'] = '04-08-2014';
$bb_cfg['tp_release_state'] = 'R593';
$bb_cfg['tp_release_date'] = '**-08-2014';
$bb_cfg['tp_release_state'] = 'R594';
// Database
$charset = 'utf8';

View file

@ -1,8 +1,7 @@
<?php
define('IN_FORUM', true);
define('IN_FORUM', true);
define('BB_SCRIPT', 'dl_list');
define('IN_SERVICE', true);
define('BB_ROOT', './');
require(BB_ROOT .'common.php');
@ -109,7 +108,7 @@ if ($mode == 'dl_delete' && $topic_id)
print_confirmation(array(
'QUESTION' => $lang['DL_LIST_DEL_CONFIRM'],
'FORM_ACTION' => "dl_list.php",
'FORM_ACTION' => 'dl_list.php',
'HIDDEN_FIELDS' => build_hidden_fields($hidden_fields),
));
}

View file

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

View file

@ -536,7 +536,7 @@ class bbcode
'[/size]' => '</span>',
'[/align]' => '</span>',
'[/font]' => '</span>',
'[tab]' => ' ',
'[tab]' => '&nbsp;&nbsp;&nbsp;&nbsp;',
'[br]' => "\n\n",
'[hr]' => $tpl['hr'],
'[b]' => '<span class="post-b">',
@ -623,9 +623,9 @@ class bbcode
static $spam_words = null;
static $spam_replace = ' СПАМ';
if (isset($this))
if (isset($text))
{
$found_spam =& $this->found_spam;
$found_spam =& $text->found_spam;
}
// set $spam_words and $spam_replace

View file

@ -1829,6 +1829,12 @@ function bb_die ($msg_text)
require(PAGE_HEADER);
}
// Check for lang variable
if (!empty($lang[$msg_text]))
{
$msg_text = $lang[$msg_text];
}
$template->assign_vars(array(
'TPL_BB_DIE' => true,
'MESSAGE_TEXT' => $msg_text,

View file

@ -5,55 +5,6 @@ if (PHP_VERSION < '5.3') die('TorrentPier II requires PHP version 5.3+. Your PHP
if (!defined('BB_SCRIPT')) define('BB_SCRIPT', 'undefined');
if (!defined('BB_CFG_LOADED')) trigger_error('bb_cfg not loaded', E_USER_ERROR);
// Exit if board is disabled via ON/OFF trigger
if (!defined('IN_ADMIN') && !defined('IN_AJAX') && !defined('IN_SERVICE'))
{
if (file_exists(BB_DISABLED))
{
cron_release_deadlock(); // Если нужна разблокировка в случае залипания крона, отключающего форум
header('HTTP/1.0 503 Service Unavailable');
require(TEMPLATES_DIR .'board_disabled_exit.php');
}
}
//
// Cron functions
//
function cron_release_deadlock ()
{
if (file_exists(CRON_RUNNING))
{
if (TIMENOW - filemtime(CRON_RUNNING) > 2400)
{
cron_enable_board();
cron_release_file_lock();
}
}
}
function cron_release_file_lock ()
{
$lock_released = @rename(CRON_RUNNING, CRON_ALLOWED);
cron_touch_lock_file(CRON_ALLOWED);
}
function cron_touch_lock_file ($lock_file)
{
file_write(make_rand_str(20), $lock_file, 0, true, true);
}
function cron_enable_board ()
{
@rename(BB_DISABLED, BB_ENABLED);
# bb_update_config(array('board_disable' => 0));
}
function cron_disable_board ()
{
@rename(BB_ENABLED, BB_DISABLED);
# bb_update_config(array('board_disable' => 1));
}
// Define some basic configuration arrays
unset($stopwords, $synonyms_match, $synonyms_replace);
$userdata = $theme = $images = $lang = $nav_links = $bf = $attach_config = array();
@ -528,7 +479,7 @@ if (!$bb_cfg['board_startdate'])
}
// Cron
if ((empty($_POST) && !defined('IN_ADMIN') && !defined('IN_AJAX') && !defined('IN_SERVICE') && !file_exists(CRON_RUNNING) && ($bb_cfg['cron_enabled'] || defined('START_CRON'))) || defined('FORCE_CRON'))
if ((empty($_POST) && !defined('IN_ADMIN') && !defined('IN_AJAX') && !file_exists(CRON_RUNNING) && ($bb_cfg['cron_enabled'] || defined('START_CRON'))) || defined('FORCE_CRON'))
{
if (TIMENOW - $bb_cfg['cron_last_check'] > $bb_cfg['cron_check_interval'])
{
@ -573,8 +524,55 @@ $dl_status_css = array(
DL_STATUS_CANCEL => 'dlCancel',
);
// Show 'Board is disabled' message if needed
if ($bb_cfg['board_disable'] && !defined('IN_ADMIN') && !defined('IN_LOGIN') && !defined('IN_AJAX'))
// Exit if board is disabled via ON/OFF trigger or by admin
if (($bb_cfg['board_disable'] || file_exists(BB_DISABLED)) && !defined('IN_ADMIN') && !defined('IN_AJAX') && !defined('IN_LOGIN'))
{
bb_die($lang['BOARD_DISABLE']);
header('HTTP/1.0 503 Service Unavailable');
if ($bb_cfg['board_disable'])
{
// admin lock
send_no_cache_headers();
bb_die('BOARD_DISABLE');
}
else if (file_exists(BB_DISABLED))
{
// trigger lock
cron_release_deadlock();
send_no_cache_headers();
bb_die('BOARD_DISABLE_CRON');
}
}
// Cron functions
function cron_release_deadlock ()
{
if (file_exists(CRON_RUNNING))
{
if (TIMENOW - filemtime(CRON_RUNNING) > 2400)
{
cron_enable_board();
cron_release_file_lock();
}
}
}
function cron_release_file_lock ()
{
$lock_released = @rename(CRON_RUNNING, CRON_ALLOWED);
cron_touch_lock_file(CRON_ALLOWED);
}
function cron_touch_lock_file ($lock_file)
{
file_write(make_rand_str(20), $lock_file, 0, true, true);
}
function cron_enable_board ()
{
@rename(BB_DISABLED, BB_ENABLED);
}
function cron_disable_board ()
{
@rename(BB_ENABLED, BB_DISABLED);
}

View file

@ -153,10 +153,10 @@ if ($leeching)
}
$template->assign_vars(array(
'SHOW_SEARCH_DL' => IS_AM || $profile_user_id,
'USERNAME' => $profiledata['username'],
'L_RELEASINGS' => "{$lang['RELEASING']}: ". (($releasing_count) ? "<b>$releasing_count</b>" : '0'),
'L_SEEDINGS' => "{$lang['SEEDING']}: ". (($seeding_count) ? "<b>$seeding_count</b>" : '0'),
'L_LEECHINGS' => "{$lang['LEECHING']}: ". (($leeching_count) ? "<b>$leeching_count</b>" : '0'),
'USER_DLS' => $releasing_count || $seeding_count || $leeching_count,
'SHOW_SEARCH_DL' => IS_AM || $profile_user_id,
'USERNAME' => $profiledata['username'],
'L_RELEASINGS' => "{$lang['RELEASING']}: ". (($releasing_count) ? "<b>$releasing_count</b>" : '0'),
'L_SEEDINGS' => "{$lang['SEEDING']}: ". (($seeding_count) ? "<b>$seeding_count</b>" : '0'),
'L_LEECHINGS' => "{$lang['LEECHING']}: ". (($leeching_count) ? "<b>$leeching_count</b>" : '0'),
'USER_DLS' => $releasing_count || $seeding_count || $leeching_count,
));

View file

@ -12,7 +12,7 @@
<div>
<h3>FAQ</h3>
<ul class="med">
<li><a href="misc.php?do=info&show=user_agreement" class="med" onclick="window.open(this.href, '', InfoWinParams); return false;"><b>Terms of use resource</b></a></li>
<li><a href="misc.php?do=info&show=user_agreement" class="med" onclick="window.open(this.href, '', IWP); return false;"><b>Terms of use resource</b></a></li>
<li><a href="http://torrentpier.me/threads/faq-для-новичков.260" class="med">FAQ for beginners</a></li>
<li><a href="http://torrentpier.me/forums/Основные-вопросы-по-torrentpier-ii.10" class="med">Where is ask a question?</a></li>
</ul>

View file

@ -101,7 +101,8 @@ $lang['ALL_CACHE_CLEARED'] = 'Cache has been cleared';
$lang['ALL_TEMPLATE_CLEARED'] = 'Template cache has been cleared';
$lang['DATASTORE'] = 'Datastore';
$lang['DATASTORE_CLEARED'] = 'Datastore has been cleared';
$lang['BOARD_DISABLE'] = 'Sorry, this board is currently not available. Please try again later.';
$lang['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['LOADING'] = 'Loading...';
$lang['JUMPBOX_TITLE'] = 'Select forum';
@ -2776,8 +2777,6 @@ $lang['SIZE_DATABASE'] = 'Database size';
$lang['ACTIVE_PARAMETERS'] = 'Active parameters';
$lang['POSTS_LAST_CYCLE'] = 'Processed post(s) on last cycle';
$lang['BOARD_STATUS'] = 'Board status';
$lang['BOARD_DISABLED'] = 'Disabled';
$lang['BOARD_ENABLED'] = 'Enabled';
$lang['INFO_ESTIMATED_VALUES'] = '(*) All the estimated values are calculated approximately<br />
based on the current completed percent and may not represent the actual final values.<br />

View file

@ -12,7 +12,7 @@
<div>
<h3>FAQ</h3>
<ul class="med">
<li><a href="misc.php?do=info&show=user_agreement" class="med" onclick="window.open(this.href, '', InfoWinParams); return false;"><b>Правила пользования данным ресурсом</b></a></li>
<li><a href="misc.php?do=info&show=user_agreement" class="med" onclick="window.open(this.href, '', IWP); return false;"><b>Правила пользования данным ресурсом</b></a></li>
<li><a href="http://torrentpier.me/threads/faq-для-новичков.260" class="med">FAQ для новичков</a></li>
<li><a href="http://torrentpier.me/forums/Основные-вопросы-по-torrentpier-ii.10" class="med">Где задать вопрос?</a></li>
</ul>

View file

@ -101,7 +101,8 @@ $lang['ALL_CACHE_CLEARED'] = 'Кеш очищен';
$lang['ALL_TEMPLATE_CLEARED'] = 'Кеш шаблона очищен';
$lang['DATASTORE'] = 'Datastore';
$lang['DATASTORE_CLEARED'] = 'Datastore очищен';
$lang['BOARD_DISABLE'] = 'Извините, эти форумы отключены. Попробуйте зайти попозже';
$lang['BOARD_DISABLE'] = 'Извините, этот форум отключен. Попробуйте зайти позднее';
$lang['BOARD_DISABLE_CRON'] = 'Форум отключен на техническое обслуживание. Попробуйте зайти позднее';
$lang['LOADING'] = 'Загружается…';
$lang['JUMPBOX_TITLE'] = 'Выберите форум для перехода';
@ -2776,8 +2777,6 @@ $lang['SIZE_DATABASE'] = 'Размер ДБ';
$lang['ACTIVE_PARAMETERS'] = 'Активные параметры';
$lang['POSTS_LAST_CYCLE'] = 'Обработанная(ые) запись(и) на последнем цикле';
$lang['BOARD_STATUS'] = 'Статус форума';
$lang['BOARD_DISABLED'] = 'Отключен';
$lang['BOARD_ENABLED'] = 'Включен';
$lang['INFO_ESTIMATED_VALUES'] = '(*) Все оценочные значения рассчитываются примерно<br />
на основе текущего завершенного процента и не могут представлять фактического конечного значения.<br />

View file

@ -12,7 +12,7 @@
<div>
<h3>FAQ</h3>
<ul class="med">
<li><a href="misc.php?do=info&show=user_agreement" class="med" onclick="window.open(this.href, '', InfoWinParams); return false;"><b>Правила користування цим ресурсом</b></a></li>
<li><a href="misc.php?do=info&show=user_agreement" class="med" onclick="window.open(this.href, '', IWP); return false;"><b>Правила користування цим ресурсом</b></a></li>
<li><a href="http://torrentpier.me/threads/faq-для-новичков.260" class="med">FAQ для новачків</a></li>
<li><a href="http://torrentpier.me/forums/Основные-вопросы-по-torrentpier-ii.10" class="med">Де поставити питання?</a></li>
</ul>

View file

@ -101,7 +101,8 @@ $lang['ALL_CACHE_CLEARED'] = 'Кеш очищено';
$lang['ALL_TEMPLATE_CLEARED'] = 'Кеш шаблону очищено';
$lang['DATASTORE'] = 'Datastore';
$lang['DATASTORE_CLEARED'] = 'Datastore очищено';
$lang['BOARD_DISABLE'] = 'Вибачте, ці форуми відключені. Спробуйте зайти пізніше';
$lang['BOARD_DISABLE'] = 'Вибачте, цей форум відключений. Спробуйте зайти пізніше';
$lang['BOARD_DISABLE_CRON'] = 'Форум відключений на технічне обслуговування. Спробуйте зайти пізніше';
$lang['LOADING'] = 'Завантаження...';
$lang['JUMPBOX_TITLE'] = 'Оберіть форум для переходу';
@ -2776,8 +2777,6 @@ $lang['SIZE_DATABASE'] = 'Розмір БД';
$lang['ACTIVE_PARAMETERS'] = 'Активні параметри';
$lang['POSTS_LAST_CYCLE'] = 'Оброблена(і) запис(и) на останньому циклі';
$lang['BOARD_STATUS'] = 'Статус форуму';
$lang['BOARD_DISABLED'] = 'Вимкнено';
$lang['BOARD_ENABLED'] = 'Включений';
$lang['INFO_ESTIMATED_VALUES'] = '(*) Всі оцінні значення розраховуються приблизно<br />
на основі поточного завершеного відсотка і не можуть представляти фактичного кінцевого значення.<br />

View file

@ -250,14 +250,14 @@ switch ($mode)
//Обновление кеша новостей на главной
$news_forums = array_flip(explode(',', $bb_cfg['latest_news_forum_id']));
if(isset($news_forums[$forum_id]) && $bb_cfg['show_latest_news'] && $result)
if (isset($news_forums[$forum_id]) && $bb_cfg['show_latest_news'] && $result)
{
$datastore->enqueue('latest_news');
$datastore->update('latest_news');
}
$net_forums = array_flip(explode(',', $bb_cfg['network_news_forum_id']));
if(isset($net_forums[$forum_id]) && $bb_cfg['show_network_news'] && $result)
if (isset($net_forums[$forum_id]) && $bb_cfg['show_network_news'] && $result)
{
$datastore->enqueue('network_news');
$datastore->update('network_news');
@ -286,14 +286,14 @@ switch ($mode)
//Обновление кеша новостей на главной
$news_forums = array_flip(explode(',', $bb_cfg['latest_news_forum_id']));
if((isset($news_forums[$forum_id]) || isset($news_forums[$new_forum_id])) && $bb_cfg['show_latest_news'] && $result)
if ((isset($news_forums[$forum_id]) || isset($news_forums[$new_forum_id])) && $bb_cfg['show_latest_news'] && $result)
{
$datastore->enqueue('latest_news');
$datastore->update('latest_news');
}
$net_forums = array_flip(explode(',', $bb_cfg['network_news_forum_id']));
if((isset($net_forums[$forum_id]) || isset($net_forums[$new_forum_id])) && $bb_cfg['show_network_news'] && $result)
if ((isset($net_forums[$forum_id]) || isset($net_forums[$new_forum_id])) && $bb_cfg['show_network_news'] && $result)
{
$datastore->enqueue('network_news');
$datastore->update('network_news');
@ -588,7 +588,7 @@ switch ($mode)
$s_hidden_fields = '<input type="hidden" name="sid" value="' . $userdata['session_id'] . '" /><input type="hidden" name="' . POST_FORUM_URL . '" value="' . $forum_id . '" /><input type="hidden" name="' . POST_TOPIC_URL . '" value="' . $topic_id . '" /><input type="hidden" name="mode" value="split" />';
if( ( $total_posts = DB()->num_rows($result) ) > 0 )
if (($total_posts = DB()->num_rows($result)) > 0)
{
$postrow = DB()->sql_fetchrowset($result);
@ -600,7 +600,7 @@ switch ($mode)
'S_FORUM_SELECT' => get_forum_select('admin', 'new_forum_id', $forum_id),
));
for($i = 0; $i < $total_posts; $i++)
for ($i = 0; $i < $total_posts; $i++)
{
$post_id = $postrow[$i]['post_id'];
$poster_id = $postrow[$i]['poster_id'];
@ -758,7 +758,7 @@ switch ($mode)
$pin = ($mode == 'post_pin');
$new_topic_status = ($pin) ? 1 : 0;
if(count($topic_csv))
if (count($topic_csv))
{
$sql = "
SELECT topic_id, topic_title

View file

@ -695,7 +695,7 @@ else
{
$template->assign_var('BB_DIE_APPEND_MSG', '
<form id="mod-action" method="POST" action="search.php">
<input type="submit" name="add_my_post" value="'. $lang['RESTORE_ALL_POSTS'] .'" class="bold" onclick="if (!window.confirm( this.value +\'?\' )){ return false };" />
<input type="submit" name="add_my_post" value="'. $lang['RESTORE_ALL_POSTS'] .'" class="bold" onclick="if (!window.confirm( this.value +\'?\' )){ return false };" />
</form>
<br /><br />
<a href="index.php">'. $lang['INDEX_RETURN'] .'</a>
@ -830,7 +830,7 @@ if ($items_display)
$pages = (!$items_count) ? 1 : ceil($items_count / $per_page);
$url = ($search_id) ? url_arg($url, 'id', $search_id) : $url;
generate_pagination($url, $items_count, $per_page, $start);
generate_pagination($url, $items_count, $per_page, $start);
$template->assign_vars(array(
'PAGE_TITLE' => $lang['SEARCH'],
@ -917,18 +917,12 @@ function prevent_huge_searches ($SQL)
bb_die('Too_many_search_results');
}
}
### TEMP ###
# preg_match("#MATCH \((\w).*?\) AGAINST \('(.*?)' IN BOOLEAN MODE\)#", stripslashes($SQL['WHERE'][count($SQL['WHERE'])-1]), $m);
# $msg = date('m-d | H:i:s | ') . sprintf('%-18s', $GLOBALS['userdata']['username']) .' | '. sprintf('%04d', $row['rows_count']) .' | '. $m[1] .' | '. sprintf('%-40s', $m[2]) .' | ';
# bb_log($msg . str_compact(DB()->build_sql($SQL)) . LOG_LF, 'sql_text_search');
### / TEMP ###
}
}
function username_search ($search_match)
{
global $template, $lang;
global $gen_simple_header;
global $template, $lang, $gen_simple_header;
$username_list = '';

View file

@ -1,49 +0,0 @@
<?php
if (!defined('BB_ROOT')) die(basename(__FILE__));
send_no_cache_headers();
$message = '';
if (!empty($_POST['subject']))
{
$message .= $_POST['subject'] ."\r\n\r\n";
}
if (!empty($_POST['message']))
{
$message .= $_POST['message'];
}
?><!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<title><?php echo $bb_cfg['server_name']; ?></title>
<style type="text/css">
body { min-width: 760px; color: #000000; background: #E3E3E3; font: bold 16px Verdana; }
.msg { font: 12px Verdana; }
</style>
</head>
<body>
<div>
<br />
<br />
<p style="margin: 1em 0; text-align: center;"><?php echo $L['BOARD_DISABLE']; ?></p>
<?php if ($message) { ?>
<br />
<br />
<p class="msg">ваше сообщение не было отправлено:</p>
<textarea rows="18" cols="92"><?php echo $message ?></textarea>
<?php } ?>
</div>
</body>
</html>
<?php exit; ?>

View file

@ -170,7 +170,7 @@
<p id="add_group_member" class="floatL">
<input type="text" name="username" maxlength="50" size="20" />
<input type="submit" name="add" value="{L_ADD_MEMBER}" class="mainoption" />
<input type="button" name="usersubmit" value="{L_FIND_USERNAME}" class="liteoption" onclick="window.open('{U_SEARCH_USER}', '_bbsearch', 'HEIGHT=250,resizable=yes,WIDTH=400');return false;" />
<input type="button" name="usersubmit" value="{L_FIND_USERNAME}" class="liteoption" onclick="window.open('{U_SEARCH_USER}', '_bbsearch', IWP_US);return false;" />
</p>
<p class="floatR" style="padding-top: 1px;">
<input type="submit" name="remove" value="{L_REMOVE_SELECTED}" class="mainoption" onclick="return confirm('{L_REMOVE_SELECTED}?');" />

View file

@ -28,15 +28,15 @@
<div class="med bold tCenter">
<!-- IF HTML_AGREEMENT -->
<a href="{$bb_cfg['user_agreement_url']}" onclick="window.open(this.href, '', InfoWinParams); return false;">{L_USER_AGREEMENT}</a>
<a href="{$bb_cfg['user_agreement_url']}" onclick="window.open(this.href, '', IWP); return false;">{L_USER_AGREEMENT}</a>
<!-- ENDIF -->
<!-- IF HTML_COPYRIGHT -->
<span class="normal">&nbsp;|&nbsp;</span>
<a href="{$bb_cfg['copyright_holders_url']}" onclick="window.open(this.href, '', InfoWinParams); return false;">{L_COPYRIGHT_HOLDERS}</a>
<a href="{$bb_cfg['copyright_holders_url']}" onclick="window.open(this.href, '', IWP); return false;">{L_COPYRIGHT_HOLDERS}</a>
<!-- ENDIF -->
<!-- IF HTML_ADVERT -->
<span class="normal">&nbsp;|&nbsp;</span>
<a href="{$bb_cfg['advert_url']}" onclick="window.open(this.href, '', InfoWinParams); return false;">{L_ADVERT}</a>
<a href="{$bb_cfg['advert_url']}" onclick="window.open(this.href, '', IWP); return false;">{L_ADVERT}</a>
<!-- ENDIF -->
</div>
<br />

View file

@ -33,13 +33,15 @@ var hidePostImg = false;
<!-- ENDIF / INCLUDE_BBCODE_JS -->
<script type="text/javascript">
var BB_ROOT = "{#BB_ROOT}";
var cookieDomain = "{$bb_cfg['cookie_domain']}";
var cookiePath = "{$bb_cfg['script_path']}";
var cookieSecure = {$bb_cfg['cookie_secure']};
var cookiePrefix = "{$bb_cfg['cookie_prefix']}";
var LOGGED_IN = {LOGGED_IN};
var InfoWinParams = 'HEIGHT=510,resizable=yes,WIDTH=780';
var BB_ROOT = "{#BB_ROOT}";
var cookieDomain = "{$bb_cfg['cookie_domain']}";
var cookiePath = "{$bb_cfg['script_path']}";
var cookiePrefix = "{$bb_cfg['cookie_prefix']}";
var cookieSecure = {$bb_cfg['cookie_secure']};
var LOGGED_IN = {LOGGED_IN};
var IWP = 'HEIGHT=510,WIDTH=780,resizable=yes';
var IWP_US = 'HEIGHT=250,WIDTH=400,resizable=yes';
var IWP_SM = 'HEIGHT=420,WIDTH=470,resizable=yes,scrollbars=yes';
var user = {
opt_js: {USER_OPTIONS_JS},

View file

@ -79,7 +79,7 @@
<td><b>{L_USERNAME}</b></td>
<td>
<input type="text" name="username" size="25" maxlength="25" tabindex="1" value="{USERNAME}" />&nbsp;
<input type="submit" name="usersubmit" class="lite" value="{L_FIND_USERNAME}" onclick="window.open('{U_SEARCH_USER}', '_bbsearch', 'HEIGHT=250,resizable=yes,WIDTH=400');return false;" />
<input type="submit" name="usersubmit" class="lite" value="{L_FIND_USERNAME}" onclick="window.open('{U_SEARCH_USER}', '_bbsearch', IWP_US);return false;" />
</td>
</tr>
<!-- ENDIF -->
@ -105,7 +105,7 @@
<!-- END smilies_row -->
<!-- BEGIN switch_smilies_extra -->
<tr>
<td colspan="{S_SMILIES_COLSPAN}"><a href="{U_MORE_SMILIES}" onclick="window.open('{U_MORE_SMILIES}', '_bbsmilies', 'HEIGHT=420,resizable=yes,scrollbars=yes,WIDTH=470'); return false;" target="_bbsmilies" class="med">{L_MORE_EMOTICONS}</a></td>
<td colspan="{S_SMILIES_COLSPAN}"><a href="{U_MORE_SMILIES}" onclick="window.open('{U_MORE_SMILIES}', '_bbsmilies', IWP_SM); return false;" target="_bbsmilies" class="med">{L_MORE_EMOTICONS}</a></td>
</tr>
<!-- END switch_smilies_extra -->
</table><!--/smilies-->

View file

@ -29,7 +29,7 @@
<div>
<p class="input">
<input style="width: 50%" id="author" type="text" class="post" name="{POSTER_NAME_KEY}" />&nbsp;
<input style="width: 40%" type="button" value="{L_FIND_USERNAME}" onclick="window.open('{U_SEARCH_USER}', '_bbsearch', 'HEIGHT=250,resizable=yes,WIDTH=400'); return false;" />
<input style="width: 40%" type="button" value="{L_FIND_USERNAME}" onclick="window.open('{U_SEARCH_USER}', '_bbsearch', IWP_US); return false;" />
</p>
<p class="chbox med">
<label>

View file

@ -263,7 +263,7 @@ $(function(){
<fieldset>
<legend>{L_AUTHOR}</legend>
<div>
<p class="input"><input style="width: 40%" <!-- IF POSTER_ERROR -->style="color: red"<!-- ELSE --> class="post"<!-- ENDIF --> type="text" size="16" maxlength="{POSTER_NAME_MAX}" name="{POSTER_NAME_NAME}" value="{POSTER_NAME_VAL}" /> <input style="width: 40%;" type="button" value="{L_FIND_USERNAME}" onclick="window.open('{U_SEARCH_USER}', '_bbsearch', 'HEIGHT=250,resizable=yes,WIDTH=400'); return false;" /></p>
<p class="input"><input style="width: 40%" <!-- IF POSTER_ERROR -->style="color: red"<!-- ELSE --> class="post"<!-- ENDIF --> type="text" size="16" maxlength="{POSTER_NAME_MAX}" name="{POSTER_NAME_NAME}" value="{POSTER_NAME_VAL}" /> <input style="width: 40%;" type="button" value="{L_FIND_USERNAME}" onclick="window.open('{U_SEARCH_USER}', '_bbsearch', IWP_US); return false;" /></p>
</div>
</fieldset>
<fieldset>