Замечательная панелька, спасибо.
Теперь немного расскажу о том как мы ее используем и что переделали под себя,
а с 15 ревизией опять пришлось переделывать. Это в принципе не проблема, думаю
не за горами когда кода будет намного больше, вот тут то и начнуться проблемы...
Уверен что можно внести некоторые изменения в код и сделать ее более универсальной панелькой.
В конфиге написано:
PHP код:
// Character viewer prefics. if = '' - OFF; (нужен для интеграции с wowd или cswowd.)
// это начало ссылки подписывает к именам персонажей.
//$charview ='';
$charview = '../wowd/?player=';
$gildview = '../wowd/?guild=';
Но я даже не смотрел в их сторону, имеется ввиду cswowd и wowd, может быть и зря, сейчас речь не об этом, в будущем может быть и посмотрю.
У себя мы пока используем
Оружейная World of Warcraft (Armory) , конечно есть недоделки, в целом мне нравиться.
Так вот для совместной работы эти двух шняг кое-что менял.
С самого начала вот это в config.php
PHP код:
$charview = '/character-sheet.xml?n=';
$gildview = '/guild-info.xml?r=tyt_vash_realm&gn=';
Потом в таких файлах как:
modules/online.php строка 77
PHP код:
else { echo '<b><a href="'.$charview.$cres***91;'guid'***93;.'" target="_blank">'.$cres***91;'name'***93;.'</a></b></td>'; }
меняю на
PHP код:
else { echo '<b><a href="'.$charview.$cres***91;'name'***93;.'" target="_blank">'.$cres***91;'name'***93;.'</a></b></td>'; }
Во всех файлах меняю все что связано со ссылками которые генерируются с помощью $charview.$cres['guid'] меняю на $charview.$cres['name']
modules/reg.php для того чтобы с 1 IP можно было зарегить только 1 аккаунт
начиная со строки 31 находим
PHP код:
if ($er == 0) {
$query1 = 'select count(`username`) as kol from `account` where `username` = "'.strtoupper($_POST***91;'new_acc'***93;).'"';
$res1 = mysql_query($query1) or trigger_error(mysql_error().$query1);
$row1 = mysql_fetch_assoc($res1);
if ($row1***91;'kol'***93; > 0) {
$er = 1;
$er_txt = $txt***91;'53'***93;;
}
}
и меняем на
PHP код:
if ($er == 0) {
$query1 = 'select count(`username`) as kol from `account` where `username` = "'.strtoupper($_POST***91;'new_acc'***93;).'"';
$res1 = mysql_query($query1) or trigger_error(mysql_error().$query1);
$row1 = mysql_fetch_assoc($res1);
if ($row1***91;'kol'***93; > 0) {
$er = 1;
$er_txt = $txt***91;'53'***93;;
}
}
if(mysql_num_rows(mysql_query("SELECT `last_ip` from `account` WHERE `last_ip` = '".$_SERVER***91;"REMOTE_ADDR"***93;."'")) >= 1){
echo "<font color='red'><big><b>Запрещено более 1 аккаунта</b></big></font>";
}
else
modules/gildies.php
Строка 42
PHP код:
else echo '<a href="'.$charview.$cres***91;'leaderguid'***93;.'" target="_blank">'.$cres***91;'leader'***93;.'<a>';
на
PHP код:
else echo '<a href="'.$charview.$cres***91;'leader'***93;.'" target="_blank">'.$cres***91;'leader'***93;.'<a>';
Строка 46
PHP код:
else echo '<a href="'.$gildview.$cres***91;'guildid'***93;.'" target="_blank"><img src="images/question.png" border=0 align="absmiddle" alt="Info"></a>';
на
PHP код:
else echo '<a href="'.$gildview.$cres***91;'name'***93;.'" target="_blank"><img src="images/question.png" border=0 align="absmiddle" alt="Info"></a>';
Строка 73
PHP код:
else echo '<a href="'.$charview.$ggres***91;'guid'***93;.'" target="_blank">'.$ggres***91;'name'***93;.'<a>';
на
PHP код:
else echo '<a href="'.$charview.$ggres***91;'name'***93;.'" target="_blank">'.$ggres***91;'name'***93;.'<a>';
1.
Думаю что можно вынести в конфиг такие вещи как генерация ссылок персонажей и гильд, т.е. определить в конфиге по имени или по id генерировать ссылки.
2.
Так же в конфиг вынести такую шнягу как как количество аккаунтов которое может зарегить игрок, привязку к IP-адресу.
3.
Количество персонажей которые может держать пользователь.
4.
Смена пароля не должна генерироваться, так как сгенерированный пароль трудно запомнить, должна быть форма для смены пароля как при регистрации, т.е. пароль и подтверждение пароля,
после чего отправлять ссылку дла акктивации нового пароля.
5.
Уверен что регистрация должна быть только через емаил, 50 процентов пишут левые адреса, как пример вот несколько
mrtrololo@naurjn.uya,
shit@sh.com,
123@mail.ru,
axs@dura.ru из нашей базы.
После введения всех данных на почтовый адрес юзера отправлять письмо со ссылкой для активации, до момента активации данные по аккаунту держать в базе панели, после активации переносить в базу realmd.
6.
В момент регистрации также необходимо проверять, а есть ли уже в базе аккаунт с таким мылом или нет, в случае если есть то отказать в регистрации, потом проверить есть ли аккаунт с таким IP, если есть то опять отказать.
На днях наверное буду перебирать всю свою базу и банить всех юзеров сразу.
Скорей всего прийдется дописать какой-нить модуль unban.php, чтобы в кабинете каждый юзер мог себе сгенерировать ссылку для разбана, которая будет отправляться на почту.
Все не разблокированные аккаунты в течении недели буду удалять.
Что-то примерно так, многое очень сложно изложить, в голове бардак, со временем еще что-нить придумаю.