Вход Регистрация
Файл: public_html/pages/account.php
Строк: 252
<?php
#-----------------------------------------------------#
#          ********* ROTORCMS *********               #
#              Made by  :  VANTUZ                     #
#               E-mail  :  visavi.net@mail.ru         #
#                 Site  :  http://pizdec.ru           #
#             WAP-Site  :  http://visavi.net          #
#                  ICQ  :  36-44-66                   #
#  Вы не имеете право вносить изменения в код скрипта #
#        для его дальнейшего распространения          #
#-----------------------------------------------------#
require_once ('../includes/start.php');
require_once (
'../includes/functions.php');
require_once (
'../includes/header.php');
include_once (
'../themes/' $config['themes'] . '/index.php');

if (isset(
$_GET['act'])) {
  
$act check($_GET['act']);
} else {
  
$act 'index';


show_title('setting.png''Мои данные');
$config['newtitle'] = 'Мои данные';

if (
is_user()) {
  switch (
$act):
  
# ###########################################################################################
  # #                                    Изменение e-mail                                    ##
  # ###########################################################################################
  
case 'index':

    echo 
'<img src="../images/img/document.gif" alt="image" /> ';
    echo 
'<a href="anketa.php?' SID '">Моя анкета</a> / ';
    echo 
'<a href="profil.php?' SID '">Мой профиль</a> / ';
    echo 
'<b>Мои данные</b><hr />';

    echo 
'<b><big>Изменение E-mail</big></b><br />';

    if (empty(
$udata['users_email']) || $udata['users_point'] >= $config['editmailpoint']) {
      echo 
'<div class="form">';
      echo 
'<form method="post" action="account.php?act=editmail&amp;uid=' $_SESSION['token'] . '&amp;' SID '">';
      echo 
'Е-mail:<br />';
      echo 
'<input name="meil" maxlength="50" value="' $udata['users_email'] . '" /><br />';
      echo 
'Текущий пароль:<br />';
      echo 
'<input name="provpass" type="password" /><br />';
      echo 
'<input value="Изменить" type="submit" /></form></div><br />';
    } else {
      
show_error('Изменять e-mail могут пользователи у которых более ' points($config['editmailpoint']) . '!');
    } 
    
# ###########################################################################################
    # #                                Изменение ника                                          ##
    # ###########################################################################################
    
echo '<b><big>Изменение ника</big></b><br />';

    if (
$udata['users_point'] >= $config['editnickpoint']) {
      echo 
'<div class="form">';
      echo 
'<form method="post" action="account.php?act=editnick&amp;uid=' $_SESSION['token'] . '&amp;' SID '">';
      echo 
'Ваш ник:';

      if (!empty(
$udata['users_nickname'])) {
        echo 
' (<a href="account.php?act=delnick&amp;uid=' $_SESSION['token'] . '&amp;' SID '">Удалить</a>)';
      } 

      echo 
'<br />';
      echo 
'<input name="nickname" maxlength="20" value="' $udata['users_nickname'] . '" /><br />';
      echo 
'<input value="Изменить" type="submit" /></form></div><br />';
    } else {
      
show_error('Изменять ник могут пользователи у которых более ' points($config['editnickpoint']) . '!');
    } 
    
# ###########################################################################################
    # #                                Восстановление пароля                                   ##
    # ###########################################################################################
    
echo '<b><big>Восстановление пароля</big></b><br />';
    echo 
'<div class="form">';
    echo 
'<form method="post" action="account.php?act=editsec&amp;uid=' $_SESSION['token'] . '&amp;' SID '">';
    echo 
'Секретный вопрос:';

    if (!empty(
$udata['users_secquest'])) {
      echo 
' (<a href="account.php?act=delsec&amp;uid=' $_SESSION['token'] . '&amp;' SID '">Удалить</a>)';
    } 

    echo 
'<br /><input name="secquest" maxlength="50" value="' $udata['users_secquest'] . '" /><br />';
    echo 
'Ответ на вопрос:<br /><input name="secanswer" maxlength="30" /><br />';
    echo 
'Текущий пароль:<br /><input name="provpass" maxlength="20" /><br />';
    echo 
'<input value="Изменить" type="submit" /></form></div><br />';
    
# ###########################################################################################
    # #                                    Изменение пароля                                    ##
    # ###########################################################################################
    
echo '<b><big>Изменение пароля</big></b><br />';

    echo 
'<div class="form">';
    echo 
'<form method="post" action="account.php?act=editpass&amp;uid=' $_SESSION['token'] . '&amp;' SID '">';
    echo 
'Новый пароль:<br /><input name="newpass" maxlength="20" /><br />';
    echo 
'Повторите пароль:<br /><input name="newpass2" maxlength="20" /><br />';
    echo 
'Текущий пароль:<br /><input name="oldpass" maxlength="20" /><br />';
    echo 
'<input value="Изменить" type="submit" /></form></div><br />';
    break;
  
# ###########################################################################################
  # #                                     Изменение e-mail                                   ##
  # ###########################################################################################
  
case 'editmail':

    
$uid check($_GET['uid']);
    
$meil strtolower(check($_POST['meil']));
    
$provpass check($_POST['provpass']);

    if (
$uid == $_SESSION['token']) {
      if (empty(
$udata['users_email']) || $udata['users_point'] >= $config['editmailpoint']) {
        if (
$meil != $udata['users_email']) {
          if (
md5(md5($provpass)) == $udata['users_pass']) {
            if (
preg_match('#^([a-z0-9_-.])+@([a-z0-9_-.])+(.([a-z0-9])+)+$#'$meil)) {
              
$regmail DB :: $dbh -> querySingle("SELECT `users_id` FROM `users` WHERE `users_email`=? LIMIT 1;", array($meil));
              if (empty(
$regmail)) {
                
$blackmail DB :: $dbh -> querySingle("SELECT `black_id` FROM `blackmail` WHERE `black_mail`=? LIMIT 1;", array($meil));
                if (empty(
$blackmail)) {
                  
DB :: $dbh -> query("UPDATE `users` SET `users_email`=? WHERE `users_login`=?", array($meil$log));

                  
$_SESSION['note'] = 'Ваши данные успешно изменены!';
                  
header ("Location: account.php?" SID);
                  exit;
                } else {
                  
show_error('Ошибка! Указанный вами адрес e-mail занесен в черный список!');
                } 
              } else {
                
show_error('Ошибка! Указанный вами адрес e-mail уже используется в системе!');
              } 
            } else {
              
show_error('Неправильный адрес e-mail, необходим формат name@site.domen!');
            } 
          } else {
            
show_error('Ошибка! Пароль не совпадает с данными в профиле!');
          } 
        } else {
          
show_error('Ошибка! Вы ввели ваш текущий адрес e-mail!');
        } 
      } else {
        
show_error('Изменять e-mail могут пользователи у которых более ' points($config['editmailpoint']) . '!');
      } 
    } else {
      
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
    } 

    echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="account.php?' SID '">Вернуться</a><br />';
    break;
  
# ###########################################################################################
  # #                                     Удаление ника                                      ##
  # ###########################################################################################
  
case 'delnick':

    
$uid check($_GET['uid']);
    if (
$uid == $_SESSION['token']) {
      if (
$udata['users_point'] >= $config['editnickpoint']) {
        if (!empty(
$udata['users_nickname'])) {
          
DB :: $dbh -> query("UPDATE `users` SET `users_nickname`=?, `users_timenickname`=? WHERE `users_login`=?", array(''SITETIME 86400$log));

          
save_nickname();

          
$_SESSION['note'] = 'Ваш ник успешно удален!';
          
header ("Location: account.php?" SID);
          exit;
        } else {
          
show_error('Ошибка! У вас не установлен ник!');
        } 
      } else {
        
show_error('Ошибка! У вас недостаточно актива для изменения ника!');
      } 
    } else {
      
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
    } 

    echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="account.php?' SID '">Вернуться</a><br />';
    break;
  
# ###########################################################################################
  # #                                     Изменение ника                                     ##
  # ###########################################################################################
  
case 'editnick':

    
$uid check($_GET['uid']);
    
$nickname check(trim($_POST['nickname']));

    if (
$uid == $_SESSION['token']) {
      if (
$udata['users_point'] >= $config['editnickpoint']) {
        if (
$udata['users_timenickname'] < SITETIME) {
          if (
preg_match('|^[0-9a-zA-Zа-яА-ЯЁё_.-s]+$|u'$nickname)) {
            if (
utf_strlen($nickname) >= && utf_strlen($nickname) <= 20) {
              if (
$nickname != $udata['users_nickname']) {
                
$reglogin DB :: $dbh -> querySingle("SELECT `users_id` FROM `users` WHERE lower(`users_login`)=? LIMIT 1;", array(rus_utf_tolower($nickname)));
                if (empty(
$reglogin)) {
                  
$regnick DB :: $dbh -> querySingle("SELECT `users_id` FROM `users` WHERE lower(`users_nickname`)=? LIMIT 1;", array(rus_utf_tolower($nickname)));
                  if (empty(
$regnick)) {
                    
$blacklogin DB :: $dbh -> querySingle("SELECT `black_id` FROM `blacklogin` WHERE lower(`black_login`)=? LIMIT 1;", array(strtolower($nickname)));
                    if (empty(
$blacklogin)) {
                      
DB :: $dbh -> query("UPDATE `users` SET `users_nickname`=?, `users_timenickname`=? WHERE `users_login`=?", array($nicknameSITETIME 86400$log));

                      
save_nickname();

                      
$_SESSION['note'] = 'Ваш ник успешно изменен!';
                      
header ("Location: account.php?" SID);
                      exit;
                    } else {
                      
show_error('Ошибка! Выбранный вами ник занесен в черный список!');
                    } 
                  } else {
                    
show_error('Ошибка! Выбранный вами ник уже занят!!');
                  } 
                } else {
                  
show_error('Ошибка! Выбранный вами ник используется кем-то в качестве логина!');
                } 
              } else {
                
show_error('Ошибка! Вы уже используете выбранный вами ник!');
              } 
            } else {
              
show_error('Ошибка! Слишком длинный или короткий ник! (от 3 до 20 символов)');
            } 
          } else {
            
show_error('Недопустимые символы, разрешены символы русского и латинского алфавита, а также цифры!');
          } 
        } else {
          
show_error('Ошибка! Изменять ник можно не чаще чем 1 раз в сутки!');
        } 
      } else {
        
show_error('Ошибка! У вас недостаточно актива для изменения ника!');
      } 
    } else {
      
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
    } 

    echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="account.php?' SID '">Вернуться</a><br />';
    break;
  
# ###########################################################################################
  # #                                   Удаление вопроса                                     ##
  # ###########################################################################################
  
case 'delsec':

    
$uid check($_GET['uid']);
    if (
$uid == $_SESSION['token']) {
      if (!empty(
$udata['users_secquest'])) {
        
DB :: $dbh -> query("UPDATE `users` SET `users_secquest`=?, `users_secanswer`=? WHERE `users_login`=?", array(''''$log));

        
$_SESSION['note'] = 'Секретный вопрос и ответ успешно удалены!';
        
header ("Location: account.php?" SID);
        exit;
      } else {
        
show_error('Ошибка! У вас не установлен секретный вопрос!');
      } 
    } else {
      
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
    } 

    echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="account.php?' SID '">Вернуться</a><br />';
    break;
  
# ###########################################################################################
  # #                                    Изменение вопроса                                   ##
  # ###########################################################################################
  
case 'editsec':

    
$uid check($_GET['uid']);
    
$secquest check($_POST['secquest']);
    
$secanswer check($_POST['secanswer']);
    
$provpass check($_POST['provpass']);

    if (
$uid == $_SESSION['token']) {
      if (
md5(md5($provpass)) == $udata['users_pass']) {
        if (
utf_strlen($secquest) >= && utf_strlen($secquest) <= 50) {
          if (
utf_strlen($secanswer) >= && utf_strlen($secanswer) <= 30) {
            
DB :: $dbh -> query("UPDATE `users` SET `users_secquest`=?, `users_secanswer`=? WHERE `users_login`=?", array($secquestmd5(md5($secanswer)), $log));

            
$_SESSION['note'] = 'Секретный вопрос и ответ успешно изменены!';
            
header ("Location: account.php?" SID);
            exit;
          } else {
            
show_error('Ошибка! Слишком длинный или короткий секретный ответ (от 3 до 30 символов)!');
          } 
        } else {
          
show_error('Ошибка! Слишком длинный или короткий секретный вопрос (от 3 до 50 символов)!');
        } 
      } else {
        
show_error('Ошибка! Текущий пароль не совпадает с данными в профиле!');
      } 
    } else {
      
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
    } 

    echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="account.php?' SID '">Вернуться</a><br />';
    break;
  
# ###########################################################################################
  # #                                     Изменение пароля                                   ##
  # ###########################################################################################
  
case 'editpass':

    
$uid check($_GET['uid']);
    
$newpass check($_POST['newpass']);
    
$newpass2 check($_POST['newpass2']);
    
$oldpass check($_POST['oldpass']);

    if (
$uid == $_SESSION['token']) {
      if (
preg_match('|^[a-z0-9-]+$|i'$newpass)) {
        if (
md5(md5($oldpass)) == $udata['users_pass']) {
          if (
$log != $newpass) {
            if (!
ctype_digit($newpass)) {
              if (
$newpass == $newpass2) {
                if (
strlen($newpass) <= 20 && strlen($newpass) >= 3) {
                  
DB :: $dbh -> query("UPDATE `users` SET `users_pass`=? WHERE `users_login`=?", array(md5(md5($newpass)), $log));

                  
addmail($udata['users_email'], "Изменение пароля на сайте " $config['title'], "Здравствуйте, " nickname($log) . " nВами была произведена операция по изменению пароля nnВаш новый пароль: " $newpass " nСохраните его в надежном месте nnДанные инициализации: nIP: " $ip " nБраузер: " $brow " nВремя: " date('j.m.y / H:i'SITETIME));

                  unset(
$_SESSION['log']);
                  unset(
$_SESSION['par']);

                  
$_SESSION['note'] = 'Пароль успешно изменен!';
                  
header ("Location: login.php?" SID);
                  exit;
                } else {
                  
show_error('Ошибка! Слишком длинный или короткий новый пароль (От 3 до 20 символов)!');
                } 
              } else {
                
show_error('Ошибка! Новые пароли не совпадают!');
              } 
            } else {
              
show_error('Ошибка! Запрещен пароль состоящий только из цифр, используйте буквы!');
            } 
          } else {
            
show_error('Ошибка! Пароль и логин должны отличаться друг от друга!');
          } 
        } else {
          
show_error('Ошибка! Текущий пароль не совпадает с данными в профиле!');
        } 
      } else {
        
show_error('Недопустимые символы в пароле, только знаки латинского алфавита, цифры и дефис!');
      } 
    } else {
      
show_error('Ошибка! Неверный идентификатор сессии, повторите действие!');
    } 

    echo 
'<img src="../images/img/back.gif" alt="image" /> <a href="account.php?' SID '">Вернуться</a><br />';
    break;

  default:
    
header("location: account.php?" SID);
    exit;
    endswitch;
  } else {
  
show_login('Вы не авторизованы, чтобы изменять свои данные, необходимо');


echo 
'<img src="../images/img/homepage.gif" alt="image" /> <a href="../index.php?' SID '">На главную</a>';

include_once (
"../themes/" $config['themes'] . "/foot.php");

?>
Онлайн: 2
Реклама