From 4d4440d41c3352c7ef4af0d916d5faf694644aaa Mon Sep 17 00:00:00 2001 From: Exile Date: Wed, 6 Aug 2014 23:15:10 +0400 Subject: [PATCH] New forum disable system MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Новая система "смерти" форума с человекоприятным выводом ошибки. Фикс символа табуляции в бб-кодах. --- .../TBDevYSE_pre6/for_tbdev/announce.php | 2 +- .../TBDevYSE_pre6/for_tbdev/pass.php | 2 +- .../converter/TBDevYSE_pre6/root/convert.php | 1 - .../root/converter/constants.php | 8 +- .../root/converter/functions.php | 14 +-- .../TBDevYSE_pre6/root/converter/settings.php | 14 +-- .../converter/TBDevYSE_pre6/root/recover.php | 1 - other/recover/converter/constants.php | 8 +- other/recover/converter/functions.php | 10 +- other/recover/converter/settings.php | 14 +-- other/recover/recover.php | 1 - upload/admin/admin_extensions.php | 14 +-- upload/admin/admin_forumauth.php | 14 +-- upload/admin/admin_forumauth_list.php | 12 +- upload/admin/index.php | 28 ++--- upload/ajax.php | 8 +- upload/common.php | 24 ++-- upload/config.php | 4 +- upload/dl_list.php | 5 +- upload/download.php | 3 +- upload/includes/bbcode.php | 6 +- upload/includes/functions.php | 6 + upload/includes/init_bb.php | 104 +++++++++--------- upload/includes/ucp/viewtorrent.php | 12 +- upload/language/en/html/sidebar1.html | 2 +- upload/language/en/main.php | 5 +- upload/language/ru/html/sidebar1.html | 2 +- upload/language/ru/main.php | 5 +- upload/language/ua/html/sidebar1.html | 2 +- upload/language/ua/main.php | 5 +- upload/modcp.php | 14 +-- upload/search.php | 12 +- upload/templates/board_disabled_exit.php | 49 --------- upload/templates/default/groupcp.tpl | 2 +- upload/templates/default/page_footer.tpl | 6 +- upload/templates/default/page_header.tpl | 16 +-- upload/templates/default/posting.tpl | 4 +- upload/templates/default/search.tpl | 2 +- upload/templates/default/tracker.tpl | 2 +- 39 files changed, 195 insertions(+), 248 deletions(-) delete mode 100644 upload/templates/board_disabled_exit.php diff --git a/other/converter/TBDevYSE_pre6/for_tbdev/announce.php b/other/converter/TBDevYSE_pre6/for_tbdev/announce.php index b69fed877..ab3632160 100644 --- a/other/converter/TBDevYSE_pre6/for_tbdev/announce.php +++ b/other/converter/TBDevYSE_pre6/for_tbdev/announce.php @@ -17,7 +17,7 @@ require_once('./include/core_announce.php'); $passkey = @$_GET['passkey']; -if(!$passkey) +if (!$passkey) { err('Passkey required'); } diff --git a/other/converter/TBDevYSE_pre6/for_tbdev/pass.php b/other/converter/TBDevYSE_pre6/for_tbdev/pass.php index b16622d6d..7078b516a 100644 --- a/other/converter/TBDevYSE_pre6/for_tbdev/pass.php +++ b/other/converter/TBDevYSE_pre6/for_tbdev/pass.php @@ -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(); diff --git a/other/converter/TBDevYSE_pre6/root/convert.php b/other/converter/TBDevYSE_pre6/root/convert.php index dec5874d0..c4eb51b24 100644 --- a/other/converter/TBDevYSE_pre6/root/convert.php +++ b/other/converter/TBDevYSE_pre6/root/convert.php @@ -1,7 +1,6 @@ $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(); diff --git a/other/converter/TBDevYSE_pre6/root/converter/settings.php b/other/converter/TBDevYSE_pre6/root/converter/settings.php index 9d90366e5..eb5164522 100644 --- a/other/converter/TBDevYSE_pre6/root/converter/settings.php +++ b/other/converter/TBDevYSE_pre6/root/converter/settings.php @@ -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 diff --git a/other/converter/TBDevYSE_pre6/root/recover.php b/other/converter/TBDevYSE_pre6/root/recover.php index b55a9694c..6bfd66540 100644 --- a/other/converter/TBDevYSE_pre6/root/recover.php +++ b/other/converter/TBDevYSE_pre6/root/recover.php @@ -1,7 +1,6 @@ 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&e_mode=perm&e_group=" . $extension_group[$i]['group_id']) - ); + 'U_FORUM_PERMISSIONS' => "admin_extensions.php?mode=$mode&e_mode=perm&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&e_mode=perm&e_group=$group") - ); + 'A_PERM_ACTION' => "admin_extensions.php?mode=groups&e_mode=perm&e_group=$group", + )); $forum_option_values = array(0 => $lang['PERM_ALL_FORUMS']); diff --git a/upload/admin/admin_forumauth.php b/upload/admin/admin_forumauth.php index b08f678aa..013944f35 100644 --- a/upload/admin/admin_forumauth.php +++ b/upload/admin/admin_forumauth.php @@ -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, )); } diff --git a/upload/admin/admin_forumauth_list.php b/upload/admin/admin_forumauth_list.php index 846805280..456704278 100644 --- a/upload/admin/admin_forumauth_list.php +++ b/upload/admin/admin_forumauth_list.php @@ -354,12 +354,12 @@ else $s_hidden_fields = ''; $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'); \ No newline at end of file diff --git a/upload/admin/index.php b/upload/admin/index.php index 7e96e51b9..17cad936b 100644 --- a/upload/admin/index.php +++ b/upload/admin/index.php @@ -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', )); } } diff --git a/upload/ajax.php b/upload/ajax.php index 62c742b9f..f32feb163 100644 --- a/upload/ajax.php +++ b/upload/ajax.php @@ -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) diff --git a/upload/common.php b/upload/common.php index 4b898dd8f..42ca82e41 100644 --- a/upload/common.php +++ b/upload/common.php @@ -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)); diff --git a/upload/config.php b/upload/config.php index f5de8f9bf..9df84e9ec 100644 --- a/upload/config.php +++ b/upload/config.php @@ -68,8 +68,8 @@ $domain_name = (!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : $do // Version info $bb_cfg['tp_version'] = '2.0.9 (RC)'; -$bb_cfg['tp_release_date'] = '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'; diff --git a/upload/dl_list.php b/upload/dl_list.php index bfcbb0706..9ca159f5d 100644 --- a/upload/dl_list.php +++ b/upload/dl_list.php @@ -1,8 +1,7 @@ $lang['DL_LIST_DEL_CONFIRM'], - 'FORM_ACTION' => "dl_list.php", + 'FORM_ACTION' => 'dl_list.php', 'HIDDEN_FIELDS' => build_hidden_fields($hidden_fields), )); } diff --git a/upload/download.php b/upload/download.php index 6af6676dc..aeb524e18 100644 --- a/upload/download.php +++ b/upload/download.php @@ -1,8 +1,7 @@ '', '[/align]' => '', '[/font]' => '', - '[tab]' => ' ', + '[tab]' => '    ', '[br]' => "\n\n", '[hr]' => $tpl['hr'], '[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 diff --git a/upload/includes/functions.php b/upload/includes/functions.php index adbba5681..9dc85f7ef 100644 --- a/upload/includes/functions.php +++ b/upload/includes/functions.php @@ -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, diff --git a/upload/includes/init_bb.php b/upload/includes/init_bb.php index 46cf5c51a..51fe0e0ad 100644 --- a/upload/includes/init_bb.php +++ b/upload/includes/init_bb.php @@ -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); } \ No newline at end of file diff --git a/upload/includes/ucp/viewtorrent.php b/upload/includes/ucp/viewtorrent.php index b3176ff4a..8456ace87 100644 --- a/upload/includes/ucp/viewtorrent.php +++ b/upload/includes/ucp/viewtorrent.php @@ -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) ? "$releasing_count" : '0'), - 'L_SEEDINGS' => "{$lang['SEEDING']}: ". (($seeding_count) ? "$seeding_count" : '0'), - 'L_LEECHINGS' => "{$lang['LEECHING']}: ". (($leeching_count) ? "$leeching_count" : '0'), - 'USER_DLS' => $releasing_count || $seeding_count || $leeching_count, + 'SHOW_SEARCH_DL' => IS_AM || $profile_user_id, + 'USERNAME' => $profiledata['username'], + 'L_RELEASINGS' => "{$lang['RELEASING']}: ". (($releasing_count) ? "$releasing_count" : '0'), + 'L_SEEDINGS' => "{$lang['SEEDING']}: ". (($seeding_count) ? "$seeding_count" : '0'), + 'L_LEECHINGS' => "{$lang['LEECHING']}: ". (($leeching_count) ? "$leeching_count" : '0'), + 'USER_DLS' => $releasing_count || $seeding_count || $leeching_count, )); \ No newline at end of file diff --git a/upload/language/en/html/sidebar1.html b/upload/language/en/html/sidebar1.html index 30742dc5a..43ba5c38f 100644 --- a/upload/language/en/html/sidebar1.html +++ b/upload/language/en/html/sidebar1.html @@ -12,7 +12,7 @@

