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