<?php
require'config.php';
$align='left';
$sett['max_size'] = $set[max_size_sm]; 
$sett['level'] = $set[level_sm]; 
$title='Список смайлов';
aut();
head();
who_add(0,'enter');

echo '<br/>';

switch ($_GET['act']) 
{
    default: # Список категорий & Смайлов
    $id = abs(intval($_GET['id']));
    if (empty($id)) 
	{
	
		if (empty($user['max'])) $user['max']=10;
		$max = $user['max'];
		$all = $db->sql_fetchfield($db->sql_query("select count(*) as num from smiles_dir"),0);
		$k_page=k_page($all,$max);
		$page=page($k_page);
		$start=$max*$page-$max;
        
        if ($all) 
		{
            echo '<b>Список категорий:</b><br/>';
            $result = $db->sql_query ("Select * from smiles_dir order by id desc LIMIT $start, $max");   
            while($dir = $db->sql_fetchrow($result))
			{  
                $allsm = $db->sql_fetchfield($db->sql_query("select count(*) as num from smiles_spis  WHERE `id_dir` = '".$dir['id']."'"),0);
                if($user['level'] >= $sett['level']){
				echo '<a href="smile.php?act=edit&amp;id='.$dir['id'].'">'; }
				echo '<img src="img/dir.gif" alt="dir"/></a> <a href="smile.php?id='.$dir['id'].'">'.$dir['name'].'</a> ['.$allsm.']<br/>'; 
                 
            }
			if ($k_page>1)
			{
				?><dl><dt></dt></dl><?php
				str('smile?',$k_page,$page);
				?><br/><dl><dt></dt></dl><br/><?php
			}
        } else
		{
            echo 'Категории не созданы';
        }
        if ($user['level'] >= $sett['level']) echo'<br/><a href="smile.php?act=add_cat"><b>Добавить категорию</b></a>'; 
    } else 
	{
        $dir = $db->sql_fetchrow ($db->sql_query ("Select * from smiles_dir where id='".$id."'"));
        echo '<b>'.$dir['name'].':</b><br/>';
        if (empty($user['max'])) $user['max']=10;
        $max = $user['max'];
        $all = $db->sql_fetchfield($db->sql_query("select count(*) as num from smiles_spis  WHERE `id_dir` = '".$id."'"),0);
		$dir = $db->sql_fetchrow ($db->sql_query ("Select * from smiles_dir where id='".$id."'"));
		$k_page=k_page($all,$max);
		$page=page($k_page);
		$start=$max*$page-$max;  
        
        if ($all) 
		{	
			echo '<form action="smile.php?act=delete&amp;id='.$id.'" method="POST">'; 
            $result = $db->sql_query ("Select * from smiles_spis  WHERE `id_dir` = '".$id."'order by id desc LIMIT $start, $max");  
			$sml_k=$start+1;
            while($smile = $db->sql_fetchrow($result))
			{ 
				echo $sml_k++.') ';
                if ($user['level'] >= $sett['level']) echo '<input type="checkbox"  name="check_del[]" value="'. $smile['id'] .'"/> ';
					echo '<img src="smiles/'.$smile['name'].'.gif" alt="'.$smile['name'].'"/> <b>'.$smile['sim'].'</b> ';
                if ($user['level'] >= $sett['level']) 
                    echo'<a href="smile.php?act=edit&amp;id_dir='.$id.'&amp;smile='.$smile['id'].'"><img src="img/fd.gif" alt="[Изм.]"/></a><br/>';  

                else
                    echo '<br/>';    
            }
			if ($k_page>1)
			{
				?><dl><dt></dt></dl><?php
				str('?id='.$dir['id'].'&amp;',$k_page,$page);
				?><br/><dl><dt></dt></dl><br/><?php
			} 
            if ($user['level'] >= $sett['level']) echo '<br/><input type="submit" class="button" value="Удалить выделеное"/></form>';
        } else 
		{
            ?>Смайлов нет<br/><?php
        }
  
        echo gb.'<a href="'.H.'smile.php">К категориям</a><br/>'.div;
        ###Загрузка смайла
        if ($user['level'] >= $sett['level']) {
              echo '<br/><br/><form action="smile.php?act=upload&amp;id='.$id.'" method="POST" name="form" enctype="multipart/form-data">
					<small>[max.<b>'.$sett['max_size'].'</b> kb, <b>gif</b>]</small><br/>
					<input type="file" name="file"/><br/>
					Название смайла:<br/><input name="name" maxlength="56" placeholder="Пример: .смайл." type="text" /><br/>
					<input type="submit" class="button" name="submit" value="Загрузить" /></form><br/>';   
        }     
    }    
    break;
    
    case 'delete':
	if ($user['level'] >= $sett['level']) 
	{
		# Удаление смайлов (выделенное)
		if (empty($_POST['check_del'])) header('Location: smile.php?id='.(int)$_GET['id'].'');
		if ($user['level'] < $sett['level']) header("Location: index.php"); # Проверка доступа
		$col = 0;
		
		foreach  ($_POST['check_del'] as $check) {
			$col  = $col + 1;
			$smile = $db->sql_fetchrow ($db->sql_query ("SELECT * FROM smiles_spis where id='".(int)$check."'"));
			unlink($_SERVER['DOCUMENT_ROOT']."/smiles/".$smile['name'].".gif");
			$db->sql_query("DELETE FROM `smiles_spis` WHERE `id` = '".(int)$check."'");
			header('Location: smile.php?id='.(int)$_GET['id'].'');
		}
	}        
	break;
			
	case 'dir': # Удаление категории & Удаление смайлов связанных с этой категорией
	if ($user['level'] < $sett['level']) header("Location: smile.php"); 
	$id = abs(intval($_GET['id']));
	$dir = mysql_fetch_assoc(mysql_query("SELECT * FROM `smiles_dir` WHERE `id` = '".$id."'"));
		
	if ($user['level'] < $sett['level']) header("Location: index.php"); # Проверка доступа
	if (empty($dir['id'])) header("Location: index.php"); 
		
	$db->sql_query("DELETE FROM `smiles_dir` WHERE `id` = '".$id."'");
		
	$q = mysql_query("SELECT * FROM `smiles_spis` WHERE `id_dir` = '".$id."'");
	while ($sm = mysql_fetch_assoc($q)) {
		@unlink(H.'smiles/'.$sm['name']);
	}

	$db->sql_query("DELETE FROM `smiles_spis` WHERE `id_dir` = '".$id."'");
	echo '<b style="color:green">Категория успешно удалена!</b><br/>';
	if (isset($_GET['act'])) echo gb.'<a href="'.H.'smile.php?">К категориям</a>'.div;
	if (isset($_SESSION['r_m'])) echo gb.'<a href="'.H.'room.php?rm='.$_SESSION['r_m'].'">В чат</a>'.div;
	echo gb.'<a href="'.H.'enter?">Прихожая</a>'.div;
	foot();
	exit;
	break;

    
    case 'edit':
    if ($user['level'] < $sett['level']) header("Location: index.php"); # Проверка доступа
    
    if ($_GET['id']) { # Редактирование категории
        $id = abs(intval($_GET['id']));
        $dir = $db->sql_fetchrow ($db->sql_query ("Select * from smiles_dir where id='".$id."'"));
        if (empty($dir['id'])) header("Location: index.php");
        
        if (isset($_POST['submit'])) {
            $name = check($_POST['name']);
            if (empty($name)) {
                echo 'Вы не ввели название категории';
            } else {
                $db->sql_query("update `smiles_dir` set name='".$name."' WHERE `id`='".$id."';");
                header("Location: smile.php");
            }
        }
        echo 'Редактирование категории:<br/>
        <form method="post" action="smile.php?act=edit&amp;id='.$id.'">
        Название:<br /><input name="name" maxlength="56" value="'.$dir['name'].'" type="text" /><br/>
        <input value="Изменить" name="submit" type="submit" /></form><br/><br/>
        <a href="smile.php?act=dir&amp;id='.$dir['id'].'"><b>Удалить каталог</b></a><br/>';
    }
    
    if ($_GET['smile']) { # Редактирование смайла
        if ($user['level'] < 8) header("Location: index.php"); # Проверка доступа
        $id = abs(intval($_GET['smile']));
        $smile = mysql_fetch_assoc(mysql_query("SELECT * FROM `smiles_spis` WHERE `id` = '".$id."'"));        
        if (empty($smile['name'])) header("Location: index.php");
        
        if (isset($_POST['submit'])) {
            $sim = check($_POST['sim']);
            $dir = check($_POST['dir']);
            
            if (empty($sim)) $err = 'Не введено название';
            if (empty($dir)) $err = 'Не выбран каталог';
            
            if (isset($err)) {
                echo $err;
            } else {
                $db->sql_query("update `smiles_spis` set sim='".$sim."', `id_dir` = '".$dir."' WHERE `id`='".$id."';");
                header("Location: smile.php?id=".$dir);                
            }
        }
        echo '<form method="post" action="smile.php?act=edit&amp;smile='.$id.'">';
        
        echo 'Категория:<br/><select name="dir">';
        $q = mysql_query("SELECT * FROM `smiles_dir`");
        while ($dir = mysql_fetch_assoc($q)) {
			if($_GET['id_dir'] == $dir['id']) echo '<option value="'.$dir['id'].'" SELECTED>'.$dir['name'].'</option>'; 
			else
            echo '<option value="'.$dir['id'].'">'.$dir['name'].'</option>';            
        }
        echo '</select><br/>'; 
    
        echo 'Название:<br /><input type="text" name="sim"  value="'.$smile['sim'].'" maxlength="56"/><br/>';
        echo '<input value="Сохранить" name="submit" type="submit" /></form>';             
    }
    break;
    
    case 'add_cat': # Добавление каталога
    if ($user['level'] < $sett['level']) header("Location: index.php"); # Проверка доступа
    
    if (isset($_POST['submit'])) {
        $name = check($_POST['name']);
        if (strlen($name) > 50) $err="Имя превышает 50 символов<br/>";
        if (strlen($name) < 2) $err="Имя слишком короткое<br/>";

        if (isset($err)) {
            echo $err;
        } else {
            if (mysql_query("INSERT INTO `smiles_dir` (`name`) values('$name')")) {
                mysql_query("OPTIMIZE TABLE `smiles_dir`");
                header("Location: smile.php");
            } else {
                echo '<b>Возникла ошибка</b><br/>';
            } 
        }
    }

    ?><form method="post" action="smile.php?act=add_cat">
	Название:<br /><input name="name" maxlength="56" type="text" /><br/>
	<input value="Сохранить" name="submit" type="submit" /></form><?php
    break;
    
    case 'upload': # Загрузка смайла
	if ($user['level'] < $sett['level']) header("Location: index.php");
    $id = abs(intval($_GET['id']));
    $nameSmile = check($_POST['name']);
    $dir = mysql_fetch_assoc(mysql_query("SELECT * FROM `smiles_dir` WHERE `id` = '".$id."'"));
    
    if ($user['level'] < 8) header("Location: index.php"); # Проверка доступа
    if (empty($dir['id'])) header("Location: index.php");
    
    if (isset($_POST['submit'])) {
        if (!is_uploaded_file($_FILES['file']['tmp_name'])) $err = 'Не удается загрузить смайл';
        $imageinfo = getimagesize($_FILES['file']['tmp_name']);
		if($imageinfo['mime'] != 'image/gif') 
		{
			 $err = 'Смайл должен быть расширения .gif';
		}
		$ext = strtolower(substr(strrchr($_FILES['file']['name'], '.'), 1)); # Расширение
        if ($ext != 'gif') $err = 'Недопустимое расширение (Разрешено <b>gif</b>)!';
        if ($_FILES['file']['size'] == 0) $err = 'Не удается загрузить изображение';
        $size = $_FILES['file']['size'];
        if ($size > ($sett['max_size'] * 1024)) $err = 'Размер смайла превышает '.$sett['max_size'].' кб';
        if (empty($nameSmile)) $err = 'Вы не ввели название смайла';
        $q = mysql_fetch_assoc(mysql_query("SELECT * FROM `smiles_spis` WHERE `sim` = '.".$nameSmile.".'"));
        if (isset($q['id'])) $err = 'Смайл с таким названием уже существует';   

        if (empty($err)) 
		{        
            $name = 'smile_'.time();
			@copy($_FILES['file']['tmp_name'],'smiles/'.$name.'.gif');
			@chmod('smiles/'.$name.'.gif', 0644);
            /*include_once ('class/upload.php');
            $handle = new upload($_FILES['file']);
            
            if ($handle -> uploaded) {
                $handle -> file_new_name_body = $name;
                $handle -> image_resize = true;
                $handle -> image_ratio = true;
                $handle -> image_ratio_no_zoom_in = true;
                $handle -> image_y = 1000;
                $handle -> image_x = 1000;
                $handle -> file_overwrite = true;
            }
            
            $handle -> process('smiles/'); 
            
            if ($handle -> processed) {
                $handle -> clean();
            } else $err = 'Ошибка при загрузке фото';
        */
        

            mysql_query("INSERT INTO `smiles_spis` (`name`, `id_dir`, `sim`) values('".$name."', '".$dir['id']."', '".$nameSmile."')");
            header("Location: smile.php?id=".$dir['id']);
        }else{
            echo $err;
        }
    } else {
        ?>Ошибочный запрос<?php
    }
    break;

}
///echo '<br />';
if (isset($_GET['act'])) echo gb.'<a href="'.H.'smile.php?">К категориям</a>'.div;
if (isset($_SESSION['r_m'])) echo gb.'<a href="'.H.'room.php?rm='.$_SESSION['r_m'].'">В чат</a>'.div;
echo gb.'<a href="'.H.'enter?">Прихожая</a>'.div;
foot();
?>