diff --git a/install/sql/mysql.sql b/install/sql/mysql.sql index 8e3fb78d9..f9cb42dc1 100644 --- a/install/sql/mysql.sql +++ b/install/sql/mysql.sql @@ -21,9 +21,7 @@ DROP TABLE IF EXISTS `bb_attach_quota`; DROP TABLE IF EXISTS `bb_auth_access`; DROP TABLE IF EXISTS `bb_auth_access_snap`; DROP TABLE IF EXISTS `bb_banlist`; -DROP TABLE IF EXISTS `bb_bt_dlstatus_main`; -DROP TABLE IF EXISTS `bb_bt_dlstatus_mrg`; -DROP TABLE IF EXISTS `bb_bt_dlstatus_new`; +DROP TABLE IF EXISTS `bb_bt_dlstatus`; DROP TABLE IF EXISTS `bb_bt_dlstatus_snap`; DROP TABLE IF EXISTS `bb_bt_last_torstat`; DROP TABLE IF EXISTS `bb_bt_last_userstat`; @@ -73,7 +71,6 @@ DROP TABLE IF EXISTS `bb_vote_voters`; DROP TABLE IF EXISTS `bb_words`; DROP TABLE IF EXISTS `buf_last_seeder`; DROP TABLE IF EXISTS `buf_topic_view`; -DROP TABLE IF EXISTS `sph_counter`; -- -- Структура таблицы `bb_ads` @@ -235,40 +232,10 @@ CREATE TABLE IF NOT EXISTS `bb_banlist` ( -- -------------------------------------------------------- -- --- Структура таблицы `bb_bt_dlstatus_main` +-- Структура таблицы `bb_bt_dlstatus` -- -CREATE TABLE IF NOT EXISTS `bb_bt_dlstatus_main` ( - `user_id` mediumint(9) NOT NULL DEFAULT '0', - `topic_id` mediumint(8) unsigned NOT NULL DEFAULT '0', - `user_status` tinyint(1) NOT NULL DEFAULT '0', - `last_modified_dlstatus` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - PRIMARY KEY (`user_id`,`topic_id`), - KEY `topic_id` (`topic_id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; - --- -------------------------------------------------------- - --- --- Структура таблицы `bb_bt_dlstatus_mrg` --- - -CREATE TABLE IF NOT EXISTS `bb_bt_dlstatus_mrg` ( - `user_id` mediumint(9) NOT NULL DEFAULT '0', - `topic_id` mediumint(8) unsigned NOT NULL DEFAULT '0', - `user_status` tinyint(1) NOT NULL DEFAULT '0', - `last_modified_dlstatus` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - KEY `user_topic` (`user_id`,`topic_id`), - KEY `topic_id` (`topic_id`) -) ENGINE=MRG_MyISAM DEFAULT CHARSET=utf8 UNION=(`bb_bt_dlstatus_main`,`bb_bt_dlstatus_new`); - --- -------------------------------------------------------- - --- --- Структура таблицы `bb_bt_dlstatus_new` --- - -CREATE TABLE IF NOT EXISTS `bb_bt_dlstatus_new` ( +CREATE TABLE IF NOT EXISTS `bb_bt_dlstatus` ( `user_id` mediumint(9) NOT NULL DEFAULT '0', `topic_id` mediumint(8) unsigned NOT NULL DEFAULT '0', `user_status` tinyint(1) NOT NULL DEFAULT '0', @@ -1532,15 +1499,3 @@ CREATE TABLE IF NOT EXISTS `buf_topic_view` ( `topic_views` mediumint(8) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`topic_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; - --- -------------------------------------------------------- - --- --- Структура таблицы `sph_counter` --- - -CREATE TABLE IF NOT EXISTS `sph_counter` ( - `counter_id` int(11) NOT NULL, - `max_doc_id` int(11) NOT NULL, - PRIMARY KEY (`counter_id`) -) ENGINE=MyISAM DEFAULT CHARSET=utf8; \ No newline at end of file diff --git a/upload/config.php b/upload/config.php index 5058da742..b5f1105a1 100644 --- a/upload/config.php +++ b/upload/config.php @@ -55,8 +55,8 @@ $domain_name = (!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : $do // Increase number of revision after update $bb_cfg['tp_version'] = '2.5 (unstable)'; -$bb_cfg['tp_release_date'] = '27-01-2014'; -$bb_cfg['tp_release_state'] = 'R570'; +$bb_cfg['tp_release_date'] = '28-01-2014'; +$bb_cfg['tp_release_state'] = 'R571'; // Database $charset = 'utf8'; diff --git a/upload/dl_list.php b/upload/dl_list.php index 374489ba2..f3a382429 100644 --- a/upload/dl_list.php +++ b/upload/dl_list.php @@ -4,7 +4,7 @@ define('IN_FORUM', true); define('BB_SCRIPT', 'dl_list'); define('IN_SERVICE', true); define('BB_ROOT', './'); -require(BB_ROOT ."common.php"); +require(BB_ROOT .'common.php'); $forum_id = (@$_REQUEST[POST_FORUM_URL]) ? (int) $_REQUEST[POST_FORUM_URL] : 0; $topic_id = (@$_REQUEST[POST_TOPIC_URL]) ? (int) $_REQUEST[POST_TOPIC_URL] : 0; @@ -172,13 +172,7 @@ if ($topics_ary && ($mode == 'set_dl_status' || $mode == 'set_topics_dl_status') } $new_dlstatus_sql = DB()->build_array('MULTI_INSERT', $new_dlstatus_ary); - DB()->query(" - DELETE FROM ". BB_BT_DLSTATUS_MAIN ." - WHERE user_id = {$user->id} - AND topic_id IN(". join(',', $topics_ary) .") - "); - - DB()->query("REPLACE INTO ". BB_BT_DLSTATUS_NEW ." $new_dlstatus_sql"); + DB()->query("REPLACE INTO ". BB_BT_DLSTATUS ." $new_dlstatus_sql"); redirect("$redirect_type?$redirect"); } diff --git a/upload/includes/cron/jobs/avatars_cleanup.php b/upload/includes/cron/jobs/avatars_cleanup.php index 3b7cfbed1..059300283 100644 --- a/upload/includes/cron/jobs/avatars_cleanup.php +++ b/upload/includes/cron/jobs/avatars_cleanup.php @@ -2,6 +2,8 @@ if (!defined('BB_ROOT')) die(basename(__FILE__)); +global $bb_cfg; + $fix_errors = true; $debug_mode = false; diff --git a/upload/includes/cron/jobs/bb_maintenance.php b/upload/includes/cron/jobs/bb_maintenance.php index 9936447b6..f97510a8b 100644 --- a/upload/includes/cron/jobs/bb_maintenance.php +++ b/upload/includes/cron/jobs/bb_maintenance.php @@ -2,6 +2,8 @@ if (!defined('BB_ROOT')) die(basename(__FILE__)); +global $bb_cfg; + $fix_errors = true; $debug_mode = false; diff --git a/upload/includes/cron/jobs/cache_gc.php b/upload/includes/cron/jobs/cache_gc.php index 8e8c16e82..d83822d53 100644 --- a/upload/includes/cron/jobs/cache_gc.php +++ b/upload/includes/cron/jobs/cache_gc.php @@ -2,6 +2,8 @@ if (!defined('BB_ROOT')) die(basename(__FILE__)); +global $bb_cfg; + $gc_cache = array( 'tr_cache', 'bb_cache', @@ -15,6 +17,6 @@ foreach ($gc_cache as $cache_name) if (method_exists(CACHE($cache_name), 'gc')) { $changes = CACHE($cache_name)->gc(); - $cron_runtime_log .= date('Y-m-d H:i:s') ." -- tr -- $changes rows deleted\n"; + $cron_runtime_log = date('Y-m-d H:i:s') ." -- tr -- $changes rows deleted\n"; } } \ No newline at end of file diff --git a/upload/includes/cron/jobs/clean_dlstat.php b/upload/includes/cron/jobs/clean_dlstat.php index a2ee01b11..7c1c99a8e 100644 --- a/upload/includes/cron/jobs/clean_dlstat.php +++ b/upload/includes/cron/jobs/clean_dlstat.php @@ -2,6 +2,8 @@ if (!defined('BB_ROOT')) die(basename(__FILE__)); +global $bb_cfg; + define('BUF_DLSTATUS_TABLE', 'tmp_buf_dlstatus'); // Move new dl-status records to main table @@ -20,13 +22,13 @@ DB()->query(" SELECT user_id, topic_id, user_status FROM - ". BB_BT_DLSTATUS_NEW ." + ". BB_BT_DLSTATUS ." WHERE last_modified_dlstatus < DATE_SUB(NOW(), INTERVAL 1 DAY) "); DB()->query(" - REPLACE INTO ". BB_BT_DLSTATUS_MAIN ." + REPLACE INTO ". BB_BT_DLSTATUS ." (user_id, topic_id, user_status) SELECT user_id, topic_id, user_status @@ -34,9 +36,9 @@ DB()->query(" "); DB()->query(" - DELETE new + DELETE dl FROM ". BUF_DLSTATUS_TABLE ." buf - INNER JOIN ". BB_BT_DLSTATUS_NEW ." new USING(user_id, topic_id) + INNER JOIN ". BB_BT_DLSTATUS ." dl USING(user_id, topic_id) "); DB()->query("DROP TEMPORARY TABLE ". BUF_DLSTATUS_TABLE); diff --git a/upload/includes/cron/jobs/clean_log.php b/upload/includes/cron/jobs/clean_log.php index 9fb3455e0..c0c5be0c7 100644 --- a/upload/includes/cron/jobs/clean_log.php +++ b/upload/includes/cron/jobs/clean_log.php @@ -2,6 +2,8 @@ if (!defined('BB_ROOT')) die(basename(__FILE__)); +global $bb_cfg; + $log_days_keep = (int) $bb_cfg['log_days_keep']; DB()->query(" diff --git a/upload/includes/cron/jobs/db_backup.php b/upload/includes/cron/jobs/db_backup.php index 3efbfa8c2..a7d36a77d 100644 --- a/upload/includes/cron/jobs/db_backup.php +++ b/upload/includes/cron/jobs/db_backup.php @@ -2,6 +2,8 @@ if (!defined('BB_ROOT')) die(basename(__FILE__)); +global $bb_cfg; + sleep(15); $exec_output = array(); diff --git a/upload/includes/cron/jobs/prune_forums.php b/upload/includes/cron/jobs/prune_forums.php index 303b7ff4a..81d7ec13e 100644 --- a/upload/includes/cron/jobs/prune_forums.php +++ b/upload/includes/cron/jobs/prune_forums.php @@ -2,6 +2,8 @@ if (!defined('BB_ROOT')) die(basename(__FILE__)); +global $bb_cfg; + require_once(INC_DIR .'functions_admin.php'); if ($bb_cfg['prune_enable']) diff --git a/upload/includes/cron/jobs/prune_inactive_users.php b/upload/includes/cron/jobs/prune_inactive_users.php index bbf9b1964..17ae5def8 100644 --- a/upload/includes/cron/jobs/prune_inactive_users.php +++ b/upload/includes/cron/jobs/prune_inactive_users.php @@ -2,6 +2,8 @@ if (!defined('BB_ROOT')) die(basename(__FILE__)); +global $bb_cfg; + $users_per_cycle = 1000; require_once(INC_DIR .'functions_admin.php'); diff --git a/upload/includes/cron/jobs/prune_topic_moved.php b/upload/includes/cron/jobs/prune_topic_moved.php index 4624718a2..0670c20db 100644 --- a/upload/includes/cron/jobs/prune_topic_moved.php +++ b/upload/includes/cron/jobs/prune_topic_moved.php @@ -2,6 +2,8 @@ if (!defined('BB_ROOT')) die(basename(__FILE__)); +global $bb_cfg; + if ($bb_cfg['topic_moved_days_keep']) { $prune_time = TIMENOW - 86400*$bb_cfg['topic_moved_days_keep']; diff --git a/upload/includes/cron/jobs/sessions_cleanup.php b/upload/includes/cron/jobs/sessions_cleanup.php index 81ea0c841..26f88af89 100644 --- a/upload/includes/cron/jobs/sessions_cleanup.php +++ b/upload/includes/cron/jobs/sessions_cleanup.php @@ -2,6 +2,8 @@ if (!defined('BB_ROOT')) die(basename(__FILE__)); +global $bb_cfg; + $user_session_expire_time = TIMENOW - intval($bb_cfg['user_session_duration']); $admin_session_expire_time = TIMENOW - intval($bb_cfg['admin_session_duration']); diff --git a/upload/includes/cron/jobs/site_backup.php b/upload/includes/cron/jobs/site_backup.php index 54da83fad..0564dfb1c 100644 --- a/upload/includes/cron/jobs/site_backup.php +++ b/upload/includes/cron/jobs/site_backup.php @@ -2,6 +2,8 @@ if (!defined('BB_ROOT')) die(basename(__FILE__)); +global $bb_cfg; + $exec_output = array(); $exec_return_status = 0; diff --git a/upload/includes/cron/jobs/tr_cleanup_and_dlstat.php b/upload/includes/cron/jobs/tr_cleanup_and_dlstat.php index d81f834e8..80a518fde 100644 --- a/upload/includes/cron/jobs/tr_cleanup_and_dlstat.php +++ b/upload/includes/cron/jobs/tr_cleanup_and_dlstat.php @@ -2,7 +2,7 @@ if (!defined('BB_ROOT')) die(basename(__FILE__)); -global $tr_cfg; +global $bb_cfg, $tr_cfg; $releaser = DL_STATUS_RELEASER; @@ -111,21 +111,18 @@ if ($tr_cfg['update_dlstat']) WHERE u.user_id = ub.user_id "); - // Delete from MAIN what exists in BUF but not exsits in NEW + // Delete from dl_list what exists in BUF but not exsits in NEW DB()->query(" - DELETE main - FROM ". BB_BT_DLSTATUS_MAIN ." main - INNER JOIN ( - ". NEW_BB_BT_LAST_TORSTAT ." buf - LEFT JOIN ". BB_BT_DLSTATUS_NEW ." new USING(user_id, topic_id) - ) USING(user_id, topic_id) - WHERE new.user_id IS NULL - AND new.topic_id IS NULL + DELETE dl + FROM ". BB_BT_DLSTATUS ." dl + INNER JOIN ". NEW_BB_BT_LAST_TORSTAT ." buf USING(user_id, topic_id) + WHERE buf.user_id IS NULL + AND buf.topic_id IS NULL "); // Update DL-Status DB()->query(" - REPLACE INTO ". BB_BT_DLSTATUS_NEW ." + REPLACE INTO ". BB_BT_DLSTATUS ." (user_id, topic_id, user_status) SELECT user_id, topic_id, dl_status diff --git a/upload/includes/cron/jobs/tr_maintenance.php b/upload/includes/cron/jobs/tr_maintenance.php index b51fa8359..1fdea42b3 100644 --- a/upload/includes/cron/jobs/tr_maintenance.php +++ b/upload/includes/cron/jobs/tr_maintenance.php @@ -2,6 +2,8 @@ if (!defined('BB_ROOT')) die(basename(__FILE__)); +global $bb_cfg; + if (empty($bb_cfg['seeder_last_seen_days_keep']) || empty($bb_cfg['seeder_never_seen_days_keep'])) { return; diff --git a/upload/includes/cron/jobs/tr_make_snapshot.php b/upload/includes/cron/jobs/tr_make_snapshot.php index c70156a6f..e2be07578 100644 --- a/upload/includes/cron/jobs/tr_make_snapshot.php +++ b/upload/includes/cron/jobs/tr_make_snapshot.php @@ -2,6 +2,8 @@ if (!defined('BB_ROOT')) die(basename(__FILE__)); +global $bb_cfg; + DB()->expect_slow_query(600); // @@ -140,7 +142,7 @@ if ($bb_cfg['torhelp_enabled']) dl.user_id, GROUP_CONCAT(dl.topic_id) FROM ". BB_BT_TRACKER_SNAP ." trsn INNER JOIN ". BB_BT_TORRENTS ." tor ON (tor.topic_id = trsn.topic_id) - INNER JOIN ". BB_BT_DLSTATUS_MAIN ." dl ON (dl.topic_id = tor.topic_id) + INNER JOIN ". BB_BT_DLSTATUS ." dl ON (dl.topic_id = tor.topic_id) WHERE trsn.seeders <= $tor_min_seeders AND trsn.leechers >= $tor_min_leechers diff --git a/upload/includes/functions_admin.php b/upload/includes/functions_admin.php index 8e0526d6b..a31ab2925 100644 --- a/upload/includes/functions_admin.php +++ b/upload/includes/functions_admin.php @@ -6,7 +6,7 @@ function sync ($type, $id) { switch ($type) { - case 'forum': + case 'forum': $all_forums = ($id === 'all'); @@ -352,19 +352,13 @@ function topic_delete ($mode_or_topic_id, $forum_id = null, $prune_time = 0, $pr // Delete torrents DB()->query(" - DELETE tor, tr + DELETE tor, tr, dl FROM ". $tmp_delete_topics ." del LEFT JOIN ". BB_BT_TORRENTS ." tor USING(topic_id) LEFT JOIN ". BB_BT_TRACKER ." tr USING(topic_id) + LEFT JOIN ". BB_BT_DLSTATUS ." dl USING(topic_id) "); -/* - // Delete dlstat - DB()->query(" - DELETE dl - FROM ". $tmp_delete_topics ." del - LEFT JOIN ". BB_BT_DLSTATUS ." dl USING(topic_id) - "); -*/ + // Log action if ($prune) { diff --git a/upload/includes/functions_dev.php b/upload/includes/functions_dev.php index f14b0f55c..c2e293cc7 100644 --- a/upload/includes/functions_dev.php +++ b/upload/includes/functions_dev.php @@ -1,5 +1,7 @@ db->dbg)) { - $log .= get_sql_log_html($datastore->db, '$datastore ['.$datastore->engine.']'); + $log .= get_sql_log_html($datastore->db, 'cache: datastore ['.$datastore->engine.']'); } else if(!empty($datastore->dbg)) { - $log .= get_sql_log_html($datastore, '$datastore ['.$datastore->engine.']'); + $log .= get_sql_log_html($datastore, 'cache: datastore ['.$datastore->engine.']'); } return $log; diff --git a/upload/includes/init_bb.php b/upload/includes/init_bb.php index 117da6596..1513ebee2 100644 --- a/upload/includes/init_bb.php +++ b/upload/includes/init_bb.php @@ -338,10 +338,8 @@ define('BB_ATTACHMENTS', 'bb_attachments'); define('BB_AUTH_ACCESS_SNAP', 'bb_auth_access_snap'); define('BB_AUTH_ACCESS', 'bb_auth_access'); define('BB_BANLIST', 'bb_banlist'); -define('BB_BT_DLSTATUS_MAIN', 'bb_bt_dlstatus_main'); -define('BB_BT_DLSTATUS_NEW', 'bb_bt_dlstatus_new'); +define('BB_BT_DLSTATUS', 'bb_bt_dlstatus'); define('BB_BT_DLSTATUS_SNAP', 'bb_bt_dlstatus_snap'); -define('BB_BT_DLSTATUS', 'bb_bt_dlstatus_mrg'); // main + new define('BB_BT_LAST_TORSTAT', 'bb_bt_last_torstat'); define('BB_BT_LAST_USERSTAT', 'bb_bt_last_userstat'); define('BB_BT_TORHELP', 'bb_bt_torhelp'); @@ -402,18 +400,18 @@ define('USEREMAIL_MAX_LENGTH', 40); 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('FORUM_URL', "viewforum.php?" .'f='); -define('GROUP_URL', "groupcp.php?" .'g='); +define('CAT_URL', 'index.php?c='); +define('DOWNLOAD_URL', 'download.php?id='); +define('FORUM_URL', 'viewforum.php?f='); +define('GROUP_URL', 'groupcp.php?g='); define('LOGIN_URL', $bb_cfg['login_url']); -define('MODCP_URL', "modcp.php?" .'f='); +define('MODCP_URL', 'modcp.php?f='); define('PM_URL', $bb_cfg['pm_url']); -define('POST_URL', "viewtopic.php?" .'p='); +define('POST_URL', 'viewtopic.php?p='); define('POSTING_URL', $bb_cfg['posting_url']); -define('PROFILE_URL', "profile.php?" .'mode=viewprofile&u='); -define('BONUS_URL', "profile.php?" .'mode=bonus'); -define('TOPIC_URL', "viewtopic.php?" .'t='); +define('PROFILE_URL', 'profile.php?mode=viewprofile&u='); +define('BONUS_URL', 'profile.php?mode=bonus'); +define('TOPIC_URL', 'viewtopic.php?t='); define('USER_AGENT', @strtolower($_SERVER['HTTP_USER_AGENT'])); define('UA_OPERA', strpos(USER_AGENT, 'pera')); @@ -482,6 +480,11 @@ function prn_r ($var, $title = '', $print = true) return $r; } +function pre ($var, $title = '', $print = true) +{ + prn_r($var, $title, $print); +} + function prn () { if (!DBG_USER) return; diff --git a/upload/includes/page_footer.php b/upload/includes/page_footer.php index 00a8610f7..e46a44f61 100644 --- a/upload/includes/page_footer.php +++ b/upload/includes/page_footer.php @@ -34,8 +34,7 @@ if ($show_dbg_info) $gzip_text .= ($bb_cfg['gzip_compress']) ? $lang['ON'] : $lang['OFF']; $debug_text = (DEBUG) ? 'Debug ON' : 'Debug OFF'; - $stat = '[ '; - $stat .= "".$lang['EXECUTION_TIME'] ." $gen_time_txt ".$lang['SEC']; + $stat = '[ '. $lang['EXECUTION_TIME'] ." $gen_time_txt ". $lang['SEC']; if (!empty($DBS)) { @@ -67,8 +66,8 @@ if ($show_dbg_info) - [ wrap · max ] '; + $stat .= !empty($_COOKIE['sql_log']) ? '[ wrap · max ]' : ''; echo '