2022-03-06 02:02:12 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								< ? php 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								namespace  App\Models ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								use  Illuminate\Database\Eloquent\Factories\HasFactory ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								use  Illuminate\Database\Eloquent\Model ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-05-15 01:21:51 +10:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								use  Illuminate\Support\Facades\Cache ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								use  Illuminate\Support\Facades\DB ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-06 02:02:12 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								class  Server  extends  Model 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    use  HasFactory ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    public  $incrementing  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-05-15 01:21:51 +10:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    protected  $fillable  =  [ 'id' ,  'hostname' ,  'ipv4' ,  'ipv6' ,  'server_type' ,  'os_id' ,  'location_id' ,  'provider_id' ,  'ram' ,  'disk' ,  'ram_type' ,  'disk_type' ,  'ns1' ,  'ns2' ,  'label' ,  'bandwidth' ,  'ram_as_mb' ,  'disk_as_gb' ,  'has_yabs' ,  'was_promo' ,  'owned_since' ,  'ssh' ,  'active' ,  'show_public' ]; 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-06 02:02:12 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    /** 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     *  @ var  mixed 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								     */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    private  $id ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    public  static  function  serviceServerType ( $type ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( $type  ===  1 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " KVM " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $type  ===  2 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " OVZ " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $type  ===  3 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " DEDI " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $type  ===  4 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " LXC " ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-05-14 23:39:31 +10:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        }  elseif  ( $type  ===  6 )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " VMware " ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-06 02:02:12 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " SEMI-DEDI " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    public  static  function  osIntToIcon ( int  $os ,  string  $os_name ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( $os  ===  1 )  { //None
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " <i class='fas fa-expand' title=' { $os_name } '></i> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  else  if  ( $os  <=  3 )  { //Centos
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " <i class='fab fa-centos os-icon' title=' { $os_name } '></i> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  >  3  &&  $os  <=  6 )  { //Debain
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " <i class='fab fa-linux os-icon' title=' { $os_name } '></i> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  >  6  &&  $os  <  10 )  { //Fedora
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " <i class='fab fa-fedora os-icon' title=' { $os_name } '></i> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  >  10  &&  $os  <  13 )  { //FreeBSD
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " <i class='fab fa-linux os-icon' title=' { $os_name } '></i> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  >  13  &&  $os  <  16 )  { //OpenBSD
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " <i class='fab fa-linux os-icon' title=' { $os_name } '></i> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  >  15  &&  $os  <  21 )  { //Ubuntu
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " <i class='fab fa-ubuntu os-icon' title=' { $os_name } '></i> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  >  20  &&  $os  <  26 )  { //Windows
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " <i class='fab fa-windows os-icon' title=' { $os_name } '></i> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  else  { //OTHER ISO CUSTOM etc
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " <i class='fas fa-compact-disc os-icon' title=' { $os_name } '></i> " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    public  static  function  osIdAsString ( $os ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( $os  ===  " 0 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " None " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 1 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " CentOS 7 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 2 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " CentOS 8 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 3 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " CentOS " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 4 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " Debian 9 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 5 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " Debian 10 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 6 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " Debian " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 7 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " Fedora 32 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 8 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " Fedora 33 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 9 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " Fedora " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 10 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " FreeBSD 11.4 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 11 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " FreeBSD 12.1 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 12 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " FreeBSD " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 13 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " OpenBSD 6.7 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 14 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " OpenBSD 6.8 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 15 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " OpenBSD " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ==  " 16 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " Ubuntu 16.04 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 17 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " Ubuntu 18.04 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 18 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " Ubuntu 20.04 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 19 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " Ubuntu 20.10 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 20 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " Ubuntu " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 21 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " Windows Server 2008 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 22 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " Windows Server 2012 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 23 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " Windows Server 2016 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 24 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " Windows Server 2019 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 25 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " Windows 10 " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 26 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " Custom " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $os  ===  " 27 " )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " Other " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  " Unknown " ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    public  static  function  tableRowCompare ( string  $val1 ,  string  $val2 ,  string  $value_type  =  '' ,  bool  $is_int  =  true ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        //<td class="td-nowrap plus-td">+303<span class="data-type">MBps</span></td>
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $str  =  '<td class="td-nowrap ' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $value_append  =  '<span class="data-type">'  .  $value_type  .  '</span>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( $is_int )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $val1  =  ( int ) $val1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $val2  =  ( int ) $val2 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( $val1  >  $val2 )  { //val1 is greater than val2
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $result  =  '+'  .  ( $val1  -  $val2 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( ! empty ( $value_type ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                $result  =  '+'  .  ( $val1  -  $val2 )  .  $value_append ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $str  .=  'plus-td">'  .  $result  .  '</td>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  elseif  ( $val1  <  $val2 )  { //val1 is less than val2
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $result  =  '-'  .  ( $val2  -  $val1 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( ! empty ( $value_type ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                $result  =  '-'  .  ( $val2  -  $val1 )  .  $value_append ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $str  .=  'neg-td">'  .  $result  .  '</td>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }  else  { //Equal
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $result  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  ( ! empty ( $value_type ))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                $result  =  '0'  .  $value_append ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $str  .=  'equal-td">'  .  $result  .  '</td>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  $str ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-05-15 01:21:51 +10:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    public  static  function  serverRelatedCacheForget () :  void 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        Cache :: forget ( 'services_count' ); //Main page services_count cache
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        Cache :: forget ( 'due_soon' ); //Main page due_soon cache
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        Cache :: forget ( 'recently_added' ); //Main page recently_added cache
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        Cache :: forget ( 'all_active_servers' ); //all servers cache
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        Cache :: forget ( 'non_active_servers' ); //all servers cache
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        Cache :: forget ( 'servers_summary' ); //servers summary cache
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        Cache :: forget ( 'public_server_data' ); //public servers
 
							 
						 
					
						
							
								
									
										
										
										
											2022-05-16 14:45:22 +10:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        Cache :: forget ( 'all_pricing' ); //All pricing
 
							 
						 
					
						
							
								
									
										
										
										
											2022-05-29 17:02:49 +10:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        Cache :: forget ( 'services_count_all' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        Cache :: forget ( 'pricing_breakdown' ); 
							 
						 
					
						
							
								
									
										
										
										
											2022-05-15 01:21:51 +10:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    public  static  function  serverSpecificCacheForget ( string  $server_id ) :  void 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        Cache :: forget ( " server_show_data. $server_id " ); //data for show
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        Cache :: forget ( " ip_addresses. $server_id " ); //ips for server
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        Cache :: forget ( " labels_for_service. $server_id " ); //labels for server
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        Cache :: forget ( " service_pricing. $server_id " ); //Pricing
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    public  static  function  activeServersDataIndexPage () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  Cache :: remember ( 'all_active_servers' ,  now () -> addMonth ( 1 ),  function  ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  DB :: table ( 'servers as s' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> join ( 'pricings as pr' ,  's.id' ,  '=' ,  'pr.service_id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> join ( 'providers as p' ,  's.provider_id' ,  '=' ,  'p.id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> join ( 'locations as l' ,  's.location_id' ,  '=' ,  'l.id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> join ( 'os as o' ,  's.os_id' ,  '=' ,  'o.id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> where ( 's.active' ,  '=' ,  1 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> get ([ 's.*' ,  'pr.currency' ,  'pr.price' ,  'pr.term' ,  'pr.as_usd' ,  'pr.next_due_date' ,  'p.name as provider_name' ,  'l.name as location' ,  'o.name as os_name' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    public  static  function  nonActiveServersDataIndexPage () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  Cache :: remember ( 'non_active_servers' ,  now () -> addMonth ( 1 ),  function  ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  DB :: table ( 'servers as s' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> join ( 'pricings as pr' ,  's.id' ,  '=' ,  'pr.service_id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> join ( 'providers as p' ,  's.provider_id' ,  '=' ,  'p.id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> join ( 'locations as l' ,  's.location_id' ,  '=' ,  'l.id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> join ( 'os as o' ,  's.os_id' ,  '=' ,  'o.id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> where ( 's.active' ,  '=' ,  0 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> get ([ 's.*' ,  'pr.currency' ,  'pr.price' ,  'pr.term' ,  'pr.as_usd' ,  'p.name as provider_name' ,  'l.name as location' ,  'o.name as os_name' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    public  static  function  serverDataShowPage ( string  $server_id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  Cache :: remember ( " server_show_data. $server_id " ,  now () -> addDay ( 1 ),  function  ()  use  ( $server_id )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  DB :: table ( 'servers as s' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> join ( 'pricings as pr' ,  's.id' ,  '=' ,  'pr.service_id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> join ( 'providers as p' ,  's.provider_id' ,  '=' ,  'p.id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> join ( 'locations as l' ,  's.location_id' ,  '=' ,  'l.id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> join ( 'os as o' ,  's.os_id' ,  '=' ,  'o.id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> Leftjoin ( 'yabs as y' ,  's.id' ,  '=' ,  'y.server_id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> Leftjoin ( 'disk_speed as ds' ,  'y.id' ,  '=' ,  'ds.id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> where ( 's.id' ,  '=' ,  $server_id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> get ([ 's.*' ,  'p.name as provider' ,  'l.name as location' ,  'o.name as os_name' ,  'pr.*' ,  'y.*' ,  'ds.*' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    public  static  function  publicServerData () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  Cache :: remember ( 'public_server_data' ,  now () -> addMonth ( 1 ),  function  ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  DB :: table ( 'servers as s' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> Join ( 'pricings as pr' ,  's.id' ,  '=' ,  'pr.service_id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> Join ( 'providers as p' ,  's.provider_id' ,  '=' ,  'p.id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> Join ( 'locations as l' ,  's.location_id' ,  '=' ,  'l.id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> Join ( 'os as o' ,  's.os_id' ,  '=' ,  'o.id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> LeftJoin ( 'ips as i' ,  's.id' ,  '=' ,  'i.service_id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> LeftJoin ( 'yabs as y' ,  's.id' ,  '=' ,  'y.server_id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> LeftJoin ( 'disk_speed as ds' ,  'y.id' ,  '=' ,  'ds.id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> where ( 's.show_public' ,  '=' ,  1 ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> get ([ 'pr.currency' ,  'pr.price' ,  'pr.term' ,  'pr.as_usd' ,  'pr.next_due_date' ,  'pr.service_id' ,  'p.name as provider_name' ,  'l.name as location' ,  'o.name as os_name' ,  'y.*' ,  'y.id as yabs_id' ,  'ds.*' ,  's.*' ,  'i.address as ip' ,  'i.is_ipv4' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    public  static  function  serverCompareData ( string  $server_id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  Cache :: remember ( " server_compare. $server_id " ,  now () -> addMonth ( 1 ),  function  ()  use  ( $server_id )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  DB :: table ( 'servers as s' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> join ( 'pricings as pr' ,  's.id' ,  '=' ,  'pr.service_id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> join ( 'providers as p' ,  's.provider_id' ,  '=' ,  'p.id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> join ( 'locations as l' ,  's.location_id' ,  '=' ,  'l.id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> Join ( 'yabs as y' ,  's.id' ,  '=' ,  'y.server_id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> Join ( 'disk_speed as ds' ,  'y.id' ,  '=' ,  'ds.id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> where ( 's.id' ,  '=' ,  $server_id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> get ([ 's.*' ,  'p.name as provider_name' ,  'l.name as location' ,  'pr.*' ,  'y.*' ,  'y.id as yabs_id' ,  'ds.*' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-03-06 02:02:12 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								}