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

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


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


/* Если выбран файл и заполены поля */
if(isset($_POST['name']) and isset($_POST['link']) and isset($_POST['cat']))
{
    
    
/* Переменные по-умолчанию */
    
$name in($_POST['name']);
    
$tag in($_POST['tag']);
    
$description '';
    
$keywords '';
    
$about '';
    
$cat num($_POST['cat']);
    
        
$link=$_POST['link'];
        
$type_file=strrpos($link".");
        
$type_file=substr($link$type_file 1999);
        
$type_file strtolower($type_file);
        
        if(
$type_file=='mp4' || $type_file=='3gp' || $type_file=='avi' || $type_file=='flv')
                    {
                    
$link=$_POST['link'];    
                    }

                        else{
                        
$ch curl_init($link);
                            
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
                            
curl_setopt($chCURLOPT_HEADER1);
                            
curl_exec($ch);
                        
$header curl_getinfo$ch );
                        
curl_close$ch );
                        
$link=$header["redirect_url"];
                        
                        
$type_file=strrpos($link".");
                        
$type_file=substr($link$type_file 1999);
                        
$type_file strtolower($type_file);
                        }

    
    
/* Ищем указанную категорию */
    
$query $db->query("SELECT * FROM `categories` WHERE `id`='".$cat."'");
    if(
$db->num($query) != 1)
    {
        
message('Указанная категория не найдена!');
    }
    
$category $db->fetch($query);
    
    
    
/* Проверяем пустоту полей */
    
if(empty($name))
    {
        
message('Название видеофайла должно быть заполнено!');
    }
    if(empty(
$link))
    {
        
message('Вы не ввели ссылку!');
    }
    
    

    
    
    
/* Проверяем пустоту необязательных полей */
    
if(!empty($_POST['description']))
    {
        
$description in($_POST['description']);
    }
    if(!empty(
$_POST['keywords']))
    {
        
$keywords in($_POST['keywords']);
    }
    if(!empty(
$_POST['about']))
    {
        
$about in($_POST['about']);
    }
    
    
    
/* Проверка длины строк */
    
if(mb_strlen($name'utf-8') > 100)
    {
        
message('Название видеофайла не может быть больше 100 символов!');
    }
    if(
mb_strlen($description'utf-8') > 255)
    {
        
message('Описание (meta) должно быть не больше 255 символов!');
    }
    if(
mb_strlen($keywords'utf-8') > 255)
    {
        
message('Ключевые слова (meta) должны быть не больше 255 символов!');
    }
    if(
mb_strlen($about'utf-8') > 500)
    {
        
message('Описание видеозаписи должно быть не больше 500 символов!');
    }
    
    
    
/* Пути */
    
$translit_name translit($name);
    
$dir 'files/'.$category['translit'].'/'.$translit_name;
    
$translit $category['translit'].'/'.$translit_name;
    
$url_file $dir.'/'.$config['prefix'].$translit_name.'.'.$type_file;
    

    
    
    
/* Если такая папка уже существует */
    
if(file_exists(ROOT.'/'.$dir))
    {
        
message('Папка с именем <b>'.$dir.'</b> уже существует!');
    }
    
    
    
/* Создаем папку */
    
if(!mkdir(ROOT.'/'.$dir0777))
    {
        
message('Произошла ошибка при создании папки '.$dir.' !');
    }
    
chmod(ROOT.'/'.$dir0777);
    
    
    
/* Копируем файл */
    
if(!copy($linkROOT.'/'.$url_file))
    {
        
unlink(ROOT.'/'.$dir);
        
message('Ошибка при копировании файла!');
    }    
    
    
    
/* Создаем объект ffmpeg */
    
$video = new ffmpeg_movie(ROOT.'/'.$url_file);
    
    
    
/* Длительность видео в секундах */
    
$duration round($video->getDuration());
    
    
    
/* Размер файла в байтах */
    
$size filesize(ROOT.'/'.$url_file);
    
    
    
/* Размеры */
    
$width $video->getFrameWidth();
    
$height $video->getFrameHeight();
    
$screen_size $width.'x'.$height;
    

    
/* Пути к скриншотам */
    
$scr_mini $dir.'/screen_mini.jpg';
    
$scr $dir.'/screen.jpg';

    
    
/* Создаем скриншот */
    
$frame_count $video->getFrameCount();
    
$frame intval($frame_count 2);
    
$select $video->getFrame($frame);
    if(
$select)
    {
        
$screen $select->toGDImage();
        
imagejpeg($screenROOT.'/'.$scr100);
        
imagedestroy($screen);
        
imageresize(ROOT.'/'.$scrROOT.'/'.$scr480480100);
    }
    else
    {
        
$frame intval($frame_count 3);
        
$select $video->getFrame($frame);
        if(!
$select)
        {
            unset(
$video);
            
remove_dir(ROOT.'/'.$dir);
            
message('Невозможно создать скриншот для этого видео! Загрузите другое видео!');
        }
        
        
$screen $select->toGDImage();
        
imagejpeg($screenROOT.'/'.$scr85);
        
imagedestroy($screen);
        
imageresize(ROOT.'/'.$scrROOT.'/'.$scr480480100);
    }

    
    
/* Создаем уменьшенную копию скриншота */
    
imageresize(ROOT.'/'.$scrROOT.'/'.$scr_mini200200100);
    
    
    
/* Записываем информацию о файле в БД */
    
$db->query("INSERT INTO `data` SET `cat_id`='".$cat."', `name`='".$name."', `translit`='".$translit."', `about`='".$about."', `description`='".$description."', `keywords`='".$keywords."', `duration`='".$duration."', `size`='".$size."', `format`='".$extension."', `screen_size`='".$screen_size."', `like`='0', `download`='0', `file`='".in($url_file)."', `mini_scr`='".$scr_mini."', `scr`='".$scr."', `add_time`='".time()."', `tag`='".$tag."'");

    
    
/* Записываем в логи кто загрузил новый видеофайл */
    
$action $user['login'].' загрузил новый видеофайл: "'.$name.'".';
    
$db->query("INSERT INTO `users_log` SET `user_id`='".$user['id']."', `action`='".in($action)."', `time`='".time()."'");
    
    
    
/* Выводим сообщение */
    
message('Файл успешно загружен!''/panel/index.php');
}


/* Получаем список категорий */
$select_cat $db->query("SELECT * FROM `categories`");
$cat_array = array();
while(
$result $db->fetch($select_cat))
{
    
$result['name'] = out($result['name']);
    
$cat_array[] = $result;
}


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