Перейти к содержанию
Авторизация  

Сохранение данных аккаунта после регистрации в СВ


Описание

Мануал

Описание

1. При регистрации появляется дополнительная кнопка

pre_1372971763__01-43-30_5086143b.png

 

при нажатии на которую красиво генерируется пароль.

 

2. После регистрации на компьютер качается файл

pre_1372971840__01-45-22_e935cdff.png

 

Опционально, можно качать принудительно, либо только при клике на кнопку.

 

Установка

 

1. Создать в корне файл reg_dl.php со следующим содержимым:

//Enchanced Registration by ReaM
//(c) http://forum.zone-game.info/showthread.php?t=25520
$servername = "ServerName.ru";
$login = $_POST['login'];
$pass = $_POST['pass'];
$email = $_POST['email'];
$Data = ""; //сюда можно вставить красивую надпись в ASCII, не забываем про \n\t
$Data .= "Игровой сервер ".$servername ."!\n\t
Данные Авторизации\n\r\t
";

$Data .= "Ваш Аккаунт: ".$login."\n\t
";

$Data .= "Ваш пароль: ".$pass."\n\t
";

$Data .= "Ваш e-mail: ".$email."\n\t
";

$Data .= "Храните эти данные в надежном месте!
";

if(isset($_SERVER['HTTP_USER_AGENT']) and strpos($_SERVER['HTTP_USER_AGENT'],'MSIE'))
Header('Content-Type: application/force-download');


else
Header('Content-Type: application/octet-stream');




Header('Accept-Ranges: bytes');

Header('Content-Length: '.strlen($Data));

Header('Content-disposition: attachment; filename="'.$servername.'-'.$login.'.txt"');

echo $Data;

exit();
//Enchanced Registration by ReaM
//(c) http://forum.zone-game.info/showthread.php?t=25520
?>

 

 

Сгенерировать красивую надпись в ASCII можно тут:

http://www.network-science.de/ascii/

 

2. Добавляем на самый верх register.tpl следующий код:

 


<script type="text/javascript">

                       function getPass( obj,obj2 ){

                           var i, interval, words = "";

                           words += "qwertyuiopasdfghjklzxcvbnm";

                           words += "QWERTYUIOPASDFGHJKLZXCVBNM";

                           words += "1234567890";

                           ( obj = document.getElementById( obj ) ).value = "";

                           ( obj2 = document.getElementById( obj2 ) ).value = "";

                           var new_word_timeout = 100; // время между появлением новых букв.

                           var word_timeout = 10; // время между сменой букв

                           var word_count = 10; // количество букв

                           if( arguments.length > 1 ){

                               word_count = parseInt( arguments[2], 10 );

                           }

                           new function(){

                               this.getNextWord = function(){

                                   obj.value += " ";

                                   obj2.value += " ";

                               }

                               this.getWord = function(){

                                   obj.value =

                                       obj.value.substring( 0, obj.value.length - 1 ) +

                                           words.charAt( getRand( 0, words.length -1 ) )

                                   ;

                                   obj2.value = obj.value;

                               }

                               this.stop = function(){

                                   clearInterval( interval );

                               }

                               for( i = 0; i < word_count; i ++ ){

                                   setTimeout( this.getNextWord, i * new_word_timeout );

                               }

                               interval = setInterval( this.getWord, word_timeout );

                               setTimeout( this.stop, new_word_timeout * word_count );

                           }

                       }

                       function getRand( min, max ){

                           return Math.round( Math.random( ) * ( max - min ) ) + min;

                       }



                       function set_readonly_state(obj3, obj4) {

                           document.getElementById(obj3).removeAttribute('readonly');

                           document.getElementById(obj4).removeAttribute('readonly');

                       }

                       // -->

                   </script>

 

3. Заменяем в register.tpl


<tr>
<td class="tdLeft">Пароль:<br><span class="description">(От 6 до 16 символов)</span></td>
  <td class="tdRight"><input type="password" name="l2password1" maxlength="16" class="input"></td>
</tr>

 

на

 


<tr>
<td class="tdLeft">Пароль:<br><span class="description">(От 6 до 16 символов)</span></td>
  <td class="tdRight"><input type="text" name="l2password1" maxlength="16" class="input" id="l2password1">
<a href="#" onclick="getPass( 'l2password1','l2password2', 8 ); this.blur(); return false;"><img height="17" width="16" onmouseup="this.src='../ff-genpwd.gif'" onmousedown="this.src='../ff-genpwd-a.gif'" class="input-img" src="../ff-genpwd.gif" alt ="Сгенерировать пароль"></a>


</td>
</tr>
<tr>
<td colspan = "3"><center>
<font color="#3CAA3C">(рекомендуем <a href="#" onclick="getPass( 'l2password1','l2password2', 8 ); this.blur(); return false;">сгенерировать автоматически</a>)</font>
</center>
</td>
</tr>

 

В файле /application/register.php после

 


if ( !$l2cfg["reg_activate"] ) {
                       $ldb[$lid]->SuperQuery( $qList[$vls]["insAccount"], array("login" => $_login, "pass" => $_pass, "l2email" => $_l2email) );
                       if ( $ldb[$lid]->affected() == 1 ) {  

 

добавить

 


$lang["reg_err_8"] .= '<script>
function subm() {
document.forms[\'form1\'].submit();
}
setTimeout(subm, 1000); // 1000 = 1 секунда
</script>

<!-- Enchanced Registration by ReaM -->
<!-- http://forum.zone-game.info/showthread.php?t=25520 -->
                       <form id="form1" name="form1" action="/reg_dl.php" method=post>

<input type="hidden" value = "'.$_login.'" id = "login" name = "login">

<input type="hidden" value = "'.$_l2pass1.'" id = "pass" name = "pass">

<input type="hidden" value = "'.$_l2email.'" id = "email" name = "email">

<input type="button" value = "Скачать данные авторизации в виде txt файла" name = "button" class="regbutton" onclick="subm()">

</form>';  

 

Если не хотите чтобы автоматически скачивался файл, а только при клике на кнопку, тогда удалите

 


<script>
function subm() {
document.forms[\'form1\'].submit();
}
setTimeout(subm, 1000); // 1000 = 1 секунда
</script>  

 

 

 

Взято с ЗГ (не реклама)



Рекомендуемые комментарии

Комментариев нет

×
×
  • Создать...