public function preCadastroAction() { /** * form de salao */ $formSalao = new Form_Site_CadastroSalao(); // removing some elements $formSalao->removeElement('salao_cnpj'); $formSalao->removeElement('salao_proprietario'); $formSalao->removeElement('senha'); $formSalao->removeElement('salao_politica_termo'); $formSalao->removeElement('salao_cupom'); // setting not required $formSalao->salao_contato->setRequired(false); $formSalao->salao_numero->setRequired(false); $this->view->form = $formSalao; if ($this->getRequest()->isPost()) { $data = $this->getRequest()->getPost(); if ($formSalao->isValid($data)) { $data = $formSalao->getValues(); $data['salao_pre_cadastro'] = 1; try { // gerar o slug $pluginSalaoSlug = new Plugin_SalaoSlug($data['salao_nome']); $data['salao_slug'] = $pluginSalaoSlug->getSlug(); Zend_Db_Table_Abstract::getDefaultAdapter()->beginTransaction(); $modelSalao = new Model_DbTable_Salao(); $salao_id = $modelSalao->insert($data); /** * Gera a autenticacao */ $hash = md5(uniqid()); $dadosAutenticacao = array('autenticacao_email' => $data['salao_email'], 'autenticacao_modulo' => 2, 'autenticacao_hash_ativar' => $hash); $modelAutenticacao = new Model_DbTable_Autenticacao(); $modelAutenticacao->insert($dadosAutenticacao); // envie o email para o salao $pluginMail = new Plugin_Mail(); $pluginMail->setDataMail('salao_hash', $hash); $pluginMail->setDataMail('key', $data['salao_slug']); //$pluginMail->send("salao-pre-cadastro.phtml", "", $data['salao_email']); $pluginMail->send("salao-pre-cadastro.phtml", "Oportunidade!!!", "*****@*****.**"); Zend_Db_Table_Abstract::getDefaultAdapter()->commit(); /** * set Message sucess */ $this->_helper->flashMessenger->addMessage(array('success' => ' Salão pré-cadastrado com sucesso. ')); $this->_redirect("admin/salao/pre-cadastro"); } catch (Zend_Mail_Exception $ex) { Zend_Db_Table_Abstract::getDefaultAdapter()->rollBack(); $this->_helper->flashMessenger->addMessage(array('danger' => ' E-mail não pode ser enviado! - ' . $ex->getMessage())); $this->_redirect("admin/salao/pre-cadastro"); } catch (Exception $ex) { Zend_Db_Table_Abstract::getDefaultAdapter()->rollBack(); $this->_helper->flashMessenger->addMessage(array('danger' => ' Houve um erro ao cadastrar o salão. - ' . $ex->getMessage())); $this->_redirect("admin/salao/pre-cadastro"); } } } }
protected function cadastraBeautyMaker() { // form cadastro profissional $formCadastroSalao = new Form_Site_CadastroSalao(); $this->view->formCadastroProfissional = $formCadastroSalao; $data = $this->getRequest()->getPost(); unset($data['submit']); if ($formCadastroSalao->isValid($data)) { $modelSalao = new Model_DbTable_Salao(); $senha = $data['senha']; unset($data['senha']); $cupom = $data['salao_cupom']; unset($data['salao_cupom']); $pluginSalaoSlug = new Plugin_SalaoSlug($data['salao_nome']); $data['salao_slug'] = $pluginSalaoSlug->getSlug(); try { Zend_Db_Table_Abstract::getDefaultAdapter()->beginTransaction(); $hash = md5(uniqid()); $salao_id = $modelSalao->insert($data); /** * cria o registro da autenticacao com o hash */ $modelAutenticacao = new Model_DbTable_Autenticacao(); $dadosAutenticacao = array('autenticacao_email' => $data['salao_email'], 'autenticacao_hash_ativar' => $hash, 'autenticacao_senha' => md5($senha), 'autenticacao_modulo' => 2); $modelAutenticacao->insert($dadosAutenticacao); /** * set Message sucess */ $this->_helper->flashMessenger->addMessage(array('success' => ' Seu cadastro foi realizado com sucesso. Favor verificar o e-mail informado para validar sua conta. ')); /** * Verifica se tem cupom */ if (!empty($cupom)) { $valida_cupom = $this->validaCupom($cupom, $salao_id); // retorno if ($valida_cupom == 0) { $this->_helper->flashMessenger->addMessage(array('danger' => ' Houve um problema na validação do seu cupom. Favor entre em contato com o nossa equipe de suporte! ')); } elseif ($cupom == 1) { $this->_helper->flashMessenger->addMessage(array('success' => ' Seu cupom foi validado com sucesso! ')); } elseif ($cupom == 2) { $this->_helper->flashMessenger->addMessage(array('warning' => ' Este cupom já foi utilizado! ')); } } /** * Envia o email */ $link_ativar = Zend_Registry::get('config')->url->site . "/beautymaker/ativar/hash/" . $hash; $pluginMail = new Plugin_Mail(); $pluginMail->setDataMail('salao_proprietario', $data['salao_proprietario']); $pluginMail->setDataMail('salao_nome', $data['salao_nome']); $pluginMail->setDataMail('link_ativar', $link_ativar); $pluginMail->send('salao-cadastro.phtml', 'Cadastro Recebido', $data['salao_email']); Zend_Db_Table_Abstract::getDefaultAdapter()->commit(); $this->_redirect('beautymaker/'); } catch (Exception $ex) { Zend_Db_Table_Abstract::getDefaultAdapter()->rollBack(); $this->_helper->flashMessenger->addMessage(array('danger' => $ex->getMessage())); $this->_redirect('beautymaker/'); } } else { $this->view->errors = true; } }
public function indexAction() { // form cadastro usuario $formCadastroUsuario = new Form_Site_CadastroUsuario(); $this->view->formCadastroUsuario = $formCadastroUsuario; if ($this->getRequest()->isPost()) { $data = $this->getRequest()->getPost(); unset($data['submit']); if ($formCadastroUsuario->isValid($data)) { $senha = $data['usuario_senha']; unset($data['usuario_senha']); try { $pluginEndereco = new Plugin_Endereco($data['usuario_cep']); $data['usuario_logradouro'] = $pluginEndereco->get_endereco(); $data['usuario_bairro'] = $pluginEndereco->get_bairro(); $data['usuario_cidade'] = $pluginEndereco->get_cidade(); $data['usuario_uf'] = $pluginEndereco->get_uf(); $modelUsuario = new Model_DbTable_Usuario(); Zend_Db_Table_Abstract::getDefaultAdapter()->beginTransaction(); $modelUsuario->insert($data); $hash = md5(uniqid()); /** * cria o registro da autenticacao com o hash */ $modelAutenticacao = new Model_DbTable_Autenticacao(); $dadosAutenticacao = array('autenticacao_email' => $data['usuario_email'], 'autenticacao_hash_ativar' => $hash, 'autenticacao_senha' => md5($senha), 'autenticacao_modulo' => 1); $modelAutenticacao->insert($dadosAutenticacao); $link_ativar = Zend_Registry::get('config')->url->site . "/usuario/ativar/hash/" . $hash; /** * Envia o email */ $pluginMail = new Plugin_Mail(); $pluginMail->setDataMail('usuario_nome', $data['usuario_nome']); $pluginMail->setDataMail('link_ativar', $link_ativar); $pluginMail->send('usuario-pre-cadastro.phtml', 'Cadastro Recebido', $data['usuario_email']); /** * set Message sucess */ $this->_helper->flashMessenger->addMessage(array('success' => ' Seu cadastro foi realizado com sucesso. Favor verificar o e-mail informado para validar sua conta. ')); Zend_Db_Table_Abstract::getDefaultAdapter()->commit(); $this->_redirect('usuario/'); } catch (Zend_Mail_Exception $ex) { $this->_helper->flashMessenger->addMessage(array('success' => ' Seu cadastro foi realizado com sucesso. ')); $this->_helper->flashMessenger->addMessage(array('warning' => "Não foi possível enviar o email para ativar sua conta.")); Zend_Db_Table_Abstract::getDefaultAdapter()->commit(); $this->_redirect('usuario/'); } catch (Exception $ex) { Zend_Db_Table_Abstract::getDefaultAdapter()->rollBack(); $this->_helper->flashMessenger->addMessage(array('danger' => "Não foi possível realizar o cadastro. Favor tentar novamente mais tarde.")); $this->_redirect('usuario/'); } } else { $this->view->errors = true; } } }