<?php session_start();

if($_POST) 	{ 
	$keys_post = array_keys($_POST); 
    foreach ($keys_post as $key_post) 
    { 
    $$key_post = $_POST[$key_post]; 
    error_log("variable $key_post viene desde $ _POST"); 
    } 
} 
		


/* Clase encargada de gestionar las conexiones a la base de datos */
class Db{

	private $servidor='192.168.0.21';
	private $usuario='mcaceres';
	private $password='mlcc56';
	private $base_datos='macys';
	private $link;
	private $stmt;
	private $array;
   
   	private $total_consultas;
	public  $total_paginas;
	public  $pagina;
	public  $registros; 
	public  $ano_actual;
	public  $mes_actual;
	public  $id_proceso;
	public  $uf;
	public  $utm;
	public  $automatico_proceso;
	public  $ver;
	public  $modificacion;
	public  $empresa_global;

	static $_instance;

   /*La función construct es privada para evitar que el objeto pueda ser creado mediante new*/
   private function __construct(){
      $this->conectar();
   }

   /*Evitamos el clonaje del objeto. Patrón Singleton*/
   private function __clone(){ }

   /*Función encargada de crear, si es necesario, el objeto. Esta es la función que debemos llamar desde fuera de la clase para instanciar el objeto, y así, poder utilizar sus métodos*/
   public static function getInstance(){
      if (!(self::$_instance instanceof self)){
         self::$_instance=new self();
      }
      return self::$_instance;
   }

   /*Realiza la conexión a la base de datos.*/
   private function conectar(){
      $this->link=mysqli_connect($this->servidor, $this->usuario, $this->password);
      mysqli_select_db($this->link, $this->base_datos);
      //@mysqli_query("SET NAMES 'utf8'");
   }

   /*Método para ejecutar una sentencia sql*/
   public function ejecutar($sql){
      $this->stmt=mysqli_query($this->link, $sql);
      return $this->stmt;
   }

   /*Método para obtener una fila de resultados de la sentencia sql*/
   public function obtener_fila($stmt,$fila=0){
      if ($fila==0){
         $this->array=mysqli_fetch_array($stmt);
      }else{
         mysqli_data_seek($stmt,$fila);
         $this->array=mysqli_fetch_array($stmt);
      }
      return $this->array;
   }

   //Devuelve el último id del insert introducido
   public function lastID(){
      return mysqli_insert_id($this->link);
   } 
   
   public function numDatos($stmt){
      return mysqli_num_rows($stmt);
   }
   
  
   public function id_proces(){
      return $this->id_proceso;
   }
   
   public function rutaConexion(){
      return $this->link;
   }
   
   public function int_modificacion(){
      return $this->modificacion;
   }
   public function int_ver(){
      return $this->ver;
   }
   public function int_anoactual(){
      return $this->ano_actual;
   }
   public function int_mesactual(){
      return $this->mes_actual;
   }

   
   public function proceso($empresa){
	
		$bd=Db::getInstance();
		
		$sql="select 
				Codigo_Proceso,
				Mes_Proceso,
				Ano_Proceso,
				Actual_Proceso,
				Abierto_Proceso,
				uf,
				utm,
				Automatico_Proceso  
			  from sb_proceso where Codigo_Empresa_Proceso='".$empresa."' and Actual_Proceso=1 and
				   Activo_proceso=1
			  ";
		//echo $sql;	  
		$resultado = $bd->ejecutar($sql);
		$num = $bd-> numDatos($resultado);
		if($num==1){	     
			$reg = $bd->obtener_fila($resultado,0);
			$this->ano_actual=$reg['Ano_Proceso'];
			$this->mes_actual=$reg['Mes_Proceso'];
			$this->id_proceso=$reg['Codigo_Proceso'];
			$this->uf=$reg['uf'];
			$this->utm=$reg['utm'];
			$this->automatico_proceso=$reg['Automatico_Proceso'];
			
			$sql2="select count(*) as num from sb_proceso where  Codigo_Proceso>".$this->id_proceso." 
			 and Codigo_Empresa_Proceso='".$empresa."' and Activo_proceso=1
			";
			$resultado2 = $bd->ejecutar($sql2);
			$reg2 = $bd-> obtener_fila($resultado2,0);
			
			if($reg2['num']==1){
			$this->modificacion=1;
			}
			
		} else {
		$sql="select 
				Codigo_Proceso,
				Mes_Proceso,
				Ano_Proceso,
				Actual_Proceso,
				Abierto_Proceso,
				uf,
				utm,
				Automatico_Proceso  
			  from sb_proceso where Codigo_Empresa_Proceso='".$empresa."' and Abierto_Proceso=1 and 
			  Activo_proceso=1";
		//echo $sql;	  
		$resultado = $bd->ejecutar($sql);
		$num = $bd-> numDatos($resultado);
		
			$reg = obtener_fila($resultado,0);
			$this->ano_actual=$reg['Ano_Proceso'];
			$this->mes_actual=$reg['Mes_Proceso'];
			$this->id_proceso=$reg['Codigo_Proceso'];
			$this->uf=$reg['uf'];
			$this->utm=$reg['utm'];
			$this->automatico_proceso=$reg['Automatico_Proceso'];
			$this->ver=1;
			
		}
	}
   
   
}



?>