Вход Регистрация
Файл: panel/edit_cat.php
Строк: 81
<?php
/**
*    Author: Elime;
*    ICQ: 618878;
*    E-mail: elime4@gmail.com;
*/

require '../system/core.php';


/* Проверяем права доступа */
if(!$loginmessage('Ошибка авторизации!''/panel/login.php');
if(!
check_right($user['id'], 3$db)) message('Недостаточно прав!''/panel/index.php');


/* Если не указана категория */
if(!isset($_GET['id']))
{
    
message('Вы не указали категорию!''/panel/index.php');
}


/* Ищем категорию в БД */
$query $db->query("SELECT * FROM `categories` WHERE `id`='".num($_GET['id'])."'");
if(
$db->num($query) != 1)
{
    
message('Указанная категория не найдена!''/panel/index.php');
}
$result $db->fetch($query);


/* Если введены данные */
if(isset($_POST['name']))
{

    
/* Устанавливаем переменные */
    
$name in($_POST['name']);
    
$translit in(translit($name));
    
$about '';
    
$description '';
    
$keywords '';
    
    
    
/* Если не введено имя */
    
if(empty($name))
    {
        
message('Введите название категории!');
    }

    
    
/* Проверяем остальные поля */
    
if(isset($_POST['description']))
    {
        
$description in($_POST['description']);
    }
    if(isset(
$_POST['keywords']))
    {
        
$keywords in($_POST['keywords']);
    }
    if(isset(
$_POST['about']))
    {
        
$about in($_POST['about']);
    }
    
    
    
/* Проверяем длину полей */
    
if(mb_strlen($name'utf-8') > 100)
    {
        
message('Название категории не может быть больше 100 символов!');
    }
    if(
mb_strlen($description'utf-8') > 255)
    {
        
message('Описание категории не может быть больше 255 символов!');
    }
    if(
mb_strlen($keywords'utf-8') > 255)
    {
        
message('Ключевые слова для категории не могут быть больше 255 символов!');
    }
    if(
mb_strlen($about'utf-8') > 200)
    {
        
message('Описание для категории не может быть больше 200 символов!');
    }

    
    
/* Если новое транслитное имя не равно предыдущему */
    
if($translit != $result['translit'])
    {
        
        
/* Проверяем существование такой категории */
        
if(file_exists(ROOT.'/files/'.$translit))
        {
            
message('Категория с таким именем уже существует!');
        }
    
        
/* Переименовываем папку */
        
if(!rename(ROOT.'/files/'.$result['translit'], ROOT.'/files/'.$translit))
        {
            
message('Произошла ошибка при переименовании категории!');
        }
        
        
/* Обновляем пути к файлам */
        
$query2 $db->query("SELECT * FROM `data` WHERE `cat_id`='".$result['id']."'");
        while(
$result2 $db->fetch($query2))
        {
            
$new_translit str_replace($result['translit'], $translit$result2['translit']);
            
$new_file str_replace('files/'.$result['translit'], 'files/'.$translit$result2['file']);
            
$new_mini_scr str_replace('files/'.$result['translit'], 'files/'.$translit$result2['mini_scr']);
            
$new_scr str_replace('files/'.$result['translit'], 'files/'.$translit$result2['scr']);
            
            
$db->query("UPDATE `data` SET `translit`='".in($new_translit)."', `file`='".in($new_file)."', `mini_scr`='".in($new_mini_scr)."', `scr`='".$new_scr."' WHERE `id`='".$result2['id']."'");
        }
    }
    
    
    
/* Обновляем категорию */
    
$db->query("UPDATE `categories` SET `name`='".$name."', `translit`='".$translit."', `description`='".$description."', `keywords`='".$keywords."', `about`='".$about."' WHERE `id`='".$result['id']."'");
    
    
    
/* Записываем в логи кто изменил категорию */
    
$action $user['login'].' изменил категорию: "'.$result['name'].'" на "'.$name.'".';
    
$db->query("INSERT INTO `users_log` SET `user_id`='".$user['id']."', `action`='".in($action)."', `time`='".time()."'");
    
    
    
/* Выводим сообщение */
    
message('Категория успешно изменена!''/');
}


/* Выводим страницу */
$data['title'] = 'Изменить категорию';
$data['result'] = $result;
$tpl->display('panel/edit_cat'$data);
?>
Онлайн: 1
Реклама