clipbucket/upload/plugins/cb_link_video/cb_link_video.php
Arslan Hassan cd7570b2e0 Fixed : Share form invalid users error
Fixed : invalid duration
2011-04-26 14:24:41 +00:00

245 lines
No EOL
5.3 KiB
PHP

<?php
/*
Plugin Name: Link video
Description: If you want to play videos via link, this plugin is a good option for you
Author: Arslan Hassan
ClipBucket Version: 2
Plugin Version: 1.0
Website: http://clip-bucket.com/
*/
$Cbucket->upload_opt_list['link_video_link'] =
array(
'title' => 'Video Link',
'load_func' => 'load_link_video_form',
);
/**
* Function used create duration from input
* @param DURATION
*/
if(!function_exists('validate_duration'))
{
function validate_duration($time)
{
global $LANG;
if(empty($time))
return true;
$time = explode(':',$time);
if(count($time)>0 && is_array($time))
{
$sec = 0;
$total = count($time);
if($total==3)
{
$hrs = $time[0]*60*60;
$mins = $time[1]*60;
$secs = $time[2];
}elseif($total==2)
{
$hrs = 0;
$mins = $time[0]*60;
$secs = $time[1];
}else{
$hrs = 0;
$mins = 0;
$secs = $time[0];
}
$sec = $hrs+$mins+$secs;
if(!empty($sec))
return $sec;
else
e(lang('invalid_duration'));
}else{
if(is_numeric($time))
return $time;
else
e(lang('invalid_duration'));
}
}
}
function check_remote_play_link($val)
{
//checking file exension
$validExts = array('flv','mp4');
$ext = getExt($val);
if(!in_array($ext,$validExts) || !$val
||
( !stristr($val,'http://')
&& !stristr($val,'https://')
&& !stristr($val,'rtsp://')
&& !stristr($val,'rtmp://') ))
{
e("Invalid video url");
return false;
}
return true;
}
/**
* Function used to validate embed code
*/
function validate_video_link($val)
{
if(empty($val) || $val=='none')
{
return 'none';
}else{
//checking file exension
$validExts = array('flv','mp4');
$ext = getExt($val);
if(!in_array($ext,$validExts)
||
( !stristr($val,'http://')
&& !stristr($val,'https://')
&& !stristr($val,'rtsp://')
&& !stristr($val,'rtmp://') ))
{
return false;
}
return $val;
}
}
/**
* Function used to load embed form
*/
function load_link_video_form($params)
{
global $file_name;
if($params['class'])
$class = ' '.$params['class'];
assign('objId',RandomString(5));
assign('class',$class);
Template(PLUG_DIR.'/cb_link_video/form.html',false);
}
$link_vid_field_array['remote_play_url'] = array
(
'title' =>'Link to video',
'name' =>'remote_play_url',
'db_field' =>'remote_play_url',
'required' =>'no',
'validate_function'=>'validate_video_link',
'use_func_val' => true,
'type' => 'textfield',
'use_if_value' => true,
'hint_2'=>'Type "none" to set as empty',
'size'=>'45',
'rows'=>5
);
$link_vid_field_array['duration'] = array
(
'title' =>'Video duration',
'name' =>'duration',
'db_field' =>'duration',
'required' =>'no',
'validate_function'=>'validate_duration',
'use_func_val' => true,
'display_admin' => 'no_display',
'use_if_value' => true,
);
$link_vid_field_array['thumb_file_field'] = array
(
'title' => 'Thumb File',
'type' => 'fileField',
'name' => 'thumb_file',
'required' => 'no',
'validate_function' => 'upload_thumb',
'display_admin' => 'no_display',
);
function clean_remote_code($input)
{
$input = htmlspecialchars($input);
//if(!get_magic_quotes_gpc())
// $input = addslashes($input);
return $input;
}
if(!function_exists('upload_thumb'))
{
function upload_thumb($array)
{
global $file_name,$LANG;
//Get File Name
$file = $array['name'];
$ext = getExt($file);
$image = new ResizeImage();
if(!empty($file) && file_exists($array['tmp_name']) &&!error())
{
if($image->ValidateImage($array['tmp_name'],$ext)){
$file = BASEDIR.'/files/thumbs/'.$_POST['file_name'].'.'.$ext;
if(!file_exists($file))
{
move_uploaded_file($array['tmp_name'],$file);
$image->CreateThumb($file,$file,THUMB_WIDTH,$ext,THUMB_HEIGHT,false);
}
}else{
e(lang('vdo_thumb_up_err'));
}
}else{
return true;
}
}
}
/**
* Function used to check embed video
* if video is embeded , it will check its code
* if everthing goes ok , it will change its status to successfull
* @param VID
*/
function remote_video_check($vid)
{
global $myquery,$db;
if(is_array($vid))
$vdetails = $vid;
else
$vdetails = $myquery->get_video_details($vid);
if(!empty($vdetails['remote_play_url']) && $vdetails['remote_play_url'] !=' ' && $vdetails['remote_play_url'] !='none')
{
$db->update(tbl("video"),array("status"),array('Successful')," videoid='$vid'");
}
}
/**
* Function used to play embed code
* @param Video details
*/
function play_remote_video($vdetails)
{
if(!empty($vdetails['remote_play_url']) && $vdetails['remote_play_url']!='none')
{
return $vdetails['remote_play_url'];
}
}
$Cbucket->custom_video_file_funcs[] = 'play_remote_video';
register_after_video_upload_action('remote_video_check');
register_custom_upload_field($link_vid_field_array);
$Cbucket->add_header(PLUG_DIR.'/cb_link_video/header.html');
?>