Файл: sysadm/stickers.php
Строк: 188
<?
define('GCMS',true);
define('ROOT','../');
require_once (ROOT.'system/power.php');
$func->aut();
if ($ya['level'] == 7) {
$newpath = trim(ROOT.'/downloads/stickers/');
$diz -> head('Стикеры');
switch($mode) {
////Новая папка
case 'new':
$diz -> title('Новая категория');
if (empty($_POST['name'])) {
$for = $db -> query("SELECT `id` FROM `users` where `id`!='2' order by `id` ASC");
$opt .= '<option value="0">Нет автора</option>';
while ($assoc = $for -> fetch_assoc()) {
$opt .= '<option value="'.$assoc['id'].'">'.$func->famname($assoc['id']).' (id'.$assoc['id'].')</option>';
}
echo '<div class="fon"><form action="?mode=new" method="post">
Название:<br/><input type="text" name="name"/><br/>
Автор стикеров: <br/>
<select name="user">'.$opt.'</select><br/>
Стоимость(0-бесплатно):<br/><input type="text" name="cena" value="0"/>
<br/><input type="submit" value="Добавить"/></form></div>';
} else {
$name= shit($_POST['name']);
$user= intval(abs($_POST['user']));
$cena= intval(abs($_POST['cena']));
if(mb_strlen($func -> delprobel($name)) >= 1){
$sql = $db -> query("SELECT * FROM `stickers_cat` WHERE `name` = '".$name."'");
if ($sql -> num_rows == 0) {
$db -> query("Insert `stickers_cat` SET `name` = '".$name."',`cena` = '".$cena."',`user` = '".$user."'");
echo '<div class="fon">Категория успешно создана!</div>';
}else echo'<div class="fon">Категория с данным именем уже существует.</div>';
}else echo'<div class="fon">Некорректное название категории.</div>';
}
echo '<div class="levo"><a href="?" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
break;
////Новый стикер
case 'add':
$diz -> title('Новый стикер');
$pav = $db -> dbcount('COUNT(`id`)','stickers_cat');
if($pav>0){
if ($_FILES['file']['size'] < 1) {
$for = $db -> query("SELECT `id`,`name` FROM `stickers_cat`");
while ($assoc = $for -> fetch_assoc()) {
$opt .= '<option value="'.$assoc['id'].'">'.$assoc['name'].'</option>';
}
echo '<div class="fon">
<form action="?mode=add" method="post" enctype="multipart/form-data">
Выберите <b>*.gif,*png</b> файл:<br/>
<input name="file" type="file"></br>
Категория: <br/>
<select name="cat">'.$opt.'</select><br/>
<input type="submit" value="Добавить"/></form></div>';
} else {
$cat= shit($_POST['cat']);
$size=getimagesize($_FILES['file']['tmp_name']);
if($size[0]<=128 and $size[1]<=128){
$name = $_FILES['file']['name'];
$ex = pathinfo($name);
$ext = strtolower($ex['extension']);
$co = $db -> dbcount('COUNT(`id`)','stickers');
$up = $co+1;
$ima=''.$perf.'_'.$cod.''.$up.'.gif';
$to = ''.$newpath.$ima;
if ($ext == 'gif' || $ext == 'png') {
if (move_uploaded_file($_FILES['file']['tmp_name'], $to)) {
$db -> query("Insert `stickers` SET `cat`='".$cat."',`file` = '".$ima."'");
echo '<div class="fon">Стикер успешно добавлен в категорию.</div>';
}else echo '<div class="fon">Произошла ошибка при добавлении файла.</div>';
}else echo'<div class="fon">Формат файла может быть только <b>gif,png</b>.</div>';
}else echo'<div class="fon">Максимальные размеры стикера 128х128.</div>';
}
}else echo'<div class="fon">Категории стикеров пока не созданы!</div>';
echo '<div class="levo"><a href="?" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
break;
///Удаление категории
case 'delpath':
$count = $db -> dbcount('COUNT(`id`)','stickers_cat','`id`='.$id.'');
$for = $db -> query("SELECT * FROM `stickers_cat` where `id`='$id'")-> fetch_assoc();
if ($count>0) {
$sql = $db -> query("SELECT * FROM `stickers_cat` WHERE `id` = '".$id."' LIMIT 1");
$ass = $sql -> fetch_assoc();
if (!isset($_GET['true'])) {
$diz -> title('Удаление категории');
echo '<div class="fon">Категория: <span>'.$ass['name'].'</span><br/>Вы действительно желаете удалить данную категорию?</div>';
echo '<div class="dialog">
<a class="dialog_m" href="?id='.$id.'&mode=delpath&true">Да</a>
<a class="dialog_m" href="?">Нет</a>
</div>';
} else {
$sql = $db -> query("SELECT * FROM `stickers` WHERE `cat` = '".$id."'");
if ($sql -> num_rows > 0) {
while ($st = $sql -> fetch_assoc()) {
unlink($newpath.$st['file']);
$db -> query("DELETE FROM `stickers` WHERE `id` = '".$st['id']."'");
}
}
$db -> query("DELETE FROM `stickers_cat` WHERE `id` = '".$id."' LIMIT 1");
header('location: ?');
}
} else header('location: ?');
break;
///Редактирование категории
case 'redpath':
$diz -> title('Изменение категории');
$count = $db -> dbcount('COUNT(`id`)','stickers_cat','`id`='.$id.'');
$for = $db -> query("SELECT * FROM `stickers_cat` where `id`='$id'")-> fetch_assoc();
if($count>0){
if (empty($_POST['name'])) {
$st= null;
if ($for['user'] == 0)$st .= '<option value="0">Нет автора</option>';
$fors = $db -> query("SELECT `id` FROM `users` where `id`!='2' order by `id` ASC");
while ($assoc = $fors -> fetch_assoc()){
if ($for['user'] == $assoc['id'])
$st .= '<option value="'.$assoc['id'].'">'.$func->famname($assoc['id']).' (id '.$assoc['id'].')</opt<option value="0">Нет автора</option>';
else $st .= '<option value="'.$assoc['id'].'">'.$func->famname($assoc['id']).' (id '.$assoc['id'].')</option>';
}
echo'<div class="fon"><form action="?id='.$id.'&mode=redpath" method="post">
Название:<br/>
<input type="text" name="name" value="'.$for['name'].'"/><br/>
Автор стикеров: <br/><select name="user">'.$st.'</select><br/>
Стоимость(0-бесплатно):<br/><input type="text" name="cena" value="0"/><br/>
<input type="submit" value="Изменить"/></form></div>';
echo '<div class="levo"><a href="?" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
} else {
$name = shit($_POST['name']);
$cena = intval(abs($_POST['cena']));
$user = intval(abs($_POST['user']));
$db -> query("Update `stickers_cat` SET `name` = '".$name."',`user` = '".$user."',`cena` = '".$cena."' where `id`='$id'");
echo '<div class="fon">Категория <b>'.$name.'</b> успешно изменена!</div>';
echo '<div class="levo"><a href="?" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
}
}else header('location: ?');
break;
///Удаление стикера
case 'delsticker':
$diz -> title('Удаление стикера');
$count = $db -> dbcount('COUNT(`id`)','stickers','`id`='.$id.'');
$for = $db -> query("SELECT * FROM `stickers` where `id`='$id'")-> fetch_assoc();
if ($count>0) {
$sql = $db -> query("SELECT * FROM `stickers` WHERE `id` = '".$id."' LIMIT 1");
$ass = $sql -> fetch_assoc();
if (!isset($_GET['true'])) {
echo '<div class="fon"><img src="'.$newpath.$ass['file'].'"><br/>
Вы точно хотите удалить данный стикер?</div>';
echo '<div class="dialog">
<a class="dialog_m" href="?id='.$id.'&mode=delsticker&sid='.$sid.'&true">Да</a>
<a class="dialog_m" href="?mode=cat&id='.$sid.'">Нет</a>
</div>';
} else {
$s = $db -> query("SELECT * FROM `stickers` WHERE `id` = '".$id."'")-> fetch_assoc();
unlink($newpath.$s['file']);
$db -> query("DELETE FROM `stickers` WHERE `id` = '".$id."' limit 1");
header('location: ?mode=cat&id='.$sid);
}
} else header('location: ?mode=cat&id='.$sid);
break;
///Просмотр стикеров категории
case 'cat':
$diz -> title('Стикеры');
$sql = $db -> query("SELECT * FROM `stickers_cat` where `id`='$id'");
if ($sql -> num_rows > 0) {
$count = $db -> dbcount('COUNT(`id`)','stickers','`cat`="'.$id.'"');
if($count>0){
$num = isset($ya['num']) ? $ya['num'] : 10;
$total = intval(($count - 1) / $num) + 1;
if (!isset($_GET['page']) || !is_numeric($_GET['page']) || $_GET['page'] < 1 )
{
$page = 1;
} elseif($_GET['page'] > $total)
{ $page = $total;
} else $page = (int)$_GET['page'];
$start = $page * $num - $num;
$sql = $db -> query("SELECT * FROM `stickers` where `cat`='$id' ORDER BY `id` DESC LIMIT ".$start.",".$num);
while ($s = $sql -> fetch_assoc()) {
$sm = $db -> dbcount('count(`id`)','stickers',"`cat`='$s[id]'");
echo'<div class="fon"><img src="'.$newpath.$s['file'].'"> - '.$s['name'].'</div>';
echo '<div class="zap">
<a class="zap_b" href="?mode=redsticker&id='.$s['id'].'&sid='.$id.'">Редактировать</a>
</div>';
}
$act = '?mode=cat&id='.$id;
echo ''.$func -> pagenav($act,$page,$total).'';
}else echo'<div class="fon">Стикеров в такой папке пока нет.</div>';
}else echo'<div class="fon">Такая категория не существует.</div>';
echo '<div class="levo"><a href="?" class="levo_tuch">'.$diz -> img('back.png').' Назад</a></div>';
break;
default:
$diz -> title('Стикеры');
$sql = $db -> query("SELECT * FROM `stickers_cat`");
if ($sql -> num_rows > 0) {
$sql = $db -> query("SELECT * FROM `stickers_cat` ORDER BY `id` DESC");
while ($s = $sql -> fetch_assoc()) {
$sm = $db -> dbcount('count(`id`)','stickers',"`cat`='$s[id]'");
echo '<div class="menu"><a href="?mode=cat&id='.$s['id'].'" class="menutuch">'.$s['name'].' <cpan class="count">'.$sm.'</span></a></div>';
echo '<div class="zap">
<a class="zap_b" href="?mode=redpath&id='.$s['id'].'">Редактировать</a>
<a class="zap_b" href="?mode=delpath&id='.$s['id'].'">Удалить</a>
</div>';
}
}else echo'<div class="fon">Стикеров пока нет.</div>';
echo '<div class="levo"><a href="?mode=new" class="levo_tuch">'.$diz -> img('r.png').' Добавить категорию</a></div>';
echo '<div class="levo"><a href="?mode=add" class="levo_tuch">'.$diz -> img('r.png').' Добавить стикер</a></div>';
}
echo '<div class="levo"><a href="./" class="levo_tuch">'.$diz -> img('back.png').' Админка</a></div>';
echo '<div class="levo"><a href="/index.php" class="levo_tuch">'.$diz -> img('home.png').' На главную</a></div>';
#####Копирайт#######
$diz -> out($msg);
}else header('location: index.php');
?>