From a7356b7ce3f2d2a32c9047c7d43feb9e3d0227fe Mon Sep 17 00:00:00 2001 From: "luxor41@gmail.com" Date: Fri, 13 Apr 2012 10:44:42 +0000 Subject: [PATCH] r397 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit сид бонус end небольшой фикс INSERT INTO `bb_config` VALUES ('bonus_upload', ''); INSERT INTO `bb_config` VALUES ('bonus_upload_price', ''); git-svn-id: https://torrentpier2.googlecode.com/svn/trunk@397 a8ac35ab-4ca4-ca47-4c2d-a49a94f06293 --- install/sql/mysql.sql | 2 + upload/admin/admin_board.php | 17 +++++ upload/admin/admin_cron.php | 2 +- upload/ajax/posts.php | 11 +-- upload/config.php | 2 +- .../cron/jobs/tr_cleanup_and_dlstat.php | 16 ++--- upload/includes/ucp/usercp_bonus.php | 68 ++++++++++++++++++- upload/language/lang_english/lang_admin.php | 2 +- upload/language/lang_english/lang_main.php | 5 ++ upload/language/lang_russian/lang_admin.php | 1 + upload/language/lang_russian/lang_main.php | 5 ++ upload/templates/admin/admin_board.tpl | 25 +++++++ 12 files changed, 139 insertions(+), 17 deletions(-) diff --git a/install/sql/mysql.sql b/install/sql/mysql.sql index e26b06125..dad8a1f81 100644 --- a/install/sql/mysql.sql +++ b/install/sql/mysql.sql @@ -580,6 +580,8 @@ INSERT INTO `bb_config` VALUES ('board_email_form', '0'); INSERT INTO `bb_config` VALUES ('board_email_sig', 'Thanks, The Management'); INSERT INTO `bb_config` VALUES ('board_startdate', ''); INSERT INTO `bb_config` VALUES ('board_timezone', '0'); +INSERT INTO `bb_config` VALUES ('bonus_upload', ''); +INSERT INTO `bb_config` VALUES ('bonus_upload_price', ''); INSERT INTO `bb_config` VALUES ('birthday_enabled', '1'); INSERT INTO `bb_config` VALUES ('birthday_max_age', '99'); INSERT INTO `bb_config` VALUES ('birthday_min_age', '10'); diff --git a/upload/admin/admin_board.php b/upload/admin/admin_board.php index 9f8fdd21c..f9e5716ce 100644 --- a/upload/admin/admin_board.php +++ b/upload/admin/admin_board.php @@ -51,6 +51,7 @@ else if (isset($_POST['submit']) && $row['config_value'] != $new[$config_name]) { if($config_name == 'seed_bonus_points' || $config_name == 'seed_bonus_release') $new[$config_name] = serialize($new[$config_name]); + if($config_name == 'bonus_upload' || $config_name == 'bonus_upload_price') $new[$config_name] = serialize($new[$config_name]); bb_update_config(array($config_name => $new[$config_name])); } @@ -119,6 +120,22 @@ switch($mode) 'POINTS' => $row, )); } } + + if($new['bonus_upload'] && $new['bonus_upload_price']) + { + $upload_row = unserialize($new['bonus_upload']); + $price_row = unserialize($new['bonus_upload_price']); + + foreach($upload_row as $i => $row) + { + if(!$row || !$price_row[$i]) continue; + + $template->assign_block_vars('bonus_upload', array( + 'UP' => $upload_row[$i], + 'PRICE' => $row, + )); + } + } break; default: diff --git a/upload/admin/admin_cron.php b/upload/admin/admin_cron.php index 226dcf993..1030fafa2 100644 --- a/upload/admin/admin_cron.php +++ b/upload/admin/admin_cron.php @@ -32,7 +32,7 @@ require(INC_DIR .'functions_admin_torrent.php'); require(INC_DIR .'functions_admin_cron.php'); -$sql = DB()->fetch_rowset("SELECT * FROM " . BB_CONFIG); +$sql = DB()->fetch_rowset("SELECT * FROM ". BB_CONFIG ." WHERE config_name = 'cron_enabled' OR config_name = 'cron_check_interval'"); foreach($sql as $row) { diff --git a/upload/ajax/posts.php b/upload/ajax/posts.php index 3948bfb9c..30370ccb8 100644 --- a/upload/ajax/posts.php +++ b/upload/ajax/posts.php @@ -28,7 +28,7 @@ if (isset($this->request['post_id'])) } elseif (isset($this->request['topic_id'])) { - $post_id = (int) $this->request['post_id']; + $topic_id = (int) $this->request['topic_id']; $post = DB()->fetch_row("SELECT t.*, f.* FROM ". BB_TOPICS ." t, ". BB_FORUMS ." f WHERE t.topic_id = $topic_id @@ -62,7 +62,7 @@ switch($this->request['type']) } else { - $this->ajax_die(sprintf($lang['SORRY_AUTH_DELETE'], strip_tags($is_auth['auth_delete_type']))); + $this->ajax_die(sprintf($lang['DELETE_OWN_POSTS'], strip_tags($is_auth['auth_delete_type']))); } break; @@ -113,6 +113,10 @@ switch($this->request['type']) case 'edit': case 'editor': + if ($post['poster_id'] != $userdata['user_id'] && !$is_auth['auth_mod']) + { + $this->ajax_die($lang['EDIT_OWN_POSTS']); + } if((mb_strlen($post['post_text'], 'UTF-8') > 1000) || $post['post_attachment'] || ($post['topic_first_post_id'] == $post_id)) { $this->response['redirect'] = make_url('posting.php?mode=editpost&p='. $post_id); @@ -213,9 +217,6 @@ switch($this->request['type']) $this->ajax_die('empty topic_id'); } - if(!$t_data) $this->ajax_die($lang['TOPIC_POST_NOT_EXIST']); - - $is_auth = auth(AUTH_ALL, $t_data['forum_id'], $userdata, $t_data); if(bf($userdata['user_opt'], 'user_opt', 'allow_post')) { $this->ajax_die($lang['RULES_REPLY_CANNOT']); diff --git a/upload/config.php b/upload/config.php index 05402d02c..15085ad21 100644 --- a/upload/config.php +++ b/upload/config.php @@ -52,7 +52,7 @@ $bb_cfg = $tr_cfg = $page_cfg = array(); // Increase number of revision after update $bb_cfg['tp_version'] = '2.4 (RC)'; -$bb_cfg['tp_release_state'] = 'R396'; +$bb_cfg['tp_release_state'] = 'R397'; $bb_cfg['tp_release_date'] = '13-04-2012'; // Database diff --git a/upload/includes/cron/jobs/tr_cleanup_and_dlstat.php b/upload/includes/cron/jobs/tr_cleanup_and_dlstat.php index 78128ac11..64b65d989 100644 --- a/upload/includes/cron/jobs/tr_cleanup_and_dlstat.php +++ b/upload/includes/cron/jobs/tr_cleanup_and_dlstat.php @@ -220,14 +220,14 @@ if($bb_cfg['seed_bonus_enabled'] && $bb_cfg['seed_bonus_points'] && $bb_cfg['see $user_regdate = (TIMENOW - $bb_cfg['seed_bonus_user_regdate'] * 86400); DB()->query(" - UPDATE ". BB_USERS ." u - LEFT JOIN ". BB_BT_USERS ." bu ON(bu.user_id = u.user_id) - LEFT JOIN tmp_bonus b ON(b.user_id = u.user_id) - SET - u.user_points = u.user_points + $user_points, - bu.points_today = bu.points_today + $user_points, - b.user_id = 0 - WHERE u.user_id = b.user_id + 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 diff --git a/upload/includes/ucp/usercp_bonus.php b/upload/includes/ucp/usercp_bonus.php index 142e8b771..17e58f206 100644 --- a/upload/includes/ucp/usercp_bonus.php +++ b/upload/includes/ucp/usercp_bonus.php @@ -2,4 +2,70 @@ if (!defined('BB_ROOT')) die(basename(__FILE__)); -if($bb_cfg['seed_bonus_enabled'] || !$bb_cfg['seed_bonus_enabled']) bb_die($lang['MODULE_OFF']); \ No newline at end of file +$user_id = $userdata['user_id']; +$user_points = $userdata['user_points']; + +if($bb_cfg['bonus_upload'] && $bb_cfg['bonus_upload_price']) +{ + $upload_row = unserialize($bb_cfg['bonus_upload']); + $price_row = unserialize($bb_cfg['bonus_upload_price']); +} +else bb_die($lang['EXCHANGE_NOT']); + +if (isset($_POST['bonus_id'])) +{ + $id = (int) $_POST['bonus_id']; + + $btu = get_bt_userdata($user_id); + + if (empty($btu)) + { + require(INC_DIR .'functions_torrent.php'); + generate_passkey($user_id, true); + $btu = get_bt_userdata($user_id); + } + + if(empty($upload_row[$id]) || empty($price_row[$id])) + { + bb_die('false'); + } + + $upload = $upload_row[$id]*1024*1024*1024; + $points = $price_row[$id]; + + if($userdata['user_points'] <= $points) bb_die('false2'); + + DB()->query("UPDATE ". BB_BT_USERS ." bu, ". BB_USERS ." u + SET + bu.u_up_total = u_up_total + $upload, + u.user_points = u.user_points - $points + WHERE + bu.user_id = $user_id + AND u.user_id = bu.user_id + "); + + cache_rm_user_sessions ($user_id); + + bb_die(sprintf($lang['BONUS_SUCCES'], $_POST['bonus_id'])); +} +else +{ + $template->assign_vars(array( + 'U_USER_PROFILE' => PROFILE_URL . $user_id, + 'S_MODE_ACTION' => 'profile.php?mode=bonus', + )); + + foreach($price_row as $i => $price) + { + if(!$price || !$upload_row[$i]) continue; + $class = ($user_points >= $price) ? 'seed' : 'leech'; + + $template->assign_block_vars('bonus_upload', array( + 'ID' => $i, + 'DESC' => sprintf($lang['BONUS_UPLOAD_DESC'], humn_size($upload_row[$i]*1024*1024*1024)), + 'PRICE' => sprintf($lang['BONUS_UPLOAD_PRICE'], sprintf('%.2f', $price), $class, $user_points), + )); + } + + print_page('usercp_bonus.tpl'); +} \ No newline at end of file diff --git a/upload/language/lang_english/lang_admin.php b/upload/language/lang_english/lang_admin.php index 3d1ff5998..c57d1a0c9 100644 --- a/upload/language/lang_english/lang_admin.php +++ b/upload/language/lang_english/lang_admin.php @@ -677,4 +677,4 @@ $lang['SEED_BONUS_POINTS'] = 'bonuses in an hour'; $lang['SEED_BONUS_TOR_SIZE'] = '

