Вход Регистрация
Файл: panel/edit_file.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'], 5$db)) message('Недостаточно прав!''/panel/index.php');


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


/* Ищем указанный файл в БД */
$query $db->query("SELECT * FROM `data` WHERE `id`='".num($_GET['id'])."'");
if(
$db->num($query) != 1)
{
    
message('Указанный файл не найден!''/panel/index.php');
}
$result $db->fetch($query);


/* Берем информацию о категории в которой находится файл */
$query2 $db->query("SELECT * FROM `categories` WHERE `id`='".$result['cat_id']."'");
$result2 $db->fetch($query2);


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

    
/* Устанавливаем переменные */
    
$name in($_POST['name']);
    
$tag in($_POST['tag']);
    
$translit in($result2['translit'].'/'.translit($name));
    
$description '';
    
$keywords '';
    
$about '';
    
    
    
/* Если пустое имя */
    
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') > 500)
    {
        
message('Описание файла не может быть больше 500 символов!');
    }

    
    
/* Если новое транслитное имя не равно старому */
    
if($translit != $result['translit'])
    {
        
        
/* Если такой файл уже существует */
        
if(file_exists(ROOT.'/files/'.$translit))
        {
            
message('Файл с таким именем уже существует!');
        }
    
        
/* Переименовываем папку с файлом */
        
if(!rename(ROOT.'/files/'.$result['translit'], ROOT.'/files/'.$translit))
        {
            
message('Произошла ошибка при переименовании файла!');
        }
        
        
/* Обновляем пути к файлам */
        
$old_file str_replace('files/'.$result['translit'], 'files/'.$translit$result['file']);
        
$new_file 'files/'.$translit.'/'.$config['prefix'].translit($name).'.'.$result['format'];
        
$new_mini_scr str_replace('files/'.$result['translit'], 'files/'.$translit$result['mini_scr']);
        
$new_scr str_replace('files/'.$result['translit'], 'files/'.$translit$result['scr']);
        
rename(ROOT.'/'.$old_fileROOT.'/'.$new_file);
        
        
/* Обновляем БД */
        
$db->query("UPDATE `data` SET `file`='".in($new_file)."', `mini_scr`='".in($new_mini_scr)."', `scr`='".$new_scr."' WHERE `id`='".$result['id']."'");
    }
    
    
    
/* Обновляем информацию о файле в БД */
    
$db->query("UPDATE `data` SET `name`='".$name."', `translit`='".$translit."', `description`='".$description."', `keywords`='".$keywords."', `about`='".$about."', `tag`='".$tag."' 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('Файл успешно изменен!''/'.$translit.'.html');
}


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