<?php
	
	$DEBUG = false;
	
	if ($DEBUG == true) { exit; }
	
	include('config.php');
	require('routeros_api_silent.class.php');
	
	$RESPONSE_ARRAY = array();
	
	function ConvertSpeed($bits) { 
	
		switch(true) {
			case $bits <= 1048576:
				return ($bits / 1024);
				break;
			case $bits >= 1048577:
				return ($bits / 1048576);
				break;
			default:
				return $bits;
				break;
		}
		
	} 
	function ConvertSpeedType($bits) { 
	
		switch(true) {
			case $bits <= 1048576:
				return 'Kbps';
				break;
			case $bits >= 1048577:
				return 'Mbps';
				break;
			default:
				return 'nd';
				break;
		}
		
	} 
	
	function sortByOrder($a, $b) {
			return $a['default-name'] > $b['default-name'];
		}

	
	$API = new RouterosAPI();
	$API->debug = false;
	if ($API->connect($_POST['BB_IP_ADDRESS'], $_POST['BB_USERNAME'], $_POST['BB_PASSWORD'])) {
	   $API->write('/ip/arp/print');
	   $READ = $API->read(false);
	   $ARRAY = $API->parseResponse($READ);
	   $API->write('/interface/wireless/registration-table/print');
	   $READ = $API->read(false);
	   $ARRAYW = $API->parseResponse($READ);
	   $API->write('/system/identity/print');
	   $READ = $API->read(false);
	   $DispName = $API->parseResponse($READ);
	   $API->write('/interface/monitor-traffic', false);
	   $API->write('=interface='.$_POST['BB_WAN1'], false);
	   $API->write('=once=');
	   $READ = $API->read(false);
	   $ASpeed = $API->parseResponse($READ);
	   $API->write('/ip/address/print');
	   $READ = $API->read(false);
	   $ADDR = $API->parseResponse($READ);
	   $API->write('/interface/ethernet/print');
	   $READ = $API->read(false);
	   $INTERFACES = $API->parseResponse($READ);
	   $API->disconnect();
	   
	    $RESPONSE_ARRAY['ConnectioState'] = 'Connected';
		$RESPONSE_ARRAY['DeviceName'] = $DispName[0]['name'];
		$RESPONSE_ARRAY['NumerOfCabledDevices'] = count($ARRAY);
		//$RESPONSE_ARRAY['NumerOfWirelessDevices'] = count($ARRAYW);
		
		if ($ARRAYW['!trap'][1]['message'] == "no such command prefix") {
			$RESPONSE_ARRAY['NumerOfWirelessDevices'] = '<small>No Wifi</small>';
		} else {
			$RESPONSE_ARRAY['NumerOfWirelessDevices'] = count($ARRAYW);
		}
		
		
		
		$RESPONSE_ARRAY['DownloadSpeed'] = ConvertSpeed($ASpeed[0]['rx-bits-per-second']);
		$RESPONSE_ARRAY['UploadSpeed'] = ConvertSpeed($ASpeed[0]['tx-bits-per-second']);
		$RESPONSE_ARRAY['DownloadMetrics'] = ConvertSpeedType($ASpeed[0]['rx-bits-per-second']);
		$RESPONSE_ARRAY['UploadMetrics'] = ConvertSpeedType($ASpeed[0]['tx-bits-per-second']);
		
		foreach ($ADDR as $key => $value) {
			if ($ADDR[$key]['interface'] == $_POST['BB_WAN1']) {
				$RESPONSE_ARRAY['DeviceIPAddress'] = $ADDR[$key]['address'];
			}
		}
		
		

		usort($INTERFACES, 'sortByOrder');
		
		$RESPONSE_ARRAY['EthernetInterfaces'] = $INTERFACES;
		
		mysql_connect($LDB_IP_ADDRESS, $LDB_USERNAME, $LDB_PASSWORD);
		mysql_select_db($LDB_DB_NAME);
		$Q = mysql_query("SELECT * FROM bb_soc_daemon WHERE bb_id IN (SELECT id_device FROM bb_devices_associations WHERE id_customer = '".$_POST['UID']."') AND check_state = '0';");
		
		if (mysql_num_rows($Q) == 0) {
			$RESPONSE_ARRAY['DaemonSOC'] = null;
		} else {
			while ($DATA = mysql_fetch_array($Q)) {
				$RESPONSE_ARRAY['DaemonSOC'][] = $DATA; 
			}
		}
		
		echo json_encode($RESPONSE_ARRAY);
		
	} else {
		$RESPONSE_ARRAY['ConnectioState'] = 'Error';
		echo json_encode($RESPONSE_ARRAY);
	}
	
	
?>