<?php
class ModelSettingEfutura extends Model {

	public function getVersion(){

			$sql = 'select pe.versao_atual from parametros_efutura pe where pe.versao_atual <> pe.versao_checada or pe.versao_checada is null';

			$query = $this->db->query($sql);

			if($query->rows){
				return $query->row['versao_atual'];
			}else{
				return false;
			}

	}

	public function updateVersion(){

		$version = $this->getVersion();

		$sql = "update parametros_efutura set versao_checada = '".$this->db->escape($version)."' where id = 1"  ;

		$query = $this->db->query($sql);

	}

	public function getInfosHospedagem(){
		$sql =  "select * from info_hospedagem ih limit 1";

		$query = $this->db->query($sql);

		if($query->row){
			return $query->row;
		}else{
			return false;
		}
	}

	public function getParametrosEfutura(){
		$sql =  "select * from parametros_efutura limit 1";

		$query = $this->db->query($sql);

		if($query->row){
			return $query->row;
		}else{
			return false;
		}
	}


	public function setDataProducao(){
		$sql = "update parametros_efutura set data_producao = now() where id = 1"  ;
		$query = $this->db->query($sql);
	}

	public function getDominios(){
		$dominioPrincipal = '';
		$dominioPrincipal = str_replace('/','',str_replace('https://','',$this->config->get('config_linkproducao_ssl')));
		$dominioPrincipalSemWWW = str_replace('www.','',$dominioPrincipal);
		$sql =  "select
					(case
						when upper(dominio)  = upper('".$dominioPrincipal."') or upper(dominio)  = upper('".$dominioPrincipalSemWWW."') then 0
						when dominio_vinculado < 1 then 5
						else  1
					end) prioridade,
					dominio,
				 	dominio_vinculado,
		 		 	date_format(validade_dominio, '%d/%m/%Y') validade_dominio,
					certificadora_SSL,
					tipo_dominio,
		 		 	date_format(validade_SSL, '%d/%m/%Y') validade_SSL,
					DATEDIFF(validade_dominio, CURDATE()) intervalo_dias_val_dominio,
					DATEDIFF(CURDATE(), validade_dominio) intervalo_dias_val_dominio_expirado,
		  		DATEDIFF(validade_SSL, CURDATE()) intervalo_dias_val_SSL
		 		from info_dominio id
				order by prioridade";
		$query = $this->db->query($sql);

		if($query->rows){
			return $query->rows;
		}else{
			return false;
		}
	}

	public function getInfoDominio($dominio){
		$sql =  "select * from info_dominio where upper(dominio) = upper('".$dominio."') limit 1";
		$query = $this->db->query($sql);

		if($query->row){
			return $query->row;
		}else{
			return false;
		}
  }

	public function getDominiosDisponiveis($data = array()){
        $this->load->type('tipocomum');

		$sql =  "SELECT *, (CURRENT_DATE() > validade_dominio) as expirado FROM info_dominio WHERE tipo_dominio = " .Type_TipoDominio::Tp_Dominio;

		if(!empty($data['validate_dominio'])){
          $sql.= " and validade_dominio BETWEEN DATE_ADD(CURRENT_DATE(), INTERVAL -30 DAY) AND DATE_ADD(CURRENT_DATE(), INTERVAL +30 DAY)" ;
        }

		$query = $this->db->query($sql);

		if($query->rows){
			return $query->rows;
		}else{
			return false;
		}
	}

}
