AnonSec Shell
Server IP : 162.214.74.102  /  Your IP : 216.73.217.80
Web Server : Apache
System : Linux dedi-4363141.lrsys.com.br 3.10.0-1160.119.1.el7.tuxcare.els25.x86_64 #1 SMP Wed Oct 1 17:37:27 UTC 2025 x86_64
User : lrsys ( 1015)
PHP Version : 5.6.40
Disable Function : exec,passthru,shell_exec,system
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/lrsys/public_html/lrsys_apps/leve/application/plugins/module_arbo/models/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/lrsys/public_html/lrsys_apps/leve/application/plugins/module_arbo/models/GaiaImovelModel.php
<?php

require_once 'AbstractModel.php';
require_once 'ArboFormsModel.php';
require_once 'GaiaRequest.php';

/**
 * Class GaiaImovelModel
 */
class GaiaImovelModel extends AbstractModel
{
	/**
	 * @var GaiaRequest
	 */
	public $GaiaRequest;

	/**
	 * Armazena um array com as perguntas e respostas
	 * @var
	 */
	public $fields_values;

	/**
	 * Armazena os dados de estado e cidade vindos da Gaia
	 * @var array
	 */
	public $gaia_state_city = [];

	/**
	 * Array que armazena os dados do imóvel
	 * @var array
	 */
	public $data = [];

	/**
	 * Array que armazena os dados do proprietário do imóvel
	 * @var array
	 */
	public $data_customer = [];

	/**
	 * Array que armazena os dados do empreendimento
	 * @var array
	 */
	public $data_empreendimento = [];

	/**
	 * GaiaImovelModel constructor.
	 */
	public function __construct()
	{
		$this->GaiaRequest = new GaiaRequest();
	}

