Файл: modules/smiles/smiles.php
Строк: 185
<?PHP
require_once '../../core/system.php';
echo only_reg();
$header = 'Смайлы';
$header_link = '?';
require_once H.'/core/head.php';
switch($act):
#вывод категорий
default:
    if($user['access'] >= 3) 
    {
        echo'<div class="menu_link3">';
            echo'<img src="/images/o4ki.png" width="" height="" alt="*">';
            echo'<a href="?act=add_cat">Добавить категорию</a>';
        echo'</div>';
    }
    if(empty($_GET['page'])) $page = 0;
    else
    $page = (int)$_GET['page'];
    $num = 12;
    $posts = mysql_result(mysql_query("SELECT COUNT(*) FROM `smiles_cat`"), 0);
    $total = intval(($posts - 1) / $num) + 1;  
    if(empty($page) OR $page < 0) $page = 1;  
    if($page > $total) $page = $total;
    $start = $page * $num - $num;
    $print = mysql_query("SELECT * FROM `smiles_cat`");    
    if (mysql_affected_rows() == 0) 
    {
        echo 'Нет данных для отображения!<br/>';
    }
    else
    {
        while($arr = mysql_fetch_array($print)) 
        {
            echo'<div class="listing-information-two">';
                echo'<a href="?act=cat&cat='.(int)$arr['id'].'"><strong>'.$arr['name'].'</strong></a> ';
                if($user['access'] >= 3) 
                {
                    echo'[<a href="?act=edit_cat&cat='.$arr['id'].'">изм</a>]';
                    echo'[<a href="?act=del_cat&cat='.$arr['id'].'">удл</a>]';
                }
            echo'</div>';
        }
    }
break;
# Вывод смайлов каталога
case 'cat':
if(!mysql_result(mysql_query("SELECT COUNT(*) FROM `smiles_cat` WHERE `id` = '".(int)$_GET['cat']."' LIMIT 1"),0)) header('location: ?');
    if($user['access'] >= 3) 
    {
        echo'<div class="menu_link3">';
            echo'<img src="/images/o4ki.png" width="" height="" alt="*">';
            echo'<a href="?act=add_smile&cat='.(int)$_GET['cat'].'">Добавить смайл</a>';
        echo'</div>';
    }
    if(empty($_GET['page'])) $page = 0;
    else
    $page = (int)$_GET['page'];
    $num = 12;
    $posts = mysql_result(mysql_query("SELECT COUNT(*) FROM `smiles` WHERE `cat` = '".(int)$_GET['id']."'"), 0);
    $total = intval(($posts - 1) / $num) + 1;  
    if(empty($page) OR $page < 0) $page = 1;  
    if($page > $total) $page = $total;
    $start = $page * $num - $num;
    $print = mysql_query("SELECT * FROM `smiles` WHERE `cat` = '".(int)$_GET['cat']."' ORDER BY `id` DESC LIMIT ".$start.",".($num)."");    
    if (mysql_affected_rows() == 0) 
    {
        echo 'Нет данных для отображения!<br/>';
    }
    else
    {
        while($arr = mysql_fetch_array($print))         
        {
            echo'<div class="listing-information-two">';
                echo'<img src="/file/smiles/'.$arr['adres'].'"  class="smiles_min" alt="*">';
                echo'<strong> '.$arr['name'].' </strong>';
                if($user['access'] >= 3) 
                {
                    echo'[<a href="?act=del_smile&id='.$arr['id'].'&cat='.$_GET['cat'].'">удл</a>]';
                }
            echo'</div>';
        }
        page_nav($page,$total,$cssClass="phdr",$dopLink);
    }
