Вход Регистрация
Файл: siteadmin/modules/videos/embed.php
Строк: 117
<?php
defined
('_VALID') or die('Restricted Access!');
Auth::checkAdmin();

require_once (
$config['BASE_DIR']. '/include/function_thumbs.php');

$video = array('username' => 'anonymous', 'title' => '', 'description' => '', 'category' => 0, 'tags' => '',
               
'type' => 'public', 'duration' => '', 'embed_code' => '');
if (isset(
$_POST['embed_video'])) {
    require 
$config['BASE_DIR']. '/classes/filter.class.php';
    require 
$config['BASE_DIR']. '/classes/validation.class.php';
    
$filter         = new VFilter();
    
$valid            = new VValidation();
    
$username        = $filter->get('username');
    
$title            = $filter->get('title');
    
$description    = $filter->get('description');    
    
$tags            = $filter->get('tags');
    
$type            = $filter->get('type');
    
$category        = $filter->get('category', 'INT');
    
$embed_code        = trim($_POST['embed_code']);
    
$duration        = $filter->get('duration');
    
    if ( 
$username == '' ) {
        
$errors[]                = 'Please enter a username!';
    } else {
        
$sql        = "SELECT UID FROM signup WHERE username = " .$conn->qStr($username). " LIMIT 1";
        
$rs         = $conn->execute($sql);
        if ( 
$conn->Affected_Rows() == 1 ) {
            
$uid                = intval($rs->fields['UID']);
            
$video['username']  = $username;
        } else {
            
$errors[]    = 'Username: ' .htmlspecialchars($username, ENT_QUOTES, 'UTF-8'). 'does not exist!';
        }
    }

    if ( 
$title == '' ) {
        
$errors[]           = 'Please enter a video title!';
    } else {
        
$video['title']     = $title;
    }

    
$video['description']     = $description;
    if ( 
$category === 0 ) {
        
$errors[]           = 'Please select a video category!';
    } else {
        
$video['category']  = $category;
    }

    if ( 
$tags == '' ) {
        
$errors[]           = 'Please enter video tags!';
    } else {
        
$tags                = prepare_tags($tags);
        
$video['tags']      = $tags;
    }
    
    if (
$embed_code == '') {
        
$errors[]            = 'Please enter video embed code!';
    } else {
        
$video['embed_code'] = $embed_code;
    }
    
    if (
$duration == '') {
        
$errors[]            = 'Please enter video duration!';
    } else {
        
$video['duration']    = $duration;
    }
    
    
$video['type'] = ($type == 'public') ? 'public' : 'private';

    
$exts  = array('jpg', 'jpeg', 'png', 'gif');
    
$thumb = FALSE;

    foreach (
$_FILES['thumb']['name'] as $key => $file_name) {
        if (
$_FILES['thumb']['tmp_name'][$key] != '') {
            if (
is_uploaded_file($_FILES['thumb']['tmp_name'][$key])) {
                
$filename    = substr($file_name, strrpos($file_name, DIRECTORY_SEPARATOR)+1);
                
$ext        = strtolower(substr($filename, strrpos($filename, '.')+1));
                
$size        = filesize($_FILES['thumb']['tmp_name'][$key]);
                if (
in_array($ext, $exts)) {
                    if (
$size < (2*1024*1024)) {
                        
$thumb = TRUE;
                    }
                }
            }
        }
    }

    
    if (!
$thumb) {
        
$errors[]    = 'Please upload at least one video thumbnail!';
    }
    
    if (!
$errors) {
        
$sql = "INSERT INTO video
                        SET UID = " 
.$uid. ",
                            title = " 
.$conn->qStr($title). ",
                            keyword = " 
.$conn->qStr($tags). ",
                            description = " 
.$conn->qStr($description). ",                            
                            channel = '" 
.$category. "',
                            type = '" 
.$video['type']. "',
                            embed_code = " 
.$conn->qStr($embed_code). ",
                            duration = " 
.duration_to_seconds($duration). ",
                            vkey = '" 
.mt_rand(). "',
                            addtime = " 
.time(). ",
                            adddate = '" 
.date('Y-m-d'). "',
                            active = '0'"
;
        
$conn->execute($sql);
        
$vid     = $conn->insert_Id();
        require 
$config['BASE_DIR']. '/classes/image.class.php';
        
$image   = new VImageConv();
        
$tmb_dir = get_thumb_dir($vid);

        @
mkdir($tmb_dir);

        
$width     = (int) $config['img_max_width'];
        
$height     = (int) $config['img_max_height'];
        
$i         = 1;

        foreach (
$_FILES['thumb']['tmp_name'] as $file_tmp) {            
            
$tmb = $i.'.jpg';
            
$dst      = $tmb_dir.'/'.$tmb;
            if (
move_uploaded_file($file_tmp, $dst)) {
                
//-- Process Thumb - Aspect
                
list($src_w, $src_h) = getimagesize($dst);
                
$aspect     = $width / $height;
                
$src_aspect = $src_w / $src_h;
                if (
$aspect < $src_aspect) {
                    
$tmp_h = $height;
                    
$tmp_w = floor($tmp_h * $src_aspect);
                    
$image->process($dst, $dst, 'EXACT', $tmp_w, $tmp_h);
                    
$image->resize(true, true);
                    
$x = floor(($tmp_w - $width)/2);
                    
$y = 0;
                }
                else {
                    
$tmp_w = $width;
                    
$tmp_h = floor($tmp_w / $src_aspect);
                    
$image->process($dst, $dst, 'EXACT', $tmp_w, $tmp_h);
                    
$image->resize(true, true);
                    
$x = 0;
                    
$y = floor(($tmp_h - $height)/2);
                }
                
$image->process($dst, $dst, 'EXACT', $width, $height);
                
$image->crop($x, $y, $width, $height, true);                
                
//-- Process Thumb - Aspect - END    
                
++$i;                        
            }
        }
        
        
$vkey = substr(md5($vid),11,20);
        
$conn->execute("UPDATE video SET vkey = '".$vkey."', thumbs = ".($i-1).", active = '1'
                        WHERE VID = "
.$vid." LIMIT 1");
        
add_tags($tags);
        
$messages[] = 'Successfuly embedded video!';
    }

}

function 
duration_to_seconds($duration)
{
    
$dur_arr  = explode(':', $duration);
    if (!isset(
$dur_arr['1'])) {
        return 
FALSE;
    }
                    
    
$duration = 0;
    if (isset(
$dur_arr['2'])) {
        
$duration = ((int) $dur_arr['2']*3600);
    }

    
$duration = $duration + ((int)$dur_arr['0']*60);

    return (
$duration + (int)$dur_arr['1']);
}

$smarty->assign('video', $video);
$smarty->assign('categories', get_categories());
?>
Онлайн: 3
Реклама