public function indexAction() { $this->view->headTitle('Contato'); $categoriaModel = new Application_Model_Categoria(); $nome_categorias = $categoriaModel->fetchAll($categoriaModel->select()->from($categoriaModel->info(Zend_Db_Table_Abstract::NAME))->columns(array('nome_categoria'))); $this->view->categorias = $nome_categorias; require_once APPLICATION_PATH . '/forms/Contato.php'; $this->view->form = new Application_Form_Contato(); if ($this->_request->isPost()) { $this->view->form->setDefaults($this->_request->getPost()); $data = $this->view->form->getValues(); if ($this->view->form->isValid($data)) { $contatosModel = new Application_Model_Contatos(); $id = $contatosModel->insert($data); $data = '<html><body><table> <tr><td>Nome</td> <td>' . $_POST['nome'] . '</td></tr> <tr><td>E-mail</td> <td>' . $_POST['email'] . '</td></tr> <tr><td>Telefone</td> <td>' . $_POST['telefone'] . '</td></tr> <tr><td>Texto</td> <td>' . $_POST['mensagem'] . '</td></tr> </table></body></html>'; // Using the ini_set() ini_set("SMTP", "localhost"); ini_set("sendmail_from", "*****@*****.**"); ini_set("smtp_port", "587"); $mail = new Zend_Mail('UTF-8', 'ISO-8859-8'); $mail->setBodyHtml($data)->setFrom('*****@*****.**', 'Formulario de Contato')->addTo('*****@*****.**', 'Contato')->setSubject('Contato')->send(); return $this->_helper->redirector('index'); } } }
public function responderAction() { $id = $this->_request->getParam('id'); $contatosModel = new Application_Model_Contatos(); $row = $contatosModel->fetchRow($contatosModel->select()->where('id_msg = ?', $id)); $row->respondida = 1; $row->save(); $this->_helper->redirector('index'); }
public function envioProgramadoAction() { //executar este script a cada 20 minutos .... $mCron = new Application_Model_Agendador(); $mSend = new Application_Model_SendMail(); $dados = new Application_Model_Contatos(); $date = date('Y-m-d H:i:s'); $data = $mCron->getEnvioToDate($date); if (count($data)) { $this->sessao_agenda->layout = $data->agn_template; $this->sessao_agenda->titulo = $data->agn_assunto; $mCron->setStatus('enviado', $data->agn_id); $layout = isset($this->sessao_agenda->layout) ? $this->sessao_agenda->layout : $data->agn_template; $titulo = isset($this->sessao_agenda->titulo) ? $this->sessao_agenda->titulo : $data->agn_assunto; $total_por_vez = 1000; $collection = $dados->getListContatosNotSend('inativo', $total_por_vez); //ENVIA 1000 POR VEZ if (!empty($collection)) { foreach ($collection as $contato) { $nome_usuario = $contato['nome']; $usuario_email = $contato['email']; $usuario_id = $contato['id_contato']; $nome_usuario = $nome_usuario != "" ? $nome_usuario : 'Usuário'; $dinamic_content = $contato['dinamic_content']; $arguments = array('template' => $layout, 'email_recebe' => $usuario_email, 'nome_recebe' => $nome_usuario, 'dinamic_content' => $dinamic_content); $mSend->setBody($arguments, $titulo); $enviou = $mSend->sendEmail(); $dados->setStatusEnviou($usuario_id); //sleep(5); } $this->view->enviando = 'Esta página é executada através do agendador cron, executando a coleção de envio: <br><pre> ' . print_r((array) $collection, true) . '</pre>'; } else { $dados->setStatusEnviouTudo(); unset($this->sessao_agenda->layout); unset($this->sessao_agenda->titulo); $this->view->enviando = 'Esta página é executada através do agendador cron - fim de envio de emails.'; } } else { $this->view->enviando = 'Esta página é executada através do agendador cron - Não há envios agendados para ' . date('d/m/Y H:i:s'); } }
public function clickAction() { $this->_helper->viewRenderer->setNoRender(true); $request = $this->getRequest(); $k = $request->getParam('k'); $url = $request->getParam('url'); $email = base64_decode(str_replace('::', '/', $k)); $url = base64_decode(str_replace('::', '/', $url)); $modelMsg = new Application_Model_Contatos(); $modelRel = new Application_Model_Relatorio(); $data = $modelMsg->getContatoByEmail($email); if (count($data)) { $setRelatorio = $modelRel->setStatus($data->id_contato, 'CLICOU NO LINK DA MENSAGEM'); } if (preg_match('/htt(.*)/', urldecode($url))) { $this->redirect(html_entity_decode(urldecode($url))); } else { $this->redirect('index/link-invalido'); } }