<?php
ob_start();
session_start();

class Evento
{
	private $sql;
	public $qry;
	public $qry_ver;
	public $qry_ax;
	private $id_empresa;
	private $mysqlCom;

	public function __construct()
	{
		// if ((getenv("REMOTE_ADDR") != '::1') and (getenv("REMOTE_ADDR") != '127.0.0.1')) {
		// 	ob_start();
		// 	session_start();
		// }

		$this->id_empresa = $_SESSION["fild_id_empresa"];
	}

	private function execulta()
	{
		//$this->qry = mysqli_query($this->sql);

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

	public function Select($id)
	{
		$this->sql = "select a.id_evento, a.data_evento, a.nome, a.hora, a.data_cadastro,
							a.tel_residencial, a.tel_comercial, a.tel_celular, a.website, a.valor,
							a.obs, a.criador, a.hora_criado, a.bloqueado,
							b.descricao as tipo_evento, b.id_tipo_evento, a.web_site_config, a.cancelado
							from evento a, tipo_evento b
							where a.id_tipo_evento = b.id_tipo_evento
							and a.id_empresa = $this->id_empresa
							and a.id_evento = $id";

		$this->execulta();
	}

	public function GerenciarLocalizador($id_evento, $NumBloco, $DadosBloco)
	{

		$this->sql = "select id_evento_localizador, localizador from evento_localizador
						  where id_evento = $id_evento
						  and id_empresa = $this->id_empresa";
		$this->execulta();
		$id_evento_localizador = 0;

		while ($row = mysqli_fetch_object($this->qry)) {
			$id_evento_localizador = $row->id_evento_localizador;
			$Localizador = $row->localizador;
		}


		$Bloco = explode('|', $Localizador);

		$Bloco[$NumBloco] = $DadosBloco;

		$BlocoMontado = $Bloco[4] . '|' . trim($BlocoMontado); // CPF-CNPJ e Nome do Cheque do Cliente
		$BlocoMontado = $Bloco[3] . '|' . trim($BlocoMontado); // Cheques
		$BlocoMontado = $Bloco[2] . '|' . trim($BlocoMontado); // Emails
		$BlocoMontado = $Bloco[1] . '|' . trim($BlocoMontado); // Aba Contrato
		$BlocoMontado = $Bloco[0] . '|' . trim($BlocoMontado); // Aba Cliente
		$BlocoMontado = trim($BlocoMontado);

		//update
		if ($id_evento_localizador != 0) {
			$this->sql = "update evento_localizador
								  set localizador = '$BlocoMontado'
								  where id_evento_localizador =  $id_evento_localizador";
			$this->execulta();
		}


		//insert
		if ($id_evento_localizador == 0) {
			$this->sql = "insert into evento_localizador
								 (id_evento, id_empresa, localizador)
								 values
								 ($id_evento, $this->id_empresa, '$BlocoMontado')";
			$this->execulta();
		}
	}



	public function LocalizarEvento($dados)
	{
		$data = addslashes($data);

		$dados_formatados = str_replace(' ', '%', $dados);
		// order de dados
		//nome, tipo_evento, telefones e data do evento e não colocar o zero '0'
		$this->sql = "SELECT b.id_evento, b.data_evento, b.nome, b.hora, b.tel_residencial, b.tel_comercial, b.tel_celular, c.descricao
								  FROM evento_localizador a, evento b, tipo_evento c
								  where b.id_evento = a.id_evento
								  and c.id_tipo_evento = b.id_tipo_evento
								  and b.id_empresa = $this->id_empresa
								  and a.localizador like '%$dados_formatados%'";
		//echo $this->sql;
		$this->execulta();



		//	$row = mysqli_fetch_row($this->qry);
		//echo $row[0];

		if (mysqli_num_rows($this->qry) <= 0) {
			$this->sql = "select a.id_evento, a.data_evento, a.nome, a.hora, a.tel_residencial, a.tel_comercial, a.tel_celular, b.descricao
							from evento a, tipo_evento b
							where a.id_tipo_evento = b.id_tipo_evento
							and a.id_empresa = $this->id_empresa
							and concat(a.nome, ' ',b.descricao, ' ', a.tel_residencial, ' ', a.tel_comercial, ' ', tel_celular, ' ',
							day(a.data_evento),'/', month(a.data_evento), '/',year(a.data_evento)) like '%$dados_formatados%'
							order by a.data_evento, a.nome, b.descricao";
			$this->execulta();
		}
	}




	public function WebSiteDisponibilidade($WebSite)
	{
		$WebSite = strtoupper($WebSite);
		$this->sql = "select website from evento
						  where website = '$WebSite'";
		$this->execulta();
		$retono = '0';
		while ($row = mysqli_fetch_object($this->qry))
			$retono = '1';

		echo $retono;
	}

	public function SalvarEvento($id_evento, $nome, $tel_celular, $tel_comercial, $tel_residencial, $website, $obs, $hora, $edtWebSiteConfig)
	{
		$nome        = addslashes($nome);
		$tel_celular = addslashes($tel_celular);
		$tel_comercial = addslashes($tel_comercial);
		$tel_residencial = addslashes($tel_residencial);
		$website = strtoupper(addslashes($website));
		//$valor = addslashes($valor);
		$obs = addslashes($obs);
		$hora = addslashes($hora);

		$this->sql = "update evento
						 set
						 nome            = '$nome',
						 tel_celular     = '$tel_celular',
						 tel_comercial   = '$tel_comercial',
						 tel_residencial = '$tel_residencial',
						 website         = '$website',
						 obs             = '$obs',
						 hora            = '$hora',
						 web_site_config = '$edtWebSiteConfig'
						 where id_evento = $id_evento
						 and id_empresa = $this->id_empresa 
						 ";
		$this->execulta();
	}

	public function NovoEvento($nome, $data, $hora, $tel_comercial, $id_tipo_evento, $criador)
	{
		$nome        = addslashes($nome);
		$data		 = addslashes($data);
		$tel_comercial = addslashes($tel_comercial);
		$data_cadastro = date('Y-m-d');
		$hora_criado = date('h:i:s');
		$this->sql = "insert into evento
						  (nome, data_evento, hora, tel_comercial, id_tipo_evento, id_empresa, data_cadastro, criador, hora_criado, web_site_config)
						  values
						  ('$nome', '$data', '$hora', '$tel_comercial', '$id_tipo_evento', '$this->id_empresa', '$data_cadastro', '$criador', '$hora_criado', 'S')";
		$this->execulta();

		return mysqli_insert_id($this->mysqlCom->connect());
	}

	public function CarregarPrevia($data)
	{
		$this->sql = "select a.id_evento, a.hora, a.data, c.nome, b.nome as previa
							from evento_previa a, evento c, local_previa b
							where a.id_evento = c.id_evento 
							and a.id_local_previa = b.id_local_previa
							and a.data = '$data'
							and a.id_empresa = $this->id_empresa";
		$this->qry_ver = mysqli_query($this->mysqlCom->connect(), $this->sql);
	}

	/*	public function QuantidadeEvento($data){
			$sql = "select count(id_evento) as qto from evento
						where id_empresa = $this->id_empresa
						and data_evento = '$data'";
			$qry = mysqli_query($sql);
			while($row = mysqli_fetch_object($qry))
				return $row->qto;
			
			}*/

	public function ListaEvento($data)
	{
		$this->sql = "select a.id_evento, a.nome, a.data_evento, a.hora, b.descricao as tipo_evento, b.abreviacao, a.cancelado 
							from evento a, tipo_evento b
							where a.id_tipo_evento = b.id_tipo_evento
							and a.id_empresa = $this->id_empresa
							and a.data_evento = '$data'";

		$this->execulta();
	}



	public function TipoEvento()
	{
		$this->sql = "select id_tipo_evento, descricao from tipo_evento
						 order by descricao";
		$this->execulta();

		while ($row = mysqli_fetch_object($this->qry)) {
			//echo '<option value="'. $row->id_tipo_evento.'">'.$row->descricao.'</option>';
			echo '<div style="float:left; width:220px"><input type="radio" name="stTipoEvento" id="' . $row->id_tipo_evento . '" value="' . $row->id_tipo_evento . '"><label for="' . $row->id_tipo_evento . '"><span></span> ' . $row->descricao . '</label></div>';
		}
	}

	public function TipoEventoSelect()
	{
		$this->sql = "select id_tipo_evento, descricao from tipo_evento
						 order by descricao";
		$this->execulta();
	}

	public function MudarTipoEvento($id_tipo_evento, $id_evento)
	{
		$this->sql = "update evento
						  set id_tipo_evento = $id_tipo_evento
						  where id_evento = $id_evento
						  and id_empresa = $this->id_empresa";

		$this->execulta();
	}

	public function InsertHistoricoTipoEvento($id_evento, $usuario, $tipo_eventoAtual)
	{
		$data_hora = date("Y/m/d H:i:s");
		$this->sql = "insert into evento_hist_tipo
						  (id_evento, tipo_evento, usuario, data)
						  values
						  ($id_evento, '$tipo_eventoAtual', '$usuario', '$data_hora')";
		echo $this->sql;
		$this->execulta();
	}

	public function HistoricoTipoEvento($id_evento)
	{
		$this->sql = "SELECT tipo_evento, usuario, data
		   				FROM evento_hist_tipo
		   				 where id_evento = $id_evento";
		$this->execulta();
	}


	public function AlterarDataEvento($id_evento, $dataAntiga, $dataNova, $usuario)
	{
		$this->sql = "update evento
						 set data_evento = '$dataNova'
						 where id_evento = $id_evento
						 and id_empresa = $this->id_empresa";
		$this->execulta();

		//incluir historico de torca de data
		$this->sql = "insert into evento_hist_data
						  (id_evento, data_antiga, data_nova, usuario)
						  values
						  ($id_evento, '$dataAntiga', '$dataNova', '$usuario' )";
		$this->execulta();
	}

	public function SelectHistoricoData($id_evento)
	{
		$this->sql = "select data_antiga, data_nova, usuario from evento_hist_data
						  where id_evento = $id_evento";
		$this->execulta();
	}


	///////////// evento mudados ///////////////
	public function SelectEvendoMudado($dataAntiga)
	{
		$this->sql = "select b.data_antiga, a.id_evento, a.nome, b.data_nova, a.hora
							from evento a, evento_hist_data b
							where a.id_evento = b.id_evento
							and a.id_empresa = $this->id_empresa
							and b.data_antiga = '$dataAntiga'";
		$this->qry_ax = mysqli_query($this->mysqlCom->connect(), $this->sql);
	}



	//////////////////////////////////////////Local Evento ////////////////////////////////////////////////////////////////////////
	public function SelectLocal($id_evento)
	{
		$this->sql = "select a.id_evento, a.id_empresa, a.id_salao_igreja, b.nome, b.endereco, b.bairro
								from evento_local_evento a, salao_igreja b
								where b.id_salao_igreja = a.id_salao_igreja
								and a.id_evento = $id_evento
								and a.id_empresa = $this->id_empresa";
		$this->execulta();
	}

	public function InsertLocal($id_evento, $id_salao_igreja)
	{
		$this->sql = "INSERT INTO evento_local_evento
							(id_evento, id_empresa, id_salao_igreja)
							VALUES
							('$id_evento', '$this->id_empresa', '$id_salao_igreja');";
		$this->execulta();
	}


	public function DeleteLocal($id_evento, $id_salao_igreja)
	{
		$this->sql = "DELETE FROM evento_local_evento 
							  WHERE id_evento = $id_evento 
							  AND id_empresa = $this->id_empresa 
							  AND id_salao_igreja = $id_salao_igreja
							  LIMIT 1;";
		$this->execulta();
	}


	/////////////////////////////////////////////////////FIM//////////////////////////////////////////////////////////////////////////////////////
	//////////////////////////////////////////Local Evento/////////////////////////////////////////////////////////////////////////




	//////////////////////////////////////////Local Festa ////////////////////////////////////////////////////////////////////////
	public function SelectFesta($id_evento)
	{
		$this->sql = "select a.id_evento, a.id_empresa, a.id_salao_igreja, b.nome, b.endereco, b.bairro
								from evento_local_festa a, salao_igreja b
								where b.id_salao_igreja = a.id_salao_igreja
								and a.id_evento = $id_evento
								and a.id_empresa = $this->id_empresa";
		$this->execulta();
	}

	public function InsertFesta($id_evento, $id_salao_igreja)
	{
		$this->sql = "INSERT INTO evento_local_festa
							(id_evento, id_empresa, id_salao_igreja)
							VALUES
							('$id_evento', '$this->id_empresa', '$id_salao_igreja');";
		$this->execulta();
	}


	public function DeleteFesta($id_evento, $id_salao_igreja)
	{
		$this->sql = "DELETE FROM evento_local_festa 
							  WHERE id_evento = $id_evento 
							  AND id_empresa = $this->id_empresa 
							  AND id_salao_igreja = $id_salao_igreja
							  LIMIT 1;";
		$this->execulta();
	}


	/////////////////////////////////////////////////////FIM//////////////////////////////////////////////////////////////////////////////////////
	//////////////////////////////////////////Local Festa/////////////////////////////////////////////////////////////////////////

	///////////////////////email///////////////////////////

	public function SelectEmail($id_evento)
	{
		$this->sql = "select email, id_evento_email from evento_email
						  where id_empresa = $this->id_empresa
						  and id_evento = $id_evento";
		$this->execulta();
	}

	public function InsertEmail($id_evento, $email)
	{
		$email = addslashes($email);
		$this->sql = "insert into evento_email
						  (id_evento, id_empresa, email)
						  values
						  ('$id_evento', '$this->id_empresa', '$email')";
		$this->execulta();
	}

	public function DeleteEmail($id_evento_email)
	{
		$this->sql = "delete from evento_email
						  where id_evento_email = $id_evento_email";
		$this->execulta();
	}

	public function AlterarEmail($email, $id_evento_email)
	{
		$this->sql = "update evento_email
						  set email= '$email'
						  where id_evento_email = $id_evento_email";

		$this->execulta();
	}

	////////////////fim email/////////////////////////////

	//////////////////////// fotografo/////////////////////////
	public function SelectFotografo($id_evento)
	{
		$this->sql = "select a.id_fotografo, b.nome
							from evento_fotografo a, fotografo b
							where a.id_fotografo = b.id_fotografo
							and a.id_evento = $id_evento
							and a.id_empresa = $this->id_empresa";
		$this->execulta();
	}

	public function DeleteFotografo($id_evento, $id_fotografo)
	{
		$this->sql = "delete from evento_fotografo
						  where id_evento = $id_evento
						  and id_fotografo = $id_fotografo
						  and id_empresa = $this->id_empresa";
		$this->execulta();
	}



	public function InsertFotografo($id_evento, $id_fotografo)
	{
		$this->sql = "insert into evento_fotografo
						  (id_evento, id_empresa, id_fotografo)
						  values
						  ('$id_evento', '$this->id_empresa', '$id_fotografo')";
		$this->execulta();
	}

	//////////////////////fim fototografo////////////////////////

	//////////////////////// Cinegrafista/////////////////////////
	public function SelectCinegrafista($id_evento)
	{
		$this->sql = "select a.id_cinegrafista, b.nome
							from evento_cinegrafista a, cinegrafista b
							where a.id_cinegrafista = b.id_cinegrafista
							and a.id_evento = $id_evento
							and a.id_empresa = $this->id_empresa";
		$this->execulta();
	}

	public function DeleteCinegrafista($id_evento, $id_cinegrafista)
	{
		$this->sql = "delete from evento_cinegrafista
						  where id_evento = $id_evento
						  and id_cinegrafista = $id_cinegrafista
						  and id_empresa = $this->id_empresa";
		$this->execulta();
	}


	public function InsertCinegrafista($id_evento, $id_cinegrafista)
	{
		$this->sql = "insert into evento_cinegrafista
						  (id_evento, id_empresa, id_cinegrafista)
						  values
						  ('$id_evento', '$this->id_empresa', '$id_cinegrafista')";
		$this->execulta();
	}

	//////////////////////fim Cinegrafista////////////////////////


	public function AlterarWebSite($novoWebsite, $velhoWebsite, $id_evento)
	{
		$novoWebsite = addslashes($novoWebsite);
		$velhoWebsite = addslashes($velhoWebsite);
		$this->sql = "UPDATE album_picasa
							SET website = '$novoWebsite'
							where id_evento = $id_evento
							and id_empresa = $this->id_empresa
							and website = '$velhoWebsite'";
		$this->execulta();

		$this->sql = "UPDATE x9
							SET website = '$novoWebsite'
							where id_evento = $id_evento
							and id_empresa = $this->id_empresa
							and website = '$velhoWebsite'";
		$this->execulta();
	}

	public function NaoQueroWebSite($web_site_config, $id_evento)
	{
		$this->sql = "update evento
							  set web_site_config =  '$web_site_config'
							  where id_evento = $id_evento
							  and id_empresa = $this->id_empresa";

		$this->execulta();
	}


	public function ConsultaProximaPrevia()
	{
		$this->sql = "select a.id_evento_previa, b.nome, a.data, a.hora, a.obs, c.nome as fotografo, 
										c.email as email_fot, d.nome as cinegrafista, d.email as email_cin, e.nome as LocalPrevia 
										from evento_previa a left join fotografo c
										on c.id_fotografo = a.id_fotografo
										left join cinegrafista d
										on a.id_cinegrafista = d.id_cinegrafista,
										evento b, local_previa e
										where a.send_email = 0
										and e.id_local_previa = a.id_local_previa
										and b.id_evento = a.id_evento
										
										and a.data = (current_date + 1)";

		//Tirei essa condição do sql, para que qualquer empresa quando entra no sistema dispara e mail para todos
		//se deixar essa condição so quando a empresa de destino entrar que vai mandar o email, previa e evento
		// casa essa empresa não entrar no domingo tudo que esta relacionada para segunda não será avidado
		// sem esta condição almenta a chance de se manda o email
		//and a.id_empresa = $this->id_empresa
		//echo $this->sql;
		$this->execulta();
	}


	public function UpdateProximaPrevia($id_evento_previa)
	{
		$this->sql = "update evento_previa
							set send_email = 1
							where id_evento_previa = $id_evento_previa";
		$this->execulta();
	}



	//função parada
	public function ConsultaProximoEvento()
	{
		$this->sql = "select a.id_empresa, a.id_evento, a.data_evento, a.hora, a.nome, b.descricao 
						from evento a, tipo_evento b
						where b.id_tipo_evento = a.id_tipo_evento
						and a.data_evento = (current_date + 1)";

		//Tirei essa condição do sql, para que qualquer empresa quando entra no sistema dispara e mail para todos
		//se deixar essa condição so quando a empresa de destino entrar que vai mandar o email, previa e evento
		// casa essa empresa não entrar no domingo tudo que esta relacionada para segunda não será avidado
		// sem esta condição almenta a chance de se manda o email
		//and a.id_empresa = $this->id_empresa
		$this->execulta();
	}

	//função parada
	public function LocIDCinegrafista($id_evento, $id_empresa)
	{
		$this->sql = "select id_cinegrafista 
						 from evento_cinegrafista 
						 where id_evento = $id_evento 
						 and id_empresa = $id_empresa";
	}



	public function SelectCancelamento($id_evento)
	{
		$this->sql = "select usuario, data_hora, obs from evento_cancelado
					  where id_evento = $id_evento
					  and id_empresa = $this->id_empresa";
		$this->execulta();
	}
}
