public function indexAction() { $formBuscaCepAviso = new Form_Site_BuscaCepAviso(); $this->view->formBuscaCepAviso = $formBuscaCepAviso; $cep_busca = $this->getRequest()->getParam("cep_busca", false); if ($cep_busca) { $cep = $this->getRequest()->getParam('cep_busca'); $busca_cep_id = $this->gravaBuscaCep($cep); $formBuscaCepAviso->busca_id->setValue($busca_cep_id); try { /** * encontra o endereco */ $pluginEndereco = new Plugin_Endereco($cep); $this->view->pluginEndereco = $pluginEndereco; if (!$pluginEndereco->get_endereco_object()) { die('erro'); } /** * faco a busca */ $modelSalao = new Model_DbTable_Salao(); $saloes = $modelSalao->buscaSaloes($pluginEndereco); /** * caso nao tenha nenhum salao no bairro pesquisa na cidade */ $this->view->saloes_cidade = $modelSalao->buscaSaloesCidade($pluginEndereco); $this->view->saloes = $saloes; /** * outros dados para a view */ $this->view->cep = $cep; $this->view->endereco = $pluginEndereco->__toString(); /** * atualiza os registros da busca */ if (Zend_Auth::getInstance()->hasIdentity() && isset(Zend_Auth::getInstance()->getIdentity()->usuario_id)) { $busca_email = Zend_Auth::getInstance()->getIdentity()->usuario_email; } else { $busca_email = null; } $dadosAtualizaBusca = array('busca_registros' => $saloes->count(), 'busca_email' => $busca_email, 'busca_cidade' => $pluginEndereco->get_cidade(), 'busca_estado' => $pluginEndereco->get_uf(), 'busca_mobile' => $this->mobileDetect->isMobile() ? 1 : 0); $this->atualizaBuscaCep($busca_cep_id, $dadosAtualizaBusca); } catch (Exception $ex) { /** * atualiza a busca */ $dadosAtualizaBusca = array("busca_valida" => 0); $this->atualizaBuscaCep($busca_cep_id, $dadosAtualizaBusca); $this->_helper->flashMessenger->addMessage(array('danger' => $ex->getTraceAsString())); $this->_redirect("busca/"); } } }