<?php 
require "vistas.php";
require "modelo.php";

/*
Aplicación CRUD  CreateReadUpdateDelete
PHP tiene 2 métodos de envío de datos: POST y GET

Create  Afecta BD    POST Modelo
Read    No afecta BD GET  Vista
Update  Afecta BD    POST Modelo
Delete  Afecta BD    POST Modelo 
*/

$transaccion = $_POST["transaccion"];
  
//echo $transaccion; //."recuerden que AJAX se ejecuta en el servidor";
   
function ejecutarTransaccion($transaccion){
	if ($transaccion=="alta") { 
		//Mostrar el formulario de alta
		altaHistorico(); // Se define en las vistas
	}
	else if($transaccion=="insertar"){
		//Procesar los datos del formulario de alta he insertarlos en BD
		insertarHistorico($_POST["fecha_tx"],$_POST["total_dia_tx"]);
	}
	else if($transaccion=="eliminarHistorico"){
		//Elimiar de BD el registro solicitado
		eliminarHistorico($_POST["idHistorico"]);
	}
	else if($transaccion=="eliminarVideo"){
		//Elimiar de BD el registro solicitado
		eliminarVideo($_POST["idVideo"]);
	}
	else if($transaccion=="registrarCamaraIp"){
		//Elimiar de BD el registro solicitado
		registrarCamaraIp($_POST["idCamara"],$_POST["desc"]);
	}
	else if($transaccion=="eliminarCamara"){
		//Elimiar de BD el registro solicitado
		eliminarCamara($_POST["idCamara"]);
	}
	else if($transaccion=="eliminarAlarma"){
		//Elimiar de BD el registro solicitado
		eliminarAlarma($_POST["idAlarma"]);
	}
	else if($transaccion=="eliminarRedWifi"){
		//Elimiar de BD el registro solicitado
		eliminarRedWifi($_POST["idRedWifi"]);
	}
	else if($transaccion=="actualizarRedWifi"){
		actualizarRedWifi($_POST["idRedWifi"],$_POST["ssid"],$_POST["clave"],$_POST["metodo"],$_POST["tipo"],$_POST["ip"],$_POST["mask"],$_POST["gateway"],$_POST["dns"]);
		
		//printf($_POST["idRedWifi"].",".$_POST["ssid"].",".$_POST["clave"].",".$_POST["metodo"].",".$_POST["tipo"].",".$_POST["ip"].",".$_POST["mask"].",".$_POST["gaeway"].",".$_POST["dns"]);
	}
	else if($transaccion=="descargarAlarmas"){
		descargarAlarmas($_POST["fechaInicial"],$_POST["fechaFinal"],$_POST["tipo"]);
	}
	else if($transaccion=="ConfigCamaraIp"){
		ConfigCamaraIp();
	}
	else if($transaccion=="aplicarCambiosWifi"){
		aplicarCambiosWifi();
	}    
	else if($transaccion=="grabarRecorrido"){
		grabarRecorrido();
	}  
	else if($transaccion=="ejecutarSimulacion"){
		ejecutarSimulacion();
	}
	else if($transaccion=="ejecutarRecuperacion"){
		ejecutarRecuperacion();
	}
	else if($transaccion=="generarDetalleConteos"){
		generarDetalleConteos($_POST["fechaInicial"],$_POST["horaInicial"],$_POST["fechaFinal"],$_POST["horaFinal"]);
	}
	else if($transaccion=="generarDetalleVideos"){
		
		generarDetalleVideos($_POST["fechaInicial"],$_POST["horaInicial"],$_POST["fechaFinal"],$_POST["horaFinal"],$_POST["desc"]);
	}
	else if($transaccion=="descargarConteos"){
		descargarConteos($_POST["fechaInicial"],$_POST["horaInicial"],$_POST["fechaFinal"],$_POST["horaFinal"]);
	}
	else if($transaccion=="descargarHistoricos"){
		descargarHistoricos($_POST["fechaInicial"],$_POST["fechaFinal"]);
	}
	else if($transaccion=="datosUsuario"){
		datosUsuario();
	}
        else if($transaccion=="consultarConfigVideos"){
		consultarConfigVideos();
	}
        else if($transaccion=="borrarVideos"){
		borrarVideos();
	}
        else if($transaccion=="probarCamara"){
		probarCamara(); 
	}
        else if($transaccion=="firmwareJava"){
		firmwareJava(); 
	}
        else if($transaccion=="confgVideos"){
            confgVideos($_POST["activado"],$_POST["aConteo"],$_POST["tipoConteo"],$_POST["tConteo"],$_POST["aBloqueo"],$_POST["tBloqueo"],$_POST["aTapa"],$_POST["tTapa"],$_POST["aObstruido"],$_POST["tObstruido"],$_POST["limiteVideos"]);
	}
	else if($transaccion=="reiniciarFabrica"){
		reiniciarFabrica();
	}
	else if($transaccion=="conectarRedWifi"){
		conectarRedWifi($_POST["idRedWifi"]);
	}
	else if($transaccion=="guardarRedWifi"){
		guardarRedWifi($_POST["so_board"],$_POST["config_ip"],$_POST["ip"],$_POST["mask"],$_POST["gateway"]);
	}
	else if($transaccion=="eliminarProgramacionAudio"){
		eliminarProgramacionAudio($_POST["id"]);
	}
	else if($transaccion=="reiniciar"){
		reiniciarSistema();
	}
	else if($transaccion=="aplicarCambiosAudios"){
		aplicarCambiosAudios();
	}
	else if($transaccion=="borrarProgramacionAudios"){
		borrarProgramacionAudios();
	}
	else if($transaccion=="editarPermisosUsuario"){
		editarPermisosUsuario($_POST["permisos"]);
	}
	else if($transaccion=="permisosUsuario"){
		permisosUsuario();
	}
	else if($transaccion=="editarDatosUsuario"){
		editarDatosUsuario($_POST["usuario"],$_POST["clave"]);
	}
	else if($transaccion=="editarContadoresExe"){
		editarContadoresExe($_POST["numeracion"],$_POST["totalDia"],$_POST["entradas"],$_POST["salidas"]);
	} 
	else if($transaccion=="apagar"){
		apagarSistema();
	}else if($transaccion=="insertarConfiguracion"){
		insertarConfiguracion($_POST["numero_puertas_tx"],$_POST["ip_servidor_tx"],$_POST["puerto_servidor_tx"],$_POST["firmware_tx"],$_POST["sentido_tx"],
		$_POST["placa_tx"],$_POST["utc_tx"],$_POST["regisdata_tx"],"1",$_POST["borrarContadores_tx"],$_POST["trama_gps_tx"],$_POST["descuento_tx"],$_POST["volumen_tx"],
		$_POST["limiteVelocidad_tx"],$_POST["horaHibernacion_tx"],$_POST["duracionHibernacion_tx"],$_POST["opcionesDisplay_tx"],$_POST["alarmaPuerta_tx"],$_POST["velAlarmaPuerta_tx"],$_POST["msgAlarmaPuerta_tx"],
		$_POST["permisosAlarma_tx"],$_POST["CambioPermisosAlarmas_tx"],$_POST["activarHibernacion_tx"],$_POST["cbRetardoDesactSensor_tx"]);
	}else if($transaccion=="generarTrama"){
		generarTrama($_POST["fechaInicial"],$_POST["horaInicial"],$_POST["fechaFinal"],$_POST["horaFinal"]);
	}else if($transaccion=="enviarTrama"){
		enviarTrama($_POST["trama"]);
	}
	else if($transaccion=="guardarAudio"){
		guardarAudio($_POST["audio"],$_POST["intervalo"],$_POST["fechaInicial"],$_POST["fechaFinal"],$_POST["volumen"]);
	}
        else if($transaccion=="escucharAudio"){
		escucharAudio($_POST["audio"],$_POST["volumen"]);
	}
	else if($transaccion=="ejecutarJAVA"){
		//echo "EjecutandoJAVA";
		exec('sudo pkill -9 -f OrangeWifi.jar');
		exec('sudo pkill -9 -f RV60.jar');
		exec('sudo java -jar /home/root/NetBeansProjects/OrangeWifi/dist/OrangeWifi.jar > /dev/null 2>/dev/null &');
		exec('sudo java -jar /home/root/NetBeansProjects/RV60_OrangePi/dist/RV60.jar > /dev/null 2>/dev/null &');
		return printf("EjecutandoJAVA");
	}else if($transaccion=="guardarIpConfig"){
		//guardarIpConfig($_POST["ip_config_tx"],$_POST["direccionIp_tx"],$_POST["mascarared_tx"],$_POST["gateway_tx"]);
		guardarIpConfigBD($_POST["ssid_tx"],$_POST["clave_tx"],$_POST["tipo_tx"],$_POST["ip_config_tx"],$_POST["direccionIp_tx"],$_POST["mascarared_tx"],$_POST["gateway_tx"],$_POST["dns_tx"]);
	}else if($transaccion=="detenerJAVA"){
		//echo "Deteniendo JAVA";
		exec('sudo pkill -9 -f OrangeWifi.jar');
		exec('sudo pkill -9 -f RV60.jar');
		return printf("detenerJAVA");
	}else if($transaccion=="infoCPU"){
		exec('sudo cat /proc/cpuinfo');
	}else if($transaccion=="infoSistema"){
		infoSistema();
	}else if($transaccion=="borrarAlarmas"){
		borrarAlarmas();
	}else if($transaccion=="borrarHistoricos"){
		borrarHistoricos();
	}else if($transaccion=="limpiarHtml"){
		limpiarHtml();
	}else if($transaccion=="borrarRedWifi"){
		borrarRedWifi($_POST["red"]);
	}else if($transaccion=="borrarLogs"){
		borrarLogs();
	}else if($transaccion=="datosConteo"){
		datosConteo($_POST["fecha_inicial"],$_POST["hora_inicial"],$_POST["fecha_final"],$_POST["hora_final"]);
	}else if($transaccion=="validarHardware"){
		exec("sudo cat /proc/cpuinfo",$return);
		foreach($return as $a){
			if(preg_match('/hardware/i',$a)){
				$result = explode(":",$a);
				$hardware = $result[1];
				//return printf("hardware:".$result[1]);
			}
		}
		foreach($return as $a){
			if(preg_match('/BogoMIPS/i',$a)){
				$result = explode(":",$a);
				$BogoMIPS = $result[1];
				return printf("hardware:".$hardware.":BogoMIPS:".$BogoMIPS);
			}
		}
	}
	else if($transaccion=="guardarVersion"){
		exec("sudo echo '".$_POST['version']."' > /var/www/html/RegislogWeb/variables/versionHtml.txt",$return);
		return printf("VERSION-OK");
	}
}
ejecutarTransaccion($transaccion);
 ?>