dimka3210
Легенда
Ну, если честно, то и не знаю у кого мод получился легче. Тот что с тп1 пришёл или мой. По крайней мере мне почему то кажется что мой. А там посмотрим. Хотел уложиться в пару строчек, а оказалось что набыдлокодил аж 100. Ну да ладно, приступим что ли).
# Author: dimka3210.
# Date: 18/12/2011
# Time install: ~ 7 min.
# Number of affected files: 8
Начнём мы пожалуй с лангов.
lang_main.php
viewtopic.tpl
viewtopic.php
найти 'EDITED_MESSAGE' => $l_edited_by, и после него вставить
Найти
В строку после u.user_opt, добавить u.user_speed_up, u.user_speed_down,
usercp_register.php
найти строку $tp_data['USER_GENDER'] = build_select('user_gender', array_flip($lang['GENDER_SELECT']), $pr_data['user_gender']);
break;
после неё добавить
и чуть выше найти массив $profile_fields и добавить в него пару ячеек
usercp_register.tpl
найти строку <!-- IF $bb_cfg['gender'] -->
<tr>
<td>{L_GENDER}:</td>
<td>{USER_GENDER}</td>
</tr>
<!-- ENDIF -->
после неё добвить
function.php
найти function make_jumpbox ($selected = 0)
перед добавить
usercp_viewprofile.tpl
usercp_viewprofile.php
после 'LOCATION' => $profiledata['user_from'],
добавить
теперь разберёмся с БД.
и 2 поля у пользователя
Ну вот и всё.
# Author: dimka3210.
# Date: 18/12/2011
# Time install: ~ 7 min.
# Number of affected files: 8
Начнём мы пожалуй с лангов.
lang_main.php
PHP:
// Мод скорость пользователя
$lang['NOT_DEFINED'] = "Не опреледено";
$lang['DOWNLOADSPEED'] = "Загрузка";
$lang['UPLOADSPEED'] = "Отдача";
HTML:
<!-- IF postrow.USER_SPEED_UP --><p class="posts"><em>{L_UPLOADSPEED}:</em> {postrow.USER_SPEED_UP}</p><!-- ENDIF -->
<!-- IF postrow.USER_SPEED_DOWN --><p class="posts"><em>{L_DOWNLOADSPEED}:</em> {postrow.USER_SPEED_DOWN}</p><!-- ENDIF -->
найти 'EDITED_MESSAGE' => $l_edited_by, и после него вставить
PHP:
'USER_SPEED_UP' => get_speed_cache($postrow[$i]['user_speed_up']),
'USER_SPEED_DOWN' => get_speed_cache($postrow[$i]['user_speed_down']),
PHP:
$sql = "
[PHP]SELECT
u.username, u.user_id, u.user_posts, u.user_from,
u.user_regdate, u.user_rank, u.user_sig,
u.user_avatar, u.user_avatar_type,
u.user_opt,
usercp_register.php
найти строку $tp_data['USER_GENDER'] = build_select('user_gender', array_flip($lang['GENDER_SELECT']), $pr_data['user_gender']);
break;
после неё добавить
PHP:
// Скорость отдачи в профиле.
case 'user_speed_up':
$speed = isset($_POST['user_speed_up']) ? (int) $_POST['user_speed_up'] : $pr_data['user_speed_up'];
if ($submit && $speed != $pr_data['user_speed_up'])
{
$pr_data['user_speed_up'] = $speed;
$db_data['user_speed_up'] = $speed;
}
$tp_data['USER_SPEED_UP'] = user_speed_selected('user_speed_up');
break;
// Скорость закачки в профиле.
case 'user_speed_down':
$speed = isset($_POST['user_speed_down']) ? (int) $_POST['user_speed_down'] : $pr_data['user_speed_down'];
if ($submit && $speed != $pr_data['user_speed_down'])
{
$pr_data['user_speed_down'] = $speed;
$db_data['user_speed_down'] = $speed;
}
$tp_data['USER_SPEED_DOWN'] = user_speed_selected('user_speed_down');
break;
// END CODE FROM DIMKA3210
PHP:
'user_speed_up' => true,
'user_speed_down' => true,
найти строку <!-- IF $bb_cfg['gender'] -->
<tr>
<td>{L_GENDER}:</td>
<td>{USER_GENDER}</td>
</tr>
<!-- ENDIF -->
после неё добвить
HTML:
<tr>
<td>{L_UPLOADSPEED}:</td>
<td>
{USER_SPEED_UP}
</td>
</tr>
<tr>
<td>{L_DOWNLOADSPEED}:</td>
<td>
{USER_SPEED_DOWN}
</td>
</tr>
найти function make_jumpbox ($selected = 0)
перед добавить
PHP:
function user_speed($id){
$sql = "SELECT `speed_id`, `speed_str` FROM `bb_users_speed` WHERE `speed_id` = " . $id;
$result = DB()->fetch_row($sql);
return $result['speed_str'];
} // end user_speed
function user_speed_selected($mode){
global $userdata, $lang;
$v = '<select name="' . $mode . '">';
$sql = "SELECT * FROM bb_users_speed";
$result = DB()->sql_query($sql);
$v .= '<option value="0">Не определено</option>';
for($i = 0; $i < mysql_num_rows($result); $i++){
$row = mysql_fetch_row($result);
$selected = ($userdata[$mode] == $row[0]) ? " selected " : false;
$v .= "<option value=\"{$row[0]}\"{$selected}>{$row[1]}</option>\n";
} // end for
$v .= '</select>';
return $v;
} //end user_speed_selected
function get_speed_cache($mode){
global $lang;
if(empty($mode))
return $lang['NOT_DEFINED'];
if(!CACHE('bb_cache')->get('user_speed')){
$sql = "SELECT * FROM bb_users_speed";
$result = DB()->fetch_rowset($sql);
CACHE('bb_cache')->set('user_speed', $result, 1200);
} //end if
$speed = CACHE('bb_cache')->get('user_speed');
$m1 = $mode-1;
$return = $speed[$m1]['speed_str'];
return $return;
} // end get_speed_cache
HTML:
<tr>
<th>{L_UPLOADSPEED}</th>
<td><b>{SPEED_USER_UP}</b></td>
</tr>
<tr>
<th>{L_DOWNLOADSPEED}:</th>
<td><b>{SPEED_USER_DOWN}</b></td>
</tr>
после 'LOCATION' => $profiledata['user_from'],
добавить
PHP:
'SPEED_USER_UP' => ($profiledata['user_speed_up']) ? user_speed($profiledata['user_speed_up']) : $lang['NOT_DEFINED'],
'SPEED_USER_DOWN' => ($profiledata['user_speed_down']) ? user_speed($profiledata['user_speed_down']) : $lang['NOT_DEFINED'],
Код:
CREATE TABLE IF NOT EXISTS `bb_users_speed` (
`speed_id` mediumint(3) NOT NULL AUTO_INCREMENT,
`speed_str` varchar(30) NOT NULL,
PRIMARY KEY (`speed_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=38 ;
INSERT INTO `bb_users_speed` (`speed_id`, `speed_str`) VALUES
(1, '100 Kb/s'),
(2, '200 Kb/s'),
(3, '300 Kb/s'),
(4, '400 Kb/s'),
(5, '500 Kb/s'),
(6, '600 Kb/s'),
(7, '700 Kb/s'),
(8, '800 Kb/s'),
(9, '900 Kb/s'),
(10, '1 Mb/s'),
(11, '2 Mb/s'),
(12, '3 Mb/s'),
(13, '4 Mb/s'),
(14, '5 Mb/s'),
(15, '6 Mb/s'),
(16, '7 Mb/s'),
(17, '8 Mb/s'),
(18, '9 Mb/s'),
(19, '10 Mb/s'),
(20, '20 Mb/s'),
(21, '30 Mb/s'),
(22, '40 Mb/s'),
(23, '50 Mb/s'),
(24, '60 Mb/s'),
(25, '70 Mb/s'),
(26, '80 Mb/s'),
(27, '90 Mb/s'),
(28, '100 Mb/s'),
(29, '200 Mb/s'),
(30, '300 Mb/s'),
(31, '400 Mb/s'),
(32, '500 Mb/s'),
(33, '600 Mb/s'),
(34, '700 Mb/s'),
(35, '800 Mb/s'),
(36, '900 Mb/s'),
(37, '1 Gb/s');
Код:
ALTER TABLE `bb_users` ADD `user_speed_up` INT( 3 ) NOT NULL DEFAULT '0' AFTER `user_gender`;
ALTER TABLE `bb_users` ADD `user_speed_down` INT( 3 ) NOT NULL DEFAULT '0' AFTER `user_speed_up`;