FAQ

diff --git a/upload/language/en/main.php b/upload/language/en/main.php index d8d78449a..3d2b36611 100644 --- a/upload/language/en/main.php +++ b/upload/language/en/main.php @@ -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
based on the current completed percent and may not represent the actual final values.
diff --git a/upload/language/ru/html/sidebar1.html b/upload/language/ru/html/sidebar1.html index d4e269883..623abe276 100644 --- a/upload/language/ru/html/sidebar1.html +++ b/upload/language/ru/html/sidebar1.html @@ -12,7 +12,7 @@

FAQ

diff --git a/upload/language/ru/main.php b/upload/language/ru/main.php index cc533a26a..95e4695ed 100644 --- a/upload/language/ru/main.php +++ b/upload/language/ru/main.php @@ -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'] = '(*) Все оценочные значения рассчитываются примерно
на основе текущего завершенного процента и не могут представлять фактического конечного значения.
diff --git a/upload/language/ua/html/sidebar1.html b/upload/language/ua/html/sidebar1.html index 2e5201485..8a90e67d6 100644 --- a/upload/language/ua/html/sidebar1.html +++ b/upload/language/ua/html/sidebar1.html @@ -12,7 +12,7 @@

FAQ

diff --git a/upload/language/ua/main.php b/upload/language/ua/main.php index 2ca50eaef..be8cfa9e7 100644 --- a/upload/language/ua/main.php +++ b/upload/language/ua/main.php @@ -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'] = '(*) Всі оцінні значення розраховуються приблизно
на основі поточного завершеного відсотка і не можуть представляти фактичного кінцевого значення.
diff --git a/upload/modcp.php b/upload/modcp.php index 23b88b316..0da5cffad 100644 --- a/upload/modcp.php +++ b/upload/modcp.php @@ -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 = ''; - 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 diff --git a/upload/search.php b/upload/search.php index e0287317b..79e1c4d3f 100644 --- a/upload/search.php +++ b/upload/search.php @@ -695,7 +695,7 @@ else { $template->assign_var('BB_DIE_APPEND_MSG', '
- +


'. $lang['INDEX_RETURN'] .' @@ -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 = ''; diff --git a/upload/templates/board_disabled_exit.php b/upload/templates/board_disabled_exit.php deleted file mode 100644 index 1697b0ccd..000000000 --- a/upload/templates/board_disabled_exit.php +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - <?php echo $bb_cfg['server_name']; ?> - - - - -
- -
-
-

- - -
-
-

ваше сообщение не было отправлено:

- - - -
- - - - - \ No newline at end of file diff --git a/upload/templates/default/groupcp.tpl b/upload/templates/default/groupcp.tpl index 710ba98e7..c6e4cba6a 100644 --- a/upload/templates/default/groupcp.tpl +++ b/upload/templates/default/groupcp.tpl @@ -170,7 +170,7 @@

- +

diff --git a/upload/templates/default/page_footer.tpl b/upload/templates/default/page_footer.tpl index 682b14e20..980fcec7f 100644 --- a/upload/templates/default/page_footer.tpl +++ b/upload/templates/default/page_footer.tpl @@ -28,15 +28,15 @@


diff --git a/upload/templates/default/page_header.tpl b/upload/templates/default/page_header.tpl index 8d3f06bce..d0c7b1a35 100644 --- a/upload/templates/default/page_header.tpl +++ b/upload/templates/default/page_header.tpl @@ -33,13 +33,15 @@ var hidePostImg = false;