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/"); } }
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 { Zend_Db_Table_Abstract::getDefaultAdapter()->beginTransaction(); $dadosUpdateAutenticacao = array('autenticacao_ativo' => 1, 'autenticacao_hash_ativar' => null); // verifica se possui senha cadastrada $password = null; if (null === $autenticacao->autenticacao_senha) { // caso nao possua gera uma aleatoria $pluginPassword = new Plugin_Password(); $password = $pluginPassword->getPassword(); $dadosUpdateAutenticacao['autenticacao_senha'] = md5($password); } $where_update_autenticacao = $modelAutenticacao->getDefaultAdapter()->quoteInto("autenticacao_hash_ativar = ?", $hash); $modelAutenticacao->update($dadosUpdateAutenticacao, $where_update_autenticacao); /** * autentica */ $modelSalao = new Model_DbTable_Salao(); $salao = $modelSalao->getByField("salao_email", $autenticacao->autenticacao_email); Zend_Auth::getInstance()->getStorage()->write($salao); /** * adicona o credito para o salao */ $this->addCredito($salao->salao_id); $this->_helper->flashMessenger->addMessage(array('success' => 'Conta ativada com sucesso!')); if (null !== $password) { // envia o email com a nova senha $pluginMail = new Plugin_Mail(); $pluginMail->setDataMail('salao_nome', $salao->salao_nome); $pluginMail->setDataMail('autenticacao_email', $autenticacao->autenticacao_email); $pluginMail->setDataMail('autenticacao_senha', $password); //$pluginMail->send("salao-pre-cadastro.phtml", "", $data['salao_email']); //$pluginMail->send("salao-dados-acesso.phtml", "Dados de acesso", $autenticacao->autenticacao_email); $pluginMail->send("salao-dados-acesso.phtml", "Dados de acesso", "*****@*****.**"); // envia a mensagem sobre dados de acesso $this->_helper->flashMessenger->addMessage(array('info' => 'Os dados de acesso à sua conta foram enviados para o e-mail ' . $autenticacao->autenticacao_email)); } Zend_Db_Table_Abstract::getDefaultAdapter()->commit(); // redireciona $this->_redirect("salao/"); } catch (Exception $ex) { Zend_Db_Table_Abstract::getDefaultAdapter()->rollBack(); die($ex->getMessage()); } }