Аддок к сидбонусам (смена ника)

4

4SEO

Гость
охх по всей видимости руки растут у меня не от туда от куда нужно, так и не смог прикрутить (видимо совсем тупой :( я)
люди помогите все собрать воедино, уже кажется все варианты перепробовал, но так и не смог прикрутить, или выложите ваш модифицированный usercp_bonus.php если не затруднит
заранее благодарю за помощь всех кто откликнется
 

routadmin

Пользователь
охх по всей видимости руки растут у меня не от туда от куда нужно, так и не смог прикрутить (видимо совсем тупой :( я)
люди помогите все собрать воедино, уже кажется все варианты перепробовал, но так и не смог прикрутить, или выложите ваш модифицированный usercp_bonus.php если не затруднит
заранее благодарю за помощь всех кто откликнется
PHP:
1. usercp_bonus.php
 
найти $user_points = $userdata['user_points'];
 
ниже добавить
 
$username_new = !empty($_POST['ch_nik_name']) ? clean_username($_POST['ch_nik_name']) : '';
 
$return = '<br /><br /><a href="'. BONUS_URL .'">'. $lang['BONUS_RETURN'] .'</a>';
 
// Смена ника за сидбонус
 
if ($_POST['bonus_id'] == 'ch_nik')
 
{
 
require(INC_DIR .'functions_validate.php');
 
$points = $bb_cfg['seed_bonus_change_nik_price'];
 
if ($userdata['username_old'] != '' && $userdata['username_change_time'] != 0)
 
{
 
$time = bb_date($userdata['username_change_time'], $lang['DATE_FORMAT']);
 
message_die(GENERAL_ERROR, sprintf($lang['BONUS_CHANGED_NIK'], $userdata['username_old'], $userdata['username'], $time) . $return);
 
}
 
if ($user_points < $points)
 
{
 
message_die(GENERAL_ERROR, $lang['BONUS_NOT_SUCCES'] . $return);
 
}
 
if (IS_AM)
 
{
 
message_die(GENERAL_ERROR, $lang['BONUS_NOT_AM'] . $return);
 
}
 
if (empty($username_new))
 
{
 
message_die(GENERAL_ERROR, $lang['CHOOSE_A_NAME'] . $return);
 
}
 
if ($err = validate_username($username_new))
 
{
 
message_die(GENERAL_ERROR, $err . $return);
 
}
 
else
 
{
 
DB()->query("UPDATE ". BB_USERS ." u
 
SET
 
username_old = '". DB()->escape_string($username) ."',
 
username_change_time = ".time().",
 
u.username = '". DB()->escape_string($username_new) ."',
 
u.user_points = u.user_points - $points
 
WHERE
 
u.user_id = $user_id
 
");
 
cache_rm_user_sessions($user_id);
 
$log_action->admin('adm_user_ch_nik', array('log_msg' => "<b>$username</b> » <b>$username_new</b><br>id = $user_id"));
 
bb_die(sprintf($lang['CHANGE_NIK_GOOD'], $username_new) . $return);
 
}
 
}
 
if ($bb_cfg['seed_bonus_change_nik'])
 
{
 
$points = $bb_cfg['seed_bonus_change_nik_price'];
 
$class = ($user_points >= $points) ? 'seed' : 'leech';
 
$template->assign_block_vars('ch_nik', array(
 
'ROW_CLASS' => 'row1',
 
'ID' => 'ch_nik',
 
'DESC' => $lang['CHANGE_NIK'],
 
'PRICE' => sprintf($lang['BONUS_UPLOAD_PRICE'], $class, sprintf('%.2f', $points)),
 
));
 
}
 
найти  'MY_BONUS'        => sprintf($lang['MY_BONUS'], $user_points),
 
ниже добавить 'adm_user_ch_nik'  => 'Юзер:<br /> <b>изменен ник</b>',
 
найти 'PRICE'     => sprintf($lang['BONUS_UPLOAD_PRICE'], $class, sprintf('%.2f', $price)),
 
ниже добавить 'adm_user_ch_nik'    => 10,
 
2. usercp_bonus.tpl
 
найти
 
<!-- END bonus_upload -->
 
ниже добавить
 
<tr>
 
<th colspan="3">{L_BONUS_ADDITIONAL_FUNCTIONS}</th>
 
</tr>
 
<!-- BEGIN ch_nik -->
 
<tr>
 
<td class="tLeft">{ch_nik.DESC}</td>
 
<td><span>{ch_nik.PRICE}</span></td>
 
<td style="width: 5%;"><input type="radio" name="bonus_id" value="{ch_nik.ID}" /></td>
 
</tr>
 
<!-- END ch_nik -->
 
3. выполнить скуль запрос что на 2-й страничке
 
4. ленги в lang_main.php

все очень просто если хорошо подумать и усилия приложить!
 
B

beetor

Гость
сделал по коду routadmin, при попытке обменять бонусы на upload, выдает сообщение: админу - что не можете сменить имя (так то и должно быть), юзеры меняют, хотя должен быть обмен на upload
 
W

WARD

Гость
Решил выложить немного улучшеный вариант смены ника на базе кода от Bustra

Код:
INSERT INTO `bb_config` VALUES ('seed_bonus_change_nik', '1');
INSERT INTO `bb_config` VALUES ('seed_bonus_change_nik_price', '10000');
ALTER TABLE `bb_users` ADD `username_old` varchar(25) DEFAULT NULL;
ALTER TABLE `bb_users` ADD `username_change_time` int(11) NOT NULL DEFAULT '0';
PHP:
$username_new = !empty($_POST['ch_nik_name']) ? clean_username($_POST['ch_nik_name']) : '';
$return = '<br /><br /><a href="'. BONUS_URL .'">'. $lang['BONUS_RETURN'] .'</a>';
----------------
    // Смена ника за сидбонус
    if ($_POST['bonus_id'] == 'ch_nik')
    {
        require(INC_DIR .'functions_validate.php');
        $points = $bb_cfg['seed_bonus_change_nik_price'];
 
        if ($userdata['username_old'] != '' && $userdata['username_change_time'] != 0)
        {
            $time = bb_date($userdata['username_change_time'], $lang['DATE_FORMAT']);
            message_die(GENERAL_ERROR, sprintf($lang['BONUS_CHANGED_NIK'], $userdata['username_old'], $userdata['username'], $time) . $return);
        }
 
        if ($user_points < $points)
        {
            message_die(GENERAL_ERROR, $lang['BONUS_NOT_SUCCES'] . $return);
        }
 
        if (IS_AM)
        {
            message_die(GENERAL_ERROR, $lang['BONUS_NOT_AM'] . $return);
        }
 
        if (empty($username_new))
        {
            message_die(GENERAL_ERROR, $lang['CHOOSE_A_NAME'] . $return);
        }
 
        if ($err = validate_username($username_new))
        {
            message_die(GENERAL_ERROR, $err . $return);
        }
        else
        {
            DB()->query("UPDATE ". BB_USERS ." u
                SET
                    username_old            = '". DB()->escape_string($username) ."',
                    username_change_time    = ".time().",
                    u.username                = '". DB()->escape_string($username_new) ."',
                    u.user_points            = u.user_points  - $points
                WHERE
                    u.user_id                = $user_id
            ");
 
            cache_rm_user_sessions($user_id);
 
            $log_action->admin('adm_user_ch_nik', array('log_msg' => "<b>$username</b> » <b>$username_new</b><br>id = $user_id"));
            bb_die(sprintf($lang['CHANGE_NIK_GOOD'], $username_new) . $return);
        }
    }
--------------
    if ($bb_cfg['seed_bonus_change_nik'])
    {
        $points = $bb_cfg['seed_bonus_change_nik_price'];
        $class = ($user_points >= $points) ? 'seed' : 'leech';
        $template->assign_block_vars('ch_nik', array(
            'ROW_CLASS' => 'row1',
            'ID'        => 'ch_nik',
            'DESC'        => $lang['CHANGE_NIK'],
            'PRICE'        => sprintf($lang['BONUS_UPLOAD_PRICE'], $class, sprintf('%.2f', $points)),
        ));
    }
PHP:
$lang['BONUS_NOT_SUCCES'] = '<span class="leech">У Вас недостаточно Бонусов в наличии. Больше сидируйте!</span>';
$lang['BONUS_RETURN'] = 'Вернуться к обмену Сидбонусов';
$lang['BONUS_ADDITIONAL_FUNCTIONS'] = 'Другие возможности обмена Сидбонуса';
$lang['CHANGE_NIK'] = '<b>Смена логина</b> <br />Смена логина (ника) за сидбонус.<br><i>Новый ник:</i>&nbsp;<input type="text" name="ch_nik_name" value="">';
$lang['CHANGE_NIK_GOOD'] = 'Ник был успешно изменен на <b>%s</b>';
$lang['BONUS_NOT_AM'] = 'Администраторам и Модераторам запрещается смена ника.';
$lang['BONUS_CHANGED_NIK'] = 'Вы не можете больше изменять ник.<br />Вы изменили ник с <b>%s</b> на <b>%s</b> <b>%s</b>';
PHP:
'adm_user_ch_nik'  => 'Юзер:<br /> <b>изменен ник</b>',
PHP:
'adm_user_ch_nik'    => 10,
Напиши пожалуйста что в какой файл вставлять:)
 
G

Gemini_13

Гость
1 - запрос
2 - usercp_bonus.php
3 - lang_main.php
4 - lang_admin.php
5 - functions.php
это номера блоков с кодом
 
Сверху