<?php
error_reporting(E_ERROR | E_PARSE);
//Obtengo la ruta General de los archivos!
$uri ='../../Classes/core_class/consultasDb.php';

include_once($uri);
//include_once('Classes/libraries/mysqldump/src/Ifsnop/Mysqldump/Mysqldump.php');

class configuraciones extends consultasDb
{
	private $configuracionID;
	private $configuracionNombre;
	private $configuracionValor;

	public function __construct($configuracionNombre="",$configuracionValor="")
	{
		parent::__construct('configuraciones');
		$this->setDbLink(parent::Conectar());

		$this->setConfiguracionNombre($configuracionNombre);
		$this->setConfiguracionValor($configuracionValor);
	}

	//Setters

	public function setConfiguracionNombre($configuracionNombre)
	{
		$this->configuracionNombre = $configuracionNombre;
	}
	public function setConfiguracionValor($configuracionValor)
	{
		$this->configuracionValor = $configuracionValor;
	}
	

	//Getters

	public function getConfiguracionNombre()
	{
		return $this->configuracionNombre;
	}
	public function getConfiguracionValor()
	{
		return $this->configuracionValor;
	}
	public function array_atrib()
	{
		return array("ConfiguracionNombre"=>$this->getConfiguracionNombre(),"ConfiguracionValor"=>$this->getConfiguracionValor());
	}

	public function nuevo()
	{
		$array = $this->array_atrib();
		$nuevo = new consultasDb("configuraciones");
		$q = $nuevo->insert($array);
		$nuevo->Desconectar();
		return $q;
	}
	

	
	public function nuevo_configuracion_inicial($parametros)
	{
		try 
		{
			$nuevo_configuracion_inicial = new consultasDb("configuraciones");
			$nuevo_configuracion_inicial->setConsulta("call insert_configuracion_inicial('".$parametros["razon_social"]."','".$parametros["direccion"]."','".$parametros["telefono"]."')");
			$q = $nuevo_configuracion_inicial->query();
			
			$nuevo_configuracion_inicial->setConsulta("call insert_operadores_monitor(1,null,'".$parametros["nombre_usuario"]."','".$parametros["nombre_completo"]."','".md5($parametros["password"])."',1)");
			$q = $nuevo_configuracion_inicial->query();
			$nuevo_configuracion_inicial->Desconectar();
			
			if(!$this->UpdateDiaConfiguracion())
				return false;
			
			return $q;
		} 
		catch (Exception $e) 
		{
			echo 'Excepción capturada: ',  $e->getMessage(), "\n";
		}
	}

	public function nuevo_configuracion_general($parametros)
	{
		try 
		{
			$nuevo_configuracion_inicial = new consultasDb("");
			$nuevo_configuracion_inicial->setConsulta("call update_configuraciones_monitor('".$parametros["trabaja_sucursal"]."','".$parametros["trabaja_distrito"]."','".$parametros["trabaja_zona"]."','".$parametros["abm_sucursal"].
			"','".$parametros["abm_distrito"]."','".$parametros["abm_zona"]."','".$parametros["tipo_venta"]."','".$parametros["unidades_caja"]."','".$parametros["subunidades"]."')");
			$q = $nuevo_configuracion_inicial->query();
						
			return $q;
		} 
		catch (Exception $e) 
		{
			echo 'Excepción capturada: ',  $e->getMessage(), "\n";
		}
	}
	
	public function nuevo_configuracion_backup($parametros)
	{
		try 
		{
			$nuevo_configuracion_inicial = new consultasDb("");
			//$nuevo_configuracion_inicial->setConsulta("call update_backup('".$parametros["duracion_sesion"]."','".$parametros["dias_backup"]."')");
			$nuevo_configuracion_inicial->setConsulta("UPDATE configuraciones SET ConfiguracionValor = '".$parametros["dias_backup"]."' WHERE ConfiguracionNombre ='DiasBackUP';");
			$q = $nuevo_configuracion_inicial->query();
						
			return $q;
		} 
		catch (Exception $e) 
		{
			echo 'Excepción capturada: ',  $e->getMessage(), "\n";
		}
	}
	
	public function nuevo_configuracion_notif($parametros)
	{
		try 
		{
			$nuevo_configuracion_inicial = new consultasDb("");
			$nuevo_configuracion_inicial->setConsulta("call update_notificaciones('".$parametros["operadores_loc"]."','".$parametros["operadores_tiempo"]."')");
			$q = $nuevo_configuracion_inicial->query();
						
			return $q;
		} 
		catch (Exception $e) 
		{
			echo 'Excepción capturada: ',  $e->getMessage(), "\n";
		}
	}
		
	public function editar($id)
	{
		$array = $this->array_atrib();
		$editar = new consultasDb("configuraciones");
		$q = $editar->update($array,"ConfiguracionID",$id);
		$editar->Desconectar();
		return $q;
	}

	public function eliminar($id)
	{
		$eliminar = new consultasDb("configuraciones");
		$q = $eliminar->delete("ConfiguracionID",$id);
		$editar->Desconectar();
		return $q;
	}

	public function mostrar_un_registro($id)
	{
		$mostrar_un_registro = new consultasDb("configuraciones");
		$mostrar_un_registro->select();
		$mostrar_un_registro->where("ConfiguracionID = ".$id);
		$q = $mostrar_un_registro->query();
		$row = $mostrar_un_registro->fetchArray($q);
		$mostrar_un_registro->Desconectar();
		return $row;
	}
	
	public function GetConfiguraciones($ConfiguracionNombre)
	{
	   $configuraciones = new consultasDb('');
	   $configuraciones->setConsulta("SELECT * FROM configuraciones WHERE ConfiguracionNombre = '".$ConfiguracionNombre."'");
	   $q = $configuraciones->query();
	   $row = $configuraciones->fetchArray($q);
	   $configuraciones->Desconectar();
	   return $row["ConfiguracionValor"];
	}
	
	public function UpdateDiaConfiguracion()
	{
	   try 
	   {
		   $configuraciones = new consultasDb('');
		   $configuraciones->setConsulta("UPDATE configuraciones SET ConfiguracionValor = '".date("Ymd")."' WHERE ConfiguracionNombre = 'UltimoBackup'");
		   $q = $configuraciones->query();
		   return true;
	   } 
	   catch (Exception $e) 
	   {
		   return false;
	   }
	}
	
}
?>