2022-03-06 02:02:12 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								< ? php 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								namespace  App\Http\Controllers ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-03-06 02:58:25 +11:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								use  App\Models\IPs ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-06 02:02:12 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								use  App\Models\Labels ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								use  App\Models\NetworkSpeed ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-06 02:58:25 +11:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								use  App\Models\OS ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-06 02:02:12 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								use  App\Models\Pricing ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								use  App\Models\Providers ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								use  App\Models\Server ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								use  App\Models\Shared ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								use  DataTables ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								use  Illuminate\Http\Request ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								use  Illuminate\Support\Facades\DB ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								class  ApiController  extends  Controller 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								{ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getAllServers () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $servers  =  DB :: table ( 'servers as s' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> Join ( 'pricings as p' ,  's.id' ,  '=' ,  'p.service_id' ) 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-06 02:58:25 +11:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            -> join ( 'providers as pr' ,  's.provider_id' ,  '=' ,  'pr.id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> join ( 'locations as l' ,  's.location_id' ,  '=' ,  'l.id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> join ( 'os as o' ,  's.os_id' ,  '=' ,  'o.id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get ([ 's.*' ,  'p.id as price_id' ,  'p.currency' ,  'p.price' ,  'p.term' ,  'p.as_usd' ,  'p.usd_per_month' ,  'p.next_due_date' ,  'pr.name as provider' ,  'l.name as location' , 'o.name as os' ]) -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-06 02:02:12 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $servers ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getServer ( $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $server  =  DB :: table ( 'servers as s' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> Join ( 'pricings as p' ,  's.id' ,  '=' ,  'p.service_id' ) 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-06 02:58:25 +11:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            -> join ( 'providers as pr' ,  's.provider_id' ,  '=' ,  'pr.id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> join ( 'locations as l' ,  's.location_id' ,  '=' ,  'l.id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> join ( 'os as o' ,  's.os_id' ,  '=' ,  'o.id' ) 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-06 02:02:12 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								            -> where ( 's.id' ,  '=' ,  $id ) 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-06 02:58:25 +11:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								            -> get ([ 's.*' ,  'p.id as price_id' ,  'p.currency' ,  'p.price' ,  'p.term' ,  'p.as_usd' ,  'p.usd_per_month' ,  'p.next_due_date' ,  'pr.name as provider' ,  'l.name as location' , 'o.name as os' ]); 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-06 02:02:12 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $yabs  =  DB :: table ( 'yabs' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> where ( 'yabs.server_id' ,  '=' ,  $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $disk_speed  =  DB :: table ( 'disk_speed' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> where ( 'disk_speed.server_id' ,  '=' ,  $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $network_speed  =  DB :: table ( 'network_speed' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> where ( 'network_speed.server_id' ,  '=' ,  $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $labels  =  DB :: table ( 'labels_assigned as la' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> Join ( 'labels as l' ,  'la.label_id' ,  '=' ,  'l.id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> where ( 'la.service_id' ,  '=' ,  $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get ([ 'l.*' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-03-06 02:58:25 +11:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        $ip_addresses  =  DB :: table ( 'ips as i' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> where ( 'i.service_id' ,  '=' ,  $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get ([ 'i.*' ]); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $server [ 'ip_addresses' ]  =  $ip_addresses ; 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-06 02:02:12 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        $server [ 'yabs' ]  =  $yabs ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $server [ 'disk_speed' ]  =  $disk_speed ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $server [ 'network_speed' ]  =  $network_speed ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $server [ 'labels' ]  =  $labels ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $server ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getAllPricing () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $pricing  =  Pricing :: all () -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $pricing ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getPricing ( $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $pricing  =  Pricing :: where ( 'id' ,  $id ) -> get () -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $pricing ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getAllNetworkSpeeds () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $ns  =  NetworkSpeed :: all () -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $ns ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getNetworkSpeeds ( $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $ns  =  DB :: table ( 'network_speed as n' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> where ( 'n.server_id' ,  '=' ,  $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get () -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $ns ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getAllLabels () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $labels  =  Labels :: all () -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $labels ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getLabel ( $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $label  =  DB :: table ( 'labels as l' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> where ( 'l.id' ,  '=' ,  $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get () -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $label ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getAllShared () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $shared  =  DB :: table ( 'shared_hosting as sh' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> Join ( 'pricings as p' ,  'sh.id' ,  '=' ,  'p.service_id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get ([ 'sh.*' ,  'p.id as price_id' ,  'p.currency' ,  'p.price' ,  'p.term' ,  'p.as_usd' ,  'p.usd_per_month' ,  'p.next_due_date' ]) -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $shared ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getShared ( $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $shared  =  DB :: table ( 'shared_hosting as sh' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> Join ( 'pricings as p' ,  'sh.id' ,  '=' ,  'p.service_id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> where ( 'sh.id' ,  '=' ,  $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get ([ 'sh.*' ,  'p.id as price_id' ,  'p.currency' ,  'p.price' ,  'p.term' ,  'p.as_usd' ,  'p.usd_per_month' ,  'p.next_due_date' ]) -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $shared ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getAllReseller () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $reseller  =  DB :: table ( 'reseller_hosting as rh' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> Join ( 'pricings as p' ,  'rh.id' ,  '=' ,  'p.service_id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get ([ 'rh.*' ,  'p.id as price_id' ,  'p.currency' ,  'p.price' ,  'p.term' ,  'p.as_usd' ,  'p.usd_per_month' ,  'p.next_due_date' ]) -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $reseller ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getReseller ( $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $reseller  =  DB :: table ( 'reseller_hosting as rh' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> Join ( 'pricings as p' ,  'rh.id' ,  '=' ,  'p.service_id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> where ( 'rh.id' ,  '=' ,  $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get ([ 'rh.*' ,  'p.id as price_id' ,  'p.currency' ,  'p.price' ,  'p.term' ,  'p.as_usd' ,  'p.usd_per_month' ,  'p.next_due_date' ]) -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $reseller ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getAllDomains () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $domains  =  DB :: table ( 'domains as d' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> Join ( 'pricings as p' ,  'd.id' ,  '=' ,  'p.service_id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get ([ 'd.*' ,  'p.id as price_id' ,  'p.currency' ,  'p.price' ,  'p.term' ,  'p.as_usd' ,  'p.usd_per_month' ,  'p.next_due_date' ]) -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $domains ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getDomains ( $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $domain  =  DB :: table ( 'domains as d' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> Join ( 'pricings as p' ,  'd.id' ,  '=' ,  'p.service_id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> where ( 'd.id' ,  '=' ,  $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get ([ 'd.*' ,  'p.id as price_id' ,  'p.currency' ,  'p.price' ,  'p.term' ,  'p.as_usd' ,  'p.usd_per_month' ,  'p.next_due_date' ]) -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $domain ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getAllMisc () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $misc  =  DB :: table ( 'misc_services as m' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> Join ( 'pricings as p' ,  'm.id' ,  '=' ,  'p.service_id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get ([ 'm.*' ,  'p.id as price_id' ,  'p.currency' ,  'p.price' ,  'p.term' ,  'p.as_usd' ,  'p.usd_per_month' ,  'p.next_due_date' ]) -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $misc ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getMisc ( $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $misc  =  DB :: table ( 'misc_services as m' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> Join ( 'pricings as p' ,  'm.id' ,  '=' ,  'p.service_id' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> where ( 'm.id' ,  '=' ,  $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get ([ 'm.*' ,  'p.id as price_id' ,  'p.currency' ,  'p.price' ,  'p.term' ,  'p.as_usd' ,  'p.usd_per_month' ,  'p.next_due_date' ]) -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $misc ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getAllDns () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $dns  =  DB :: table ( 'd_n_s' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get () -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $dns ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getDns ( $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $dns  =  DB :: table ( 'd_n_s' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> where ( 'id' ,  '=' ,  $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get () -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $dns ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getAllLocations () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $locations  =  DB :: table ( 'locations' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get () -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $locations ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getLocation ( $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $location  =  DB :: table ( 'locations' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> where ( 'id' ,  '=' ,  $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get () -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $location ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getAllProviders () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $providers  =  DB :: table ( 'providers' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get () -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $providers ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getProvider ( $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $providers  =  DB :: table ( 'providers' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> where ( 'id' ,  '=' ,  $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get () -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $providers ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getAllSettings () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $settings  =  DB :: table ( 'settings' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get () -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $settings ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-03-06 02:58:25 +11:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    protected  function  getAllOs () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
									
										
										
										
											2022-05-09 14:57:38 +10:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        $os  =  OS :: allOS () -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
									
										
										
										
											2022-03-06 02:58:25 +11:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        return  response ( $os ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getOs ( $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $os  =  DB :: table ( 'os as o' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> where ( 'o.id' ,  '=' ,  $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get () -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $os ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getAllIPs () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $ip  =  IPs :: all () -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $ip ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getIP ( $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        $ip  =  DB :: table ( 'ips as i' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> where ( 'i.id' ,  '=' ,  $id ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            -> get () -> toJson ( JSON_PRETTY_PRINT ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( $ip ,  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2022-03-06 02:02:12 +11:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    public  function  getAllProvidersTable ( Request  $request ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( $request -> ajax ())  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $data  =  Providers :: latest () -> get (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            $dt  =  Datatables :: of ( $data ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> addIndexColumn () 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> addColumn ( 'action' ,  function  ( $row )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    $actionBtn  =  '<form action="'  .  route ( 'providers.destroy' ,  $row [ 'id' ])  .  '" method="POST"><i class="fas fa-trash text-danger ms-3" @click="modalForm" id="btn-'  .  $row [ 'name' ]  .  '" title="'  .  $row [ 'id' ]  .  '"></i> </form>' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    return  $actionBtn ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                }) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> rawColumns ([ 'action' ]) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                -> make ( true ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return  $dt ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  checkHostIsUp ( string  $hostname ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { //Check if host/ip is "up"
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ( $fp  =  @ fsockopen ( $hostname ,  80 ,  $errCode ,  $errStr ,  1 ))  ?  $result  =  true  :  $result  =  false ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ( $fp )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            @ fclose ( $fp ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( array ( 'is_online'  =>  $result ),  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    protected  function  getIpForDomain ( string  $domainname ,  string  $type ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    { //Gets IP from A record for a domain
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        switch  ( $type )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            case  " A " : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                $data  =  dns_get_record ( $domainname ,  DNS_A ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                if  ( isset ( $data [ '0' ][ 'ip' ]))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    return  response ( array ( 'ip'  =>  $data [ '0' ][ 'ip' ]),  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            case  " AAAA " : 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                $data  =  dns_get_record ( $domainname ,  DNS_AAAA ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                if  ( isset ( $data [ '0' ][ 'ipv6' ]))  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    return  response ( array ( 'ip'  =>  $data [ '0' ][ 'ipv6' ]),  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                break ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        return  response ( array ( 'ip'  =>  null ),  200 ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}