Смена имени пользователя за бонусы (TBDev)
Запросы в базу данных:
ALTER TABLE `users` ADD `changename` enum( 'yes', 'no' ) NOT NULL default 'no';
INSERT INTO `bonus` ( `id` , `name` , `points` , `description` , `type` , `quanity` )VALUES ('5', 'Смена ника', '50.00', 'Поменять бонус на возможность смены ника на трекере.', 'changet', '1');
В mybonus.php находим:
case "invite":
$invites = $arr["quanity"];
if (!sql_query("UPDATE users SET bonus = bonus - $points, invites = invites + $invites WHERE id = ".sqlesc($CURUSER["id"]))) {
stdmsg($tracker_lang['error'], "Не могу обновить бонус!");
die();
}
stdmsg($tracker_lang['success'], "Бонус обменян на приглашения!");
break;
default:
stdmsg($tracker_lang['error'], "Unknown bonus type!");
Ниже вставляем:
case "changet":
if ($CURUSER['changename'] == 'yes') {
stdmsg($tracker_lang['error'], "Вам что бонусы некуда девать!? У вас уже есть возможность сменить имя тут.", 'error');
die();
}
if (!sql_query("UPDATE users SET bonus = bonus - $points, changename = 'yes' WHERE id = ".sqlesc($CURUSER["id"]))) {
stdmsg($tracker_lang['error'], "Не могу обновить бонус!", 'error');
die();
}
stdmsg($tracker_lang['success'], "Бонус обменян на смену ника.Вы можете сменить его здесь");
break;
В my.php находим:
tr($tracker_lang['my_avatar_url'], "n".sprintf($tracker_lang['max_avatar_size'], $avatar_max_width, $avatar_max_height),1);
Ниже вставляем:
if ($CURUSER["changename"] == "yes"){
tr('Ник', " ", 1);
print "";}
В takeprofedit.php находим:
$avatars = ($_POST["avatars"] != "" ? "yes" : "no");
Ниже вставляем:
if ($_POST['username'])
{if ($_POST['username'] != $_POST['oldtitle']){
if ($CURUSER['changename'] != "yes") {stdmsg($tracker_lang['error'], "Вы не можете менять ник", 'error');}
$username = $_POST["username"]; $updateset[] = "username = " . sqlesc($username);
sql_query("UPDATE users SET changename = 'no' WHERE id = $CURUSER[id]");
}
}
Все, у себя проверил работает.
ALTER TABLE `users` ADD `changename` enum( 'yes', 'no' ) NOT NULL default 'no';
INSERT INTO `bonus` ( `id` , `name` , `points` , `description` , `type` , `quanity` )VALUES ('5', 'Смена ника', '50.00', 'Поменять бонус на возможность смены ника на трекере.', 'changet', '1');
В mybonus.php находим:
case "invite":
$invites = $arr["quanity"];
if (!sql_query("UPDATE users SET bonus = bonus - $points, invites = invites + $invites WHERE id = ".sqlesc($CURUSER["id"]))) {
stdmsg($tracker_lang['error'], "Не могу обновить бонус!");
die();
}
stdmsg($tracker_lang['success'], "Бонус обменян на приглашения!");
break;
default:
stdmsg($tracker_lang['error'], "Unknown bonus type!");
Ниже вставляем:
case "changet":
if ($CURUSER['changename'] == 'yes') {
stdmsg($tracker_lang['error'], "Вам что бонусы некуда девать!? У вас уже есть возможность сменить имя тут.", 'error');
die();
}
if (!sql_query("UPDATE users SET bonus = bonus - $points, changename = 'yes' WHERE id = ".sqlesc($CURUSER["id"]))) {
stdmsg($tracker_lang['error'], "Не могу обновить бонус!", 'error');
die();
}
stdmsg($tracker_lang['success'], "Бонус обменян на смену ника.Вы можете сменить его здесь");
break;
В my.php находим:
tr($tracker_lang['my_avatar_url'], "n".sprintf($tracker_lang['max_avatar_size'], $avatar_max_width, $avatar_max_height),1);
Ниже вставляем:
if ($CURUSER["changename"] == "yes"){
tr('Ник', " ", 1);
print "";}
В takeprofedit.php находим:
$avatars = ($_POST["avatars"] != "" ? "yes" : "no");
Ниже вставляем:
if ($_POST['username'])
{if ($_POST['username'] != $_POST['oldtitle']){
if ($CURUSER['changename'] != "yes") {stdmsg($tracker_lang['error'], "Вы не можете менять ник", 'error');}
$username = $_POST["username"]; $updateset[] = "username = " . sqlesc($username);
sql_query("UPDATE users SET changename = 'no' WHERE id = $CURUSER[id]");
}
}
Все, у себя проверил работает.