public function indexAction() { // numero da semana anterior $zendDate = new Zend_Date(); $semana = $zendDate->get(Zend_Date::WEEK) - 1; $dia_semana = $zendDate->get(Zend_Date::WEEKDAY_DIGIT); $zendDate->subDay(7); $dia_semana_inicio = $dia_semana - 1; $dia_semana_fim = 7 - $dia_semana; $periodo_inicial = $zendDate->subDay($dia_semana_inicio)->get("dd/MM/YYYY"); $periodo_final = $zendDate->addDay($dia_semana_fim)->get('dd/MM/YYYY'); $periodo = $periodo_inicial . ' à ' . $periodo_final; // busca as visualizacoes da semana $modelSalaoVisualizacao = new Model_DbTable_SalaoVisualizacao(); $visualizacoes = $modelSalaoVisualizacao->visualizacoes($semana); try { foreach ($visualizacoes as $visualizacao) { $pluginMail = new Plugin_Mail(); $pluginMail->setDataMail('visualizacao', $visualizacao); $pluginMail->setDataMail('periodo', $periodo); $pluginMail->send("salao-visualizacao.phtml", "Relatório de Visualizações", $visualizacao->salao_email); } echo 'emails enviados'; } catch (Zend_Mail_Exception $ex) { die('email'); } catch (Exception $ex) { Zend_Debug::dump($ex->getMessage()); } }
public function indexAction() { try { $pluginMail = new Plugin_Mail(); $pluginMail->send('padrao.phtml', 'Email teste', '*****@*****.**'); echo 'enviado'; } catch (Zend_Mail_Exception $ex) { echo $ex->getMessage(); } }
public function indexAction() { $formSiteContato = new Form_Site_Contato(); $this->view->formContato = $formSiteContato; if ($this->getRequest()->isPost()) { $data = $this->getRequest()->getPost(); if ($formSiteContato->isValid($data)) { $data = $formSiteContato->getValues(); try { $modelContato = new Model_DbTable_Contato(); $modelContato->insert($data); /** * Envia o email */ $pluginMail = new Plugin_Mail(); $pluginMail->setDataMail('contato_nome', $data['contato_nome']); $pluginMail->send('contato-retorno.phtml', 'Contato Recebido', $data['contato_email']); /** * Envia o email administracao */ $pluginMail = new Plugin_Mail(); $pluginMail->setDataMail('contato_nome', $data['contato_nome']); $pluginMail->setDataMail('contato_email', $data['contato_email']); $pluginMail->setDataMail('contato_mensagem', $data['contato_mensagem']); $pluginMail->send('contato-admin.phtml', 'Novo Contato', Zend_Registry::get("config")->mail->mail_admin); $this->_helper->flashMessenger->addMessage(array('success' => 'Contato enviado com sucesso!')); $this->_helper->flashMessenger->addMessage(array('info' => 'Em breve entraremos em contato. Obrigado.')); $this->_redirect('contato/'); } catch (Zend_Mail_Exception $ex) { $this->_helper->flashMessenger->addMessage(array('success' => 'Contato enviado com sucesso!')); $this->_helper->flashMessenger->addMessage(array('info' => 'Em breve entraremos em contato. Obrigado.')); $this->_redirect('contato/'); } catch (Exception $ex) { die($ex->getMessage()); } } } }
public function esqueciAction() { $formEsqueci = new Form_Site_EsqueciSenha(); $this->view->formEsqueci = $formEsqueci; if ($this->getRequest()->isPost()) { $data = $this->getRequest()->getPost(); if ($formEsqueci->isValid($data)) { $data = $formEsqueci->getValues(); /** * verifica se esta cadastrado */ $modelAutenticacao = new Model_DbTable_Autenticacao(); $autenticacao = $modelAutenticacao->getByField('autenticacao_email', $data['email']); if ($autenticacao) { try { Zend_Db_Table_Abstract::getDefaultAdapter()->beginTransaction(); /** * gerar um hash para alterar a conta */ $hash = md5(uniqid()); /** * altera os dados do acesso */ $update = array('autenticacao_hash_ativar' => $hash); $modelAutenticacao->update($update, "autenticacao_email = '{$data['email']}'"); /** * envia o email com o link */ $link_recuperar = Zend_Registry::get('config')->url->site . "autenticacao/recuperar/hash/" . $hash; $pluginMail = new Plugin_Mail(); $pluginMail->setDataMail('link_recuperar', $link_recuperar); $pluginMail->send('alterar-senha.phtml', 'Alterar Senha', $data['email']); $this->_helper->flashMessenger->addMessage(array('success' => 'Acesse o email informado para alterar sua senha')); Zend_Db_Table_Abstract::getDefaultAdapter()->commit(); } catch (Zend_Mail_Exception $ex) { $this->_helper->flashMessenger->addMessage(array('danger' => "Não foi possível enviar o email para redefinir sua senha. Por favor tente mais tarde. ")); Zend_Db_Table_Abstract::getDefaultAdapter()->rollBack(); } catch (Exception $ex) { $this->_helper->flashMessenger->addMessage(array('danger' => $ex->getMessage())); Zend_Db_Table_Abstract::getDefaultAdapter()->rollBack(); } $this->_redirect("autenticacao/esqueci"); } else { $this->_helper->flashMessenger->addMessage(array('warning' => 'Este email não está cadastrado em nossa base!')); $this->_helper->flashMessenger->addMessage(array('info' => 'Aproveite e faça o seu cadastro conosco!')); $this->_redirect("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 cancelarAction() { $agenda_id = $this->getRequest()->getParam('id'); $agenda_id = $this->getRequest()->getParam('id'); if (!$agenda_id) { $this->_helper->flashMessenger->addMessage(array('danger' => "Agendamento não encontrado!")); $this->_redirect("cliente/"); } /** * busca dados do agendamento */ $modelAgenda = new Model_DbTable_Agenda(); $agenda = $modelAgenda->getById($agenda_id); /** * Verifica se o agendamento e do usuario logado */ if ($agenda->usuario_id !== Zend_Auth::getInstance()->getIdentity()->usuario_id) { $this->_helper->flashMessenger->addMessage(array('danger' => "<strong>Acesso negado!</strong> Você não pode alterar este agendamento!")); $this->_redirect("cliente/"); } /** * verifica se pode alterar a data */ $modelConfig = new Model_DbTable_Config(); $prazoCancelamento = $modelConfig->getBySlug('prazo_alterar_agendamento'); $zendDateNow = new Zend_Date(); $zendDateAgenda = new Zend_Date($agenda->agenda_data); if (!$zendDateNow->isEarlier($zendDateAgenda->subHour($prazoCancelamento->config_valor))) { $this->_helper->flashMessenger->addMessage(array('warning' => "<strong>Atenção!</strong> O prazo para alterar este agendamento já expirou!")); $this->_redirect("cliente/"); } $this->view->agenda = $agenda; /** * form de motivo */ $formMotivo = new Form_Salao_AgendaManualCancelamento(); $formMotivo->submit->setLabel("Cancelar Agendamento"); $this->view->formMotivo = $formMotivo; if ($this->getRequest()->isPost()) { $data = $this->getRequest()->getPost(); if ($formMotivo->isValid($data)) { $agenda_cancelado_motivo = $formMotivo->getValue('agenda_cancelado_motivo'); try { Zend_Db_Table_Abstract::getDefaultAdapter()->beginTransaction(); $update = array('agenda_cancelado' => 1, 'agenda_cancelado_autor' => 'Cliente', 'agenda_cancelado_usuario' => 1, 'agenda_cancelado_motivo' => $agenda_cancelado_motivo, 'agenda_cancelado_data' => Zend_Date::now()->get('YYYY-MM-dd H:m')); $modelAgenda->updateById($update, $agenda_id); /** * envia o email de confirmacao (cliente) */ $pluginMail = new Plugin_Mail(); $pluginMail->setDataMail('agenda', $agenda); $pluginMail->setDataMail('agenda_cancelado_motivo', $agenda_cancelado_motivo); $pluginMail->send('cliente-agendamento-cancelar.phtml', 'Agendamento Cancelado', Zend_Auth::getInstance()->getIdentity()->usuario_email); /** * envia o email de confirmacao (salao) */ $pluginMail2 = new Plugin_Mail(); $pluginMail2->setDataMail('agenda', $agenda); $pluginMail2->setDataMail('agenda_cancelado_motivo', $agenda_cancelado_motivo); $pluginMail2->send('salao-agendamento-cancelar.phtml', 'Agendamento Cancelado', $agenda->salao_email); Zend_Db_Table_Abstract::getDefaultAdapter()->commit(); // retira a cobranca do salao $pluginCobranca = new Plugin_Cobranca($agenda); $pluginCobranca->retirar(); $this->_helper->flashMessenger->addMessage(array('success' => 'Agendamento cancelado com sucesso.')); $this->_redirect("cliente/"); } catch (Zend_Mail_Exception $ex) { Zend_Db_Table_Abstract::getDefaultAdapter()->commit(); $this->_helper->flashMessenger->addMessage(array('success' => 'Agendamento cancelado com sucesso.')); $this->_helper->flashMessenger->addMessage(array('warning' => 'Não foi possível enviar o e-mail de confirmação.')); $this->_redirect("cliente/"); } catch (Exception $ex) { Zend_Db_Table_Abstract::getDefaultAdapter()->rollBack(); $this->_helper->flashMessenger->addMessage(array('danger' => 'Não foi possível cancelar o agendamento. Tente novamente mais tarde. - ' . $ex->getMessage())); $this->_redirect("cliente/"); } } } }
public function noshowAction() { $this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(); $agenda_id = $this->getRequest()->getParam("agenda"); // busca dados do agendamento $modelAgenda = new Model_DbTable_Agenda(); $agenda = $modelAgenda->getById($agenda_id); //Zend_Debug::dump($agenda); die(); // verifica se pode dar no show if (!$agenda || $agenda->salao_id !== Zend_Auth::getInstance()->getIdentity()->salao_id) { $this->_helper->flashMessenger->addMessage(array("danger" => "Ação não permitida!")); $this->_redirect("salao/"); } //caso ja tenha sido dado no-show if ($agenda->agenda_noshow) { $this->_helper->flashMessenger->addMessage(array("warning" => "No-show já efetuado para este agendamento!")); $this->_redirect("salao/"); } try { Zend_Db_Table_Abstract::getDefaultAdapter()->beginTransaction(); // atualizar a tabela $modelAgenda->updateById(array("agenda_noshow" => 1), $agenda_id); // enviar email para cliente $PluginMail = new Plugin_Mail(); $PluginMail->setDataMail("agenda", $agenda); $PluginMail->send("cliente-noshow.phtml", "No-show", $agenda->usuario_email); // gravar notificacao $insertNotificacao = array("autenticacao_email" => $agenda->usuario_email, "notificacao_mensagem" => "No-show para um agendamento", "notificacao_link" => "#"); $pluginNotificacao = new Plugin_Notificacao(); $pluginNotificacao->gravar($insertNotificacao); $this->_helper->flashMessenger->addMessage(array("success" => "No-show realizado!")); Zend_Db_Table_Abstract::getDefaultAdapter()->commit(); } catch (Exception $ex) { $this->_helper->flashMessenger->addMessage(array("danger" => "Houve um problema - " . $ex->getMessage())); Zend_Db_Table_Abstract::getDefaultAdapter()->rollBack(); } $this->_redirect("salao/"); }
public function sendAction() { die("11"); // 实例化邮件类 $sendMail = new Plugin_Mail(); // 发送邮件 $headers['Subject'] = '123123'; $test = $sendMail->send('*****@*****.**', $headers, '2222'); var_dump($test); die("sdf"); }
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"); } } } }
public function agendarAction() { $especialidade_id = $this->getRequest()->getParam('especialidade'); $this->view->especialidade_id = $especialidade_id; $salao_id = $this->getRequest()->getParam('salao'); /** * Verifica se o usuario esta logado */ if (!Zend_Auth::getInstance()->hasIdentity() || !isset(Zend_Auth::getInstance()->getIdentity()->usuario_id)) { $this->_helper->flashMessenger->addMessage(array('info' => 'Por favor faça o login para agendar seu horário.')); $this->_redirect("autenticacao/login/salao/{$salao_id}/especialidade/{$especialidade_id}"); } /** * Busca dados do salao */ $modelSalao = new Model_DbTable_Salao(); $salao = $modelSalao->getById($salao_id); $this->view->salao = $salao; /** * Busca dados das especialidades */ $modelEspecialidade = new Model_DbTable_Especialidade(); $especialidade = $modelEspecialidade->getById($especialidade_id); $this->view->especialidade = $especialidade; /** * Busca o preco da especialidade */ $modelEspecialidadePreco = new Model_DbTable_EspecialidadePreco(); $precoEspecialidade = $modelEspecialidadePreco->getPrecoEspecialidadeSalao($especialidade_id, $salao_id); $this->view->precoEspecialidade = $precoEspecialidade; /** * form agendamento */ $formAgendar = new Form_Site_Agendar(); $this->view->formAgendar = $formAgendar; if ($this->getRequest()->isPost()) { $data = $this->getRequest()->getPost(); if ($formAgendar->isValid($data)) { $data = $formAgendar->getValues(); $data['agenda_data'] = App_Helper_Date::getDateDb($data['agenda_data']) . " " . $data['agenda_hora']; unset($data['agenda_hora']); if (empty($data['profissional_beleza_id'])) { $data['profissional_beleza_id'] = null; } //Zend_Debug::dump($data); die(); try { Zend_Db_Table_Abstract::getDefaultAdapter()->beginTransaction(); $modelAgenda = new Model_DbTable_Agenda(); $agenda_id = $modelAgenda->insert($data); /** * Busca os dados completo do agendamento para enviar o email */ $agenda = $modelAgenda->getById($agenda_id); /** * Grava uma notificacao para o salao */ $insertNotificacao = array('autenticacao_email' => $salao->salao_email, 'notificacao_mensagem' => 'Novo Agendamento pendente de confirmação', 'notificacao_link' => Zend_Registry::get('config')->url->site . "salao/agenda/confirmar/"); $pluginNotificacao = new Plugin_Notificacao(); $pluginNotificacao->gravar($insertNotificacao); /** * envia o email de confirmacao (cliente) */ $pluginMail = new Plugin_Mail(); $pluginMail->setDataMail('agenda', $agenda); $pluginMail->send('cliente-agendamento.phtml', 'Agendamento Realizado', Zend_Auth::getInstance()->getIdentity()->usuario_email); /** * envia o email de confirmacao (salao) */ $url_login = Zend_Registry::get('config')->url->login; $pluginMail2 = new Plugin_Mail(); $pluginMail2->setDataMail('url_login', $url_login); $pluginMail2->setDataMail('agenda', $agenda); $pluginMail2->send('salao-agendamento.phtml', 'Novo Agendamento Realizado', $agenda->salao_email); $this->_helper->flashMessenger->addMessage(array('success' => 'Agendamento realizado com sucesso!')); $this->_helper->flashMessenger->addMessage(array('warning' => 'Aguarde a confirmação do seu agendamento pelo estabelecimento!')); Zend_Db_Table_Abstract::getDefaultAdapter()->commit(); } catch (Zend_Mail_Exception $ex) { $this->_helper->flashMessenger->addMessage(array('success' => 'Agendamento realizado com sucesso!')); $this->_helper->flashMessenger->addMessage(array('success' => 'Aguarde a confirmação do seu agendamento pelo estabelecimento!')); Zend_Db_Table_Abstract::getDefaultAdapter()->commit(); } catch (Exception $ex) { $this->_helper->flashMessenger->addMessage(array('danger' => 'Houve um erro ao agendar o horário - ' . $ex->getMessage())); Zend_Db_Table_Abstract::getDefaultAdapter()->rollBack(); } $this->_redirect('cliente/'); } } }
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; } } }