Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- if($module7==1){
- session_start();
- $error = 1;
- $dberror=0;
- if($securitycheck!=1) {
- echo "<center><span style='color:blue'><h1>Engine error: FATAL ERROR #001</h1></span><br></center>";
- exit;
- }
- $dbconnect=mssql_connect($mssql_host,$mssql_login,$mssql_pass);
- if(!$dbconnect) { echo "<h1>Engine Error: Fatal Error #002</h1><br>Извините, сервис недоступен по техническим причинам. Попробуйте позже."; $dberror=1; }
- if($dberror!=1) {
- echo "
- <b><center><h3><span style='font-size: 110%'>Уважаемые игроки!</span><h3></center></b><br>
- Для того, чтобы изменить ник персонажу, заполните форму приведенную ниже.<BR>Внимание! За смену ника, с указанного вами персонажа, будет сделано списание $colexname в кол-ве $colexcol.<BR><br>
- ";
- if($_POST['action']=='changepassword') {
- echo "<div align=center>";
- if(count($_POST)>0){
- if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring']){
- $error = 2;
- $user = $_POST['user'];
- if(antiinjection($user)){ $username=$user;
- $oldpwd = $_POST['oldpassword'];
- if(antiinjection($oldpwd)){ $oldpassword=$oldpwd;
- $oldname = $_POST['oldname'];
- if(antiinjection($oldname)){ $oldnamez=$oldname;
- $newname = $_POST['newname'];
- if(antiinjection($newname)){ $newnamez=$newname;
- if (strlen($username)<4 || strlen($username)>14) {
- echo "<span style='color:red'>Длина имени аккаунта заключена в диапазон от 4 до 14 символов.</span><br>";
- $error = 1;
- } else {
- if (strlen($oldpassword)<3 || strlen($oldpassword)>16) {
- echo "<span style='color:red'>Длина старого пароля заключена в диапазон от 3 до 16 символов.</span><br>";
- $error = 1;
- } else {
- if (strlen($oldnamez)<2 || strlen($oldnamez)>16) {
- echo "<span style='color:red'>Длина старого ника заключена в диапазон от 2 до 16 символов.</span><br>";
- $error = 1;
- } else {
- if (strlen($newnamez)<2 || strlen($newnamez)>16) {
- echo "<span style='color:red'>Длина нового ника заключена в диапазон от 2 до 16 символов.</span><br>";
- $error = 1;
- } else {
- // if (!preg_match("/^[\W]+$/", $newnamez)) {
- if (preg_match("/[^0-9a-zA-Z]+/", $newnamez)) {
- echo "<span style='color:red'>Новый ник должен содержать только латинские буквы и цифры.</span><br>";
- $error = 1;
- } else {
- connectdb($lin2db, $mssql_host, $mssql_login, $mssql_pass);
- $result = mssql_query (sprintf(SELECT_USER_PASS, $username));
- if(mssql_num_rows($result)>0 ) {
- $rows=mssql_fetch_assoc($result);
- extract($rows);
- $password = '0x' . bin2hex($password);
- $oldpassword = encrypt($oldpassword);
- if ($password!=$oldpassword) {
- echo "<span style='color:red'>Старый пароль неверен.</span><br>";
- $error = 1;
- }
- } else {
- echo "<span style='color:red'>Аккаунт не существует.</span><br>";
- $error = 1;
- }
- } } } } }
- } else { $error=1; echo "<span style='color:red'>Неверные данные в графе - новый ник.</span><br>"; }
- } else { $error=1; echo "<span style='color:red'>Неверные данные в графе - старый ник.</span><br>"; }
- } else { $error=1; echo "<span style='color:red'>Неверные данные в графе - пароль.</span><br>"; }
- } else { $error=1; echo "<span style='color:red'>Неверные данные в графе - Аккаунт.</span><br>"; }
- }else{
- echo "<span style='color:red'>Неправильно введен код с картинки.</span><br>";
- $error = 1;
- }
- }
- unset($_SESSION['captcha_keystring']);
- echo "</div>";
- }
- // Checked by Dev -- OK
- if($error<2) {
- echo "
- <br>
- <form name='changepassword' action='index.php?page=name' method='post' onsubmit='return checkForm(this);'>
- <fieldset>
- <legend><b>Изменение ника:</b></legend>
- <table cellspacing=0 border=0 cellpadding=0 width=100%>
- <tr><td align=left>
- <i><b>Аккаунт:</b></i>
- </td>
- <td align=right><br>
- <div align=right>
- <input type=text maxlength=16 name=user><br><br>
- </div>
- </td></tr>
- <tr><td align=left>
- <i><b>Пароль:</b></i>
- </td>
- <td align=right><br>
- <div align=right>
- <input type=password maxlength=16 name=oldpassword><br><br>
- </div>
- </td></tr>
- <tr><td align=left>
- <i><b>Старый Ник:</b></i>
- </td>
- <td align=right><br>
- <div align=right>
- <input type=text maxlength=16 name=oldname><br><br>
- </div>
- </td></tr>
- <tr><td align=left>
- <i><b>Новый ник:</b></i>
- </td>
- <td align=right><br>
- <div align=right>
- <input type=text maxlength=16 name=newname><br><br>
- </div>
- </td></tr>
- </table>
- </fieldset>
- <br>
- <fieldset>
- <legend><b>Защита от подбора паролей:</b></legend>
- <table cellspacing=0 border=0 cellpadding=0 width=100%>
- <td align=left><br><br><br><br><br>
- <b><i>Код на картинке:</i></b>
- </td>
- <td align=right>
- <div align=right>
- <div class='captha'><a tooltip='Обновить код' href='JavaScript: new_captcha();'><img id='capchaimagereg' src='captha/index.php?";
- echo session_name();
- echo "=";
- echo session_id();
- echo "' height='50' width='120'></a><br></div><br>
- <input type=text maxlength=16 name=keystring value=''>
- </div>
- </td></table>
- </fieldset>
- <div align=right>
- <BR>
- <input type=hidden name=action value='changepassword'>
- <h9><span><input type=submit class='btn' name=submit value='Подтвердить'></span></h9>
- </div>
- </form>
- ";
- }
- if($error==2) {
- mssql_connect($mssql_host,$mssql_login,$mssql_pass);
- mssql_select_db($lin2world);
- $result=mssql_query("SELECT * FROM user_data WHERE char_name='$newnamez'");
- if(mssql_num_rows($result)==0){
- $result=mssql_query("SELECT * FROM user_data WHERE char_name='$oldnamez' and account_name='$username'");
- if(mssql_num_rows($result)>0){
- $charid=mssql_result($result, 0, 'char_id');
- $result=mssql_query("SELECT * FROM user_item WHERE char_id='$charid' and item_type='$colexid' and amount>='$colexcol'");
- if(mssql_num_rows($result)>0){
- $warexha=mssql_result($result, 0, 'warehouse');
- $itemiud=mssql_result($result, 0, 'item_id');
- $amountex=mssql_result($result, 0, 'amount');
- //Обращаемся к CacheD
- include('config/cached.php');
- $cached = new CacheD;
- $char_id = $charid;
- $item_warehouse = $warexha;
- $item_uid = $itemiud;
- $amount = $colexcol;
- if ($cached -> KickCharacterPacket($char_id)) {
- $cached -> KickCharacterPacket($char_id);
- if ($cached -> DelItemPacket($char_id, $item_warehouse, $item_uid, $amount)){
- $xcolvo = $amountex - $colexcol;
- //echo "$char_id | $item_warehouse | $item_uid | $amount | $xcolvo | $amountex | $colexcol |";
- if($xcolvo==0){
- $result=mssql_query("SELECT * FROM user_item WHERE char_id='$charid' and item_type='$colexid' and warehouse='$warexha'");
- if(mssql_num_rows($result)>0){
- echo "<span style='color:red'>Error 893. Ошибка при проведении транзакции, попробуйте еще раз.</span><br>";
- }else{
- $nametoken = 1;
- }
- }else{
- $result=mssql_query("SELECT * FROM user_item WHERE char_id='$charid' and item_type='$colexid' and warehouse='$warexha'");
- if(mssql_num_rows($result)>0){
- $giveamox=mssql_result($result, 0, 'amount');
- if($xcolvo==$giveamox) {
- $nametoken = 1;
- }else{ echo "<span style='color:red'>Error 891. Ошибка при проведении транзакции, попробуйте еще раз.</span><br>";
- }
- }else{ echo "<span style='color:red'>Error 890. Ошибка при проведении транзакции, попробуйте еще раз.</span><br>";
- }
- }
- }else{
- echo "<span style='color:red'>Error 894. Ошибка при проведении транзакции, попробуйте еще раз.</span><br>";
- }
- }else{
- echo "<span style='color:red'>Error 895. Сервер не работает.</span><br>";
- }
- }else{
- echo "<span style='color:red'>У вашего персонажа нет $colexname или их меньше чем $colexcol штук.</span><br>";
- }
- }else{
- echo "<span style='color:red'>На вашем аккаунте нет персонажа с ником $oldnamez.</span><br>";
- }
- }else{
- echo "<span style='color:red'>Указанный новый ник уже используется, выберите новый.</span><br>";
- }
- }
- if($nametoken==1){
- //Обращаемся к CacheD
- if ($cached -> KickCharacterPacket($char_id)) {
- $new_char_name = $newnamez;
- $cached -> KickCharacterPacket($char_id);
- $cached -> ChangeCharacterNamePacket($char_id,$new_char_name);
- $result=mssql_query("SELECT * FROM user_data WHERE char_id='$char_id'");
- $resname=mssql_result($result, 0, 'char_name');
- $realIP = $_SERVER["REMOTE_ADDR"];
- $thedata = date("d.m.Y H:i");
- $success = "$realIP;$thedata;Произведена смена ника персонажу $oldnamez на $resname \r\n";
- $file = fopen("log/changename.txt", "a+");
- fwrite($file, $success);
- fclose($file);
- echo "<span style='color:green'>Ник изменен. При возникновенни вопросов обратитесь к администратору.</span><br>";
- }
- }
- }
- }else{
- echo $errfield;
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement