Размер файла: 9.62Kb
- <?php
- include '../engine/includes/start.php';
- $set['title'] = 'Смайлы';
-
- include H . 'engine/includes/head.php';
-
- $i = 0;
-
- /*
- * пабличный скрипт. автор неизвестен
- */
-
-
- /*
- * Глобальный фикс =)
- */
-
- if (!$admin && ($act != 'kat' || empty($act)))
- {
- $act = null;
- }
-
-
-
- switch($act)
- {
- default:
- $sql->query("SELECT `id`, `name` FROM `smiles` WHERE `type` = 'kat'");
-
- if ($sql->num_rows())
- {
- while($kat = $sql->fetch())
- {
- echo '<a href="?act=kat&id='.$kat['id'].'"><div class="'.($i++ % 2 ? 'p_m' : 'p_t').'">'.$kat['name'].'</div></a>';
- }
- }
- else
- {
- echo 'Пока смайлов нет';
- }
-
- if ($admin)
- {
- echo '<a class="link" href="?act=add_kat">Добавить категорию</a>';
- }
- break;
-
- case 'kat':
- $sql->query("SELECT * FROM `smiles` WHERE `type` = 'kat' AND `id` = $id");
-
- if (!$sql->num_rows())
- {
- echo 'not found';
- include incDir . 'foot.php';
- }
-
- $kat = $sql->fetch();
-
- echo '<div class="menu_razd"><b>Директория</b>: '.$kat['name'].'</div>';
- if ($admin)
- {
- echo '<a href="?act=new&id='.$id.'" class="link">» Добавить смайл</a>';
- }
-
- Core::get('page.class');
-
- $total = $sql->query("SELECT COUNT(*) FROM `smiles` WHERE `parent_id` = '$id'")->result();
- $page = new page($total, $set['p_str']);
-
- if ($total == 0)
- {
- echo '<div class="err">Нет смайлов</div>';
- }
-
- $sql->query("SELECT * FROM `smiles` WHERE `parent_id` = '$id' ORDER BY `id` ASC LIMIT ".$page->limit());
- while($post = $sql->fetch())
- {
- echo '<img src="/style/smiles/'.$post['name'].'.gif" alt="'.$post['name'].'"/> '.$post['symbol'].' <br />';
-
- if ($admin)
- {
- echo '<a href="?act=del&id='.$post['id'].'">удалить</a>'.
- ' | <a href="?act=edit&id='.$post['id'].'">редактировать</a><br />';
- }
- echo '<br />';
- }
-
- $page->display('?act=kat&id='.$id.'&');
-
- echo '<a href="?act" class="link">Все категории</a>';
- if ($admin)
- {
- echo
- '<a href="?act=edit_kat&id='.$id.'" class="link">Редактировать</a>'.
- '<a href="?act=del_kat&id='.$id.'" class="link">Удалить категорию</a>';
- }
- break;
-
- case 'new':
- if ($admin)
- {
- if (isset($_FILES['file']))
- {
- $type = $_FILES['file']['type'];
- if ($type !== 'image/jpeg' && $type!=='image/jpg' && $type!=='image/gif' && $type!=='image/png')
- $err='Это не картинка.';
- $name = Core::form('name');
- $name_len = mb_strlen($name);
-
- if ($name_len < 1)
- $err='Слишком короткое название';
- if ($name_len > 32)
- $err='Слишком днинное название';
-
- if ($sql->query("SELECT COUNT(*) FROM `smiles` WHERE `name` = '$name' and `type` ='smile'")->result() == 1)
- $err='Такой смайл уже есть';
-
- if (!isset($err))
- {
- $namef = pathinfo($_FILES['file']['name'], PATHINFO_FILENAME);
- $tmp = $_FILES['file']['tmp_name'];
- $sql->query("INSERT INTO `smiles` (`name`, `symbol`, `parent_id`, `type`) values('$namef', '$name', '$id', 'smile')");
-
- move_uploaded_file($tmp, H.'style/smiles/'.$namef.'.gif');
-
- echo '<div class="msg">Смайл успешно добавлен</div>';
- }
- else
- echo Core::msg_show($err);
- }
- else
- {
- ?>
- <form method="post" action="?act=new&id=<?=$id?>" enctype='multipart/form-data'>
- Название:<br />
- <input name="name" type="text" maxlength='32' value='' /><br />
- Прикрепить картинку:<br />
- <input type="file" name="file"/><br />
- <input value='Добавить' type='submit' name='ok' /><br />
- </form>
- <?php
- }
- echo '<a href="?act=kat&id='.$id.'" class="link">← Назад</a>';
- }
- break;
-
- case 'edit':
- if ($admin)
- {
- if ($sql->query('SELECT COUNT(*) FROM `smiles` WHERE `id` = '.$id.' and `type` = "smile" LIMIT 1')->result() == 0)
- echo 'Смайл не найден!';
- else
- {
- $bm = $sql->query('SELECT * FROM `smiles` WHERE `id` = '.$id.' LIMIT 1')->fetch();
- if (isset($_POST['ok']))
- {
- $name = Core::form('name');
- $name_len = mb_strlen($name);
-
- if ($name_len < 1)
- echo 'Название слишком короткое';
- elseif ($name_len > 32)
- echo 'Название слишком длинное';
- else
- {
- $sql->query("UPDATE `smiles` SET `symbol` = '$name' WHERE `id` = '$bm[id]' LIMIT 1");
- echo '<div class="msg">Смайл успешно отредактирован</div>';
- }
- }
- else
- {
- ?>
- <form method='post' action='?act=edit&id=<?=$id?>'>
- <b>Название</b><br /><input type='text' name='name' value='<?=$bm['symbol']?>'/> <br />
- <input type='submit' value='Сохранить' name='ok' /><br />
- </form>
- <?php
- }
- echo '<a href="?act=kat&id='.$bm['parent_id'].'">Назад</a>';
- }
- }
- break;
-
- case 'del':
- if ($admin)
- {
- if ($sql->query("SELECT COUNT(*) FROM `smiles` WHERE `id` = '$id' and `type`='smile' LIMIT 1")->result()==0)
- echo 'Смайл не найден!';
- else
- {
- $bm = $sql->query("SELECT * FROM `smiles` WHERE `id` = '$id' LIMIT 1")->fetch();
- if (isset($_POST['ok']))
- {
- $sql->query("DELETE FROM `smiles` WHERE `id` = '$id'");
- unlink(H.'style/smiles/'.$bm['name'].'.gif');
- echo '<div class="msg">Смайл успешно удален</div>';
- }
- else
- {
- ?>
- Вы уверены, что хотите удалить этoт смайл?<br />
- <form method='post' action='?act=del&id=<?=$id?>'>
- <input type='submit' name='ok' value='Да' />
- </form>
- <a href='?act=kat&id=<?=$bm['parent_id']?>' class="link">Нет</a>
- <?php
- }
- }
- }
- break;
-
- case 'add_kat':
- if ($moder)
- {
- if (isset($_POST['name']))
- {
- $name = Core::form('name');
- $name_len = mb_strlen($name);
-
- if ($name_len < 0)
- echo 'Название слишком короткое';
- elseif ($name_len > 50)
- echo 'Название слишком длинное';
- elseif ($sql->query("SELECT COUNT(*) FROM `smiles` WHERE `name` = '$name' and `type` = 'kat' LIMIT 1")->result() != 0)
- echo 'Такая категория уже есть!';
- else
- {
- $sql->query("INSERT INTO `smiles` (`name`, `type`, `parent_id`) values ('$name', 'kat', '0')");
- echo '<div class="msg">Категория успешно добавлена</div>';
- }
- }
- else
- {
- ?>
- <form method='post' action='?act=add_kat'>
- Название:<br />
- <input type='text' name='name' value=''/><br />
- <input type='submit' value='Создать'/>
- </form>
- <?php
- }
- echo '<a href="?act" class="link">Назад</a>';
- }
- break;
-
- case 'edit_kat':
- if ($admin)
- {
- if ($sql->query("SELECT COUNT(*) FROM `smiles` WHERE `id` = '$id' and `type` = 'kat' LIMIT 1")->result()==0)
- echo 'Категория не найдена!';
- else
- {
- $bm = $sql->query("SELECT * FROM `smiles` WHERE `id` = '$id' LIMIT 1")->fetch();
- if (isset($_POST['name']))
- {
- $name = Core::form('name');
- $name_len = mb_strlen($name);
-
- if ($name_len < 1)
- echo 'Название слишком короткое';
- elseif ($name_len > 50)
- echo 'Название слишком длинное';
- else
- {
- $sql->query("UPDATE `smiles` SET `name` = '$name' WHERE `id` = '$bm[id]' LIMIT 1");
- echo '<div class="msg">Категория успешно отредактирована</div>';
- }
- }
- else
- {
- ?>
- <form method='post' action='?act=edit_kat&id=<?=$bm['id']?>'>
- <b>Название</b><br />
- <input type='text' name='name' value='<?=$bm['name']?>'/> <br />
- <input type='submit' value='Сохранить'/><br />
- </form>
- <?php
- }
- }
- echo '<a href="?act" class="link">Назад</a>';
- }
- break;
-
- case 'del_kat':
- if ($admin)
- {
- if ($sql->query("SELECT COUNT(*) FROM `smiles` WHERE `id` = '$id' and `type` = 'kat' LIMIT 1")->result()==0)
- echo 'Категория не найдена!';
- elseif ($sql->query("SELECT COUNT(*) FROM `smiles` WHERE `parent_id` = '$id'")->result() > 0)
- echo 'Категория не пуста';
- else
- {
- $bm = $sql->query("SELECT * FROM `smiles` WHERE `id` = '$id' LIMIT 1")->fetch();
- if (isset($_POST['ok']))
- {
- $sql->query("SELECT `name` FROM `smiles` WHERE `parent_id` = '$bm[id]'");
- while ($f = $sql->result())
- {
- unlink(H.'style/smiles/'.$f['name'].'.gif');
- }
-
- $sql->query("DELETE FROM `smiles` WHERE `parent_id` = '$bm[id]'");
- $sql->query("DELETE FROM `smiles` WHERE `id` = '$bm[id]'");
- echo '<div class="msg">Категория успешно удалена</div>';
- }
- else
- {
- ?>Вы уверены, что хотите удалить эту категорию?<br />
- <form method='post' action='?act=del_kat&id=<?=$bm['id']?>'>
- <input type='submit' name='ok' value='Да' />
- </form>
- <?php
- }
- echo '<a href="?act" class="link">Назад</a>';
- }
- }
- break;
- }
-
- echo
- '<a href="?" class="link">Смайлы</a>'.
- '<a href="bbcodes.php" class="link">Бб коды</a>'.
- '<a href="/" class="link">Главная</a>';
-
- include '../engine/includes/foot.php';