Файл: mlord.ru/mlord.ru/settings.php
Строк: 156
<?
// Автор проекта GEARBAKC
// Офф.сайт GEARNET.RU
// http://gearnet.ru/users/1
// Только эксклюзивные скрипты!
require_once('core/index.php');
require_once('core/func.php');
avt();
$title='Настройки';
require_once('design/head.php');
$act=isset($_GET['act'])?$_GET['act']:null;
switch($act){
default:
if(isset($_GET['mail_ok'])){
if(empty($user['mail'])){$err='E-mail не заполнен';}
if(!isset($err)){
$kod=substr(md5($user['login'].$user['id'].mt_rand(11,999)), 0, 12);
$message='Здравствуйте, '.$user['login'].'. Для подтверждения e-mail введите код: '.$kod;
include 'core/libmail.php';
$m= new Mail;
$m->From('support@mlord.ru');
$m->To($user['mail']);
$m->Subject('Подтверждение e-mail :: '.$user['login']);
$m->Body($message);
$m->Priority(3);
$m->log_on(true);
$m->Send();
request("UPDATE `users` SET `mail_s`=?, `kod`=? WHERE `id`=?", array(1, $kod, $user['id']));
$_SESSION['msg']='На e-mail '.$user['mail'].' отправлен код для подтверждения';
}else{
$_SESSION['msg']=$err;}
header('Location:?');
}
if(isset($_POST['kod']) && $user['mail_s']==1){
if($_POST['kod']!=$user['kod']){$err='Не верный код';}
if(!isset($err)){
request("UPDATE `users` SET `mail_s`=?, `kod`=? WHERE `id`=?", array(2, '', $user['id']));
$_SESSION['msg']='E-mail подтвержден';
}else{$_SESSION['msg']=$err;}
header('Location:?');
}
if(isset($_POST['logo'])){
if($_POST['logo']>1 || $_POST['logo']<0)$err='Не выбрана настройка логотипа';
if(!isset($err)){
request("UPDATE `users` SET `logo`=? WHERE `id`=?", array($_POST['logo'], $user['id']));
$_SESSION['msg']='Сохранено';
}else{
$_SESSION['msg']=$err;}
header('Location:?');
}
echo '<div class="h2"><img src="/design/ico/png/referal.png"> <a href=/settings/ref>Реферальная система</a></div>';
echo '<div class="h2"><img src="/design/ico/png/administration.png"> <a href=/settings/login>Смена ника</a></div>';
echo '<div class="h2"><img src="/design/ico/png/key.png"> <a href=/settings/pass>Смена пароля</a></div>';
echo '<div class="h2"><img src="/design/ico/png/trash.png"> <a href=/shop/color>Градиент ника</a></div>';
echo '<div class="h2"><img src="/design/ico/png/right.png"> <a href=/settings/rasa>Смена
стороны (500 рубинов)</a></div>';
echo '<div class="h2"><form method="post" action="?">Вывод логотипа:<br />
<input type="radio" name="logo" '.($user['logo'] == 0 ? 'checked="checked"' : NULL).' value="0" /> Вкл<br />
<input type="radio" name="logo" '.($user['logo'] == 1 ? 'checked="checked"' : NULL).' value="1" /> Выкл<br />
<input type="submit" value="Сохранить"></form></div>';
echo '<div class="h2">';
if(empty($user['mail'])){
echo '<a href=/settings/mail>E-mail</a>';
}else{
echo 'E-mail: '.filter($user['mail']).'<br/>';
if($user['mail_s']==0){
echo '<font color="red">Не подтверждено</font> | <a href=?mail_ok>Подтвердить</a>';
}elseif($user['mail_s']==1){
echo '<font color="yellow">В ожидании подтверждения</font><br/><form method="post" action="?"><input type="text" name="kod"><br/>
<input type="submit" value="Подтвердить"></form>';
}elseif($user['mail_s']==2){
echo '<font color="green">Подтверждено</font>';
}
}
echo '</div>';
echo '<div class="h2"><img src="/design/ico/png/exit.png"> <a href=/exit>Выход</a></div>';
break;
case ('ref'):
echo '<div class="h2">Ссылка для друзей:<br/> <input type="text" value="'.$_SERVER['HTTP_HOST'].'/?ref='.$user['id'].'"><br/>';
$count=$db->query("SELECT id FROM `users` WHERE `ref`='".$user['id']."'")->rowCount();
echo 'Вы привели: '.$count.'<br/>';
require 'core/pagination.php';
$pagination = new Pagination;
$pagination->sett($count, 10, true);
$res = $db->query("SELECT * FROM `users` WHERE `ref`='".$user['id']."'" . $pagination->limit());
foreach($res as $ref){
echo '<a href=/profile/'.$ref['id'].'>'.us($ref['id']).'</a><br/>';
}
echo '</div>';
echo $pagination->get();
echo '<div class="h2"><a href=/settings>Назад</a></div>';
break;
case ('pass'):
if(isset($_POST['ok'])){
if(md5(md5($_POST['pass2']))!=md5(md5($_POST['pass3']))){$err='Пароли не совпадают';}
if(empty($_POST['pass2']) || (strlen($_POST['pass2'])<6) || strlen($_POST['pass2'])>30){$err='Пароль должен быть от 6 до 30 символов';}
if(md5(md5($_POST['pass']))!=$user['pass']){$err='Старый пароль не верен';}
if(!isset($err)){
request("UPDATE `users` SET `pass`=? WHERE `id`=?", array(md5(md5($_POST['pass2'])), $user['id']));
$_SESSION['msg']='Сохранено';
header('Location:?');
}else{
$_SESSION['msg']=$err;
header('Location:?');
}
}
echo '<div class="h2"><form action="?" method="post">';
echo 'Старый пароль:<br/><input type="text" name="pass"><br/>';
echo 'Новый пароль:<br/><input type="text" name="pass2"><br/>';
echo 'Повторите пароль:<br/><input type="text" name="pass3"><br/>';
echo '<input type="submit" name="ok" value="Сменить">';
echo '</form></div>';
echo '<div class="h2"><a href=/settings>Назад</a></div>';
break;
case ('login'):
$count=$db->query("SELECT id FROM `history_nick` WHERE `id_user`='".$user['id']."'")->rowCount();
if(isset($_POST['ok'])){
if(!preg_match("#^([A-zА-я0-9-_ ])+$#ui", $_POST['login'])){$err='В нике присутствуют запрещенные символы';}
if(preg_match("#[а-я]+#ui", $_POST['login'])){$err='Разрешается использовать символы только английского алфавита и цифры';}
if(preg_match("#(^ )|( $)#ui", $_POST['login'])){$err='Запрещено использовать пробел в начале и конце ника';}
$count=$db->query("SELECT id FROM `users` WHERE `login`='".$_POST['login']."'")->rowCount();
if($count==1){$err='Ник уже занят';}
if(strlen($_POST['login'])<4 || strlen($_POST['login'])>15){$err='Ник должен быть от 4 до 15 символов';}
if($count>=3){if($user['rubin']<50){$err='Не хватает рубнов для смены ника';}}
if(!isset($err)){
$history=$user['login'].'⇒'.$_POST['login'];
request("INSERT INTO `history_nick` SET `history`=?, `id_user`=?, `time`=?", array($history, $user['id'], time()));
request("UPDATE `users` SET `login`=? WHERE `id`=?", array($_POST['login'], $user['id']));
if($count>=3){request("UPDATE `users` SET `rubin`=`rubin`-? WHERE `id`=?", array('50', $user['id']));}
$_SESSION['msg']='Изменено';
header('Location:?');
}else{
$_SESSION['msg']=$err;
header('Location:?');
}
}
echo '<div class="h2"><form action="?" method="post">';
echo $count<3?'Бесплатных попыток осталось '.(3-$count):'Смена ника стоит 50 рубинов';
echo '<br/>Новый ник :<br/><input type="text" name="login"><br/>';
echo '<input type="submit" name="ok" value="Сменить">';
echo '</form></div>';
echo '<div class="h2"><a href=/settings>Назад</a></div>';
break;
case ('rasa'):
if($user['rubin']<500){$err='Не хватает рубнов для смены стороны.';}
if(isset($guild_us['id'])){$err='Запрещено. Вы состоите в гильдии';}
if(!isset($err)){
$rasa=$user['rasa']==1?'2':'1';
request("UPDATE `users` SET `rasa`=?, `rubin`=`rubin`-? WHERE `id`=?", array($rasa, '500', $user['id']));
$_SESSION['msg']='Изменено';
header('Location:/settings');
}else{
$_SESSION['msg']=$err;
header('Location:/settings');
}
break;
case ('mail'):
if(isset($_POST['ok'])){
$count=$db->query("SELECT id FROM `users` WHERE `mail`='".$_POST['mail']."'")->rowCount();
if($count!=0){$err='E-mail уже занят';}
if(strlen($_POST['mail'])<4 || strlen($_POST['mail'])>30){$err='E-mail должен быть от 4 до 30 символов';}
if(!empty($user['mail'])){$err='E-mail уже заполнен';}
if(!isset($err)){
request("UPDATE `users` SET `mail`=? WHERE `id`=?", array($_POST['mail'], $user['id']));
$_SESSION['msg']='Сохранено';
header('Location:/settings');
}else{
$_SESSION['msg']=$err;
header('Location:?');
}
}
echo '<div class="h2"><form action="?" method="post">';
echo '<br/>E-mail:<br/><input type="text" name="mail"><br/>';
echo '<input type="submit" name="ok" value="Сохранить"><br/>';
echo '*Изменить e-mail будет нельзя! Будте внимательны</form></div>';
echo '<div class="h2"><a href=/settings>Назад</a></div>';
break;}
require_once('design/foot.php');
?>