2013-10-07 12:17:06 +00:00
< ? php
/**
* @ Author : Arslan Hassan
*/
include ( '../includes/config.inc.php' );
2016-03-14 15:15:49 +05:00
require_once ( dirname ( dirname ( __FILE__ )) . " /includes/classes/sLog.php " );
2014-01-29 08:14:10 +00:00
//var_dump($_FILES);die();
2013-10-07 12:17:06 +00:00
if ( $_FILES [ 'Filedata' ])
$mode = " upload " ;
if ( $_POST [ 'insertVideo' ])
$mode = " insert_video " ;
if ( $_POST [ 'getForm' ])
$mode = " get_form " ;
if ( $_POST [ 'updateVideo' ] == 'yes' )
$mode = " update_video " ;
switch ( $mode )
{
case " insert_video " :
{
$title = getName ( $_POST [ 'title' ]);
$file_name = $_POST [ 'file_name' ];
2014-02-25 13:16:20 +00:00
$file_directory = createDataFolders ();
//dump($file_directory);
2013-10-07 12:17:06 +00:00
$vidDetails = array
(
'title' => $title ,
'description' => $title ,
'tags' => genTags ( str_replace ( ' ' , ', ' , $title )),
'category' => array ( $cbvid -> get_default_cid ()),
'file_name' => $file_name ,
2014-02-25 13:16:20 +00:00
'file_directory' => $file_directory ,
2013-10-07 12:17:06 +00:00
'userid' => userid (),
2015-01-22 12:00:05 +00:00
'video_version' => '2.7' ,
2013-10-07 12:17:06 +00:00
);
$vid = $Upload -> submit_upload ( $vidDetails );
2015-03-12 10:18:11 +00:00
// sending curl request to content .ok
$call_bk = PLUG_URL . " /cb_multiserver/api/call_back.php " ;
$ch = curl_init ( $call_bk );
$ch_opts = array (
CURLOPT_POST => true ,
CURLOPT_RETURNTRANSFER => true ,
//CURLOPT_BINARYTRANSFER => true,
CURLOPT_HEADER => false ,
CURLOPT_SSL_VERIFYHOST => false ,
CURLOPT_SSL_VERIFYPEER => false ,
CURLOPT_HTTPHEADER => array ( " Expect: " ),
);
$array = array ( " update " => TRUE );
//curl_setopt($ch,CURLOPT_POSTFIELDS,$array);
$charray = $ch_opts ;
$charray [ CURLOPT_POSTFIELDS ] = $array ;
curl_setopt_array ( $ch , $charray );
curl_exec ( $ch );
curl_close ( $ch );
2014-03-18 06:48:16 +00:00
// inserting into video views as well
$query = " INSERT INTO " . tbl ( " video_views " ) . " (video_id, video_views, last_updated) VALUES( { $vid } , 0, " . time () . " ) " ;
$db -> Execute ( $query );
2014-09-19 14:38:46 +00:00
if ( error ())
{
echo json_encode ( array ( " error " => error ( " single " )));
} else
{
echo json_encode ( array ( " videoid " => $vid ));
}
exit ();
2013-10-07 12:17:06 +00:00
}
break ;
case " get_form " :
{
$title = getName ( $_POST [ 'title' ]);
if ( ! $title )
$title = $_POST [ 'title' ];
$desc = $_POST [ 'desc' ];
$tags = $_POST [ 'tags' ];
if ( ! $desc )
$desc = $title ;
if ( ! $tags )
$tags = $title ;
$vidDetails = array
(
'title' => $title ,
'description' => $desc ,
'tags' => $tags ,
'category' => array ( $cbvid -> get_default_cid ()),
);
assign ( " objId " , $_POST [ 'objId' ]);
assign ( 'input' , $vidDetails );
2014-01-29 08:14:10 +00:00
2015-09-16 09:59:35 +00:00
$vid = $_POST [ 'vid' ];
assign ( 'videoid' , $vid );
2014-01-29 08:14:10 +00:00
$videoFields = $Upload -> load_video_fields ( $vidDetails );
//$requiredFields = array_shift($videoFields);
// echo "<pre>";
// var_dump($videoFields[0]);
// echo "</pre>";
2015-09-16 09:59:35 +00:00
//echo json_encode($videoFields);
2014-05-12 12:18:22 +00:00
//Template('blocks/upload/form.html');
2015-09-16 09:59:35 +00:00
Template ( 'blocks/upload/upload_form.html' );
2013-10-07 12:17:06 +00:00
}
break ;
case " upload " :
{
2014-03-21 10:45:32 +00:00
2013-10-07 12:17:06 +00:00
$file_name = time () . RandomString ( 5 );
$tempFile = $_FILES [ 'Filedata' ][ 'tmp_name' ];
2015-09-14 10:19:47 +00:00
$file_directory = date ( 'Y/m/d' );
2013-10-07 12:17:06 +00:00
$targetFileName = $file_name . '.' . getExt ( $_FILES [ 'Filedata' ][ 'name' ]);
$targetFile = TEMP_DIR . " / " . $targetFileName ;
2016-03-14 15:15:49 +05:00
createDataFolders ( LOGS_DIR );
$logFile = LOGS_DIR . '/' . $file_directory . '/' . $file_name . " .log " ;
$log = new SLog ( $logFile );
$log -> newSection ( " Pre-Check Configurations " );
$log -> writeLine ( " File to be converted " , 'Initializing File <strong>' . $file_name . '.mp4</strong> and pre checking configurations...' , true );
$hardware = shell_exec ( 'lshw -short' );
if ( $hardware ){
$log -> writeLine ( " System hardware Information " , $hardware , true );
} else {
$log -> writeLine ( 'System hardware Information' , 'Unable log System hardware information, plaese install "lshw" ' , true );
}
2015-09-14 10:19:47 +00:00
logData ( 'Checking Server configurations to start for filename : ' . $file_name . '' , 'checkpoints' );
2013-10-07 12:17:06 +00:00
$max_file_size_in_bytes = config ( 'max_upload_size' ) * 1024 * 1024 ;
$types = strtolower ( config ( 'allowed_types' ));
//Checking filesize
$POST_MAX_SIZE = ini_get ( 'post_max_size' );
$unit = strtoupper ( substr ( $POST_MAX_SIZE , - 1 ));
$multiplier = ( $unit == 'M' ? 1048576 : ( $unit == 'K' ? 1024 : ( $unit == 'G' ? 1073741824 : 1 )));
if (( int ) $_SERVER [ 'CONTENT_LENGTH' ] > $multiplier * ( int ) $POST_MAX_SIZE && $POST_MAX_SIZE ) {
header ( " HTTP/1.1 500 Internal Server Error " ); // This will trigger an uploadError event in SWFUpload
upload_error ( " POST exceeded maximum allowed size. " );
exit ( 0 );
}
//Checking uploading errors
$uploadErrors = array (
0 => " There is no error, the file uploaded with success " ,
1 => " The uploaded file exceeds the upload_max_filesize directive in php.ini " ,
2 => " The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form " ,
3 => " The uploaded file was only partially uploaded " ,
4 => " No file was uploaded " ,
2016-04-28 18:53:12 +05:00
6 => " Missing a temporary folder " ,
7 => " Failed to write file to disk " ,
8 => " A PHP extension stopped the file upload. PHP does not provide a way to ascertain which extension caused the file upload to stop; examining the list of loaded extensions with phpinfo() may help "
2013-10-07 12:17:06 +00:00
);
if ( ! isset ( $_FILES [ 'Filedata' ])) {
upload_error ( " No file was selected " );
exit ( 0 );
} else if ( isset ( $_FILES [ 'Filedata' ][ " error " ]) && $_FILES [ 'Filedata' ][ " error " ] != 0 ) {
upload_error ( $uploadErrors [ $_FILES [ 'Filedata' ][ " error " ]]);
exit ( 0 );
} else if ( ! isset ( $_FILES [ 'Filedata' ][ " tmp_name " ]) || !@ is_uploaded_file ( $_FILES [ 'Filedata' ][ " tmp_name " ])) {
upload_error ( " Upload failed is_uploaded_file test. " );
exit ( 0 );
} else if ( ! isset ( $_FILES [ 'Filedata' ][ 'name' ])) {
upload_error ( " File has no name. " );
exit ( 0 );
}
//Check file size
$file_size = @ filesize ( $_FILES [ 'Filedata' ][ " tmp_name " ]);
if ( ! $file_size || $file_size > $max_file_size_in_bytes ) {
upload_error ( " File exceeds the maximum allowed size " ) ;
exit ( 0 );
}
//Checking file type
$types_array = preg_replace ( '/,/' , ' ' , $types );
$types_array = explode ( ' ' , $types_array );
$file_ext = strtolower ( getExt ( $_FILES [ 'Filedata' ][ 'name' ]));
if ( ! in_array ( $file_ext , $types_array ))
{
upload_error ( " Invalid file extension " );
exit ( 0 );
}
2016-03-14 15:15:49 +05:00
$moved = move_uploaded_file ( $tempFile , $targetFile );
if ( $moved ){
$log -> writeLine ( 'Temporary Uploading' , 'File Uploaded to Temp directory successfully and video conversion file is being executed !' , true );
} else {
$log -> writeLine ( 'Temporary Uploading' , 'Went something wrong in moving the file in Temp directory!' , true );
}
2014-09-23 12:07:50 +00:00
2013-10-07 12:17:06 +00:00
2016-03-14 15:15:49 +05:00
2013-10-07 12:17:06 +00:00
$Upload -> add_conversion_queue ( $targetFileName );
$quick_conv = config ( 'quick_conv' );
$use_crons = config ( 'use_crons' );
2016-03-14 15:15:49 +05:00
2013-10-07 12:17:06 +00:00
if ( $quick_conv == 'yes' || $use_crons == 'no' )
{
//exec(php_path()." -q ".BASEDIR."/actions/video_convert.php &> /dev/null &");
if ( stristr ( PHP_OS , 'WIN' )) {
2014-04-15 09:12:59 +00:00
//echo php_path()." -q ".BASEDIR."/actions/video_convert_test.php $targetFileName";
2014-11-22 15:22:41 +00:00
exec ( php_path () . " -q " . BASEDIR . " /actions/video_convert.php $targetFileName " );
} elseif ( stristr ( PHP_OS , 'darwin' ))
{
exec ( php_path () . " -q " . BASEDIR . " /actions/video_convert.php $targetFileName </dev/null >/dev/null & " );
2013-10-07 12:17:06 +00:00
} else {
2014-04-15 09:12:59 +00:00
// for ubuntu or linux
2016-03-14 15:15:49 +05:00
exec ( php_path () . " -q " . BASEDIR . " /actions/video_convert.php $targetFileName $file_name $file_directory $logFile > /dev/null & " );
2013-10-07 12:17:06 +00:00
}
}
2016-03-14 15:15:49 +05:00
$TempLogData = 'Video Converson File executed successfully with Target File > !' . $targetFileName ;
$log -> writeLine ( 'Video Conversion File Execution' , $TempLogData , true );
2013-10-07 12:17:06 +00:00
2014-01-29 08:14:10 +00:00
echo json_encode ( array ( " success " => " yes " , " file_name " => $file_name , 'phpos' => PHP_OS ));
2013-10-07 12:17:06 +00:00
}
break ;
case " update_video " :
{
$Upload -> validate_video_upload_form ();
$_POST [ 'videoid' ] = trim ( $_POST [ 'videoid' ]);
2016-03-24 16:49:10 +05:00
$_POST [ 'title' ] = addslashes ( $_POST [ 'title' ]);
$_POST [ 'description' ] = addslashes ( $_POST [ 'description' ]);
2013-10-07 12:17:06 +00:00
if ( empty ( $eh -> error_list ))
{
$cbvid -> update_video ();
}
if ( error ())
echo json_encode ( array ( 'error' => error ( 'single' )));
else
echo json_encode ( array ( 'msg' => msg ( 'single' )));
}
}
//function used to display error
function upload_error ( $error )
{
echo json_encode ( array ( " error " => $error ));
}
?>