Файл: pages/smiles.php
Строк: 169
<?php
include '../engine/includes/start.php';
Core::add_words('errors.ini');
$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>';
}
$total = $sql->query("SELECT COUNT(*) FROM `smiles` WHERE `parent_id` = '$id'")->result();
$page = new Page($total, $set['p_str']);
$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 < 1)
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
{
echo __('Вы уверены, что хотите удалить эту категорию?')?><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';