	/**
	 * Método que preenche o array com as informações de cadastro de imóvel que será
	 * enviado para Gaia.
	 *
	 * @param $form_id
	 */
	public function fillFieldsImovel($form_id)
	{
		$ArboForms = new ArboFormsModel();
		$this->fields_values = $ArboForms->findWithFormDataArray($form_id);

		if($this->fields_values['form_data']) {
                    
                        // Data atual
			$now = date('d/m/Y');

			$this->data['hdIdtxProprietario'] = '';
			$this->data['txDescricaoInterna'] = '';
			$this->data['txCondicaoComercial'] = '';
                        
                        
                        /**
			 * Dados que precisam ser encontrados em sequência logo no início:
			 * 1º - Cidade ln: 435
			 * 2º - Estado
			 */
			$this->findStateCity($form_id);
                    
                        
                        // Pego o nome do proprietário
                        // FIELD: Vamos inciar pelo mais importante... como você se chama?
                        $proprietario_nome = ArboFormDataModel::searchAnswer($form_id, 40893390);
                        $this->data['txProprietario'] = $proprietario_nome;
                        $this->data_customer['txNome'] = $proprietario_nome;
                        
                        
                        
                        
                        // Tamanho do Imóvel ou Terreno
                        $areal_total = ArboFormDataModel::searchAnswer($form_id, 40893416);
                        $areal_util = ArboFormDataModel::searchAnswer($form_id, 40893415);
                        $tamanho_terreno = ArboFormDataModel::searchAnswer($form_id, 40893419);
                    
                        
                        // verifico a finalidade e o tipo do imóvel
                        // FIELD: seu imóvel é?
                        $finalidade_imovel = ArboFormDataModel::searchAnswer($form_id, 40893446);
                        $cadastra_empreendimento = true;
                        $nome_empreendimento = null;
                        if($finalidade_imovel == 'Residencial')
                        {
                            $this->data['cboFinalidade'] = '1';
                            $tipo_imovel = ArboFormDataModel::searchAnswer($form_id, 40893447);
                            
                            
                            if ($tipo_imovel == 'Apartamento') 
                            {
                                    // FIELD: Qual é o nome do Edifício, Condomínio ou Residencial? 
                                    $nome_empreendimento = ArboFormDataModel::searchAnswer($form_id, 40893394);
                                    
                                    // Tipo de Condomínio: Condomínio de Casas, Prédios > Casas residenciais ...
                                    $this->data['cboTipo'] = '2';
                                    $this->data_empreendimento['cboTipoC'] = 'true';
                                    $this->data_empreendimento['chkTipoCond'] = '3';
                            }
                            elseif ($tipo_imovel == 'Casa') 
                            {
                                    // FIELD: em qual Condomínio Fechado fica sua casa?
                                    $nome_empreendimento = ArboFormDataModel::searchAnswer($form_id, 40893395);
                                    
                                    // Tipo de Condomínio: Condomínio de Casas, Prédios > Casas residenciais ...
                                    $this->data_empreendimento['cboTipoC'] = 'false';
                                    $this->data_empreendimento['chkTipoCond'] = '2';
                                    
                                    
                                    // FIELD: dentre as categorias de Casas, qual delas seria?
                                    $casa_tipo = ArboFormDataModel::searchAnswer($form_id, 40893449);
                                    if ($casa_tipo == 'Casa Térrea') {
                                            $this->data['cboTipo'] = '7';
                                            $cadastra_empreendimento = false;
                                    }
                                    
                                    if ($casa_tipo == 'Térrea em Condomínio')
                                    {
                                        $this->data['cboTipo'] = '7'; // Todo: Verificar
                                    }
                                            
                                    
                                    if ($casa_tipo == 'Loft')
                                    {
                                        $this->data['cboTipo'] = '32';
                                    }
                                            
                                    if ($casa_tipo == 'Casa Sobrado')
                                    {
                                        $this->data['cboTipo'] = '25';
                                        $cadastra_empreendimento = false;
                                    }
                                            
                                    if ($casa_tipo == 'Sobrado em condomínio')
                                    {
                                        $this->data['cboTipo'] = '25'; // Todo: Verificar
                                    }
                                            
                            }
                            elseif ($tipo_imovel == 'Terreno') 
                            {
                                    // FIELD: em qual Condomínio Fechado fica seu terreno?
                                    $nome_empreendimento = ArboFormDataModel::searchAnswer($form_id, 40893397);
                                    
                                    // FIELD: dentre as categorias de Terreno, qual delas seria?
                                    $terreno_tipo = ArboFormDataModel::searchAnswer($form_id, 40893450);
                                    
                                    if ($terreno_tipo == 'em Rua') 
                                    {        
                                        $cadastra_empreendimento = false;
                                    }
                                    
                                    // Tipo de Condomínio: Condomínio de Casas, Prédios > Casas residenciais ...
                                    $this->data['cboTipo'] = '20';
                                    $this->data_empreendimento['cboTipoC'] = 'false';
                                    $this->data_empreendimento['chkTipoCond'] = '5';
                                    
                                    // Tamanho
                                    $areal_total = $tamanho_terreno;
                            }
                        }
                        elseif($finalidade_imovel == 'Comercial')
                        {
                            $this->data['cboFinalidade'] = '2';
                            
                            $nome_empreendimento = ArboFormDataModel::searchAnswer($form_id, 40893396);
                            
                            // FIELD: Ok, dentre os Comerciais, especificamente qual seria?
                            $tipo_imovel = ArboFormDataModel::searchAnswer($form_id, 40893451);
					
                            if ($tipo_imovel == 'Casa')
                            {
                                $this->data['cboTipo'] = '7';
                                $cadastra_empreendimento = false;
                            }
                                    
                            if ($tipo_imovel == 'Sala em prédio comercial')
                                    $this->data['cboTipo'] = '17';
                            
                            if ($tipo_imovel == 'Barracão')
                            {
                                $this->data['cboTipo'] = '6';
                                $cadastra_empreendimento = false;
                                
                            }
                                    
                            if ($tipo_imovel == 'Terreno')
                            {
                                $this->data['cboTipo'] = '20';
                                $cadastra_empreendimento = false;
                                $areal_total = $tamanho_terreno;
                            }
                                    
                            if ($tipo_imovel == 'Laje em prédio comercial')
                                    $this->data['cboTipo'] = '29';
                            
                            if ($tipo_imovel == 'Loja')
                            {
                                $this->data['cboTipo'] = '26';
                                $cadastra_empreendimento = false;
                            }
                            
                            if ($tipo_imovel == 'OUTRO')
                            {
                                $this->data['cboTipo'] = '26';
                                $cadastra_empreendimento = false;
                            }
                            
                            // Tipo de Condomínio: Condomínio de Casas, Prédios > Casas residenciais ...
                            $this->data_empreendimento['cboTipoC'] = 'false';
                            $this->data_empreendimento['chkTipoCond'] = '9';
                        }
                        elseif($finalidade_imovel == 'Industrial')
                        {
                            $this->data['cboFinalidade'] = '3';

                            // Tipo de Condomínio: Condomínio de Casas, Prédios > Industrial ...
                            $this->data_empreendimento['cboTipoC'] = 'false'; //false
                            $this->data_empreendimento['chkTipoCond'] = '12';
                        }
                        
                        
                        $this->data['Area'] = $areal_util;
                        $this->data['txAreaTotal'] = $areal_total;
                        $this->data['txDimTerreno'] = $tamanho_terreno;
                        
                        // Defino o Nome do Empreendimento
                        $this->data['hdNomeEdificio'] = $nome_empreendimento;
                        $this->data['hdNomeCondominio'] = $nome_empreendimento;
                        $this->data_empreendimento['txNomeEmpreendimento'] = $nome_empreendimento;
                        
                        
                        
                        // Verifico qual é o corretor
                        // FIELD: Qual desses corretores de XXXX está lhe auxiliando?
                        $corretor_nome = ArboFormDataModel::searchAnswer($form_id, '43954107;43957444;52336411;61959162;61959159');
                        if($corretor_nome == 'Outro' || $corretor_nome == '')
                        {
                            // FIELD: Qual o nome do CORRETOR que está lhe auxiliando?
                            $corretor_nome = ArboFormDataModel::searchAnswer($form_id, 40893398);
                        }
                        $id_realtor = $this->getRealtorId($corretor_nome);
                        $this->data['cboCorretor'] = $id_realtor;
                        $this->data['cboCorretorComissao'] = $id_realtor;
                        $this->data_customer['hdIdCorretor'] = $id_realtor;

                        // Caso não encontre, usa os dados do Manoel por padrão
                        if (!$id_realtor) {
                                $id_realtor = $this->getRealtorId("Manoel");
                                $this->data['cboCorretor'] = $id_realtor;
                                $this->data['cboCorretorComissao'] = $id_realtor;
                                $this->data_customer['hdIdCorretor'] = $id_realtor;
                                $this->data['txCondicaoComercial'] .= " Corretor informado pelo proprietário: \"" . $corretor_nome . "\"";
                                $this->data['txCondicaoComercial'] .= ", Corretor padrão do Robô: \"Manoel\"";
                        }
                        
                        
                        // Pego o valor médio do condomínio
                        // FIELD: Qual desses corretores de XXXX está lhe auxiliando?
                        $valor_medio_condomino = ArboFormDataModel::searchAnswer($form_id, '40950379;40950518;40951102;40951165');
                        $this->data['txValorCondominio'] = $valor_medio_condomino;
                        
                        
                        
                        // Armários
                        // FIELD: Sobre a parte dos armários! Onde eles estão instalados?
                        $armarios = ArboFormDataModel::searchAnswer($form_id, 40893458);
                        $arr_armarios = explode(';', $armarios);
                        if (in_array("Cozinha", $arr_armarios)) {
                                $this->data['fl_armario_cozinha'] = 1;
                        }
                        
                        if (in_array("Corredor", $arr_armarios)) {
                                $this->data['fl_armario_corredor'] = 1;
                        }
                        
                        if (in_array("Closet", $arr_armarios)) {
                                $this->data['fl_armario_closet'] = 1;
                        }
                        
                        if (in_array("Dormitórios", $arr_armarios)) {
                                $this->data['fl_armario_dorm'] = 1;
                        }
                        
                        if (in_array("Banheiros", $arr_armarios)) {
                                $this->data['fl_armario_banheiro'] = 1;
                        }
                        
                        if (in_array("Sala", $arr_armarios)) {
                                $this->data['fl_armario_sala'] = 1;
                        }
                        
                        if (in_array("Escritório", $arr_armarios)) {
                                $this->data['fl_armario_escritorio'] = 1;
                        }
                        
                        if (in_array("Cinema / Home", $arr_armarios)) {
                                $this->data['fl_armario_home_theater'] = 1;
                        }
                        
                        if (in_array("Área de Serviço", $arr_armarios)) {
                                $this->data['fl_armario_area_servico'] = 1;
                        }
                        
                        if (in_array("Dependência", $arr_armarios)) {
                                $this->data['fl_armario_dorm_empregada'] = 1;
                        }
                        
                        
                        // Descrição do imóvel
                        // FIELD: Se você pudesse descrever seu imóvel em poucas palavras o que diria sobre ele?
                        $this->data['txDescricaoSite'] = ArboFormDataModel::searchAnswer($form_id, 40893491);
                        
                        
                        
                        // Destinação do imóvel
                        // FIELD: Qual sua intenção?
                        $destinacao = ArboFormDataModel::searchAnswer($form_id, 40893470);
                        if ($destinacao == 'Venda') {
                                $this->data['chkPretVenda'] = 1;
                        }
                        if ($destinacao == 'Locação') {
                                $this->data['chkPretLocacao'] = 1;
                        }
                        if ($destinacao == 'Ambos') {
                                $this->data['chkPretVenda'] = 1;
                                $this->data['chkPretLocacao'] = 1;
                        }
                        
                        
                        // valores
                        // FIELD:  por qual preço você está disposto a alugar seu imóvel?
                        $valor_aluguel =  ArboFormDataModel::searchAnswer($form_id, '40952587;40952230');
                        $this->data['txValorLocacao'] = $valor_aluguel;
                        
                        // FIELD:  por qual preço você está disposto a vender seu imóvel?
                        $valor_venda =  ArboFormDataModel::searchAnswer($form_id, '40953250;40951581');
                        $this->data['txValorVenda'] = $valor_venda;
                        
                        // FIELD:  Em caso de Venda até qual percentual do seu imóvel você aceitaria em permuta
                        $valor_permuta =  ArboFormDataModel::searchAnswer($form_id, '40893488;40893487');
                        if($valor_permuta > 0)
                        {
                            $this->data['cboPermuta'] = true;
                        }
                        $this->data['txDescricaoInterna'] .= ' Permuta: ' . $valor_permuta . "%.";
                        
                        
                        // Pego o telefone de contato
                        // FIELD:   qual seu telefone? COM DDD
                        $tel_contato =  ArboFormDataModel::searchAnswer($form_id, 40893407);
                        
                        $parts = str_split($tel_contato);
                        $telefone = $tel_contato;
                        if (count($parts) >= 6) {
                                foreach ($parts as $idx => $p) {
                                        if ($idx == 0)
                                                $telefone .= "(" . $p;
                                        elseif ($idx == 1)
                                                $telefone .= $p . ")+";
                                        elseif ($idx == 5)
                                                $telefone .= $p . "-";
                                        else
                                                $telefone .= $p;
                                }
                        }
//                        var_dump($telefone);exit;
                        $this->data['txProprietario_telefone1'] = $telefone;
                        $this->data['txProprietario_telefoneId1'] = '0,1';
                        $this->data['txProprietario_telefone2'] = $telefone;
                        $this->data['txProprietario_telefoneId2'] = '0,2';
                        $this->data['txProprietario_telefone3'] = $telefone;
                        $this->data['txProprietario_telefoneId3'] = '0,3';
                        
                        
                        // Pego o Bairro do imóvel
                        // FIELD:    o bairro que fica o imóvel em XXX seria algum destes?
                        $bairro =  ArboFormDataModel::searchAnswer($form_id, '40893445;45991692;53857578');
                        if($bairro == 'Outro' || $bairro == '')
                        {
                            // FIELD:    Qual o nome do bairro que fica seu imóvel?
                            $bairro =  ArboFormDataModel::searchAnswer($form_id, 43641465);
                        }
                        $this->data['bairro'] = $bairro;
                        $this->data_empreendimento['bairro'] = $bairro;
                        
                        
                         // LAVABO
                        if (ArboFormDataModel::searchAnswer($form_id, 40893433) == 1) 
                        {
                            $this->data['fl_lavabo'] = 1;
                        }
                        
                        
                        // GARAGEM
                        $vagas_garagem = intval(ArboFormDataModel::searchAnswer($form_id, 40893417));
                        $this->data['in_vagas'] = ($vagas_garagem > 0) ? $vagas_garagem : 0;
                        $this->data['in_garagens'] = ($vagas_garagem > 0) ? $vagas_garagem : 0;
                        $this->data['in_garagens_descobertas'] = '';
                        $this->data['in_vagas_tipo'] = 0; // Não Informada
                        $this->data['in_vagas_caracteristica'] = 0; // Não Informada
                        
                        
                        // SUITES
                        $suites = intval(ArboFormDataModel::searchAnswer($form_id, 40893481));
                        $this->data['in_suites'] = $suites;
                        
                        
                        // POSIÇÃO EM RELAÇÃO À FACHADA
                        $posicao_fachada = intval(ArboFormDataModel::searchAnswer($form_id, 40893452));
                        switch ($posicao_fachada)
                        {
                            case 'Frente':
                                $this->data['cboPosicaoImovel'] = 1;
                                break;
                            case 'Fundos':
                                $this->data['cboPosicaoImovel'] = 2;
                                break;
                            case 'Lateral':
                                $this->data['cboPosicaoImovel'] = 3;
                                break;
                            default :
                                $this->data['cboPosicaoImovel'] = 0;
                                break;
                        }
                       
                        
                        // ANDAR
                        $andar_apartamento =  ArboFormDataModel::searchAnswer($form_id, '40893413;40893410');
                        $this->data['in_andares'] = '';
                        $this->data['in_andar'] = $andar_apartamento;
                     
                                        
                        // Banheiros
                        $this->data['in_banheiros'] = intval(ArboFormDataModel::searchAnswer($form_id, '40893486;40893484;40893482'));
                        
                        
                        // Pisos
                        $piso = explode(';', ArboFormDataModel::searchAnswer($form_id, '40893463;40893461;46392679'));
                        (in_array('Porcelanato', $piso)) ? $this->data['fl_piso_porcelanato'] = 1 : $this->data['fl_piso_porcelanato'] = '';
                        (in_array('Laminado', $piso)) ? $this->data['fl_piso_laminado'] = 1 : $this->data['fl_piso_laminado'] = '';
                        (in_array('Carpete', $piso)) ? $this->data['fl_carpete'] = 1 : $this->data['fl_carpete'] = '';
                        (in_array('Cerâmico', $piso)) ? $this->data['fl_piso_ceramica'] = 1 : $this->data['fl_piso_ceramica'] = '';
                        (in_array('Taco de madeira', $piso)) ? $this->data['fl_piso_taco_madeira'] = 1 : $this->data['fl_piso_taco_madeira'] = '';
                        (in_array('Aquecido', $piso)) ? $this->data['fl_piso_aquecido'] = 1 : $this->data['fl_piso_aquecido'] = '';
                        (in_array('Mármore', $piso)) ? $this->data['fl_piso_marmore'] = 1 : $this->data['fl_piso_marmore'] = '';
                        (in_array('Ardósia', $piso)) ? $this->data['fl_piso_ardosia'] = 1 : $this->data['fl_piso_ardosia'] = '';
                        (in_array('Bloquete', $piso)) ? $this->data['fl_piso_bloquete'] = 1 : $this->data['fl_piso_bloquete'] = '';
                        (in_array('Tábua', $piso)) ? $this->data['fl_piso_taboa'] = 1 : $this->data['fl_piso_taboa'] = '';
                        (in_array('Carpete de acrílico', $piso)) ? $this->data['fl_piso_carpete_acrilico'] = 1 : $this->data['fl_piso_carpete_acrilico'] = '';
                        (in_array('Vinílico', $piso)) ? $this->data['fl_piso_vinilico'] = 1 : $this->data['fl_piso_vinilico'] = '';
                        (in_array('Carpete de madeira', $piso)) ? $this->data['fl_piso_carpete_madeira'] = 1 : $this->data['fl_piso_carpete_madeira'] = '';
                        (in_array('Cimento queimado', $piso)) ? $this->data['fl_piso_cimento_queimado'] = 1 : $this->data['fl_piso_cimento_queimado'] = '';
                        (in_array('Contrapiso', $piso)) ? $this->data['fl_contra_piso'] = 1 : $this->data['fl_contra_piso'] = '';
                        (in_array('Emborrachado', $piso)) ? $this->data['fl_piso_emborrachado'] = 1 : $this->data['fl_piso_emborrachado'] = '';
                        (in_array('Granito', $piso)) ? $this->data['fl_piso_granito'] = 1 : $this->data['fl_piso_granito'] = '';
                        (in_array('Carpete de nylon', $piso)) ? $this->data['fl_piso_carpete_nylon'] = 1 : $this->data['fl_piso_carpete_nylon'] = '';
                        
                        
                        //Infra-estrutura Geral
                        $infra_geral = explode(';', ArboFormDataModel::searchAnswer($form_id, 40893464));
                        (in_array('Água', $infra_geral)) ? $this->data['fl_agua'] = 1 : $this->data['fl_agua'] = '';
                        (in_array('Esgoto', $infra_geral)) ? $this->data['fl_esgoto'] = 1 : $this->data['fl_esgoto'] = '';
                        (in_array('Pavimentação', $infra_geral)) ? $this->data['fl_pavimentacao'] = 1 : $this->data['fl_pavimentacao'] = '';
                        (in_array('Energia', $infra_geral)) ? $this->data['fl_energia'] = 1 : $this->data['fl_energia'] = '';
                        (in_array('TV a cabo', $infra_geral)) ? $this->data['fl_tvcabo'] = 1 : $this->data['fl_tvcabo'] = '';
                        (in_array('Ar condicionado', $infra_geral)) ? $this->data['fl_ar'] = 1 : $this->data['fl_ar'] = '';
                        (in_array('Alarme', $infra_geral)) ? $this->data['fl_alarme'] = 1 : $this->data['fl_alarme'] = '';
                        (in_array('Portão eletrônico', $infra_geral)) ? $this->data['fl_portao'] = 1 : $this->data['fl_portao'] = '';
                        (in_array('Interfone', $infra_geral)) ? $this->data['fl_interfone'] = 1 : $this->data['fl_interfone'] = '';
                        (in_array('Mezanino', $infra_geral)) ? $this->data['fl_mezanino'] = 1 : $this->data['fl_mezanino'] = '';
                        (in_array('Imóvel no litoral', $infra_geral)) ? $this->data['fl_litoraneo'] = 1 : $this->data['fl_litoraneo'] = '';
                        (in_array('Vista para o mar', $infra_geral)) ? $this->data['fl_vista_mar'] = 1 : $this->data['fl_vista_mar'] = '';
                        (in_array('Em costeira/Pé na areia', $infra_geral)) ? $this->data['fl_pe_areia'] = 1 : $this->data['fl_pe_areia'] = '';
                        (in_array('Beira Mar', $infra_geral)) ? $this->data['fl_beira_mar'] = 1 : $this->data['fl_beira_mar'] = '';
                        (in_array('Lareira', $infra_geral)) ? $this->data['fl_lareira'] = 1 : $this->data['fl_lareira'] = '';
                        (in_array('Gerador', $infra_geral)) ? $this->data['fl_gerador'] = 1 : $this->data['fl_gerador'] = '';
                        (in_array('Elevador', $infra_geral)) ? $this->data['fl_elevador'] = 1 : $this->data['fl_elevador'] = '';
                        (in_array('Aquecimento de água c/ energia solar', $infra_geral)) ? $this->data['fl_aquecimento_energia_solar'] = 1 : $this->data['fl_aquecimento_energia_solar'] = '';
                        (in_array('Aquecimento de água à gás', $infra_geral)) ? $this->data['fl_aquecimento_gas'] = 1 : $this->data['fl_aquecimento_gas'] = '';
                        (in_array('Mobiliado', $infra_geral)) ? $this->data['fl_mobiliado'] = 1 : $this->data['fl_mobiliado'] = '';
                        (in_array('Terraço', $infra_geral)) ? $this->data['fl_terraco'] = 1 : $this->data['fl_terraco'] = '';
                        (in_array('Jardim de inverno', $infra_geral)) ? $this->data['fl_jardim_inverno'] = 1 : $this->data['fl_jardim_inverno'] = '';
                        
                        
                        //Infra-estrutura Específica
                        $infra_geral = explode(';', ArboFormDataModel::searchAnswer($form_id, 40893465));
                        (in_array('Churrasqueira', $infra_geral)) ? $this->data['fl_churrasqueira'] = 1 : $this->data['fl_churrasqueira'] = 0;
                        (in_array('Adega', $infra_geral)) ? $this->data['fl_adega'] = 1 : $this->data['fl_adega'] = '';
                        (in_array('Sauna', $infra_geral)) ? $this->data['fl_sauna'] = 1 : $this->data['fl_sauna'] = '';
                        (in_array('Piscina', $infra_geral)) ? $this->data['fl_piscina'] = 1 : $this->data['fl_piscina'] = '';
                        (in_array('Varanda gourmet', $infra_geral)) ? $this->data['fl_varanda_gourmet'] = 1 : $this->data['fl_varanda_gourmet'] = '';
                        (in_array('Solarium', $infra_geral)) ? $this->data['fl_solarium'] = 1 : $this->data['fl_solarium'] = '';
                        
                        
                        // Email do cliente
                        $this->data['idEmails_email1'] = ArboFormDataModel::searchAnswer($form_id, 40893442);
                        $this->data['idEmails_emailId1'] = '0,1';
                        $this->data_customer['idEmails_email1'] = ArboFormDataModel::searchAnswer($form_id, 40893442);
                        $this->data_customer['idEmails_emailId1'] = '0,1';
                        
                        
                        // Mídia de Origem (Onde conheceu a Arbo?)
                        $midia_origem = explode('; ', ArboFormDataModel::searchAnswer($form_id, 40893443));
                        if (in_array('Indicação', $midia_origem)) {
                                $this->data['cboClienteMidia'] = 13;
                                $this->data_customer['cboClienteMidia'] = 13;
                                $this->data_customer['origem'] = 'Indicação';
                        }
                        if (in_array('Portal Zap imóveis', $midia_origem)) {
                                $this->data['cboClienteMidia'] = 11;
                                $this->data_customer['cboClienteMidia'] = 11;
                                $this->data_customer['origem'] = 'Portal Zap imóveis';
                        }
                        if (in_array('Facebook', $midia_origem)) {
                                $this->data['cboClienteMidia'] = 190;
                                $this->data_customer['cboClienteMidia'] = 190;
                                $this->data_customer['origem'] = 'Facebook';
                        }
                        if (in_array('Site da Arbo', $midia_origem)) {
                                $this->data['cboClienteMidia'] = 8;
                                $this->data_customer['cboClienteMidia'] = 8;
                                $this->data_customer['origem'] = 'Site da Arbo';
                        }
                        if (in_array('Portal Viva Real', $midia_origem)) {
                                $this->data['cboClienteMidia'] = 73;
                                $this->data_customer['cboClienteMidia'] = 73;
                                $this->data_customer['origem'] = 'Portal Viva Real';
                        } else {
                                // outros
                                $this->data['cboClienteMidia'] = 13;
                                $this->data_customer['cboClienteMidia'] = 13;
                                $this->data_customer['origem'] = 'Indicação';
                        }
                        
                        
                        
                        // Número do imóvel
                        $this->data['numero'] = ArboFormDataModel::searchAnswer($form_id, 54222398);
                        $this->data_empreendimento['numero'] = ArboFormDataModel::searchAnswer($form_id, 54222398);

                        
                        // Complemento
                        $this->data['complemento'] = ArboFormDataModel::searchAnswer($form_id, 54225916);
                        
                        
                        // CEP do Imóvel
                        $this->data['cep'] = ArboFormDataModel::searchAnswer($form_id, 40893408);
                        $this->data_empreendimento['cep'] = ArboFormDataModel::searchAnswer($form_id, 40893408);
                        
                        
                        // Endereço do Proprietário
//                        if (trim($item['field']) == "onde você mora, quer dizer, qual é o seu endereço ( Rua, número, complemento, bairro, cidade e estado )?") {
//                                $this->data_customer['txLogradouroBusca_1'] = $item['value'];
//                                $endereco_cliente = $item['value'];
//                                $end_client_arr = explode(', ', $endereco_cliente);
//                                (isset($end_client_arr[0])) ? $this->data_customer['endereco'] = $end_client_arr[0] : '';
//                                (isset($end_client_arr[1])) ? $this->data_customer['numero'] = $end_client_arr[1] : '';
//                                (isset($end_client_arr[2])) ? $this->data_customer['complemento'] = $end_client_arr[2] : '';
//                                (isset($end_client_arr[3])) ? $this->data_customer['bairro'] = $end_client_arr[3] : '';
//                                (isset($end_client_arr[4])) ? $this->data_customer['cidade'] = $end_client_arr[4] : '';
//                                (isset($end_client_arr[5])) ? $this->data_customer['estado'] = $end_client_arr[5] : '';
//                        }
                        $this->data_customer['endereco'] = ArboFormDataModel::searchAnswer($form_id, '54223584;54226700;54228858');
                        $this->data_customer['numero'] = ArboFormDataModel::searchAnswer($form_id, '54223603;54226718;54228976');
                        $this->data_customer['complemento'] = ArboFormDataModel::searchAnswer($form_id, '54223639;54226736;54228988');
                        $this->data_customer['bairro'] = ArboFormDataModel::searchAnswer($form_id, '54223575;54226688;54228842');
                        $this->data_customer['cep'] = ArboFormDataModel::searchAnswer($form_id, '54223714;54226796;54229003');
                        $this->data_customer['cidade'] = ArboFormDataModel::searchAnswer($form_id, '54224976;54226642;54228815');
                        $this->data_customer['estado'] = ArboFormDataModel::searchAnswer($form_id, '54223363;54226654;54228830');
                        
                        
                        
                        
			
                        
                        
                        
                        
                        ###################################################################
                        ###################################################################
                        ###################################################################
                        ###################################################################
                        ###################################################################
                        ###################################################################
			

			// Percorre o array de perguntas e respostas
			foreach ($this->fields_values['form_data'] as $item) {

				// Remove os caracteres NO-BREAK SPACE
				if (preg_match("/\xc2\xa0/", $item['field'])) {
					$item['field'] = preg_replace("/\xc2\xa0/", ' ', $item['field']);
				}

				
                                
				/**
				 * Perguntas faltantes, sem correspondentes encontrados no sistema da Gaia
				 */
//				if (trim($item['field']) == "dentre as categorias de apartamento, qual delas seria") {
//
//				}
//				if (trim($item['field']) == "dentre as categorias de Terrenos, qual delas seria?") {
//
//				}
                                
//				if (trim($item['field']) == "O seu imóvel, qual a posição dele em relação a fachada?") {
//
//				}
//				if (trim($item['field']) == "E, em qual andar fica seu imóvel?") {
//
//				}
//				
                                
				
                                
                                
//				if (trim($item['field']) == "qual telefone é o melhor para falar com você; qual o número?") {
				
                                
				if (trim($item['field']) == "O contato que você nos passou têm Whatsapp?") {
					//$this->data[''] = $item['value'];
				}
                                
				
                                
				if (trim($item['field']) == "Por qual período você nos permite trabalhar o seu imóvel? em números de dias.") {
					if ((int)$item['value'] > 0) {
						$this->data['cboAutVenda'] = false;
						$this->data['cboExclusividade'] = false;
						$this->data['cboAutVenda'] = true;
						$dt = new Datetime('now');
						$this->data['txExclusividadeInicio'] = date('d/m/Y');
						$this->data['txExclusividadeValidade'] = ''; //$item['value'];
						$this->data['txExclusividadeFim'] = $dt->add(new DateInterval("P{$item['value']}D"))->format('d/m/Y');
					}
				}
                                
				if (trim($item['field']) == "É permitido por placa no seu imóvel?") {
					$this->data['cboPlaca'] = (bool)$item['value'];
					$this->data['cboTipoPlaca'] = 3; //TODO
				}
                                
				if (trim($item['field']) == "Vamos inciar pelo mais importante... como você se chama?") {
					$this->data['txProprietario'] = $item['value'];
				}
                                
				
                                
                                
				
                                
                                
				
                                
                                
				
                                
                                
				if (trim($item['field']) == "Quanto as chaves do imóvel?") {
					if ($item['value'] == 'Na ArBo') {
						$this->data['cboLocalChave'] = '2';
						$this->data['cboFilialChave'] = '25181'; // Matriz Arbo
						$this->data_customer['hdIdImobiliaria_filial'] = '25181';
					}
					if ($item['value'] == 'Comigo, Proprietário!')
						$this->data['cboLocalChave'] = '4';
					if ($item['value'] == 'Na portaria')
						$this->data['cboLocalChave'] = '5';
				}
                                
                                
                                
				
                                
                                
                                
                                
				if (trim($item['field']) == "A fachada do seu imóvel, em relação a posição solar é?") {
					if ($item['value'] == 'Sol da manha')
						$this->data['cboFace'] = '6';
					if ($item['value'] == 'Voltado para o norte')
						$this->data['cboFace'] = '5';
					if ($item['value'] == 'Sol da tarde')
						$this->data['cboFace'] = '7';
					if ($item['value'] == 'Voltado para o Sul')
						$this->data['cboFace'] = '3';
					if ($item['value'] == 'Não sei')
						$this->data['cboFace'] = '0';
				}
				
                                
                                
				
                                
                                
				if (trim($item['field']) == "Quantas salas tem no seu imóvel?") {
					$this->data['in_salas'] = $item['value'];
				}
                                
				if (trim($item['field']) == "Seu imóvel tem aproximadamente qual idade?") {
					if ((int) $item['value'] > 0) {
						$now = new DateTime('now');
						$interval = new DateInterval("P{$item['value']}Y");
						$ano = $now->sub($interval)->format('Y');
						$this->data['txAnoConstrucao'] = $ano;
					}
					else {
						$this->data['txAnoConstrucao'] = '';
					}
				}
                                
				if (trim($item['field']) == "Fale um pouco de que tipo de imóvel você aceitaria uma permuta!") {
					$this->data['cboPermuta'] = true;
					$this->data['txDescricaoInterna'] .= ' Descrição da Permuta: ' . $item['value'];
				}
                                
				if (trim($item['field']) == "Para finalizar, faremos poucas perguntas pessoais para uma formalização de serviços, ok?Qual seu CPF?") {
					$this->data_customer['txCpf'] = $item['value'];
				}
                                
				if (trim($item['field']) == "Qual é sua profissão?") {
					$this->data_customer['txProfissao'] = $item['value'];
				}
                                
				if (trim($item['field']) == "quantos quartos tem no seu imóvel?") {
					$this->data['in_dorm'] = (empty($item['value']) || $item['value'] == 0) ? '' : $item['value'];
				}
                                
				if (trim($item['field']) == "Você gostaria de ser chamado apenas de?") {
					//$this->data[''] = $item['value'];
				}
                                
				
                                
				// Novas perguntas criadas pelo Manoel, 21/06/2017.
				if (trim($item['field']) == "Qual o nome da Rua do imóvel?") {
					// Endereço padrão (FAKE) para os casos em que o endereço informado pelo cliente não
					// foi encontrado na Gaia: Rua Professor Joaquim de Matos Barreto, 88, Londrina, PR, 86060-010
					$id_cidade = 126; // Londrina
					$idLogradouro = null;
					$bairro_comercial = null;

					// Remove os termos "Rua", "Avenida", "Av" antes do nome da rua
					$pattern_endereco = "/(RUA|Rua|rua|R.\s)\s?|(AVENIDA|Avenida|avenida)\s?|([A|a]v\.?\s?)/";
					if (preg_match($pattern_endereco, $item['value'], $matches)) {
						$item['value'] = preg_replace($pattern_endereco, '', $item['value']);
					}

					// Quando o nome da rua tiver uma virgula e número no final, remove.
					if (substr_count($item['value'], ',') >= 1) {
						$rua_numero = explode(",", $item['value']);
						$item['value'] = isset($rua_numero[0]) ? trim($rua_numero[0]) : $item['value'];
					}

					// Remove "Dr" ou "dr" no nome da rua
//					if (preg_match("/[D|d]r/", $item['value'])) {
//						$item['value'] = trim(preg_replace("/[D|d]r/", '', $item['value']));
//					}

					// Atribui o valor após remover o tipo de endereço do início
					$this->data['endereco'] = $item['value'];
                                        
                                        
					if (isset($this->data['endereco']) && !empty($this->data['endereco'])) {
						// Busca os dados do endereço
						$gaia_address = $this->GaiaRequest->getAddress($this->gaia_state_city['id_cidade'], strtolower($this->data['endereco']));
//                                                var_dump($gaia_address);exit;
						// bairro_comercial
                                                $this->data['bairro_comercial'] = $bairro_comercial;
                                                $this->data_empreendimento['bairro_comercial'] = $bairro_comercial;

                                                $this->data['idLogradouro'] = $idLogradouro;
                                                $this->data_empreendimento['idLogradouro'] = $idLogradouro; // TODO: teste
                                                
//                                                var_dump(($gaia_address));exit;
                                                if($gaia_address)
                                                {
                                                    foreach ($gaia_address as $gaia_address_aux)
                                                    {
                                                        if($gaia_address_aux['zip_code'] == preg_replace("/[^0-9]/", "",$this->data['cep']))
                                                        {
                                                            if (isset($gaia_address_aux['neighborhood_id'])) {
                                                                    $this->data['bairro_comercial'] = $gaia_address_aux['neighborhood_id'];
                                                                    $this->data_empreendimento['bairro_comercial'] = $this->data['bairro_comercial'];
                                                            }
                                                            else {
                                                                    $this->data['bairro_comercial'] = $bairro_comercial;
                                                                    $this->data_empreendimento['bairro_comercial'] = $bairro_comercial;
                                                            }

                                                            // idLogradouro
                                                            if (isset($gaia_address_aux['street_id'])) {
                                                                    $this->data['idLogradouro'] = $gaia_address_aux['street_id'];
                                                                    $this->data_empreendimento['idLogradouro'] = $this->data['idLogradouro'];
                                                            }
                                                            else {
                                                                    $this->data['idLogradouro'] = $idLogradouro;
                                                                    $this->data_empreendimento['idLogradouro'] = $idLogradouro; // TODO: teste
                                                            }
                                                        }

                                                    }
                                                }
                                                
					}
				}
                                
				
                                
                                
                                
                                
				// Fim das novas perguntas criadas pelo Manoel, 21/06/2017.
				if (trim($item['field']) == "Qual o ponto de referência mais conhecido perto do seu imóvel?")
					$this->data['ponto_referencia'] = $item['value'];
				if (trim($item['field']) == "Vamos selecionar as características gerais internas do imóvel!") {
					$caract = explode(';', $item['value']);
					$this->data['fl_mobiliado'] 		= (in_array('Semi-mobiliado', $caract) || in_array('Toda mobiliada', $caract)) ? 1 : '';
					$this->data['fl_ar'] 				= (in_array('Ar condicionado', $caract)) ? 1 : '';
					$this->data['fl_portao'] 			= (in_array('Portão Eletrônico', $caract)) ? 1 : '';
					$this->data['fl_pe_direito_duplo']= (in_array('Pé direito Duplo', $caract)) ? 1 : '';
					$this->data['fl_mezanino'] 		= (in_array('Mezanino', $caract)) ? 1 : '';
					$this->data['fl_terraco'] 		= (in_array('Terraço', $caract)) ? 1 : '';
					$this->data['fl_elevador'] 		= (in_array('Elevador Próprio', $caract)) ? 1 : '';
					$this->data['fl_alarme'] 			= (in_array('Alarme próprio', $caract)) ? 1 : '';
					$this->data['fl_interfone'] 		= (in_array('Interfone', $caract)) ? 1 : '';
					$this->data['fl_deposito'] 		= (in_array('Depósito', $caract)) ? 1 : '';
					$this->data['fl_lareira'] 		= (in_array('Lareira', $caract)) ? 1 : '';
					$this->data['fl_jardim_inverno'] 	= (in_array('Jardim de Inverno', $caract)) ? 1 : '';
				}
				if (trim($item['field']) == "Separando pelos Serviços que o imóvel oferece, quais deles têm no seu imóvel?") {
					$serv = explode(';', $item['value']);
					(in_array('Cozinha', $serv)) ? $this->data['fl_cozinha'] = 1 : $this->data['fl_cozinha'] = '';
					(in_array('Copa', $serv)) ? $this->data['fl_copa'] = 1 : $this->data['fl_copa'] = '';
					(in_array('Dependência de Funcionários', $serv)) ? $this->data['fl_dorm_empregada'] = 1 : $this->data['fl_dorm_empregada'] = '';
					(in_array('Banheiro para funcionários', $serv)) ? $this->data['fl_ban_empregada'] = 1 : $this->data['fl_ban_empregada'] = '';
					(in_array('Despensa', $serv)) ? $this->data['fl_despensa'] = 1 : $this->data['fl_despensa'] = '';
					(in_array('Área de Serviço', $serv)) ? $this->data['fl_area_servico'] = 1 : $this->data['fl_area_servico'] = '';
				}
				if (trim($item['field']) == "Quanto a área social interna do imóvel! Ele têm?") {
					$social = explode(';', $item['value']);
					(in_array('Sacada', $social)) ? $this->data['fl_sacada'] = 1 : $this->data['fl_sacada'] = '';
					(in_array('Varanda', $social)) ? $this->data['fl_varanda_gourmet'] = 1 : $this->data['fl_varanda_gourmet'] = '';
					(in_array('Escritório', $social)) ? $this->data['fl_escritorio'] = 1 : $this->data['fl_escritorio'] = '';
				}
				if (trim($item['field']) == "Você aceitaria financiamento bancário ou consórcio no seu imóvel? Ele tem condições para isso?")
					$this->data['cboAceitaFinanciamento'] = ($item['value']) ? true : false;
				if (trim($item['field']) == "E seu RG?") {
					$this->data_customer['txRg'] = $item['value'];
				}
				
				if (trim($item['field']) == "e a área útil?") {
					$this->data['txAreaUtil'] = $item['value'];
				}
				
				if (trim($item['field']) == "Hoje como está a ocupação do imóvel?") {
					$ocupacao = $item['value'];
					($ocupacao == 'Ocupado ( estou nele )') ? $this->data['cboOcupacao'] = 2 : $this->data['cboOcupacao'] = 0;
					($ocupacao == 'Locado') ? $this->data['cboOcupacao'] = 3 : $this->data['cboOcupacao'] = 0;
					($ocupacao == 'Desocupado') ? $this->data['cboOcupacao'] = 1 : $this->data['cboOcupacao'] = 0;
					($ocupacao == 'Imóvel na planta') ? $this->data['cboOcupacao'] = 5 : $this->data['cboOcupacao'] = 0;
					($ocupacao == 'Eu estou construindo') ? $this->data['cboOcupacao'] = 4 : $this->data['cboOcupacao'] = 0;
					($ocupacao == 'Locado') ? $this->data['cboLocado'] = true : $this->data['cboLocado'] = false;
				}
				if (trim($item['field']) == "qual o padrão você julga que ele se encaixa?") {
					$this->data['cboPadrao'] = 6; //TODO $item['value'];
				}
				if (trim($item['field']) == "Com qual frequêcia você gostaria de saber as notícias do seu imóvel?") {
//					$this->data[''] = $item['value'];
				}
				if (trim($item['field']) == "Preencher esse questionário foi tranquilo?") {
//					$this->data[''] = $item['value'];
				}
				
				if (preg_match("/Você concorda?/", trim($item['field']))) {
					$this->data['cboAutVenda'] = ($item['value'] == "1") ? true : false;
					$this->data['cboExclusividade'] = ($item['value'] == "1") ? true : false;
					$this->data['txExclusividadeInicio'] = date('d/m/Y');
				}
				if (trim($item['field']) == "Podemos trabalhar até qual faixa de desconto ?") {
					$this->data['chkGarantia'] = 6;
					$this->data['txDescricaoInterna'] .= " Seguro fiança: " . $item['value'];
				}

			}// End Foreach
		}

		// Outros campos do imóvel
		$this->data['cboClienteMidia'] = '8';
		$this->data['txUsuario'] = 'Leonardo Lopes Ramos';
		$this->data['hdTxNomeUsuario'] = 'Leonardo Lopes Ramos';
		$this->data['txValorm2Venda'] = '1,00';
		$this->data['txValorm2Locacao'] = '0';
		$this->data['txPacoteLocacao'] = '';
		$this->data['txExclusividadeFim'] = '';
		$this->data['dlDesconto'] = '';
		$this->data['dlSaldoDevedor'] = '';
		$this->data['cboValorImovelSite'] = '1';
		$this->data['chkPortais'] = '0';
		$this->data['dtCadastroComissao'] = $now;
		$this->data['dtCadastroComissao_0'] = $now;
		$this->data['idImovel'] = 0;
		$this->data['idCliente'] = 0;
//		$this->data['txCondominio'] = '[object Object]';
		$this->data['cboCondominioFechado'] = false;
		$this->data['cboCondominioFase'] = '';
		$this->data['cboCondominioStatus'] = 0;
		$this->data['txEdificio'] = ''; //TODO 6598029
		$this->data['cepTipo'] = 1;
		$this->data['CEPValor'] = '';
		$this->data['cepPais'] = 1;
//		$this->data['CEPLogradouro'] = '[object Object]'; // TODO
		$this->data['idTipoNumeracao'] = 1;
		$this->data['cboPraia'] = 0;
		$this->data['txRegiao'] = '';
		$this->data['idRegiao'] = '';
		$this->data['txReferenciaAux'] = 'ref. alt';
		$this->data['cboStatus'] = 1;
		$this->data['cboTipoLocacao'] = 3; //TODO
		$this->data['txTaxaIntermediacao'] = '';
		$this->data['txValorIptu'] = '';
		$this->data['cboPagamentosCondicoesIptu'] = '2';
		$this->data['txNomeIlha'] = '';
		$this->data['txNomeFaz'] = '';
		$this->data['cboLocalizacao'] = 1;
		$this->data['txOcupadoAte'] = '';
		$this->data['cboOcupador'] = 1;
		$this->data['txAcomodaQtdPessoas'] = '';
		$this->data['txAnoReforma'] = '';
		$this->data['cboFGTS'] = false;
		$this->data['cboAceitaFinanciamento'] = false;
		$this->data['txZoneamento'] = '';
		$this->data['txValorVendaAvaliacao'] = ''; //TODO '1,00';
		$this->data['txValorLocacaoAvaliacao'] = ''; //TODO '1,00';
		$this->data['dtAvaliacao'] = ''; //TODO date('d/m/Y');
		$this->data['txValorFiancaEmpresarial'] = '0,00';
		$this->data['txPorcentagemFiancaEmpresarial'] = '';
		$this->data['txtotalFiancaEmpresarial'] = '';
		$this->data['dlValorTabela'] = '';
		$this->data['dlSinal'] = '0,00';
		$this->data['dtExpiracao'] = $now; //TODO
		$this->data['txDescricaoPromocao'] = '';
		$this->data['cboPeriodicidadeTipo_Default'] = 2;
		$this->data['inParcelas_Default'] = '';
		$this->data['dlValor_Default'] = '';
		$this->data['dtInicial_Default'] = '';
		$this->data['dtFinal_Default'] = '';
		$this->data['hsTodosCamposDetalhe'] = false;
		$this->data['txAreaComum'] = ''; //TODO 100
		$this->data['txAreaPrivativa'] = ''; //TODO 50
		$this->data['cboTopografia'] = 0;
		$this->data['fl_litoraneo'] = 0;
		$this->data['fl_vista_mar'] = 0;
		$this->data['in_metros_praia'] = '';
		$this->data['dl_area_mezanino'] = '';
		$this->data['cboCorretorChave'] = 0;
		$this->data['tx_local_chave'] = '';
		$this->data['txCodigoChave'] = '';
		$this->data['foto_destaque'] = '';
		$this->data['numero_fotos'] = 0;
		$this->data['cboSite'] = false;
		$this->data['cmbEnviar'] = 0;
		$this->data['cboDestaque'] = false;
		$this->data['cboSuperDestaque'] = false;
		$this->data['txLinkVideo'] = '';
		$this->data['txTituloSite'] = '';
		$this->data['txTourVirtual'] = '';
		$this->data['blReadOnlyPortais'] = false;
		$this->data['cboMidiaImpressa'] = false;
		$this->data['txDescricaoMidiaImpressa'] = '';
		$this->data['cboClassificacao'] = 1;
		$this->data['dtPedidoColocacao'] = '';
		$this->data['dtColocacao'] = '';
		$this->data['dtPedidoRetirada'] = '';
		$this->data['dtRetirada'] = '';
		$this->data['cboComissaoTipo_Default'] = 0;
		$this->data['cboCorretorComissao_Default'] = 0;
		$this->data['cboMidiaPublicacao_Default'] = 127; //TODO
		$this->data['dtPublicacao_Default'] = '';
		$this->data['txNomeTerceiro_Default'] = '';
		$this->data['chkPretComissao'] = 3;
		$this->data['cboComissaoTipo'] = 2;
		$this->data['cboMidiaPublicacao'] = '127'; //TODO
		$this->data['dtPublicacao'] = '';
		$this->data['txNomeTerceiro'] = '';
		$this->data['chkPretComissao_0'] = 3; //TODO
		$this->data['txPrefeitura'] = '';
		$this->data['txTmpPrefeitura'] = '';
		$this->data['txCartorio'] = '';
		$this->data['txEletricidade'] = '';
		$this->data['txAguaSaneamento'] = '';
		$this->data['cboTituloTipo'] = 1; //TODO
		$this->data['cboDeprn'] = 'null';
		$this->data['cboProjetoAprovado'] = 'null';
		$this->data['txDocumentacao'] = '';
		$this->data['action'] = '';
		$this->data['cmbEnviarAtividade'] = 15; //TODO
		$this->data['inDiasEnviarAtividade'] = 15;
		$this->data['txTelefoneTerceiro_Default'] = '';
		$this->data['txTelefoneTerceiro'] = '';
		$this->data['idTelefones_telefone1'] = '';

		// Campos hidden do imóvel
		$this->data['hdModuloBasico'] = 0;
		$this->data['hdIdModuloBasico'] = 0;
		$this->data['hdIsAlteracao'] = 0;
		$this->data['hdAtividadeDuplicar'] = false;
		$this->data['hdIdStatus'] = 0;
		$this->data['hdValidaEndereco'] = 0;
		$this->data['hdTxReferencia'] = '';
		$this->data['hdTamanhoArquivoImob'] = 5242880;
		$this->data['hdCadastroCpf'] = false;
//		$this->data['hdCodCondominioNovo'] = ''; // TODO 6645713
		$this->data['hdIdCondominioAlt'] = 0;
		$this->data['hdIdEdificioAlt'] = 0;
		$this->data['hdCoordenadas'] = '0.0000000000000000000000000,0.0000000000000000000000000';
		$this->data['hdCepReadOnly'] = false;
		$this->data['hdControleEntradaValor'] = '';
		$this->data['hdControleCkdFianca'] = false;
		$this->data['hdTotalDetalhePromocao'] = 0;
		$this->data['hdIdImovelDetalhePromocao_Default'] = 0;
		$this->data['hdAcaoImovelDetalhePromocao_Default'] = 1;
		$this->data['hdQtdChavesControle'] = 1;
		$this->data['hdAcaoImovelChave'] = 1;
		$this->data['hdIdImovelChave'] = 0;
		$this->data['hdIQuantidadeUsuarios'] = 1;
		$this->data['hdIdUsuarioImovelComissao_Default'] = 0;
		$this->data['hdAcaoUsuarioImovelComissao_Default'] = 1;
		$this->data['hdIdUsuarioImovelComissao'] = 0;
		$this->data['hdAcaoUsuarioImovelComissao'] = 1;
		$this->data['hdTotalArquivo'] = 0;
		$this->data['hdTamanhoTotalArquivo'] = 0;
                $this->data['hdEmails'] = "";
                $this->data['hdTelefones'] = "$('#txProprietario').multipePhones({
                                  types: [
                                          {      name: 'Tel. Residencial', id: 1, mask: '(99) 9999-9999?9', classe: 'PhoneItemResidencial'}
                                ,       {      name: 'Tel. Comercial', id: 2, mask: '(99) 9999-9999?9', classe: 'PhoneItemComercial'}
                                ,       {      name: 'Celular', id: 3, mask: '(99) 9999-9999?9', classe: 'PhoneItemCelular'}
                                ,       {      name: 'Rádio', id: 4, mask: '', classe: 'PhoneItemRadio'}
                                  ],
                                  action: function(field, redirect){ 
                                                           field.validInput({
                                                                   url: 'modules/ValidaTelefoneProprietario.aspx?responseJson=true'
                                                           });
                                                   },
                                  redirect: false
                                });";

                // Dados do empreendimento/Edifício/Condomínio
		$this->data_empreendimento['dtCadastro'] = $now;
		$this->data_empreendimento['dtAtualizado'] = $now;
		$this->data_empreendimento['cepTipo'] = '1';
		$this->data_empreendimento['CEPValor'] = '';
		$this->data_empreendimento['cepPais'] = '1';
		$this->data_empreendimento['CEPLogradouro'] = '%5Bobject+Object%5D';
		$this->data_empreendimento['idTipoNumeracao'] = '1';
		$this->data_empreendimento['hdCoordenadas'] = '';
		$this->data_empreendimento['hdCepReadOnly'] = 'False';
		$this->data_empreendimento['hdIdEmpreendimento'] = '0';
		$this->data_empreendimento['hdQtdCasasDecimaisAreas'] = '2';
		$this->data_empreendimento['hdQtdCasasDecimaisFracaoIdeal'] = '2';
		$this->data_empreendimento['hdFoto'] = '';
		$this->data_empreendimento['hdTamanhoArquivoImob'] = '31457280';
		$this->data_empreendimento['hdTxNomeUsuario'] = 'Leonardo+Lopes+Ramos';
		$this->data_empreendimento['cboStatusComercial'] = '1'; // Manoel, deixar a opção: "Condomínios", "Condomínios (Imóveis terceiros)"
		$this->data_empreendimento['cboStatus'] = '8';
		$this->data_empreendimento['cboStatus1'] = '1';
		$this->data_empreendimento['ComboItens1'] = '0';
		$this->data_empreendimento['flPlantaoLocal'] = 'false';
		$this->data_empreendimento['cboFases'] = '1';
		$this->data_empreendimento['dtPrevisao'] = '';
		$this->data_empreendimento['dtAnoConstrucao'] = '';
		$this->data_empreendimento['txSite'] = '';
		$this->data_empreendimento['txAndares'] = '';
		$this->data_empreendimento['txUnidadesAndar'] = '';
		$this->data_empreendimento['txAdministradora'] = '';
		$this->data_empreendimento['txArquitetura'] = '';
		$this->data_empreendimento['txPaisagismo'] = '';
		$this->data_empreendimento['cboFachada'] = '1';
		$this->data_empreendimento['cboPadrao'] = '6';
		$this->data_empreendimento['txIncorporadora'] = '';
		$this->data_empreendimento['hdIdtxIncorporadora'] = '0';
		$this->data_empreendimento['txConstrutora'] = '';
		$this->data_empreendimento['hdIdtxConstrutora'] = '0';
		$this->data_empreendimento['txValorMinimo'] = '';
		$this->data_empreendimento['txValorMaximo'] = '';
		$this->data_empreendimento['txReferenciaAuxiliar'] = '';
		$this->data_empreendimento['txDescricaoInterna'] = '';
		$this->data_empreendimento['hdTorres'] = '0';
		$this->data_empreendimento['hdUnidadesInconsistenteTroca'] = '';
		$this->data_empreendimento['txNome'] = '';
		$this->data_empreendimento['txAndares'] = '';
		$this->data_empreendimento['txUnidadesAndar'] = '';
		$this->data_empreendimento['cboFase'] = '1';
		$this->data_empreendimento['dtPrevisaoEntrega'] = '';
		$this->data_empreendimento['hdAction'] = '';
		$this->data_empreendimento['hdUnidades'] = '';
		$this->data_empreendimento['txNome'] = '';
		$this->data_empreendimento['txAndares'] = '';
		$this->data_empreendimento['txUnidadesAndar'] = '';
		$this->data_empreendimento['cboFase'] = '';
		$this->data_empreendimento['hdAction'] = '';
		$this->data_empreendimento['hdUnidades'] = '';
		$this->data_empreendimento['txNome'] = '';
		$this->data_empreendimento['hdAction'] = '';
		$this->data_empreendimento['hdUnidades'] = '';
		$this->data_empreendimento['txNome'] = '';
		$this->data_empreendimento['hdAction'] = '';
		$this->data_empreendimento['hdUnidades'] = '';
		$this->data_empreendimento['txNome'] = '';
		$this->data_empreendimento['hdAction'] = '';
		$this->data_empreendimento['hdUnidades'] = '';
		$this->data_empreendimento['txNome'] = '';
		$this->data_empreendimento['hdAction'] = '';
		$this->data_empreendimento['hdUnidades'] = '';
		$this->data_empreendimento['txNomeTerceiros'] = '';
		$this->data_empreendimento['txSobrenomeTerceiros'] = '';
		$this->data_empreendimento['txContatoTerceiros'] = '';
		$this->data_empreendimento['hdContatoTerceiros'] = '1';
		$this->data_empreendimento['ddlCargoTerceiros'] = '2';
		$this->data_empreendimento['txSobrenomeTerceiros_0'] = '';
		$this->data_empreendimento['txContatoTerceiros_0'] = '';
		$this->data_empreendimento['hdContatoTerceiros_0'] = '1';
		$this->data_empreendimento['ddlCargoTerceiros_0'] = '2';
		$this->data_empreendimento['txEmailTerceiros_0'] = '';
		$this->data_empreendimento['cboSite'] = 'false';
		$this->data_empreendimento['cboDestaque'] = 'false';