Minimum distribution for which will be awarded bonuses

If you want to calculate bonuses for all distribution, leave blank.
'; $lang['SEED_BONUS_USER_REGDATA'] = '

Minimum length of user tracker, after which will be awarded bonuses

If you want to accrue bonuses to all users, leave blank.
'; $lang['SEED_BONUS_WARNING'] = 'ATTENTION! Seed Bonuses should be in ascending order'; - +$lang['SEED_BONUS_ROPORTION'] = 'Proportion addition for an exchange of bonuses on GB'; diff --git a/upload/language/lang_english/lang_main.php b/upload/language/lang_english/lang_main.php index 26e5ea090..092e6a7ef 100644 --- a/upload/language/lang_english/lang_main.php +++ b/upload/language/lang_english/lang_main.php @@ -1363,6 +1363,11 @@ $lang['RELEASED'] = 'Released'; $lang['BONUS'] = 'On the rare'; $lang['SEED_BONUS'] = 'Seed Bonus'; $lang['EXCHANGE'] = 'Exchange'; +$lang['BONUS_UPLOAD_DESC'] = '%s to distribution
To exchange bonus points on %1$s traffic which will be added on to the sum of your distribution.'; +$lang['BONUS_UPLOAD_PRICE'] = '%s (at You %s)'; +$lang['PRICE'] = 'price'; +$lang['EXCHANGE_NOT'] 'The exchange not available'; +$lang['BONUS_SUCCES'] = 'To you it is successfully enlisted %s GB'; $lang['IT_WILL_BE_DOWN'] = 'it will start to be considered after it will be downloaded'; $lang['SPMODE_FULL'] = 'Show peers in full details'; diff --git a/upload/language/lang_russian/lang_admin.php b/upload/language/lang_russian/lang_admin.php index c452e5ca8..7111163c6 100644 --- a/upload/language/lang_russian/lang_admin.php +++ b/upload/language/lang_russian/lang_admin.php @@ -675,4 +675,5 @@ $lang['SEED_BONUS_POINTS'] = 'бонусов в час'; $lang['SEED_BONUS_TOR_SIZE'] = '

