Файл: users/setting.php
Строк: 120
<?
include('../core/core.php');
include(MAINDIR.'style/head.php');
if(is_user()){
$my = DB::run() -> queryFetch("SELECT * FROM `users` WHERE `login`=? LIMIT 1",array(check($_COOKIE['login'])));
$page = abs(intval($_GET['page']));
switch ($mode):
case 'index':
title('Настройки');
echo'<div class="title">Настройки</div>';
if(check($_GET['ex']) == 1){echo'<div class="error">Настройки успешно изменены!</div>';}
echo'<div class="menu">';
echo'
<form action="?mode=set_ok" method="post">
Автообновление в чатe:<br />
<input name="chat" type="text" size="5" value="'.$my['chat'].'" /><br />
Сообщений на страницу(чат):<br />
<input name="chat_mes" type="text" size="5" value="'.$my['mes_on_page'].'" /><br />
X-статус:<br />
<input name="stat" type="text" size="60%" value="'.$my['x-status'].'" /><br />
Оповещание на email:<br />';
if($my['op_mail'] == 'on'){echo'
<input name="mm" type="radio" value="on" checked/> Включено<br />
<input name="mm" type="radio" value="off" /> Выключено<br />';
} else {echo'
<input name="mm" type="radio" value="on" /> Включено<br />
<input name="mm" type="radio" value="off" checked /> Выключено<br />';
}
echo'
Тема сайта:<br />
<select name="theme">
<option value="new">New</option>
<option value="pandr">pandr</option>
</select><br />
<input name="" type="submit" value="Изменить" />
</form>';
echo'</div>';
break;
case 'set_ok':
title('Настройки');
echo'<div class="title">Настройки</div>';
echo'<div class="menu">';
$chat = abs(intval($_POST['chat']));
$chat_mes = abs(intval($_POST['chat_mes']));
$stat = check($_POST['stat']);
$mm = check($_POST['mm']);
$theme = check($_POST['theme']);
DB::run() -> query("UPDATE `users` SET `x-status`=?,`op_mail`=?,`chat`=?,`mes_on_page`=?,`theme`=? WHERE `login`=?",array($stat,$mm,$chat,$chat_mes,$theme,$my['login']));
header ('location: '.$_SERVER['HTTP_REFERER'].'&ex=1');
echo'</div>';
break;
case 'profile':
title('Изменение анкеты');
echo'<div class="title">Изменение анкеты</div>';
break;
case 'activ':
$set = DB::run() -> queryFetch("SELECT * FROM `setting` WHERE `id`=? LIMIT 1",array(1));
title('Потверждение Email`a');
echo'<div class="title">Потверждение Email`a</div>';
echo'<div class="menu">
На ваш Email ('.$my['email'].') будет выслано сообщение с кодом длинной <strong>'.$set['activ_email'].'</strong> символа<br />
Этот код следует ввести в форму.<br />
<br />
<a href="?mode=activ_set">Начать процедуру активациии емайла</a>
</div>';
break;
case 'activ_set':
$set = DB::run() -> queryFetch("SELECT * FROM `setting` WHERE `id`=? LIMIT 1",array(1));
title('Потверждение Email`a');
echo'<div class="title">Потверждение Email`a</div>';
echo'<div class="menu">';
if($_SESSION['gener'] == NULL){
gen_code($set['activ_email']);
$tema = 'Потверждение емайла '.$my['email'].' на сайте http://'.SITE.'';
$text = 'Здравствуйте, '.$my['login'].'
Вы на сайте http://'.SITE.' пытаетесь активировать ваш емаил!
Ваш код потверждения: '.$_SESSION['gener'].'
Если сообщение попало по ошибке просто проигнорируйте его!';
addmail($my['email'],$tema,$text);
header ('location: ?mode=activ_form');
} else {header ('location: ?mode=activ_form'); }
echo'</div>';
break;
case 'activ_form':
session_start();
$msg = check(trim($_POST['msg']));
title('Потверждение Email`a');
echo'<div class="title">Потверждение Email`a</div>';
echo'<div class="menu">';
if($msg == NULL){
echo'
<form action="?mode=activ_form" method="post">
Введите полученый код:<br />
<input name="msg" type="text" size="40" /><br />
<input name="" type="submit" value="Потвердить" />
</form>';
} else {
if($msg == $_SESSION['gener']){
DB::run() -> query("UPDATE `users` SET `activ_email`=? WHERE `login`=?",array('on',check($_COOKIE['login'])));
header ('location: /users/?mode=index&page=233');
} else {
echo'Введеный код указан неверно!';
}
}
echo'</div>';
break;
case 'self':
title('Безопастность');
echo'<div class="title">Безопастность</div>';
echo'<div class="menu">';
echo'<form action="?mode=edit_mail" method="post">
Е-mail:<br />
<input name="mail" type="text" maxlength="30" value="'.$my['email'].'" /><br />
Текущий пароль:<br />
<input name="pass" type="text" maxlength="16" /><br />
<input name="" type="submit" value="Изменить" />
</form>';
echo'</div>';
echo'<div class="menu_2">';
echo'<form action="?mode=edit_pass" method="post">
Новый пароль:<br />
<input name="new_pass" type="text" maxlength="16" /><br />
Повторите пароль:<br />
<input name="return_pass" type="text" maxlength="16" /><br />
Текущий пароль:<br />
<input name="pass" type="text" maxlength="16" /><br />
<input name="" type="submit" value="Изменить" />
</form>';
echo'</div>';
break;
case 'edit_mail':
title('Безопастность');
echo '<div class="title">Настройки -> Изменение E-mail</div>';
echo'<div class="menu">';
$mail = check($_POST['mail']);
$pass = check($_POST['pass']);
if($mail == !NULL && $pass == !NULL){
if(preg_match("|^[-0-9a-z_.]+@[-0-9a-z_^.]+.[a-z]{2,6}$|i", $mail)){
$p = DB::run()-> query("SELECT * FROM users WHERE mail = ?",array($mail)) -> rowCount();
if($p != 0){ echo'<div class="menu">Данный емайл уже существует в системе!</div> '.$back.''; } else {
if($users['pass'] == sha1(md5(md5(sha1($pass))))){
DB::run()->query("UPDATE `users` SET `mail`=?,`act_mail`=? WHERE id =?",array($mail,'off',$my['id']));
echo'Ваш емаил успешно изменен!<br />
Вам снова следует пройти процедуру потверждения емайла!<br />
Внимание если в течении 24 часов вы не потвердите емайл, ваш аккаун будет удален!';
echo'</div>';
} else { echo'<div class="error">Пароль введен неправельно!</div>'; }
}
} else {echo'<div class="error">Email введен некоректно!</div>';}
} else { echo'<div class="error">Все поля должны быть заполнены!</div>'; }
break;
title('Безопастность');
echo '<div class="title">Настройки -> Изменение пароля</div>';
echo'<div class="menu">';
$new_pass = check($_POST['new_pass']);
$return_pass = check($_POST['return_pass']);
$pass = check($_POST['pass']);
if($pass == !NULL && $new_pass == !NULL && $return_pass == !NULL){
if($new_pass == $return_pass){
if($my['pass'] == sha1(md5(md5(sha1($pass))))){
$set = sha1(md5(md5(sha1($new_pass))));
DB::run()->query("UPDATE `users` SET `pass`=? WHERE id =?",array($set,$my['id']));
header ('location: /?exit=out');
} else { echo'Пароль введен неправельно!'; }
} else { echo'Новые пароли не совпадают!'; }
} else { echo'Все поля должны быть заполнены!'; }
echo'</div>';
break;
default:
header ('location: ?mode=index');
endswitch;
} else {
title('Ошибка!');
echo'<div class="title">Ошибка!</div>';
echo'<div class="error">';
echo'Доступ разрешен только авторизованым!';
echo'</div>';
}
include(MAINDIR.'style/foot.php');
?>