Файл: newstats.ru/newstats.ru/system/model/enter.class.php
Строк: 61
<?php
// Автор проекта GEARBAKC
// Офф.сайт GEARNET.RU
// http://gearnet.ru/users/1
// Только эксклюзивные скрипты!
class enter_model{
public function login_post(){
if(isset($_POST['login']) && isset($_POST['pass'])){
$login = $_POST['login'];
$pass = md5(md5($_POST['pass']));
$hash = Protect::generate(32);
if(Core::count("SELECT * FROM `users` WHERE `login` = ? && `pass` != ?", array($login, $pass)) == true) $err = 'Пароль введен не верно';
if(Core::count("SELECT * FROM `users` WHERE `login` = ?", array($login)) == false) $err = 'Пользователя с таким логином не существует';
if(!isset($err)){
$id_user = Core::query("SELECT `id` FROM `users` WHERE `login` = ? and `pass` = ?", array($login, $pass)) -> fetch();
Core::query("UPDATE `users` SET `hash` = ?, `hash_pass_new`='' WHERE `id` = ?", array($hash, $id_user['id']));
setcookie('userlogin', $login, time()+86400*365, '/');
setcookie('userhash', $hash, time()+86400*365, '/');
Core::redirect('/', 'Авторизация успешна');
}else{
Core::redirect('/enter/login', $err);
}
}
}
public function logout(){
$user = User::getUser();
Core::query("UPDATE `users` SET `hash` = '' WHERE `id` = ?", array($user['id']));
setcookie('userlogin', '', time() - 100, '/');
setcookie('userhash', '', time() - 100, '/');
Core::redirect('/');
}
public function them(){
$user = User::getUser();
if(isset($_GET['get'])){
if (isset($user))
{
if($_GET['get']==1){
Core::query("UPDATE `users` SET `t` = '1' WHERE `id` = ?", array($user['id']));
$msg='PDA версия активирована!';
}elseif($_GET['get']==0){
Core::query("UPDATE `users` SET `t` = '0' WHERE `id` = ?", array($user['id']));
$msg='WEB версия активирована!';
}elseif($_GET['get']==2){
Core::query("UPDATE `users` SET `t` = '2' WHERE `id` = ?", array($user['id']));
$msg='WAP версия активирована!';
}else{
$msg='Ошибка!';
}
}else{
if($_GET['get']==1){
setcookie('wap_t', 'wap', time() + 60*60, '/');
setcookie('web_t', '', time() - 100, '/');
setcookie('pda_t', '', time() - 100, '/');
$msg='PDA версия активирована!';
}elseif($_GET['get']==0){
setcookie('wap_t', '', time() - 100, '/');
setcookie('web_t', 'web', time() + 60*60, '/');
setcookie('pda_t', '', time() - 100, '/');
$msg='WEB версия активирована!';
}elseif($_GET['get']==2){
setcookie('wap_t', '', time() - 100, '/');
setcookie('web_t', '', time() - 100, '/');
setcookie('pda_t', 'pda', time() + 60*60, '/');
$msg='WAP версия активирована!';
}else{
$msg='Ошибка!';
}
}
Core::redirect('/', $msg);
}else{
Core::redirect('/');
}
}
public function reg_post(){
if(isset($_POST['login']) && isset($_POST['pass']) && isset($_POST['email'])){
$login = $_POST['login'];
$email = $_POST['email'];
$pass = $_POST['pass'];
$hash = Protect::generate(32);
if(preg_match("#(^ )|( $)#ui", $login))$err = 'Запрещено использовать пробел в начале и конце логина<br />';
if(Core::count("SELECT * FROM `users` WHERE `login` = ?", array($login)) == true) $err = 'Пользователь с таким логином уже зарегистрирован в системе<br />';
if(!preg_match("#^([A-z0-9-_])+$#ui", $login))$err = 'В логине присутствуют запрещенные символы. Разрешено использовать латинские буквы, цифры и знаки подчеркивания<br />';
if(Core::count("SELECT * FROM `users` WHERE `email` = ?", array($email)) == true) $err = 'Такой E-mail уже зарегистрирован в системе<br />';
if(strlen($login) < 2 or strlen($login) > 20) $err = 'Логин должен быть в пределах 2 - 20 символов';
if(strlen($pass) < 6 or strlen($pass) > 20) $err = 'Пароль должен быть в пределах 6 - 20 символов';
if(!preg_match('/[0-9a-z_-]+@[0-9a-z_-^.]+.[a-z]{2,6}/i', $email)) $err = 'E-mail введен неверно<br />';
if(!isset($err)){
Core::query("INSERT INTO `users` SET `login` = ?, `pass` = ?, `hash` = ?, `email` = ?", array($login, md5(md5($pass)), $hash, $email));
setcookie('userlogin', $login, time()+86400*365, '/');
setcookie('userhash', $hash, time()+86400*365, '/');
$subject = "Регистрация :: NewStats";
$regmail = "Здравствуйте, ".$login.'!<br/><br />Вы успешно зарегистрированы на проекте http://newstats.ru<br /> Ваши данные для входа:<br/>Логин: '.$login.' <br/>Пароль: '.$pass."<br /><br /><br />С Уважением команда топа NewStats.Ru.";
$adds="From: "support@$_SERVER[HTTP_HOST]" <support@$_SERVER[HTTP_HOST]>n";
$adds .= "Content-Type: text/html; charset=utf-8n";
mail($email,'=?utf-8?B?'.base64_encode($subject).'?=',$regmail,$adds);
Core::redirect('/', 'Регистрация успешно пройдена. Войдите в кабинет и добавьте площадку');
}else{
Core::redirect('/enter/registration', $err);
}
}
}
}
?>