View file top_reit/rustats.su/system/model/cabinet.class.php

File size: 6.06Kb
<?php 


class cabinet_model{
	public function creat_area(){
		if(isset($_POST['title']) && isset($_POST['opis']) && isset($_POST['count']) && isset($_POST['small']) && isset($_POST['site'])){
			$user = User::getUser();
			$site = $_POST['site'];
			$title = $_POST['title'];
			$opis = $_POST['opis'];
			$count = $_POST['count'];
			$small = $_POST['small'];
			$mod = Core::$config['mod_sites'] == 1 ? 1 : 0;
			$dir = $_POST['dir'];
			
			if(Core::count("SELECT COUNT(*) FROM `category` WHERE `id` = ?", array($dir)) == false) $err = 'Категория не найдена';
			if($dir == 0) $err = 'Выберите категорию';
			if(strlen($title) <	2 or strlen($title) > 50) $err = 'Название площадки должно быть в пределах 2 - 50 символов';
			if(strlen($opis) < 10 or strlen($opis) > 250) $err = 'Описание площадки должно быть в пределах 10 - 250 символов';
			if($count < 1 && $count > 6) $err = 'Выберите счетчик';
			if($small < 1 && $small > 6) $err = 'Выберите счетчик';
			if(strlen($site) <	10 or strlen($site) > 50) $err = 'Длина URL должна быть в пределах 3 - 40 символов';
			if (!preg_match("/^(http|https):\/\/([A-ZА-Я0-9][A-ZА-Я0-9_-]*(?:.[A-ZА-Я0-9][A-ZА-Я0-9_-]*)+):?(d+)?\/?/Diu", $site)) $err = 'Недопустимый формат URL';
			if(Core::count("SELECT COUNT(*) FROM `user_sites` WHERE `url` = ?", array($site)) == true) $err = 'Такой сайт уже есть в базе';
			
			if(!isset($err)){
				Core::query("INSERT INTO `user_sites` SET `id_user` = ?, `title` = ?, `opis` = ?, `url` = ?, `category` = ?, `count_big` = ?, `count_small` = ?, `mod` = '1'", array($user['id'], $title, $opis, $site, $dir, $count, $small));
				$kod = Core::query("SELECT `id` FROM `user_sites` WHERE `url` = ?", array($site)) -> fetch();
				Core::redirect('/cabinet/kod/'.$kod['id'].'', 'Площадка добавлена. Разместите счетчик на свой сайт.');
			}else{
				Core::redirect('/cabinet/creat_area', $err);
			}
		}
	}
	
	        public function plus(){
		if(isset($_GET['get'])){
		$site = Core::query("SELECT * FROM `user_sites` WHERE `id` = ?", array($_GET['get'])) -> fetch();
		if(Core::count("SELECT COUNT(*) FROM `golos` WHERE `ip` = ? && `id_site` = ?", array($_SERVER['REMOTE_ADDR'], $site['id'])) == false){
			Core::query("INSERT INTO `golos` SET `ip` = ?, `id_site` = ?", array($_SERVER['REMOTE_ADDR'], $site['id']));
			Core::query("UPDATE `user_sites` SET `plus` = '".($site['plus'] + 1)."' WHERE `id` = ?", array($site['id']));
		Core::redirect('/stat/index/'.$site['id'].'', 'Ваш голос успешно зафиксирован');
		}else{
		Core::redirect('/stat/index/'.$site['id'].'', 'Голосовать можно раз в сутки');}
		}else{
		Core::redirect('/');
		}
	}
	
		public function minus(){
		if(isset($_GET['get'])){
				$site = Core::query("SELECT * FROM `user_sites` WHERE `id` = ?", array($_GET['get'])) -> fetch();
		if(Core::count("SELECT COUNT(*) FROM `golos` WHERE `ip` = ? && `id_site` = ?", array($_SERVER['REMOTE_ADDR'], $site['id'])) == false){
			Core::query("INSERT INTO `golos` SET `ip` = ?, `id_site` = ?", array($_SERVER['REMOTE_ADDR'], $site['id']));
			Core::query("UPDATE `user_sites` SET `minus` = '".($site['minus'] + 1)."' WHERE `id` = ?", array($site['id']));
		Core::redirect('/stat/index/'.$site['id'].'', 'Ваш голос успешно зафиксирован');
		}else{
		Core::redirect('/stat/index/'.$site['id'].'', 'Голосовать можно раз в сутки');}
		}else{
		Core::redirect('/');
		}
	}
	
		public function pass(){
		if(isset($_POST['pass_star']) || isset($_POST['pass1']) ||isset($_POST['pass1'])){
		$user = User::getUser();
		$pass_star = md5(md5($_POST['pass_star']));
		$pass1 = md5(md5($_POST['pass1']));
		$pass2 = md5(md5($_POST['pass2']));
		$pass = $_POST['pass1'];
if($pass1!=$pass2)$err='Пароли не совпадают';
if($pass_star!=$user['pass'])$err='Старый пароль введен не верно';
if($pass1==$user['pass'])$err='Старый пароль совпадает с новым';
if(strlen($pass) < 6 or strlen($pass) > 20)$err='Пароль должен быть в пределах 6 - 20 символов';
if(!$err){
				Core::query("UPDATE `users` SET `pass` = ? WHERE `id`=?", array($pass1, $user['id']));

$subject = " Смена пароля :: RuStats";
$regmail = "Здравствуйте, ".$user['login'].'!<br/><br />На Вашем профиле был сменен пароль.<br/> Новые данные для входа:<br/>Логин: '.$user['login'].' <br/>Пароль: '.$pass."<br /><br /><br />С Уважением команда топа RuStats.su.";
$adds="From: \"support@$_SERVER[HTTP_HOST]\" <support@$_SERVER[HTTP_HOST]>\n";
$adds .= "Content-Type: text/html; charset=utf-8\n";
mail($user['email'],'=?utf-8?B?'.base64_encode($subject).'?=',$regmail,$adds);
Core::redirect('/cabinet', 'Пароль успешно сменен. Новый пароль выслан вам на e-mail');
}else{
Core::redirect('/cabinet/pass', $err);
}
		}
	}

	
		        public function prava(){
		if(isset($_GET['get']) && $_POST['prava']){
			$prava = abs(intval($_POST['prava']));
		if(Core::count("SELECT COUNT(*) FROM `user_sites` WHERE `prava` = '2' && `id` = ?", array($_GET['get'])) == true){
			       if($prava==1){
                                Core::query("UPDATE `user_sites` SET `prava` = '1' WHERE `id` = ?", array($_GET['get']));
				$kod = Core::query("SELECT `id` FROM `user_sites` WHERE `id` = ?", array($_GET['get'])) -> fetch();
				Core::redirect('/cabinet/kod/'.$kod['id'].'', 'Права подтверждены. Установите этот html код на сайт');
}elseif($prava==2){
		Core::redirect('/cabinet/file/'.$_GET['get'].'', 'Файл не найден');
}
			}else{
		Core::redirect('/stat/index/'.$_GET['get'].'', 'Права уже подтверждены');}
		}else{
		Core::redirect('/');
		}
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
}
?>