View file rustats.su/system/model/admin.class.php

File size: 7.36Kb
<?php 


class admin_model{

		public function tiket_act(){
		if(isset($_POST['text'])){
			$text = $_POST['text'];
			if(strlen($text) < 10 or strlen($text) > 1000) $err = 'Текст ответа должен быть в пределах 10 - 1000 символов';
			if(!isset($err)){
				$tiket = Core::query("SELECT * FROM `tiket` WHERE `id` = ?", array($_GET['get'])) -> fetch();
$subject = " Ответ тикета :: ".$tiket['title']."";
$regmail = "Здравствуйте, ".$tiket['name'].'<br/><br />'.$text."<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($tiket['mail'],'=?utf-8?B?'.base64_encode($subject).'?=',$regmail,$adds);
				Core::query("UPDATE `tiket` SET `status` = '1' WHERE `id` = ?", array($_GET['get']));
				Core::redirect('/admin/tiket', 'Ответ выслан.');
			}else{
				Core::redirect('/admin/tiket', $err);
			}
		}
	}
	
	public function ban_area(){
		if(isset($_POST['prich'])){
			$prich = $_POST['prich'];
			
			if(strlen($prich) < 5 or strlen($prich) > 250) $err = 'Текст причины блокировки должен быть в пределах 5 - 250 символов';
			
			if(!isset($err)){
				Core::query("UPDATE `user_sites` SET `ban` = '1', `prich` = ? WHERE `id` = ?", array($prich, $_GET['get']));
				Core::redirect('/admin/area', 'Площадка заблокирована');
			}else{
				Core::redirect('/admin/area', $err);
			}
		}
	}

		public function edit_cat(){
		if(isset($_POST['name']) && isset($_GET['get'])){
			$title = $_POST['name'];
			
			if(strlen($title) <	2 or strlen($title) > 50) $err = 'Название категории должно быть в пределах 2 - 50 символов';
			
			if(!isset($err)){
				Core::query("UPDATE `category` SET `name` = ? WHERE `id`=?", array($title, $_GET['get']));
				Core::redirect('/admin/category', 'Категория изменена');
			}else{
				Core::redirect('/admin/category', $err);
			}
		}
	}


		public function news(){
		if(isset($_POST['title']) && isset($_POST['text'])){
			$title= $_POST['title'];
			$text= $_POST['text'];
				Core::query("INSERT INTO `news` SET `name` = ?, `text` = ?, `time`='".time()."'", array($title, $text));
				Core::redirect('/admin/news', 'Новость успешно создана');

		}
	}

	public function razban_area(){
		Core::query("UPDATE `user_sites` SET `ban` = '0', `prich` = '' WHERE `id` = ?", array($_GET['get']));
		Core::redirect('/admin/area', 'Площадка разблокирована');
	}
	

	public function mod_area(){
		Core::query("UPDATE `user_sites` SET `mod` = '0' WHERE `id` = ?", array($_GET['get']));
		Core::redirect('/admin/area', 'Площадка активирована');
	}
	



	public function edit_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(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-Z0-9][A-Z0-9_-]*(?:.[A-Z0-9][A-Z0-9_-]*)+):?(d+)?\/?/Diu", $site)) $err = 'Недопустимый формат URL';
			
			if(!isset($err)){
				Core::query("UPDATE `user_sites` SET `title` = ?, `opis` = ?, `category` = ?, `count_big` = ?, `count_small` = ?, `mod` = ?, `url` = ? WHERE `id` = ?", array($title, $opis, $dir, $count, $small, $mod, $site, $_GET['get']));
				Core::redirect('/stat/index/'.$_GET['get'], 'Площадка изменена');
			}else{
				Core::redirect('/admin/edit_area/'.$_GET['get'], $err);
			}
		}
	}
	

	public function delete_area(){
if(isset($_POST['del']) && isset($_GET['get'])){
		Core::query("DELETE FROM `user_sites` WHERE `id` = ?", array($_GET['get']));
		Core::redirect('/admin/area', 'Площадка удалена');
}
	}
		public function del_rekl(){
if(isset($_POST['del']) && isset($_GET['get'])){
		Core::query("DELETE FROM `rekl` WHERE `id` = ?", array($_GET['get']));
		Core::redirect('/admin/reklama', 'Рекламная площадка удалена');
}
	}

	public function creat_cat(){
		if(isset($_POST['title'])){
			$title = $_POST['title'];
			
			if(strlen($title) <	2 or strlen($title) > 50) $err = 'Название категории должно быть в пределах 2 - 50 символов';
			
			if(!isset($err)){
				Core::query("INSERT INTO `category` SET `name` = ?", array($title));
				Core::redirect('/admin/category', 'Категория создана');
			}else{
				Core::redirect('/admin/category', $err);
			}
		}
	}
	

	public function delete_cat(){
		if(isset($_POST['dir'])){
			$dir = $_POST['dir'];
			
			if(Core::count("SELECT COUNT(*) FROM `category` WHERE `id` = ?", array($dir)) == false) $err = 'Категория не найдена';
			if($dir == 0) $err = 'Выберите категорию';
			
			if(!isset($err)){
				Core::query("UPDATE `user_sites` SET `category` = ? WHERE `category` = ?", array($dir, $_GET['get']));
				Core::query("DELETE FROM `category` WHERE `id` = ?", array($_GET['get']));
				Core::redirect('/admin/category', 'Категория удалена');
			}else{
				Core::redirect('/admin/category', $err);
			}
		}
	}
	

	public function system(){
		if(isset($_POST['name']) && isset($_POST['desc']) && isset($_POST['key']) && isset($_POST['mod_sites']) && isset($_POST['rekl'])){
			$name = $_POST['name'];
			$desc = $_POST['desc'];
			$key = $_POST['key'];
			$mod_sites = $_POST['mod_sites'];
			$rekl = $_POST['rekl'];
			
			if(strlen($name) < 1 or strlen($name) > 50) $err = 'Название сайта должно быть в пределах 2 - 50 символов';
			if(strlen($desc) < 1 or strlen($desc) > 150) $err = 'Description должен быть в пределах 5 - 150 символов';
			if(strlen($key) < 1 or strlen($key) > 150) $err = 'Keywords должен быть в пределах 5 - 150 символов';
			if($mod_sites != 0 && $mod_sites != 1) $err = 'Ошибка применения автомодерации';
			if($rekl <= 0) $err = 'Цена рекламы не может быть меньше или равна 0';
			if(!isset($err)){
				Core::query("UPDATE `system` SET `name_site` = ?, `description` = ?, `keywords` = ?, `mod_sites` = ?, `rekl` = ?", array($name, $desc, $key, $mod_sites, $rekl));
				Core::redirect('/admin', 'Настройки изменены');
			}else{
				Core::redirect('/admin/system', $err);
			}
		}
	}
}
?>