Показать сообщение отдельно
Старый 18.03.2010, 16:15   #47
topneDa
Гость
 
Сообщений: n/a
По умолчанию

Замечательная панелька, спасибо.

Теперь немного расскажу о том как мы ее используем и что переделали под себя,
а с 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, чтобы в кабинете каждый юзер мог себе сгенерировать ссылку для разбана, которая будет отправляться на почту.
Все не разблокированные аккаунты в течении недели буду удалять.

Что-то примерно так, многое очень сложно изложить, в голове бардак, со временем еще что-нить придумаю.
  Ответить с цитированием