Вход Регистрация
Файл: pages/smiles.php
Строк: 169
<?php
    
include '../engine/includes/start.php';
    
Core::add_words('errors.ini');
    
$set['title'] = __('Смайлы');

    include 
'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&amp;id='.$kat['id'].'"><div class="'.($i++ % '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&amp;id='.$id.'" class="link">&raquo; '.__('Добавить смайл').'</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&amp;id='.$post['id'].'">'.__('Удалить').'</a>'.
                        
' | <a href="?act=edit&amp;id='.$post['id'].'">'.__('Изменить').'</a><br />';
                }
                echo 
'<br />';
            }

            
$page->display('?act=kat&amp;id='.$id.'&amp;');

            echo 
'<a href="?act" class="link">'.__('Все категории').'</a>';
            if (
$admin)
            {
                echo 
                
'<a href="?act=edit_kat&amp;id='.$id.'" class="link">'.__('Изменить').'</a>'.
                
'<a href="?act=del_kat&amp;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($tmpH.'style/smiles/'.$namef.'.gif');

                    echo 
'<div class="msg">'.__('Смайл успешно добавлен').'</div>';
                }
                else
                    echo 
Core::msg_show($err);
            }
            else
            {
                
?>
                <form method="post" action="?act=new&amp;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&amp;id='.$id.'" class="link">&larr; '.__('Назад').'</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&amp;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&amp;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&amp;id=<?=$id?>'>
                <input type='submit' name='ok' value='<?=__('Да')?>' />
                </form>
                <a href='?act=kat&amp;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&amp;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&amp;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';
Онлайн: 0
Реклама