<?php
class Feriado
{
	public  $qry;
	private	$sql;
	private $id_empresa;

	public function __construct()
	{
		ob_start();
		session_start();
		$this->id_empresa = $_SESSION["fild_id_empresa"];
	}

	private function execulta()
	{
		$mysqlCom = new MysqlConnect();
		$this->qry = mysqli_query($mysqlCom->connect(), $this->sql);
	}


	public function Select($id = 0)
	{
		$this->sql = "select id_feriado, data, descricao, ano, mes from feriado ";
		if ($id != 0) {
			$this->sql .= " where id_feriado = $id and ";
		} else {
			$this->sql .= ' where ';
		}
		$this->sql .= "id_empresa = $this->id_empresa limit 1";

		$this->execulta();
	}

	public function SelectDia($ano, $mes)
	{
		$this->sql = "select id_feriado, data, descricao, ano, mes from feriado
						  where ano = $ano
						  and mes = $mes
						  and id_empresa = $this->id_empresa
						  order by data";
		$this->execulta();
	}

	public function FeriadoNascional($ano, $mes)
	{
		$this->sql = "select id_feriado, data, descricao, ano, mes from feriado
						  where ano = $ano
						  and mes = $mes
						  and id_empresa = 1
						  order by data";
		$this->execulta();
	}



	public function VerificarDuplicidade($valor, $campo)
	{
		$valor = addslashes($valor);
		$this->sql = "select $campo from feriado
						  where $campo = '$valor'
						  and id_empresa = $this->id_empresa";
		$this->execulta();
	}

	public function Insert($data, $descricao)
	{
		$data      = addslashes($data);
		$descricao = addslashes($descricao);

		$data_extraida = explode("/", $data);
		$ano = $data_extraida[0];
		$mes = $data_extraida[1];

		$this->sql = "INSERT INTO feriado
						(data, descricao, ano, mes, id_empresa)
						VALUES
						('$data', '$descricao', '$ano', '$mes', '$this->id_empresa')	";
		$this->execulta();
		return mysqli_insert_id();
	}


	public function Upadate($id_feriado, $descricao, $data)
	{
		$data_extraida = explode("/", $data);
		$ano = $data_extraida[0];
		$mes = $data_extraida[1];

		$descricao = addslashes($descricao);

		$this->sql = "UPDATE feriado
								SET data = '$data',
								descricao = '$descricao',
								ano = '$ano',
								mes = '$mes' 
								WHERE id_feriado = $id_feriado";
		$this->execulta();
	}


	public function Delete($id)
	{
		$id = addslashes($id);
		$this->sql = "delete from feriado
							where id_feriado = $id";
		$this->execulta();
	}


	public function Localizar($Localizador)
	{
		$Localizador = addslashes($Localizador);
		$this->sql = "select id_feriado, descricao, data
							  from feriado
							  where id_empresa = $this->id_empresa 
							  and descricao like '%$Localizador%'";
		$this->execulta();
	}


	public function IncluirTodosFeriadoAnoAtual()
	{
		//select id_feriado, data, descricao, ano, mes from feriado
		$ano_url = date('Y');
		$tt = @file_get_contents("http://services.sapo.pt/Holiday/GetNationalHolidays?year=$ano_url");
		$xml = simplexml_load_string($tt);
		$qtoFeriados = count($xml->GetNationalHolidaysResult->Holiday);

		for ($i = 0; $i < $qtoFeriados; $i++) {
			$descricao = $xml->GetNationalHolidaysResult->Holiday[$i]->Name;
			$data      = strstr($xml->GetNationalHolidaysResult->Holiday[$i]->Date, 'T', true);

			$sql_duplicidade = "select descricao from feriado 
								where data = '$data' 
								and descricao = '$descricao' 
								and id_empresa = 1 
								limit 1";
			$qry_duplicidade = mysqli_query($mysqlCom->connect(), $sql_duplicidade);
			$resposta = mysqli_num_rows($qry_duplicidade);

			if ($resposta == 0) {
				echo $data;
				$data_extraida = explode("-", $data);
				$ano = $data_extraida[0];
				$mes = $data_extraida[1];
				$qry_feriado = "INSERT INTO feriado
								(data, descricao, ano, mes, id_empresa)
								VALUES
								('$data', '$descricao', '$ano', '$mes', '1')";

				mysqli_query($mysqlCom->connect(), $qry_feriado);
			}
		}
	}
}
