Файл: top_reit/rustats.su/system/model/admin.class.php
Строк: 103
<?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-8n";
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);
}
}
}
}
?>