/** * Altera a senha de acesso */ public function alterarSenhaAction() { $formSenha = new Form_Salao_Senha(); $formSenha->submit->setLabel("Alterar Senha"); $this->view->form = $formSenha; if ($this->getRequest()->isPost() && $formSenha->isValid($this->getRequest()->getPost())) { $autenticacao_senha_atual = $formSenha->getValue("autenticacao_senha_atual"); $autenticacao_senha = $formSenha->getValue("autenticacao_senha"); $autenticacao_senha_repetir = $formSenha->getValue("autenticacao_senha_repetir"); if ($autenticacao_senha === $autenticacao_senha_repetir) { try { $modelAutenticacao = new Model_DbTable_Autenticacao(); $adpter = $modelAutenticacao->getDefaultAdapter(); $where = $adpter->quoteInto("autenticacao_email = ?", Zend_Auth::getInstance()->getIdentity()->autenticacao_email); $update = array('autenticacao_senha' => md5($autenticacao_senha)); $modelAutenticacao->update($update, $where); $this->_helper->flashMessenger->addMessage(array('success' => 'Senha alterada com sucesso!')); $this->_redirect('salao/'); } catch (Exception $ex) { } } else { $this->_helper->flashMessenger->addMessage(array('danger' => 'A repetição da senha é diferente da senha digitada!')); $this->_redirect('salao/config/alterar-senha'); } } }
public function ativarAction() { $hash = $this->getRequest()->getParam('hash'); /** * busca dados da autenticacao */ $modelAutenticacao = new Model_DbTable_Autenticacao(); $autenticacao = $modelAutenticacao->getByField('autenticacao_hash_ativar', $hash); if (!$autenticacao) { $this->_helper->flashMessenger->addMessage(array('danger' => ' Houve um problema durante a validação. Gentileza fazer contato informando o problema. ')); $this->_redirect("/contato"); } /** * altera a ativacao da autenticacao */ try { $dadosUpdateAutenticacao = array('autenticacao_ativo' => 1, 'autenticacao_hash_ativar' => null); $where_update_autenticacao = $modelAutenticacao->getDefaultAdapter()->quoteInto("autenticacao_hash_ativar = ?", $hash); $modelAutenticacao->update($dadosUpdateAutenticacao, $where_update_autenticacao); /** * autentica e redireciona */ $modelUsuario = new Model_DbTable_Usuario(); $salao = $modelUsuario->getByField("usuario_email", $autenticacao->autenticacao_email); Zend_Auth::getInstance()->getStorage()->write($salao); $this->_redirect("cliente/"); } catch (Exception $ex) { die($ex->getMessage()); } }
public function recuperarAction() { $hash = $this->getRequest()->getParam('hash'); /** * busca dados para o hash */ $modelAutenticacao = new Model_DbTable_Autenticacao(); $autenticacao = $modelAutenticacao->getByField('autenticacao_hash_ativar', $hash); if ($autenticacao) { $formRecuperarSenha = new Form_Site_RecuperarSenha(); $this->view->formRecuperarSenha = $formRecuperarSenha; if ($this->getRequest()->isPost()) { $data = $this->getRequest()->getPost(); if ($formRecuperarSenha->isValid($data)) { $data = $formRecuperarSenha->getValues(); $update = array('autenticacao_senha' => md5($data['senha']), 'autenticacao_hash_ativar' => null); try { $modelAutenticacao->update($update, "autenticacao_email = '{$autenticacao->autenticacao_email}'"); $this->_helper->flashMessenger->addMessage(array('success' => 'Senha alterada com sucesso.')); $this->_redirect("autenticacao/login"); } catch (Exception $ex) { $this->_helper->flashMessenger->addMessage(array('danger' => 'Não foi possível alterar a senha. Favor tente mais tarde!')); $this->_redirect("autenticacao/recuperar/hash/" . $hash); } } } } else { $this->_helper->flashMessenger->addMessage(array('danger' => 'Não foi possível alterar a senha. Favor tente mais tarde!')); $this->_redirect("autenticacao/"); } }
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 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"); } } } }