Current File : //etc/sentora/panel/etc/apps/filemanager_hold/get_extract_file.php
<?php
//ini_set("display_errors", true);
error_reporting(0);
session_start();
class File_detail
{
	public function __construct()
	{
	
	}
	function file_read_socket($cmd_detail)
        {
                $service_port = 4444 ;
                $address = gethostbyname('localhost');
                $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
                if ($socket === false) {
                        return false;
                }
                $result = socket_connect($socket, $address, $service_port);
                if ($result === false) {
                        return false;
                }
                socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array("sec" => 300, "usec" =>0));
                $in="command ".$cmd_detail;
                $out = '';
                if(@socket_write($socket, $in, strlen($in)))
		{
                	sleep(1);
                	$s_data = socket_read($socket,1024);
                	socket_close($socket);
                	return $s_data;
		}
		else
		{
			socket_close($socket);
			return false;	
		}
                //return true;
        }

	public function file_delete_socket($cmd_detail)
        {
                $service_port = 4444 ;
                $address = gethostbyname('localhost');
                $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
                if ($socket === false) {
                        return false;
                }
                $result = socket_connect($socket, $address, $service_port);
                if ($result === false) {
                        return false;
                }
                socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array("sec" => 300, "usec" =>0));
                $in="command ".$cmd_detail;
                $out = '';
                if(@socket_write($socket, $in, strlen($in)))
                {
                        sleep(1);
                        socket_close($socket);
                }
                else
                {
                        socket_close($socket);
                }
                //return true;
        }


	public function get_file_count()
	{	
		if(array_key_exists("tmp_extract_file_name",$_SESSION))
		{
			$tmp_file_name = $_SESSION['tmp_extract_file_name'];
			$cmd = "fileread ".$tmp_file_name;
			$socket_return = $this->file_read_socket($cmd);
			if(!$socket_return)
			{
				echo json_encode(array("status" =>0));
			}
			else
                        {
				$sock_data1 = trim(preg_replace('/\s+/', ' ', $socket_return));
				$sock_data  = explode(" ",$sock_data1);
				$file_count  = intval($sock_data[0]);
				$disk_free_space = intval($sock_data[2]);
				$extract_status =  trim(preg_replace('/\s+/', '', $sock_data[1]));
				if($extract_status == "__HRPANEL_BACKUP_COMPLETED__")
				{
					$cmd = "filedelete ".$tmp_file_name;
                                        $this->file_delete_socket($cmd);
					echo json_encode(array("status" =>2,"filename"=>$tmp_file_name));
				}
				else
				{
					echo json_encode(array("status"=>1,"file_extract"=>$file_count,"filename"=>$tmp_file_name, "free_space"=>$disk_free_space));
				}
			}
		}
		else
		{
			$sock_status = true;
			$service_port = 4444 ;
                	$address = gethostbyname('localhost');
                	$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
                	if ($socket === false) {
                        	$sock_status = false;
                	}
                	$result = socket_connect($socket, $address, $service_port);
                	if ($result === false) {
                        	$sock_status =  false;
                	}
			socket_close($socket);
			if ($sock_status )
			{	
				$file_detail = array("status"=>1,"file_extract"=>0);
				echo json_encode($file_detail);
			}
			else
			{
                                echo json_encode(array("status" =>0));
			}		
		}
	}	
	
}
$o = new File_detail();
$o->get_file_count();

?>