From 7d2dc28fbe42d2e4a5ff98359dc3bc0931bf08a1 Mon Sep 17 00:00:00 2001 From: Exile Date: Sat, 6 Dec 2014 18:51:02 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D1=82=D0=B4=D0=B5=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=BA=D1=80=D0=BE=D0=BD-=D0=B7=D0=B0=D0=B4?= =?UTF-8?q?=D0=B0=D1=87=D0=B8=20=D0=BD=D0=B0=D1=87=D0=B8=D1=81=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D1=81=D0=B8=D0=B4=D0=B1=D0=BE=D0=BD=D1=83?= =?UTF-8?q?=D1=81=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Отделение задачи из-за проблем с ее выполнением; исправление с присовением значений переменных массивам в задаче начисления сидбонусов; исправление ошибкис кодировкой админки после изменения конфига языков; исправление ошибки с отправкой почты из-за неверного email-адреса. --- admin/index.php | 5 +- install/sql/mysql.sql | 1 + install/upgrade/changes.txt | 3 +- .../cron/jobs/tr_cleanup_and_dlstat.php | 54 +----------------- library/includes/cron/jobs/tr_seed_bonus.php | 55 +++++++++++++++++++ library/includes/ucp/register.php | 4 +- 6 files changed, 64 insertions(+), 58 deletions(-) create mode 100644 library/includes/cron/jobs/tr_seed_bonus.php diff --git a/admin/index.php b/admin/index.php index 1334f3d8b..33c3cd5f7 100644 --- a/admin/index.php +++ b/admin/index.php @@ -23,8 +23,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); @@ -269,6 +269,7 @@ else { // Generate frameset $template->assign_vars(array( + 'CONTENT_ENCODING' => $bb_cfg['lang'][$userdata['user_lang']]['encoding'], 'TPL_ADMIN_FRAMESET' => true, )); send_no_cache_headers(); diff --git a/install/sql/mysql.sql b/install/sql/mysql.sql index adb9f1462..13191c574 100644 --- a/install/sql/mysql.sql +++ b/install/sql/mysql.sql @@ -574,6 +574,7 @@ INSERT INTO `bb_cron` VALUES ('', '1', 'DS update stats', 'ds_update_stats.php', INSERT INTO `bb_cron` VALUES ('', '1', 'Flash topic view', 'flash_topic_view.php', 'interval', '', '', '255', '', '', '00:10:00', '0', '', '0', '0', '0'); INSERT INTO `bb_cron` VALUES ('', '1', 'Clean search results', 'clean_search_results.php', 'interval', '', '', '255', '', '', '00:10:00', '0', '', '0', '0', '0'); INSERT INTO `bb_cron` VALUES ('', '1', 'Tracker cleanup and dlstat', 'tr_cleanup_and_dlstat.php', 'interval', '', '', '20', '', '', '00:15:00', '0', '', '0', '0', '0'); +INSERT INTO `bb_cron` VALUES ('', '1', 'Accrual seedbonus', 'tr_seed_bonus.php', 'interval', '', '', '25', '', '', '00:10:00', '0', '', '0', '0', '0'); INSERT INTO `bb_cron` VALUES ('', '1', 'Make tracker snapshot', 'tr_make_snapshot.php', 'interval', '', '', '10', '', '', '00:10:00', '0', '', '0', '0', '0'); INSERT INTO `bb_cron` VALUES ('', '1', 'Seeder last seen', 'tr_update_seeder_last_seen.php', 'interval', '', '', '255', '', '', '01:00:00', '0', '', '0', '0', '0'); INSERT INTO `bb_cron` VALUES ('', '1', 'Tracker dl-complete count', 'tr_complete_count.php', 'interval', '', '', '255', '', '', '06:00:00', '0', '', '0', '0', '0'); diff --git a/install/upgrade/changes.txt b/install/upgrade/changes.txt index 71847bc8f..2174b0a2a 100644 --- a/install/upgrade/changes.txt +++ b/install/upgrade/changes.txt @@ -22,4 +22,5 @@ UPDATE `bb_cron` SET `cron_script` = 'board_maintenance.php' WHERE `cron_script` // 2.1.5 DROP TABLE IF EXISTS `bb_captcha`; -DELETE FROM `bb_cron` WHERE `cron_script` = 'captcha_gen_gc.php'; \ No newline at end of file +DELETE FROM `bb_cron` WHERE `cron_script` = 'captcha_gen_gc.php'; +INSERT INTO `bb_cron` VALUES ('', '1', 'Accrual seedbonus', 'tr_seed_bonus.php', 'interval', '', '', '25', '', '', '00:10:00', '0', '', '0', '0', '0'); \ No newline at end of file diff --git a/library/includes/cron/jobs/tr_cleanup_and_dlstat.php b/library/includes/cron/jobs/tr_cleanup_and_dlstat.php index 3fee3a01f..3b4283054 100644 --- a/library/includes/cron/jobs/tr_cleanup_and_dlstat.php +++ b/library/includes/cron/jobs/tr_cleanup_and_dlstat.php @@ -150,56 +150,4 @@ DB()->query(" ". BB_BT_LAST_USERSTAT ." TO ". OLD_BB_BT_LAST_USERSTAT .", ". NEW_BB_BT_LAST_USERSTAT ." TO ". BB_BT_LAST_USERSTAT ." "); -DB()->query("DROP TABLE IF EXISTS ". NEW_BB_BT_LAST_USERSTAT .", ". OLD_BB_BT_LAST_USERSTAT); - -DB()->expect_slow_query(10); - -if ($bb_cfg['seed_bonus_enabled'] && $bb_cfg['seed_bonus_points'] && $bb_cfg['seed_bonus_release']) -{ - DB()->query(" - CREATE TEMPORARY TABLE tmp_bonus ( - user_id INT UNSIGNED NOT NULL DEFAULT '0', - release_count INT UNSIGNED NOT NULL DEFAULT '0' - ) ENGINE = MEMORY - "); - - $tor_size = ($bb_cfg['seed_bonus_tor_size'] * 1073741824); - - DB()->query("INSERT INTO tmp_bonus - SELECT bt.user_id, count(bt.seeder) AS release_count - FROM ". BB_BT_TRACKER ." bt, ". BB_BT_TORRENTS ." tor - WHERE tor.topic_id = bt.topic_id - AND tor.size > $tor_size - AND bt.seeder > 0 - GROUP BY user_id - "); - - $seed_bonus = (float) unserialize($bb_cfg['seed_bonus_points']); - $seed_release = (int) unserialize($bb_cfg['seed_bonus_release']); - - foreach($seed_bonus as $i => $points) - { - if (!$points || !$seed_release[$i]) continue; - - $user_points = ($points / 4); - $release = $seed_release[$i]; - $user_regdate = (TIMENOW - $bb_cfg['seed_bonus_user_regdate'] * 86400); - - DB()->query(" - UPDATE ". BB_USERS ." u, ". BB_BT_USERS ." bu, tmp_bonus b - SET - u.user_points = u.user_points + $user_points, - bu.points_today = bu.points_today + $user_points, - b.user_id = 0 - WHERE - b.user_id = u.user_id - AND bu.user_id = u.user_id - AND b.release_count <= $release - AND u.user_regdate < $user_regdate - AND u.user_active = 1 - AND u.user_id not IN(". EXCLUDED_USERS_CSV .") - "); - } - - DB()->query("DROP TEMPORARY TABLE IF EXISTS tmp_bonus"); -} \ No newline at end of file +DB()->query("DROP TABLE IF EXISTS ". NEW_BB_BT_LAST_USERSTAT .", ". OLD_BB_BT_LAST_USERSTAT); \ No newline at end of file diff --git a/library/includes/cron/jobs/tr_seed_bonus.php b/library/includes/cron/jobs/tr_seed_bonus.php new file mode 100644 index 000000000..0d5b15932 --- /dev/null +++ b/library/includes/cron/jobs/tr_seed_bonus.php @@ -0,0 +1,55 @@ +expect_slow_query(600); + +if ($bb_cfg['seed_bonus_enabled'] && $bb_cfg['seed_bonus_points'] && $bb_cfg['seed_bonus_release']) +{ + DB()->query(" + CREATE TEMPORARY TABLE tmp_bonus ( + user_id INT UNSIGNED NOT NULL DEFAULT '0', + release_count INT UNSIGNED NOT NULL DEFAULT '0' + ) ENGINE = MEMORY + "); + + $tor_size = ($bb_cfg['seed_bonus_tor_size'] * 1073741824); + + DB()->query("INSERT INTO tmp_bonus + SELECT bt.user_id, count(bt.seeder) AS release_count + FROM ". BB_BT_TRACKER ." bt, ". BB_BT_TORRENTS ." tor + WHERE tor.topic_id = bt.topic_id + AND tor.size > $tor_size + AND bt.seeder > 0 + GROUP BY user_id + "); + + $seed_bonus = unserialize($bb_cfg['seed_bonus_points']); + $seed_release = unserialize($bb_cfg['seed_bonus_release']); + + foreach($seed_bonus as $i => $points) + { + if (!$points || !$seed_release[$i]) continue; + + $user_points = ((float) $points / 4); + $release = (int) $seed_release[$i]; + $user_regdate = (TIMENOW - $bb_cfg['seed_bonus_user_regdate'] * 86400); + + DB()->query(" + UPDATE ". BB_USERS ." u, ". BB_BT_USERS ." bu, tmp_bonus b + SET + u.user_points = u.user_points + $user_points, + bu.points_today = bu.points_today + $user_points, + b.user_id = 0 + WHERE + b.user_id = u.user_id + AND bu.user_id = u.user_id + AND b.release_count <= $release + AND u.user_regdate < $user_regdate + AND u.user_active = 1 + AND u.user_id not IN(". EXCLUDED_USERS_CSV .") + "); + } + + DB()->query("DROP TEMPORARY TABLE IF EXISTS tmp_bonus"); +} \ No newline at end of file diff --git a/library/includes/ucp/register.php b/library/includes/ucp/register.php index 970031cbe..89f513371 100644 --- a/library/includes/ucp/register.php +++ b/library/includes/ucp/register.php @@ -653,7 +653,7 @@ if ($submit && !$errors) $emailer = new emailer($bb_cfg['smtp_delivery']); $emailer->from($bb_cfg['sitename'] ." <{$bb_cfg['board_email']}>"); - $emailer->email_address("$username <$email>"); + $emailer->email_address($username . "<" . $db_data['user_email'] . ">"); $emailer->use_template($email_template, $user_lang); @@ -693,7 +693,7 @@ if ($submit && !$errors) $emailer->from($bb_cfg['sitename'] ." <{$bb_cfg['board_email']}>"); $emailer->use_template('user_activate', $pr_data['user_lang']); - $emailer->email_address("$username <$email>"); + $emailer->email_address($username . "<" . $pr_data['user_email'] . ">"); $emailer->assign_vars(array( 'SITENAME' => $bb_cfg['sitename'],