//		$this->data_empreendimento['txVideo'] = '';
//		$this->data_empreendimento['txChat'] = '';
//		$this->data_empreendimento['txTourVirtual'] = '';
//		$this->data_empreendimento['txDescricoes'] = '';
//		$this->data_empreendimento['txChamada'] = '';
//		$this->data_empreendimento['txDescricaoRegiao'] = '';
//		$this->data_empreendimento['foto_destaque'] = '';
//		$this->data_empreendimento['numero_fotos'] = '0';
//		$this->data_empreendimento['hdTotalArquivo'] = '0';
//		$this->data_empreendimento['hdTamanhoTotalArquivo'] = '0';
		
//                var_dump($this->data);exit;
		// Faz a busca ou cadastro de proprietário
		if($this->manageCustomer($form_id))
                {
                    // Faz todas as tarefas relativas ao empreendimento (busca, cadastro)
                    if($cadastra_empreendimento == false)
                    {
                        $envia_imovel = true;
                    }
                    else
                    {
                        $envia_imovel = $this->manageEmpreendimento($form_id);
                    }
                    
                    if($envia_imovel == true)
                    {
                        // Trata os casos em que não foi informada a pretensão de Venda ou Locação
                        $this->fixPretension();

                        // Chama o método que fará o envio
                        $this->GaiaRequest->doLogin()->sendDataImovel($this->data, $form_id);
                    }
                }
	}

	/**
	 * Identifica o ID do corretor
	 *
	 * @param $nome
	 * @return mixed
	 */
	public function getRealtorId($nome)
	{
		$realtor = $this->GaiaRequest->findRealtor($nome);

		if($realtor) {
			return $realtor['idUsuario'];
		}

		return false;
	}

	/**
	 * Método que retorna os dados de um estado do sistema da Gaia de acordo
	 * com o UF informado.
	 *
	 * @param $state
	 * @return bool
	 */
	public function findState($state) {
		$states = $this->GaiaRequest->getStates(1);
                
                switch ($state){
                    case 'SP':
                        $estado = 'São Paulo';
                        break;
                    case 'PR':
                        $estado = 'Paraná';
                        break;
                }
		if ($states) {
			foreach ($states as $item) {
				if ($item['tx_estado'] == $estado) {
					return $item;
				}
			}
		}

		return false;
	}

	/**
	 * Método que retorna os dados de uma cidade do sistema da Gaia de acordo
	 * com o id do estado e nome da cidade informados.
	 *
	 * @param $state
	 * @param $city
	 * @return bool
	 */
	public function findCity($state = false, $city = false) {
		$cities = $this->GaiaRequest->getCities($state, $city);

		if ($cities) {
			foreach ($cities as $item) {
				if ($item['tx_cidade'] == $city) {
					return $item;
				}
			}
		}

		return false;
	}

	/**
	 * Faz uma busca no array dos dados em busca de um field específico
	 */
	public function findFieldValue($field)
	{
		if($this->fields_values && count($this->fields_values['form_data']) > 0) {
			foreach ($this->fields_values['form_data'] as $item) {
				if (preg_grep("/{$field}/", $item)) {
					return $item;
				}
			}
		}

		return false;
	}

	/**
	 * Faz uma busca na Gaia para encontrar os dados de Estado e Cidade.
	 */
	public function findStateCity($form_id)
	{
		$cidade['value'] =  ArboFormDataModel::searchAnswer($form_id, 40893444);

		if (trim($cidade['value']) == "Outra cidade") {

                        $outra_cidade['value'] =  ArboFormDataModel::searchAnswer($form_id, 43641394);

			// Trata caso o usuário informar algo além do nome da cidade
			if (strpos($outra_cidade['value'], ",")) {
				$part = explode(",", $outra_cidade['value']);
				$outra_cidade['value'] = (isset($part[0])) ? trim($part[0]) : '';
			}
			if (strpos($outra_cidade['value'], "-")) {
				$part = explode("-", $outra_cidade['value']);
				$outra_cidade['value'] = (isset($part[0])) ? trim($part[0]) : '';
			}

			if (isset($outra_cidade)) {
				$cities = $this->GaiaRequest->getCities(null, $outra_cidade['value']);
                                
				if ($cities) {
					$distance = 1000;
					foreach ($cities as $c) {
						$levenshtein = levenshtein($outra_cidade['value'], $c['tx_cidade']);
						if (mb_strtoupper($outra_cidade['value']) == mb_strtoupper($c['tx_cidade'])) {
							$distance = $levenshtein;

							$this->data['cidade'] = $c['tx_cidade'];
							$this->data['estado'] = $c['tx_abrev'];

							$this->data_empreendimento['cepEstado'] = $c['id_estado'];
							$this->data_empreendimento['cepCidade'] = $c['id_cidade'];

							$this->data_empreendimento['cidade'] = $c['tx_cidade'];
							$this->data_empreendimento['estado'] = strtoupper($c['tx_abrev']);

							$this->gaia_state_city = $c;
						}
					}
				}
			}
		}
		else {
			list($cid, $est) = explode(' - ', trim($cidade['value']));

			$this->data['cidade'] = $cid;
			$this->data['estado'] = strtoupper($est);

			$this->data_empreendimento['cidade'] = $cid;
			$this->data_empreendimento['estado'] = strtoupper($est);

			if (isset($this->data['estado'])) {
				$state = $this->findState($this->data['estado']);
				if ($state) {
					$this->gaia_state_city = array_merge($this->gaia_state_city, $state);
				}
                                else
                                {
                                    echo $this->data['estado']." | O ESTADO INFORMADO NÃO FOI ENCONTRADO, POR FAVOR MANDE UM PRINT DESTA TELA À EQUIPE DA LRSYS.";exit;
                                }
			}

			if (isset($this->gaia_state_city['id_estado']) && isset($this->data['cidade'])) {
				$city = $this->findCity($this->gaia_state_city['id_estado'], $this->data['cidade']);
				if ($city) {
					$this->gaia_state_city = array_merge($this->gaia_state_city, $city);
				}
			}

			$this->data_empreendimento['cepEstado'] = $this->gaia_state_city['id_estado'];
			$this->data_empreendimento['cepCidade'] = $this->gaia_state_city['id_cidade'];
		}
	}

	/**
	 * Trata os casos em que o proprietário não informa no formulário do TypeForm
	 * a intenção de Compra ou Locação.
	 *
	 * Nesses casos foi decidido com o cliente que se cadastre
	 * com ambos e valor de R$ 1,00
	 */
	public function fixPretension()
	{
		if (!isset($this->data['chkPretVenda']) && !isset($this->data['chkPretLocacao'])) {
			$this->data['chkPretVenda'] = 1;
			$this->data['chkPretLocacao'] = 1;

			$this->data['txValorLocacao'] = '1,00';
			$this->data['txValorVenda'] = '1,00';

			$this->data['txDescricaoInterna'] .= ' Alerta: Proprietário não selecionou a intenção de venda ou locação.';
			$this->data['txDescricaoInterna'] .= ' Por padrão o Robô cadastrou com o valor de venda e locação de R$ 1,00';
		}
	}

	/**
	 * Faz a busca e/ou cadastro do empreendimento
	 */
	public function manageEmpreendimento($form_id = null)
	{
		$empreendimento = '';
//		if (isset($this->data['hdNomeEdificio']) && strlen($this->data['hdNomeEdificio']) > 3) {

			// Tenta cadastrar o empreendimento na Gaia, caso o empreendimento já esteja cadastrado, o sistema
			// da Gaia irá retornar um erro com o nome correto do Empreendimento, baseado nos dados enviados.
			$result = $this->GaiaRequest->saveEmpreendimento($this->data_empreendimento, $this->data['txProprietario'], $form_id);
                        
                        // verfico se o empreendimento foi encontrado ou cadastrado com sucesso
//                        if($result == 'Alerta: Id do logradouro inválido')
//                        {
//                            return false;
//                        }
                        
//			$pattern1 = "/alert:Já existe um empreendimento cadastrado nesse endereço. Nome empreendimento \(.*\)/";
//			if ($found = preg_match($pattern1, $result, $matches)) {
//				$pattern2 = "/\((.*?)\)/";
//				$found2 = preg_match($pattern2, $result, $nome_empreendimento);
//				if ($nome_empreendimento) {
//					$this->data['hdNomeEdificio'] = $nome_empreendimento[1];
//				}
//			}

			// Faz a busca do Empreendimento pelo endereço (Rua, nº)
			$empreendimentos = $this->GaiaRequest->findEmpreendimentoByStreet(
				$this->data['endereco'] . ", nº " . $this->data['numero'],
				$this->gaia_state_city['id_estado'],
				$this->gaia_state_city['id_cidade']);
			$json_empreendimentos = json_decode($empreendimentos, true);

			if ($json_empreendimentos['total'] > 0) {
				if (isset($json_empreendimentos['total']) && $json_empreendimentos['total'] > 0) {
					$empreendimento = (isset($json_empreendimentos['Body'][0])) ? $json_empreendimentos['Body'][0] : false;
				}

				$empreend_cond_edif = [
					'Residencial',
					'Comercial',
					'Casas residenciais',
					'Chácaras',
					'Galpões Comerciais',
					'Hotel',
					'Industrial',
					'Prédios comerciais',
					'Prédios residenciais',
					'Edifício Residencial',
                                        'Edifício Residencial, Prédios residenciais',
					'Terrenos ou lotes comerciais',
					'Terrenos ou lotes residenciais'
				];

				if (isset($empreendimento['dados'])) {
					// Edifício; Prédio; condomínio
					if (count(array_intersect($empreend_cond_edif, $empreendimento['dados'])) > 0) {
						$this->data['cboTipoCond'] = false;
                                                $this->data['cboCondominioFechado'] = true;
						
                                                // Nome do Condomínio
                                                $this->data['hdCodCondominioNovo'] = $empreendimento['id'];
                                                
                                                // Nome do Bloco ou Edifíico
                                                $this->data['txEdificio'] = $empreendimento['id']; // ++$empreendimento['id'];
                                                $this->data['hdCodCondominioNovo'] = $empreendimento['id'];
                                                
						$this->data['hdNomeEdificio'] = trim($empreendimento['dados'][0]);

						$this->data['txCondominio'] = $empreendimento['id'];
						$this->data['hdNomeCondominio'] = '';
						$this->data['cboCondominioStatus'] = 1;

						// OBS: SEMPRE ENVIAR OS DADOS DO ENDEREÇO NO CADASTRO DO IMÓVEL

						// Outros métodos de busca do Empreendimento:
						// -> findEmpreendimentoByName();
						// -> findEmpreendimentoOnlyByName();
					}
				}
                                
//                                var_dump($empreendimento['dados']);exit;
			}
                        else
                        {
                            return false;
                        }
//		}
                return true;
	}
        

	/**
	 * Faz todo o trabalho relativo ao proprietário,
	 * busca ou cadastro caso não encontre
	 */
	public function manageCustomer($form_id = null)
	{
		if(!empty($this->data['idEmails_email1'])) {
			// Verifica se já existe um cliente com esse email
			$cliente = $this->GaiaRequest->getCostumer($this->data['idEmails_email1']);

			if($cliente) {
				$this->data['hdIdtxProprietario'] = $cliente['id'];
				if (isset($cliente['dados'][5])) {
					$telefones = $cliente['dados'][5];
					if (preg_match_all("/\(\d{2}\)\s\d{4}\-\d{4,5}/", $telefones, $telefones_array)) {
						if(count($telefones_array) > 0) {
							foreach ($telefones_array[0] as $i => $tel) {

								$parts = str_split($tel);
								$telefone = '';
								if (count($parts) >= 10) {
									foreach ($parts as $idx => $p) {
										if ($idx == 0)
											$telefone .= "(" . $p;
										elseif ($idx == 1)
											$telefone .= $p . ")+";
										elseif ($idx == 5)
											$telefone .= $p . "-";
										else
											$telefone .= $p;
									}
								}

								$this->data['txProprietario_telefone' . ($i+1)] = $telefone;
								$this->data['txProprietario_telefoneId' . ($i+1)] = "0," . ($i+1);
							}
						}
					}
				}
			}
			else {
				$now = date('d/m/Y');
				$this->data_customer['dt_cadastro'] = $now;
				$this->data_customer['dt_atualizacao'] = $now;
				$this->data_customer['hdTxNomeUsuario'] = 'Leonardo Lopes Ramos';
				$this->data_customer['hdPermissaoClienteUsuario'] = 3;
				$this->data_customer['id_atendimento_usuario'] = 174349;
				$this->data_customer['cboUsuario'] = 174349;
				$this->data_customer['cboUsuario_0'] = 174349;
				$this->data_customer['cboStatusCliente'] = true;
				$this->data_customer['cboUsuario_0'] = '174349';
				$this->data_customer['cboTipoCliente_0'] = '2';
				$this->data_customer['cadastroSimplificado'] = false;
				$this->data_customer['hdCadastroCpf'] = false;
				$this->data_customer['hdTamanhoArquivoImob'] = 5242880;
				$this->data_customer['hdPermissaoClienteUsuario'] = 3;
				$this->data_customer['cboInvestidor'] = true;
				$this->data_customer['txEmpresa'] = '';
				$this->data_customer['txObservacoes'] = '';
				$this->data_customer['cadastro_sem_retorno'] = 0;
				$this->data_customer['cboCondominio_'] = '0iddoCliente';
				$this->data_customer['cboGaragem_'] = 0;
				$this->data_customer['cboSuite_'] = 0;
				$this->data_customer['txAreaUtil_'] = '';
				$this->data_customer['cboAceitaFinanciamento_'] = 1;
				$this->data_customer['chkOpcao_'] = 'imobiliaria';
				$this->data_customer['cboOpcao_'] = 'imobiliaria';
				$this->data_customer['hdnRoteiroVisitaLimiteCheck'] = 12;
				$this->data_customer['hdQtdePerfis'] = 1;
				$this->data_customer['hdValores_1'] = true; //'00truetrue00';
				$this->data_customer['hdAcao_1'] = 1;
				$this->data_customer['txReferencia_1'] = '';
				$this->data_customer['hdEstado_1'] = 0;
				$this->data_customer['hdCidade_1'] = 0;
				$this->data_customer['hdZona_1'] = 0;
				$this->data_customer['cboFinalidade_1'] = 0;
				$this->data_customer['cboTipo_1'] = 0;
				$this->data_customer['cboDormitorio_1'] = 0;
				$this->data_customer['chkPretVenda_1'] = 1;
				$this->data_customer['chkPretLocacao_1'] = 2;
				$this->data_customer['txValorVenda_1'] = 'R$ 0,00';
				$this->data_customer['cboDeltaVenda_1'] = 20;
				$this->data_customer['txValorLocacao_1'] = 'R$ 0,00';
				$this->data_customer['cboDeltaLocacao_1'] = 20;
				$this->data_customer['cboStatusImovel_1'] = 1;
				$this->data_customer['txCondominio_1'] = '';
				$this->data_customer['hdIdEmpreendimento_1'] = '';
				$this->data_customer['cboCondominio_1'] = 0;
				$this->data_customer['cboGaragem_1'] = 1;
				$this->data_customer['cboSuite_1'] = 1;
				$this->data_customer['cboDeltaAreaUtil_1'] = 20;
				$this->data_customer['txAreaTotal_1']  = '';
				$this->data_customer['cboAceitaFinanciamento_1'] = 1;
				$this->data_customer['chkOpcao_1'] = 'imobiliaria';
				$this->data_customer['cboOpcao_1'] = 'imobiliaria';
				$this->data_customer['id_atendimento_status'] = 1;
				$this->data_customer['id_atendimento_usuario'] = 174349;
				$this->data_customer['dt_atendimento'] = '25/04/2017';
				$this->data_customer['dt_atendimento_alt'] = '17:16';
				$this->data_customer['id_atendimento_prioridade'] = 2;
				$this->data_customer['hdUsers'] = 1;
				$this->data_customer['hdIdUsuarioCliente'] = 0;
				$this->data_customer['hdUsuarioClienteExcluir'] = 0;
				$this->data_customer['hdUsuarioClienteAcao'] = 1;
				$this->data_customer['cboUsuario'] = 174349;
				$this->data_customer['cboTipoCliente'] = 2;
				$this->data_customer['hdClienteInativado'] = 0;
				$this->data_customer['hdIdUsuarioCliente_0'] = 0;
				$this->data_customer['hdUsuarioClienteExcluir_0'] = 0;
				$this->data_customer['hdUsuarioClienteAcao_0'] = 1;
				$this->data_customer['cboUsuario_0'] = 174349;
				$this->data_customer['txDtNascimento'] = '01/01/1990';
				$this->data_customer['rbSexo'] = 1;
				$this->data_customer['txSite'] = '';
				$this->data_customer['rbTipoPessoa'] = 1;
				$this->data_customer['txCnpj'] = '';
				$this->data_customer['txIe'] = '';
				$this->data_customer['txNacionalidade'] = 'Brasileiro';
				$this->data_customer['txNaturalidade'] = 'Londrinense';
				$this->data_customer['txComoFinanciarImovel'] = 2;
				$this->data_customer['hdFaixaRenda'] = 0;
				$this->data_customer['txValorRenda'] = '2.000,00';
				$this->data_customer['cboNivelCultural'] = 12;
				$this->data_customer['cboProcurador'] = false;
				$this->data_customer['hdCoordenadas'] = '';
				$this->data_customer['hdCepReadOnly'] = false;
				$this->data_customer['hdTotalArquivo'] = 0;
				$this->data_customer['hdTamanhoTotalArquivo'] = 0;

				$this->data_customer['hdTelefones'] = "";
				$this->data_customer['txTelefoneConjuge'] = "";
				$this->data_customer['txtTelefoneProcuradorRes'] = "";
				$this->data_customer['txtTelefoneProcuradorCom'] = "";
				$this->data_customer['txtTelefoneProcuradorCel'] = "";
				$this->data_customer['txtTelefoneProcuradorRes_1'] = "";
				$this->data_customer['txtTelefoneProcuradorCom_1'] = "";
				$this->data_customer['txtTelefoneProcuradorCel_1'] = "";

				(isset($this->data['txProprietario_telefone1'])) 	 ? $this->data_customer['idTelefones_telefone1'] = $this->data['txProprietario_telefone1'] : '';
				(isset($this->data['txProprietario_telefoneId1'])) ? $this->data_customer['idTelefones_telefoneId1'] = $this->data['txProprietario_telefoneId1'] : '';
				(isset($this->data['txProprietario_telefone2'])) 	 ? $this->data_customer['idTelefones_telefone2'] = $this->data['txProprietario_telefone2'] : '';
				(isset($this->data['txProprietario_telefoneId2'])) ? $this->data_customer['idTelefones_telefoneId2'] = $this->data['txProprietario_telefoneId2'] : '';
				(isset($this->data['txProprietario_telefone3'])) 	 ? $this->data_customer['idTelefones_telefone3'] = $this->data['txProprietario_telefone3'] : '';
				(isset($this->data['txProprietario_telefoneId3'])) ? $this->data_customer['idTelefones_telefoneId3'] = $this->data['txProprietario_telefoneId3'] : '';
				(isset($this->data['txProprietario_telefone4'])) 	 ? $this->data_customer['idTelefones_telefone4'] = $this->data['txProprietario_telefone4'] : '';
				(isset($this->data['txProprietario_telefoneId4'])) ? $this->data_customer['idTelefones_telefoneId4'] = $this->data['txProprietario_telefoneId4'] : '';

				// Salva o Cliente no sistema da Gaia
				$this->GaiaRequest->saveCustomer($this->data_customer, $form_id);

				// Verifica se já existe um cliente com esse email
				$cliente = $this->GaiaRequest->doLogin()->getCostumer($this->data['idEmails_email1']);

				if($cliente) {
					$this->data['hdIdtxProprietario'] = $cliente['id'];
					if (isset($cliente['dados'][5])) {
						$telefones = $cliente['dados'][5];
						if (preg_match_all("/\(\d{2}\)\s\d{4}\-\d{4,5}/", $telefones, $telefones_array)) {
							if(count($telefones_array) > 0) {
								foreach ($telefones_array[0] as $i => $tel) {

									$parts = str_split($tel);
									$telefone = '';
									if (count($parts) >= 10) {
										foreach ($parts as $idx => $p) {
											if ($idx == 0)
												$telefone .= "(" . $p;
											elseif ($idx == 1)
												$telefone .= $p . ")+";
											elseif ($idx == 5)
												$telefone .= $p . "-";
											else
												$telefone .= $p;
										}
									}

									$this->data['txProprietario_telefone' . ($i+1)] = $telefone;
									$this->data['txProprietario_telefoneId' . ($i+1)] = "0," . ($i+1);
								}
							}
						}
					}
				}
                                else
                                {
                                    return false;
                                }
			}
		}
                else
                {
                    $log = ORM::for_table('module_arbo_robo_logs')->create();
                    $log->date = date('Y-m-d H:i:s');
                    $log->owner = (isset($this->data['txNome']) ? $this->data['txNome'] : '');
                    $log->description = "Enviando os dados do proprietário para o sistema da Gaia";
                    $log->data = json_encode($this->data);
                    $log->operation = 'OUTPUT';
                    $log->status = 'Alerta: email do cliente não informado.';
                    $log->ip = $_SERVER['SERVER_ADDR'];
                    $log->form_id = $form_id;
                    $log->save();
                    
                    return false;
                }
                return true;
	}

	/**
	 * Formata valores que serão enviados para Gaia
	 *
	 * @param $number
	 * @return mixed
	 */
	public function format($number)
	{
		if (substr_count($number, ",") > 1) {
			$fo = stripos($number, ",");
			$number = substr_replace($number, '', $fo, 1);
		}
		if (preg_match('/R\$\s?/i', $number, $m)) {
			$number = preg_replace('/R\$\s?/i', '', $number);
		}

		return $number;
	}

}

Anon7 - 2022
AnonSec Team