<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Cron extends CI_CONTROLLER
{
    
    function __construct() 
    {
        parent::__construct();
        $this->load->library('newsletter/newsletter');
    }
    
    
    function index()
    {
        $this->load->model('newsletter_model');
       
        //$nova_data_hora = mktime(date("H"), date("i"), date("s"), date("m") , date("d") - 1, date("Y")); 
		//$datetime = date('Y-m-d H:i:s', $nova_data_hora);
		
		$sequencias = $this->newsletter_model->getSequencias();
		
		foreach ($sequencias as $k=>$sequencia)
		{
		    $nova_data_hora = mktime(date("H") - $sequencia->intervalo, date("i"), date("s"), date("m") , date("d"), date("Y")); 
		    $datetime = date('Y-m-d H:i:s', $nova_data_hora);
		    
		    $sequencia->caps = $this->newsletter_model->getCapByTag([['b.id_tag',$sequencia->tag_get],['b.datetime_tag <', $datetime]]);
		    //email 		    add_tag 		    remove_tag
		    echo('id_tag => '.$sequencia->tag_get.' Cont => '.count($sequencia->caps).' => '.$sequencia->condicao.'</br>');
		}
		
		foreach ($sequencias as $k=>$sequencia)
		{
		    foreach ($sequencia->caps as $cap)
		    {
                if($sequencia->condicao == 'cadastro')
                {
                   if($cap->id_cadastro == '')
                       $this->rodaSequencia($sequencia,$cap,false);
                   else
                       $this->rodaSequencia($sequencia,$cap,true);
		        }
		        elseif (in_array($sequencia->condicao, ['agendar_visita', 'ativar_cartao']))
		        {
		            if($cap->status_captura >= 3)
                       $this->rodaSequencia($sequencia,$cap,true);
                    else
                       $this->rodaSequencia($sequencia,$cap,false);
		        }
		        elseif ($sequencia->condicao == 'cancelar_ellevem') 
		        {
		            $this->cad_model->updateCaptura($cap->id_captura,['status_captura'=> 4]);
		            $this->rodaSequencia($sequencia,$cap);
		        }
		        elseif ($sequencia->condicao == 'painel_atendimento')
		        {
		            $this->cad_model->updateCaptura($cap->id_captura,['tipo_atendimento'=> 0]);
		            $this->rodaSequencia($sequencia,$cap);
		        }
		        else
		        {
		            $this->rodaSequencia($sequencia,$cap);
		        }
		    }
		}
    }
    
    
    private function rodaSequencia($sequencia,$cap, $condicao = null)
    {
        
        $dt_email = (array)$cap;
        $dt_email['uuid'] = $cap->origem_captura;
        
        unset($dt_email['email']);
        unset($dt_email['mensagem']);
        
        $addTag      = $sequencia->add_tag;
        $removeTag   = $sequencia->remove_tag;
        $idCampanha  = $sequencia->email;
        
        if($condicao === true)
        {
            $addTag      = $sequencia->add_tag_true;
            $removeTag   = $sequencia->remove_tag_true;
            $idCampanha  = $sequencia->email_true;
        }
        if($condicao === false)
        {
            $addTag      = $sequencia->add_tag_false;
            $removeTag   = $sequencia->remove_tag_false;
            $idCampanha  = $sequencia->email_false;
        }
        
        echo('</br>----------------------------</br>
        CAPTURA ==> '.$cap->id_captura.' - '.$cap->email.'.</br>
        Remove Tag => '.$removeTag.'</br>
        ADD Tag ===> '.$addTag.'</br>
        Envia Email => '.$idCampanha.
        '</br>----------------------------</br>');
        
        $this->newsletter->envia($cap->email, $idCampanha, $dt_email);
        if(true)
        {
            if($addTag > 0){
                $this->newsletter_model->insere_tag_captura(['id_tag' => $addTag, 'id_captura' => $cap->id_captura]);
                $this->newsletter_model->insere_tag_historico(['id_tag' => $addTag, 'id_captura' => $cap->id_captura]);
            }
            $this->newsletter_model->delete_tag_captura([['id_tag',$removeTag],['id_captura',$cap->id_captura]]);
        }
    }
    
    //A N T I G O S -----------------------------------------------
  
    function index_bk() 
    {
        $this->load->model('newsletter_model');
       
        $nova_data_hora = mktime(date("H"), date("i"), date("s"), date("m") , date("d") - 1, date("Y")); 
		$datetime = date('Y-m-d H:i:s', $nova_data_hora);
		
		$result = $this->newsletter_model->select_emails_expired($datetime);
		if($result != NULL)
		{
		    foreach($result as $data)
		    {  
                $data['key_concat'] =  $data['id'].$data['activation_key'];
		        $r_email = $this->envia_confirmacao($data);
		        if($r_email == true)
		        {
		            $this->newsletter_model->enviou_email_2($data['id']);
		        }
		     }
		}
		
        
    }
    
    
    public function envia_confirmacao($data) 
    {
        
        $this->load->library('email');
        
        $data['url'] = base_url() . "leadpg/confirmacao/" . $data['id'] . $data['activation_key'];
       
        //$data = array('nome'=>$new_nome,'url'=>$url);
        
        $config['protocol'] = 'mail';
        $config['mailpath'] = '/usr/sbin/sendmail';
        $config['charset'] = 'utf-8';
        $config['wordwrap'] = TRUE;
        
        $this->load->library('email');
        $this->email->from('contato@viewbrasil.com.br', "View Brasil - Mkt Digital");
        $this->email->to($data['email']);
        $this->email->subject("View Brasil - Marketing Digital | Ativação");
        $this->email->message($this->load->view('email-nao-ativacao-html', $data, TRUE));
        /*$message = "<p>Uma mensagem de confirmação está sendo enviada para o e-mail <b>".$email."</b>.
        Por favor, clique no link de confirmação da mensagem para confirmar seu cadastro.
        Se depois de 24 horas você não tiver recebido, entre em contato conosco.</p>";
        */
        if ($this->email->send()) 
        {
            return true;
            
        } 
        else
        {
            return $this->email->print_debugger();
        }
    }
    
    
    // abriu email 1 de confirmação
    public function h6ku7fds31_img()
	{
	    $key = $this->uri->segment(4);//key_concat
	        
        
        $this->load->model('newsletter_model');
        $this->newsletter_model->abriu_email_1($key);
        
        $this->load->library('easyphpthumbnail');
		$thumb = new easyphpthumbnail;
		$thumb->Thumbwidth = 562;
		$thumb->Createthumb('assets/img/logo_emkt.png');
    }
    
    //abriu email 2 de nao confirmação
    public function j8h6gf4562_img()
	{
	    
	    $key = $this->uri->segment(4);//key_concat
	        
        
        $this->load->model('newsletter_model');
        $this->newsletter_model->abriu_email_2($key);
        
        $this->load->library('easyphpthumbnail');
		$thumb = new easyphpthumbnail;
		$thumb->Thumbwidth = 562;
		$thumb->Createthumb('assets/img/logo_emkt.png');
    }
    
    //abriu email da campanha
    public function k8j6gf5563_img()
	{
	    $key = $this->uri->segment(4);//key_log
        $this->load->model('newsletter_model');
        $this->newsletter_model->abriu_email_campanha($key);
        
        $this->load->library('easyphpthumbnail');
		$thumb = new easyphpthumbnail;
		$thumb->Thumbwidth = 562;
		$thumb->Createthumb('assets/img/logo_emkt.png');
    }
    
    
    //clicou no maps email de confirmação
    public function hnd99fkj405kfj76sh485jf056k4()
    {
        $key = $this->uri->segment(4);//key_concat
        $this->load->model('newsletter_model');
        $this->newsletter_model->clicou_email_conf_maps($key);
        
        
        
        $link = 'https://www.google.com.br/maps/place/View+Brasil+-+Marketing+Digital/@-15.8325727,-48.0572571,17z/data=!4m2!3m1!1s0x935a3b2019c05a19:0x6a58e799d7d4a558';
        redirect($link);
    }
    
    //clicou no maps do  email da campanha
    public function jhu68fkj405kfj78jy7ht6h()
    {
        $key = $this->uri->segment(4);//key_log
        $this->load->model('newsletter_model');
        $this->newsletter_model->clicou_email_campanha_maps($key);
        $link = 'https://www.google.com.br/maps/place/View+Brasil+-+Marketing+Digital/@-15.8325727,-48.0572571,17z/data=!4m2!3m1!1s0x935a3b2019c05a19:0x6a58e799d7d4a558';
        redirect($link);
    }
    
    //clicou  email da campanha
     public function jhu68fkj4087a7d99s7s8g8f()
    {
        $key = $this->uri->segment(4);//key_log
        $this->load->model('newsletter_model');
        $id_campanha = $this->newsletter_model->clicou_email_campanha($key);
        $link = '';
        if($id_campanha != NULL)
        {
            $link = $this->newsletter_model->get_link_campanha($id_campanha);
        }
        redirect($link);
    }
        
    
    
    public function infografico()
    {
          $file = 'modules/leadpg/img/infograph.pdf';
          $filename = 'infografico-view-brasil-metodologia-de-sucesso.pdf';
          header('Content-type: application/pdf');
          header('Content-Disposition: inline; filename="' . $filename . '"');
          header('Content-Transfer-Encoding: binary');
          header('Accept-Ranges: bytes');
          @readfile($file);
    }
    
    
    //teste
    public function f79a705eac0b35b3860b0d661c769874()
    {
        $key = $this->uri->segment(4);
        $clique = $this->uri->segment(5);
        $url = $this->uri->segment(6)."/";
        
        for ($i = 7; $i <= $this->uri->total_segments(); $i++) {
             $url .= "/".$this->uri->segment($i);
        }
        echo "cq = $clique <br>";
        echo $url;
        $this->load->model('newsletter_model');
        $this->newsletter_model->clicou_email_campanha($key);
        //redirect($url);
    }






//########################################################### PMDB ##########################################################################################################################################
    
     private function array_presidentes() {
		$str = "1º - PRESIDENTE;
				4º - PRESIDENTE;
				PRESIDENTE - EXECUTIVA;
				PRESIDENTE - DIRETÓRIO;
				PRESIDENTE - COMISSAO EXECUTIVA;
				PRESIDENTE - COMISSÃO PROVISÓRIA;
				PRESIDENTE - E LÍDER DA BANCADA;
				PRESIDENTE - COMISSÃO DIRETORA REGIONAL PROVISÓRIA;
				PRESIDENTE - DA COMISSAO INTERVENTORA;
				PRESIDENTE - DA COMISSÃO PROVISÓRIA;
				PRESIDENTE - DA COMISSÃO INTERVENTORA;
				PRESIDENTE -  EM EXERCÍCIO;
				PRESIDENTE - EM EXERCICIO;
				PRESIDENTE - EXECUTIVA MUNICIPAL;
				PRESIDENTE COMISSÃO EXECUTIVA;
				PRESIDENTE - COMISSÃO EXECUTIVA;
				1º - PRESIDENTE - DA COMISSÃO PROVISÓRIA;
				1º - PRESIDENTE - DA COMISSÃO PROVISORIA;
				1º - PRESIDENTE - DA COMISSAO PROVISÓRIA;
				PRESIDENTE - COMISSÃO  EXECUTIVA;
				PRESIDENTE - DA COMISSÃO EXECUTIVA;
				PRESIDENTE - COMISSAO EXECUTIVA MUNICIPAL;
				1º - PRESIDENTE COMISSÃO EXECUTIVA;
				1º - PRESIDENTE - DA COMISSÃO PROVIÓRIA;
				1º - PRESIDENTE - DA COMISSAO PROVISORIA;
				1º - PRESIDENTE - DA COMISSÃO PROCISÓRIA;
				1º - PRESIDENTE - COMISSAO EXECUTIVA;
				1º - PRESIDENTE -  DA COMISSAO PROVISORIA;
				PRESIDENTE - DA COMMISSÃO EXECUTIVA;
				1º - PRESIDENTE - DA COMISSÃO EXECUTIVA;
				PRESIDENTE - COMISSAO PROVISORIA;
				PRESIDENTE - COMISSÃO PROVISORIA;
				PRESIDENTE - PROVISORIA;
				PRESIDENTE - E DELEGADO À CONVENÇÃO REGIONAL;
				PRESIDENTE - DELEGADO À CONVENÇÃO REGIONAL;
				PRESIDENTE -  E DELEGADO À CONVENÇÃO REGIONAL;
				PRESIDENTE - E SUPLENTE DE DELEGADO À CONVENÇÃO REGIONAL;
				PRESIDENTE - E DELEGADA À CONVENÇÃO REGIONAL;
				PRESIDENTE - E LIDER DA BANCADA;
				PRES. DE HONRA;
				2º - PRESIDENTE;
				PRESIDENTE - COMISSÃO PROVISÓRIA MUNICIPAL;
				PRESIDENTE - COMISSÃO EXECUTIVA MUNICIPAL;
				PRESIDENTE - COMISSÃ PROVISÓRIA MUNICIPAL;
				PRESIDENTE DE FORMAÇÃO POLITICA;
				PRESIDENTE - DA COMISSÃO PROVISORIA;
				PRESIDENTE - DA COMISSÃO PROVISSÓRIA;
				PRESIDENTE - DA COMISSÃO  EXECUTIVA;
				PRESIDENTE - PRESIDENTE EM EXERCICIO;
				PRESIDENTE - PRESIDENTE EM EXERCÍCIO;
				PRESIDENTE - EM EXERCÍCIO;
				PRESIDENTE - EM EXERCICO;
				PRESIDENTE - 3º DELEGADO;
				2º - PRESIDENTE - SUPLENTE DE DELEGADO;
				MEMBRO - PRESIDENTE;
				DIRETORIO - PRESIDENTE DA COMISSÃO EXECUTIVA;
				PRESIDENTE;
				4º - SECRETÁRIO-PRESIDENTE - COMISSÃO EXECUTIVA;
				PRESIDENTE - LICENCIADO;
				PRESIDENTE DA COMISSAO EXECUTIVA;
				PRESIDENTE - DO DIRETÓRIO MUNICIPAL;
				PRESIDENTE (COM. EXEC.);
				DIRETORIO - PRESIDENTE DA COMISSAO EXECUTIVA;
				PRESIDENTE DE HONRA;
				PRESIDENTE - PRESIDENTE EM LICENÇA ATÉ 15/10/2014;
				1º - TESOUREIRA;
                1º - TESOUREIRO;
                1º - TESOUREIRO - COMISSAO EXECUTIVA;
                1º - TESOUREIRO COMISSÃO EXECUTIVA;
                1º TESOUREIRO - DA COMISSÃO EXECUTIVA;
                1º TESOUREIRO(A);
                2º - TESOUREIRA;
                2º - TESOUREIRO;
                2º TESOUREIRO;
                4º - TESOUREIRO;
                5º - 2º TESOUREIRO;
                5º - TESOUREIRO;
                6º - TESOUREIRO;
                7º - 2º TESOUREIRO;
                9º - TESOUREIRO;
                DIRETORIO - TESOUREIRO;
                DIRETORIO - TESOUREIRO DA COMISSÃO EXECUTIVA;
                PRIMEIRA TESOUREIRA;
                TESOUREIRA;
                TESOUREIRA - COMISSÃO PROVISORIA;
                TESOUREIRA - DA COMISSÃO EXECUTIVA;
                TESOUREIRO;
                TESOUREIRO -;
                TESOUREIRO -  DA COMISSÃO EXECUTIVA;
                TESOUREIRO - COMISSÃO  EXECUTIVA;
                TESOUREIRO - COMISSÃO EXECUTIVA;
                TESOUREIRO - COMISSÃO EXECUTIVA MUNICIPAL;
                TESOUREIRO - COMISSÃO PROVISORIA;
                TESOUREIRO - COMISSÃO PROVISÓRIA MUNICIPAL;
                TESOUREIRO - DA COMISSÃO EXECUTIVA;
                TESOUREIRO - DA COMISSÃO PROVISÓRIA;
                TESOUREIRO - DA COMISSÃO PROVISSÓRIA;
                TESOUREIRO - DELEGADO À CONVENÇÃO REGIONAL;
                TESOUREIRO - DO CONSELHO DE ETICA E DISCIPLINA PARTIDARIA;
                TESOUREIRO - E DELEGADO;
                TESOUREIRO - E DELEGADO À CONVENÇÃO REGIONAL;
                TESOUREIRO - E LIDER DA BANCADA;
                TESOUREIRO - E SUPLENTE DE DELEGADO;
                TESOUREIRO - E SUPLENTE DE DELEGADO A CONVENCAO REGIONAL;
                TESOUREIRO ADJUNTO;
                Tesoureiro Adjunto - Comissão Executiva;
                TESOUREIRO COMISSÃO EXECUTIVA;
                TESOUREIRO GERAL;
                TESOUREIRO(A);
                TESOUREIRO(A) DO DIRETORIO;
                TESOUREIRO-GERAL;
                DIRETORIO - 1º TESOUREIRO DA COMISSÃO EXECUTIVA;
                DIRETORIO - 2º TESOUREIRO DA COMISSÃO EXECUTIVA;
                DIRETORIO - TESOUREIRA;
                DIRETORIO - TESOUREIRO DA COMISSÃO EXUTIVA;
                TESOUREIRO (COM. EXEC.);
                TESOUREIRO - COMISSAO EXECUTIVA";
		
		$array1 = explode ( ';', $str );
		
		foreach ( $array1 as $key => $value ) {
			$array1 [$key] = trim ( $value );
		}
		
		return $array1;
	}
	 
	private function array_tesoureiro() {
		$str = "1º - TESOUREIRA;
                1º - TESOUREIRO;
                1º - TESOUREIRO - COMISSAO EXECUTIVA;
                1º - TESOUREIRO COMISSÃO EXECUTIVA;
                1º TESOUREIRO - DA COMISSÃO EXECUTIVA;
                1º TESOUREIRO(A);
                2º - TESOUREIRA;
                2º - TESOUREIRO;
                2º TESOUREIRO;
                4º - TESOUREIRO;
                5º - 2º TESOUREIRO;
                5º - TESOUREIRO;
                6º - TESOUREIRO;
                7º - 2º TESOUREIRO;
                9º - TESOUREIRO;
                DIRETORIO - TESOUREIRO;
                DIRETORIO - TESOUREIRO DA COMISSÃO EXECUTIVA;
                PRIMEIRA TESOUREIRA;
                TESOUREIRA;
                TESOUREIRA - COMISSÃO PROVISORIA;
                TESOUREIRA - DA COMISSÃO EXECUTIVA;
                TESOUREIRO;
                TESOUREIRO -;
                TESOUREIRO -  DA COMISSÃO EXECUTIVA;
                TESOUREIRO - COMISSÃO  EXECUTIVA;
                TESOUREIRO - COMISSÃO EXECUTIVA;
                TESOUREIRO - COMISSÃO EXECUTIVA MUNICIPAL;
                TESOUREIRO - COMISSÃO PROVISORIA;
                TESOUREIRO - COMISSÃO PROVISÓRIA MUNICIPAL;
                TESOUREIRO - DA COMISSÃO EXECUTIVA;
                TESOUREIRO - DA COMISSÃO PROVISÓRIA;
                TESOUREIRO - DA COMISSÃO PROVISSÓRIA;
                TESOUREIRO - DELEGADO À CONVENÇÃO REGIONAL;
                TESOUREIRO - DO CONSELHO DE ETICA E DISCIPLINA PARTIDARIA;
                TESOUREIRO - E DELEGADO;
                TESOUREIRO - E DELEGADO À CONVENÇÃO REGIONAL;
                TESOUREIRO - E LIDER DA BANCADA;
                TESOUREIRO - E SUPLENTE DE DELEGADO;
                TESOUREIRO - E SUPLENTE DE DELEGADO A CONVENCAO REGIONAL;
                TESOUREIRO ADJUNTO;
                Tesoureiro Adjunto - Comissão Executiva;
                TESOUREIRO COMISSÃO EXECUTIVA;
                TESOUREIRO GERAL;
                TESOUREIRO(A);
                TESOUREIRO(A) DO DIRETORIO;
                TESOUREIRO-GERAL;
                DIRETORIO - 1º TESOUREIRO DA COMISSÃO EXECUTIVA;
                DIRETORIO - 2º TESOUREIRO DA COMISSÃO EXECUTIVA;
                DIRETORIO - TESOUREIRA;
                DIRETORIO - TESOUREIRO DA COMISSÃO EXUTIVA;
                TESOUREIRO (COM. EXEC.);
                TESOUREIRO - COMISSAO EXECUTIVA";
		
		$array1 = explode ( ';', $str );
		
		foreach ( $array1 as $key => $value ) {
			$array1 [$key] = trim ( $value );
		}
		
		return $array1;
	}
	

   
   public function relatorio_presidentes() {
		
	set_time_limit (500000000);
		$this->load->model ( 'newsletter_model' );
		$municipios = $this->newsletter_model->lista_municipios_pmdb();
	$array_stados = array(
            //'AC',
            //'AL',
            //'AP',
            //'AM',
            //'BA',
            //'CE',
            //'DF',
            //'ES',
            //'GO',
            //'MA',
            //'MT',
            //'MS',
            'MG',
            //'PA',
            //'PB',
            //'PR',
            //'PE',
            //'PI',
            //'RJ',
            //'RN',
            //'RS',
            //'RO',
            //'RR',
            //'SC',
            //'SP',
            //'SE',
            //'TO'
            );
		//$municipios = $this->newsletter_model->lista_municipios_pmdb_sem_email ();
		/*foreach($municipios as $municipio)
		{
		    //SELECT * FROM `tb_municipio_composicao` WHERE `id_municipio` = 5382  OR `id_municipio`  = 5383 OR `id_municipio` = 5384
		    echo "`id_municipio` = ".$municipio->id_municipio.' OR ';
		}
	    break;*/
		// $array_presidentes = $this->array_presidentes();
		$array_presidentes = $this->array_presidentes();//array_tesoureiro array_presidentes
	
		if ($municipios !== NULL) {
		    foreach($array_stados as $estado){
			$array_retorno = array ();
			$cont = 0;	
			foreach ( $municipios as $key => $municipio) {
			    
			    if ($municipio->uf == $estado && $cont < 499){
			        $cont++;
			    }
			    
				if ($municipio->uf == $estado && $cont >= 499){
				$cont++;
				$obj_municipio = new stdClass ();
	
				$obj_municipio->uf = $municipio->uf;
				$obj_municipio->municipio = $municipio->municipio;
				$obj_municipio->orgao = ($municipio->tipo_orgao == 1) ? "Diretório" : "Comissão Provisória";
				$obj_municipio->vigencia_ini = $municipio->vigencia_ini;
				$obj_municipio->vigencia_fim = $municipio->vigencia_fim;
				$obj_municipio->logradouro = $municipio->logradouro;
				$obj_municipio->bairro = $municipio->bairro;
				$obj_municipio->cep = $municipio->cep;
				$obj_municipio->telefone_1 = $municipio->telefone_1;
				$obj_municipio->telefone_2 = $municipio->telefone_2;
				$obj_municipio->celular_1 = $municipio->celular_1;
				$obj_municipio->celular_2 = $municipio->celular_2;
				$obj_municipio->email_1 = $municipio->email_1;
				$obj_municipio->cnpj = $municipio->cnpj;
	
				
				$array_retorno [$key] = array (
						$obj_municipio
				);
	
				$where = '';
	
				$result = $this->newsletter_model->lista_composicao_municipio ( $municipio->id_municipio );
	    
				if ($result !== NULL) {
					foreach ( $result as $value ) {
					    
					    
						if (array_search ( trim ( $value->cargo_1 ), $array_presidentes ) !== FALSE || array_search ( $value->cargo_2, $array_presidentes ) !== FALSE || array_search ( $value->cargo_3, $array_presidentes ) !== FALSE) 
						{
							$presidente = new stdClass ();
								
							$presidente->nome = $value->nome_completo;
							$presidente->cargo = '';
								
							if (array_search ( trim ( $value->cargo_1 ), $array_presidentes ) !== FALSE) {
								$presidente->cargo .= $value->cargo_1 . ' / ';
							}
							if (array_search ( trim ( $value->cargo_2 ), $array_presidentes ) !== FALSE) {
								$presidente->cargo .= $value->cargo_2 . ' / ';
							}
							if (array_search ( trim ( $value->cargo_3 ), $array_presidentes ) !== FALSE) {
								$presidente->cargo .= $value->cargo_3 . ' / ';
							}
							$presidente->cargo = substr ( $presidente->cargo, 0, - 2 );
								
							array_push ( $array_retorno [$key], $presidente );
						}
					}
				}
	
				   /*if($key == 5)
					 {
					 break;
					 } */
				  
			    }
			}
				
			 //var_dump($array_retorno);break;
				
			$this->_export_excel ( $array_retorno , $estado);
			//$this->_excel_novo ( $array_retorno );
		
		    }
		    }
	}
   
   
   private function _export_excel($municipios, $estado) {
		
		$columns = array (
				'UF',
				'Município',
				'Órgão',
				'Início Vigência',
				'Fim Vigência',
				'Endereço',
				'Bairro',
				'CEP',
				'Telefone',
				'Telefone',
				'Celular',
				'Celular',
				'E-mail',
				'CNPJ',
				'Cargo 1',
				'Nome 1',
				'Cargo 2',
				'Nome 2',
				'Cargo 3',
				'Nome 3' 
		);
		
		$string_to_export = "";
		foreach ( $columns as $column ) {
			$string_to_export .= $column . "\t";
		}
		$string_to_export .= "\n"; 
		
		 foreach ( $municipios as $municipio ) {
			
			$string_to_export .= html_entity_decode ( $this->_trim_export_string ( $municipio [0]->uf ) ) . "\t"; // quebra de coluna
			$string_to_export .= html_entity_decode ( $this->_trim_export_string ( $municipio [0]->municipio ) ) . "\t"; // quebra de coluna
			$string_to_export .= html_entity_decode ( $this->_trim_export_string ( $municipio [0]->orgao ) ) . "\t"; // quebra de coluna
			$string_to_export .= html_entity_decode ( $this->_trim_export_string ( $municipio [0]->vigencia_ini ) ) . "\t"; // quebra de coluna
			$string_to_export .= html_entity_decode ( $this->_trim_export_string ( $municipio [0]->vigencia_fim ) ) . "\t"; // quebra de coluna
			$string_to_export .= html_entity_decode ( $this->_trim_export_string ( $municipio [0]->logradouro ) ) . "\t"; // quebra de coluna
			$string_to_export .= html_entity_decode ( $this->_trim_export_string ( $municipio [0]->bairro ) ) . "\t"; // quebra de coluna
			$string_to_export .= html_entity_decode ( $this->_trim_export_string ( $municipio [0]->cep ) ) . "\t"; // quebra de coluna
			$string_to_export .= html_entity_decode ( $this->_trim_export_string ( $municipio [0]->telefone_1 ) ) . "\t"; // quebra de coluna
			$string_to_export .= html_entity_decode ( $this->_trim_export_string ( $municipio [0]->telefone_2 ) ) . "\t"; // quebra de coluna
			$string_to_export .= html_entity_decode ( $this->_trim_export_string ( $municipio [0]->celular_1 ) ) . "\t"; // quebra de coluna
			$string_to_export .= html_entity_decode ( $this->_trim_export_string ( $municipio [0]->celular_2 ) ) . "\t"; // quebra de coluna
			$string_to_export .= html_entity_decode ( $this->_trim_export_string ( $municipio [0]->email_1 ) ) . "\t"; // quebra de coluna
			$string_to_export .= html_entity_decode ( $this->_trim_export_string ( $municipio [0]->cnpj ) ) . "\t"; // quebra de coluna
			
			(isset ( $municipio [1] )) ? $presidente1 = $municipio [1] : $presidente1 = NULL;
			(isset ( $municipio [2] )) ? $presidente2 = $municipio [2] : $presidente2 = NULL;
			(isset ( $municipio [3] )) ? $presidente3 = $municipio [3] : $presidente3 = NULL;
			
			if ($presidente1 !== NULL) {
				$string_to_export .= html_entity_decode ( $this->_trim_export_string ( $presidente1->cargo ) ) . "\t"; // quebra de coluna
				$string_to_export .= html_entity_decode ( $this->_trim_export_string ( $presidente1->nome ) ) . "\t"; // quebra de coluna
			}
			if ($presidente2 !== NULL) {
				$string_to_export .= html_entity_decode ( $this->_trim_export_string ( $presidente2->cargo ) ) . "\t"; // quebra de coluna
				$string_to_export .= html_entity_decode ( $this->_trim_export_string ( $presidente2->nome ) ) . "\t"; // quebra de coluna
			}
			if ($presidente3 !== NULL) {
				$string_to_export .= html_entity_decode ( $this->_trim_export_string ( $presidente3->cargo ) ) . "\t"; // quebra de coluna
				$string_to_export .= html_entity_decode ( $this->_trim_export_string ( $presidente3->nome ) ) . "\t"; // quebra de coluna
			}
			
			$string_to_export .= "\n"; // quebra de linha
		}  
		
		// var_dump($string_to_export);break;
		
		// Convert to UTF-16LE and Prepend BOM
		
		$string_to_export = "\xFF\xFE".mb_convert_encoding($string_to_export, 'UTF-16LE', 'UTF-8');
		
		
		// $string_to_export = "\xFF\xFE" .mb_convert_encoding($string_to_export, 'UTF-16LE', 'UTF-8');
		
		$filename = $estado."-municipios-".date("d/m/Y_H:i:s").".csv";
		
		header('Content-type: application/vnd.ms-excel;charset=UTF-16LE');
		
		header('Content-Disposition: attachment; filename='.$filename);
		header("Cache-Control: no-cache");
		echo $string_to_export;
		die();
	}
   
   
   
   private function _trim_export_string($value) {
		$value = str_replace ( array (
				"&nbsp;",
				"&amp;",
				"&gt;",
				"&lt;" 
		), array (
				" ",
				"&",
				">",
				"<" 
		), $value );
		return strip_tags ( str_replace ( array (
				"\t",
				"\n",
				"\r" 
		), "", $value ) );
	}
   
   
   
   
   
   






}