break;
# Добавление категории
case 'add_cat':
    if($user['access'] < 3) header('location: ?');
    if(!$_POST['enter'])
    {
        echo'<form method="POST" action="?act='.$act.'" name="auth">';
            echo'Название раздела:<br/>';
            echo'<input type="text" name="name"/><br />';
            echo'<input type="submit" class="ibutton" value="Добавить" name="enter"><br />';
        echo'</form>';
    }
    else
    {
        $name = check($_POST['name']);
        
        # Формируем ошибки
        if(!$name) $err[] = 'Укажите название раздела!';
        if(mysql_result(mysql_query("SELECT COUNT(*) FROM `smiles_cat` WHERE `name` = '".$name."' AND `id` != '".(int)$_GET['cat']."'"),0)) $err[] = 'Раздел с таким название уже создан!';
        
        if(!$err)
        {
            mysql_query('INSERT INTO `smiles_cat` SET `name`="'.$name.'"');
                                                        
            header('location: ?');
        }
        else
        {
            echo'<font color="red">';
                echo'<b>При выполнения запроса возникли следующие ошибки:</b> <br />';
                foreach($err AS $error)
                {
                    echo '- '.$error.'<br />';
                }
            echo'</font> <br />';
            
            echo'<a href="javascript:history.back()" onMouseOver="window.status="Назад";return true"><input value="Назад" type="button" /></a>';
        }
    }
break;
# Изменение название каталога
case 'edit_cat':
if(!mysql_result(mysql_query("SELECT COUNT(*) FROM `smiles_cat` WHERE `id` = '".(int)$_GET['cat']."' LIMIT 1"),0)) header('location: ?');
    if(!$_POST['enter'])
    {
        echo'<form method="POST" action="?act='.$act.'&cat='.(int)$_GET['cat'].'" name="auth">';
            echo'Название:<br/>';
            echo'<input type="text" name="name" value="'.mysql_result(mysql_query("SELECT `name` FROM `smiles_cat` WHERE `id` = '".(int)$_GET['cat']."'"),0).'"/><br/>';
            echo'<input type="submit" class="ibutton" value="Сохранить" name="enter"><br/>';
        echo'</form>';
    }
    else
    {
        $name = check($_POST['name']);
        
        if(mysql_result(mysql_query("SELECT COUNT(*) FROM `smiles_cat` WHERE `name` = '".$name."' AND `id` != '".(int)$_GET['cat']."'"),0)) $err[] = 'Раздел с таким название уже создан!';
        if(!$name) $err[] = 'Название не может быть пустым!';
        
        if(!$err)
        {
            mysql_query ("UPDATE `smiles_cat` SET `name` = '".$name."' WHERE `id` = '".(int)$_GET['cat']."'");
            
            header('location: ?');
        }
        else
        {
            echo'<font color="red">';
                echo'<b>При выполнения запроса возникли следующие ошибки:</b> <br />';
                foreach($err AS $error)
                {
                    echo '- '.$error.'<br />';
                }
            echo'</font> <br />';
    
            echo'<a href="javascript:history.back()" onMouseOver="window.status="Назад";return true"><input value="Назад" type="button" /></a>';
        }
    }
break;
# Удаление раздела
case 'del_cat':
    if($user['access'] < 3) header('location: ?');
    if(!isset($_GET['ok']))
    {
        echo'Вы подтверждаете удаление категории и всех файлов в ней? <br />';
        echo'<a href="?act='.$act.'&cat='.(int)$_GET['cat'].'&ok"><button>ДА!</button></a>';
        echo' | ';
        echo'<a href="javascript:history.back()" onMouseOver="window.status="Назад";return true"><input value="Назад" type="button" /></a>';
    }
    else
    {
        $print = mysql_query("select * from `smiles` WHERE `cat`='".(int)$_GET['cat']."'");
        while($arr = mysql_fetch_array($print)) 
        {
            unlink($_SERVER['DOCUMENT_ROOT'].'/file/smiles/'.$arr['adres']);
            mysql_query ("DELETE FROM `smiles` WHERE `id`='".(int)$arr['id']."' LIMIT 1");
            
        }
        
        mysql_query ("DELETE FROM `smiles_cat` WHERE `id`='".(int)$_GET['cat']."' LIMIT 1");
        
        header('location: ?');
    }
