<?php

    
//PHP SSH Class by Sloenthran

    
class SSH
    
{
    
        private 
$Connection;
        private 
$Console;
        
        var 
$SendCommand = array();
    
        function 
Connect($Host$User$Pass)
        {
        
            
$Connect ssh2_connect($Host22);
            
            
ssh2_auth_password($Connect$User$Pass);
            
            
$Console ssh2_shell($Connect'xterm');
            
            
$this->Connection $Connect;
            
$this->Console $Console;
        
        }
        
        function 
AddSend($Command)
        {
        
            
$this->SendCommand[] = $Command;
        
        }
        
        function 
Send()
        {
        
            foreach(
$this->SendCommand as $Key => $Value)
            {
            
                
fwrite($this->Console$Value PHP_EOL);
            
            }
            
            
sleep(1);
            
            
$this->Close();
        
        }
        
        function 
Exec($Command)
        {
        
            
$Exec ssh2_exec($this->Connection$Command);
            
            
stream_set_blocking($Exectrue);
            
            return 
stream_get_contents($Exec);
        
        }
        
        function 
Close()
        {
            
            
$this->Connection false;
            
$this->Console false;
        
        }
        
        function 
GetCPU()
        {
        
            return 
$this->Exec("cat /proc/cpuinfo | grep MHz | awk '{print $4}' | cut -d '.' -f 1");
        
        }
        
        function 
GetRAM()
        {
        
            
$Exec = array();
        
            
$Exec[] = "free -m | grep Mem: | awk {'print $2'}";
            
$Exec[] = "free -m | grep Mem: | awk {'print $3'}";
            
$Exec[] = "free -m | grep Mem: | awk {'print $4'}";
            
            foreach(
$Exec as $Key => $Value)
            {
            
                
$Exec[$Key] = $this->Exec($Value);
                
            }
            
            return 
$Exec;
        
        }
        
        function 
GetSwapRAM()
        {
        
            
$Exec = array();
        
            
$Exec[] = "free -m | grep Swap: | awk {'print $2'}";
            
$Exec[] = "free -m | grep Swap: | awk {'print $3'}";
            
$Exec[] = "free -m | grep Swap: | awk {'print $4'}";
            
            foreach(
$Exec as $Key => $Value)
            {
            
                
$Exec[$Key] = $this->Exec($Value);
                
            }
            
            return 
$Exec;
        
        }
        
        function 
GetUptime()
        {
        
            
$Exec $this->Exec("cat /proc/uptime | awk {'print $1'} | cut -d '.' -f 1");
            
            
$Time[0] = floor($Exec / (3600 24));
            
            
$Exec $Exec % (3600 24);
 
            
$Time[1] = floor($Exec 3600);
            
            
$Exec $Exec 3600;
 
            
$Time[2] = floor($Exec 60);
            
            
$Exec $Exec 60;
            
            return 
''.$Time[0].' days, '.$Time[1].' hours, '.$Time[2].' minuts, '.$Exec.' seconds';
        
        }
        
        function 
GetHDD()
        {
        
            
$Exec = array();
        
            
$Exec[] = "df -h | grep /dev | awk {'print $2'} | cut -d 'G' -f 1";
            
$Exec[] = "df -h | grep /dev | awk {'print $3'} | cut -d 'G' -f 1";
            
$Exec[] = "df -h | grep /dev | awk {'print $4'} | cut -d 'G' -f 1";
            
            foreach(
$Exec as $Key => $Value)
            {
            
                
$Exec[$Key] = $this->Exec($Value);
                
            }
            
            return 
$Exec;
        
        }
        
        function 
GetScreenStatus($Name)
        {
        
            
$Exec $this->Exec('screen -ls | grep '.$Name.'');
            
            if(!
$Exec)
            {
            
                return 
false;
            
            }
            
            else
            {
            
                return 
true;
            
            }
        
        }
    
    }
    
?>