Авторизация
Подписчики
0
Сохранение данных аккаунта после регистрации в СВ
Описание
Мануал
Описание
1. При регистрации появляется дополнительная кнопка
при нажатии на которую красиво генерируется пароль.
2. После регистрации на компьютер качается файл
Опционально, можно качать принудительно, либо только при клике на кнопку.
Установка
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>
Взято с ЗГ (не реклама)
Рекомендуемые комментарии
Комментариев нет