break;
# Добавление смайла
case 'add_smile':
    if($user['access'] < 3) header('location: ?');
    if(!$_POST['enter'])
    {
        echo'<form method="POST" action="?act='.$act.'&cat='.(int)$_GET['cat'].'" enctype="multipart/form-data">';
            echo'Название смайла:<br/>';
            echo'<input type="text" name="name"/><br />';
            echo'Изображение: <br />';
            echo'<input type="file" name="img"/><br />';
            echo'<input type="submit" class="ibutton" value="Добавить" name="enter"><br />';
        echo'</form>';
    }
    else
    {
        if($_FILES['img']['type'] == 'image/gif') $format = 'gif';
        else
            if($_FILES['img']['type'] == 'image/png') $format = 'png';
        else
            if($_FILES['img']['type'] == 'image/jpg') $format = 'jpg';
        else
            if($_FILES['img']['type'] == 'image/jpeg') $format = 'jpeg';
        else
            $format = NULL;
        
        $name = check($_POST['name']);
        
        # Формируем ошибки
        if(!$name) $err[] = 'Укажите название смайла!';
        if(!$_FILES['img']) $err[] = 'Выберите файл для загрузки!';
        if($_FILES['img'] && !$format) $err[] = 'Данный формат файла не поддерживается!';
        if(!mysql_result(mysql_query("SELECT COUNT(*) FROM `smiles_cat` WHERE `id`='".(int)$_GET['cat']."' LIMIT 1"),0)) $err[] = 'Раздел в который Вы собираетесь добавить смайл, не существует!';
        if(mysql_result(mysql_query("SELECT COUNT(*) FROM `smiles` WHERE `name` = '".$name."'"),0)) $err[] = 'Смайл с таким название уже добавлен!';
        
        if(!$err)
        {
            $naw_name = time().'.'.$format;
            $uploadfile = $_SERVER['DOCUMENT_ROOT'].'/file/smiles/'.$naw_name;
            move_uploaded_file($_FILES['img']['tmp_name'], $uploadfile);
            mysql_query("INSERT INTO `smiles` SET name='".$name."', `adres`='".$naw_name."', `cat`='".(int)$_GET['cat']."'");
            
            header('location: ?act=cat&cat='.(int)$_GET['cat']);
        }
        else
        {
            echo'<font color="red">';
                echo'<b>При выполнения запроса возникли следующие ошибки:</b> <br />';
                foreach($err AS $error)
                {
                    echo '- '.$error.'<br />';
                }
            echo'</font> <br />';
            
            echo'<a href="javascript:history.back()" onMouseOver="window.status="Назад";return true"><input value="Назад" type="button" /></a>';
        }
    }
break;
# Удаление смайла
case 'del_smile':
if(!mysql_result(mysql_query("SELECT COUNT(*) FROM `smiles_cat` WHERE `id` = '".(int)$_GET['cat']."' LIMIT 1"),0)) header('location: ?');
    $adres = mysql_result(mysql_query("SELECT `adres` FROM `smiles` WHERE `id`='".(int)$_GET['id']."'"),0);
    if(!$adres || $user['access'] < 3) header('location: '.$_SERVER['HTTP_REFERER']);
    
    if(!isset($_GET['ok']))
    {
        echo'Вы подтверждаете удаление смайла? <br />';
        echo'<a href="?act='.$act.'&id='.(int)$_GET['id'].'&cat='.$_GET['cat'].'&ok"><button>ДА!</button></a>';
        echo' | ';
        echo'<a href="javascript:history.back()" onMouseOver="window.status="Назад";return true"><input value="Назад" type="button" /></a>';
    }
    else
    {
        unlink($_SERVER['DOCUMENT_ROOT'].'/file/smiles/'.$adres);
        mysql_query ("DELETE FROM `smiles` WHERE `id`='".(int)$_GET['id']."' LIMIT 1");
    
        header('location: ?act=cat&cat='.$_GET['cat']);
    }
break;
endswitch;
include_once '../../core/foot.php';
?>