Минимальный размер раздачи, за который будут начисляться бонусы

Если хотите начислять бонусы за все раздачи, оставьте поле пустым.
'; $lang['SEED_BONUS_USER_REGDATA'] = '

Минимальный стаж пользователя на трекере, после которого будут начисляться бонусы

Если хотите начислять бонусы всем пользователям, оставьте поле пустым.
'; $lang['SEED_BONUS_WARNING'] = 'ВНИМАНИЕ! Сид Бонусы должны быть в порядке возрастания'; +$lang['SEED_BONUS_ROPORTION'] = 'Добавление пропорции для обмена бонусов на GB'; diff --git a/upload/language/lang_russian/lang_main.php b/upload/language/lang_russian/lang_main.php index b7c5f7243..1c1e104f2 100644 --- a/upload/language/lang_russian/lang_main.php +++ b/upload/language/lang_russian/lang_main.php @@ -1369,6 +1369,11 @@ $lang['RELEASED'] = 'На своих'; $lang['BONUS'] = 'На редких'; $lang['SEED_BONUS'] = 'СидБонус'; $lang['EXCHANGE'] = 'Обменять'; +$lang['BONUS_UPLOAD_DESC'] = '%s к раздаче
Обменять бонусные очки на %1$s трафика, который будет приплюсован к сумме Вашей раздачи.'; +$lang['BONUS_UPLOAD_PRICE'] = '%s (у Вас %s)'; +$lang['PRICE'] = 'Цена'; +$lang['EXCHANGE_NOT'] = 'Обмен не доступен'; +$lang['BONUS_SUCCES'] = 'Вам успешно зачислено %s GB'; $lang['IT_WILL_BE_DOWN'] = 'начнет учитываться после того как будет скачано'; $lang['SPMODE_FULL'] = 'Подробная статистика пиров'; diff --git a/upload/templates/admin/admin_board.tpl b/upload/templates/admin/admin_board.tpl index 6afb190f6..d0b42f9a8 100644 --- a/upload/templates/admin/admin_board.tpl +++ b/upload/templates/admin/admin_board.tpl @@ -475,6 +475,31 @@ {L_SEED_BONUS_USER_REGDATA}  {L_DAYS} + + Настройка обмена бонусов + + + +

{L_SEED_BONUS_ROPORTION}

+ +  размер в GB
+  их цена   + + + + + + +

{L_SEED_BONUS_ROPORTION}

+ +  размер в GB
+  их цена + + + + + +